Устройство для выбора информации из блока памяти
Иллюстрации
Показать всеРеферат
Союа Советских
Соцналмстммеских nyenw
К АВТОРСКОМУ СВИДЙТЮЛЬСТВУ (61) Дополнительное к авт, свид-ву— (22) Заявлено07.07,76 (21) 2378791/24 с присоединением заявки №вЂ” (23) Приоритет2 (51) М. Кл.
Cj 12. С 7/00
Государственный комитет
Совета Министров СССР ао делам изобретений н. открмтнй (43) Опубликоваио15.07 78. Бюллетень № 26 (53) УДК 68т З 7 (088.8) (45) Дата опубликования описаниязо.о„.18
В. Ф. Гусев, Г. Н. Иванов, В. Я. Контарев, Г. И. Кренгель, В. Я. Кремлев, М. 3. Шагивалеев, Ю. И. Шетинин и А. У. Ярмутсаметов (72) Авторы изобретения
{71) Заявитель (54} УСТРОЙСТВО ДЛЯ ВЫБОРА ИНФОРМАЦИИ ИЗ БЛОКА
ПАМЯТИ
Изобретение относится к запоминающим устройствам и может быть использовано при построении микропроцессоров, каналов и других устройств обработки информации.
Известно устройство для выбора информации из блока памяти, содержащее генератор тактовых импульсов, регистр, дешифраторы, элементы И, ИЛИ 11I.
Недостатком такого устройства является невысокое быстродействие.
Наиболее близким техническим решением к данному изобретению является устрой; ство,для выбора информации из блока памяти, содержащее первый регистр, вход которого подключен к первому входу устройства; адресный блок, выход которого соединен с выходом устройства, первый и второй входы — соответственно с выходами второго и третьего регистра, дешифратор, вход которого подключен к первому выходу первого регистра, а выход — к третьему входу адресного блока и первому входу второго регистра, счетчики, информационные шины 121.
Это устройство позволяет осуществлять переход в пределах всех адресуемых ячеек блока памяти микропрограмм, тогда как устройство 111 позволяет делать переход в пре2 делах нескольких подряд расположенных ячеек.
Однако это устройство обладает и значительными недостатками. Структура системы ветвлений машины, в которой используется это устройство, ориентирована на конкретную реализацию микропрограмм, блоки анализа условий перехода привязаны к кон-. кретным ситуациям, возникающии в процессе выполнения этих микропрограмм. Несмотря на это, существует более 100 схемных индикаторов переходов и 140 видов анализов, что загромождает аппаратуру.и увеличивает объем памяти.. Система ветвлений лишена гибкости, не позволяет реализовать на данной аппаратуре другую систему .ко-. манд, эмулировать другие машины без су15 щественных переделок, что противоречит самой идее микропрограммирования. Это так же значительно сужает область применения указанного устройства.
Целью изобретения является расширение области применения устройства.
Поставленная дель достигается тем, что устройство содержит дополнительный регистр, блок сравнения и шины сравнении и элементы И вЂ” HE, одни входы которых подключены к шинам сравнения, другие вхо25 ды — к выходу дешифратора, а выходы д элементов И вЂ” НЕ соедннены с четвертым н пятым входами адресного блока, входы блока сравнения подключены соответственно ко вгорому, третьему н четвертому выходам первого регнстра, к выходам дополнительного регистра, и счетчиков, второму входу устройства н к информационным шинам, а выходы блока сравнения соединены с шинами сравнення, входы дополнительного регистра подключены к выходу дешнфратора н третьему входу устройства, пятый выход первого регистра соединен со вторым входом второго регистра.
На чертеже изображена блок-схема предлагаемого устройства, Устройство содержит адресный блок 1, предназначенный для выработки адреса следующей выбираемой ячейки памяти. Первый вход 2 устройства подключен ко входу первого регистра 3. Регистр 3 предназначен для хранения команд и содержит ноле констант, операционное поле, поле кода сравнения, поле маски н поле анализов. Устройство также содержнт дешифратор 4, предназначенный для выработки сигналов микроопераций, дополнительный регистр 5, служащий для хранения анализа состояний, элементы И вЂ” НЕ 6, 7, второй 8 н третнй 9 регистры, служащие соответственно для хранения информации о переходах н начальном адресе, счетчики 10 н 11, янформацноиные шины 12 н 13, блок сравненкя 14, второй вход 15 устройства, анны сравнения
l6, третий вход 1 7 устройства, Выход блока I соединен с выходом 18 устройства. Ко входу 2 н выходу !8 устройства подключен блок памятн 19. Первый и. второй входы блока 1 соедянены соответственно с выходамн регистров 8 и 9, Вход дешифратора 4 подключен к первому выходу регистра 3, а выход —. к третьему входу блока I н пер. вому входу регистра 8. Одни входы элеменboa И вЂ” НЕ б н 7 подключены к шинам 16, другие входы — к выходу дешнфратора 4, а выходы соединены с четвертым н пятым вхадамн блока !. Входы блока 14 подключены соответственно ко второму, гретьему н четвертому выходам регнстра 3, к выходам регнстра 5 и счетчиков 10, ll, второму входу 15 устройства н шинам 12, 13. Входы регистра 5 подключены к выходу дешнфратора 4 и третьему входу 17 устройства. Пятый выход регистра 3 соединен со вторым входом регистра. 8.
Устройств работает следующим обраПредположнм, устройством выполняет ся некоторая команда системы команд. Код команды предварительно загружается на регистр 9 и но сигналу с дешифратора 4, поступающему на вход адресного блока 1, содержнмое регистра 9 подается на блок памятн 19, например, односторонней в качестве начального адреса микропрограммы выполненной данной команды. Адрес первой микрокоманды каждой микропрограммы содержит код команды в качестве составной
615538 обработки данных — так называемые микропрограммы. Для возврата на основную ветвь микропрограммы перед входом в мнкропрограмму по сигналу из дешнфратора 4 на регистр перехода 8 загружается из поля констант адрес возврата, специфичный для каждого случая. Последняя ячейка микропрограммыы содержит микропрнказ безусловного возврата на основную ветвь. Сигналом с дешифратора 4, содержимое регистра 8 передается через адресный блок 1 в блок памяти 19 в качестве адреса продолжения основной ветвн микропрограммы. Таким образом в устройстве осуществляется безусловный возврат на Микропрограмму из мнкроподпрограммы, Набор команд современных вычислительных машнн можно разделить на группы по различным признакам.. Одним нз этих признаков может служить источник операндов, например, .оперативная память, быстрые регистры, определенное поле команды и т. д., однако вид обработки данных,определяемый командами, может быть один и тот же. Другим признаком может служить формат данных (операнды длиной в слово, полуслово, двойной длины, в четыре слова и зз т. п.). При этом внд обработки один и тот же. В этих случаях для сокращения объема памяти микропрограммы целесообразно нметь одну общую микропрограмму обработки с разнымм входами и разнымн выходами.
Как правило, существуют команды, в которых совпадают как источники данных,так н приемы их обработки, за исключением одного-двух действий, специфичных для кон. кретной команды. Примером могут служить операции логической обработки полей переменной длины. В этнх операциях основное время и подавляющее количество микрокоманд предназначено.для выполнения процессов извлечения операндов нз памяти, нх выравнивания, компановки и t. п., а собственно логическая обработка занимает один-два такта. В таких случаях целесообразно иметь одну микропрограмму для всех операцнй, с общим входом и общим выходом, но выделять небольшие специфичные участки для каждой команды.
Встречаются также н Такие случаи, когда несколько команд, Можно выполнять по одной и той же микропрограмме, но закончить обработку в разное время. Примером может служить команда сравнения, устанавлявающая признак (больше, меньше, равно), яо ве яэменяющая операндов. Эту команду
4Ф
4 части. Адресованная ячейка блока памяти 19 .читается на регистр 3. Операционное иоле этого регистра дешифруется на дешифраторс 4, и сигналы микроприказов с его выходя управляют устройством в течение одного таьта работы. Это могут быть микроприказы загрузки констант на счетчики 10 н 11, пересылки данных по шинам 12 и 13 и т. п. действия по обработке информации.
Достаточно сложные микропрограммы, как
1в правило, имеют общие блоки стандартной
6! 55:>8 м»жно выполнять по микропрограмме вычитания, т>рерваФ ee выполнение до ветви записи результата. В этом случае решение о прекращении операции принимается по колу команды. Команду умножения полуслов можно выполнять по микропрограмме умножения целых слов, прервав цикл по содержимому счетчиков. Иногда возникает необходимость проанализировать передаваемые по информационным шинам данные для принятия решения с ветвлений, например, проверить знак результата и т, п.
Для оптимальной реализации вышеперечисленных примеров предлагается аппарат ветвления по адресу возврата при сравнении.
Рассмотрим работу устройства в режиме ухода по адресу возврата при сравнении.
В одном из первых тактов микропрограммы выполнения группы операций по сигналу из дешифратора 4 на регистр 8 загружается из поля констант регистра 3 адрес перехода, например адрес начала выборки следующей команды. На определенном этапе выполнения микропрограммы производится анализ содержимого определенного регистра, например регистра 9. Номер проверяемого регистра задается полем анализов регистра 3. Сигнал анализа либо непосредственно из поля, либо с некоторого дешифратора (на чертеже не показан) включает блок сравнения !4, к входам которого подключен проверяемый регистр. На другие входы-блока !4 подается код сравнения из поля кода сравнения регистра 3 и маска сравнения из поля маски регистра 3. Блок срав иения 14 выполняет операцию поразрядного сравнения содержимого регистра и содержимого поля кода сравнения под маской, определяемой содержимым поля маски. Наличие единицы в соответствующем разряде кода маски разрешает операцию сравнения, наличие нуля — запрещает сравнение. Блок cpasнеиия 14 вырабатывает сигнал сравнения в том разряде, где код сравнения совпал со значением разряда регистра и в том разряде, где нулевая маска. Элементы
И вЂ” НЕ 6 и 7 проверяют наличие совпадения во всех шинах 16. Одновременно с микроприказом анализа дешифратором 4 вырабатываются микроприказы сравнения, которые поступают на элементы И вЂ” НЕ 6 и 7 в зависимости от заданного режима переходов.
Если все шины 16 указывают, что поразрядное сравнение на выбранном блоке прошло и включен элемент И вЂ” HE 6, то он вырабатывает сигнал на .адресный блок 1,: который передает содержимое регистра 8 в качестве следующего адреса в блок памяти 19. Таким образом нормальное течение микропрограммы прерывается, устройство начинает выполнять выборку следующей команды или другую ветвь микропрограммы. Если же совпадения не произошло, то микропрограмма выполняется дальше по обычной нормальной последовательности адресов.
Если вклк>чен элемент И - - НЕ 7 и kë шинах f6 зафиксировано сравнение, го сигнал с элемента И вЂ” HF. 7 постугшет на адресный блок и вызывает модификацию нескольких разрядов слелук>щего адреса микрокоманды, Это второй метод ветвления по сравнению.
Регистр 5 предназначен лля хранения результатов анализа состояния блоков устройства. Результат анализа состояния бло10 ков (аппаратура анализа на чертеже не показана) по входу 17 записывается в регистр 5 и сохраняется там до тех пор, пока не возникает нужда в результатах анализа. Загрузка регистра 5 производится попутно в процессе передачи информации между блоками. Зачастую возникает необходимость использова1 ь результат анализа данных или состояния, которые были несколько тактов назад. Этот прием позволяет экономить время н ячейки памяти.
20 Вход устройства 15 в отличие от регистра 5 предназначен для осуществления переходов по сравнеьлю, когда анализы производятся в такте ветвления. Результат анализа состояния блоков устройства по входу !5 поступает на блок сравнения 14 и в этом 5 же такте производится анализ сравнения, т. е. сигналом из поля анализов включается блок сравнения 14. В остальном работа устройства аналогична вышеописанной.
Выходы блока сравнения !4 выполнены на элементах, позволяющих объединять их на шинах 16, например на элементах с тремя устойчивыми состояниями.
Применение данного устройства позволяет значительно сократить объем памяти микропрограмм, во-первых, в результате выде3s ления однотипных блоков стандартной обработки в микропрограммы, которые используются во многих микропрограммах. Причем устройство позволяет переключаться из микропрограммы на основную ветвь без по40 терь времени и затрат дополнительных ячеек. Во-вторых, ветвление по результату сравнения дает значительный выигрыш в адресах при сравнении при незначительных аппаратных затратах. Наличие. аппаратуры сравнения кода регистров с кодом сравие4> ния дает возможность разветвиться на два направления — либо найден искомый код, либо все остальные. В известном устройстве (2) ветвление производится по нескольким направлениям, из которых в одном случае производится одно действие, а во всех
50 прочих — однотипное другое действие. Например, необходимо выполнить одно дейст.вие при состоянии счетчика 0101 и другое действие.при всех прочих его состояниях, Если ветвление производится путем моди>> фикации адреса присвоением значения счетчика, некоторым разрядам адреса (так называемый функциональный переход 1ВМ
360), то занимаются 16 ячеек памяти, из которых в пятнадцати выполняется однотипное действие, и только в ячейке с адресом
N XX0I0l выполняетея.запланированное дейст615538 вие. Используя аппарат сравнения, можно и выделить нужный код и разветвиться на два д направления — по коду 0101 и по прочим.
Налицо экономия ячеек в восемь раз. м
Наличие аппаратуры маскирования еще т бблее расширяет область применения уст- 5 в ройства. С помощью маски можно выделить ц группы проверяемых разрядов, т. е. развет- ц виться по ассоциативному признаку. Напри- р мер, среди набора из 256 команд необходи- г мо выделить команды с кодом 10 в первых и двух разрядах кода операции и кодом 01!О к в последних четырех разрядах. Тогда в ка- к честве кода сравнения устанавливается код
100001! 0. Маска сравнения — 1100 I I I l. д
Нулевые значения разрядов маски выраба- н тывают в соответствующих разрядах сигна- ló р лы сравнения, а в прочих разрядах, раз- в решенных маской, производится поразряд- р ное сравнение. При полном сравнении про- с исходит ветвление по одному направлению- д на обработку группы операций, при несрав- с ненни — иа продолжение микропрограммы. 26 р
Формула изобретения
Редактор И. Каменская
Заказ 3016/4 !
11ИИИПИ Государственного комнтета Совета Мнннстров СССР по делам нзобретеннй н открьннй
113035, Москва, Ж-35. Раушская наб„д. 4/5
Фнлмал ППП «Патент», r. ужгород, ул. Проектная, 4
Устройство для выбора информации из блока памяти, содержащее первый регистр, вход которого подключен к первому входу устройства, адресный блЬк, выход которого соединен с выходом устройства, первый
8 второй входы — соответственно с выхо. ами второго и третьего регистра, дешифатор, вход которого подключен к первоу выходу первого регистра, а выход -- к ретьему входу адресного блока и первому ходу второго регистра, счетчики, информаионные шины, отличшощееся тем, что, с елью расширения области применения устойства, оно содержит дополнительный реистр, блок сравнения и шины сравнения элементы И вЂ” НЕ, одни входы которых подлючены к шинам сравнения, другие входы выходу дешифратора, а выходы элементов
И вЂ” НЕ соединены с четвертым и пятым вхоами адресного блока, входы блока сравения подключены соответственно ко втоому; третьему и четвертому выходам перого регистра, к выходам дополнительного егистра и счетчиков, второму входу ycrpoAтва и к информационным шинам, а выхоы блока сравнения соединены с шинами равнения, входы дополнительного региста подключены к выходу дешифратора и третьему входу устройства, пятый выход первого регистра соединен со вторым входом второго регистра.
Источники информации, принятые во внимание при экспертизе:
1. Авторское свидетельство СССР
М 29!20!, кл. б 06 F 9(16, 1969.
2. Микропрограммное управление, вып. 2, изд. «Мир», М., 1974, с. 182 — 183.
Составнтель В. Рудаков
Техред О. Луговая Корректор Е. Папп
Тнраж 717 Г!одпнсное