Однородный параллельный процессор

Иллюстрации

Показать все

Реферат

 

Союз Советски«

Социапистичесни к

Республик

ОП ИСАНИЕ

M3OSPETE Н ИЯ

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ

<, 736107!

l - г (6l ) Дополнительное к авт. свил-ву(22) Заявлено 22.02.78 (21) 2583315/1 8-24 (51)M. Кд.

G 06 F 15/00 с присоединением заявки Ж—

Гасударственный камнтет (23) Приоритет—

Опубликовано 25. 05. 80. Бюллетень № 1 9 ло делам изобретений н от«рь<тнй (ЗЗ) уды 681.14 (088.8) Дата опубликования описания 28.05.80

И. В. Прангишвили, К. Б. Норкин, И. и И, П. Мышкин (72) Авторы изобретения

Ордена Ленина институт проблем управл (71) Заявитель (54) ОДНОРОДНЫЙ ПАРАЛЛЕЛЬНЫЙ ПРОЦЕССОР

Изобретен ие относ H Tc я к области вы. числительной техники и может быть ис-: пользовано при создании высокопроизводительных вычислительных систем дпя групповой обработки больших массивов данных в реальном масштабе времени.

Известны однородные параллельные процессоры, построенные на базе однородной вычислительной среды с переменкой структурой (lj.

Обладая свойством перестраиваемости структур как процессорных элементов, так и вычислительной среды (решающего поля) в целом, такие процессоры позволяют более экономным, чем на ЭВМ тра

15 диционной структуры, путем достигнуть распараллеливания вычислительных процессов и способны показать весьма высокое эффективное быстродействие, исчисляемое сотнями и более миллионов операций в секунду.

Наиболее близким к предлагаемому является однородный параллельный процессор, который представляет собой со2 вокупность взаимосвязанных процессорных элементов с перестраиваемыми связями, управляемую общим устройством управления, и предназначен для решения задач групповой обработки больших массивов данных в реальном .масштабе времени. Распараллеливание вычислительного процесса в этом процессоре достигается благодаря использованию распределенных управлений с широким использованием настроек и принципа микропрограммного управления, реализуемого при помощи локальных микропрограммных устройств, а также программного устройства управления. При этом в постоянных запоминающих устройствах микропрограммных устройств хранятся массивы микрокоманд.

Каждая MiiKpoKQMBHQB задает .определенное состояние процессорного элемента, а каждый массив микрокоманд представляет собой микропрограмму выполнения одной какой-нибудь команды (оператора), например сложения, умножения, деления, сдвига и т. д. Тогда постоянное запоми7361

3 нающее устройство должно содержать столько массивов, сколько команд содержит система команд данного процессора, а размерность управляющего слова (микрокоманцы) в массиве определяется чис5 лом точек управления процессорным элементом и количеством сопровождающей служебной информации. При этом одни и те же микрокоманды (состояния микропроцессора) могут многократно входить в 10 различные микропрограммы, поэтому они будут записаны в память микропрограммного устройства столько раз, сколько раз встречаются в массивах микрокоманд . (микропрограммах) (21.

Существенный нецостаток такой схемы управления состоит в том, что для ее реализации из- за необходимости многократной записи микрокоманд требуется неоправданно завышенный объем постоян- 20 ного запоминающего устройства.

Пель изобретения — уменьшение объема постоянных запоминающих устройств, требующихся для реализации микропрограмм«

25 ного управления параллельным процессором.

Указанная цель достигается тем, что в известный однородный параллельный процессор, соцержащий блок программно30

ro управления, rl устройств обработки данных, каждое из которых содержит входной регистр, блок оперативных регистров, выходной регистр, блок управляемых элементов И, арифметико логи35 ческий блок и блок микропрограммного управления, причем первый вход входного регистра каждого устройства обработки данных. соединен с соответствующим выходом блока коммутации, а выход вход40 ного регистра подключен к первому входу блока управляемых элементов И, первый axon — выход которого соединен с выходом — входом блока оперативных регистров, второй вход-выход блока уп45 равления элементов И подключен к выхолу — входу арифметико-логического блока, первый выход которого соелинен с первым входом блока микропрограммного управления, а второй выход арифме50 тико-логического блока подключен к первому входу выходного регистра, а выход выходного регистра каждого устройства обработки данных подключен к соответствующему входу блока коммутации, выход

55 блока микропрограммного управления каждого устройства обработки данных подключен к соответствующему входу блока программного управления, первый вход-выход

07 которого является ахопоМ-выходом процессора, вход блока приема ипформации является входом процессора, а выход блока приема информации подключен к информационному входу блока коммутации, а выход блока диспетчеризации соединен с управляющими входами блока приема информации, блока программного управления и блока микропрограммного управления каждого устройства обработки данных, введен блок памяти, а в каждое устройство обработки данных введена постоянная память, при этом вход- выход постоянной памяти соединен со входом-выхоцом блока микропрограммного управления, первый выход постоянной памяти подключен ко второму входу входного регистра, второй выход постоянной памяти подключен ко второму входу блока управляемых элементов И, третий выход постоянной памяти соединен со входом арифметико-логического блока, четвертый выход постоянной памяти подключен ко второму входу выходного регистра, второй вход блока микропрограммного управления каждого устройства обработки данных соединен с соответствующим выходом блока памяти, входвыход которого подключен ко второму выходу-входу блока программного управления, а управляющий выход блока памяти подключен к управляющему входу блока коммутации.

Благодаря введению постоянных запоминающих устройств удается избежать повторений записи микрокоманд в память (имеет место в известном процессоре).

Во вновь вводимое постоянное запоминающее устройство записывается вся совокупность микрокоманд, встречающихся хотя бы в одной из микропрограмм.

При этом микрокоманда записывается только один раз и имеет свой строго фиксированный адрес в пределах постоянного запоминающего устройства. Благодаря этому появляется возможность составлять микропрограммы реализации команд процессора просто в виде перечней имен микрокоманд с указанием правил перехода к очередному имени.

Таким образом, требуемая совокупность микропрограмм, реализуюших команды процессора, определена на заранее заданном множестве микрокоманд.

Составленные таким образом микропрограммы, имеюшие более сжатый вид, чем аналогичные микропрограммы известного процессора, хранятся в постоянном

736107

30 запоминающем устройстве микропрограммного устройстве.

В блоке памяти хранится множество различных сочетаний команд (микропрограммы), которые встречаются в

5 данной задаче и задают режимы работ устройств обработки в каждом такте работы процессора. Например, строка массива может иметь следующий смысл: первому устройству обработки выполнить сложение, второму — умножение, третьему — деление и т. a., а Ь -му — ничего не делать. В следующем такте сочетание команд в строке будет другое и, соответственно, устройства обработки будут работать уже в других режимах.

Каждое сочетание команд для устройств обработки записывается в блок памяти один раз и получает при этом свой адрес. Благодаря этому появляется воз- 20 можность составлять программу решения задачи в виде перечня различных . сочетаний команд аналогично управлению на уровне микрокоманд, а сами программы, составленные таким образом, хра25 нить в оперативном запоминающем устройстве блока программного управления.

При этом длина команд программы также сократится по сравнению с известным процессором.

На чертеже представлена блок-схема однородного параллельного процессора, построенного HB базе четырех устройств обработки данных (g =4) .

Однородный параллельный процессор

35 состоит из блока 1 приема информации, блока 2 коммутации, блока 3 диспетчеризации, блока 4 памяти (например, полупостоянной памяти), блока 5 программного управления, П устройств 6-9 обработки данных, каждое из которых содержит входной регистр 1 О, блок 1 1 управляемых элементов И, блок 12 оперативных регистров, ар ифметико-логичес45 кий блок 13, выходной регистр 14, постоянную память 15 и блок 15 микропрограммного управления.

Блок 1 приема информации служит для приема данных извне, временного их

50 хранения и передачи их по командам из устройства управления на выход блока коммутации.

Блок 2 коммутации служит для установления нужных связей между входами и выходами устройств 6-9 обработки, а также выходом блока 1 приема информации и входами устройств обработки.

Нужное состояние блока коммутации уста6 навливается при помощи информации, снимаемой с блока 4 памяти по командам из блока 5 программного управления.

Устройства 6 9 обработки служат для реализации элементарных вычислительных операций (команд). В качестве элементарных операций приняты, например, такие операции, как алгебраическое сложение чисел с фиксированной запятой; алгебраическое сложение чисел с плавающей запятой; умножение чисел с фиксированной запятой; умножение чисел с плавающей запятой; деление чисел с фиксированной запятой; деление чисел с плавающей запятой; умножение чисел с фиксированной запятой с произвольным форматом ит. д.

В качестве элементарных операций могут быть приняты также вычисления значений таких функций, как

1:=Ах+ В

F - А (и „+Уп

+ (.

Эти функции обычно выявляются при декомпозиции алгоритмов решения конкретных классов задач.

Входной регистр 10 служит для оперативного приема данных OT входного устройства и от устройств обработки.

Выходной регистр 14 служит для оперативной выдачи результатов на входы устройств обработки, а также на другие внешние потребители информации.

Арифметико-логический блок 13 пепосредственно реализует. команды, т. е. элементарные вычислительные и логические операции.

Блок 12 оперативных регистров обслуживает нужды арифметико-логического блока.

Блок 11 управляемых элементов И служит для задания режимов работы, т. е. типов выполняемых элементарных операций устройств отработки.

Постоянная память 15 служит для хранения множества микрокоманд. Информация в память 15 заносится один раз (например, при изготовлении устройства обработки) и, как правило, в дальнейшем не меняется, хотя это и не исключается.

Блок 16 микропрограммного управления служит для хранения в своем постоянном запоминающем устройстве библиате736107 ки микропрограмм, а также вы х>ва из библиотеки нужных микропрограмм и управления их выполнением. По окончании выполнения команды выдается сигнал в блок программного управления. Так как совокупность микропрограмм может об новляться, то часть памяти для хранения микропрограмм может быть выполнена на полупостоянном принципе.

Блок 4 памяти служит для хранения множества различных сочетаний команд на устройстве обработки, которые встречаются при решении данной задачи. Информация в блок 4 записывается перед пуском процессора на решение задачи.

Блок 5 программного управления служит для реализации программы решения задачи B целом. Очевидно, что при рассмотренном способе организации счета программа состоит в задании правил чередования имен указанных сочетаний микропрограмм (назовем их командами программы, т, е. командами более высокого уровня) .

Однородный параллельный процессор функционирует следующим образом.

9 памяти блока 3 диспетчеризации находится управляющая программа-диспетчер, которая осуществляет управление работой процессора во всех режимах и ситуациях. В постоянную память 15 устройств обраоотки раз и навсегда записапо множество микрокоманд.

Программа пишется на алгоритмическом языке. После трансляции и сборки получается готовая программа на языке загрузки, содержащая полный объем настроечной информации для всех блоков.

При этом настройками будут кодът различных сочетаний команд для блока 4 и новые микропрограммы, которые должны быть добавлены в имеющуюся библиотеку блока 16 микропрограммного управления.

Перед решением задачи собранная программа под управлением диспетчера загружается в оперативную память блока 5 программного управления. Одновременно загружаются вышеназванные настройки программы в блок

Для решения задачи диспетчер передает управление блоку 5 программного управления, которое начинает поочередно вызывать иэ своего оперативного запоминающего устройства команды (операторы) программы. Вызванная команда засылается в местное устройство управления блока -1 памяти, в котором она аешифруется

35 процессора; 111- количество разрядов в имени микрокоманды в микропрограмме, очевидно Ит — 6оо Я:

Ь р — среднее количество микрокоманд в микропрограмме.

40 Объем памяти, необходимой для реализации микропрограммного управления в известном процессоре, определяется выражением )С,=МР 1т

45 Будем считать, что объем памяти для служебной информации для обоих случаев одинаков, поэтому в g не входит раэS0

5

30 и интерпретируется уже конкретньгм сочетанием команд для устройств обработки.

Йальше эти команды проходят в блоки микропрограммного управления соответствующих устройств обработки и вызывают к действию соответствующие микропрограммы, их реализующие. Блоки микропрограммного управления считывают имена микрокоманд иэ данной микропрограммы и посылают их в постоянную память 15, rae они будут интерпретированы как одна из хранящихся там микрокоманд.

Об окончании выполнения микропрограммы блок микропрограммного управления сигнализирует блоку программного управления. Блок программного управления вызывает следующую команду программы и процесс повторяется.

Задание микропрограмм в виде всевозможных списков микрокоманд над заранее заданным множеством микрокоманд позволяет въщелить общую часть микропрограмм в самостоятельный массив управляющей информации, что позволяет сократить длину управляющих слов микропрограмм, а благодаря этому и значительно сократить объем памяти, необходимой для реализации микропрограммного управления.

Например, N-общее количество микрокоманд; 11 разрядность микрокоманды, т. е. длина управляющего слова; Ь вЂ” об- щее количество команд в системе команд рядность служебной информации.

Объем памяти, необходимый для реализации микропрограммного, управления в предлагаемом процессоре, определяют по формуле =Nh+Мрlg, М

Тогда выигрыш в объеме памяти оценивают при помощи выражения Nn

Nn+tepf,од м

Пусть 8=1000, Ь =-200, Н1 = 200, 9 7 и =8од, 1000= 10, р =50. Эти данные не противоречат соответствующим параметрам современных процессоров.

Тогда, подставив эти данные, получим

К=6 раз. Таким образом, для данного случая выигрыш составляет 6 раз.

Формула изобретения

Однородный параллельный процессор, содержащий блок приема информации, блок коммутации, блок диспетчеризации, блок программного управления, И устройств обработки данных, каждое из которых содержит входной регистр, блок оперативных регистров, выходной регистр, блок управляемых элементов И, арифметика-логический блок и блок микропрограммного управления, причем первый вход входного регистра каждого устройства обработки панных соединен с соответствующим выходом блока коммута. ции, а выход входного регистра подключен к первому входу блока управляемых элементов И, первый вхоп — выход кот рого соединен с выходом — входом бло. ка оперативных регистров, второй входвыход блока управляемых элементов И подключен к выходу-входу арифметикологического блока, первый выход которого соединен с первым вхопом блока микропрограммного управления, а второй

BbIxoQ арифметик< -логического блока подключен к первому входу выходного регистра, а выход выходного регистра каждого устройства обработки данных подключен к соответствующему входу блока коммутации, выход блока микропрограммного управления каждого устройства обработки данных попключен к соответствующему входу блока программного управления, первый вход-выход которого является входом-выходом

36107 10 процессора, вход блока приема информации является входом процессора, а выход блока приема информации подключен к информационному входу блока коммутации, а выход блока диспетчеризации соединен с управляющими входами блока приема информации, блока программного управления и блока микропрограммного управления каждого устройства обработtOKH l1cLHHbKK,QTлиQающийс тем, что, с целью сокращения оборудования, в него введен блок памяти, à B каждое устройство обработки данных введена постоянная память, при этом вход-вы15 ход постоянной памяти соединен со входом-выходом блока микропрограммного управления, первый выход постоянной памяти подключен ко второму входу входного регистра, второй выход постоянной

2О памяти подключен ко второму входу блока управляемых элементов И, третий выход постоянной памяти соединен со входом арифметико-логического блока, четвертый выход постоянной памяти подклю25 чен ко второму входу выходного регистра, второй вход блока микропрограммного управления каждого устройства обработки данных соединен с соответствующим выходом блока памяти, вход-выход КоToporo подключен ко второму BbIxoltвходу блока программного управления, а управляющий выход блока памяти подключен к управляющему входу блока коммутации.

Источники информации, принятые во внимание при экспертизе

1. Авторское свидетельство СССР о М 479114, кл. Cj 06 F 15/00, 1974.

2. Медведев И. А. и др. Многопроцессорные вычислительные системы с перестраиваемой структурой. М., 1975 (прототип) .

736 107

Составитель А. Баранов

Редактор B. Зарванская Техред И. Асталощ Корректор Т, Скворцова

Заказ 2277/7 Тираж 751 Подписное

UHHHHH Государственного комитета СССР по делам изобретений и открытий

113035, Москва, Ж-35, Раушская наб., a. 4/5

Филиал ППП "Патент, r. Ужгород, ул. Проектная, 4