Antik (1082243), страница 13
Текст из файла (страница 13)
Только в рассматриваемой схеме входной сигналуправляет выбором одного из двух блоков ПЗУ (можно интерпретировать этот сигнал как старший разряд адреса).2.5. Схема с регулярной адресациейВ этой схеме рис.1. при разветвлении процесса вычисленийпара альтернативных адресов получается следующим образом:один адрес всегда на единицу больше, чем текущий (т.е. изменяется «регулярным» образом), второй адрес - произвольный и содержится вместе с микрокомандой в микроинструкции.Элементом, «вычисляющим» адрес, служит счетчик, управляемый входным для УА сигналом. При различных значенияхвходного сигнала счетчик выполняет две функции: либо прибавляет единицу к значению, которое хранилось в счетчике и являлось текущим адресом, либо загружается значением адреса изуправляющей памяти.92Рис.10.
УА с регулярной адресацией; последовательный вариантВ схему введен элемент М2, позволяющий инвертироватьзначение входного сигнала, что облегчает распределение микроинструкций по ячейкам управляющей памяти.INCRSeHsyn0abRG0 MX1ASROM eHAYsynM2ARG Y'cMX0123Рис.11. УА с регулярной адресацией; конвейерный вариантВ схеме для конвейерного варианта взаимодействия рис.7.регулярное изменение адреса приходится организовывать так,чтобы не увеличивать число мест конвейера.93n1n2d1n3n4d2n5{ m1 }{ m2 }«GO(a; d1,n3)»{ m0 }«GO(a; d1,n3)»{ m3 }{ m4 }«GO(a; d2,n1)»{ m0 }«GO(b; n5,n3)»{ m5 }«GO(a; n5,n3)»Адрес012345A01234567Ym1m2m0m3m4m0m5m0Hx11x1210S13240363ex01x001162.6. Схема с естественной адресациейи совмещенным назначением разрядов ячейки ПЗУРис.12. УА с естественной адресациейЭта схема используется только в конвейерном вариантевзаимодействия. Метод вычисления адреса для следующего тактатакой же, как и в схеме с регулярной адресацией.
(Другой термин94– «естественная» употреблен только ради различения самихсхем.) В этой схеме, по сравнению с уже рассмотренными, разрядуправляющей памяти с одним и тем же номером (разрядный срез)в различных микроинструкциях может быть использован различным образом.Будем различать микроинструкции двух типов:- операционные,- адресации (выбора).В данном варианте схемы тип микроинструкции устанавливается разрядом k. При k=0 выполняется микроинструкция операционного типа.
Все остальные разряды ячейки загружаются врегистр микрокоманды и управляют выполнением микроопераций в ОА. Следующий адрес всегда на единицу больше.При k=1 выполняется микроинструкция адресации. Все разряды микроинструкции могут быть использованы для вычисления следующего адреса. В данном варианте схемы, так же как и всхеме с регулярной адресацией, один из адресов явно записывается в микроинструкцию, другой альтернативный адрес на единицу больше текущего.В этой схеме используется условная синхронизация, котораяпозволяет удлинить такт выполнения микрокоманды в ОА навремя выполнения микроинструкций адресации.AYkHn1 { m1 }n2 { m2 }g1 «GO(a; g1,n3)»n3 { m3 }n4 { m4 }g2 «GO(a; g3,n1)»g3 «GO(b; n5,n3)»n5 { m5 }g4 «GO(a; n5,n3)»0123456789001001101111210em1m21m3m400m511S20373952.7.
Функциональный переход.Переход на микроподпрограмму с возвратомINCRSROMFAARGsynSTACKe1e2Hsyn0abcRG0 MX12A3AksynCLAMX0123H,e,SYY’RGvkTk’synsyn&CCРис.13. УА с вызовом микроподпрограмм2.7.1. Функциональный переходПри необходимости выполнения нескольких вычислительных функций, управление которыми представляется в виде независимых микропрограмм, необходимо организовать независимыйвызов этих микропрограмм.Начальные адреса микропрограмм, управляющих вычислениями различных функций, обычно существуют вне управляющей памяти. В УА достаточно предусмотреть механизм коммутации, позволяющий сделать начальный адрес текущим. Это можноосуществить в любой из рассмотренных схем.
(К механизмукоммутации относятся, кроме аппаратуры, специальные разрядыуправляющей памяти и специальные микроинструкции.)2.7.2. Переход к микроподпрограмме с возвратомПри реализации достаточно сложных вычислений удобно96воспользоваться механизмом микроподпрограмм.Одна и та же микроподпрограмма может быть вызвана изразных точек вызывающих микропрограмм.
Поэтому при вызовемикроподпрограммы необходимо запомнить адрес, с тем, чтобывосстановить его при возвращении из микроподпрограммы. Чтобы запомнить и восстановить адреса возврата от вложенных вызовов, используется безадресная память - стек (stack).Принцип (дисциплина) работы стека описывается условием«последним вошел - первым вышел» (Last In - First Out, LIFO).Чтобы описать этот принцип будем считать, что слова, хранящиеся в стеке, перенумерованы с помощью первых натуральныхчисел 1,2,...,N. Слово с наибольшим номером называют вершинойстека.Стек может выполнять следующие действия:-«чтение» слова с наибольшим номером,-«выталкивание» (стирание) из памяти слова с наибольшимномером,-«запись» нового слова с присваиванием ему наибольшего номера.При вызове микроподпрограммы выполняется операция«записи» в стек адреса возврата.
При возвращении из микроподпрограммы выполняется операция «чтения» адреса возврата, затем «выталкивания» его же из стека.Операция «чтения» без «выталкивания» выполняется прииспользовании стека для организации циклов.Разряды с именем (k,e1,e2) определяют тип выполняемоймикроинструкции. В связи с тем, что теперь в схеме существует 4источника адреса для управляющей памяти, возможны 4 типабезусловных переходов, кроме того, возможны различные условные переходы в разных сочетаниях комбинирующие эти источники адреса и входные переменные.С помощью комбинационной схемы CS разряды микроинструкции (k,e1,e2) преобразуются в сигналы управления стеком имультиплексором.973.Управление с предвосхищениемf ' p' wq' SS q ROM p2 MXf1Ye' 0S'eH'HASRGY'Рис.14.
УА с предвосхищениемВ конвейерном варианте при выполнении условных переходов по флагам, зависящим без сдвига от сигналов управления,приходится добавлять еще один такт для того, чтобы "увидеть"значение переменной, по которой выполняется ветвление, и выбрать нужную микроинструкцию. Можно построить управляющий автомат, в котором для ускорения выполнения микропрограммы выполняются следующие действия.
Предварительно выбирается из ПЗУ одна из двух альтернативных микроинструкций,соответствующая наиболее вероятному значению флага. Это значение должно храниться в той микроинструкции, после которойвыполняется ветвление. В конце такта выработанное реальноезначение переменной сравнивается с предсказанным, если онисовпадают, то выбранная из ПЗУ микроинструкция записываетсяв выходной регистр, если нет, то предыдущий такт продлевается,т.е. не синхронизируются операционный автомат и RG'МCI.Микропрограмма будет такой же, как и для последовательного варианта взаимодействия, но в микроинструкцию добавляются два разряда:f={ 1, если используется предвосхищение; 0, если нет};p - наиболее вероятное значение переменной ветвления.В схему включается автомат SS, который вырабатывает двасигнала:q- разряд адреса ПЗУ;98w - управляет условной синхронизацией операционного автоматаи RG'МCI; эта переменная должна зависеть без сдвига от входных переменных автомата SS, т.к.
установившееся значение wдолжно предшествовать рабочему фронту сигнала синхронизации.Итак, SS - автомат, который может находиться в одном издвух состояний s0 и s1:состояниеs0s0s0s1f!011xp!,q!x!p =q!p!≠q!xqq!p!p!q!w1101переходs0s0s1s0Аппаратура микропрограммного управляющего автоматанесколько увеличилась. При этом основная доля прироста приходится на ПЗУ, увеличенное на два разряда в каждой ячейке.БИБЛИОГРАФИЧЕСКИЙ СПИСОК1. Гилл А. Введение в теорию конечных автоматов. –М.: Наука,1966 –272с.2.
Гилл А. Линейные последовательностные машины. –М.: Наука, 1974 –288с.3. Кузин Л.Т. Основы кибернетики в двух томах. Т.2 Основыкибернетических моделей. –М.: Энергия, 1979 –583с.4. Кудрявцев В.Б., Алешин С.В., Подколзин А.С. Введение втеорию автоматов. –М.: Наука, 1985 –320с.5. Фридман А., Менон П. Теория и проектирование переключательных схем. – М.: Мир, 1978 –580с..