Устройство для сопряжения центрального процессора с группой арифметических процессоров

Иллюстрации

Показать все

Реферат

 

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

СОЮЗ COBETGHHX

СОЦИАЛИСТИЧЕСКИХ

РЕСПУБЛИК (5D 4 G 06 F 13/00

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

К АBTOPCHOMY СВИДЕТЕЛЬСТВУ

2 (54) УСТРОЙСТВО ДЛЯ СОПРЯЖЕНИЯ ЦЕНТРАЛЬНОГО ПРОЦЕССОРА С ГРУППОЙ АРИФМЕТИЧЕСКИХ ПРОЦЕССОРОВ (57) Изобретение относится к вычислительной технике и может быть использовано при построении высокопроизводительных систем в качестве средства сопряжения центрального процессора с арифметическими процессорами. Целью изобретения является повьппение производительности. Устройство содержит блок микропрограммного управления, блок селекции адресов параметров, регистр возврата в программу, регистр кода операции, регистр адреса, регистр номера, блок памяти,.дешифра- а, тор, триггер, два элемента И,элемент

ИЛИ. l з и. ф лы, 9 ил., 1 табл.

ГОСУДАРСТВЕННЫЙ КОМИТЕТ

ПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМ

ПРИ ГКНТ СССР (21) 4400465/24-24 (22) 30.03.88 (46) 15.12.89. Бюл. Ф 46 (71) Филиал "Восход" Московского авиационного института им. Серго Орджоникидзе (72) Ю.П,Михнов (53) 681.325(088.8) (56) Авторское свидетельство СССР

1254495, кл. G 06 F 13/00, 1984.

Авторское свидетельство СССР !

1) 1288704, кл. G 06 F 13/00, 1984.

Изобретение относится к вычислительной технике и может быть использовано при построении высокопроизводительных систем в качестве средства сопряжения центрального процессора (ЦП) с арифметическими процессорами (AII).

Цель изобретения — повышение производительности устройства.

На фиг.1 представлена блок-схема устройства; на фиг„2 — блок-схема блока памяти; на фиг.3 — блок-схема регистра возврата в программу; на фиг,4 — блок-схема блока селекции ад-. ресов параметров; на фиг.5 — блоксхема регистра кода операции; на фиг.6 — блок-схема регистра номера; на фиг.7 — блок-схема регистра адре()9)SU((() А 1 са; на фиг.8 — блок-схема блока микропрограммного управления, на фиг.9.— временные диаграммы перехода в основную программу, с©

Устройство содержит (фиг,1) ЦП 1, АП 2, регистр 3 возврата в программу, блбк 4 памяти, регистр 5 кода операции, блок 6 селекции адресов парамет- Ж ров, регистр 7 адреса, триггер 8, регистр 9 номера, элемент И 10, дешифратор 11, элемент И !2, блок 13 мик- ропрограммного упрявления, шину 14 адреса, шину 15 дяииых, цепь 16 сигнала

"IIopтверждение зяхвята ЦП ((ПЗхЦП}. цепь 17 сигналя "Чтение ЦП" (Чт ЦП), цепь 18 сигналя "Запись ЦП" (Зп ЦП), . цепь 19 сигнала "1 отовность ЦП" (Гц ЦП), цепь 20 сигнала "Синхрони 1529236

55, зация ЦП" (Сн ЦП), элемент ИЛИ 21,, цепь 22 сигнала "Запрос захвата ЦП" (ЗЗх ЦП), цепь 23 сигнала "Код опера"

,ции AII" (КО АП), цепь 24 сигнала "Не исправность АП (Нс АП), цепь 25 сигФ!

5 нала "Выборка кристалла АП" (ВК АП), ,цепь 26 сигнала "Чтение АП - (Чт AII) цепь 27 сигнала "Запись АП" (Зп АП), .цепь 28 сигнала "Запуск АП", цепь 1р

29 сигнала "Конец выполнения АП" (КВ АП), цепь 30 сигнала "Разрешение выборки памяти программ" (PB

ПП), цепь 31 сигнала "Чтение из памяти программ" (Чт ПП) и цепь 32 сигна — 15 ла "Запись в память программ" (Зп ПП).

:: В качестве, ЦП 1 в устройстве может быть применен, например, микропроцессор серии К58ОИК80 К0.348.393 ТУ.

В качестве, AII 2 в устройстве может 20 быть применен, например, АП по авт.св.

1Ф 1144117.

Блок 4 памяти образуют (фиг.2) коммутаторы 33 и 34, шинный формирователь 35, элемент. НЕ 36, группу элементов И 37, элемент ИЛИ 38, ассоциативное запоминающее устройство (АЗУ) 39, состоящее из дешифратора 40, регистров 41, элементов 4? сравнения, шифратора 43 и оперативного запомина- 30 ющего узла (ОЗУ) 44.

Регистр 3 возврата в программу включает (фиг.3) элемент И 45, триггер 46, элемент И 47, элемент ИЛИ 48 и мно го режимный буферный р егис тр 49.

Блок 6 селекции ад„ "ов параметров содержит (фиг.4) узел 50 управления записью, состоящий из элемента ИЛИ

5l триггера 52, элемента И 53, триггера 54> элемента И 55, элемента И 56 счетчика 57, элемента И 58 и элемента

ИЛИ 59„ узел 60 памяти, состоящий из элемента НЕ 61, регистра 62 общего назначения, регистра 63, элемента 64 задержки, счетчики 65, элемента НЕ бб, 45 триггера 67,регистра 68 и элемента 69 задержки, узел 70 управления выборкой, состоящий из, элемента И-ИПИ 71, элемента ИЛИ 72, счетчика 73, постоянной памяти 74, сумматора 75, элемента И

76, элемента 77 задержки, элемента

78 задержки, элемента 79 задержки, элемента И-ИЛИ 80 и элемента И 81.

Регистр 5 кода операции состоит из (фиг.5) элемента НЕ 82, многорежимного буферно"î регистр" 83, элемента 84 задержки и элемент И 85.

Регистр 9 номера выполнен в виде (фиг.б) регистра 86, элемента 87 задержки и элемент И 88, Регистр 7 адреса образуют (фиг,7) элемент ИЛИ 89, элемент 90 задержки, элемент 91 задержки, регистр 92, счетчик 93, счетчик 94, буферный элемент

95, элемент 96 задержки и элемент

И 97.

Блок 13 микропрограммного управления содержит (фиг.8) память 95 микрокоманд, регистр 99 микрокоманд, счет» чик 100 микрокоманд, элемент И 101, элементы И 102 элемент И 103, триггер 104, генератор 105 тактовых импульсов, элементы И 106, элемент

И !07, элемент И-ИЛИ 108, триггер 109, элемент ИЛИ 110 и элемент НЕ 111, В основе построения устройства лежат два принципа: принцип модульного представления программного и аппаратного обеспечения вычислительных систем и принцип взаимозаменяемости пррограммных и аппаратных модулей.

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

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

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

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

5 и для АП, подпрограмма должна получить некоторые входные данные и выдать результаты.

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

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

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

Более общим и обязательно используе- 40 мым компиляторами является способ передачи параметров по ссылке (параметры — переменные). Часто этот способ является единственным в системе.

2. В зависимости ат иместа подго- 45 товки параметров по отношению к тачке вызова программного модуля выделяется подготовка параметров до точки вызова модуля, после точки вызова модуля и комбинированная, 50

3. Тенденция построения современных операционных систем предполагает выполнение соглашений с межпрограммных связях, в рамках которых механизмы передачи параметров в модули инвариантны к языкам программирования.

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

5. Механизм передачи параметров в программные модули определяют структуру блока селекции адресов параметров в составе устройства для сопря— жения ЦП с группой АП.

Для определения конкретной структуры блока селекции адресов параметров рассмотрим случай использования предлагаемого устройства в составе микроЭВМ СМ-1800, программирование задач в которой осуществляется на языке Паскаль/MT+, версия 5.

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

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

Блок 4 памяти (фиг.2) предназначен для определения конфигурации вычислительной системы. Блок 4 построен в виде памяти-каталога на основе

АЗУ 39 и функционирует в двух режимах: настройки и рабочем.

В режиме настройки блока 4 про= изводится запись имен программных модулей, функции которых будут реализоваться в АП 2, и информационно-управляющих слов АП 2. При этом в регистры 41 записываются имена программных модулей, а в ячейки ОЗУ 44 — информационно-управляющие слова АП 2! код операции, номер АП, количество обрабатываемых параметров, длина обрабатываемых параметров (например, в байтах). Запись производится под управлением ЦП 1, таким образом, что имеет место взаимно однозначное соответствие между именем К-га программного модуля, помещаемага в К-й регистр 41, и содержимым К-й ячейки ОЗУ 44. Кзменяя определенным образом разрядность полей ОЗУ 44 и объем АЗУ 39, можно получить требуемое количество аппаратно реализуемых функций в АП 2, а также необходимую длину обрабатываемых параметров.

1529236

Запись в К-й регистр 41 и К-ю ячейку ОЗУ 44 осуществляется следующим образом. На шину 14 адреса ЦП 1 устанавливают адреса соответствующие К-му

М регистру 41 и К-й ячейке ОЗУ 44, на шину 15 данных подается имя

; K-го программного модуля и соответствующее информационно-уп-; равляющее слово АП 2 „ Сигналом1

Зп ЦП по цепи 18 осуществляется пе реключение коммутаторов 33 и 34 и шин,ного формирователя 35 в режим настрой, ки. При этом шина 14 адреса коммути-! руется с дешифратором 40 и ацресныии входами ОЗУ 44 шина 15 данных коммутируется с регистрами 41 и информационными входами-выходами ОЗУ 44., Этим же сигналом Зп ЦП по цепи 18 произво-. дится запись К-го имени программного

26 модуля в К-й регистр 41 (дешифратор

40 открывает входы К-ro регистра 41) и соответствующей информации в K-ю ячейку ОЗУ 44 (сигнал Зп ЦП поступает на входы "Запись" .и 1 Разрешение выбор-25 ки ОЗУ 44). Осуществляя пе

АЗУ .39, можно переориентировать устрийство на обработку требуемого колкчества прикладных программ.

В рабочем режиме блока 4 второй коммутатор 34 подключает шину 14 адреса к информационным входам регистров 41 и первым входам (входам A. элемен-ов 42 сравнения. Выходы шифратора 43 в рабочем реж „:е открыть, По.скольку вторые входы .:входы В) эле55 ментов 42 сравнения соединены с выходами регистров 41,, то при посту.---, l ленки на первые входы элементов 4 2 сравнения с шины .4 адреса каца, равного содержимому К-го регистра 41,, на выходе К-го элемента 42 сравнения появляется сигнал, который поступает на прямой вход одного из элементов

И 37„ Если на инверсном входе этого

Ф5 же К-го элемента И 37 нет, сигнала

Нс.АП по цепи 24, то сигнал с К-го элемента 42 сравнения переключает элемент ИЛИ 38 в единичное состояние.

Сигнал с К-го элемента 42 сравнения поступает также на один из входов шифратора 43, на выходе которого устанавливается код, соответствующий,адресу К-й ячейки ОЗУ 44. Скгнал . с выхода элемента ИЛ1 38 производит переключение коммутатора 33 и шинного формирователя 35 таким образом, что онк подключают соответственно выходь1 шифратора 43 с адресными входами ОЗУ 44 и информационные входы-выходы ОЗУ 44 с входами блока 6 селекции адресов параметров, регистра 7 адреса, регистра 5 кода операции и регистра 9 номера. Этот же сигнал с выхода элемента ИЛИ 38 подается на входы

"Чтение" и Разрешение выборки" ОЗУ 44 и осуществляется выборка содержимого

К-й ячейки ОЗУ 44 в блок 6 селекции адресов параметров, регистр 7 адреса., регистр 5 кода операции и регистр

9 номера. Расчеты показывают, что времени, в течение которого на шине

14 адреса присутствует адрес ячейки программной памяти (для ЦП типа

К58ОИК80 в течение 1-3 тактов, равных 1,5 мкс при тактовой частоте

2 МГц), достаточно для выявления обращения к аппаратно реализуемой функции и выборки содержимого К-й ячейки ОЗУ 44.

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

Организация аппаратного перехода в программу происходит следующим образом. Сигнал с выхода элемента ИЛИ 38 переключает в единичное состояние триггер 46 регистра 3 возврата в программу (фиг.3). Сигнал с выхода триггера 46 поступает на инверсный вход элемента И 45. Прямой вход последнего соедчнен с выходом ЦП j управляющим разрешением выборки программной памяти (обычно этой 15-й разряд шины 14 адреса). В результате происходит блокировка памяти программ. При появлении сигнала Чт ЦП пс цепи 17 на шину 15 данных поступает код команды выхода иэ подпрограммы

КЕТ из многорежимного буферного регистра 49. Этот регистр в устройстве включен таким образом, что при подаче сигнала на его .входы ВК и ВК с выхода снимается код, набранный на информационных входах. В данном случае набран код, соответствующий команде КЕТ. Сброс команды RET происходит при исчезновении сигнала с выхода элемента ИЛИ 38, а сброс блокировки программной памяти — при появлении сигнала ПЗх -Igl по цепи 16.

Временная диаграмма (фиг.9) поясняет организацию аппаратного певехода

1529236

10 в программу. ЦП 1 выставляет единичный сигнал ПЗх ЦП по цепи 16 в начале треtI и тьего такта машинного цикла Чтение если сигнал 33х ЦП по цепи 22 поступает в первом такте за 180 нс до нарас- 5 тающего фронта второго синхроимпульса, в противном случае этот сигнал ПЗх ЦП выставляется в третьем такте следующего машинного цикла. АЗУ 39 (фиг, 2), выполненное на современ10 ной элементной базе, имеет очень малое время с рабатыв ания (по рядка 70 нс1, что позволяет в 1-3 тактах первого машинного цикла Ц1 1 произвести необходимые действия по 1

15 подготовке перехода в программу.

Сигнал с выхода элемента 1ЦЯ 38 (фиг.2) открывает входы регистра 5 кода операции (фиг.5) и регистра 9 номера (фиг.б) таким образом, что вначале

20 производится обнуление содержимого регистров 83 и 86. Элементы 84 и 87 задержки имеют задержку на время сброса (обнуления) регистров 83 и 86 соответственно, Затем сигнал с выхода элемента ИЛИ 38 поступает на входы С регистров 83 и 86, разрешая запись в них данных по информационным входам.

Сигнал, поступающий из блока 13 на

30 вход элемента НЕ 82, открывает выходы регистра 83, в результате чего содержимое последнего (код операции) подается по цепи 23. Содержимое регистра

86 (номер АП) подается на вход дешифратора 11. Данное устройство позво- 35 ляет гибко наращивать структуру вычислительной системы арифметическими процессорами с передачей им соответствующих функций. Для связи с остальными АП 2 соответствующие выводы де- 40 шифратора 11 (фиг.1) соединены с их входами цепью 25. Сигналы и информация необходимые для функционирования

Ф остальных АП, выведены из устройства на соответствующие входы-выходы 45

АП 2 (на фиг.1 выводы показаны в виде косых линий на общую шину). Инициирование конкретного АП 2 определяется содержимым регистра 9 номера.

Для пояснения принципа действия блока 6 селекции адресов параметров (фиг.4) необходимо предварительно рассмотреть механизм передачи параметров в программные модули для укаэанного примера вычислительной систе- 55 мы. С этой целью на примере простейшей программыанализировали исполь-, зуемые Паскалем два способа переда" чи параметров (параметры-значения и параметры-переменные) в программные модули. Эта программа на языке Паскаль/МТ + была скомпилирована и пропущена через дизассемблер микроЭВИ

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

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

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

2, Каждый параметр-значение занимает по крайней мере одно 16-битовое слово в стеке, 3. При входе в программный модуль в вершине стека содержится адрес возврата. Если передаются параметрызначения, то за адресом возврата следуют параметры, располагаемые в порядке, обратном их описанию. При передаче параметров-переменных за адресом возврата следуют адреса параметров, также располагаемые в порядке, обратном их описанию. Адрес параметра-переменного в стеке соответствует тому байту фактического параметра, который имеет самый младший адрес в памяти.

4. По окончании формирования стека параметрами или их адресами осуществляется переход к соответствующему программному модулю .

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

6. Для определения адресов как параметров-значения, так и параметровпеременных используется соотношение

"в- .

АР. =Ас и -3-А, Ага -2-4,!

A o-7

АР; = АР; + 1, 2 1

1=1)2»-° -- Q) где АР. — адрес первого (младшего) 1 байта параметра

1529236

AP — адрес второго (c:òàpøåãî} байта параметра;

А — адрес команды вызова проС 1, граммного модуля;

А . — соответственно младшие и 5 сс.g > -сс-5 старшие адреса параметров;, количество обрабатываемых параметров, Блок 6 селекции адресов параметров с Q фиг.4) построен на основе узла 60 амяти хипа УТРО и содержит также, уз, ы 50 и 70 управления записью и выборой. В функционировании блока 6 мож-о выделить два режима: запись (копиование) программы в узел 60 (в реистр 62 общего назначения) и выбор=а из узла 60 адресов параметров, Копирование программы осуществляется в процессе ее обработки вь.числительной системой. С этой целью информационный вход (Дl) регистра 62 подключен к шине 15 данных, с которой поступают. команды и данные в я хесйки

62, Формирование адресов ячеек регист-25 ра 62 и сигнала записи осуществляет узел 50 управления записью, Данный сс узел 50 воспринимает сигналы Чтение

ЦП" по цепи 17, "Запись IITI" по цепи

18, "Синхронизация ЦП" по цепи 20 и

"Признак выборки первого байта коман-. ды" (М1).для того, чтобь определить момент появления на шине 15 данных кода очередной команды i.;.",îãðàêæ и операндов этой команды с последующей их записью в реги:: †:1: 62, Сигнал Приз"3 нак выборки первого б.. та команды формирует ЦП 1 на шине с5 данных в первом машинном цикле обработки команды в момент выдачи слова состоясс ., 40 ния ЦП 1 по сигналу Синхронизация

ЦП" по цепи 20. При этом разряд шисf ны 15 данных, соответствующии Присс знаку выборки первого байта команды подключен к элементу И 53, - с о

Так как разные ко .анды Uti 1 при выполнении выдают разли-и .ые сигналы управления, то для правильной записи в регистр 62 фрагмента программы, подготавливающего параметры про50 граммному модулю, необходимо определить соответствующие команды, сигналы этих команд и время выдачи сигналов, Из результатов дизассемблирования следует, что параметры и адреса параметров для программного модуля. в об55 щем случае формируются командами LRLD,, PUSH LXI а вызов программного модуля осуществляется командои СА1.1„

Команды LHI.D, LXI u CALL трехбайтные. команда PUSH однобайтная. При выборке первого байта команды иэ ЦП.I выдаются сигналы "Чт IQI" "СН ЦП", "Признак выборки первого байта команды" которые поступают на элементы И 53 и 55, переключают в единичное состояние триггер 52 и через элемент И 56, счетчик 57, элемент IUIH 59, элемент

HE 61 элемент 64 задержки„и счетчик

65 формируют сигнал записи и адрес ячейки регистра 62.

Для записи второro и третьего байтов команд LXI CALI. u LHLD сигнал "Чт ЦП", выдаваемьй ЦП 1 при выборке каждого байта,, поступает.на элемент И. 55 и через элемент P. 56, счетчик 57, элемент ИЛИ 59, элемент HE

61, элемент 64 задержки и счетчик

65 формирует сигнал записи и следую е адреса ячеек регистра 62, После записи третьего байта указанных команд в регистре 62 счетчик 57 устанавливает на выходе двоичный код 3", который через элемент И 58 и элемент

ИПИ 51 сбрасывает в нулевое состояние триггер 52 и счетчик 57. Сброс в нулевое состояние триггера 52 и счетчика 57 осуществляется также по сигналу "Зп ЦП", подаваемому ЦП 1 после выборки команды PUSH, Таким образом, при выполнении программы в регистр 62 постоянно копи- . руется. фрат:мент программы, длина которого определяется емкостью регистра 62 и зависит от числа обрабатываемых программным модулем параметров.

Так, при вызове программного модуля

Р1 число ячеек регистра 62 должно быть не менее 2, где Q — количестЯФ4 во обрабатываемых программнь.м модулем параметров, При этом адреса начальных адресов параметров-значений и параметрои-переменных описываются одной и той же формулой

Асс-с5

ААР. - Аь+4; с 3 A„+4с +4; -0 1>2> 0 где ААР; — начальный адрес адреса первого (младшего) байта

i-.ãî параметра;

A > — базовый адрес, относительно .которого вычисляются адреса адресов параметров.

:; Адреса адресов параметров должны определяться в вице суммы базового

1529236!

4 адреса и следующих констант 3, 4, 7, 8, ll 12, 15, 16..., В качестве базового адреса используется адрес адреса программного модуля, который имеет аппаратный эквивалент в АП 2.

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

Для формирования этих адресов и выборки из регистров 62 адресов параметров используется узел 70 управлеt. ния выборкой. По сигналу с выхода элемента ИЛИ 38 происходит блокирование узла 50 управления записью путем переключения триггера 54 в нулевое состояние. Этот же, сигнал с выхода элемента ИЛИ 38 поступает через элемент 77 .задержки, элемент И 76 и элемент ИЛИ 72 на вход счетчика 73, который выполняет функцию указателя адреса памяти 74, В памяти 74 хранятся двоичные коды чисел 3, 4, 7, 8, 11, 12, которые, складываясь.в сумматоре 75 с базовым адресом, формируют 25 адреса адресов параметров, находящихся в регистре 6?.

По сигналу чтения, поступающему на вход регистра 62 через элемент

ИЛИ 72, элементы 78, 79 задержки и элемент hF, 66, с выхода Д2 регистра 62 снимаются адреса параметров, Так как двухбайтные адреса параметров разделены в регистре 62 на байты,. то при их выборке байты поступают в регистры 63 и 68. Распределением бай35 тов rо регистрам 63 и 68 управляет

T-триггер 67, который поочередно переключает регистры 63 и 68 в режим записи, а затем через элемент 69 задержки обнуляет их, С выходов регистров

63 и 68 адреса параметров поступают в регистр 7 адреса в виде двухбайтного кода. Сигналом разрешения записи адреса в регистр 7 является сигнал с инверсного выхода триггера 67.

На фиг.4 показан пример исполнения схемы блока 6 селекции адресов параметров, предусматривающий наиболее типовое количество обрабатываемых в АП 2 параметров — два (входной, 50 выходной) или три (два входных, один выходной) параметра. Информация о количестве параметров поступает из блока 4 памяти на вход элемента И-ИЛИ

80. При этом если из блока 4 поступает одноразрядный код "1 то считается, что в АП 2 обрабатываются два параметра, если код "0" — три параметра. В случае обработки в АП 2 двух параметров из памяти 74 необходимо. извлечь четыре двоичных числа 3, 4, 7, 8; в случае обработки трех параметров — шесть двоичных чисел 3, 4, 7, 8, 11, 12. Поэтому в первом случае счетчик 73 досчитывает до четырех, во втором — до 6, после чего счетчик

73, а также триггеры 54-67 сбрасываются сигналом, поступающим с элемента

И-ИЛИ 80 через элемент V 81.

Элемент И-ИЛИ 71 служит для анализа количества обрабатываемых в АП 2 параметров и выдачи сигнала в блок 13 после выборки из регистра 62 адресов входных параметров, Выборка начальных адресов параметров из регистра 62 осуществляется по сигналу с элемента ИЛИ 38, по сигналу с прямого выхода триггера 67 1 после выборки первого байта адреса параметра) и по сигналу из регистра 7 адреса (после обработки в АП 2 очередного параметра). Перечисленные сигналы поступают на элемент ИЛИ 72.

Выделенные из блока 6 начальные адреса параметров поступают в счетчик 3 регистра 7 адреса (фиг,7)..Информация о длине параметров (количество байт) поступает из блока 54 в регистр 92. При этом считается, что длина входных и выходных параметров каждой функции, выполняемой в АП 2, одинакова, IIo сигналам из блока 13 через элемент ИЛИ 89 осуществляется выборка адреса из счетчика 93 на буферный элемент 95 с тремя состояния-. ми, а через него — на шину 14 адреса„

По этому адресу осуществляется считывание из АП 2 пли запись в АП 2 параметров. Если длина параметра больше одного байта, то адрес параметра циклически наращивается на единицу в счетчике 93, а длина параметра уменьшается на единицу в счетчике 94, Когда содержимое счетчика 94 становится равным нулю, на выходе элемента И 97 вырабатывается сигнал, поступающий через элемент ИЛИ 21 на блоки

6 и 13, свидетельствующий об обмене одним параметром между памятью программ и АП 2, Сброс регистра 92 и счетчиков 93 и 94 производится по сигналу из блока 6 после обмена всеми параметрами лри обработке одной функции в АП 2 °

Управляет работой блоков устройства в активном режиме блок 13 (фиг.8).i

ХО Хl Х2 ХЗ Х4 Х5

Хб Х7,Ми крокоманО О О О 0 0 0 О

1 1 0 О О О О О

1 О 1 1 l 0 0 О

О О О 1 О 1 0 О

1 О О 1 О О О О

1 О О I О О 1 0

О О О О О 0 О 1

О

2

4

Разряды микрскоманды поступают:.

ХΠ— на вход элемента И-ИЛИ l08;

Хl — на единичный вход триггера

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

rIåíåðàòoð 105 импульсов, синхросигьалы с которого поступают на узлы (лока 13 после появления сигнала с

ыхода элемента ИЛИ 38 блока 4 на диничнсм входе. триггера 104. Этот игнал означает,что происходит обраение к программному модулю, имеюще- IО аппаратный эквивалент в АП 2. С выода элементов И 106 тактовые импульы поступают: первый — на вход "Разешение записи". регистра 99 и элеменi И 102, второй — на элемент И 107, о первому синхроимпульсу производи;— я запись и выдача управляющих сигнаов из регистра 99 на внутренние узы блока 13 и узлы устройства. По торому синхроимпульсу происходит рибавление единицы к содержимому четчика 100 и выборка микрокоманды з памяти 98 микрокоманд, причем пероначальный сброс счетчика 100 произодится при включении питания на уст- 25 ойство.

На вход блока 13 поступают сигнал

Зх ЦП по цепи 16, а также сигналы с

ыхсдов регистра 7 адреса (через элеент ИЛИ 21), блока б селекции адресов30 араметров (через элемент ИЛИ 21), В АП по цепи 29, определяющие время

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

98 микрокоманд.

16

Х2 — на нулевой вход триггера 109;

ХЗ вЂ” на вход дешифратора 11;

Х4 — на вход второго элемента И группы 102 (входы чтенйя регистра 7 адреса, сигналы Зп АП по цепи 27, Чт ПП по цепи

31);

Х5 — на входы регистра 5 кода операции и сигнал Зп АП по цепи 27;

Хб — на вход первого элемента И группы 182 (входы чтения регистра 7 адреса, сигналы

Чт АП пс цепи 26, Зп ПП по цепи 32);

Х7 — на нулевой вход. счетчика 100, элемент И 103 (на нулевые входы триггеров 8 и 104).

При наличии единицы в нулевом разряде микрокоманды блок 13 находится в режиме "Ожидание" до прихода одного из внешних сигналов на элементы

101 и 108. При нулевом состоянии этого разряда в очередном такте производится прибавление единицы в счетчик 100 и выборка очередной микроко-: манды из памяти 98 микрокоманд в регистр 99.

Блок 13 работает следующим образом. При включении питания на устройство на вьгходе регистра. 99 появляется нулевая микрокоманда, При поступ-. лении сигнала с выхода элемента ИЛИ

38 на единичный вход триггера 104 на выходе регистра 99 появляется первая микрокоманда, которая ожидает появление сигнала ПЗх ЦП по цепи 16, Этот сигнал осуществляет выборку второй микрокоманды, по которой производится загрузка АП 2 входными параметрами до момента появления на входе элемента И-ИЛИ 108 сигнала от элемента ИЛИ 21„ После этого выбирается третья микрокоманда, по которой осуществляется загрузка АП 2 кодом операции из регистра 5 и выборка четвертой микрокоманды„

Эта микрокоманда ожидает сигнал

КВ АП по цепи 29. При его появлении происходит выборка пятой микрокоманды, которая управляет выдачей результатов вычисления из АП 2 в программную память до момента появления сигнала из регистра 5 адреса. При псявле п и этого сигнала выбирается шестая микрокоманда„ которая останавливает блок 13, 17

1529236

Принцип действия устройства в целом можно представить следующим циклом. При обращении ЦП 1 к программному модулю, который имеет аппаратнъй эквивалент в AII 2, происходит сра5 батывание блока 4 памяти и выдача из него следующей информации: код операции в регистр 5, номер АП в регистр 9, количество параметров в блок 1О

6, длина параметров в регистр 7.

Параллельно с этим производится формирование в регистре 3 команды возврата в программу, передача команды в ЦГГ 1 и захват шин ЦП 1. Далее блок 6 выделяет начальные адреса параметров и передает их в регистр 7, который адресуется к программной памяти с целью выборки входных параметров и передачи их в АП 2. После этого из регистра 5 выдается код операции и осуществляется запуск АП 2.

По окончании выполнения операции в

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

35 система может рассматриваться как однопроцессорная система с расширенным набором команд.

Предлагаемое построение устройства для сопряжения ЦП с группой АП не за 4О висит от типов используемых процессоров, Формула изобретения

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

50 кода операции, регистр адреса, регистр номера, дешифратор, блок памяти, триггер, два элемента Е, элемент

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

19

1529236 равления является входом устройства, для подключения к выходам окончания ,:выполнения операции арифметических ,процессоров группы, первый выход бло,ка микропрограммного управления соединен с входом чтения регистра кода операции и является выходом устройства для подключения к входам запуска арифметических процессоров группы, второй выход блока микропрограммного управления соединен с вторым входом первого элемента И, с первым вхо-, дом чтения регистра адреса и является выходом устройства для подключения к входу записи программной памяти, третий выход блока микропрограммного управления соединен с вторым входом элемента И, с вторым. входом чтения регистра адреса и является входом устройства для подключения к входу чтения программной памяти при этом ну) левой вход триггера соединен с четвертым выкодом блока микропрограммного управления, четвертый вход логи- 25 ческого условия которого соединен с выходом элемента ИЛИ, первый вход которого соединен с вторым информационным выходом регистра адреса, первый информационный вход которого соединен с вторым информационным выходом блока памяти, с вторым информационным, входом регистра кода опе ра пни, с инйо рма-, ,ционным входом ре гис тра: оме ра, выход ко, 1торого соединен. с информационным входом дешифратора зрешающий вход ко -35 торого соединен с пя ..: выходом блока микропрограммного управления, о т л и ч а ю щ е е с я тем, что, с целью повышения производительности устройства, в него введен блок селекции ад- 4О ! ресов параметров, причем синхровход блока селекции адресов параметров является входом устройства для подключения к синхровходу центрального процессора, при этом установочный вход, вход чтения и первый информационный вход блока селекции адр