Устройство для обработки адресной информации
Иллюстрации
Показать всеРеферат
ОП ИСАНИ Е
ИЗОБРЕТЕНИЯ
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ
Союз Советских
Соцнвлнстнческик
Республик » 744585 (61) Дополнительное к авт. свнд-ву (22) Заявлено 01.11.77 (21) 2539867/18 — 24 с прнсоелннением заявки.% (51)M. Кл.
G 06 F 15/00
Гооудерстееииый комитет
СССР (23,) П риоритет
Опубликовано 30 06.80. Бюллетень М 24 до делам изооретеиий и открытий (53) УДК 681.14. (088.8) Дата опубликования описания 30.06.80 (72) Авторы изобретения
Б. А, Бабаян, Ю. Х. Сахин, Ю. А. Каре и М. А. Хачатуров (71) Заявитель (54) УСТРОЙСТВО ДЛЯ ОБРАБОТКИ АДРЕСНОЙ
ИНФОРМАЦИИ
Изобретение относится к вычислительной технике, в частности к области устройств, мо дифицирующих или вычисляющих адреса.
Известно устройство, содержащее блок памяти, регистры операционную схему, оборудование, обеспечивающее косвенную адресацию в
5 случае несовпадения содержимого блока памяти, вызванного по найденному адресу, с содержимым ключевого регистра (11.
Известное устройство позволяет обрабаты!
О вать только одномерные массивы информации и быстродействие его недостаточно.
Наиболее близким по техническому решению к предлагаемому является устройство, содер!
5 жащее регистры, при этом индексация адресов производится в арифметическом блоке цент-. рального процессора (2}.
Недостатками блока векторной работы являются аппаратная обработка только одномерных массивов, ограниченное количество обрабатываемых массивов, использование арифметического блока для индексации адресов и, как следствие этого, малое быстродействие.
9
Цель изобретения — повышение быстродействия, Поставленная цель достигается тем, что в устройство для обработки адресной информации, содержащее выходной регистр адреса, блок контроля, блок индексации, входной регистр дескриптора, входной регистр индексов, выходной коммутатор, причем группа выходов входного регистра индексов подключена к первой группе входов блока контроля и первой группе входов блока индексации, группа выходов, входного регистра дескриптора подключена ко вто рой группе входов блока контроля и второй труппе входов блока индексации, группа выходов которого подключена к первой группе входов выходного коммутатора, выход которого соединен со входом выходного регистра, выход кбторого является выходом устройства, введены блок ассоциативной памяти адресов, блок регистровой памяти массивов, блок обращения
s о0!п!еeрpа т ивн ую !п!а мMjя!тT!ь, блок вычисления индекса массива, блок вычисления шага приращения, регистр адреса паспорта, формирователь переменных цикла, причем выход регистра адреса
15
55
3 7
I паспорта подключен ко входу блока ассоциативной памяти адресов и ко второй группе входов выходного коммутатора, восходы входного регистра индексов подключены к первой группе входов блока вычисления индекса масеива, первой группе входов формирователя переменных цикла и группе входов блока вычисления шага приращения, выходы входного регистра дескрип. тора подключены ко второй групие входов формирователя переменных цикла, выход которого подключен ко второй группе входов блока вычисления индекса массива, выход которо го подключен к третьей группе входов блока контроля и блока индексации, выход которого подключен к первой группе входов блока регистровой памяти массивов, вторая группа входов которого соединена с выходами блока вычисления шага приращения, первая группа выходов блока регистровой памяти массивов соединена с четвертой группой входов блока ин- дексации и третьей группой входов выходного коммутатора, а вторая группа выходов — с пятой группой входов блока индексации, вход которого соединен с его выходом, группа выходов блока ассоциативной памяти адресов ,соединена с третьей группой входов блока регистровой памяти массивов, четвертая группа входов которого соединена с группой выходов, блока обращения в оперативную память, входы регистра дескриптора, регистра индексов и регистра адреса являются соответствующим с входами устройства.
Причем формирователь переменных циклов содержит счетчик, пять регистров переменных цикла, схему сравнения и узел управления, причем вход счетчика является первым входом формирователя, вход пятого регистра является вторым входом формирователя, выходы узла управления соединены с управляющими входами всех регистров переменных цикла и счетчика, а вход — с выходом схемы сравнения, первая группа входов которой соединена с выходами счетчика и третьего регистра, вторая группа входов схемы сравнения соединена с выходами пятого регистра и .входами четвертого регистра, соединенного двухсторонней связью с первым регистром, который связан двухсторонней связью с третьим регистром, выход которого, а также выход счетчика и выход первого регистра объединены н являются выходом формирователя.
Кроме того, блок вычисления индекса массива содержит регистр, накапливающий сумматор, матричный умножнтель и два входных коммутатора, выходы которых являются входами блока, а выходы — подключены ко входам матричного умножителя, первый и второй выходы соединены с соответствующими входами накапливающего сумматора, третий вход ко44585
4 торого соединен с выходом регистра, вход которого соединен с выходом накапливающего сумматора, а выход — является выходом блока.
При этом блок вычисления шага приращения содержит трехвходовой сумматор, сумматор с параллельным переносом и выходной регистр, причем входы трехвходового сумматора являются входами блока, а выходы — через сумматор с параллельным переносом соединены со входом выходного регистра, выход котороro является выходом блока.
Кроме того блок обращения в оперативную память содержит счетчик массивов, дешифратор, триггеры занятости, группу элементов И, причем выходы счетчика массивов соединены со входами дешифратора, выходы которого соединены с первыми входами элементов И группы, вторые входы которых соединены с выходами триггеров занятости, выходы элементов И группы являются выходами блока.
На фиг. 1 представлена схема устройства, на фиг . 2 — схема формирователя переменных цикла; на фиг. 3 — схема вычисления индекса массива; на фиг. 4 — схема блока вычисления шагоприращения; на фиг. 5 -- схема блока обращения в оперативную память.
Устройство содержит регистр 1 адреса пас- порта, входной регистр 2 индексов, входной регистр 3 дескриптора, формирователь 4 переменных цикла, блок 5 ассоциативной памяти адресов, блок 6 регистровой памяти массивов, блок 7 вычисления шага приращения, блок 8 вычисления индекса массива, блок 9 индексации, блок 10 контроля, блок 11 обращения в оперативную память, выходной коммутатор
12, выходной регистр 13 адреса, входы 14-16 устройства, выходы 17, 18 устройства. Формирователь 4 переменных цикла (фиг. 2) содержит счетчик 19, пять регистров 20 — 24 йеременных цикла, схему 25 сравнения и узел 26 управления сдвигом информации. Блок 8 вычисления индекса массива (фиг. 3) содержит два входных коммутатора 27 и 28, матричный умножитель 29, накапливающий сумматор 30 и регистр 31. Блок 7 вычисления шага приращения (фиг. 4) содержит трехвходовой поразрядный сумматор 32, двухвходовой комбинационный сумматор 33, выходной регистр 34.
Блок 11 обращения в оперативную память (фиг, 5) содержит счетчик массивов 35, дешифратор 36, триггер 37 занятости регистровой памяти массивов, и группу элементов 38 И.
Перед началом работы в оперативной памяти ЗВМ запоминается специальное слово для каждого обрабатываемого массива, первая поло1 вина которого представляет собой "паспорт" массива, а вторая — дескриптор массива. В
"паспорте" содержатся данные о шагах приращения адреса элементов массива по каждой
5 74458 размерности, В дескрипторе указывается начальный адрес массива в оперативной памяти, количество и формат элементоц и некоторая служебная информация.
В начале работы по входам 14 и 15 через входные регистры 2 и 3 заполняются регистры блока 4 информашлей о начальных и предельных значениях переменных цикла. Количество переменных цикла для трехмерного массива должно быть не менее трек, При каждом прохождении программного цикла в этом блоке производится модификация начальных значений переменных цикла íà ++, превращающихся тем самым в текущие значения, сравнение текущих значений с их предельными значениями и вы- 13 работка условия конца цикла. По входу 16 в устройство затем поступает адрес паспорта массива на регистр 1, Далее этот адрес в блоке 5 сравнивается с содержимым всех ассоциативных регистров, количество которых может зп быть произвольным, но не менее трех, что соответствует наиболее типичному количеству обрабатываемых массивов в программах, транслируемых с языков АЛГОЛ и ФОРТРАН. Если адрес паспорта данного массива в блоке 5 не найден, то он поступает через выходной коммутатор 12 и регистр 13 по выходу 18 в ОЗУ для вызова паспорта и дескриптора данного массива. Последние принимаются на входные регистры 2 и 3, а адрес вызванного паспорта — зр в свободный регистр блока 5. Затем блок 8 вычисляет индекс массива. Адрес элемента массива получается в блоке 9 путем сложения индекса массива с полем (Начальный Адрес) дескриптора массива, поступающего с регистра 3. Этот адрес через коммутатор 12 и регистр 13 передается в ОЗУ для запроса за первым элементом данного массива. Одноврсменно с вычислением индекса массива в блоке 7 производится определение шага приращения адре- щ са элементов данного массива, для того чтобы при обращении за следующим элементом заменить длительное вычисление нового индекса, быстрым сложением предыдущего адреса, считываемого с блока 6, с шагом приращения, по--4i ступающим также из блока 6 в блоке индекса- ции 9, что выполняется за 1 машинный такт.
Для этого в блоке 6 имеется столько же регистров, сколько их в блоке 5, и в соответствующем регистре блока 6 хранится и шаг приращения, и предыдущее значение адреса элемента данного массива, и некоторые другие данные о массиве, такис как формат элемента, режим обращения к массиву и т. п. В результате, каждое последукуцее значение текущего адреса получается в блоке 9 из предыдущего.
В том случае, когда устройство начало работу в циклической программе и. по той или иной причине, возникла пауза по работе в основной, Ю% .: .М%
6 программе, зто время эффективно используетi ся для автономного обращения за элементами массивов, адреса паспортов которых хранятся в блоке 5.
Управление устройством в этом режиме осуществляется от блока 12, что позволяет сократить общее время обработки массивов. Параллельно с вычислением адреса элемента массива в блоке 10 контроля производится 1троверка на вхождение вызываемого элемента массива в пределы области памяти, описываемой дескриптором массива. Сигнал контроля с выхода 17 поступает в устройство управления ЭВМ.
Таким образом предлагаемое изобретение позволяет повысить производительность устройI ства.
Формула изобретения
1. Устройство для обработки адресной информации, сОдержащее выходной регистр адреса, блок контроля, блок индексации, входной регистр дескриптора, входной регистр индексов, выходной коммутатор, причем группа выходов входного регистра индексов подключена к первой группе входов блока контроля и первой группе входов блока индексации, .группа выходов входного регистра дескриптора подключена ко второй группе входов блока контроля и " второй группе входов блока индексации, группа выходов которого подключена к первой группе входов выходного коммутатора, выход которого соединен со входом выходного регистра, выход которого является выходом устройства, о т л и ч а ю щ е е с я тем, что, с целью повьппения быстродействия, устройство содержит блок ассоциативной памяти адресов, блок регистровой памяти массивов, блок обращейия в оперативную память, блок вычисления индекса массива, блок вычисления шага приращения, регистр адреса паспорта, формирователь переменных цикла, причем выход регистра адреса паспорта подключен ко входу блока ассоциативной памяти адресов и ко второй группе вхоцов выходного коммутатора, выходы входного регистра индексов подключены к первой группе входов блока вычисления индекса массива, первой группе входов формирователя переменных цикла и группе входов блока вычисления шага приращения, выходы входного регистра дескриптора подключены ко второй группе входов формирователя переменных цикла, выход которого. подключен ко второй группе входов блока вычисления индекса массива, выход которого подключен к третьей группе входов блока контроля и блока индексации, выход которого подключен к первой группе входов блока регистровой памяти массивов, J вторая группа входов которого соединена с с-- - -::-- — .—.:
7 7 выходами блока вычисления шага приращения, первая группа выходов блока регистровой памяти массивов соединена с четвертой группой входов блока индексации и третьей группой входов выходного коммутатора, а вторая группа. выходов — с пятой группой входов блока индексации, вход которого соединен с его выходом, группа выходов блока ассоциативной памяти адресов соединена с третьей группой входов блока регистровой памяти массивов, четвертая группа входов которого соединена с группой выходов блока обращения в оперативную память, входы регистра дескриптора, регистра индексов и регистра адреса являются соответстщлощими входайи устройства.
2. Устройство по п, 1, о т л и ч а ю щ ее с я тем, что формирователь перемениых циклов содержит счетчик, пять регистров пере менных цикла, схему сравнения и узел управления, причем вход счетчика является первым входом формирователя, вход пятого регистра является вторым входом формирователй, выходы узла управления соединены с управляю— щими входами всех регистров переменных цикла и счетчика, а вход — с выходом схемы сравнения, первая группа входов которой соединена с выходами счетчика и третьего регистра, -вторая группа входов схемы сравнения соеди. нена с выходами пятого регистра и входами четвертого регистра, соединенного двухсторонней связью с первым регистром, который связан двухсторонней связью с третьим регистром, выход которого, а также выход счетчика и выход первого регистра объединены и являются выходом формирователя
3, Устройство по п. 1, о т л и ч а ю щ ее с я тем, что блок вычисления индекса масси44585 8 ва содержит регистр, накапливающий сумматор, матричный умножитель и два входных коммутатора, выходы которых являются входами блока, а выходы — подключены ко входам матричного умножителя, первый и второй выходы соединены с соответствующими входами накапливающего сумматора, третий вход которого соединен с выходом регистра, вход которого соединен с выходом накапливающего сумматора, а выход — является выходом блока, 4. Устройство по п. 1, о т л и ч а ю щ ее с я тем, что блок вычисления шага приращения содержит трехвходовой сумматор, сумматор с параллельным переносом и выходной регистр, причем входы трехвходового сумматора являются входами блока, а выходы — через сумматор с параллельным переносом соединены со входом выходного регистра; выход которого является выходом блока, 5. Устройство по п. 1, о т л и ч а ю щ ее с я тем, что блок обращения в оперативную память содержит счетчик массивов, дешифратор, триггеры занятости, группу элементов И, причем выходы счетчика массивов соединены со входами дешифратора, выходы которого соединены с первыми входами элементов И группы, вторые входы которых соединены с выходами триггеров занятости, выходы элементов И группы являются выходами блока.
Источники информаций, принятые во внимание при экспертизе
1. Авторское свидетельство СССР No526875 кл. 6 06 F 3/00, 1975.
2. Авторское свидетельство СССР N 504199, кл . G 06 F 3(04, 1974.
744585
Тираж 751 Подписное
ЦНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб,, д. 4/5
Заказ 3794/13
Филиал ППП "Патент", r. Ужгород; ул. Проектная, 4, Составитель Т. Ламэина
Редактор А. Долинич Техред И. Асталош . Корректор Е. Папп