Устройство для сопряжения каналов ввода-вывода

Иллюстрации

Показать все

Реферат

 

Союз Советских

Социалистических

Республик

Q ll N C A . ° 1.

ИЗОБРЕТЕН ИЯ (6l) Дополнительное к авт, санд-ву (22} Заявлено10.04.75 (21} 2123906/24 с присоединением заявки ¹(23) Приоритет(43) Опубликовано25,OF,77 Б оллетень № 19 (51} М. Кл.

506 F Э/00

Государственный номитет

Совета Министра СССР не делам изобретений н открытий (53) УДК681.3(088.8) 1 (45} Дата опубликования описания 22.07. Э. В, Климов, Ю. A. Кэханов, lO. С. Ломова и A. А. Шульгин (72) Авторы изобретения (71) Заявитель (Ы) СтжйСтЬО ДЛЯ СОПГЯжкКИЯ

КАНАДОВ BBQQA RbIBQll.А

Изобретение относится к цифровым вычиопительным системам, B именно к устройствам управиениа основной памятью.

Известно устройство дна сопрыкения каналов ввода-вывода, содержащее после э доватепьно соединенные блок приоритета запросов каналов, блок формирования сигналов приема информации и бнэк управления (1).

Недостатком указанного устройства 0 авпяетса низкое быстродействие из-за большого количества конфликтов между каналами и прбцессором по основной памяти.

Известно также устройство для сопри- 1я ження каналов ": ввода-в recta, содер. .=.ашее последовательно соединенные блэк приоритета запросов каналов, элемент ИЛИ, шифратор и блок формирования сигналов приема янформадии> поспедоватепьно соеди»е»ные вход- 20 ные регистры адреса и данных, блэки буферной памяти адресов и данных, выходные регистры адреса и данных, блок управления памятью, первый блсж коммутации, связанный с блоками буферной памяти адресов 25 и даннь:х, подключенными ко второму блоку коммутации 21.

Блэк приоритета пэ эбрап е»«ю в ос»эвную память выставляет запросы к сээгветст вующим блокам памяти по мере освэбэжде»«я этих блоков, не дожидаясь някопле»ия четь.рех слов, »еэбхэдимых для послелэвагелънэгэ запуска Всех четырех лэгическ«х

:r ixc DB памяти GDg»DI o ка»яля. Так эй алгоритм эбрашения увеличивает прэстэи лог и-еских блоков памяти я кэл»честно кэ»флцктнь|х ситуаций между кя»ялами и процессором пэ эбраше»»ю к эснэв»эй памяти, чтэ з»ачигельнэ уменьшает быстродействие всей

3ВМ, Кроме тэгэ, ecлн ка»ял рабэгяет»я ввод информации в основ»ую память, тэ»е используется блэк буфера считываемой и»формации, если канал работает ня вывод и»формации из эс»эвнэй памяти, то»е используется блэк оуфера записываемой и»фэрмяции. Таким образом, для каждэг.о кэнкрет кого канала две ячейки его блэка буферя данных всегда простаивают.

С целью повыше»ия быстрэдейств«я устройства в него введены нэследэвят ль«э соединенные блок анализа занятости ячеек буферной памяти данных, блок формирования сигналов запроса и регистр управляющих признаков, блок приоритета конца массива

И ТРИГГЕР УПРЯВЛЕНИЯ ВЫХОД КОТОРОГО ПОД 5 кгпочен к блоку управления памятью, авхадк .Выходу блока формирования сигналов запро-.са, входы KoropDT соединены с входным регистром .адреса, шифратором, блоком пр - эритета конца массива и блоком анализа )0 занятости ячеек буферной памяти данных, входы которогэ подключены к выходам ка.— налов ввода-вывода, соединенных с входа= ми блока приоритета конца массива, выход которого связан с первым блэкэм коммута.== ции.

На фиг. 1 приведена блок-схема цифровэй вычислительной системы,* на фиг, 2 — структурная схема устройства для сопряжения каналов ввода-выв ода, 70

Цифровая вычислительная система содержит центральный вычислитель 1 (процессор), каналы ввода-вывода 2,3, и 4, устройствэ 5 для сопряжения каналов вводавывода, блок управления памятью.6, буферную память 7 процессора, блок 8 сопряжения с основной памятью (адаптер памяти) и основную память 9, разделенную на четыре логических блока памяти 10-13.

Устройство 5 для сопряжения каналов ввода-Вывода содержит блок 14 буферной памяти данных, блок 15 буфернсй памяти адресов, блок 16 приоритета запросов каналов, элемент ИЛИ 17, шифратор 18, регистр 19 считываемой в канал информации, входной регистр адреса 20, входной ретистр данных 21,, блок 22 анализа занятости ячеек буферной памяти данных второй блок коммутации 23, выходной регистр адреса 24, выходной регистр данных 25, блэк

26 формирования сигналов запроса, триггер управле ни я 2 7, регистр 28 управ ля ющ их признаков, первый блок кэммутации 29, блок

30 приоритета конца массива, блок 31 фор45 мир ования сигналов приема информации.

- Назначение и принципы работы процессора, каналов ввода-вывода и основной памяти достаточно хорошо известны и не требуют дополнительных пояснений. В цифровую вычис50 лительную систему включена буферная память 7 процессора объемом 8.192 байта.

Цикл работы буферной памяти равен машинному циклу. Обмен информацией между основной и буфернэй памятью ведется блока55 ми, содержащими четыре информационных слова, т.е, при любом обращении от процессора на чтение информации, если этой инфэр мации нет в буферной памяти процессора, из основной памяти считывается четыре ин60 формационных слова. Все эти четыре слова запоминаются в буферной намяли процессора, а одно из них (заърэшеннэе) отсылается в и р оцесс ор. Ос н ОВная память раб О1 Яет с четырехкратным чередованием (расслоением) .

Каналы ввода-вывода работают только с оснэвнэй памятью, С буферной памятью 7 работает тэльк о процесс ор.

Для уменьшения количества конфликтных ситуаций между каналами ввода-вывода и процессором по основной памяти в цифровую вычислительную систему введено устройство для сопряжения каналов ввода-вывода (буфер каналов) 5. При записи массива информации or канала ввода-вывода в основную память 9 буфер каналов 5 про. изводит накопление трех информационных слов От этэго канала„и KBK только DT канйля пэступяет ::э Гвертэе инфэрмяциэнное слово„-буфер . каналов выставляет в блэк управления памятью 6 запрос на запись всех четырех слов. Блок управления памятью 6 анализирует состояние блоков памяти 10-13 и, если соответствующие блэки памяти свэбодны, последовательно с интервалом равным машинному циклу запускает эти блоки. При этом информационные слова считываются из буфера каналов 5 и пересылаются в основную память 9.

Устройство работает следующим образом;

При чтении массива информации из основной памяти в каналы ввода-вывода по каждому запросу канала производится поиск запрошеннэй информации в буфере каналов. Если запрошенная информация находится в буфере каналов, то она считывается из него и передается в канал. Если запрошенной информации в буфере каналов нет, то формируется запрос к блоку управления памятью 6, и, если соответствующие блоки памяти свободны, через время, равное времени выработки памяти, производится чтение четырех информационных слов. Зти слова с интервалом равным машинному циклу передаются из основной памяти 9 через адаптеры памяти 8 в буфер каналов

5. Запрошенное каналом слово непосредственно передается в канал, а остальные три слова запоминаются в. буфере каналов. Информация по следующему запросу Dr этого же канала будет считываться уже из буфера кана- лов, если эта информация принадлежит тому же массиву. Таким образом, количество обращений в основную память эт каналов ввода-вывода, а след ов атель но, и к эличеств о к онфликтных ситуаций между и р оцесс ор ом и каналами по основной памяти уменьшается в четыре раза.

Подобный принцип реализации буфера каналов возможен. только для тех каналов, которые при передаче данных работают в мэнэпольнэм режиме (селектэрные и бл. к-.-иу U-"типлексные каналы). Однако мультиплекс, . и канал, который в режиме передачи данных м Ожет работать и не по пэследэва1 еш.,ны,r адресам, имеет значительноi меньшие cKo.-»

pocTH передачи данных и к эличеств э этих каналов в вычислительной системе Обычно, не превышает двух. Следовательно, отс.. гс-. -= вие буферизации для мультиплексногэ кана:== ла существенно не скажется на быстрэдсй== ствии вычислительной системы, Адаптеры памяти 8 предназначены для

;управления работой логических блоков и=-== мяти 10-13, обнаружения и коррекци1. . эшибок основной памяти, Считанная из oc== новной памяти информация через адаптеры памяти 8 передается в блок управления памятью 6 и буфер каналов 5, Информ l,rH.—: на запись от буфера капалэв в основную

lIBMHTb пеРедаетсЯ IBPB3 6IICK QHPавлеци,1 памятью.

Блок 14 буферной памяти данных (с;ь фиг. 2) предназначен для временного хранения данных, полученных от каналов вводавывода, до передачи их в блэк управлепия памятью 6, или данных, считанных из адаптеров памяти 8 и еще не переданных в канал, Весь блок буфернэй памяти данных разбит на буферные группы каналэв. Блок сс держит столько буферных групп, сколько кана- 30 лов ввода-вывода может быть максимально подключено к цифровой вычислительной СНсге- ме. Адрес буферной группы в блоке буферной

4 памяти данных определяется кодом номера со- ° ответствующего канала. Каждая буферная груп З5 па содержит четыре ячейки для хранения соответствующего информационного слова от канала. Адрес каждой ячейки буферной группы определяется двумя разрядами адреса основной памяти, полученными эт канала по шин- 4Э ным линиям 32. Эти два разряда определяют также адрес. слова в блоке из четырех слов, которые будут получены эт канала и помещены в блок буферной памяти данных.

Таким образом, если от седьм ого канапа 4> поступил запрос на запись третьего слова из какого-либо блока массива информации, то это слово будет помещено по адресу

И " (в двоичном кэде) блока буферной памяти данных.

Блэк 15 буферной памяти адресов предназначен для временного хранения адресов, полученных ol. каналов вводя-вывода, до net редачи их в блэк управления памятью 6. Crpv ктура блока буферной памяти адресов пэз55 вэляет обеспечить временное хранение однэгo адреснэгэ слова для каждог о канала. Таким образом, объем этого блока будет определяться максимальным числом подключаемых о( к а н 3 lr oÂ В В эд а-Ir hl f3 эд я, 3.

Указанные блоки должны работать с цик= пом равным (или меньшим) машинному циклу и могут быть реализованы на быстродействующих микросхемах памяти.

При обращении в основную память (блоки 10-13) на запись или чтение инфор..;Опии каналы ввода-вывода 2 и 3 выставля.от запросы по шинным линиям 33 и 34 в буфер каналов 5. Поскольку качалы работают асинхрîíí D относительн" друг-друга и по отношению к процессору, запросы от них.принимаются на блок

16 приоритета запросов каналов, Блок 16 огределяет старший из одновременно пришедших запросов, и через элемент ИЛИ 17 посылается в выбранный канал сигнал Считывание данных 110 шинной линии 35 или 36.

Пэ этому сигналу соответствующий канал

Выставляет адрес и данные на шинные ли; ".и 32. 37, 38 и 39, и сбрасывает запр-.:с по шинной линии 33 или 34. Параллельно с Вызовом адреса и данных от канала на шифраторе 18 формируется код номера канала, запрос которого выбран блоком приоритета 16. Адрес и данные от соответствующего канала принимаются на входные регистры 20 и 21 и сохраняются вместе с кодом на шифраторе 18 до получения результатов анализа принятых от канала данных и адреса в блоке 26 формирования сигнала запроса.

Предположим, чтэ канал ввода-вывода производит запись информации в память (единичный сигнал на линии 38), причем запись ведется в прямом направлении (т.е. в порядке возрастания адресов). Направление записи определяется кодом команды канала и передается в буфер каналов по шинной линии 39. Блок 26 формирования сиг налов запроса расшифровывает код в разрядах адреса, определяющих адрес слова в блоке обмена с памятыд на линии 40. Если этот код отличен от III, то принятое информационное слово записывается в соответствующую буферную группу по адресу, определяем эму вторым блоком к эммутации

23 и поступающему пэ линии 41 на первый адресный вход блока буферной памяти данных. Этот адрес формируется блоком 23 из кода на выходе шифратора 18 и кода адреса на линии 40. Адрес блока 15 буферной памяти адресов передается также по линии

41, но для адресации используется лишь та часть адреса, которая формируется шифратором 18. Одновременно с записью в блс ки 14 и 15 устанавливается триггер заняrocrH соответствующей:. -ячейки буферной группы и в канал выстявляетсл сигнал приема информации Но, линии 42 или 43, Этэт сигнал формируетсл в блоке 31.

559234 сива может оказаться не кратным четырем словам, В зтэм случае канал одновременно с последним запросом должен выставить о сигнал "Конец массива". При наличии етого сигнала канал обратится к основной памяти и перепишет оставшуюся в блоке буферной па мяти данных информацию в память. Такое сообщение передается от канала по шинной

1 линии 50 ипи 51 одновременно с запросом по шинной линии 33 ипи 34. В ответ на од запрос элемент ИЛИ 17 формирует сигнал считывания данных, который сбросит в канапе запрос по шинной линии 33 ипи 34 и конец массива шинной линии 50 ипи 51 и установит адрес шинной линии 32 и данные шинных линий 37 и 38. на выходной шине. Блок 30 формирует признак конца массива нв пинии 52. После приема данных и адреса нв входные регистры при щ наличии сигнала нв линии 52 блок 26 формирования сигналов запроса устанавливает код номера канала в регистре 28 управляющих признаков, запрос в основную пв

9 мять на триггер 27 и разрешает прием

25 данных и адреса с входных регистров 20 и 21 пэ линиям 44 и 45 нв выходные регистры 24 и 25. Обработка запроса а эт буфера каналов 5 в блоке управления памятью 6 и порядок счи:ывания информв36 пии из блока 14 буферной памяти внапо» эм- гичны эписанному выше, 7

Сигнал приема информации воспринимается каналом как конец обмена по данному запросу.

Если код на пиний 40 равен "П .", зт означает, что канал прислал последнее из четырех снов данного блока инфэрмации (т.е. в буфере каналов произошло накопление четырех информационных слов; трив буферной группе, четвертое - на входном регистре 21), В этом спучав принятые адрес и данные переписываются с вх ных регистров 20 и 21 на соответствующие выходные регистры 24 и 25 по пиниям 44 и 45. При этом блок 26 формирования сигналов запроса по пинии 46 устанавливает триггщ> управления 27, а ко номера кацапа и двухрвзрядный код адрес слова переписываются в регистр 28 управляющих признаков по линии 47. Блок уп рввпения памятью 6 в ответ на запрос выставпяет, .сигнал "Принято по линии

48, если блок памяти, к которому обращается буфер канапав, свободен. По сиги пу Принято первый бпок коммутации 2 производит считывание трех слов, накопленных в бпокв 14 буферной памяти данных, и передачу этих слов в блок управления памятью 6 с интервалом равным м шинному циклу Адрес этих опов в блоке определяется регистром 28 управляющих признаков, который через первый блок к мутации 29 формирует сигнапы по втэрэму адресному входу блока буферной памяти данных. Порядок считывания данных из бпока 14 определяется первым блоком коммутации 29.

Если канал ввода вывода производит запись информации в обратном направлении, т,е. в порядке убывания адресов (единичньг . сигнап на шинной пинии 39) и кэд адреса на пинии 40 этпичен от 00, то принятое информационное с.мвэ записывается в сээе ветствующую буферную группу по адресу, определяемому вторым блоком коммутации

23 и поступающему по линии 41 нв первый адресный вход блока 14. Если код адреса на линии 40 равен 00" то блок 22 внвпиза занятости ячеек буферной памяти данных формирует сигнал по пин м 49, который через блок 26 формирует запрос в блок управления памятью 6. Одновременно с формированием запроса производится передача адреса и данных с входных регистров 20 и 21 на сэо юетствующие выходные регистры 24 и 25 буфера каналов. В даль55 нейшем работа буфера каналов аналогична описанному выше.

В процесс записи массива информации от каналов ввода-вывода в основ цчэ па60 мять адрес последнего слова иэ этого мвоРассмотрим процесс чтения информации иэ основной памяти в канал ввода-вывода.

Процесс установки приоритета запроса и считывания данных и адреса эт квнапв не отличается QT описанного выше. После приема данных и адреса нв входные регистры блок 22 анализа занятости ячеек буферной памяти данных просматривает признак записи чтения нв линии 38.Еспи иа линии 38 ну» левой сигнал (кинал читает информацию из памяти) блок 22 анапизирувт состояние триггер св занятости всех четырехтячеек буферной группы соответствующего канала.

Еспп-.; запрашиваемая квнв во ом информация находится в блоке 14 буферной памяти дан»ных, что подтверждается единичным состоянием соответствующего триггера занятости, формируется адрес нв пинии 53 и первый блок коммутации 29 обеспечивает считывание атой информации в регистр 19 считываемой в канал информации и передачу ее в кацап по шинным-пиниям 54. При этом триггер занятости соответствующей ячейки буферной группы сбрасывается, В блоке

31 формирования сигналов приема информв ции с гэмэщью шифратора 18 формируется сигнал приема информации по шинной пинии

42 иди 43.

5 гп2 и

Если запрашиваемой каналом информации в блоке 14 буферной памяти данных нет (все четыре триггера занятости буферной группы этого канала сброшены), то блок 22 анализа занятости ячеек буфер5 ной памяти данных через блок 26 формирования сигналов запроса и триггер управления 27 посылает запрос в блэк управления 6 памятью нв чтение информации из основной памяти. Адрес, по которому канал !о читает информационное слово из памяти, передается с входного регистра адреса 20 по линии 44 на выходной регистр 24. Если соответствующий блок памяти свободен, то блок управления памятью 6 через адан- !5 теры памяти 8 производит пуск четырех блоков памяти нв чтение. Считанные из блоков памяти информационные слова последовательно, с интервалом равным машинному циклу передаются через адаптеры памяти 8 в буфер каналов 5 по линиям 55. Каждое информационное слово из адаптеров памяти 8 сопровождается соответствующим сигналом по линии 56. Второй блок коммутации 23 принимает сигнал сопровождения 25 считанной информации, Под управлением этого блока в соответствующую буферную группу канала, код которого хранится в регистре 28 управляющих признаков, записываются четыре информационных слова. Адрес слова, в группе и. четырех слов, определяется сигналами сопровождения по линии 56. Одновременно с записью информационных слов в блок 14 второй блок коммутации 23 устанавливает триггеры занятости для соответствующих ячеек буферной памяти данных. Причем триггер занятости ячейки, соответствующей запрошенному каналом информационному слову, не устанавливается. Это информационное слово считывается из блока 14 и передается в канал через регистр 19 считываемой в канал информации. Сигнал приема информации в канал 42 или 43 формируется в блоке 31 по коду номера канала, занисаннэму в регистре

28 управляющих признаков, Если канал ввода-вывода выставил запрос на чтение информации из памяти одновременно с концом массива по линиям 50 г или 51 в блоке 30 вырабатывается признак конца массива. Это означает, что данный канал заканчивает операцию чтения из данного массива информации. После приема адреса нв входной регистр 20 блэк 22 анализа занятости ячеек буферной памяти дан» ных определяет, имеется ли в соответствующей буферной группе информация. При наличии информации в блоке 14 блок 22 через первый блок коммутации 29 управляет передачей информации из блока 14 в регистр 19.го

10 (!!ифратэр j 8 через блок 31 ф.)pi<ирует сиг» нал ириема информации в канал. Одиэн! емэинэ с этим и блоке 22 сбрасыгактся все григE геры занятocTH ячеек для данной буф.риэй группы. Если информации и блоке 14 иет, тэ обычным путем формируется запрос к блэку управления памятью 6. Из адаптере памяти ирииимаются четыре информационных слэв; в блэк 14. Триггеры занятости ячеек соответствующей буферной группы при наличии признака конца массива в регистре 28 управляющих признаков не устанавпиваютс.я. - Требуемэе инфэрмационнэе слово передается в каиал.

Предлагаемое устройство для сопряжения каналов ввода-вывода позволяет уменьшить количество конфликтов между каналами и процессором по основной памяти и таким образом повысить быстродействие вычислительной системы.

Формула изобретения

Устройство для сопряжения каналов ввода-вывода, содержащее последовательно соединенные блок приоритета запросов ка - налов, алемент ИЛИ, шифратор и блэк фэрмирэввния сигналов приема информации, последовательно соединенные вхэдные pei истры адреса и данных, блоки буферной памяти адресов и данных,. выходные регистры адреса и данных, блок управления памятью, первый блок коммутации, связанный с блоками буферной памяти адресов и данных, подключенными ко втэрэму блоку коммутации, отличающееся тем,чтэ с целью повышения быстродействия устройства, оно содержит последовательно соединенные блок анализа занятости ячеек буферной памяти данных, блэк формирования сигчвлов запроса и регистр управляющих признаков, блок приоритета конца массива и триггер управления, BbixoQ кэтэрэгэ пэдключен к блоку управления памятью, в вхэдк выходу блока формирования сиг галэв запроса, входы которого соединены с входным регистром адреса, шифратором, блэкэм ири оритета конца массива и блоком líëëèýа занятости ячеек буферной памяти данных, входы которого подключены к выходам каналов ввода-вывода, соединенных с нхэда ми блэка приоритета конца массива, выхэа которого связан с первым блоком кэммутвции.

Источники информации принятые вэ внимание при акспертизе:

1. Патент США No. 3,376, 556, кл,34О172,5, опубл. 1968.

2. Патент С!1!А No 3,699,530, кл., 34017 2. 5, . эпубл. 1 97 2.

559234

Риа 1

Сост,витель Э. Горбачева

Редактор Т. Фадеева Техред A. Богдан Корректор Б. Kl ac

Заказ 1373/100 Тираж 818 -Подписное

ППИПГ1И Государственного комитета Совета Министров СССР по делам изобретений и открытий

113035 Москва, Ж-35, Раушская наб,,".д. 4/5

Филиал ППП "Патент", г. Ужгород, ул. Проектная, 4