Центральный процессор Советский патент 1993 года по МПК G06F15/76 

Описание патента на изобретение SU1804645A3

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

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

0 является первым управляющим входом устройства управления,, второй управляющий вход которого соединен со входом управления блока буферной памяти распакованной команды, выходы которого являются выхо.5 дами устройства управления-, информаци- . онный вход которого подключен к п-ервому входу первого сумматора формирования полей распакованной команды, а адресный вход устройства управления соединен с

0 первыми входами второго и третьего сумматоров формирования полей распакованной команды, вторые входы которых и вторые входы первого сумматора и блока буферной памяти распакованной команды

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

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

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

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

Нафиг.1 представлена функциональная блок-схема предлагаемого центрального процессора; на фиг.2 - блок-схема устройства управления буферной памятью дан- ных; на фиг.З - блок-схема узла дешифрации команд; на фиг.4 - блок-схема блока формирования управляющих признаков; на фиг.5 - блок-схема устройства сопряжения; на фиг.6 - блок-схема блока

управления буферной памятью команд; на фиг.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 выдачи адресов команд в устройство ТО сопряжения, подключенные к выходам блока 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 распаковки команд, выход длины команды сдвигателя 39 выборки команд соединен со счетчиком 34 дешифрации команд, выход которого соединен с третьим входом сдвигателя 39 выборки команд.

В буферную память 3 данных входят блок 45 буферной памяти стека, блок 46 буферной памяти считывания, блок 47 выходной буферной памяти.

В узел 14 блокировки дешифрации команд (фиг.З) входят элемент ИЛИ 48, трех- портовая память из одноразрядных К блоков 49-1...49-К памяти, двухпортовая память.из К блоков 50-1...50-К памяти, счетчик 51 тактов, К счетчики считывания 52-1 ...52-К и К-счетчикй 53-1...53-К записи и сумматор 54. Выходы 55-1...55-К блоков 49-1.„49-К памяти соединены с соответствующими вхо-.

дами элемента ИЛИ 48, а выходы 56-1 ...56-К блоков 50-1...50-К памяти подключены к первым адресным входам записи блоков 49- 1...49-К памяти, вторые адресные входы записи которых подключены к информационному выходу 57 сумматора 54, управляющий выход 58 которого подключен ко входам счетчиков 53-1,„53-К. Выход 59 счетчика 51 тактов подключен к адресному

0 входу считывания каждого блока 49-1...49-К памяти и к первому информационному входу сумматора 54, второй информационный вход которого подключен к первому управляющему входу 31 узла 14 блокировки де5 шифрации команд, второй управляющий : вход которого соединен со входом счетчика 51 тактов.

В блок 13 формирования управляющих признаков (фиг.4) входят первый и второй

0 сумматоры 60 и 61, соответственно, регистр 62 управляющих признаков и счетчик 63 циклов. К шине 17 распакованной команды подключены входы счетчика 63 и сумматоров 60 и 61, к шине 21 - информационный

5 вход регистра 62, а выход сумматора .60 соединен с управляющим входом 32 устройства 2 управления..

В устройство 10 сопряжения (фиг.5) входят блок 64 буферных регистров, блок 65

0 адресов назначения и выходной коммутатор 66, адресно-числовой вход которого, являющийся первым входом устройства 10 сопряжения, соединен с шиной 26 адресов и данных, а адресный вход, являющийся вто5 рым входом устройства 10 сопряжения, соединен с шиной 29 выдачи адресов команд. Выход блока 64, являющийся информационным выходом устройства 10 сопряжения, соединен с шиной 15, а входы блока 64, блока

0 65 и выход коммутатора 66 соединены с шиной 30 обмена с общей оперативной памятью. .-..В блок 12 (фиг.б) управления буферной . памятью команд входят четыре регистра 675 70 номера команд, ассоциативный запоминающий узел 71, счетчик 72 номера команд, счетчик 73 индекса команд, четыре регистра 74-77 индекса команд,.

Коммутатор 4 (фиг.7) данных содержит

0 блок 78 памяти результатов, регистры 79 результатов, коммутатор 80 операндов, коммутатор 81 результатов.

Блок 7 (фиг.8) индексации содержит К идентичных узлов 82-1-82-К индексации,

5 каждый из которых содержит блок 83 буферной памяти операций, блок 84 буферной памяти описателей массивов, регистр 85 приращения базы, регистр 86 базы, сумматор 87 формирования текущего адреса, сумматор 88 формирования текущего индекса.

сумматор 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 поступает в буферную память 1 команд. Блок 12 управления по шине 28 управляет выборкой программного кода из буферной памяти 1 команд. По шине 16 он поступает в устрой- 5 ство 2 управления.

Устройство 2 управления по шине 17 выдает команду в арифметико-логическое устройство 5, в блок 6 управления вызовом- записью данных, в блок 7 индексации, в

0 блок 11 хранения подпрограмм ч в блок 12 управления, читает операнды из буферной памяти 3 данных и управляет работой коммутатора 4 данных, обеспечивая передачу данных по шине 18 из памяти 3 и по шине

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

0 по шине 19. По шине 20 указанные данные поступают в буферную память 3 данных и в блок 11 хранения подпрограмм. Данные, необходимые для работы блока 7 индексации, передаются через блок 6 управления вызо5 вом-записью данных по шине 22.

Основное назначение блока 6 - скалярные обращения в оперативную память по чтению и записи. В случае чтения данных в памяти 3, блок 6 по шине 23 выдает адреса

0 в ассоциативное запоминающее устройство 8 и блок 9 преобразования математического адреса в физический.

При удачном поиске в устройстве 8 данные по шине 25 передаются в память 3, в

5 противном случае преобразованный физи- ческий адрес из блока 9 по шине 26 поступает в устройство 10 сопряжения и далее в общую оперативную память по шине 30. Данные из оперативной памяти через уст0 . ройство 10 сопряжения по шине 15 заносят- ся в буферную память 3 данных и в ассоциативное запоминающее устройство 8, чтобы сократить время доступа к ним при повторных обращениях.

5 При выполнении записи в память, в блок 6 по шине 19 поступает адрес записи и по шине 20 - записываемое число. Далее адрес и число по шине 23 выдаются в устройство 8 и блок 9.

0Блок 7 индексации является генератором адресов элементов массивов. Перед циклическим участком программы в него через блок 6 управления вызоеом-записью данных по шине 22 загружаются дискрипто5 ры массивов, к которым будут выполняться обращения в циклической программе, индексные слова (начальный индекс и шаг приращения адреса) и программа формирования адресов элементов массивов. В циклическом участке программы, по

команде, поступающей по шине 17 из устройства 2 управления,блок 7 индексации по шине 24 выдает требуемые адреса элементов массивов в устройство 8 и блок 9 аналогично описанному выше для блока 6 управления вызовом-записью данных.

В центральном процессоре используется архитектура широкого командного слова и управление работой устройства на основе статического планирования на этапе трансляции программы. Команда в процессоре имеет переменную длину. В команде максимальной длины может содержаться задание для нескольких блоков арифметико-логического устройства, блока управления вызовом-записью, блока индексации, операция подготовки перехода и операция передачи управления. Адресные и управляющие поля команды обеспечивают выборку необходимого количества операндов из памяти 3, передачу результатов, предшествующих операций в арифметико-логическое устройство 5, запись результатов операций в память 3.

Устройство 2 управления каждый такт может выдавать по шине 17 распакованную команду максимального размера и обеспечить тем самым полную загрузку арифметико-логического устройства 5, блока 6 управления вызовом-записью данных и блока 7 индексации.

Большинство блоков в процессоре и связи между ними имеют параллельную организацию,

Так устройство 10 сопряжения, блок 9 преобразования математического адреса в физический, блоки б и 7 управления вызовом-записью и индексации в каждом такте могут обрабатывать до К заявок в оперативную память, где К - максимальная ширина шины связи с памятью в словах.

Буферная память 1 команд выполнена . по двухпортовой схеме и позволяет в каждом такте записывать К слов из оперативной памяти и читать командные слова для исполнения.. ...

Коммутатор 4 данных обеспечивает в каждом такте передачу результатов операций и операндов, считанных из многопортовой буферной памяти 3 данных в арифметико-логическое устройство 5 и блока 6 управления вызовом-записью, причем количество операндов коммутируемых на вход этих устройств достаточно для запуска всех устройств, указанных в широкой команде.

Блок 11 хранения подпрограмм выполняет подготовку адресного контекста трех процедурных переходов и процедурное переключение (смену контекста и вызов программного кода) без приостановки дешифрации команд.

Таким образом, структура центрального процессора за счет существенно параллельной организации и архитектуры широкого командного слова дает возможность распараллеливать не только вычисления в цикле, но и сугубо скалярные вычисления. Этому способствует наличие коммутатора 4 данных, который обеспечивает быструю передачу результатов в качестве операндов, в последующие операции (уменьшение влияния зависимости по данным), ветвление по одному из нескольких направлений и услов5 ное выполнение нескольких параллельных ветвей программы (уменьшение влияния зависимости по управлению), быстрый проце- дурный переход без приостановки дешифрации.

0 Передача управления осуществляется как и в прототипе в два этапа. На первом этапе в блоке 12 по команде подготовки перехода происходит запоминание индекса перехода на одном из регистров 67-70 но5 мера команд, поиск по заданному индексу в ассоциативном запоминающем узле 71, выдача в соответствующий регистр 74-77 индекса команды адреса перехода по буЛеоной памяти 1 команд..

0 в случае неуспешного поиска счетчик 72 номера команды выдает в устройство 10 сопряжения по шине 29 серию запросов на всю страницу программного кода, после чего программный код через устройство 10

5 .сопряжения по шине 15 поступает в буферную память 1 команд.

Адреса чтения команд по шине 28 поступают в буферную память 1 и обеспечивают выборку в течение одного такта требуемого

0 количества командных слов на соответствующий регистр 35-38 дешифраций команды устройства 2 управления. Кроме того, адрес поступает в счетчик 34 индекса команды для формирования последующих адресов про5 граммного кода.

Таким образом, блок 12 управления буферной памятью команд может принять команды подготовки перехода, что обеспечивает на втором этапе по команде

0 передачи управления ветвление программы по одному из заранее подготовленных направлений, без приостановки дешифрации, так как коды всех направлений имеются на регистрах 35-38 дешифрации команд. Ветв5 ление выполняется с помощью блока 13 формирования управляющих признаков, в котором по шине 21 загружаются условные признаки передачи управления, вычисленные по командам отношений в арифметико- логическом устройстве 5.

Для того, чтобы в коротком цикле, в слу- чаЈ приостановки дешифрации команд сохранить управляющиепризнаки, находящиеся в конвейере, в блоке 13 выполняется переименование адресов регистра управляющих признаков. Этой цели служат два сумматора - 61 и 60, для переименования адреса записи и для переименования адреса чтения, соответственно. Переименование выполняется путем базирования младшими разрядами счетчика 63 цикла.

Программный код хранится в буферной памяти 1 команд в упакованном виде. Это значит, что в любой широкой команде фрагменты размещаются без пропусков. Информация о составе значимых фрагментов задается полем шкалы широкой команды и используется сдвигателями 39 и 40 выборки и распаковки устройства 2 управления при формировании исполнительного распакованного представления команды.

Счетчик 34 дешифрации команд содержит адрес команды по регистрам 35-38 дешифрации команд. Сумматоры 41, 42, 43 используются для формирования абсолютных адресов считывания и записи по буферу стека-блоку 45 и абсолютных адресов по буферу считывания - блоку 46 путем базирования относительных адресов из команды.

Распакованная команда поступает в блок 44 буферной памяти распакованной команды и далее по шине 17 в буферную память 3 данных (чтение операндов), в коммутатор А данных (выборка результатов, коммутация операндов и результатов), в устройство 5 и блоки 6, 7, 13, 12 (коды о пера- ций и короткие константы из программного кода).

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

Это приводит к тому, что при попытке чтения операндов из буферной памяти 3 данных может оказаться, что данные еще не поступили, что приводит к блокировке очередной широкой команды в блоке 44 и остановке конвейера на ступенях ниже блока 44. Блокировка выдается по шине 33, из узла 14 блокировки, как результат проверки наличия операндов.

Каждый блок 49-1...49-К памяти узла 14 соответствует одному каналу чтения из оперативной памяти. При обращении в оперативную память по шине 30, в сумматор 54 из блока 9 преобразования математического адреса в физический по входу 31 выдается

целое число, определяющее максимальное количество тактов, через которое должна поступить в центральный процессор прочитанная информация. Это целое число, опре- 5 делаемое компилятором, в сумматоре 54 складывается с текущим значением номера такта счетчика 51. Полученное значение определяет адрес в блоке 49-i (1 Si К) памяти соответствующего направления, по которо0 му пишется 1 (или О). Кроме того, это же значение, определяющее номер такта, к которому должна быть считана информация из оперативной памяти, по адресу счетчика 53- I записывается в блок 50-i двухпортовой па5 мяти соответствующего направления. При каждом обращении в оперативную память соответствующий счетчик 53-I увеличивает свое значение на единицу, Так же, как и блоки 49-i и 50-i памятей сумматор 54 имеет

0 К каналов. Когда информация читается из оперативной памяти, запомненный номер такта по счетчику 53-i считывается из блока 50-i памяти и в качестве адреса, подается на блок 49-i памяти для установки бита в состо5 яние О (или 1), При этом счетчик 52-i считывания увеличивается на единицу.1 Счетчик 51 текущего номера такта читает все К блоков 49-1 ...49-К памятей и, если хотя бы в одном из них в соответствующей пози0 ции имеется 1.(0), через элемент ИЛИ 48 по управляющему входу 33 в устройство 2 управления выдается сигнал блокировки дешифрации команд.

При поступлении данных блокировка

5 снимается, операнды выбираются из блоков 45 и 46 и через блок 47 по шине 18 поступают в коммутатор 4 данных.

Наличие в буферной памяти 3 данных . двух блоков 45 и 46 буферной памяти стека

0. и буферной памяти считывания вызвано необходимостью обеспечить высокую эффективность в условиях смешанных скалярно-векторных вычислений.- При работе с массивами данных память 3 является

5 промежуточным буфером между оперативной памятью и арифметико-логическим устройством 5. Это обеспечивает предварительную выборку элементов массивов и сохраняет рабочую совокупность

0 скалярных переменных.

Коммутатор 4 данных, как и в прототипе, позволяет быстро использовать результаты операций в качестве входных операндов арифметико-логического устрой5 ства 5 и блока 6 управления вызовом-записью данных, записать, результаты в оперативную память и буферную память 3 данных, что сокращает критический путь при выполнении программы. Регистр результатов коммутатора 4 данных используется в тех случаях, когда результат операции должен быть использован в промежуток времени между передачей через коммутатор 4 и передачей через буферную память 3 данных.

В основном, обращение к элементам массива выполняется с постоянным шагом. Это определяет организацию блока 7 индексации, который, как и в прототипе, для создания высокого темпа генерации адресов содержит К параллельно работающих узлов, в каждом из которых имеются блоки буферной памяти описателей массива и блок буферной памяти операций, содержимое которых заносится вне циклического участка программы по шине 22 из блока б управления вызовом-записью данных, Фактически, блок 7 содержит программу доступа к элементам массивов и их описателям.

При исполнении циклического участка программы устройство 2 управления по шине 17 выдает в блок 7 индексации номер, команды по блоку буферной памяти операций. Далее все узлы блока 7 индексации по заданному номеру выполняют команду вычисления адреса элемента массива, который формируется путем сложения базового адреса массива со значением текущего индекса по массиву. Также формируется значение текущей переменной для следующего обращения в массив (изменяется на шаг продвижение по массиву) и заносится в блок 84 буферной памяти описателей массивов.

Сумматоры 89 и 90 служат для.формйро- вания адресов назначения по блоку 46 буферной памяти считывания. Для обеспечения доступа в блок 46 используется метод передвигаемых баз, когда в циклической программе адрес загружаемой ячейки остается постоянным, а базовый адрес, формирующий адрес назначения, изменяется в каждом цикле на шаг приращения базы.

С этой целью в каждом узле блока 7 индексации имеются регистры 86 и 85 базы и приращения базы. На сумматоре 89 формируется текущий адрес назначения по блоку 46, а на сумматоре 90 - модифицируется текущее значение базы на шаг приращения. Новое значение базы заносится в регистр 86 базы, а сформированные математический адрес элемента массива и адрес назначения по шине 24 из всех узлов выдаются в ассоциативное запоминающее устройство 8 и блок 9 преобразования математического адреса в физический.

Для поддержания высокого темпа обращений в оперативную память блок 9 преобразования математического адреса в физический содержит К (на фиг.7 ) узлов 91-1- 91-8, каждый из которых с помощью блока 96 ассоциативной памяти соответствия математических и физических адресов обеспечивает требуемое преобразование.

Заполнение блока 96 имеет привентив- ный характер. С этой целью блок 96 выполнен по двухпортовой схеме, и параллельно

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

Формирование адреса следующей страницы выполняется сумматором 94.

При отсутствии строки в блоке 96 выдается запрос в узел таблицы страниц оперативной памяти. Блок 100 памяти таблицы

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

На сумматоре 99 формируется адрес требуемой строки таблицы, и выполняется

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

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

Блок 93 входной буферной памяти служит для хранения запросов в случае выполнения поиска в узле 92. таблицы страниц

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

Сумматор 97 служит для формирования

физического адреса слова (складываются физический адрес текущей страницы и адрес слова внутри страницы).

Блок 95 буферной памяти данных слу- жит для хранения записываемых в оперативную память данных на время преобразования математического адреса записи в физический.

По шине 26 физического адреса и дан- ные (в случае записи) выдаются в устройство 10 сопряжения.

Заполнение блока 100 памяти таблицы страниц и регистра 98 базы страниц производится по шине 23 из блока 6 управления вызовом-записью.

Блок 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 выполняется

вычитание индекса из размера массива. Сформированный математический адрес через выходной регистр 118 адреса передается по шине 21 на второй информационный вход коммутатора 4 данных и далее по шине 21 на третий информационный вход буферной памяти 3 данных.

При обращении в оперативную память по чтению сформированный адрес с выходного регистра 118 адреса по шине 23 передается на первый адресный и информационный вход ассоциативного запоминающего устройства 8 и первый адресный и информационный вход блока 9 преобразования математического адреса в физический.

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

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

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

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

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

введены блок формирования управляющих

признаков и узел блокировки дешифрации

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

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

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

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

дешифрации-команд соединены с шиной

синхронизации центрального процессора.

2. Процессор поп. 1, о т л и ч а ю щи йс я тем, что устройство управления содержит

счетчик дешифрации команд, четыре регистра дешифрации команд, сдвигатель выборки команд, сдвигатель распаковки команд, первый, второй и третий сумматоры формирования полей распакованной команды, блок

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

выходы которого являются выходами устройства управления, информационный вход которого подключен к первому входу первого сумматора формирования полей распакованной команды, а адресный вход устройства

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

JLC/ ±ITZL J

09

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

название год авторы номер документа
Вычислительная система 1989
  • Бабаян Борис Арташесович
  • Волконский Владимир Юрьевич
  • Горштейн Валерий Яковлевич
  • Ким Александр Киирович
  • Назаров Леонид Николаевич
  • Сахин Юлий Хананович
  • Семенихин Сергей Владимирович
SU1777148A1
КОНВЕЙЕРНЫЙ ПРОЦЕССОР 1992
  • Соколов А.А.
  • Агапов В.М.
  • Бяков А.Ю.
  • Губанов А.Ю.
  • Зак Л.А.
  • Жуковский В.А.
  • Ли В.Л.
  • Отто В.А.
  • Чайковский Л.Ф.
  • Смирнов В.И.
RU2032215C1
ВЫЧИСЛИТЕЛЬНАЯ СИСТЕМА 1989
  • Пентковский В.М.
  • Зайцев А.И.
  • Коваленко С.С.
  • Фельдман В.М.
RU2028663C1
Процессор ввода-вывода 1989
  • Бочаров Алексей Васильевич
  • Залесин Владимир Петрович
  • Захватов Михаил Васильевич
  • Горшков Павел Васильевич
  • Грошев Анатолий Сергеевич
  • Кольцова Сталина Львовна
  • Пшеничников Леонид Евгеньевич
  • Семин Сергей Анатольевич
  • Соловской Андрей Александрович
SU1797722A3
УСТРОЙСТВО УПРАВЛЕНИЯ БУФЕРНОЙ ПАМЯТЬЮ 1990
  • Зайцев А.И.
  • Коваленко С.С.
  • Пентковский В.М.
  • Фельдман В.М.
RU2010317C1
УСТРОЙСТВО УПРАВЛЕНИЯ ПАМЯТЬЮ 1991
  • Александрова Л.А.
  • Гришаков А.Г.
  • Мироненко Е.И.
  • Мозговитов А.А.
  • Соколов А.А.
  • Федоров С.Н.
RU2010318C1
УСТРОЙСТВО ДЛЯ ВЫЗОВА ПОДПРОГРАММ 1990
  • Волин В.С.
  • Лизоркина Г.Ф.
  • Лизоркин А.П.
  • Груздов Ф.А.
  • Артемов А.М.
RU2009538C1
Устройство управления процессора 1988
  • Тяпкин Марк Валерианович
  • Кузнецов Игорь Николаевич
  • Филатова Людмила Михайловна
SU1670686A1
Устройство для сложения (I) 1989
  • Горштейн Валерий Яковлевич
  • Грушин Анатолий Иванович
  • Шевцов Сергей Рудольфович
SU1837281A1
Устройство для управления вводом-выводом 1989
  • Голиков Игорь Николаевич
  • Гришина Валентина Николаевна
  • Константинов Анатолий Анатольевич
  • Корнеев Вячеслав Викторович
  • Писарев Виктор Викторович
SU1735859A1

Иллюстрации к изобретению SU 1 804 645 A3

Реферат патента 1993 года Центральный процессор

Формула изобретения SU 1 804 645 A3

8

L.

#

Д| ,,

u

| ,

У

v

Ш

... /-Л4

.J

17

1

2.4

22

Фиг. г

22

21

Г

m

Yf /9 ztf

.г.. /2

2.5

Л

1

ИВ

US

116

I

I

J

SU 1 804 645 A3

Авторы

Бабаян Борис Арташесович

Волконский Владимир Юрьевич

Горштейн Валерий Яковлевич

Ким Александр Киирович

Назаров Леонид Николаевич

Сахин Юлий Хананович

Семенихин Сергей Владимирович

Даты

1993-03-23Публикация

1991-03-27Подача