Методические указания к лабораторный работам "АЛУ ЭВМ"
ВВЕДЕНИЕ
Назначением АЛУ является реализация арифметических, логических и других операций из списка операций. В состав современных процессоров обычно включаются АЛУ двух типов – целочисленные (с фиксированной запятой) и с плавающей запятой. Функционирование АЛУ осуществляется под управлением центрального устройства управления (ЦУУ) процессора. Для управления работой АЛУ обычно применяется один из двух вариантов: централизованное или децентрализованное (автономное) управление.
Централизованное управление используется в компьютерах класса RISC. При этом работой АЛУ управляет ЦУУ процессора путём выработки управляющих сигналов, обеспечивающих выборку операндов, выполнение операции, сохранение результата.
Децентрализованное управление используется в компьютерах класса CISC. При этом ЦУУ осуществляет выборку операндов из памяти в регистры АЛУ. Выполнением операции управляет не ЦУУ, а встроенное в АЛУ, автономное устройство управления, которое, приняв от ЦУУ код «g» операции fgF, формирует сигналы, под управлением которых в АЛУ выполняется операция fg. Запись результата операции fg в память осуществляется опять под управлением сигналов ЦУУ.
Известно, что АЛУ с автономным устройством управления, ЦУУ процессора, контроллеры различных периферийных устройств относятся к классу операционных устройств (ОУ) [3]. Назначением ОУ является выполнение операций из заданного списка операций F=(f1,…,fG) над словами-операндами из списка D=(d1,…,dH) с целью получения слов-результатов R=(r1,…,rQ), причём в каждый момент времени в ОУ может выполняться одна операция R=fg(D*) (рис. 1, а).
Организация ОУ базируется на принципе микропрограммного управления [3], в соответствии с которым любая операция fgF рассматривается как сложное действие и разделяется на совокупность элементарных действий ‑ микроопераций (МО). Совокупность МО задаётся списком: СМО=(МО1, …, МОМ). Порядок выполнения МО задаётся алгоритмом Ag операции fgF. Элементарность микрооперации МОmСМО означает, что для её выполнения достаточно операнды подать на входы специальной (уникальной) комбинационной схемы (КС) и, после завер-шения переходных процессов в ней (после паузы), сохранить (принять) результат с выхода КСm. Пример: двоичный комбинационный сумматор обеспечивает выполнение МО сложения кодов (операндов А и В), подаваемых на входы А, В сумматора: Cout.С:= А+В+Cin, где С – сумма, Cin – значение на входе переноса в младший разряд сумматора, Cout – значение на выходе переноса из старшего разряда сумматора. Для сохранения (приема) результатов микроопераций с выходов комбинационных схем обычно используются регистры.

Рис. 1. Операционное устройство АЛУ: а – функциональная схема; б – временная диаграмма работы
Порядок выполнения МО в процессе выполнения операции fgF задаётся алгоритмом Ag и зависит от значений логических условий (ЛУ). Логическое условие – булева переменная, которая принимает значение истина или ложь в зависимости от значений операндов и результатов МО, формируемых в процессе выполнения алгоритма Ag. Пример ЛУ: переменная Z (Zero) принимает значение 1 (истина), если результат МО равен 0, и значение 0 (ложь) – в противном случае. Логические условия используются в процессе выполнения алгоритма Ag в качестве условий (обычно) альтернативных переходов.
Алгоритм Ag, представленный в терминах МО и ЛУ, называется микропрограммой МПg. Микропрограмма МПg определяет (задаёт) порядок выполнений микроопераций и проверки логических условий во времени. Совокупность микропрограмм МП1,…,МПG определяет (задаёт) функцию ОУ. Так, функцию АЛУ задают МП всех операций из списка операций FАЛУ, в который включаются обычно арифметические операции сложения, вычитания, умножения, деления, логические операции и другие.
Итак, для выполнения микроопераций МО1,…,МОM используются соответствующие комбинационные схемы КС1,…,КСM. Для сохранения результатов МО используются регистры. Для управления подачей операндов на входы КС (из различных регистров) используются специальные КС – мультиплексоры. Для управления записью результатов МО (с выходов различных КС) в регистры – демультиплексоры.
Часть ОУ, содержащая перечисленные выше схемы, образует исполнительную часть ОУ, которую принято называть операционным автоматом (ОА) устройства, в частности ‑ ОА АЛУ, (рис. 1, а). Назначение ОА – хранение слов информации, выполнение микроопераций из списка СМО=(МО1, …МОМ) под воздействием управляющих сигналов Y=(y1, …, yМ) из УА, формирование значений логических условий (осведомительных сигналов) X=(x1, …, xL) для УА.
Выполнение операции fgF, задаваемой кодом операции «g» на управляющем входе ОУ, осуществляется в последовательности, заданной алгоритмом Аg, представленным в форме МПg (другими словами, в ОУ по коду g запускается процесс выполнения микропрограммы МПg). Управление процессом выполнения МПg осуществляется частью ОУ, которая относится к классу конечных автоматов. Ее принято называть управляющим автоматом (УА) АЛУ (рис. 1, а). Назначение УА – управление работой ОА. Управление осуществляется путём выработки управляющих сигналов ymY в той последовательности, которая задаётся микропрограммой МПg операции fgF и значениями осведомительных сигналов X=(x1, …, xL) из ОА. УА является управляющей (активной) частью ОУ.
Самый простой способ организации работы ОУ во времени – синхронный, при котором ОУ работает тактами. Такт – это фиксированный отрезок времени Т определённой длительности, задаваемый обычно как интервал времени между двумя соседними фронтами тактовых импульсов ТИ, вырабатываемых генератором тактовых импульсов с периодом Т (с частотой F=1/Т) (рис. 1, б). Этот отрезок времени (такт Т) отводится на выполнение (одной или нескольких) МО в ОУ и состоит из следующей последовательности этапов:
-
этап выработки управляющих сигналов ymY в УА,
-
этап выборки операндов и выполнения МОm в КСm в ОА,
-
этап формирования ЛУ xLX по результатам МОm,
-
этап занесения результатов МОm в регистры.
Далее эта последовательность этапов периодически повторяется с периодом Т до завершения процесса выполнения операции fgF, т.е. до конца МПg.
Такая организация работы ОУ называется синхронной. Положительный фронт тактового импульса ТИ (рис. 1, б) используется обычно как начало этапа 2, а отрицательный фронт (срез) ТИ ‑ как начало этапа 4. То есть по фронту запускается процесс выбора и подачи операндов на входы КС ОА, выполнения МО в КС и формирования значений ЛУ по результатам МО. А по срезу – процесс сохранения результатов МО и ЛУ в регистрах ОА с последующей выработкой управляющих сигналов в УА.
Продолжительность такта Т при синхронной организации работы ОУ определяется суммой продолжительностей этапов 1, 2, 3, 4 – τ1 + τ2 + τ3 + τ4, причём для наихудшего случая (максимальных по длительности МО и ЛУ):
Т= τУА+max(τ1, …, τm)+max(τX1, …, τXL)+ τсохр.. (1)
Здесь: τ1=τУА=const – время формирования управляющих сигналов ym в УА обычно постоянно, не зависит от того, какие управляющие сигналы ymY вырабатываются в данном такте; τ4=τсохр=const – время занесения результатов в регистры ОА. Время выполнения МО1, …МОМ (по сигналам y1, …, yМ), а также время формирования ЛУ x1, …, xL в общем случае разное (поскольку задержка сигналов в соответствующих КС ‑ разная), поэтому продолжительность этапов τ2, τ3 определяется как максимум от всех возможных значений.
Основные технические характеристики АЛУ – быстродействие и затраты оборудования [4]. Быстродействие определяется количеством операций fgF, выполняемых АЛУ в единицу времени: Vg=1/tg, и зависит от времени выполнения операции tg=ng∙T, где ng – количество тактов на выполнение операции fgF. Продолжительность такта Т=const, количество тактов ng – величина переменная, зависит от сложности микропрограммы МПg операции fg и для сложных операций (умножение, деление) значений операндов.