1

Я понимаю, что ЦП работает в цикле FDE и существуют различные регистры и счетчики, между которыми перемещаются данные. Я также ценю, что эти данные перемещаются между памятью и процессором по шинам данных.

Однако я не могу понять, как процессор фактически подчиняется командам, извлекает определенный фрагмент данных и затем выполняет над ним операции.

Пожалуйста, не могли бы вы объяснить, как это работает на аппаратном уровне. Возможно, даже просто добавив две переменные вместе.

Это было бы очень ценно, так как я просто не могу разобраться, и мои исследования ничего не дали!

2 ответа2

7

Процессоры в основном представляют собой массивную сеть транзисторов, различные комбинации которых представляют логические элементы. В отличие от аналоговых транзисторов, цифровые транзисторы в процессорах и т.д. Либо включены (1), либо выключены (0).

Логические вентили имеют входы (1 или 2 - A/B) и выход. Гейтс выполняет операцию на входах. Вот некоторые типы логических элементов:

Что именно ворота, не имеет значения, только функция, которую они выполняют. Это могут быть физические переключатели, дискретные транзисторы, несколько затворов в DIP-корпусе, отложения на кремнии и т.д.

Вы можете соединять ворота друг с другом, чтобы делать более сложные вещи. Например, с двумя воротами вы можете сделать 1-битный сумматор:

Возможно, вы хотите добавить более одного бита, но вам действительно нужен "трехразрядный" сумматор, который поддерживает "перенос":

так что теперь вы можете подключить "вынос" одного сумматора к "переносу" другого.

Самый простой способ "увидеть" выходные данные ваших сумматоров - это подключить выходные линии к светодиодной лампе или лампочке. Самый простой способ контролировать ввод ваших сумматоров через физический переключатель. Что-то вроде того, как работала старая панель управления Altair (хотя, конечно, панель управления Altair подключена к целому процессору, а не просто к сумматору):

Так что это пример того, как работает добавление. Настоящий современный ЦП имеет миллиарды логических элементов и имеет гораздо более сложные сети, но основные операции, описанные выше, такие же.

Это хорошая программа для Windows/Mac, если вы хотите поиграть с логическими элементами в режиме реального времени. Он также имеет онлайн-версию.

РЕДАКТИРОВАТЬ: Читать это тоже.

2

Это хороший вопрос, мне интересно узнать больше о себе. Из того, что я могу сказать до сих пор:

  • Блок управления генерирует сигнал с инструкцией
  • Блок арифметической логики выполняет сигнал с инструкцией
  • Регистры хранят сигнал с инструкцией для последующего поиска

Я думаю, что эти ссылки могут помочь объяснить больше в случае, если я не ответил на ваш вопрос так, как вы хотели.

https://www.doc.ic.ac.uk/~eedwards/compsys/10_Slides_CPU_buses.pdf

http://www.teach-ict.com/gcse_computing/ocr/212_computing_hardware/cpu/miniweb/pg3.htm

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .