Центральный процессор мультипрограммной мультипроцессорной вычислительной системы

 

309363

О П И С А Н И Е

ИЗОБРЕТЕНИЯ

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ

Сова Советских

Социалистических

Республик

Зависимое от авт. свидетельства ¹â€”

Заявлено 06ЛII.1970 (№ 1409003/18-24) с присоединением заявки ¹â€”

Приоритет

Опубликовано 09.VII.1971. Бюллетень ¹ 22

Дата опубликования описания 14.1Х.19 1

МПК 6 06f 15/16

Комитет по делам изобретений и открытий при Совете Министров

СССР

УДК 681.3(088.8) Авторы изобретения

М. Б. Тамаркин, Ю. С. Ломов, В. М. Гальцов, И. Ф. Казаков

В. А. Субботин, А. А. Горностаев и А. Г, Григорцевский C;ÃÑOÈÇHAß

11, 1 1-:: Ж)-;;;й3ТЯОИ емБЛыЭтеКА

Заявитель

ЦЕНТРАЛЬНЫЙ ПРОЦЕССОР МУЛЬТИПРОГРАММНОЙ

МУЛЬТИПРОЦЕССОРНОЙ ВЫЧ ИСЛ ИТЕЛ ЬН ОЙ СИСТЕМЫ

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

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

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

Недостатком известного процессора является сложность структуры отдельных специализированных устройств. Путем определенных

10 изменений структуры известного процессора может быть достигнута большая потенциальная производительность.

Предлагаемый центральный процессор отличается от известного тем, что он содержит

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

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

30 запросов на чтение и на запись от процессора

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

Первые 16 разрядов декодируемой команды и следующие 32 разряда из регистров буфера команд направляются на декодирование через коммутирующую схему. 17 с помощью дешифратора 18.

К адресу декодируемой команды, записанному в регистре 4, на сумматоре 19 добавляется длина команды, а результат (адрес следующей команды) запоминается в разрядах 40—

63 регистра 20 слова состояния программы.

При переходе к декодированию следующей команды адрес из регистра 20 помещается в регистр 4. С помощью дешифратора 18 из регистров буфера команд подаются на декодирование первые 16 разрядов этой команды и следующие 32 разряда и т. д.

Команды декодируются в блоке 21 декодирования команд и помещаются в регистр 22 команды, из которого под управлением блока

23 анализа конфликтов направляются в процессор 24 выполнения операций с фиксированной запятой или процессор 25 выполнения операций с плавающей запятой в магазины кодов операций 2б и 27. Декодированные команды переходов и переключения состояния направляются блоком 21 в блок 28 выполнения команд переходов и переключения состояния, где они выполняются при участии блока 28 анализа конфликтов, В блоке 29 модификации адреса процессора команд формируется адрес операнда и запрос в устройство управления оперативной памятью под управлением блока 23 анализа конфликтов. Запрос на выборку операнда подается че. рез коммутатор 5 и регистр 7 запроса на чтение под управлением схемы б. Сформированный в блоке 29 модификации адреса под управлением блока 28 анализа конфликтов запрос на запись подается в адресный буфер 30 записи в устройстве управления основной оперативной памятью по отдельной шине 81.

Если сформирован запрос на запись, то схема 32 быстрой проверки определяет предварительно, влияет ли операция запоминания на содержимое буфера 10 команд.

В случае определения такого влияния блокируется выборка команд и декодирование, включается схема 88 точной проверки, которая сравнивает адрес ячейки памяти, в которую будет производиться запоминание, с адресами в регистрах 14 и 8.

Регистр 8 отмечает адрес первого двойного слова команд, помещенного в буфер команд.

Когда в результате увеличения адреса в регистре 2 происходит совпадение трех младших разрядов адреса двойного слова в этом регистре с тремя младшими разрядами адреса двойного слова в регистре 8 при передаче запроса в устройство управления основной оперативной памятью на выборку двойного слова

65 команд, единица добавляется не только к адресу в регистре 2, но и к адресу в регистре 3.

Добавление единицы к адресу в регистре 3 производится на сумматоре 34, а результат запоминается в промежуточном регистре 85. По окончании передачи запроса выход регистра

85 подключается ко входу регистра 8. Совпадение трех младших разрядов адреса в регистрах 2 и 3 указывает на то, что буфер 10 команд заполнен и при последующих выборках двойных слов команд происходит замена двойных слов команд, находящихся в этом буфере, начиная с первого.

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

Если же адрес ячейки памяти, в которой будет произведено запоминание, совпадает с адресом какой-либо команды в буфере команд, то блокировка не снимается до тех пор, пока эта команда не будет заменена на новую. Как только информация для запоминания поступит в информационный буфер 8б записи, блокировка снимается. Такая замена производится схемой 87.

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

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

Для целей защиты оперативная память разделена на блоки по 256 двойных слов (2048 байтов). С каждым блоком связан пятиразрядный ключ памяти. Пятый разряд служит для защиты от выборки.

При обращении в память в устройстве 9 управления основной оперативной памятью производится сравнение четырехразоядного ключа защиты с четырьмя разрядами ключа памяти. Запись и чтение разрешены, если при этом происходит совпадение или, во всех разрядах ключа защиты нули. Если ключ защиты не нулевой и не совпадает с четырьмя разрядами ключа памяти, запись не разрешена.

Чтение разрешено, если при этом пятый разряд ключа памяти нулевой и нет, если единица.

Ключ защиты хранится в регистре 20 слова состояния программы.

Ключи памяти хранятся в блоке 38 памяти ключей и поступают в устройство управления основной оперативной памятью по шине 89.

Ключи памяти устанавливаются по команде

«Установить ключ памяти» и проверяются по команде «Прочитать ключ памяти» блоком 28 выполнения команд переходов и переключения состояния.

Так как память оперирует со словами двойной длины, а команды — с информацией переменной длины (байт, полуслова, слово, двойное слово), то для указания расположе309363

45

60

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

С целью уменьшения времени обращения к

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

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

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

При этом оптимальная согласованность работы отдельных блоков обеспечивается системой связей между ними.

Благодаря согласованной параллельной работе отдельных блоков производительность предлагаемого центрального процессора не имеет прямой зависимости от времени выполнения каждой конкретной операции.

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

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

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

Предусмотрена также совместная работа псскольких процессоров.

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

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

Команды из памяти в процессор 1 команд выбираются 64-разрядными (двойными) словами. Лдрес первого двойного слова команд помещается в регистры 2 и 3..., адрес первой команды — в регистр 4. С выхода регистра 2 через коммутатор 5 под управлением схемы б управления выборкой адрес подается на регистр 7 запроса на чтение и далее по шине 8 передачи запроса на чтение к устройству 9 управления основной оперативной памятью. Три младших разряда адреса двойного слова команд указывают на номер регистра буфера

10 команд, в который нужно поместить выбранное из памяти двойное слово команд. На сумматоре 11 к адресу первого двойного слова команд добавляется единица и результат (адрес второго двойного слова команд) запоминается в промежуточном регистре 12, прп этом адрес первого двойного слова команд запоминается в промежуточном регистре 18.

По окончании передачи запроса на первое двойное слово команд выход регистра 12 подключается ко входу регистра 2, выход регистра 18 — ко входу регистра 14. В регистре 12 при этом оказывается адрес второго двойного слова команд. Передается запрос на выборку второго двойного слова команд, после чего в регистре 2 устанавливается адрес третьего двойного слова команд и т. д. до тех пор, пока не возникнет одно из трех условий: а) переданы запросы на пять двойных слов команд (при передаче запросов на четыре слова дополнительно передаегся запрос еще на одно слово команд, если при этом не задерживается передача запроса на операнд); б) устанавливается условный режим в результате обработки команды «Условный переход»; в) обнаруживается неоднородность, т. е. нарушается процесс выборки в результате операций перехода, прерывания или запоминания.

Выбранные из памяти двойные слова команд запоминаются в регистрах буфера 10 команд или в дополнительных буферах 15 и 16.

Дополнительные буферы используются при обработке команд перехода. B них записываются два первых двойных слова команд новой последовательности, обработка которой начинается, если переход успешный. Эти буферы обеспечивают начало работы в случае успеш309363

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

При обработке команды, относящейся к классу команд с плавающей запятой, использующих информацию, которая находится в памяти, блок анализа конфликтов проверяет наличие в процессоре выполнения операций с плавающей запятой свободного буферного регистра, сигнал по шине 79 вырабатывает трехразрядный код свободного буферного регистра, поступающий по шине 80 на схему формирования команд в блок декодирования 21 команд и схему формирования запроса в блок 29 модификации адреса и производит запоминание занятости выбранного свободного буферного регистра на соответствующем ему триггере (сигнал о занятости поступает по шине 81 для обработки следующих команд). Когда процессор 25 выполнения операций с плавающей запятой использует содержимое того или иного буферного регистра, он сигнализирует об этом олоку 28 анализа конфликтов по шине 82, включая соответствующий триггер регистра 76. Информация о состоянии триггеров по шине 88 поступает на анализ в регистр 77 и схему 78. Работой узла анализа состояния буферных регистров процессора выполнения операций с плавающей запятой управляет сигнал по шине 84 со схемы 85 выработки управляющих сиги ал ов.

Узел анализа состояния буферных регистров процессора выполнения операций с фиксированной запятой предназначен для сигнализации о наличии свободных буферных регистров в этом процессоре и для выработки кода свободного буферного регистра. Этот узел состоит из регистра 86, представляющего собой шесть независимо управляющих триггеров в соответствии с числом буферных регистров в процессоре 24; схемы 87 выработки кода свободного буферного регистра; схемы 88 анализа наличия свободного буферного регистра в процессоре 24; трехразрядного счетчика 89 для подсчета числа занятых буферных регистров и схемы 90 анализа числа незанятых буферных регистров.

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

91) и при наличии такового схема 85 выработки управляющих сигналов по признаку обрабатываемой команды блока 28 анализа конфликтов выдает в узел анализа состояния буферных регистров этого процессора управляю5

Зо

65 щий сигнал по шине 92, поступающий на схемы 87, 88 и счетчик 89.

По этому сигналу схема 87 по шине 98 выдает трехразрядный код свободного буферного регистра процессора 24 в блок 21 декодирования команд на схему формирования команд и в блок 29 модификации адреса на схему формирования запроса; схема 88 выдает на соответствующий триггер регистра 86 сигнал занятости выбранного буферного регистра по шине 94; счетчик 89 запоминает факт очередного выбора буферного регистра процессора 24.

Когда процессор 24 выполнит очередную команду, использующую содержимое буферного регистра, он сигнализирует об этом блоку 28 анализа конфликтов по шине 95 об освобождении буферного регистра, выключая соответствующий триггер регистра 86 и вычитая

«1» из содержимого счетчика 89. Информация о состоянии триггеров регистра 86 по шине 96 поступает на схемы анализа 87 и 88 — для выработки нового кода свободного буферного регистра, и информация со счетчика 89 по шине

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

24 более одного свободного буферного регистра.

Узел анализа состояния буферных регистров устройства управления оперативной памятью предназначен для сигнализации наличия свободного буферного регистра в устройстве и выработки кода свободного буферного регистра. Он состоит из регистра 99, представляющего собой три независимо управляемых триггера в соответствии с числом буферных регистров в устройстве 9 управления основной оперативной памятью, схемы 100 выработки кода свободного буферного регистра; схемы

101 анализа наличия свободного буферного регистра в устройстве 9. При обработке команд запоминания блок анализа конфликтов проверяет факт наличия в устройстве 9 свободного буферного регистра (сигнал по шине

102) и при наличии такового схема 85 выработки управляющих сигналов по признаку обрабатываемой команды выдает в узел анализа состояния буферных регистров устройства 9 управляющий сигнал по шине 108, поступающий на схемы 100 и 101.

По этому сигналу схема 100 по шине 104 выдает двухразрядный код свободного буферного регистра устройства 9 в регистр 22 команды и в блок 29 на схему формирования запроса; схема 101 выдает на соответствующий триггер регистра 99 сигнал занятости выбранного буферного регистра по шине 105. Когда устройство 9 произведет запись информации из буферного регистра в память, оно сигнализирует блоку 28 анализа конфликтов по шине

309363

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

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

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

Из буфера 86 информация поступает на схему 40 сдвига, которая подает информацию в шину 41 к блокам управления основной оперативной памяти и шину 42 к устройству управления расширенной оперативной памятью в соответствии с маркером соответствующего запроса на запись.

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

48. Схемой 49 сдвига информация сдвигается так, чтобы начало ее всегда совпадало со старшим разрядом регистра-приемника, и подается по шине 50 к регистру, определенному адресом регистра-приемника под управлением дешифратора 51 адреса регистра-приемника.

Кроме того, с регистра 44 информация подается на схему 52 контроля передачи.

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

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

В этом случае прерывание программы не происходит, и код операции из блока 21 декодирования команд подается в специализированный блок по шине 58.

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

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

Связь с другими центральными процессорами системы осуществляется по шинам 56 и 57 через блок 58 ввода-вывода.

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

Центральный процессор связан с блоками основной расширенной памяти через блок 61 управления основной оперативной памятью и устройство 62 управления основной расширенной памятью по адресной шине 68 и информационной шине 64.

Устройство 62 управления основной расширенной памятью связано с каналами вводавывода шиной 65.

По шине 66 от блока 61 управления основной оперативной памятью производится передача адреса при обращениях к блокам ocHQBной расширенной оперативной памяти.

Все команды с плавающей запятой выполняются в процессоре 25 выполнения операций с плавающей запятой, в который кроме магазина кодов операций 27 входят блок 67 сложения, в котором выполняются операции сложения (вычитания) с нормализацией результата и без нормализации и сравнение; блок 68 умножения и деления, в котором выполняются операции умножения и деления; регистры

69 арифметики с плавающей запятой, предназначенные для временного хранения результатов операций с пл",âàþùeé запятой; буфер 70 операндов арифметики с плавающей запятой, предназначенный для буферизации операндов, поступающих из оперативной памяти; дешифратор 71 кода операций.

Процессор 24 выполнения операций с фиксированной запятой предназначен для выполнения арифметических операций с фиксированной запятой и логических операций. Процессор 24, кроме магазина 26 кола операций, содержит исполнительный блок 72, выполняющий арифметические и логические операции; сусЬер 78 операндов арифметики с фиксированной запятой, предназначенный для буферизации операндов, поступающих из оперативной памяти; дешифратора 74 кода операций; регистры 75 общего назначения, предназначенные для временного хранения результатов операций с фиксированной запятой. Регистры общего назначения имеют непосредственную связь с процессором 1 команд, который может обращаться к регистрам общего назначения, производить запись и чтение информации из этих регистров.

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

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

121. Наряду с функциями, описанными выше, схема 121 запоминает номера трех регистров общего назначения, содержимое которых будет использовано при выполнении команд процессором 24. Информация об этих регистрах поступает по шинам 185 и 124 из блока 21 и представляет собой четырехразрядные коды, содержащие номера регистров общего назначения 75. Схема 121 по сигналу по шине 186 производит запоминание номеров регистров общего назначения, содержимое которых будет использоваться при выполнении команд процессором 24. Запоминание производится на счетчиках И8, номера которых соответствуют номерам регистров общего назначения.

При выполнении процессором 24 команды, использующей содержимое регистра 75 общего назначения, этот процессор выдает в блок

28 анализа конфликтов на счетчик 188 по ши»е 187 сигнал, по которому этот счетчик производит вычитание <:1» в соответствующем счетчике и перевод счетчика в нулевое состояние, означающее, что данный общий регистр свободен от использования его в командах с фиксированной запятой.

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

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

24, (шина 189) и признак команд процессора, изменяющих содержимое регистров общего назначения (шина 140).

Результат анализа со схемы, И4 в виде сигнала по шине 141 поступает в блок 29 и либо разрешает, либо запрещает запись информации в регистр 75 в результате выполнения команды процессором 1.

Узел управления потоком команд предназначен для выявления конфликтных ситуаций, которые могут возникнуть при принятом параллельном способе обработки нескольких команд на разных уровнях. Он состоит из регистра 142, представляющего собой три чезависимо управляемых триггера, предназначенных для фиксации признаков, которые могут вызвать прерывание непрерывного потока обработки, обусловленное влиянием команд программы друг на друга; схемы 148 анализа межкомандных блокировок, регистра 144, представляющего собой три независимо управляемых регистра для фиксации признаков, ко5

Z5

65 торые могут вызвать прерывание непрерывного потока обработки команд, обусловленное влиянием условий, не относящихся к обрабатываемым командам; и схемы 145 анализа блокировок, не зависящих от обрабатываемых команд.

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

142 (сигнал по шине 146 из блока 21).

Схема 82 быстрой проверки выдает на регистр 142 сигнал по шине 147, который сигнализирует о возможности такого влияния. Схема 148 в этом случае вырабатывает сигнал го шине 148, который поступает в блок 21 и блокирует подачу команд на дешифрацию и на схему для блокировки выработки управляюш,их сигналов.

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

Информация с регистра 142 передается на с." ему анализа 148 по ц ине 150. Другой слу.ай возникновения межкомандных блокировок происходят при обработке команд переходов.

Л этом случае необходимо прекращать выполнение очередных команд программы до выявления решения о переходе. Для этого схема

148 получает из блока 21 сигнал признака ко.; анды перехода по шине 151.

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

55 прерываний (сигнал по шине 152), от таймера (сигнал по шине 158) или вмешательство оператора (сигнал по шине 154). B любом из этих случаев схема 145 вырабатывает сигнал блокировки по шине 148 на основе анализа содержимого регистра 144, поступающего на схему 145 по шине 155. С другой стороны схема 145 сама вырабатывает сигнал прерывания, по шине 15б поступающий в блок 55 прерываний. Если этот блок принимает сигнал на исполнение, он сообщает об этом блоку 28 анализа конфликтов посылкой сигнала по шине 152, а та, в свою очередь, производит прерывание обработки основного потока команд.

Причиной выработки сигнала прерывания по шине 15б схемой 145 является: отсутствие в системе оборудования для выполнения тех или иных команд (сигнал по шине 157), так как в этом случае они являются с помощью подпрограмм; возникновение условий, приво309363

13

106 об освобождении буферного регистра, сбрасывая соответствующий триггер регистра

99. Информация о состоянии триггеров регистра 99 по шине 107 поступает на схемы анализа 100 и 101 для выработки нового кода свободного буферного регистра устройства 9.

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

Он состоит из четырехразрядного счетчика

108, фиксирующего число команд, переданных в процессор 25; трехразрядного счетчика 109, фиксирующего число команд, поступивших в процессор 24, и схемы 110 анализа способности процессоров принять в магазин следующую очередную команду.

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

110. При положительном ответе схема 85 блока 28 анализа конфликтов выдает в счетчик

108 сигнал по шине 112, по которому этот счетчик запоминает факт передачи команды в процессор 25. По окончании выполнения очередной команды процессор 25 выдает в блок

28 анализа конфликтов сигнал по шине 113 на счетчик 108, который сигнализирует об освобождении одного из восьми регистров магазина кодов операций. Аналогично при обработке команды с фиксированной запятой блок анализа конфликтов проверяет способность процессора 24 принять команду на исполнение по сигналу по шине114 схемы 110 и при поло. жительном ответе схема 85 блока 28 анализа конфликтов выдает в счетчик 109 сигнал по шине 115, по которому этот счетчик запоминает факт передачи команды в процессор 24.

По окончании выполнения очередной команды процессор 24 выдает в блок анализа конфликтов сигнал по шине 116 на счетчик 109, который сигнализирует об освобождении одного из шести регистров магазина кодов операций. Содержимое счетчиков 108 и 109 по шинам 117 и

П8 поступает в схему 110 для следующего анализа.

Узел анализа занятости общих регистров для модификации адреса предназначен для управления поступлением информации в сумматор модификатора. Узел состоит из 16 трехразрядных счетчиков 119 в соответствии с числом регистров общего назначения, находящихся в процессоре 24, схемы 120 анализа занятости регистров общего назначения и схемы 121 управления счетчиками занятости регистров общего назначения. При обработке команды, относящейся к классу команд арифметики с фиксированной запятой, в результате выполнения которой будет изменяться содержимое регистра общего назначения, схема 85 блока анализа конфликтов вырабатывает сигнал уп5

25 зо

65 равления, по шине 122 поступающий íà схему 121.

Схема 121 запоминает факт изменения содержимого регистра общего назначения путем выдачи сигнала по шине 128 на счетчик, номер которого соответствует номеру того регистра общего назначения, содержимое которого будет изменено в результате выполнения команды процессора 24. Для выработки сигналов управления счетчиками 119 схема 121 получает с выходной ступени блока 21 по шине 124 четырехразрядный код номера общего регистра 75, содержимое которого будет изменено, и сигнал 125 — признак команд, изменяющих содержимое регистров общего назначения.

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

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

Эту функцию выполняет схема 120 анализа занятости общих регистров для модификации адреса. По шинам 127 и 128 из блока 21 схема

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

120 вырабатывает сигнал по шине 180, который поступает на схему 85 блока анализа конфликтов и содержит информацию, разрешающую или запрещающую передачу содержимого регистров общего назначения в блок 29 модификации адреса. При разрешении использования содержимого регистров общего назначения для модификации адреса схема 85 вырабатывает управляющие сигналы, поступающие в блоки 21 и 29 по шинам 131 и 132.

Узел анализа занятости регистров общего назначения для процессора 1 команд предназначен для управления занесением информации в регистры общего назначения в результате выполнения команд этим процессором, изменяющих содержимое общих регистров. Он состоит из 16 трехразрядных счетчиков 183 в соответствии с числом регистров общего назначения; схемы 184 анализа занятости схемы

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

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

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

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

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

<Риги

65 б бз H

5

65 дящих к неправильному выполненчю команд, например нарушение расположения информации в памяти в соответствии с грани гпыми условиями (сигнал по шине 158 из блока 29) или нарушение специфических условий, налагаемых на информацию, содержащуюся в компонентах команды (сигнал по шине 159 со схемы 85). В двух последних случаях необходимо перейти к программе отыскания при-;ины нарушения спецификаций.

Схема выработки управляющих сигналов 85 предназначена для управления работой всех перечисленных узлов блока 23 анализа конфликтов. Схема получает информацию о состоянии всех узлов блока 28 и на основании этого выдает совокупность управляющих сигналов. Помимо сигналов, перечисленных при описании узлов, схема 85 получает информацию из блока 29 о состоянии модификатора адреса Э (сигнал по шине 1бО) и из блока 21 признак обрабатываемой команды по шине

1б1; и формат обрабатываемой команды по шине 1б2. Для каждой обрабатываемой в данный момент команды схема 85 проверяет выполнение всех условий, при которых можно выполнить команду, и только в этом случае выдает совокупность управляющих сигналов на те или иные узлы. При невыполнении какого-либо условия схема 85 не выдает управляющих сигналов до тех пор, пока это условие не будет выполнено. Таким образом, схема 85 может приостановить обработку потока команд на время выполнения требуемых условий.

Предмет изобретения

1. Центральный процессор мультипрограммной мультипроцессорной вычислительной слстемы, содержащий процессор команд; процессор выполнения операций с фиксированной запятой, включающий набор регистров общего назначения; процессор выполнения операций с плавающей запятой, включающий набор регистров арифметики с плавающей запятой, устройство управления основной оперативной памятью и устройство управления основной расширенной памятью, причем в процессорах выполнения операций содержатся регистры операндов и магазины кодов операций, подключенные к выходу регистра команды процессора команд, регистры арифметики с плавающей запятой; буферы операндов и магазин кода операций арифметики с плавающей запятой подключены к исполнительным блокам процессора выполнения операций с плавающей запятой; регистры общего назначения, буферы операндов и магазин кодов операций арифметики с фиксированной запятой подключены к исполнительному блоку процессора выполнения операций с фиксированной запятой; регистры арифметики с плавающей запятой и исполнительный блок про цессора выполнения операций с фиксированной запятой подключены к информационному буферу записи устройства управления основной опсратньно памятью, отличающийся тем, что, с целью упрощения структуры, сокращения оборудования и повышения быстродействия, îп содержит в процессоре команд коммутирующую схему гередачи команд на декодирование непосредственно из регистров буфера команд, схему быстрой предварительной проверки и схему точной проверки совпадения адресов ччеек памяти при подготовке операции запоминания с адресом команд, находящихся в буфере команд; схему записи команд непосредственно из информационного буфера записи устройства управления оперативной памятью при совпадении адреса ячейки памяти, в которую производится запись, с адресом какой-либо команды, хранящейся в буфере команд процессора команд, одновременно с записью в ячейку памяти; раздельные шины передачи запросов на чтение и на запись от процессора команд к устройству управления основной оперативной памятью, причем коммуT; póþè àÿ схе ..а связана с выходами регистров буфера команд, а ее выходы через схе I)" декодирования команд и схему модификации адреса подсоединены ко входам схем быстрой и точной проверки, выход которой подсоединен к схеме записи команд в буфер команд непосредственно из информационного буфера записи, а также блок анализа конфликтов, связанный со схемами декодирования команд и со схемамн анализа заполнения магазинов кодов операций процессоров выполнения операций с фиксированной и плавающей запятой, со схемой сигнализации освобождения регистров общего назначения, схемой сигнализации доступности регистров информационного буфера записи устройства управления основной огеративной памятью при передаче запроса на запись, схемо" доступности буферов операндов процессоров выполнения операций с фиксированной и плавающей запятой, с регистрами арифметики с плавающей запятой и подключенный управляющими выходами к коммутирующей схеме передачи команд на декодирование, схеме формирования команд для исполнительных блоков, схеме модификации адреса, магазинам процессоров операций с фиксированной и плавающей запятой, с.;еме формировачия запроса, к устройству управления основной оперативной памятью.

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

3. Центральный процессор мультипрограммной мультипроцессорной вычислительной системы по п. 1, отлича>ошийся тем, что, с целью выставки передаваемой информации на грани309363

Фиг. 2

Составитель А. А. Плащин

Редактор Л. А. Утехина Техред Л. Л. Евдонов Корректор 3. И. Тарасова

Заказ 2451/10 Изд. No 1012 Тираж 473 Подписное

ЦНИИПИ Комитета по делам изобретений и открытий прп Совете Министров СССР

Москва, Я-35, Раушская наб., . 4/5

Типография, пр. Сапунова, 2

Центральный процессор мультипрограммной мультипроцессорной вычислительной системы Центральный процессор мультипрограммной мультипроцессорной вычислительной системы Центральный процессор мультипрограммной мультипроцессорной вычислительной системы Центральный процессор мультипрограммной мультипроцессорной вычислительной системы Центральный процессор мультипрограммной мультипроцессорной вычислительной системы Центральный процессор мультипрограммной мультипроцессорной вычислительной системы Центральный процессор мультипрограммной мультипроцессорной вычислительной системы Центральный процессор мультипрограммной мультипроцессорной вычислительной системы Центральный процессор мультипрограммной мультипроцессорной вычислительной системы Центральный процессор мультипрограммной мультипроцессорной вычислительной системы Центральный процессор мультипрограммной мультипроцессорной вычислительной системы 

 

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

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

Изобретение относится к вычислительной технике и может быть использовано в электронной цифровой вычислительной машине

Изобретение относится к вычислительной технике и может быть использовано в электронной цифровой вычислительной машине

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

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

Изобретение относится к электронным играм

Микроэвм // 2108619
Изобретение относится к области микропроцессорной техники, в частности, может применяться для реализации обмена информацией

Изобретение относится к системам передачи стоимости товара при безналичных операциях
Наверх