Устройство для обмена данными между оперативной памятью и периферийными устройствами
Иллюстрации
Показать всеРеферат
Изобретение относится к области вычислительной техники, в частности, к устройствам обмена данными. Оно может быть использовано в качестве буфера данных для каналов ввода-вывода ЭВМ. Цель изобретения - повышение пропускной способности, сокращение оборудования. Цель достигается тем, что в устройство для обмена между оперативной памятью и периферийными устройствами , построенное на основе двухадресного полупроводникового блока памяти, Изобретение относится к области вычислительной техники и может быть использовано в качестве буфера данных для каналов ввода-вывода ЭВМ. Целью изобретения явлется повышение быстродействия устройства. Сущность изобретения заключается в том, что для повышения пропускной способности каналов в устройстве для обмена данными между ОП и периферийными устройствами для буферизации данных используется полупроводниковая память и комбинационный сдвигатель. Управление введены второй блок адресации, второй блок управления памятью, блок формирования циклов, два сдвигателя, блок формирования масок, блок определения сдвига. Введение новых блоков позволило построить устройство для обмена данными на основе двухадресного полупроводникового блока памяти и комбина-ционных сдвигателей. При этом управление адресацией, режимами считывания, записи блока буферной памяти организовано таким образом, что имеется возможность одновременного обращения к разным байтам слов двух смежных строк, а комбинационный сдвигатель расположит байты данных на шинах данных в соответствии с адресом памяти, в которую производится запись. Это позволяет производить накопление данных в буферной памяти, не ожидая появления начального адреса оперативной памяти, и организовать обмен данных с оперативной памятью блоком данных (в несколько обменных слов за одну передачу данных в ОП). 8 з.п. ф-лы, 14 ил. 6 табл. адресацией, режимами считывания, записи буферной памяти, применяемой для хранения данных, построено таким образом, что разрешается одновременное обращение к разным байтам слова двух смежных слов данных.« Комбинационный сдвигатель используется для правильного расположения байтов обменного слова при записи их в ОА или буферную память. При реализации такого устройства для управления одновременным обращением к смежным словам буферной памяти разрабоfe С CJ VJ CJ о ел
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК (sl)s G 06 F 13/16
ГОСУДАРСТВЕННОЕ ПАТЕНТНОЕ
ВЕДОМСТВО СССР (ГОСПАТЕНТ СССР) -"" »ь Ж ой! п
"-ЦО A я
„; .,: .. -:.Т(:З- Т Д,,".ðä i ;!й gH »»" E(-„ä
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (21) 4850687/24 (22) 13.07.90 (46) 30,08.93. Бюл. )Ф 32 (71) Научно-исследовательский институт электронных вычислительных машин (72) А.Г.Рымарчук и Л.В,Чеховских (56) 1. Патент США М 4272809, кл, 340-172.5, 1981.
2. Авторское свидетельство СССР
М 1587521, кл. G 06 F 13/00, 1987. (54) УСТРОЙСТВО ДЛЯ ОБМЕНА ДАННЫМИ МЕЖДУ ОПЕРАТИВНОЙ ПАМЯТЬЮ И
ПЕРИФЕРИЙНЫМИ УСТРОЙСТВАМИ (57) Изобретение относится к области вычислительной техники, в частности, к устройствам обмена данными. Оно может быть использовано в качестве буфера данных для каналов ввода-вывода ЭВМ, Цель изобретения — повышение пропускной способности, сокращение оборудования. Цель достигается тем, что в устройство для обмена между, оперативной памятью и периферийными устройствами, построенное на основе двухадресного полупроводникового блока памяти, Изобретение относится к области вычислительной техники и может быть использовано в качестве буфера данных для каналов ввода-вывода ЭВМ.
Целью изобретения явлется повышение быстродействия устройства.
Сущность изобретения заключается в том, что для повышения пропускной способности каналов в устройстве для обмена данными между ОП и периферийными устройствами для буферизации данных используется полупроводниковая память и комбинационный сдвигатель. Управление
„„. Ж„„1837305 А1 введены второй блок адресации, второй блок управления памятью, блок формирования циклов, два сдвигателя, блок формирования масок, блок определения сдвига.
Введение новых блоков позволило построить устройство для обмена данными нэ основе двухадресного полупроводникового блока памяти и комбинационных сдвигателей. При этом управление адресацией, режимами считывания, записи блока буферной памяти организовано таким образом, что имеется возможность одновременного обращения к разным байтам слов двух смежных строк, а комбинационный сдвигатель расположит байты данных на шинах данных в соответствии с адресом памяти, в которую производится запись. Это позволяет производить накопление данных в буферной памяти, не ожидая появления начального адреса оперативной памяти, и организовать обмен данных с оперативной памятью блоком данных (в несколько обменных слов за одну передачу данных в ОП).
8 з,п. ф-лы, 14 ил. 6 табл. адресацией, режимами считывания, записи буферной памяти, применяемой для хранения данных, построено таким образом, что разрешается одновременное обращение к разным байтам слова двух смежных слов данных. ч
Комбинационный сдвигатель используется для правильного расположения байтов обменного слова при записи их в ОА или буферную память.
При реализации такого устройства для управления одновременным обращением к смежным словам буферной памяти разрабо1837305 таны блоки адресации, управления памятью для организации передачи данных между
ОП и буферной памятью — блоки анализа запросов, формирования циклов, сдвигателей, определения сдвига, формирования 5 маски.
На фиг.1 представлена блок-схема устройства для обмена данными между оперативной памятью и периферийными устройствами; на фиг.2 — блок памяти; на 10 фиг.3 —; на фиг.4— первый блок управления памятью; на фиг,5— блок анализа запросов; на фиг.6 — второй блок адресации; на фиг.7 — второй блок управления памятью; на фиг.8 — блок формирования циклов; на фиг.9 — блок формирования маски; на фиг,10 — блок определения сдвига, на фиг.11 — первый сдвигатель; на фиг.12 — второй сдвигатель; на фиг.13 — временная диаграмма обмена данными между блоком памяти и периферийными устройствами; на фиг.14 — временная диаграмма обмена данными между блоком памяти и оперативной памятью.
Устройство для обмена данными содержит блок 1 памяти, первый блок 2 адресации, первый блок 3 управления памятью, блок 4 анализа запросов, второй блок 5 адресации, второй блок 6 управления памятью, блок 7 формирования циклов, два сдвигателя 8, блок 9 формирования маски, блок 10 определения сдвига, группу адресных входов 11 устройства, вход 12 разрешения обмена устройства, выход 13 маски устройства, вход 14 синхронизации устройства, выход 15 конца обмена устройства, выход 16 зап роса на обмен устройства, вход
17 задания направления обмена, вход 18 константы передачи устройства, вход 17 задани направлени обмена, вход 18 константы передачи устройства, выход 19 ответа устройства, вход 20 запроса на обмен устройства, вход 21 задания кода единицы устройства, первую 22 шину данных устройства для соединения с оперативной памятью, вторую 23 шину данных устройстsa дл соединени с периферийными устройствами, первую 24 группу информационных входов-выходов блока памяти, первый адресный вход 25 блока памяти, вход 26 номера байта первого блока управления памятью, первую группу управляющих входов 27, 28, 29 блока памяти, вход 30 сброса второго блока управления памятью, вход 31 номера байта блока определения сдвига, второй адресный вход 32 блока памяти, второй выход 33 второго блока управления памятью, управляющий вход 34 второго сдвигэтеля, вторую группу управляющих входов 35, 36, 37 блока памяти, третий уп15
55 равляющий вход 38 блока формирования маски, вход 39 конца цикла второго блока управления памятью, вход 40 константы модификации второго блока адресации, выход
41 блока определени сдвига.
Группа 11 адресных входов устройства соединена с адресными входами блока 7 формирования циклов, блока 9 формирования маски и блока 10 определения сдвига.
Вход 12 разрешения обмена устройства соединен с одноименным входом второго блока 6 управления памятью. Выход 13 маски устройства является выходом блока 9 формирования маски. Вход 14 синхронизации устройства соединен с первым входом блока 4 анализа запросов, с синхровходами блока 9 формирования масок, блока 10 определения сдвига, первого 3 и второго 6 блоков управления памятью, блока 7 формирования циклов, первого 2 и второго 5 блоков адресации.
Третий выход второго блока 6 управления памятью соединен с четвертым управляющим входом блока 4 анализа запросов и является выходом 15 конца обмена устройства. Первый выход блока 4 анализа запросов является выходом 16 запроса на обмен устройства.
Вход 17 задания направления обмена соединен с первыми управляющими входами блока 9 формирования маски, первого 3 и второго 6 блоков управления памятью и блока 4 анализа запросов.
Вход 18 константы передачи устройства соединен с вторыми управляющими входами блока 7 формирования циклов и блока 4 анализа запросов. Второй выход блока 4 анализа запросов соединен с входами разрешения первого блока 2 адресации и первого блока 3 управления памятью и является выходом 19 ответа устройства.
Второй вход блока 4 анализа запросов является входом 20 запроса на обмен устройства, а третий управляющий вход соединен с входом 21 задания кода единицы устройства.
Первая 22 шина данных устройства для соединения с оперативной памятью соединена с выходом первого сдвигателя и с информационным входом второго сдвигателя и является системной магистралью.
Вторая 23 шина данных устройства для соединения с периферийными устройствами соединена с второй группой информационных входов-выходов блока 1 памяти и является канальной магистралью.
Первая группа 24 информационных входов-выходов блока 1 памяти соединена с информационным входом первого сдвигателя и с выходом второго сдвигателя и образу1837305 т двунаправленные шины буферной магитрали.
Первый 25 и второй 32 адресные входы блока 1 памяти соединены соответственно с первыми выходами первого 2 и второго 5 блоков адресации и являются соответстенно шинами адреса строки порта B и пора А.
Первая группа выходов 27, 28, 29 первого блока 3 управления памятью соединена оответственно с первой группой управляющих входов блока 1 памяти и являются соответственно шинами записи, чтения и разрешения выходов порта В, Вход 30 сброса второго блока 6 управ ления памятью соединен с третьим выходом блока 4 анализа запросов.
Вход 31 номера байта блока определе:ния сдвига и вход 26 номера байта первого блока управления памятью соединены сооТветственно с вторыми выходами второго 5 и первого 2 блоков адресации и являются соответственно шинами номера байта в строке порта А и порта В.
Второй выход 33 второго блока 6 управления памятью соединен с управляющими входами второго блока 5 адресации и блока
10 определения сдвига, вторым управляющим входом блока 9 формирования масок и первым управляющим входом блока 7 формирования циклов и является выходом триггера связи с оперативной памятью, Первый выход 34 второго блока 6 управ ления памятью соединен с управляющим входом второго сдвигателя 8 и является выходом разрешения сдвига.
Группа выходов 35, 36, 37 второго блока
6 управления памятью соединена соответственно с второй группой управляющих входов блока 1 памяти, а выход 35 разрешения выдачи группы выходов соединен также с управляющим входом первого сдвигателя 8 и является сигналом разрешения выходов порта А, выходы 36, 37 являются соответственно стробами записи и чтения порта А.
Третий выход 38 блока 7 формирования циклов соединен с третьим управляющим входом блока 9 формирования маски и является группой выходов Х младших разрядов регистра константы передачи.
Вход 39 конца цикла второго блока 6 управления памятью соединен с вторым выходом блока 7 формирования циклов, который является выходом равенства нулю константы передачи.
Вход 40 константы модификации второго блока 5 адресации соединен с первым выходом блока 7 формирования циклов, Вы ход 41 блока 10 определения сдвига соеди5
55 нен с входами величины сдвига первого и второго сдвигателей 8 и является группой выходов регистра сдвига, Блок 1 памяти (фиг.2) предназначен для временного хранения байтов данных, поступающих в него по двунаправленным шинам канальной 23 и буферной 24 магистралям.
Он содержит п узлов 42 двухвходовой двухадресной памяти с портами А и В, которая реализована на микросхеме К1800РП6 (зарубежный аналог Н С1Р806).
Двунаправленные шины 23 канальной магистрали соединены с входами-выходами портов В п узлов 42.
Двунаправленные шины 24 буферной магистрали соединены с входами-выходами портов А и узлов 42.
Первый 25 и второй 32 адресные входы, первая группа 27, 28, 29 управляющих входов и вторая группа 36, 37, 35 управляющих входов блока соединены с соответствующими входами и узлов 42.
Первый блок 2 адресации (фиг.3) предназначен для адресации ячеек двухадресного лока 1 памяти по порту В.
Он содержит элемент 43 И и счетчик 44 номера байта порта В, Выходы Х младших разрядов и Y оставшихся разрядов счетчика
44 номера байта порта В соединены соответственно с шинами 26 номера байта в строке порта В и с шинами 25 адреса строки порта В. Вход счетчика 44 соединен с выходом элемента 43 И. Первый и второй входы элемента 43 И соединены соответственно с входом разрешения 19 блока и с линией 65 синхровхода 14 блока, Первый блок 3 управления памятью (фиг.4) предназначен для выработки управляющих сигналов записи и чтения байтов данных для порта В блока 1 памяти. Он содержит дешифратор 46, первый 47 и второй 48 элементы И, первый 49, второй 50 и третий 51 селекторы, Выходы первого 49, второго 50 и третьего 51 селекторов соединены соответственно с шинами 27 записи порта В, с шинами 28 чтения порта В и с шинами 29 разрешения выходов порта В.
Вход дешифратора 46 соединен с входом
26 номера байта блока, а выходы дешифратора 46 соединены с первыми входами первого 49, второго 50 и третьего 51 селекторов. Вход 19 разрешения блока соединен с первыми входами первого 47 и второго 48 элементов И, а выходы этих элементов И соединены соответственно с вторыми входами первого 49 и второго 50 селекторов.
Первый управляющий вход 17 блока соединен с вторым входом первого 47 элемента И и с вторыми инверсными входами
1837305 второго 48 элемента И и третьего 51 селектора. Линия 45 синхровхода 14 блока соединена с третьими входами первого 47 и второго 48 элементов И, Блок 4 анализа запросов (фиг.5) преднаначен для выработки запросов на обмен данными с оперативной памятью, а также для выработки сигнала обслуживания периферийного устройства и конца обмена данными с оперативной памятью, Он содержит мультиплексор 52, триггер 53 обслуживания периферийного устройства, схему 54 сложения по модулю два, первый 55, второй 56, третий 62, четвертый 63 и пятый 61 элементы И, арифметико-логическое устройство
57, элемент 58 ИЛИ, регистр 59 счетчика байтов, схему сравнения 60, сигнал 66 запроса на выдачу данных в оперативную память и сигнал 67 запроса на прием данных от оперативной памяти.
Второй управляющий вход 18 блока соединен с первыми входами мультиплексора 52 и схемы сравнения 60, второй вход которой соединен с первым входом арифметика-логического устройства 57, с выходом регистра 59 и с входами пятого 61 элемента И. Выходы схемы сравнения 60 и пятого 61 элемента И соответственно соединены с первыми входами третьего 62 и четвертого 63 элементов И, выходы которых соединены соответственно с линиями
66, 67 первого 16 выхода блока, Третий управляющий 21, второй 20 и четвертый управляющий 15 входы блока соединены соответственно с вторым входом мультиплексора 52, первым входом триггера 53 и третьим входом второго 56 элемента И, выход которого соединен с третьим 30 выходом блока и с вторым входом элемента 58
ИЛИ, второй вход которого соединен с выходом первого 55 элемента И. а выход соединен с вторым входом регистра 59, первый вход которого соединен с выходом арифметико-логического устройства 57, второй и третий выходы которого соединены соответственно с выходом мультиплексора 52 и выходом схемы 54 сложения по модулю два, первый вход которой соединен с первым входом первого 55 элемента И, с первым инверсным входом второго 56 элемента И, с третьим входом мультиплексора 52, с выходм триггера 53 и с вторым 19 выходом блока. Линия 64 первого 14 входа блока соединена с вторым входом триггера 53, а линия 65 первого 14 входа блока соединена с вторыми входами первого 55 и второго 56 элементов И, Первый управляющий 17 вход блока соединен с вторыми входами схемы 54 сложения по модулю два и третьего 63 элемента
И и с вторым инверсным входом четвертого
63 элемента И.
Второй блок 5 адресации (фиг.6) предназначен для адресации mxn ячеек порта А блока 1 памяти, Он содержит регистр 68 номера байта порта А, схему 69 И, дешифратор 70, счетчик 71 номера строки, арифметика-логическое устройство 72, n — 2 элементов
73 ИЛИ и n — 1 мультиплексоров 74.
Выходы n — 1 мультиплексоров 74 соединены с первым 32 выходом блока, синхровход 14 которого соединен с первым входом счетчика 71 и вторым входом элемента 69 И, выход которого соединен с третьим входом счетчика 71 и вторым входом регистра 68, выход которого соединен с первым 32 и вторым 31 выходами блока, с первыми входами п — 1 мультиплексоров 74, с первым входом арифметико-логического блока 72 и с входом дешифратора 70, выходы которого соединены с третьим входом (и — 1)-го мультиплексора 74 и с входами n — 2 элементов 73
ИЛИ, выходы которых соединены соответственно с третьими входами n — 2 мультиплексоров 74, вторые входы мультиплексоров 74 соединены с выходом счетчика 71, второй вход которого соединен с вторым входом регистра 68 и с выходом арифметика-логического устройства 72, второй вход которого соединен с входом 40 константы модификации блока, а управляющий вход 33 блока соединен с третьим входом арифметико-логического устройства 72 и с первым входом элемента 69 И, Второй блок 6 управления памятью (фиг.7) предназначен для выработки управляющих сигналов записи, чтения, разрешения выходов для порта А блока 1 памяти на время цикла связи с ОП, а также для определения длительности связи с ОП.
Он содержит триггер 76 связи с ОП (ТСОП), триггер 77 равенства нулю константы передачи (ТКПДО), первый 78, второй 79, третий 80 и четвертый 81 элементы И. Выходы третьего 80 и четвертого 81 элементов И соединены соответственно с 36 и 37 выходами блока, а вторые входы элементов 80, 81
И соединены с линией 45 синхровхода 14 блока, линия 64 которого соединена с третьим и пятым входами триггера 76 ТСОП, а линия 75 соединена с вторым входом триггера 77 ТКПДО.
Выход триггера 76 ТСОП соединен с первыми входами первого 78 и второго 79 элементов И и с вторым ЗЗ выходом блока.
Выход триггера 77 ТКПДО соединен с вторым инверсным и четвертым входами триггера 76 ТСОП и с третьим 15 выходом блока, вход 12 разрешения обмена устрой1837305 ства которого соединен с первым входом
|триггера 76 ТСОП.
Вход 39 конца цикла и вход 30 сброса блока соединены соответственно с первым и третьим входами триггера 77 ТКПДО, а первый управляющий вход 17 блока соединен с вторым входом первого 78 элемента
И и с вторым инверсным входом второго
79 элемента И, выход которого соединен с первым входом третьего элемента И и с первым 34 выходом блока, выход 35 разрешения выдачи группы выходов которого соединен с выходом первого 78 элемента
И и с первым входом четвертого 81 элемента И.
Блок 7 формирования циклов (фиг.8) предназначен для модификации константы передачи и выработки сигнала равенства нулю константы передачи, а также для формирования константы модификации.
Он содержит мультиплексор 82, постоянное запоминающее устройство ПЗУ 83, первый 84 элемент И, элемент ИЛИ 85, регистр 86 константы передачи (РКПД) арифметико-логическое устройство (АЛУ) 87 и второй 88 элемент И.
Первый вход мультиплексора 82 соединен с линией 89 второго управляющего 18 входа блока, линия 90 которого соединена с первым входом элемента 85 ИЛИ, второй вход которого соединен с выходом первого
84 элемента И, второй вход которого соединен с линией 65 синхровхода 14 блока, а первый вход соединен с третьим входом
АЛУ 87, первым управляющим входом 33 блока и с третьим входом мультиплексора
82, Второй вход мультиплексора 82 соединен с выходом АЛУ 87, а выход соединен с первым входом регистра 86, второй вход которого соединен с выходом элемента 85
ИЛИ. Выход регистра 86 соединен с третьим 38 выходом блока, с первым входом
АЛУ 87, с вторым входом ПЗУ 83 и с инверсным входом второго 88 элемента И, выход которого соединен с вторым 39 выходом блока.
Адресный 11 вход блока соединен с первым входом ПЗУ 83, выход которого соеди нен с вторым входом АЛУ 87 и с первым 40 выходом блока, Блок 9 формирования маски (фиг.9) предназначен для формирования маски обменного слова ОП.
Он содержит постоянное запоминающее устройство 91, элемент 92 И и регистр
93 маски, Первый и второй входы ПЗУ 91 соедине ны соответственно с адресным 11 и третьим
1управляющим 38 входами блока. Выходы ! ПЗУ 91 соединены с первым входом регист5
55 ра 93, выход которого соединен с выходом
13 блока, а второй вход соединен с выходом элемент" 92 И, первый и второй входы которого соединены соответс-.веннс с первым
17 и вторым 33 управляющими входами блока, а третий вход элемента 92 И соединен с линией 64 синхроехода 14 блока, Блок 10 определения сдвига (фиг,10) предназначен для формирования величины сдвига для первого и второго сдвигателей.
Он содержит арифметико-логическое устройство 94, элемент 95 И и регистр 96 сдвига, Первый и второй входы АЛУ 94 соединены соответственно с адресным 11 и номера байта 31 входами блока, Управляющий 33 вход блока соединен с первым входом элемента 95 и с третьим входом АЛУ 94. выход которого соединен с первым входом регистра 96, выход которого соединен с выходом
41 блока. Второй вход регистра 96 соединен с выходом элемента 95 И, второй вход которого соединен с линией 64 синхровхода 14 блока.
Первый сдвигатель 8 (фиг.11) —,ðåäíàýначен для правильного расположения байтов обменного слава, выдаваемо с а ОП. Он содержит и/2 узлов 97 комбинационного сдвигателя, который реализован на микросхеме К 1800 PBB.
Информационные входы узлов 97 соединены с двунаправленными шинами 24 буферной магистрали, а информационные выходы узлов 97 соединены с двунаправленными шинами 22 системной магистрали.
Первые входы управления сдвигов узлов 97 соединены с входом 41 величины сдвига блока, а вторые входы управления видом сдвига узлов 97 соединены с управляющим 35 входом блока.
Второй сдвигатель 8 (фиг.12) предназначен для правильного расположения байтов обменного слова, принимаемого из ОП, Он содержит n/2 узлов 97 комбинационного сдвигателя, реализованного на микросхеме К 1800 8Р8.
Информационные входы узлов 97 соединены с двунаправленными шинами 22 системной магистрали, а информационные выходы узлов 97 соединены с двунаправленными шинами 24 буферной магистрали, Первые входы управления сдвигом узлов 97 соединены с входом 41 величины сдвига блока, а вторые входы управления видом сдвига узлов 97 соединены с управляющим входом 34 блока. устройство для об1837305
55 мена данными между оперативной памятью и периферийными устройствами работает следующим образом.
Оперативная память (ОП) и периферийное устройство (ПФУ), обменивающиеся информацией, используют для промежуточного хранения передаваемых данных блок 1 памяти (БП1).
БП1 представляет собой двухадресную двухпортовую память емкостью mxn байтов (где m — количество строк, à n — количество байтов в строке), позволяющую вести одновременно обмен данными между
БП1 и ОП по порту А и между БП1 и ПФУ по порту В.
Ширина БП1 выбрана равной ширине обменного слова ОП, т.е. формат обмена с
ОП равен и байтам.
БП1 содержит и узлов 42. Каждый узел представляет собой двухадресную двухпортовую память емкостью mx1 байт.
Двунаправленные входы-выходы портов А и узлов 42 образуют и-байтовую двунаправленную шину 24 буферной магистрали, которая используется для параллельной записи-чтения и байтов данных при обмене между ОП и БП1.
Двунаправленные входы-выходы портов В и узлов 42 объединены и образуют однобайтовую двунаправленную шину 23 канальной магистрали, которая используется для последовательной записи-чтения байтов данных при обмене между ПФУ и
БП1.
При обмене данными с ПФУ блок 1 памяти всегда заполняется сначала независимо от начального адреса данных ОП.
Обмен данными с ПФУ начинается по сигналу, поступающему на вход 20 запроса на обмен устройства. В ответ на запрос в блоке 4 анализа запросов вырабатывается единичный сигнал на выходе 19 ответа устройства, который разрешает работу первого блока 3 управления памятью и первого блока 2 адресации (см. временную диаграмму фиг.13).
Первый блок 2 адресации выдает в БП1 адрес одной иэ m строк по шинам 25 адреса строки порта В, à в первый блок 3 управления памятью номер байта в строке по шинам 26. По этому номеру первый блок 3 управления памятью выдает на шине 27 записи порта В в блок 1 памяти один иэ и стробов записи, если выполняется операция ввода, или один из и чтения на шины 28 чтения порта В и один из и сигналов разрешения выходов на шины 29 разрешения выходов порта В, если выполняется операция вывода, Какая операция выполняется, определяет сигнал задания направления обмена на входе 17 устройства. Единичный уровень этого сигнала задает операцию ввода, а нулевой — вывода.
После приема или выдачи байта данных в первом блоке 2 адресации увеличивается на единицу номер байта порта В, а в блоке
4 анализа запросов увеличивается при вводе или уменьшается при выводе количество принятых или выданных байтов на константу равную единице, поступающую с входа 21 устройства, Блок 4 анализа запросов сравнивает количество принимаемых при вводе или выдаваемых при выводе байтов данных с количеством байтов, которым необходимо обменяться с ОП за один цикл связи. Это количество задается величиной константы передачи, поступающей на вход 18 устройства.
Если при вводе в БП1 накопилось нужное количество байтов, а при выводе есть куда принять нужное количество байтов, блок 4 анализа запросов вырабатывает на выходе 16 запрос на обмен с ОП.
Обмен данными между БП1 и ОП может происходить начиная с адреса данных ОП кратному обменному слову ОП, т.е. количество младших разрядов адреса данных равное!оцуп равно нулю...
В этом случае порядок расположения байтов данных в ПБ1 соответствует порядку расположения данных в ОП, т.е. каждая из
m строк БП1 является обменным словом для
ОП.
Если же адрес данных не кратен обменному слову — количество младших разрядов равное logan не равны нулю, то в первом цикле связи с ОП будет передано в ОП байтов меньше и и расположены они дожны быть в зависимости от значения logan младших разрядов адреса данных ОП. . В следующем цикле связи с ОП надо передать в ОП полное обменное слово из и байтов, которое содержит оставшиеся байты текущей строки и часть байтов (допопнение до и) следующей строки и расположить их в нужном порядке, Какие байты адресовать в текущей строке, а какие в следующей, определяются по количеству переданных байтов в первом обменном слове, т.е. по номеру байта в строке, который получился в результате модификации адреса номера байта порта А на количество переданных байтов в первом цикле связи.
Например, при п = 8 анализируются при (log2 8 = 3) младшие разряды адреса данных
ОП, Если они равны, например, пяти (101), 13
1837305
14 о в первом цикле связи с ОП надо будет ередать три первые байта нулевой строки
П1 и расположить их с адреса равного пяи. После передачи модифицированный адес номера байта порта А будет равен 3 и в ледующем цикле связи надо передать пять ставшихся байтов нулевой строки и три ервые байта первой строки и расположить хв нужном порядке. Следующее обменное лово будет состоять из пяти оставшихся байов первой строки и трех первых байтов торой строки и так далее.
Расположение байтов данных в БП1 риведено в табл.1.
Расположение байтов данных в ОП приедено в табл.2, При приеме байтов из ОП, расположеных не по границе двойного слова, в первом икле связи будет принято количество байов меньше п и расположены в БП1 они удут начиная с нулевого байта. В следуюем цикле связи от ОП будет принято п айтов, часть из которых будет расположеа в текущей строке БП1, а часть в следущей.
Для расположения байтов в соответстии с адресом данных ОП применены одноапраеленные сдвигатели 8. Первый спользуется при выполнении операций вода, а второй при выполнении, операций
ы вода.
Каждый из сдвигателей содержит n/2 злое 43, Каждый узел представляет собой вухбайтовый программируемый сдвигаель, на входы величины сдвига которого одается величина сдвига с группы выходов
1 регистра сдвига блока .10 определения двига, а на управляющие входы код операии сдвига. Для первого сдвигателя код опеации задается сигналом 35 разрешения
ыходов порта А, а для второг сдвигателя игналом 34 разрешения сдвига второго лока 6 управления памятью.
При отсутствии сигналов на выходах 34, 5 второго блока 6 управления памятью выоды соответствующих сдвигателей отклюены.
Таким образом, при выполнении опеации ввода отключены выходы второго двигателя 8 от буферной магистрали 24, а
ыходы первого сдвигателя открываются на ремя цикла обмена с ОП.
При выполнении операций вывода выоды первого сдвигателя 8 отключены от истемной магистрали 22, а выходы второго двигателя 8 открываются во время цикла вязи с ОП.
Обмен данными с ОП начинается по сигалу разрешения обмена поступающему на ход 12 устройства. В ответ на разрешение
35
40 будет выдана на шины 22 системной магистрали.
5
20 обмена во втором блоке 6 управления памятью вырабатывается единичный сигнал на выходе 33 триггера связи с оперативной памятью, который разрешает работу второго блока 5 адресации, второго блока б управления памятью, блока 7 формирования циклов, блока 9 формирования маски и блока 10 определения сдвига на время цикла связи с ОП (см. временную диаграмму фиг,14).
Второй блок 5 адресации проадресует одну из m строк, задав адрес текущей строки для каждого из и узлов 42 блока 1 памяти на шинах 32 адреса строки порта А, если обмен ведется байтами, расположенными на границе обменного слова.
Если данные расположены не по границе обменного слова, то второй блок 5 адресации проадресует часть байтов (узлов 42) текущей строкой, а часть байтов (узлов 42) следующей строкой, т,е. будет адресовано обменное слово, байты которого содержатся в двух соседних строках.
Второй блок 5 адресации выдает также по шинам 31 номер байта в строке порта А в блок 10 определения сдвига, по которому
В зависимости от младших 1092п разрядов адреса данных, поступающих с входа 11 устройства, сформируется величина сдвига на выходах 41 регистра сдвига блока 10 определения сдвига.
Второй блок 6 управления памятью при выполнении операций ввода вырабатывает строб 37 чтения порта А для всех и узлов 42 блока 1 памяти для параллельного чтения обменного слова, сигнал 35 разрешения выходов порта А БП1, который также задает код сдвига для первого сдвигателя и информация с выходов первого сдвигателя
При выполнении операций вывода второй блок 6 управления памятью вырабатывает код сдвига на выходе 34 разрешения сдвига для второго сдвигателя и обменное слово с шин 22 системной магистрали через второй сдвигатель поступит на шины 24 буферной магистрали для записи по порту А
БП1 по стробу Зб записи порта А, который вырабатывает второй блок 6 управления памятью.
После приема-выдачи обменного слова модифицируется номер байта порта А ео втором блоке 5 аааесации на количество, переданных байтов в сторону увеличения. В блоке 4 анализа запросов модифицируется количество байтов устройства в сторону уменьшения при вводе и е сторону увеличения при выводе также на величину переданн ых байтов.
1837305
С целью увеличения пропускной способности устройства после выравнивания данных по границе обменного слова обмен данных ведется несколькими обменными словами, т,е. блоками данных.
Величина блока задается константой передачи на входе 18 устройства и может быть равной Кп, где k — количество строк (k < m) передаваемых за один цикл связи с ОП.
Длительность цикла связи с ОП в зависимости от величины константы передачи определяет блок 7 формирования циклов.
По мере передачи-приема обменных слов константа передачи модифицируется на величину константы модификации в сторону уменьшения, Величина константы модификации равна количеству байтов обменного слова и выдается на выход 40 блока 7 формирования циклов для модификации номера байта порта А по мере приема-выдачи обменных слов в сторону увеличения. Когда обмен блоком кончится, блок 7 формирования циклов вырабатывает на выходе 39 сигнал равенства нулю константы передачи по которому второй блок 6 управления памятью выдает на выход 15 устройства сигнал конца обмена с ОП и вырабатывает нулевой уровень на выходе
33 триггера связи с ОП, который прекращает работу всех блоков по обслуживанию порта А.
Сигнал конца обмена с ОП будет присутствовать на выходе 15 устройства до тех пор пока не промодифицируется количество байтов в устройстве в блоке 4 анализа за-. просов на величину константы передачипри вводе в сторону уменьшения, а при выводе в сторону увеличения. После модификации блок 4 анализа запросов на выходе 30 формирует сигнал, по которому второй блок
6 управления памятью сбрасывает на выходе 15 устройства сигнал конца обмена с ОП.
Устройство готово для следующего цикла связи с ОП.
Блок 1 памяти (фиг,2) работает следующим образом.
При выполнении операций ввода сигнал на входе 17 задания направления обмена устройства задает направление обмена от ПФУ в ОП, т.к, канальная магистраль 23 будет входной, а буферная магистраль 24 выходной, Байт данных, поступающий от ПФУ по канальной магистрали 23 присутствует на входах-выходах порта В каждого из узлов
42 БП1. Шины 25 адреса строки порта В проадресуют нулевую строку во всех узлах
42, а на шинах 27 записи порта В вырабатывается один строб записи в первый узел 42
БП1.
40
45 . Первый блок 3 управления памятью
5
При поступлении следующего байта данных от ПФУ вырабатывается строб записи во второй узел 42 БП1 и т.д. до заполнения нулевой строки и байтами, а затем проадресуется первая строка и заполнится и байтами. Аналогичным образом будут заполняться следующие строки БП1.
По порту А читается обменное слово для.
0ll по стробу 37 чтения порта А, поступающему во все узлы 42. Обменное слово может состоять из байтов одной строки или двух соседних строк, в зависимости от адреса, который задается индивидуально для каждого узла 42 на шинах 32 адреса строки порта А.
Проадресованное и прочитанное обменное слово выдается на шины 24 буферной магистрали по сигналу 35 разрешения выходов порта А, общему для всех узлов 42
БП1.
Первый блок 2 адресации (фиг,3) работает следующим образом:
Для адресации количества nxm байтов
БП1 по порту B используется счетчик 44 номера байта порта В. Количество разрядов счетчика определяется по формуле:
Z = log2(nxm) = 1092п + logjam = Х + Y, где Х вЂ” количество младших разрядов счетчика, адресующих пбайтов в строке,,Y— количество оставшихся разрядов, адресующих m строк.
Младшие разряды 1-Х образуют шину
26 номера байта в строке порта В. Следующие "Y" разрядов (Х + 1) — Z образуют шины
25 адреса строки порта В.
Каждый раз во время обслуживания
ПФУ, т.е. при наличии единичного сигнала на выходе 19 ответа устройства после приема-передачи байта данных содержимое счетчика 44 увеличивается на +1 по синхросигналу 65 входа 14 синхронизации. Сигнал модификации вырабатывается на выходе элемента 43 И. (фиг.4) работает следующим образом:
Во время обслуживания ПФУ при обмене байтом данных по порту В блока 1 памяти срабатывает либо первый 49, либо второй 50 и третий 51 селекторы в зависимости от кода выполняемой операции.
Код выполняемой операции определяет сигнал на входе 17 задания направления обмена.
Единичный уровень этого сигнала определяет операцию ввода, а нулевой — вывода.
О том, что идет обмен байтом данных между ПФУ и портом В БП1 говорит единичный уровень сигнала на входе 19 блока.
1837305
При