SU1691847A1 - Systolic processor - Google Patents
Systolic processor Download PDFInfo
- Publication number
- SU1691847A1 SU1691847A1 SU894746750A SU4746750A SU1691847A1 SU 1691847 A1 SU1691847 A1 SU 1691847A1 SU 894746750 A SU894746750 A SU 894746750A SU 4746750 A SU4746750 A SU 4746750A SU 1691847 A1 SU1691847 A1 SU 1691847A1
- Authority
- SU
- USSR - Soviet Union
- Prior art keywords
- inputs
- exchange device
- same
- memory
- counter
- Prior art date
Links
Abstract
Изобретение относитс к вычислительной технике и может быть использовано в автоматизированных системах обработки данных, работающих в реальном времени. Целью изобретени вл етс повышение производительности систолического процессора за счет обеспечени безконфликтного обмена данными между вычислительными модул ми. Поставленна цель достигаетс тем, что в систолический процессор, содержащий К вычислительных модулей, введены К+1 устройств обмена. 1 з.п. ф-лы, 4 ил.The invention relates to computing and can be used in automated data processing systems operating in real time. The aim of the invention is to increase the performance of the systolic processor by ensuring conflict-free data exchange between computational modules. The goal is achieved by introducing K + 1 exchange devices into a systolic processor containing K compute modules. 1 hp f-ly, 4 ill.
Description
Изобретение относитс к вычислительной технике и может быть использовано в автоматизированных системах обработки данных, работающих в реальном масштабе времени.The invention relates to computing and can be used in automated data processing systems operating in real time.
Цель изобретени - повышение производительности систолического процессора путем обеспечени безконфликтного обмена данными между вычислительными модул ми .The purpose of the invention is to increase the performance of the systolic processor by ensuring conflict-free data exchange between computational modules.
На фиг. 1 изображена блок-схема систолического процессора; на фиг. 2 - блок-схема устройства обмена; на фиг. 3 - схема блока управлени (обменом); на фиг. 4 - схема вычислительного модул .FIG. 1 shows a block diagram of a systolic processor; in fig. 2 is a block diagram of an exchange device; in fig. 3 is a control block (exchange) diagram; in fig. 4 is a diagram of a computing module.
Систолический процессор (фиг. 1) содержит первый 1 и второй 2 тактовые входы, информационный вход 3, первые входы 4-7 соответственно признаков записи в пам ть, считывани из пам ти, записи в счетчик и считывани из счетчика, вход 8 сброса, третий тактовый вход 9 (К+1) устройств 10 обмена , К вычислительных модулей 1V, входы 12 прерывани , входы 13 управлени переходом , вход 14 признака загрузки, вход 15 разрешени записи, вход 16 разрешени чтени , выход 17 разрешени обращени к пам ти программ, вход/выход 18 внешней шины данных, выход 19 синхронизации, выход 20 строба чтени , выход 21 строба записи , выход 22 адреса, вход-выход 23 данных, информационный выход 24, вторые входы 25-28 соответственно признаков записи в пам ть, считывани из пам ти, записи в счетчик и считывани из счетчика.The systolic processor (Fig. 1) contains the first 1 and second 2 clock inputs, information input 3, the first inputs 4-7, respectively, of the signs of a write to the memory, read from the memory, write to the counter and read from the counter, reset input 8, the third a clock input 9 (K + 1) of exchange devices 10, K computing modules 1V, interrupt inputs 12, transition control inputs 13, download indication input 14, write permission input 15, read permission input 16, program memory access enable output 17, external data bus input / output 18, synchronization output 19, output 20 reading strobe, write strobe output 21, address output 22, data input / output 23, information output 24, second inputs 25-28, respectively, of the characteristics of writing to the memory, reading from the memory, writing to the counter and reading from the counter.
Каждое устройство 10 обмена (фиг. 2) включает регистры 29-32, блок 33 пам ти и блок 34 управлени .Each exchange device 10 (FIG. 2) includes registers 29-32, a memory unit 33 and a control unit 34.
Блок 34 управлени (фиг. 3) содержит элементы И-НЕ 35-37, буферные усилители 38 и 39 с трехстабильным выходом, коммутатор 40, счетчики 41 и 42, элемент И 43, элементы И-НЕ 44 и 45. элемент И 46, элемент И-НЕ 47, элемент И 48, инвертор 49, шесть узлов формирователей 50i-50c импульсов , каждый из которых состоит из элемента И 51, триггеров 52 и 53 и элемента И-НЕ 54.The control unit 34 (FIG. 3) contains AND-HE elements 35-37, buffer amplifiers 38 and 39 with a three-stable output, switch 40, counters 41 and 42, And 43 element, AND-NE elements 44 and 45. And 46 element the element AND NOT 47, the element AND 48, the inverter 49, the six nodes of the pulse formers 50i-50c, each of which consists of the element AND 51, the triggers 52 and 53 and the element AND-NOT 54.
слcl
сwith
о чэoh che
0000
NN
VJVj
Каждый вычислительный модуль 11 (фиг. 4) образуют усилители 55 и 56 с трех- стабильным выходом, микропроцессор 57, усилители 58 и 59 с трехстабильным выходом , элементы ИЛИ 60 и 61, дешифраторы 62 и 63, элемент И 64, пам ть 65 и элемент ИЛИ 66.Each computational module 11 (FIG. 4) constitutes amplifiers 55 and 56 with a three-stable output, microprocessor 57, amplifiers 58 and 59 with a three-stable output, elements OR 60 and 61, decoders 62 and 63, element AND 64, memory 65 and element OR 66.
Систолический процессор работает следующим образом.The systolic processor works as follows.
Сначала осуществл етс настройка процессора на решение задачи. Настройка производитс путем загрузки в пам ть 65 каждого вычислительного модул 11 соответствующих программ. Кажда программа, загруженна в вычислительный модуль 11, вл етс частью общей программы решени задачи. В блок 33 пам ти первого устройства 10 обмена с выхода 3 загружаютс первый массив входных данных и управл юща информаци , сопровождающа данный массив. В управл ющей информации указываютс код решаемой задачи, начальный адрес, размерность и состо ние массива , Если в чейке блока 33 пам ти, определ ющей состо ние массива, записан нуль, это означает, что в блок 33 пам ти не загружен массив данных, а если единица, то это означает, что массив данных загружен и готов к обработке. Управл юща информаци записываетс в определенные адреса блока 33 пам ти. Объем пам ти блока 3 каждого устройства 10 обмена определ етс размерами обрабатываемых массивов данных и их управл ющей информацией. Минимальный объем блока 33 пам ти должен обеспечивать хранение двух максимальных массивов данных с их управл ющей информацией .First, the processor is configured to solve the problem. The adjustment is made by loading into memory 65 of each computing module 11 of the respective programs. Each program loaded into the computing module 11 is part of a general problem solving program. In memory 33, the first exchange device 10 from output 3 loads the first input data array and control information accompanying the array. The control information indicates the problem code to be solved, the starting address, the dimension and state of the array. If the cell of the memory block 33, which defines the state of the array, contains zero, this means that the data array is not loaded in the memory block 33, if one, it means that the data array is loaded and ready for processing. The control information is recorded in the determined addresses of the memory unit 33. The storage space of block 3 of each exchange device 10 is determined by the size of the data files being processed and their control information. The minimum size of the memory block 33 should provide storage of two maximum data arrays with their control information.
Перед началом работы в первую область блока 33 пам ти устройства 10i обмена загружены первый массив данных и его управл юща информаци , причем в чейках , определ ющих состо ние двух облаь стей пам ти, записаны единица и нуль. В чейках, определ ющих состо ние блока 33 пам ти устройств 102-1 Ок-и обмена, записаны нули..При установке на входе 8 единицы процессор из состо ни останова переходит на выполнение программ, записанных в пам ти 65 вычислительных модулей 11. В каждом вычислительном модуле 11 в начале работы анализируютс чейки, определ ющие состо ние блока 33 пам ти устройств 10 обмена. Если в этих чейках записан нуль, то соответствующие вычислительные модули 11 переход т в режим ожидани , а если единица, то на обработку массива.Before starting, the first data array and its control information are loaded into the first area of the memory block 33 of the exchange device 10i, and in the cells determining the state of the two memory areas, one and zero are recorded. Zero zeros are written in the cells that determine the state of the memory block 33 of the device 102-1 OK-and exchange. When the unit is installed at input 8, the processor stops and runs to execute the programs recorded in memory 65 of the computational modules 11. In At the beginning of operation, each computational module 11 analyzes the cells determining the state of the block 33 of the memory of the exchange devices 10. If zero is written in these cells, then the corresponding computational modules 11 are switched to the idle mode, and if the unit is, then to the array processing.
4В начале работы процессора первый вычислительный модуль 11 по результатам анализа переходит на обработку массива,4In the beginning of the processor, the first computational module 11, based on the results of the analysis, proceeds to processing the array,
записанного в первой области блока 33 пам ти , а вычислительные модули 112-11к - а режим ожидани . Первый вычислительный модуль 11 считывает код .решаемой задачиthe memory block 33 recorded in the first region, and the computational modules 112-11k in the standby mode. The first computing module 11 reads the code of the problem to be solved.
и переходит на решение первой части данной задачи над данными, записанными в первой области блока 33 пам ти. Результаты решени первой части задачи вычислительным модулем 11 записываетс в первуюand proceeds to the solution of the first part of this problem over the data recorded in the first area of the memory block 33. The results of solving the first part of the problem by the computing module 11 are recorded in the first
область блока 33 пам ти второго устройства 102 обмена. Результаты обработки входного массива первым вычислительным модулем 111 вл ютс входными данными дл второго вычислительного модул 112. Вместе сthe area of the memory block 33 of the second exchange device 102. The results of processing the input array by the first computing module 111 are input to the second computing module 112. Together with
данными в блок 33 пам ти устройства 102 обмена записываетс его управл юща информаци . По окончании обработки первого входного массива и загрузки результатов его обработки в первую область блока 33data into memory block 33 of exchange device 102 is recorded by its control information. Upon completion of processing the first input array and loading the results of its processing into the first area of the block 33
пам ти устройства 102 обмена в чейки состо ни данных областей блока пам ти соответственно первого 10i и второго 102 устройств обмена записываетс нуль и единица . Одновременно с обработкой массиваthe memory of the exchange device 102, in the cells of the state of the data of the areas of the memory block of the first 10i and the second 102 of the exchange devices, respectively, is written zero and one. Simultaneously with array processing
с первой области блока 33 пам ти устройства 10i обмена во вторую область блока 33 пам ти данного устройства обмена с входа 3 загружаетс второй массив данных со своей управл ющей информацией. Поокончании загрузки информации во вторую область блока 33 пам ти устройства 10i обмена в чейку состо ни данной области блока 33 пам ти записываетс единица. По завершении обработки первого массиваFrom the first area of the memory block 33 of the exchange device 10i, the second data array with its control information is loaded from the input 3 to the second area of the memory block 33 of this exchange device. At the end of loading information into the second area of the memory unit 33 of the exchange device 10i, a unit is recorded in the state cell of this area of the memory unit 33. Upon completion of processing the first array
данных и загрузки результатов данной обработки в блок 33 пам ти устройства 102 обмена вычислительный модуль 111 переходит в режим ожидани . В режиме ожидани вычислительные модули 11i-11x наход тс data and loading of the results of this processing into the block 33 of the memory of the exchange device 102, the computing module 111 enters the standby mode. In idle mode, the computational modules 11i-11x are
до прихода сигнала прерывани на входы 12i, 1221-2к. Период поступлени сигналов прерывани равен или больше требуемого времени дл решени любой 1-й части задачи и совпадает с периодом поступлени until the interrupt signal arrives at the inputs 12i, 1221-2k. The period of arrival of interrupt signals is equal to or greater than the required time for solving any 1st part of the task and coincides with the period of arrival.
в процессор массивов данных. Процессор синхронизируетс сигналами прерывани , т.е. работает в принудительном темпе с тактом , равным периоду поступлени сигналов прерывани .into the data array processor. The processor is synchronized by interrupt signals, i.e. operates at a forced rate with a cycle equal to the period of arrival of the interrupt signals.
В начале следующего такта работы каждый вычислительный модуль 11 анализирует чейки, определ ющие состо ние блока 33 пам ти устройств 10 обмена, и в зависимости от записанной в них информации переходит на обработку или на ожидание. Во втором такте первый 111 и второй 112 вычислительные модули переход т на обработку массивов данных, а вычислительные модули к - в режим ожидани .At the beginning of the next clock cycle, each computational module 11 analyzes the cells that determine the state of the block 33 of the memory of the exchange devices 10, and, depending on the information recorded in them, proceeds to processing or waiting. In the second cycle, the first 111 and second 112 computational modules switch to processing arrays of data, and the computational modules go to standby mode.
Вычислительные модули 11i и 112 считывают код решаемой задачи и переход т на решение первой и второй частей задачи. Вычислительный модуль 11-| обрабатывает данныэ с второй области блока 33 пам ти устройства 10i обмена и результаты данной обработки загружает во вторую область блока 33 пам ти устройства 102 обмена. Одновременно в первую область блока 33 пам ти устройства 10i обмена производитс загрузка с входа 3 следующего массива. При обработке второго входного массива вычислительный модуль 11i использует вторые области блока 33 пам ти устройств 1Ch-102 обмена. Вычислительный модуль 112 обрабатывает данные с первой области блока 33 пам ти устройства 102 обмена и результаты данной обработки загружает в первую область блока 33 пам ти устройства Юз обмена . Перед третьим тактом работы процессора в первой области блока 33 пам ти устройства 10 обмена находитс третий входной массив с управл ющей информацией, а во второй и первой област х блока 33 пам ти соответственно второго 102 и третьего Юз устройств обмена записаны массивы данных с управл ющей информацией дл следующего такта работы . В последующих тактах работа процессора аналогична описанной.Computing modules 11i and 112 read the code of the problem to be solved and proceed to solving the first and second parts of the problem. Computing Module 11- | processes the data from the second region of the memory block 33 of the exchange device 10i and the results of this processing loads into the second region of the memory block 33 of the exchange device 102. At the same time, the first area of the memory unit 33 of the exchange device 10i is loaded from the input 3 of the next array. When processing the second input array, the computing module 11i uses the second regions of the memory block 33 of the 1Ch-102 interchange devices. Computing module 112 processes data from the first area of the memory block 33 of the exchange device 102 and loads the results of this processing into the first area of the memory block 33 of the exchange Yuz device. Before the third processor cycle, in the first area of the memory block 33 of the exchange device 10 there is a third input array with control information, and in the second and first areas of the memory block 33 of the second 102 and third Uz exchange devices, respectively, data arrays with control information are recorded for the next work cycle. In subsequent cycles, the processor is similar to that described.
Claims (2)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU894746750A SU1691847A1 (en) | 1989-10-03 | 1989-10-03 | Systolic processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU894746750A SU1691847A1 (en) | 1989-10-03 | 1989-10-03 | Systolic processor |
Publications (1)
Publication Number | Publication Date |
---|---|
SU1691847A1 true SU1691847A1 (en) | 1991-11-15 |
Family
ID=21473357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SU894746750A SU1691847A1 (en) | 1989-10-03 | 1989-10-03 | Systolic processor |
Country Status (1)
Country | Link |
---|---|
SU (1) | SU1691847A1 (en) |
-
1989
- 1989-10-03 SU SU894746750A patent/SU1691847A1/en active
Non-Patent Citations (1)
Title |
---|
Систолические вычислительные структуры/Под ред. Я.А.Дуброва. АН УССР, ИППММ, препринт N° 3-87, Львов, 1988, л.22, рис.2,3. * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA1145852A (en) | Diagnostic circuitry in a data processor | |
EP0528585A1 (en) | Processing system with internal instruction cache | |
GB1352577A (en) | Multi-processor processing system having inter-processor interrupt transfer apparatus | |
JPH0690682B2 (en) | Fault processing method of multiprocessor system | |
SU1691847A1 (en) | Systolic processor | |
JPH08221319A (en) | Semiconductor memory device | |
EP0436211B1 (en) | Apparatus enabling observation of internal memory-mapped registers | |
SU1399750A1 (en) | Device for interfacing two digital computers with common storage | |
SU1163326A1 (en) | Device for generating diagnostic information about program run | |
SU1661778A1 (en) | Device for interfacing two computers to common memory | |
SU1298758A2 (en) | Interface for linking processor with arithmetic expander | |
JPH0222748A (en) | Non-volatile memory control circuit | |
SU1631549A1 (en) | Data processor | |
SU1352496A1 (en) | Device for interfacing processor with memory | |
JPH01258291A (en) | Access controller for dual port memory | |
SU1605273A1 (en) | Multichannel data acquisition device | |
SU1488815A1 (en) | Data source/receiver interface | |
SU1619282A1 (en) | Memory | |
SU1341636A1 (en) | Program interruption device | |
SU1737454A1 (en) | Device for storing route of interprocessor exchanges in multiprocessor systems | |
SU1081638A1 (en) | Data exchange control unit | |
SU1566361A1 (en) | Device for data exchange between processors | |
JPH02216565A (en) | Memory testing device | |
SU1320846A1 (en) | Buffer memory | |
SU1559351A1 (en) | Device for interfacing two computers |