Я разработчик программного обеспечения (использую языки высокого уровня, такие как .NET, C, C ++ и т. Д.), Пытаюсь понять, как компьютеры работают на более низком уровне.
Я знаком с этой диаграммой:
Я пытаюсь получить общее представление о том, как диаграмма в ссылке отображается на принципиальную схему, как это:
Например, взгляните на оператор ассемблера:
ADD 1,2
Я пытаюсь понять, как процессор выдает «3» в качестве вывода. Я понимаю, что на этот вопрос трудно ответить простыми словами. Если это так, то поможет ссылка, возможно, на книгу.
microprocessor
w0051977
источник
источник
Ответы:
Проблема в том, что для того, чтобы понять, как компьютер достигает 1 + 2 = 3, вы должны понимать примерно на 2 уровня глубже, чем вы прошли.
Примерно компьютер организован (с точки зрения областей обучения), как это, от высшего уровня абстракции до самой физической реальности:
Чтобы правильно понять, почему компьютер может производить 2 + 1 = 3, вы должны сначала решить, что вы готовы принять «на веру», а что вы не поверите, пока не усвоите это. Эта информация будет на втором уровне ниже того, что вы понимаете. Поэтому, если вы хотите понять схему сумматора на логическом уровне, вам необходимо понять основы «цифровых» транзисторов (в частности, CMOS).
Используя ваш предыдущий сайт в качестве примера, рассмотрите этот ресурс . В нем обсуждается «Полный сумматор» - минимальная полностью универсальная схема, способная к сложению / вычитанию, включая перенос и вынос.
Вам также необходимо понять, как числа представлены в дополнении 2 (система счисления, используемая в современных компьютерах для целочисленной арифметики).
Если вы действительно хотите вводный курс мирового уровня, я не могу рекомендовать профессора Скотта Уиллса в Georgia Tech достаточно высоко. В прошлом году он скончался от рака, но его курс продолжается . В учебном классе Georgia Tech ECE2030 (введение в компьютерную инженерию) есть учебник, и все занятия проводятся онлайн.
Удачи!
источник
Мне пришлось учиться тому же в университете, и мы использовали книгу « Организация и дизайн компьютеров», которая была очень подробной (но, возможно, она слишком подробная для ваших нужд).
Паттерсон и Хеннеси использовали некоторый «простой» процессор MIPS и продемонстрировали всю функцию ЦП с некоторым примером кода в Ассемблере.
Вообще, я думаю, что было бы хорошей идеей взять некоторый «простой» процессор (Arduino или около того) и попытаться понять там функцию, потому что различия от этого к более сложному состоят в том, насколько велики реализованные коды команд.
PS Может быть, простейший микропроцессор из Google Code будет полезен. Это микропроцессор, смоделированный в Java.
источник
Бесплатная книга « Как работают компьютеры - процессор и оперативная память » Роджера Янга ответит на ваш вопрос, она использует реле вместо транзисторов для лучшего понимания.
источник
Я нашел свой ответ здесь . Это общий обзор процесса добавления чисел.
источник