Арифметическое устройство с микропрограммным управлением
Иллюстрации
Показать всеРеферат
Изобретение относится к области вычислительной техники и может быть использовано при проектировании арифметических устройств вычислительных машин. Цель изобретения - повышение быстродействия основных команд операций деления при одновременном сокращении оборудования. Устройство содержит арифметико-логический блок, выполненный из N вычислительных ячеек и узла ускоренного переноса, шинный формирователь, контроллер состояний, регистр адреса памяти, два узла выборки операндов, каждый из которых содержит соединенные мультиплексор адреса и регистр адреса, и блок микропрограммного управления, состоящий из регистра команд, дешифратора команд, дешифратора прерывания, узла микропрограммного управления, узла памяти микрокоманд, первого регистра микрокоманд и узла обработки прерываний, а также связи между указанными элементами согласно чертежу. Новым является введение в блок микропрограммного управления регистра адреса микрокоманд, второго регистра микрокоманд, дешифратора битовых сигналов и формирователя разрядов частного. В узел выборки операндов введен дешифратор адреса, включенный между вторым выходом мультиплексора адреса и вторым входом регистра адреса. Формирователь разрядов частного содержит дешифратор частного и дешифратор адреса. 9 ил.
СОЮЗ СОРЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК (51) 5 G 06 списочник иаоьгкт ния
К A BTOPCHOMV СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ КОМИТЕТ
ПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМ
ПРИ ГКНТ СССР
1 (21) 4457494/24-24 (22) 08.07.88 (46) 07.02.90. Бюл. У 5 (71) Ленинградское научно-производственное объединение "Электроавтоматика" (72) В.А.Коротков, P.À.Øåê-Иовсепяиц, Л.П.Горохов, Ю.В.Малахов и Е.В.Смирнов (53) 681.325(088.8) (56) Самофалов К.Г. Электронные цифровые вычислительные машины. Киев:
Вища школа, 1976.
Мик Дж., Брик Дж. Проектирование микропроцессорных устройств с разрядно-модульной организацией. М.:
Мир, 1984, с.152-162, рис.3.23. (54) АРИФМЕТИЧЕСКОЕ УСТРОЙСТВО С
МИКРОПРОГРАММНЫМ УПРАВЛЕНИЕМ (57) Изобретение относится к вычис. лительной технике и может быть использовано при проектировании ариф.метических устройств вычислительных машин. Цель изобретения — повышение .быстродействия основных команд и команд операций деления при одновременном сокращении оборудования. УстИзобретение относится к вычислительной технике и может быть использовано при проектировании арифметических устройств вычислительных машин.
Цель иМ>бретения — повышение быстродействия выполнения основных ко„.SU,» 1541594 А1
2 ройство содержит арифметико-логиче ский блок, выполненный из N вычислительных ячеек и узла ускоренного переноса, шинный формирователь,контроллер состояний, регистр адреса памяти, два узла выборки операндов, каждый из которых содержит соединенные мультиплексор адреса и регистр адреса, и блок микропрограммного управления, состоящий иэ регистра команд,дешифратора команд, дешифратора прерывания, узла микропрограммного управления, узла памяти микроко-, манд, первого регистра микрокоманд и узла обработки прерываний, а также связи между укаэанными элементами согласно чертежу. Новым является введение в блок микропрограммного управления регистра адреса микрокоманд, второго регистра микрокоманд, дешифратора битовых сигналов и формирователя разрядов частного. В узел выборки операндов введен дешифратор адреса, включенный между вторым выходом мультиплексора адреса и вторым входом регистра адреса ° Формирователь разрядов частного содержит дешифратор частного и дешифратор адреса. 9 ил.,7 табл. манд и команды делений при одновременном .сокращении оборудования.
На фиг.1 и 2 показаны схемы арифметического устройства с микропро граммным управлением; на фиг.3— структурные схемы первого узла выбор. ки операндов и формирователя разря1541594 дов частного; на фиг,4 — формат микрокоманды; на фиг.5 — схема органиэации микропрограммного управления; на фиг.6 — временная диаграмма орга ниэации микропрограммного управления;.на фиг.7 и 8 — алгоритмы деления; на фиг.9 — содержание алгоритма выполнения цикла "Деление".
Арифметическое устройство (фиг.1 и 2) содержит арифметико-логический блок 1 (AS), выполняющий арифметические и логические операции над опе-, рандами; блок 2 микропрограммного управления (БМУ), управляющий работой АБ.
Ab1 содержит арифметико-логический узел 3 (АЛУ), состоящий из вычислительньж ячеек 4-7 (1-N) (больших интегральных схем, например, БИС ° 1804 20
ВС1); узел 8 ускоренного переноса (2УУП) (БИС 1804 ВР1), служащий для органиэации ускоренного переноса между ячейками АПУ; контроллер 9 состояний (КСС) - (БИС 1804ВР2), служа-25 щий для связи сдвиговых элементов
АЛУЗ, управления сигналами перенЬса, записью, считывания и модификации признаков состояния, выработки
"флага" (сигнала передачи управления) для органиэации ветвлений по микрокоманде; шинный формирователь
10 (ШФИ), служащий для организации обмена информацией интерфейсной шине; регистр 11 адреса памяти (РАП), предназначенный для хранения адреса запоминающего устройства во время операций выборки или записи информации; первый узел 12 выборки операндов (УВО) и второй узел 13 выборки операндов.
Блок 2 микропрограммного управления (БМУ) содержит регистр 14 команд (РК), служащий для хранения во время выполнения каналом информации о команде; дешифратор 15 векторов прерываний (ДШП) — (БИС555РТ7 (2Кх8), перекодировщик кодов векторов прерываний в начальные адреса соответствующих микропрограмм обработки прерываний; дешифратор 16 команд (ДШК), представляющий собой постоянное запоминающее устройство, дешифрирующее код операций. в начальный адрес микропрограммы этой операции; узел 17 микропрограммного уравления (УМУ) — (БИС1804ВУ4), вы- < рабатывающий следующий адрес микрокоманды в зависимости от сигнала "Г"
4 управления (4Ьаг") устройства КСС9 ° регистр 18 формирования адреса (старшие разряды), служащий для хранения адреса микрокоманды во время выборки ее нэ узла памяти; узел 19 памяти микрокоманд (УПМК) — четыре восьмиразрядные секции BNC 556PT16 (8Кх х8); первый регистр 20 микрокоманд (РМК) - конвейерный регистр, служащий для хранения микрокоманды на время ее выполнения (32 разряда) синхронно с сигналом "Т"; второй регистр 21 микрокоманд (РМК) - конвейерный регистр, служащий для хранения микрокоманды и время ее выполнения (32 разряда) синхронно с сигналом Т; узел 22 обработки прерываний (УОП) — (БИС 585ИЭ 14), служащий для управления приоритетами уровней прерываний, приема сигналов прерываний и формирование их векторов; дешифратор 23 битовых управляющих сиг» налов (ДШБС), формирователь 24 разрядов частного (ФРЧ), шину 25 данных и шину 26 адреса, источник 27 постоянного тока; вход 28 тактовых прямых сигналов; вход 29 тактовых инверсных сигналов; вход 30 "Установка
Узел 12 содержит (фиг. 3) мультиплексор 3 1 адреса, дешифратор 32 адреса и регистр 33 адреса и отличается от узла 13 наличием дешифратора 33 адреса. Формирователь разрядов частного содержит дешифратор 34 адреса и дешифратор 35 частного, вход 36 логической "1", вход 37 логического "0".
Для синхронизации временных процессов информация об адресе микрокоманды на выходе регистра 33 должна быть синхронна с работой АЛУ 3.
С этой целью прием адреса по входу
PA стробирован синхроимпульсом Т, стробирующим и работу АЛУ 3.
Дешифратор 32 нулевого разряда адреса (ДША) узла 12 эмулирует нулевой разряд адреса d в зависимости от входных сигналов С1-СЗ по формуле где С„С и СЗ вЂ” входы дешифратора 32;
d — выход дешифратора 32.
1541594
Таблица истинности состояний входных и выходных сигналов ДША 32 представлена в табл.1.
Таблица 1
c, c
1
0 1
Х
1
Х
Х
О
Примечание. Х соответствует любому значению (О или 1);
ДША 34 служит для устранения генерации эа счет положительной обратной связи входов и выходов регистров сдвигателей POH u Q АЛУЗ.
На входах 1-4 дешифратора 34 реализована комбинация кода 0110 с постоянным источником тока (+58).
В каждой команде "Деление" (фиг.3) под управлением POH АПУ 3 старшего разряда регистра-сдвигателя (выход
9 ячеек 4 АЛУ 3), содержащего значение 16 (старших из 32-х) разрядов делимого остатка, эмулируется четный/нечетный адрес РОН АЛУ 3 согласно табл.2.
Таблица 2
Вход узла (старший разряд РОН АЛУ 3) Эмулируемое значение адреса
POH
Четное (14)
Нечетное (15) О
П р и м е .ч а н и е. Исходное эна. чение РОН АЛУ 3, указанное в микрокомандах цикла деления нечетное, например 15.
Формат микрокоманды предложенного
АУ показан на фиг.3. Слово микрокоманды содержится в регистрах РМК 20, РМК 21 (0-31 и 32-63-й разряды микрокоманды соответственно) . Разряды в регистрах объединяются в поля управления устройств (всего девять полей). Количество полей микрокоманды (0-63) соответствует разрядности выходов блоков регистров РМК .
20 и PMK 21 °
Поля управления регистра РМК 20 (О-31-й разряды микрокоманды): первое поле управления (23-31-й разря5 ды МК) — управление функциями АЛУ
3; второе поле управления (20-22-й разряды MK) — управление загрузкой начальных адресов микропрограмм команд (ДШК 16), векторов микропрограмм обработки прерываний (ДШП 15), обратных адресов микрокоманд (РМК
20); третье поле управления (12-15-й разряды МК) — управление приемом данных ШФИ 10 с шины интерфейса 25; четвертое поле управления (16-19-й разряды МК) — управление функциями формирования адреса микрокоманды
УМУ 17; пятое поле управления — формирование микрокоманды трех парал20 лельных форматов; первый формат (О-11-й разряды MK) "Адрес" — фор-, мирование константы адреса УКУ 17; второй формат (О-8-й разряды МК) "Константа" — формирование констан25 ты как операнда АЛУ 3;третий формат. (О-4-й разряды МК) "Сдвиг" — формирование функций сдвигов КСС 9.
Использование многоформатности микрокоманды (употребление отдель30 ных разрядов и полей (слова) микрокоманды для формирования функций разрядов и полей (слова) микрокомаиды для формирования функций управления различных устройств) позволяет сократить необходимую длину слова микрокоманды. Например, в рассматриваемой структуре БМУ необходимая длина слова микрокоманды сокращается по 15 разрядов.
40 Поля управления регистра РМК 21: первое поле управления — управление узлами 12 и 13 АЛУ 3 (48-59-й разряды МК) — разделяется на управление узла 12 (48-53-й разряды МК), 45 на управление узла 13 (54-59-й разряды МК), 50-53-й и 56-59-й разряды
МК первого поля участвуют в выборе номера регистра через порты А и. В
АЛУ 3 и 48, 49 и 54, 55-й разряды
МК в выборе источника операнда в
АПУ 3; второе поле управления - управление ДШБ 23 (60-63-й раФФяды
МК), служащие для формирования шестнадцати битов признаков управления микрокоманды; третье поле управления — управление записью признаков ! состояния и формирования флага КСС
9 (32-44-й разряды MK) четвертое поле управления — формирование при1541594 знаков интерфейса „служащих сигналами сопровождения инфогмации интерфейса и управления работой ШФИ10 и
РАП11 (45-47--й разряды МК).
В структурной схеме организации микропрограммного управления (фиг.5) показаны взаимосвязи основных потоков информации УСУ 2 и АУ 1 между блоками УМУ 17, РАМК 18, УПМК 19, PMK 20, PMK 21 узлов 12 и 13, АЛУ
3 и КСС 9.
С выхода УМУ 17 по 12-разрядной шине адрес микрокоманды поступает на первую группу входов РАМК 18. Код адреса микрокоманды фиксируется передним фронтом строба Т по первому входу РАМК 18. Временный строб
Т вЂ . сигнал с периодом 0,5 мкс, скважностью 2. Временной сигнал Т вЂ” инверсный сигнал Т.
С выхода PAMK 18 12 старших разрядов адреса с микрокоманды поступают на вход. узла 19. Туда же подсоединен сигнал T являющийся в этом случае нулевым (младшим разрядом адреса). Поэтому за период прохождения сигнала Т дважды будет выбираться из узла 19 информация по 32-разрядной шине. по нечетному, а затем по ! четному адресу. Считанная информация
1 из УПМК 19 записывается на первые группы входов регистров РМК 20 и
PNK 2 1 в момент переднего фронта сигналов Т и Т, поступающих на первые входы регистров. Информация с первой группы выходов РМК 21 о выборе источников операндов, сдвинутая на полтакта вперед относительно.такта работы АЛУ 3, поступает на входы МПА узлов 12 и 13 и синхрониэируется стробом Т.
С выбранными узлами 12 или 13 по четырехраэрядным входам адреса ячеек 4-7 операндом производятся арифметические и логические операции в АЛУ 3. Результатом операций является выборка признаков состояния с выходом признака состояний ячеек АЛУ 3, поступающи » соответственно на входы признаков условия перехода КСС 9 для хранения и модификации.
Результатом после. обработки сигналов состояния на 13-разрядной шине (третья группа выходов PMK 21), поступающих на вход микрокоманд КСС
9, является выработка сигнала F на выходе условия перехода КСС 9, посту10
55 пающего в узел "I7 на вход (СС). При выработке сигнала F с выхода КСС 9 информация по 12-разрядной шине с пятой группы выходов РМК 20 проходит по первой группе входов в узел 17 как информация следующего адреса MK.
В случае отсутствия сигнала F от
КСС 9 12-разрядный адрес иэ УМУ 17 формируется в зависимости от кодовой комбинации на 4-разрядной шине входов в узел 17.
Рассмотрим сущность взаимодействия блоков 1 и 2, Начало работы инициируется сигналом . Установка", поступающим на вход
PNK20, по которому адрес микрокоманды с пятого выхода регистра 20 записывается синхронно с сигналом
Т эа два такта через узел 17 в РАМК
18. Это и является исходным состоянием для начала работы устройства, Адрес МК формируется на входе узла 19 последовательно за период сигнала Т дважды: в нечетный и четный полупериоды, отличающиеся между собой на единицу младшего разряда, Информация, выбранная по нечетному адресу, записывается в РМК 21 по сигналу Т,а по четному в PMK 20 — по сигналу Т. Информация, хранящаяся в регистре РМК 20, управляет работой
АЛУ 3. Номер регистра общего назначения (РОН) АЛУ 3 вырабатывается узлами 12 и 13 синхронно сигналу Т.
Пунктирами на фиг.4 показано прохождение информации одновременно для трех последовательных значений следующего адреса микрокоманд (A А + 1, A+ 2).
В момент интервала времени Х происходят следующие действия.
Под управлением регистров 20 и 21 в ыпол ня ются арифметиче ские или логические операции в АЛУ 3 для МК А, формируются по ее результатам признаки слова состояния процесса и записываются по концу интервала времени в КСС 9, Под управлением регистра РАМК,8 и признака Т дважды выбираются (нечетный, затем четный адрес MK "А+1") информация из ЗУМК
19 и по окончании интервала времени
Х записывается соответственно в РМК
21 (нечетный адрес) и РМК 20 (четный адрес). Под управлением 4-разрядной шины с четвертой группы выходов PNK 20 в УМУ 17 формируется следующий адрес выборки микрокомаиды
9 15
A+2 и по окончании интервала времени Х записывается в PAMK 18.
Динамику формирования следующего адреса микрокоманды, работу АЛУ и
КСС поясняет временная диаграмма, представленная на фиг.6, на которой по вертикали обозначены сверху вниз номера циклограмм, по гориэонтали— длительности и виды циклограмм с выделением интервала времени Х.
На циклограммах 1 и 2 показана последовательность синхроимпульсов Т и Т, синхронизирующих работу устройства. На циклограммах 1-10 рассмотрена работа последовательности микрокоманд от А-1 до A+5.
Предположим, что момент времени
Х соответствует выполнению микрокоманды А по циклограмме 5 в АЛУ 3.
Тогда в регистре PMK 20 (циклограммы 3 и 4) существует информация, управляющая работой А-й микрокоманды, а в регистре PMK 21 в течение первого полупериода существует информация для А-й микрокоманды, а в течение второй половины периода для А+ 1-й микрокоманды. В то же время под управлением PAMK 18, содержащим информацию о номере микрокоманды А+1 (циклограмма 9), выбирается из УП 19 (циклограмма 7) нечетный, а затем четный адрес А+1-й микрокоманды.
Выбранная информация, соответствующая А+1-й микрокоманде, иэ УПМК 19 по нечетному адресу записывается в
PMK 21 (циклограмма 4) и по четному адресу — в PMK 20 (циклограмма 3).
Номер РОН АЛУ 3, содержащий операнд, необходимый для выполнения операции
АЛУ, хранится в узле 12 или 13 синхронно с работой АЛУ 3 (циклограмма
10) .
Из временной диаграммы (фиг.6) и структурной схемы организации управления (фиг.5) видно, что в предложенной схеме реализован конвейер на "2" выработки следующего адреса микрокоманды, т.е. когда выполняются действия под управлением микрокоманды А в АПУ 3, под управлением
PAMK 18 выбирается иэ УЛИК 19 информация А+1-й микрокоманды, а в
УМУ 17 вырабатывается адрес А+2-й микрокоманды. Совмещение процесса выработки, следующего адреса для микрокоманд А, A+ 1, А+2 создает воз41594
10 можность значительного сократ!НИя времени его выполнения.
Двукратная выборка иэ УЛМК за один такт позволяет в два раза сократить количество микросхем УПИК 19.
Временной такт (при двукратной выборке информации из ЗУМК 19) уменьшается с Т = 300 нс до Т = 250 нс в конкретном примере реализации.
На фиг.7 и 8 приведены алгоритмы выполнения операции деления (способ деления — без восстановления остатка) .
Оператор 1 выполняет следующие действия: устанавливает необходимое число циклов (равное количеству разрядов делителя в счетчике циклов
УМУ 17; иэ внешней памяти выбирают20 ся значения делимого (двойной длины — 32 разряда) и делителя (16 pasрядов); делимое размещается в регистрах-сдвигателях POH u QAJIY 3; делитель в другом регистре POH АЛУ 3.
25 Операторы 2 и 3 по значению делителя Y = О или делимого Х = 0 передают управление на выполнение действий оператора 12, формирующего признаки слова состояния по результатам выполнения операции деления, при значениях операндов Y ф О,Х ф 0 передается управление на оператор 4.
Оператор 4 по значению старшего знакового разряда делителя переда35 ет управление на оператор 5 в случае Зн Y = 1, или на оператор 6 в случае Зн Y = О.
Оператор 5 выполняет подготовительные операции по размещению в
40 двух соседних регистрах РОН АЛУ значения делителя так, чтобы в выбранном номере — четном размещался прямой код делителя, а в нечетном— дополнительный. Оператор 6 выполня45 ет действия, обратные действиям оператора 5, т.е, в нечетный РОН АЛУ записывается дополнительный, а в четный прямой код делителя. Оператор 7 выполняет действия первого
1 такта деления, после чего нроизводится анализ результатов выполнения действия первого такта оперйтором 8.
В случае некорректности деления (переполнение разрядной сетки 16-разрядного результата деления) передается управление оператору на формиро- вание признаков выполнения операции, иначе выполняются остальные такты деления операторами 9-11 (анализ
1541594
Таблица 4
Знак делителя
Старший разряд делимого/остатка
Разряд частного
5 РК разряд
15 теля) Старший разряд
POH АЛУ (знак остатка) Регистр (АЛУ
Таблица 3
Знак делителя
0
0
0
1
О
Старший разряд делимого (остатка) Операция
0
1 !
0
Сложение
Вычитание
Вычитание
Сложение
Таблица 5 т Вид сдвига
Код сдвига условий некорректности деления здесь и далее не рассматриваются) .
Рассмотрим отдельно цикл деления (фиг.9) .
В устройстве все действия укаэанных операторов выполняются операторами 9 и 1О (фиг.8), представляющими собой две микрокоманды. Действия этих микрокоманд включают сложение остатка и делителя; вычитание из остатка делителя.
Эти действия выполняются в зависимости от значений знаков делителя и старшего разряда делимого (остатка) согласно табл.З.
Примечание. Старшийраэряд делимого (остатка) анализируется после действий в предыдущем такте деления.
В микрокоманде цикла деления указан нечетный адрес РОН той пары ре гистров POH в которых предварительно оператором 5 или 6 были сформированы прямые или дополнительные коды делителя. Поэтому, учитьвая в микро,командах нечетный адрес одного иэ них, позволяют узлу 12 по старшему разряду делимого (вход 4) и признаку деления (вход 5) выбирать нужный операнд (делитель) в прямом или дополнительном коде для выполняемых микрокомандами действий сложения.
Одновременно полученный резуль тат в регистрах — сдвигателя POH (остаток) и младшие разряды делимого (регистр Q) двигаются влево на один разряд. По значению сдвигаемого влево старшего разряда POH (остатка) и фиксированного в PK знаке делителя формирователем разрядов частного ФРЧ24 и KCC 9 вырабатывается разряд частного и записывается в освободившийся при сдвиге влево исходный разряд регистра QAHY согласно табл.4.
Формирование разрядов частного в КСС9 производится ФРЧ24 за счет коммутации функции сдвига (коды 0 110 или 0111), изменяя значение младше30 го разряда функции.
Коды управления функциями сдвига соответствуют видам сдвига (табл.5).
0110 Рег.POH Per 0!
5 0 15 О Разряд
Остаток Частное частного
Рег. POH Рег, 1
0111 15 О 15 0
Функция сдвига 0110 укаэьвается в каждой микрокоманде цикла "Деление". Младший разряд функции сдвига коммутируется в ФРЧ24. Цикл "Де50 ление" выполняется за счет повтоN рения (†- — 2) раз двух микроко2 манд, где N — число разрядов делиss ")
Первая микрокоманда цикла "Деление" производит декремент (вычитание) содержимого регистра-счетчика циклов БМУ и сравнение полученного
1541594
14
13! результата с нулем. Если N ф 0 происходит передача управления на повторение микрокоманды, если N =- 0 передается управление на оператор 12.
Таким образом, цикл "Деления" заключается в выполнении циклически двух микрокоманд (при организации конвейера выборки следующего адреса микрокоманды с модулем два), в каждой из которых происходит формирование одного разряда частного ° В итоге за цикл деления формируются два разряда частного.
Иикрокоманды (21-я и 9.2-я) цикла "Деление" отличаются между собой только адресной функцией УМУ 2 (фиг.7) . В первой микрокоманде (адрес А) производится декремент счетчика (уменьшение счетчика на единицу младшего разряда) цикла УМУ 2, передача управления в зависимости от его значения. Во второй микрокоман- де производится безусловная (обязательная после условной: условия ветвлений) передача управления на микрокоманду с адресом А+1.
Работа по выполнению арифметических и логических операций над опе-, рандами в АПУ 3 производится под управлением полей микрокоманды с первых групп выходов PMK 21 (12-разрядная шина) и PMK 20 (9-разрядная шина). Под управлением сигналов на первой группе выходов PMK 2 1 производится выбор узлов 12 и 13 источни ков адресов операндов внутреннего
ОЗУ АЛУ 3 (источник 1-й — РК 14, ис» точник 2-й — PMK 21). С выходов PMK
20 производится управление арифметическими или логическими операциями в АЛУ 3 над операндами. Операнды могут быть использованы в зависимости от значений функций управления
АЛУ 3, поступающих с первых (9-разрядная шина) и пятых (5-разрядная шина) выходов PMK 20, из внутреннего ОЗУ АЛУ 3 или с шины данных 25 через ШФИ 10 на D-входы АЛУ 3.
По результатам выполнения операций над операндами в АПУ 3 вырабатываются признаки (Z, С, V, N-входы КСС 9) слова состояния АПУ 3. По сигналам управления с третьей группы выходов PMK 21 (13-разрядная шина) в КСС 9 запоминаются и обрабатываются признаки слова состояния и в зависимости от их комбинаций вырабатывается сигнал F для организации процесса ветвлений микропрограммы. Процесс обмена информацией с внешними устройствами производится
5 по шинам адреса 26 и данных 25.
При необходимости перехода обмена информацией с внешними носителями информапии по интерфейсу типа."узкая шина" шины "Адрес" и "Данные" объединяются.
С первых выходов РАП 11 в шину
26 адреса поступает 16-разрядный код адреса и признаки для его сопровождения.
Результат операций над операндами с первых выходов ячеек 4-7 АЛУ 3 поступает на первые входы ШФИ 10 для запоминания в буферном регистре и трансляции через выходы ШФИ 10 на
Э-входы ячеек 4-7 АЛУ 3 в качестве операнда следующей операции или через первые входы/выходы ШФИ 10 на шину 25 данных для запоминания во внешних носителях информации.
В случае запоминания результата вычислений во внешнем ОЗУ микрокоманды генерируют адрес ячейки внешнего ОЗУ с первых выходов РАП 11 на .шину 26, обеспечивают работу ин30 терфейса по приему адреса с РАП 11 и данных с ШФИ 10 по шине 25 во внешние ОЗУ.
3а счет "свертки" временных процессов, происходящих в БМУ 2 во время выборки адреса следующей микрокоманды, достигается йри сокращении оборудования БМУ 2 более короткий такт обработки информации (250 нс).
4О Различные типы операций арифметических и логических операций выполняются за время:
Типа регистр регистра 1 мкс (4 такта)
45 Память — регистр 2 мкс (8 тактов)
Умножение 6-10 мкс (24
40 тактов)
Деление 10-15 мкс (40
60 тактов)
Диапазон времени выполнения определяется реализуемой системой команд.
Рассмотрим работу АУ, начиная с момента включения, т.е. инициализации начального адреса микропрограммы включения. Сигнал "Установка по входу 30, сигнализирующий об отсутствии вторичных напряжений питания АЛУ или наличии переходных
16
154 1594 процессов при их установлении, поступает на установочный вход РМК20, В регистре РМК 20 под управлением сигнала "установка" четвертым полем (фиг.3) вырабатывается функция управления УМУ 17 для выработки адреса 0...0, поступающего с четвертой группы выходов по 4-разрядной шине на группу входов УМУ 17. УМУ 17 вырабатывает 12-разрядный адрес (О ° ..
О) и выставляет его на выходе .
РАМК 18 по синхросигналу Т записывает" указанный 0...0 (четный) адрес и начинается выборка содержимого нулевой ячейки УПМК 19 (старшие раэряды 32-63) с записью информации по синхросигналу Т в PMK 21.
Синхроимпульс Т подключает младший разряд адреса на входе УПМК 19, Адрес 00...01 (нечетный) выбирает иэ УПМК 19 содержимое первой ячейки и записывает по синхросигналу Т в
PMK 20 (младшие разряды 0-31). Так заканчивается процесс инициализации начального адреса микропрограммы "Инициализация", в процессе вьРполнения которой загружаются, устанавливаются значения различных счетчиков и узлов АБ1 и БУ2 в исходное состояние. Программа инициализации заканчивается загрузкой в РК14 первой команды по сигналу из ДШБС 23, поступившей из запоминающего устройства. Разряды команды по 16-разрядной шине поступают в ДШК 16. Даниые на управляющем входе ДШК 16 управляют выходами дешифратора, переключая выходы из состояния высокого импеданса в активный режим. В то же время сигналы на выходе ДШП 15 и на пятой группе выходов РМК 20 (обратный адрес) находятся в состоянии высокого импеданса, т.е. отключены.
С выхода ДШК 16 по 12-разрядной шине начальный адрес микропрограммы команды поступает в УМУ 17, транслируется им, эмулируется в зависимости от функции управления передачи адреса, поступающего с четвертой группы выходов РИК 20. Эмулированный адрес поступает с выхода УМУ 17 на инфор" мационные входы PAMK 18 и, как описано, в случае выборки адреса инициализации выбирается дважды в течение такта из УПМК и записывается в регистры РМК 21 и РМК 20.
Предположим, что очередная выбранная из внешнего накопителя по шине
15
30
50
55 данных 25 комаяды — команда "Деление". Иэ условия, что в регистрах
РМК 20 и PMK 21 выставлен код первой микрокоманды деления, начинается выполнение микропрограммы деления согласно алгоритму (фиг.7 и 8) .
Выполнение оператора 1 заключается в действиях по выборке информации делимого и делителя из внутренних регистров POH АЛУ или внешней памяти.
Местоположение (исходное) операндов и методы адресации памяти определяются системой команд. Предположим, что реализована система команд типа СМ-4. В этом случае информация делимого располагается в двух регистрах РОН, четном и нечет20 ном, номер первого из них указан в команде. Делитель в зависимости от системы адресации, указанной в команде, выбирается пос3тедовательностью микрокоманд по сформированному адресу из внешней памяти. Предположим, что в команде используется метод адресации, когда адрес размещается в POH с номером, укаэанным в
0-2 разрядах команды (метод адресации указан в 3-5-м разрядах) . Первые
MHKpoKoMBHpbl оператора 1 выставляют значение указанного POH АЛУ 3 на выход АЛУ 3 и записывают содержимое
его в РАН 11 как адрес операнда на магистрали 26.
Выбранный иэ внешней памяти операнд (делитель) с магистрали 25 поступает в ШФИ 10 и фиксируется в буферном регистре ° ШФИ 10 осуществляет процедуру интерфейсного обмена, т.е. прием информации по сигналам сопровождения и выдачу соответствукицих кватирующих сигналов о приеме информации под управлением управляющих сигналов РМК микрокоманды 2. Третья микрокоманда оператора
1 переписывает информацию делителя из буферного регистра ШФИ 10 в рабочий POH АЛУ 3. Четвертая микрокоманда оператора 1 формирует константу о количестве циклов повторения микрокоманд цикла "Деление". . С пятой группы выходов РМК 20 по t2-разрядной шине "Адрес" поступает в УМУ 17, где информация запоминается в счетчике циклов.
Выработка следующего адреса микрокоманды при переходе от первой микрокоманды к второй и т.д. осуще1541594 !8
PAMN = 1 — адрес (номер РОН) с выхода узла 12 — нечетный (15) .
Под управлением первого поля PMK
20 АЛУ 3 выполняет действие сложения содержимого номера POH (R, },укаэанного в микрокоманде, где pasMeщено делимое (ocTBTOK) и делитель, в прямом или дополнительном кодах, размещенных ранее в четных и нечетных регистрах РОН оператором 5 или
6 (фиг.7 и 8). Узел 12, эмулируя в зависимости от значений старшего разряда РАМ АЛУ 3 (делимого/остатка) выборку четных или нечетных регистров POH АЛУ 3, производит действия оператора 12 или оператора 13, соответствующие известным операторам.
Одновременно под управлением сигналов "Знак делителя" (вход 1), старшего разряда делимогo/îñòàòêà (вход
3) в ФРЧ 24 эмулируется младший разряд функции "Сдвиг влево" КСС 9 так, чтобы выполнились действия операторов 14, 16 или 14, 17.
Алгоритм выполнения действий по формированию разряда четного соответствует описанному в табл.4 и определяется распайкой ФРЧ 24 (фиг.2), представляющего собой мультиплексор с организацией 8- 1.
Устройство 24.1 дешифрации адреса представляет собой логическую сторону ИЛИ. Эмулирование значения младшего разряда функции сдвига (4-й разряд PMK 20) производится в соответствии с табл.6 и 7 состояний входных и выходных сигналов ФРЧ 24 и ДШЧ
40 24, 2.!
Таблица 6
Выход
Управление
1 ) 0
1
О
0 0
1 0
1 О
О. О
Текущее 1 значение 1
4-го разряда 1
PMK 20 1
1
1, О
5С
55 ствляется с четвертой группы выходов РМК 20 по 4-разрядной шине. Причем каждая микрокоманда под номером
А указывает адрес выборки из УПМК
А+2-й микрокоманды.
Выполнив действия операторов 1, а затем операторов 2 и 3 (действия их рассмотрены при описании фиг.7 и 8),производится подготовка информации делителя действиями микрокоманд оператора 5 или 6. Микрокоманды оператора 5 загружают в два соседних рабочих регистра POH АЛУ (четный и нечетный) информацию делителя; четный регистр (например, номер 14)
P0H — дополнительный код, в нечетный (15) PÎH - прямой. Действия микрокоманд оператора 9 загружают информацию в указанные регистры наоборот: 20 в четный (14) - прямой, и нечетный (15) — дополнительный код делителя.
После указанных подготовительных действий производится выполнение микрокоманд 1-ro такта "Деления". 25
Рассмотрим, что представляют собой
Ф поля управления микрокоманды "Деление". В поле 5 PMK 20 применяется ! формат 3 "Сдвиг", выполняется управление функциями сдвига КСС 9, а 30 именно сдвиг влево регистров POH u
Q (код 0110) .
В четвертом поле выставляется информация, управляющая УМУ 17 так, чтобы производился декремент регистра-счетчика циклов и анализ его состояния с переходом по состоянию
Rcu = О на повторение микрокоманды деления, а по состоянию R „ = Π— на выполнение действий оператора 12.
Первым полем PMK 20 управляется
АЛУ 3 — производится операция суммирования и пересылка полученной суммы по адресу (номеру POH), указанному в первом поле узла 13, где содержится делимое, а в последующем — остаток. В первом поле узла 12 указывается адрес (номер POH),информация в котором есть делитель с указанием о его расположении в нечетном POH (в нашем примере 15).
Узел 12 эмулирует с помощью дешифратора адреса ДША 3, исходное единичное значение нулевого разряда номера POH под управлением старшего разряда регистра сдвигателя РАМЫ АЛУ 3.
При PAMN 0 — адрес (номер POH) с выхода узла 12 — четный (14). При
Вход 3 Вход 2 Вход 1
Примечание.Вход1
s нач ение з нако во го разряда делителя;
1541594
Та блица 7
Выход
Входы управления
i1 10 9
0
D1
D2
D3
D4
D5
D6
0
О
0
О
35
55 вход 2 - значение старшего разряда делимого остатка; вход 3 - значение признака "Деление"; выход — значение младшего разряда (0p) функции управления "Сдвиг" (4-й разряд
PMK 20) .
Состояние входных и выходных сигналов ДШЧ 35 (мультиплексор 8 — 1) показано в табл.7.
II р и м е ч а н и е. DO-D7 - 3 оммутируемые на выход входные сигналы;
DO-D3 — сигналы низкого уровня; Di и 92 " ; Р4 и 05 не коммутируются; D6 и D7, — текущее значение нулевого разряда функции
"Сдвиг" (4-й разряд PMK 20).
Во время выполнения цикла "Деление" производится декремент содер. жимого счетчика циклов и его анализ.
Производится передача управления на (йовтор ее выполнения при lN ц цикл (ф
1 0 и на выполнение действий оператора 12 при выходе из цикла "Деление" при ) N цикл. = О.
Необходимо дать разъяснение принципа приема и обработки сигналов прерываний УОП 2?. Узлом 22 в тече.ние выполнения текущей микропрограммы команды принимаются и запоминаются сигналы прерываний от ЦВМ. Узел 22 осуществляет обработку прерываний согласно присваиваемому Йм приоритету. Наивысший из принятых сигналов прерываний преобразуется в 3разрядный вектор, поступающий с первой группы выходов УОП 22 на информационные входы ДШП 15. Выборка по адресу вектора разрешается после выполнения микропрограммы команды в момент загрузки начального адре10
30 са, следующей рз ДШК 16, С второи группы выходов PMK 20 поступает управление выбора и загрузки адреса и микрокоманды иэ трех возможных источников; с пятой группы выходов
РМК 20, с выходом ДШП 15 и ДШК 16.
Состояния выходов этих источников в любой момент времени таковы, что активным может быть только один, а остальные должны находиться в состоянии высокого импеданса (отключены), возможно отключение и всех трех источников. Если с второй группы выходов УОП 22 вырабатывается по
3-разрядной шине сигнал "ПРЕР", свидетельствующий о наличии требования хоть одного прерывания, происходит определенная коммутация выходов тристабильных источников адреса микрокоманды ДШП 15, ДШК 16, PMK 20, а именно активным становится выход ДШП 15.
Результатом является то, что вместо загрузки начального адреса следующей команды из ДШК 16 происходит загрузка начального адреса микропрограммы обработки прерываний сигнала прерывания высшего приоритета из принятых.
Концом выполнения микропрограммы обработки прерывания является вновь микрокоманда загрузки начального адреса микрокоманды из ДШК 16. Если прерывания отсутствуют, то происходит переход на выполнение следующей команды, поступающей из регистра команд. 14.
Формула изобретения
Арифметическое устройство с микропрограммным управлением, содержащее арифметико-логический блок,содержащий И вычислительных ячеек, узел ускоренного переноса, шинный формирователь, контроллер состояний, регистр адреса памяти, два узла выборки операндов, каждый из которых содержит мультиплексор адреса и регистр адреса, и блок микропрограммного управления, содержащий регистр команд, дешифратор прерываний и дешифратор команд, узел микропрограммного управления, узел памяти микрокоманд, первый регистр микрокоманд и узел обработки прерываний, причем шина данных устройства соеди21
1,541594 22
25
55 иена с информационным входом регистра команд и первым информационным входом шинного формирователя, информационные выходы которого соединены с информационными входами N вычислительных ячеек, информационные выходы которых соединены с информационными входами регистра адреса памяти, выходы которого являются шиной адреса устройства, первый и второй выходы двунаправленной цепи сдвига
i-й вычислительной ячейки (где
1,2,.. °,N-1) соединены с первым и вторым двунаправленными входами сдвига (i+1)-й вычислительной ячейки соответственно, первый и второй двунаправленные входы сдвига первой