Есть еще 9 страниц.

Смотреть все страницы или скачать ZIP архив.

Текст

ОЮЗ СОВЕТСКИХ ОЦИАЛИСТИЧЕСК 804645 РЕСПУБЛИК 06 Р 1И РЕТЕН ЕНТ К ГОСУДАРСТВЕННОЕ ПАТЕНТНВЕДОМСТВО СССР(71) Институт точной механики и вычислительной техники им, С;А.Лебедева(73) Институт точной механики и вычислительной техники им, С.А.Лебедева(56) Авторское свидетельство СССР М 692400, кл. 6 06 Р 15/16, 1977,Заявка РСТIЯО 90/09134, кл, 6 06 Е 15/16, 1990.(57) Изобретение относится к вычислительной технике и может быть использовано при проектировании вычислительных комплексов высокой производительности. Целью изобретения является повышение быстродействия за счет исключения потерь тактов Изобретение относится к вычислительной технике и может быть использовано при проектировании вычислительных комплексов высокой производительности.Цель изобретения - повышение быстродействия за счет. исключения потерь тактов при остановке конвейера обработки и динамического переименования управляющих признаков,Для этого в центральный процессор, содержащий буферную память команд, устройство управления, буферную память данных, коммутатор данных, арифметикологическое устройство, блок управления выпри остановке конвейера обработки и динамического переименования управляющих признаков, В центральный процессор, содеркащий буферную память команд, устройство управления, буферную память данных, коммутатор данных, арифметикологическое устройство. блок управления вызовом - записью данных, блок индексации, ассоциативное запоминающее устройство, блок поеоб(азования математического адреса в физический, устройство сопрякения, блок хранения подпрограмм, блок управления буферной памятью команд, введены блок формирования управляющих признаков и узел блокировки дешифрации команд, Введение блока управляющих признаков и узла блокировки дешифрации команд позволяет исключить потерю времени на повторение выдачи команд при блокировке, а также исключить удлинение программного кода. 1 з.п. ф-лы, 12 ил,зовом - записью данных, блок индексации, ассоциативное запоминающее устройство, блок преобразования математического адреса в физический, устройство сопряжения, блок хранения подпрограмм, блок управления буферной памятью команд, информационный выход устройства сопряжения соединен с информационным входом буферной памяти команд, с первым информационным входом буферной памяти данных, информационным входом ассоциативного запоминающего устройства и первым информационным входом блока хранения подпрограмм, выход буферной памяти команд5 10 2530 35 40 50 индексации, хранения подпрограмм, управления буферной памятью команд, выход блока индексации подключен к адресным входам ассоциативного запоминающего устройства и блока преобразования математического адреса в физический, первые адресно-числовые входы которых соединены с первым выходом блока управления вызовом - записью данных, второй выход которого подключен к информационному входу блока индексации, выход ассоциативного - запоминающего устройства соединен с вторым информационным входом буферной памяти данных и с вторым информационным входом блока хранения подпрограмм, выход блока преобразования математического адреса в физический соединен с первым информационным входом устройства сопряжения, второй информационный вход которого соединен с первым 20 выходом блока управления буферной памятью команд, второй вход которого соединен с адресным входом буферной памяти команд. выход блока хранения подпрограмм соединен с адресными входами блока управления буферной памятью команд и устройства управления, с вторыми адресно- числовыми входами блока преобразования математического адреса в физический и ассоциативного запоминающего устройства,информационный выход буферной памяти данных соединен с первым информационным входом коммутатора данных, второй информационный вход которого подключен к третьему выходу блока управления вызовом-записью и выходу арифметико-логического устройства, третьи информационные входы блока хранения подпрограмм, буферной памяти данных и первый информационный вход блока управления вызовом - записью данных подключены к первому выходу коммутатора данных, второй выход которого подключен к информационному входу арифметико-логического устройства и второму информационному входу блока управления вызовом - записью данных, входы синхронизации буферной памяти команд, устройства управления, буферной памяти данных, арифметико-логического устройства, блока управления вызовом - записью данных, блока индексации, . ассоциативного-запоминающего устройства, блока преобразования математического адреса в физический, устройства сопряжения,. блока хранения подпрограмм, блока управления буферной памятью команд соединены с шиной синхронизации центральногопроцессора,отличающийся тем, что, с целью повышения быстродействия,введены блок формирования управляющих признаков и узел блокировки дешифрации команд, причем выход блока преобразования математического адреса в физический соединен с первым управляющим входом узла блокировки дешифрации команд, информационный вход которого соединен с информационным выходом устройства сопряжения, второй управляющий вход узла блокировки дешифрации команд и адресный вход блока формирования управляющих признаков подключены соответственно к седьмому и восьмому выходам устройства управления, к первому и второму управляющим входам которого подключены соответствующие выходы блока формирования управляющих признаков и узла блокировки дешифрации команд, информационный вход блока формирования управляющих признаков соединен с выходом арифметико-логического устройства, а информационный вход устройства управления подключен к первому выходу коммутатора данных, входы синхронизации блока формирования управляющих признаков и узла блокировки дешифрации команд соединены с шиной синхронизации центрального процессора.2. Процессор по п.1, о т л и ч а ю щ и йс я тем, что устройство управления содержит счетчик дешифрации команд, четыре регистра дешифрации команд, сдвигатель выборки команд, сдвигатель распаковки команд, первый, второй и третий сумматоры формирования полей распакованной команды, блок . буферной памяти распакованной команды, причем к командному входу устройства управления подключены входы регистра дешифрации команд, выходы которых подключены к первому входу сдвигателя выборки команд, второй вход которого является первым управляющим входом устройства управления, второй управляющий вход которого соединен с входом управления блока буферной памяти распакованной команды, выходы которого являются выходами устройства управления, информационный вход которого подключен к первому входу первого сумматора формирования полей распакован- . ной команды, а адресный вход устройства управления соединен с первыми входами второго и третьего сумматоров формирования полей распакованной команды, вторые входы которых и вторые входы первого сумматора и блока буферной памяти распакованной команды соединены с выходом сдвигателя распаковки команд, выходы первого, второго и третьего сумматоров формирования полей распакованной команды подключены ктретьему входу.1804645 г 1. 17 9 20 Редак Ко ор С,Патрушева енина Тираж ПодписноеГосударственного комитета по изобретениям и открытиям при ГКНТ СССР113035, Москва, Ж, Раушская наб 4/5 оизводственно-издательский комбинат "Патент", г, Ужго Гагарина, 101 каз 10 ВНИСостав Техред ль Л,Баг Моргент10 15 20 25 30 35 40 50 соединен с командным входом устройства управления, с первого по шестой выходы которого соединены соответственно с адресным входом буферной памяти данных, с управляющими входами арифметика-логического устройства, блоков управления вызовом-записью данных, индексации, хранения подпрограмм, управления буферной памятью команд, выход блока индексации подключен к адресным входам ассоциативного запоминающего устройства и блока преобразования математического адреса в физический, первые адресно-числовые входы которых соединены с первым выходом блока управления вызовом - записью данных, второй выход которого подключен к информационному входу блока индексации, выход ассоциативного запоминающего устройства соединен со вторым информационным входом буферной памяти данных и со вторым информационным входом блока хранения подпрограмм, выход блока преобразования математического адреса в физический соединен с первым информационным входом устройства сопряжения, второй информационный вход которого соединен с первым выходом блока управления буферной памятью команд, второй выходкоторого соединен с адресным входом буферной памяти команд, выход блока хранения подпрограмм соединен с адресными входами блока управления буферной памятью команд и устройства управления, со вторыми эдресночисловыми входами блока преобразования математического адреса в физический и ассоциативного запоминающего устройства, входы синхронизации буферной памяти команд, устройства управления, буферной памяти данных, коммутатора данных, арифметико-логического устройства, блока управления вызовом-записью данных, блока индексации, ассоциативного запоминающего устройства, блока преобразования математического адреса в физический, устройство сопряжения, блока хранения. подпрограмм, блока управления буферной памятью команд соединены с шиной синхронизации центрального процессора, введены блок формирования управляющих признаков и узел блокировки дешифрации команд, причем выход блока преобразования математического адреса в физический соединен с первым управляющим входом узла блокировки дешифрации команд, информационный вход которого соединен с информационным выходом устройства сопряжения, второй управляющий вход узла блокировки дешифрации команд и адресный вход блока формирования управляющих признаков подключены соответственно к седьмому, восьмому выходам устройства управления, к первому и второму управляющим входам которого подключены соответствующие выходы блока формирования управляющих признаков и узла блокировки дешифрации команд, информационный вход блока формирования управляющих признаков соединен с выходом арифметико-логического устройства,а информационный вход устройства управления подключен к первому выходу коммутатора данных, а входы синхроНизации блока формированйя управляющих признаков и узла блокировки дешифрации команд соединены с шиной синхронизации центрального процессора, кроме того, устройство управления содержит счетчик" дешифрации команд, четыре регистра дешифрации команд, сдвигатель выборки команд, сдвигатель распаковки команд, первый, второй, третий сумматоры формирования полей распакованной команды, блок буферной памяти распакованной команды, причем к командному входу устройства управления подключены входы регистров дешифрации команд, выходы которых подключены к первомувходу сдвигателя вь борки команд, второй вход которого является первым управляющим входом устройства управления, второй управляющий вход которого соединен со входом управления блока буферной памяти распакованной команды, выходы которого являются выходами устройства управления; информационный вход которого подключен к первому входу первого сумматора формирования полей распакованной команды; а адресный вход устройства управления соединен с первыми входами второго и третьего сумматоров формирования полей распакованной команды, вторые входы которых и вторые входы первого. сумматора и блока буферной памяти распакованной команды соединены с выходом сдвигателя распаковки команд, выходы первого, второго и третьего сумматоров формирования полей распакованной команды подключены к третьему входу блока буферной памятираспакованной команды, командный выход сдвигателя выборки команд соединен со входом сдвигателя.распаковки команд, выход длины команды сдвигателя выборки команд соединен со счетчиком. дешифрации команд, выход которого соединен с третьим входом сдвигателя выборки команд, а входы синхронизации четырех регистров дешифрации команд, сдвигателя выборки команд, сдвигателя распаковки команд трех сумматоров формирования полей распакованнойкоманды, блока буферной памяти распакованной команды соединены со входом синхронизации устройствауправления, а узел блокировки дешифрации комайд содержит элемент ИЛИ, К блоков трехпортовой памяти, К блоков двухпортовой памяти, счет.ик тактов, К счетчиков считывания, К счетчиков записи и сумматор, причем выходы блоков трехпортовой памяти соединены с соответствующими входами элемента ИЛИ, выходы блоков двухпортовой памяти подключены к первым адресным входами записи блоков трехпортовой памяти, вторые адресные входы записи которых и информационные входы двухпортовой памяти подключены к информационному выходу сумматора, управляющий выход которого подключен ко входам соответствующих счетчиков записи, выход счетчика тактов подключен к адресному входу считывания каждого блока трех- портовой памяти и к первому информационному входу сумматора, второй информационный вход которого подключен к управляющему входу узла блокировки дешифрации команд, а соответствующий вход элемента ИЛИ, входы синхронизации К блоков трехпортовой памяти, К блоков двухпортовой памяти, счетчика тактов, К счетчиков считывания, К счетчиков записи, сумматора соединены со входом синхронизации узлаблокировки дешифрации команд, а блок формирования управляющих признаков содержит первый и второй сумматоры, ре. гистр управляющих признаков и счетчикциклов, причем входы счетчика циклов и сумматоров подключены к адресному входу блока, информационный вход регистра управляющих признаков соединен с информационным входом блока, выходы первого сумматора соединены с выходами блока, а входы синхронизации первого и второго сумматоров, регистра управляющих признаков, счетчика циклов соединены со входом синхронизации блока.Сущность изобретения заключается втом, что введение блока формирования управляющих признаков и узла блокировки . дешифрации команд позволило исключить потерю времени на повторение выдачи команд при блокировке, а также. исключить удлинение программного кода.На фиг,1 представлена функциональнаяблок - схема предлагаемого центрального процессора; на фиг.2 - блок - схема устройства управления буферной памятью данных; на фиг.3 - блок - схема узла дешифрации команд; на фиг.4 - блок-схема блока формирования управляющих признаков; на фиг.5 - блок-схема устройства сопряжения; на фиг,б - блок-схема блока 5 10 15 20 25 30 35 40 45 50 55 управления буферной памятью команд; на фиг,7 - блок - схема коммутатора данных; на фиг,8 - блок - схема блока индексации; на фиг.9 - блок - схема блока преобразованияматематического адреса в физический; на фиг,10 - блок-схема блока хранения подпрограмм; на фиг.11 - блок - схема арифметико-логического устройства; на фиг.12 - блок - схема блока управления вызовом - записью.центральный процессор содержит буферную память 1 команд, устройство 2 управления, буферную память 3 данных, коммутатор 4 данных, арифметико-логическое устройство 5, блок 6 управления вызовом - записью данных, блок 7 индексации,ассоциативное запоминаощее устройство 8, блок 9 преобразования математического адреса в физический, устройство 10 сопряжения, блок 11 хранения подпрограмм, блок 12 управления буферной памятью 1 команд, блок 13 формирования управляющих признаков и узел 14 блокировки дешифрации команд, шину 15 выдачи данных в буферную память 1 команд, буферную память 3 данных, ассоциативное запоминающее устройстов 8, блок 11 хранения подпрограмм и узел 14 блокировки дешифрации команд. подключенные к информационному выходу устройства 10 сопряжения, шину 16 выборки команд, подключенную к выходу буферной памяти 1 команд, шину 17 распакованной команды, подклоченную к выходу устройства 2 управления, шину 18 выборки данных, шину 19 выдачи операндов из коммутатора 4 данных, шину 20 записи данных, шину 21 результатов операций арифметико-логического устройства 5 и блока 6 управления вызовом - записью, шину 22 передачи данных из блока 6 управления вы-. зовом-записью в блок 7 индексации, шину 23 выдачи адресов и данных в ассоциативное запоминающее устройство 8 и блок 9 преобразования математического адреса в физический, шину 24 выдачи адреса в ассоциативное запОминающее устройство 8 и блок 9 преобразования математического адреса в физический, шину 25 выдачи данных в память 3 и блок 11 хранения подпрограмм, подключенную к выходу устройства 8, шину 26 выдачи адресов и данных в устройство 10 сопряжения, шину 27 выхода блока 11 хранения пбдпрограмм, шину 28 управления выборкой из буферной памяти 1 команд, шину 29 выдачи адресов команд в устройство 10 сопряжения, подключенные к выходам блока 12 управления памятью, шину 30 обмена с общей оперативной памятью. Управляющий вход 31 узла 14 блокировки дешифрации команд соединен с шиной 26выдачи адресов и данных в устройство 10 сопряжения. Первый и второй управляющие входы 32 и 33 устройства 2 управления подключены к выходам блока 13 формирования управляющих признаков и узла 14 блокировки дешифрации команд,В устройство 2 управления (фиг,2) входят счетчик 34 дешифрации команд, четыре регистра 35 - 38 дешифрации команд, сдвигатель 39 выборки команд, сдвигатель 40 распаковки команд, три сумматора 41 - 43 формирования полей распакованной команды, блок 44 буферной памяти распакованной команды, причем к командному входу устройства 2 управления подключены входы регистров 35-38 дешифрации команд, выходы которых подключены к первому входу сдвигателя 39 выборки команд, второй вход которого является первым управляющим входом устройства 2 управления, второй управляющий вход которого соединен со входом управления блока 44 буферной памяти распакованной команды, выход которого является выходом устройства 2 управления, информационный вход которого подключен к первому входу первого сумматора 41 формирования полей распакованной команды, а адресный вход устройства 2 управления соединен с первыми входами второго и третьего сумматоров 42 и 43 формирования полей распакованной команды, вторые входы которых и вторые входы первого сумматора 41 формирования полей распакованной команды соединены с выходом сдвигателя 40 распаковки команд, выходы первого, второго и третьего сумматоров 41 - 43 формирования полей распакованной команды подключены к третьему входу блока 44 буферной памяти распакованной команды, командный выход сдвигателя 39 выборки команд соединен со входом сдвигателя 40 распаковки команд, выход длины командь 1 сдвигателя 39 выборки команд соединен со счетчиком 34 дешифрации команд, выход которого соединен с третьим входом сдвигателя 39 выборки команд,В буферную память 3 данных входят блок 45 буферной памяти стека, блок 46 буферной памяти считывания, блок 47 выходной буферной памяти.В узел 14 блокировки дешифрации команд (фиг.З) входят элемент ИЛИ 48. трех- портовая память из одноразрядных К блоков 49-149-К памяти, двухпортовая память из К блоков 50-1.50-К памяти, счетчик 51 тактов, К счетчики считывания 52-152-К и К-счетчики 53-1.5 З-К записи и сумматор 54, Выходы 55-155-К блоков 49-149-К памяти соединены с соответствующими вхо 404550 65 и выход коммутатора 66 соединены сшиной 30 обмена с общей оперативной памят,ью. В блок 12 (фиг,6) управления буферной памятью команд входят четыре регистра 6770 номера команд, ассоциативный запоминающий узел 71, счетчик 72 номера команд, счетчик 73 индекса команд, четыре регистра 74-77 индекса команд,Коммутатор 4 (фиг.7) данных содержитблок 78 памяти результатов, регистры 79результатов, коммутатор 80 операндов, коммутатор 81 результатов,Блок 7 (фиг,8) индексации содержит Кидентичных узлов 82-1 - 82-К индексации,каждый из которых содержит блок 83 буферной памяти операций, блок 84 буферной памяти описателей массивов, регистр 85 приращения базы, регистр 86 базы, сумматор 87 формирования текущего адреса, сумматор ВВ формирования текущего индекса,дами элемента ИЛИ 48, а выходы.56-156-К блоков 50-150-К памяти подключены к первым адресным входам записи блоков 49- 1,49-К памяти, вторые адресные входы за писи которых подключены кинформационному выходу 57 сумматора 54, управляющий выход 58 которого подключен ко входам счетчиков 53-153-К, Выход 59 счетчика 51 тактов подключен к адресному 10 входу считывания каждого блока 49-149-Кпамяти и к первому информационному входу сумматора 54, второй информационный вход которогоподключен к первому управляющему входу 31 узла 14 блокировки де шифрации команд, второй управляющийвход которого соединен со входом счетчика 51 тактов.В блок 13 формирования управляющихпризнаков (фиг.4) входят первый и второй 20 сумматоры 60 и 61, соответственно, регистр62 управляющих признаков и счетчик 63 циклов, К шине 17 распакованной команды подключены входы счетчика 63 и сумматоров 60 и 61, к шине 21 - информационный 25 вход регистра 62, а выход сумматора 60 соединен с управляющим входом 32 устройства 2 управления.,В устройство 10 сопряжения (фиг,5) входят блок 64 буферных регистров, блок 65 30 адресов назначения и выходной коммутатор66, адресно-числовой вход которого, являющийся первым входом устройства 10 сопряжения, соединен с шиной 26 адресов и данных, а адресный вход, являющийся вто рым входом устройства 10 сопряжения, соединен с шиной 29 выдачи адресов команд, Выход блока 64, являющийся информацион-, ным выходом устройства 10 сопряжения, соединен с шиной 15, а входы блока 64, блокасумматор 89 формирования адреса записи в блок буферной памяти считывания, сумматор 90 формирования нового значения базы,Блок 9 (фиг.9) преобразования математического адреса в физический содержи, К идентичных ассоциативных запоминающих узлов 91-1 - 91-К и узел 92 таблицы страниц оперативной памяти,. Каждый ассоциативный запоминающий узел 91-1,91-К содержит блок 93 входной буферной памяти, сумматор 94 формирования адреса следующей страницы, блок 95 буферной памяти данных, блок 96 ассоциативной памяти соответствия математических и физических адресов, сумматор 97 формирования физического адреса слова. Узел 92 таблицы страниц оперативной памяти содержит регистр 98 базы страниц, сумматор 99 формирования адреса строки таблицы, блок 100 памяти таблицы страниц,Блок 11 (фиг.10) хранения подпрограмм содержит дешифратор 101 команд,. базовые регистры 102, дополнительные базовые регистры 103, блок 104 буферной памяти,связывающей информации, управляющие регйстры 105, сумматор 106.М ногоканальное арифметико-логическое устройство 5 (фиг,11) содержит блоки 107 и 108 сложения, блоки 109 и 110 умножения, блоки 111 и 112 логических преобразований, блок 113 деления,Блок 6 (фиг.12) управления вызовом - записью данных содержит блок 114 входных регистров, сумматор 115 формирования адреса обращения в память, сумматор 116 сравнения индекса и размера массива, блок 117 формирования записываемого числа, выходной регистр 118 адреса, выходной регистр 119 числа,Синхронизация работы устройства такая же как в прототипе - 4-х тактная, При этом каждый хранящий регистр или регистровая станция в конвейере в зависимости от числа ступеней предшествующей логики синхронизируется одной из четырех фаз.Однако в зависимости от элементной базы, типов используемых триггеров и схемотехники может быть использована и другаясистема синхронизации и, в частности, простая однофазная,Цепи управляющих и тактирующих сигналов в описании не показаны,ЦП работает следующим образом.После начальной иницианизации блок 12 выполняет подкачку программного кода из оперативной памяти. С этой целью он выдает запросы по шине 29 через устройство 10 сопряжения, Программный код через устройство 10 сопряжения по шине 15 по чтению и записи, В случае чтения данных в памяти 3, блок 6 по шине 23 выдает адреса 30 в ассоциативное запоминающее устройство 40 ройство 10 сопряжения по шине 15 заносятся в буферную память 3 данных и в 50 55 ры массивов, к которым будут выполня ться обращения в циклической программе, ин 5 10 15 20 25 ступает в буферную память 1 команд. Блок 12 управления по шине 28 управляет выборкой программного кода из буферной памяти 1 команд, По шине 16 он поступает в устройство 2 управления,Устройство 2 управления по шине 17 выдает команду в арифметика-логическое устройство 5, в блок 6 управления вызовом - записью данных, в блок 7 индексации, в блок 11 хранения подпрограмм и в блок 12 управления, читает операнды из буферной памяти 3 данных и управляет работой коммутатора 4 данных, обеспечивая передачу данных по шине 18 из памяти 3 и по шине 21 результатов операций арифметика-логического устройства 5 и блока 6 управления вызовом - записью, Данные поступают на информационные входы операндов арифметико-логического устройства 5 и блока 6 по шине 19, По шине 20 указанные данные поступают в буферную память 3 данных и в блок 11 хранения подпрограмм. Данные, необходимые для работы блока 7 индексации. передаются через блок б управления вызовом-записью данных по шине 22.Основное назначение блока 6 - скалярные обращения в оперативную память по 8 и блок 9 преобразования математического адреса в физический,При удачном поиске в устройстве 8 данные по шине 25 передаются в память 3, в противном случае преобразованный физический адрес из блока 9 по шине 26 поступает в устройство 10 сопряжения и далее в общую оперативную память по шине 30. Данные из оперативной памяти через устассоциативное запоминающее устройство8, чтобы сократить время доступа к ним приповторных обращениях,При выполнении записи в память, в блок 6 по шине 19 поступает адрес записи и по шине 20 - записываемое число, Далее адрес и число по шине 23 выдаются в устройство 8 и блок 9.Блок 7 индексации является генератором адресов элементов массивов, Перед циклическим участком программы в него через блок 6 управления вызовом - записью данных по шине 22 загружаются дискриптодексные слова(начальный индекс и шаг приращения адреса) и программа формирования адресов элементов массивов, В циклическом участке программы, покоманде, поступающей по шине 17 из устройства 2 управления, блок 7 индексации по шине 24 выдает требуемые адреса элементов массивов в устройство 8 и блок 9 аналогично описанному выше для блока 6 управления вызовом-записью данных.В центральном процессоре используется архитектура широкого командного слова и управление работой устройства на основе статического планирования на этапе трансляции программы. Команда в процессоре имеет переменную длину. В команде максимальной длины может содержаться задание для нескольких блоков арифметико-логического устройства, блока управления вызовом-записью, блока индексации, операция подготовки перехода и операция передачи управления. Адресные и управляющие поля команды обеспечивают выборку необходимого количества операндов из памяти 3, передачу результатов предшествующих операций в арифметико-логическое устройство 5, запись результатов операций в память 3.Устройство 2 управления каждый такт может выдавать по шине 17 распакованную команду максимального размера и обеспечить тем самым полную загрузку арифметико-логического устройства 5, блока 6 управления вызовом в запис данных и блока 7 индексации.Большинство блоков в процессоре и связи между ними имеют параллельную организацию,Так устройство 10 сопряжения, блок 9 преобразования математического адреса в физический, блоки 6 и 7 управления вызовом - записью и индексации в каждом такте могут обрабатывать до К заявок в оперативную память, где К - максимальная ширина шины связи с памятью в словах.Буферная память 1 команд выполнена .по двухпортовой схеме и позволяет в каждом такте записывать К слов из оперативной памяти и читать командныеслова для исполнения.Коммутатор 4 данных обеспечйвает в каждом такте передачу результатов операций и операндов, считанных из многопортовой буферной памяти 3 данных в арифметико-логическое устройство 5 и блока 6 управления вызовом - записью, причем количество операндов коммутируемых на вход этих устройств достаточно для запуска всех устройств, указанных в широкой команде.Блок 11 хранения подпрограмм выполняет подготовку адресного контекста трех процедурных переходов и процедурное переключение (смену контекста и вызов программного кода) без приостановки дешифрации команд,Таким образом, структура центральногопроцессора за счет существенно параллельной организации и архитектуры широкого. командного слова дает возможность распараллеливать не только вычисления в цикле,но и сугубо скалярные вычисления. Этомуспособствует наличие коммутатора 4 дан"0 ных, который обеспечивает быструю передачу результатов в качестве операндов, впоследующие операции (уменьшение влияния зависимости по данным), ветвление поодному из нескольких направлений и услов 15 ное выполнение нескольких параллельныхветвей программы (уменьшение влияния зависимости по управлению), быстрый процедурный переход без приостановкидешифрации,20 Передача управления осуществляетсякак и в прототипе в два этапа, На первомэтапе в блоке 12 по команде подготовкиперехода происходит запоминание индексаперехода на одном из регистров 67-70 но 25 мера команд, поиск по заданному индексу вассоциативном запоминающем узле 71, выдача в соответствующий регистр 74 - 77 индекса команды адреса перехода побчЬеаной памяти 1 команд.В случае неуспешного поиска счетчик 72номера команды выдает в устройство 10 сопряжения по шине 29 серию запросов навсю страницу программного кода, после чего программный код через устройство 1035 сопряжения по шине 15 поступает в буферную память 1 команд,Адреса чтения команд по шине 28 поступают в буферную память 1 и обеспечиваютвыборку в течение одного такта требуемого40 количества командных слов на соответствующий регистр 35 - 38 дешифрации командыустройства 2 управления. Кроме того, адреспоступает в счетчик 34 индекса команды дляформирования последующих адресов про 45 граммного кода,Таким образом, блок 12 управления буферной памятью команд может принять команды подготовки перехода, чтообеспечивает на втором этапе по команде50 передачи управления ветвление программыпо одному из заранее подготовленных направлений, беэ приостановки дешифрации,так как коды всех направлений имеются нарегистрах 35 - 38 дешифрации команд, Ветв 55 ление выполняется с помощью блока 13формирования управляющих признаков, вкотором по шине 21 загружаются условныепризнаки передачи управления, вычисленные по командам отношений в арифметикологическом устройстве 5.Для того, чтобы в коротком цикле, в случае приостановки дешифрации команд сохранить управляющие признаки,находящиеся в конвейере, в блоке 13 выполняется переименование адресов регистрауправляющих признаков. Этой цели служатдва сумматора - 61 и 60, для переименования адреса записи и для переименованияадреса чтения, соответственно, Переименование выполняется путем базированиямладшими разрядами счетчика 63 цикла,Программный код хранится в буфернойпамяти 1 команд в упакованном виде. Этозначит, что о любой широкой команде фрагменты размещаются без пропусков. Информация о составе значимых фрагментовзадается полем шкалы широкой команды ииспользуется сдвигателями 39 и 40 выборкии распаковки устройства 2 управления приформировании исполнительного распакованного представления команды,Счетчик 34 дешифрации команд содержит адрес команды по регистрам 35 - 38 дешифрации команд. Сумматоры 41, 42, 43используются для формирования абсолютных адресов считывания и записи по буферустека-блоку 45 и абсолютных адресов побуферу считывания - блоку 46 путем базирования относительных адресов из команды.Распакованная команда поступает вблок 44 буферной памяти распакованнойкоманды и далее по шине 17 в буфернуюпамять 3 данных (чтение операндов), в коммутатор 4 данных (выборка результатов,коммутация операндов и результатов), в устройство 5 и блоки 6, 7, 13, 12 (коды операций и короткие константы из программногокода).В общем случае из-за наличия ассоциативного запоминающего устройства 8 и конфликтов в оперативной памяти на этапетрансляции не представляется воэмокнымопределить время доступа эа операндом воперативную память.Это приводит к тому, что при попыткечтения операндов из буферной памяти 3данных может оказаться, что данные еще непоступили, что приводит к блокировке очередной широкой команды в блоке 44 и остановке конвейера на ступенях ниже блока 44,Блокировка выдается по шине 33, из узла 14блокировки, как результат проверки наличия операндов.Каждый блок 49-149-К памяти узла 14соответствует одному каналу чтения из оперативной памяти. При обращении в оперативную память по шине 30, в сумматор 54 изблока 9 преобразования математическогоадреса в физический по входу 31 выдается30 по управляющему входу 33 в устройство 2 управления выдается сигнал блокирооки дешифрации команд,При поступлении данных блокировка снимается, операнды выбираются из блоков 45 и 46 и через блок 47 по шине 18 поступают в коммутатор 4 данных,Налицие о буферной памяти 3 данных двух блоков 45 и 46 буферной памяти стека и буферной памяти считывания вызвано необходимостью обеспецить высокую эффективность в условиях смешанных скалярно-векторных вычислений: При работе с массивами данных память 3 является промекутоцным буфером между оперативной памятью и арифметико-логическим устройством 5. Это обеспечивает предварительную выбору элементов массивов и сохраняет рабочую совокупность скалярных переменных,Коммутатор 4 данных, как и в прототипе, позволяет быстро использооать результаты операций о качестве входных операндов арифметико-логического устройства 5 и блока 6 управления вызовом-записью данных, записать. результаты о оперативную память и буферную память 3 данных, что сокращает критицеский путь при выполнении программы, Регистр результатоо коммутатора 4 данных использу 35 40 45 50 55 5 10 15 20 25 целое число, определяющее максимальное количество тактов, через которое должна поступить в центральный процессор прочитанная информация, Это целое число, определяемое компилятором, в сумматоре 54 складывается с текущим значением номера такта счетчика 51. Полученное значение определяет адрес в блоке 49 - 1(1К) памяти соответствующего направления, по которому пишется "1" (или "0"), Кроме - .ого, это же значение, определяющее номер такта, к которому должна бытьсчитана информация из оперативной памяти, по адресу счетчика 53- записывается в блок 50- двухпортовой памяти соответствующего направления, При каждом обращении в оперативную память соответствующий счетчик 53-1 увеличивает свое значение на единицу, Так же, как и блоки 49-1 и 50- памятей сумматор 54 имеет К каналов, Когда информацил читается из оперативной памяти, запомненный номер такта по счетчику 53- считывается из блока 50-1 памяти и о качестве адреса, подается на блок 49-1 памяти для установки бита о состояние "0" (или "1"), При этом счетчик 52- считывания увеличивается на единицу.Счетчик 51 текущего номера такта читает все К блоков 49-149-К памятей и, если хотя бы в одном иэ них в соответствующей позиции имеется "1" ("0"), через элемент ИЛИ 48ется в тех случаях, когда результат операции должен быть использован в промежуток времени между передачей через коммутатор 4 и передачей через буферную память 3 данных,В основном, обращение к элементам массива выполняется с постоянным шагом, Это определяет организацию блока 7 индексации, который, как и в прототипе, для создания высокого темпа генерации адресов содержит К параллельно работающих узлов, в каждом из которых имеются блоки буферной памяти описателей массива и блок буферной памяти операЦий, содержимое которых заносится вне циклического участка программы по шине 22 из блока 6 управления вызовом - записью данных, Фактически, блок 7 содержит программу доступа к элементам массивов и их описателям.При исполнении циклического участка программы устройство 2 управления по шине 17 выдает в блок 7 индексации номер команды по блоку буферной памяти операций, Далее все узлы блока 7 индексации по заданному номеру выполняют команду вычисления адреса элемента массива, который формируется путем сложения базового адреса массива со значением текущего индекса по массиву. Также формируется значение текущей переменной для следующего обращения в массив (изменяется на шаг п родвижение по массиву) и за носится в блок 84 буферной памяти описателей массивов,Сумматоры 89 и 90 служат для формй рования адресов назначения по блоку 46 буферной памяти считывания, Для обеспечения доступа в блок 46 используется метод передвигаемых баз, когда в циклической программе адрес загружаемой ячейки остается постоянным, а базовый адрес, формирующий адрес назначения, изменяется в каждом цикле на шаг приращения базы,С этой целью в каждом узле блока 7 индексации имеются регистры 86 и 85 базы и приращения базы. На сумматоре 89 формируется текущий адрес назначения по блоку 46, а на сумматоре 90 - модифицируется текущее значение базы нэ шаг приращения.Новое значение базы заносится в регистр 86 базы, а сформированные математический адрес элемента массива и адрес назначения по шине 24 из всех узлов выдаются в ассоциативное запоминающее устройство 8 и блок 9 преобразования математического адреса в физический.Для поддержания высоког 6 темпа обращений в оперативную память блок 9 преоб 5 10 15 Формирование адреса следующей страницы выполняется сумматором 94. При отсутствии строки в блоке 96 выдается запрос в узел 92 таблицы страниц оперативной памяти, Блок 100 памяти таблицы 20 страниц содержит полную таблицу соответствия математической и физической оперативной памяти,На сумматоре 99 формируется адрес требуемой строки таблицы, и выполняется чтение из блока 100 памяти таблицы страниц, При организации таблицы страниц используются методы Н-кодирования, в связи с чем возможно вторичное обращение с выхода блока 100 на собственный вход. 25 30 Выбранная строка соответствия заносится в блок 96 ассоциативной памяти заданного узла 91. Таким образом, на фоне обращений в текущую математическую страницу выполняется подКачкастроки со 35 ответствия для следующей математической страницы. блок 93 входной буферной памяти служит для хранения запросов в случае выполнения поиска в узле 92 таблицы страниц 40 оперативной памяти для текущей математической страницы, После ее вызова запросы в блок 96 ассоциативной памяти повторяются,ъСумматор 97 служит для формирования физического адреса слова (складываютсяфизический адрес текущей страницы и адрес слова внутри страницы). 45 Блок 95 буферной памяти данных служит для хранения записываемых в оперативную память данных на время преобразования математического адреса записи в физический.По шине 26 физического адреса и данные (в случае записи) выдаются в устройство 10 сопряжения,Заполнение блока 100 памяти таблицы страниц и регистра 98 базы страниц производится по шине 23 из блока 6 управления вызовом в запис. 50 55 разования математического адреса в физический содержит К (на фиг.7 К=8) узлов 91-1 - 91-8, каждый из которых с помощью блока 96 ассоциативной памяти соответствия математических и физических адресов обеспечивает требуемое преобразование,Заполнение блока 96 имеет привентивный характер. С этой целью блок 96 выполнен по двухпортовой схеме, и параллельно с поиском строки соответствия по заданному адресу выполняется поиск следующей математической страницы. Для векторных обращений следующая страница определяется в зависимости от шага приращения.Блок 11 хранения подпрограмм выполняет подготовку и переключение контекстапри процедурных переходах, При этом базовые регистры 102 определяют контексттекущей процедуры, дополнительные базовые регистры 103 служат для создания контекста вызываемых процедур, блок 104буферной памяти связующей информациидля хранения динамической истории запущенных процедур, а управляющие регистры105 содержат общесистемные регистры(таймер, часы, регистры конфигурации ит.д.),Процедурные переключения, как и внутрипроцедурные передачи управления, выполняются в две фазы. На фазе подготовкипроисходит копирование контекста из основных базовых регистров 102 в дополнительные базовые регистры 103,"упрятывание" в блок 104 связующей информации регистра контекста, подлежащихкоррекции при процедурном переключении,выход иэ оперативной памяти или формирование контекста вызываемой процедуры в дополнительных базовых регистрах 103,передача дескриптора программного сегмента в блок 12 управления для подкачки кодавызываемой процедуры в буферную память 1команд и устройство 2 управления.На фазе переключения происходит передача подготовленного контекста в базовые регистры 102 и переключение надешифрацию программы вызванной процедуры в устройстве 2 и блоке 12 управления.Возврат в процедуру выполняется аналогичным образом за исключением того, чтокоррекция контекста выполняется из блока104 буферной памяти связующей информации,Также как и в прототипе, принципиальным моментом в организации блока 11 хранения подпрограмм является егоасинхронная работа по подготовке процедурного переключения, предшествующегосамому переключению.Блок 6 управления вызовом - записьюданных выполняетоперации формированияматематического адреса, который можетбыть запомнен в буферной памяти 3 данных, либо по нему выполнено обращение воперативную память, а также передачу операндов в блок 7 индексации,При формировании математическогоадреса с записью результата в стек, операнды дескриптор и индекс) из блока 114 входных регистров передаются на сумматоры115, 116, где на сумматоре 115 Формируетсяматематический адрес путем сложения адреса начала массива из дискриптора и индекса, а на сумматоре 116 выполняется45 ния буферной памятью команд,информационный выход устройства сопря 50 55 5 10 15 20 25 30 35 40 вычитание индекса из размера массива. Сформированный математический адрес через выходной регистр 118 адреса передается по шине 21 на второй информационный вход коммутатора 4 данных и далее по шине 21 на третий информационный вход буферной памяти 3 данных.При обращении в оперативную память по чтению сформированный адрес с выходного регистра 118 адреса по шгне 23 передается на первый адресный и информационный вход ассоциативного запоминающего устройства 8 и первый адресный и информационный вход блока 9 преобразования математического адреса в физический.При обращении в оперативную память по записи дополнительно вместе с адресом по шине 23 выдается записываемое число.Таким образом, представленная архитектура широкого командного слова с возможностью параллельной обработки информации, базирующаяся на методе компиляции на основе потокового графа программы дает возможность, наряду с обработкой векторов, распараллелить сугубо скалярные вычисления.Введение блока 13 формирования управляющих признаков и узла 14 блокировки дешифрации команд позволяет, по сравнению с прототипом, повысить быстродействие за счет сокращения потерь тактов в конвейере обработки команд,формула изобретения 1. Центральный процессор, содержащий буферную память команд,.устройство управления, буферную память данных, коммутатор данных, арифметико-логическое устройство, блок управления вызовом - записью данных, блок индексации, ассоциативное запоминающее устройство, блок преобразования математического адреса в физический, устройство сопряжения, блок хранения подпрограм, блок управлежения соединен с информационным входом буферной памяти команд, с первым информационным входом буферной памяти данных, информационным входом ассоциативного запоминающего устройства и первым информационным входом блока хранения подпрограмм, выход буферной памяти команд соединен с командным входом устройства управления, с первого по шестой вь 1 ходы которого соединены соответственно с адресным входом буферной памяти данных, с управляющими входами арифметика-логического устройства, блоков управления вызовом - записью данных,

Смотреть

Заявка

4920073, 27.03.1991

ИНСТИТУТ ТОЧНОЙ МЕХАНИКИ И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ ИМ. С. А. ЛЕБЕДЕВА

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

МПК / Метки

МПК: G06F 15/76

Метки: центральный, процессор

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

Код ссылки

<a href="http://patents.su/17-1804645-centralnyjj-processor.html" target="_blank" rel="follow" title="База патентов СССР">Центральный процессор</a>

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