Устройство для ввода-вывода информации
Иллюстрации
Показать всеРеферат
О П И С А Н И Е,955008
ИЗОБРЕТЕН ИЯ
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ
Союз Саветскик
Социалистических
Республик (6l ) Дополнительное к авт. саид-ву(51)lVL. Кл.
G 06 F 3/1)0 (22) Заявлено 14. 11.80 (21) 3004622/18-24 с присоединением заявки № (23) Приоритет
Гаеуааястеенный KohlNQT
СССР ив делам «забретеннй и открытнй
Опубликовано 30.08.82. Бктллетень №32
Дата опубликования описания 30.08.82 (53) УДК681.327 ,11 (088.8) (72) Авторы изобретения
П.И.Погребецкий, Э,С.Демуров и Э.А.Саак
Всесоюзный научно-исследовательский инс автоматизации средств метрологии (71) Заявитель (54) УСТРОЙСТВО ДЛЯ ВВОДА-ВЫВОДА
ИНФОРМАЦИИ
Изобретение относится к вычислительной технике и может быть использовано в системах обработки данных для обмена случайными потоками сообщений между различными устройствами.
Известно устройство для буферизации данных, построенное на групповых регистрах сдвига, в котором в процессе приема, хранения и выдачи информации происходит ее пространственное перемещение. Подобная структура оправдана лишь при малом (до нескольких десятков слов)объеме буферной памяти, что снижает функ" циональные возможности устройства.
C увеличением объема буферной памяти резко возрастают аппаратурные затраты и понижается надежность (1).
Наиболее близким к предлагаемому zo является устройство для сопряжения блоков памяти, содержащее накопитель (блок памяти с произвольным доступом ), шины записи и считывания, подключенные к входам формирователей записи, считывания и стыдоба, элементы НЕ, три элемента И и элемент
ИЛИ, соединенные через второй элемент И с первым элементом И, а через третий элемент И - с одним из форми.рователей строба, формирователем считывания и элементом НЕ, выход которого подключен к одним из входов первого и второго элементов И, другие входы которых подключены соответственно к выходам формирс вателей строба и записи, выход элемента ИЛИ и первого элемента И соединены с соответствующими входами накопителя (2).
Недостатками известного устройства являются невысокая надежность и невысокое быстродействие. Действительно, если в устройство в процессе записи поступит синхроимпульс вывода информации из той же ячейки, который, обладая высшим приоритетом, прервет операцию записи, то на выхо-, де устройства сформируется непредска3 . 95500 зуемый код. Необходимо отметить, что в этом устройстве вообще отсутствуют средства для диагностики особых ситуаций, таких как "Буфер пуст" и.
"Буфер заполнен", что, как правило, приводит к искажению передаваемой информации.
Невысокое быстродействие обусловливается следующими факторами. В отсутствие синхроимпульсов ввода-выво-10 да указанное устройство простаивает °
Это обстоятельство не сказывается на быстродействии устройства по вводу, однако при выводе информации происходит неоправданная потеря вре- 15 мени, равного задержке от момента поступления синхроимпульса вывода до завершения формирования кода на выходных шинах устройства. В то же время адрес ячейки, из которой предстоит считывание информации, известен заранее, и цикл считывания можно бы начинать, не дожидаясь соответствующего инхроимпульса вывода.
Быстродействие этого устройства по вводу также невелико и практически в три раза меньше, чем быстродей.ствие накопителя. Кроме того, непосредственная связь информационных входов-выходов устройства с накопи30 телем снижает производительность системы, в которой используется известное устройство, поскольку скорость обмена данных по системным линиям связи при такой организации ограничивается быстродействием буферной па- З> мяти.
Цель изобретения - повышение быстродействия и надежности.
Поставленная цель достигается тем, что в устройство для ввода-вывода ин- 4О формации, содержащее блок памяти; формирователь импульсов; первый и второй счетчики, выходы которых через коммутатор соединены с первым входом блока памяти, введены первый и второй 4$ блоки анализа и блок выбора режима, первый выход которого соединен с первыми входами первого счетчика, второго счетчика, первого блока анализа, третьим входом коммутатора, вторым входом SO блока памяти и первым входом первого регистра, выход которого является первым выходом .устройства, второй выход блока выбора режима соединен с входом формирователя импульсов, выход у которого соединен с вторыми входами первого, второго счетчиков, первого блока анализа, третьим входом блока
4 памяти, вторым входом первого регистра и первым входом блока выбора режима, второй и третий входы которого соединены с соответствующими выходами второго блока анализа, входы которого соединены с соответствующими выходами первого и второго счетчиков, четвертый и пятый входы блока выбора режима соединены соответственно с первым и вторым выходами первого блока анализа, третий и четвертый выходы которого являются вторым и третьим выходами устройства соответственно, а третий и четвертый. входысоответственно первым и вторым входами устройства, первый вход второго регистра является третьим входом устройства, второй вход второго регистра соединен с третьим входом первого блока анализа, а выход соединен с четвертым входом блока памяти, выход которого соединен с третьим входом первого регистра.
Блок выбора режима содержит первый, второй, третий и четвертый элементы И-НЕ, первый элемент НЕ, вход которого является первым входом блока, а выход соединен с первым входом первого элемента И-НЕ, выход которого является вторым выходом блока, а второй вход соединен с выходом второго элемента И-НЕ, первый вход которого соединен с выходом третьего элемента
И-НЕ, и первым входом четвертого элемента И-НЕ, второй и третий входы которого являются соответственно вторым и четвертым входами блока, а выход соединен с вторым входом второго элемента И-НЕ и является первым выходом блока, входы третьего элемента.И-НЕ являются соответственно. третьим и пятым входами блока.
Первый блок анализа содержит второй, третий и четвертый элементы НЕ, пятый и шестой элементы И-НЕ, первый, второй, третий и четвертый триггеры, первые выходы первого и второго триггеров являются соответственно первым и вторым выходом блока, а вторые выходы - соответственно третьим и четвертым выходами блока, первые входы первого и второго триггеров соединены с выходами третьего и четвертого триггеров соответственно, а вторые входы - с соответствующими выходами второго и третьего элементов НЕ и первыми входами третьего и четвертого триггеров, вторые входы которых соединены с соответ5 955008 6 ствующими выходами пятого и шестого поступающий на третий вход блока 8, элементов И-НЕ, первый вход пятого своим окончанием инициирует микроэлемента И-НЕ соединен с выходом чет- операцию сброса готовности входновертого элемента НЕ, вход которого го регистра 2 на запись» в резульсоединен с первым входом шестого эле- тате чего на первом выходе блока усмента И-НЕ и является первым входом танавливается логическая единица, блока, второй вход шестого элемента,.сигнализирующая о готовности входИ-НЕ соединен с вторым входом пятого . ного регистра 2 на чтение, а на трезлемента И-НЕ и является вторым вхо- тьем выходе блока 8 - логический, дом блока, входы второго и третьего tO нуль сигнализирующий об отсутствии элементов НЕ являются соответственно готовности входного регистра 2 на третьим и четвертым входами блока. запись.
Второй блок анализа содержит пер- По команде чтения информации из вую и вторую схемы сравнения, и пер- первого (выходного) регистра l имвый и второй элементы ИЛИ, выходы ко- >s пульс, поступающий на четвертый вход торых являются первым и вторым выхода- блока 8 своим окончанием, инициируми блока соответственно, а первые . ет микрооперацию сброса готовности входы соединены с выходом первой схе- выходного регистра 1 на чтение, в мы сравнения, вторые входы первого и результате чего на втором выходе бловторого элементов ИЛИ соединены с со- рв ка 8 устанавливается логическая едиответствующими выходами второй схемы ница, соответствующая готовности высравения, входы первой и второй схем ходного регистра 1 на запись, а на сравнения являются соответствующими четвертом выходе блока 8 - логичесвходами блока. кий нуль, сигнализирующий об отсутНа фиг. 1 изображена структурная 2S ствии готовности выходного регистсхема предлагаемого устройства; на ра 1 на чтение. фиг. 2- - пример реализации блока вы- При обращении к блоку 3 памяти бора режима; на фиг. 3 - пример реа" импульс, поступающий на второй вход лизации первого блока анализа;на блока 8,своим окончанием инициирует фиг. 4 - пример реализации второго при логической единице на первом блока анализа. входе (режим чтения из блока 3 памяУстройство (фиг. 1) содержит пер- ти и записи в выходной регистр миквый регистр 1, второй регистр 2, блок рооперацию сброса готовности выхЯ13 памяти, первый счетчик 4, второй ного регистра 1 на запись, в резульсчетчик 5, коммутатор 6, блок 7 вы- тате чего на втором выходе блока 8
8 3s бора режима, первыи блок 8 анализа, устанавливается логический нуль, а на второй блок 9 анализа, формирова четвертом выходе - логическая едитель 10 импульсов, первый вход 11 уст ница при логическом роиства» второй вход 12 устройства, входе бло 8 ( входе лока (режим записи в блок третий вход 13 устройства, первый 3 памяти и чтения из входного регистра и инициируется микрооперации выход 1 УстРойства, втоРой выход ра 1 и иници р
15 устройства, третий выход 16 уст- . сброс„ готовно ройства. с роса готовности входного регистра
2 на чтение, в результате чего на
Блок 7 выбора режима (фиг. 2) первом выходе блока 8 устанавливаетсодержит первый элемент 17 И-НЕ, вто- ся логич ся логический нуль, а на третьем вырой элемент 18 И-НЕ» третий элемент es ходе - логическая единица.
19 И"НЕ, четвертый элемент 20 И-НЕ. первый элемент 21 НЕ.
Второй блок 9 анализа (фи»г. 47 содержит первый элемент 31 ИЛИ, второй
Первый блок 8 анализа (фиг. 3) элемент 32 ИЛИ, первую схему 33 сравсодержит первый триггер 22, второй .нения, вторую схему 34 сравнения,; триггер 23, третий триггер 24, чет- ;многоразрядные входные информационвертый триггер 25, пятый элемент ные шины и одноразрядные выходные
26 И-НЕ, шестой элемент 27 И-НЕ, шины, готовности блока памяти на за- второй элемент 28 НЕ, третий эле- пись (ГТНЗП) и чтение (ГТН4Т) соотмент 29 НЕ, четвертый элемент 30 НЕ. ветственно.
5S
Блок 8 анализа выполняет следую- Блок анализа готовйостей накопищие функции. теля предназначен для распознавания
По команде записи информации во особых ситуаций типа "Блок памяти второй (входной) регистр 2 импульс, пуст" (т.е. не готов к приему инфор".
9550
7 мации) и "Блок памяти переполнен" (т.е, готов к выдаче информации).
С этой целью в блоке 9 анализируются текущие состояния первого 4 и второго 5 счетчиков адресов записи и чтения согласно логическим функциям.
ГтНЗП="СчЗП=СчЧт"+"ПЗП=ПЧт", ГТНЧТ="СчЗП="СчЧТ+"ПЗП"=ПЧТ", < ) где ГТНЗП - готовность блока памяти на запись (первый выход блока 9);
ГТНЧТ - готовность накопителя на чтение (второй выход, блока 9).
При ГТНЗП=О блок памяти не готов к записи, т.е. не готов к приему информации (" Блок памяти переполнен"), при ГТНЧТ=О блок .памяти не готов к чтению, т.е. к выдаче информации (" Блок памяти пуст"). В остальных о случаях блок памяти готов как к приему, так и.к выдаче информации.
СчЗП и СчЧТ - текущие адреса записи и чтения, формируемые в счетчиках
4 и 5 соответственно;
"СчЗП=СчЧТ" - логическая переменная, равная логической "!" при не- 30 совпадении адресов записи и чтения и равная логическому
"0" в противном случае; 35
ПЗП=ПЧТ - логические переменные, равные логической "1" при переполнении счетчиков 4 и
5 (старшие разряды первой и второй групп входов бло" ка 9);
"ПЗП=ПЧТ" - логическая переменная, равная логической "1" при равенстве переменных
ll30 и ПЧТ и равная логическому "0" в противном случае;
"ПЗПФПЧТ" — логическая переменная, равная инверсии логической пере"
* менной "ПЗП=ПЧТ".
Если емкость блока памяти 3 составляет 2 слов, то счетчики 4 и 5, 55 а следовательно, и входные .шины блока 9 имеют (и+1) разрядов, а схема
3 сравнения имеет и разрядов. Раз08 В ряды схемы 32 сравнения по первому входу связаны с соответствующим
1 младшими разрядами О,... (и-1) первой группы шин, а по второму входу - с разрядами второй группы шин. Схема
34 сравнения по первому входу связана со старшим разрядом первой группы входных шин блока 9,характеризующим состояние переполнения (ПЗП ) счетчика 4, а по второму входу - со старшим разрядом второй группы шин, характеризующим состояние переполнения f,Ï×T ) счетчика 5.
Выход несовпадения схемы 33 .(логическая переменная {"СчЗПФСчЧТ") подключен к первым входам элементов
31 и 32 ИЛИ. Выход совпадения схемы 34 (логическая переменная "ПЗП=
= ПЧТ" ) подключен к второму входу weмента 31 ИЛИ, а выход несовпадения схемы 34 ("ПЗПФПЧТ") - к второму входу элемента 32 ИЛИ. Выходы элементов
31 и 32 ИЛИ являются соответствующими выходными шинами ГТНЗП и ГТНЧТ блока 9.
Формирователь 10 импульсов (стробов), реагируя на перепад из логической "1" в логический "0" на своем входе, вырабатывает на выходе импульс, длительность которого соответствует циклу обращения к накопителю.
Состояние второго 15 и третьего
16 выходов устроиства готовностей входного регистра 2 на запись и выходного регистра 1 на чтение соответственно анализируется либо программно, либо аппаратно контроллером обмена. При совпадении готовностей входного регистра 2 на запись и устройства-передатчика на выдачу информации вырабатывается команда передачи информации на устройство-передатчик в описываемое устройство. При этом устройство-передатчик выставляет на третий вход 13 устройства передаваемое слово, а на первый вход 11 поступает импульс записи.
При совпадении готовностей выходного регистра 1 на чтение и устройства-приемника на ввод информации вырабатывается команда передачи информации из описываемого устройства в устройство-приемник, по которой устройство-приемник стробирует инФормацию с первого выхода 14 устройства, а на второй вход 12 устройства поступает импульс чтения.
008 10
9 955
Структура предлагаемого устройства такова, что при выполнении соответствующих условий допускается одновременное выполнение команд передачи информации из устройства-передатчика в предлагаемое устройство и из него. - в устройство-приемник.
Устройство работает следующим образом.
Предварительно, по команде началь-1О ной установки (шина начальной установки не показана) счетчики 4 адресов записи и 5 адресов чтения приводятся в одинаковое состояние со сброшенными разрядами переполнения. Без потери общности можно считать, что оба счетчика сбрасываются в ноль.
Кроме того, по этой команде в устройстве устанавливаются состояния готовностей на запись входного 2 и Щ выходного 3 регистров. При этом на третьем выходе блока 8 (готовностей входного регистра 2 на запись) и вто" ром выходе (готовность выходного регистра 1 на запись) присутствует сиг- З нал логической единицы, а на первом выходе. блока 8 (готовностей входного регистра 2 на чтение) и четвертом выходе блока 8 (готовность выходного регистра на чтение) - логический З» ноль, формирователь 10 во время начальной установки блокирован.
В соответствии с логической формулой (1), реализуемой блоком 9 анализа, на первом выходе блока 9 (готовностей блока памяти на запись устанавливается сигнал логической
"1", а на втором выходе (готовности блока памяти на чтение) — "0". При этом элементы 19 и 20 И-НЕ блока 10 выбора режима заперты соответственно по первому и второму входам, элемент
18 И-НЕ открыт, а 17 И-НЕ закрыт логическим нулем, поступающим с выхода элемента 18 И-НЕ. В результате на первом и втором выходах блока 2 присутствует логическая "1". На выходе формирователя 1О присутствует логический нуль, вследствие чего в устройстве не происходит никаких действий. На выходах 15 и 16 устройства присутствуют соответственно сигналы логической "1" и "0". При этом единственно возможной является команда передачи информации из устройствапередатчика в предлагаемое устройство.
При поступлении импульса записи на вход 11 осуществляется запоминание информации, присутствующей на входе 13 устройства, во входном регистре 2. С окончанием этого импульса на выходах первом (готовностей .входного регистра на чтение) и третьем (готовности на запись) блока 8 анализа установятся соответственно логические "1" и "0". При этом элемент 20 И-НЕ блока 2 выбора режима, предварительно подготовленный по своим первому и третьему входам, открывается, запирая элемент 18 И-НЕ, в результате чего элемент 17 И-НЕ также открывается. На первом выходе блока 2 выбора режима устанавливается логический нуль, который по второму входу блока 3 памяти устанавливает в нем режим записи, а по тре тьему (адресному) входу коммутатора
6 подключает выходы счетчика 4 к первому (адресному) входу блока 3 памяти. На втором выходе блока 2 выбора режима происходит перепад из логической "I в "0", который запускает формирователь 10, выходной импульс которого, поступая на третий синхронизирующий вход блока 3 памяти, осуществляет запись содержимого входного регистра 2„в блок 3 памяти по адресу, соответствующему содержимому счетчика 4. Одновременно этот импульс поступает на первый .вход запрета блока.2 выбора режима., где через элемент 21.НЕ запирает элемент 17 И-HE устанавливая на втором выходе вновь состояние логической "1". По окончании выходного импульса формирователя 10 импульсов выбора содержимое счетчика 4 увеличивается на единицу, первый выход (готовностей входного
1 .регистра на чтение) блока 8 и третий выход (готовности на запись ) блока 8 анализа уст анавли вают ся соот ветст венно в состояние логического "0" и "1" и
1 в соответствии с формулой (1), второй выход (готовности блока 3 памяти на чтение) блока 9 анализа перейдет в состояние логической единицы, а в блоке 2 выбора режима снимается запрет по первому входу, подготавливая через элемент 21 НЕ элемент 17 И-НЕ. Состояния. счетчика 5 и выходного регистра 1 не изменяются ввиду наличия логического нуля на прямых управляющих входах. С этого момента устройство вновь готово к приему информации во входной регистр 2, но не готово к выдаче информации, так как выходной регистр
955008
1 пуст. Совместная готовность выходного регистра 1 на запись и блока 3 памяти на чтение анализируется блоком 3 выбора режима по состоянию его третьего и пятого входов соответст- s венно. Логические "1" на указанных входах устанавливают в нуль выход элемента 19 И-НЕ, запирая тем самым элементы 18 и 20 И-HE. Наличие логической "1" на выходах элементов
18 и 20 И-НЕ приводит к установлению в устройстве режима чтения из блока памяти (логическая "1" на первом выходе блока 2) и к запуску формирователя импульсов строба (пере- 1 пад из логической "1" в "0" на втором выходе блока 10 выбора режима) .
Выходной импульс, формирователя 10 осуществляет в блоке 3 памяти считывание информации из ячейки, адрес 20 которой задается содержимым счетчика 5. С окончанием этого импульса выходная информация блока 3 памяти запоминается в выходном регистре содержимое счетчика 5 увеличивается 25 на единицу, а в блоке 8 анализа выходы четвертый готовностей выходного регистра на чтение 29 ) и второй (на запись ) устанавливаются,соответственно в состояние логической !
11 н l10ti
С этого момента устройство готово также к выдаче информации, которая может быть принята устройством-приемником в любой момент по его готовности без потери времени на цикл считывания из блока памяти.
При этом на вход 12 устройства поступает импульс чтения, который в блоке 8 анализа устанавливает второй и четвертый выходы соответственно в "0" и "1", что при наличии информации в блоке 3 памяти вновь вызовет вышеописанный цикл считывания из следующей ячейки блока 3 в выхоцной регистр 1.
Формула изобретения
$0 а третий и четвертый входы - соответВ случае записи информации в последнюю свободную ячейку блока 3 памяти происходит переполнение счетчика 4. При этом содержимое счетчиков 4 и 5 становится одинаковым за исключением разрядов переполнения.
Тогда в соответствии с формулой (1) на первом и втором выходах блока 9 анализа установятся соответственно
"0" и "1", запрещая тем самым дальнейшую запись информации в блок 3 до тех пор, пока иэ него не будет произведено хотя бы одно считывание °
12
Предлагаемое устройство по сравнению с известными осуществляет анализ состояния блока памяти, принудительное считывание информации из блока памяти по заранее известному адресу и регистровую развязку информационных шин устройства от информационных шин блока памяти, что совместно с анализом состояний регистров, повышает его надежность и быстродействие.
1. Устройство для ввода-вывода информации, содержащее блок памяти, формирователь импульсов, первый и второй счетчики, выходы которых через коммутатор соединены с первым входом блока памяти, о т л и ч а ющ е е с я тем, что, с целью повышения надежности и быстродействия, в него введены первый и второй регистры, первый и второй блоки анализа и блок выбора режима, первый выход которого соединен с первыми входами первого счетчика, второго счетчика, первого блока анализа, третьим входом коммутатора, вторым входом блока памяти и первым входом первого регистра, выход которого является первым выходом устройства, второй выход блока выбора режима соединен с входом
Формирователя импульсов, выход которого соединен с вторыми входами первого, второго счетчиков, первого блока анализа, третьим входом блока памяти, вторый входом первого регистра и первым входом блока выбора режима, второй и третий входы которого соединены с соответствующими выходами второго блока анализа, входы которого соединены с соответствующими выходами первого и второго счетчиков, четвертый и пятый входы блока выбора режима соединены соответственно с первым и вторым выходами первого блока анализа, третий и четвертый выходы которого являются вторым и третьим выходами устройства соответственно, ственно. первым и вторым входами устройства, первый вход второго регистра является третьим входом устройства, второй вход второго регистра соединен с третьим входом первого блока анализа, а выход соединен с четвертым входом блока памяти, выход которого соединен с третьим входом первого регистра.
13 9550
2. Устройство по и. 1, о т л и ч а ю щ е е с я тем, что блок выбора режима содержит первый, второй, третий и четвертый элементы И-НЕ, первый элемент НЕ, вход которого является первым входом блока, а выход соединен с.первым входом первого элемента И-НЕ, выход которого является вторым выходом блока, а второй вход соединен с выходом второго элемента 10
И-НЕ, первый вход которого соединен с выходом третьего элемента И-НЕ и первым входом четвертого элемента
И-НЕ, второй и третий входы которо.го являются соответственно вторым и четвертым входами блока, а выход соединен с вторым входом второго weмента И-НЕ и является первым выходом блока, входы третьего элемента
И-НЕ являются соответственно тре- щ тьим и пятым входами блока.
3. Устройство,по и. 1, о т л ич а ю щ е е с я тем, что первый блок анализа содержит второй, третий и четвертый элементы НЕ, пятый и шес- 2з той элементы И-НЕ, первый, второй, третий и четвертый триггеры, первые выходы первого и второго триггеров являются соответственно первым и вторым выходом блока, а вторые выходы— соответственно третьим и четвертым выходами блока, первые входы первого и второго. триггеров соединены с выходами третьего и четвертого триггеров соответственно, а вторые входыс соответствующими выходами второго и третьего элементов НЕ и первыми
08 входами третьего и четвертого триг". геров, вторые входы которых соединены с соответствующими выходами пя" того и шестого элементов И-НЕ, первый вход пятого элемента И-НЕ соединен с выходом четвертого элемента
НЕ, вход которого соединен с первым входом шестого элемента И-НЕ и является первым входом блока, второй вход шестого элемента И-НЕ соединен с вторым входом пятого элемента И-НЕ и является вторым входом блока, входы второго и третьего элементов НЕ яв- ляются соответственно третьим и четвертым входами блока, 4. Устройство по и. 1, о т л ич а ю щ е е с я тем, что второй блок анализа содержит первую и вторую схемы сравнения и первый и второй элементы ИЛИ, выходы которых являются первым и вторым выходами блока соответственно, а первые входы соединены с выходом первой схемы срав" нения, вторые входы первого и второго элементов ИЛИ соединены с соответствующими выходами второй схемы сравнения, входы первой и второй схемы сравнения являются соответствующими входами блока.
Источники информации, принятые во внимание при экспертиэе
1. Авторское свидетельство СССР
М 648983, кл. G 06 F 13/06, 1979.
- 2. Авторское свидетельство СССР
М 624231, кл. 6 06 F 13/02, 1978 (прототип).