Операционный автомат

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 00:52, 2 июня 2016.

Операционный автомат представляет собой набор функциональных блоков (таких, как арифметико-логические устройства или операции), которые выполняют обработку данных. Вместе с блоком управления он составляет центральный процессор (ЦП). Операционные устройства (например, микропроцессоры) состоят из операционного автомата и управляющего автомата, при этом большую часть такого устройства занимает управляющий автомат, регулирующий передачу данных между операционным автоматом и памятью.

Функциональные блоки канала данных

В компьютерных процессорах операционный автомат часто состоит из следующих функциональных блоков (или в виде какой-либо их вариации):

  • Регистр команд хранит текущую инструкцию, которая будет выполнена.
  • Программный счетчик (The program counter - PC) хранит адрес следующей инструкции для извлекаемых данных.
  • Адрес регистра памяти (The memory address register - MAR) представляет собой регистр, который либо хранит адрес памяти, из которого будут извлекаться данные на ЦП, или адрес, по которому данные будут отправлены и сохранены.
  • Регистр данных памяти (The memory data register - MDR) представляет собой регистр блока управления компьютера, который содержит данные, которые будут сохранены в памяти ЭВМ (например, ОЗУ), или данные после выборки из памяти ЭВМ.

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

Примеры

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

Рис. 1 - Структурная схема операционного автомата

На схеме использованы следующие обозначения:

  • RGA, RGB – регистры для размещения операндов;
  • ФОК – формирователь обратного кода;
  • RGR – регистр результатов;
  • RGF – регистр флагов (признаков результата);
  • С1, C2 – синхросигналы;
  • yi – сигналы для управления элементами хранения;
  • Yi – сигналы для управления комбинационными элементами.

Сигналы логических условий: x0 – признак совпадения знаков операндов; x1 – флаг CF переполнения сумматора, т.е. переноса из 15-го разряда суммы; x2 – флаг CS знака результата, формируется в старшем, 15-ом (знаковом) разряде сумматора. Микрооперации, выполняемые в операционном автомате:

: ;
: ;
: ;
: ;
: ; ; ;
: .

Сигнал Y5 используется в качестве слагаемого, подаваемого на одноразрядный вход сумматора. Управляющие сигналы, формируемые УА, связываются не с состояниями УА, а с выполнением конкретных микроопераций. Сигналы управления от УА синхронизируются сигналами C2 от внешнего генератора. Сигналы управления Y4, Y5, Y7, Y8 комбинационными схемами отличаются от сигналов y1, y2, y3, y6 управления элементами хранения по длительности. Функционирование ОУ начинается после подачи от внешнего устройства на шину F УА кода команды. УА дешифрует этот код и начинает выполнять микропрограмму поданной команды.

Данное операционное устройство предназначено для выполнения следующих команд:

1. Сложение в дополнительном коде ADD: ;
2. Вычитание в дополнительном коде SUB: ;
3. Прибавление 1 INC: ;
4. Смена знака числа ISG: ;
5. Инвертирование (поразрядная логическая операция) NOT: .

При выполнении всех команд данные поступают с ШД. Результат формируется на регистре результата RGR, а в регистре RGF фиксируются признаки результата. В процессе выполнения арифметических команд управляющий автомат может сформировать управляющий сигнал OF (Overflow – переполнение). В последнем такте любой микропрограммы УА формирует сигнал RESULT. В данном операционном автомате этим же сигналом (Y7) разрешается передача результата с RGR на ШД. Сигналы OF и RESULT предназначены для внешних устройств. Схема алгоритма команды сложения ADD целых чисел со знаком в дополнительном коде представлена на рис. 2

Рис. 2 - Схема алгоритма команды сложения ADD

По сигналам y1 и y3 в регистры операндов по очереди заносятся коды операндов. Предполагается, что на ШД их выдает то устройство, которое формирует код команды ADD. В следующем такте УА вырабатывает y7. Поскольку сигнал Y4 не формируется, то есть Y4 = 0, то ФОК передаст код с выхода RGB на вход сумматора без преобразования. Аналогично, Y5 не формируется, т.е. Y5 = 0 и поэтому на вход переноса сумматора поступает «0». В результате на выходе сумматора SM сформируется код суммы операндов, т.е.

По сигналу y6 этот код заносится в регистр результата RGR. При записи результата в RGR одновременно в регистр RGF флагов заносятся признаки результата. Далее проверяется возможность переполнения при суммировании. Переполнение возможно только при сложении чисел одного знака (x0 = 1). Признаком переполнения служит неравенство сигнала переноса x1 и знакового разряда суммы x2. Эти сигналы поступают в УА, где они анализируются. Если нет переполнения, т.е. x1 = x2, то УА формирует сигнал микрокоманды Y7, по которой результат с RGR через ШФ поступает на ШД. При этом сигнал y8 не формируется, что означает отсутствие переполнения. Сигнал Y7 выдается из УА также и для внешних устройств и означает готовность результата RESULT на ШД. При обнаружении переполнения вместо Y7 и сигнала RESULT формируется сигнал y8: OF – «переполнение». Переполнение возможно лишь при сложении 2-х чисел с одинаковыми знаками.

Каноническая структура операционного автомата

Структура ОА, полученная путём дополнения каждого элемента функции (слова, микрооперации, логического условия) соответствующими элементами структурного базиса (шинами, регистрами, комбинационными схемами), является основополагающей для синтеза других типов ОА и называется канонической (рис. 3).

Рис. 3 – Каноническая структура операционного автомата

Регистры S1,…,Sn образуют память автомата, в которой хранятся исходные, промежуточные и конечные результаты. Исходные данные загружаются в регистр через входы d1,…,dH . Конечные результаты выводятся через выходы r1,…,rQ . Комбинационные схемы j1,…,jm и шины, управляемые сигналами у1,…,уm, выполняют микрооперации. Значения выходов сх+m Y1,…,Yе отмечены сигналами Х1,…,ХL.

Источники

  1. The Essentials of Computer Organization and Architecture by Null & Lobur, 4e, pg 216 "All computers have a CPU that can be divided into two pieces. The first is the datapath, which is a network of storage units (registers) and arithmetic and logic units... connected by buses... where the timing is controlled by clocks."
  2. J. R. Hauser and J. Wawrzynek, Garp: a MIPS processor with a reconfigurable coprocessor, FCCM’97, 1997, pp. 12–21.
  3. Computer Organization by Hamacher, Zaky, vranesic.
  4. "Digital System Design Using Data path (DP) and Control Unit (CU)" Dr. Muhammad E. S. Elrabaa "Fundamentals of Computer Engineering"
  5. "Microprocessors design. Control and Datapath" Wikibooks
  6. "Операционный автомат Статья в Википедии"
  7. Principles of Computer Architecture Miles Murdocca and Vincent Heuring