Устройство управления микропрограммной эвм

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

Авторы: Кричевский, Любарский, Якуба

ZIP архив

Текст

(5)5 ИСАНИЕ ИЗОБРЕТЕН К АВТО МУ СВИДЕТЕЛЬСТВ и2, блок 4 элементов ИЛИ, блок 5 коммутации и блок 7 местного управления. Работа устройства управления основана на принципе конвейерной обработки последовател ьности микрокоманд. Процесс формирования управляющей совокупности микросигналов заключается в выделении необходимых устройств процессора и установлении связей между ними последовательно для каждой из исполняемых одновременно микрокоманд в порядке убывания приоритета. Информация о приоритете микрокоманды постоянно сообщается блоком обработки микрокоманд в блок местного управления, который подключает к блоку коммутации блок обработки микрокоманд с максимальным приоритетом. Таким образом осуществляется асинхронное управление очередностью подключения блоков обработки микрокоманд, 1 з.п, ф-лы, 9 ил. ГОСУДАРСТВЕННЫЙ КОМИТЕТПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМПРИ ГКНТ СССР.(54) УСТРОЙСТВО УПРАВЛЕНИЯ МИКРОПРОГРАММНОЙ ЭВМ(57) Изобретение относится к вычислительной технике и предназначено для управления .устройствами процессора микропрограммной ЭВМ. Цель изобретения - повышение быстродействия. Предложенное устройство содержит блок 2 постоянной памяти, регистр 6 микроопераций, и блоков 2 обработки микрокоманд, где 1691840 А 1ние единицы, следовательно, на третьем выходе 92 1-й ячейки не может быть выработансигнал подтверждения приемника. Вследствие этого (поскольку другие ячейки в кач- стве преемников не отмечены) ни на один извходов с (р)+7)-го по (р)+ц)+6)-й 84-86 )-йячейки не поступают ответные сигналы и невырабатывается сигнал подтверждения готовности приемника на первом выходе 90)-й ячейки. Из-за отсутствия подтвержденияготовности источника и приемника на первом и третьем выходах узла 50 имитациипроцессора состояние устройства управления не изменяется до конца данного такта.На первом выходе 167 блока коммутацииприсутствуют сигналы, управляющиевходами узлов, соответствующих зафиксированным ячейкам. По окончании такта сигналомна четвертом входе 63 всех ячеек сбрасываются в исходное состояние все фиксаторысостояний 74, вследствие чего выходы всехячеек освобождены и блок 5 коммутацииприходит в исходное состояние,Блок 7 (фиг, 9) местного управленияпредназначен для синхронизации работыустройства в целом, а также для управленияприемом микрбкоманд в блоки 2 обработкимикрокоманд и выдачей информации из нихв блок 5 коммутации.Первый, второй и четвертый выходыблока 7 местного управления предназначены для выдачи синхросигналов в блоки 21обработки микрокоманд, блок 5 коммутациии регистр 6 микроопераций. Посредствомвторого выхода 25 в блоки 2 обработки микрокоманды поступает информация о приоритете блока 2 обработки микрокоманд,подключаемого к блоку 5 коммутации (сигналы ППР , где ) = 1, , и), благодаря чемублоки 2 обработки микрокоманд поцключаются к блоку 5 коммутации последовательнов порядке убывания приоритетов. Посредством этого ке выхода (младшие (и) разрядов - сигналы СДгде 3 = 2, , и)осуществляется управление изменениемприоритетов блоков 2 обработки микрокоманд.Выходы 26 с пятого по (и+4)-й предназначены для выбора свободного блока 2 обработки микрокоманд для загрузкиочередной микрокоманды из декодера (сигналы ЗАПь где = 1, и).Входы 28 с первого по п-й предназначеныы для приема информации о приоритетахблоков 2 обработки микрокоманд (в старших разрядах - сигналы ПР 1 а в младшихразрядах - сигналы ВКЛ, где 1 - номерблока,) =2, .п).Через входы 29 с (и+1)-го по 2 п-й осуществляется прием информации о занятости соответствующего блока 2 обработки микрокоманд (сигналы СВОБь где " 1, , и),2 п+1-й вход 9 является входом синхронизации, на который подаются синхросигналы5 (СИ) от внешнего по отношению к устройству синхрогенератора.Блок 7 местного управления состоит изузла 140 приоритета, узла 141 шифраторараспределения свободных блоков обработ 10 ки микрокоманд 141 и узла 142 синхронизации,Узел 140 приоритета может быть реализован в виде комбинационной схемы, выходы которой описываются логическими15 уравнениями;ппр =(о (прлвкл 1 л (й (пРЬвкл 11=1 я= 20 СД, = О (ОПР 1)=1+1Узел 141 шифратора распределениясвободных блоков обработки микрокомандтакже может быть реализован в виде комби 25 национной схемы, выходы которой описываются логическим уравнением:ЗАП=СВОБ( Й СВ)Пуи этом предполагается, что СДп, СВо,ПР и+Узел 142 синхронизации может быть реализован в виде формирователя синхроимпульсов,Формула изобретен и я1. Устройство управления микропрограммной ЭВМ, содержащее блок местнооуправления, блок постоянной памяти и регистр микроопераций, синхровход которого40 соединен с первым выходом блока местногоуправления, выход регистра микрооперацией является выходом устройства, о т л ич а ю щ е е с я тем, что. с целью повышениябыстродействия, в него введены и блоков45 обработки микрокоманд (где и2), блокэлементов ИЛИ и блок коммутации, причемвход микрокоманды устройства соединен свходами данных всех блоков обработки микрокоманды, адресные выходы всех блоков50 обработки микрокоманды соединены с соответствующими входами блока элементовИЛИ, выход которого соединен с адреснымвходом постоянной памяти, выход которогосоединен с первым информационным вхо 55 дом блока коммутации, первый информационный выход каждого блока обработкимикрокоманды соединен с Е-м информационным входом (где 1 - 2 п+1) блока коммутации (где п - максимальйое количествоодновременно выполняемых микропрог21 рамм 21) первый выход блока коммутации соединен с информационным входом регистра микроопераций, М-й выход блока коммутации соединен с первым управляющим входом (ф)-го блока обработки микрокоманды, второй и третий выходы блока местного управления соединены соответственно с вторым и третьим управляющими входами всех блоков обработки микрокоманды, четвертый выход блока местного управления подключен к управляю 10 щему входу блока коммутации, (1+4)-й выход блока местного управления соединен с чет-вертым управляющим входом к-го блока обработки микрокоманды, вторые и третьи информационные выходы всех блоков обработки микрокоманды соединены соответственно с первой и второй группами информационных входов блока местного 20 управления, вход синхронизации устройства соединен с входом синхронизации блока местного управления, причем блок местного управления содержит узел приоритета, шифратор распределения свободных блоков обработки микрокоманды и узел синхронизации, причем информационные входы с первого по и-й блока местного управления соединены соответственно с первого по и-й входами узла приоритета, информационные ЗО входы с первого по и-й соединены соответственно с первого по и-й входами шифратора распределения свободных блоков обработки микрокоманды, вход .синхронизации блока местного управления соединен 35 с входом синхронизации, выход узла приоритета является третьим выходом блока местного управления, выходы с первого по и-й шифратора распределения свободных блоков обработки микрокоманды являются соответственно с пятого по (и+4)-й выходами блока местного управления, первый, второй и третий выходы узла синхронизации являются соответственно вторым, четвертым,первым выходами блока местного уп 45 равления, причем каждый блок обработки микрокоманды содержит регистр базового адреса, счетчик тактов, две группы элементов И, элемент И, два элемента ИЛИ, триггер и узел приоритета, старшие разряды ды подключены к информационному входу регистра базового адреса, младшие разряды входа данных блока обработки микрокоманды подключены к информационному 55 входу счетчика тактов, первый управляющий вход блока обработки микрокоманды подключен к первому входу элемента И, первому управляющему входу узла приоритета и входу сброса триггера, второй управляющий вход блока обработки микровхода данных блока обработки микрокоман команды соединен с вторым управляющим входом узла приоритета, входами записи регистра базового адреса и счетчика тактов, первым входом первого элемента ИЛИ, а также с синхровходом триггера, третий управляющий вход блока обработки микрокоманды соединен с информационным входом узла приоритета, четвертый управляющий вход блока обработки микрокоманды соединен с синхровходами узла приоритета и регистра базового адреса, а также со счетным входом счетчика тактов, вход разрешения счета которого соединен с выходом первого элемента ИЛИ, второй вход которого соединен с выходом элемента И, второй вход которого соединен с информационным входом триггера и выходом второго элемента ИЛИ, выходы регистра базового адреса и счетчика тактов соединены с первыми входами элементов И соответственно первой и второй групп, вторые входы которых соединены с информационным выходом узла приоритета и явлются, первым информационным выходом блока обработки микрокоманды, второй информационный выход которого является выходом кода приоритета узла приоритета, третий управляющий вход которого соединен с выходом триггера и подключен к третьему информационному входу блока обработки микрокоманды, входы второго элемента ИЛИ соединены с выходами счетчика тактов, выходы элементов И первой и второй групп образуют адресный выход блока обработки микрокоманды. 2. Устройство по п, 1, о т л и ч а ю щ е ес я тем, что узел приоритета содержит сдвиговый регистр, элемент НЕ, две группы элементов И; два элемента ИЛИ и группу элементов И-НЕ; причем первый управляющий вход узла подключен к первым входам элементов. И-НЕ группы, первый выход сдвигового регистра соединен с первыми входами первых элементов И первой и второй группы, р-выход сдвигового регистра (где р = 2, и) соединен с первыми входами р-х элементов И первой и второй групп и вторым входом(р+1)-го элемента И-НЕ группы, и-й выход сдвигового регистра соединен с первым входом и-го элемента И первой группы и вторым входом (и)-го элемента И-НЕ группы, с второго по и-й выходы сдвигового регистра и выходы элементов И-НЕ группы образуют выход кода приоритета. вторые входы элементов И первой и второй групп образуют информационный вход узла, синхровход которого подключен к синхровходу сдвигового регистра и через элемент НЕ к третьим входам элементов Ипервой группы, выходы которых соединены с входами первого элемента ИЛИ, выход которого является информационным выходом узла, второй управляющий вход которого подключен к информационному входусдвигового регистра, первый вход задания режима которого соединен с выхОдом второго элемента ИЛИ, входы которого соединены с выходами элементов И второй группы, третий управляющий вход узла под ключен к второму входу задания режимасдвигового регистра.каз 3929 Тираж Подписное ВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР 113035, Москва, Ж, Раушская наб., 4/5 Производственно-издательский комбинат "Патент", г.Ужгород, ул. Гагарина,гу гю Я 9 гб гюИзобретение относится к вычислительной технике и может быть использовано припостроении устройств управления микропрограммной ЭВМ.Цель изобретения - повышение быстродействия,На фиг. 1 представлена блок-схема устройства управления микропрограммнойЭВМ; на фиг. 2 - схема блока обработкимикрокоманд; на фиг. 3 - схема узла приоритета; на фиг. 4 - блок-схема блока каммугации; на фиг. 5 - схема М-й ячейки узлаимитации процессора; на фиг. 6- схема узлазапоминания предшественника; на фи г. 7 -схемаузла запоминания приемника; на фиг.8 - схема узла фиксатора состояния; на фиг.9 - блок-схема блока местного управления,Устройство управления микропрограммной ЭВМ содержит вход 1 микрокоманды,и блоков 2 обработки микрокоманды, блок 3элементов ИЛИ, блок 4 постоянной памяти,блок 5 коммутации, регистр 6 микроопераций, блок 7 местного управления, выход 8устройства и синхровход 9, Вход 1 микрокомэнды соединен с входами данных всех блоков 2 обработки микрокомэнды. Адресныевыходы всех блоков 2 обработки микрокоманды соединены с соответствующими входами блока 3 элементов ИЛИ, выходкоторого соединен с адресным входом блока 4 постоянной памяти. Выход блока 4 постоянной памяти соединен с первыминформационным входом адреса блока 5коммутации, Первый информационный выход каждого блока 2 обработки микрокоманды соединен с 1-м информационным входом(где К = 2, .,и+1) блока 5 коммутации. Пер 1вый выход блока 5 коммутации соединен синформационным входом регистра 6 микроопераций, к-й выход блока 5 коммутациисоединен с первым управляющим входом(к)-го блока 2 обработки микрокоманды,второй и третий выходы блока 7 местногоуправления, соединены с вторым и третьимуправляющими входами всех блоков 2 обработки микрокоманды, четвертый выход блока 7 местного управления подключен куправляющему входу блока 5 коммутации, апервый выход блока 7 местного управлениясоединен с синхровходом регистра 6 микроопераций, (к+4)-й выход блока 7 местногоуправления соединен с четвертым управляющим входом М-го блока 2 обработки микрокоманды, вторые и третьи информационныевыходы всех блоков 2 обработки микрокоманды соединены с первой и второй группами информационных входов блока 7местного управления, Вход 9 синхронизации устройства соединен с входом синхронизации блока 7 местного управления,Блок 2 обработки микрокоманды содержит гп-разрядный регистр 10 базового адреса, т-разрядный счетчик 11 тактов, гп+1+1элементов И 12-17, два элемента ИЛИ 18 и5 19, триггер 20, узел 21 приоритета, вход 22данных, первый 23, второй 24, третий 25 ичетвертый 26 управляющие входы блока,адресный выход 27, второй 28, первый 29 итретий 30 информационные выходы. Вход10 22 данных, состоящий из (в+1) разрядов,старшими в разрядами подключен к информационному входу регистра 10 базового адреса, а младшимиразрядами - кинформационному входу счетчика 11 так 15 тов. Первый управляющий вход 23 подключен к первому входу элемента И 17, первомууправляющему входу узла 21 приоритета ивходу сброса триггера 20. Второй управляющий вход 24 соединен с вторым управляю 20 щим входом узла 21 приоритета, входамизаписи регистра 10 базового адреса и счетчика 11 тактов, синхровходом триггера 20 ипервьм входом элемента ИЛИ 18, Третийуправляющий вход 25 подключен к инфор 25 мационному входу узла 21 приоритета. Четвертый вход 26 соединен с синхровходамирегистра 10 базового адреса, счетчика 11тактов и узла 21 приоритета. Выход первогоэлемента ИЛИ 18 подключен к входу разре 30 шения счета счетчика 11 тактов. Выход элемента И 17 соединен с вторым входомпервого элемента ИР,И 18. Выходы регистра10 базового адреса соединены с первымивходами элементов И 12 и 13.35 Выходы сцетчиков 11 тактов соединеныс первыми входами элементов И 14 - 16 ивходами второго элемента ИЛИ 19. Первыйвыход узла 21 приоритета соединен с вторыми входами элементов И 12-16 и является40 первым информационным выходом 29 блока, Выходы с первого по (щ+т)-й элементовИ 12 - 16 являются (п+1)-разрядным адресным выходом 27 блока. Второй выход узла21 приоритета является вторым информаци 45 онным выходом 28 блока. Вьход второгоэлемента ИЛИ 19 соединен с информационным входом триггера 20 и вторым входомэлемента И 17. Выход триггера 20 соединенстретьим управляющим входом узла 21 при 50. оритета и является третьим информационным выходом 30,Узел 21 приоритета содержит сдвиговый регистр 31, две группы элементов И32-40, два элемента ИЛИ 41 и 42 и группу55 элементов И-НЕ 43 - 46 и элемент НГ 47.Первый управляющий вход 23 узла подключен к первым входам элементов И-НЕ 43-46группы, С первого по п-й выходы сдвиговогорегистра 31 соединены с первыми входамипервых элементов И 32-40 первой и второй45 50 групп, р-й выход сдвигового регистра 31(где р = 2, и) соединен с первыми входами р-х элементов И 33, 34, 35, 38, 39, 40 первой и второй групп и вторым входом (р)-го элемента И-НЕ 43, 44 или 45 группы, и-й выход сдвигового регистра 31 соединен с первым входом и-го элемента И 38 первой группы и вторым входом (и)-го элемента И-НЕ 46 группы. С второго по п-й выходы сдвигового регистра 31 и выходы элементов И-Н Е 43-46 группы образуют выход 28 кода приоритета узла, Вторые входы элементов И 32-40 первой и второй групп образуют информационный вход 25 узла, синхровход 26 которого подключен к синхровходу сдвигового регистра 31, Второй управляющий вход 24 узла подключен к информационному входу сдвигового регистра 31 и через элемент НЕ 47 к третьим входам элементов И 32 - 35 первой группы, выходы которых соединены с входами первого элемента ИЛИ 41, выход которого является информационным выходом 29 узла. Первый вход задания режима регистра 31 соединен с выходом второго элемента ИЛИ 42, входы которого соединены с выходами элементов И 37 - 40 второй группы. Третий управляющий вход 30 узла подключен к второму входу задания режима сдвигового регистра 31 и и-му входу второго элемента ИЛИ 42.Блок 5 коммутации содержит два дешифратора 48 и 49, узел 50 имитации процессора, три элемента ИЛИ 51-53, элемент НЕ 54, (и+1) элементов И 55-58, и, триггеров 59 - 61, первый вход 62 адреса, второй вход 63 блока, входы с третьего по (и+2)-й 64 - 66, первый выход 67, выходы с второго по (и+1)-й, 68-70 блока, Первый вход 62 адреса соединен соответствующими разрядами с входами первого 48 и второго 49 дешифраторов и вторым входом узла 50 имитации процессора, Выходы первого 48 и второго 49 дешифраторов соединены с первым и третьим входами узла 50 имитации процессора. Второй вход 63 блока соединен с четвертым входом узла 50 имитации процессора и первыми входами с первого по и-й триггеров 59-61. Входы с третьего по (и+2)-й 64 - 66 соединены с первым входом с второго по (и+1)-й элементов И 56 - 58. Первый, второй, третий выходы узла 50 имитации процессора подключены . к соответствующим входам первого 51, второго 52 и третьего 53 элементов ИЛИ. Четвертый выход узла 50 имитации процессора является первым выходом 67. Выход второго элемента ИЛИ 52 подключен к входу элемента НЕ 54. Выходы первого 51 и третьего 53 элементов ИЛИ и элемента НЕ 54 соединены с входами первого элемента И 55. Вы 5 10 15 20 25 30 35 ход первого элемента И 55 соединен с вторыми входами с второго по (и+1)-й элементов И 56-58 и с пятым входом узла 50 имитации процессора. Выходы с второго по (и+1)-й элементов И 56 - 58 соединены с вторым входом с первого по п-й триггеров 59- 61, Выходы с первого по и-й триггеров 59 - 61 являются выходами с второго по (и+1)-й 68- 70 блока.Каждая ячейка 71 узла 50 имитации и роцессора содержит узел 72 запоминания предшественника, узел 73 запоминания преемника, узел 74 фиксатора состояния, первый вход 75, второй вход 76, третий вход 77, четвертый вход 63, пятый вход 78, шестой вход 79, входы с седьмого по (6+р)-й 80, 81, 82, 83 (где р - количество устройств и роцессора, связанных с входами узла, иммитиоуемого к-й ячейкой), входы с (7+р)-го по (6+р+ц)-й 84-86 (где ц - количество устройств процессора, связанных с выходами узла, имитируемого к-й ячейкой), входы с (7+р+ц)-го по (6+р+2 ц)-й 87 - 89, первый выход 90, второй выход 91, третий выход 92, четвертый выход 93, выходы с пятого по (4+р)-й 9, - 97 и выходы с (5+р) по (4+р+ц) 98 - 100. Выходы с пятого по (4+р)-й 94 - 97 входят в четвертый выход 67 узла 50 имитации процессора.Узел 72 запоминания предшественника содержит (4+р) элементов И 101-108, три элемента ИЛИ 109 - 111, четыре элемента НЕ 112-115, (р) элементов И-НЕ 116-118, р триггеров 119 - 122, первый 75, второй 76, третий 93, четвертый 123, пятый 124 и шестой 79 входы, входы с седьмого по (6+р)-й 80-83, первый 90, второй 91 и третий 125 выжды, выходы с четвертого по (3+р)-й 94- 97.Узел 73 запоминания преемника содержит элемент И 126, (ц+1) элементов ИЛИ 127 - 130, два элемента НЕ 131 и 132, ц триггеров 133-135, первый 77, второй 125 и третий 124 входы, входы с четвертого по (3+ц)-й 84 - 86, первый 92 и второй 123 выходы, выходы с третьего по (2+ц)-й 98 - 100.Узел 74 фиксатора состояния содержит два элемента И 136 и 137, элемент ИЛИ 138, триггер 139, первый 63, второй 78, третий 125 и четвертый 123 входы, входы с пятого по (4+ц)-Й 87-89, первый 93 и второй 124 выходы.Блок 7 местного управления содержит узел 140 приоритета, шифратор 141 распределения свободных блоков обработки микрокоманды и узел 142 синхронизации. Информационные входы 28 с первого по и-й блока 7 местного управления соединены с первого по и-й входами узла 140 приоритета, информационные входы 29 с (и+1)-го по2 п-й соединены с первого по и-й входами шифратора 141 распределения свободных блоков обработки микрокоманды, Вход 9 синхронизации блока 7 местного управления соединен с входом узла 142 синхронизации, Выход узла 140 приоритета являе."ся третьим выходом 25 блока 7 местного управления, Выходы с первого по и-й шифратора 141 распределения свободных блоков обра,ботки микрокоманды являются с пятого по (о+4)-й выходами 26 блока местного управления. Первый, второй, третий выходы узла 142 синхронизации являются вторым 24, четвертым 63 и первым 143 выходами блока 7 местного управления.Работа устройства управления микропрограммной ЭВМ основана на принципе конвейерной обработки последовательности микрокоманд,Каждая микрокоманда в процессе обработки проходит три стадии: выборку, дешифрацию и исполнение. При этом длительность стадии исполнения может в несколько раз превышать длительность стадии выборки или дешифрации микрокоманды, Если за длительность такта конвейера принять длительность стадии выборки, то стадия исполнения занимает несколько тактов конвейера. Вследствие этого на стадии исполнения может одновременно находиться несколько микрокоманд, обрабатывающих единый поток данных на общих устройствах процессора. При этом одновременно могут быть обработаны только независимые друг от друга данные, а требуемые для их обработки устройства процессора могут быть задействованы только одной микрокомандой. Обрабатываемые данные располагаются в регистрах и прочих запоминающих ячейках процессора, поэтому их зависимость друг от друга обнаруживается, когда несколько микрокоманд требуют доступа к одним.и тем же запоминающим ячейкам, входящим в соответствующие устройства процессора. Таким образом, одновременно могут быть исполнены микрокоманды, использующие лишь независимые устройства процессора. Если требуется обработать несколько микрокоманд, то обрабатывается сначала микрокоманда, ранее других поступившая на стадию исполнения, т.е. имеющая высший приоритет. Остальные микрокоманды задерживаются. На основании анализа подобных ситуаций вырабатываются микрооперации, управляющие всей совокупностью устройств процессора одновременно, В целях предотвращения гонок совокупность микроопераций, управляющих устройствами в конкретном такте, вырабатывается в пред 40 50. процессора, на основании которой блок 55 5 10 15 20 25 30 шествующем такте и записывается в регистр микроопераций, т,е. каждому такту исполнения предшествует такт подготовки исполнения, причем подготовка исполнения следующего такта может совмещаться с исполнением текущего такта.Процесс формирования управляющей совокупности микроопераций заключается в выделении необходимых устройств процессора и установлении связей между ними последовательно для каждой из совмещаемых микракоманд в порядке убывания приоритета при соблюдении очередности их поступления на стадию исполнения, т.е, происходит имитация совместного исполнения микрокоманд с использованием узла имитации процессора, Для последующих микрокоманд устройства процессора, занятые предыдущими микрокомандами, считаются недоступными,Каждая микрокоманда занимает один блок обработки микрокоманды, в котором отслеживается процесс ее исполнения, Для поддержания очередности поступления микрокоманд на исполнение каждый блок обработки микрокоманды хранит приоритет микрокоманды, т.е, ее относительный номер в очереди на исполнение. По мере завершения исполнения микрокоманд с высшими приоритетами приоритеты следующих возрастают,вправление очередностью поступления микрокоманд на имитацию исполнения осуществляется блоком местного управления. Он сравнивает приоритеты микрокоманд,поступающие от всех блоков обработки микрокоманды, и устанавливает на своем выходе значение максимального приоритета в очереди, Это значение псступает на все блоки обработки микрокоманды, которые сравнивают его со своим приоритетом. При совпадении этих значений соответствующий блок обработки микрокоманды выдает значение адреса, соответствующего такту исполнения хранимой им микрокоманды на вход элемента ИЛИ, который передает его на адресный вход постоянного запоминающего устройства, Оно преобразует это значение в заявку микрокоманды на устройства коммутации осуществляет имитацию исполнения соответствующего такта микрокоманды, т.е, проверяет возможность ее исполнения в следующем такте конвейера. При положительном результате проверки блок коммутации выдает в соответствующий блок обработки микрокоманды сигнал, разрешающий переход к следующему такту исполнения данной микрокоманды. По это" му сигналу блок обработки микрокоманды10 15 20 30 35 40 50 55 сообщает в блок местного управления информацию о приоритете, который можно исключить Йз очереди на данный такт подготовки исполнения. Блок местного управления устанавливает на своем выходе значение максимального иэ оставшихся в очереди приоритетов. Этот асинхронный процесс продолжается до тех пор, пока не будет достигнут отрицательный результат имитации исполнения в блоке коммутации или до исчерпания очереди, После этого, состояние устройства управления не изменяется до конца такта подготовки исполнения.Блок местного управления на основании анализа приоритетов блоков обработки микрокоманды выдает также информацию о том, какие приоритеты могут быть повышены в следующем такте.Все свободные блоки обработки микро- команды выдают в узел управления соответствующий сигнал. Блок местного управления выделяет для вновь поступившей микрокоманды свободный блок обработки микрокоманды, имеющий для определенности наименьший порядковый номер. В конце такта подготовки исполнения по синхросигналам иэ узла местного управления происходит запись выработанной в блоке коммутации управляющей совокупности ми кроопераций в регистр микроопераций. Блоки обработки микрокоманды изменяют значения своих приоритетов и счетчиков тактов своих микрокоманд, В выбранный свободный блок обработки микрокоманды записывается вновь поступившая микрокоманда. Блок коммутации сбрасывается в исходное состояние. Таким образом, устройство управления подготавливается к работе в следующем. такте.Рассмотрим работу блоков и узлов устройства.Блок 2 обработки микрокоманды предназначен для хранения частично декодированной микрокоманды во время ее исполнения, организации и синхронизации ее потактовой обработки в устройстве управления, а также изменения ее состояния в процессе исполнения. Посредством входа 22 осуществляется запись вновь поступившей частично декодированной микрокоманды в блок. Частично декодированная микрокоманда представляет собой (в+1)- разрядный код, состоящий из в старших разрядов базового адреса и 1 младших раз-, рядов переменной части адреса, определяющих длительность микрокоманды в тактах. Этот код записывается в регистр 10 базового адреса и счетчик 11 тактов, Вход 23 предназначен для приема сигнала об успешной имитации исполнения текущего такта хранимой микрокоманды. Вход 24 предназначен для синхронизации работы. Вход 25 предназначен для приема от блока 7 местного управления (2 п)-разрядного кода состояния всех блоков 2 обработки микрокоманд устройства. Посредством входа 26 осуществляется запись информации в регистры блока. Выход 27 передает (е+)- разрядный код адреса микрокоманды на вход блока элементов ИЛИ 3. Выход 28 содержит информацию о значении приоритета данного блока обработки микрокоманды в унитарном коде (старшие (и) разряды) и о включении хранимой микрокоманды в исполняемую совокупность (младшие (и) разряды). Выход 29 выдает сообщение об освобождении данного блока обработки микрокоманды. Выход 30 выдает сигнал сравнения приоритета данного блока обработки микрокоманды со значением приоритета, передаваемым из блока 7 местногоуправления.В исходном состоянии содержимое 1 разрядного счетчика 11 тактов равно нулю,поэтому на выходе второго элемента ИЛИ 19 сохраняется значение нуля, Триггер 20 сброшен, поэтому на его инверсном выходе установлено значение единицы (сигнал СВ 1, где- номер данного блока 2 обработки микрокоманды). Узел 21 приоритета имеет нулевое значение приоритета, т.е, сброшен.На зход 22 данных поступает (п+1)-разрядный код микрокоманды. Для приема этого кода в данный блок 2 обработки микрокоманды на вход 26 поступает значение единицы (сигнал ЗАП от блока 7 местного управления), разрешая запись в регистр 10 базового адреса, узел 21 приоритета, счетчик 11 тактов, а также триггер 20, разрешая запись в них соответствующей информации по синхросигналу. Поступивший на вход 24 синхросигнал записывает в регистр 10 базового адреса и счетчик 11 тактов (гп+1)-разрядный код микрокоманды, в узле 21 приоритета записывает в нее значение первого (младшего) приоритета и устанавливает триггер 20 в состояние единицы.Приоритет блока передается узлом 21 приоритета через второй выход 28 в блок 7 местного управления. Блок 7 местного управления, сравнивая приоритеты всех микрокоманд, выделяет максимальный из них и передает его значение на входы 25 всех блоков 2 обработки микрокоманд, Узел 21 приоритета сравнивает поступившее на вход 25 значение приоритета со своим и при совпадении выдает значение единицы на своем первом выходе. Этот сигнал разреша 1691840 12ет прохождение кода микрокоманды черезлементы И 12-16 на первый адресный выход 27. Этот же сигнал поступает на выход29, указывая блоку 5 коммутации на источник заявки на имитацик) исполнения, При 5выявлении возможности успешного исполнения данного такта микрокоманды на вход13 поступает значение единицы (сигналИСП). Этот сигнал через первый вход узла21 приоритета изменяет его состояние, в 10результате чего он запрещает прохождениекода микрокоманды на выход 27; Кроме то: го, сигнал ИСП через элементы И 17 иИЛИ 18 поступает в счетчик 11 тактовразрешая вычитание единицы из его содержимого с приходом очередного синхросигнала в конце такта. Этим жесинхросигналом повышается приоритетблока, если освободился один из высшихприоритетов, При реализации последнего 20такта хранимой микрокоманды содержимоесчетчика 11 тактов равно нулю, поэтому навыходе элемента.ИЛИ 19 также появляетсязначение нуля, которое запрещает вычитание единицы из содержимого счетчика 11 25тактов. С приходом на вход 23 очередноюсигнала ИСП триггер 20 сбрасывается вноль. На его инверсном выходе появляетсяединица(сигнал СВ), которая поступает навыход 30 и пятый вход, узла приоритетов, 30приводя его в исходное состояние. В следующем такте данный блок 2 готов к приему. новой микрокоманды,Рассмотрим работу узла 21 приоритетов. 35Узел 21 приоритета выполняет две фун кции: хранение и изменение в процессе работы приоритета блока и сравнение своегоприоритета со значением, поступающим отузла 7 местного управления, Информация от 40блока 7 местного управления поступает через (2 п)-разрядный вход 25 и содержит в, старших и разрядах значение приоритетамикрокоманды, выбранного для имитации .исполнения, в унитарном коде, В младших 45(и) разрядах передается маска сдвига приоритета, которая содержит единицы в раз рядах, соответствующих младшимприоритетам по отношению к свободному,Для хранения и изменения соответственного приоритета предназначен и-разрядный сдвиговый регистр 31, Он синхронизируется синхросигналами с входа 24 узла. Приподаче на второй и третий входы регистра31 комбинации "11" осуществляется записьзначения по его первому входу, при комби нации "01" и роисходит сдвиг содержимогорегистра в сторону старших разрядов, прикомбинации "00" регистр хранит информацию. Если данный блок свободен, то на входе 30 узла 21 приоритета установлено значение единицы, поэтому в младший разряд регистра в конце каждого такта записывается значение сигнала ЗАП 1 с входа 26. В старшие разряды регистра записываются нули. Когда данный блок занят микрокомандой, на входе 30 устанавливается ноль. При этом регистр 31 хранит значение приоритета. Если этот приоритет попадает в диапазон увеличиваемых, то регистр по очередному синхросигналу сдвигает хранимую единицу в сторону старших разрядов. Разрешение на сдвиг поступает с выхода второго элемента ИЛИ 42, который совместно с элементами И 37 - 40 реализует функциюи - 1СДПР =Ц (ПРл СД 1).=1 Старшийразряд не анализируется, поскольку далее невозможно увеличивать приоритет.Если значение в регистре совпадает со значением в старших и разрядах входа 25, то на выходе 29 узла появляется значение единицы. Функция сравнения реализуется элементами И 32 - 36 и элементом ИЛИ 41. На время действия синхросигнала элементы И 32-36 запираются нулем на выходе элемента НЕ 47.На старшие(п) разрядов второго выхода 23 поступает значение хранимого приоритета (младший разряд приоритета передавать нет смысла, поскольку в устройстве обязательно присутствует блок 2 обработки ми крокоманды с младшим приоритетом). С приходом на вход 23 сигнала ИСП это же значение поступает.на (и) младших разрядов выхода 28 в инверсном аиде, Для этих целей служат элементы И-НЕ 43-46. Значение на их выходах (ВКЛг) подтверждает вкл ючен ие хранимой микрокоманды в исполняемую совокупность на данный тактБлок 5 коммутации предназначен для определения возможности совмещения нескольких микрокоманд и выработки набора управляющих сигналов для совокупности совмещаемых микрокоманд. На .первый вход 62 адреса от блока 4 постоянной памяти поступает информация о наборе узлов и устройств процессора, участвующих в исполнении данного такта конкретной микро- команды. Она содержит код узла-источника информации, обрабатываемой данной микрокомандой, код назначения (устройства или узла, куда записан результат исполнения), ОсТальные необходимые устройства имеют значения единицы в соответствую; щем разряде первого входа 62 адреса, Навторой вход 63 поступают синхросигналы, Входы с третьего по (и+2)-й 64 - 66 предназначены для приема информации о блоке 2 обработки микрокоманды, анализируемой в данный момент.Первый выход 67 содержит полный набор управляющих сигналов для совокупности совмещаемых микрокоманд. Выходы с второго по (и+1)-й 68-70 предназначены для передачи в соответствующий блок 2 обработки микрокоманды подтверждения о включении данной микрокоманды в исполняемую совокупность микрокоманд (сигналы ИСП),5 10 Блок работает следующим образом На первый вход 62 адреса поступает заявка микрокоманды на устройства процессора из 3-го блока 2 обработки микрокоманды. Одновременно на одном из входов с третьего по(п+2)-й 64 - 66, подключенном к 1-му блоку 2 обработки микрокоманды, появляется значение единицы, Код источника с первого входа 62 поступает на первый дешифратор 48 и выбирает в качестве источ 20 25 30 ника один из узлов процессора. Код назначения с первого входа 62 поступает на второй дешифратор 49 и выбирает один из узлов процессора, Эта информация в совокупности с остальной частью информации входа 62 адреса поступает на первый, второй и третий входы узла 50 имитации процессора.Узел 50 имитации процессора состоит из набора ячеек 71, каждая из которых соответствует определенному узлу или функции процессора. Ячейки 71 объединены между собой связями, соответствующими связями между узлами процессора; На основании информации, поступившей на первый, втоцессора проверяется готовность к работе требуемых устройств и возможность их соединения между собой в данном такте исполнения, набора микрокоманд. При успешном 45 50 исходе проверки на четвертом выходе узла 50 имитации процессора и, соответственно, на первом выходе 67 появляются сигналы, управляющие коммутацией и функционированием узла процессора. На первом выходе узла 50 имитации процессора в разряде, соответствующем выбранному источнику, появляется значение единицы, которое через первый элемент ИЛИ 51 поступает на вход первого элемента И 55. На третьем выходе узла 50 имитации процессора в разряде, соответствующем выбранному преемнику, появляется значение единицы, которое через третий элемент ИЛИ 53 также поступает на вход первого элемента И 55. Во всех разрядах второго выхода узла 50 рой и третий входы узла 50 имитации про имитации процессора сохраняются значения нуля, вследствие чего на вьходе элемента НЕ 54 сохраняется значение единицы, полученное на выходе элемента И 55, поступающее на пятый вход узла 50 имитации процессора и фиксирующее связи, установленные для исполнения данной микрокоманды в данном такте. Это же значение при совпадении с единицей на 1-м входе с третьего по (и+2)-й 64-66 на входах 1-го элемента И 56 - 58 вырабатывает на его выходе единицу (сигнал ИСП), которая фиксируется 1-м триггером (59 - 61).С приходом на первый вход 62 адреса информации и микрокоманды, хранящейся в (1+1)-м блоке 2 обработки микрокоманды, все разряды первого, второго и третьего выходов узлов 50 имитации процессора обнуляются, а значение на его четвертом выходе сохраняется, Процесс проверки возможности исполнения анализируемой микрокоманды повторяется, При успешном исходе проверки набор управляющих сигналов на первом выходе 67 дополняется, Один из триггеров с первого по и;й 59-61, соответствующий (г+1)-му блоку 2 обработки микрокомандыустанавливается в единичное состояние. Этот процесс в данном такте повторяется для всех остальных блоков обработки микрокоманд до исчерпания очереди микрокоманд или до достижения отрицательного результата проверки.Отрицательный результат проверки характеризуется значением нуля на всех разрядах первого выхода узла 50.имитации процессора (отсутствует подтверждение готовности источника) или на всех разрядах третьего выхода узла 50 (отсутствует подтверждение готовности приемника), или наличием значения единицы хотя бы на одном разряде второго выхода узла 50 (невозможно подключить одно из требуемых устройств процессора). При этом состояние всего устройства управления не изменяется до конца данного такта.По окончании данного такта синхросиг.налом с второго входа 63 все триггеры с первого по и-й 59 - 61 и узел 50 имитации процессора устанавливаются в исходное состояние, При этом все разряды первого выхода 67 обнуляются, В следующем такте повторяется описанный процесс.Каждая ячейка 71 узла 50 имитации процессора предназначенадля имитации одного из функциональных узлов процессора (регистра, сумматора, мультиплексора и т.д.). Она связана с другими ячейками узла 50 имитации процессора и позволяет моделировать процесс занятия и освобождения связей имитируемого функционального уз 1691840ла. Сигналы, полученные в результате моделирования, управляют реальными входами- выходами имитируемого функционального узла, Совокупность ячеек 71 и связей между ними имитирует структуру процессора.Первый вход 75 ячейки является одним из разрядов первого входа узла 50 имитации процессора и предназначен для указа ия данной ячейки в качестве источника. торой вход 76 является одним иэ разрядов торого входа узла 50 имитации процессора предназначен для указания данной ячейки качестве требуемой для выполнения даной микрокоманды и не являющейся источиком или приемником. Третий вход 77 вляется одним из разрядов третьего входа эла 50 имитации процессора и предназнаен для указания данной ячейки в качестве приемника. Четвертый вход 63 предназнаен для синхронизации ячейки 71, пятый вход 78 - для фиксации состояния входов и выходов ячейки, шестой вход 79 - для указания логической операции над входами ячейки с седьмого по (р+6)-й (при значении нуля - выбор одного из единичных входов, при значении единицы - коньюнкция над входами). Входы с седьмого по (р+6)-й 80-83 предназначены для приема сигналов-заявок от ячеек, имитирующих узлы, подключенные к входам узла, соответствующего данной , ячейке, Входы с (р+7)-го по (р+о+6)-й 84-86 предназначены для приема сигналов-ответов от ячеек, имитирующих узлы, подключенные к выходам узла, соответствующего данной ячейке, Входы с (р+ о+7)-го по ( +Яц+6)-й 87-89 предназначены для приема сигналов - годтверждений срабатывания ячеек, имитирующихузлы, подключенные к , выходам узла, соответствующего даннойячейке.Первый выход 90 является одним из разрядов первого выхода узла 50 имитации процессора и передает подтверждение о го" товности к использованию данной ячейки в качестве источника. Второй выход 91 явля ется одним из разрядов второго выхода узла 50 имитации процессора и предназначен для передачи сообщения о том, что данная ячейка необходима для реализации данной микрокоманды, но не может быть задействована в текущем такте. Третий выход 92 являет одним из разрядов третьего выхода узла 50 и передает подтверждение о готовности испольэовать данную ячейку в качестве приемника, Четвертый выход 93 предназначен для передачи подтверждения срабатывания данной ячейки, Выходы с пятого по (р+4)-й 94 - 97 предназначены для выдачи ответных сигналов ячейкам, от которых поступипи сигналы-заявки. Они же образуют первый выход 67 блока 5 коммутации, Выходы с (р+5)-го по (р+ц+4)-й 98-100предназначены для передачи сигналов-заявок ячейкам, имитирующим узлы, подклю 5 ченные к выходам узла, соответствующегоданной ячейке.Ячейка может имитировать функциональные узлы процессора. При значении нуля на шестом входе 79 ячейка имитирует10 многовходовый функциональный узел, у которого может быть задействован олькоодин из входов. В целях упрощения механизма выбора входа все входы располагаются в порядке убывания приоритетов связей.15 При установлении связи через более предпочтительный вход все менее предпочтительные входы подавляются, Вопрос оприоритете (предпочтительности) связейрешается исходя из конкретной структуры20 процессора. К узлам такого типа можно отнести, напримео, мультиплексоры, регистры с мультиплексированием входов и ряддругих узлов, При значении единицы на шестом входе 79 ячейка имитирует многовхо 25 довый функциональный:,.узел., для работыкоторого необходимо обязательно подключение всех связей на входе. К таким узламмогут быть отнесены сумматоры, память, регистры со сложным управлением и т.д. Тип30 каждой конкретной ячейки определяетсяпри проектировании устройства управленияи значение на ее шестом входе 79 задаетсяв виде константы,Ячейки подключаются друг к другу сле 35 дующим образом.Допустим. что к входам К-й ячейки требуется подключить две ячейки 1 и), а к выходу - ячейки 1 и щ, Выходы ячеек и ) могутбыть подключены и к другим ячейкам кроме40 рассматриваемой М. К входам ячееки етакже могут быть подключены и другие ячейки. Следовательно, для 1-й ячейки рк и ц 1 сравно 2.По одному из выходов с (р+5)-го по45 (р+ц+4)-й 98-100 1-я и )-я ячейки (например,шестой 98 и для 1-й ячейки и седьмой 99 для5 10 20 30 35 40 55 той выход 95 1-й ячейки соединен с девятым входом (р 1+7) 84 к-й ячейки, а шестой выход 95 т-й ячейки соединен с десятым входом (рМ+7) 85 к-й ячейки. Четвертые выходы 93 1-й и е-й ячеек подключены к одиннадцатому (рк+цК+7) 87 и к двенадцатому (рЕ+с 1 К+8) 88 входам К-й ячейки, Кроме того, эти же выходы подключены к соответствующим входам ячеек, связанных с входами 1-й и щ-й ячеек.Рассмотрим функционирование узла 50 имитации процессора на примере описанной цепочки.Допустим, что 1-я ячейка выбрана в качестве источника (на ее первый вход 75 подан сигнал единицы), а а-я ячейка выбрана в качестве приемника (на ее третий вход 77 подан сигнал единицы). Допустим, что Е-я ячейка имитирует мультиплексор и связь между 1-й и гп-й ячейками возможна лишь через нее, Тогда на третьем выходе 125 узла 72 запоминания предшественника 1-й ячейки появляется сигнал единицы, который, поступая на второй вход 125 узла 73 запоминания преемника, вызывает появление значений единицы йа всех выходах с (р 1+5) по (р 1+ц 1+4) 98 - 100. Сигналы с этих выходов подаются на соответствующие входы всех ячеек, связанных с 1-й ячейкой, в том числе, на седьмой вход 80 Е-й ячейки, На третьем выходе 125 узла 72 запоминания предшественника К-й ячейки появляется сигнал единицы, который через второй вход 125 узла 73 запоминания преемника 1-й ячейки вызывает появление значения единицы на восьмом выходе 99. Эти значения поступают на восьмые входы 81, а-й и 1-й ячеек. 1-я ячейка работает аналогично К-й ячейке. 8 в-й ячейке значение единицы с третьего выхода 125 узла 72 запоминания предшественника поступает на второй вход 125 узла 73 запоминания преемника и вызывает появление значения единицы на третьем выходе 92, что подверждает готовность преемника. На втором выходе 123 узла 73 запоминания преемника устанавливается сигнал единицы, который поступает на узел 72 запоминания предшественника и вызывает повторение состояния входов с седь мого по (рв+6)-й 80 - 83, на выходах с пятого по(ра+4)-й 94 - 97. Это состояние характеризуется наличием единицы на шестом выходе 95 и нулями на остальных, Значение единицы на третьем 125 и четвертом 123 входах фиксатора состояния 74 вызывает появле,ние значения единицы на четвертом выходе 93, что означает подтверждение срабатывания в-й ячейки, На выходах с (рв+5)-го по (ргл+с 1 е+4)-й 98-100 установлено значение нуля, поэтому ячейки, являющиеся преемниками а-й ячейкине затрагиваются. Сигналы с выходов с пятого по (р+4)-й 94-97 п-й ячейки поступают на соответствующие входы с (р+7)-го по (р+ц+6)-й 84-86 всех ячеек, являющихся преемниками а-й, в том числе значение единицы поступает на десятый вход 85 К-й ячейки, а остальные ячейки получают значение нуля. В к-й ячейке поступление единицы на десятый вход 85 вызывает повторение состояния девятого входа 84 (нуля) и десятого входа 85 (единицы) на седьмом 98 и восьмом 99 выходах, а также появление единицы на втором выходе 123 узла 73 запоминания преемника, в результате чего так же, как в в-й ячейке, на четвертом выходе 93 появляется значение единицы, а на пятом 94 и шестом 95 выходах повторяются значения седьмого 80 (единица) и восьмого 81 (ноль) входов. Так как состояние седьмого выхода 98 К-й ячейки изменилось с единицы на ноль, то 1-я ячейка возвращается в исходное состояние. Поскольку на вход (р 1+7) 84 1-й ячейки поступает единица с пятого выхода 94 1-й ячейки, на втором выходе 123 узла 73 запоминания преемника 1-й ячейки появляется значение единицы, которое, поступая на узел 72 запоминания предшественника, вызывает появление единицы на первом выходе 90 (что означает готовность источника), а поступая на фиксатор 74 состояния, вызывает появление единицы но четвертом выходе 93, На выходах с (р+5)-го по (р+с+4)-й 98 - 100 повторяется состояние входов с (р+7)-го по (р 1+с 1+6)-й 84-86.Значения единицы на первом и третьем выходах узла 50 имитации процессора вызывают появление единицы на пятом входе 78, которое передается на пятые входы 78 всех ячеек, Состояние ячеек, имеющих значение единицы на четвертом выходе 93, фиксируется, вследствие чего на вторых выходах 124 их фиксаторов состояния 74 появляется значение единицы, которое фиксирует. состояние выходов с пятого по (р+4)-й 94-97 и с (р+5)-го по (р+о+4)-й 98-100 в узле 72 запоминания предшественников и узле 73 запоминания преемников,Допустим, что в данном тексте неообходимо также передать информацию из )-й ячейки источника в 1-ю ячейку приемника, )-я ячейка начинает функционировать так же, как и 1-я ячейка, однако вследствие того, что все выходы 1-й ячейки зафиксированы, в 1-ю ячейку через М-ю ячейку информация не поступает. Если между )-й ячейкой и 1-й ячейкой нет связи, кроме как через 1-ю ячейку, то ни на один иэ выходов с седьмого по (р+6)-й 80-83 1-й ячейки не поступает значе

Смотреть

Заявка

4666552, 24.03.1989

ИНСТИТУТ КИБЕРНЕТИКИ ИМ. В. М. ГЛУШКОВА

КРИЧЕВСКИЙ БОРИС МИХАЙЛОВИЧ, ЛЮБАРСКИЙ ВАЛЕРИЙ ФЕДОРОВИЧ, ЯКУБА АНАТОЛИЙ АЛЕКСАНДРОВИЧ

МПК / Метки

МПК: G06F 9/00

Метки: микропрограммной, эвм

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

Код ссылки

<a href="https://patents.su/17-1691840-ustrojjstvo-upravleniya-mikroprogrammnojj-ehvm.html" target="_blank" rel="follow" title="База патентов СССР">Устройство управления микропрограммной эвм</a>

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