1
Известно буферное запоминающее устройство (БЗУ) с ассоциативной адресацией, содержащее блок регистров адреса, подключенный к выходам двухвходовых схем «И, входы которых связаны со счетчиком и первым триггеров, первый блок управления, выход которого подсоединен к счетчику, связанному со вторым блоком управления и блоком образования исполнительного адреса, блок регистров команды, входы которого подключены . к третьему блоку управления, второй триггер, подключенный к блоку схем сравнения, соединенному с выходом счетчика, первый блок определения номера регистра команды, связанный с блоком нумерации регистров команды, подключенным ко второму блоку определения номера регистра комаиды.
Наличие БЗУ для командной информации позволяет ускорить ее обработку, потому что время или цикл обращения к БЗУ значительно меньще времени обращения к основному ЗУ.
Значительную часть времени работы ЦВМ составляет работа на циклических участках программ. При наличии БЗУ накопленные в нем команды циклических участков могут быть многократно использованы без обращения к основному ЗУ, хотя время выполнения различных циклических участков программы зависит, например, от числа команд в цикле.
перехода к более старшим по порядку следования в программе командам или возврат к ранее выполнявщимся. Однако организация таких БЗУ не учитывает всех особенностей циклических участков программ, когда надо сохранять в БЗУ ранее выбранные команды (выборка «назад), а не предварительно накапливать новые (выборка вперед). Такая ситуация имеет место
после выполнения команды передачи управления, организующей цикл. Поэтому в известном БЗУ скорость -выполнения циклических участков программы снижается из-за увеличения числа обращений к основному ЗУ.
Предложенное БЗУ отличается от известного тем, что оно содержит дополнительный блок определения номера регистра команды, первый вход которого подключен к выходу
первого блока определения номера регистра команды, а второй - к единичному выходу второго триггера, блок трехвходовых схем «И, первые входы которых подсоединены к выходу дополнительного блока определения
номера регистра команды, вторые - к нулевому выходу первого триггера, третьи - к единичному выходу второго триггера, ;который подключен ко входу первого блока управления, а выходы - к первому блоку определения номера регистра команды.
Это позволяет повысить быстродейст1вие устройства за счет повышения скорости об:работки командной информации на циклических участках программы.
На чертеже изображена блок-схема БЗУ.
Устройство содержит блок регистров команды /, блок регистров адреса 2, счетчик 3, блок схем сравнения 4, гшрвый блок управления (БУ) 5, второй БУ 6, блок определения номера регистра команды (БОНРК) 7, блок нумерации регистров команды (БНРК) 8, второй БОНРК 9, третий БУ 10, блок задания -номера регистра команды. БЗНРК 11, четвертый БУ 12, блок образования исполнительного адреса 13, первый 14 и второй 15 триггеры, двухвходовые схемы «И 16, дополнительный БОНРК 17, блок трехвходовых схем «Н 18, регистр 19. Выход второго БУ 6 подключен ко входу основного ЗУ 20, выход которого связан с третьим БУ 10.
Первый вход 21 дополнительного БОНРК 17 иодключен к выходу Первого БОНРК 7, а второй 22 -к единичному выходу 23 триггера 15.
Нервые входы 24 блока трехвходовых схем «И 18 подсоединены к выходу 25 блока 17, вторые входы 26 - к первому выходу 27 триггера 14, третьи входы 28 - к единичному выходу 23 триггера 15, а выходы 29 - к первому БОНРК 7.
Устройство работает следующим образом.
Допустим число регистров команды (РК) в блоке 1 равно четырем, т. е. IB блоке / может быть информация о командах, которые можно записать в четыре слова. Каждому РК блока / может быть присвоен свой номер, определяющий Местоположение регистра в устройстве. Обозначим регистры (нач«ная сверj-y) через РКо-РКз- В БЗУ с ассоциативной адресацией каждому из РК соответствует свой регистр адреса (РА). В данном случае блок 2 содержит также четыре регистра РАо- РАз. Адреса в блоке 2 являются адресами ячеек основного ЗУ 20, содержимое которых вызвано в ячейки БЗУ.
Допустим, из ЗУ 20 IB блок / выбраны команды. Очередной адрес в счетчике 3 адресов команд (слов) сравнивается со всеми адресами в блоке 2. Нри обращении за очередной командой программы воз-можны две ситуации: содерл имое счетчика 5, определяющее адрес очередной команды программы, либо совпадает с содержимыми одного из регистров блока 2, представляющим адрес слова в блоке 1, либо не совпадает. Факт совпадения ад ресов фиксируется триггеро-м 14.
В первом случае триггер 14 посылает в блок 6 сигнал блокировка обращения к ЗУ 20, и производится обращение к БЗУ. Во втором случае трвпгер 14 разрещает обращение к ЗУ 20, код адреса счетчика 3 передается в ЗУ 20, через цепи считывания которого инфор.мации по адресу поступают в БУ 10. В тот же период обращения к ЗУ 20 через схемы «И 16 код адреса из счетчика 3 поступает в тот регистр блока 2, который соответствует регистру из блока 1, в который принята информация ЗУ 20. Номер нужного регистра команды и соответспвуюп1,его ему регистра адреса он5 ределяется блоком 8, задающим порядок, очередность заполнения регистров блока 1. Отсюда следует, что каждому регистру команды соответствует свой номер очередности его заполнения, т. е. изменения его содержимого. 10 Существуют разные способы и схемные рещення задания очередности заполнения регистров блока 1, нумерации его регистров и регистров блока 2. Одним из них является способ заполнения по старшинству, т. е. инфор15 мащия заносится в тот РК, обращение к которому не производилось по времени дольше, чем к другим. Прп каждом обращении за командами иумерация очередности ячеек БЗУ меняется, при совпадении адреса в счетчике 3 0 с одним из адресов в блоке 2 номер этого совпа вщего регистра, а, следовательно, и номер соответствующего ему регистра блока /, делается с помощью блоков 9 к 8 наименьшим (регистр станов.ится самым младшим). Номера iBcex остальных РК возрастают.
Нри несовпадении avipecoB РК с самым большим номером очередности (самый «старший РК), что определяют блоки 8 и 7, принимает под управление блока 10 новую ко0 маидную информацию из ЗУ 20, его РА принимает содержимое из счетчика 3 через схемы «И 16. В результате номер очередности этого РК делается наименьшим, а нумерация очередности всех остальных РК из блока РА 5 и -блока 2 возрастает относительно этого младшего в порядке -их очередности. После приема НОВОГО слова из ЗУ 20 в блок / содержимое соответствующей, команды из регистра выдается ,под управлением блока 12, 0 указание которому о номере нужного РК выдает блок 11, получающий информацию о номере РК от блока 8, управляющего приемом в данный РК. Нз блока 1 информация через блок 12 поступает на регистр 19, с которого 5 информация поступает на обработку, т. е. дещифрацию кода операции, образование исполнительного адреса и т. д. Код операции может определить наличие команды передачи управления (условной или безусловной), 0 что фиксируется триггером 15. В этом случае блок 13 образует исполнительный адрес этой .команды, который должен быть передан в счетчнк 3. При передаче управления БУ 5 блокирует прибавление единицы к содержи5 мо;му счетчнку 3 и обеспечивает прием исполнительного адреса из блока 13 в счетчик 3.
При совпадении адресов в -блоке 2 « счетчике 3 триггер 14 выдает БУ5 сигнал -блокировки о-бращения к ЗУ 20, блок 9 фиксирует номер РК по номеру его РА, чем определяется работа блоков 11 и 12 по выдаче информации на регистр 19 из блока / и блока 8 по изменению -нумерации, т. е. очередно.сти порядка заполнения ячеек БЗУ ери последую5 щем иесовпадении (номер совпавшего РК по
его РА становитсянаименьшим, относительно которого -номера всех остал1 ных во.растают в порядке их очередности).
При TaiKOM сносоое очередности занолнения блока I могут возникнуть режимы, затрудняющне ускоренiie работы БЗУ по пропрамме.
Возможная ситуация нумерации очередности обран1,ения к РК по п.риему информации показана в таблице 1, где обозначено: а - адрес слова, к-порядковый (очередной) номер обращения. В данном случае старшинство регистров блока 1 следующее: РКо, РКь РКа РКз, причем РКо -старщий.
Т а б л и ц а 1
-РКо
3 -РАо -PKi 2 - PAi 1 - РАз кРКз -РАз
Считываемое из ЗУ 20 новое слово иесовладении записывается ,в РКо который становится младшим, повыщая тем са.мым старщинство Всех остальных РК (таблица 2).
Таблица 2
РАо
к- -РКо PAi -PKi РАг к -2 -РК, РАз
Следующее считывание из ЗУ 20 происходит ,в РКь Общее гпродвижен-ие регистров по старщинству по очередности нарушается, если совпадает адрес в счетчике 3 с одним из адресов в блоке 2.
Допусти.м в РКз (см. табл. 2) имеется команда передачи управления, исполнительный адрес которой должен передавать управление «назад по адресу а - 3. Команда на РКз (Передается в блок 19, и триггер 15 уста11авл«вается в единичное састояние, позволяя тем самым блоку 5 передавать исполнительный адрес команды .передачи управления из блока 13 в счетчик 3, и блокируя прибавление единицы к содержимому счетчика 3. Прибавление единицы к содержи1мому счетчика 3 осуществляется в отсутствие управления при работе «а линейных участках программы. Изза ВЫборки «в перед в РКо находятся команды, .следующие по -программе за командами, находящимися в РКз- В результате адреса из счетчика 3 и блока 2 не совпадают, н информация, из ЗУ 20 по исполнительному адресу ко.манды передачи управления принимается в старщий РК, которы.м является РКь Это нежелательно, так как именно в этом РК .могут находиться выбранные ранее команды цикла.
Команды слова .с адресом а+1, следующего за ко.мандой передачи управления, не входят в число команд цикла, однако ;в блоке / содержатся в РКо, занимая место команд цикла. При такОМ ци.кле в такой организации приема информации в БЗУ резко снижается его эффективность.
Очевидно. что имеющееся в блоке / цикла не исключаются, если команда передачи управления управляется организацией приема из ЗУ 20 по адресу не в старший РК (с порядковым номером обращения к - 3 в таблице 2), а IB РК с .предварительно выбранными командами.
Прп наличии в РК команды передачи управления .прием нового слова из ЗУ 20 по
адресу этой команды передачи управления, не совпадающему ни с одни.м из адресов в РА, производится :в РК, с предварительно выбранными команда ми, т. е. в РК, порядковый номер обращения к которому явл-яется следующим по отношению к порядковому Ho:viepy обращения РК, в котором находится ко манда передач,и управления.
Это осуществляется следующим образом. При установке триггера 15 в единичное состояние блок 17 определяет но.мер РК с предварительно выбранными командами. Значение номера РК передается через схемы «И 18 в блок 7 для задания номера РК, для приема по адресу в счетчик 3 - исполнительному адресу команды .передачи управления,- из ЗУ 20 с .помощью блока 10 в соответствующ.ий этому номеру РК, информации, относящейся к циклу. Эта информация по.мещается .вместо команд слова, выбранного ранее, «вперед по
отнощению к ко.манде передачи управления.
Изменение нумераццц очередности обращения к блоку 1 при совпадении, например, PAi .из блока 2 с содержи.мым счетчика 3 выглядит как показано в таблице 3.
Таблица 3
а -1 -РА.,к--1 РК„
а - 2 - PAi
к- - РК, а - 1 - РАг -РКз а- -РАз к -2 -РКз
40
Старщиисгво регистров блока 1 при этом следующее: РКа, РКз, РКо, РКь
При несовпадении адреса из счетчика 3 с адресами из блока 2 и наличии команды иередачи управления в РКз, в РАо записывается адрес .из счетчика 3, в РКо прини.мается слово из ЗУ 20 по этому адресу, затем из этого РКо информация пост}иает на регистр 19. В результате -нумерация очередности обращения к регистрам блока / изменяется так, ка..к показано в таблице 4.
Таблица 4
кРК„
-РАо
к -3 -PKj -PAi а - 1 - РАз к -2 -РКг а -.- - РАз к...
Старшинство регистров при этом следующее: РК2, РКз, РКо.
в дальнейщем адреса из счетчика 3 и блоаса 2 совпадают, так как все команды цикла .имеются в блоке /. Причем счетчрж 3 работает в обычном режиме увеличения своего содерл имого на единицу: выполняется участок програм.мы внутри цикла.
;Л4
..
; j. -..-.. A
7 Предмет изобретения
Буферное запоминающее устройство с ассоциативной адресацией, содержащее блок регистров адреса, подключенный к выходам двухвходовых схем «И, входы которых связаны со счетчиком и цбрвым триггером, лервый блок управления, выход которого подсоединен к счетчику, связаНиому со вторым блоком управления и блоком образования РГСПОЛнительного адреса, блок регистров команды, входы которого подключены ,к третьему блоку управления, второй триггер, подключенный к блоку схем сравнения, соединенному с выходом счетч.ика, /первый блок определения номера регистра команды, связанный с блоко1М нумерации регистров команды, подключенным
397970
8
ко второму блоку определения номера регистра команды, отличающееся тем, что, с целью повышения быстродействия устройства, оно содержит дополнительный блок определения номера регистра команды, первый вход которого подключен к выходу первого блока определения номера регистра команды, второй - .к единичному выходу второго триггера, блок трехвходовых схем «И, первые входы кото-рых подсоединены к выходу дополнительного блока определения номера регистра команды, вторые - к нулевому выходу первого триггера, третьи - к единичнО:му выходу второго триггера, который подключен ко входу первого блока управления, а выходы - к первому блоку определения номера регистра команды.
название | год | авторы | номер документа |
---|---|---|---|
ЦЕНТРАЛЬНЫЙ ПРОЦЕССОР МУЛЬТИПРОГРАММНОЙ МУЛЬТИПРОЦЕССОРНОЙ ВЫЧИСЛИТЕЛЬНОЙ СИСТЕМЫ | 1971 |
|
SU309363A1 |
Программируемое устройство для контроля цифровых систем | 1986 |
|
SU1439588A1 |
Устройство для контроля оперативной конвейерной памяти | 1989 |
|
SU1633463A1 |
Устройство управления процессора | 1988 |
|
SU1670686A1 |
МИКРОПРОЦЕССОР ВВОДА-ВЫВОДА ИНФОРМАЦИИ | 1992 |
|
RU2042182C1 |
БУФЕРНОЕ ЗАПОМИНАЮЩЕЕ УСТРОЙСТВО | 1973 |
|
SU409291A1 |
Графический дисплей с контролем | 1984 |
|
SU1249526A1 |
Устройство для сопряжения центрального процессора с группой арифметических процессоров | 1984 |
|
SU1254495A1 |
Устройство для сопряжения центрального процессора с группой арифметических процессоров | 1984 |
|
SU1288704A1 |
Устройство для сопряжения | 1987 |
|
SU1434441A1 |
Авторы
Даты
1973-01-01—Публикация