Изобретение относится к цифровой ,. вычислительной технике и может быть использовано при проектировании быстродействующих гщаптивных вычис лительных систем с микропрограммным управлением.
Известны микропрограммные процессоры с самодиагностикой, содержащие дублированные блоки обработки инфор1 мации и локальной памяти, блок мик- . ропрограммного управления и блок основной памяти 1 3 - Сз . .
Недостатками известных процессоре являются большой объем оборудования, связанный с необходимостью дополнительного резервирования на уровне устройств для обеспечения их работо способности .при отказах,Я1 значитель-, ные простои оборудования, связанные с тем, что процессоры рассчитаны на обработку информации в часы наибольшей нагрузки и Мс1лоэффективны (не нагружены обработкой информации) при функционировании в остальное время.
Наиболее близким техническим решением к предлагаемому устройству является микропрограммный процессор содержащий первый и второй блоки локальной памяти, первый и второй операционные блоки, блок основной
памяти, регистр данных, регистр адреса, блок буферной памяти, буферный регистр, коммутатор, триггер управления,, генератор эталонов, первую третью сравнения, первый и второй регистры результатов теста, первый и второй дешифраторы, формирователь адреса микрокоманд, блок памяти микрокоманд, формирователь микроопе10раций, первый блок элементов И, регистр возврата, причем первый выход регистра данных соединен с первым входом регистра адреса, выход которого соединен с первым входом блока
15 буферной памяти и первым входом блока основной памяти, выход которого соединен с первым входом регистра данных, второй вход - с выходом буферного регистра, первый и второй
20 входа которого соединены с первым и вторым выходами коммутатора соответственно, и вторым входом блока буферной памяти, третий вход - с первым входом первого блока элементов И,
25 второй вход которого соединен с выходом фор1шрователя адреса микрокоманд и входом блока памяти микрокоманд, а выход - с- входом регистра возврата, выход которого соединен с третьим 30 входом блока буферной памяти, выход которого соединен с вторым входом регистра данных, второй выход которого соединен с первым входом формирователя адреса микрокоманд, второй вход которого соединен с первым выходом формирователя микроопераций, вход которого соединен с выходом бло ка памяти микрокоманд, второй выход. с входом rertiepaTopa эталонов, выход которого соединен с первыми входами первой и второй схем сравнения, выхо ды которых соединены с информационны ми входами первого и второго регистров результатов теста соответственно выходы которых соединены с информаци онными входами первого и второго дешифраторов соответственно, первый вход третьей схемы сравнения соединен с вторым входом первой схемы сравнения, первым входом коммутатора и .первым выходом первого операционного блока, второй выход которого соединен с первым входом первого бло ка локальной памяти, выход которого соединен с первьм входом первого операционного блока, второй вход третьей схемы сравнения соединен с вторым входом второй cxeivbi сравнения вторым входом коммутатора и первым выходом второго операционного блока, второй выход которого соединен с пер вым входом второго блока локальной памяти, выход которого соединен с первым входом второго операционного блока, третий выход формирователя микроопераций соединен с четвертым входом блока .буферной памяти, вторым входом регистра адреса, четвертым входом блока.основной памяти, с вторыми входами первого и второго дешиф раторов , с вторыми входами первого и второго регистров результатов теста, с вторыми входами первого и .второго операционных блоков, с вторыми входами первого и второго блоков локаль ной памяти 4 J. Недостатками указанного процессор являются большой объем оборудования и низкая достоверность функционирова ния, В известном устройстве реализуется следующая дисциплина функционирования. Результаты работы двух параллельн функционирующих каналов обработки ин формации сравниваются. При их совпадении осуществляется обмен данным с блоком основной памяти процессора. При этом один канал функционирует как ОСНОВНОЙ а другой - как резервный. В случае -несовпадения результатов обработки информации в двух кана лах третья схема сравнения формирует управляющий сигнал, по которому запу каются микропрограмма обработки отка за, в ходе выполнения которой работд процессора блокируется, содержимое каналов передается в блок, буферной памяти, а затем с использованием специального диагностического оборудования определяется отказавший канал. По результатам диагностики определяется работоспособность канала, восстанавливается его содержимое и процессор продолжает работу в одноканальном режиме. Вольшой объем оборудования процессора объясняется следующей причиной. В процессоре отсутствуют средства адаптации к нагрузке («например, к числу обслуживае1 Ых абонентов при использовании процессора в системе коммутации) , которая в зависимости от условий функционирования может меняться (при работе систем коммутации имеется период времени, так называемый час наибольшей нагрузки, когда число подключаемых абонентов максимально и требуется обеспечить максимальную производительность процессора. В остсшьное время нагрузка резко уменьшается и процессорможет работать с минимальной производительностью) . В связи с этим, каждый из каналов процессора рассчитан на работу со словами полной длины (например, 32-битнь 4и) , считываемыми из блока основной памяти. Обработка слов полной длины обеспечивает требуемую производительность при максимгшьной нагрузке, которая обычно сохраняет небольшой отрезок времени, имеющий незначительную относительную величину, (в системах коммутации максимальная нагрузка сохраняется обычно в течение 1-2 ч за сутки). Следовательно, большую часть времени, когда процессор может работать с меньшей производительностью (например, за счет обработки полуслов длиной 16 бит) вычислительные мощности процессора используются неэффективно. Это обуславливает большую структурную избыточность процессора, которая приводит к существенным дополнительным затратам оборудования (т.е. практически к удвоению его объема), и вызывает низкую достоверность функционирования за счет увеличения вероятности парных ошибок в каналах. Указанные недостатки, в свою очередь, обуславливают также большое время диагностирования при выходе из строя одного из канёшов вследствие большой размерности проверяемого объекта (канала), что в конечном итоге снижает коэффициент технической готовности . Целью изобретения является сокращение оборудования. Поставленная цель достигается тем, что в перестраиваемый микропрограммный процессор, содержащий первый и второй блоки локёшьной памяти, первый и второй операционные блоки, блок основной памяти, регистр адреса.
регистр данных, блок буферной памяти, буферный регистр, коммутатор, триггер управления, блок памяти эталонов, первый, второй и третий блоки сравнения, первый и второй регистры результата, первый и второй дешифраторы, формирователь адреса микрокоманд, блок памяти микрокоманд, формирователь микроопераций, первый блок элементов И, регистр возврата, причем первый выход регистра данных соединен с первым входом регистра адреса, выход которого соединен с адресными входами блоков буферной и основной памяти, выход блока основной памяти соединен с пе(рвым информационным входом регистра данных, второй выход которо.го соединен с входом кода операций формирователя адреса микрокоманд, первый и второй выходы коммутатора соединены соответственно с первыми и вторыми входами буферного регистра, выход которого соединен с первыми информационными входами блоков буферной и основной памяти, выход первого блока элементов И соединен с входом регистра возврата, выход которого соединен с вторым информационным входом блока буферной памяти, выход микроопераций формирователя микроопераций соединен с первым управляющим входом коммутатора, с первым управляющим входом.блока основной памяти, с управляющим входом регистра адреса, с управляющими входами первого и второго регистров результата, первого и второго дешифраторов, первого и второго блоков локальной памяти, первого и второго операционных блоков и первым управляющим входом блока буферной памяти, выход которого соединен с вторым информационным входом регистра данных, выход формирователя адреса микрокоманд соединен с входом блока памяти микрокоманд и с первыми входами первого блока элементов И, вторые входы которого соединены с управляющим входом формирователя адреса микрокоманд, выход блока памяти микрокоманд соединен с вх®дом формирователя микроопераций, выходы адреса микрокоманд и адреса эталонов которого соединены соответственно с адресным входом формирователя адреса микрокоманд и с вторым входом блока памяти эталонов, выходы первого и второго блоков локальной памяти соединены соответственно с информационными входами первого и второго операционных блоков, первые информационные выходы которых соединены с первыми информационными входами первого и второго блоков локальной памяти соответственно, второй информационный выход первого операционного блока соединен с первым информационным входом коммутатора и с первыми входами первого и второго
блоков сравнения, выход первого из которых соединен с информационным входом первого регистра результата, второй информационный выход второго операционного блока соединен с вторым информационным входом коммутатора, о вторым входом первого блока сравнения и с первым входом третьего блока сравнения, выход которого соединен с информационным входом второго регист0ра результата, выход блока памяти эталонов соединен с вторыми входами второго и третьего блоков сравнения, выходы первого и второго регистров результата соединены с информационными входами первого и второго дешифра5торов, введены второй, третий, чет- . вертый и пятый блоки элементов И, первый и второй блоки элементов ИЛИ, первый, второй, третий, четвертый и пятый элементы И, первый, второй,
0 третий, четвертый и пятый элементы ИЛИ, третий дешифратор, одновибратор, элемент задержки, регистр заявок, триггер режима и триггер отказа, причем выход первого блока сравнения
5 соединен с единичным входом триггера отказа, единичный выход которого через одновибратор соединен с управля-ющим входом формирователя адреса микрокоманд и вторым управляющим входом
0 блока основной памяти, нулевой выход триггера отказа соединен с первыми входами первого, второго и третьего элементов И, выход которого соединен с первым входом первого элемента ИЛИ,
5 выходы первого и второго деишфраторов соединены соответственно с первым входом второго элемента ИЛИ и вторым входом первого элемента ИЛИ, выходы которых соединены соответственно с
0 единичным и нулевым входами триггера управления, выход микроопераций формирователя микроопераций соединен с нулевым входом триггера отказа, через элемент задержки - с установочным входом регистра заявок, вторым вхо5дом первого элемента И, первым входрм четвертого элемента И, первыми входами второго и третьего блоков элементов И, вторыми входами третьего и второго элементов И, выход которо6го соединен с вторым входом второго элемента ИЛИ, входы заявок устрой.ства соединены с информационными входами регистра заявок, выход которого соединен с входами третьего де5шифратора, выходы дешифратора соединены с входами третьего элемента ИЛИ, выход которого соединен с третьим входом первого элемента И и инверсным входом четвертого элемента И,
О выходы которых соединены соответственно с единичным и нулевым входами триггера режима, нулевой выход триггера режима соединен с управляющим входом первого блока сравнения, с
5 вторыми входами второго и третьего
блоков элементов И н инверсными входами четвертого и пятого блоков элементов И, выходи которых соединены соответственно с первыми входами первого и второго блоков элементов ИЛИ, единичный выход триггера режима соединен с первым входом пятого элемента И, вторым управляющим входом формирователя адреса микрокоманд и первыми входами третьего и четвертого элементов ИЛИ, выходы которых соединены соответственно с вторым и третьим управляющими входами коммутатора, единичный и нулевой выходы триггера управления соединены с вторыми входами третьего и четвертого элементов ИЛИ соответственно, второй выход регистра данных соединен с прямыми входами четвертого и пятого блоков элементов И и с третьими входами второго и третьего элементов И, выход которого соединен с вторыми входами первого и второго блоков элементов ИЛИ, выход второго блока элементов И соединен с третьими входами первого и второго блоков элементов ИЛИ, выходы которых соединены соответственн с вторыми информационными входами первого и второго блоков локальной памяти, выход переноса первого операционного блока соединен с вторым входом пятого элемента И, выход которого соединен с входом переноса второго операционного блока.
При этом операционный блок содержит дешифратор, шифратор, первую и вторую группы элементов И, группу элементов 2И-ИЛИ, сумматор и регистр причем управлякиций вход операционного блока соединен с входом дешифратора, выход которого соединен с входом шифратора, выход шифратора соединен с управляющими входами первой и второй групп-элементов И, с управляющими входг1ми первой и второй групп входов группы элементов 2И-ИЛИ и с управляющим входом регистра, выход которого соединен с информационным входом первой группы входов группы элементов 2И-ИЛИ и информационными входами первой и второй групп элементов И, выходы первой и второй групп элементов И являются первым и вторым информационными выходами операционного блока, информационный вход и вход переноса операционного блока соединены соответственно с информационным входом второй группы входов группы элементов 2И-ИЛИ и с входом переноса сумматора, выходы переноса и суммы которого соединены соответственно с выходом.переноса операционного блока и информационным входом регистра, выход группы элементов 2И-ИЛИ соединен с информационным входом сумматора.
Кроме того, формирователь адреса микрокоманд содержит регистр адреса
микрокоманд, шифратор, группу элементов ИЛИ и сумматор по модулю два, причем первый, второй управляющие входы, входы кода операции и адреса формирователя адреса микрокоманд соединены соответственно с входом шифратора, первым и вторым входами сумматора по модулю два и первым информационным входом регистра адреса микрокоманд, выход которого является выходом формирователя адреса микрокоманд, выходы шифратора и сумматора по модулю два соединены с входами группы элементов ИЛИ, выход которой соединен с вторым информационным входом регистра адреса микрокоманд.
Формирователь микроопераций содержит регистр микрокоманд и группу дешифраторов, причем вход формирователя микроопераций соединен с входом регистра микрокоманд, выходы которого . соединены с входами дешифраторов, выходы дешифраторов соединены с выходом микроопераций и адреса эталонов формирователя, адресный выход регистра микрокоманд является выходом адреса микрокоманд формирователя микроопераций .
Сущность изобретения состоит в сокращении используемого оборудования процессора путем адаптации структуры к подключаемой нагрузке (числу заявок на обслуживание).
Если число заявок К, поступающих на обслуживание, меньше критического К, соответствующего максимальной нагрузке, предлагаемый процессор работает в двухканальном режиме также, как и известное устройство. Отличие состоит в том, что каждое слово, считываемое из блоков основной памяти, обрабатывается за два такта, поскольку каналы имеют разрядность, соответствующую половине слова. В первом такте обрабатывается первое полуслово - параллельно в двух каналах со сравнением результатов, а во втором второе полуслово. Формируемый результат передается в основную память. Таким образом, при К К процессор осуществляет обработку полуслов двумя каналами. При отказе одного из каналов обработки информации запускается микропрограмма обработки отказа, обнаруживается отказавший канал и процессор переходит в одноканальный режим функционирования. При восстановлении работоспособности отказавшего канала, процессор переходит в двухканальный режим функционирования.
Если число заявок на обслуживан21е больше или равно критическому ( К 7/к ) , процессор переходит к обработке слов полной длины. При этом рабочий и контрольный каналы обработки информации путем соответствующей коммутации объединяются в один канал обработки слов (операндов) полной длины. При
этом производительность процессора увеличивается в два раза. После выполнения каждой микропрограммы процессор анализирует число необслуженных заявок. Если К / К , работа в одноканальном режиме по обработке операндов полной длины продолжается, если К К , перед выполнением следующей микропрограммы процессор переходит в двухканальный режим работы по обработке операндов половинной длины и работает аналогично описанному. После выполнения очередной микропрограм мы (обслуживания заявки) опра1тшвается количество необслуженных заявок и работа процессора продолжается аналогично описанному алгоритму. Осуществление реконфигурации структуры процессора с учетом подключаемой нагрузки (числа заявок) позволяет производить обработку информации более простыми операционными блоками, а, следовательно, сократить объем используемого оборудования процессора.
В предлагаемый микропрограммный .процессор введены четыре блока элементов И, два блока элементов ИЛИ, пять элементов И, пять элементов ИЛИ, одновибратор, триггер отказа, регистр заявок, элемент задержки, третий дешифратор, триггер режима.
Код микрокоманды, считываемой из .блока памяти микрокоманд в формирователь микроопераций, разбит на три поля: первое поле - код адреса следующей микрокоманды; второе поле - код выполняемых микроопераций; третье поле - код адреса эталона, подаваемого в генератор эталонов.
Введение второго - четвертого блоков элементов И, первого и второго блоков элементов ИЛИ и обусловленных ими. связей позволяет в зависимости от режима работы процессора -записывать одинаковые операнды в оба блока локальной памяти или, в случае обработки операнда полной длины,т/2 старших разрядов операнда в первый блок локальной памяти и младших разрядов операнда во второй.блок локальной памяти.
введение пятого элемента И и обусловленных им связей позволяет обеспечить перенос между сумматорами первого и второго операционных блоков в режиме обработки операндов полной длины.
Введение регистра заявок, третьего дешифратора, третьего элемента ИЛИ, первого элемента И, триггера режима и обусловленных ими связей позволяет изменять режим функционирования процессора. Если в регистре заявок число заявок к 7 к , на выходе третьего дешифратора появляется сигнал, который через третий элемент ИЛИ и первый элемент И воздействует на единичный вход триггера, режима и переводит
его в единичное состояние. Единичное состояние триггера соответствует режиму функционирования процессора при К7/К.
Если Kf, появление сигнала на подключенных выходах третьего дешифратора не происходит и триггер режима находится в нулевом состоянии. При этом процессор функционирует в двухканальном режиме по обработке операн0тов половинной длины.
Введение элемента задержки и обусловленных им связей необходимо для обнуления регистра заявок после каждого Опроса его состояния.
5
Введение четвертого элемента И и обусловленных им связей необходимо для перехода от режима работы процессора при к режиму работы при , что обеспечивается установкой в нуле0вое состояние триггера режима.
Введение триггера отказа и обусловленных им связей необходимо для запуска микропрограммы обработки отказа и запрета управления триггером управления сигналами микроопераций
5 и триггером режима.
Введение второго и третьего элементов И и первого и второго элементов ИЛИ и обусловленных ими связей позволяет управлять работой триггера
0 управления либо сигналами микроопе- раций, либо сигналами с выходов первого и второго дешифраторов.
Введение второго одновибратора и обусловленных им связей позволяет
5 формировать сигнал запуска микропрограммы обработки отказа и блокировки записи в блок основной памяти.
Введение третьего и четвертого элементов ИЛИ и обусловленных ими
0 связей, а также связи между третьим формирователем микроопераций и первым управляющим входом коммутатора, позволяет записывать обработанную информацию в буферный регистр в зависимос5ти от режима работы либо параллельно с первого и второго операционных блоков при работе в одноканальном режиме обработки операндов полной длины, либо последовательно переписывать с рабочего операционного блока
0 младших и старших разрядов обработанных операндов.
Таким образом, введение новых элементов и указанных связей позволяет существенно повысить эффективность
5 микропрограммного процессора на основе адаптации его структуры к условиям функционирования.
На фиг.1приведена функциональная схема перестраиваемого микропрограммного процессора; на фиг.2 - функциональная схема блока локальной памяти; на фиг.З - то же, блока основной памяти; на фиг.4 - то же, формирователя
5 микроопераций; на фиг.5 - то же, второго операционного блока; на фиг.б то же, блока буферной памяти; на фиг.7 - то же, блока памяти эталонов на фиг.8 - то же, формирователя адреса микрокоманд.
Перестраиваемый микропрограммный процессор содержит (фиг.1) второй блой 1 элементов И, четвертый блок 2 элементов И, первый блок 3 элементов ИЛИ, второй блок 4 элементов ИЛИ, первый блок 5 локальной памяти, второй блок 6 локальной памяти, блок 7 основной памяти, регистр 8 данных, регистр 9 адреса, третий блок 10 элементов И, пятый блок 11 элементов И, первый операционный блок 12, пятый элемент И 13, второй операционный блок 14, блок 15 буферной памяти, регистр 16 заявок, третий дешифратор 17, третий элемент ИЛИ 18, первый элемент И 19, коммутатор 2С, состоя щий из блоков элементов И и блоков элементов ИЛИ, элемент 21 задержки, триггер 22 режима, четвертый элемент И 23, входы 24 заявок,одновибратор 25, буферный регистр 26, третий элемент ИЛИ 27, триггер 28 управления, четвертый элемент ИЛИ 29, второ элемент ИЛИ 30, блок 31 памяти эталонов, второй блок 32 сравнения,первый регистр 33 результата, первый деишфратор 34, второй элемент И 35, первый блок 36 элементов И, регистр 37 возврата, первый блок 38 сравнеНИН, формирователь 39 адреса микрокоманд, блок 40 памяти микрокоманд, формирователь 41 микроопераций, триггер 42.отказа, третий блок 43 сравнения, второй регистр 44 результата, второй дешифратор 45, третий элемент И 46, первый элемент ИЛИ 47.
Блок локальной памяти включает {фиг.2) дешифратор 4.8, шифратор 49, п групп 50 элементов 2И-ИЛИ,п -регистров 51,п групп 52 элементов И, выход 53 блока 15 буферной памяти, первый 54, второй 55 и третий 56 входы блока 15 буферной памяти.
Блок основной памяти содержит (фиг.З) первый 57, второй 58, третий 59 и четвертый 60 входы блока 7 основной памяти соответственно, блок 61 элементов И, накопитель 62, первы 63 и второй 64 элементы И соответственно, триггер 65, выход 66 .блока 7 основной памяти, входы 67 и 68 синхроимпульсов записи и считывания.
В формирователь микроопераций входят (фиг.4) вход 69, регистр 70 микtpoкoмaнд,группа дешифраторов 71 кода микроопераций, дешифратор 72 кода микрокоманд запуска генератора эталонов, первый 73, второй 74 и третий 75 выходы формирователя 41 микроопераций соответственно.
Операционные блоки выполнены по одной и той же схеме (фиг.5) и содержат первый 76, второй 77 и тр)етий
78 входы второго операционного блока 14, дешифратор 79, шифратор 80, группу 81 элементов 2И-ИЛИ, сумматор 82, регистр 83, первую 84 и вторую 85 группы элементов И, первый 86 и второй 87 выходы второго операционного блока , 14, выход 88 переноса (в первом операционном блоке не используется) .
Блок буферной памяти включает (фиг.6) первый 89, второй 90, третий 91 и четвертый 92 входы блока 15 буферной памяти, второй блок 93 элементов И, накопитель 94, блок 95 элементов ИЛИ, выход 96 блока 15 буферной памяти 15, первый элемент И 97, выход 98 генератора импульсов записи, второй элемент И 99, выход 100 генератора импульсов считывания, первый, вход 101 накопителя, первый блок 102 элементов И, второй регистр 103, пятый бл.ок 104 элементов И, второй вход 105 накопителя, третий блок 106 элементов И, первый регистр 107, четвертый блок 108 элементов И.
В блоке памяти эталонов находятся (фиг.7) вход 109 генератора эталонов блок 110 элементов ИЛИ, дешифратор 111, блок 112 памяти эталонов, регистр 113, выход 114 генератора эталонов.
Формирователь адреса микрокоманда включает (фиг.8) первый 115, второй 116 и третий 117 входы формирователя 39 адреса микрокоманд, шифратор 118, группу 119 элементов ИЛИ, регистр 120, сумматор 121 по модулю два четвертый вход 122 формирователя адреса микрокоманд, выход 123 формирователя адреса микрокоманд.
Назначение основных элементов функциональной схемы микропрограммного процессора (фиг.1) состоит в следующем: второй -.пятый блоки 1, 10, 2 и 11 элементов И, первый и второй блоки 3 и 4 элементов ИЛИ предназначены для передачи операндов из регистра 8 данных в первый 5 и второй 6 блоки локальной памяти в порядке, определяемом поступающими сигналами микроопераций и сигналом с нулевого выхода триггера 22 режима.
Блоки 5 и 6 локальной памяти предназначены для хранения операндов (частей операндов в одноканальном режиме функционирования при ) и промежуточных результатов обработки информации .
Операционные блоки 12 и 14 осуществляют преобразование информации по микрооперациям, поступающими с третьего выхода формирователя 41 микроопераций . При работе в одноканальном режиме () операционные блоки функционируют как один операционный блок с полной разрядностью обрабатываемых операндов. Пятый элемонт и 13
предназначен для обеспечения цепи переноса между сумматорами первого 12 и второго 14 операционных блоков. На первые входы операционных блоков 12 и 14 поступает информация с выходов соответствующих блоков локальной памяти. Результаты обработки вьщаются либо на первые входы блоков
5и б локальной памяти, либо на первый и второй входы коммутатора 20 и на первый блок 38 сравнения для сравнения.
Блок 7 основной памяти предназначен для хранения данных и команд для их обработки.
Регистр 8 данных предназначен для приема и хранения очередных команд и данных выполняемой программы, поступающих из блока 7 основной памяти на первый вход, и данных, поступающих из блока 15 буферной памяти на второй вход. Операнды с второго выхода регистра поступают на вторые входы второго - пятого блоков 1, 10, 2 и 11 элементов И, а код операции - на первый вход формирователя 39 адреса микрокоманд.
Регистр 9 адреса предназначен для хранения адреса следующей команды.
Блок 15 буферной памяти предназначен для хранения информации, находящейся на момент отказа в блоках 5 и
6локальной памяти, в операционных блоках 12 и 14, в регистре 9 адреса, в регистре 37 возврата и выдачи ее после выполнения микропрограммы обработки отказа через регистр 8 данных
в соответствующие блоки.
Регистр 16 заявок предназначен для хранения числа заявок на обслуживание поступивших на процессор от потребителей .
Третий дешифратор 17 предназначен для выдачи сигнала на выходе при Третий элемент ИЛИ 18 и первый элемент И 19 предназначены для формирования сигнала установки в единичное состояние триггера 22 режима. Четвертый элемент И 23 предназначен для установки в нуль триггера 22 режима. Элемент 21 задержки предназначен для обнуления регистра 16 заявок после его опроса.
Коммутатор 20 предназначен для обеспечения перезаписи обработанной информации с вторых выходов операционных блоков 12 и.14 на первый и второй входы буферного регистра 26 в зависимости от управляющих сигналов, поступающих на его первый - третий управляющие входы от четвертого 29 и третьего 27 элементов ИЛИ и третьего выхода формирователя 41 микроопераций
Буферный регистр 26 предназначен для формирования и хранения обработанной информации перед записью ее в блок 7 основной памяти или в блок 16 буферной памяти.
Четвертый 29 и третий 27 элементы ИЛИ предназначены для формирования управляющих сигналов на третий и четвертый вход коммутатора 20 по сигналам, поступаю1аим на их входы с единичного выхода триггера 22 режима, и выхода триггера 28 управления.
Триггер 28 управления предназначен для управления выдачи информации через коммутатор 20 от первого 12 и4и второго 14 -операционных блоков в двух0канальном 1: ежиме работы процессора или из исправного канала при возникновении отказа в одном из кангшов. Третий 46 и второй 35 элементы И и второй 30 и первый 47 элементы ИЛИ
5 предназначены для формирования сигналов управления: .единичный и нулевой, вход триггера 28 управления - по сигналам микроопераций с третьего выхода формирователя 41 микроопераций,
0 сигналам с выходов первого 34 и второго 45 дешифраторов и нулевого выхода триггера 42 отказа.
Первый блок 38 сравнения предназначен для сравнения результатов обра5ботки информации в первом 12 и втором 14 операционных блоках и выдачи, при наличии управляющего сигнала на управляющем входе, сигнала рассогласования на выходе при несовпадении ре0зультатов обработки информации. Блок. 31 памяти эталонов предназначен для формирования эталонных последовательностей и выдачи их на второй 32 и третий 43 блоки сравнения при выпол5нении микропрограммы диагностики процессора.
Блоки 32 и 43 сравнения предназначены для сравнения результатов обработки контрольной информации первым
0 12 и вторым 14 операционными блоками с ожидаемыми результатами тестирования (эталонными), которые выдаются блоком 31 памяти эталонов в режиме выполнения микропрограммы диагностики. Первый 33 и второй 44 регистры ре5зультатов теста предназначены для накопления информации о первом 12 и втором 14 операционных блоках.
Весь диагностический тест состоит из целого ряда диагностических прове0рок, результат каждой из которых фиксируется отдельным битом первого 33 и второго 44 регистров результата теста .
5
На вторые (сдвигающие) входы регистров 33 и 44 результата 31 подается сигнал микрооперации, по которому осуществляется сдвиг информации в регистрах.
О
Первый 34 и второй 45 дешифраторы предназначены для идентификации исправности соответствующего канала обработки информации по содержимому первого 33 и второго 44 регистров
S результата теста. В конце микропрограммы диагностик дешифраторы 34 и 45 срабатывают по поступлении управляющего сигнала с формирователя 41 микроопераций, и в случае, если в одном из регистров 33 и 44 результата записана комбинация, соответствующая исправному состоянию канАла информации, на выходе соответ ствующего дешифратора появляется сиг нал, котоЕИй через второй элемент ИЛИ 30 или первый элемент ИЛИ 47 устанавливает триггер 28 управления в нулевое состояние. Одновибратор 25 предназначен для выдачи сигнала запуска,микропрограмг мы обработки отказа в формирователь 39 адреса микрокоманд, блокировки за писи информации из буферного регист-. ра 26 в блок 7 основной памяти, запи си в регистр 37, возврата через первы |блок 36 элементов И адреса микрокоманды, перед выполнением которой произошел отказ одного из каналов процессора. i Формирователь 39 адреса микрокоманд предназначен для формирования адресов.микрокоманд, считывания по ним микрокоманд из блока 40 памяти микрокоманд. Блок 40 памяти микрокоманд предназначен для хранения микрокоманд об работки информации процессором и мик рокоманд, входящих в микропрограмму обработки отказа и выдачи их в формирователь 41 микроопераций по адресу, поступающему из формирователя 39 адреса микрокоманд. Формирователь 41 микроопераций , предназначен для формирования микроопераций, по которым осуществляется обработка информации, для формирования адреса следующей микрокоманды, для запуска блока 31 памяти эталонов Назначение основных функциональных элементов блока локальной памяти (фиг.2) состоит в следующем. Кодопре образователь , состоящий из лоследовательно соединенных дешифратора 48 и шифратора 49, преобразует поступа-ющие на второй вход 55 блока локальной памяти коды микроопераций в управляющие сигналы, которые поступают на управляющие входы групп элемен тов И блоков 50 элементов 2И-ИЛИ и блоков 52 элементов И, . Преобразование кодов микроопер ций в коды управляющих сигналов осуществляется следующим образом. Код микроопераций преобразовывает ся дешифратором 48 в десятичный пози ционный код. На одном из выходов дешифратора появляется единичный сигна По этому сигналу шифратор 49 формиру ет код управляющих сигналов, по кото рым выполняются операции в данном блокеi Преобразователь кодов, состоя щий из дешифратора 4.8 и шифратора 49 может быть выполнен в виде программируемой логической матрицы. п групп 50 элементов 2И-ИЛИ предназначены для передачи информации первого 54, третьего 56 входа блока 5 1. 6 } локальной памяти в соответствующий п -и регистр 51. п регистров 51 предназначены для хранения информации и выдачи ее через соответствукнцие группу 52 элементов И и выход блока 5 ( 6 локальной памяти. Блок 5(6) локальной памяти функционирует следующим образом. По очередному коду микрооперации открываются по второму - входу первые группы элементов И или по первому входу - вторые группы элементов И 1-го блока 5, элементов 2И-ИЛИ, через которые информация, поступившая на первый 54 или третий 56 входы блока 5(6) локальной памяти, записывается в соответствующий 1-й регистр 51 и хранится в нем. При необходимости выдачи информации из 1-го регистра 51 на выход 53 блока 5 локальной памяти, соответствующую i группу 52 элементов И открывают по второму входу сигналом микрооперации и информация из регистра 51 через соответствующую группу 52 элементов И поступает на выход 53 блока 5 (6) локальной памяти. Назначение функциональных элементов блока 7 основной памяти (фиг.З) сострит в следующем. Накопитель 62 информации предназначен для хранения данных и .команд по их обработке. Первый 63 и второй 64 элементы И предназначены для формирования сигналов считывания и записи информации на четвертый и третий входы накопителя 62 соответственно по адресу, поступающему на первый вход 57 блока 7 основной памяти. Блок элементов И предназначен для выдачи по сигналам микроопераций, (Поступающим на его второй вход, информация со второго 58 входа блока основной памяти 7 на второй вход накопителя 62. Триггер 65 предназначен для выдачи сигнала блокировки по первому входу первого 63 и второго 64 элементов И при возникновении отказа в одном из каналов обработки информации в процессоре и снятия сигнеьпа блокировки при восстановлении отказа. Блок 7 основной памяти функционирует следующим образом. 1. Режим записи информации. Обработанная информация с выхода буферного регистра 26 поступает на второй вход 58 блока 7 основной памяти. Код микроопераций записи информации поступает через четвертый вход 60 блока 7 основной памяти, открыва ет по второму входу блок 61 элементов И и по третьему входу - второй элемент И 64. При нахождении триггера 65 в нулевом состоянии сигнал через второй вход второго элемента И 64 поступает на третий вход накопителя 62 и по адресу, поступающему на первый вход накопителя 62 с первого входа 57 блока 7 основной памяти записывает информацию с выхода блока элементов И 64 в накопитель 62, .2. Режим считывания информации. Код микрооперации считывания информа ции через четвертый вход 60 поступает на третий вход первого элемента И 63. Сигнал с генератора импульсов считывания через второй вход первого элемента И 63 поступает на четвертый вход накопителя 62 и по адресу, поступающему на первый вход накопителя 62 с первого вх9Да 57 блока 7 основной памяти, производит (считывание следующей команды и подае ее на выход 66 блока 7. 3.. Режим блокировки записи и c-iHтывания информации. При отказе одног из каналов обработки информации сигн с выхода одновибратора 25 поступает на третий вход 5-9 блока 7 основной п мяти и устанавливает триггер 65 в ну левое состояние. При этом сигнал на единичном выходе триггера- 65 исчезает, закрывая по первому входу первый 63 и второй 64 элементы И, запрещая таким образом выдачу в накопитель 62 импульсов записи и считывания. При восстановлении отказавшего канала обработки информации сигнал микрооперации с четвертого входа 60 блока 7 основной памяти поступает на единичный вход триггера 65. При этом триггер 65 устанавливается в единичное состояние, открывая по первому входу первый 63 и второй 64 элементы И. Назначение основных функциональны элементов формирователя 41 микроопераций (фиг.4) состоит в следующем. Регистр 70 предназначен для хранения адресных и операционных частей микрокоманд и выдачи их. на первый 73 выход и на входы дешифратора 72 форм рователя 41 микроопераций соответственно. Дешифраторы 71 предназначены для формирования операционной часТи микрокоманд по коду, поступающему.с регистра 70 кодов микроопераций, и выдачи их на третий выход 74 формирователя 41 микроопераций. Дешифратор 72 предназначен для формирования адреса первой эталонной комбинации блока 31 памяти и. выдачи его на второй выход 74 формирователя 41 микроопераций. Формирователь 41 микроопераций функционирует следующим образом. Микрокоманда поступает с входа -69 формирователя микроопераций на регистр 70. Адрес следующей микрокоманд ды с первого выхода регистра 70 поступает на первый выход 73 формирователя 41 микроопераций,а операционная часть микрокоманды поступает на входы дешифраторов 71 и 72. В п дешифраторах 71 формируются Коды Микрооперации, которые поступают на третий выход 75 формирователя 41 микроопераций. В дешифраторе 72 формируется адрес первой эталонной комбинации блока 31 памяти эталонов, который поступает на второй выход 74 формирователя 41 микроопераций. Назначение основных функциональных элементов операционных блоков (фиг.5) состоит в следующем. Дешифратор 79 и шифратор 80 преобразовывают поступающие на второй 77 вход операционного блока коды микроопераций в коды управляющих сигналов (также как и в блоках локальной памяти) и подают их на вторые (первые) входы первой и второй групп элементов И группы 81 элементов 2И-ИЛИ и вторые (первые) входы первой 84 и второй 85 групп элементов И соответственно. Группа 81 элементов 2И-ИЛИ предназначена для передачи информации, поступающей с выхода регистра 83 или с первого Входа 76 операционных блоков 14 на вход (первый вход) сумматора 82 соответственно, в зависимости от кода управляющих сигналов. Сумматор 82 предназначен для обработки информации и выдачи ее на информационный вход регистра 83, а также (только длясумматора блока 12) ВЕзщачи сигнала переноса на третий выход первого операционного блока 12. Регистр 83 предназначен для промежуточного хранения информации. Первая 84 и вторая 85 группы элементов И предназначены для передачи информации с регистра 83 на второй 87 и первый 86 выходы операционного блока соответственно. Операционный блок 14 функционирует следующим образом. По кодам микроопераций формируется код управляющих сигналов, по которому открывается первая группа элементов И группы 81 элементов 2И-ИЛИ и информация с первого входа 76 операционного блока 14 через группу 81 элементов 2И-ИЛИ поступает на вход сумматора 82, где осуществляется обработка информации. Далее управляющим сигналом, поступающим на вход синхронизации регистра 83, информация с сумматора 82 перезаписывается в регистр 83. Затем в зависимости от кода управляющих сигналов информация с регистра 83 по
ступает либо через первый (второй) вход второй группы элементов И группы 81 элементов 2И-ИЛИ на сумматор 82, либо через первую группу 84 элементов И на второй вхыод 87 операционных блоков, либо через вторую,группу 85 элементов И на первый выход 86 опе{эационных блоков 14.
Назначение основных функциональных элементов блока буферной памяти (фиг.6) состоит в следующем.
Накопитель 94 предназначен для хранения содержимого первого блока 5 локальной памяти, первого операционного блока 12, эторогсэ, блока б локальной памяти, второго операционного блока 14 при выполнении микропрограммы обработки отказа.
Первый регистр 107 предназначен для хранения содержимого регистра 9 адреса на время выполнения микропрограммы обработки отказа. Второй регистр 103 предназначен Для сохранения адреса микрокоманды, перед -выполнением которой в процессоре был обнаружен отказ на время выполнения микропрограммы обработки отказа.
Первый 97 и второй 99 элементы И предназначены для записи и считывания информации из накопителя 94.
Первый 102 и третий 106 блоки элементов И предназначены для записи информации во второй 103 и первый 107 регистры информации с первого 101 и второго 105 входов блока 15 буферной .памяти.
Второй блок 93 элементов И предназначен для управления записью информации с второго входа 90 блока 15 буферной памяти на второй вход накопителя 94.. Четвертый 108 и пятый 104 блоки элементов И предназначены для управления выдачей информации с первого 107 и второго 103 регистров на блок 95 элементов ИЛИ по сигналам микроопераций, поступающим на четвертый 92 вход блока 15 буферной памяти Блок 95 элементов ИЛИ предназначен для выдачи информации на выход 96 блока 15 буферной памяти с выхода накопителя 94 четвертого 108 и пятого 104 блоков элементов И.
Блок буферной памяти функционирует следующим образом.
1, Режим записи информации. Сиг раЛс1ми микроопераций, поступающими на четвертый вход 92 блока 15 буферной памяти, открывается по второму входу первый 102, второй 93 и третий 106 блоки элементов И и первый элемент И 97.Импульсы записи, поступающие через первый элемент И 97 на третий вход накопителя 94 по адресу, поступающему с первого входа 101 блока 15 буферной памяти на первый вход накопителя 94, записывают в него информацию с выхода второго блока 93 элементов И.
Информация, поступающая на первый вход 101 блока 15 буферной памяти через открытый по второму входу первый блок 102 элементов И, записывается во второй регистр 103. Информация, поступающая на второй вход 105 блока 15 буферной Пс1мяти, записывается в первый регистр 107.
2. Режим считывания информации. Сигнсшы микроопераций, поступающие н четвертый вход блока 15 буферной памяти, открывают по второму входу либо второй элемент И 99, либо четвертый блок 108 элементов И, либо пятый блок И элемента 104. В первом случае импульсы считывания проходят через второй элемент И 99 на четвертый вхо накопителя 94 по адресу, поступающем на его первый вход с первого входа 101 блока 15 буферной памяти, считывают информацию из накопителя 94 и через блок 95 элементов ИЛИ передают ее на выход 96 блока 15 буферной памяти .
Информация с первого 107 или втоiporo 103 регистров через открытые по второму входу четвертый 108, либо ,пятый 104 блоки элементов И и через блок 95 элементов ИЛИ поступает на выход 96 блока 15 буферной памяти.
Назначение основных функционаЛь(Ных элементов генератора эталонов (фиг.7) состоит в следующем.
Регистр 113 предназначен для хранения и выдачи на выход 114 этгшонной комбинации для текущего такта выполнения микропрограммы диагностик и адреса следующей эталонной комбинации на второй вход группы элементов ИЛИ 110.
Блок 112 памяти эталонных комбинаций предназначен для хранения эталонных комбинаций для микропрограммы диагностики. Дешифратор 111 - для формирования адреса очередной эталонной комбинации и считывания ее из блока 112 памяти эталонных комбинаций.
Блок 31 памяти эталонов функционирует следующим образом.
Сигнал микроопераций, поступающий на вход 109 блока 31 памяти эталонов поступает через блок 110 элементов ИЛИ на информационный и на управляющий входы дешифратора 111. По адресу, сформулированному дешифратором 111, из блок-а 112 памяти эталонных комбинаций считывается в регастр 113 очередная эталонная комбинация. Операционная часть эталонной комбинации поступает с регистра 113 на выход 11 генератора эталонов, а косвенный адрер следующей эталонной комбинации поступает с второго выхода регистра 113 на второй ..вход группы элементов
ИЛИ 110 И через него - на информационный вход дешифратора 111, По сигналу микрооперации, поступающему на управляющий вход дешифратора 111, он возбуждается и формирует адрес следующей эталонной комбинации.
Назна 1ение основных функциональных элементов формирователя 39 адреса микрокоманд (фиг.8) состоит в следующем.
Шифратор 118 предназначен для формирования адреса первой микрокоманды микропрограммы обработки отказа. Блок 119 элементов ИЛИ - для выдачи старших разрядов адреса очередной микрокоманды на регистр 120 с выхода сумматора 121 по модулю два либо с выхода шифратора 118. Регистр 120 используется для хранения адреса очередной микрокоманды и выдачи его на выход 123 формирователя 39 адреса микрокоманд.
формирователь 39 адреса микрокоманд функционирует следующим образом..
Код операции с первого входа 115 поступает на первый вход сумматора 121 по модулю два. Если на второй вход сумматора 121 по модулю два поступает, сигнал, то модифицированный суьв«1атором код операции с выхода сумиатора 121 через блок 119 элементов ИЛИ поступает на первый вход регистра 120 и через него - на выход 123 формирователя адреса микрокоманд.Если сигнал на третьем входе 117 форглирователя 39 адреса микрокоманд отсутствует , модификация кода операции не производится, он передается через сумматор 121 по модулю два на блок 119 элементов ИЛИ и с его выхода на первый вход регистра 120.
Адрес очередной микрокоманды поступает на второй вход 116 формирователя 41 микроопераций и записывается в регистр 120 по второму входу.
. На .четвертый вход 122 формирователя 41 микроопераций поступает сигнеш, по которому формирователь адреса микрокоманд формирует адрес первой микрокоманды микропрограммы обработки отказа. Это осуществляется следующим образом.
Сигнал с четвертого входа 122 запускает шифратор 118, выходной :игнал которого, являющийся адресом первой микрокоманды микропрограммы обработки отказа, записывается через группу 119 элементов ИЛИ в регистр 120.
Процессор работает следующим образом.
Работа процессора в режиме пониженной нагрузки.
Число заявок в регистре 16 заявок процессора в данном режиме меньше критического ) и сигнал на выходе элемента ИЛИ 18 отсутствует. При выполнении программы обработки заявки
команды считываются из блока 7 основной памяти в регистр 5 данных. Код операции из регистра 8 данных посту- . пает на формирователь 39 адреса микрокоманд. По выбранному адресу из блока 40 памяти микрокоманд, считывается первая микрокоманда микропрограммы обработки операндов для данной команды. При выполнении микропрограммы обработки операндов формирователь 41
микроопераций вырабатывает управляющие воздействия на входы блоков 1 и 10 элементов И, блоков 5 и 6 локальной памяти, операционных блоков 12 и 14 блока 7 основной памяти, по которым операнды для данной команды считываются из блока 7 основной памяти и через регистр 8 данных последовательно записываются в блоки 5 и 6 локальной памяти.
Если в процессоре отсутствуют неисправности, то в каждай момент времени блоки 5 и 6 локальной памяти хранят одинаковую информацию. В ходе обработки операнды половинной длины
поступают из блоков 5 и 6 локальной памяти в первый 12 и второй 14 операционные блоки параллельно, и независимо. Для этих блоков формирователем 41 микроопераций задается выполнение
одинаковых операций. Результат обработки в зависимости от выполняемой команды записывается по сигналам микроопераций из формирователя 41 микроопераций либо в первый 5 и второй 6
блоки локальной памяти, либо через
коммутатор 20 поступает на буферный регистр 26. Далее из регистра 8 данных считывается в блоки 5 и б локальной памяти через коммутатор, состоящий изблоков 1,2,10 и 11 элементов И
и блоков 3 и 4 элементов ИЛИ второй операнд и с ним производится аналогичная обработка.
При выполнении команды записи обработанной информации в блок 7 основной памяти, информация с буферного регистра 26 сигналом с формирователя 41 микроопераций передается в блок 7 основной памяти. После этого выбирается из блока 7 основной памяти следующая команда и процессор работает аналогично.
Блок 38 сравнения сравнивает результаты обработки данных в первом 12 и втором 14 операционных блоках:
при совпадении результатов никаких специальных действий в процессоре не предпринимается и работа процессора продолжается.
Таким образом, первым 12 и вторым
14 операционными блоками выполняется параллельная обработка одинаковых данных половинной длины. Триггер 28 управления, управляемый сигналами микроопераций из формирователя 41
микроопераций, через элементы И 46 и 35 и элементы ИЛИ 30 и 47 разрешает прохождение информации через коммутатор 20 на буферный регистр 26 с первого 12 или с второго 14 операционных блоков. Если в первом 12 или втором 14 операционных блоках либо в 5 или втором б блоках локсшьной памяти происходит отказ, он обна руживается блоком 38 сравнения из-за расхождения в результатах обработки. Сигнал с выхода блока 38 сравнения устанавливает в единичное состояние триггер 42 отказа, сигнал с единично го выхода которого запускает одновиб ратор 25. Сигнал с его/выхода запрещает запись обработанной информации в блок 7 основной памяти.и инициирует выдачу формирователем 39 адреса микрокоманд начального адреса микропрограммы обработки отказа . Адрес следующей микрокоманды, перед выполнением которой произошел от каз, запоминается в регистре 37 возврата через открытый сигналом с одно вибратора 25 блок 36 элементов И. Для микропрограммы обработки отказа в блоке 15.буферной памяти предусмот рено три области ячеек. Первая область предназначена для сохранения адреса микрокоманды, перед выполнени ем которой в процессоре обнаружен отказ, а также для сохранения содержимого регистра 9 адреса. Вторая область служит для сохранения содержимого первого блока 5 локальной памят и всех элементов памяти операционного блока 12. Третья область аналогин на второй и используется для сохране ния состояния второго блока 6 локаль ной памяти и операционного блока 14. При выполнении микропрограммы обработки отказа происходит запоминание содержимого регистра 37 возврата и регистра 9 адреса в первой области блока 15 буферной памяти, затем по единичному состоянию триггера 28 .управления через коммутатор 20 и буфарный регистр 26 во вторую область блока 15 буферной памяти сигналами из формирователя 41 микроопераций перезаписывается информация из запоминающих элементов операционного бло на 12 и содержимое блока 5 локальной памяти. После этого триггер 28 управ ления устанавливается в нулевое состояние и в третью область блока 15 буферной памяти перезаписывается сое тояние операционного блока 14 и блока 6 локальной памяти. Таким образом, состояние всех запоминающих элементов процессора сохраняется в блоке 15 буферной памяти, причем, в зависимости от места отказа, неискаженная информация запи сана либо во вторую, либо в третью область блока 15 буферной паг/шти. Локализация места отказа выполня ется микропрограммным диагностическим тестом, которому передает управление микропрограмма обработки отказа. Диагностический тест выполняется путем передачи тестовой информации в первый 5 и второй 6 блоки локальной памяти, в первый 12 и второй 14 операционные блоки. Из блока 7 основной памяти считывается контрольная информация на первый 5 и второй 6 блоки локальной памяти. Результаты обработки этой информации в первом 12 и втором 14 операционных блоках раздельно подаются на входы блоков 32 и 43 сравнения. Этими блоками сравнения действительные результаты обработки данных в операционных блоках 12 и 14 сравниваются с ожидаемыми в результате тестирования (эталонными), которые подготавливаются блоком 31 памяти эталонов по кодам из формирователя 41 микроопераций. Результаты сравнения в блоках 32 и 43 сравнения накапливаютсзя регистрами 33 и 34 результатов теста. Весь диагностический тест состоит из ряда тестовых проверок, результат каждой из которых фиксируется отдельным разрядом регистров 33 и 44 результатов теста. После завершения выполне-. ния микропрограммы диагностического теста содержимое регистров результатов теста подается на информационные вход1л дешифраторов 34 и 45, на управляющие входы которых в это время подается управляющий сигнал с формирователя 41 микроопераций. При этом дешифратор исправного канала возбуждается, идентифицируя таким образом исправный канал, и его выходной сигнал через соответствующий элемент ИЛИ устанавливает триггер 28 управления в состояние, соответствующее исправному каналу. При этом передача обработанной информации осуществляется с исправного канала через кo нyтaтop 20 в буферный регистр 26. Предположим неисправность обнаружена в блоке 5 локальной памяти или в операционном блоке 12. При этом после выполнения микропрограммы обработки отказа срабатывает дешифратор 45 и через элемент ИЛИ 47 устанавливает триггер 28 управления в нулевое состояние. Формирователь 41 микроопераций формирует в регистре 9 адреса начальный адрес третьей области памяти блока 15 буферной памяти и возвращает управление микропрограмме обработки отказа. Если отказ обнаружен в блоке 6 локальной памяти или в операционном блоке 14, управление микропрограмме обработки отказа возвращается с предварительной установкой в . единичное состояние триггера 28 управления и установкой в регистре 9 адреса начального адреса второй области памяти блока 15 буферной памяти. После этого микропрограмма обработки отказа переписывает в операционные блоки 12 (14 ) и в блоки 5(6; локальной памяти информацию из той )Области памяти блока 15 буферной памяти, начальный адрес которой установлен в регистре 9 адреса. В результате этих операций элементы памяти исправных блоков устанавливаются в состояние, соответству ющее правильно выполняющейся обра;бот ке информации до возникновения отказ Элементы памяти неисправных блоков в работе процессора не участвуют. Пр завершении микропрограм ы обработки отказа сигналы микроопераций из формирователя 41 микроопераций считываю из первой области памяти блока 15 бу ферной памяти в регистр 9 адреса адрес, хранящийся там в момент o6Haipyжения отказа, и снимают блокировку записи в блоке 7 .основной памяти. В формирователь 39 адреса микрокоманд из блока 15 буферной памяти пересыла ется адрес микрокоманды, которая должна выполняться после обнаружения отказа, и обработка данных продолжается с того момента, в котором она была приостановлена обработкой отказ Далее процессор продолжает обрабатывать информацию в одноканальном режиме. После восстановления отказав шего канала все элементы процессора устанавливаются в начгшьное состояни и далее он функционирует в двухканальном режиме. Работа процессора во время повышенной нагрузки. Если число заявок в регистре 16 заявок больше критического, возбужда ется однаиз- выходных шин дешифратор 17 и этот сигнал через элемент ИЛИ 1 открытый сигналом микрооперации,элемент И 19 устанавливает в единичное состояние триггер 22 режима. Сигнал с единичного выхода триггера 22 режи ма открывает элемент И 13, поступает на элементы ИЛИ 27 и 29 и на вход формирователя 39 адреса микрокоманд. Сигнал с нулевого выхода триггера 22 режима открывает блоки 2 и 11 элементов И и закрывает блоки 1 и 10 элементов И и блок 38 сравнения,блокируя таким образом его работу на протяжении времени функционирования процессора во втором режиме. При этом старшие - разрядов операнда выполняемой команды из регистра 8 данных через блок 2 элементов И и блок 3 элементов ИЛИ записываются в блок 5 локальной памяти, а младшие разрядов операнда через блок 11 элементов И 11 и блок 4 элементов ИЛ записываются в блок 6 локальной памя ти. Таким образом, в блоках 5 и 6 ло кальной памяти хранится операнд полной длины, состоящий из m разрядов. При обработке этого операнда процессор функционирует в одноканальном режиме, в котором цепи переноса операционных блоков 12 и 14 соединены через открытый элемент И 13. После обработки информации в расширенном операционном блоке, состоящем из блоков 12 и 14, сигналами микроопераций результат перезаписывается либо в блоки 5 и 6 локальной памяти либо с выходов операционных блоков 12 и 14 через коммутатор 20 - в буферный регистр 26. С выхода буферного регистра 26 сигналами микроопераций информация перезаписывается в блок 7 ocHoBHof памяти. Далее следующий операнд считывается с блока 7 основной памяти в регистр 8 данных и с ним производится аналогичная обработка. После выполнения очередной микропрограммы (обслуживания очередной- заявки) формирователь 41 микроопераций выдает сигнал опроса -состояний регистра 16 заявок путем подачи микрооперации на вход элемента И 23 и элемента 21 задержки. Если число заявок в регистре 16 заявок больше критического, элемент И 23 закрыт и триггер 22 режима остается в прежнем состоянии. Процессор приступает к обработке следующей заявки, а сигнал микрооперации через элемент 21 задержки устанавливает регистр 16 заявок в нулевое состояние. Если при опросе регистра 16 заявок число заявок в нем меньше критического, сигнал микрооперации через элемент И 23 устанавливает триггер 22 режима в нулевое состояние. При этом блоки 2 и 11 элементов И и элемент И 13 закрываются, а блоки 1 и 10 элементов И открываются. Процессор переходит в двухканальный режим функционирования при , описанный выше. Если в процессоре во время функционирования в двухканальном режиме возникает отказ в одном из каналов, триггер отказа устанавливается в единичное состояние. При этом элемент И 19 закрывается по третьему входу и таким образом блокируется реакция процессора на число заявок в регистре 16 заявок. После восстановления отказа триггер 42 отказа сигналом микрооперации устанавливается в нулевое состояние, элемент И 19 при этом открывается. Следовательно, перестраиваеьый микропрограммный процессор существенно превосходит известное устройство по объему используемого оборудования . Использование предлагаемого процессора позволит повысить эффективность вычислительных систем, обслуживающих нестационарные потоки заявок, например, в автоматических системах коммутации.
Формула изобретения
1. Перестраиваемый микропрограммный процессор, содержащий первый и второй блоки локальной памяти, первый и второй операционные блоки, блок основной памяти, регистр адреса, регистр данных, блок буферной памяти, буферный регистр, коммутатор, триггер управления, блок памяти эталонов, первый, второй и третий блоки сравнения, первый и второй регистры результата, первый и второй дешифраторы, формирователь адреса микрокоманд, блок памяти микрокоманд, формирователь микроопераций, первый блок элементов И, регистр возврата, причем первый выход регистра данных соединен с первым входом регистра адреса, выход которого соединен с адресными входами блоков буферной и основной памяти, выход блока основной йамяти соединен с первым информационным входом регистра данных, второй выход которого соединен с входом кода операций формирователя адреса микрокоманд, первый и второй выходы коммутатора соединены соответственно с первыми, и вторыми входами буферного регистра, выход которого соединен с первыми информационными входами блоков буферной и основной памяти, выход первого блока элементов И соединен с входом регистра возврата, выход которого соединен с вторым информационным входом блока буферной памяти, выход микроопераций формирователя микроопераций соёдинен с первым управляющим входом коммутатора, с первым управляющим входом блока основной памяти, с управляющим входом регистра адреса, с управляющими входами первого и второго регистров результата, первого и второго дешифраторов, первого и второго блоков локальной памяти, первого и второго операционных блоков и первым управляющим входом блока буферной памяти, выход которого соединен с вторым информационным входом регистра данных, выход формирователя адреса микрокоманд соединен с входом блока памяти микрокоманд ис первыми входами первого блока элементов И, вторые входы которого соединены с управляющим входом формирователя адреса микрокоманд, выход блока памяти микрокоманд соединен с входом формирователя микроопераций, выходы адреса микрокоманд и адреса эталонов которого соединены соответственно с адресный входом формирователя адреса микрокоманд и с входом блока памяти эталонов выходы первого и второго блоков ло
кальной памяти соединены соответствено с информационными входами первого и второго операционных блоков, первые информационные выходы которых соединены с первыми информационными входами первого и второго блоков локальной памяти соответственно, второй информационный выход первого операционного блока соединен с первы информационным входом коммутатора и первыми входами первого и второго блоков сравнения, выход первого из которых соединен с информационным входом первого регистра результата, второй информационный выход второго операционного блока соединен с вторым информационным входом коммутатора, с вторым входом первого блока сравнения и с первым входом третьего блока сравнения, выход которого соединен с информационным входом второг регистра результата, выход блока памяти- эталонов соединен с вторыми входами второго и третьего блоков сравнения, выходы первого и второго регистров результата соединены с информационными входами первого и второго дешифраторов, отличающийся тем, что, с целью сокращения оборудования, в устройство введены второй третий, четвертый и пятый блоки элементов И, первый и второй блоки элементов ИЛИ, первый, второй, третий, четвертый и пятый элементы И, первый второй, третий, четвертый и пятый элементы ИЛИ,третий дешифратор, одновибратор, элемент задержки, регистр заявок, триггер режима и триггер отказа, причем выход первого блока сравнения соединен с единичным входо триггера отказа, единичный выход которого через одновибратор соединен с управляющим входом формирователя адреса микрокоманд и вторым управляющим входом блока основной памяти, нулевой выход триггера отказа соединен с первыми входами первого, второго и третьего элементов И, выход которого соединен с первым входом первого элемента ИЛИ,.выходы первого и второго дешифраторов соединены соответственно с первым входом второго элемента ИЛИ и вторым входом первого элемента ИЛИ, выходы которых соединены соответственно с единичным и нулевым входами триггера управления, выход микроопераций формирователя микроопераций соединен с нулевым входом триггера отказа, через элемент задержки - с установочным входом регистра заявок, вторым.входом первого элемента И, первым входом четвертого элемента И, первыми входами второго и третьего блоков элементов И, вторыми входами третьего и второго элементов И, выход которого соединен с вторым входом второго элемента ИЛИ, йходы заявок устройства соединены с информационньлли входами регистра заявок, выход которого соединен с входами третьего дешифратора, выходы дешифратора соединены с входами третьего элемента ИДИ, выход которого соединен с третьим входом первого элемента И и инверсным входом четвер того элемента И, выходы которых соединены соответственно с единичным и нулевым входами триггера режима, нулевой выход триггера режима соединен с управляющим входом первого блока сравнения, с вторыми входами второго и третьего блоков элементов И и инверсными входами четвертого и пятого блоков элементов и, выходы которых соединены соответственно с первыми входами первого и второго блоков эле ментов ИЛИ, единичный выход триггера режима соединен с первым входом пятого элемента И, вторым управляющим входом формирователя адреса микрокоманд и первыми входами третьего и четвертого элементов ИЛИ, выходы которых соединены соответственно с вто рым и третьим управлякидими входами коммутатора, единичный и нулевой выходы триггера управления соединены с вторыми входами третьего и четвертог элементов ИЛИ соответственно, второй выход регистра данных соединен с пря мыми входами четвертого и пятого бло ков элементов И и с третьими входами второго и третьего элементов И, выхо которого соединен с вторыми входами первого и второго блоков элементов ИЛИ, выход второго блока элементов И соединен с третьими входами первого второго блоков элементов ИЛИ, выходы которых соединены соответственно с вторыми информационными входами первого и второго блоков локальной памя ти, выход переноса первого операцион ного блока соединен с вторым входом пятого элемента И, выход которого соединен с входом переноса второго операционного блока. 2. Устройство по п.1, отлича ющее с я тем, что операционный блок содержит дешифратор, шифратор, первую и вторую группы элементов И,группу элементов 2И-ИЛИ, сумматор и регистр, причем управляющий вход операционного блока соединен с входо дешифратора, выход которого соединен с входом шифратора, выход шифратора .соединен с управляющими входами первой и второй групп элементов и, с управляющими .входами первой и второй групп входов группы элементов 2И-ИЛИ и с управляющим входом регистра, выход которого соединен с информационным входом первой группы входов группы элементов 2И-ИЛИ и информационными входами первой и второй групп элементов И, вы.чод1.а первой и второй групп элементов И являются первым и вторым информационными выходами операционного блока, информационный вход и вход переноса операционного блока соединены соответственно с информационным входом второй группы входов группы элементов 2И-ИЛИ и с входом переноса сумматора, выходы переноса и суммы которого соединены соответственно с выходом переноса операционного блока и информационным входом регистра, выход группы элементов 2И-ИЛИ соединен с информационным входом сумматора, 3,Устройство по п.1, отличающее с я тем, что формирователь адреса микрокоманд содержит регистр адреса микрокоманд, шифратор, группу элементов ИЛИ и сумматор по модулюдва, причем первый, второй управляющие входы, входы кода операции и адреса формирователя адреса микрокоманд соединены соответственно с входом шифратора, первым и вторым входами сумматора по модулю два и первым информационным входом регистра адреса микрокоманд, выход которого является выходом формирователя адреса микрокоманд, выходы шифратора и сумматора по модулю два соединены с входами группы элементов ИЛИ, выход которой соединен с вторым информационным входом регистра адреса микрокоманд. 4.Устройство по П.1, отличающееся тем, что формирователь микроопераций содержит регистр микрокоманд и. группу дешифраторов, причем вход формирователя микроопераций соединен с входом регистра микрокоманд, выходы которого соединены с входами дешифраторов, выходы дешифраторов соединены с выходом микроопераций и адреса эталонов формирователя, адресный выход регистра микрокоманд является выходом адреса микрокоманд формирователя микроопераций. Источники информации, принятые во внимание при экспертизе 1.Методы автоматического возврата к программе в вычислительной машине GOPRA. Экспресс-информация сер. Вычислительная техника, №20, 1978. 2.Патент США № 3848116, кл. 235-153ЛЕ, опублик. 1976. 3.Той В.Н. Проектирование отказоустойчивых местных процессоров для систем электронной коммутации,ТИИЭР, 1978, 10, с.26-47. 4.Лрторское свидетельство СССР 763902, кл. С, 06 F 15/00, 1980 (прототип).
Фи.2
название | год | авторы | номер документа |
---|---|---|---|
Микропрограммный процессор | 1981 |
|
SU980095A1 |
Микропрограммное устройство управления | 1982 |
|
SU1030801A1 |
Микропрограммное устройство управления с контролем | 1983 |
|
SU1136162A1 |
Устройство для управления восстановлением микропрограмм при сбоях | 1982 |
|
SU1056193A1 |
Микропрограммное устройство управления | 1980 |
|
SU935960A1 |
Микропрограммный процессор | 1982 |
|
SU1070557A1 |
Устройство адресации многопроцессорной вычислительной машины | 1983 |
|
SU1129613A1 |
Устройство для сопряжения эвм с абонентами | 1984 |
|
SU1215114A1 |
Устройство для обмена информацией | 1982 |
|
SU1070536A1 |
Микропрограммный процессор с самоконтролем | 1980 |
|
SU1007109A1 |
ФиеЗ
Фиг.б
фиг. 6
фаг 7
Авторы
Даты
1982-12-23—Публикация
1981-05-12—Подача