- •I. Структура и функции процессоров
- •I.I. Процессоры, их назначение и особенности
- •1.2. Операционные устройства их структура и функции
- •I.3. Процессор как операционное устройство
- •1.4. Минимальный набор операций алу
- •1.5. Выбор системы команд специализированной эвм
- •1.6. Форматы команд и операндов
- •2. Проектирование операционных автоматов процессора
- •2.1. Содержательные графы микропрограмм операций алу.
- •2.2. Микропрограммы уцу
- •2.3. Операционные элементы
- •2.4. Синтез операционного автомата с закрепленными микрооперациями.
- •2.6. Синтез операционных автоматов уцу
- •2.7. Закодированные графы микропрограмм
- •2.8. Оценка времени реализации алгоритма
- •3.1. Принцип микропрограммного управления
- •3.3. Управляющие автоматы с принудительной и естественной адресацией мк
- •3.4. Организация муу с ортогональной системой адресации
- •3.5. Организация стека адресов возврата в муу
- •1. Структура и функции процессоров 3
- •1.1. Процессоры, их назначение и особенности . . . . 3
2.4. Синтез операционного автомата с закрепленными микрооперациями.
Структурная схема операционного автомата составляется следующим образом:
I. Внутренним словом S1,S2 …..Sn(тип L ) ставятся в соответствие регистры S1 , S2, ….Sn c длинами n1, n2,….nN, равными длинам слов. Если слово Si разделяется на поля, то в регистре Si выделяются соответствующие подрегистры, используемые для хранения разрядов полей.
2. Входным словом Sd1,Sd2 …..Sdh (тип 1) ставятся в соответствие входные полюсы (входы) d1,d2 …..dh структурной схемы. Каждый вход d1,d2 …..dh соединяется с регистром Sd1,Sd2 …..Sdh шиной, исходящей из входа.
3. Выходным словам Sr1,Sr2 …..Srg (тип 0) ставятся в соответствие выходные полюсы (выходы) r1,r2 …..rg ,структурной схемы. Каждый регистр Sr1,Sr2 …..Srg соединяется с выходом r1,r2 …..rg , шиной, исходящей из регистра.
4. Каждая микрооперация yn
Y
описываемая оператором присваивании
Sa:=
m
(SB1,
SB2,…SBK)
приписывается к регистру Sa.
В результате формируются списки
микроопераций, закрепленных за каждым
из регистра S1,S2
…..Sn
. Каждому списку
микроопераций ставится в соответствие
операционный элемент, имеющий наименование
регистра, относящегося к данному списку
микроопераций.
5. Для каждого операционного элемента все микрооперации списка разбиваются на группы однотипных микроопераций. Каждая из этих групп микроопераций характеризуется общим для микроопераций группы типом функции m . Если какой-либо микрооперации из рассматриваемой группы соответствует функция с меньшим, чем у остальных микроопераций числом аргументов, это означает, что для данной микрооперации недостающие аргументы равны нулю. Каждому аргументу этой функции приводится в соответствие определенный вход операционного элемента. Затем для каждой функции m (SB1, SB2,…SBK) из списка микроопераций, соответствующих операционному элементу, от регистров, SB1, SB2,…SBK к соответствующим входам операционного элемента проводится по одной управляемой шине, отмеченной общим для этих шин управляющим сигналом. ym. Для микрооперации передачи Sa:=SB управляемая шина просто соединяет регистр SB с входом регистра Sa. Микрооперация установки Sa:=const изображается просто управляющим сигналом ym, подведенным к соответствующему операционному элементу. Точно также изображается микрооперация инвертирования. Если к одному и тому же входу операционного элемента будет подходить несколько шин, необходимо использовать мультиплексор.
6. Каждое логическое условие, выделяющее некоторое состояние слова (регистра), изображается цепью, выходящей из регистра и представляющей значение соответствующего осведомительного сигнала. Если логическое условие связано с выполнением отношений между словами, хранимыми на двух регистрах, то в схему вводится необходимый операционный элемент (схема сравнения на равенство или больше-меньше).
В качестве примера рассмотрим операционный автомат АЛУ. Согласно подразд.2.1, множество всех слов этого автомата совпадает с множеством слов, перечисленных в табл.2.6, если слову RG1 присвоить тип IL, , а слову МП – тип L.
1. Внутренними словами являются RG , RG1, RG2, RG3, RG4, MP, CT, CT1, ПП, поэтому необходимы 8 регистров с соответствующими наименованиями и длиной.
2. Входными словами являются RG , RG1, ПП, поэтому необходимы три входа d1, d2, d3.
3. Выходными словами являются RG и ПП, поэтому необходимы два выхода r1 и r2.
4. По табл.2.7 находим списки микроопераций соответствующих каждому регистру.
5. В списке микроопераций, относящихся к RG, можно выделить группу микроопераций установки {y9,y15, y22}, группу микроопераций передачи {y2, y21, y30, y35}, группу микроопераций сдвига {y12,y17, y24}, группу микроопераций суммирования {y4,y5, y14} на накапливающем сумматоре (причем для микроопераций y5 и y14 используется перенос в младший разряд), микрооперацию инвертирования y23 и комбинированную микрооперацию y3 инверсии и сложения с единицей в младшем разряде, что реализуется переносом в младший разряд сумматора. Таким образом, RG является комбинированным операционным элементом. В нем должен быть вход для передачи чисел в регистр, вход накапливающего сумматора и вход переноса в младший разряде сумматора.
Для RG1 используются микрооперации передачи y31, y32, y3б и микрооперация инвертирования y7 .Следовательно, этот операционный элемент является просто регистром.
Д
ля
RG2
используются микрооперации
сдвига y11
и y20,
а также микрооперации установки y19,
y26
и микрооперации
передачи y8
и y16
. По этой причине RG2
является реверсивным сдвигающим
регистром
Для RG3 используется микрооперация установки y27 и микрооперация передачи y34. Следовательно, RG3 - просто регистр.
Для RG4 используется всего лишь одна микрооперация передачи y28, в силу чего RG4 так же является просто регистром.
Для МР используется только две микрооперации установки y1, y25. По этой причине MP является одноразрядным регистром.
Для СТ используются две микрооперации установки y10, y18 , и микрооперация счета у13, благодаря чему операционный элемент CT является вычитающим счетчиком.
Для CT1 используется микрооперация установки y29 и микрооперация счета y33. Таким образом, СТ1 является суммирующим счетчиком.
Для ПП используется всего одна микрооперация установки y6. Следовательно, ПП является одноразрядным регистром.
6. Цепи осведомительных сигналов находятся с помощью табл. 2.8
После соединения операционных элементов соответствующими шинами и разметки управляющих и осведомительных сигналов получаем для АЛУ структурную схему операционного автомата с закрепленными микрооперациями (рис.2.27).
2.5. Синтез операционного автомата с общими микрооперациями.
Операционный автомат c общими микрооперациями имеет структурную схему, изображенную на рис.2.28. Для вычисления любого двоичного значения m (SB1 , SB2 ,…SBk ) в нём используется одна комбинационная схема КС, равнодоступная по отношению к регистрам S1, S2,….Sh . Операнды, участвующие в микрооперации, поступают на вход КС по шинам А1, А2. Для выборки слов на вину А1 используются управляющие сигналы а1, а2 ..... аn. а для выборки слов на шину А2 - сигналы b1, b2,….,bn Сигнал аj инициирует передачу A1:=Si, сигнал bj - передачу A2:=-Sj. Схема КС настраивается на
выполнение преобразования Z:= m (A1 , A2) управляющим сигналом m, m=1,2,…,М.
Вычисленное значение Z
может быть занесено в
любой регистр S1,
S2,….SN.
Загрузка результата Z
в регистр S
инициируется
управляющим сигналом C
.
Регистр используется для предотвращения
критических гонок в операционном
автомате. Если все регистры S1,
S2,….SN
состоят из
двухступенчатых синхронных триггеров,
необходимость в регистре Z
отпадает.
Комбинационная схема автомата служит для выполнения набора микроопераций и вычисления набора осведомительных сигналов, необходимых для реализации заданного списка алгоритмов. Состав микроопераций и осведомительных сигналов определяет структуру КС.
В структурной схеме (рис.2.28) для передачи операндов используются шины А1 и А2, к которым регистры S1, S2,….SN подключаются о помощью 2N управляемых шин, инициируемых c помощью 2N управляющих сигналов a1, a2,….aN , b1, b2,….bN .Если для экономии оборудования подключать регистры к шинам A1 , A2 с помощью меньшего числа управляющих шин, получится операционный автомат с частично закрепленными микрооперациями.
Микрооперации выборки слов
на шины, преобразования слов в КС и
загрузки результатов в регистры называют
операторами в отличие от микроопераций
y1,
y2,….ym,
используемых в микропрограмме. Таким
образом, каждая микрооперация ym
в операционном автомате c
общими микрооперациями представляется
последовательностью операторов.
Логические условия обыкновенно
предоставляются в виде
(Z)
, где
-
булева функция, аргументами которой
являются двоичные переменные слова Z.
Для того чтобы результат каждой микрооперации y1, y2,….ym можно было поместить в любой из регистров S1, S2,….SN, все эти регистры должны иметь одинаковый формат, равный максимальному формату внутреннего слова, используемого в микропрограммах функции f1, f2,….fq . Каждое внутреннее слово, использованное в микропрограммах этих функций, помещается тогда в подрегистр соответствующего формата какого-либо из регистров S1, S2,….SN. Обычно считается, что младший разряд подрегистра совпадает с младшим разрядом соответствующего регистра. При реализации каждой микропрограммы операционным автоматом с общими микрооперациями все внутренние слова микропрограммы закрепляются за определенными регистрами из множества S={S1, S2,….SN }. По этой причине в процессе проектирования операционного автомата с общими микрооперациями можно регистры S1, S2,….SN отождествлять с подрегистрами соответствующего формата, предназначенными для хранения закрепленных за ними внутренних слов микропрограммы.
Процесс синтеза операционного автомата с общими микрооперациями распадается на несколько этапов.
1. Внутренним словам S1, S2,….SN (тип L) ставятся в соответствие регистры S1, S2,….SN с длинами n1, n2,….nN равными длинам слов.
Согласно подразд.2.1, в операционном автомате АЛУ внутренними словами являются RG(0:16), RG1(0:15) , RG2(0:16), RG3(0:15), RG4(0:15), CT(1:4), CT1(1:15) ,MP ,ПП, поэтому для их хранения необходимы 9 регистров соответствующего формата.
2. Операнды S1, S2,….SN совмещаются по младшим разрядам c шинами ,А1 , А2. Количество разрядов в слове Аi i=1, 2, определяется максимальным числом разрядов в слове из множества S= {S1, S2,….SN}.
В рассматриваемом примере слова A1 , А2 должны иметь формат А1(0:16) и A2(0:16).
3. Для каждой микрооперации ym из полного списка Y микроопераций, реализуемых операционным автоматом, находятся все операторы, составляющие эту операцию.
Нахождение операторов сводится к построению таблицы типа табл.2.9, в которой указаны операторы, соответствующие микрооперациям, перечисленным в табл.2.7. При этом считается, что слова представлены в монофазном коде; неопределяемое преобразование A1 , А2 реализуемое комбинационной схемой, порождает значение Z=0; младший разряд слова Z соответствует младшим разрядам слов S1, S2,….SN в рассматриваемом примере слов RG, RG1, RG2, RG3, RG4, СT, СT1, MP, ПП). Разделение микроопераций на совокупность операторов, соответствующих структуре операционного автомата с общими микрооперациями, выполняется эвристически. При построении операторов необходимо учитывать соответствие между разрядами внутренних слов S1, S2,….SN и вспомогательных слов А1, А2,….Z, а также минимизировать число операторов, посредством которых описывается процесс выполнения микроопераций ym Y. С целью унификации операторов изменена форма микроопераций y2 , y8, y16 , обеспечивающих передачу слова со сдвигом на один разряд влево. В табл.2.9 эти микрооперации предоставлены оператором сдвига Z:=L1(A2.0) . По той же причине в табл.2.9 микрооперации , y21 , y36, передачи слова со сдвигом на один разряд вправо представлены оператором сдвига Z:=R1(0.A2(1:16)). Для слова Z. запятая считается фиксированной после младшего разряда.
Табл.2.9 содержит в себе список операторов, необходимых для реализации микроопераций из Y в автомате с общими микрооперациями. По этой таблице составляется табл.2.10. В ней перечислены операторы (микрооперации), выполняемые соответствующими подсхемами этого автомата. В таблицу заносятся только попарно различные операторы, которым ставятся в соответствие управляющие сигналы ai , bj, m , Ck.
4. Каждая микрооперация ym Y кодируется набором управляющих сигналов ai , bj, m , Ck. , под воздействием которых она выполняется.
Наборы сигналов определяются по табл.2.9, 2.10 и представляются в виде табл.2.11.
5. Строятся обобщенные операторы. Микрооперации Sa := m(Sa1, Sa2,….Sap) и SB := m(SB1, SB2,….Spq), считаются эквивалентными, когда операторы содержат одну и ту же функции m .
Для минимизации затрат оборудования в комбинационной схеме, реализующей оператором{ m}, множество микроопераций (операторов) { m } разбивается на классы K1, K2,…Kj эквивалентных микроопераций.
Затем для каждого класса эквивалентных микроопераций cтроится общий оператор
S:=Ba1*Ba2*….Ban
где *- знаки двоичных операций; Ba1*Ba2*….Ban - вспомогательные переменные, принимающие различные значения при выполнении микроопераций { m}
Если класс эквивалентных микроопераций состоит из единственного оператора, то этот оператор совпадает с обобщенным оператором.
В рассматриваемом примере микрооперации 1, 2,… 18 бразуют следующие классы эквивалентности (см. табл.2.10):
Классам K1-K8 соответствует обобщенные операторы
1) Z:=L1(A2*B1);B1=7A1 (0) при 13 =1 и В1=0 при 13=0;
2) Z:=В2+В3+В4
B4=1 при 2 =1, 4 =1, 5 =1, 11 =1 и B4 =0 в остальных случаях;
3) Z:=A2;
4) Z:=1510;
5) Z:=R1(B5,A2(1:16); B5=(A16) при 8 =1 и B5=0 при 8 =0;
6) Z:=1100..00;
7) Z:=216-k 10
8) Z:= 215-k 10
При построении обобщенного оператора 1 поле А2(1:16) cлово А2 , участвующее в микрооперации сдвига 13, заменено словом A2, поскольку при этом содержание микроопераций 13 и соответственно y20 (табл.2.9) не изменится, а обобщенный оператор упрощается.
6. Строится структурная схема автомата. При этом слова, обобщенные операторы, операторы и логические условия интерпретируются операционными элементами точно так же, как и при построении структурной схемы операционного автомата с закрепленными микрооперациями. Структурная схема операционного автомата АЛУ с общими микрооперациями приведена на рис.2.28. При ее составлении использованы описания слов, приведенные в табл.2.6, список операторов, обеспечивающих выборку операндов и загрузку результатов, из табл.2.10, приведенные выше обобщенные операторы. Слово 7А1(0) при вычислении переменной В берется с шины А1 через одноразрядный инвертор. Список логических условий из табл.2.8 при составлении схемы, изображенной на рис.2.29 не использовался. Для вычисления этих условий возможны два способа. В первом из них входы комбинационных схем, реализующих функции 1, 2,…, L, подключаются к выходам соответствующих разрядов регистра Z. Это позволяет использовать одну комбинационную схему с функцией при вычислении нескольких эквивалентных условий. Поскольку в каждом такте вычисляются значения только тех условий, которые зависят от результата текущей микрооперации, остальные условия могут быть вычислены лишь в следующих тактах путем передачи на регистр Z соответствующих слов S1,S2 ,…..SN . По этой причине для выполнения перехода по логическим условиям, связанным со словами, отличными от результата текущей микрооперации, в микропрограмму необходимо включать дополнительные операторы, обеспечивающие передачу соответствующих слов на регистр Z .
В результате увеличивается время выполнения микропрограммы и возрастают затраты на оборудование в управляющем автомате. При вычислении условий по второму способу функции 1, 2,…, L, как и в операционном автомате с закрепленными микрооперациями, закрепляются за соответствующими регистрами S1,S2 ,…..SN. Это приводит к частичному закреплению микроопераций в операционном автомате.
В начале каждого такта автоматного времени в регистр Z должен быть записан нуль.
Для некоторых типов микропрограмм можно повысить быстродействие автомата с общими микрооперациями специальной организацией комбинационной схемы (см.[I],IM - автоматы). Применительно к рассматриваемому случаю этот метод не дает сколько-нибудь существенного увеличения быстродействия автомата.
