Устройство для сопряжения оперативной памяти с внешними устройствами
Иллюстрации
Показать всеРеферат
ОП ИСАНИЕ
ИЗОБРЕТЕНИЯ
Союз Сааетскик
Социалистичесиик
Республик
It АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (61) Дополнительное к авт. свид-ву (22) Заявлено 0206.81 (21) 3311955/18-24 (И) М. КЛ.З
С 06 F 3/04 .
G 06 F 13/06 с присоединением заявки Мо
Госуддрстненный комнтет
СССР по делам нзобретеннй н открытнй (23) Приоритет (53) УДЦ 681. 325 (088;8) Опубликовано 3001.83. Бюллетень Йо 4
Дата опубликованкя описания 300183
М.A. Верига, В.И. Овсянников, и Т.Г. Шевченко (72) Авторы изобретения (71) Заявитель (54) УСТРОЙСТВО ДДЯ СОПРЯЖЕНИЯ ОПЕРАТИВНОИ ПАМЯТИ
С ВНЕШНИМИ УСТРОЙСТВАМИ
Изобретение относится к вычислительной технике и может быть использовано в однопроцессорных и многопроцессорных системах. 5 Известны устройства для сопряжения оперативной памяти (ОП) с внешними устройствами (ВУ1, содержащие блоки связи с,центральным процессором, оперативной памятью и внешними устрой- g ствами, блок модификации, регистры подканалов, информации, блок связи с местной памятью, блок выборки диагностических команд и информации, блох контроля, блок управления и блок определения места неисправности (.1 ).
Недостаток этих устройств заключается в низкой достоверности обработки информации.
Наиболее близким к предлагаемомупо технической сущности является устройство для сопряжения оперативной памяти с внешними устройствами, содержащее блоки связи.с центральным процессором и оперативной памятью, блоК микропрограммного управления, блок формирования адреса следующей .микрокоманды, регистр -контроля, блок управления эапросаии и два блока связи с внешними устройствами, первые и вторые входы-выходы которых соединены соответственно через информационные шины с первым входом-выходом блока связи с оперативной памятью, пятым входом операционного блока и интерфейсом ввода-вывода, а первые выходы — с четвертым входом операционного блока и первым входом блока связи с центральным процессором, вход-выход и первый выход которого соединены соответственно с шинами.. центрального процессора и через запросные шины команд с первым входом блока управления запросами, вторые и третьи входы которого подключены соответственно через .запросные шины к вторым выходам блоков связи с внешними устройствами, третьи выходы которых подключены к первому входу регистра контроля, выход которого соединен через шину ошибки с,вторым входом блока формирования адреса следующей мнкрокоманды, первый и третий входы которого соединены соответственно через шину запроса на обслуживание с первым и через шины фиксиро- . ванных адресов с.вторым выходом блока управления запросамн, а четвертый вход блока формирования адреса следующей мнкрокоманды соединен через адресные шины с первым выходом блока
993237 микропрограммного управления, первый и второй входы которого соединены через шины адреса приостановленной микропрограммы и шины адреса микрокоманды с одноименными выходами блока формирования адреса следующей микрокоманды, пятый вход которого через шины локальной памяти соединен с первым выходом операционного блока, первый и третий входы которого соединены через шины константы и шины занесения адреса соответственно с третьим и четвертыми выходами блока микропрограммного управления, а второй выход операционного блока подключен к входу блока связи с оперативной памятью, второй вход-выход
15 и выход которого соединены с шинами оперативной памяти, второй выход блока микропрограммного управления через управляющие шины соединен с нто рыми входами каналов операционного блока, четвертым входом блока управления запросами и вторым входом блока связи с центральным процессором, второй выход которого подключен к первым входам каналов блоков связи с 25 внешними устройствами (2 3.
Недостатком этого устройства является большой объем оборудования, затрачиваемый на контроль трактов записи и хранения информации в ло- Я) кальной памяти и контроля арифметико-логического тракта.
Цель изобретения — сокращение затрат оборудования для контроля трактов записи, хранения и обработки 35 информации.
Поставленная цель достигается тем, что н устройство, содержащее блок связи с центральным процессором,операционный блок, блок связи с оперативной памятью, блок микропрограммного управления, блок контроля, включающий регистр контроля, блок управления запросами, блок формирования адреса следующей микрокоманды и два блока связи с внешними устройствами, первые входы-выходы которых соединены с первым входом-выходом блока связи с оперативной памятью и первым входом операционного блока, вторые входы-выходы - с абонентскими входами.-выходами устройства, а первые выходы — с вторым входом операционного блока и первым входом блока связи с центральным процессором, вход-выход и первый выход которого соединены соответственно с входом-выходом процессора устройства и с первым входом блока управления запросами, второй.и третий входы которого соединены соответственно с вторыми вхо- Щ дами блоков связи с внешними устройствами, первые входы и .третьи выходы которых подключены соответственно к выходу блока связи с центральным процессором и первому входу регистра контроля, выход которого соединен с первым входом блока формирования адреса следующей микрокоманды, второй и третий входы которого соединены соответственно с первым и вторым выходами блока управления запросами, первый и второй выходы и четвертый вход — соответственно с первым и вторым входами и первым выходом блока микропрограммного управления, а пятый вход — с первым выходом операционного блока, второй выход которого соединен с входом блока связи с оперативной памятью, второй вход-выход и выход которого соединены соответственно с входом-выходом и входом оперативной памяти устройства, второй выход блока микропрограммного управления соединен с вторыми входами блоков связи с внешними устройствами, третьим входом операционного блока, четвертым входом блока управления запросами и вторым входом блока связи с центральным процессором, а третий и четвертые выходы — соответственно с четвертым и пятым входами операционного блока, введены блок выделения естественной адресации и блок сравнения, а в блок контроля два элемента И-НЕ, элемент И,элемент
И-ИЛИ и два триггера сбоя, причем первый вход первого триггера сбоя через первый элемент И-HE подключен к выходу блока сравнения, первый и второй входы которого соединены соответственно с первым и вторым выходами операционного блока, третий выход и шестой вход которого соединены соответственно с первым входом первого и выходом второго элементов И-НЕ, выход первого элемента И-НЕ подключен к первому входу второго триггера сбоя, первый вход второго элемента И-НЕ соединен с первым выходом блока управления запросами, выходы триггеров сбоя подключены соответственно к первому и второму входам элемента И-ИЛИ, выход которого подключен к второму входу регистра контроля, а третий и четвертый входы — к третьему выходу блока управления запросами, четвертый выход которого соединен с первым входом блока выделения естественной адресации, первый и второй выходы которого соединены соответственно с шестым и седьмым входами блока формирования адреса следующей микрокоманды, а второй вход — с вторыми входами триггеров сбоя, элемента И и второго элемента И-НЕ.
Блок выделения естественной адресации содержит группу элементон ИЛИ, элемент ИЛИ, группу элементов И, элемент И и элемент И-НЕ, причем ныход элемента И-НЕ подключен к первому выходу блока, а первый нход — к второму входу блока и первому входу
993237!
Операционный блок 2 предназначен для обработки информации, поступающей в устройство передачи данных из центрального процессора, оперативной памяти и блоков связи с Ву и хра- 65 элемента И, второй вход которого соединен с вторым входом элемента И-НЕ и выходом элемента ИЛИ, а выход — с вторым выходом блока, входы элемента
ИЛИ подключены к выходам соответствующих элементов И группы, входы которых соединены с выходами соответствующих элементов ИЛИ группы и соответствующей шиной первого входа,входы элементов ИЛИ группы подключены к первому входу блока. !О
На фиг. 1 представлена блок-схема устройства; на фиг. 2 — схема блока управления запросами; на фиг.З— схема блока формирования адреса следующей микрокоманды.
Устройство (фиг. 1) содержит блок
1 связи с центральным процессором, операционный блок 2, блок 3 связи с оперативной памятью, блок 4 микропрограммного управления, блок 5 управления запросами, блок 6 формирования адреса следующей микрокоманды, регистр 7 контроля, блоки (каналы)
8 и 9 связи с внешними устройствам, блок 10 выделения естественной адресации, блок 11 сравнения, элементы блока контроля: второй элемент ИНЕ 12, элемент И 13, первый элемент
И-НЕ 14, второй 15 и первый 16 триггеры сбоя и элемент И-ИЛИ 17. 30
На фиг..1 обозначены шины 18 входа-выхода процессора устройства, шины
19 входа-выхода и выхода оперативной памяти устройства, шины внутренних связей устройства: запросные шины 20 команд, информационные шины 21, управляющие шины 22, адресные шины 23, шины 24 константы, шины 25 признака результата, шины 26 ошибки, запросные шины 27 первого канала,запросные шины 28 второго канала, шины
29 локальной памяти, шины 30 микропрограммных приостановок, шина 31 .запроса на обслуживание, шины 32 фиксированных адресов, шина 33 номера канала, шина 34 естественной адре- 45 сации, шина 35 возврата, шины 36 адреса микрокоманды, шины 37 адреса приостановленной микропрограммы и шины 38 занесения адреса, а также шины (интерфейс ввода-вывода ) 39 абонентс- 50 кого входа-выхода устройства.
Блок 1 связи с центральным процессором служит для приема команд из центрального процессора, управления обработкой этих команд и передачи ин- 55 формации из устройства в процессор.
Блок 1 содержит (фиг. 1) регистр 40 команд, регистр 41 адреса ввода-вывода, дешифратор 32 и узел 43 конца. операции ввода-вывода. 60 нения промежуточных результатов ° Операционный блок 2.содержит (фиг. 1) арифметико-логический узел 44, первый регистр 45 входа, второй регистр
46 входа, локальную память 47, регистр 48 адреса локальной памяти, мультиплексор 49.
Блок 3 связи с оперативной памятью предназначен для обмена инфор- . мации между оперативной памятью и устройством. Блок 3 содержит (фиг.1 ) регистр 50 адреса данных оперативной памяти и регистр 51 данных оперативной памяти.
Блок 4 микропрограммного управления обеспечивает функционирование устройства в соответствии с заданными микропрограммами. Блок 4 содержит (фиг. 1) управляющую память 52, ре- гистр 53 возврата, регислр 54 адреса управляющей памяти, регистр 55 микрокоманд.
Регистр 7 контроля служит для фиксации неисправностей в оборудовании устройства и выработки запроса на прерывание по ошибке на шину 26 ошибки. Блоки 8 и 9 предназначены для обмена информацией между быстрыми внешними устройствами (магнитными дисками и магнитными лентами) и оперативной памятью. В качестве этих блоков могут быть либо селекторные либо блок-мультиплексные каналы ввода-вывода.
Блок 8 также, как и блок 9, содер" жит (фиг. 1) регистр 56 управления, узел 57 сопряжения с интерфейсом и буферный регистр 58 данных.
Блок 10 выделения естественной адресации служит для выработки сигналов либо естественной адресации — при формировании адреса следующей микрокоманды с использованием адресной части регистра 55 микрокоманд,либо сигнала возврата " при возвращении адреса прерванной микрокоманды из локальной памяти 47 в последней микрокоманде прерывающей микропрограммы.
Блок 10 содержит (фиг. 1) группу эле ментов ИЛИ 59 и 60, элемент ИЛИ 61, элементы И 62-64, элемент И 65 и элемент И-НЕ 66. Входы группы элементов ИЛИ 59 и 60 соединены с первым входом блока посредством шин 67.1 указывающих состояние триггеров при» чин,микропрограммных приостановок канала 8, и шин 67.2, указываницих состояние триггеров причин микропрограммных приостановок канала 9. Шина
67.3, указывающая состояние триггера приостановки, по инструкции ввода-вывода связана с входами элементов И 62-63. Блок 11 сравнения служит для сравнения информационного слова, считанного из локальной памяти 47 и содержимого первого регистра 45 входа. Блок 11 содержит элемен993237 ты 68.1-68.л сложения по модулю
2 -(где о определяется разрядностью локальной памяти 47 и соответственно регистра 45 ).
Блок 5 управления запросами (Фиг. 2) служит для выбора наиболее приоритетного запроса на микропрограмму обслуживания при одновременном возникновении запросов от двух каналов и запрета возникновения нескольких запросов на обслуживание G от одного канала. Блок 5 содержит дешифратор запросов, состоящий из элементов И 69-73 и элементов ИЛИ 74-75, элемент ИЛИ 76 суммарного запроса на прерывание, регистр причин преры- t5 вания, включающий триггеры 77-81 при-" чин, узел формирования номера канала, включающий элементв ИЛИ 82-86. и элементы И 87-90.
Блок б формирования адреса следующей микрокоманды Формирует адрес следующей микрокоманды при нормаль,ной работе устройства передачи данных, используя адресную часть регистра 55 микрокоманд, и формирует первый адрес прерывающей микропрограммы по запросу, выработанному блоком
5 управления запросами, или по запросу по ошибке из регистра 7 контроля.
Блок 6 содержит (фиг. 3) узел форми- о рования Фиксированных адресов, включающий элементы ИЛИ-НЕ 91 и элементы И 92-96, узел занесения адреса в регистр 53 возврата, включающий элементы И-ИЛИ 97.1-97.m (где m зависит от объема управляющей памяти
52 ), узел занесения адреса в регистр
54 адреса управляющей памяти, включающий элементы И-ИЛИ 98.1-98.m. устройство передачи данных 4О (Фиг. 1) работает следующим образом.
Операция ввода-вывода в устройст. ве начинается по инициативе центрального процессора (не показан), который„ выбрав из оперативной памяти ин- 45 струкцию ввода-вывода, содержащую код операции, адрес канала и внешнего устройства, выдает ее в устройство через шины 18. Адрес внешнего устройства поступает в регистр 41,а код операции через регистр 40 поступает на дешифратор 42, формирующий сигналы номера канала и запросов на выполнение инструкции ввода-вывода (на» чать ввод-вывод, остановить ввод-вывод, опросить ввод-вывод и др. ), поступающие через запросные шины 20 в блок 5 управления запросами. Все про цедуры в устройстве (в том числе и выполнение команд ввода-вывода) выполияются с помощью блока 4, управ- 6Î ляющая память 52 которого содержит набор микропрограмм, управляющих работой устройства.
Текущий адрес микропрограммы хранится в регистре 54. По содержимому регистра 54 и управляющей памяти 52 считывается микрокоманда, поступающая в регистр 55. Микрокоманда имеет три поля. Первое или управляющее поле, поступающее на управляющие шины 22, управляет работой всего устройства и содержит микрооперации, управляющие работой арифметико-логическим узлом, локальной памятью, каналами и т.д. Второе поле содержит константу, с помощью которой производится адресация к локальной памяти 47, выделение признаков и указателей и т.д., содержимое поля поступает через шины 24 в операционный блок 5. С помощью третьего поля микрокоманды формируется адрес следующей микрокоманды. Для этого содержимое этого поля через адресные шины 23 поступает через блок б в регистр 54. Сформированный описанным образом адрес микрокоманды называют естественным адресом. В каждом машинном такте блок 5 анализирует сигналы запросов, поступающие с запросных шин 20, 27 и 28. В случае, когда выполняется микропрограмма более низкого приоритета, чем установлен запрос на запросных шинах 20, 27, 28, то выполнение текущей микропрограммы прерывается, адрес следующей микрокоманды заносится в регистр 53, а в регистр 54 с помощью блока 6 заносится фиксированный адрес начала выполнения микропрограммы обслуживания причины прерывания. В первой же микрокоманде микропрограммы обслуживания причины прерывания содержимое регистра 53 заносится в локальную память 47 через шины 38 и мультиплексор 49. В последней микрокоманде микропрограммы обслуживания содержимое регистра 53, занесенное ранее в локальную память 47, считывается иэ нее и через шины 29, блок б заносится в регистр 54.
Таким образом, устройство, получив инструкцию ввода-вывода, формирует сигнал запроса на микропрограммную приостановку, поступающий в блок 5 через запросные шины 20 команд.
Если в данный момент выполняется менее приоритетная микропрограмма и нет одновременно пришедшего более приоритетного запроса от каналов
8 и 9, нежели запрос на инструкцию ввода-вывода, то адрес следующей микрокоманды, поступающей из регистра
55, заносится в регистр 53 через адресные шины, 23, блок 6, шины 37, а в регистр 54 заносится код адреса выполнения инструкции ввода-вывода через шины 36. Иикропрограмма, обслуживающая инструкцию ввода-вывода выполняет следующие действия:
993237
10 1 ) считывается текущее управляющее слово канала (подканала) иэ локальной памяти 47 и передается на первый входной регистр 45 арифметико-логического узла 44 и анализируется состояние канала (подканала).
Если канал (подканал ) занят, то микропрограмма устанавливает соответствующий код условия через управляющие шины 32 и узел 43 конца операции ввода-вывода, который поступает через 10 шины 18 центрального процессора в процессор. По сигналу кода условия процессор снимает инструкцию вводавывода с шин 18 и переходит к выборке и выполнению следующей инструкции. !5
Устройство после установки сигнала кода условия считывает (запомненный ранее в локальной памяти 47 ) адрес прерванной микропрограммы иэ локальной памяти и заносит его в регистр
54, как было описано выше, и прерванная (запросом на инструкцию вводавывода ) микропрограмма продолжается.
В случае, когда канал (подканал) свободен, то микррпрограмма переходит к пункту 2;
2 ) адрес внешнего устройства поступает из регистра 41 в узел 57.
Внешнее устройство подключается к каналу через узел 57, интерфейс ввода-вывода 39 и производится анализ его состояния с помощью операционного блока 2. Для этого состояние внешнего устройства считывается с интерфейса ввода-вывода 39, узел 57 и поступает через мультиплексор 49, локальную память 47 в арифметико-логический узел 44 ° В случае занятости внешнего устройства микропрограмма устанавливает соответствующий код условия и переходит к прерванной 40 микропрограмме, как описано в пункте 1;
3) в случае свободного канала и внешнего устройства из оперативной памяти считывается канальная программа-, состоящая иэ ряда управляющих слов канала. Для этого по содержимому регистра 50 производится обращение к памяти. Управляющее слово канала, содержащее всю управляющую 50 информацию (код операции, счетчик количества передаваемых байтов, адрес данных, специальные указатели и др.) для органиэации ввода-вывода, принимается в регистр 51 с шин 19. 55
Эта управляющая информация записывается в специальную область локальной памяти через мультиплексор 49 и называется текущим управляющим словом канала (подканала). Код операции по- 60 . ступает через узел 57 и интерфейс ввода-вывода 39 во внешнее устройство и операция передачи данных начинается в канале и во внешнем устройстве..После выполнения вышеуказанных действий устройство устанавливает соответствующий код условия и переходит к продолжению прерванной микро,программе как описано в пункте 1.
Рассмотрим передачу данных на примере выполнения операции считывания данных из внешнего устрОйства.
Байты данных, поступающие с интерфейса ввода-вывода 39, заносятся в. буферный регистр 58 канала 8. После накопления в буферном регистре 58 слова (двойного слова) в регистре
56 устанавливается запрос на передачу данных, который через запросные шины 27 поступает в блок 5.
Если в данный момент времени в устройстве не выполняется более приоритетной микропрограммы, то формируется сигнал запроса на микропрограммную приостановку, по которому в блоке 6 формируется фиксированный адрес микропрограммы передачи данных, поступающий в регистр 54, а в регистр 53 заносится адрес прерванной микропрограммы. Микропрограмма передачи данных выполняет следующие действия: а) из локальной памяти 47 считы вается текущее управляющее слова канала (подканала). Адрес данных, хранящийся в нем, передается через первый регистр 45 в регистр 50, а также модифицируется на количество передаваемых байтов через арифметико-логический узел 44 и заносится обратно в локальную памя|ь 47 через мультиплексор 49; б) слово (двойное слово) данных поступает через информационные шины
21 из буферного регистра 57 в регистр 51 и записывается в оперативную память по шинам 19; в) управляющее слово канала (нодканала ), считанное из локальной памяти 47, модифицируется с помощью арифметико-логического узла 44 и записывается на прежнее место в локальную память; г) содержимое регистра 54 восстанавливается из локальной памяти и прерванная микропрограмма продолжается. Выбор наиболее приоритетного запроса для обслуживания осуществля« ется посредством дешифратора запросов блока 5. Дешифратор запросов (фиг. 2) пропускает запрос на прерывание в соответствии со следующим установленным приоритетом прерываний: данные (элемент И 69, фиг. 2) канала 8; данные (элемент И 71, фиг. 2) канала 91 обслуживание состояния (элемент И 70) канала 8; обслуживание состояния (элемент И 72) канала 9 запрос на инструкцию ввода" вывода (элемент И 73).
Например, запрос на данные с запросных шин 21 от канала 8,появлявт993237
Устройство в режиме контроля работает следующим образом.
Если в текущий момент времени устройство не занято обслуживанием инструкций процессора или состояний
6$ ся на выходе элемента H 69 в случае, если в данный момент уже не выполняется микропрограмма данных любого канала или запрос на обслуживание состояния с запросных шин 28 от канала
9- появляется на выходе элемента И 72, когда нет одновременного запросов на данные от обоих каналов и запроса на обслуживание состояния от канала .8 и не выполняется микропрограмма
"Данные" или обслуживания состояния 1Î любого канала. С выхода дешифратора запрос поступает через элемент ИЛИ 76 на шину 31 и непосредственно на шины 32 фиксированных адресов. Регистр причин прерывания хранит гричину прерывания в течение выполнения всей прерывающей микропрограммы и сбрасывается в последней микрокоманде микропрограммы по сигналу с управляющих шин 22, причем каждому запро- 20 су соответствует свой триггер причины. Выходы триггеров 77-81 причин через элемент ИЛИ 86 и элементы И 8790 формирования номера канала поступают для указания номера работающего 25 канала по шине 33 номера канала и непосредственно на шины 30 микропрограммных приостановок для анализа числа ждущих в очереди приостановок.
Формированием адреса следующей микро- Зо команды управляет блок 6. Для этой цели он использует узел занесения адреса, который пропускает на шины
37 в регистр 53 либо естественный адрес с адресных шин 23, либо адрес прерванной микропрограммы из локальной памяти 47 с шнн 39, а в регистр
54 через шины 36 — либо указанные адреса, либо фиксированный адрес прерывающей микропрограммы. Фиксированный адрес заносится по сигналам запросов, поступающим иэ блока 5, или по сигналу запроса по ошибке, поступающего с шин 26. Э процессе выполнения операции ввода-вывода в устройстве информации (данные, управляющие .слова, адреса внешних устройств и т.д.), передаваемая между внешними устройствами, процессором и оперативной памятью, контролируется обычными способами при помощи корректи- - © рующих кодов, например кодов Хэммин " га. Эти виды контроля позволяют обнаруживать однократные ошибки (контроль на нечет) или корректировать однократные и обнаруживать двойные 55 (код Хэмминга ). Однако в процессе выполнения операции ввода-вывода информация перерабатывается при помощи арифметико-логического узла и хранится в локальной памяти 47. 60 каналов и не передает данных между оперативной памятью и внешним устройством, то оно выполняет микропрограмму периодического контроля. Запуск микропрограммы периодического контроля осуществляется всякий раз, когда блок 4 не занят обслуживанием инструкции, состояния или данных канала.
Для выделения указанной ситуации служит блок 10, на вход которого по шинам 30 поступают сигналы, указывающие на наличие запросов, обслуживаемых в данное время или стоящих в очереди на обработку. Сигналы на шинах 67.1, определяющие обслуживание данных и состояния от канала
8 (т.е. единичные состояния триггеров 77 и 78 причин прерывания блока 5), поступают на входы элемента
ИЛИ 59, а сигналы на шинах 67.2,указывающие на обслуживание данных и состояния канала 9 (т.е. единичные состояния триггеров 79, 80 причин прерывания ), поступают на входы элемента ИЛИ 60. Присутствие сигнала на шинах 67.3 (т.е. единичное состояние триггера 81) свидетельствует о наличии запроса. на обслуживание инструкции ввода-вывода. Одновременное присутствие, по крайней мере, двух из этих сигналов на шинах 30 через элементы И 62-64 вызывает появление высокого потенциала на выходе элемеыта ИЛИ 61, который поступает на входы элементов И-НЕ 66 и И 65. Управляющий сигнал с управляющих шин 22, поступающий на первые входы элементов
И-HE 66 и И 65, определяет последнюю микрокоманду микропрограммы о6служивания. Если он отсутствует, то через элемент И-НЕ бб на шину 34 выдается сигнал для формирования в блоке 6 естественного адреса следующей микрокоманды, используя адресную часть регистра 55.
Присутствие сигнала конца прерывающей микропрограммы на управляющих шинах 22 в зависимости от состояния выхода элемента ИЛИ 61 формирует адрес следующей микрокоманды двумя способами: если в очереди на обработку стоит еще, по крайней мере, один запрос (на выходе элемента ИЛИ 61 высокий потенциал), то через элементы И 65 выдается сигнал возврата на шину 35, по которому блок б формирует адрес микрокоманды микропрограммы, стоящей в очереди на обслуживание, т.е. пропускает адрес прерванной ранее. микропрограммы и считанной сейчас из локальной памяти 17 через шины 29 в регистр 54 адреса управляв щей памяти, если в очереди на обслуживание нет запросов (на выходе элемента ИЛИ 61 низкий потенциал ), то через элемент И-НЕ 66 выдается сиг14
993237
Формула изобретения
13 нал на шину. 34, по которому блок 6 формирует естественный адрес следующей микрокоманды с адресных шин 23, который в данном случае является начальным адресом микропрограммы периодического контроля.
Микропрограмма периодического контроля выполняет следующие действия: контролирует работу арифметико.логического узла 44 и регистров 45 и 46 устройства, контролирует правильность хранения информации в локальной памяти 47, а также работу мультиплексора 49 и регистра 48.
Для контроля арифметико-логического узла 44 в локальной памяти 47 отводится специальная ячейка (нуле- . вой адрес) . Контроль работы арифметико- логического узла 44 выполняется посредством задания полного набора функций, каждая из которых проверя.- 2О ется на различного вида операндах;
В случае искажения информации при передаче или в регистрах 45 и 46, а также при неверной работе арифметикологического узла 44 признак результата 25 через шины 25 и -эхемент И 13 устанавливает в единичное состояние триггер
15. Непосредственно. обработка ошиб-, ки производится прн включении одного из каналов.(выполнение инструкции, 3(} передачи данных и т.д.), при наличии признака работы одного из каналов на шине 33 единичное состояние триггера 15 переписывается через элемент И-ИЛИ 17 в регистр 7, вызывая З5 на шине 26 сигнал выхода в микропрограмму аппаратных ошибок. Блок 6 формирует начальный адрес микропрограммы обработки аппаратных ошибок, результатом рабой которой является 4р сообщение центральному процессору через узел 43 и шины 18 оперативной памяти информации об ошибке в устройстве передачи данных и приведение в исходное состояние операционного блока 2 и триггера 15 посредством управляющих шин 22; При нормальном завершении теста арифметико-логического узла микропрограмма периодического контроля переходит к проверкелокальной памяти 47, регистра 48 50 адреса локальной памяти и мультиплек=
„сора 49.
Контроль работы вышеперечисленных блоков осуществляется следующим образом: по содержимому регистра 48.счи55 тывается ячейка локальной памяти 47 и передается в первый регистр 45;..
После чего, используя арифметикологический узел 44, содержимое регистра 45 инвертируется и записывается на прежнее место в локальную память
47; в следующем машинном такте производится чтение локальной памяти и информация (т;е. занесенный инВерсный код) поступает на первый вход блока 11 сравнения, на второй вход которого поступает содержимое регистра 45 (т.е. прямого кода проверяемой ячейки локальной памяти) и производится сравнение; В случае верной работы локальной памяти, трактов занесения и регистра 45 на, выходе элемента И-НВ 14 отсутствует сигнал. В случае ошибки срабатывает. элемент И-HB 14, по которому устанавливается триггер 16. В этом же такте при чтении инверсной информации производится блокировка занесения ее в регистр 45, а содержимое регистра 45 -через арифметико-логический узел 14 записывается по статору адресу из регистра 48 обратно в ло-, кальную память 47. Таким образом, содержимое проверяемой ячейки восста" навливается.
Учитывая то обстоятельство, что прн контроле локальной памяти между записью инверсной информации проверяемой ячейки и ее восстановление: в локальной памяти могут возникать запросы на микропрограммную приостановку (запросы на инструкцию в/в, передача данных и т.д.) и, следовательно, при обработке приостановки в локальной памяти может остаться инверсная информация, то для исключения этой ситуации элемент И-НЕ 12 блокирует запись инверсного кода с регистра 45 в локальную память при наличии на шине 31 сигнала запросов на обслуживание.
После контроля ячейки локальной памяти микропрограмма периодического контроля модифицирует содержимое регистра 48 на +"1" и проверяется следующая ячейка и.т.д. до тех пор пока не будет проверена полностью локальная память.
В случае обнаружения ошибок локальной памяти процесс обработки аналогичен описанному вьые контролю арифметико-логического узла.
Если в процессе периодического контроля возникает запрос на микро- программную приостановку, то выполнение теста прекращается и выполня= ется микропрограмма обслуживания приостановки, после окончания которой производится выход на качало микропрограммы периодического контроля.
Та образом, устройство обеспе- . чивает обнаружение ошибок в трактах обработки и хранения информации при меньших по сравнению с прототипом затратах оборудования.
1. Устройство для сопряжения оперативной памяти с внешними устрой993237
ЗО ствами, содержащее блок связи с центральным процессором, операционный блок, блок связи с оперативной памятью, блок микропрограммного управления„ блок контроля, включающий регистр контроля, блок управления запросами, блок формирования адреса следующей микрокоманды и два блока связи с внешними устройствами, первые входы-выходы которых соединены с первым входом-выходом блока связи с oneративной памятью и первым входом oneрационного блока, вторые входы-выходы - с абонентскими входами-выходами устройства, а первые выходы — с вторым входом операционного блока и первым входом блока связи с центральным процессором, вход-выход и первый выход которого соединены соответственно с входом-выходом процессора устройства и с первым входом блока управления запросами, второй и третий входы которого соединены соответственно с вторыми входами блоков связи с внешними устройствами, первые входы и третьи выходы которых подключены соответственно к выходу блока связи с центральным процессором и первому входу регистра контроля, выход которого соединен с первым входом блока формирования адреса следующей микрокоманды, второй и третий входы которого соединены соответственного с первым и вторым выходами блока управления запросами, первый и второй выходы и четвертый вход — соответственно с первым и вторым входами и первым выходом блока микропрограммного управления, а пятый вход — с первым выходом операционного блока,второй выход которого соединен с входом блока связи с оперативной памятью, второй вход-выход и выход которого соединены соответственно с входомвыходом и выходом оперативной памяти устройства, второй выход блока микропрограммного управления соединен с вторыми входами блоков связи с внешними устройствами, третьим входом операционного блока, четвертым входом блока управления запросами и вторым входом блока связи с центральным процессором, а третий и четвертый выходы — соответственно с четвертым и пятым входами операционного блока, отличающееся тем, что, с целью сокращения затрат оборудования, в устройство введены блок выделения естественной адресации и блок
50 сравнения, а в блок контроля - два элемента И-НЕ, элемент И, элемент
И-ИЛИ и два триггера сбоя, причем первый вход первого триггера сбоя через первый элемент И-НЕ подключен к выходу блока сравнения, первый и второй входы которого соединены соответственно с первым и вторым выходами операционного блока, третий выход и шестой вход которого соединены соответственно с первым входом первого и выходом второго элементов И-НЕ, выход первого элемента И-НЕ подключен к первому входу второго триггера сбоя, первый вход второго элемента
И-НЕ соединен с первым выходом блока управления запросами, выходы триггеров сбоя подключены соответственно к первому и второму входам элемента
Й-ИЛИ, выход которого подключен к второму входу регистра контроля, а третий и четвертый входы — к третье.му выходу блока управления запросами, четвертый выход которого соединен с первым входом блока выделения естественной адресации, первый и второй выходы которого соединены соответственно с шестым и седьмым входами блока формирования адреса следующей микрокоманды, а второй вход — с вто-, рыми входами триггеров сбоя, элемента И и второго элемента И-НЕ, 2, Устройство по п. 1, о т л и ч а ю щ е е с я тем, что блок выделения естественной ащзесации содержит группу элементов ИЛИ, элемент
ИЛИ, группу элементов И, элемент И, элемент И-НЕ, причем выход элемента И-НЕ подключен к первому выходу блока, а первый вход — к второму входу блока и первому входу элемента
И, второй вход которого соединен с вторым входом элемента И-НЕ и входом элемента ИЛИ, а выход - с вторым выходом блока, входы элемента ИЛИ подключены к выходам соответствующих элементов И группы,входй которых соединены с выходами соответствующих элементов. ИЛИ группы и соответствующей шиной первого входа, входы элементов ИЛИ группы подключены к первому входу блока.
Источники информации, принятые во внимание при экспертизе
1. Авторское свидетельство СССР
9 516033, кл. G 06. F 3/04, 1974.
2. Патент США В 3651476, кл. 340-172.5, 1972 (прототип).
993237
Составитель В.Вертлиб
Редактор С. 0ско Техред М.Коштура Корректор М.Коста
Заказ 477/64 Тираж 704 Подписное
ВЯИИПИ Государственного комитета СССР по делам изобретений и открытий
13,3035, Москва, Ж-35, Раушская наб., д. 4/5
Филиал ППП "Патент", г. Ужгород, ул. Проектная, 4