Устройство предварительной выборки команд
Иллюстрации
Показать всеРеферат
Предлагаемое устройство целесообразно применять в процессорах, архитектура которых предполагает использование буферной памяти, конвейерного выполнения команд. Наиболее эффективно применение предлагаемого устройства, если в программном обеспечении процессора используется значительное количество однотактных команд. Цель - повышение быстродействия устройства за счет обеспечения постоянной загрузки буфера команд устройства, непрерывная подкачка которого со стороны магистрали и выгрузка информации производится по требованию процессора. Устройство предварительной выборки команд содержит блок формирования запросов, блок согласования запросов, блок регистров, узел чтения, узел записи, узел управления загрузкой. 2 з.п.ф-лы, 4 ил.
СОЮЗ С ЮЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИН (19) (l1) ГОСУДАРСТВЕННЫЙ КОМИТЕТ п0 ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМ
flPH ГКНТ СССР
1 (21) 4327715/24-24 (22) 01. 10.87 (46 ) 30. 04. 90. Бюл. № 16 (72) Т.H. Ыирко, А.Ю. Кряжев, Ю.Б. Рычагов, С.А. Лазарев, А.С. Ваенский, Н.Ф. Фоминых и А.Н. Терехов (53) 68 1.3 (088.8) (56) Микропроцессорные средства и . системы. 1986, № 1, с. 30.
Пом А. Быстродействующие системы памяти. М.: Мир, 1987.
Корнейчук В.И. Запоминающие устройства ЦВМ. Киев, 1976, с. 117, (54) УСТРОЙСТВО ПРЕДВАРИТЕЛЬНОЙ ВЫБОРКИ КОМАНД (57) Предлагаемое устройство целесообразно применять в процессорах,архитектура которых предполагает исИзобретение относится к вычислительной технике и может быть использовано в процессорах, архитектура которых предполагает использование буферной памяти, конвейерного выполнения команд.
Целью изобретения является повышение быстродействия устройства.
На фиг.1 представлен пример реализации электронной вычислительной машины, включающий данное устройство; на фиг.2 — функциональная схема устройства предварительной выборки команд, на фиг.3 — функциональная схема узла управления счетом; на фиг.4 — функциональная схе,ма узла анализа занятости устройстД1) С 06 F 15/00 9/00, 9/46
2 пользование буферной памяти, конвейерного выполнения команд. Наиболее эффективно применение предлагаемого устройства, если в программном обеспечении процессора используется значительное количество однотактных команд. Цель - повышение быстродействия устройства за счет обеспечения постоянной загрузки буфера команд устройства, непрерывная подкачка которого со стороны магистрали и выгрузка информации производятся по требованию процессора. Устройство предварительной выборки команд содержит блок формирования запросов, блок согласования запросов, блок регистров, узел чтения, узел записи, узел управления загрузкой. 2 з.п. ф-лы, 5 ил. ва, на фиг.5 — временная диаграмма тактовой последовательности импульсов процессора.
Электронная вычислительная машина, поясняющая область применения
Устройства (фиг.1), содержит устройство предварительной выборки команд
1, процессор 2, информационный вход
3, оперативное запоминающее устройство 4, системную магистраль 5, второй информационный выход блока бу. ферной памяти команд 6, блок микро-, программного управления 7, первый информационный выход блока буферной памяти команд 8, внутреннюю магистраль процессора 9.
1561073
Устройство 1 содержит (фиг.2) блок 10 формирования запросов, блок
11 согласования запросов, блок регистров 12, узел 13 записи, узел
14 чтения и узел 15 управления за5 грузкой (счетчика адреса команд, СчАК1,выход чтения команды 16,блока формирования запросов„нходы .17 и 18 соответственно чтения и записи операн- 10 да устройства, выход 19 признака инициализации запроса устройства, ;выход 20 разрешения записи блока за,писи, выход 21 стробирования блока формирования запросов, входы 22 чтения блока регистров, вход 23 режима
;работы блока регистров, выход 24 конца обмена блока согласования запросон, выход 25 признака блокировки считывания информации устройства, вы- 20 ход 26 признака чтения операнда устройстна, выход 2? признака записи
,операнда устройства, входы 28 -28
1 yl+1 признаков считывания информации устройства, вход 29 управления запросом 25 устройства, входы 30 разрешения зап роса устройства, вход 31 блокировки запроса устройства, выход 32 блокиið0âêè блока управления загрузкой, выход 33 обнуления блока управления
:загрузкой, р-разрядный счетчик 34 контроля, сумматор 35, узел 36 управления счетом, узел 37 анализа занятости устройства, элемент И 39, элементы И-НЕ 40 и 41, четвертый триггер 42, нхоц 38 признака запол ненности блока регистров. При этом узел 36 (фиг.3) содержит генератор
,43, р-разрядный счетчик 44, дешифра,тор 45, элементы И-ИЛИ-НЕ 46, ИЛИ 47, И-ИЛИ 48.
Узел 37 (фиг.4) содержит р-разрядный дешифратор 49, схему сравнения
50, элемент И-ИЛИ 51, группу элементов ИЛИ 52 -52П выход 53 запроЭ са, выход 53 блокировки. Кроме того, устройство 1 содержит и регистров 54, входы 55"-55 " управления портом В, входы 56"-56" управления портом С, триггер 57, элемент И-НЕ
58, вход. 59 стробирования устройства, 50 р-разрядный счетчик 60, дешифратор
61, группу буферных регистров 62 62 "+, элементов И 63 -63", И-ИЛИ
64 -64, ИЛИ 65" -65" и третий триггер 66, с шестого по восьмой
55 триггеры 67-70, пятый, десятый, один1 надцатый триггеры 71-73, элементы И
74, И 75 -75, элементы И 76 -76 и элементы ИЛИ 77, И-HF. 78, первый триггер 8 1, элемент ИЛИ 82, элемент
И 83, элемент И-НЕ 84, Устройство предварительной выборки команд 1 (фиг.1) включается в процессор 2.
В устройстве I по информационному входу 3 поступает командный код из
ОЗУ 4 системы по магистрали 5. С информационного выхода 6 устройства 1 информация поступает в блок микро- программного управления (БМУ) 7 процессора 2.С информационного выхода 8 информация поступает на внутреннюю шину 9 процессора 2;
Блок 10 предназначен для формирования запроса на чтение командного кода из ОЗУ 4 системы, С выхода 16 блока 10 поступает запрос чтения командного кода. Выход
16 подключается ко входу t6 блока 11, на входы 17 и 18 которого поступают соответственно запросы на магистраль
5 из микрокоманды на чтение или запись операнда.
Блок 11 предназначен для согласования запроса из блока 10 с запросами от процессора 2, На выходе 19 блока 11 формируется сигнал инициализации чтения команды на магистраль 5, Выход 19 подключен ко входу 59 схемы
13, формирующей сигнал записи командного коца н блок 12 ro входу 3, который является информационным входом
3 YIIBK 1. Сигнал записи поступает на вход 20 блока 12. (Выход 21 блока 10 соединен со входом 21 схемы 14, группы выходов 22 и выход 23 которой подключены к группам управляющих входов 22 и управляющему входу 23 блока 12. На входы
22 и 23 поступают сигналы разрешения вывода информации с регистров блока 12 в БМУ 7 через группу выходов 6 или на шину 9 через группу выходов 8, Группы выходов 6 и 8 блока
12 являются информационными выходами устройства 1. Блок 12 предназначен для временного хранения командного кода.
С выхода 24 блока 11 на вход 24 блока 10 поступает сигнал, характе.ризующий конец обмена по магистрали
5 от запроса на чтение команды. Выход 25 блока 10 и выходы 19, 26 и
27 блока 11 являются выходами 19, 25-27 УПВК 1. С выходов 19, 26 и 27 поступают запросы, инициирующие на
5 1 мАгистраль 5 соответственно чтейие команды и операнда, запись операнда. С выхода 25 поступает блокирующий сигнал для тактовой частоты процессора 2, !
На группу управляющих входов 28
28 блока 10 и схемы 14, на вход и
29 блока 10 и входы 30 и 31 узла 15 поступают управляющие сигналы с поля микрокоманды, на управляющий вход
28 "+ — сигнал с HIL 7. Узел 15 пред назначен для формирования сигналов управления работой блока 10 и узлов
14 и 13 в случае перезагрузки СчЛК процессора 2. С выхода 32 узла 15 на вход 32 блока 10 поступает сигнал блокировки. С выхода 33 узла 15 поступает сигнал обнуления на входы 33 блока 10 и узлов 13 и 14.
Узел Зб имеет группу входов
n+<
28 -28, являющихся входами блока
10. Выход узла Зб соединен со счетным входом счетчика 34, работающего на вычитание, и является выходом .
21 блока 10, Входы Д1-ДР счетчика
34 подключены к выходам сумматора
35, входы А1-АР которого соединены с выходами Q1-QP счетчика 34, а входы В1-ВР соединены со схемой 38.
Схема 38 устанавливает постоянное число, например число и разрядность которого в двоичном коде меньше р.
Установленное число и складывается в сумматоре 35 с содержимым счетчика 34.
Разрядность р счетчика 34 определяется максимальным числом 2 и. Это утверждение будет пояснено далее, Вход 24 блока 10 через элемент
И-НЕ 40 соединен со входом разрешения записи счетчика 34.
Таким образом, изменение содержимого счетчика 34 происходит под действием сигнала на входе 24. Обнуление счетчика 34 происходит по входу
R сигналом, поступающим с узла 15 на вход 33.
Узел 37 производит анализ информации на выходах Qt-QP счетчика 34.
От результата анализа на первом выходе узла 37 вырабатывается запрос на чтение команды из ОЗУ 4 системы, который через элемент И 39 поступает на выход 16 блока 10. На втором выходе узла 37 появляется сигнал, фиксируемый триггером 42.
Содержимое счетчика 34 поступает на р входов дешифратора 49 и на р
56 1073 входов схемы сравнения 50, на другой вход которого узла 38 поступает установленное число и в двоичном коде
S разрядностью .р, Инверсный выход схемы сравнения 50, являющийся первым выходом 53 узла 37, соединяется со
1 входам элемента И 39 блока 10. На выходе схемы сравнения 50 появляется сигнал 1, если значение / со счетчика 34 в двоичном коде не превышает заданного узлом 38 порога и. Блок 12 (фиг.б) предназначен для временного хранения командного кода. Блок 12 содержит 2 и К-разрядных буферных регистров 54. Запись с магистрали 5 производится одновременно в и регистров 54 по портам AI-An. Информация в регистры 54 -54 поступает с инфори
20 мационного входа 3. Так как п9 каждому порту А поступает К бит информации, то разрядность магистрали 5 должна быть не меньше n.
Управление записью производится
25 по входу 20 . Управление уровнями регистров 54 -54п по адресу ХО или
Х1 производится сигналом со входа
20 . Входы 20 и 20 являются управляющим входом 20 блока 12, под30 ключенным к выходу схемы 13.
Вывод информации производится с портов В1-В „ на внутреннюю шину 9 процессора 2. Вывод информации возможен как с одного порта В, так одновременно со всех В1-В„. Поэтому
35 разрядность шины 9 должна быть не меньше К и. Вывод информации с портов С1-Сп производится в БИУ 7 и возможен только с одного порта С. Вып
40 ходы 6 -6 объединены монтажным ИЛИ и являются информационным выходом 6
УПВК 1. При считывании информации выбор номера порта производится для
l1 портов В1-В по входам 55 -55, для и ю портов С1-C„— по входам 56 -56
Входы 55 -55 и 56 -56 являются и группами управляющих входов 22 блока 12, подключенными к выходам узла
14. Указатель считывания с регистров
50 0 Н Н 1 yposHsr no и<
С1-С соединен с управляющим входом и
23 блока 12, подключенным к выходу
23 узла 14.
Узел 13 (фиг.7) содержит триггер, 55
57 работающий по фронту, элемент
И-НЕ 58. Обнуление триггера 57 осуществляется по R-входу с выхода 33 узла 15. Первый вход И-НЕ 58 соединен с выходом 19 блока 11, а второй
156! 073
его вход является управляющим магистральным входом 59. На вход 59 поступает стробирующий сигнал, подтверждающий достоверность информацйи на магистрали 5.
Выход 20 элемента 58 и прямой
1 выход 20 триггера 57 являются выходом 20 узла 13.
Узел 14 (фиг,8) предназначен для формирования сигналов чтения при выводе информации с блока 12.
Триггеры 67-69 (фиг.9) предварительно запоминают запросы на магистраль 5 — чтение команды, поступающей из блока 10 на вход 16 блока 11, чтение ИЛИ запись операнда, поступающей из микрокоманды на входы 17 и 18, Триггер 70 фиксирует конец обмена по магистрали 5. Сигнал конец обмена поступает на вход 79.
Кроме того, для правильного ис- пользования блока 11 введены допол. нительные элементы ИЛИ 77 и И-НЕ 78.
С выхода 80 вырабатывается сигнал, формирующий режим работы на магистрали 5, — чтение. Выход 80 подключается к мультиплексору условий БИУ
7. Поэтому прежде, чем формировать новый запрос на магистраль 5, процессор 2 по сигналу с выхода 80 мо2 жет определить обслужен ли его предыдущий запрос. Если предыдущий запрос еще не был обслужен, так как магистраль 5 была занята чтением команды, процессор 2 обязан подождать.
Обнуление триггеров 67-69 производится со входа "Сброс" начальной установки процессора 2. Узел 15 содержит- триггер 81, работающий по фронту, и элементы ИЛИ 82, И 83, И-НЕ 84, Для работы блоков и узлов (Фиг, .
2-4) устройства 1, а также процессора 2 используется тактовая последовательность импульсов Ti и Т2, временная диаграмма которых представлена на фиг.5. Частота f — опорная частота.
Устройство работает следующим образ ом, Пусть в начальный момент времени после включения питания на вход
"Сброс" блока 11 и узла 15 приходит . сигнал установки нуля. Триггеры 6769 блока 11 устанавливаются в состояние нуля, т.е. запросы на магистраль 5 отсутствуют. Триггер 81 узла
15 устанавливается в состояние нуНа выходе 20 блока 13 — сигнал
35 "0" поэтому указатель арреса для регистров 54" -54 " блока 12 — ХО.
Сигнал записи "0" в эти регистры по портам А1 A „ формируется с приходом сигнала "1" на вход 59 блока
40 13, который характеризует достоверность передачи информации по магистрали 5..С его приходом информация с магистрали .5 по входам 3 -3 эапии сывается в регистры, В конце обмена сигнала "1" на входе 59 снимается, триггер 57 по положительному перепаду устанавливается в единицу. Указатель адреса уровня регистров 54 —
54 блока 12 по портам А1-А станои вится Х1, и следующая запись командного кода будет произведена в эти регистры.
Положительный перепад, приходящий на вход 79 блока 11, характери55 зует конец обмена на магистрали 5.
Пусть приход этого перепада тактирован серединой такта. Триггер 70 устанавливается в единицу, На выходе
И 76 появляется сигнал "1", кото5
1Ñ
30 ля. Сигнал "0" с выхода 32 узла 15 поступает на вход 32 блока 10, а затем на блокирующий вход элемента .
И 39. С выхода 16 блока 10 запрос на чтение команды из ОЗУ 4 системы не формируется. Затем из микрокоманды на вход 30 узла 15 поступает сигнал " 1", управляющий загрузкой
СчАК. По сигналу Т2 с выхода 33 происходит обнуление счетчика 34 блока 10, триггеров 57 схемы 13 и 60, 66 узла 14. На первом выходе узла
37 блока 10 формируется запрос на чтение команды. Этот сигнал вырабатывается на выходе схемы сравнения
50. Если содержимое счетчика 34 имеет значение О» II < п, то на выходе схемы сравнения 50 появляется
I сигнал "1". Положительным перепадом такта. Т1 триггер 81 узла 15 устанавливается в единицу в конце такта. На выходе
16 блока 10 формируется сигнал "1", который проходит через элемент 74 блока 11, тактируемый тем же сигналом Т1, и в конце данного такта. фиксируется триггером 67. В начале следующего такта через элемент И 75 запрос фиксируется RS триггером 71, На выходе 19 блока 11 формируется сигнал, инициализирующий чтение команды на магистрали 5.
91 рый в конце данного такта сигналом
"0" поступает на Й-вход счетчика 34.
Под действием этого сигнала содер- жимое сумматора 35 записывается в счетчик 34, в данном случае )" =О, тогда в счетчик 34 запись.вается число и. Узел 3? производит анализ содержимого счетчика 34, На выходе схемы сравнения 50 вновь появляется сигнал "1", который поступает на вход 16 блока 11. Запись числа п в счетчик 34 производится в течение времени Т1, поэтому первым полутактом следующего такта триггер 70 устанавливается в нуль, Положительным перепадом по С-входу триггер
67, а затем и триггер 71 iio R-входу обнуляются. Блокировка на входе И
74 снимается. В конце данного такта по сигналу Т1 триггер 67 снова устанавливается в единицу, а в начале следующего такта инициализируется запрос на магистраль 5 для чтения командного кода. Максимальное число, записанное в счетчик 34, равно 2п, разрядность которого в двоичной системе р, Если при загрузке СчАК под действием управляющего сигнала из микрокоманды (сигнал "1" на входе 30) его содержимое было А, то по концу обмена с выхода 24 блока 11 появляется сигнал, который изменяет содержимое
СчАК на А+и, Таким образом при чтении командного кода в и регистров
54 БК 12 наращивание СчАК происходит автоматически на число и. Под действием сигналов, поступающим на вхо"
4 пФ1 ды 28 -28 устройства 1, производится считывание с регистров
54 -54 блока 12. Под действием curtl налов со входов 28 -28" из микрокоманды происходит вывод информации на
A4 шину 9, со входа 28 (управляющий сигнал из БМУ 7) — в БМУ 7.
При этом сигналы со входов 28—
28 характеризуют количество регисти ров 54 БК 12 одновременно .считываемых по портам В1-В и. Под действием
1 сигнала со входа 28 считывается !. один регистр 54, под действием 28 одновременно два регистра 54 и т.д., под действием 28" — п регистров 54.
ll+I
Под действием сигнала со входа 28 считывается всегда один регистр 54 с портов С1-C
С помощью сигнала на входе 28 процессор 2 читает код операции оче561073 30 редкой команды в БМУ 7, где формируется начальный адрес микрокоманды . обработки данной команды. В большинстве случаев команда выполняется
5 за один такт процессора 2, т ° е, за одну микрокоманду. В выбранной микрокоманде может быть указано количество регистров 54 по сигналам на
2 ll вхсдах 28 -28, которые необходимо считать на шину 9 (чтение остатка команды, например непосредственного операнда), чтобы выполнить команду заданного формата. После загрузки
СчКА триггер 60 обнулен. На выходе 1 дешифратора 61 - сигнал "1". Запись
n сигналов в регистры 62 -62 происхо- . дит по концу такта Т1, В данном случае указатель адреса считывания с
20 портов 81-Вп нли С1-С„ поступает с регистра 62 .
Сигнал с выхода триггера 66 указывает с какого уровня регистров производить считывание. В данном
25 случае считывание по портам В1-Вп или С1-С д производится с уровня ХО.
Пусть, например, в начале такта пришел сигнал "t" на вход 28 . В этом случае на выходе элементов ИЛИ
3Q 65, 65 - сигналы "1", отсюда на выходе И-ИЛИ 64,64 — тоже сигналы
"1". На управляющие входы 55, 55 блока 12 поступают сигналы "1", которые разрешают вывод информации по портам В1, В2 с регистров 54, 54 и уровня у0.
Одновременно сигнал "1" со входа
28 поступает в блок 10 на вход узла
36 и через элемент И-ИЛИ 48 включает
40 генератор 43. Когда на выходе 2 дешифратора 45 появляется сигнал "1", он пропускается элементом И-ИЛИ-НЕ 46, Сигнал "О" на выходе элемента 46 блокирует работу генератора 43, т.е. с
45 выхода 21 узла 36 от сигнала 28 фор г мируется два импульса.
Генератор 43 вырабатывает последовательность импульсов типа меандр, длительность Т2/2 которых определя50 ется допустимой длительностью, необходимой для срабатывания счетчиков 34 блока 10 и 60 схемы 14, т.е. выбором их элементной базы.
Два импульса, сформированные уз55 лом Зб, поступают на вычитающий счетный вход счетчика 34. Содержание счетчика 34 становится -2.
Те же два импульса поступают на вход 21 узла 14 и далее на счетчик
ll 15610
60. На выходе 3 дешифратора 61 появляется сигнал 1, который записывается в буферный регистр 62 в кон9 це.такта Ò1. Указатель адреса считы5 нания с портов В1-В или С1-С изб и ценен на число 2. Начиная с регистра
54 уровня ХО, возможно считывание с чередного командного кода, когда в
Начале такта придут новые сигналы
4 >1 +1 1з микрокоманды на входы 28 -28 +
Для перехода считывания информаЦии с уровня Х1 служит триггер 66, оторый фиксирует переполнение по
ыходу р+ счетчик 60. При этом возможен одновременный вывод информации нескольких регистров одного и другого уровня.
Оценим длительность такта процессора 2. Под действием сигнала со 20 входа 28 генератор 43 в течение такП та должен выработать и импульсов, которые изменят содержимое счетчика
34 на величину (-n и сосчитаются счетчиком 60. Кроме того, в конце
)того "àêòà в счетчик 34 возможна запись числа Il па концу обмена. ПаЭтому к приходу положительной полки факта Т1 (фиг.5) необходимо, чтобы счетчик 34 надежно переключился. ат и импульсов, Если критический луть для обработки информации в процессоре 2 !
Меньше, чем расчетная длительность
1 акта ат последовательности и им1 ульсов генератора 43, та возможно е увеличивать такт процессора 2. я этого необходимо организовать раоту процессора 2 таким образом, например, на микропрограммном уровне, 40 чтобы данную информацию ан смог обработать за два или несколько тактов, Возможны случаи, когда потребность процессора 2 в количестве считываемой
Информации оказывается больше, чем имеющаяся на данный момент в блок 12. Для этого случая сигналы со вхол дов 28 — 28 сравниваются с содержимым счетчика 34 в начале такта.
На выходе дешифратора 49 формируется сигнал, характеризующий число счетчика 34, На элементе И-ИЛИ 51 собираются разлиЧные сочетания сигналов, приходящих на входы 28
28 1", и сигнала (, когда возникает недостаток считываемой информации из блока 12. На выходе 53 узла 37 сигнал " 1" характеризует дефицит информации в блоке 12. Сигнал "1" са
73 !2 второго выхода узла 37 фиксируется в триггере 42 во втором полутакте.
С выхода 25 блока 10 появляется сигнал "0" в первом полутакте, который блокирует тактовую частоту процессора 2, Выполнение данной микрокоманды останавливается, Чтобы счетчик 34 не изменял своего состояния при остановленной микрокоманде, «а вход 25 схемы 36 поступает блокирующий сигнал "0", Генератор 43 останавливается. К этому времени счетчик 44 успел записать некоторое число импульсов ат сигнала на одном из входов 28 -28
4 Н+!
Па концу обмена на магистрали 5 в счетчик 34 записывается число п в конце такта. В начале следующего такта снимается блокирующий сигнал
"1" на выходе 25 блока 10. Генератор
43 возобновляет рабату и достигает необходимое количество импульсов.
Данная микракаманда, на которой произошел останов процессора 2, выполняется.
Останов работы процессора 2 ат сигнала на выходе 25 блока 10 ухудшает er а производительность.
Чтобы уменьшить вероятность появления этого сигнала, необходимо составить программу работы процессора
2 следующим образом: предельна увеличить частоту выходу запроса на чтение командного кода (обращение процессора 2 к магистрали 5 должно происходить гораздо реже); уменьшать цикл обмена с ОЗУ 4 системьг, при выводе информации за р тактов из блока 12 не должно формироваться сигнала блокировки на выходе 25 блока 10, где, р — количество тактов в цикле обмена с ОЗУ 4. Б конце р-га такта происходит подкачка буферных регистров 54 блока 12 °
В блоке 11 происходит управление запросами на чтение команды и ат процессора 2 ° Запись в триггер 67 происходит в конце такта, запись в триггеры 68, 69 — в на;але такта, Инициализация запроса на магистраль 5 для чтения команды возможна в начале, а ат процессора 2 — ва втором полутакте следующего такта.
Запрос, фиксированный в триггере
67, блокирует элементы 75, 75 и наоборот. . Если в начале такте лраисхапит обнуление триггеров 67 и 71 па концу
1 561073
50!
3 обмена на магистрали 5, то запрос, зафиксированный в начале этого такта в триггере 68 или 69, во втором полутакте данного такта формирувт запрос на магистраль 5 от процессора 2.
Обнуление триггеров 68 и 72 или
69 и 73 происходит в конце такта.
В этом случае запрос на чтение командного кода может формироваться в начале следующего такта. Триггер
70 фиксирует конец обмена во втором полутакте, где эта информация и обрабатывается. В первом полутакте происходит обнуление триггера 70.
Формирование режима чтение по магистрали 5 происходит по сигналу с выхода 80, записи — с выхода 27, Ин1 формация для процессора 2 — обслужен ли его предыдущий запрос-поступает 20 с выхода 80". Запрос на чтение командного кода формируется аппаратно и не контролируется процессором 2.Чтобы микропрограммно управлять запросом, формируемым на выходе 16 бло- 75 ка 10, используется сигнал "1", поступающий иэ микрокоманды на вход
29. Этот .сигнал блокирует запрос, если не формируется сигнал "0" на выходе 25 блока 10, так как блокиров- 30 ка запроса при останове процессора
2 не имеет смысла, Сигнал "1" на вхоДе 31 устанавливает триггер 81 в нуль и блокирует запрос с выхода
16 блока 10, а также прием сигнала конца обмена на элементе И 40.
Сигнал "1" со входа 31 действует, когда необходимо произвести выгрузку
СчАК.
Адрес текущей команды при выполнении команд перехода можно вычислить, так как СчАК указывает на адрес упреждения, а смещение от этого адреса содержится в счетчике 34, По концу обмена чтения команды в СчАК и счетчик 34 записывается число и.
В случае выгрузки СчАК обнуляется триггер 81, сигнал "0" с его выхода блокирует загрузку СчАК и счетчика
34, а также формирование запроса на чтение команды.
Затем производится вычисление адреса текущей команды в блоке обработки данных процессора 2. Для этой цели должен быть предусмотрен вывод информации с СчАК и счетчика 34 на внутэеннюю шину 9 процессора 2.!
Устройство 1 представляет собой автомат, позволяющий совместить во времени выполнение процессором 2 текущей команды и запись в п .буферные регистры очередного командного кода, УПВК 1 контролирует состояние буферных регистров и формирует запрос на чтение командного кода, если со» держимое счетчика 34, ответственного за количество занятых информацией регистров 54 блока 12, имеет значение 0 а п, УПВК 1 автоматически управляет запросами (своим и от процессора 2) на магистраль 5.
Устройство 1 может останавливать вычисления процессора 2, если потребность процессора 2 в командной информации оказывается больше, чем имеющаяся в данный момент в блоке 12.
Уменьшение цикла обмена с ОЗУ 4 системы, организация работы процессора
2 таким образом, чтобы в интервалах между подкачкой блока 12 его потребность информации была меньше ресурса блока 12, уменьшает вероятность останова процессора 2 °
При перезагрузке. СчАК перезагрузка блока 12 не требуется. В том же такте, где производится загрузка СчАК, осуществляется возврат на нулевой указатель адрес ° записи †чтен блока 12 и формирование запроса чтения команды, Устройство 1 позволяет производить одновременную запись командного кода в п регистров 54 блока 12 за один цикл обмена.
Варьируя количеством регистров 54 в блоке 12, количеством одновременно загружаемьж и выгружаемых регистров, можно добиться постоянной загрузки блока 12.
Наиболее эффективно применение предлагаемого устройства в процессорах, в программном обеспечении которых используется значительное количество однотактных команд.
Формула изобретения
1. Устройство предварительной выборки команд, содержащее блок регистров, информационные входы и выходы
Которого являются соответственно информационными входом и выходом устройства, о т л и ч а ю щ е е с я тем, что, с целью повышения быстродействия устройства, оно содержит
561073 узел анализа занятости устройства, узел управления счетом, счетчик контроля, сумматор, счетчик, дешифра тор, с первого по одиннадцатый триг" геры, с первого по девятый элементы И, с первого по пятый элементы
И вЂ” НЕ, первый и второй элементы
ИЛИ, группу n+1 регистров (где n— количество единиц информации, записываемой или считываемой одновременно в блок регистров), группу и элементов И,. группу и" 1 элементов ИЛИ и группу п элементов И - ИЛИ, причем группа и+1 входов признаков считывания информации устройства подключена к группе и+1 информационных вхо дов узла управления счетом и к первой группе n+1 информационных входов узла анализа занятости устройства, группа информационных выходов счетчика контроля соединена с второй группой информационных входов узла анализа занятости устройства и с группой входов первого слагаемого сумматбра, .группа входов второго слагаемого, которого подключена к группе входов кода признака "àïîëíåííîñòè информацией блока регистров устройства, информационный выход сумматора соединен с информационным входом счетчика контроля, выход узла управ" ления счетом подключен к вычитающему входу счетчика контроля и суммирующему входу счетчика, выход первого элемента И-НЕ соединен с входом разрешения записи счетчика контроля, прямой выход первого триггера соединен с первым входом первого элемента . И и первым входом первого элемента И-НЕ, второй вхоц которого подключен к первому входу синхронизации устройства, инверсный выход первого триггера соединен с прямым входом второго элемента И-HE выход которого соединен с информационным входом первого триггера, вход синхронизации которого подключен к первому входу синхронизации устройства, выход первого элемента ИЛИ соединен с входом. установки в "0 первого триггера, первый вход первого элемента ИЛИ подключен к входу блокировки запроса устройства, вход разрешения запроса устройства подключен к инверсному входу второго элемента И-НЕ и к первому входу второго элемента И, второй вход которого под-. ключен к второму входу синхронизации
45 ход шестого триггера соединен с устройства, выход второго элемента И соединен с входами сброса счетчика контроля и счетчика, с входами уста-!! 1t н о вк и в 0 второго и третьего тригг е р ов, выход бл о кир о вк и узла анализа занятости устройства соединен с и нформационным входом четвертого т ри ггера, вход синхронизации которого подключен к третьему входу си нхр они з ации устройства, инверсный выход четвертого триггера является выходом признака блокировки считывания информации устройства и подключ ен к входу блокировки счета узла упр авл ения счетом и к пер в ому входу третьег o элемента И вЂ” Н Е, второй вход которого подключен к входу управления з апросом устройства, выход третьего элемента И -Н Е с о един е н с вторым вх одом первого элемента И, выход з а пр оса узла а на лиз а занятости устройства соединен с третьим входом первого элемента И, выход которого соединен с первым входом третьего элемента И, второй вход которого подключен к первому входу синхронизации устройства, прямой выход пятого триггера является выходом признака инициализации запроса устройства и подключен к первому входу четвертого элемента И-HE и первому входу четвертого элемента И, выход которого соединен с третьим входом первого элемента
И-HE и входом синхронизации шестого триггера, выход третьего элемента И соединен с входом установки в "1" шестого триггера, информационный вход которого н информационные входы седьмого и восьмого триггеров подключены к шине нулевого потенциала устройства, входы установки в "1" седьмого и восьмого триггеров являются соответственно входами признака запросов на чтение и запись операнда устройства, инверсный выход девятого триггера соединен с вторым входом четвертого элемента И, прямой выход девятого триггера соединен с первыми входами пятого и шестого элементов И, вход синхронизации девятого триггера соединен с входом признака сброса за" просов устройства, информационный вход девятого триггера соединен с шиной единичного потенциала устройства, вход установки в "0" девятого триггера подключен к третьему входу синхронизации устройства, прямой вы1? первым входом седьмого элемента И, второй вход которого подключен к третьему входу синхронизации устройства, инверсный выход шестого триггера. соединен с третьим входом третьего элемента И, входом установки в "0" пятого триггера и первыми входами восьмого и девятого элементов И, прямые выходы седьмого и восьмого триггеров соединены соответственно с вторыми входами восьмого и девятого элементов И, третьи входы восьмого и девятого элементов И подключены к второму входу синхронизации устройства, инверсные выходы седьмого и восьмого триггеров соединены соответственно с третьим и четвертым входами седьмого элемента И, инверсные выходы седьмого и восьмого триггеров соединены и соответственно с входами установки в "0" десятого, одиннадцатого триггеров, выходы восьмого и девятого элементов И соединены соответственно с входами установки в ев и
1 десятого и одиннадцатого триггеров, прямые выходы которых являются соответственно выходами признака запросов на чтение и запись операнда устройства и подключены соответственно к вторым входам пятого и шестого элементов И, выходы которых соединены
Ооответственно с входами синхронизации седьмого и восьмого триггеров, второй вход четвертого элемента И вЂ” НЕ подключен к входу разрешения загрузКи команд устройства, выход четвертого элемента И вЂ” НЕ соединен с входом разрешения записи блока регистров и входом синхронизации второго триггера, инверсный выход которого соединен с информационным входом второго триггера, прямой выход которого подключен к входу записи блока регистров, вы-, ход переполнения счетчика соединен с входом синхронизации третьего триггера, инверсный выход которого соединен с информационным входом третьего триггера, а прямой выход — с информационным входом (и+1) -го регистра группы регистров, выход которого соединен с входом разрешения чтения блока регистров, информационный выход счетчика соединен с информационным входом дешифратора, выходы которого соединены с информационными входами с первого по и-й регистров группы регистров, входы синхронизации всех регистров группы
1561073 18 поДключены к первому входу синхро= низации устройства, выходы с первого по и-й регистров группы регистров, соединены соответственно с перaI»m входами и элементов и группы, вторые входы которых подключены к (и+1)-му входу группы n+1 входов признаков считывания информации уст1g. ройства, выход i-го регистра группы регистров i = 1, ° ...и) соединен с первыми входами с i-го по и-й элементов И-ИЛИ группы, выходы элементов И группы и выходы элементов
И-ИЛИ группы подключены соответственI но к первой и второй группам входов чтения блока регистров, i-й вход .
i-го элемента ИЛИ группы соединен с
i-м входом группы входов признаков
20 считывания информации устройства, выход i-ro элемента ИЛИ группы соединен с (i+2) -м входом элементов
И-ИЛИ группы, и-й вход признака считывания устройства соединен с (n+2) -м
25 входом с первого по п-й элементов
И-ИЛИ группы, вход сброса устройства соединен с вторым входом первого элемента ИЛИ и с входом установки в
"0" с шестого по восьмой триггеров, З0 прямые выходы пятого и десятого триггеров соединены соответственно с первым и вторым входами второго элемента ИЛИ, выход которого является выходом признака режима чтения устройства, инверсные выходы седьмого и восьмого триггеров соединены соответственно с первым и вторым входами пятого элемента И-НЕ, выход которого является выходом признака обслуживания запроса устройства, прямой выход третьего триггера соединен с информационным входом (и+1)-го регистра группы регистров, выход которого соединен с входом режима работы блока
45 регистров третья группа икформациОН ных входов узла анализа занятости устройства подключена к группе входов кода признака заполненности информации блока регистров устройства.
50 2а УстроистВО пО и ° 1у О T л и ч а ю ш е е с я тем, что узел анализа занятости устройства содержит дешифратор, схему сравнения, элемент И-ИЛИ группу элементов ИЛИ, причем выход i-го элемента соединен
55 с i-м входом элемента И вЂ” ИЛИ, i-й вход первой группы информационных входов узла соединен с i-м входом
i-го элемента ИЛИ, вторая группа ин19 15610 формационных входов узла подключена к первой группе входов схемы сравнения, выход которой соединен с выходом запроса узла, вторая группа информационных входов узла подключения к группе информационных входов дешифратора, х-й выход которого соединен с 2 (i+1)-м входом элемента И-ИЛИ, выход которого соединен с выходом признака блокировки узла, вторая группа входов схемы сравнения подключена к третьей группе информационных входов узла„ п-й вход первои группы информационных входов узла соединен с (2 n+1)-м входом элемента И-ИЛИ.
3. Устройство по п. 1, о т л ич а ю щ е е с я тем, что узел управления счетом содержит генератор так- 20 товых импульсов, счетчик„ дешифратор, элемент KIH, элемент И -ИЛИ, элемент И вЂ” KIH — HE, причем с первого по (и+1)-й информационные входы группы узла подключены к входам эле- 25
73 20 мента ИЛИ, выход которого и информационные входы узла с второго по и-й соединены соответственно с первого по и-й входами элемента И вЂ” ИЛИ, (и+1) -й вход которого подключен к входу блокировки счета узла, выход элемента И-IUIH соединен с входом запуска генератора тактовых импульсов, выход которого является выходом узла и соединен с суммирующим входом счетчика, информационный выход которого соединен с информационным входом дешифратора, выходы которого соединены соотв