Некоторые сомнения относительно диаграммы Arcitechture фон Неймана - PullRequest
6 голосов
/ 09 ноября 2010

alt text

Ну, я не могу понять вышеприведенную диаграмму архитектуры фон Неймана [Цитата из Википедии] и даже не уверен, правильно ли этоУ меня есть некоторые очевидные сомнения -

Как АЛУ может общаться с памятью?Разве это не должно быть работой CU?

Как аккумулятор является частью ALU?

И, что такое работа аккумулятора?

Ответы [ 3 ]

8 голосов
/ 16 ноября 2010

Судя по диаграмме компьютера IAS (который должен быть очень похож на EDVAC, о котором писал фон Нейман), блок управления выдает адреса (регистр MAR) и управляет транзакциями шины с помощью сигналов как AS, R / W *. С другой стороны, ALU подключен к шине данных (регистр MDR): он получает данные из памяти и сохраняет результаты обратно. Диаграмма также показывает, что ALU получает инструкции и передает их в CU (регистр IBR).

Например, предположим, что блок управления только что получил инструкцию ADD $1234. Затем обработка происходит следующим образом:

  1. CU помещает $1234 в адресную шину и запускает цикл чтения
  2. операнд получен ALU (регистр MDR) и добавлен с аккумулятором (регистр AC)
  3. результат сложения окончательно сохраняется в аккумуляторе.

Ответы на ваши вопросы:

  1. АЛУ получает данные из памяти, выполняет операции и сохраняет результат обратно. В то время, когда все данные были сохранены в памяти (не было регистров общего назначения), следовательно, было логично поместить MDR в ALU, что означает, что ALU должен быть подключен к шине данных.
  2. Компьютер IAS был спроектирован таким образом, что один вход ALU и выход ALU жестко подключены к аккумулятору. Следовательно, было бы логично поместить аккумулятор в АЛУ.
  3. Аккумулятор задуман как место для хранения промежуточных результатов, потому что было сложнее реализовать инструкции с более чем одним операндом памяти.

Наконец, я считаю, что это обсуждение чисто историческое. Нет особой причины предпочитать ассоциировать MDR с ALU, а не с CU. Просто фон Нейману приходилось так думать, когда он писал статью об EDVAC. Чтобы закончить историю, Википедия говорит, что EDVAC был действительно разработан Эккертом и Мочли, в то время как фон Нейман занимался только консультированием и писанием.

3 голосов
/ 09 ноября 2010

Аккумулятор - это регистр, в котором результат арифметической операции временно сохраняется.Это быстрее, чем напрямую используя основную память.Так как он хранит арифметические результаты, имеет смысл быть частью ALU.

Блок управления подобен координатору, который говорит другим компонентам делать то и это.Но это не обеспечивает средства, как это сделать, поэтому именно поэтому ALU необходимо напрямую связываться с памятью.

1 голос
/ 01 декабря 2010

Хорошо, ALU изменяет регистр флагов, когда что-то делает, поэтому он связан с памятью (флаги не находятся в CU и в ALU, и так как это единственные компоненты, которые показаны ..).А аккумулятор хранит данные, временно ожидая, пока ALU их обработает.Он напрямую связан с АЛУ, потому что считалось, что этот регистр поддерживает его своими вычислениями, так же как регистр ecx связан со схемами счетчиков.Конечно, можно добавить ecx, edx, но медленнее.Выбор источника и регистра назначения очень труден из-за дополнительных схем, необходимых для реализации в ЦПУ, и он был недавно заархивирован (относительно).Это изображение довольно старое (ssegvic верно!), Потому что оно показывает, что ввод / вывод возможен только с использованием аккумулятора.На мой взгляд, это более понятно:

АЛУ подключен к внутренней шине, но это не значит, что он будет связываться со всем, что к нему подключено.И последнее: в поисках более качественных изображений я заметил, что ALU не всегда связан с памятью, в некоторых из них он связан только с CU.

...