Устройство управления конвейерным вычислительным устройством
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Номер патента: 1751757
Авторы: Караванова, Прохорова, Степановская
Текст
(55 О 0 00 ОБРЕТЕН И ДЕТЕЛЬСТВУ Л. В. Каравано и Ыопоаезз, Юсйоаз Ямбу о 1 Оесоцреб . - ЕЕТгапзасйопзйо 8, 1986,льство СССР30, 1980. ВЛЕНИЯ КОНВЕЙЬНЫМ УСТРОЙСТится к вычислительачено для использороизводительных бработки информа - повышение быст- . я цель достигается Изобретение относится к вычислительной технике и предназначено для использования в высокопроизводительных цифровых системах обработки информации.Известно устройство управления скалярными вычислениями, в котором поток команд разделяется на два потока; в первом осуществляются операции обменов между регистровой и общей памятью и поддержка адресных операций - индексирование, операции с косвенной адресацией, второй поток предназначен для исполнительных операций и работает только с регистровыми данными, Целью разделения является со-. вмещение этих операций и уменьшение времени выполнения программы,ГОСУДАРСТВ Е ННЫЙ КОМИТЕТПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМПРИ ГКНТ СССР ОПИСАНИ К АВТОРСКОМУ СВ(21) 4903704/24(54) УСТРОЙСТВО УПРЕРНЫМ ВЫЧИСЛИТЕЛВОМ(57) Изобретение относной технике и предназнвания в высокопцифровых системах оции; Цель изобретенияродействия, Указанна благодаря сочетанию в его реализации принципа насыщения конвейера командами нескольких независимых программ с принципом конвейера без блокировки между командами независимых программ эа счет введения индивидуального управления выдачей на обработку очередной команды каждой из программ. Для этого предлагаемое изобретение содержит коммутатор кодов условий, буферную память кодов условий, коммутатор условий, формирователь адреса, регистр адреса, память команд, регистр команд, дешифратор типа команды, регистр кода операций, регистр адреса первого операнда; регистр номера программы, регистр адреса второго операнда, регистр адреса результата, буферную память операндов, четыре буферных регистра, коммутатор операндов, блок пересылок, блок распределения результатов. 3 э. и, ф-лы, 5 ил. Однако для обеспечения такого разделения необходиммеханизм проверки информационной независимости между командами двух потоков для блокировки зависимых команд, возможно, на нескольких этапах конвейера, что приводит к усложнению реализации,Наиболее близким к заявленному устройству является устройство управления конвейерным вычислительным устройством, содержащее память команд, первый и второй регистры кода операций, коммутаторусловий, регистр адреса первого операнда, два буферных регистра, дешифратор типа команды и регистр команд.Это устройство является конвейерным, производит одновременное решение й заресылок и группой информационных входов коммутатора кодов условий, первый выходпервой группы сыходов коммутатора операндов является выходом устройства дляподключения к входам операндов и кодаОпераций конвейерного вычислительногоустройства, второй, третий и четвертый выходы первой группы выходов коммутатора операндов соединены соответственно спервым и вторым информационными входами и управляющим входом блока распределения результата, первый и второй выходы второй группы выходов коммутатора операндов соединены соответственно с первыми управляющим и информационнымвходами блока пересылок, вторые управляющий и информационный входы которогоявляются входами устройства для подключения к выходам памяти операндов, выходустройства для подключения к входам памяти операндов является первым выходом блока пересылок, второй и третий, четвертый и пятый выходы которого соединены соответственно с информационным входоми входом управления записью буферной памяти операндов, первым и вторым управляющими входами формирователя адреса, тактовыл вход устройства соединен с синхровходами блока пересылок, регистра номера программы, регистра адреса втооого операнда, регистра адреса результата, формирователя адреса, буферной памяти кодов условий и синхровходами третьего и четвертого буферных регистров, выходы которыхсоединены с первым и вторым информационными входами коммутатора операндов, третий и четвертый информационные входы которого соединены с выходом первого и второго буферных регистров, второй выход 20 ЗО первого буферного регистра соединен с управляющим входом коммутатора операндов, первый выход дешифратора типа команды соединен с входами записи регистров адреса первого операнда, номерапрограммы, адреса второго операнда, адреса результата, второй и третий выходы де. шифратора типа команды соединены соответственно с третьим и четвертым управляющими входами формирователя адреса, выход которого соединен с информационным входом регистра адреса, выход коммутатора условий соединен с информационным входом буферной памяти кодов условий, выход которой соединен с информационным входом коммутатора условий, вь 1 ход которого соединен с пятым управляющим входом формирователя адреса, шестой управляющий входи информационный вход которого соединены с выходами признака конца команды и поля адреса перехода регистра команд соответственно, выход поля номера программы которого соединен с адресным входом буферной памя-. ти кодов условий, информационным входом регистра номера программы и седьмым управляющим входом формирователя адреса, выходы полей адреса первого операнда, адреса второго операнда, адреса результата регистра команд соединены с информационными входами соответственно регистров адреса первого операнда, адреса второго операнда и результата, второй адресный вход буферной памяти операндов соединен с выходом регистра адреса второго операнда, выход регисгра номера программы соединен с входом управления чтением буферной памяти операндов и втооым информационным входом второго буферного регистра, второй выход буферной памяти операндов соединен с информационным входом третьего буферного регистра, информационный вход четвертого буферного регистра соединен с выходом регистра адреса результата,2, Устройство по и, 1, о т л и ч а ю щ е ес я тем, что блок пересылок содержит два коммутатора, группу элементов ИЛИ, группу регистров, группу блоков элементов И, два регистра, блок элементов И, дешифратор, счетчик, элемент И, генератор импульсов, триггер, два элемента ИЛИ, шифратор, блок элементов задержки, блок элементов ИЛИ, причем групда управляющих первый и второй управляющие входы блока соединены с группой управляющих входов первого коммутатора, группа выходов которого соединена с входами соответствующих элементов ИЛИ группы и с информационными входами соответствующих регистров группы, выход 1-го (1=1, Й; К - максимальное число программ, одновременно выполняемых в конвейерном вычислительном устройстве) элемента ИЛИ группы соединен с входом записи 1-го регистра группы и входом установки 1-горазряда первого регистра, выход которого соединен с первым входом блока элементов И, второй вход которого соединен с выходом дешифратора, вход которого соединен с выходом счетчика, счетный вход которого соединен с выходом элемента И, первый и второй входы которого соединень 1 соответственно с выходом генератора импульсов и выходом триггера, единичный вход которого соединен с входом записи второго регистра, синхровходами регистров группы и синхровходом блока, первый и второй информационные и группа информационных входов которого соединены с группой информационных входов первого коммутатора, выход 1-го элемента И175175721 22блока элемента И соединен с первым вхо- лексора соед .нены соответственно с индом 1-го блока элементов И группы, с 1-м формационным входом К-го регистра втовходом первого элемента ИЛИ, 1-м входом рой группы и с первцм информационным шифратора и входом 1-го элемента задвржки входом (К)-го регистра третьей группы, блока элементов задержки, выход которого 5 выход, К-го регистра второй группы соедисоединен с входом сброса соответствующе- нен с первым информационным входом К-го го разряда первого регистра, выходпервого регистра третьей группы, группа входов элемента ИЛИ соединен с входом сбросаблока распределейия результатов соединетриггера, выход 1-го регистра группы соеди- на с вторымй информационными входами нен с вторым входом соответствующего 10 регистров третьей группы, выходы которых блока элементов И группы, выход которого образуют первую и вторую группу выходов соединен с 1-м входом блока элементов блока распределения результатов.ИЛИ, (И+1)-й вход которого соединен с вы, Устройство по и. 1, о т л и ч а ю щ е еходом шифратора, выход блока элементов с я тем, что формирователь адреса содержит ИЛИ соединен с информационным входом 15 два дешифратора, две группы элементов И, второго регистра, первая группа выходов: три группыэлементов ИЛИ, группу счетчикоторогосоединенасгруппойвходоввторо- ков, группу блоков элементов И, группу го элемента ИЛИ и группой информацион-;, триггеров, блок элементов И; блок элеменных входов второго коммутатора, тов ИЛИ, элемент ИЛИ, формирователь иминформационный и группа управляющих 20 пульсов, причем первый и второй входов которого соединены соответственно управляющие входы формирователя адреса с выходом второго элемента ИЛИ и второй соединены с информационным и стробиругруппой выходов второго регистра,выходы. ющимвходами первого деШифратора, 1-й второго коммутатора образуют выходы бло-; выход которого (1=1; Й,й - число выполняека с первогопо пятый. 25 мых одновременно программ) соединен с .3, Устройство по и. 1, о т л и ч а ю щ е е- "первым входом 1-го элемента ИЛИ первой с я тем, что блок распределения результатовгруппы,вь 1 ход которогосбединенсединич-.содержит три группы регистров, группу де-:ным вхбдом соответствующего триггера . шифраторов и группу демультиплексоров, группы. выход которого:соединен с первым причем синхровход блока распределения 30 входом соответствующего блока элементов результатов соединен с входами записи ре-И группы, выход которого соединен с вхогистров группу с первой по третью, управля- дом соответствующего"элемента ИЛИ втоющий вход блока распределения рой группы и соответствующим входом результатов соединен с информационным блока элементов ИЛИ, выход которого соевходом первого регистра первой группы; 35 динен с входом элемента ИЛИ и является первый и второй информационные входы выходом формирователя адрсса, третий и блока распределения результатов соедине- четвертый управляющие входы которого соны с первым и вторым информационнымиединены с первыми входами элементов входами первого оегистра второй группы, ИЛИ третьей группыи элементов И первой выход )-го Д=ГК - 2, К - число тактов, за 40 группы, выходы которых соединены с втокоторое выполняется самая длинная коман-рыми входами соответствующих элементов да) регистра первой группы соединен с ин- ИЛИ третьей группы, выходы которых соеформационным входом Я+1)-го регистра динены с входами записи-счета соответстпервой группы и входом )-го дешифратора вующих счетчиков группы, выходы которых группы, выход которого соединен с управля соединены.с вторыми входами соответствующим входом )-го демультиплексора груп- ющих блоков элементов И группы, пятый пы, информационный вход которого управляющий вход формирователя адреса соединен с выходом )-го регистра второй соединен с вторыми входами элементов И группы,первыйивторойвыходыдемультип- первой группы, третьи входы которых соелексора соединены соответственно с ин динены с соответствующими выходами вто. формационным входом 0+1)-го регистра рого дешифратора и первыми входами второй группы и первым информационным блоков элементов И, вторые входы которых входом)-го регистра третьей группы, выход соединены с шестым управляющим входом (К)-го регистра первой группы соединен с формирователя адреса, седьмой управляю- входом(К)-го дешифратора группы, выход 55 щий вход которого соединен с входом втокоторого соединен с управляющим входом рого дешифратора, информационный вход (К)-го демультиплексора группы, инфор- формирователя адреса соединен с информационный вход которого соединен с выхо- мационными входами счетчиков группы, вц дом (К)-го регистра второй группы ходы блока элементов И соединены с первый и второй выходы (К)-го демультип- вторыми входами соответствующих элементов ИЛИ первой группы, синхровход формирователя адреса соединен с входом запуска формирователя импульсов и первыми входами элементов И второй группы, выходы которых соединены с входами сброса соот ветствующих триггеров группы, выход элемеоа ИЛИ соединен с входом останова формирователя импульсов, группа выходов которого соединена с третьими входами со-. ответствующих блоков элементов И группы, 10 выходы элементов ИЛИ второй группы соединены с вторыми входами соответствующих элементов И второй группы, синхровход формирователя адреса соединен с синхровходами счетчиков группы, выход 1-го элемента ИЛИ первой группы соединен с.входом разрешения счета 1-го счетчика группы.1751757 0 Р 5 л.10 тпЬл 0 щ Ь. и Составитель Ю.ЛенцовРедактор М.Циткина Техред М,Моргентал рректор Н,Бучок роизводственно-издательский комбинат "Патент", г, Ужгород, ул.Гагарина, 101 аказ 2 б 92 Тираж Подписное ВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ С 113035, Москва, Ж, Раушская наб 4/5дач, т,е, выполняет И программ, и содержит М этапов обработки, причем п из них (п.=й) составляет этапы обработки в конвейерном вычислительном устройстве,К недостаткам данного устройства следует отнести ограниченность обрабатываемой, программной информации (запись результата команды в память операндов производится только по специальной комаиде записи: в двуместных арифметических и логических операциях один из операндов адресуется только как результат предыдущей команды, поэтому для двуместной команды, не использующей результат. предыдущей команды, приходится второй операнд получать как результат паразитной команды пересылки. передаваемой через конвейерное вычислительное устройство беэ преобразования на и тактов). Кроме того, это устройство относится к классу синхронных устройств с блокировками, в 20 25 ет не только (+1)-ю команду )-й программы, но и 1-ю команду (+1)-й программы, поэтому времй выполнения любой команды любой программы выравнивается до и тактов, В результате программы с разными по длительности командами(арифметические операции с фиксированной запятой и с плавающей запятой, логические операции, операции пересылок и т,п,) выполняются с задержками для "коротких" команд, чтоснижает общую скорость выполнения программ тем сильнее, чем больше "коротких" команд содержит программа.Недостатком данного устройства является также то, что заявки к памяти операндов обязательно должны быть удовлетворены за один такт. Это означает, что при реализации устройства либо тип памяти операндов ограничивается только регистровой памятью и конвейерное вычислительное устройство работает без остановок при наличии всех операндов всех программ в памяти операндов, либо для работы с произвольной памятью следует принять за рабочий такт максимальное время удовлетворения заявки к памяти, В последнем случае в соответствующее число раз увеличивается время выполнения программы, а в первом случае работе конвейерного вычислительного устройства должен предшествовать режим загрузки регистровой памяти операндов.Цель изобретения - повышение быстродействия.Сущность изобретения состоит в следующем,Устройство управления просктируется как конвейерное устройство с блокировка 40 которых 1-я команда 3-й программы блокируми между командами одной программы и без блокировок между командами разных программ, а именно 1-я команда)-й программы бокирует (+1)-ю команду)-й программы, но не блокирует команды других программ,Благодаря отказу в заявленном (конвейерном) устройстве управления от принципа блокировки между командами разных программ, принятого в прототипе и реализованного в виде синхронного конвейерногоустройства с и+2 этапами обработки (в котором возникают паразитные передачи информации через конвейерное вычислительное устройство без ее изменения), в предлагаемом устройстве достигается повышение быстродействия, причем результирующая скорость выполнения команд любой программы не зависи 1 от того, использует или нет текущая команда результат предыдущей команды,Принцип отказа от блокировки между командами разных программ в устройстве управления конвейерными вычислительными устройством предлагаемтся поддержать применением конвейерного вычислительного устройства с раздельными трактами обрабогки для разновременных арифметических и логических операций, результаты которых вырабатываются на разных звеньях конвейера,Поставленная цель достигается эа счет того, что в устройство управления конвейерньол вычислительным устройством, содержащее коммутатор условий, регистр адресапамять команд, регистр команд, буфернуюпамять операндов, регистр кода операций, регистр адреса первого операнда, два буферных регистра и дешифратор типа команды, причем вход начальной установки устройства соединен с установочными входами регистра адреса, выход которого соединен с адресным входом памяти команд, выход которой соединен с информационным входом регистра команд, вход записи которого соединен с входом записи регистра адреса и является тактовым входом устройства, выход поля кода операции регистра команд сОединен с входом дешифратора типа команды и информационным входом регистра кода операции, синхровход и вход записи которого соединены соответственно с тактовым входом устройства и первым выходом дешифратора типа команды, выход поля номера анализируемого условия регистра команд соединен суправляющим входом коммутатора условий, выход регистра адреса первого операнда соединен с первым адресным входом буферной памяти операнда, первый выход которого соединен с информационным45 50 55 входом первого буферного регистра, первый информационный вход второго буферного регистра соединен с выходом регистракода операции, синхровходы первого и второго буферных регистров и буферной памяти операндов соединены с тактовым входомустройства, введены коммутатор кодов условий, буферная память кодов условий, формирователь адреса, регистр номера программы, регистр адреса второго операнда, регистр адреса результата, третий и четвертый буферные регистры, коммутатороперандов, блок пересылок и блок распределения результатов, группа входов которого соединена с группой входов устройства для подключения к группе выходов кода результата конвейерного вычислительного устройства, тактовый вход устройствасоединен с синхровходом блока распределения результатов, первая и вторая группы управля 1 ощих выходов которого соединены соответственно с группой управляющихвходов блока пересылок и группой управляющих входов коммутатора кодов условий, первая и вторая группы информационных выходов блока распределения результатовсоединены соответственно с группой информационных входов блока пересылок игруппой информационных входов коммутатора кодов условий, первый выход первойгруппы выходов коммутатора операндов является выходом устройства для подключения к входам операндов, кода операцийконвейерного вычислительного устройства, второй, третий и четвертый выходы первойгруппы выходов коммутатора соединены соответственно с первым и вторым информационными входами и управляющим входомблока распределения результатов, первый ивторой выходы второй группы выходов коммутатора операндов соединены соответственно с первыми управляющим и информационным входами блока пересылок, вторые управляющий и информационный входы которого являются входами устройства для подключения к выходам памяти операндов, выход устройства для подключения к входам памяти операндов является первым входом блока пересылок, второй и третий, четвертый и пятый выходы которого соединены соответственно с информационным входом и входом управления записью буферной памяти операндов, первым и вторым управляющими входами формирователя адреса, тактовый вход устройства соединен с синхровходами блока пересылок, регистра номера программы, регистра адреса второго операнда, регистра адреса результата, формирователя адреса, буферной . памяти кодов условий и 102040 синхровходами 1 ретьего и четвертого буферных регистров, выходы которых соединень; с первым и вторым информационными входами коммутатора операндов, третий и четвертый информационные входы которого соединены с выходоля первого буферного регистра и первым выходом второго буфер. ного регистра, второй выход которого соединен с управляющим входом коммутатора операндов, первый выход дешифратора типа команды соединены с входами записи регистров адреса первого операнда, номера программы, адреса второго операнда, адреса результата, второй и третий выход,цешифратор,"-. типа команды соединены соответственно с третьим и четвертым управляющими входами формирователя адреса выход которого соединен с информационным входом регистра адреса, выход коммутатора кодов условий соединен с информационным входом буферной памяти кодов условий, выхо,ц которой соединен с информационным входом коммутатора условий, выход которого соединен с пятыля управляющим входом формирователя адреса, шестой управляющий вход и информационный вход которого соединены с выходами признака конца команды и поля адреса перехода регистра команд соответственно, выход поля номера программы которого соединен с адресными входом буферной памяти кодов условий, информационным входом регистра номера программы и седьмым управляющим входом формирователя адреса, вьходы полей адреса первого операнда, адреса второго операнда. адреса результата регистра команд соединены с информационными входами соответственно регистров адреса первого операнда, адреса второго операнда и результата, второй адресный вход буферной памятью операндов соединен с выходом регистра адреса второго операнда, выход регистра номера программы соединен с входом управления чтением буферной памяти операндов и вторым информационным входом второго бу-. ферного регистра, второй выход буферной памяти операндов соединен с информационным входом третьего буферного регистра, информационный вход четвертого буферного регистра соединен с выходом регистра адреса результата,Кроме того, блок пересылок содержит два коммутатора, группу элементов ИЛИ, группу регистров, группу блоков элементов И, два регистра, блок элементов И, дешифратор, счетчик, элемент И, генератор импульсов, триггер, два элемента ИЛИ, шифратор, блок элементов задержки, блок "пементов ИЛИ, пичем группа управляю10 15 20 25 ЗО 35 40 50 щих входов, первый и оторой управляющие входы блока соединены с группой управляющих входоо первого коммутатора, группа выходов которого соединена с входами соответствующих элементов ИЛИ группы, с информационными входами соответствующих элементов ИЛИ группы и с информационными входами соответствующих регистров группы, выход 1-го (=.1, Й, гдеИ - максимальное число одновременно выполняемых в конвейерном вьчислительном устройстве программ) элемента ИЛИ группы соединен с входом записи 1-го регистра группы, оходом установки 1-го разряда 1-го регистра группы и входом установки .го разряда первого регистра, выход которого соединен с первым входом блока элементов И; второй вход котороо соединен с выходом дешифратора, вход которого соединен с оыходол счетчика, счетный вход которого соединен с выходом элемента И, первый и второй входы которого соединены соответ- ственно с выходом генератора импульсоо и выходом триггера, единичный вход которого соединен с оходом записи второго регистра, синхрооходами регистров группы и синхровходом блока пересылок, первый и второй информационные входы и группа информационных оходоо которого соединены с группой информационных входов первого коммутатора, выход -го элемента И блока элементов И соединен с первым входом 1-го блока элемента И группы, с 1-и входом первого элемента ИЛИ, -м входом шифратора и входол 1-го элемента задержки блока элементов задержки, выход которого соединен с входом сброса соответствующего разряда первого регистра, выход первого элемента ИЛИ соединен с входом сброса триггера, выход 1-го регистра группы соединен с вторым входом соответствующего блока элементов И группы, выход которого соединен с 1-м входом блока элементов ИЛИ, (И+1)-й вход которого соединен с выходом шифратора, выход блока элементов ИЛИ соединен с информационным входол второго регистра, первая группа выходов которого соединен с группой оходоо второго элемента ИЛИ и группой информационных входов второго коммутатора, информационный вход и группа управляющих входов которого соединены соответственно с выходом второго элемента ИЛИ и второй группой выходов второго регистра, выходы второго колмутатора образуот оыходы блока с первого по пятый,Кроме того, блок распределения результатов содержит три группы регистров, грудпу дешифраторов и группу демультиплексороо, причем синхровход блока распределения результатов соединен с входами записи регистров групп с первой по третью, управляющий вход блока распределения результатов соединен с информационным входом первого регистра первой группы, первый и второй информационные входы блока распределения результатов соединены с первым и вторым информационными входами первого регистра второй группы, выход)-го(1=1, ГГ, К - число тактов, за которое выполняется самая длинная команда) регистра первой группы соединен с информационным входом Я+1)- го регистра первой группы и входом )-го дешифратора группы, выход которого соединен с управляющим входом 1-го демультиплексорагруппы, информационный вход которого соединен с выходом )-го регистра второй группы, первый и второй выходы демультиплексора соединены соответственно с информационным входом )+1)-го регистра второй группы и первым информационным входом)-го регистра третьей группы, выход (К)-го регистра первой группы соединен с входом (К - 1)-го дешифратора группы, выход которого соединен с управляющим входом (К - 1)-го демультиплексора группы, информационный вход которого соединен с выходом К)-го регистра второй группы, первый и второй выходы (К - 1)-го демультиплексора соединены. соответственно с информационным входом К-го регистра второй группы и с первым информационным входом К - 1)-го регистра третьей группы, выход К-го регистра второй группы соадинен с первым информационным входом К-го регистра третьей группы, группа входов блока распределения результатов соединены с вторыми информационными входами регистров третьей группы, выходы регистров третьей группы образуют первую и вторую группы выходов блока распределения результатов,Кроме того, формирователь адреса содержит доа дешифратора, две группы элементов И, три группы элементов ИЛИ,группу счетчиков, группу блоков элементов И, группу триггеров, блок элементов И, блок элементов ИЛИ, элемент ИЛИ, формирователь импульсов, причем первый и второй управляющие входы формирооателя адреса соединены с информационным и стробирующим входами первого дешифратора, 1-1 выход которого (=1, К, К - число выполняемых одновременно программ) соединен с первым входом 1-го элемента ИЛИ первой группы, оыход которого соединен с единичным входом соответствующего триггера группы, выход которого соединен с первым входом соответствующего блока элементовИ группы, выход которого соединен с вхо- дешифратор 8 типа команды, регистр 9 кодадом соответствующего элемента ИЛИ:вто- операций, регистр 10 адреса первого оперой группы и соответствующим входом ранда, регистр 11 номера программы, реблока элементов ИЛИ, выход которого сое- гистр 12 адреса второго операнда, регистрдинен с входом элемента ИЛИ и является 5 13 адреса результата, буферную память 14выходом формирователя адреса, третий и операндов;"четыре буферных регистра 15 четвертый управляющие входы которого со, коммутатор 19 операндов, блок 20 переединены с первыми, входами элементовсылок, блок 21 распределениярезультатов,ИЛИ третьей группы и элементов И первой вход 22.1 синхронизации,вход 22.2 начальгруппы, выходы которых соединены.с вто.нойустановки,рыми входамй соответствующих элементовПри этом регистр 7 команд имеет выходИЛИ третьейгрупйы, выходы которйх сое прйзнака конца-командыперехода, выдинены с входами записи/счета соответст-ход 24 поля адреса йерехода, выход 25 полявующих счетчиковтруппы, выходы которыхкода операции, .выход 2 фФоля номера просоединены с вторыми входами соответСтву-.15граммы, выход 27.поля адреса первого опе;ющих блоков элементов И группы, пятый" ранда, вйход 28 поля адреса второгоуправляощий вход формирователя адреса операнда, выход 29 поляадреса результатасоединен с вторыми входами элементов И и выход 30 поля номера аналйзируемогопервой группы, третьи входы которых сое-:,условия. "динены с соответствующими выходами вто Кроме того,устройство содерйит выходрого дешифратора и йервыми вхбдами 31 для подключения к" Входам операндов,блока элементов И, вторые входы которйх". кода операции конвейерного вычислительсоединены с шестым управляющим входомного устройства, группу входов 32.1 - 32.Кформирователя адреса, седьмой управляю-для подключенияк-труппе выходов кодов. щий вход которого соединен с входом вто результатовконвейерного вычислительногорого дешифратора, информационный вход устройства, выход 33 и вход 34 для подклюформирователя адреса соединен с инфор. чения к памяти операйдов.мационными входами счетчиков групйц, вы- Дешифратор 8 имеетвыход 35 (признаходы блока элементов И соединены с ". ка команды безусловного перехода), выходвторыми входами соответствующих злемен-30 36 (признака команды условного перехода).тов ИЛИ первой группы, синхровходформи-. и выход 37 (признакаисполнительной ко-рователя адреса соединен с входом запускаманды или командыпересылок).формирователя импульсов и первыми вхо-; -, Блок 20 пересылок имеет группу управ дами элементов И второй группы; выходы.ляющих входов 38.1 - 38.К+2 (где К - максикоторых соединены свходами сброСа соот-. 35 мальное количество поступающих ответствующих триггеров группы, выход эле- конвейерного вычислительнбго устройствамента ИЛИ соединен с входом останова кодов результатов), группу информационформирователя импульсов, группа выходов ных входов 39.1 - 39,К+2, группы информацикоторого соединена с третьими входами со- - онных выходов 40.1, 40.2, 41,1, 41,2,ответствующихблоков,элементов И группы, 40 Блок 21 распределения результатоввыходы элементов ИЛИ второй группы сое-. имеет управляющий вход 42, первый 43 идинены с вторыми входами соответствую- второй 44.информационные входы. Блок 20щих элементов И второй группы,пересылок (фиг, 2) содержит коммутатор 45,синхровход формирователя адреса .соеди-: . группу из элементов ИЛИ 46.1, 46.й (где й -нен с синхровходамисчетчиков группы;вы максимальйое количествО одновременноход 1-го элемента ИЛИ первой группы . выполняемых программ в конвейерном вы соединен с входом разрешения счета 1-го . числительномустройстве),группуизйрегисчетчика группы. стров 47.1-47,М,группу из й блоковНафиг.1 показанафункциональнаясхе- - элементов И 48.1-48 М, регистр 49, блокма устройства управления конвейерным вы элементов И 50, дешифратор 51, счетчик 52,числительным устройством; на фиг. 2 - блок . элемент И 53, генератор 54 импульсов,триг-пересылок; на фиг. 3 - распределения ре- гер 55, элемент ИЛИ 56,шифратор 57, блок 58зультатов; на фиг.4 - формировательадре- элементов задержки, блок 59 элементовСа; на фиг. 5 - . буферная память операндов ИЛИ, регистр 60, элемент ИЛИ 61 и коммуустройство управления конвейерным 55 татор 62.вычислительнымустройством (фиг. 1) содер- Блок 21 распределения результатовжит коммутатор 1 кодов условий, буферную (фиг. 3) содержит группу регистров 63, группамять 2 кодов условий, коммутатор 3 усло- пу дешифраторов 64, группу регистров 65,вий, формирователь 4 адреса, регистр 5 ад- группу демультиплексоров 66 и группу региреса, память 6 команд, регистр 7 команд, строе 67.Формирователь 4 адреса (фиг, 4) содержит дешифратор 68, группу элементов И 69, группу элементов ИЛИ 70, группу счетчиков 71, группу блоков 72 элементов И, группу триггеров 73, группу элементов ИЛИ 74, 5 груйпу элементов И 75, группу элементов ИЛИ 76, блок 77 элементов И, дешифратор 78; блок 79 элементов ИЛИ, элемент ИЛИ 80 и формирователь 81 импульсов. Буферная память 14 операндов (фиг. 5) содержит дешифраторы 82, 83, группу блоков 84 регистров, две группы мультиплексоров 85, 86 и два блока 87, 88 элементов ИЛИ. Устройство работает следующим образомВ начальный момент времени все запоминающие узлы и блоки устройства устанавливаются в нулевое состояние (цепи 20 начальной установкина чертежах не показаны), В регистр 5 адреса через вход 22.2 запишется адрес первой команды программы первоначальной загрузки (для этого используются входы асинхронной установки соответствующих разрядов регистра 5), По этому адресу из памяти 6 команд считывается соответствующая команда, и по текущему тактовому импульсу, поступающемуна вход 22,1 синхронизации, считанная команда эаписывается в регистр 7 команд,В предложенном устройстве все команды условно делятся на команды передачи управления и остальные команды (исполнительные команды, команды пересылок и 30 т.д,) Для идентификации типа команды в предлагаемом устройстве используется дешифратор 8 типа команды,Если записанная в регистр 7 команда является командой безусловной передачи 40 управления, при дещифрации кода операции, поступившего с выхода 25 поля кода операции, нэ выходе 35 дешифратора появляется единичный сигнал, который поступает нэ соответстующий управляющий вход 45 формирователя 4 адреса, В результате этого формирователь 4 адреса при условии поступления сигнала признака конца команды, поступающего либо с выхода 23 на его информационный вход с выхода 24 регистра 7,Если записанная в регистр 7 команда яолявтся командой условной передачи управления, то при дешифрации кода операции, поступающего с выхода 25 поля кода 55 регистра 7 для команды безусловного пере хода, либо с выхода 41,2 блока 20 для исйолнительной командь 1, вырабатывает в текущем такте на своем выходе адрес безусловного перехода (А,б.пер.), поступивший операции, на выходе 36 дешифратора 8 появляется единичный сигнал, который поступает на соответствующий управляющий вход формирователя 4 адреса. В зависимости от значения логического условия (О или 1), которое выбираешься с выхода коммутатора по коду номера анализируемого условия, поступающему с выхода 30 регистра 7 на управляющий вход коммутатора 3, формирователь 4 адреса, при условии поступления сигнала признака конца команды, вырабатывает в текущем такте на своем выходе либо адрес условного перехода (при логическом условии, равном 1), поступающий на его информационный вход с выхода 24 реги-. стра 7", либо(при логическом условии, равном О) адрес, знэчнеие которого равно увеличенйому нэ единицу коду адреса, полученному в формирователе 4 в предыдущем такте.И, наконец, если записанная в регистр 7 команда относится к остальным типам команд, то на выходе 37 дешифратора 8 появляется единичный сигнал, который разрешает запись информации в регистры 9-.13, При этом по приходу очередного тактового импульса в регистр 9 записывается. код операции, в регистр 10 - адрес первого операнда, в регистр 11 - номер программы, в регистр 12 - адрес второго операнда, а в регистр 13 - адрес результата. С приходом следующего тактового импульса в буферный регистр 15 записывается информация из регистра 9 и регистра 11, в результате чего в нем хранится информация о коде операции и номере программы. Считанные из буферной памяти 14 операнды записываются в этом же такте в буферные регистры 16 и 17, э в буферный регистр 18 записывается информация из регистра 13,В зависимости от кода операции, посту. пающего нэ управляющий вход коммутатора 19 с выхода регистра 15, информация с выходов регистров 15 - 18 коммутируется либо на входы 38,К+1, 39,К+1, 39.К+1 блока 20 пересылок (для команд пересылок), либо на входы 42-44 блока 21 распределения результатов и выход 31 для передачи в конвейерное вычйслительное устройство (для исполнительных команд). Блок 20 пересылок осуществляет распределение операндов, поступающих на его информационные входы 39,К+1,39 К+2, и результатов (в том числе промежуточных), поступающих на его информационные входы 39,1 - 39.К, на его выходы 40 и ЗЗ. Кроме того, блок 20 пересылок осуществляет формирование сигнала признака конца команды по выходу 41,2 и передачу номера программыпо выходу 41,1 для управления формирователем 4 адреса,Блок 21 распределения результатов осуществляет передачу кодов результатов,номеров программы и номеров регистра ре эультата по выходам 38,1, 38.К, 39,1-39.К для блока 20 пересылок и передачу кодов условий и номеров программы соответственно на информационный и управляющий 10 входы коммутатора 1 кодов условий Коды условий максимальное количество которых равно максимальному количеству одновременно выполняемых программ) поступают в буферную память 2 и по теку 15 щему тактовому сигналу записываются в ее регистры, Считывание кодов условия из буферной памяти осуществляется по адресу, формируемому на выходе 26 поля номера программы регистра 7,Блок 20 пересылок (фиг. 2) работает следующим образом,На группу информационных входов 39.1 - 39,К блока 20 поступают коды результатов и коды номеров регистра результата с 20 25 выходом блока 21 распределения результатов, на информационные входы 39,К+1 и 39.К+2 поступают соответственно код операции, номер регистра результата, операнд, адреса операнда с выхода коммутатора 19 и операнд с входа 34 устройства, Все эти входы подключены к информационным входам коммутатора 45. На группу управляющих входов 38.1, 39.К+2 блока 20 пересылок поступают коды номеров программы с соот 30 35 ветствующих выходов блока 21,коммутатора 19 и с входа 34 устройства, к которым подключены управляющие. входы коммутатора 45, Коммутатор осуществляет переключение К+2 его информационных входов к его М выходам, причем порядок подключения регламентируется кодом на его управляющих входах,При наличии ненулевой информации на его 1-м выходе (1=1, Я 1-й элемент ИЛИ 46 40 45, формирует единичный сигнал, разрешающий запись информации в 1-м регистр 47,1, который записывается в него по текущему тактовому импульсу, и устанавливает в единицу 1-й разряд регистра 49,импульсов, триггера 55, элемента ИЛИ 56, шифратора 57 и блока 58 элементов задержки с соответствующими связями, представляющая из себя приоритетную схему, которая функционирует следующим образом. 55 Выбор информации, которую необходи мо передать через блок 59 элементов ЙЛИ, осуществляет совокупность регистра 49, блока 50 элементов И, дешифратора 51, счетчика 52, элемента И 53, генератора 54 По тактовому сигналу триггер 55 устанавливается в единичное состояние, разрешая тем самым прохождение импульса с генератора 54 через элемент И 53, Следует при этом отметить, что частота следования импульсов; вырабатываемых генератором 54, выбирается исходя.из реализации возможности опроса блоков 48,1 - 48,М элементов И за период 7 следОвания тактовых импульсов, поступающих на вход 22.1, т.е, больше йТ.Счетчик 52 совместно с дешифратором 51 начинает осуществлять распределение импульсов, поступающих с выхода элемента И 53 до того момента, пока единичная информация на 1-м выходе регистра.49 не совпадет с единичным импульсом, формируемым на 1-м выходе дешифратора 51.В этом случае на 1-м выходе блока 50 элементов И появится единичный сигнал, который разрешает передачу информации . через 1-й блок 48.1 элементов И на 1-й вход блока 59 элементов ИЛИ, заблокирует передачу импульсов от генератора 54 через элемент И 53 за счет сброса триггера 55 сигналом с выхода элемента ИЛИ 56, сбросит в ноль через блок 58 задержки 1-й разряд регистра 49 и позволит получить на выходе шифратора 57 код номера информации (являющийся кодом номера программы), передаваемый через 1-й блок 48,1 элементов И.В результате этого на выходе блока 59 элементов ИЛИ будет передаваться информация от одного из входов 39.1 - 39.К+2, со- . провождаемая номером программы, которая по очередному тактовому сигналу будет записана в регистр 60, Наличие ненулевой информации в регистре 60 свидетельствует об окончании выполнения команды, что реализуется с помощью элемента ИЛИ 61, на выходе которого формируется единичный признак конца команды.В зависимости от типа команды пересылок операции передаются либо на выход 33, либо на выходах 41, либо на выход 40, что реализуется с помощью коммутатора 62; на управляющий вход которого поступает код операции. При этом,на выход 33 для всех операций обмена передается код операции, адрес операнда, номер программы, а для операций записи еще и операнд, на выход 40.1 передается операнд,. на выход 40.2 - номер программы и номер регистра результата, на выход 41,1 - номер программы, на выход 41.2 - признак конца команды.Блок 21 распределения результатов (фиг, 3) работает следующим образом,С выхода коммутатора 19 на вход 42 поступает код операции, на вход 43 - номеррегистра результата, на вход 44. - номер программы.Коды операции последовательно по тактовым импульсам записываются в регистры 63 и анализируются в дешифрэторах 64, ко торые служат для определения длительности выполнения команды по коду операции. В соответствии с этим дешифратор 64 позволяет передавать инфррмацию через дд 10 мультиплексор 56 либо с выхода регистра 65 на информационный вход соответствующего регистра 67, либо на информационный вход "нижнего" регистра 65. В результате та) выполнения команды, поступающий на его информационный вход с одного из входов 32.1 - 32.К, сопровождаемый номером регистра результата и номером программы,причем темп поступления названной ин формации согласован с длительностью выполйейия команды,Формирователь 4 адреса (фиг, 4) работает следующим образом,При наличии в регистре 7 команды безусловной передачи управления на соединенные между собой входы элементов ИЛИ 70 поступает единичный сигнал с выхода 35 дешифратора 8. В результате этого на выходах всех элементов ИЛИ 70 появятся единичные сигналы, которые разрешают запись адреса перехода с выхода 24 регистра 7.в счетчики 71. С прйходом"тактового импульса адрес перехода записывается в 1-й счетчик 71 По номеру программы, который поступает с выхода 26 регистра 7, дешифратор 68 формирует на своем 1-м выходе единйчный сигнал, который передается на 1-й выход блока 77 элементов И, поскольку на выходе 23 регистра 7, при наличии в нем команды безусловной или условной передачи управления, находится единичный сигнал, разрешающий передачу информации через блок 77 элементов И, В результате этого пройдя через 1-й элемент ИЛИ 74, он установйт вединицу 1-й триггер 73, подготовив тем самым 1-й блок 72 элементов И к передачеинформации с Выхода 1-го счетчика 71. 50 Запустившийся по тактовому импульсу формирователь 81 последовательно формирует на своих выходах импульсы, частота следования которых выбирается исходя из реалйзации возможности опроСа Й блоков 72 элементов И за период Т следования тактовых импульсов,Поступивший на соответствующий вход 1-го блока 72 элементов И импульс опроса с соответствующего выхода формирователя этогО на выход каждого из регистров 67 передается результат (с признаком результа 81 разрешит передачу адреса перехода с выхода 1-го счетчика 71, который, с одной стороны, через блок 79 элементов ИЛИ поступит на выход формирователя 4 адреса, а с другой стороны, эта (ненулевая) информация, поступив на выходы 1-го элемента ИЛИ 76 по очередному тактовому импульсу, вызовет установку в ноль 1-го триггера 73 (через 1-й элемент И 75).Кроме того, при прохождении ненулевой информации через блок 79 элементов ИЛИ произойдет останов формирователя 81 импульсов посредством формирования единичного сигнала на выходе элемента ИЛИ .80.: При наличии в регистре 7 команды условной передачи управления на соединенные между собой входы элементов И 69 поступает единйчный сигйал с выхода 36 дешифратора 8. В зависимости от значения логического условия (О или 1) выбранный дешифрэтором 68 1-й элемент И 69 пройустит на свой выходсоответственно нулевой или единичный сигнал, который беспрепятственно проходит через 1-й элемент ИЛИ 70.Если на выход 1-го элемента ИЛИ поступит единичный сигнал (" успешный переход"), то 1-й счетчик 71 запишет адрес перехода с выхода 24 регистра 7, В этом случае дальнейшая работа формирователя 4 адреса будет совпадать с режимом формирования адреса при наличии команды безусловной передачи управления,Если на выход 1-го элемента ИЛИ 70 поступит нулевой сигнал, а с выхода 1-го элемента ИЛИ 74 поступит единичный сигнал, что соответствует тому, что в текущей команде 1-й программы не произошел "успешный переход", то 1-й счетчик 71 по тактовому импульсу осуществит наращивание своего содержимого на единицу.,В дальнейшем формирователь 4 адреса будет функционировать так же, как и в режиме безусловной передачи управления,. И, наконец, если в регистре 7 записана какая-либо из других команд (команда пересылок, исполнительные команды), то на выходах 35, 36 дешифраторэ 8, на выходе 23 регистра 7 формируются нулеыве сигналы, В этом случае 1-й счетчик 71 наращивает на единицу свое содержимое, если на 1-м выходе дешифратора 78 формируется единичный сигнал, на стробирующий и информационный входы которого поступают соответственно признаки конца команды и номер программы с выходов 41.1 и 41.2 блока 20 пересылок. Этим же сигналом осуществляется установка в единицу 1-го триггера 73.В остальном формирователь 4 адреса функционирует так же, как и в другихслучаях. Формуаа изобретения 1. Устройство управления конвейерным вычйслительным устройством, содержащее коммутатор условий, регистр адреса, память команд, регистр команд, буферную память операндов, регйстр кода операций, регистр адресапервого" операнда;-два буферных регистра и дешифратор тйпа команды, причем вход начальной установки устройства соединен с установочными входами регистра адреса, выход которого соединен с адреснйм входом памяти команд, выход которой соединен с информационным входом регистра команд, вход записи которого соединен с входом запйси регистра адреса и является тактовым входом устройства; выход поля кода операции регистра команд соединен с входом дешифратора типа команды и информационным входом регистра кода операции, синхровходи вход записи которого соединены соответствейно с тактовым входом устройства и первым выходом.дешифратора типа команды, выход поля номера анализируемого условия регистра команд. соединен с управляющим вхОдом коммутатора условий, выход Регистра адреса первого операнда соединен с первйм адресным входом буферной памяти операндов, первый выход которой соединен с информационным вхо- доМ первого. буферного регистра; первый информационнйй вход второго буферного регистра соедйнен с выходом регйетра кода операций, синхровходы, первого и второго буферных регистров и буферной йамяти операндов соединены с тактовым входом устройства, о т л и.ч а ю щ е е с я тем, что, с целью повышения быстродействия, в устройство введены коммутатор кодов условий, буферная память кодов условий, формировать адреса, регистр номера программы; регистр адреса второго операнда, регистр адреса результата, третий и четвертый буферные регистры, коммутатор операндов, блок . пересылок и блок распределения резупьтатов, группа входов которого соединена с группой входов устройства для подключения к группе выходов кодов результата койвейерного вычислительного устройства, тактовый вход устройства соединен с сийхровходом блока распределения результатов, первая и вторая группа управляющих выходов которого .соединены соответственно с группой управляющих входов блока пересылок и группой управляющих входов коммутатора кодов условий, первая и вторая грумы информационных выходов, блока распределения результатов соединены соответственно с группой информационных входов блока йеБуферная память операндов (фиг. 5) функционирует следующим образом. 5 На информационные входы блоков 84регистров с выхбда 40 блока 20 поступавт операнды (результаты операций). а наин-" формационнйй вход дешифратора 83 постуте этого в один иэ олоков 04 регистров по тактовому импульсу осуществляется записьоперандов (результатов операции).Считывание информации из блоков 84 15 регистров осуществляется посредством групп 85, 86 мультиплексоров, дешифратора 82 и блоков 87, 88 элементов ИЛИ. При этом с помощью дешифратора 82, на вход которого поступает номер программы с выхода регистра 11, осуществляется разрешение работы всех мультиплексоров 85, 86, на информационные входы которых поступает информация со всех регистров 1-го блока 84 25 регистров В зависимости от Содержимого регистров 10 и 12 1-е мультиплексоры 85, 86 коммутируют информаЦию с соответствующихрегистров 1-го блока 84 регистров на 1-е вхо ды соответственно блока 81 и блока 88 элементов ИЛИ, Таким образом, в данном уСтройстве обеспечивается насыщение конвейера обработки команд, начиная с этапа выдачи адреса команды в" память 6 команд 35 и кончая этапом выдачи подготовлейной операции через коммутатор 19 командамиМ независимых программ,Повышение быстродействия устройства 40 пб сравнению с прототипом достигается,во-первых, за счет реализации в устройстве выдачи команд разных программ в конвейер обработки, при которой команды одной программы не блокируют команды других 45 программ. во-вторых, указанное отсутствие блокировки между командами разных программ поддерживается введением блока пересылок и блока распределения результатов; Блок пересылок при этом позволяет выделить из общего потока команд 50 параллельный поток команд пересылок, освобождая тем самым конвейерное вычислительное устройство от выполнения этих команд. Блок распределения результатов позволяет согласовать во времени выдачу результатов с конвейерного вычислительного устройства с длительностьювыполнейия команд, что приводит к уменьшению времени блокировки между соседними командами 1-й программы,пает номер программы и номер регистра 10результата с выхода 40 блока 20,В результа
СмотретьЗаявка
4903704, 21.01.1991
И. А. Степановская, Л В Караванова и Э. Г. Прохорова
СТЕПАНОВСКАЯ ИРАИДА АЛЕКСАНДРОВНА, КАРАВАНОВА ЛЮДМИЛА ВАЛЕНТИНОВНА, ПРОХОРОВА ЭЛЛА ГРИГОРЬЕВНА
МПК / Метки
МПК: G06F 9/00
Метки: вычислительным, конвейерным, устройством
Опубликовано: 30.07.1992
Код ссылки
<a href="https://patents.su/15-1751757-ustrojjstvo-upravleniya-konvejjernym-vychislitelnym-ustrojjstvom.html" target="_blank" rel="follow" title="База патентов СССР">Устройство управления конвейерным вычислительным устройством</a>
Предыдущий патент: Устройство для сложения и вычитания чисел по модулю р.
Следующий патент: Приоритетный шифратор
Случайный патент: Датчик пожара