Antik (1082243), страница 12
Текст из файла (страница 12)
В том же такте ОА сформирует новые значения сигналов дляУА (сигналы эти на рис.1 обозначены как признаки).Приведем также терминологию, сложившуюся в инженерной практике проектирования вычислительных устройств такоготипа.Микропрограмма - любая формализованная форма описаниясовместной работы операционного и управляющего автоматов будем использовать блок-схемы и блок-тексты.82Микрооперация - базисное (элементарное) действие, выполняемое в ОА.Микроблок - набор микроопераций, выполняемых в ОА одновременно (в одном такте).Признак (условие) - логическое значение, используемое припереходе к одному из возможных шагов алгоритма; - результатвыполнения микрооперации.Микрокоманда - набор сигналов, поступающий из УА в ОАи интерпретируемый как управляющий, т.е.
необходимый длявыполнения всех микроопераций одного микроблока.Микрокомандой также иногда называют слово управляющей памяти, являющейся частью УА. Для различения этих понятий слово управляющей памяти будем называть микроинструкцией.1.Варианты взаимодействия ОА и УАСхема взаимодействия автоматов, более детальная, чем нарис. 1, представлена на рис.2.Отметим, что сигналы признаков могут быть двух типова) РА(t)=fA(Y(t)) зависит без сдвига от сигналов управления,b) PB(t+1):=fB(Y(t)) зависит со сдвигом от сигналов управления.Минимальная длительность такта работы схемы определяется наиболее длинными цепями между регистрами.
Для схемына рис.1, которую будем называть последовательной схемойвзаимодействия, зададимся (так чаще всего бывает), что такойкритической цепью является цепь (CLy,CLa,CLp,RG). Поэтомудлительность такта определяется:Т > ty + ta + tp + trg,где tj- время установления соответствующего компонента цепи.Чтобы сократить длину этой цепи, применяют другой вариант взаимодействия автоматов - конвейерный- рис.3. УА для этого варианта взаимодействия отличается от УА варианта последовательного взаимодействия добавленным регистром RG_FF (регистром флагов) и несколько иной компоновкой регистров и комбинационных схем. При этом варианте взаимодействия такойдлинной цепи, как в предыдущем случае, нет.
Эта цепь разделена83регистрами RG_FF и RG_MK (регистр микрокоманды) на две цепи. Продолжительность такта становится меньше и ее можноопределить следующим образом:T > max[ ta , (tp + ty) ] + trg ,Рис.2. Последовательный вариант взаимодействияРис.3. Конвейерный вариант взаимодействияПри конвейерном варианте взаимодействия PА(t+1):=f(Y(t)),т.е.
и эти значения стали зависеть со сдвигом от сигналов управления. Тогда фрагмент микропрограммыmS{...;pА=f(...)}«GO(pА;mi,mj)»,выполняемый в последовательной схеме за один такт, в конвейерном варианте за один такт выполнен быть не может, и долженбыть модифицирован следующим образом:84mS {...,pА:=f(...)}mS'{нет операции}«GO(pА;mi,mj)»Таким образом, время выполнения этого фрагмента не только неуменьшилось, но даже возросло, несмотря на уменьшение продолжительности каждого из тактов.
Зато, во всех остальных случаях (при безусловных переходах, при переходах по значениюРВ) время выполнения микропрограммы уменьшается.Особенностью реально существующих структур являетсябольшая разрядность микрокоманды и малая разрядность (чащевсего 1) анализируемых на каждом шаге признаков. Поэтому является оправданной такая структуризация комбинационной частисхемы управляющего автомата, в которой выделяется функциямультиплексирования одного признака на каждом шаге выполнения алгоритма и реализация остальной значительной части логики в виде ПЗУ.2. Основные способы адресации микрокомандВ простейшем варианте, в микропрограмме переходы только безусловные. В таком случае УА является автономным синхронным автоматом.В общем случае функция переходов УА зависит от признаков. Условимся о некоторых ограничениях, позволяющих упростить схему на начальных этапах проектирования (от которыхлегко впоследствии и отказаться):- на каждом шаге процесса вычислений ветвление можетосуществляться только по одной двузначной переменной - условию (т.е.
ветвление возможно лишь на два направления);- начальные значения всех регистров УА являются нулевыми. Впредь на схемах не будем показывать цепей установки нулевых начальных значений в регистрах УА.Для реализации, в самом общем случае, микропрограммпроизвольной структуры будем строить УА так, чтобы основнымматериальным носителем управляющей компоненты микропрограммы являлась бы управляющая память, реализованная, например, в виде ПЗУ. В этом случае слово управляющей памяти -85микроинструкция - состоит из двух составных частей: микрокоманды и адресной части.Адресная часть микроинструкции содержит информацию,позволяющую в следующем такте работы выбрать (указать) новый адрес управляющей памяти. Реализация именно этого момента является основным предметом дальнейшего рассмотренияи определяет, в основном, структуру, объем аппаратуры и быстродействие УА. При этом подлежит рассмотрению реализацияследующих типов переходов как между шагами алгоритма, так,соответственно, и между микроинструкциями:- безусловный переход,- условный переход,- функциональный переход,- переход к микроподпрограмме с возвратом.Рис.4.
Блок-схема и блок-текст микропрограммы86Будем изучать работу управляющих автоматов различнойструктуры, демонстрирующие основные применяемые вариантыадресации микроинструкций, на алгоритме, показанном на рис.4.Укажем на некоторые особенности этого алгоритма: Оператор перехода (условная вершина), помеченный меткой g1, называют ждущим. Оператор, помеченный меткой g2, использует дляперехода 4-значный признак, что не удовлетворяет вышеуказанному ограничению.
Поэтому потребуются эквивалентные преобразования алгоритма для того, чтобы удовлетворить этому ограничению.Алгоритмы эквивалентны, если они преобразуют информацию одинаковым образом, не обязательно за одно и тоже числотактов. Наиболее распространенным приемом эквивалентногопреобразования алгоритмов и микропрограмм является включение микроблоков и, соответственно, тактов, в которых не выполняется модификация памяти ОА - "нет операции".2.1.
Схема с адресным ПЗУНачнем рассмотрение с управляющего автомата, которыйназывают микропрограммным автоматом Уилкса. Функцию перехода и функцию выхода реализуем в виде ПЗУ.В ПЗУ (ROM_1), реализующем функцию выхода, следуетразместить микрокоманды; при этом их распределение по определенным адресам совершенно произвольно, за исключением начальной микрокоманды, которая должна располагаться по нулевому адресу в силу вышеуказанного ограничения (сброс в нольRG УА в начальный момент времени). ПЗУ (ROM_2), реализующее функцию переходов автомата, можно трактовать как адресное ПЗУ. Ячеек в адресном ПЗУ в два раза больше, чем в ПЗУмикрокоманд.
Каждой ячейке ПЗУ микрокоманд соответствуютдве ячейки в адресном ПЗУ, в которых записываются два альтернативных адреса.Микропрограмма для конвейерного варианта может измениться в силу замечаний, сделанных в разделе "Варианты взаимодействия ОА и УА". Для схемы на рис.7 ограничения на расположение стартовой микрокоманды иное.87Рис.5. УА с адресным ПЗУ; последовательный вариантРис.6. УА с адресным ПЗУ; конвейерный вариантROM_1SY H0 m1 Xn1{ m1 }n2{ m2 }«GO(a; d1,n3)»{ m0 }«GO(a; d1,n3)»{ m3 }1m2 02m0 03m3 X{ m4 }«GO(a; d2,n1)»{ m0 }«GO(b; n5,n3)»{ m5 }«GO(a; n5,n3)»4m4 05m0 16m5 0d1n3n4d2n5ROM_2S` q S0 0 10 1 11 0 21 1 32 0 22 1 33 0 43 1 44 0 54 1 05 0 65 1 36 0 66 1 3882.2.
Схема с явным указанием альтернативных адресовЭта схема отличается от предыдущей тем, что, по существу,тот же способ адресации выполнен с использованием только одного ПЗУ. В этом варианте альтернативные адреса записываютсяв той же микроинструкции, что и микрокоманда.а) последовательный вариантb) конвейерный вариантРис.7. УА с явным указанием альтернативных адресовn1 { m1 }A Y H A0 A1n2 { m2 }0 m1 x11«GO(a; d1,n3)»1 m2 023d1 { m0 }2 m0 023«GO(a; d1,n3)»3 m3 x44n3 { m3 }4 m4 050n4 { m4 }5 m0 164«GO(a; d2,n1)»6 m5 064d2 { m0 }«GO(b; n5,n3)»n5 { m5 }«GO(a; n5,n3)»892.3.
Схема с частичной записью адресаПри этом способе адресации альтернативные адреса отличаются только одним разрядом (в данном варианте - младшим),формируемым входным сигналом. Остальные разряды адресауказываются вместе с микрокомандой в одной и той же микроинструкции. При безусловном переходе в данном варианте схемымладший разряд также указывается в микроинструкции.Последовательный вариантКонвейерный вариантРис.8.
УА с частичной записью адресаАдресn1 { m1 }(0,0),(2,1)S’q’ Y H S en2 { m2 }(4,0)0 0 m1 0 4 0«GO(a; d1,n3)»1,X0 1 m4 1 2 xd1 { m0 }(1,0)1 0 m0 1 1 x«GO(a; d1,n3)»1,X1 1 m3 0 0 1n3 { m3 }(1,1),(3,1)2 0 m0 2 3 xn4 { m4 }(0,1)2 1 m1 0 4 0«GO(a; d2,n1)»2,X3 0 m5 1 3 xd2 { m0 }(2,0)3 1 m3 0 0 1«GO(b; n5,n3)»3,X4 0 m2 1 1 xn5 { m5 }(3,0)«GO(a; n5,n3)»3,XПри адресации одного и того же микроблока различнымиоператорами условного перехода может возникнуть конфликтадресации. В этом случае одну и ту же микроинструкцию приходится располагать в различных ячейках управляющей памяти.Если различные операторы условного перехода одними и теми90же значениями признаков указывают на одни и те же микроблоки, то нет и конфликта адресации.Распределять микроинструкции по ячейкам памяти удобно вследующем порядке:- связать с различными операторами условного перехода,конфликтующими между собой по адресации, различающиесямежду собой старшие разряды адреса;- распределить микроблоки по ячейкам памяти с учетом назначенных старших разрядов адреса и входных значений, формирующих младший разряд адреса;- оставшимся нераспределенным микроблокам назначитьпроизвольные свободные адреса.2.4.
Схема с сокращенным тактомРис.9. УА с сокращенным тактомИспользование этой схемы позволяет при сохранении преимуществ последовательного варианта взаимодействия сократитьнаиболее длинные цепи, общие для ОА и УА, до длины цепейконвейерного варианта.91ROM 0A’01234Ym1m0m0m5m2H01211ROM 1A41331e0xxxxA’0123Ym4m3m1m3H1000A2040ex101Части схемы критичные по длительности такта (ПЗУ и комбинационная часть операционного автомата) разнесены в разныеконтуры. Мультиплексор MX'2, функционально необходимый,реально может отсутствовать, т.к. мультиплексирование можетбыть реализовано использованием высокоимпедансного состояния выхода ПЗУ. Эта функция реализуется в ПЗУ обычно в 3 - 4раза быстрее, чем выбор содержимого ячейки по адресу. В этомслучае объем аппаратуры остается таким же, как и в схеме с «частичной записью адреса» (рис.8).Способ адресации, по существу, такой же, как и в предыдущей схеме.