Типовые структуры операционного блока микропроцессора
Основным узлом операционного блока микропроцессора является арифметико-логическое устройство, внутреннее устройство которого мы рассмотрели в предыдущей главе. У этого узла присутствуют два входа и один выход данных. В результате логичным образом получается структурная схема операционного блока, приведенная на рис. 1.
Рис. 1 Трёхшинная структура операционного блока микропроцессора
На этом рисунке источники информации и результат выполнения операции хранятся в специальном сверхоперативном ОЗУ, которое представляет собой небольшое количество регистров с возможностью одновременного считывания из двух регистров и записи в третий. Так как для передачи данных требуется три шины данных, то такая структура операционного блока называется трехшинной.
Обратите внимание, что теперь в составе цифрового устройства присутствуют регистры, и, следовательно, для запоминания результатов работы арифметико-логического устройства на вход синхронизации этих регистров необходимо подавать сигнал синхронизации CLK. Сигнал тактовой синхронизации обязательно требуется для правильной работы любого операционного блока.
Тактовые сигналы на операционный блок микропроцессора поступают с выхода тактового генератора, причем, максимально возможная частота этого генератора, а, следовательно, и время выполнения микропроцессором одной операции будет определяться временем прохождения цифровых сигналов через арифметико-логическое устройство и регистры сверхоперативного запоминающего устройства. Очень часто быстродействие микропроцессоров оценивают именно по значению максимально возможной частоты тактового генератора.
Обычно при построении операционного блока микропроцессора один из регистров-источников и регистр-приемник информации объединяют. Это позволяет сократить количество адресных шин в управляющем коде микропроцессора. В результате минимальное количество регистров в сверхоперативном ОЗУ составляет два регистра, однако количество регистров в операционном блоке обычно делается равным шестнадцати. Этого количества регистров вполне достаточно для реализации достаточно сложных алгоритмов обработки данных и в то же время не приводит к необходимости значительного увеличения адресной части управляющей микрокоманды.
В микропроцессорной системе с применением трехшинного операционного блока возможно выполнение арифметических и логических операций в течение одного такта сигнала синхронизации. Это позволяет достигнуть максимального быстродействия микропроцессора. Именно поэтому подобная структура операционного блока широко используется внутри микросхем сигнальных процессоров.
Для обеспечения возможности работы с числами, число разрядов в которых превышает разрядность АЛУ, в состав операционного блока включен дополнительный триггер, в котором хранится флаг переноса в следующий разряд "C". При этом для того, чтобы операционный блок мог выполнять операции суммирования или вычитания с одиночной разрядностью чисел, к входу переноса АЛУ можно подключать не только выход триггера хранения флага переноса C, но и подавать уровень логического нуля или единицы.
В качестве недостатка трехшинной структуры операционного блока следует назвать то, что шины передачи данных занимают огромную площадь на кристалле микросхемы, поэтому в более дешевых микропроцессорах используется другая структура операционного блока. Структурная схема подобного операционного блока микропроцессора приведена на рис. 2.
Рис. 2 Двухшинная структура операционного блока микропроцессора
На данном рисунке сигнал синхронизации не показан, однако этот сигнал подводится ко всем регистрам и триггеру хранения признака переноса C. В этой структуре операционного блока микропроцессора используется только две шины передачи данных, поэтому она получила название двухшинной. Для формирования двух источников данных для входов АЛУ в двухшинной схеме операционного блока микропроцессора используются два регистра временного хранения TMP1 и TMP2.
В результате того, что входные данные к арифметико-логическому устройству передаются по одной шине данных, получается, что для выполнения одной операции требуется, как минимум, два такта сигнала синхронизации CLK. Это приводит к тому, что быстродействие данной структуры при той же частоте тактовой синхронизации микропроцессора будет ниже быстродействия трехшинной структуры операционного блока микропроцессора.
Наименьшую площадь на кристалле занимает одношинная структура операционного блока микропроцессора. Структурная схема подобного операционного блока микропроцессора приведена на рис. 3.
Рис. 3 Одношинная структура операционного блока микропроцессора
Теперь давайте рассмотрим подробнее особенности работы микропроцессора, построенного на основе подобного операционного блока. Прежде чем рассматривать его внутреннее устройство, определим, какие же задачи должен решать микропроцессор. Как уже упоминалось ранее, операционный блок микропроцессора предназначен для считывания команд из системной памяти процессора и последующего их выполнения. При этом не важно будет ли программа размещена в постоянном или оперативном запоминающем устройстве. Именно поэтому прежде чем перейти к построению операционного блока микропроцессора рассмотрим особенности команд, управляющих его работой.
Наиболее простой структурой, как это тоже уже упоминалось ранее, обладают команды аккумуляторного микропроцессора. Давайте остановимся подробнее на принципах построения команд подобного процессора.