Устройство для обмена данными между оперативной памятью и периферийными устройствами
Иллюстрации
Показать всеРеферат
Изобретение относится к вычислительной технике и может быть использовано в качестве блока передачи данных в каналах ввода-вывода. Целью изобретения является повьшение надежности работы устройства за счет обеспечения контроля обмена информацией. Устройство содержит коммутатор данных , блок памяти, блок промежуточного хранения данных, регистр адреса зоны памяти, дешифратор, коммутатор выбора данных, блок признаков, блок доступа к памяти, счетчик адреса чтения-записи , блок управления, два сумматора , два блока сравнения, счетчик байтов, регистр конца чтения, регистр адреса данных. Изобретение - дополнительное к авт.св. №.1182536. 7 ил. i
СОЮЗ СОВЕТСНИХ
СОЦИАЛИСТИЧЕСНИХ
РЕСПУБЛИН
09) (И) (511 4 G 06 F 13/00
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Н Д ВТОРСНОМ,Ф СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ НОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИЙ (61) 1182536 (21) 3900031/24-24 (22) 09.04.85 (46) 30.09.86. Вюл. М- 36 (72) В.M.Пронин, В.В.Карпейчик, Л.Н.Извозчикова и B.Ñ.Õàìåëÿíñêèé (53) 681.325(088,8) (56) Авторское свидетельство СССР
У 1182536, кл. G 06 P 13/00, 1984. (54) УСТРОЙСТВО ДЛЯ ОБМЕНА ДАННЫМИ
МЕЖДУ ОПЕРАТИВНОЙ ПАМЯТЬР И ПЕРИФЕ РИЙНЫМИ УСТРОЙСТВАМИ (57) Изобретение относится к вычислительной технике и может быть использовано в качестве блока передачи данных в каналах ввода-вывода. Целью изобретения является повышение надежности работы устройства за счет обеспечения контроля обмена информацией.
Устройство содержит коммутатор данных, блок памяти, блок промежуточного хранения данных, регистр адреса зоны памяти, дешифратор, коммутатор выбора данных, блок признаков, блок доступа к памяти, счетчик адреса чтения-записи, блок управления, два сумматора, два блока сравнения, счетчик байтов, регистр конца чтения, регистр адреса данных. Изобретение — дополнительное к авт.св. 9.1182536. ? ил.
1? 6r)970
11 (амбре тенис.. A 11èси гс л Y. вычис Jl;{ тельной технике и может быть использовано г. качестве блока передачи данных H каналах RR )ïë-вывспя.
11ель изобретения — повьппечие надежности рабсть устройства путем обеспечения контроля обмена информацией путем использования найденной закономерности соответствия содержимого трехразрядного регистра адреса данных значениям трех младших разрядов счетчика байтов и счетчика адреса чтения-записи. Для контроля укаэанного соответствия используется сумматор и схема сравнения вместо традиционных схем контроля по четности на каждый блок. Найденная закономерность соответствия содержимого регистра адреса данных значениям младших разрядов счетчика байтов и счетчика адреса чтения-записи обеспечивает полный контроль работы трех блоков, счетчика байтов, счетчика адреса чтения-записи, регистра адреса данных, которые управляют передачей данных на всех этапах прохождения байтов данных от периферийных устройств ПФУ) до оперативной памя.ти (ОП1 и от ОП до ЛФУ, а также при загрузке начальной информации и при загрузке управляющего слова устройства (Убу) на регистры устройства. Б случае несоответствия со схемы сравнения выдается сигнал ошибки. Разряд— ность сумматора определяется раэнорядностью контролируемых счетчиков.
Работа сумматора управляется кодом выполняемой команды: Запись, Считывание обратное,"Считывание прямое . При выполнении команд Запись" и "Считывание обратное сумма значений счетчика адреса чтения-записи и счетчика байтов оказывается равной содержимому регистра адреса данных.
При выполнении команды Считывание прямое" содержимое регистра адреса .данных оказывается равной разности значений счетчика адреса чтения-записи и счетчика байтов.
По найденной закономерности соответ".òâèÿ содержимого трехраэрядного регистра адреса данных значениям трех младших разрядов счетчика байтов и счетчика адреса чтения-"àïèñè после загрузки начальной информации и во время обмеча ьсегда должны выполняться равенства: для команд Считывание обратное и Вались
СЧА + СЧБ = PAtIP; (1) для команд Считывание прямое
СЧА — СЧБ = РЛДР, (2) где СЧА — содержимое счетчика адреса чтения-записи;
СЧБ — содержимое счетчика байтов;
10 РАДР— содержимое младших разрядов регистра адреса данных.
Таким образом, обеспечиваются контроль правильности работы счетчи15 ка байтов, счетчика адреса чтениязаписи, регистра адреса данных при передаче данных из блока памяти в
ПФУ и из ПФУ в блок памяти; контроль правильности работы модификации адре20 са данных и счетчика байтов (во время записи (считывания) в (иэ) ОП, так как промодифицированная информация заносится в счетчик байтов и регистр адреса данных), т.е..контроль правильности модификации в арифметикологических блоках процесса или канала; контроль исходного состояния блоков управления передачей данных (при загрузке управляющей информации из
30 командного слова канала КСК или УСУ), Все это повьппает надежность работы блоков, управляющих передачей данных, так как обеспечивает полный контроль при передаче данных простыми средст35
На фиг.1 приведена структурная схема устройства обмена данными между ОП и ПФУ; на фиг.2 — функциональная схема блока промежуточного хранения данных; на фиг.3 — функциональная схема блока доступа к памяти; на фиг.4 — функциональная схема счетчика адреса чтения-записи; на фиг.5— .функциональная схема счетчика байтов;
45 .на фиг.6 — функциональная схема блока признаков," на фиг.7 — структурная схема блока управления.
Устройство для обмена данными между ОП и ПФУ содержит коммутатор
5О данных, блок 2 памяти, блок 3 промежуточного хранения данных, регистр 4 .адреса зоны памяти, дешифратор 5, коммутатор 6 выбора данных, блок 7 признаков, блок 8 доступа памяти, счетчик 9 адреса чтения-записи, пер" вый сумматор 10, счетчик II байтов, регистр 12 конца чтения„ первый блок
13 сравнения, блок 14 управления, з
126 второй сумматор 15, регистр 16 адр»вЂ” са данных, второй блок 17 сравнения, вход IB, выход !9, вход 20, выход 21, входь. 22 — 24, выход 25, вход 26, выход 27.
На выход 25 поступают информационные линии 28 от блока доступа к памя— ти, 29 от блока признаков, 30 от счетчика адреса чтения-записи и 31 от счетчика байтов. Линия 32 являет в IO ся выходом ошибки устройства.
Блок 3 промеж точного хранения данных образуют коммутатор 33, регистры 34 и 35 и триггеры 36 и 37 фиксирования. 15
Блок 8 доступа к памяти состоит из триггеров 38 — 41, коммутатора 42 и элементов И-ИЛИ 43.
Счетчик 9 адреса чтения-записи содержит реверсивный двоичный счет- 20 чик 44, элемент И-ИЛИ 45, элемент
И 46 и элементы ИЛИ 47-49.
Счетчик 11 байтов состоит из реверсивного двоичного счетчика 50, коммутатора 51, элемента И-ИЛИ 52 и 25 элементов ИЛИ 53-55.
Блок 7 признаков образуют триггеры 56-58 признаков, элементы И-ИЛИ
59-63, элементы И 64-71 и элементы
ИЛИ 72-76. 30
Блок 14 управления содержит регистр 77 состояний управления, регистр 78 рабочих триггеров, регистр
79 кода команды, дешифратор 80, генератор 81, группу элементов И 82 и группу элементов И 83.
Позициями 84 и 85 обозначены линии от счетчика 9 адреса чтения-записи к блоку 7 признаков; 86 — 88 — выходные линии счетчика 44; 89-93 — вы-4О ходные линии счетчика 50; 94-97 — выходные линии блока 7 признаков; 98119 — линии управления от блока 14 управления; 120-125 — линии с входа
26 к блоку 14 управления.
Коммутатор 1 данных передает в блок 2 памяти данные с входа 18 устройства или из блока 3 промежуточного хранения данных . Блок 2 памяти предназначен для буферизации данных,50 передаваемых между ОП,и ПФУ, и выполнен на микросхемах памяти. Память разбита на зоны, для выбора которых служит регистр адреса зоны памяти 4.
Данные от разных ПФУ одновременно 55 хранятся и накапливаются в разных зонах памяти при выполнении обмена с
yñòðoéñòâàìè, работающими в мульти0970 4 плексном режиме. 71анные в блоке памяти представляются в формате обмена с 011. Каждая зона памяти делится на половины, состоящие из слов данных.
Для адресации половин зоны и слов внутри зоны служит блок 8 доступа к памяти.
Блок 3 промежуточного хранения данных хранит данные в формате п6мена с AIT при передаче их между бло— ком 2 памяти и ОП. Блок 3 позволяет устройству вести обмен с ОП независимо от работы блока 2 памяти и передавать данные между блоками 3 и 2 независимо от обмена с ОП.
Дешифратор 5 предназначен для вы— бора байта в слове в блоке 2 памяти.
При вводе дешифратор 5 служит для разрешения записи в блок 2 памяти байта данных, поступающего из ПФУ в байт слова, определяемый младшими разрядами счетчика 9 адреса чтения— записи. При выводе дешифратор 5 разрешает запись в блок 2 памяти всего слова данных из блока 3.
Коммутатор 6 выбора данных служит для выбора байта данных в слове, прочитанном при выводе из блока памя-. ти 2, и выдачи этого выбранного байта на выход 21 устройства для передачи его в ПФУ. Байт слова определяется двумя младшими разрядами счетчика 9 адреса чтения-записи.
Блок 7 признаков предназначен для отслеживания заполнения и освобождения буферной зоны для ПФУ, ведущего в данный момент обмен с устройством, а также отслеживания заполнения и освобождения регистров 34 и 35 блока
3 промежуточного хранения данных.
Блок 8 доступа к памяти служит для выработки адресации для половин зоны и слов внутри зоны памяти при обмене с ГФУ и с Оп, а также организации доступа к блоку памяти со стороны интерфрейса и со стороны блока
3 промежуточного хранения данных.
Трехразрядный счетчик 9 адреса чтения-записи предназначен для указания адреса байта в буферной зоне памяти, отведенной для данного ПФУ.
При вводе (считывании) счетчик 9 указывает, куда в буферной зоне нужно поместить байт данных, принятый от
ПФУ, при выводе (записи) — откуда из буферной зоны нужно взять байт данных для выдачи в ПФУ.
1260970 Ь для обмена. Для выполнения сброса блок !4 управления получает с входа
26 от блока управления каналом сигнал сброса по линии 120, по которому регистр 77 состояний управления и регистр 78 рабочих триггеров устанавливаются н исходное состояние, а сигнал .ыа линии 114 устанавливает в исходное состояние (нуленое) триггеры блоfO ка 3 промежуточного хранения данных, блока 7 признаков и блока 8 доступа к памяти.
Для загрузки управляющей информации блок 14 управления получает с
15 входа 26 от блока управления каналом сигналы по линиям 121 и 123, Сигналом с линии 121 н регистр 79 заносится код команды обмена, которую выполняет устройство (" Считывание прямое", 20 "Считывание обратное", "Запись" ). По сигналам с линий 121 и 123 блоком !4 управления вырабатываются сигналы на линиях 115 и 118, служащие для занесения информации в счетчик 9 адреса
25 чтения-записи и в счетчик ll байтов, Возбуждением линии 115 через элементы ИЛИ 47,48 и 52,54 на управляющие входы счетчиков 44 и 50 подаются ко . бинации "!1",.разрешающие запись ин
ЗО Формации, а также разрешается прохол дение импульса занесения с линии 11I через элементы И-ИЛИ 45 и 52 на синхровходы счетчиков 44 и 50. По импульсу занесения в счетчик 44 и в регистр 16 адреса данных с входа 24 заносится информация о позициях первого байта данных в двойном слове обмена с OIT (три младших бита адреса данных из КСК). Импульсом занесения с 1О .линии l!7, так как коммутатор 51 закрыт, в счетчик 50 заносится по информационному входу нулевое значение. (3) СЧА + 0 = РАДР; (4) СЧА — 0 = РАДР.
Пятиразрядный счетчик !! байтов служит для подсчета количества байтон, находящихся н буферной зоне."
Основные составные части счетчиков
9 и 11 — соответственно двоичные ренерсинные счетчики 44 и 50. Первый и второй входы управления двоичных ренерсинных счетчиков задают режим работы счетчика: "00" — хранение; "01" прибавление единицы по сигналу на входе С; "10" — вычитание единицы по сигналу на входе С; "11" — занесение информации с информационного входа по сигналу на входе С.
Сумматор 10 служит для модификации значения счетчика 11 байтов на константу модификации, представляющую собой двоичный код количества байтов передаваемых между ОП и блоком 3 про межуточного хранения данных.
Регистр 12 конца чтения преднаэна чен для отображения счета данных иэ командного слова канала (КСК) на аппаратуре устройства. При выполнении операции ввода содержимое регистра
12 конца чтения сравнивается со значением счетчика ll байтов на блоке
13 сравнения. Их равенство свидетельствует о том, что все данные по текущему КСК переданы иэ ПФУ в устройство.
Блок 14 управления предназначен для управления работой блоков 1,3,5, 7,8,9,10,11,15 и 16 при обмене данными.
Второй сумматор 15 — трехразрядный, выполняет операцию сложения или вычитания содержимого счетчика 9 адреса чтения-записи и содержимого счетчика 11 байтов (при команде "Счи тывание прямое" — вычитание при команде "Считывание обратное" и 3апись — сложение).
Регистр 16 адреса данных — это трехразрядный регистр, дублирующий три младших разряда регистра адреса данных из командного слова какала или УСУ.
Второй блок 17 сравнения служит для сравнения результата сложения на втором сумматоре 15 со значением содержимого регистра адреса данных 16.
Устройство работает следующим образомм.
До начала выполнения операций про->5 изводится сброс устройства, а также загрузка в устройство управляющей информации из КСК или УСУ, необходимой
После выполнения начальной загрузки информации для команд "Считывание обратное" и "Запись" равенство (1) записывается в следующем виде: для команды Считывание прямое" равенство (2) записывается как
Вьгражения (3) и (4) справедливы, так как в счетчик 11 байтов заносят ся нули, а в счетчик 9 адреса чтениязаписи - младшие разряды адреса данных, заносимые и в регистр адреса данных. Выполнение равенств (3) и
7 12609 (4) контролируется сумматором 15 и блоком 17 сравнения. На управляющий вход сумматора 15 подается сигнал прямого считывания с линии 98. При наличии этого сигнала (команда "Считывание прямое") сумматор 15 выполняет вычитание, при его отсутствии (команды Считывание обратное и Запись") — сложение. При корректной работе устройства сигнала ошибки с 10 блока сравнения 17 нет.
Кроме того, в регистр 12 конца чтения с входа 23 устройства заносится информация о счете данных (пять разрядов, из которых в разряды 3,4 15 заносятся биты 15,16 счета данных из
КСК, в разряды 0,1,2 заносятся биты
12,13,14 счета данных из KCK при нулевом значении битов 1-11 счета данных или разряды 0,1,2 устанавливаются 20 в комбинацию "ill" при ненулевом =-:hàчении битов I — 11 счета данных). По входу 18 на регистр 4 адреса зоны памяти поступает адрес ПФУ. Адрес ПФУ находится в регистре 4 все время выполнения обмена данными, подается на первый адресный вход блока 2 памяти и служит для адресации области памяти, в которой создается буфер данных для этого ПФУ. Старшие восемь разря- 30 дов адреса обращения к,памяти являются адресом ПФУ. После выполнения подготовительных действий блок !4 управления по входу 26 получает от блока управления канала сигнал о начале об-З5 мена, поступающий на вход дешифратора 80. По этому сигналу начинает работать блок 14 управления.
Дешифратор 80 по значениям регистра 77 состояний управления и регистра 78 рабочих триггеров, коду команды из регистра 79 и сигналам, получаемым по входу 26, а также сигналом от блока 7 признаков, счетчика 11 байтов и блока 13 сравнения формирует новые значения, устанавливаемые в регистры 77 и 78. По сигналам, вырабатываемым дешифратором 80, с выходов группы элементов И 82 на линии 101113 выдаются сигналы управления блокам устройства. Регистр 78 служит для запоминания условий, необходимых для работы блока управления. Генератор 8! выдает тактовую серию, исполь-55 зуемую для синхронизации регистров
77 и 78, а также подсинхронизации управляющих сигналов, выдаваемых на
70 8 линии 101-!19 группами элементов
И 82 и 83.
При выполнении операций ввода (" Считывание прямое", Считывание обратное") блок 14 управления получает по входу 26 сигнал обслуживания данных, поступающий на дешифратор 80. Jlo этому сигналу формируется управляющий сигнал на линии 107, поступающий в блок 8, Блок 8 доступа к памяти работает следующим образом.
На первый вход коммутатора 42 подаются два младших разряда адреса обращения к памяти. Этот адрес состоит из номера половины буферной soны, зафиксированного на триггере 38, и номера слова внутри половины буферной зоны, определяемого старшим разрядом счетчика 44 ("0" или "1" на линии 88). На второй вход коммутатора 42 подаются 2 младших разряда адреса обращения к памяти при связи с блоком 3 промежуточного хранения данных, Этот адрес состоит из номера половины буферной области, с которой работает блок 3, зафиксированного на триггере 40, и номера слова внутри этой половины,. зафиксированного на триггере 39. Коммутатором 42 управляет триггер 41. Установленный триггер 41 разрешает выдачу адреса на выход коммутатора 42 с первого его входа, сброшенный — выдачу адреса со второго входа. После установки триггера 41 сигналом с линии 107 адрес слова, в которое помещается байт данных, подаваемый на адресные входы блока 2 памяти, определяется следующим образом. разряды 0-7 — адрес эо-. ны памяти (адрес ПФУ из регистра 4), разряд 8 — номер половины буферной зоны (значение триггера 38), разряд
9 — номер слова (значение старшего разряда счетчика 44). Потенциал того байта в слове, куда нужно поместить байт данных, формируется дешифратором 5 по значению младших разрядов счетчика 9 адреса чтения-записи. Таким образом, значение младших разрядов счетчика 44 является разрядами
10,!1 адреса обращения к блоку 2 памяти и служит для выбора байта s слове.
Байт данных с входа 18 устройства поступает через коммутатор 1 данных на информационные входы блока 2 памяти и записывается в память потенци9 12609 алом, полученным с дешифратора 5. Управление коммутатором 1 производится кодом команды из регистра 79 блокй
I4 управления. при выполнении команд
Считывание прямое и Считывание обратное" отсутствует сигнал записи на линии 100 от блока 14 управления и на выходи всех четырех байтов коммутатора I данных поступает байт с входа 18 устройства. При выполнении команды "Запись" при наличии сигнала записи ьа выход коммутатора 1 выдается слово данных из блока 3 промежуточного хранения данных.
После записи байта в блок 2 памяти выполняется модификация счетчика
9 адреса чтения-записи и счетчика 11 байтов. К содержимому счетчика 11 байтов прибавляется единица, а содержимое счетчика 9 увеличивается на
1Е единицу при выполнении операции Считывание прямое" или уменьшается на
tI н единицу при выполнении операции читывание обратное". Модификация счетчиков производится по сигналу на ли- 25 нии 108, поступающему через элементы
И-ИЛИ 45 и 52 на синхровходы счетчиков 44 и 50. При этом на первый и второй управляющие входы счетчика 50 подается комбинат "01" с элементов Зц
ИЛИ 53 и 54 (отсутствуют сигналы на линиях 118 и 115, а также сигнал записи на линии 1 00), а на первый и второй управляющие входы счетчика
44 — комбинация "01" для команды
"Считывание прямое" или "10" для команды "Считывание обратное" с элементов ИЛИ 47 и 48 (отсутствует сигнал .на линии 115 отсутствует сигнал обратного считывания на линии 99 для @11 команды "Считывание прямое" или присутствует этот сигнал для команды
"Считывание обратное" ). Регистр адреса данньгх не меняет своего значения при прибавлении или вычитании едини- 45 цы из счетчиков в
Для команды "Считывание прямое" равенство (2) записывается как (cm + 1) — (СЧВ .+ 1) =- Р ДР. (5)
Для команды Считывание обратное" равенство (I) принимает вид: (СЧА — 1) + (СЧБ + I) = РАДР. (6)
Равенство не нарушается при прибавлении к уменьшаемому и вычитаемому единиць (5), а также при прибавлении единицы к одному слагаемому и 1
70 10 одновременном вычитании единицы из другого слагаемого (б). Выполнение равенств (S) и (6) контролируется сумматором 15 и блоком 17 сравнения.
Как и в случае начального занесения сумматор выполняет вычитание при команде "Считывание прямое" и сложение при команде "Считывание обратное".
При корректной работе сигнала на выходе блока 17 сравнения не должно быть. После модификации счетчиков проверяется достижение счетчиком 9 адреса чтения-записи границы формата обмена с ОП. Для команд "Считывание прямое и Запись граница формата определяется комбинацией "000 счетчика 9, для команды "Считывание обратное" — комбинацией "Ill". Если граница формата не достигнута, обрабатывается следующий сигнал обслуживания данных. Если граница формата достигнута, в блоке 7 признаков изменяется значение триггеров 57 и 58 признаков наличия сформированного слова обмена в зоне памяти, отведенной для данного устройства. Изменение значений признаков выполняется следующим образом.
При выполнении команды "Считывание прямое" или "Считывание обратное" (присутствует сигнал прямого считывания на линии 98 или сигнал обратного считывания на линии 99) при выработке по сигналам с выходов 86-88 счетчика 44 сигнала на линии 85 для, команды "Считывание прямое или сигнала на линии 84 для команды "Считывание обратное" в блоке 7 изменяется значение триггеров 57 и 58. По сигналу с выхода элемента И-ИЛИ 59 через элемент И 71 при наличии сигнала на выходе элемента ИЛИ 74, а также при отсутствии сигнала об окончании обмена на линии 111 и наличии управляюще го сигнала на линии 110 через элемент И-ИЛИ 62 вырабатывается сигнал разрешения установки триггеров 57 и
58, поданный на элементы И 68 и 69.
При сброшенном триггере 58 (признак занятости половины буферной зоны) этот триггер устанавливается сигналом с элемента И 69, при установленном триггере 58 сигналом с элемента
И 68 устанавливается триггер 57 (признак занятости буферной зоны). триггер 57 при вводе устанавливается тогда, когда из-эа задержки в разгрузке буферной эоны в ней заполнятся обе
11 1260 половины. По сигналу с выхода элемен— та И 71 элементом .ИЛИ 76 выдается на линию 97 сигнал, изменяющий в блоке
8 доступа к памяти по счетному входу значение триггера 38 (триггер номера половины буферной зоны, работающий с интерфейсом). При достижении границы формата обмена с ОП следующий байт данных от ПФУ принимается в другую половину буферной зоны. Изменение значения триггера 38 свидетельствует об изменении 8-го разряда адреса обращения к блоку 2 памяти.
При сброшенном триггере 56 (признак занятости блока промежуточного хранения данных) и установленном триггере 58, т.е. соответствующих сигналах на линиях 94 и 96, блок 14 управления задает управляющую послеpoBBTesIbHocTE сигналов ITeHHH сформи- 2р рованного слова данных (8 байтов) из блока 2 памяти в блок 3 промежуточного хранения данных. По сигналу на линии 105 от блока 14 управления при отсутствии сигнала записи на ли- 25 нии 100 элементом И-ИЛИ 43 сбрасываются триггеры 41 и 39 и изменяется состояние триггера 40 в блоке 8 доступа к памяти. При сбросе триггера
41 разрешается выдача на выход коммутатора. 42 адреса слова с второго входа коммутатора. Переключением триггера 40 отслеживается та половина буферной зоны, с которой должен вести обмен блок 3 промежуточного хранения данных.
После сброса триггера 41 адрес слова, подаваемый на адресные входы блока 2 памяти, из которых читаются 4О данные в блок 3, определяется следующим образом: разряды 0-7 — адрес зоны памяти (адрес ПФУ из регистра
4); разряд 8 — номер половины буфер:ной эоны (значение триггера 40); разряд 9 — номер слова (значение ,триггера 39).
Данные словами (два слова по четыре байта) передаются из блока 2 памяти в регистры 34 и 35 блока 3 промежуточного хранения данных. Старшее слово данных из блока 2 памяти через коммутатор 33 и регистр 34 записывается на регистр 35 (триггеры
36 и 37 сброшены, разрешая запись в оба регистра), сигналом с линии 103 устанавливается триггер 37, фиксируя содержимое регистра 35. По сигналу
470
12 на линии 106 устанавливается триггер
39 в блоке 8 доступа к памяти, разрешая чтение младшего слова данных, поступающего через коммутатор 33 в регистр 34. При чтении младшего слова данных сигналом с линии 101 устанавливается триггер 36, фиксируя содержимое регистра 34.
При чтении данных в блоке 7 по сигналу с линии 109 через элементы
И 64 и ИЛИ 72 устанавливается триггер 56 (признак занятости регистров блока 3). Ро сигналу с выхода элемента И 64 через элемент ИЛИ 75 разрешается сброс триггера 57 или 58.
При установленном триггере 57 сбрасывается через элемент И вЂ И 61 сам триггер 57, а при сброшенном через элемент И-ИЛИ 63 сбрасывается триггер 58. Сброс триггера 57 или 58 сигнализирует об освобождении половины буферной зоны и разрешает ее использование для новых данных при обмене.
По установленному триггеру 56 (сигнал на линии 94) в регистре 78 блока управления 14 устанавливается триггер запроса на передачу данных, сигнал с которого выдается на выход 27 устройства. По этому сигналу процессор организует обмен с ОП.
Лри обмене с ОП с выхода 19 устройства из регистра 35 читается старmee слово данных, сигналом с линии
104 сбрасывается триггер 37, разрешая запись в регистр 35 данных из регистра 34 для выдачи их на выход
19 устройства. После. выдачи младшего слова данных из регистра 35 в ОП возбуждением линии 102 сбрасывается триггер 36. Во время записи данных в ОП в процессоре модифицируется адрес данных и счет количества передаваемых данных из КСК. Модификация производится на величину, определяемую по адресу данных и счету данных до модификации. Счет данных при этом уменьшается на величину константы С модификации, адрес данных увеличива-. ется на константу модификации при команде "Считывание прямое" и уменьшается при команде "Считывание обратное". Константа модификации с входа
22 устройства поступает в сумматор
10, который для команды "Считывание прямое" вычитает из содержимого счетчика ll байтов эту константу. Промодифицированное сумматором 10 значение передается через коммутатор 51 в
СЧА — (СЧБ — С) = РАДР + С, или
СЧА — СЧБ + С = РАДР + С. (7) Для команды "Считывание обратное" равенство (1) записывается в виде:
СЧА + (СЧБ- С) = РАДР— С (8) 25
Равенство не нарушается при прибавлении одной и той же величины к правой и левой его частям (7), или при вычитании одной и той же величины из правой и левой частей.
Сумматор 15 и блок сравнения 17 контролируют выполнение равенств (7) и (8). Сумматор выполняет операцию так же, как при занесении начальной информации или обмене данными со стороны ПФУ. При корректной работе сигнала на выходе блока 17 сравнения не должно быть.
В блоке 7 сигналом с линии 119 через элементы И 66 и ИЛИ 73 сбрасыЩ вается триггер 56, сигнализируя по линии 94 блоку 14 управления об освобождении регистров блока 3 промежуточного хранения данных, Кроме того, измененная информация о счете д5 данных заносится с входа 23 в ре— гистр 12 конца чтения. В процессе приема байтов от ПФУ блок 13 сравнения производит сравнение содержимого счетчика 11 байтов и остаточного счета данных в регистре 12 конца чтения. При обнаружении равенства в регистре 78 блока 14 управления по сигналу блока 13 сравнения, поданному на один из входов дешифратора 80, устанавливается триггер, с которого на выход 27 устройства выдается сигнал о прекращении приема данных от
l 3 1260 счетчик 50 по сигналам на линиях 118 и 1!9. При этом сигнал на линии 118 разрешает передачу через коммутатор
51 значения от сумматора 10, а также формирует через элементы ИЛИ 53 и 54 на первом и втором управляющих входах счетчика 50 комбинации "11" и разрешает прохождение синхросигнала с линии 119 через элемент И-ИЛИ 52 на синхровход счетчика 50, IIO
Состояние счетчика 9 адреса чтения-записи при этом не изменяется.
Иладшие разряды промодифицированного адреса данных с входа 24 поступают на регистр lá адреса данных. 15
Для команды "Считывание прямое" равенство (2) записывается в виде: с!70 14
ПФУ. При этом н блоке 7 появляется сигнал от блока 14 управления на линии 111, при наличии которого сигналом 110 через элемент И-ИЛИ 62 и элемент И 68 или 69 устанавливается признак занятости половины буферной эоны или признак занятости буферной зоны (триггер 57 или 58) в соответствии с заполнением буферной эоны. Процесс обмена с ОП продолжается до исчерпания счета данных. Если процесс приема байтов от ПФУ остановлен до получения сигнала сравнения с блока
13, процесс обмена с ОП продолжается до исчерпания содержимого счетчика байтов, выдаваемого на выход 25 устройства. При этом константа модификации в блоке управления каналами формируется по текущему адресу данных и содержимому счетчика Il. При останове передачи данных по инициативе ПФУ в блоке 7 признаков сигналом с линии 112 при условии, что граница формата обмена с ОП не достигнута через элемент И-ИЛИ 62 и элемент И 68 или 69 в соответствии с заполнением буферной эоны ПФУ, устанавливается триггер 58 или 57. Сигнал о том, что граница формата обмена с ОП не достигнута, вырабатывается на элементе
И-ИЛИ 60 по отсутствию сигнала равенства содержимого счетчика 9 адреса чтения-записи комбинации "000" на линии 85 для команды "Считывание прямое" или по отсутствию сигнала равенства содержимого счетчика 9 комбинации "Ill" на линии 84 для команды "Считывание обратное".
При выполнении операции вывода
"Запись" до начала обмена с ПФУ заполняется буферная зона, отведенная данному ПФУ в блоке 2 памяти. При свободных регистрах блока 3 (по значению триггера 56 блока признаков 7) в регистре 78 блока 14 управления устанавливается триггер запроса на передачу данных. Запрос выдается на выход 27 устройства и поступает в процессор для организации обмена с
ОП. Данные из ОЛ с входа 20 устройства (два слова по четыре байта) че" рез коммутатор 33 помещаются í регистры 35 и 34 блока 3. Наличке сигнала записи на линии 100 обеспечивает прохождение через коммутатор ЗЗ данных с входа 20 устройства. Данные принимаются в регистры 34 и 35 по сигналам с триггеров 36 и 37, так же, l5 l 260 как и при приеме данных в блок 3 от блока 2 памяти при вводе. Как и при вводе в процессоре модифицируется адрес данных и счет передаваемых данных. Адрес данных увеличивается, а счет уменьшается, Как и при вводе измененная информация о счете данных заносится в регистр 12 конца чтения, а также через сумматор 10 модифицируется содержимое счетчика ll байтов. 10
При этом в сумматоре 10 к содержимому счетчика 11 байтов прибавляется константа модификации. Состояние счетчика 9 адреса. чтения-записи не изменяется. 15
Дпя команды "Запись" равенство (1) записывается в виде:
СЧА + (СЧБ + С) = РАДР + С, (9) Равенство не нарушается при добавлении константы к левой и правой его частям. Его выполнение контролируется сумматором 15 и блоком 17 сравнения. Сигнал на линии 98„ подаваемый на управляющий вход сумматора, g5 отсутствует. Сумматор выполняет сложение. При корректной работе счетчиков, отсутствии ошибки в регистре адреса и корректной работе сумматора сигнала ошибки с блока l? сравнения нет.
В блоке 7 признаков при приеме данных в блок 3 по сигналу с линии
119 через элементы И 65 и ИЛИ 72 устанавливается признак занятости блока 3 (триггер 56), по которому блок
14 управления запускается за запись данных из блока 3 в блок 2 памяти.
При занятом блоке 3 (единичном уров. не на линии 94), наличии свободной половины буферной зоны (нулевом уровне на линии 95), наличии сигнала записи на линии 100 по сигналу на линии 105 элементом И-ИЛИ 43 в блоке
8 вырабатывается сигнал, сбрасываю- 4 " щий триггеры 41 и 39 и изменяющий состояние триггера 40. Уровень с триггера 41 разрешает использование значений триггеров 39 и 40 для адресации буферной зоны блока памяти 2 °
Данные слова (два слова по.четыре байта) нз регистров 34 и 35 блока
3 промежуточного хранения данных записываются через коммутатор 1 в блок
2 памяти. Сигнал записи на линии 100 5 разрешает выдачу на выход коммутатора 1 содержимого регистра 35. Дешифратор 5 разрешает запись всех четы970 16 рех байтов слова. Сначала в буферную зону записывается старшее слово дан- . ных. Затем сигналом с линии 106 устанавливается триггер 39 в блоке 8 доступа к памяти, задавая адресацию памяти для младшего слова данных.
В блок 2,памяти записывается младшее слово данных из регистра 34 через регистр 35. Триггеры 36 и 37 переключаются так же, как и при выдаче данных в ОП при вводе. В блоке 7 по сигналу с линии 109 через элементы
И 67 и ИЛИ 73 сбрасывается триггер
56 (блок 3 промежуточного хранения данных освободился). Сигналом с выхода элемента И 67 через элемент
И-ИЛИ 62 вырабатывается разрешение установки триггеров 57 и 58 через элементы И 68 и 69. При сброшенном триггере 58 этот триггер устанавливается сигналом с элемента И 69, при установленном триггере 58 (половина буферной зоны занята данными) сигналом с элемента И 68 устанавливается триггер 57. При выводе буферная зона поддерживается в эаполненйом состоянии. Если освобождается половина буферной зоны, блок 14 управления заполняет ее по возможности из блока
3 промежуточного хранения данных.
Поэтому после записи первых восьми байтов в блок 2 в блок 3 читается следующая порция данных из ОП и т.д.
После заполнения буферной зоны данного ПФУ байт данных из нее передается в ПФУ. Для этого сигналом с линии 107 в блоке 8 доступа к памяти устанавливается триггер 41. Слово в буферной зоне адресуется при этом значениям триггера 38 и старшего разряда счетчика 9 адреса чтения-записи.
Нужный байт адресуемого слова выбирается коммутатором 6 выбора данных и подается на выход 21 устройства.
На управляющие входы коммутатора 6 для выбора нужного байта подаются младшие разряды счетчика 9. При выдаче данных в ПФУ на линии интерфейса в регистре 78 устанавливается триг1гер и на выход 27 устройства выдается сигнал о готовности байта к обмену с ПФУ. При выдаче прочитанного байта данных в ПФУ по сигналу обслуживания данных, поступающему с входа
26 на дешифратор 80, блок управления выдает управляющие сигналы, по которым выполняется модификация счетчи-, ков 9 и 11. Из содержимого счетчика
1260970
ll вычитается единица, а к содержимому счетчика 9 прибавляется единица.
На пергый и второй управляющие входы счетчика 50 подается комбинация 10" с элементов ИЛИ 53 и 54 (отсутствуют сигналы на линиях 118 и 115, есть сигнал записи на линии 100), а на первый и второй входы управляющие входы счетчика 4 — комбинация "01 с элементов ИЛИ 47 и 48 (отсутствуют tlO сигнал на линии 115 и сигнал обратного считывания на линии 99).
Дпя команды "Эапись" равенство
1,1) записывается в виде:
15 (СЧА + 1) + (СЧБ — 1) =- РАДР. (10)
Равенство не нарушается при прибавлении к одному слагаемому и вычитании из второго слагаемого одной и той же величины. Выполнение равенства (10) контролируется сумматором и
C)JIoKoM сравнения. Сумматор выполня:ет операцию так же, как и при обмене с оперативной памятью. При ошибке мо- д дификации счетчиков на выходе блока
17 сравнения появляется сигнал ошибКио
После модификации счетчиков про3О веряется достижение счетчиком 9 гра-, ницы формата обмена с ОП (комбинация
"000" счетчика 9). Если граница формата не достигнута, блок 14 управления переходит к чтению следующего байта из буферной эоны для передачи в ПФУ. При достижении границы формата изменяются значения признаков заполнения буферной эоны следующим образом. По сигналу на линии 110 при отсутствии сигнала. об окончании обмена на линии 113, отсутствии сигнала с элементами 74 (код команды "Эапись") и наличии сигнала на линии 85 (содержимое счетчика 9 адреса чтениязаписи 9 равно "000") через элементы
И 70 и .ИЛИ 75 в блоке 7 признаков разрешается сброс триггеров 5? и 58 через элементы И-ИЛИ 61 и 63. При установленном триггере 57 сбрасывается сам этот триггер, а при сброшенном сбрасывается триггер 58, освобождая половину буферной зоны данного
ПФУ. По сигналу с выхода элемента
И 70 элементом ИЛИ 76 выдается сигнал на линию 97, изменяющий в блоке
8 доступа к памяти по счетному входу значение триггера 38, Следующий байт данных для передачи в ПФУ прочитывается из другой полонины буферной зоны данного ПФУ.
Процесс обмена данными с ОП продолжается до исчерпания счета данных из КСК. После этого выдача данных в ПФУ продолжается до исчерпания содержимого счетчика 11 байтов. При исчерпании счетчика байтов (нулевые уровни на линиях 89-93) в блок 14 управления с элемента ИЛИ 55 выдается сигнал равенства нулю содержимого .счетчика 50. В этом случае в блоке 7 признаков управляющим сигналом на линии 110 при отсутствии сигнала с элемента И 70 (код команды
Эапись") и наличии сигнала об окончании обмена на линии 113 сбрасывает- ся триггер 58, сигнализируя об освобождении буферной зоны. На этом операция заканчивается.
При работе с ПФУ, работающими в мультиплексном режиме, когда по инициативе устройства после передачи одного байта или группы байтов обме