Операционный блок (ОБ) производит прием и временное хранение исходных данных, их преобразование и передачу результата обработки следующим устройствам. Кроме того, операционный блок проверяет соответствие результата обработки данных заранее обусловленным признакам (например, отрицательные числа, нули, четность и т. п.) и сообщает результаты проверки управляющему блоку.
Управляющий блок (УБ) вырабатывает управляющие сигналы,
Операционный 5лок - ОБ
Шина
Результат
oSpa5omKu-F
Исходные
донные-D
РБ1
(Буфер)
АЛУ
РОН
п
п
Управляющие сигналы-У
Признаки условий -П
т
регистра <— на п
разрядоВ
РБ2
(бусрер)
УпраВляшщий длок - У Б
Код команды I
в ид которых зависит от кода текущей операции и признаков результата выполнения предыдущей операции.
Для решения разнообразных задач процессор должен иметь алгоритмически полную систему операций. В принципе, минимальная система может состоять всего из нескольких универсальных операций. При этом станет очень простым операционный блок, но значительно возрастут объем программы и емкость запоминающего устройства (наиболее дорогого устройства ЭВМ), необходимого для хранения программы. Поэтому современный процессор представляет устройство, выполняющее десятки и сотни различных команд. Конечно, сложность операционного блока при этом возрастает, но зато уменьшаются время машинной обработки и затраты на составление и хранение в ЗУ программы.
Процесс выполнения команды в ЭВМ растянут во времени и происходит за несколько машинных тактов. Например, в первый интервал производятся прием и запоминание одного числа, во втором такте — другого, в третьем такте — нахождение суммы этих чисел и т. д. Каждая из элементарных операций, выполняемых за один такт, называется микрооперацией. В один и тот же временной интервал (такт) различными элементами операционного блока может параллельно выполняться несколько микроопераций. Совокупность одновременно выполняемых микроопераций называется микрокомандой. Таким образом, временная последовательность работы процессора определяется программой—>-командой—>-микро- командой (микрооперациями). Интервал времени, за который выполняется микрокоманда, называется машинным тактом, а время, необходимое для выполнения команды,— машинным циклом.
Из краткого описания функций и взаимодействия операционного и управляющего блоков следует, что оба блока должны состоять из комбинационных и запоминающих устройств. ЗУ, входящие в состав процессора, выполнены в виде отдельных быстродействующих регистров и называются местной регистровой памятью. Скорость обращения к этим регистрам значительно больше, чем к основной
памяти ЭВМ, и поэтому местную память называют также сверхоперативным запоминающим устройством (СОЗУ).
Развитие микроэлектроники привело к созданию микропроцессорных средств, которые находят как самостоятельное применение в качестве микроЭВМ, так и при конструировании новых моделей универсальных машин общего назначения и мини-ЭВМ, например второй очереди ЕС ЭВМ и СМ ЭВМ. Поэтому в дальнейшем целесообразно основное внимание уделить микропроцессорным средствам, тем более что именно они являются основой той техники, которая может быть использована в учебном процессе.
$ 6.3. МИКРОПРОЦЕССОР. ОПЕРАЦИОННЫЙ БЛОК
Основой операционного блока (ОБ) микропроцессора является арифметическо-логическое устройство (АЛУ), предназначенное для программируемой обработки информации. Будем считать, что функциональные возможности АЛУ микропроцессора соответствуют АЛУ, рассмотренному в § 4.4 (см. рис. 4.18). Оно имеет две группы входов данных (А, В) и одну группу выходов данных (F) и под- действием пяти управляющих сигналов (S) может выполнять 32 логические и арифметические операции над входными числами А и В.
Помимо АЛУ в состав операционного блока (рис. 6.5) входит часть СОЗУ, представленная группой регистров общего назначения (РОН) и буферными регистрами (РБ). Эти регистры имеют ту же разрядность, что и АЛУ, и соединены в одну систему (операционный блок) при помощи общей «-разрядной шины данных. В РОН хранятся числа, подлежащие обработке, и результаты обработки. На рисунке 6.5 не показаны линии, по которым передаются управляющие сигналы: коды операции АЛУ, адрес выбранного РОН, команды записи и.считывания информации из различных регистров. Прохождение управляющих сигналов мы рассмотрим позднее, а пока перечислим микрокоманды, выполняемые этим операционным блоком:
запись слова, находящегося на шине данных, в любой регистр общего назначения или буферный регистр;
выборка слова из любого РОН на шину данных;
выполнение одной из 32 арифметическо-логических операций над содержимым двух буферных регистров РБ и запись результата в любой свободный РОН.
Пользуясь этими микрокомандами, можно выполнять и более сложные команды. Например, для выполнения команды «взаимный обмен данными между i и / РОН» необходимо:
переписать содержимое РОН, в РБ1 — такт 1-й;
переписать содержимое РОН^ в РБ2 — такт 2-й;
подать на АЛУ команду F—A и переписать F в РОН, — такт 3-й;
подать на АЛУ кома ' F—B и переписать F в РОН,— такт 4-й.
Необходимо еще раз отметить, что каждая микрокоманда, выполняемая за один такт, может состоять из нескольких микроопераций. Например, в первом такте выполняются микрооперации:
адресация г-го РОН;
выборка содержимого РОН на шину данных;
прием слова с шины данных в РБ1.
Несмотря на большие функциональные возможности рассмотренного операционного блока, у него имеются и серьезные недостатки. В этом устройстве отсутствуют сигналы признаков результата (равенство результата нулю, отрицательный результат и т. п.), что не позволит управляющему блоку организовать условные переходы при выполнении программы. Кроме того, в блоке не используется сигнал арифметического переноса Р из АЛУ, который может понадобиться при выполнении операций со словами удвоенной длины. И наконец, в рассмотренном ОБ достаточно трудно организовать часто встречающиеся операции поразрядного сдвига результата влево и вправо.
Схема усовершенствованного с учетом предыдущих замечаний операционного блока представлена на рисунке 6.6. В этом блоке реализована цепь переноса Р-*~Р0 с запоминанием сигнала переноса на триггере Т). Кроме того, в схеме применено модифицированное АЛУ, Kotopoe помимо выполнения 32 операций проводит анализ результата на соответствие условленным логическим признакам (П). Результаты анализа поступают для хранения в регистр признаков (РП). Разрядность РП определяется числом логических условий, которое в различных процессорах может меняться от 3 до п. С увеличением числа условий облегчается процесс составления программ, так как у программиста появляется больше возможностей для изменения порядка выполнения команд программы по условному переходу. Отметим, что включение регистра признаков в состав процессора и отличает подлинную вычислительную машину от простого калькулятора. В этом случае процессор сам принимает решение о том или ином продолжении вычислительного процесса
в зависимости от полученного на предыдущем этапе результата, чего калькулятор делать не может.
В большинстве процессоров после окончания очередной арифметической операции проводится анализ результата хотя бы по трем логическим условиям.
а) Нулевой результат. Признак «нулевой результат» принимает единичное значение, если во всех разрядах результата F окажутся нули.
б) Знак результата. Признак «знак результата» принимает единичное значение, если старший бит результата F становится равным 1. При выполнении арифметических операций в дополнительном коде единичное значение старшего бита соответствует отрицательному числу.
в) Перенос-заем. Признак «перенос-заем» принимает единичное значение, если выполненная операция сопровождается появлением
на Р выходе АЛУ. Заем (отрицательный перенос) появляется только при вычитании большего числа из меньшего. Помимо трех описанных обязательных условий, в процессорах может проводиться анализ и по другим логическим признакам, например «четность результата», «переполнение» и т. д.
Значительно расширяет возможности операционного блока (рис. 6.6) использование универсального регистра, производящего параллельную запись n-разрядного слова и сдвиг его вправо или влево. Этот регистр называется регистром-аккумулятором (РАк), так как обычно он используется таким образом, что в нем накапливается (аккумулируется) результат выполнения операции АЛУ. К регистру-аккумулятору подключен триггер Т2, который запоминает значение старшего и младшего разряда, «вытесненное» из РАк, при выполнении предыдущей операции «сдвиг влево» или «сдвиг вправо». Разрядность РАк обычно соответствует разрядности процессора, но в системах, ориентированных на выполнение большого числа операций умножения, целесообразнее использовать аккумулятор двойной длины (при умножении двух «-разрядных чисел получается 2п-разрядный результат).
Рассмотрим теперь более полную схему ОБ микропроцессора, представленную на рисунке 6.7. Она получена добавлением в схему (рис. 6.6) двух новых блоков (мультиплексора МХ и шинного формирователя ШФ) и обозначения необходимых управляющих дходов и сигналов.
В этой системе имеются три устройства (ШФ, РОН, РАк), которые могут выставлять данные на общую внутреннюю шину. Все они имеют специальные выходные каскады (с «общим коллектором» или с «третьим состоянием»), позволяющие устройствам отключаться от общей шины при подаче соответствующих сигналов. Если управляющие сигналы У1, Y12 и Y14 равны нулю, то РОН, ШФ и РАк отключены от внутренней о]ины. При равенстве одного из этих сигналов единице происходит «чтение» (ЧТ) данных из соответствующего устройства на общую шину. По сигналу У13 (внутренняя/внешняя) меняется направление передачи данных шинного формирователя.
Do'stlaringiz bilan baham: |