Устройство для сопряжения центрального процессора с группой арифметических процессоров
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Номер патента: 1529236
Автор: Михнов
Текст
(54) УСТРОЙСТВО ДЛЯ СОПРЯЖЕНИЯ ЦЕНТРАЛЬНОГО ПРОЦЕССОРА С ГРУППОЙ АРИФМЕТИЧЕСКИХ ПРОЦЕССОРОВ(57) Изобретение относится к вычислительной технике и может быть использовано при построении высокопроизводительных систем в качестве средствасопряжения центрального процессора сарифметическими процессорами, Цельюизобретения является повьппение производительности, Устройство содержитблок микропрограммного управления,блок селекции адресов параметров, регистр возврата в программу, регистркода операции, регистр адреса, регистр номера, блок памяти,.дешифра-с, тор, триггер, два элемента И,элементИЛИ. 1 з.п, ф-лы, 9 ил 1 табл,6сковского авиСерго Орджоельство ССС 13/00, 198 ство СССР 13/00, 198 микг 9. -ГОСУДАРСТНЕННЫИ КОМИТЕТПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМПРИ ГКНТ СССР ОПИСАНИЕ ИЗО) 1288704, кл. С 06 Р Изобретение относится к вычислительной технике и может быть использовано при построении высокопроизводительных систем в качестве средства сопряжения центрального процессора (ЦП) с арифметическими процессорами (АП),Цель изобретения - повышение производительности устройства.На фиг,1 представлена блок-схема устройства; на фиг 2 - блок-схема блока памяти; на фиг,3 - блок-схема регистра возврата в программу; нафиг,4 - блок-схема блока селекции ад-ресов параметров; на фиг.5 - блоксхема регистра кода операции; нафиг.б - блок-схема регистра номера;на фиг,7 - блок-схема регистра адреса; на фиг.8 - блок-схема блокаропрограммного управления; на фивременные диаграммы перехода в основную программу,Устройство содержит (фиг,1) ЦП 1,АП 2, регистр 3 возврата в программу,блок 4 памяти, регистр 5 кода операции, блок 6 селекции адресов параметров, регистр 7 адреса, триггер 8, регистр 9 номера, элемент И 10, дешифратор 11, элемент И 2, блок 13 мик-ропрограммного упрявления, вину 14 адреса, шину 15 дяннщх, цепь 16 сигналаПодтверждение зяхвята ЦП) (ПЗхЦП.цепь 17 сигналя "Чтение ЦП" (Чт ЦП),цепь 18 сигналя "Запись ЦП" (Зп ЦП),цепь 19 сигнала "1 отовность ЦП"равления является входом устройства для подключения к выходам окончания ,выполнения операции арифметических ,процессоров группы, первый выход бло,ка микропрограммного управления соединен с входом чтения регистра кода операции и является выходом устройства для подключения к входам запуска арифметических процессоров группы, второй выход блока микропрограммного управления соединен с вторым входом первого элемента И, с первым вхо-, дом чтения регистра адреса и является выходом устройства для подключения к входу записи программной памяти, третий выход блока микропрограммного управления соединен с вторым входом элемента И, с вторым входом чтения регистра адреса и является входом устройства для подключения к входу чтения программной памяти при этом ну)левой вход триггера соединен с четвертым выкодом блока микропрограммного управления, четвертый вход логи ческого условия которого соединен с выходом элемента ИЛИ, первый вход которого соединен с вторым информационным выходом регистра адреса, первый информационный вход которого соеди-нен с вторым информационным выходом блока памяти, с вторым информационным , входом регистракода операпии,с информа-,,ционным входом ре гис тра:атоме ра, выход ко,1 торого соединен с информационным входом дешифратора .:зрешающий вход ко -35 торого соединен с пя .; выходом блока микропрограммного управления, о т л и ч а ю щ е е с я тем, что, с цельюповышения производительности устройства, в него введен блок селекции ад Оресов параметров, причем синхровход блока селекции адресов параметров является входом устройства для подключения к синхровходу центрального процессора, при этом установочный вход, 45вход чтения и первый информационныйвход блока селекции адресов параметров подключены соответственно к выходузаписи, выходу чтения, и информационному входу-выходу центрального процесОсора, первый и второй информационныевыходы блока памяти соединены соответственно с вторым и третьим информационными входами блока селекции адресов параметров, первый и второй 55 выходы которого соединены соответственно с входом записи и с установочным входом регистра адреса, второй информационный вход и второй информационный выход которого соединены соответственно с информационным выходом и со счетным входом блока селекции адресов параметров, третий выход которого соединен с вторым входом элемента ИЛИ.2, Устройство по п. 1, о т л и ч а ю щ е е с я тем, что блок селекции адресов параметров содержит регистр общего назначения, постоянную память, сумматор, три счетчика, два регистра, три триггера, шесть элементов И, три элемента ИЛИ, элемент ИЛИ-НЕ, два элемента И-ИЛИ, дна элемента НЕ, пять элементов задержки, причем информационный вход регистра общего назначения и первый вход первого элемента И образуют первый информационный вход блока, единичный вход первого триггера соединен с вхо" дом первого элемента задержки, с первым входом второго элемента И и является вторым информационным входом блока, первый вход первого элемента И-ИЛИ соединен с первым входом второго элемента И-ИЛИ и является третьим информационным входом блока, первые входы первого, второго элементов ИЛИ, первый вход третьего элемента И и второй вход первого элемента Й.являются соответственно установочным счетным входами, входом чтения и синхровходом блока выходы первого, второго регистров образуют информационный выход блока, нулевой выход второго триггера соединен с синхровходом первого регистра., с входом второго элемента задержки, с вторым входом первого элемента И-ИЛИ и является первым выходом блока, выход четвертого элемента И соединен с нулевыми входами первого, второго триггеров, с установочным входом первого счетчика и яв- ляется вторым выходом блока, выход первого элемента, И-ИЛИ является третьим выходом блока, при этом в блоке селекции адресов параметров выход первого элемента задержки соединен с вторым входом второго элемента И, вы-. ход которого соединен с вторым входом втброго элемента ИЛИ, выход которогэ,-, соединен со счетным входом первого счетчика и с входом третьего элемента задержки, выход которого соединен с синхровходом постоянной памяти и с входом четвертого элемента задержки выход которого соединен со счет152923 б 22 21 Р Югмввейе юаююв Мфидию Ю 7ным входом второго триггера и с входом первого элемента НЕ, выход которого соединен с входом чтения регистра общего назначения, вход записи которого соединен с выходом второго5 элемента НЕ, вход которого соединен с выходом третьего элемента ИЛИ и с входом пятого элемента задержки, выход которого соединен со счетным входом второго счетчика, выход которого соединен с первым адресным входом регистра общего назначения и с первым информационным входом сумматора, выход которого соединен с вторым адресным входом регистра общего назначения, выход которого соединен с информационнь 1 ми входами первого, второго регистров, установочные входы которых соединень 1 с вы О ходами второго элемента задержки и с первым входом четвертого элемента И, второй вход которого соединен с выходом второго элемента И-ИЛИ, второй и третий входы которого соединены 25 с первым выходом первого счетчика, с первым адресным входом постоянной памяти и с третьим входом первого элемента И-ИЛИ, четвертый вход которого соединен с четвертым входом второго ЗО элемента И-ИЛИ, с вторым адресным входом постояннои памяти и с вторым выходом первого счетчика, третий выходкоторого соединен с третьим адресным входом постоянной гамяти, информационный выход которой соединен свторым информационным входом сумматора, синхровход второго регистра соединен с единичным выходом второготриггера и с третьим входом второгоэлемента ИЛИ, нулевой выход первоготриггера соединен с вторым входомтретьего элемента И, выход которогосоединен с первым входом пятого элемента И, выход которого соединен сосчетным входом третьего счетчика,первый, второй выходы которого соединены соответственно с первым, вторым входами третьего элемента ИЛИ ис первым, вторым входами шестого элемента И, выход которого соединен свторым входом первого элемента ИЛИ,выход которого соединен с установочным входом третьего счетчика и с нулевым входом третьего триггера, единичные вход и выход которого соединены .соответственно с выходом первого элемента Г и с вторым входом пятого элемента И., 3529236,Тираж бб 8 Подписнорственного комитета по изобретениям 113035, Москва, Ж, Раушская н открытиям при ГКНТ д, 4/5:. В качестве, ЦП 1 в устройстве можетбыть применен, например, микропроцессор серии К 58 ОИКЯО К 0.348.393 ТУ.В качестве,АП 2 в устройстве может 20быть применен, например, АП по авт.св.У 1144117,Блок 4 памяти образуют (Фиг,2) коммутаторы 33 и 34, шинный формирователь 35, элемент. НЕ 36, группу элементов И 37, элемент ИЛИ 38, ассоциативное запоминающее устройство (АЗУ)39, состоящее из дешифратора 40, регистров 41, элементов 42 сравнения,шифратора 43 и оперативного запоминающего узла (ОЗУ) 44.Регистр 3 возврата в программувключает (фиг.З) элемент И 45, триггер 46, элемент И 47, элемент ИЛИ 48 и многорежимный буферный регистр 49. Блок 6 селекции ад "ов параметровсодержит (Фиг.4) узел 50 управлениязаписью, состоящий из элемента ИЛИ51, триггера 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,В основе построения устройства лежат два принципа: принцип модульного представления программного и аппаратного обеспечения вычислительныхсистем и принцип взаимозаменяемостипррограммных и аппаратных модулей.Под модулем (программным или аппаратным) подразумевается объект, обладающий функциональной завершенностью,реализующий конечное число функцийсоответственно программным или аппаратным путем,В качестве аппаратного модуля вустройстве используется АП, которыйв случае реализации нескольких арифметических операций выполняет функциюмногофункционального аппаратного модуля, Дпя обработки арифметическойоперации АП, в общем случае, долженполучить входные данные (параметры)и .код операции (команду) в соответствии с требованиями алгоритма реализуемой задачи. По окончании процессавычисления АП выдает обработанныеданные как результаты,Модульное программирование помимосокращения времени на разработку программного обеспечения, делает егоболее наглядным и понятным, позволяетнезависимо от других программных модулей кодировагь и тестировать их.При этом все программные модули оформляются в виде подпрограмм (процедур),представляющих единый механизм, которому передается управление программной и от которого возвращается управ"ление программе. Кроме того, использование подпрограмм значительно,сокращает объем программной памяти за четобеспечения возможности многократно1529236 В режиме настройки блока 4 про-.изводится запись имен программных модулей функции которых будут реализоваться в АП 2, и информационно-управляющих слов АП 2. При этом в регистры 41 записываются имена программных модулей, а в ячейки ОЗУ 44 - информационно-управляющие слова АП 2код операции, номер АП, количество обрабатываемых параметров, длина обрабатываемых параметров (например, в байтах). Запись производится под управлением ЦП 1, таким образом, что имеетместо взаимно однозначное соответствие между именем К-го программногомодуля, помещаемага в К-й регистр 41,и содержимым К-й ячейки ОЗУ 44, Кзменяя определенным образом разрядностьполей ОЗУ 44 и объем АЗУ 39, можнополучить требуемое количество аппаратно реализуемых функций в АП 2, а такженеобходимую длину обрабатываемых параметров,го обращения к однажды написанной иотлаженной подпрограмме, исключаетсянеобходимость ее многократного дублирования в основной программе. Как5и для АП, подпрограмма должна получитьнекоторые входные данные и выдать результаты.При оформлении программы на языкевысокого уровня обращение к подпрограмме осуществляется путем указания ее имени в операторе обращенияк подпрограмме. После трансляциии компоновки программы имя подпрограммы сопоставляется адресу той ячей ки памяти, в которой размещается первый байт команды подпрограммы. Выходиз подпрограммы происходит по команде возврата, являющейся заключительнойкомандой подпрограммы. 20С целью определения механизмов передачи параметров в программные модули, составленные на языке высокогоуровня, было выполнено дизассемблирование (реассемблирование) ряда программ, По результатам дизассемблирования программ можно сделать следующие выводы,1, Несмотря на различия механиз -мов передачи параметров, общим для 30всех компиляторов является подготовка параметрав в точке вызова программнага модуля, При этом копиипараметров, а чаще начальные адресапараметров, засылаются либо в стекперед вызовом программного модуля,либо в ячейки памяти, предшествующиеили следующие за точкой вызова модуля,либо в регистры общего назначения ЦП,Более общим и обязательно используе Омым компиляторами является способ передачи параметров по ссылке (параметры - переменные). Часто этот способявляется единственным в системе.2. В зависимости от места" подготовки параметров по отношению к тачке вызова программного модуля выделяется подготовка параметров до точкивызова модуля, после точки вызова модуля и комбинированная, 503, Тенденция построения современных операционных систем предполагаетвыполнение соглашений с межпрограммных связях, в рамках которых механизмы передачи параметров в модулиинвариантны к языкам программирования,4. Начальные адреса параметровв программной памяти можно определить относительно адреса команды вызова подпрограммы по некоторой формуле, используя этот адрес в качестве базового,5. Механизм передачи параметровв программные модули определяют структуру блока селекции адресов параметров в составе устройства для сопря -жения ЦП с группой АП,Для определения конкретной структуры блока селекции адресов параметров рассмотрим случай использованияпредлагаемого устройства в составемикроЭВМ СМ, программированиезадач в которой осуществляется наязыке Паскаль/МТ+ версия 5.Предлагаемое устройство в составевычислительной системы осуществляетперехват и передачу в арифметическиепроцессоры тех функций, на эффективное выполнение которых ориентированыАП и которые в однопроцессорной системе реализуются программным путем. Припередаче в АП функций устройство выделяет в программе вначале адреса параметров, а затем и сами параметры,которые обрабатывают арифметическиепроцессоры,Блок 4 памяти (фиг.2) предназначен для определения конфигурации вычислительной системы, Блок 4 построен в виде памяти-каталога на основеАЗУ 39 и функционирует в двух режимах: настройки и рабочем.Запись в К-й регистр 41 и К-ю ячейку ОЗУ 44 осуществляется следующим образом, На шину 14 адреса ЦП 1 устанавливают адреса соответствующие К-муМрегистру 41 и К-й ячейке ОЗУ 44, на шину 15 данных подается имяК-го программного модуля и,соответствующее информационно-уп-,равляющее слово АП 2Сигналом 1 Зп ЦП по цепи 18 осуществляется пе-реключение коммутаторов Зз и 34 и шинного формирователя 35 в режим настрой, ки, При этом шина 14 адреса коммути-руется с дешифратором 40 и ацресныии входами ОЗУ 44, шина 15 данных коюлутируется с регистрами 41 и информационными входами-выходами ОЗУ 44 Этим же сигналом Зп ЦП по цепи 18 произво-, дится запись К-го имени программного26 модуля в К-й регистр 41 (дешифратор 40 открывает входы К-го регистра 41) и соответствующей информации в К-ю ячейку ОЗУ 44 сигнал Зп ЦП поступаетна входы Запись и Разрешение выборки ОЗУ 44), Осуществляя перезаписьАЗУ 39, можно переориентировать устрийство на обработку требуемого колкчества прикладных программ.В рабочем режиме блока 4 второйкоммутатор 34 подключает шину 14 адреса к информационным входам регистров 41 и первым входам (входам А. элементов 42 сравнения. Выходы шифратора 43 в рабочем реж ;е открыть:, Поскольку вторые входы :входы В) эле 55ментов 42 сравнения соединены с вь, -ходами регистров 41 то при посту,ленки на первые входы элементов 42сравнения с шины 14 адреса каца, равного содержимому К-го регистра 41на выходе К-го элемента 42 сравненияпоявляется сигнал, который поступаетна прямой вход одного из элементовИ 37 Если на инверсном входе этого45же К-го элемента И 37 нет, сигналаНс АП по цепи 24, то сигнал с К-гоэлемента 42 сравнения переключаетэлемент ИЛИ 38 в единичное состояние,Сигнал с К-го эле 1 лента 42 сравненияпоступает также на один из входовшифратора 43, на выходе которогоустанавливается код, соответствующий,адресу К-й ячейки ОЗУ 44, Скгнал,с выхода элемента ИЛ 1 38 производитпереключение коммутатора 33 1 л шинного формирователя 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 возврата в программу (фиг.З), Сигнал с выходатриггера 46 поступает на инверсныйвход элемента И 45, Прямой вход последнего соедчнен с выходом ЦП 1, управляющим разрешением выборки программной памяти (обычно этой 15-йразряд шины 14 адреса). В результате происходит блокировка памяти программ, При появлении сигнала Чт ЦПпс цепи 17 нашину 15 данных поступает код команды выхода иэ подпрограммыВВТ из многорежжшого буферного регистра 49, Этот регистр в устройствевключен таким образом, что при подаче сигнала на его .входы ВК и ВК свыхода снимается код, набранный наинформационных входах, В данном случае набран код, соответствующий команде КЕТ, Сброс команды КЕТ происходитпри исчезновении сигнала с выхода элемента ИЛИ 38, а сброс блокировки программной памяти - при появлении сигнала,ПЗх ЦП по цепи 16,Временная диаграмма (фиг.9) поясняет организацию аппаратного переходав программу, ЦП 1 выставляет единичный сигнал ПЗх ЦП по цепи 16 в начале тре 1 и тьего такта машинного цикла Чтениеесли сигнал 33 х ЦП по цепи 22 поступает в первом такте за 180 нс до нарас тающего фронта второго синхроимпульса, в противном случае этот сигнал ПЗх ЦП выставляется в третьем такте следующего машинного цикла. АЗУ 39 (фиг, 2), выполненное на современ 10 ной элементной базе, имеет очень малое время с рабатыв ания по рядка 70 нс), что позволяет в 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, Данное устройство позво ляет гибко наращивать структуру вычислительной системы арифметическими процессорами с передачей им соответствующих функций. Для связи с остальными АП 2 соответствующие выводы де шифратора 11 (фиг,1) соединены с их входами цепью 25, Сигналы и информация необходимые для функционирования)остальных АП, выведены из устройства на соответствующие входы-выходы 45 АП 2 (на фиг.1 выводы показаны в виде косых линий на общую шину). Инициирование конкретного АП 2 определяетсясодержимым регистра 9 номера.Для пояснения принципа действияблока 6 селекции адресов параметров(фиг.4) необходимо предварительнорассмотреть механизм передачи параметров в программные модули для укаэанного примера вычислительной системы, С этой целью на примере простейшей программыанализировали исполь-,зуемые Паскалем два способа переда" чи параметров (параметры-значения ипараметры-переменные) в программныемодули. Эта программа на языке Паскаль/МТ + была скомпилирована и пропущена через дизассемблер микроЭВМСМ, в результате чего был получен файл, в котором содержатся кодына языке ассемблера, перемежающиесяс соответствующими операторами Паскаля,Анализ программы, результата еедизассемблирования позволяет сделать ряд выводов об организации параметров в программные модули для ука"занной вычислительной системы,1,Передача параметров в программ-.ные модули осуществляется при помощипрограммно организованного стека, Параметры - значения передаются в стекнепосредственно, параметры-переменные передаются адресами.2, Каждый параметр-значение занимает по крайней мере одно 16-битовоеслово в стеке,3. При входе в программный модульв вершине стека содержится адресвозврата, Если передаются параметрызначения, то за адресом возврата следуют параметры, располагаемые в порядке, обратном их описанию, При передаче параметров-переменных за адресом возврата следуют адреса параметров, также располагаемые в порядке, обратном их описанию, Адрес параметра-переменного в стеке соответствует тому байту фактического параметра, который имеет самый младший адрес в памяти,4, По окончании формирования стека параметрами или их адресами осуществляется переход к соответствующему программному модулю .5. Для одних и тех же параметров,используемых различными программными модулями и программой в целом, отводятся одни и те же ячейки программной памяти.6. Для определения адресов как параметров-значения, так и параметровпеременных используется соотношениеАВ-ВА.АР, =АсАи -3-А, Авв в -2-4,Ао АР; = АР; + 1,21.=1 А 2 АР)где АР. - адрес первого (младшего)1байта параметраАР - адрес второго (старшего)байта параметра;А - адрес команды вызова проСЬ 1,граммного модуля;А . - соответственно младшие и 5и8-5старшие адреса параметров;,количество обрабатываемыхпараметров,Блок 6 селекции адресов параметровэ 0фиг,4) построен на основе узла 60амяти типа УТРО и содержит также, уз, ы 50 и 70 управления записью и выборой. В функционировании блока 6 можо выделить два режима: запись (копиование) программы в узел 60 (в реистр 62 общего назначения) и выбора из узла 60 адресов параметров,Копирование программы осуществляется в процессе ее обработки вь.числительной системой, С этой целью информационный вход (Д 1) регистра 62 подключен к шине 15 данных, с которойпоступают. команды и данные в ячейки62, Формирование адресов ячеек регист ра 62 и сигнала записи осуществляетузел 50 управления записью, Данныйссузел 50 воспринимает сигналы ЧтениеЦП" по цепи 17 "Запись ЦП" по цепи18, "Синхронизация ЦП" по цепи 20 и"Признак выборки первого байта коман-ды" (М 1) для того, чтобь определитьмомент появления на шине 15 данныхкода очередной команды с.,.,:ограммьс иоперандов этой команды с последующейих записью в регсл в :.: 62, Сигнал Приз 3-нак выборки первого б, та командыФормирует ЦП 1 на шине сг 5 данных впервом машинном цикле обработкикоманды в момент выдачи слона состоясс, 40ния ЦП 1 по сигналу СинхронизацияЦП" по цепи 20, При этом разряд шиссны 15 данных, соответствующииПриссзнаку выборки первого байта командыподключен к элементу И 53,"г.гТак как разные ко,анды ЦП 1 привыполнении выдают различные сигналыуправления, то для правильной записи в регистр 62 Фрагмента программы, подготавливающего параметры про 50граммному модулю, необходимо определить соответствующие команды, сигналыэтих команд и время выдачи сигналов,Из результатов дизассемблированияследует, что параметры и адреса параметров для программного модуля. в общем случае Формируются командами 1 Н 1.1 ссР 11 БН, 1;Х 1, а вызов программногонмодуля осуществляется командои СггЛ.1 Команды 1.Н 1.П, 1.Х 1 и СА 1 Д. трехбайтные, команда Р 11 ЯН однобайтная. При выборке первого байта команды иэ ЦП.1 выдаются сигналы "Чт 1 Ц 1", "СН ЦП", "Признак выборки первого байта команды" которые поступают на элементы И 53 и 55, переключают в единичное состояние триггер 52 и через элемент И 56, счетчик 57, элемент ИЛ 1 59, элемент НЕ 61, элемент 64 задержкиэи счетчик 65 формируют сигнал записи и адрес ячейки регистра 62.Для записи второго и третьего байтов команд 1,Х 1, СА 1 Д.и 1.Н 1.0 сигнал "Чт ЦП", выдаваемьй ЦП 1 при выборке каждого байта поступает.на элемент И. 55 и через элемент И 56, счетчик 57, элемент ИЛИ 59, элемент НЕ 61, элемент 64 задержки и счетчик 65 формирует сигнал записи и следующие адреса ячеек регистра 62, После записи третьего байта указанных команд в регистре 62 счетчик 57 устанавливает на выходе двоичный код3", который через элемент И 58 и элемент И 11 И 51 сбрасывает в нулевое состояние триггер 52 и счетчик 57. Сброс в нулевое состояние триггера 52 и счетчика 57 осуществляется также по сигналу ссЗп ЦП", подаваемому ЦП 1 после выборки кома щы РЦБН.Таким образом, прэл выполнении программы в регистр 62 постоянно копируется фрагмент программы, длина которого определяется емкостью регистра 62 и зависит от числа обрабатываемых программным модулем параметров, Так, при вызове программного модуля Р 1 число ячеек регистра 62 должно быть не менее 2 , где (1 - количестЯФ 1во обрабатываемых программнь.м модулем параметров, При этом адреса начальных адресов параметров-значений и параметрои-переменных описываются одной и той же формулойАс-о Асс с- ив ААР А +4+3 А +4, +4; 1.=0,1,2,эээЯЯ где ААР, - начальный адрес адресапервого (младшего) байта-го параметра;А- базовый адрес, относительно .которого вычисляютсяадреса адресов параметров, :, Адреса адресов параметров должны определяться в вице суммы базовогоадреса и следующих констант 3, 4, 7,8, 11, 12, 15, 16, В качестве базового адреса используется адрес адреса программного модуля, которыйимеет аппаратный эквивалент в АП 2.Базовый адрес устанавливается на счетчике 65 в момент обращения к указанному программному модулю.Для формирования этих адресов ивыборки из регистров 62 адресов параметров используется узел 70 управле .ния выборкой. По сигналу с выходаэлемента ИЛИ 38 происходит блокирова.ние узла 50 управления записью путемпереключения триггера 54 в нулевоесостояние. Этот же, сигнал с выходаэлемента ИЛИ 38 поступает через элемент 77 .задержки, элемент И 76 иэлемент ИЛИ 72 на вход счетчика 73,который выполняет функцию указателяадреса памяти 74, В памяти 4 хранятся двоичные коды чисел 3, 4, 7, 8,11, 12, которые, складываясь,в сумматоре 75 с базовым адресом, формируютадреса адресов параметров, находящихся в регистре 62,По сигналу чтения, поступающемуна вход регистра 62 через элементИЛИ 72, элементы 78, 79 задержкии элемент НЕ 66, с выхода Д 2 регистра 62 снимаются адреса параметров,Так как двухбайтные адреса параметров разделены в регистре 62 на байты,то при их выборке байты поступают врегистры 63 и 68, Распределением бай 35тов по регистрам 63 и 68 управляетТ-триггер 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 через элемент И 81.Элемент И-ИЛИ 71 служит для анализа количества обрабатываемых в АП 2параметров и выдачи сигнала в блок 13после выборки из регистра 62 адресоввходных параметров,Выборка начальных адресов параметров из регистра 62 осуществляется посигналу с элемента ИЛИ 38, по сигналус прямого выхода триггера 67 послевыборки первого байта адреса параметра) и по сигналу из регистра 7 адреса (после обработки в АП 2 очередного параметра), Перечисленныесигналы поступают на элемент ИЛИ 72,Выделенные из блока 6 начальныеадреса параметров поступают в счетчик 3 регистра 7 адреса (фиг,7)Информация о длине параметров (количество байт) поступает из блока 54 в регистр 92. При этом считается, чтодлина входных и выходных параметровкаждой функции, выполняемой в АП 2,одинакова, По сигналам из блока 13через элемент ИЛИ 89 осуществляетсявыборка адреса из счетчика 93 на буферный элемент 95 с тремя состояния-,ми, а через него - на шину 14 адресаПо этому адресу осуществляется считывание из АП 2 или запись в АП 2 параметров, Если длина параметра большеодного байта, то адрес параметрациклически наращивается на единицув счетчике 93, а длина параметрауменьшается на единицу в счетчике 94,Когда содержимое счетчика 94 становится равным нулю, на выходе элемента И 97 вырабатывается сигнал, поступающий через элемент ИЛИ 21 на блоки6 и 13, свидетельствующий об обменеодним параметром между памятью программ и АП 2, Сброс регистра 92 исчетчиков 93 и 94 производится посигналу из блока 6 после обмена всеми параметрами лри обработке однойфункции в АП 2Управляет работой блоков устройства в активном режиме блок 13(фиг.8).Ц качестве синхронизирующего элемен,а блока используется двухтактныйг",енератср 105 импульсов, синхросигалы с которого поступают на узлы1 лока 13 после появления сигнала с5ыхода элемента ИЛИ 38 блока 4 надиничнсм входе. триггера 104. Этотигнал означает,что происходит обраение к программному модулю, имеюще- )Оаппаратный эквивалент в АП 2, С выода элементов И 106 тактовые импульы поступают: первый - на вход "Разешение записи", регистра 99 и элемен И 102, второй - на элемент И 107,о первому синхроимпульсу производитя запись и выдача управляющих сигнаов из регистра 99 на внутренние узы блока 13 и узлы устройства, Поторому синхроимпульсу происходитрибавление единицы к содержимомучетчика 100 и выборка микрокомандыз памяти 98 микрокоманд, причемпероначальный сброс счетчика 100 произодится при включении питания на устойство,На вход блока 13 поступают сигналЗх ЦП по цепи 16, а также сигналы сыхсдов регистра 7 адреса через элеент ИЛИ 21), блока б селекции адресов 30араметров через элемент ИЛИ 21),В АП по цепи 29, определяющие времяыборки очередной микрсксмаццы, В блое 13 используется система с жесткойоследовательностью микрскоманд в уни 35тарных кодах (каждому разряду микрооманды сопоставляется управляющийсигнал блока 13). Работу блока 13поясняет таблица, представляющая собой последовательность и кодировкумикрокоманд, находящихся в памяти98 микрокоманд,ХО Х 1 Х 2 ХЗ Х 4 Х 5 Хб Х 7,Ми крокоманО 0 О 0 0 О 0 О 1 1 0 О 0 О О 0 1 0 1 1 1 0 О О О О 0 1 0 1 0 0 1 О О 1 0 0 О 0 1 О 0 1 О 0 1 О 0 0 0 О 0 О О 1 0 1 2 3 4 5 б Разряды микрскоманды поступают:. ХО - на вход элемента И-ИЛИ 108; Х 1 - на единичный вход триггера109: Х 2 - на нулевой вход триггера 109;ХЗ - на вход дешиФратора 11;Х 4 - на вход второго элемента Игруппы 102 (входы чтенйя регистра 7 адреса, сигналы Зп АПпо цепи 27, Чт ПП по цепи31);Х 5 - на входы регистра 5 кода операции и сигнал Зп АП по цепи 27;Хб - на вход первого элемента Игруппы 102 (входы чтения регистра 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,Принцип действия устройства в целом можно представить следующим циклом, При обращении ЦП 1 к программному модулю, который имеет аппаратный эквивалент в АП 2, происходит сра 5батывание блока 4 памяти и выдачаиз него следующей информации: кодоперации в регистр 5, номер АП в регистр 9, количество параметров в блок 06, длина параметров в регистр 7,Параллельно с этим производится Формирование в регистре 3 команды возврата в программу, передача команЦГГ 1 и захват шин ЦП 1, Далееблок 6 выделяет начальные адреса параметров и передает их в регистр 7,который адресуется к программной памяти с целью выборки входных параметров и передачи их в АП 2, Послеэтого из регистра 5 выдается код операции и осуществляется запуск АП 2.По окончании выполнения операции вАП 2 выходные параметры передаютсяв программную память по адресам, Формируемым регистром 7. Цикл работы устройства заканчивается снятием захваташин ЦП 1, после чего последний возобновляет обработку программы,Устройство позволяет организоватьвычислительную систему с прозрачнойархитектурой, при которой пользователь может не знать, выполняетсяли Функция программным или аппаратным путем, При этом вычислительная35система может рассматриваться как однопроцессорная система с расширеннымнабором команд,Предлагаемое построение устройствадля сопряжения ЦП с группой АП не зависит от типов используемых процессоров,Формула изобретения451. Устройство для сопряжения центрального процессора с группой арифметических процессоров, содержащее блок микропрограммного управления, регистр возврата в программу, регистр50 кода операции, регистр адреса, Регистр номера, дешифратор, блок памяти, триггер, два элемента Е, элемент ИПИ, причем информационный вход регистра возврата в программу, адресный вход 5 блока памяти и первый информационный выход Регистра адреса образуют группу входов-выходов устройства для подключения к группе адресных входов-выходов центрального процессора и к группе адресных входов программной памяти, первый информационный выход регистра возврата в программу, информационный вход блока памяти образуют группу входов-выходов устройства для подключения к группам информационных входов-выходов центрального процессора, арифметических процессоров группы и программной памяти, второй информационный выход регистра возврата в программу является выходом устройства для подключения к разрешающему входу программной памяти, установочный вход регистра возврата в программу соединен с первым входом логического условия блока микропрограммного управления и является входом устройства для подключения к выходу подтверждения захвата центрального процессора, вход чтения регистра возврата в программу является входом устройства для подключения к выходу чтения центральНого . процессора, вход записи блока памяти является входом устройства для подключения к выходу записи центрального процессора первый информационный выход блока памяти соединен с первым информационным входом регистра кода операции, с входом записи регистра номера, с вторым входом логического условия блока микропрограммного управления,.с входом записи регистра возврата в программу, с единичным входом триггера и является выходом устройства для подключения к входу гбтовности центрального процессора, выход триггера является выходом устройства для подключения к входу. за-, проса захвата центрального процесса, выход регистра кода операции является выходом устройства для подключения к входам кода операции арифметических процессоров группы, вход чтения блока памяти является входом устройства для подключения к выходам неисправности арифметических процессоров группы, выход дешифратора соединен с первыми входами первого второго элементов И и является выходом устройствадля подключения к разрешающим входам арифметических процессоров группы, выходы первого, второго элементов И являются выходами устройства для подключения соответственно к входам чтения и записи арифметических процессоров группы, третий вход логического условия блока микропрограммного уп
СмотретьЗаявка
4400465, 30.03.1988
ФИЛИАЛ "ВОСХОД" МОСКОВСКОГО АВИАЦИОННОГО ИНСТИТУТА ИМ. СЕРГО ОРДЖОНИКИДЗЕ
МИХНОВ ЮРИЙ ПАВЛОВИЧ
МПК / Метки
МПК: G06F 13/00
Метки: арифметических, группой, процессора, процессоров, сопряжения, центрального
Опубликовано: 15.12.1989
Код ссылки
<a href="https://patents.su/16-1529236-ustrojjstvo-dlya-sopryazheniya-centralnogo-processora-s-gruppojj-arifmeticheskikh-processorov.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для сопряжения центрального процессора с группой арифметических процессоров</a>
Предыдущий патент: Устройство для коммутации сообщений
Следующий патент: Устройство для сопряжения двух эвм с абонентами
Случайный патент: Способ переработки хромитовых руд