Изобретение относится к вычислительной технике и может быть использовано для параллельной обработки информации.
Известен ассоциативный матричный процессор, содержащий три матрицы ассоциативной памяти, выполненные на специальных ассоциативных запоминающих элементах, местное устройство управления,, внешнее устройство управления и входные устройства с регистрами опроса, записи и считывания 3
Однако в настоящее время подобные процессоры не находят практического применения из-за дороговизны специальных элементов, громоздкости ассоциативной памяти, а значит и всего процессора, и большой потребляемой мощности.
Известен также ассоциативный матричный процессор, который содержит устройство управления, блок параллельного ввода-вывода, ассоциативный матричный модуль, содержащий матрицу памяти, обрабатывающие .элементы на каждую строчку памяти, перестановочную сеть, мультиплексор - блок коммутации С23 .
Преобразование информации происходит в обрабатывающих элементах путем
Jпоследовательного вынесения разрядно го среза из матрицы . Выборка разрядного среза осуществляется с помощью сложной перестановочной сети, составляющей 80% стоимости матрицы памяти.
Недостатком данного процессора является необходимость передачи информации как в режиме записи в память,
10 так и в режиме выборки через сложную перестановочную сеть, что приводит к значител ьному снижению быстродействия процесссфа, а также и надежности процессора в целом, так как перестано15вочная сеть состоит из большого количества элементов.
Цель изобретения - сокращение объема оборудования и повышение производительности процессора.
20
Поставленная цель достигается тем, что в ассоциативный матричный процессор, содержащий блоки памяти, арифметико-логические блоки по числу бло- ков памяти, блок управления , вход25ной и выходной блоки коммутаторов, причем выходы блоков памяти соединены с информационными входами соответствующих арифметико-логических блоков и информационными входами входного
30 блока коммутаторов, введены первый и второй блоки буферной памяти и. две группы коммутаторов, общее число которых равно числу блоков памяти, при этом первые и вторые информационные входы блоков буферной памяти подключены соответственно к информационному входу процессора и выходу входного блока коммутаторов, первые информационные выходы первого и второго блоков буферной пёцляти соединены соответственно с первым и вторым инфо рмационными входами выходного блока коммутаторов, выход которого подключен к информационному выходу процессора, вторые информационные выходы первого и второго блоков буферной памяти соединены с первыми информационными входами коммутаторов соответственно первой и второй групп, вторые информационные входы коммутаторов подключены к информационным выходам соответствующих арифметико-логических блоков, а выходы этих коммутаторов соединены с управляющими входами соответствующих блоков памяти, первый вход и выход переноса каждого арифметико-логического блока подключены соответственно к второму выходу и входу переноса соседнего арифметико-логического блока а первый, второй, третий, четвертый, пятый, щестой и седьмой выходы блока управления соединены соответственно с управляющими входами блока коммутаторов, первого и второго блоков буферной памяти и коммутаторов первой и.второй групп, адресными входами блоков памяти и управляющими входами арифметико-логических блоков и выходного блока коммутаторов. При этом блок управления содержит ренератор синхросигналов, регистр -«(ростояния, память управляющих команд память микрокоманд, регистр управляющих команд, регистр микрокоманд, две . группы элементов И, группу элементов ИЛИ, дешифратор и три элемента И, причем первый и второй выходы регистра состояния соединены соответственно с первыми входами элементов И пер вой группы и входом генератора синхросигналов , х.ервые входы элементов второй группы подключены к первому выходу регистра управляющих команд, второй выход которого соединен с вхо дом памяти микрокоманд, вторые входы элементов И первой и второй групп подключены соответственно к первому и второму выходам генератора синхросигналов, третий, четвертый и пятый выходы которого соединены соответственно с управляющими входами регистр управляющих команд, регистра микроко манд и первыми входами первого, вто-рого и третьего элементов И, первые и вторые входы элементов ИЛИ группы подключены к выходам элементов И соотве ственно первой и второй групп,а их выход соединены с входом памяти управляющих команд, выходы памяти микрокоманд и памяти управляющих команд подключены к информационным входам соответственно регистра микрокоманд и регистра управляющих команд, первый, второй, третий, четвертый, пятый, шестой и седьмой выходы рег.истра микрокоманд соединены соответственно с первым выходом блока, вторыми входами первого и второго эле ментов И, четвертым выходом блока, входом дешифратора, вторым входом третьего элемента И и седьмым выходом блока, а выходы первого, второго, и третьего элементов И подключены соответственно к второму, третьему и шестому выходам блока. На фиг.1 приведена структурная схема ассоциативного матричного процессора; на фиг.2 - функциональные схемы блоков буферной памяти и коммутаторов; на фиг.З - разбиение коммутаторов на нечетные и четные группы с целью подключения их к регистрам блоков буферной памяти; на фиг.4 принципиальная схема выходного блока коммутаторов; на фиг.5 - функциональная схема блока управления; на фиг.бпринципиальная схема арифметико-логического блока; на фиг.7 - таблица истинности арифметико-логического блока. Процессор содержит (фиг.1) матрицу памяти, состоящую из км блоков (оперативной) памяти с произвольным доступом, арифметико-логические блоки 2 - 2щ, блок 3 управления, входной блок 4 коммутаторов, выходной блок 5 коммутаторов, первый и второй блоки 6 и 7 буферной памяти, коммутаторы 8 - . Вход 9 процессора, имеющий и разрядов, соединен с параллельными входами блоков 6 и 7 буферной памяти, параллельные выходы которых соединены с соответствующими входс1ми йыходного блока 5 коммутаторов, а последовательные выходы - с коммутаторами В - 8, сгруппированными определенным образом в нечетные и четные группы по и коквлутаторов в каждой группе (фиг.З), последователь ные входы блоков 6 и 7 соединены с выходами входного блока 4 коммутаторов . Выход каждого коммутатора 8 соединен с информационным входом соответствующего блока 1 памяти, выход которого соединен с соответствующим блоком 2 и информационным входом блока 4 коммутаторов. Первые вертикальные вход и выход каждого блока 2 подключены соответственно к вторым вертикальным выходу и входу предыдущего блока 2,а первые вертикальные вход и выход блока 2 соединены соответственно с вторым вертикальным выходом и входом блока 2уу,. Горизонтальный выход первого и последнего блоков 2 соединены соответственно с одним из
входов первого и последующего коммутаторов 8. Управляющие входы всех блоков процессора соединены с выходами 10-16 блока 3 управления. Выход 17 .выходного блока 5 коммутаторов являет ся выходом процессора.5
Каждый из блоков 6 и 7 буферной памяти состоит (фиг.2) соответственно из регистров 6 - брИ 7 - 7и сдвига, количество и разрядность которых определяются разрядностью входа 9 про- 10 цессора. При этом параллельные входы регистров 6 - 6и и 7 - 7ц объединены и являются параллельными входами 9ц - 9и процессора.
Коммутаторы 6 - Qy (фиг.2) содер-|5 жат элемент НЕ 18, два элемента И 19 и 0,элемент ИЛИ 21 ,вхОяы которого соединены с выходами элементов 19 и 20. Вторые входы элементов 19 всех коммутаторов 8 подключены к выходу 13 бПО-JQ
ка 3 управления, к которому через элементы 18 также подключены первые входы элементов 20 всех коммутаторов, Первые входы элементов 19 всех первых и последующих коммутаторов нечет-25 ных групп, например 8 - 8ц, Bi. и т.д.,объединены и подключены последовательному выходу соответственно первого и. последующего регистров сд:;вига блока 6,например входы |g коммутаторов в,82.п-«- и т.д. объединены и подключены к последовательному выходу регистра 64.Аналогично подключаются первые входы элементов 19. коммутаторов четных групп к регистрам ,, сдвига блока 7, например входы коммутаторов 8„4|гЗ ии85И | и т.д.объединены и подключены к последовательному выходу регистра 7.Второй вход элемента 20 каждого коммутатора В подключен к горизонтальному выходу соот- 0 ветствующего блока 2.
Выходной блок 5 коммутаторов (фиг.4) содержит две группы коммутаторов 2 2, - 22 у, и - 23, и групп де логических элементов, каждая из которых состоит из двух элементов И 24 и 25 и одного элемента ИЛИ 26, и элемент НЕ 27.При этом одноименные инфо{ мационные входы nefiBoa группы коммутаторов 22. - 22у, через вkoдныe ин- О формационные шины 28 - 23ц подключены к параллельным выходам соответствующих регистров б - 6ц блока 6, а одноименные информационные входы второй группы коммутаторов 23, -.23 55 через входные информационные шины 29 - 29„ подключены к параллельным выходам соответствующих регистров 1л - 1п блока 7. Выходы первой « второй групп коммутаторов подключены 60 соответственно к первым входгш первых и вторых элементов И 24 и 25 sqex групп алогических элементов, в которых вторые BXOJ9J первых элементов И 24 объединены и подключены к выходу элемен- j
;та НЕ 27, а вторые входы вторых элементов И 25, а также вход элемента НЕ 27 объединены и подключены к выходу управляющего выхода 16 блока 3. Управляющие входы всех коммутаторов - 22и, 23 - 23и объединены и подключены к управля ицим .выходам 16 - 16, где .Выходы элементов 24 и 25 всех групп подключены к входам элементов 26, выходы которых являются выходами 17 17у, блока 5.
Блок 3 управления (фиг.5) состоит из узла 30 микропрограммного управления, генератора 31 синхросигналов, и регистра состояния 32, причем узел 3 микропрограммного управления содержи память 33 управляющих команд, память 34 микрокоманд, регистр 35 управляющих команд, регистр 36 микрокоманд, группы логических элементов, каждая из которых состоит из двух элементов И 37 и 38 и одного элемента ИЛИ 39, и дешифратор 40. При этом входы элементов ИЛИ 39 подключены к выходам элементов И 37 и 38, а выходы - к адресным входам.памяти 33,выход кото;рой подключен/ к информационным входам регистра 35. Первая группа выходов этого регистра подсоединена к адресным входам памяти 34, а вторая к первым входам вторых элементов 38 всех групп. Первые входы всех элементов 37 подключены к первой группе вы1 ходов регистра 32, а вторая группа его выходов подключена к входу генератора 31, к четырем выходам которого соответственно подключены вторые входы элементов 37 и 38 всех групп и управляющие входы регистров 35 и 36. Информационные входы регистра 36 подключены к выходу пгиияти 34. Пятая группа выходов регистра 36 подключен к входу дешифратора 40. Все выходы регистра 36, за исключением пятой группы выходов и последнего выхода, выходы дешифратора 40, а также пятый выход генератора 31 являются выходами 10 - 16 блока 3 управления.
Арифметико-логический блок 2 (фиг.6) с;6держит элементы И 41,42 и 43, элемент ИЛИ 44, триггеры 45,46
и 47, арифметико-логический модуль 48, горизонтальные входную и выходную шины 49 и 50. Bxojcuii элемента 44 подключены к выхо йам элементов 41, 42 и 43, первые входы которых подсоединены соответственно к вертикальной входной шине 51, горизонтальной входной шине 49 и вертикальной входной шине 52, а вторые входы - соответственно к выходам 15ч 152. и блока 3 управления. Модуль 48 имеет входы 53 - 61 и выходы 62 и 63. Входы 53, 55 и 57 моду-; ля 48 объединены и подключены к выходу 154 блока 3, а объединенные входы 54, 56 и 58 подключены к выходу 155- блока 3. Вход 59 модуля 48 об единен с входом триггера 45 и подсоединен к выходу элемента 44, вход 60 к выходу триггера 45, а вход 61 - к выходу триггера 47. Входы триггеров 46 и 47 соответственно подключены к выходам 62 и 63 модуля 48, управляющ входы 64 - 68 которого подключены со ответственно к выходам 15 - блока 3. Выходы 15 -15/), блока 3 подключены соответственно к управляю щим входам триггеров 45, 46 и 47. Вы ход триггера 46 подсоединен к первой и второй вертикальным выходным шинам и к шине 50 блока 2 . Функционирование ассоциативного матричного процессора осуществляется следующим образом. Ввод- И-разрядных слов в матрицу памяти осуществляется через два блока 6 и 7, причем вначале с управляющего :выхода 11 блока 3 на все регист ры блока 6 подается кодовая комбинация, которая настраивает их на режим параллельного приема. За первые И тактов осуществляется последовательное занесение И-разрядной информации В И регистров 6х( - 6,. В это время и блока 3 в регистры блока 7 по выходу 12 поступает кодовая комбинация, которая в течение первых .И тактов удерживает эти регистры в режиме хра нения. По истечении итактов управля щие сигналы с выходов 11 и 12 блока Переводят регистры блока 6 в режим последовательного сдвига, а регистры блока 7 - в режим параллельного;зане сения. Так чередуются заполнение регистров блока 6 и считывание из регистров блока 7, а затем - считывани из блока 6 и заполнение блока 7. Информация, считываемая из регистров блока 6, передается в соответствую. щие и коммутаторов одновременно всех нечетных групп, например - Svi, 82.hvt 8Ьп г а из регистров блока 7 в соответствующие и коммутаторов одновременно всех четных групп, например 8„ц. - 820/ 8, - 8 4.VI. де 13 блока 3 разрешает прохождение информации из блоков 6 и 7 через ком мутаторы 8 в блоки 1. При этом во всех блоках 1 происходит выборка оди наковых адресов в соответствии с Кразрядной, гдеК- 02 2.Р Р-разрядност ячейки памяти, кодовой комбинацией, поступающей с выхода 14 блока 3. Запись информации в cooтвeтctвs oщyю группу из VI блоков 1 происходит стро го в соответствии с управляющими сиг налами на том же выходе 14. Таким образом каждое И-разрядное слово, записанное за один такт в регистры сдвига, заносится в соответствующий блок 1 последовательно по разрядам за VI тактов. Но так как загрузка происходит одновременно в л блоков 1, то за эти h тактов происходит ввод м слов в матрицу памяти. В зависимости от разрядности блока 1 можно организовать одну, две или более зон. Обычно вводится одновременно 16 или 32 разряда, а в качестве блока 1 берется блок оперативной па мяти с произвольной выборкой на 256 или более бит разрядностью в один бит. Так можно организовать многозон.ную матрицу памяти. Обработка информации, хранящейся в матрицах памяти, осуществляется в блоках 2, в которых набор арифметических и логических операций определяется модулем 48. В качестве модуля 48 применяется серийно выпускаемая микросхема К155ИПЗ, предназначенная для логической и арифметической обработки двух четырехразрядных операндов. Однако с целью организации однобитовых (одноразрядных) арифметических операций три младших его входа 53, 55 и 57 одного операнда объединены и подключены к выходу 15 COIiSt О блока 3, а три младших входа 54, 56 и 58 второго операнда объедине 1ы и подключены к выходу iSjCOhS-t блока 3. Таким образе, обрабатываемые биты двух операндов поступают на два старших входа 5Э ибо модуля 48. В зависимости от кодовой комбинации на выходах 15 - 15 блока 3 в блоке 2 может быть выполнена одна из шестнадцати арифметических или логических функций в соответствии с таб«лицей (фиг.7). .Выбор режима логической или арифметической обработки информации осуществляется при помощи выхода 15, блока 3. При наличии на этом выходе логического О блок 2 выполняет логические операции, в про|тивном случае - арифметические. Триггер 45 служит для запоминания одного из операндов при работе с двумя операндами, триггер 46 - для запоминания результата выполнения той или иной операции, триггер 47 - для запоминания переноса при выполнении логических операций. Все триггеры запоминают поступающую на их первые входы информацию при поступлении на их вторые входы синхросигналов с выходов блока 3. Первоначально один бит первого операнда считывается из матрицы памяти и записывается в триггер 45, выход/ которого подключен к старшему входу 60 одного из операндов модуля 48. Затем считывается один бит второго операнда, который, .минуя триггер 45, поступает на старший вход 59 второго опе ранда. Результат обработки двух битов1 Двух операндов считывается с выхода 62 Г .модуля 48 и записывается в триггер 46. Если в модуле 48 производятся логические операции, результат этих oneраций на выходе 62 не зависит От сос тояния трех пар младших входов 53-58 Это достигается передачей с вахо-да 15б. блока 3 на вход 64 модуля 48 соответствукнцего логического уррвкЯ. При наличии сигнала переноса, переда ваемого с триггера 47 на вход 61 модуля 48, при выполнении арифметической операции предшествующей пары битов этот перенос суммируется со значениями, постоянно подаваемыми на младшие входы 53 - 58 модуля 48, и передается к паре входов 59 и 60, на которые поступают обрабатываемые биты двух операндов. Присутствие логической на одном из выходов 15 - 15 блока 3 обеспечивает прием информации блока 24 соответственно с трех направ лений: либо с предьщувдего блока по шине 51 при сдвиге информации вниз, либо из блока по шине 49, либо с последующего блока ( по шине 52 при сдвиге информации вверх. Таким образе, операция обработки двух операндов в блоках 2 осуществля ется в три этапа. Вначале из блока 1 считывается один бит информации первого операнда, который записывается в триггер 45. Затем из блока 1 считы вается один бит информации второго операнда, при этом с выходов поступает код выполняемой операции, и сиихрЬсигналом с выхода 15, в триггер 47 записывается перенос. На третьем этапе результат операции с триггера 46 записывается в соответст вующий блок 1. При обработке одного операнда, например, в поисковых операциях очередной бит считывается из блока 1 и передается в блок 2, который уже настроен на соответствуклцук операцию. Результат фиксируется в триггере 46 и затем переписывается в соответствующий блок 1. Результат арифметичес ких и логических операций над массивами данных из блоков 2 записывается в матрицу памяти, откудаон может быт1 считан с целью ВЕЯвода его из процессора. Для этого блок 4 по сигналам управления на выходе 10 блока 3 осуществляет коммутацию считываемой из матрицы памяти ииформации для записи ее сначала в один блок буферной памяти, а затем в другой. Заполнением всех регистров кёикдого из блоков 6 и 7 осуществляется последовательно по разрядам Вывод информации из процес сора происходит через блок 5. Примером реализации регистров сдв;1га блоков 6 и 7 является серийно выпускаемая микросхема К155ИР13. Предлагаемый процессор прост в изготовлении и имеет высокое быстродействие. В известном процессоре, выпол ненном на быстродействукяцей серии по ЭСЛ-технологии, время обращения к памяти составляет примерно 120 не (по 40 НС для считывания или записи информации в память и для прохождения мультиплексора и перестановочной се.ти). В предлагаемом процессоре время Обращения к матрице памяти в,процессоре обработки данных составляетпримерно 40 НС за счет того, что информация из матрицы памяти непосредственно заносится в арифметико-логические блоки.. Загрузка W и-разрядных слов в дантный процессор осуществляется за Уи+И тактов. Первые И тактов необходимо затратить на первоначальную загрузку регистров одного из блоков буферной памяти. В известном процессоре загрузка данных в m блоков памяти происходит за км тактов. Однако в каждый из этих тактов входит время, которое необходимо затратить на прохождение мультиплексора и перестановочной сети. Так например, для матрицы памяти в 1024 слова по 256 разрядов в известном процессоре это время составляет 122,9 МКС, а в предлагаемом 51,2 МКС. Таким образом с увеличением объемй памяти эффективность предлагаемого устройства ввода информации в матрицу повышается. Важным отличием данного процессора от известного является то, что 16 или 32-разрядные слова поступают с входа процессора непосредственно в память. В известном процессоре производится предварительное формирование 256-разрядных слов с помощьй внешней перестановочной сети. Особенностью данного процессора является также то, что вертикальные сдвиги информации в двух направлениях в комбинации с записью в матрицу памяти по произвольному адресу позволяют производить сложные операции над массивами данных, такие как перестановка, сортировка, транспозиция и др. Формула изобретения 1. Ассоциативный матричный процессор, содержащий блоки памяти, арифметико-логические блоки по числу блоков памяти, блок управления, входной и выходной блоки коммутаторов, причем выходы блоков памяти соединены с инормационными входами соответствуюих арифметико-логических блоков и нформационными входами входного блоа коммутаторов, отличающийя тем, что, с целью увеличения роизводительности, он содержит перый и второй блоки буферной памяти и ве группы коммутаторов, общее число оторых равно числу блоков памяти, ри этом первые и вторые информационые входы блоков буферной памяти подклюены соответственно к информационному входу процессора и выходу входного блок коммутаторов, пе|рвЫе информационные выходы первого и второго блоков буферной памяти соединены соответствен но с первым и вагорым информационными входами- выходного блока коммутаторов выход которого подктаочен к информаци онному выходу процессора, вторые информационные выходы первого и второг блоков буферной памяти соединены с первыми информационными вxoдa вI ксалмутаторов соответственно первой и второй групп, вторые информационные входы коммутаторов подключены к информационным; выходам соответствующи .арифметико-логических блоков,а выходы этих коммутаторов соединены с управляющими входами соответствующих блоков памяти, первый вход и выход переноса каждого арифметико-логического блока подключены соответственно к второму выходу и входу переноса со седнего арифметико-логического блока а первый, второй, третий, четвертый, пятый, шестой и седьмой выходы блока управления соединены соответственно управляющими входами входного блока кокмутаторов,первого и второго блоков буферной памяти и коммутаторов первой и второй групп, адресными входами блоков памяти и управляющими входами арифметико-логических блоков и выходного блока коммутаторов, 2. Процессор ПОП.1, отлича ющийся тем, что блок управлени содержит генератор синхросигналов, регисто состояния, память управляющих команд, память микрокоманд, регистр управляющих команд, регистр микрокоманд, две группы элементов И, группу элементов ИЛИ, дешифратор и три элемента И, причем первый и второй выходы регистра состояния соедин ны соответственно с первыми входами элементов И первой группы и входом генератора синхросигналов, первые входы элементов И второй группы подклю- ены к первому выходу регистра управлящих команд, второй выход которого содинен с входом памяти микрокоманд, вторые входы элементов И первой и второй групп подключены соответственно к первому и второму выходам генератора;:, синхросигналов, третий, четвертый и пятый выходы которого соединены соответственно с управляющими входами регистра управляющих команд, регистра микрокоманд и первыми входами первого, второго и третьего элементов И, первые и вторые входы элементов ИЛИ группы . подключены к выходс1м элементов И соответственно первой и второй групп, а их выходы соединены с входом памяти управляющих команд, выходы памяти микрокоманд и памяти управляющих команд подключены к информационным входам соответственно регистра микрокоманд и регистра управляющих команд, первый, второй, третий, четвертый, пятый, шестой .и седьмой выходы регистра микрокоманд соединены соответственно с первым выходом блока, вторыми входами первого и второго элементов И, четвертым выходом блока, входом дешифратора, вторым входом третьего элемента И и седьмым выходом блока, а выходы первого, второго и третьего элементов И подключены соответственно к второму, третьему и шестому выходам блока. Источники информации, принятые во внимание при экспертизе 1. Авторское свидетельство СССР №479114, кл. G06P 15/00, 1975. 2. Патент США 3800289, кл. 340-172.5, опублик. 1974 (прото-. тип) ,
/7
название | год | авторы | номер документа |
---|---|---|---|
Ассоциативный матричный процессор | 1982 |
|
SU1164720A1 |
Процессор | 1984 |
|
SU1247884A1 |
УСТРОЙСТВО ДЛЯ ОБРАБОТКИ ИНФОРМАЦИИ | 1991 |
|
RU2029359C1 |
Микропрограммный процессор | 1978 |
|
SU741269A1 |
Процессор микропрограмируемой ЭВМ | 1989 |
|
SU1697082A1 |
Процессор | 1984 |
|
SU1246108A1 |
ВЫЧИСЛИТЕЛЬНАЯ СИСТЕМА ДЛЯ ИНТЕРВАЛЬНЫХ ВЫЧИСЛЕНИЙ | 1991 |
|
RU2006929C1 |
Процессор матричной вычислительной системы | 1987 |
|
SU1603395A1 |
Процессор | 1977 |
|
SU691858A1 |
ПРОЦЕССОР ДЛЯ КОНТРОЛЯ ЦИФРОВЫХ СХЕМ | 1972 |
|
SU435527A1 |
t1.
r5,
f
JL
-ы t
/2.
A
n
S,
8
2П
:S
m-zn
8mm-{n+i}
m-n
П
/J
tfi.2
Щ
1Ъ
... ж.
10
11
М
12
ЗВ
fS
И I .
Ж
Авторы
Даты
1983-03-15—Публикация
1981-09-02—Подача