Арифметическое устройство с микропрограммным управлением

Иллюстрации

Показать все

Реферат

 

Изобретение относится к вычислительной технике и может быть использовано при проектировании арифметических устройств вычислительных машин. Цель изобретения - повышение быстродействия операции умножения при одновременном сокращении оборудования. Устройство содержит арифметический блок, выполненный из N вычислительных ячеек и узла ускоренного переноса, шинный формирователь интерфейса, контроллер состояний, регистр адреса памяти, два узла выбора операндов, каждый из которых содержит соединенные мультиплексор адреса и буферный регистр, и блок микропрограммного управления, состоящий из регистра команд, дешифратора команд, дешифратора прерываний, узла микропрограммного управления, узла памяти микрокоманд, первого регистра микрокоманд и блока обработки прерываний, а также источник постоянного тока, шину данных, шину адреса, вход тактовых прямых сигналов и связи между указанными блоками согласно чертежам. Новым является введение регистра формирования адреса, второго регистра микрокоманд, дешифратора битовых управляющих сигналов, в первый узел выборки операндов введен дешифратор адреса, включенный между выходом мультиплексора адреса и вторым входом буферного регистра адреса, а также введены входы "Установка" и тактовых инверсных сигналов и связи между введенными и известными блоками устройства согласно чертежам. 7 ил. 2 табл.

СОЮЗ СОВЕТСНИХ

СОЦИАЛИСТИЧЕСНИХ

РЕСПУБЛИН (19) (11) щ G 06 F ?/38

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

ГОСУДАРСТВЕННЫЙ КОМИТЕТ

llO ИЗОБРЕТЕНИЯМ И ОТНРЫТИЯМ

ПРИ ГННТ СССР (21) 4457327/24-24 (22) 08.07.88 (46) 23,04.90. Бюл. 4" 15 (71) Ленинградское научно-производственное объединение "Электроавтоматика" (72) В,А. Коротков, P À.Øåê-Иовсепянц, Л.П, Горохов, IO.В. Малахов и Е.В. Смирнов (53) 68t 325(088,8) (56) Самофалов К.Г. Электроника цифровых вычислительных машин. Киев: Вища школа, 1976, с. 298-308.

Дж. Мик, Пж. Брик. Проектирование микропроцессорных устройств с разрядномодульной организацией. М.: Мир, 1984, с. 152-t62, рис. 323. (54) АРИФМЕТИ4ЕСКОЕ УСТРОЙСТВО С МИКРОПРОГРАММНЫМ УПРАВЛЕНИЕМ (57) Изобретение относится к вычислительной технике и может быть использовано при проектировании арифметических устройств вычислительных машин.

Цель изобретения - повышение быстродействия операции умножения при одновременном сокращении оборудования.

Устройство содержит арифметический блок, выполненный из N вычислительных

Изобретение относится к области вычислительной техники и может быть использовано при проектировании арифметических устройств вычислительных машин.

Целью изобретения является повышение быстродействия операции умноже2 ячеек и узла ускоренного переноса, шинный формирователь интерфейса, контроллер состояний, регистр адреса памяти,. два узла выбора операндов, каждый из которых содержит соединенные мультиплексор адреса и буферный регистр, и блок микропрограммного управления, состоящий из регистра команд, дешифратора команд, дешифратора прерываний, узла микропрограммного управления, узла памяти микрокоманд, первого ре" гистра микрокоманд и блока обработки прерываний,а также источник постоянного тока, шину данных, шину адреса, вход тактовых прямых сигналов и связи между указанными блоками согласно чер» тежам. Новым является введение регист- ® ра формирования адреса, второго регистра микрокоманд, дешифратора битовых управпяющих сигналов, в первый С, узел выборки операндов введен дешифратор адреса, включенный между выходом мултиплексора адреса и вторым входом буферного регистра адреса, а также введены входы "Установка" и тактовых инверсных сигналов и связи между введенными и известными блоками устройства согласно чертежам. 7 ил.

2 табл. ния при одновременном сокращении оборудования °

На фиг. 1 и 2 представлено арифметическое устройство с микропрограммным управлением; на фиг. 3 - схема первого узла выбора операндов; на

@иr. 4 - формат микрокоманды; на

1559340 фиг. 5 - структурная схема организации микрокомандного управления; на фиг.6временная диаграмма организации микропрограммного управления; на фиг. 7алгоритм умножения, Устройство содержит арифметико-логический блок 1, выполняющий арифметические и логические операции над операндами, блок 2 микропрограммного 1О управления) управляющий работой блока 1.

Блок 1 содержит арифметико-логический узел 3 (АЛУ), состоящий из вычислительных ячеек 4 - 7 (больших 15 интегральных схем, например, БИС 1804

BC1), узел 8 ускоренного переноса (БИС 1804 BP1), контроллер 9 состояний, шинный формирователь !О, регистр

11 адреса памяти, первый узел 12 выбо 20 ра операндов, второй узел 13 выбора операндов.

Блок 2 микропрограммного управления содержит Регистр 14 команд, дешифратор 15 прерываний (БИС 550РТ7 25 (2Кх8), дешифратор 16 команд, узел

l7 микропрограммного управления (БИС

1804ВУ4), регистр 18 формирования адреса, узел 19 памяти микрокоманд (четыре восьмиразрядные секции БИС 30

556РТ16 (8Кх8), первый регистр 20 микрокоманд, второй регистр 21 микрокоманд, узел 22 обработки прерываний (БИС 585ИК14), дешифратор 23 битовых управляющих сигналов, шину 24 данных, З шину 25 адреса, источник 26 постоянного тока, вход 27 тактовых прямых сигналов, вход 28 тактовых инверсных сигналов, вход 29 "Установка".

Схема узла выбора операндов (фиг.3)40 содержит мультиплексор 30 адреса, дешифратор 31 адреса и буферный регистр 32.

Прием информации в регистрах 20 и

21 осуществляется синхронно тактам 45 (Т) и (Т) .

Для синхронизации временных процессов информации об адресе микрокоманды на регистре 32 должна быть синхронна с работой узла 3 ° С этой целью при.sp .ем адреса по третьему входу регистра

32 стробирован синхроимпульсом Т, стробирующим и работу узла 3, Дешифратор 31 нулевого разряда адреса узла 22 эмулирует нулевой разряд адреса с1 в зависимости от входных сигналов С1, С2, С3 по формулв д g) + С2) СЗ) где Cl ) С2, С3 " входы дешифратора 31;

d - выход дешифратора 31.

В табл. 1 представлена истинность состояний входных и выходных сигналов дешифратора 31.

Табли ца 1

С1 С2 С3

X Х

0 X 1 ! 0 1

1 . 1 1

1

О

Табли ца 2

Вход 4 узла 12 (младший разРЯД) Эмулируемое нечетное значение адреса регистра общего назначения

Четное (14)

Иечетное (15) П р и м е ч а н и е. За нечетный адрес выбран 15, за четный — 14.

Слово микрокоманды содержится в регистрах 20 и 21 (0-31 и 32-63 разряды микрокоманды соответственно) ° .

Разряды в регистрах объединяются в поля управления устройства (всего

9 полей) .

Количество полей микрокоманды (0-63) соответствует разрядности выходов блоков регистров 20 и 21.

Поля управления регистра 20 (0-31 разряды микрокоманды): первое поле управления (23-31 разряды) - управление функциями узла 3; второе поле управления (20-22 разряды) - управление загрузкой начальных адресов микропрограмм команд (дешифратор 16), векторов микропрограмм обработки прерываний (дешифратор 15), Х соответствует любому значению (О или 1) .

В каждой ми крокома нде "Умножение" (фиг. 7) под управлением значения младшего разряда регистра-сдвигателя

0, содержащего значение множителя,, эмулируется нечетное (исходное) значение адреса регистра общего назначения в четное согласно табл. 2.

1559340

5 обратных адресов микрокоманд (регистр 20); третье поле управления (12-15 разряды) - управление приемом данных формирователя 10 данных с шины 24 данных, 5 четвертое поле управления (16-19 разряды) - управление функциями формирования адреса микрокоманды узла 17; пятое поле управления участвует в формировании микрокоманды 3-х параллельных форматов: первый формат (0-11 разряды) "Адрес" - формирование константы адреса узла 17;

15 второй формат (0-8 разряды) "Кон- станта" - формирование константы, как операнда АЛУ 3 третий формат (0-4 разряды)

"Сдвиг" - формирование функций сдви- 20 гов контроллера 9.

Использование многоформатности микрокоманды (употребление отдельных разрядов и полей слова микрокоманды для формирования функций управления раз- 25 личных устройств) позволяет сократить необходимую длину слова микрокоманды.

Например, в рассматриваемой структуре блока 2 необходимая длина слова микрокоманды сокращается на 15 разрядов.

Поля управления регистра 21 микрокоманд: первое поле управления - управле35 ние операндами портов А и В узла 3 (48 - 59 разряды) разделяется на управление узла 12 (48-53 разряды) и на управление узла 13 (54-59 разряды);

50 53 и 56-59 разряды первого поля участвуют в выборе номера регистра через порты А и В узла 3 и 48, 49 и 54, 55 разряды в выборе источника операнда в АЛУ 3; второе поле управления - управле- 45 ние дешифратора 23 (60"63 разряды), служащее для формирования шестнадцати битов признаков управления микрокоманды; третье поле управления - управление записью признаков состояния и формирования флага контроллера 9 (3244 разряды); четвертое поле управления - формирование признаков интерфейса, служащих сигналами сопровождения информации интерфейса и управления работой формирователя 10 и регистра .11 (4547 разряды) .

В структурной схеме организации микропрограммного управления (фиг. 5$ показаны взаимосвязи основных потоков информации блоков l и 2 между узлами 17 - 21, 12, 13, 3 и 9.

С выхода узла 17 по 12»разрядной шине адрес микрокоманды поступает на первую группу входов регистра 18. Код адреса микрокоманды фиксируется передним фронтом строба Т по синхровхо" ду регистра 18.

Временный строб Т - сигнал с периодом 0,5,мкс, скважностью 2. Времен" ной, сигнал Т - инверсный сигнал Т.

С выхода регистра 18 двенадцать старших разрядов адреса с микрокоманды поступают на вход узла 19. Туда же подсоединен сигнал Т, являющийся в этом случае нулевым- (младшим) разрядом адреса.

Поэтому за период прохождения сигнала Т дважды будет выбираться иэ узла 19 информация по 32-разрядной шине по нечетному, а затем по четному адресу. Считанная информация из узла

19 записывается на первые группы входов регистров 20 и 21 в момент переднего фронта сигналов Т и Т, поступающих на первые входы регистров.

Сигналы управления работой узла 3 с первой группы выходов регистра 20. поступают на входы секций 4 - 7,узла 3.

Информация с первой группы выходов регистра 21 о выборе источников операндов, сдвинутая на полтакта вперед относительно такта работы узла 3, поступает на входы узлов 12 и 13 и синхронизируется стробом Т.

С выбранными узлами 12 и 13 по соответствующим входам ячеек 4 - 7 операндом производятся арифметические или логические операции в АЛУ 3.

Результатом операций является выборка признаков состояния с выходов ячейки 4, поступающих на соответствующие входы контроллера 9 для хранения и модификации.

Результатом после обработки сигналов состояния на 13-разрядной шине, поступающих на вход контроллера 9, является выработка сигнал F, поступающего в узел 17 °

При выработке сигнала F с выхода контроллера 9 информация по 12-разрядной шине с выходов регистра 20 проходит по входам узла 17 как информация следующего адреса MK.

1559340

В случае отсутствия сигнал F от контроллера 12-разрядный адрес из узла 17 формируется в зависимости от кодовой комбинации на 4-разрядной ши5 не входов узла 7.

Рассмотрим сущность взаимодействия блоков 1 и 2 совместно1

Начало работы инициируется сигналом "установка", поступающим на вто- !О рой вход регистра 20, по которому

"Адрес микрокоманды" с пятого выхода регистра 20 записывается синхронно с сигналом Т за два такта через узел

17 в регистр 18. Это и является ис- !5 ходным состоянием для начала работы устройства.

Адрес микрокоманды на входе узла

19 последовательно за период сигнал

Т формируется дважды: в полупериод нечетный и полупериод четный, отличающиеся между собой на единицу младшего разряда.

Информация, выбранная по нечетному 25 адресу, записывается в регистр 21 по сигналу Т, а по четному - в регистр

20 по сигналу Т.

Информация, хранящаяся в регистре

20, управляет работой узла 3 ° 30

Номер регистра общего назначения (РОН) узла 3 вырабатывается узлами

12 и 13 синхронно сигналу Т.

Пунктирами на фиг. 5 показано прохождение информа ции одновременно для трех последовательных значений следующего адреса микрокоманд (А, А - 1, А+ 2).

В момент интервала времени х происходят следующие действия:

40 под управлением регистров 20 и 21 выполняются арифметические или логические операции в узле 3, формируются признаки слова состояния процесса и записываются по концу интервала вре-4 мени в контроллер 9; под управлением регистра 18 и признака Т дважды выбирается (нечетный, затем четный адрес МК А - t) информация из узла 19 и по окончании интервала времени х записывается, соответственно в регистр 21 (нечетный адрес) и регистр 20 (четный адрес); под управлением 4-разрядной шины с группой выходов регистра 20 в узле 17 формируется следующий адрес выборки микрокоманды А - 2 и по окончании интервала времени х записывается в регистр 18.

Динами ку формирования следующего адреса микрокоманды, работу узлов 3 и

9 поясняет временная диаграмма, представленная на фиг. 6, на которой по вертикали обозначены сверху вниз но-. мера циклограмм, по горизонтали - длительности и виды циклограмм с выделением интервала времени х.

На циклограммах 1 и 2 показана последовательность синхроимпульсов Т и

Т, синхронизирующих работу устройства.

На циклограммах 1 - t0 рассмотрена работа последовательности микрокоманд от А-1 .до А+5.

Предположим, что момент времени х соответствует выполнению микрокоманды

А по циклограмме 5 в узле 3.

Тогда в регистре 20 (циклограммы 3 и 4) существует информация, управляющая работой А-й микрокоманды, а в регистре 2l в течение первого полупериода существует информация для А-й микрокоманды, а в течение второй половины периода - для А+1 микрокоман1 ды.

В то же время под управлением регистра 18, содержащего информацию о номере микрокоманды А+! (циклограмма

9), выбирается из узла 19 (циклограмма 7) нечетный, а затем четный адрес

А + 1 микрокоманды, из узла 19 по нечетному адресу записывается в регистр

2! (циклограмма 4) и по четному адресу в регистр 20 (циклограмма 3) .

Номер регистра общего назначения узла 3, содержащий операнд, необходимый для выполнения операции, хранится в узле 12 или 13 синхронно с работой узла 3 (циклогрэмма 10).

Из временной диаграммы (фиг. 6) и структурной схемы организации управления (фиг. 5) видно, что в предложенной схеме реализован конвейер на

2-е выработки следующего адреса микрокоманды, т .е., когда выполняются действия под управлением микрокоманды А, в узле 3 под управлением регистра 18 выбирается из узла 19 инфомрация А+1 микрокоманды, а в узле 17 вырабатывается адрес A + 2 микрокоманды. совмещение процесса выработки следующего адреса для микрокоманд А, А + 1, А + 2 создает возможность значительного сокращения времени его выполнения;

Оператор 1 подготавливает операнды умножения, т.е. размещает множимое и множитель в устройствах 3. Множитель

1559340

10 засылается в -регистр-сдвигатель, множимое -- в регистр общего назначения по нечетному адресу (например, 15), в регистре общего назначения, отличающемся по адресу на единицу младшего разряда (в нашем примере с адресом

14), размещается перед процедурой умножения информация с кодом 0...0, а в дальнейшем - сумма частичных произве- 10 дений.

Оператор 2 загружает в счетчик циклов, размещенный в узел 17, информацию, равную количеству циклов умножения (при 16- разрядном множителе 16)., При выполнении цикла умножения оператор 3 вычитает единицу из содержимого счетчика циклов в узле 17 и передает управление: на оператор 4 в случае информации 20 в счетчике циклов, не равной нулю; на оператор 7 в случае информации в счетчике циклов, равной нулю, т.е. по окончании цикла умножения.

Оператор 4 анализирует в каждом 25 цикле значение младшего разряда ре..гистра-сдвигателя Q узла 3, передает управление на оператор 5 е случае

4 = О, на оператор 6 в случае С! =1.

Оператор 5 выполняет суммирование gp регистра общего назначения накопителя суммы частичных произведений с регистром 14 общего назначения, содержащим информацию, равную нулю, и перепись полученной суммы частичных произведе- 35 ний в регистр 9 общего назначения.

Этот же оператор сдвигает содержимое . регистров 9 и общего назначения (суммы частичных произведений и множителя на разряд вправо), причем млад-40 шие разряды содержимого регистра 9 общего назначения ("хвост") перетекают в старшие разряды регистра Q, Иладший разряд регистра 0 выталкивается из регистра и пропадает. 45

Оператор 6 выполняет суммирование регистра общего назначения 9 (накопителя суммы частичных произведений) с регистром 15 общего назначения, содержащим множимое, и перепись получен-M ной суммы частичных произведений в регистр 9 общего назначения. Оба оператора осуществляют. безусловную передачу управления оператору 3. Цикл повторяется. 55

По окончании цикла оператор 7 осуществляет формирование признаков сло,ва состояния по результату умножения и производит выборку следующей коман-.. ды.

Выполнение операторов 3 - 5 ветви

A и 3, 4 и 6 ветви В совмещается в одной микрокоманде (! микротакт). При длительности микротакта 250 нс время выполнения цикла умножения составит

250 нс °

При умножении двух 16-разрядных чисел-Тц = 250 нс х 16 = 4000 нс.

Выполнение всех операторов цикла умножения одной микрокомандой осуществляется с помощью узла 12 (фиг. 3).

Е микрокоманде цикла "Умножение" выполняются одновременно следующие действия: декремент содержимого счетчика циклов узла 17; суммирование содержимых регистров общего назначения с нечетным номером, например 15, где предварительно зафиксировано значение множимого, и с любым номером в диапазоне 0-13, в котором накапливается значение суммы частичных произведений, например 9; посылка результата суммирования в выбранный в диапазоне 0-13 регистра общего назначения, например 9; эмуляция нулевого разряда адреса под управлением сигналов С1, С2 (при

С2 = О, d = О, т.е. адрес иэ исходного нечетного становится четным при значении младшего разряда множителя (С2) равным нулю и, наоборот, при

С2 = 1, d = 1, т.е. при значении младшего разряда множителя (С2) равным единице остается нечетным; сдвиг на один разряд вправо регистра-сдвигателя Q узла 3, содержащего значение множителя и регистра 9 общего назначения частичных произведений (младший разряд множителя в каждый такт присутствует на входе узла 12 ка к упра влякщий сигнал С2); анализ содержимого счетчика циклов узла 17 и формирование адреса передачи управления (при (/К / ) Ф О передается управление на повторение микрокоманды "Умножение", при /Rce el 0 на выполнение микрокоманд оператора (фиг. 6); Причем в регистр 14 общего назначения засылается предварительно информация 0...0.

Основные действия в операции умно жения выполняются в блоке 1 между секциями 4 - 7 и контроллера 9 как сдвиговые операции над регистрами множите1559340

12 ля. и регистром частичных произведений, являющиеся сдвиговыми регистрами ч и В узла 3.

Работа по выполнению арифметичес5 ких и логических операций над операндами в узле 3 производится под управлением полей микрокоманды с первых групп выходов регистра 21 (12-разрядная шина) и регистра 20 (9-разрядная шина), Под управлением сигналов на группе выходов регистра 21 производится выбор узлов 12 и 13 источников адресов операндов внутреннего оперативного запоминающего устройства узла 3 (источник 1-й - регистр 14 источник

2-и - регистр 21) .

С выходов регистра 20 производится управление арифметическими или логи- 20 ческими операциями в узле 3 над операндами.

Операнды могут быть использованы в зависимости от значений функций управления узла 3, поступающих с 9-раз- 25 рядной шины и -разрядной шины регист. ра 20, из внутреннего оперативного запоминающего устройства узла 3 или с шины 24 данных через формирователь

1О на D-входы узла ЗО

По результатам выполнения операций над операндами в АЛУ .3 вырабатываются признаки (Z,C,Ч,N-входы контроллера 9) слова состояния узлов.

По сигналам управления с 13-разряд- 5 ной шины выходов регистра 21 в контроллер 9 запоминаются и обрабатываются признаки слова состояния и в зависимости от их комбинаций вырабатывается сигнал F для организации процес- 40 са ветвлений микропрограммы. Процесс . обмена информацией с внешними устрой- ствами производится по интерфейсным шинам адреса 25 и данных 24.

При необходимости перехода обмен 45 информацией с внешними носителями информации по интерфейсу типа "Узкая шина" шины "Адрес" и "Данные" обьединяются, С первых выходов регистра 11 в ши- 50 ну 25 адреса поступает 1б-разрядный код адреса и признаки для его сопровождения, Результат операций над операндами с первых выходов ячеек 4 - 7 поступаед

55 на входы формирователя 10 для запоми» нания в буферном регистре и трансляции через выходы формирователя 10 на

D-входы ячеек 4 - 7 в качестве опе= ранда следующей операции или через входы - выходы формирователя 10 на шину 24 данных для запоминания во внешних носителях информации.

В случае запоминания результата вычислений во внешнем ОЗУ микрокоманды генерируют адрес ячейки внешнего

ОЗУ с первых выходов регистра 11 на шину 2, обеспечивают работу интерфейса по приему. адреса с регистра 11 и данных с формирователя 10 по шине

24 во внешние ОЗУ.

За счет свертки временных процессов, происходящих в блоке 2 во время выборки адреса следующей микрокоманды, достигается при сокращении оборудования блока 2 более короткий такт обработки информации (250 нс).

Рассмотрим работу АУ, начиная с мо. мента включения, т.е. инициализации начального адреса микропрограммы включения, Сигнал " Установка" по шине 29, сигнализирующий об отсутствии вторичных напряжений питания или наличии переходных процессов при их установлении, поступает на второй вход регистра 20.

В регистре 20 под управлением сигнала "Установка" полем 4 (фиг. 4) вырабатывается функция управления узла

17 для выработки адреса 0...0, поступающего с группы выходов по 4-разрядной шине на группу входов узла 17.

Узел 17 вырабатывает 12-разрядный адрес (0...0) и выставляет его на выходе.

Регистр 18. по синхросигналу Т за- . писывает указанный 0...0,(четный) адрес и начинается выборка содержимого нулевой ячейки узла 19 (старшие разряды, 32-63) с записью информации по синхросигналу Т в регистр 21.

Синхроимпульс Т подключает младший разряд адреса на входе узла 19.

Адрес 00...01 (нечетный) выбирает из узла 19 содержимое первой ячейки и записывает по синхросигналу Т в регистр 20 (младшие разряды 0-31). Так заканчивается процесс инициализации ,начального адреса микропрограммы нИнициализация", в процессе выполнения которой загружаются, устанавливаются значения различных счетчиков и узлов блоков 1 и 2 в исходное состояние.

Программа инициализации заканчивается загрузкой в регистр 4 первой команды

1559340

14 по сигналу иэ дешифратора 23, поступившей из запоминающего устройства.

Разряды команды с второй группы выхо дов по 16-разрядной шине поступают на. дешифрацию в дешифратор 16. Данные

5 на второй группе входов дешифратора управляют выходами дешифратора, пере ключая выходы иэ состояния высокого импеданса в активный режим. В то же время сигналы на выходе дешифратора

15.и на пятой группе выходов регистра 20 (обратный адрес) находятся в состоянии высокого импеданса, т.е. отключены. 15

С выхода дешифратора 16 по 12-разрядной шине начальный адрес микропрограммы команды поступает в узел 17, транслируется им, эмулируется в зависимости от функции управления переда- 20 чи адреса, поступающего с четвертой группы выходов регистра 20. Эмулированный адрес поступает с выхода узла

17 на группу входов регистра 18 и в случае выборки адреса инициализации 25 выбирается дважды в течение такта из узла памяти микрокоманд и записывается в регистры 21 и 20.

Предположим, что очередная выбранная из внешнего накопителя по шине Э0

24 данных команда - команда "Умножение". Из условия,что в регистрах 20 и 21 выставлен код первой микрокоман-ды умножения, начинается .выполнение микропрограммы умножения согласно,ал- З5 горитму (фиг. 7).

Выполнение оператора 1 заключается в действиях по выборке информации множителя и множимого из регистров общего назначения или ячеек внешней 40 памяти. Местоположение исходное операндов и методы адресации памяти определяются системой команд. Предположим, что реализованная система команд типа

СМ-4. В этом случае содержимое номера регистра общего назначения, указанного в 6-8 разрядах слова команды, есть множитель. Первая микрокоманда выбирает содержимое регистра общего назначения (множитель) и переписывает его внутри узла 3 в регистр (.

Множимое, в зависимости от системы адресации, укаэанной в 0-5 разрядах команды, выбирается по сформированному адресу из внешней памяти.

Предположим, что используется метод адресации, когда .адрес размещается в регистре общего назначения с номером, указанным в 0 - 2 разрядах ко-. манды. Третья микрокоманда выставляет содержимое указанного регистра общего назначения из узла 3 с выхода на вход регистра 11, фиксируется в нем и выставляется. как адрес операнда на магистраль 25. Выбранный из внешней памяти. операнда (множимое) с магистрали

24 поступает в формирователь 10 и с него на D»»âõoä ячеек 4-7.

Ыинный формирователь 10 осуществляет процедуру интерфейсного обмена, т.е. прием информации по сигналам сопровождения и выдачу соответствующих квитирующих сигналов о приеме информации внешней памяти. Следующая (четвертая) микрокоманда записывает информацию (множимое) в пятнадцатый регистр общего назначения (в .нашем примере) узла 3. Двумя последующими микрокомандами производится посылка константы с пятой группы выходов по

9-разрядной шине (в нашем случае

0...0). Через формирователь 10 в регистр 14 общего назначения (в нашем примере) и регистр 9 общего назначе. ния. С помощью формирователя 10 можно путем размножения старшего разряда (девятого) константы и обмена байт между собой скомбинировать любую константу во всем диапазоне 16-разрядного числа.

Выполнив действия оператора 1, выполняем оператор 2 по алгоритму умножения фиг. 7. Следующая микрокоманда осуществляет посылку информации по

12-разрядной шине с группы выходов регистра 20 константы "Адрес" в узле

17, где информация запоминается в специальном счетчике циклов.

Выработка следующего адреса микрокоманды при переходе от первой микрокоманды ко второй и т.д. осуществляется с выходов регистра 20 по 4-разрядной шине. Причем каждая микрокоманда под номером N указывает адрес вы борки из ЗУМК N+2 микрокоманды.

Выполнив действия операторов 1 и

2 (фиг. 7), выполняем операторы 3 - 5 цикла умножения. Эти операторы выполняются во время выполнения одной микрокоманды "Умножение". Для пояснения рассмотрим все поля микрокоманды "Умножения" (фиг. 4). В поле 5 регистра

20 применяется формат 3 "Сдвиг", выполняется управление функциями сдвига контроллера 9: сдвиг вправо регистров 9 и Ц общего назначения.

155934о

В поле 4 выставляется информация, управляющая узлом 17 таким образом, чтобы производился декреметр регистра-счетчика циклов и анализ его coc5 тояния с переходом по состоянию (R „) 0 0 на повторение микрокоманды умножения, а по состоянию (!R, / )

= 0 - на выполнение дейс твий операто.

17.

1О, Первым полем регистра 20 управляется узел 3 - производятся операция суммирования и пересылка полученндй суммы частичных произведений по адресу, указанному в первом поле узла 13. В первом поле узла 12 указывается ад рес (номер POH), информация в кото" ром - множимое (адрес в нашем приме-: ре 15) . Разряды нерассмотренных полей микрокоманды устанавливаются таким об.20 разом, чтобы действия управляемыми ими устройств не создавали взаимных помех ,(блокировались).

Узел 12 эмулирует с помощью дешиф ратора 31 нулевой разряд адреса ре- .25 гистра общего назначения под управлением младшего разряда регистра-сдвигателя g.

При Ц, = 0 адрес с выхода узла 12 четный (14). При Ц = 1 адрес с выхо- gp да узла I2 нечетный (l5).

В регистре 15 общего назначения содержится информация - множимое.

В регистре 14 общего назначения содержится информация 0...0.

Поэтому выполняются действия операторов 4,5 или 4,6, а именно:

РОН + РОНО - РОН9 при 0 = 1;

P0H + РОН вЂ” РОН при 0 = О, <5 и последующий сдвиг вправо на один: 40 разряд содержимого регистров-РОН и

В качестве управления на вх. 4 уз ла 12 поступит следующий разряд мно- жителя и все действия повторятся столько Раз, сколько Разрядов во мно- 45 жителе.

По окончании цикла умножения пос" ледовательностью микрокоманд выполняются действия оператора 7, формирующего по результатам умножения призна ки слова состояния контроллера 9 (1-2 микрокоманды).

Далее производится формирование адреса выборки следующей микрокоманды в регистр ll, т,е. информация одного из регистров общего назначения узла

3 (счетчик команд) с информационных выходов узла 3, поступает в регистр

11. Считанная из внешней памяти ин- формация (команда) записывается в Регистр 14 и начинает выполняться сле" дующая команда.

Необходимо дать раэьяснения принципа приема и обработки сигналов прерываний узла 22. Узел 22 в течение . выполнения текущей микропрограммы команды принимает, запоминает сигналы прерываний от ЦВМ и осуществляет об- работку прерываний согласно присваиваемым им приоритетам. Наивысший из принятых сигнал прерываний преобраэу ется в 3-.разрядный вектор, поступаю= щий на входы дешифратора 15. Выборка по адресу вектора разрешается после выполнения микропрограммы команды в момент загрузки начальнога,адреса следующей из дешифратора 16. С выходов регистра 20 поступает управление выбора и загрузки адреса и микрокоманды из трех возможных источников: с выходов узлов 20, 15 и 16.

Состояние выходов этих истдчников в любой момент времени таково, что активным может быть только один, а

-остальные должны находиться в состоя» нии высокого импеданса (отключены), возможно отключение и всех трех источ. ников.

Если с выходов узла 22 вырабатывается по 3-разрядной шине сигнал

"Прер-.", свидетельствующий о наличии требования хоть одного прерывания, происходит определенная коммутация выходов тристабильных источников адреса микрокоманды узлов 15, 16 и 20, а именно активным становится выход дешифратора 15.

Результатом является то, что вместо загрузки. начального адреса следующей команды из дешифратора 16 происходит загрузка начального адреса микропрограммы обработки прерываний сигнала прерывания высшего приоритета из принятых.

Концом выполнения микропрограммы обработки прерывания является вновь микрокоманда загрузки начального адреса микрокоманды из дешифратора 16. Ес- ли прерывания отсутствуют,то происходит переход на выполнение следующей команды, поступающей из регистра 14 команд.

Формула изобретения

Арифметическое устройство с микропрограммным управлением, содержащее

15593 арифметико-логический блок, в состав которого входит N вычислительных ячеек,; узел ускоренного переноса, шинный формирователь, контроллер состо- .

5 янии, регистр адреса памяти, два узла выбора операндов, каждый из которых содержит мультиплексор адреса и буферный регистр, и блок микропрограммного управления, содержащий регистр команд, дешифратор команд, дешифратор прерываний, узел микропрограммного управления, узел памяти микрокоманд, первый регистр микрокоманд и узел обработки прерываний, причем шина дан-. ных соединена с первой группой входов шинного формирователя и информационными входами регистра команд, выходы разрядов первой группы регистра ко,манд соединены с управляющими входами о ,мультиплексора адреса первого уз .ла выбора операндов, выходы разрядов второй группы регистра команд соединены с управляющими входами мультиплексора адреса второго узла выбора операндов, выходы разрядов третьей группы соединены с информационными входами дешифратора команд, выходы дешифратора команд и дешифратора прерываний соединены с первой и второй группами адресных входов узла микропрограммного управления, выход сигнала вектора прерываний узла обработки прерываний соединен с информационным входом дешифратора прерываний, выход шинного формирователя соединен с информационными входами N вычислительных ячеек, группа информационных выходов которых соединена с информационными входами регистра адреса памяти, выходы которого являются шиной адреса устройства, первый, второй и третий выходы признака состояний первой вычислительной ячейки соединены с входами знака переполнения и переноса соответственно контроллера состояний, первый и второй выходы двунаправленной цепи сдвига i-й (где i = 1,2,..., N-1) вычислительной ячейки соединены . с одноименными Ьходами (i+1)-й вычислительной ячейки, первый и второй выходы распространения сдвига контроллера состояний соединены с первым и вторым входами двунаправленной цепи сдвига соответственно первой вычислительной ячейки, третий и четвертый выходы распространения сдвига контроллера состояний соединены с первым и вторым выходами двунаправленной цепи

40 18 сдвига N-и вычислительной ячейки, выходы распространения и разрешения переноса (i+1) -й вычислительной ячей" ки соединены с входами-выходами узла ускоренного переноса и с входами последовательного переноса i-й вычислительной ячейки, выход условия перехода контроллера состояний соединен с входом разрешения выборки адреса узла микропрограммного управления, выход переноса контроллера состояний соединен с входами последовательного переноса N-й вычислительной ячейки и узла ускоренного переноса, прямой тактовый вход устройства соединен с синхровходами контроллера состояний, узла микропрограммного управления, регистров адреса первого и второго узлов выбора операндов, выходы которых соединены с первым и вторым входами адреса соответственно всех вычислительных ячеек, о т л и ч а ю щ е е-с я тем, что, с целью повышения быстродействия операции умножения при одновременном сокращении оборудования, в блок микропрограммного управления введены регистр формирования адреса, второй регистр микрокоманд, дешифратор битовых управляющих сигналов, в первый узел выбора операндов введен дешифратор адреса, выход которого соединен с входом разрешения записи буферного регистра первого узла выбора операндов, нулевой разряд выхода мультиплексора адреса первого узла выбора операндов соединен с первым

1 входом дешифратора битовых управляющих сигналов, выходы с первого по третий разрядов мультиплексора адреса первого и второго узлов выбора операндов соединены с информационными входами соответствующего регистра адреса, выходы адреса микрокоманды узла микропрограммного управления соединены с информационными входами регистра формирования адреса, выходы которого соединены с адресными входами узла памяти микрокоманд, выходы которого соединены с информационными входами первого и второго реI гистров микрокоманд, первая группа выходов первого регистра микрокоманд соединена с входом микрокоманд сдвига контроллера состояний, вторая группа выходов первого регистра микрокоманд соединена с второй. группой входов шинного формирователя, третья группа вы1559340

20 ходов первого регистра микрокоманд соединена с третьей группой адресных входов узла микропрограммного управления, четвертая группа выходов первого регистра микрокоманд соединена с

5 входами управленйя приемом-выдачей данных шинного формирователя, пятая группа выходов первого .регистра микрокоманд соединена с входом микроко- )p манд узла микропрограммного управления, шестая группа выходов первого

I регистра микрокоманд соединена с входом узла обработки прерываний, седьмая группа выходов первого регистра микро-15 команд соединена с входами микроко-. манд всех вычислительных ячеек, первая группа выходов второго регистра микрокоманд соединена с входами микрокоманд контроллера состояний, вторая 20 группа выходов второго регистра микрокоманд соединена с управляющими входами формирования адреса регистра адреса памяти и входом управления формирования признаков сопро« вождения адреса и адреса шинного формирователя, третья и четвер"

t тая группы выходов второго регист-; ра микрокоманд соединены с информаци» : онными входами мультиплексоров адреса 30 первого и второго узлов выбора операндов соответственно, пятая группа выходов второго регистра микрокоманд .соединена с входами дешифратора битовых управляющих сигналов, первый выход которого соединен с входом разрешения записи регистра команд, Ьторой выход дешифратора битовых управляющих сигналов соединен с вторым входом дешяфра