Устройство для сопряжения процессора с памятью
Иллюстрации
Показать всеРеферат
Изобретение относится к вычислительной технике и может быть использовано в вычислительных системах, процессоры которых имеют более высокое быстродействие. чем память. Устройство позволяет получить повышенное быстродействие при взаимодействии процессора с памятью ЭВМ за счет совмещения загрузки в буферную память информации для (N + 1)-й задачи с обработкой процессором информации для N-й задачи, загруженной ранее в другую зону буферной памяти. Для этого весь объем буферной памяти разделен на две одинаковые зоны, каждая из которых содержит набор блоков буферной памяти команд и набор блоков буферной памяти данных, имеющие независимую аппаратуру управления . Кроме того, введены блок синхронизации и мультиплексоры для управления режимами работы устройства. 3 з.п. ф-лы, 7 ил., 5 табл. Q оо 05 00 ьо ю со
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК д1 4 б 06 F 13/14
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Н А BTOPCKOMV СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 4132824/24-24 (22) 17.08.86 (46) 30.12.87. Бюл. № 48 (72) Я. А. Хетагуров, Г. Г. Калиш, Н. А. Каневская и И. В. Ткаченко (53) 681.3 (088.8) (56) Патент США № 4493026, кл. 364 — 200, опублик. 1985.
Авторское свидетельство СССР № 1129601, кл. G 06 F 13/00, 1983. (54) УСТРОЙСТВО ДЛЯ СОПРЯЖЕНИЯ
ПРОЦЕССОРА С ПАМЯТЬЮ (57) Изобретение относится к вычислительной технике и может быть использовано в вычислительных системах, процессоры которых имеют более высокое быстродействие, „„SU„„1363229 А 1 чем память. Устройство позволяет получить повышенное быстродействие при взаимодействии процессора с памятью ЭВМ за счет совмещения загрузки в буферную память информации для (N + 1) -й задачи с обработкой процессором информации для
М-й задачи, загруженной ранее в другую зону буферной памяти. Для этого весь объем буферной памяти разделен на две одинаковые зоны, каждая из которых содержит набор блоков буферной памяти команд и набор блоков буферной памяти данных, имеющие независимую аппаратуру управления. Кроме того, введены блок синхронизации и мультиплексоры для управления режимами работы устройства. 3 з.п. ф-лы, 7 ил., 5 табл.
1363229
Изобретение относится к вычислительной технике и может быть использовано в вычислительных системах, процессоры которых имеют более высокое быстродействие, чем память, с которой они непосредственно взаимодействуют.
Цель изобретения — повышение быстродействия работы устройства.
На фиг. 1 показана структурная схема устройства; на фиг. 2 — структурная схема блока синхронизации; на фиг. 3 — структурная схема первого блока формирования адресов; на фиг. 4 — структурная схема второго блока формирования адресов; на фиг. 5 — функциональная схема узла формирования адреса; на фиг. 6 — функциональная схема блока формирования адресов команд; на фиг. 7 — функциональная схема блока формирования адресов данных.
Устройство содержит набор блоков буферной памяти, состоящий из двух одинаковых наборов буферных блоков 1 и 2 памяти команд и двух одинаковых наборов буферных блоков 3 и 4 памяти данных, мультиплексоры 5 и 6 адресов команд и данных, мультиплексор 7 команд, второй 8, третий 9, четвертый 10 мультиплексоры данных, первый 11 и второй 12 мультиплексоры адресов команд, первый 13 и второй 14 мультиплексоры адресов данных, первый 15 и второй 16 блоки формирования адресов, блоки 17 и 18 формирования адресов команд и данных, блок 19 синхронизации, первый мультиплексор 20 данных, адресную шину 21 команд из процессора, информационную шину 22 команд из памяти ЭВМ, адресную шину 23 из процессора, шину 24 данных из памяти ЭВМ, шину 25 данных из процессора, шины 26 и 27 синхроимпульсов и начальной установки, адресную шину 28 команд в память ЭВМ, шины 29 и 30 команд и данных в процессор, шину 31 данных и адресную шину 32 в память ЭВМ, выход 33 команд в память ЭВМ, управляющую шину 34 в память ЭВМ,.входы 35 и 36 и выходы 37 и 38 блока синхронизации, выходы 39 и 40 блока 15, выходы 41 и 42 блока 16, выходы 43 и 44 блока 17 и выходы 45 — 47 блока 18.
Блок синхронизации (фиг. 2) содержит набор микропроцессорных элементов 48, память 49 микрокоманд, регистр 50 микрокоманд, в состав которого входят поле управления внешними блоками 5 1, поле управления внутренними блоками 52, поле адреса памяти контроллера 53 и после адреса следующей микрокоманды 54, память 55 контроллера, адресный регистр 56 памяти контроллера, мультиплексор 57 адреса памяти контроллера, память 58 переходов, адресный регистр 59 памяти переходов, регистр
60 переходов, мультиплексор 61 начальной установки, адресный регистр 62 памяти микрокоманд, элемент ИЛИ 63, блок 64 рас5
1О
55 пределения синхроимпульсов, в состав которого входят три элемента 2И-2ИЛИ, два элемента НЕ и блок элементов И. Соответствие между синхроимпульсами с входа 26 и синхросигналами с входов 65 — 76, управляющими внутренними узлами блока и внешними блоками, представлено в табл. 1.
Блок 15 (фиг. 3) содержит m одинаковых узлов формирования адреса и соединен адресными выходами 39 с входами мультиплексоров 11 и 12, стробирующими выходами 40 — с входами разрешения блока 17.
Блок 16 (фиг. 4) содержит 2п одинаковых узлов формирования адреса 77 и соединен адресными выходами 41 — 1 и 41 — 2 с входами соответственно мультиплексоров 13 и 14, а стробирующими выходами 42 — 1 и 42 — 2 с соответствующими входами разрешения блока 18.
Узел формирования адреса (фиг. 5) содержит первый регистр 78 базы, второй регистр 79 маски базы, третий регистр 80 формирования адреса, третью схему 81 сравнения номера блока, первую 82 и вторую 83 схемы сравнения базового адреса, блок элементов И вЂ” НЕ 84, сумматор 85, группу усилителей 86 с тремя состояниями, группу элементов И вЂ” ИЛИ 87, группу элементов
НЕ 88, триггер 89, элемент И-НЕ 90.
Входы 91 — 93 синхронизации подключены к выходам 38 блока синхронизации в соответствии с табл. 1.
Блок 17 (фиг. 6) содержит регистр 94 состояния зон, счетчики 95 — 97, триггеры
98 и 99, элемент ИЛИ 100 и шифратор, состоящий из блока элементов И 101, блока элементов ИЛИ 102, элемента 2И—
ИЛИ 103, и входы 104 — 07 синхронизации.
Назначение разрядов регистра (R
Блок 18 (фиг. 7) содержит регистр 108, счетчики 109 †1, триггеры 113 †1, элементы ИЛИ 117 в 119, элемент НЕ 120, блок элементов И 121, два элемента 4И—
2ИЛИ 122, шифратор 123, блок элементов
ИЛИ 124, блок элементов ИЛИ с синхронизацией 125, элемент 4И вЂ” ИЛИ 126, входы синхронизации 127 в 130, элемент И-НЕ
131. Элементы 120 — 126 образуют шифратор.
Назначение разрядов регистра 108 указано в табл. 4. Наименования первых управляющих выходов 34 указаны в табл. 5. (БПД1, БПД2 — буферные блоки памяти данных) .
Устройство работает следующим образом.
Устройство представляет собой вычислитель с автономным микропрограммным
1363229
55 управлением, выполняющий универсальный набор операций под управлением микропрограмм, хранящихся в памяти 49 микрокоманд. Выполнение любой микрокоманды в устройстве производится за одинаковый период времени, называемый микроциклом. В течение одного микроцикла выполняются следующие процедуры: реализация текущей микрокоманды, находящейся в регистре 50 микрокоманд, формирование адреса следующей микрокоманды и выборка ее из памяти 49 микрокоманд.
Начальная установка устройства выполняется следующим образом.
По шине 26 на блок 64 поступают синхроимпульсы от внешнего источника в соответствии с табл. 1. По шине начальной установки 27 в блок 19 поступает адрес микрокоманды начальной установки на первые входы мультиплексора 61 начальной установки, устанавливается в «1» первый разряд регистра 60 переходов, разрешается 20 передача на выход мультиплексора 61 начальной установки кода с его первых входов, через элемент ИЛИ 63 разрешается обращение к памяти 49 микрокоманд и разрешается выработка синхросигналов 66 и 67 в блоке 64. Когда микрокоманда начальной установки переписана на регистр 50 микрокоманд, то сигналом соответствующего разряда поля управления внешними блоками 51 выключаются цепи начальной установки. При этом мультиплексор 61 начальной установки переключается на передачу информации по вторым входам. Микрокоманда начальной установки опрашивает регистр 60 переходов и вызывает первую микрокоманду пусковой микропрограммы.
Пусковая микропрограмма блока 19 выполняет загрузку в память таблицы последовательности задач, таблицы паспортов задач и таблицы прерывающих задач.
Максимальное количество массивов команд для одной задачи равно m, максимальное количество массивов данных — 40 и. Наличие или отсутствие какого-либо массива для данной задачи определяется битом достоверности. Длина каждого массива команд или данных может быть переменной, но суммарное количество ячеек, занятых массивами команд или массивами данных для одной задачи, не должно превышать соответственно объема одного набора буферных блоков памяти команд или данных.
Бит достоверности команд или данных о говорит о том, что данный массив команд или данных действителен для данной задачи. Бит достоверности результатов говорит о том, что данный массив результатов используется как исходные данные для следующей задачи. Этот бит действителен только при описании массивов данных.
В течение времени загрузки процессор находится в состоянии ожидания. Возврат
4 процессора к обработке прерванной задачи происходит без потери времени, так как она сохраняется в буферной памяти.
Блок 19 осуществляет поиск первой задачи, устанавливает соответствующие исходные данные в блоках 17 и 18 и инициирует загрузку массивов команд и данных для одной задачи в блоки 1 и 3 соответственно.
Режим загрузки в буферные блоки памяти одного массива команд (данных) выполняется под управлением блока 17 (18) следующим образом.
Блок 19 устанавливает исходные данные загружаемого массива команд в счетчиках
95 — 97 и регистре 94 и переводит в «1» триггер 99 блока 17 или устанавливает исходные данные массива данных в счетчиках 109, 110 или 111, 112 и регистре 108 и переводит в «1» триггер 115. Исходные данные представляют собой соответственно количество слов массива, начальный адрес массива в буферном блоке памяти команд (данных), начальный адрес массива в области команд (данных) памяти ЭВМ, код состояния зон буферной памяти команд (данных) . Установка в «1» триггера 99 (115) включает автономное выполнение переписи массива из памяти ЭВМ в буферный блок памяти на частоте работы памяти ЭВМ (входы синхронизации 107(130) . Разрешение прохождения синхросигналов на входы управляющих схем вырабатывает элемент 2ИИЛИ 103 (4И вЂ” ИЛИ 126) при «1» триггере
99 (115). Загрузка заканчивается при выработке сигнала переполнения счетчиком
95(109), который устанавливает в «О» триггер 99 (115). «1» триггера 99 (115) разрешает выработку всех необходимых управляюших сигналов на выходе 33 (шине 34) блоками элементов И 101, ИЛИ 102, (И 121, 4И—
2ИЛИ 122, шифратор 123, ИЛИ 124, 125) в зависимости от кода, хранящегося в разрядах 2, P регистра 94 или в разрядах 2 6 регистра 108 и определяющего первый или второй набор блоков буферной памяти команд (первый или второй набор буферных блоков памяти данных) находится в режиме загрузки. Необходимое стробирование блока элементов И 101 (ИЛИ 125) осуществляется синхросигналами в соответствии с табл. 1.
Об окончании загрузки одного массива блок 19 узнает по сигналам «Конец режима», поступающим из блока 17(18) в блок 19 по входу 36. После этого в блоке 17(18) устанавливаются исходные данные следующего массива команд (данных), и снова включается режим загрузки. По окончании загрузки всех массивов команд и данных для одной задачи блок 19 устанавливает исходные данные в блоках 15 и 16 следующим образом.
В каждом узле 77 (фиг. 5), входящем в состав блока 15 (фиг. 3), устанавлива1363229
55 ются характеристики одного массива командной информации, загруженного в зону бу ферной памяти: в регистр 78 засылается постоянная часть адреса массива в памяти
ЭВМ (базовый адрес); в регистр 79 код, устанавливающий младший разряд базового адреса, так как длина массива может быть переменной, и граница между постоянной и переменной частью адреса данно-о массива в памяти ЭВМ соответственно меняется; в регистр 80 — - арифметическое приращение адреса данного массива в зоне буферной памяти, триггер 89 устанавливается в «!».
Есл t для данной задачи число массивов команд меньше, то часть узлов 77, входящих в блок 15, при ее обработке не используется и загрузка в них не произВодится.
Для организации обращения блока 19 к конкрстному узлу 77 служит схема 81 сравнения, выход которой разрешает прием кодов по информационным входам 35 при сравнении номера узла 77, поступающего пз блока !9 по выходу 37 на ее первые входы, с постоянным кодом, присвоенным данному узлу 77 в конкретном устройстве и закоммутированному на ее вторых входах.
Аналогично заносятся характеристики массивов данных в узлы 77 (фиг. 5), входящие в состав блока 16 (фиг. 4). Поскольку блок 16 содержит две группы по п узлов 77, то занесение характеристик производится в группу из и узлов 77, соответствующую зоне буферной памяти, в которую произведена загрузка данных.
По окончании занесения характеристик всех массивов команд и данных в соответствующие узлы 77 включается режим работы процессора с одной зоной блока буферной памяти.
Процессор с устройством работает следующим образом.
Адрес запрашиваемой процессором команды (данных) поступает соответственно на все узлы 77, входящие в состав блока 15 (16) по шине 21(23). В каждом узле 77 выполняются две процедуры: сравнение адреса из процессора с базовым адресом, содержащимся в регистре 78, которое выполняется на схемах 82 и 83 сравнения и в блоке элементов И вЂ” HE 84, с выхода которого сигнал «Равно» поступает на выход 40 (42), и формирование соответствующего адреса запрашиваемой команды (данных) в наборе буферных блоков памяти, которое выполняется путем арифметического сложения на сумматоре 85, на первые входы которого поступает содержимое регистра 80, а на вторые входы — соответствующие разряды адреса из процессора.
Поскольку длина массива может быть разной в пределах от минимального количества слов, заданного при конкретной разработке устройства, до максимального
5 !
О !
35 объема одной рабочей зоны команд (данных) этого устройства, адрес слова в буферНоМ блоке памяти состоит из двух групп разрядов: младшие разряды от 1 до L — 1 всегда являются разрядами текущего адреса слова в массиве и передаются на соответствующие адресные выходы узла 77 без изменения через группу усилителей 86, а старшие разряды, от 1 до 1 + К могут относиться как к текущему адресу слова в массиве, так и к базовой части адреса массива в буферном блоке памяти. Граница между разрядами текущего адреса и базовой части адреса определяется кодом в регистре 79, содержащем «1» в разрядах, относящихся к базовой части адреса. Код, содержащийся в разрядах текущего адреса, должен арифметически суммироваться с приращением адреса, содержащимся в регистре 80. Код, содержащийся в разрядах базовой части адреса, должен передаваться на соответствующие адресные выходы данного узла 77 без изменения из регистра 80.
Поэтому код разрядов 1 — (L+K) адреса из процессора поступает на вторые входы И блока элементов 2И вЂ” 2ИЛИ 87, на первые входы которых поступает разрешение передачи на сумматор 85 через элементы HF 88 разрядов регистра 79, содержащих «О». Для разрядов регистра 79, содержащих «О», в которых содержатся «1», элементы 2И—
ИЛИ 87 формируют на выходе код «О» по третьим и четвертым входам И. Следовательно, сумматор 85 выполняет по этим разрядам сложение кода из регистра 80 с «О». Выходы сумматора 85 имеют Z-состояние, и на них формируется код 1 — (L+
+К) разрядов адресных выходов 39(41) данного узла 77 формирования адреса.
Таким образом, на адресных выходах
39(41) формируется полный адрес слова в буферном блоке памяти для L+k, разрядов.
Этот адрес под управлением блока 17(18) передается через мультиплексор 11 или !2 (13 или 14) на адресные входы соответствующего набора буферных блоков памяти
1 или 2 (3 или 4). Адресные входы всех m узлов 77 формирования адреса, входящих в состав блока 15, объединены по Z-состоянию (выходы 39). Аналогично объединены по Z-состоянию адресные выходы двух групп из и узлов 77 формирования адреса, входящих в состав блока 16 и соответствующих наборам буферных блоков памяти данных 3 и 4 (выходы 41 — 1 и 41 — 2) .
Блок 17(! 8) разрешает передачу кода на адресные выходы 39 (41 — И или 41 — 2) из того узла 77 формирования адреса, который выработал сигнал «равно» на выходе 40 (42 — 1 или 42 — 2) .
Если процессор обращается за командой (шина 21), то чтение команды выполняется .под управлением блока 17 следующим образом.
1363229 когда закончена обработка процессором (i — 1)-й задачи и произведено переключение на обработку i-й задачи, так как прежде, чем загружать в освободившийся набор бу55
Сигнал «Равно» устанавливает в «1» по одному из m входов элемента ИЛИ 100 триггер 98, разрешающий выработку шифратором необходимых управляющих сигналов на выходах 33, в зависимости от кода, хранящегося в разрядах 1 и 3 регистра 94 и определяющего, первый или второй набор буферных блоков памяти команд находится в режиме работы с процессором (табл. 2 и 3). Необходимое стробирование осуществляется синхросигналами в соответствии с табл. 1.
Работа осуществляется на частоте процессора (входы 104), разрешение прохождения синхросигналов на входы управляющих схем вырабатывает элемент 2И вЂ” ИЛИ !
103 при состоянии «1» триггера 98.
Если процессор обращается к буферному блоку памяти данных (шина 23), то чтение исходного данного или запись результата выполняется под управлением блока 18 следующим образом. 20
Поскольку исходными данными может служить результат вычислений предыдущей задачи, то запрашиваемый адрес может находиться как в буферном блоке памяти данных, содержащем исходные данные для текущей задачи, так и в буферном блоке памяти данных, хранящем результаты предыдущей задачи. Поэтому адрес данного из процессора поступает на две группы по и узлов 77 формирования адреса, входящих в состав блока 16, и сигнал «Равно» может быть выработан любым из этих блоков (управляющие выходы 42 — 1 и 42 — 2) .
Этот сигнал устанавливает в «1» по одному из входов элемент ИЛИ 117 или 118 и через элемент ИЛИ 119 триггер 114, разрешающий шифратору выработку необходимых управляющих сигналов на шине 34, в зависимости от кода, хранящегося в разрядах 1 и 5 регистра 108, и определяющего, первый или второй набор буферных блоков памяти данных находится в режиме работы с процессором (табл. 4 и 5). Необ- 40 ходимое стробирование элементов И121, 4И вЂ” 2ИЛИ 122 ИЛИ 125 осуществляется синхросигналами в соответствии с табл. 1.
Работа осуществляется на частоте процессора Х (вход 127), разрешение прохож- 4 дения синхросигналов на входы управляющих схем вырабатывает элемент 4И вЂ” ИЛИ
126 при состоянии «1» триггера 113.
Кроме описанных выше двух основных режимов (работа с процессором и загрузка), устройство может работать в режи- 50 ме записи результатов в память ЭВМ и в режиме перезаписи результатов из одного набора буферных блоков памяти в другой.
Блок 19 инициирует выполнение режима записи результатов в память ЭВМ тогда, ферных блоков памяти данные для (i+1) -й задачи, необходимо переписать массивы результатов (i — 1) -й задачи в память ЭВМ.
При этом если какой-либо массив результатов (i — 1)-й задачи может служить исходными данными для i-й задачи («1» соответствующего бита достоверности результатов), то исходные данные для (i+1) -й задачи не могут загружаться в область буферной памяти, в которой хранится данный массив.
Режим записи результатов выполняется под управлением блока 18 следующим образом.
Блок 19 устанавливает исходные данные переписываемого массива результатов в счетчиках 109, 110 или 1!1, 1!2, регистре 108 и переводит в «1» триггер 114. Исходные данные представляют собой соответственно количество слов массива результата, начальный адрес массива результатов в буферном блоке памяти данных, начальный адрес массива результатов в области данных памяти ЭВМ, код состояния зон буферного блока памяти данных. Установка в «1» триггера 114 включает автономное выполнение переписи массива результатов из буферного блока памяти в память ЭВМ на частоте работы памяти ЭВМ (входы 130), разрешение прохождения синхросигналов на входы управляющих схем вырабатывает элемент 4И вЂ” ИЛИ 126 при состоянии «1» триггера 114. Состояние «1» триггера 114 разрешает шифратору выработку всех необходимых управляющих сигналов на шине 34 в зависимости от кода, хранящегося в разрядах 3, 7, 1 и 5 регистра 108, и определяющего, какой набор буферных блоков памяти данных находится в состоянии записи результатов и какой в режиме работы с процессором (табл. 4 и 5). Второе обстоятельство влияет на выполнение переписи массива результатов в тех случаях, когда процессор может обратиться при обработке
i-й задачи к массиву результатов (i — 1)-й задачи за исходными данными. Тогда возможны одновременно два обращения к буферному блоку памяти, содержащему массив результатов: одно из процессора, другое из блока 18. Для устранения конфликтной ситуации необходимые управляющие сигналы для чтения в процессор вырабатываются первым приоритетом, а управляющие сигналы для записи в память ЭВМ вЂ” вторым приоритетом, когда удовлетворен запрос процессора и триггер 113 установлен в «О».
Эту функцию реализуют элементы 4И—
2ИЛИ 122 и элементы И121 с третьего по шестой. При этом чтение исходного данного в процессор выполняется на частоте работы процессора, а запись в память ЭВМ— на частоте работы памяти ЭВМ. Необходимое стробирование блока элементов
ИЛИ 125 осуществляется синхросигналами в соответствии с табл. 1.
1363229
Блок 19 инициирует выполнение режима перезаписи результатов из одного набора буферных блоков памяти в другой в тех случаях, когда выполнение i-й задачи прерывается запросом к 7-й задаче, а исходными данными для i-й задачи являются результаты обработки (i-1)-й задачи. В этом случае все массивы команд и данных для
i-й задачи хранятся в соответствующем наборе буферных блоков памяти команд и данных до того момента, когда обработка процессором 7-й задачи будет закончена и продолжится обработка i-й задачи. Но поскольку результаты (i — 1)-й задачи хранятся в другом наборе буферных блоков памяти данных, в который должны загружаться данные для
j-й задачи, то перед началом загрузки отмеченные массивы результатов («1» бита достоверности результатов) должны быть переписаны в набор буферных блоков памяти, хранящий исходные данные для i-й задачи.
Режим переписи результатов выполняется под управлением блока 18 следующим образом.
Блок 9 устанавливает исходные данные переписываемого массива результатов в счетчиках 109; 110, 111, регистре 108 и переводит в «1» триггер 116.
Исходные данные представляют собой соответственно количество слов переписываемого массива результатов, начальные адреса массива в обоих буферных блоках памяти данных, код состояния зон буферной памяти данных (табл. 4). Установка в «1» триггера 116 включает автономное выполнение режима перезаписи из одного буферного блока памяти в другой на частоте работы процессора (входы 127), разрешение прохождения синхросигналов на входы управляющих схем вырабатывает элемент 4И вЂ” ИЛИ 126 при состоянии «1» триггера 116. Состояние «1» триггера 116 разрешает шифратору выработку всех необходимых управляющих сигналов на шине 34 в зависимости от кода, хранящегося в разрядах 4 и 8 регистра 108, и определяющего источник и приемник перезаписываемого массива.
Блок 19 управляет переключением режимов работы первого и второго наборов буферных блоков памяти команд и данных (блоки 1, 3 или 2, 4) исходя из предпосылки, что если команды i-й задачи, запрашиваемые процессором, содержатся в наборе буферных блоков памяти команд, находящемся в данный момент в режиме работы с процессором, то данные для i-й задачи обязательно находятся в соответствующем наборе блоков памяти данных. Отсутствие запрашиваемогр процессором данного в такой ситуации является неисправностью.
Поэтому основным признаком для переключения режимов работы блоков буферной памяти является для блока 19 наличие или отсутствие запрашиваемой процессором ко5
40 манды в наборе буферных блоков памяти, находящемся в режиме работы с процессором.
При наличии запрашиваемой процессором команды блок 15 вырабатывает сигнал
«Равно» на одном из m управляющих выходов 40. Если этот сигнал не будет выработан, триггер 98 устанавливается очередным синхросигналом с выхода 104 в «0» и выработка управляющих сигналов на соответствующих выходах 33 прекращается.
Одновременно в блок 19 по соответствующему входу 36 поступает управляющий сигнал, инициирующий выполнение микропрограммы, которая переключает в рабочий режим другой набор буферных блоков памяти команд и данных, при условии, что загрузка в него информации для следующей задачи закончена. При этом устанавливается в «1» признак переключения зон в блоке 19. Процессор во время переключения находится в режиме ожидания. После переключения адрес команды, поступивший из процессора, сравнивается с новыми базовыми адресами, хранящимися в узлах 77 формирования адреса, входящих в состав блока 17. Если на одном из m выходов 40 вырабатывается сигнал «Равно», то процессор начинает обработку командной и числовой информации следующей задачи и признак переключения зон гасится. Если сигнал «Равно» не вырабатывается ни на одном из m выходов 40, а признак переключения зон равен «1», т.е. задачи нет ни в одном наборе буферных блоков памяти, то блок 19 включает микропрограмму поиска запрашиваемого адреса команды из процессора в списке начальных адресов массивов команд для прерывающих задач. Когда запрашиваемая задача найдена, то ее необходимо срочно загрузить в те наборы буферных блоков памяти команд и данных, в которые перед этим производилась загрузка информации для следующей после прерванной задачи.
Информация прерванной задачи сохраняется в буферной памяти команд и данных до момента возврата к ее выполнению. Если, например, информация для прерванной i-й задачи хранилась в первых наборах буферных блоков памяти команд и данных (блоки 1 и 3), а во вторые наборы буферных блоков памяти команд и данных загружалась информация для (!+1) -й задачи (блоки 2 и 4), то прерывающая j-я задача должна загружаться в блоки 2 и 4, а в блоках 1 и 3 сохраняется информация для i-й задачи. При этом блок 19 инициирует последовательно режимы: — запись результатов (i — 1)-й задачи из второго набора блоков буферной памяти данных (блок 4) в память ЭВМ; — перезапись результатов (i — I)-й задачи, которые могут быть исходными данны1363229
Формула изобретения ми для i-й задачи («1» бита достоверности результатов для данного массива) из блока 4 в блок 2; — загрузка командной и числовой информации для j-й задачи в блоки 3 и 4 соответственно; . — включение режима работы с процессором для вторых наборов буферных блоков памяти команд и данных (блоки 3 и 4).
По окончании выполнения j-й задачи блок 19 переключает в режим работы с процессором первые наборы буферных блоков памяти команд и данных (блоки 1 и 2) и процессор заканчивает обработку i-й задачи. Одновременно блок 19 инициирует для вторых наборов буферных блоков памяти команд и данных (блоки, 3 и 4) следующие режимы: — запись результатов вычислений j É задачи в память ЭВМ; — загрузка командной и числовой информации для (i+1) -й задачи.
Выполнение этих режимов совмещено по времени с обработкой процессором i-й задачи. Поэтому при переходе к обработке (i+1) -й задачи вся информация для нее находится в буферных блоках памяти и дополнительных затрат времени не требуется.
1. Устройство для сопряжения процессора с памятью, содержащее первые буферные блоки памяти данных и команд, блок синхронизации, первый мультиплексор данных, первые мультиплексоры адресов команд и адресов данных, блоки формирования адресов команд и адресов данных, мультиплексор команд; причем выход мультиплексора данных соединен с входом задания режима блока синхронизации и информационными входами блоков формирования адресов команд и адресов данных, информационные входы мультиплексора данных являются входами устройства для подключения к шине команд адресной шины процессора и информационной шины памяти, первый выход блока синхронизации соединен с синхровходами блоков формирования адресов команд и адресов данных, второй выход блока синхронизации соединен с управляющим входом мультиплексора данных, выход первого мультиплексора адресов команд соединен с адресным входом первого буферного блока памяти команд, выход первого мультиплексора адресов данных соединен с адресным входом первого буферного блока памяти данных, первый адресный выход блока формирования адресов команд соединен с первым информационным входом первого мультиплексора адресов команд, первый адресный выход блока формирования адресов данных соединен с первым информационным входом первого мультиплексора адресов данных, тактовый и установочный
l0
S0
55 входы блока синхронизации являются тактовым входом и входом начальной установки устройства, отличающееся тем, что, с целью повышения быстродействия, оно содержит вторые буферные блоки памяти данных и команд, первый и второй блоки формирования адресов, вторые и третьи мультиплексоры адресов команд и адресов данных, второй, третий и четвертый мультиплексоры данных, причем информационные входы первого и второго буферных блоков памяти команд и данных и первый информационный вход мультиплексора команд являются входами устройства для соединения с информационной шиной памяти, адресный вход второго буферного блока памяти команд соединен с выходом второго мультиплексора адресов команд, первый информационный вход которого соединен с первым адресным выходом блока формирования адресов команд, вторые информационные входы первого и второго мультиплексоров адресов команд соединены с адресным выходом первого блока формирования адресов, второй адресный выход блока формирования адресов данных соединен с первым информационным входом второго мультиплексора адресов данных, вторые информационные входы первого и второго мультиплексоров адресов данных соединены с адресным выходом второго блока формирования адресов, первый информационный вход которого и первый информационный вход первого блока формирования адресов соединены с выходом первого мультиплексора данных, синхровходы и входы разрешения первого и второго блоков формирования адресов соединены соответственно с первым и вторым выходами блока синхронизации, их вторые информационные входы являются входами устройства для соединения соответственно с шиной команд и адресной шиной процессора, а стробирующие входы — соответственно с входами разрешения блоков формирования адресов команд и адресов данных, второй адресный выход первого блока формирования адресов команд соединен с первым информационным входом третьего мультиплексора адресов команд. а первый стробирующий выход соединен с управляющими входами первого, второго и третьего мультиплексоров адресов команд и мультиплексора команд и входами записи первого и второго буферных блоков памяти команд и является выходом устройства для подключения к входу команды памяти, а выходы первого и второго буферных блоков памяти команд соединены с вторым информационным входом мультиплексора команд, выход которого является выходом устройства для соединения с шиной команд процессора, второй информационный вход третьего мультиплексора адресов команд является входом устройства для подключения к шине команд
1363229
14
13 процессора, а выход является выходом устройства для подключения к шине адреса команды памяти, третий адресный выход блока формирования адресов данных соединен с первым информационным входом третьего мультиплексора адресов данных, а первый стробирующий выход соединен с управляющими входами первого, второго и третьего мультиплексоров адресов данных, второго, третьего и четвертого мультиплексоров данных, входами записи первого и второго буферных блоков памяти данных и является выходом устройства для подключения к управляющей шине памяти, второй информационный вход третьего мультиплексора адресов данных является входом устройства для подключения к адресной шине процессора, а выход является выходом устройства для подключения к шине адреса данных памяти, выход второго мультиплексора адресов данных соединен с адресным входом второго буферного блока памяти данных, информационные входы первого и второго буферных блоков памяти данных соединены с выходом второго мультиплексора данных, а их информационные выходы соединены с первыми информационными входами второго, третьего и четвертого мультиплексоров данных, вторые и третьи входы которых образуют входы устройства для подключения соответственно к шинам данных процессора и памяти, выходы третьего и четвертого мультиплексоров данных являются соответственно выходами устройства для подключения к шинам данных процессора и памяти, вторые стробирующие выходы первых блоков формирования адресов команд и адресов данных соединены с управляющим входом блока синхронизации, стробирующий вход блока формирования адресов данных является входом устройства для подключения к адресной шине процессора.
2. Устройство по п. 1, отличающееся тем, что блок формирования адресов команд содержит элемент ИЛИ, два триггера, три счетчика, регистр и шифратор, причем инверсные входы элемента ИЛИ образуют вход разрешения блока, а выход соединен с информационным входом первого триггера, единичный выход которого соединен с первым входом шифратора, выходы которого образуют первый стробирующий выход блока, единичный выход первого триггера и нулевой выход второго триггера образуют второй стробирующий выход блока, единичный выход и вход сброса второго триггера соединены соответственно с вторым входом шифратора и выходом первого счетчика, информационные входы второго триггера, первого, второго, третьего счетчиков и регистра образуют информационный вход блока, а их синхровходы и третий, четвертый входы шифратора и синхровход первого триггера образуют синхровход блока, счет5
is
55 ные входы первого, второго и третьего счетчиков соединены с выходом шифратора, выходы второго и третьего счетчиков являются первым и вторым адресными выходами блока.
3. Устройство по п. 1, отличающееся тем, что блок формирования адресов данных содержит три элемента ИЛИ, четыре триггера, четыре счетчика, регистр, шифратор и элемент И вЂ” НЕ, причем входы первого и второго элементов ИЛИ образуют вход разрешения блока, а выходы соединены с инверсными входами третьего элемента ИЛИ и первым, вторым входами шифратора, выходы которого образуют первый стробирующий выход блока, выход третьего элемента ИЛИ соединен с информационным входом первого триггера, информационные входы второго, третьего, четвертого триггеров, с первого по четвертый счетчиков и регистра образуют информационный вход блока, а их синхровходы, синхровходы первого триггера и шифратора образуют синхровход блока, нулевые выходы второго, третьего и четвертого триггеров соединены с входами элемента И—
НЕ, выход которого и единичный выход первого триггера образуют второй стробирующий выход блока, счетные входы с первого по четвертый счетчиков соединены с соответствующими выходами шифратора, с тре тьего по десятый входы шифратора соединены соответственно со стробирующим входом блока, единичными выходами с первого по четвертый триггеров, нулевым выходом третьего триггера, выходом регистра, синхровходом блока, выход первого счетчика соединен с входами сброса второго, третьего и четвертого триггеров, выходы второго, третьего и четвертого счетчиков являются первым, вторым и третьим адресными выходами блока.
4. Устройство по п. 1, отличающееся тем, что блок формирования адресов состоит из группы узлов формирования адреса, первые и вторые адресные входы, синхровходы и входы разр