Й.Янсен Курс цифровой электроники. Том 3. Сложные ИС для устройств передачи данных (1987) (1092083), страница 9
Текст из файла (страница 9)
1.29 показан пример разбиения слова микропрограммы, которое хранится в ПЗУ. Мы видим, что это слово разбито на ряд битовых полей. Первые 9 младших (наименее мгргггггтгвгггл гзгггггомггггм м и им п ма ггггезг~и Рис. 1.29. Полн двоичных разрядов микрокомаиды на выходе Пзв' в иоит- роллере с разрядно-модульной организацией. значимых) разрядов слова (справа) являются битами управления АЛУ. Они определяют в двоичном коде операцию, которую необходимо выполнить АЛУ. Выходы ПЗУ связаны с помощью декодера с управляющими входами процессорного блока для того, чтобы активизировать устройства, необходимые для выполнения данной операции, такие, как АЛУ, внутренние регист ы и селекторы.
С)' ледующее поле из 3 бнт используется для управления УУП, например, для того, чтобы увеличить содержимое счетчика на 1 или 2 (2 в случае пропуска микрокоманды)„или для того, чтобы выполнить переход по адресу, указанному в четвертом битовом поле. Счетчик может также извлечь адрес из адресного стека. Этот стек служит для хранения адреса команды, от которой был совершен переход, для того, чтобы можно было вернуться к атому месту программы после завершения операций.
Такие отклонения от основной программы делятся на переходы в программный цикл и переходы в подпрограмму, различие между которыми иллюстрируется на рис. 1.30. Поле, включающее биты !2 — 1б, зарезервировано для селекции одного из 16 имеющихся тестовых сигналов (признаков, Лиеиаесиие ваемеиты и ил применение е слоисныл слемал й7 флаговых битов), которые может генерировать процессорный блок. Эти тестовые сигналы дают информацию о результате операции и могут воздействовать на последовательность чисел (адресов), появляющихся на выходе УУП. С помощью 4 управляющих битов через внешний мультиплексор можно выбрать требуемый тестовый сигнал и послать его в УУП. ррр Ппрпроерпппо Р рпорпа» пащаппп Нпр Исрп:+6 хиорпы проерпипп ййр щи л Рас.
1.30. Подпрограмма и приграмииыа цикл. Биты 16 — 23 указывиот адрес перехода, если на основании полученного тестового результата возникает переход — отклонение от последовательного выполнения команд программы. Б этом поле указывается адрес команды, к которой должна перейти программа в результате операции разветвления. Переход можно выполнить простым способом, вводя адрес в адресный регистр УУП, если тестовая переменная имеет соответствующее значение.
Безусловные переходы, т. е. переходы без участия тестовых переменных, всегда происходит по адресу, указанному в микрокоманде. Последнее поле в микрокоманде предназначено для,управления впешнвми регистрами, такими, как регистр команд. Кроме этого указанная группа битов контролирует адресацию ЗУ и управление портами входа-выхода. По окончании выполнения очередной команды необходимо считывать следующую команду. При этом счетчик адресов ЗУ Папрадо ддд 93У Нащододиуырь сдую и Навеса днуерь а У.юсеаеиР дапрооппувюс 0 д юдр дыьодн. д коде. и Ююинык д-соннов Непопкюдыпденнвы ко ые Ю ко д б деивиыср неповинна даииьк дду РНУ!двюуипьую/ Ьцдддвдд Реауиь- пиЩ и деисныюр дьккодны» даиык» рпвюыюепос иа дыкод ЯЫппдные давнем Рис.
1.31. Процессорный блок с разрядно-модульной организацией типа2901 (набор команд дан на рис. 1.33). Сонкроанпуиьс Н-адрес дюыеное1 д-пдсес ьюшенаек ьапось| и-ад с дкодные д-данные данкою ынпупьь Нопедо арап ропюаюа е в диукп У судак дьдьыекноыь оепидд ьюас впеевр. персид д,в Ьодоенпо ивьсж,мЮ деюппсвненое Логические элементы и их применение в сложных схемах 59 получает приращение на 1, после чего соответствующую команду можно ввести в регистр команд. Мы видим, что для управления выполнением различных операций в микрокоманде требуется болыпое число разрядов. Разряды микрокоманды могут непосредственно не использо- А ееегмй оФек Фввелгаие релаеемегс —,с-Пгсдесесй гр = Аеегевчеггссгсе уесселеесе йст еееиха афе сев Рнс. ЬЗ2. Устройство управления последовптельностып мнкрокомвнд тн- пв зх02.
ваться для управления и контроля, а образовывать необходимый двоичный код после их декодирования, например с помощью демультнплексоров, превращаясь в управляющие сигналы для различных узлов и блоков системы. Некоторые операции могут выполняться под управлением нескольких микро- команд, что влияет на разрядность микрокоманд и скорость обработки данных, а также требует использования дополнительного регистра для хранения некоторых управляющих переменных. На рис. 1.31 приведена блок-схема процессорного блока типа 2901.
Блок-схема УУП представлена на рис. 1.32. Если мы рассмотрим процессорный блок, то увидим, что здесь на кри- Продолзкенке Группа Устанавливать иа нуль А/ззЯ АЛВ РузА РЛ!! Маскировать ! с о Группа С ! Функция Функцвя А+Я+1 А+В+1 О+А+1 0+Я+ ! о 1 5 6 Сумыпро- иать А+(;! А+В О+А 0+1~ Я+! В+1 А+1 0+1 Я В А 0 2 3 4 7 Я вЂ” 1 В ! А — 1 0 — 1 — Я вЂ” 1 —  — 1 — А — 1 — 0 — 1 Восьмеричная вюборкв !аа. !не Восьмеричная выборке !зо !зв Пропускать Декремеи- тироиать Дополнение до единицы Вычесть дополнение до единицы !'„з — А — 1  — А — 1 А — 0 — 1 Я вЂ” 0 — 1 А — Я вЂ” ! А — В 1 0 — А — 1 0 — !б — 1 Добавить ! Иикреыен- тировать Пропускать Дополпеипе до двух (отрипаивс) Вычесть дополнение до двух Я вЂ” А  — А А — 0 Г! — 0 А — Я А — В 0-А 0-чб Глава 1 Продолжение Операнды источника данных АЛУ Микрокод га !г !о Зсюьмеричный код 0 0 0 0 О 1 0 ! 0 0 1 1 1 О 0 0 1 1 1 0 1 1 1 А А 0 0 0 !! 1У 1л Я В Я В А А Я 0 1НО1.
Рис. 1.33. Набор команд микросхемы процессорного блока типа 290!. о — логические команды б — арифметические команды; с помощью шин выборки (зако.дированных в таблице в восьмеричной системе) производится выборка требуемых логнческнх в арифметических функций. Результат операций, названных в функциональных таблицах. появляется на выкоде Р АЛУг в — выборка регистров АЛУ в ИС ййй!. сталле находится ОЗУ обьемом в 16 слов по 4 бит, которое ,имеет двухпортовый выход.
С помощью адресных В-шин данные из ЗУ выбираются в В-регистр. С помощью адресных А-шин происходит выборка данных в А-регистр. Передачаданных происходит при подаче снпхросигнала. Оба регистра связаны с АЛУ через мультиплексор. Через такие же мультиплекюоры можно также передать внешние данные на 1с-входы АЛУ. В зависимости от вида команды, обеспечиваемой микропрограммой, данные из А; В- и Я-регистров могут быть переданы на Я-входы АЛУ. 9-разрядные управляющие коды имеют 3 группы по 3 бит для задания вида операции и выбора регистров данных н результата.
С помощью 3 бит можно реализовать 8 двоичных -комбинаций, т. е. мы можем выбрать 8 вариантов подключения регистров исходных данных и результата. В таблице, приведенной на рнс. 1.33,в, показано, какие регистры можно соединить с 1с и 5-входами АЛУ, когда на входы декодера управляющего кода поступают определенные восьмеричные коды. С помощью битовой группы, которая связана с регистром ,результата, можно также выполнить дополнительные операции, такие„как операции сдвига на входах Я-регистра и ОЗУ. Мультиплексор позволяет осуществлять сдвиги как налево, так и направо.
Кроме В-выходов в АЛУ имеется еще ряд выходов, которые абеспечивают каскадное включение нескольких ИС 2901, Логические элементы и их применение в слоисных схемах а также выходы тестовых переменных (признаки) для реализации переходов (ветвлений) в программе. Схема УУП„представленная на рис. 1.32, выполняет все функции, необходимые для адресации микропрограммного ЗУ, и хранит адреса переходов для того, чтобы обеспечить нормальное продолжение вычислений после возвращения из подпрограммы или программного цикла. Для этой последней функции имеется стековый регистр, в который можно поместить 4 адреса по принципу 1.1ГО— 1.аз1-1п — Г!гз1-Оп1 (последний в очереди обслуживается— выбирается из стека первым).
Другими словами, тот адрес, который был введен в стек последним, считывается из него первым. Указатель стека запоминает, какой именно адрес был введен последним. Далее, через адресный мультиплексор регистр адреса получает приращение либо на одну, либо иа две позиции. Последний вариант соответствует команде пропуска, после выполнения которой будет пропущен один адрес. Адресный мультиплексор сигналами, поступающими от декодера, на который поступают разряды АСΠ— АС2 микро- команды, образует битовое поле для управления УУП. При этом устанавливается состояние регистра адреса, которое определено соответствующей микрокомапдой.
Набор команд, контролирующий выполнение вышеуказанных операций с помощью УУП, показан в функциональной таблице, приведенной на рис. 1.34. В третьей колонке таблпцы указано, как следует программировать соответствук шее поле команды, реализующей требуемую функцию.
Ком нды ТЯК и ВКТ позволяют осуществить в программе один и впуск илн один переход соответственно, исходя из значения тестовой переменной. Две другие команды РЕР и ВЕТ используются для инициализации программного цикла с условным возвратом в. исходную программу в соответствии со значением тестовой переменной. При исполнении команды ЯВТ регистр адреса будет переведен я нулевую позицию (сброшен на нуль), а команда !АтС обеспечит нормальное приращение содержимого регистра адреса на 1.