RU2058585C1 - Selector channel - Google Patents
Selector channel Download PDFInfo
- Publication number
- RU2058585C1 RU2058585C1 RU92011423A RU92011423A RU2058585C1 RU 2058585 C1 RU2058585 C1 RU 2058585C1 RU 92011423 A RU92011423 A RU 92011423A RU 92011423 A RU92011423 A RU 92011423A RU 2058585 C1 RU2058585 C1 RU 2058585C1
- Authority
- RU
- Russia
- Prior art keywords
- input
- byte
- block
- output
- register
- Prior art date
Links
Images
Landscapes
- Information Transfer Systems (AREA)
Abstract
Description
Изобретение относится к вычислительной технике, частности, к селекторным каналам для ввода-вывода информации в ЭВМ. The invention relates to computer technology, in particular, to selector channels for input-output information in a computer.
Задача изобретения повышение быстродействия канала. The objective of the invention is to increase the speed of the channel.
На фиг.1 представлена структурная схема селекторного канала и процессора; на фиг.2-12 приведены примеры функциональных схем блока подсчета байтов, блока буферной памяти данных, регистра команд, регистра масок, второго блока младшего адреса, одного (нулевого) байта первого регистра данных и мультиплексора этого байта, одного (нулевого) байта второго регистра данных, блока выборки байтов, блока контроля байтов, блока завершения выборки байтов, блока управления интерфейсом; на фиг.13 изображена временная диаграмма работы канала для операций записи в устройство ввода-вывода; на фиг.14 временная диаграмма работы канала для операций считывания из устройства ввода-вывода; на фиг. 15 диаграмма работы селекторного канала (прототип); на фиг.16 диаграмма работы предлагаемого селекторного канала. Figure 1 presents the structural diagram of the selector channel and the processor; 2-12 are examples of functional circuits of a byte counting block, a data buffer memory block, an instruction register, a mask register, a second low address block, one (zero) byte of the first data register and a multiplexer of this byte, one (zero) byte of the second register data, a byte fetch block, a byte control block, a byte fetch block, an interface control block; on Fig shows a timing diagram of the channel for write operations in the input-output device; on Fig a timing diagram of the channel for read operations from the input-output device; in FIG. 15 diagram of the operation of the selector channel (prototype); on Fig diagram of the proposed selector channel.
Селекторный канал 1 фиг.1( предназначен для подключения быстродействующих устройств ввода-вывода к процессору 2, который содержит блок 3 микропрограммного управления, арифметическо-логическое устройство 4, локальную память 5, оперативную память 6, блок 7 сопряжения с оперативной памятью, селекторный канал 1 содержит первый регистр 8 данных, второй регистр 9 данных, блок 10 подсчета байтов, первый 11 и второй 12 блоки младшего адреса, регистр 13 команд, блок 14 буферной памяти данных, регистр 15 масок, блок 16 управления интерфейсом, блок 17 выборки байтов, блок 18 завершения выборки байтов, блок 19 контроля байтов, мультиплексор 20, триггер 21, элементы И 22, 23, шины 24-52.
Операция передачи данных в канале 1 начинается по специальной команде процессора 2, которая задает адрес селекторного канала 1 и устройства ввода-вывода и при помощи специальных управляющих слов указывает код команды, начальный адрес оперативной памяти, количество передаваемых байтов данных и другие управляющие признаки, которые располагаются в регистрах канала 1 и локальной памяти 5, образуя совокупности управляющие слова канала. В локальной памяти 5 размещается адрес следующего командного слова, адрес данных, ключ защиты, признаки и отметки, используемые в микропрограммах канала 1. Счетчик байтов размещается в блоке 10, младший адрес в первом блоке 11 и во втором блоке 12, команда в регистре 13. Регистры загружаются по шинам 25 из локальной памяти 5 процессора 2 по управляющим сигналам на шинах 24 из блока 3. The data transfer operation in
Блок 14 буферной памяти данных выполнен в виде стековой памяти с системой обслуживания: первый пришел первый ушел. Загружается по шинам 52 из устройства ввода-вывода, по шинам 42 с выхода мультиплексора 20 и разгружается по шинам 43 в регистр 8 или по шинам 51 в устройство ввода-вывода.
Регистры 8 и 9 данных канала хранят восьмибайтные слова, которыми обменивается канал 1 с оперативной памятью 8 в процессе передачи данных. Registers 8 and 9 of the channel data store eight-byte words exchanged between
Регистр 15 масок хранит восьмиразрядную маску слова для операций считывания с устройства ввода-вывода, управляет приемом байтов данных в регистр 9 из регистра 8 с шин 36. The mask register 15 stores an eight-bit word mask for read operations from an input-output device, controls the reception of data bytes in
Блок 17 выборки байтов управляет передачей байтов из регистра 8 в блок 14 буферной памяти данных через мультиплексор 20 для операций записи на устройство ввода-вывода и выборкой байтов из блока 14 буферной памяти данных в регистр 8 для операций считывания из устройства ввода-вывода.
Блок 18 завершения выборки байтов определяет момент выключения из работы блока 17, формирует признак (полное неполное слово) завершения выборки байтов из блока 14 буферной памяти данных в регистр 8, определяет момент выхода на микропрограммную приостановку для обслуживания данных и состояния.
Блок 19 контроля осуществляет контроль выбираемых байтов из регистра 8 или блока 14. The
Второй блок 12 младшего адреса управляет выборкой байтов из регистр 8 в блок 14. Первый блок 11 младшего адреса управляет выборкой байтов из блока 14 в регистр 8. The
Блок 16 управления интерфейсом осуществляет загрузку блока 14 в операциях считывания с устройства ввода-вывода и разгрузку блока 14 в операциях записи на устройство ввода-вывода. Под управлением блока 16 осуществляются начальная выборка устройства ввода-вывода, завершение операции ввода-вывода на интерфейсе и другие функции. The
Блок 10 подсчета байтов (фиг.2) содержит счетчики 53-56 (синхронные, реверсивные, двоичные, четырехразрядные), элементы ИЛИ 57-63, элементы И 64-65, загружается по шинам 25 вторым-третьим байтом слова локальной памяти 5, по отрицательному управляющему сигналу 66 на шинах 24. Вычитание из счетчиков 53-56 производится отрицательным сигналом 164 на шине 38. Блок 10 вырабатывает на шинах 45 сигналы равенства счетчика 1, 0, 15 (сигналы в линиях 67, 68, 69-72 соответственно).
Блок 14 буферной памяти данных (фиг.3) содержит память 73 с организацией 8 х 8 разрядов (показан один разряд), счетчики 74-76, регистры 77, 78, элемент И-ИЛИ 79, элементы ИЛИ 80-82, элементы И-НЕ 83-86, элементы ИЛИ-НЕ 87, 88 и сигналы 89-95 значения счетчика 74 байтов в буферной памяти.
При загрузке байтов в блок 14 включается элемент ИЛИ 81 по сигналам на шинах 38, 48 и в конце такта загрузки по заднему фронту второго синхросигнала 167 на шине 38 происходит через элемент И-НЕ 83 в счетчик 74 добавление "1", а через элемент И-НЕ 86 в счетчик 76 адреса записи добавление "1" и запись в память 73. При разгрузке байтов из блока 14 включает элемент ИЛИ 80 по сигналам на шинах 38, 48 и в конце такта разгрузки по заднему фронту второго синхросигнала 167 на шине 38 происходит через элемент И-НЕ 84 вычитание "1" из счетчика 74, а через элемент И-НЕ 85 добавление "1" в счетчик 75 адреса считывания памяти 73. Одновременно с загрузкой байтов может происходить и разгрузка байтов, при этом блокируется изменение значения счетчика 74 байтов в буферной памяти через элементы И-НЕ 83, 84. When bytes are loaded into
Регистр 13 команд (фиг.4) содержит триггер 96 записи, триггер 97 обратного считывания, триггер 98 операции данных, триггер 99 блокировки записи в оперативную память, элементы И 100-102 и загружается по шинам 25 канала нулевым байтом слова локальной памяти 5 по управляющим сигналам в линиях 66, 103 на шинах 24 канала. Причем если включен седьмой разряд нулевого байта слова локальной памяти 5, то устанавливается триггер 96, а если седьмой, шестой разряды нулевого байта слова локальной памяти 5 выключены и включен четвертый разряд, то через элемент И 100 устанавливается триггер 97. Триггер 98 устанавливается микропрограммой канала после успешной начальной выборки устройства ввода-вывода сигналом в линии 104 на шинах 24 канала, когда устройство ввода-вывода в ответ на команду от канала присылает нулевой байт состояния и сбрасывается сигналом в линии 105 на шинах 24, когда завершена передача данных и устройство ввода-вывода присылает конечный байт состояния. Триггер 98 разрешает обмен данными между каналом 1 и устройством ввода-вывода посредством включения команды записи или считывания в линии 106 или 107 через элементы И 101 или 102. Триггер 99 загружается третьим разрядом нулевого байта блока локальной памяти 5 на шинах 25 по управляющему сигналу в линии 66 на шинах 24. Триггер 99 запрещает запись в оперативную память байтов данных, считываемых из устройства ввода-вывода. The
Регистр 15 масок (фиг.5) содержит триггеры 108-115 масок соответственно нулевого-седьмого байтов регистра 8, элементы И 116-124, элемент ИЛИ-НЕ 125. Триггеры 108-115 масок устанавливаются по сигналу 165 загрузки байта на шинах 38 из блока 14 буферной памяти в регистр 8 в момент действия второго синхросигнала 167 канала на шинах 38 в зависимости от содержимого младшего адреса в блоке 11. Регистр 15 масок сбрасывается сигналом 37 записи в оперативную память 6 из блока 3 микропрограммного управления. В регистре 15 формируется через элемент И 124 на шину 40 сигнал полного слова в регистре 8. The mask register 15 (Fig. 5) contains triggers 108-115 masks, respectively, of the zero-seventh bytes of
Второй блок 12 младшего адреса (фиг.6) содержит счетчик 126 и дешифратор 127 и загружается по входу 25 младшими разрядами третьего байта слова локальной памяти 5 по управляющему сигналу в линии 128 на шинах 24. Добавление (вычитание) "1" в счетчик 126 происходит по сигналам на шине 34. Выходы 129-136 дешифратора 127 подаются по шине 35 на вход мультиплексора 20. The
Первый блок 11 младшего адреса выполнен аналогично второму блоку 12 младшего адреса, только добавление и вычитание "1" в первом блоке 11 происходит по шине 38 и выход по шине 33 управляет регистрами 8 и 15. The
Регистр 8 данных (фиг.7) выполнен на мультиплексорах 137-139 с запоминанием и элементе И-ИЛИ-НЕ 140 и загружается по заднему фронту второго синхросигнала 167 канала на шинах 38 из блока 14 (шины 43) по управляющему сигналу 165 на шинах 38, если включен сигнал 33 (номер байта) блока 11, из регистра 9 по шинам 28 по управляющему сигналу на шине 31. На фиг.7 представлен только нулевой байт восьмибайтного регистра 8. Остальные байты регистр 8 идентичны нулевому. The data register 8 (Fig. 7) is made on memory multiplexers 137-139 and the AND-OR-
Мультиплексор 20 (для нулевого байта) (фиг.7) содержит, например, четырехразрядные мультиплексоры 141-143 с тремя состояниями по выходу, элемент НЕ 144. Мультиплексоры 141-143 переключаются из третьего (высокоимпедансного) состояния сигналом в линии 129 на шинах 35 с выхода блока 12 через элемент НЕ 144. Одноименные выходы мультиплексоров 20 всех байтов (например, вторые разряды мультиплексоров нулевого-седьмого байтов) объединены между собой. Таким образом, посредством блока 12 выдается на шины 42 через мультиплексоры 20 один из байтов регистра 8. The multiplexer 20 (for zero byte) (Fig. 7) contains, for example, four-bit multiplexers 141-143 with three output states, an
Регистр 9 данных (фиг.8) построен на мультиплексорах 145-147 с запоминанием, элементе ИЛИ 148 и элементе И 149. Он загружается по переднему фронту второго синхросигнала канала на шинах 38 из регистра 8 (шины 36) по сигналу 37 записи в оперативную память и сигналу 108 маски на шинах 41, из оперативной памяти 6 (шины 30) по управляющему сигналу 29 приема данных из оперативной памяти. На фиг. 8 представлен только нулевой байт восьмибайтного регистра 9. Остальные байты регистра 9 идентичны нулевому. The data register 9 (Fig. 8) is built on memory multiplexers 145-147, the
Блок 17 выборки байтов (фиг. 9) содержит элемент НЕ 150, элементы И 151-155, ИЛИ 156-158, ИЛИ-НЕ 159, 160, И-НЕ 161, 162, шины 163-169.
Блок 19 контроля байтов (фиг.10) содержит триггер 170 задержки сигнала в линии 165 загрузки байта из блока 14 в регистр 8, триггер 171 ошибки данных в регистре 8, дешифратор 172 четности, элементы И 173-175, И-НЕ 176, ИЛИ 177, ИЛИ-НЕ 178, 179, линии 180-181 модификации младшего адреса в блоке 12 по шине 34, линию 182 шины 39 ошибки данных в регистре 8. The byte control unit 19 (Fig. 10) contains a
Блок 18 завершения выборки байтов (фиг.11) состоит из узла 183 формирования запроса данных, узла 184 формирования запроса состояния и узла 185 формирования признака полного слова. Узел 183 содержит триггеp 186 запроса данных, триггер 187 ненулевой маски слова и коммутатор сигналов запроса данных, включающий элементы И-НЕ 188, 189, И 190-198, ИЛИ 199, 200. Узел 184 представляет собой коммутатор сигналов состояния, выполненный из элементов И 201-203, ИЛИ 204. Узел 185 содержит триггер 205 полного слова, элементы И 206, ИЛИ 207. Блок имеет линии 208-210, которые входят в состав шины 32. The byte selection completion block 18 (FIG. 11) consists of a data
Блок 16 управления интерфейсом (фиг.12) содержит триггеры 211-218, элемент 219 сравнения двух чисел, элементы И 220-224, ИЛИ 225-227, И-ИЛИ 228, линии 229-232 шины 48. Сигнал в линии 233 на шинах 49 устанавливает триггер 211 или 214 для операций считывания или записи, сигнал в линии 234 на шинах 39 устанавливает триггер 218. The interface control unit 16 (Fig. 12) contains triggers 211-218, an element for comparing two
На фиг.13 и 14 приняты следующие обозначения: С1, С2 тактовые синхросигналы соответственно первый, второй серии канала. Справа на фиг.13, 14 указаны позиции линий, шин и триггеров, взаимодействующих с сигналами, приведенными в левой стороне фиг.13, 14. 13 and 14, the following designations are adopted: C1, C2 clock sync signals, respectively, the first, second series of the channel. On the right in FIG. 13, 14, the positions of the lines, buses, and triggers interacting with the signals shown on the left side of FIGS. 13, 14 are indicated.
Селекторный канал 1 работает следующим образом.
Машинный такт процессора, в который входит предлагаемый канал, состоит из первого-четвертого тактовых синхросигналов (СИ1, СИ2, СИ3, СИ4) длительностью каждый, например, 40 нс. Длительность такта равна 320 нс. The machine cycle of the processor, which includes the proposed channel, consists of the first or fourth clock signals (SI1, SI2, SI3, SI4), each lasting, for example, 40 ns. The cycle time is 320 ns.
Для увеличения быстродействия работы канала 1 на этапе передачи данных такт канала 1 выбран длительностью 160 нс, т.е. в 2 раза меньше длительности машинного такта процессора. С этой целью в блоке 17 по шинам 24 через элемент ИЛИ 156 из первого, третьего синхросигнала (СИ1, СИ3) формируется первый синхросигнал в линию 166 (С1), а через элемент ИЛИ 157 из второго, четвертого синхросигнала (СИ2, СИ4) второй синхросигнал в линию 167 (С2), которые по шинам 38 поступают в блоки канала 1. To increase the speed of operation of
Операция записи. После загрузки управляющей информации в канал 1 и успешной начальной выборки устройства ввода-вывода микропрограммой канала по сигналу в линии 104 на шинах 24 устанавливается триггер 98 операции данных и одновременно в блоке 18 через элемент И-НЕ 189 устанавливается триггер 186 запроса данных. Запрос данных по шине 32 поступает в процессор 2, где вызывается микропрограмма передачи данных канала для операций записи, которая выполняет следующие действия: чтение адреса данных из локальной памяти 5 в блок 7 и на вход арифметико-логического устройства 4, модификацию адреса данных на "+8" через устройство 4 и запись его в локальную память 5 (в этом же такте запускается блок 7 для чтения данных из оперативной памяти 6 в регистр 9 по сигналу 26 считывания и из оперативной памяти). Write operation. After the control information is loaded into
Когда данные из оперативной памяти 6 прочитаны, блок 7 выдает в канал сигнал 29 приема данных, по которому из оперативной памяти в регистр 9 принимается полное слово с шин 30 и сигнал 27 конца считывания данных из оперативной памяти, по которому устанавливается триггер 21. When the data from the
Установленный триггер 186 запроса данных позволяет повторно вызвать микропрограмму передачи данных канала, во время выполнения которой по сигналу 26 считывания из оперативной памяти 6 и установленному триггеру 21 через элемент И 23 вырабатывается сигнал 31, по которому принимаются данные по шинам 28 из регистра 9 в регистр 8 и сбрасываются триггеры 21, 186 и тем самым включается в работу блок 17 сигналом 208 шины 32, который работает на фоне считывания данных из оперативной памяти. The installed trigger request data allows you to re-call the firmware of the data transmission channel, during which the
В блоке 17, если блок 14 буферной памяти не полный (сигнал 93), через элемент И 151 выдается сигнал в линию 163 на шину 38 загрузки байта данных в блок 14 из регистра 8. Соответствующий байт регистра 8 через мультиплексор 20 передается в блок 14. В конце такта передачи счетчик байтов (блок 10) модифицируется на "-1" по сигналу 164 на шине 38, счетчики в блоках 11, 12 и 14 модифицируются на "+1" по сигналам 168, 180 и 163 соответственно. В следующем такте канала по синхросигналу 167 шин 38, если блок буферной памяти не полный, предыдущие действия повторяются, и следующий байт данных передается из регистра 8 в блок 14. Когда состояние счетчика блока 11 достигнет границы слова (младшие разряды адреса 111), в момент передачи последнего байта из регистра 8 седьмого (байт) через элемент И 193 блока 18 устанавливается триггер 186 и вызывается микропрограмма передачи данных, в которой данные из регистра 9 загружаются в регистр 8, сбрасываются триггеры 186 и 21 по сигналу 31, после чего опять включается блок 17, новые данные из памяти 6 читаются в регистр 9 и действия, описанные выше, повторяются. In
Начало временной диаграммы на фиг.13 соответствует моменту, когда в блоке 14 находится четыре байта данных предыдущего слова данных и очередное слово данных передается из регистра 9 в регистр 8. Во втором такте канала производится загрузка слова (байт "0") в блок 14 из регистра 8. Если в момент передачи последнего байта регистра 8 (байт "7") содержимое счетчика блока 10 равно "1", то по шине 45 сигналом 67 блокируется установка триггера 186 через элемент И 193 в блоке 18. Если содержимое счетчика блока 10 после очередной выборки байта из регистра 8 достигает нуля, сигналом 68 шины 45 через элемент ИЛИ-НЕ 159 блок 17 выключается из работы. Таким образом, байты данных, считанные из оперативной памяти 6, накапливаются в блоке 14, откуда выдаются на устройство ввода-вывода. Когда устройство ввода-вывода требует очередной байт данных, оно устанавливает в линию 233 шины 49 сигнал информации от абонента, поступающий в блок 16. Если блок 14 не пустой (сигнал 95 шины 47), то через элемент И 223 по заднему фронту синхросигналов из линии 166 (С1) или 167 (С2) через элемент ИЛИ 226 устанавливается триггер 214 информации от канала и через элемент ИЛИ 227 по шине 50 выдается сигнал информации от канала. При этом байт данных, запомненный в выходном регистре 78 из буферной памяти 73 по управляющему сигналу в линии 231 шины 48, хранится на время действия триггера 214 информации от канала, по единичному состоянию которого и синхроимпульсу в линии 166 шины 38 устанавливается триггер 215, по которому через линию 232 шины 48 вычитается "1" из счетчиков блока 14 по заднему фронту синхросигнала 167 (С2) шины 38, т.е. очередной байт данных считывается из буферной памяти 73. По установленному триггеру 215 по заднему фронту второго синхросигнала в линии 167 (С2) на шине 38 устанавливается триггер 216, который сбрасывает триггер 215. Устройство ввода-вывода принимает байт с шин 51 и снимает сигнал в линии 233, указывая каналу, что байт данных принят. В канале 1 через элемент ИЛИ 224 по синхросигналу 166 или 167 сбрасывается триггер 214, по которому сбрасывается триггер 216. Если устройство запрашивает очередной байт данных, предыдущие действия повторяются. The beginning of the time diagram in Fig. 13 corresponds to the moment when four bytes of data of the previous data word are located in
Операция передачи данных по интерфейсу ввода-вывода обычно заканчивается, когда содержимое счетчика блока 10 достигает нуля и все байты данных из блока 14 переданы в устройство ввода-вывода. В этом случае по шинам 45 (68), 47 (94) через элемент И-ИЛИ 228 по заднему фронту второго синхросигнала в линии 167 (С2) на шинах 38 устанавливается триггер 217 конца операции, который блокирует установку триггера 214 информации от канала через элемент И 223. В ответ на сигнал информации от абонента выдается сигнал управления от канала 1 (на фиг.12 не показан), что является признаком останова для устройства ввода-вывода. Устройство ввода-вывода на этом заканчивает обмен данными и принимает по линии 234 шин 49 сигнал управления от абонента, по которому в канале 1 устанавливается триггер 218, сигнал с выхода которого по шине 46 поступает в блок 18, где через элемент И 203 в линию 209 выдается запрос обслуживания состояния, который вызывает в процессоре 2 выполнение микропрограммы обслуживания состояния устройства ввода-вывода. The data transfer operation on the input-output interface usually ends when the contents of the counter of
Операция считывания. Операция считывания с устройства ввода-вывода начинается после загрузки управляющей информации в канал 1 и успешной начальной выборки устройства ввода-вывода, когда микропрограммой канала по сигналу в линии 104 на шинах 24 устанавливается триггер 98 операции данных в регистре 13 команд. Устройство ввода-вывода помещает на шины 52 байт данных и устанавливает в линии 233 сигнал информации от абонента, что приводит к установке в блоке 16 триггера 211 информации от абонента по заднему фpонту синхросигналов в линии 166 (С1) или в линии 167 (С2) на шинах 38 (фиг.12, 14). Если блока 14 не полный (сигнал 93 шины 47), то через элемент И 221 устанавливается по заднему фронту синхросигнала С1 или С2 с элемента ИЛИ 226 триггер 212, по которому устанавливается триггер 213 информации от канала и через элемент ИЛИ 227 выдается сигнал информации от канала. При этом байт длинных, принятый во входной регистр 77 с шин 52 по управляющему сигналу в линии 229 шин 48, хранится на время действия триггер 213 информации от канала. По сигналу с выхода триггера 212 в линии 230 шин 48 байт данных принимается в блок 14 буферной памяти из регистра 77 и добавляется "1" в счетчики блока 14 через элементы И-НЕ 83, 86 в момент действия синхросигнала в линии 167 (С2). По установленному триггеру 213 сбрасывается триггер 211, а через элемент И 222 сбрасывается триггер 212 по заднему фронту второго синхросигнала в линии 167 (С2). После выдачи сигнала информации от канала по шинам 50 устройство ввода-вывода снимает сигнал с лини 233, что приводит к сбросу триггера 213. Все последующие байты с шин 52 принимаются аналогично. Read operation. The operation of reading from the input-output device begins after loading the control information into
Как только первый байт данных принят в блок 14 буферной памяти, включается в работу блок 17. Сигналом в линии 95 через элемент И 152 выдается сигнал в линию 165 для загрузки регистра 8 из блока 14 буферной памяти. Байт данных принимается в соответствующий байт регистра 8 (согласно состоянию блока 11), устанавливается в регистре 15 триггер маски соответствующего байта регистра 8. В конце такта загрузки по шине 38 производится вычитание "1" из блока 10, модификация на "1" счетчика блока 11 (на +1 для операций считывания по сигналу 168 шины 38, на -1 для операций обратного считывания по сигналу 169 шины 38), производится вычитание "1" из счетчика 74 через элемент И-НЕ 84 и добавление "1" в счетчик 75 через элемент И-НЕ 85 по сигналу в линии 165, эти действия синхронизируются вторым синхросигналом в линии 167 (С2). При загрузке хотя бы одного байта в регистр 8 всегда устанавливается триггер 187 через элемент И 198 в блоке 18. При последующих загрузках байтов данных с шин 52 описанные действия повторяются. As soon as the first byte of data is received in
Блок 18 выключает блок 17 и формирует запрос данных для выполнения микропрограммы передачи данных в следующих случаях: когда в процессе выборки байтов достигается граница слова в регистре 8, в этом случае для команды считывания устанавливается триггер 186 через элемент И 191, а для команды обратного считывания через элемент И 190; когда выбирается последний байт из блока 14, то по шине 45 через элемент И 192 устанавливается триггер 186. Когда с устройства ввода считывается блок данных длиной меньшей, чем указано в счетчиках 53 -- 56 блока 10, в этом случае устройство ввода-вывода вместо сигнала на линии 233 присылает сигнал на линии 234, который устанавливает триггер 218, сигнал с выхода которого по шине 46 поступает в блок 18, и если условия, описанные в первом случае, не соблюдаются, то после выборки всех байтов данных из блока 14 в регистр 8 сигналом в линии 94 (пустой буфер) через элемент И 194 устанавливается триггер 186 запроса данных. Сигнал запроса состояния в линии 209 блокируется по сигналу на шинах 46 на элементах И 201, 202 низким уровнем сигнала с нулевого выхода триггера 187.
Запрос данных (сигнал 208) по шине 32 поступает в процессор 2, где вызывается микропрограмма передачи данных канала для операций считывания полного слова, которая выполняет следующие действия: чтение адреса данных из локальной памяти 5 в блок 7 и на вход арифметико-логического устройства 4, модификацию адреса данных соответственно на +8 или -8 через устройство 4 и запись его в локальную память. В этом же такте в канале 1 передаются данные из регистра 8 в регистр 9 по маске слова в регистре 15, а также запускается блок 7 для записи данных из регистра 9 по шинам 28 в оперативную память 6 по сигналу 37 записи в оперативную память. A data request (signal 208) via
Также в канале по сигналу 37 записи в оперативную память сбрасываются регистр 15 масок, триггер 205 и через элемент И 196 триггеры 186, 187 вторым синхросигналом по линии 167 (С2), тем самым включая в работу блок 17. Also in the channel, according to the
Прямое и обратное считывание неполного слова отличается тем, что оно выполняется как микропрограмма передачи данных для операций записи, за исключением того, что адрес данных не модифицируется, а сигналом 27 конца считывания данных из оперативной памяти через элемент И 206 устанавливается триггер 205 полного слова, триггеры 186 и 187 не сбрасываются. Это дает возможность в последующем войти в микропрограмму передачи данных полного слова и выполнить ее как описано выше. Direct and reverse reading of an incomplete word is different in that it is executed as a data transfer firmware for write operations, except that the data address is not modified, and the
Операция передачи данных по интерфейсу ввода-вывода обычно заканчивается. Когда содержимое счетчика 74 в блоке 14 становится равным содержимому счетчиков 53-56 в блоке 10. В этом случае через элемент 219 сравнения устанавливается триггер 217 конца операции, который через элемент И 221 блокирует установку триггера 212. Дальнейшее действие на интерфейсе аналогичны действиям в операциях записи. The data transfer operation on the I / O interface usually ends. When the contents of the
Сигнал запроса состояния в линии 209 вырабатывается по сигналу управления от абонента на шине 46 в блоке 18 через элемент И 202, если имеется сигнал равенства нуля счетчика байтов блока 10 в линии 68 и выключен триггер 187 ненулевой маски; через элемент И 201, если имеется сигнал пустого блока буферной памяти данных в линии 94 и выключен триггер 187 ненулевой маски. The status request signal in
При считывании байтов данных устройства ввода-вывода с блокировкой записи в оперативную память 6 установлен триггер 99 в регистре 13. Это вызывает блокировку установки триггера 186 через элемент И-НЕ 188. Микропрограмма передачи данных не выполняется, а все описанные в канале действия выполняются. When reading bytes of data from an I / O device with a write lock in
Начало временной диаграммы на фиг.14 соответствует моменту, когда в микропрограмме передачи данных разгружается регистр 8 в регистр 9, в блоке 14 накоплены четыре байта (байты "0"-"3"). The beginning of the time diagram in Fig. 14 corresponds to the moment when
Контроль выбираемых байтов осуществляется в блоке 19. При выполнении операции записи выбранный байт из регистра 8 поступает через мультиплексор 20 в блок 19 на дешифратор 172 четности и, если байт имеет неправильную четность, то через элементы ИЛИ 177, И 175 сигналом в линии 163 загрузки регистра 8 в блок 14 буферной памяти устанавливается триггер 171 ошибки по заднему фронту второго синхросигнала в линии 167 (С2). The control of the selected bytes is carried out in
При выполнении операции считывания по сигналу 165 из блока 14 байт загружается за один начальный такт в соответствующий байт регистр 8 по второму синхросигналу в линии 167 (С2) под управлением первого блока 11 младшего адреса, счетчик которого модифицируется в конце такта загрузки байта. Затем, чтобы проконтролировать загруженный байт в регистр 8, в следующем такте байт выбирается через мультиплексор 20 под управлением сигналов блока 12, задержанных на один такт относительно сигналов блока 11, с помощью сигнала 165, задержанного на один такт в триггере 170. Если байт имеет неправильную четность на дешифраторе 172, то устанавливается триггер 171 ошибки по заднему фронту второго синхросигнала (С2) и установленному триггеру 170 через элемент И 175. When performing a read operation on
Таким образом, с помощью одного дешифратора 172 четности осуществляется контроль всех выбираемых байтов данных в канале. Thus, using a single parity decoder 172, all selectable data bytes in the channel are monitored.
Установка триггера 171 блокирует сигналом в линии 182 шин 39 передачу байтов данных и вызывает установку триггера 217 конца операции в блоке 16 управления интерфейсом. The installation of the
Структура канала легко настраивается на любую ширину слова оперативной памяти путем изменения разрядности первого и второго счетчиков младшего адреса, регистра масок и изменения ширины слова в регистрах данных канала и при необходимости объема блока буферной памяти данных в байтах. The channel structure can be easily adjusted to any word width of RAM by changing the bit depth of the first and second counters of the lowest address, the mask register and changing the word width in the channel data registers and, if necessary, the size of the block of the buffer data memory in bytes.
На фиг.15 и 16 показаны соответственно диаграммы работы прототипа и предлагаемого селекторного канала, из которых видно, что введение второго регистра данных обеспечивает работу блока буферной памяти с первым регистром данных канала на фоне работы канала с оперативной памятью. Таким образом, предлагаемый селекторный канал имеет повышенное быстродействие при незначительных дополнительных аппаратурных затратах. On Fig and 16 are shown, respectively, diagrams of the prototype and the proposed selector channel, from which it can be seen that the introduction of the second data register ensures the operation of the buffer memory unit with the first data register of the channel against the background of the channel with random access memory. Thus, the proposed selector channel has increased performance with negligible additional hardware costs.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU92011423A RU2058585C1 (en) | 1992-12-14 | 1992-12-14 | Selector channel |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU92011423A RU2058585C1 (en) | 1992-12-14 | 1992-12-14 | Selector channel |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2058585C1 true RU2058585C1 (en) | 1996-04-20 |
RU92011423A RU92011423A (en) | 1996-11-20 |
Family
ID=20133479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU92011423A RU2058585C1 (en) | 1992-12-14 | 1992-12-14 | Selector channel |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2058585C1 (en) |
-
1992
- 1992-12-14 RU RU92011423A patent/RU2058585C1/en active
Non-Patent Citations (1)
Title |
---|
1. Авторское свидетельство СССР N 1534465, кл. G 06F 13/12, 1990. 2. Авторское свидетельство СССР N 1103218, кл. G 06F 13/12, 1984. * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4062059A (en) | Information processing system | |
JP3156813B2 (en) | Buffer control circuit | |
US4809161A (en) | Data storage device | |
US5133062A (en) | RAM buffer controller for providing simulated first-in-first-out (FIFO) buffers in a random access memory | |
US7096296B2 (en) | Supercharge message exchanger | |
US4271466A (en) | Direct memory access control system with byte/word control of data bus | |
US4949301A (en) | Improved pointer FIFO controller for converting a standard RAM into a simulated dual FIFO by controlling the RAM's address inputs | |
US4649512A (en) | Interface circuit having a shift register inserted between a data transmission unit and a data reception unit | |
US4071887A (en) | Synchronous serial data adaptor | |
CA1143071A (en) | Computer input/output arrangement | |
US5333294A (en) | Configurable data width direct memory access device with a read address counter and a write address counter which increments the addresses based on the desired data transfer width | |
EP0172038B1 (en) | Information processor | |
US5664122A (en) | Method and apparatus for sequencing buffers for fast transfer of data between buses | |
US3478325A (en) | Delay line data transfer apparatus | |
US5537582A (en) | Bus interface circuitry for synchronizing central processors running at multiple clock frequencies to other computer system circuitry | |
US7035956B2 (en) | Transmission control circuit, reception control circuit, communications control circuit, and communications control unit | |
EP0367995A2 (en) | Vector data transfer controller | |
RU2058585C1 (en) | Selector channel | |
US3144550A (en) | Program-control unit comprising an index register | |
US3328566A (en) | Input-output system for a digital computer | |
US3544965A (en) | Data processing system | |
US5249301A (en) | Processing communication system having a plurality of memories and processors coupled through at least one feedback shift register provided from ring configured input stations | |
US5179688A (en) | Queue system with uninterrupted transfer of data through intermediate locations to selected queue location | |
JPS5913762B2 (en) | Information bus control device | |
EP0176976B1 (en) | Disk controller with shared address register |