Почему ADD составляет 4 цикла на Z80?

Я использую эту блок-схему ALU в качестве учебного материала: http://www.righto.com/2013/09/the-z-80-has-4-bit-alu-heres-how-it.html

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

Итак, вот мое понимание того, что происходит для и ADD :

  • Цикл 1: перемещение регистров во внутренние защелки
  • Цикл 2: переместить внутренние защелки младших полубайтов во внутреннюю защелку результата (через ALU)
  • Cycle 3, in parallell :
    • move high nibbles internal latchs to destination register (through the ALU)
    • переместите внутреннюю защелку результата, чтобы зарегистрировать

Я думаю, что цикл операций 3 выполняется параллельно, потому что есть две 4-битные шины (для старших и младших полубайтов), а шина регистров кажется 8-битной.


person Demeter Purjon    schedule 09.03.2017    source источник
comment
О, парень ! Я думаю, что мой цикл 1 на самом деле 2 цикла. Поскольку шина регистров 8-битная, она не может загрузить 2 регистра одновременно! Это оно ?   -  person Demeter Purjon    schedule 10.03.2017


Ответы (1)


Согласно проспекту z80:

ПК помещается на адресную шину в начале цикла М1. Через полтакта активируется сигнал MREQ. В это время адрес памяти успел стабилизироваться, так что задний фронт MREQ может быть использован непосредственно в качестве тактового генератора микросхемы для динамической памяти. Линия RD также становится активной, чтобы указать, что данные чтения из памяти должны быть включены на шину данных ЦП. ЦП производит выборку данных из памяти на шине данных по переднему фронту тактового сигнала состояния Т3, и этот же фронт используется ЦП для отключения сигналов RD и MREQ. Таким образом, данные уже были выбраны ЦП до того, как сигнал RD станет неактивным. Состояние часов T3 и T4 цикла выборки используются для обновления динамической памяти. ЦП использует это время для декодирования и выполнения выбранной инструкции, так что никакая другая операция не может быть выполнена в это время.

Таким образом, в основном речь идет о взаимодействии с памятью для чтения кода операции, а не о фактическом добавлении — декодирование и выполнение происходит полностью в состояниях часов T3 и T4. Учитывая, что z80 имеет 4-битное АЛУ, для выполнения 8-битного сложения потребуется две операции. Что, вероятно, объясняет использование двух циклов.

person Tommy    schedule 10.03.2017
comment
Таким образом, T3 используется для декодирования инструкции, а T4 — для ее выполнения. Таким образом, добавление происходит за один такт. И нет, Z-80 имеет 8-битный АЛУ и 16-битный сумматор. Ссылка на 4-битный алюминий выше является мертвой ссылкой. - person Peter Camilleri; 12.03.2017
comment
@PeterCamilleri нет, Z80 имеет 4-битный ALU. Ссылка исправлена. Если вы не верите этой ссылке, см. страницу 10 архива .computerhistory.org/resources/text/Oral_History/ — это прямо из уст дизайнеров. - person Tommy; 12.03.2017