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

Номер патента: 1559340

Авторы: Горохов, Коротков, Малахов, Смирнов, Шек-Иовсепянц

ZIP архив

Текст

(1 ф"Л а.-,)1,-,Г;6.1 Е,1 г,мя ый ь- М раено ариф кропрогр 3 - схем дов; на ОСУДАРСТВЕННЫЙ КОМИТЕТПО ИЗОБРЕТЕНИЯМ И ОТНРЫТИЯМПРИ ГННТ СССР(56) Самофалов К.Г. Электроника цифровых вычислительных машин, Киев: Вища школа, 1976, с. 298-308,Дж. Мик, Дж. Брик. Проектированиемикропроцессорных устройств с разрядномодульной организацией, М,: Мир,1984, с, 152-162, рис. 323.(57) Изобретение относится к вычислительной технике и может быть использовано при проектировании арифметических устройств вычислительных машин.Цель изобретения - повышение быстродействия операции умножения при одновременном сокращении оборудования.Устройство содержит арифметическийблок, выполненный из В вычислительных Изобретение относится к областивычислительной техники и может бытьиспользовано при проектировании арифметических устройств вычислительныхмашин. Целью изобретения является повыние быстродействия операции умноже 2ячеек и узла ускоренного переноса, шинный формирователь интерфейса, к роллер состояний, регистр адреса и ти,. два узла выбора операндов, каж из которых содержит соединенные му типлексор адреса и буферный регист и блок микропрограммного управлени состоящий из регистра команд, дешиф тора команд, дешифратора прерывани узла микропрограммного управления,а памяти микрокоманд, первого ре гистра микрокоманд и блока обработкипрерываний,а также источник постоянного тока, шину данных, шину адреса,вход тактовых прямых сигналов и связимежду указанными блоками согласно чертежам. Новым является введение регистра формирования адреса, второго регистра микрокоманд, дешифратора битовых управпяющих сигналов, в пеовыйузел выборки операндов введен дешифратор адреса, включенный между выходом мул.типлексора адреса и вторымвходом буферного регистра адреса, атакже введены входы "Установка" и тактовых инверсных сигналов и связи между введенными и известными блокамиустройства согласно чертежам. 7 ил.2 табл. временном сокращении о ния при однорудованияНа фиг. 1 и 2 представ метическое устройство с м мным управлением; на фиг. первого узла выбора опера фиг. 4 - формат микрокомаходов первого регистра микрокоманд соединена с третьей группой адресных входов узла микропрограммного управления, четвертая группа выходов первого регистра микрокоманд соединена с5 входами управления приемом-выдачей данных шинного формирователя, пятая группа выходов первого регистра микрокоманд соединена с входом микроко п манд узла микропрограммного управления, шестая группа выходов первогорегистра микрокоманд соединена с входом узла обработки прерываний, седьмая группа выходов первого регистра микрокоманд соединена с входами микроко-. манд всех вычислительных ячеек, первая группа выходов второго регистра микрокоманд соединена с входами микро" команд контроллера состояний, вторая 20 группа выходов второго регистра микрокоманд соединена с управляющими входами формирования адреса регистра адреса памяти и входом управления формирования признаков сопро вождения адреса и адреса шинного формирователя, третья и четвер" тая группы выходов второго регист-; ра микрокоманд соединены с информационными входами мультиплексоров адреса З 0 первого и второго узлов выбора операндов соответственно, пятая группа выхо"дов второго регистра микрокоманд соединена с входами дешифратора битовыхуправляющих сигналов первый выходкоторого соединен с входом разрешениязаписи регистра команд, Второй выходдешифратора битовых управляющих сигналов соединен с вторым входом дешяфратора адреса, третий вход которогосоединен с первым выходом двунаправленной цепи сдвига Я.й вычислительнойячейки, выход сигнала прерываний узла.обработки прерываний соединен с управляющими входами дешифратора прерываний, дешифратора команд и регистраиикрокоманд, установочный вход которого соединен с установочным входом устройства, прямой тактовый вход устройства соединен с синхровходами регистра формирования адреса, первого ре-гистра микрокоманд, узла памя 1 и микрокоманд и всех вычислительных ячеек,инверсный тактовый вход устройствасоединен с синхровходом второго регистра микрокоманд, вторая группавходов винного формирователя соединена с группой информационных входов регистра адреса памяти.ац ектор Гратил ак аказ 8 оиэводственно-издательский комбинат "Патент", г. Ужгород Гагарина,1 О ИИПИ Государственного ком 113035, Мосоставитель Н.Маркелоехред М, Ходвнич . Тираж 562 Подписноетета по изобретениям и открытиям при ГКНТ СССР ва, Ж, Раушская наб., д, 4/5Фиг. 5 - структурная схема организациимикрокомандного управления; на Фиг.6 временная диаграмма организации микропрограммного управления; на фиг. 7 алгоритм умножения,Устройство содержит арифметико-логический блок 1, выполняющий арифметические и логические операции надоперандами, блок 2 микропрограммного 1 Оуправления) управляющий работой блока 1,Блок 1 содержит арифметико-логический узел 3 (АЛУ), состоящий извычислительных ячеек 4 - 7 (больших 15интегральных схем, например, БИС 1804ВС 1), узел 8 ускоренного переноса(БИС 1804 ВР 1), контроллер 9 состояний, шинный формирователь 1 О, регистр11 адреса памяти, первый узел 12 выбо 20ра операндов, второй узел 13 выбораоперандов.Блок 2 микропрограммного управления содержит регистр 14 команд, дешифратор 15 прерываний (БИС 550 РТ 7 25(2 Кх 8), дешифратор 16 команд, узел17 микропрограммного управления (БИС1804 ВУ 4), регистр 18 формирования адреса, узел 19 памяти микрокоманд (четыре восьмиразрядные секции БИС ЗО556 РТ 16 (8 Кх 8), первый регистр 20 микрокоманд, второй регистр 21 микрокоманд, узел 22 обработки прерываний(БИС 585 ИК 14 дешифратор 23 битовыхуправляющих сигналов, шину 24 данных, З 5шину 25 адреса, источник 26 постоянного тока, вход 27 тактовых прямыхсигналов, вход 28 тактовых инверсныхсигналов, вход 29 "Установка".Схема узла выбора операндов (фиг 3)40содержит мультиплексор 30 адреса, дешифратор 31 адреса и буферный регистр 32.Прием информации в регистрах 20 и21 осуществляется синхронно тактам 45(Т) и ГТ) .Для синхронизации временных процессов информации об адресе микрокоманды на регистре 32 должна быть синхронна с работой узла 3С этой целью при 50ем адреса по третьему входу регистра32 стробирован синхроимпульсом Т,стробирующим и работу узла 3,Дешифратор 31 нулевого разряда адреса узла 22 эмулирует нулевой разряд адреса с 1 в зависимости от входных сигналов С 1, С 2, С 3 по Формулв д = (С 1 + С 2) СЗ)где С 1, С 2, С 3 " входы дешифратора 31;Й - выход дешифратора 31.В табл. 1 представлена истинностьсостояний входных и выходных сигналовдешифратора 31,Табли ца 1 С С 2 С 3 0 1 О 1 Х Х 0 0 Х1. 0 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) под управлением значениямладшего разряда регистра-сдвигателяО, содержащего значение множителя, .эмулируется нечетное (исходное) значение адреса регистра общего назначенияв четное согласно табл. 2, 15593 обратных адресов микрокоманд (регистр 20);третье поле управления (12-15 разряды) - управление приемом данных формирователя 10 данных с шины 24 данных, 5четвертое поле управления (16-19 разряды) - управление функциями формирования адреса микрокоманды узла 17;пятое поле управления участвует в формировании микрокоманды 3-х параллельных форматов:первый формат (0-11 разряды) "Адрес" - формирование константы адреса узла 17;15второй формат (0-8 разряды) "Кон- станта" - формирование константы, как операнда АЛУ 3;третий формат (0-4 разряды) "Сдвиг" - формирование функций сдви гов контроллера 9.Использование многоформатности микрокоманды (употребление отдельных разрядов и полей слова микрокоманды для формирования функций управления раз личных устройств) позволяет сократить необходимую длину слова микрокоманды, Например, в рассматриваемой структуре блока 2 необходимая длина слова микрокоманды сокращается на 15 разрядов. Поля управления регистра 21 микро- команд:первое поле управления - управле 35 ние операндами портов А и В узла 3 (48 - 59 разряды) разделяется на управление узла 12 (48-53 разряды) и на управление узла 13 (54-59 разряды);50-53 и 56-59 разряды первого поля 40 участвуют в выборе номера регистра через порты А и В узла 3 и 48, 49 и 54, 55 разряды в выборе источника операнда в АЛУ 3;второе поле управления - управле ние дешифратора 23 (60"63 разряды), служащее для формирования шестнадцати битов признаков управления микрокоманды;третье поле управления " управление записью признаков состояния и Формирования флага контроллера 9 (3244 разряды);четвертое поле управления - формирование признаков интерфейса, служащих сигналами сопровождения информации интерфейса и управления работой формирователя 10 и регистра .11 (45- 47 разряды). В структурной схеме организациимикропрограммного управления (фиг. 5)показаны взаимосвязи основных потоков информации блоков 1 и 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,является выработка сигнал Г, поступающего в узел 17При выработке сигнала Р с выходаконтроллера 9 информация по 12-разрядной шине с выходов регистра 20 проходит по входам узла 17 как информацияследуоцего адреса ИК.В случае отсутствия сигнал Г от контроллера 12-разрядный адрес из узла 17 формируется в зависимости от кодовой комбинации на 4-разрядной ши 5 не входов узла 17.Рассмотрим сущность взаимодействия блоков 1 и 2 совместноНачало работы инициируется сигналом "установка", поступающим на вто- О рой вход регистра 20, по которому "Адрес микрокоманды" с пятого выхода регистра 20 записывается синхронно с сигналом Т за два такта через узел 17 в регистр 18. Это и является ис ходным состоянием для начала работы устройства. Адрес микрокоманды на входе узла19 последовательно за период сигналТ Формируется дважды: в полупериод нечетный и полупериод четный, отличающиеся между собой на единиЦу младшего разряда,Информация, выбранная по нечетному 25адресу, записывается в регистр 21 посигналу Т, а по четному - в регистр20 по сигналу Т.Информация, хранящаяся в регистре20, управляет работой узла 3. ЗОНомер регистра общего назначения(РОН) узла 3 вырабатывается узлами12 и 13 синхронно сигналу Т.Пунктирами на фиг. 5 показано про"хождение информации одновременно длятрех последовательных значений следующего адреса микрокоманд (А, А - 1,А+ 2),В момент интервала времени х происходят следующие действия:40под управлением регистров 20 и 21выполняются арифметические или логические операции в узле 3, формируются признаки слова состояния процессаи записываются по концу интервала вре 45мени в контроллер 9;под управлением регистра 18 и признака Т дважды выбирается (нечетный,затем четный адрес МК А - 1) информация из узла 19 и по окончании интервала времени х записывается, соответственно в регистр 21 (нечетный адрес)и регистр 20 (четный адрес);под управлением 4-разрядной шины сгруппой выходов регистра 20 в узле 17формируется следующий адрес выборкимикрокоманды А - 2 и по оконцании интервала времени х записывается в регистр 18,Динами ку форм и рова ния следующего адреса микрокоманды, работу узлов 3 и 9 поясняет временная диаграмма, представленная на Фиг. 6, на которой по вертикали обозначены сверху вниз но-. мера циклограмм, по горизонтали - длительности и виды циклограмм с выделением интервала времени х.На циклограммах 1 и 2 показана последовательность синхроимпульсов Т и Т, синхронизирующих работу устройства.На циклограммах 1 - 10 рассмотрена работа последовательности микрокоманд от А,до А+5.Предположим, что момент времени х соответствует выполнению микрокоманды А по циклограмме 5 в узле 3.Тогда в регистре 20 (циклограммы 3 и 4) существует информация, управляоцая работой А-й микрокоманды, а в регистре 21 в течение первого полу- периода существует информация для А-й микрокоманды, а в течение второй половины периода - для А+1 микрокоман 1 ды.В то же время под управлением регистра 18, содержащего информацию о номере микрокоманды А+ (циклограмма 9), выбирается из узла 19 (циклограмма 7) нецетный, а затем четный адрес А + 1 микрокоманды, из узла 19 по нечетному адресу записывается в регистр 21 (циклограмма 4) и по четному адресу в регистр 20 (циклограмма 3) .Номер регистра общего назначения узла 3, содержащий операнд, необходимый для выполнения операции, хранится в узле 12 или 13 синхронно с работой узла 3 (циклогрэмма 10).Из временной диаграммы (фиг. 6) и структурной схемы организации управления (Фиг, 5) видно, что в предложенной схеме реализован конвейер на 2-е выработки следующего адреса микро- команды, т,е., когда выполняются действия под управлением микрокоманды А, в узле 3 под управлением регистра 18 выбирается из узла 19 инфомрация А+1 микрокоманды, а в узле 17 вырабатывается адрес А + 2 микрокоманды.Совмещение процесса выработки следующего адреса для микрокоманд А, А + 1, А + 2 создает возможность значительного сокращения времени его выполнения;Оператор 1 подготавливает операнды умножения, т,е. размещает множимое и множитель в устройствах 3. Множительзасылается в регистр-сдвигатель, множимое .- в регистр общего назначенияпо нечетному адресу (например, 15) врегистре общего назначения, отличающемся по адресу на единицу младшегоразряда (в нашем примере с адресом14), размещается перед процедурой умножения информация с кодом 00, а вдальнейшем - сумма частичных произведений,Оператор 2 загружает в счетчик циклов, размещенный в узел 17, информацию, равную количеству циклов умножения (при 16-разрядном множителе 16).,При выполнении цикла умножения оператор 3 вычитает единицу из содержимого счетчика циклов вузле 17 и передает управление:на оператор 4 в случае информации 20в счетчике циклов, не равной нулю;на оператор 7 в случае информациив счетчике циклов, равной нулю, т.е.по окончании цикла умножения.Оператор 4 анализирует в каждом 25цикле значение младшего разряда регистра-сдвигателя Я узла 3, передаетуправление на оператор 5 в случае4 = О, на оператор 6 в случае Ц =1.Оператор 5 выполняет суммирование ЗОрегистра общего назначения накопителясуммы частичных произведений с регистром 14 общего назначения, содержащиминформацию, равную нулю, и переписьполученной суммы частичных произведений в регистр 9 общего назначения.Этот же оператор сдвигает содержимое .регистров 9 и Я общего назначения(суммы частичных произведений и множителя на разряд вправо), причем млад 40шие разряды содержимого регистра 9общего назначения ("хвост") перетекают в старшие разряды регистра Я.Иладший разряд регистра Я выталкивается из регистра и пропадает. 45Оператор 6 выполняет суммированиерегистра общего назначения 9 (накопителя суммы частичных произведений)с регистром 15 общего назначения, содержащим множимое, и перепись получен ной суммычастичных произведений врегистр 9 общего назначения, Оба оператора осуществляют. безусловную передачу управления оператору 3. Цикл повторяется. 55По окончании цикла оператор 7 осуществляет формирование признаков сло,ва состояния по результату умножения и производит выборку следующей коман- ды.Выполнение операторов 3 - 5 ветви Р и 3 4 и 6 ветви В совмещается в одной микрокоманде (1 микротакт). При длительности микротакта 250 нс время выполнения цикла умножения составит 250 нсПри умножении двух 16-разрядных чисел -Тц = 250 нс х 16 = 4000 нс,Выполнение всех операторов цикла умножения одной микрокомандой осуществляется с помощью узла 12 (фиг. 3)В микрокоманде цикла "Умножение" выполняются одновременно следующие действия:декремент содержимого счетчика циклов узла 17;суммирование содержимых регистров общего назначения с нечетным номером, например 15, где предварительно зафиксировано значение множимого, и с любым номером в диапазоне 0-13, в котором накапливается значение суммы частичных произведений, например 9;посылка результата суммирования в выбранный в диапазоне 0-13 регистра общего назначения, например 9;эмуляция нулевого разряда адреса под управлением сигналов С 1, С 2 (при С 2 = О, й = О, т.е. адрес иэ исходного нечетного становится четным при значении младшего разряда множителя (С 2) равным нулю и, наоборот, приС 2 = 1, й = 1, т.е. при значении младшего разряда множителя (С 2) равным единице остается нечетным;сдвиг на один разряд вправо регистра-сдвигателя Я узла 3, содержащего значение множителя и регистра 9 общего назначения частичных произведений (младший разряд множителя в каждый такт присутствует на входе узла 12 как управляоций сигнал С 2);анализ содержимого счетчика циклов узла 17 и формирование адреса передачи управления (при (/К / ) Ф 0 передается управление на повторениемикрокоманды "Умножение", при /К/ 0 на выполнение микрокоманд оператора 7 (фиг. 6); Причем в регистр 14 общего назначения засылается предварительно информация 00. Основные действия в операции умножения выполняются в блоке 1 между секциями 4 - 7 и контроллера 9 как сдвиговые операции над регистрами множите 1559340 12ля. и регистром частичных произведений, являющиеся сдвиговыми регистрами 0 и а узла 3.Работа по выполнению арифметичес 5ких и логических операций над операндами в узле 3 производится под управлением полей микрокоманды с первыхгрупп выходов регистра 21 (12-разрядная шина) и регистра 20 (9-разряднаяшина),Под управлением сигналов на группе выходов регистра 21 производитсявыбор узлов 12 и 13 источников адресов операндов внутреннего оперативного запоминающего устройства узла 3(источник 1-й - регистр 14, источник2-и - регистр 21) .С выходов регистра 20 производитсяуправление арифметическими или логическими операциями в узле 3 над операндами.Операнды могут быть использованыв зависимости от значений функций управления узла 3, поступающих с 9-разрядной шины и 5-разрядной шины регистра 20, из внутреннего оперативногозапоминающего устройства узла 3 илис шины 24 данных через формирователь10 на 0-входы узла 3ЗОПо результатам выполнения операцийнад операндами в АЛУ 3 вырабатываются признаки (Л,С,Ч,И-входы контроллера 9) слова состояния узлов.По сигналам управления с 13-разряд ной шины выходов регистра 21 в контроллер 9 запоминаются и обрабатываются признаки слова состояния и в зависимости от их комбинаций вырабатывается сигнал Р для организации процесса ветвлений микропрограммы. Процессобмена информацией с внешними устрой-ствами производится по интерфейснымшинам адреса 25 и данных 24.При необходимости перехода обмен 45информацией с внешними носителямиинформации по интерфейсу типа "Узкаяшина" шины "Адрес" и "Данные" обьединяются,С первых выходов регистра 11 в шину 25 адреса поступает 1 б-разрядныйкод адреса и признаки для его сопровождения,Результат операций над операндами с первых выходов ячеек 4 - 7 поступае 1555 на входы Формирователя 10 для запоминания в буферном регистре и трансляции через выходы формирователя 10 на П-входы ячеек 4 - 7 в качестве опе= ранда следующей операции или через входы - выходы формирователя 10 на шину 24 данных для запоминания во внешних носителях информации.В случае запоминания результата вычислений во внешнем ОЗУ микрокоманды генерируют адрес ячейки внешнего ОЗУ с первых выходов регистра 11 на шину 25, обеспечивают работу интерфейса по приему. адреса с регистра 11 и данных с формирователя 10 по шине 24 во внешние ОЗУ.За счет свертки временных процессов, происходящих в блоке 2 во время выборки адреса следующей микрокоманды, достигается при сокращении оборудования блока 2 более короткий такт обработки информации (250 нс). Рассмотрим работу АУ, начиная с момента включения, т.е. инициализацииначального адреса микропрограммывключения,Сигнал "Установка" по шине 29, сиг.нализирующий об отсутствии вторичныхнапряжений питания или наличии переходных процессов при их установлении,поступает на второй вход регистра 20.В регистре 20 под управлением сигнала "Установка" полем 4 (Фиг. 4) вырабатывается функция управления узла17 для выработки адреса 00, поступающего с группы выходов по 4-разрядной шине на группу входов узла 17.Узел 17 вырабатывает 12"разрядныйадрес (00) и выставляет его на выходе,Регистр 18. по синхросигналу Т за- .писывает указанный 00,(четный)адрес и начинается выборка содержимого нулевой ячейки узла 19 (старшиеразряды, 32-63) с записью информациипо синхросигналу Т в регистр 21.Синхроимпульс Т подключает младший разряд адреса на входе узла 19.Адрес 0001 (нечетный) выбирает изузла 19 содержимое первой ячейки изаписывает по синхросигналу Т в регистр 20 (младшие разряды 0-31). Такзаканчивается процесс инициализации,начального адреса микропрограммы "Инициализация", в процессе выполнениякоторой загружаются, устанавливаютсязначения различных счетчиков и узловблоков 1 и 2 в исходное состояние.Программа инициализации заканчиваетсязагрузкой в регистр 4 первой командыпо сигналу иэ дешифратора 23, поступившей из запоминающего устройства. Разряды команды с второй группы выхо дов по 16-разрядной шине поступают на дешифрацию в дешифратор 16. Данные5 на второй группе входов дешифратора управляют выходами дешифратора, переключая выходы иэ состояния высокого импеданса в активный режим, В то же время сигналы на выходе дешифратора 15.и на пятой группе выходов регистра 20 (обратный адрес) находятся в состоянии высокого импеданса, т.е. отключены. 15С выхода дешифратора 16 по 12-разрядной шине начальный адрес микропрограммы команды поступает в узел 17, транслируется им, эмулируется в зависимости от функции управления переда чи адреса, поступающего с четвертой группы выходов регистра 20. Эмулированный адрес поступает с выхода узла 17 на группу входов регистра 18 и в случае выборки адреса инициализации 25 выбирается дважды в течение такта из узла памяти иикрокоманд и записывается в регистры 21 и 20.Предположим, что очередная выбранная из внешнего накопителя по шине З 0 24 данных команда - команда "УМножение". Из условия,что в регистрах 20 и 21 выставлен код первой микрокоманды умножения, начинается .выполнение микропрограммы умножения согласно,ал- З 5горитму (фиг. 7).Выполнение оператора 1 заключается в действиях по выборке информации множителя и множимого из регистров общего назначения или ячеек внешней памяти. Местоположение исходное операндов и методы адресации памяти опре" деляются системой команд. Предположим, что реализованная система команд типа СМ. В этом случае содержимое номера регистра общего назначения, указанного в 6-8 разрядах слова кЬманды, есть множитель. Первая микрокоманда выбирает содержимое регистра общего назначения (множитель) и переписывает его внутри узла 3 в регистр Я.Множимое, в зависимости от системы адресации, укаэанной в 0-5 разрядах команды, выбирается по сформированному адресу из внешней памяти.55Предположим, что используется метод адресации, когда .адрес размещается в регистре общего назначения с номером, указанным в 0 - 2 разрядах ко-, манды. Третья микрокоманда выставляет содержимое указанного регистра общего назначения из узла 3 с выхода на вход регистра 11, фиксируется в нем и выставляется. как адрес операнда на магистраль 25. Выбранный из внешней памяти операнда (множимое) с магистрали 24 поступает в формирователь 10 и с него на Р-вход ячеек 4-7.Ыинный формирователь 10 осуществляет процедуру интерфейсного обмена, т.е, прием информаЦии по сигналам сопровождения и выдачу соответствующих квитируацих сигналов о приеме информации внешней памяти, Следующая (цетвертая) микрокоманда записываетинформацию (множимое) в пятнадцатый регистр общего назначения (в .нашем примере) узла 3. Двумя последующими микрокомандами производится посылка константы с пятой группы выходов по 9-разрядной шине (в нашем случае 00), Через формирователь 10 в регистр 14 общего назначения (в нашем примере) и регистр 9 общего назначе. ния. С помощью формирователя 10 можно путем размножения старшего разряда (девятого) константы и обмена байт между собой скомбинировать любую константу во всем диапазоне 16-разрядного числа.Выполнив действия оператора 1, выполняем оператор 2 по алгоритму умножения фиг. 7. Следующая микрокомандаосуществляет посылку информации по12-разрядной шине с группы выходов регистра 20 константы "Адрес" в узле17, где информация запоминается в специальном счетчике циклов.Выработка следующего адреса микрокоманды при переходе от первой микрокоманды ко второй и т.д. осуществляется с выходов регистра 20 по 4-разрядной шине. Причем каждая микрокоманда под номером М указывает адрес выборки из ЗУМК И+2 микрокоманды.Выполнив действия операторов 1 и2 (фиг. 7), выполняем операторы 3 - 5цикла умножения. Эти операторы выполняются во время выполнения одной микрокоманды "Умножение". Для пояснениярассмотрим все поля микрокоманды "Умножения" (фиг. 4). В поле 5 регистра20 применяется формат 3 "Сдвиг", выполняется управление функциями сдвига контроллера 9: сдвиг вправо регистров 9 и Ц общего назначения.В поле 4 выставляется информация,управляющая узлом 17 таким образом,чтобы производился декреметр регистра-счетчика циклов и анализ его сос 5тояния с переходом по состоянию= 0 - на выполнение действий операто17.1 О,Первым полем регистра 20 управляется узел 3 - производятся операция Суммирования и пересылка полученндй суммы частичных произведений по адресу,указанному в первом поле узла 13. Впервом поле узла 12 указывается адрес (номер РОН), информация в кото"ром - множимое (адрес в нашем приме-:ре 15), Разряды нерассмотренных полеймикрокоманды устанавливаются таким об.2 Оразом, чтобы действия управляемыми имиустройств не создавали взаимных помех,(блокировались).Узел 12 эмулирует с помощью дешифратора 31 нулевой разряд адреса регистра общего назначения под управлением младшего разряда регистра-сдвигателя Ц,При О, = 0 адрес с выхода узла 12четный (14). При Ц = 1 адрес с выхо-ЗОда узла 12 нечетный (15).В регистре 15 общего назначения со"держится информация - множимое.В регистре 14 общего назначениясодержится информация 00.Поэтому выполняются действия операторов 4,5 или 4,6, а именно:РОН + РОН -РОН при О = 1;РОН + РОН -РОН при 0 = О,Юи последующий сдвиг вправо на один: 40разряд содержимого регистров-РОН иВ качестве управления на вх. 4 узчла 12 поступит следующий разряд мно-жителя и все действия повторятсястолько раз, сколько разрядов во множителе. По окончании цикла умножения пос" ледовательностью микрокоманд выполняются действия оператора 7 формирующего по результатам умножения призна ки слова состояния контроллера 9 (1-2 микрокоманды).Далее производится формирование адреса выборки следующей микрокоманды в регистр 11, т,е. информация одного из регистров общего назначения узла 3 (счетчик команд) с информационных выходов узла 3, поступает в регистр 11. Считанная из внешней памяти ин-формация (команда) записывается в регистр 14 и начинает выполняться сле" дующая команда,.Необходимо дать раэьяснения принципа приема и обработки сигналов прерываний узла 22. Узел 22 в течение .выполнения текущей микропрограммы команды принимает, запоминает сигналы прерываний от ЦВМ и осуществляет об- работку прерываний согласно присваиваемым им приоритетам. Наивысший из принятых сигнал прерываний преобраэу ется в 3-.разрядный вектор, поступай-" щийна входы дешифратора 15. Выборка по адресу вектора разрешается после выполнения микропрограммы команды в момент загрузки начальнога,адреса следующей из дешифратора 16. С выходов регистра 20 поступает управление выбора и загрузки адреса и микрокоманды из трех возможных источниковфс выходов узлов 20, 15 и 16.Состояние выходов этих истдчниковв любой момент времени таково, чтоактивным может быть только один, а.остальные должны находиться в состоянии высокого импеданса (отключены),возможно отключение и всех трех источников.Если с выходов узла 22 вырабатывается по 7-разрядной шине сигнал"Прер.", свидетельствующий о наличии требования хоть одного прерыва"ния, происходит определенная коммутация выходов тристабильных источниковадреса микрокоманды узлов 15, 16 и 20,а именно активным становится выходдешифратора 15,Результатом является то, что вместо загрузки. начального адреса следующей команды из дешифратора 1 б происходит загрузка начального адресамикропрограммы обработки прерыванийсигнала прерывания высшего приоритетаиз принятых.Концом выполнения микропрограммыобработки прерывания является вновьмикрокоманда загрузки начального адреса микрокоманды из дешифратора 16. Ес-ли прерывания отсутствуют,то происходит переход на выполнение следующейкоманды, поступающей из регистра 14команд.формула изобретенияАрифметическое устройство с микропрограммным управлением, содержащее15593арифметико-логический блок, в состав которого входит И вычислительныхяцеек,; узел ускоренного переноса, шинный Формирователь, контроллер состою 5янии, регистр адреса памяти, два узла выбора операндов, каждый из которых содержит мультиплексор адреса и буферный регистр, и блок микропрограммного управления, содержащий регистр команд, дешифратор команд, дешифратор прерываний, узел микропрограммного уп.равления, узел памяти микрокоманд, первый регистр микрокоманд и узел обработки прерываний, причем шина дан-.ных соединена с первой группой входов шинного Формирователя и информационными входами .регистра команд, выходы разрядов первой группы регистра ко,манд соединены с управляющими входами 2 О ,мультиплексора адреса первого уз ла выбора операндов, выходы разрядов второй группы регистра команд соединены с управляющими входами мультиплексора адреса второго узла выбора операндов, выходы разрядов третьей группы соединены с информационными входами дешифратора команд, выходы дешифратора команд и дешифратора прерываний соединены с первой и второй группами адресных входов узла микропрограммного управления, выход сигнала вектора прерываний узла обработки прерываний соединен с информационным входом дешифратора прерываний, выход шинного формирователя соединен с информационными входами И вычислительных ячеек, группа информационных выходов которых соединена с информационными входами регистра адреса памяти, выходы которого являются шиной адреса устройства, первый, второй и третий выходы признака состояний первой вычислительной ячейки соединены с входами знака переполнения и переноса со. ответственно контроллера состояний, первый и второй выходы двунаправленной цепи сдвига -й (где= 1,2 М) вычислительной яцейки соединены . с одноименными Входами (+1)-й вычислительной ячейки, первый и второй выходы распространения сдвига контроллера состояний соединены с первым и вторым входами двунаправленной цепи сдвига соответственно первой вычислительной ячейки, третий и четвертый выходы распространения сдвига контроллера состояний соединены с первым и вторым выходами двунаправленной цепи 40 18сдвига И-и вычислительной ячейки, выходы распространения и разрешения переноса (+1)-й вычислительной яцей" ки соединены с входами-выходами узла ускоренного переноса и с входами последовательного переноса -й выцислительной ячейки, выход условия перехода контроллера состояний соединен с входом разрешения выборки адреса узла микропрограммного управления, выходпереноса контроллера состояний соединен с входами последовательного переноса М-й вычислительной ячейки и узла ускоренного переноса, прямой тактовый вход устройства соединен с синхровходами контроллера состояний, узла микропрограммного управления, регистров адреса первого и второго узлов выбора операндов, выходы которых соединены с первым и вторым входами адреса соответственно всех вычислительных яцеек, о т л и ц а ю щ е е с я тем, цто, с целью повышения быстродействия операции умножения при одновременном сокращении оборудования, в блок микропрограммного управления введены регистр Формирования адреса, второй регистр микрокоманд, дешифратор битовых управляющих сигналов, в первый узел выбора операндов введен дешифратор адреса, выход которого соединен с входом разрешения записи буферного регистра первого узла выбора операндов, нулевой разряд выхода мультиплексора адреса первого узла выбора операндов соединен с первым 1входом дешифратора битовых управляющих сигналов, выходы с первого по третий разрядов мультиплексора адреса первого и второго узлов выбора операндов соединены с информационными входами соответствующего регистра адреса, выходы адресамикрокоманды узла микропрограммного управления соединены с информационными входами регистра Формирования адреса, выходы которого соединены с адресными входами узла памяти микрокоманд, выходы которого соединены с информационными входами первого и второго регистров микрокоманд, первая группа выходов первого регистра микрокоманд соединена с входом микрокоманд сдвига контроллера состояний, вторая группа выходов первого регистра микрокоманд соединена с второй группой входов шинного формирователя, третья группа вы

Смотреть

Заявка

4457327, 08.07.1988

ЛЕНИНГРАДСКОЕ НАУЧНО-ПРОИЗВОДСТВЕННОЕ ОБЪЕДИНЕНИЕ "ЭЛЕКТРОАВТОМАТИКА"

КОРОТКОВ ВАЛЕРИЙ АНАТОЛЬЕВИЧ, ШЕК-ИОВСЕПЯНЦ РУБЕН АШОТОВИЧ, ГОРОХОВ ЛЕВ ПЕТРОВИЧ, МАЛАХОВ ЮРИЙ ВАСИЛЬЕВИЧ, СМИРНОВ ЕВГЕНИЙ ВЛАДИМИРОВИЧ

МПК / Метки

МПК: G06F 7/38

Метки: арифметическое, микропрограммным, управлением

Опубликовано: 23.04.1990

Код ссылки

<a href="https://patents.su/14-1559340-arifmeticheskoe-ustrojjstvo-s-mikroprogrammnym-upravleniem.html" target="_blank" rel="follow" title="База патентов СССР">Арифметическое устройство с микропрограммным управлением</a>

Похожие патенты