Изобретение относится к вычислительной технике и может быть использовано в однопроцессорных и многопроцессорных системах.,
Известны устройства для сопряжения оперативнойпамяти (ОП) с внешними устройствамиДВУ}, содержащие блоки связи с, центральным процессором, оперативной памятью и внешними устройствами , блок модификации, регистры подканалов, информации, блок связи с местной памятью, блок выборки диагностических команд и информации, блок контроля, блок управления и блок определения места неисправности Cl .
Недостаток этих устройств заключается в низкой достоверности обработки информации. .
Наиболее близким к предлагаемому по технической сущности является устройство для сопряжения оперативной памяти с внешними устройствами, содержащее блоки связи-с центральным процессором и оперативной памятью, блok микропрограммного управления, блок формирования адреса следующей кткрокоманды, регистр контроля,блок управления запросами и два блока связи с внешйими устройствами, первые и вторые вхоя 1 выходы которых соединены соответственно через информационные шины с первым входом-выходом блока связи с оперативной пги«1ятью, пятым входом операционного блока и интерфейсом ввода-вывода, а первые выходы - с четвертым входом операционного блока и первым входом блока связи с центральнымпроцессором, вход-выход и первый выход которого
10 соединены соответственно с шинами центрального процессора и через запросные шины команд с первым входом блока управления запросами, вторые и третьи входы которого по цключены
15 соответственно через .запросные шины к вторым выходам блоков связи с внешникш устройствами, третьи выходы которых подключены к первому входу регистра контроля, выход которого сое20динен через шину ошибки с „вторым входом блока формирования адреса следующей микрокоманды, первый и третий входы которого соединены соответственно через шину запроса на обслужи25 вание с первым и через шины фиксированных адресов с вторялм выходом блока управления запросами, а четвертый вход блока формирования адреса следующей микрокоманды соединен через
30 адресные шины с первым выходом блока микропрограммного управления, первы и второй входы которого соединены через шины адреса приостановленной микропрограммы и шины адреса микрокоманды с одноименными выходами бло формирования адреса следующей микро команды, пятый вход которого через шины локальной памяти соединен с первым выходом операционного блока, первый и третий входы которого соединены через шины константы и шины занесения адреса соответственно с третьим и четвертыми выходами блока микропрограммного управления, а второй выход операционного блока подключен к входу блока связи с оперативной памятью, второй вход-выход и выход которого соединены с шинами оперативной.памяти, второй выход бло ка микропрограммного управления через управляющие шины соединен с вто рыми входами каналов операционного блока, четвертым входом блока управления запросами и вторым входом блока связи с центральным процессором, второй выход которого подключен к первым входам каналов блоков связи с внешними устройствами C2L Недостатком этого устройства является большой объем оборудования, затрачиваемый на контроль трактов записи и хранения информации в локальной памяти и контроля арифметико-логического тракта. Цель изобретения - сокращение затрат оборудования для контроля тра тов записи, хранения и обработки информации. Поставленная цель достигается тем что в устройство, содержащее блок связи с центральным процессором,операционный блок, блок связи с оперативной памятью, блок микропрограммно го управления, блок контроля, включа ющий регистр контроля, блок управления запросами, блок формирования адреса следующей микрокоманды и два блока связи с внешними устройствами первые входы-выходы которых соединены с первым входом-выходом блока свя зи с оперативной памятью и первым входом операционного блока, вторые входы-выходы - с абонентскими входамиг-выходами устройства, а первые выходы - с вторым входом операционного блока и первым входом блока связи с центральным процессором, вход-выход и первый выход которого соединены соответственно с входом-выходом процессора устройства и с первым входом блока управления запросами, второй и третий входы которого соединены соответственно с вторыми входами блоковСВЯЗИ с внешними устройствами, первые входы и .третьи выходы которых подключены соответственно к выходу блока связи с центральным про цессором и первому входу регистра контроля, выход которого соединен с первым входом блока формирования адреса следующей микрокоманды, второй и третий входы которого соединены соответственно с первым и вторым выходами блока управления запросами, первый и второй выходы и четвертый вход - соответственно с первым и вторым входами и первым выходом блока микропрограммного управления, а пятый вход - с первым выходом операционного блока, второй выход которого соединен с входом блока связи с оперативной памятью, второй вход-выход и выход которого соединены соответственнб с входом-выходом и входом оперативной памяти устройства, второй выход блока микропрограммного управления соединен с вторыми входами блоков связи с внешними устройствами, третьим входом операционного блока, четвертым входом блока управления запросами и вторым входом блока связи с центральньом процессором, а третий и четвертые выходы - соответственно с четвертым и пятым входами операционного блока, введены блок выделения естественной адресации и блок сравнения, а в блок контроля два элемента И-НЕ, элемент И,элемент И-ИЛИ и два триггера сбоя, причем первый вход первого триггера сбоя через первый элемент И-НЕ подключен . к выходу блока сравнения, первый и второй входы которого соединены соответственно с первым и вторым выходами операционного блока, третий выход и шестой вход которого соединены соответственно с первым входом первого и выходом второго элементов И-НЕ, выход первого элемента И-НЕ подключен к первому входу второго триггера сбоя, первый вход второго элемента И-НЕ соединен с первым выходом блока управления запросами, выходы триггеров сбоя подключены соответственно к первому и второму входам элемента И-ИЛИ7 выход которого подключен к второму входу регистра контроля, а третий и четвертый входы - к третьему выходу блока управления запросами, четвертый выход которого соединен с первым входом блока выделения естественной адресации, первый и второй выходы которого соединены соответственно с шестым и седьмым входами блока формирования адреса следующей микрокоманды, а второй вход - с вторыми входами триггеров сбоя, элемента И и второго элемента И-НЕ. Блок вьщеления естественной адресации содержит группу элементов ИЛИ, элемент ИЛИ, группу элементов И, элемент И и элемент И-НЕ, причем выход элемента И-НЕ подключен к первому выходу блока, а первый вход к второму входу блока и первому входу
элемента И, второй вход которого соединен с вторым входом элемента И-НЕ . и выходом элемента ИЛИ, а выход - с вторым выходом блока, входы элемента ИЛИ подключены к выходам соответствующих элементов И группы, входы которых соединены с выходами соответствующих элементов ИЛИ группы и соотЕ-зтствующей шиной первого входа,входы элементов ИЛИ группы подключены к первому входу блока.
На фиг, 1 представлена блок-схема устройства; на фиг. 2 - схема блока управления запросами; на фиг.З схема блока формирования адреса следующей микрокоманды.
Устройство (фиг. 1) содержит блок 1 связи с центральным процессором, . операционный блок 2, блок 3 связи с оперативной памятью, блок 4 микропрограммного управления, блок 5 управления запросами, блок б формирования адреса следующей микрокоманды, регистр 7 контроля, блоки (каналы) 8 и 9 связи с внешними устройствами блок 10 выделения естественной адресации, блок 11 сравнения, элементы блока контроля: второй элемент И- . НЕ 12, элемент И 13, первый элемент И-НЕ 14, второй 15 и первый 16 триггеры сбоя и элемент И-ИЛИ 17.
На фиг. 1 обозначены шины 18 входа-выхода процессора устройства,шины 19 входа-выхода и выхода оперативной памяти устройства, шины внутренних связей устройства: запросные шины 20 команд, информационные шины 21, управляющие шины 22, адресные шины 23, шины 24 константы, шины 25 признака результата, шины 26 сяиибки, запросные шины 27 первого канала,запросные шины 28 второго канала, шины 29 локальной памяти, шины 30 микропрограммных приостановок., шина 31 запроса на обслуживание, шины 32 фиксированных адресов, шина 33 номера канала, шина 34 естественной адресации, шина 35 возврата, шины 36 адреса микрокоманды, шины 37 адреса приостановленной микропрограмма и шины 38 занесения адреса, а также шины Синтерфейс ввода-вывода ) 39 абонентского входа-выхода устройства.
Блок 1 связи с центральным процессором служит для приема командиз центрального процессора, управления обработкой этих команд и передачи информации из устройства в процессор. Блок 1 содержит (фиг. 1) регистр 40 команд, регистр 41 адреса ввода-вывода, дешифратор 32 и узел 43 конца операции ввода-вывода.
Операционный блок 2 предназначен для обработки информации, поступаиощей в устройство передачи данных из центрального процессора, оперативной памяти и блоков связи с ВУ и хранения промежуточных результатов.Операционный блок 2 содержит (фиг. 1) арифметико-логический узел 44, первый регистр 45 входа, второй регистр 46 входа, локальную память 47, регистр 48 адреса локальной памяти, мультиплексор 49.
Блок 3 связи с оперативной памятью предназначен для обмена инфор- . мации между оперативной памятью и 0 устройством. Блок 3 содержит (фиг.1) регистр 50 адреса данных оперативной памяти и регистр 51 данных оперативной памяти.
Блок 4 микропрограммного управле5 ВИЯ обеспечивает функционирование устройства в соответствии с заданными микропрограммами. Блок 4 содержит (фиг. 1) управляющую память 52, регистр 53 возврата, регислр 54 адре0 са управляющей памяти, регистр 55 микрокоманд.
Регистр 7 контроля служит для фиксации неисправностей в оборудовании устройства и выработки запроса на 5 прерывание по ошибке на шину 26 ошибки. Блоки 8 и 9 предназначены для обмена информацией между быстрыми внешними устройствами (магнитными дисками и магнитными лентами) и оперативной памятью. В качестве этих блоков
0 могут быть либо селекторные, либо блок-мультиплечсные каналы ввода-вывода.
Блок 8 также, как и блок 9, содержит (фиг. 1) регистр 56 управления, узел 57 сопряжения с интерфейсом и буферный регистр 58 данных.
Блок 10 выделения естественной адресации служит для выработки сигна0 лов либо естественной адресации - при формировании адреса следующей микрокоманды с использованием адресной части регистра 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 и содержимого первого регист5 ра 45 входа. Блок 11 содержит элементы 68.1-68.n сложения по модулю 2 (где п определяется разрядностью локальной памяти 47 и соответственно регистра 45). Блок 5 управления запросами (фиг. 2) служит для выбора наиболее приоритетного запроса на микропрограгиму обслуживания при одновременном возникновении запросов от двух каналов и запрета возникновения нескольких запросов на обслуживание от одного канала,Елок 5 содержит дешифратор запросов, состоящий из элементов И 69-73 и элементов ИЛИ 74-75 элемент ИЛИ 76 суммарного запроса на прерывание, регистр причин прерывания, включающий триггеры 77-81 при чин, узел формирования номера канала, включающий элементв ИЛИ 82-86-и элементы И 87-90. Блок 6формирования адреса следующей микрокоманды формирует адрес I следующей микрокоманды при нормаль1 ной работе устройства передачи данных, используя адресную часть регист ра 55 микрокоманд, и формирует первый адрес прерывающей микропрограмьш.по запросу, выработанному блоком 5 управления запросами, или по запро су по ошибке из регистра 7 контроля Блок 6 содержит (фиг. 3) узел формирования фиксированных адресов, включающий элементы ИЛИ-НЕ 91 и элементы И 92-96, узел занесения адреса в регистр 53 возврата, включающий элементы И-ИЛИ 97.1-97.m (где m зависит от объема управляющей памяти 52 ), узел занесения адреса в регистр 54 адреса управляющей памяти, включающий элементы И-ИЛИ 98.1-98.ш. Устройство передачи данных Чфиг. 1) работает следующим образом. Операция ввода-вывода в устройст.ве.начинается по инициативе центргшь ного процессора (не показан), который. выбрав из оперативной памяти инструкцию ввода-вывода, содержащую код операции, адрес канала и внешнего устройства, выдает ее в устройство через шины 18. Адрес внешнего уст ройства поступает в регистр 41,а код операции через регистр 40 поступает на дешифратор 42, формирующий сигналы номера канала и запросов на выпол нение инструкции ввода-вывода (начать ввод-вывод, остановить ввод-вывод, опросить ввод-вывод и др., поступающие через запросные шины 20 в блок 5 управления запросами.. Все про цедуры в устройстве (в том числе и выполнение команд ввода-вывода) выполняются с помощью блока 4, управляющая память 52 которого содержит набор микропрограмм, управляющих работой устройства. Текущий адрес микропрограммы хранится в регистре 54. По содержимому регистра 54 и управляющей памяти 52 ,считывается микрокоманда, поступающая в регистр 55. Микрокоманда имеет три поля. Первое или управляющее поле, поступающее на управляющие шины 22, управляет работой всего устройства и содержит микрооперации, управлякицие работой арифметико-логическим узлом, локальной памятью, каналами и ж.д. Второе поле содержит константу, с помощью которой производится адресация к локальной памяти 47, выделение признаков и указателей и т.д., содержимое поля поступает через шины 24 в операционный блок 5. С помощью третьего поля микрокоманды формируется адрес следующей микрокоманды. Для этого содержимое этого поля через адресные шины 23 поступает через блок 6 в регистр 54. Сформированный описанным образом адрес микрокоманды называют естественным адресом. В каждом машинном такте блок 5 анализирует сигналы запросов, поступающие с запросных шин 20, 27 и 28. В случае, когда выполняется микропрограмма более низкого приоритета, чем установлен запрос на запросных шинах 20, 27, 28, то выполнение текущей микропрог1 амлол прерывается, адрес следующей микрокоманды заносится в регистр 53, а в регистр 54 с помощью блока 6 заносится фиксированный адрес начала выполнения микропрограммы обслуживания причины прерывания. В первой же микрокоманде микропрограммы .обслуживания причины прерывания содержимое регистра 53 заносится в локальную память 47 через шины 38 и мультиплексор 49. В последней леткрокоманде микропрограммы обслуживания содержимое регистра 53, занесенное ранее в локальную память 47, считывается из нее и через шины 29, блок 6 заносится в регистр 54. Таким образом, устройство, получив инструкцию ввода-вывода, формирует сигнал запроса на микропрограммную приостановку, поступающий в блок 5 через запросные шины 20 команд. Если в данный момент вьтолняется менее приоритетная микропрограмма и нет одновременно пришедшего более приоритетного запроса от каналов 8 и 9, нежели запрос на инструкцию ввода-вывода, то адрес следующей микрокс 1анды, поступающей из регистра 55, заносится в регистр 53 через адесные шины 23, блок 6, шины 37, а в егистр 54 заносится код адреса выолнения инструкции ввода-вывода чеез шины 36. Микропрограмма, обслужиающая инструкцию ввода-вывода выполняет следующие действия:
1 ) считывается текущее управляющее слово канала (подканала) из локальной- памяти 47 и передается на первый входной регистр 45 арифметико-логического узла 44 и анализируется состояние канала (подканала). ЕСЛИ канал (подканал занят, то микропрограмма устанавливает соответствующий код условия через управляющие шины 32 и узел 43 конца операции ввода-вывода, который поступает чере шины 18 центрального процессора в процессор. По сигналу кода условия процессор снимает инсгрукцию вводавывода с шин 18 и переходит к выборке и выполнению следующей инструкции Устройство после установки сигнала кода условия считывает (запомненный ранее в локальной памяти 47 j прерванной микропрограммы из локальной памяти и заносит его в регистр 54, как было описано выше, и прерванная (запросом на инструкцию вводавывода ) микропрограмма продолжается. Вслучае, когда канал (подканал) свободен, то микррпроз рамма переходит к пункту 2;
2 ) адрес внешнего устройства поступает из регистра 41 в узел 57. Внешнее устройство подключается к каналу через узел 57, интерфейс ввода-вывода 39 и производится анализ его состояния с помощью операционного блока 2. Для этого состояние внешнего устройства считывается с интерфейса ввода-вывода 3,9, узел 57 и поступает через мультиплексор 49, локальную память 47 в арифметико-логический узел 44. В случае занятости внешнего устройства микропрогрс1мма устанавливает соответствующий код, условия и переходит к прерванной микропрограмме, как описано в пункте 1 ;.
3) в случае свободного канала и внепнего устройства из оперативной памяти считывается канальная программа, состоящая из ряда управляющих слов канала. Для этого по Содержимому регистра 50 производится обращение к памяти. Управляющее слово каналаf содержащее всю управляющую информацию (код операции, счетчик количества передаваемых байтов, адрес данных, специальные указатели и др.) для организации ввода-вывода, принимается в регистр 51 с шин 19. Эта управляющая информация записывается в специальную область локальной памяти через мультиплексор 49 и называется текущим управляющим словом канс1ла (подканала). Код операции поступает через узел 57 и интерфейс ввода-вывода 39 во внвинее устройство и операция передачи данных начинается в канале и во внешнем устройстве. После выполнения вьриеуказанньЬ
действий устройство устанавливает соответствующий код условия и переходит к продолжению прерванной микро.программе как описано в пункте 1. Рассмотрим передачу данных на
примере выполнения операции считывания данных из внешнего устройства. Байты данных, поступающие с интерфейса ввода-вывода 39, заносятся в. буферный регистр 58 канала 8. После
0 накопления в буферном регистре 58 слова (двойного слова в регистре 56 устанавливается запрос на передачу данных, который через запросные шины 27 поступает в блок 5.
5 Если в данный момент времени в устройстве не выполняется более приоритетной микропрограммы, то формируется сигнал запроса на микропрограммную приостановку, по которому
0 в блоке б формируется фиксированный адрес микропрограммы п ередачи данных, поступающий в регистр 54, а в регистр 53 заносится адрес прерванной микропрограммы. Микропрограмма пере5 дачи данных выполняет следующие действия:
а)из локальной памяти 47 считы вается текущее управляющее слова канала (подканала). Адрес данных, хра0 нящийся в нем, передается через первый регистр 45 в регистр 50, а также модифицируется на количество передаваемых байтов через арифметико-логический узел 44 и заносится обратно
в локальную память 47 через мультиплексор 49;
б)слово (двойное слово) данных поступает через информационные шины 21 из буферного регистра 57 в регистр 51 и записывается в оператив ную память по шинам 19/
в)управляющее слово канала (подканала ), считанное из локальной памяти- 47, модифицируется с помощью арифметико-логического узла 44 и за5 писывается на прежнее место в локальную память; г)содержимое регистра 54 восстанавливается из локальной памяти и прерванная микропрограмма продолжа0 ется. Шлбор наиболее приоритетного запроса для обслуживания осуществляется посредством дешифратора запросов блока 5. Дешифратор запросов (фиг. 2) пропускает запрос на npejM5 вание в соответствии со следующим установленным приоритетом прерываний: данные (элемент И 69,фиг, 2) канала 8; данные (элемент И 71, фиг. 2) канала 9 обслуживание состояния (элемент И 70) канала 8; обслуживание состояния (элемент И 72) канала 9; запрос на инструкцию вводавывода (элемент И 73)..
Например, запрос на данные с запросных шин 2f от канала 8 появля.втся на выходе элемента И 69 в случае, если в данный момент уже не выполняется микропрограмма данных любого ка нала или запрос на обслуживание состояния с запросных шин 28 от канала 9 появляется на выходе элемента И 72 когда нет одновременного запросов на данные от обоих каналов и запроса на обслуживание состояния от канала ,8 и не выполняется микропрограмма Данные или обслуживания состояния любого канала, С выхода дешифратора запрос поступает через элемент ИЛИ 7. на шину 31 и непосредственно на шины 32 фиксированных адресов. Регистр причин прерывания хранит причину прерывания в течение выполнения всей прерывающей микропрограммы и сбрасывается в последней микрокоманде микропрограммы по сигналу с управ ляющих шин 22, причем каждому запросу соответствует свой триггер причины. Выходы триггеров 77-81 причин через элемент ИЛИ 86 и элементы И 87 90 формирования номера канала поступают для указания номера работающего канала по шине 33 номера канала и не посредственно на шины 30 микропрограммных приостановок для анализа числа ждущих в очереди приостановок. Формированием адре.са следующей микро команды управляет блок б. Для этой цели он использует узел занесения адреса, который пропускает на шины 37 в регистр 53 либо естественный адрес с адресных шин 23, либо адрес прерванной микропрограммы из локальной памяти 47 с шин 39, а в регистр 54 через шины 36 - либо указанные ад реса, либо фиксированный адрес прерывающей микропрограммы. Фиксироэанный адрес заносится по сигналам запросов, поступающим из блока 5, или по сигналу запроса по ошибке, поступающего с шин 26. В процессе выполнения операции ввода-вывода в устрой стве информации (данные, управляющие .,слова, адреса внешних устройств и т.д.), передаваемая между внешними устройствами, процессором и оперативной памятью, контролируется обычными способами при помощи корректирующих кодов, например кодов Хэмминг га. Эти виды контроля позволяют обна руживать однократные оиибки (контроль на нечет) или корректировать однократные и обнаруживать двойные (код Хэмминга). Однако в процессе выполнения операции ввода-вывода информация перерабатывается при помощи, арифметико-логического узла и хранится в локальной памяти 47. Устройство в режиме контроля работает следующим образом. Если в текущий момент времени устройство не занято обслуживанием инструкций процессора или состояний каналов и не передает данных между оперативной памятью и внешним устройством, то оно выполняет микропрограмму периодического контроля. Запуск микропрогра(лы периодического контроля осуществляется всякий раз, когда блок 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, поступающий на первые входы элементов 66 и И 65, определяет последнюю микрокоманду микропрограммы обслуживания. Если он отсутствует, то через элемент И-НЕ 66 на шину 34 выдается сигнал для формирования в блоке 6 естественного адреса следующей микрокоманды, используя адресную часть регистра 55. Присутствие сигнала конца прерывающей микропрограммы на управляющих шинах 22 в зависимости от состояния выхода элемента ИЛИ 61 формирует адрес следующей микрокоманды двумя способами: если в очереди на обработку стоит еще, по крайней мере,один запрос.(на выходе элемента или 61 высокий потенциал, то через элементы И 65 выдается сигнал возврата на шину 35, по которому блок 6 формирует адрес микрокоманды микропрограм1ча, стоящей в очереди на обслуживание, т.е. пропускает адрес прерванной ранее -микропрограммы и считанной сейчас из локальной памяти 17 через шины 29 в регистр 54 адреса управляю щей памяти; если в очереди на обслуживание нет запросов (на выходе элемента ИЛИ 61 низкий потенциал), то через элемент И-НЕ 66 выдается сигнал на шину. 34, по которому блок 6 формирует естественный адрес следую;вдей микрокоманды с адресных шин 23, который в данном случае является начальным адресом микропрограммы периодического контроля. Микропрограмма периодического контроля выполняет следующие дей. контролирует работу арифметико.логического узла 44 и регистров 45 и 46 устройства; контролирует правильность хранения информации в локальной памяти 47, атакже работу мультиплексора 49 и регистра 48. Для контроля арифметико-логического узла 44 в локальной памяти 47 отводится специальная ячейка (нулевой адрес). Контроль работы арифмети ко-логического узла 44 выполняется посредством задания полного набора функций, каждая из которых проверяется на различного вида операндах. В случае искажения информации при пе редаче или в регистрах 45 и 46, а также при неверной работе арифметико, логического узла 44 признак результат через шины 25 и элемент И 13 устанав ливает в единичное состояние триггер 15. Непосредственной обработка ошиб ки производится при включении одного из каналов(выполнение инструкции, передачи данных и т.д.), при наличии признака работы одного из каналов на шине 33 единичное состоя-ние триггера 15 переписывается через элемент И-ИЛИ 17 в регистр 7, вызыва на шине 26 сигнал выхода в микропрограмму аппаратных сшибок. Блок 6 фор мирует начальный адрес микропрограм мы обработки аппаратных ошибок, результатом работы которой является сообщение центральному процессору через узел 43 и шины 18 оперативной памяти информации об ошибке в устрой стве передачи данных и приведение в исходное состояние операционного блока 2 и триггера 15 посредством управляющих шин 22. При нормальном завершении теста а{ ифметико-логического узла микропрограмма периодического контроля переходит к проверке локальной памяти 47, регистра 48 адреса локальной памяти и мультиплек 49. Контроль работы вышеперечисленны блоков осуществляется следующим образом: по содержимому регистра 48сч тывается ячейка локальной памяти 47 и передается в первый регистр 45.-. После чего, используя арифметикологический узел 44, содержимое реги стра 45 инвеЕ тируется и записываетс на прежнее место в локальную память 47; в следующем машинном такте производится чтение локальной памяти и информация (т;е. занесенный инверсный код) поступает на первый вход блока 11 сравнения, на второй вход которого поступает содержимое регистра 45 (т.е. прямого кода проверяемой ячейки локальной памяти) и производится сравнение-. В случае верной работы локешьной памяти, трактов занесения и регистра 45 на , выходе элемента И-НЕ 14 отсутствует сигнал. В случае ошибки срабатывает элемент И-НЕ 14, по которому устанавливается триггер 16. В этом же такте при чтении инверсной информации производится блокировка занесения ее в регистр 45, а содержимое регистра 45 через арифметико-логический узел 14 записывается по статору адресу из регистра 48 обратно в локальную память 47. Таким образом, содержимое проверяемой ячейки восстанавливается. Учитывая то обстоятельство, что при контроле локальной па14яти между записью инверсной информации проверяемой ячейки и ее восстановление ; в локальной памяти могут возникать запросы на микропрограммную приостановку (запросы на инструкцию в/в, передача данных и т.д.) и, следовательно, при обработке приостановки в локальной памяти может остаться инверсная информация, то для исклю чения этой ситуации элемент И-НЕ 12 блокирует запись инверсного кода с регистра, 45 в локальную память при наличии на шине 31 сигнала за(просов на обслуживание. , После контроля ячейки локальной памяти микропрограмма периодического контроля модифицирует содержимое регистра 48 на и проверяется следукицая ячейка и: т.д. до тех пор пока не будет проверена полностью локальная пс1мять. в случае обнаружения ошибок локальной памяти процесс обработки аналогичен описанному вьхпе контролю арифметико-логического узла. Если в процессе периодического контроля возникает запрос на микропрограммную приостановку, то выполнение теста прекращается и выполня-ется микропрограмма обслуживания приостановки, после окончания которой производится выход на начало микропрограммы период1 ческого .контроля . Таким образом, устройство обеспечивает обнаружение ошибок в трактах обработки к хранения информации при меньших по сравнению с прототипом затратах оборудования. Формула изобретения 1. Устройство для сопряжения оперативной памяти с внешними устройствами, содержащее блок связи с центральным процессором, операционный блок, блок связи с оперативной памятью, блок микропрограммного управления, блок контроля, включающий регистр контроля, блок управления за просами f блок формирования адреса следующей микрокоманды и два блока связи с внешними устройствами, первы входы-выходы которых соединены с пер вым входом-выходом блока связи с one ративной памятью и первым входом опе рационного блока, вторые входы-выходы - с абонентскими входами-выходами устройства, а первые выходы - с вторым входом операционного блока и пер вым входом блока связи с центральным процессором, вход-выход и первый выход которого соединены соответственно с входом-выходом процессора устройства и с первым входом блока управления запросами, второй и третий входы которого соединены соответственно с вторыми входами блоков связи с внешними устройствами, первые входы и третьи выходы которых подключены соответственно к выходу блока свя зи с центральным процессором и первому входу регистра контроля, выход которого соединен с первым входом блока формирования адреса следующей микрокоманды, второй и третий входы которого соединены соответственного с первым и вторым выходами блока управления запросами, первый и второй выходы л четвертый вход - соответственно с первым и вторым входами и первым выходом блока микропрограммно го управления, а пятый вход - с первым выходом операционного блока,второй выход которого соединен с входом блока связи с оперативной памятью, второй вход-выход и выход которого соединены соответственно с входомвыходом и выходом оперативной памяти устройства, второй выход блока микро программного управления соединен с вторыми входами блоков связи с внешними устройствами, третьим входом операционного блока, четвертым входОм блока управления запросами и вто рым входом блока связи с центральным процессором, а третий и четвертый вы ходы - соответственно с четвертым и пятым входами операционного блока, отличающееся тем, что, с целью сокращения затрат оборудования, в устройство введены блок выдепения естественной адресации и блок сравнения, а в блок контроля - два элемента И-Н-Е, элемент И, элемент И-ИЛИ и два триггера сбоя причем первый вход первого триггера сбоя через первый элемент И-НЕ подключен к выходу блока сравнения, первый и второй входы которого соединены соответственно с первым и вторым выходами операционного блока, третий выход и шестой вход которого соединены соответственно с первым входом первого и выходом второго элементов И-НЕ, выход первого элемента И-НЕ подключен к первому входу второго триггера сбоя, первый вход второго элемента И-НЕ соединен с первым выходом блока управления запросами, выходы триггеров сбоя подключены соответственно к первому и второму входам элемента И-ИЛИ, выход которого подключен к второму входу регистра контроля, а третий и четвертый входа - к третьему выходу блока управления запросами, четвертый выход которого соединен с первым входом блока выделения естественной адресации, первый и второй выход: которого соединены соответственно с шестым и седьмым входами блока формирования адреса следующей микрокоманды, а второй вход - с втог рыми входами триггеров сбоя, элемента И и второго элемента И-НЕ. 2. Устройство по п. 1, отличающееся тем, что блок выделения естественной адресации содержит группу элементов ИЛИ, элемент ИЛИ, группу элементов И, элемент И, элемент И-НЕ, причем выход элемента И-НЕ подключен к первому выходу блока, а первый вход - к второму входу блока и первому входу элемента И, второй вход которого соединен с вторым входом элемента И-НЕ и входом элемента ИЛИ, а выход - с вторым выходом блока, входы элемента ИЛИ подключены к выходам соответствующих элементов И группы,входы которых соединеныс выходами соответствующих элементов ИЛИ группы и соответствующей шиной первого входа, входы элементов ИЛИ группы подключены к первому входу блока. Источники информации, принятые во внимание при экспертизе 1.Авторское свидетельство СССР 516033, кл. G Об F 3/04, 1974. 2.Патент ОНА 3651476, 101, 340-172,5, 1972 (прототип).
18
X
название | год | авторы | номер документа |
---|---|---|---|
Процессор ввода-вывода | 1979 |
|
SU798782A1 |
Процессор ввода-вывода с коррек-циЕй ОшибОК | 1979 |
|
SU849221A1 |
Устройство для управления каналами | 1974 |
|
SU520592A1 |
Микропрограммное устройство для управления каналами ЭВМ | 1982 |
|
SU1068938A1 |
Устройство для управления каналами | 1979 |
|
SU877519A1 |
Устройство для сопряжения периферийных устройств с процессором и оперативной памятью | 1983 |
|
SU1156084A1 |
Процессор | 1984 |
|
SU1246108A1 |
Устройство для управления каналами | 1984 |
|
SU1372329A2 |
Мультиплексный канал | 1984 |
|
SU1167613A1 |
Мультиплексный канал | 1980 |
|
SU964620A1 |
cftuz.Z
ЗУ 3
|3t
JL 31
ЭЗ
S
95
«I
7I
37
d&I
3&Z
sian
Фиг.З
Авторы
Даты
1983-01-30—Публикация
1981-06-02—Подача