[go: up one dir, main page]

RU2117326C1 - Computing system based on matrix of processor elements - Google Patents

Computing system based on matrix of processor elements Download PDF

Info

Publication number
RU2117326C1
RU2117326C1 RU98100973A RU98100973A RU2117326C1 RU 2117326 C1 RU2117326 C1 RU 2117326C1 RU 98100973 A RU98100973 A RU 98100973A RU 98100973 A RU98100973 A RU 98100973A RU 2117326 C1 RU2117326 C1 RU 2117326C1
Authority
RU
Russia
Prior art keywords
group
inputs
outputs
control
unit
Prior art date
Application number
RU98100973A
Other languages
Russian (ru)
Other versions
RU98100973A (en
Inventor
Б.С. Алешин
А.В. Бондаренко
С.В. Мельников
В.М. Новиков
А.П. Юшин
Original Assignee
Алешин Борис Сергеевич
Бондаренко Александр Викторович
Новиков Валерий Михайлович
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Алешин Борис Сергеевич, Бондаренко Александр Викторович, Новиков Валерий Михайлович filed Critical Алешин Борис Сергеевич
Priority to RU98100973A priority Critical patent/RU2117326C1/en
Application granted granted Critical
Publication of RU2117326C1 publication Critical patent/RU2117326C1/en
Publication of RU98100973A publication Critical patent/RU98100973A/en

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

FIELD: computer engineering, in particular, digital image processing. SUBSTANCE: device has base computer, three memory units, input-output controller, commutator, control unit, unit for setting and checking clock frequency, buffer unit and computing unit which is designed as matrix of processor elements. This results in possibility of parallel processing of heterogeneous and uniform information. Arithmetic and logical processing runs in orthogonal direction with exchange of orthogonal information flows without additional operations. EFFECT: increased speed. 12 dwg, 6 tbl

Description

Изобретение относится к вычислительной технике и может быть использовано при построении вычислительных средств, требующих высокопроизводительной обработки информации, например, для цифровой обработки изображений. The invention relates to computing and can be used to build computing tools that require high-performance information processing, for example, for digital image processing.

Известно устройство для обработки цифрового сигнала, содержащее последовательно соединенные арифметические блоки, объединенные в две группы вычислителей (патент, РФ N 2033637, кл. G 06 F 17/14, 09.07.91). A device for processing a digital signal is known, containing arithmetic units connected in series, combined into two groups of calculators (patent, RF N 2033637, class G 06 F 17/14, 09.07.91).

Устройство обеспечивает возможность параллельной обработки информационных потоков, однако его использование ограничено возможностью однонаправленного обмена информацией. The device provides the possibility of parallel processing of information flows, however, its use is limited by the possibility of unidirectional exchange of information.

Наиболее близким аналогом-прототипом является вычислительная система, содержащая управляющий (базовый) компьютер, блоки памяти, контроллер ввода-вывода, вычислительные блоки и коммутаторы, группы управляющих и информационных выходов которых соединены с входами соответствующих блоков памяти (патент РФ, N 2042193, кл. G 06 F 15/16, 08.10.91). The closest analogue prototype is a computing system containing a control (base) computer, memory blocks, an input-output controller, computing blocks and switches, groups of control and information outputs of which are connected to the inputs of the corresponding memory blocks (RF patent, N 2042193, cl. G 06 F 15/16, 08/10/91).

Эта вычислительная система обладает широкими функциональными возможностями за счет увеличения числа одновременно работающих на базе общей шины групп вычислительных блоков и организации их взаимодействия, однако в ней необходимо проведение промежуточных операций, связанных с переадресовкой и перезапуском команд, что снижает быстродействие системы. This computing system has wide functionality due to the increase in the number of groups of computing units working simultaneously on the common bus and the organization of their interaction, however, it requires intermediate operations related to forwarding and restarting teams, which reduces the system’s speed.

Сущность изобретения состоит в том, что в вычислительную систему, содержащую базовый компьютер, блоки памяти, контроллер ввода-вывода, вычислительный блок и коммутатор, первые и вторые группы управляющих выходов которого соединены с первыми группами управляющих входов соответственно первого и второго блоков памяти, а первые и вторые группы информационных входов-выходов коммутатора подключены к группам информационных входов-выходов соответственно первого и второго блоков памяти, введены блок управления, блок задания и контроля тактовой частоты и буферный блок, причем группа управляющих входов-выходов базового компьютера соединена с первыми группами управляющих входов-выходов соответственно блока управления и третьего блока памяти, группа информационных входов-выходов базового компьютера подключена к группе информационных входов-выходов третьего блока памяти и третьей группе информационных входов-выходов коммутатора, а группа адресных выходов базового компьютера соединена с первыми группами адресных входов соответственно третьего блока памяти и контроллера ввода-вывода, первые, вторые и третьи группы адресных выходов которого подключены к группам адресных входов соответственно буферного блока и первого и второго блоков памяти, первая группа управляющих выходов и группа адресных выходов блока управления подключены к вторым группам соответственно адресных и управляющих входов третьего блока памяти, группа информационных выходов которого соединена с группами информационных входов блока управления и контроллера ввода-вывода, группа управляющих выходов которого подключена к первой группе управляющих входов коммутатора, вторая группа управляющих входов которого соединена с второй группой управляющих выходов блока управления, причем группа управляющих входов-выходов блока управления подключена к группе управляющих входов-выходов контроллера ввода-вывода, а третья группа управляющих выходов блока управления соединена с группой управляющих входов буферного блока, группа информационных входов-выходов которого соединена с четвертой группой информационных входов-выходов коммутатора, при этом группы информационных, адресных и управляющих выходов буферного блока подключены соответственно к группам информационных, адресных и управляющих входов вычислительного блока, первая группа информационных выходов которого соединена с группой информационных входов буферного блока, первая группа выходов блока задания и контроля тактовой частоты соединена с группами тактовых входов контроллера ввода-вывода, блока управления и вычислительного блока, вторая группа информационных выходов которого подключена к группе входов блока задания и контроля тактовой частоты, второй группой выходов соединенного с группой управляющих входов блока управления, информационным входом подключенного к соответствующему выходу вычислительного блока, причем базовый компьютер выходом соединен с управляющим входом блока задания и контроля тактовой частоты, а вычислительный блок выполнен в виде матрицы процессорных элементов. The essence of the invention lies in the fact that in a computing system containing a base computer, memory blocks, an input / output controller, a computing unit and a switch, the first and second groups of control outputs of which are connected to the first groups of control inputs of the first and second memory blocks, respectively, and the first and the second groups of information inputs / outputs of the switch are connected to the groups of information inputs and outputs of the first and second memory blocks, respectively, a control unit, a clock setting and control unit are introduced th frequency and a buffer unit, the group of control inputs and outputs of the base computer connected to the first groups of control inputs and outputs of the control unit and the third memory block, the group of information inputs and outputs of the base computer connected to the group of information inputs and outputs of the third memory block and the third group information inputs and outputs of the switch, and the group of address outputs of the base computer is connected to the first groups of address inputs of the third memory block and the controller an ode-output, the first, second and third groups of address outputs of which are connected to the groups of address inputs of the buffer unit and the first and second memory blocks, the first group of control outputs and the group of address outputs of the control unit are connected to the second groups of address and control inputs of the third memory block, respectively the group of information outputs of which is connected to the groups of information inputs of the control unit and the input-output controller, the group of control outputs of which is connected to the first group branching inputs of the switch, the second group of control inputs of which are connected to the second group of control outputs of the control unit, and the group of control inputs and outputs of the control unit is connected to the group of control inputs and outputs of the I / O controller, and the third group of control outputs of the control unit is connected to the group of control inputs a buffer unit, the group of information input-output of which is connected to the fourth group of information input-output of the switch, while the group of information, address x and the control outputs of the buffer unit are connected respectively to the groups of information, address and control inputs of the computing unit, the first group of information outputs of which are connected to the group of information inputs of the buffer unit, the first group of outputs of the reference and control unit of the clock frequency is connected to the groups of clock inputs of the I / O controller , a control unit and a computing unit, the second group of information outputs of which are connected to the group of inputs of the unit of reference and control the clock frequency, Torah group of outputs coupled to a group of control inputs of the control unit, data input connected to a corresponding output of the computer unit, wherein the host computer output coupled to the control input setting unit and the control clock frequency, and the computing unit is configured as a matrix of processing elements.

Такая вычислительная система (далее система НБМПЭ) обеспечивает возможность параллельной обработки однородной и разнородной информации. При этом арифметико-логическую обработку и процессы обмена и передачи информации производят и по ортогональным направлениям с обменом между потоками информации ортогональных направлений без проведения промежуточных операций, что существенно повышает быстродействие. Such a computing system (hereinafter, the NBMPE system) provides the possibility of parallel processing of homogeneous and heterogeneous information. In this case, arithmetic-logical processing and information exchange and transmission processes are also carried out in orthogonal directions with the exchange between information flows of orthogonal directions without carrying out intermediate operations, which significantly improves performance.

На фиг. 1 представлена блок-схема системы НБМПЭ; на фиг. 2-12 приведены функциональные схемы выполнения отдельных блоков и устройств, входящих в эти блоки. In FIG. 1 shows a block diagram of the NBMPE system; in FIG. 2-12 are functional diagrams of the execution of individual blocks and devices included in these blocks.

В табл. 1 приведена информация о взаимных соединениях процессорных элементов вычислительного блока, в табл. 2 указаны программно-доступные блоки и узлы системы НБМПЭ, в табл. 3 приведен перечень условных обозначений, применяемых в описании команд, в табл. 4 и 5 расписан состав команд, входящих в группы команд блока управления и вычислительного блока соответственно, в табл. 6 приведена расшифровка адресации. In the table. 1 shows information on the mutual connections of the processor elements of the computing unit, in table. 2 shows the program-accessible blocks and nodes of the NBMPE system, in table. Figure 3 shows the list of conventions used in the description of the teams in table. 4 and 5, the composition of the commands included in the groups of commands of the control unit and the computing unit, respectively, is shown in Table. 6 shows the address decoding.

Система НБМПЭ (фиг. 1) включает базовый компьютер 1, выполненный в виде, например, компьютера IBM PC (386 серии) и предназначенный для введения информационных потоков, их диспетчеризации и вывода обработанной информации, и блоки 2-4 памяти, выполненные в виде оперативных запоминающих устройств (ОЗУ) и предназначенные соответственно: блок 2 - для хранения программ, блоки 3 и 4 - для хранения данных. The NBMPE system (Fig. 1) includes a base computer 1, made in the form, for example, of an IBM PC computer (386 series) and designed to enter information flows, dispatch them and output processed information, and memory blocks 2-4, made in the form of operational memory devices (RAM) and designed accordingly: block 2 - for storing programs, blocks 3 and 4 - for storing data.

При этом блок 2 выполнен на микросхеме IDT7026S двухпортовой памяти, а блоки 3 и 4 выполнены на микросхеме MT5LC512K8D4. In this case, block 2 is made on a dual-port memory chip IDT7026S, and blocks 3 and 4 are made on an MT5LC512K8D4 chip.

Система НБМПЭ содержит также коммутатор 5, предназначенный для одновременного и независимого подключения соответственно информационных и адресных входов блоков, блок 6 управления, предназначенный для формирования команд управления и обеспечения обмена управляющими кодами прерывания с базовым компьютером 1, контроллер 7 ввода-вывода, предназначенный для формирования сигналов управления, вычислительный блок 8, выполненный в виде двухмерного массива процессорных элементов (ПЭ), реализующего SIMD - архитектуру, и предназначенный для арифметико-логической обработки, обмена и передачи информации, буферный блок 9, предназначенный для реализации процедуры обмена данными между вычислительным блоком 8 и блоками системы, а также блок 10 задания и контроля тактовой частоты, предназначенный для выработки единой рабочей тактовой частоты и контроля выходных частот элементов вычислительного блока 8. The NBMPE system also contains a switch 5, designed for simultaneous and independent connection of information and address inputs of blocks, a control unit 6, designed to generate control commands and provide the exchange of control interrupt codes with the host computer 1, an input / output controller 7, designed to generate signals control, computing unit 8, made in the form of a two-dimensional array of processor elements (PE) that implements SIMD - architecture, and intended for arithmetic ICo-logical processing, exchange and transmission of information, a buffer unit 9, designed to implement the data exchange procedure between the computing unit 8 and the system units, as well as a task and control unit 10 of the clock frequency, designed to generate a single working clock frequency and control the output frequencies of the elements computing unit 8.

Первые и вторые группы управляющих выходов коммутатора 5 соединены шинами 11 и 12 с первыми группами управляющих входов соответственно блоков 3 и 4 памяти, а первые и вторые группы информационных входов-выходов коммутатора 5 подключены шинами 13 и 14 к группам информационных входов-выходов соответственно блоков 3 и 4 памяти. The first and second groups of control outputs of the switch 5 are connected by buses 11 and 12 with the first groups of control inputs of the memory blocks 3 and 4, respectively, and the first and second groups of information inputs and outputs of the switch 5 are connected by buses 13 and 14 to the groups of information inputs and outputs of the blocks 3 and 4 memories.

Группа управляющих входов-выходов базового компьютера 1 шиной 15 соединена с первыми группами управляющих входов соответственно блока 7 управления и блока 2 памяти, группа информационных входов-выходов базового компьютера 1 подключена шиной 16 к группе информационных входов-выходов блока 2 памяти и третьей группе информационных входов- выходов коммутатора 5, а группа адресных выходов базового компьютера 1 шиной 17 соединена с первыми группами адресных входов соответственно блока 2 памяти и контроллера 7 ввода-вывода. The group of control inputs and outputs of the base computer 1 bus 15 is connected to the first groups of control inputs, respectively, of the control unit 7 and the memory unit 2, the group of information inputs and outputs of the base computer 1 is connected by bus 16 to the group of information inputs and outputs of the memory unit 2 and the third group of information inputs - outputs of the switch 5, and the group of address outputs of the base computer 1 bus 17 is connected to the first groups of address inputs, respectively, of the memory unit 2 and the controller 7 input-output.

Первые, вторые и третьи группы адресных выходов контроллера 7 ввода-вывода шинами 18-20 подключены к группам адресных входов соответственно буферного блока 9 и блоков 3 и 4 памяти. The first, second and third groups of address outputs of the I / O controller 7 are connected by buses 18-20 to the groups of address inputs of the buffer block 9 and memory blocks 3 and 4, respectively.

Первая группа управляющих выходов блока 6 управления шинами 21 и шинами адреса 22 подключена к вторым группам соответственно адресных и управляющих входов блока 2 памяти, группа информационных входов-выходов которого шиной 23 соединена с группами информационных входов соответственно блока 6 управления и контроллера 7 ввода-вывода. The first group of control outputs of the control unit 6 of the bus 21 and address buses 22 is connected to the second groups of address and control inputs of the memory unit 2, respectively, the group of information inputs / outputs of which bus 23 is connected to the groups of information inputs of the control unit 6 and the input-output controller 7, respectively.

Группа управляющих выходов контроллера 7 ввода-вывода шиной 24 подключена к первой группе управляющих входов коммутатора 5, вторая группа управляющих входов которого шиной 25 соединена с второй группой управляющих выходов блока 6 управления. The group of control outputs of the input-output controller 7 by bus 24 is connected to the first group of control inputs of the switch 5, the second group of control inputs of which bus 25 is connected to the second group of control outputs of the control unit 6.

Группа управляющих входов-выходов блока 6 управления шиной 26 подключена к группе управляющих входов-выходов контроллера 7 ввода- вывода, а группа управляющих выходов блока 6 управления шиной 27 соединена с группой управляющих входов буферного блока 9, группа информационных входов-выходов которого шиной 28 соединена с четвертой группой информационных входов-выходов коммутатора 5. The group of control inputs and outputs of the bus control unit 6 is connected to the group of control inputs and outputs of the I / O controller 7, and the group of control outputs of the bus control unit 6 is connected to the group of control inputs of the buffer unit 9, the information input-output group of which is connected by bus 28 with the fourth group of information inputs / outputs of the switch 5.

Группы информационных, адресных и управляющих выходов буферного блока 9 через шины 29 и 30, 31 подключены соответственно к группам информационных, адресных и управляющих входов вычислительного блока 8, группа информационных выходов которого шиной 32 соединена с второй группой информационных входов буферного блока 9. Groups of information, address and control outputs of the buffer unit 9 via buses 29 and 30, 31 are connected respectively to groups of information, address and control inputs of the computing unit 8, the group of information outputs of which is connected by bus 32 to the second group of information inputs of the buffer unit 9.

Группа выходов блока 10 задания и контроля тактовой частоты шиной 33 соединена с группами тактовых входов контроллера 7 ввода-вывода, блока 6 управления и вычислительного блока 8. группа выходов которого шиной 34 соединена с группой входов блока 10 задания и контроля тактовой частоты, группой выходов соединенного шиной 35 с группой управляющих входов блока 6 управления, информационным входом подключенного к соответствующему выходу вычислительного блока 8. при этом базовый компьютер 1 выходом подключен к управляющему входу блока 10 задания и контроля тактовой частоты. The group of outputs of the clock setting and control unit 10 of the bus 33 is connected to the group of clock inputs of the input / output controller 7, the control unit 6 and the computing unit 8. The group of outputs of which bus 34 is connected to the group of inputs of the clock setting and control unit 10, a group of outputs connected a bus 35 with a group of control inputs of the control unit 6, an information input connected to the corresponding output of the computing unit 8. while the base computer 1 is connected to the control input of the task unit 10 and Rola clock.

Коммутатор 5 (фиг. 2) содержит блок 36 управления, блок 37 коммутации данных, включающий восемь параллельно соединенных ячеек коммутации 38 и блок 39 коммутации адреса. The switch 5 (Fig. 2) contains a control unit 36, a data switching unit 37, including eight parallel-connected switching cells 38 and an address switching unit 39.

Блок 36 управления группой входов подключен к группе управляющих выходов коммутатора 5, подключенных к шине 25, группой входов соединен с группой входов блока 37 коммутатора данных и одновременно подключен к управляющему входу блока 39 коммутации адреса. Первая, вторая, третья и четвертая группы входов-выходов блока 37 коммутации соединены с группами входов-выходов коммутатора 5, подключенных соответственно к шинам 13, 14, 16 и 28, первая и вторая группы входов блока 39 коммутации адреса соединены соответственно с группами входов коммутатора 5, подключенных к шинам 24 и 25, а первая и вторая группы выходов блока 39 коммутации адреса соединены с группами выходов коммутатора 5, подключенных соответственно к шинам 11 и 12. Ячейки 38 коммутации блока 37 коммутации данных своим первым входом-выходом подключены к первой группе входов-выходов блока 37 коммутации данных, своим вторым входом-выходом соединены с второй группой входов-выходов блока 37 коммутации данных, своим третьим входом-выходом подключены к третьей группе входов-выходов блока 37 коммутации данных, своим четвертым входом-выходом соединены с четвертой группой входов-выходов подключенных к группе входов блока 37 коммутации данных, а группой входов соединены с группой управляющих входов блока 37 коммутации данных. The control unit 36 of the group of inputs is connected to the group of control outputs of the switch 5 connected to the bus 25, the group of inputs is connected to the group of inputs of the block 37 of the data switch and is simultaneously connected to the control input of the block 39 of the address switching. The first, second, third and fourth input / output groups of the switching unit 37 are connected to the input / output groups of the switch 5 connected to the buses 13, 14, 16 and 28, respectively, the first and second input group of the address switching unit 39 are connected respectively to the groups of input of the switch 5 connected to the buses 24 and 25, and the first and second groups of outputs of the address switching unit 39 are connected to the output groups of the switch 5 connected to the buses 11 and 12 respectively. The switching cells 38 of the data switching unit 37 are connected with their first input-output to the first group of inputs and outputs of the data switching unit 37, are connected with their second input-output to the second group of inputs and outputs of the data switching unit 37, are connected to the third group of inputs and outputs of the data switching unit 37, and their fourth input-output connected to the fourth group of inputs / outputs connected to the group of inputs of the data switching unit 37, and the group of inputs connected to the group of control inputs of the data switching unit 37.

Блок 36 управления содержит (фиг. 3) два мультиплексора 40 (40.1-40.2), три инвертора 41 (41.1-41.3), четыре элемента И 42 (42.1-42.4) и два элемента ИЛИ 43 (43.1-43.2). Мультиплексоры 40 первым и вторым входами соединены с соответствующими входами группы входов блока 36 управления, подключенными к входам коммутатора 5, соединенным с шиной 25. Третьи входы мультиплексоров 40 подключены к выходу первого инвертора 41.1, входом соединенного с третьим входом группы входов блока 36 управления. Этот вход подключен также к первым входам входящих в блок 36 управления параллельно включенных элементов И 42. Вторые входы элементов И 42.1 и 42.3 соединены с вторым входом группы входов блока 36 управления, а вторые входы элементов И 42.2 и 42.4 подключены к первому входу группы входов блока 36 управления. Выходы первого и второго элементов И 42 (42.1 и 42.2) соединены соответственно с первым и вторым входами элемента ИЛИ 43.1, а выходы третьего и четвертого элементов И 42 (42.3 и 42.4) подключены соответственно к первому и второму входам элемента ИЛИ 43.2. The control unit 36 contains (Fig. 3) two multiplexers 40 (40.1-40.2), three inverters 41 (41.1-41.3), four elements AND 42 (42.1-42.4) and two elements OR 43 (43.1-43.2). The multiplexers 40 of the first and second inputs are connected to the corresponding inputs of the group of inputs of the control unit 36 connected to the inputs of the switch 5 connected to the bus 25. The third inputs of the multiplexers 40 are connected to the output of the first inverter 41.1, the input connected to the third input of the group of inputs of the control unit 36. This input is also connected to the first inputs of the parallel-connected elements And 42 included in the control unit 36. The second inputs of the And 42.1 and 42.3 elements are connected to the second input of the group of inputs of the control unit 36, and the second inputs of the And 42.2 and 42.4 elements are connected to the first input of the block input group 36 controls. The outputs of the first and second elements AND 42 (42.1 and 42.2) are connected respectively to the first and second inputs of the OR element 43.1, and the outputs of the third and fourth elements AND 42 (42.3 and 42.4) are connected respectively to the first and second inputs of the element OR 43.2.

Выходы первого и второго элементов ИЛИ 43, а также первого, второго и третьего инверторов 41 соединены соответственно с первым, вторым, третьим, четвертым и пятым выходами блока 36 управления, причем входы второго и третьего инверторов 41 (41.2 и 41.3) подключены соответственно к первому и второму входам группы входов блока 36 управления, а выходы первого и второго мультиплексоров 40 соединены соответственно с выходами блока 36 управления, подключенными к группам выходов коммутатора 5. соединенных с шинами 11 и 12. The outputs of the first and second elements OR 43, as well as the first, second and third inverters 41 are connected respectively to the first, second, third, fourth and fifth outputs of the control unit 36, and the inputs of the second and third inverters 41 (41.2 and 41.3) are connected respectively to the first and the second inputs of the input group of the control unit 36, and the outputs of the first and second multiplexers 40 are connected respectively to the outputs of the control unit 36 connected to the output groups of the switch 5. connected to the buses 11 and 12.

Каждая i (в приведенной схеме i=1,...,8) ячейка 38 коммутации (фиг. 4) содержит четыре мультиплексора 44 (44.1.i-44.4.i), четыре трехстатических буферных элемента 45 (45.1.i-45.4.i) и четыре буферных элемента 46 (46.1. i-46.4. i). Здесь (фиг. 4) схема ячейки 38.i коммутации показана для ячейки 38.1 коммутации (для i=1). Первый и третий мультиплексоры 44.1 и 44.3 своими первым и вторым адресными входами соединены с выходами первого и третьего буферных элементов (46.1 и 46.3), а второй и четвертый мультиплексоры (42.2 и 44.4) - с выходами второго и четвертого буферных элементов (46.2 и 46.4) соответственно. Третий управляющий вход мультиплексоров 44 подключен к входу управления ячейки 38 коммутации (на схеме U5). Each i (in the given scheme i = 1, ..., 8), the switching cell 38 (Fig. 4) contains four multiplexers 44 (44.1.i-44.4.i), four three-static buffer elements 45 (45.1.i-45.4. i) and four buffer elements 46 (46.1. i-46.4. i). Here (Fig. 4), the circuit of the switching cell 38.i is shown for the switching cell 38.1 (for i = 1). The first and third multiplexers 44.1 and 44.3 are connected by their first and second address inputs to the outputs of the first and third buffer elements (46.1 and 46.3), and the second and fourth multiplexers (42.2 and 44.4) are connected to the outputs of the second and fourth buffer elements (46.2 and 46.4) respectively. The third control input of the multiplexers 44 is connected to the control input of the switching cell 38 (in the U5 circuit).

Выходы первого, второго, третьего и четвертого мультиплексоров 44 соединены с первым входом соответствующего трехстатического буферного элемента (ТБЭ) 45, вторым входом подключенных соответственно первого ТБЭ (45.1) к первому входу группы входов, второго ТБЭ (45.2) к третьему входу группы входов, третьего ТБЭ (45.3) к второму входу группы входов, а четвертого ТБЭ (45.4) к четвертому входу группы входов ячейки 38 коммутации. Выходы ТБЭ 45 соединены с входами-выходами соответственно первого - первой группы, второго - четвертой группы, третьего - второй группы, четвертого - третьей группы входов-выходов ячейки 38 коммутации. Входы буферных элементов 46 подключены к входам-выходам соответственно первого (46.1) - четвертой группы, второго (46.2) - первой группы, третьего (46.3) - третьей группы и четвертого (46.4) - второй группы входов-выходов ячейки 38 коммутации. При этом элементы первой ячейки (38.1) коммутации соединены с первыми входами-выходами соответствующих групп входов-выходов, второй ячейки (38.2) коммутации подключены к вторым входам-выходам групп входов-выходов и т.д. The outputs of the first, second, third and fourth multiplexers 44 are connected to the first input of the corresponding tristatic buffer element (TBE) 45, the second input connected respectively of the first TBE (45.1) to the first input of the group of inputs, the second TBE (45.2) to the third input of the group of inputs, third TBE (45.3) to the second input of the group of inputs, and the fourth TBE (45.4) to the fourth input of the group of inputs of the cell 38 switching. The outputs of the TBE 45 are connected to the inputs and outputs of the first - first group, second - fourth group, third - second group, fourth - third group of inputs and outputs of the switching cell 38. The inputs of the buffer elements 46 are connected to the inputs and outputs of the first (46.1) - fourth group, the second (46.2) - the first group, the third (46.3) - the third group and the fourth (46.4) - the second group of inputs and outputs of the switching cell 38. In this case, the elements of the first switching cell (38.1) are connected to the first input-outputs of the corresponding input-output groups, the second switching cell (38.2) is connected to the second input-output of the input-output groups, etc.

Блок 39 коммутации адреса (фиг. 5) содержит два дешифратора/демультиплексора 47 (47.1 и 47.2), шестнадцать мультиплексоров 48 (48.1-48.16) и восемнадцать инверторов 49 (49.1-49.18), при этом входы первого и второго инверторов (49.1 и 49.2) соединены с первой группой входов блока 39 коммутации адреса (шина 24), выходы первых восьми мультиплексоров (48.1-48.8) соединены с первой группой выходов (шина 11), а вторых восьми мультиплексоров (48.9-48.16) - со второй группой выходов блока 39 коммутации адреса (шина 12). Управляющие входы дешифраторов/демультиплексоров 47.1 и 47.2 подключены к выходам соответственно инверторов 49.1 и 49.2. The address switching unit 39 (Fig. 5) contains two decoders / demultiplexers 47 (47.1 and 47.2), sixteen multiplexers 48 (48.1-48.16) and eighteen inverters 49 (49.1-49.18), while the inputs of the first and second inverters (49.1 and 49.2) ) are connected to the first group of inputs of the address switching unit 39 (bus 24), the outputs of the first eight multiplexers (48.1-48.8) are connected to the first group of outputs (bus 11), and the second eight multiplexers (48.9-48.16) to the second group of outputs of the block 39 switching addresses (bus 12). The control inputs of the decoders / demultiplexers 47.1 and 47.2 are connected to the outputs of the inverters 49.1 and 49.2, respectively.

Выходы первого дешифратора/демультиплексора 47.1 соединены с входами соответственно с третьего по десятый инверторов (49.3-49.10), а выходы второго дешифратора/демультиплексора 47.2 подключены к входам соответственно с одиннадцатого по восемнадцатый инверторов (49.11-49.18). The outputs of the first decoder / demultiplexer 47.1 are connected to the inputs from the third to tenth inverters (49.3-49.10), and the outputs of the second decoder / demultiplexer 47.2 are connected to the inputs from the eleventh to eighteenth inverters (49.11-49.18), respectively.

Выходы третьего и одиннадцатого, четвертого и двенадцатого, пятого и тринадцатого, шестого и четырнадцатого, седьмого и пятнадцатого, восьмого и шестнадцатого, девятого и семнадцатого, десятого и восемнадцатого инверторов (49.3-49.18) соединены соответственно с первым и вторым входами соответственно с первого по шестнадцатый мультиплексоры (48.1-48.16), третьи управляющие входы которых подключены к управляющему входу блока 39 коммутации адреса. The outputs of the third and eleventh, fourth and twelfth, fifth and thirteenth, sixth and fourteenth, seventh and fifteenth, eighth and sixteenth, ninth and seventeenth, tenth and eighteenth inverters (49.3-49.18) are connected respectively to the first and second inputs, respectively, from the first to sixteenth multiplexers (48.1-48.16), the third control inputs of which are connected to the control input of the address switching unit 39.

Мультиплексоры 40 и 44, инверторы 41 и 49 элементы И 42, элементы ИЛИ 43, трехстатические элементы 45, буферные элементы 46 и дешифраторы/демультиплексоры 47 соответствуют своему функциональному назначению (Титце У. и др. Полупроводниковая схемотехника. - М.: Мир, 1982, с. 33, 326, 328, 366) и выполнены на программируемых БИС, изготовленных по технологии КМОП, серии XC 4010-6PQ160C (Каталог фирмы XILINX, The Programmble Logic Data Book, 1994, USA). Multiplexers 40 and 44, inverters 41 and 49 elements AND 42, elements OR 43, tristatic elements 45, buffer elements 46 and decoders / demultiplexers 47 correspond to their functional purpose (Titz U. et al. Semiconductor circuitry. - M .: Mir, 1982 , pp. 33, 326, 328, 366) and performed on programmable LSIs manufactured using CMOS technology, XC 4010-6PQ160C series (XILINX catalog, The Programmble Logic Data Book, 1994, USA).

Блок 6 управления (фиг. 6) содержит порт 50 ввода-вывода, три счетчика 51 (51.1-51.3), аккумулятор 52, указатель 53 стека, два регистра 54 флагов (54.1-54.2), три схемы 55 прерывания (55.1-55.3), постоянное запоминающее устройство 56 (ПЗУ), два регистра 57 (57.1-57.2), дешифратор 58, три триггера 59 (59.1-59.3) и мультиплексор 60. The control unit 6 (Fig. 6) contains an input / output port 50, three counters 51 (51.1-51.3), a battery 52, a stack pointer 53, two register 54 flags (54.1-54.2), three interrupt circuits 55 (55.1-55.3) , read-only memory 56 (ROM), two registers 57 (57.1-57.2), a decoder 58, three flip-flops 59 (59.1-59.3) and a multiplexer 60.

Порт 50 ввода-вывода первой группой входов подключен к группе входов блока 6 управления, соединенной с шиной 23, второй группой входов подключен к группе выходов мультиплексора 60, третьей группой входов соединен с группой выходов счетчика 51.1. подключенной также к первой группе входов мультиплексора 60 и к группе выходов блока 6 управления, соединенной с шиной 33, а группой выходов подключен к первым группам входов счетчиков 51, аккумулятора 52, указателя 53 стека, регистров 54 флагов, регистра 57.2, дешифратора 58 и к группе входов схемы 55.3 прерывания. The input / output port 50 by the first group of inputs is connected to the group of inputs of the control unit 6 connected to the bus 23, the second group of inputs is connected to the group of outputs of the multiplexer 60, the third group of inputs is connected to the group of outputs of the counter 51.1. also connected to the first group of inputs of the multiplexer 60 and to the group of outputs of the control unit 6 connected to the bus 33, and the group of outputs is connected to the first groups of inputs of the counters 51, battery 52, stack pointer 53, flag registers 54, register 57.2, decoder 58, and the group of inputs of the 55.3 interrupt circuit.

Счетчик 51.1 второй группой входов соединен с группой выходов схемы 55.1 прерывания, третьей группой входов подключен к первой группе выходов указателя 53 стека, соединенной также с второй группой входов мультиплексора 60, четвертой группой входов подключен к первой группе выходов счетчика 51.3, а пятой группой входов соединен с первой группой выходов регистра 57.1, подключенной также к вторым группам входов счетчика 51.2, аккумулятора 52, указателя 53 стека, регистров 54 флагов и регистра 57.2 и к первым группам входов схемы 55.1 прерывания и триггеров 59. The counter 51.1 by the second group of inputs is connected to the output group of the interrupt circuit 55.1, the third group of inputs is connected to the first group of outputs of the stack pointer 53, also connected to the second group of inputs of the multiplexer 60, the fourth group of inputs is connected to the first group of outputs of the counter 51.3, and the fifth group of inputs is connected with the first group of outputs of the register 57.1, also connected to the second groups of inputs of the counter 51.2, accumulator 52, pointer 53 of the stack, registers 54 of flags and register 57.2 and to the first groups of inputs of the circuit 55.1 interrupt and triggers 59.

Первым входом счетчик 51.1 соединен с выходом триггера 59.3, а вторым входом подключен к второму входу группы входов блока 6 управления, соединенной с шиной 33. The first input counter 51.1 is connected to the output of the trigger 59.3, and the second input is connected to the second input of the group of inputs of the control unit 6 connected to the bus 33.

Счетчик 51.3 второй группой входов подключен к группе выходов дешифратора 58, второй группой входов соединенного с первой группой выходов счетчика 51.3, второй группой выходов подключенного к группе входов ПЗУ 56, а входом соединенного с четвертым входом группы входов блока 6 управления, подключенной к шине 33. The counter 51.3 by the second group of inputs is connected to the group of outputs of the decoder 58, the second group of inputs connected to the first group of outputs of the counter 51.3, the second group of outputs connected to the group of inputs of the ROM 56, and the input connected to the fourth input of the group of inputs of the control unit 6 connected to the bus 33.

Аккумулятор 52 группой выходов соединен с третьей группой входов мультиплексора 60, а входом подключен к Пятому входу группы входов блока 6 управления, соединенной с шиной 33. The battery 52 by the group of outputs is connected to the third group of inputs of the multiplexer 60, and the input is connected to the Fifth input of the group of inputs of the control unit 6 connected to the bus 33.

Указатель 53 стека второй группой выходов подключен к третьей группе входов регистра 54.2 флагов, а входом соединен с шестым входом группы входов блока 6 управления, подключенной к шине 33. The stack pointer 53 of the second group of outputs is connected to the third group of inputs of the register 54.2 flags, and the input is connected to the sixth input of the group of inputs of the control unit 6 connected to the bus 33.

Группа выходов регистра 54.1 флагов соединена с четвертой группой входов мультиплексора 60, а также с группой выходов блока 6 управления, подключенной к шине 25, а вход этого регистра соединен с седьмым входом группы входов блока 6 управления, подключенной к шине 33. The group of outputs of the register 54.1 flags is connected to the fourth group of inputs of the multiplexer 60, as well as to the group of outputs of the control unit 6 connected to the bus 25, and the input of this register is connected to the seventh input of the group of inputs of the control unit 6 connected to the bus 33.

Регистр 54.2 группой выходов соединен с второй группой входов схемы 55.1 прерывания, четвертой и пятой группами входов подключен к группам входов блока 6 управления, соединенных соответственно с шинами 15 и 35, шестой группой входов подключен к группе выходов схемы 55.2 прерывания, а входом подключен к восьмому входу группы входов блока 6 управления, соединен с шиной 33. Register 54.2 by the group of outputs is connected to the second group of inputs of the interrupt circuit 55.1, the fourth and fifth groups of inputs are connected to the groups of inputs of the control unit 6 connected to buses 15 and 35, the sixth group of inputs is connected to the group of outputs of the 55.2 interrupt circuit, and the input is connected to the eighth the input of the group of inputs of the control unit 6 is connected to the bus 33.

Схема 55.1 прерывания четвертой группой входов подключена к группе выходов регистра 57,2, группа входов схемы 55.2 прерывания и группа выходов схемы 55.3 прерывания соединены соответственно с группой входов и группой входов-выходов блока управления, подключенных к шинам 15 и 26 соответственно. Interrupt circuit 55.1 by the fourth group of inputs is connected to the group of outputs of the register 57.2, the group of inputs of the circuit 55.2 interrupt and the group of outputs of the circuit 55.3 interrupt are connected respectively to the group of inputs and the group of inputs and outputs of the control unit connected to buses 15 and 26, respectively.

Входы схем 55.1-55.3 прерывания соединены соответственно с 9, 10 и 11 входами группы входов блока 6 управления, подключенной к шине 33. The inputs of the interrupt circuits 55.1-55.3 are connected respectively to the 9, 10, and 11 inputs of the input group of the control unit 6 connected to the bus 33.

Группа выходов ПЗУ 56 соединена с первой группой входов регистра 57.1, второй группой входов и второй и третьей группами выходов подключенного соответственно к группе входов и группам выходов блока 6 управления, соединенных с шинами 26, 21 и 27 соответственно. The group of outputs of the ROM 56 is connected to the first group of inputs of the register 57.1, the second group of inputs and the second and third groups of outputs connected respectively to the group of inputs and output groups of the control unit 6 connected to buses 26, 21 and 27, respectively.

Входы регистров 57.1 и 57.2 подключены соответственно к 12 и 13 входам группы входов блока управления, соединенной с шиной 33. The inputs of the registers 57.1 and 57.2 are connected respectively to 12 and 13 inputs of the group of inputs of the control unit connected to the bus 33.

Входы и выходы триггеров 59.1 и 59.2 подключены к входам и выходам соответственно групп входа и групп выхода блока 6 управления, соединенных с шинами 26 и 27 соответственно, а вход триггера 59.3 подключен к входу блока управления, соединенному с выходом вычислительного блока 8. The inputs and outputs of the triggers 59.1 and 59.2 are connected to the inputs and outputs of the input and output groups of the control unit 6, connected to the buses 26 and 27, respectively, and the input of the trigger 59.3 is connected to the input of the control unit connected to the output of the computing unit 8.

Порт 50 ввода-вывода, счетчики 51, аккумулятор 52, указатель 53 стека, регистры 54 флагов, схемы 55 прерывания, ПЗУ 56, регистры 57, дешифратор 58, триггеры 59 и мультиплексор 60 соответствуют своему функциональному назначению (Титце У. и др. Полупроводниковая схемотехника, с. 121, 326, 353, а также Справочник Микропроцессорные структуры. - М.: Радио и связь, 1990, с. 44, 184, 187, 433-435) и выполнены на программируемых БИС, изготовленных по технологии КМОП, серии XC 4010 - GPQ 160C (Каталог фирмы XILINX). I / O port 50, counters 51, battery 52, stack pointer 53, flag registers 54, interrupt circuits 55, ROM 56, registers 57, descrambler 58, flip-flops 59, and multiplexer 60 correspond to their functional purpose (Titz U. et al. Semiconductor circuitry, pp. 121, 326, 353, as well as the Handbook of Microprocessor Structures. - M .: Radio and Communications, 1990, p. 44, 184, 187, 433-435) and are made on programmable LSIs manufactured using CMOS technology, series XC 4010 - GPQ 160C (XILINX catalog).

Контроллер 7 ввода-вывода (фиг. 7) содержит семь регистров 61 (61.1-61.7), три счетчика 62 (62.1-62.3), постоянное запоминающее устройство (ПЗУ) 63, два мультиплексора 64 (64.1-64.2), два элемента ИЛИ 65 (65.1-65.2), дешифратор 66 и триггер 67. The input-output controller 7 (Fig. 7) contains seven registers 61 (61.1-61.7), three counters 62 (62.1-62.3), read-only memory (ROM) 63, two multiplexers 64 (64.1-64.2), two OR elements 65 (65.1-65.2), decoder 66 and trigger 67.

Регистр 61 первой группой управляющих входов подключен к группе входов контроллера 7 ввода-вывода, соединенной с шиной 23, второй группой управляющих входов подключен к группе входов-выходов контроллера 7 ввода-вывода, соединенной с шиной 26, а группой выходов подключен к шине 68, с которой первыми группами входов соединены регистры 61.2, 61.3 и 61.4, счетчик 62.2 и мультиплексор 64.2. The register 61 of the first group of control inputs is connected to the group of inputs of the controller 7 input-output connected to the bus 23, the second group of control inputs is connected to the group of inputs and outputs of the controller 7 input-output connected to the bus 26, and the group of outputs is connected to the bus 68, with which the first groups of inputs are connected registers 61.2, 61.3 and 61.4, a counter 62.2 and a multiplexer 64.2.

Регистр 61.2 второй группой входов подключен к группе входов контроллера 7 ввода-вывода, соединенной с шиной 17, а группой выходов подключен к группе входов мультиплексора 64.1, первой и второй группами выходов соединенного с группами выходов контроллера 7 ввода- вывода, подключенными к шинам 19 и 20 соответственно. The register 61.2 by the second group of inputs is connected to the group of inputs of the input / output controller 7 connected to the bus 17, and the group of outputs is connected to the group of inputs of the multiplexer 64.1, the first and second groups of outputs connected to the output groups of the input / output controller 7 connected to the buses 19 and 20 respectively.

Регистр 61.3 второй группой входов соединен с группой входов контроллера 7 ввода-вывода, подключенного к шине 26, а группой выходов соединен с первой группой входов счетчика 62.1, выходами подключенного к соответствующим входам элемента ИЛИ 65.1, а второй группой входов соединенного с шиной 69, к которой первой группой выходов подключен дешифратор 66, а вторыми группами входов - регистры 61.2, 61.4, 61.6 и 61.7, счетчики 62.1, 62.2 и 62.3 и мультиплексор 64.2. Входы регистров 61.1, 61.3, 61.4, 61.5, 61.6, 61.7 и счетчиков 62.2, 62.3 соединены соответственно с 1 по 8 входами группы входов контроллера 7 ввода-вывода, подключенной к шине 33. The register 61.3 by the second group of inputs is connected to the group of inputs of the I / O controller 7 connected to the bus 26, and the group of outputs is connected to the first group of inputs of the counter 62.1, the outputs connected to the corresponding inputs of the OR element 65.1, and the second group of inputs connected to the bus 69, to which the first group of outputs connected to the decoder 66, and the second group of inputs - registers 61.2, 61.4, 61.6 and 61.7, counters 62.1, 62.2 and 62.3 and the multiplexer 64.2. The inputs of the registers 61.1, 61.3, 61.4, 61.5, 61.6, 61.7 and counters 62.2, 62.3 are connected respectively with 1 to 8 inputs of the group of inputs of the controller 7 input-output connected to the bus 33.

Регистры 61.4 и 61.5 группами выходов соединены с группой выходов контроллера 7 ввода-вывода, подключенной к шине 18, при этом регистр 61.5 второй группой выходов соединен с группой выходов контроллера 7 ввода-вывода, подключенной к шине 24. Registers 61.4 and 61.5 by groups of outputs are connected to the group of outputs of the I / O controller 7 connected to the bus 18, while the register 61.5 by the second group of outputs is connected to the group of outputs of the I / O controller 7 connected to the bus 24.

Регистры 61.6 и 61.7 вторыми группами входов соединены с группой выходов счетчика 62.3, подключенной также к группе входов ПЗУ 63, группой выходов соединенного с первой группой входов регистра 61.5, второй группой входов подключенного к выходам триггера 67, группой входов соединенного с группой входов контроллера 7 ввода-вывода, подключенной к шине 26. Registers 61.6 and 61.7 are connected by the second groups of inputs to the group of outputs of the counter 62.3, also connected to the group of inputs of the ROM 63, the group of outputs connected to the first group of inputs of the register 61.5, the second group of inputs connected to the outputs of the trigger 67, the group of inputs connected to the group of inputs of the input controller 7 output connected to bus 26.

Группа выходов регистра 61.5 соединена с первой группой входов дешифратора 66, второй группой выходов подключенного к группе выходов контроллера ввода-вывода, соединенной с шиной 26. The group of outputs of the register 61.5 is connected to the first group of inputs of the decoder 66, the second group of outputs connected to the group of outputs of the input-output controller connected to the bus 26.

Группы выходов регистров 61.6 и 61.7 подключены соответственно к третьей и четвертой группам входов мультиплексора 64.2, группой выходов соединенного с второй группой входов счетчика 62.3. The groups of outputs of the registers 61.6 and 61.7 are connected respectively to the third and fourth groups of inputs of the multiplexer 64.2, the group of outputs connected to the second group of inputs of the counter 62.3.

Счетчик 62.2 выходами подключен к соответствующим входам элемента ИЛИ 65.2, а счетчик 62.3 второй группой входов соединен с группой выходов мультиплексора 64.2. The counter 62.2 outputs connected to the corresponding inputs of the element OR 65.2, and the counter 62.3 a second group of inputs connected to the group of outputs of the multiplexer 64.2.

Выходы элементов ИЛИ 65.1 и 65.2 соединены с соответствующими входами дешифратора 66. The outputs of the elements OR 65.1 and 65.2 are connected to the corresponding inputs of the decoder 66.

Регистры 61, счетчики 62, ПЗУ 63, мультиплексоры 64, блоки ИЛИ 65, дешифратор 66 и триггер 67 соответствуют своему функциональному назначению (Титце У. и др. Полупроводниковая схемотехника, с. 121, 353, 370, 377, 403) и выполнены на программируемых БИС, 160С (Каталог фирмы XILINX). Registers 61, counters 62, ROM 63, multiplexers 64, OR blocks 65, decoder 66 and trigger 67 correspond to their functional purpose (U. Titz et al. Semiconductor circuitry, p. 121, 353, 370, 377, 403) and are made programmable BIS, 160C (XILINX catalog).

Вычислительный блок 8 (фиг. 8) содержит матрицу (n x m) процессорных элементов (ПЭ) 70, в которой группы информационных выходов каждого процессорного элемента 70j,i (i=1,..., n; j=1,..., m) соединены с соответствующими группами информационных входов каждого соседнего процессорного элемента 70j+1, i+1. Перечень этих соединений процессорных элементов 70 вычислительного блока 8 приведен в табл. 1. Computing unit 8 (Fig. 8) contains a matrix (nxm) of processor elements (PE) 70, in which groups of information outputs of each processor element 70j, i (i = 1, ..., n; j = 1, ..., m) are connected to the corresponding groups of information inputs of each neighboring processor element 70j + 1, i + 1. The list of these compounds of the processor elements 70 of the computing unit 8 is given in table. one.

При этом группы информационных, управляющих, адресных и тактовых входов каждого процессорного элемента 70 соответственно подключены к группам информационных, управляющих, адресных и тактовых входов вычислительного блока 8, соединенных соответственно с шинами 29, 30, 31 и 33, группы информационных выходов каждого процессорного элемента 70 подключены к группе информационных выходов вычислительного блока 8, соединенных с шиной 32, причем первый выход группы информационных выходов каждого процессорного элемента 70 подключен также к соответствующему входу элемента И 71, выход которого соединен с выходом вычислительного блока 8. The groups of information, control, address and clock inputs of each processor element 70 are respectively connected to the groups of information, control, address and clock inputs of the computing unit 8, connected respectively to buses 29, 30, 31 and 33, groups of information outputs of each processor element 70 connected to the group of information outputs of the computing unit 8 connected to the bus 32, and the first output of the group of information outputs of each processor element 70 is also connected to the corresponding th input AND gate 71 whose output is connected to an output computing unit 8.

Когда количество процессорных элементов 70 (и соответственно их выходов) таково, что подсоединение всех этих выходов к одному элементу И невозможно, составляют комбинацию (пирамиду) элементов И (не показано), в которой количество элементов И первого уровня выбирают с учетом возможности подключения каждого выхода процессорного элемента 70 к входу элементами, а затем выходы элементов И этого уровня соединяют соответственно с входами элементов И следующего уровня и т. д. вплоть до сведения всех видов к одному элементу И. Каждая первая линия шины (не показана), подключенная к группе тактовых входов каждого процессорного элемента 70, соединена одновременно с соответствующим выходом группы выходов вычислительного блока 8, подключенных к шине 34. When the number of processor elements 70 (and correspondingly their outputs) is such that it is not possible to connect all these outputs to one AND element, they make up a combination (pyramid) of AND elements (not shown), in which the number of AND elements of the first level is selected taking into account the possibility of connecting each output a processor element 70 to the input of the elements, and then the outputs of the AND elements of this level are connected respectively to the inputs of the AND elements of the next level, etc. up to the reduction of all types to one element I. Each first bus line s (not shown) connected to the group of clock inputs of each processor element 70 is connected simultaneously with the corresponding output of the group of outputs of the computing unit 8 connected to the bus 34.

Процессорный элемент 70 содержит пять мультиплексоров, четыре регистра, оперативное запоминающее и арифметико-логическое устройства. Схема выполнения такого процессорного элемента приведена, например, в патенте N 2089936 с приоритетом от 18.06.96 г. на изобретение "Процессорный элемент". The processor element 70 contains five multiplexers, four registers, random access memory and arithmetic-logical device. The execution scheme of such a processor element is shown, for example, in patent N 2089936 with a priority of 06/18/96 on the invention of the "processor element".

Буферный блок 9 (фиг. 10) содержит дешифратор 72, 2L регистров 73, где L равна отношению n/w, где n - число столбцов в матрице процессорных элементов (фиг. 8), а w - разрядность слов, передаваемых по шине 28. Внутренняя разрядность каждого из регистров 73.1-L группы также не более w - разрядов. The buffer unit 9 (Fig. 10) contains a decoder 72, 2L of registers 73, where L is the ratio n / w, where n is the number of columns in the matrix of processor elements (Fig. 8), and w is the bit depth of words transmitted via bus 28. The internal bit depth of each of the registers 73.1-L of the group is also no more than w-bits.

Группы входов дешифратора 72 и буферного элемента 75.1 подключены к группе входов буферного блока 9, соединенной с шиной 27. The input groups of the decoder 72 and the buffer element 75.1 are connected to the input group of the buffer unit 9 connected to the bus 27.

Первые L выходов (1-L) дешифратора 72 подключены соответственно к входам регистров 73.1-73. L, выходы которых соединены с группой выходов буферного блока 9, подключенной к шине 29, а вторые L выходов (L+1-2L) дешифратора 72 соединены соответственно с первыми входами трехстатических буферных элементов 74.1-74. L (выполненных на микросхемах КР1533АП14), первые группы входов которых подключены соответственно к группам выходов регистров 73.L+1 - 73.2L, группами входов соединенных с группой входов буферного блока 9, подключенной к шине 32. Вторые группы входов трехстатических буферных элементов 74.1-74.L и группа входов буферного элемента 75.2 соединены с группой входов буферного блока 9, подключенной к шине 18, при этом группа входов буферного элемента 75.2 соединена с группой входов буферного блока 9, подключенной к шине 30. The first L outputs (1-L) of the decoder 72 are connected respectively to the inputs of the registers 73.1-73. L, the outputs of which are connected to the group of outputs of the buffer unit 9 connected to the bus 29, and the second L outputs (L + 1-2L) of the decoder 72 are connected respectively to the first inputs of the three-static buffer elements 74.1-74. L (executed on KR1533AP14 chips), the first input groups of which are connected respectively to the output groups of the registers 73.L + 1 - 73.2L, the input groups connected to the input group of the buffer unit 9, connected to the bus 32. The second input groups of the three-static buffer elements 74.1- 74.L and the group of inputs of the buffer element 75.2 are connected to the group of inputs of the buffer unit 9 connected to the bus 18, while the group of inputs of the buffer element 75.2 is connected to the group of inputs of the buffer unit 9 connected to the bus 30.

Группы выходов трехстатических буферных элементов соединены с группой выходов буферного блока 9, подключенный к шине 28, при этом группа входов буферного блока 9, соединенная с шиной 28, подключена к группам входов регистров 73.1-73. L, группы выходов которых соединены с группой выходов буферного блока 9, подключенной к шине 29. The groups of outputs of the three-static buffer elements are connected to the group of outputs of the buffer unit 9 connected to the bus 28, while the group of inputs of the buffer unit 9 connected to the bus 28 is connected to the groups of inputs of the registers 73.1-73. L, the output groups of which are connected to the output group of the buffer unit 9 connected to the bus 29.

Группа входов дешифратора 72 и группа входов буферного элемента 75.1 соединены с группой входов буферного блока 9, подключенной к шине 27, причем группа выходов буферного элемента 75.1 соединена с группой входов буферного блока 9. подключенного к шине 31. The group of inputs of the decoder 72 and the group of inputs of the buffer element 75.1 are connected to the group of inputs of the buffer block 9 connected to the bus 27, and the group of outputs of the buffer element 75.1 is connected to the group of inputs of the buffer block 9. connected to the bus 31.

Дешифратор 72, регистры 73, трехстатические буферные элементы 74 и буферные элементы 75 соответствуют своему функциональному назначению (Титце У. и др. Полупроводниковая схемотехника, с. 319, 370, 403) и выполнены на программируемых БИС, изготовленных по технологии КМОП, серии XC4010-GPQ160C (Каталог фирмы XILINX). Decoder 72, registers 73, tristatic buffer elements 74, and buffer elements 75 correspond to their functional purpose (Titz U. et al. Semiconductor circuitry, p. 319, 370, 403) and are made on programmable LSIs manufactured using CMOS technology, XC4010- series GPQ160C (XILINX catalog).

Блок 10 задания и контроля тактовой частоты (фиг. 11) содержит задающий генератор (осциллятор) 76, триггер 77, два инвертора 78, два трехстабильных буферных блока 79, элемент ИЛИ 80 и N-контроллеров 81 частоты (N=n x m и соответствует числу процессорных элементов 70 вычислительного блока 8). The clock setting and control block 10 (Fig. 11) contains a master oscillator (oscillator) 76, a trigger 77, two inverters 78, two three-stable buffer blocks 79, an OR element 80 and N-frequency controllers 81 (N = nxm and corresponds to the number of processor elements 70 of the computing unit 8).

Группа выходов блока 10 задания и контроля тактовой частоты, соединенная с шиной 33, подключена к выходам трехстабильных буферных блоков 79, группа входов блока 10 задания и контроля тактовой частоты, соединенная с шиной 34, подключена к первому входу буферного блока 79.2 и к первым входам контроллера 81 частоты, выход блока 10 задания и контроля тактовой частоты соединен с выходом элемента ИЛИ 80, подключенного также к входу инвертора 78.2 и к второму входу трехстабильного буферного блока 79.2, а вход блока 10 соединен с вторыми входами контроллера 81 частоты. The group of outputs of the block 10 of the task and control clock frequency connected to the bus 33 is connected to the outputs of the three-stable buffer blocks 79, the group of inputs of the block 10 of the command and control clock frequency connected to the bus 34 is connected to the first input of the buffer block 79.2 and to the first inputs of the controller 81 frequencies, the output of the clock setting and control unit 10 is connected to the output of the OR element 80, which is also connected to the input of the inverter 78.2 and to the second input of the three-stable buffer block 79.2, and the input of block 10 is connected to the second inputs of the controller 81 hours Ota.

При этом выход задающего генератора 76 соединен с первым входом триггера 77 и третьими входами контроллеров 81 частоты, выход триггера 77 подключен к первому входу трехстабильного буферного блока 79.1, к четвертым входам контроллеров 8! частоты и через инвертор 78.1 на свой второй вход. The output of the master oscillator 76 is connected to the first input of the trigger 77 and the third inputs of the frequency controllers 81, the output of the trigger 77 is connected to the first input of the three-stable buffer block 79.1, to the fourth inputs of the controllers 8! frequency and through the inverter 78.1 to its second input.

Выходы контроллеров 81 частоты соединены с входами элемента ИЛИ 80, выход инвертора 78.2 подключен к второму входу трехстабильного буферного блока 79.1. The outputs of the frequency controllers 81 are connected to the inputs of the OR element 80, the output of the inverter 78.2 is connected to the second input of the three-stable buffer block 79.1.

Контроллер 81 частоты (фиг. 12) содержит три триггера 82, элемент НЕ-ИЛИ 83, элемент И-НЕ 84, два инвертора 85. элемент И 86 и элемент 87 задержки. The frequency controller 81 (Fig. 12) contains three flip-flops 82, an NOR element 83, an NAND element 84, two inverters 85. An AND element 86 and a delay element 87.

Первый вход контроллера 81 частоты подключен к входу инвертора 85.1 и второму входу триггера 82.2, второй вход контроллера 81 частоты соединен с первыми входами триггеров 82 (82.1-82.3), третий и четвертый входы контроллера 81 частоты подключены соответственно к второму и третьему входам триггера 82.1, а выход контроллера 81 соединен с выходом триггера 82.3 и входом элемента 87 задержки. The first input of the frequency controller 81 is connected to the input of the inverter 85.1 and the second input of the trigger 82.2, the second input of the frequency controller 81 is connected to the first inputs of the triggers 82 (82.1-82.3), the third and fourth inputs of the frequency controller 81 are connected respectively to the second and third inputs of the trigger 82.1, and the output of the controller 81 is connected to the output of the trigger 82.3 and the input of the delay element 87.

Выход триггера 82.1 соединен с первыми входами элемента НЕ-ИЛИ 83 и элемента И 86, выход которого подключен к второму входу элемента НЕ-ИЛИ 83, выходом соединенного с третьим входом триггера 82.2. Выход триггера 82.2 подключен к первому входу инвертора 85.2, выходом соединенного с первым входом элемента И-НЕ 84, второй вход которого подключен к выходу элемента 87 задержки, а выход соединен с вторым входом триггера 82.3. The output of the trigger 82.1 is connected to the first inputs of the element NOT-OR 83 and the element And 86, the output of which is connected to the second input of the element NOT-OR 83, the output connected to the third input of the trigger 82.2. The output of the trigger 82.2 is connected to the first input of the inverter 85.2, the output connected to the first input of the AND-NOT element 84, the second input of which is connected to the output of the delay element 87, and the output is connected to the second input of the trigger 82.3.

При этом третий вход триггера 82.3 подключен к источнику питания +5В (не показан), а выход инвертора 85.2 соединен с вторым входом элемента И 86. In this case, the third input of trigger 82.3 is connected to a + 5V power supply (not shown), and the output of inverter 85.2 is connected to the second input of AND element 86.

Генератор (осциллятор) 76, триггеры 77 и 82, инверторы 78 и 85, трехстабильные буферные блоки 79, элемент ИЛИ 80, элемент НЕ-ИЛИ 83, элемент И-НЕ 84 и элемент 87 задержки соответствуют своему функциональному назначению (Титце У. и др. Полупроводниковая схемотехника, с. 28, 112, 113, 121, 298) и выполнены на программных БИС, изготовленных по технологии КМОП, серии XC4010-GPQ160C (Каталог фирмы XILINX). Generator (oscillator) 76, triggers 77 and 82, inverters 78 and 85, three-stable buffer blocks 79, OR element 80, NOT-OR element 83, AND-84 element and delay element 87 correspond to their functional purpose (Titze U. et al. Semiconductor circuitry, pp. 28, 112, 113, 121, 298) and are made on software LSIs manufactured using CMOS technology, XC4010-GPQ160C series (XILINX catalog).

Работу системы НБМПЭ осуществляют на базе команд, разделенных на группу команд блока 6 управления, включающую сорок шесть команд, и группу команд вычислительного блока 8, содержащую сорок одну команду. При этом группа команд блока 6 управления обеспечивает установку параметров вычислительного блока 8, пересылку данных внутри системы НБМПЭ и передачу управления, например, контроллеру 7 ввода-вывода, а группа команд вычислительного блока 8 реализует ввод-вывод данных, их пересылку, обмен и сдвиг внутри вычислительного блока 8, а также арифметические и логические операции. The operation of the NBMPE system is carried out on the basis of commands divided into a group of commands of control unit 6, including forty-six commands, and a group of instructions of computing unit 8, containing forty-one commands. In this case, the group of commands of the control unit 6 provides the setting of the parameters of the computing unit 8, the transfer of data inside the NBMPE system and the transfer of control, for example, to the input-output controller 7, and the group of commands of the computing unit 8 implements the input-output of data, its transfer, exchange and shift inside computing unit 8, as well as arithmetic and logical operations.

Следует указать также, что в системе НБМПЭ используют 48-разрядные команды, при этом для проведения арифметических и логических операций выбрано трехадресное обращение к памяти. It should also be noted that the NBMPE system uses 48-bit instructions, and a three-address memory access is selected for arithmetic and logical operations.

В приведенной версии системы команд реализована только беззнаковая целочисленная арифметика. In the given version of the command system, only unsigned integer arithmetic is implemented.

Обобщенный формат команд имеет вид: КМОП, модификаторы,

Figure 00000002
.The generalized command format is: CMOS, modifiers,
Figure 00000002
.

Код операции (КОП) содержится в 47-35 разрядах команды. Модификаторы команды (M1, M2) содержатся в 37-35. 34-31 разрядах. M1 (разряды 37-35): коды (0-6)h представляют команды блока 6 управления, код 7h - команды матрицы вычислительного блока 8. M2 (разряды 34-31): Код Eh - используется только для команд матрицы в тех случаях, когда команда не содержит разрядности (R). The operation code (CPC) is contained in 47-35 bits of the command. Team modifiers (M1, M2) are contained in 37-35. 34-31 bits. M1 (bits 37-35): codes (0-6) h represent the commands of the control unit 6, code 7h - commands of the matrix of computing unit 8. M2 (bits 34-31): Code Eh - is used only for matrix commands in those cases when the command does not contain bit depth (R).

Перед началом работы системы НБМПЭ в блок 2 памяти загружают подпрограммы обработки прерываний, рабочие программы, а также управляющие переменные (эти данные не приведены, поскольку их описание связано с решением конкретных задач, рассмотрение которых здесь не целесообразно). Before the NBMPE system starts operating, the interrupt processing routines, work programs, and control variables are loaded into memory unit 2 (these data are not shown, since their description is related to solving specific problems, the consideration of which is not advisable here).

При этом рабочую область блока 2 памяти обычно делят на четыре поля:
поле подпрограмм прерываний, на котором записывают управляющие подпрограммы прерываний от базового компьютера 1 и программно-доступных блоков системы НБМПЭ;
поле управляющих переменных, где хранят значения управляющих переменных (например, номер текущей итерации программного цикла);
поле выводимых данных, куда в процессе работы записывают необходимые для просмотра и анализа данные (например, при отладке рабочих программ - состояние внутренних регистров блока 6 управления);
поле рабочих программ.
In this case, the working area of memory unit 2 is usually divided into four fields:
field of interrupt routines, on which control interrupt routines from the base computer 1 and program-accessible blocks of the NBMPE system are recorded;
field of control variables, where the values of control variables are stored (for example, the number of the current iteration of the program cycle);
a field of output data, where, during operation, the data necessary for viewing and analysis is recorded (for example, when debugging work programs, the state of the internal registers of control unit 6);
field work programs.

В общем случае проведение вычислительного процесса состоит в последовательном выполнении следующих основных этапов:
загрузка исполняемой программы через базовый компьютер 1 в блок 2 памяти;
ввод исходных данных через базовый компьютер 1 и коммутатор 5 в блоки 3 и 4 памяти;
загрузка программно-доступных подблоков блока 6 управления соответствующими программами;
запуск с последующим обменом данными между базовым компьютером 1 и блоками 3 и 4 памяти и вычислительным блоком 8;
получение результатов счета.
In the general case, the computational process consists in sequentially performing the following main steps:
loading the executable program through the base computer 1 to the memory unit 2;
input of the initial data through the base computer 1 and switch 5 into memory blocks 3 and 4;
loading software-accessible subunits of the block 6 control the corresponding programs;
start-up with subsequent data exchange between the base computer 1 and the memory blocks 3 and 4 and the computing unit 8;
receipt of invoice results.

Ввод исходных данных в блоки 3 и 4 памяти производят с помощью блока 6 управления, который вырабатывает соответствующие сигналы для коммутатора 5, и контроллера 7 ввода-вывода. При этом коммутатор 5 подключают к шине 16 данных базового компьютера 1 одной из шин (13 или 14) и соответственно одного из блоков (3 или 4) памяти, после чего производят обмен данными между базовым компьютером 1 и соответствующим блоком памяти. Наличие двух блоков 3 и 4 памяти данных позволяет организовать непрерывный поток данных между базовым компьютером 1 и матрицей процессорных элементов. Так, например, после загрузки данными со стороны базового компьютера 1 блока памяти 3 последний поступает в распоряжение блока матриц процессорных элементов и из него получают данные под управлением команд контроллера 7 ввода-вывода. В то же время базовый компьютер 1 может продолжить закачку данных в блок 4 памяти данных. Аналогичным образом может быть организована обратная передача данных из НБМПЭ в базовый компьютер 1. Input data in blocks 3 and 4 of the memory is produced using the control unit 6, which generates the corresponding signals for the switch 5, and the controller 7 input-output. In this case, the switch 5 is connected to the data bus 16 of the base computer 1 of one of the buses (13 or 14) and, accordingly, of one of the blocks (3 or 4) of the memory, after which data is exchanged between the base computer 1 and the corresponding memory block. The presence of two blocks 3 and 4 of the data memory allows you to organize a continuous stream of data between the base computer 1 and the matrix of processor elements. So, for example, after downloading data from the base computer 1 of the memory block 3, the latter is placed at the disposal of the block of matrices of processor elements and data is received from it under the control of the commands of the controller 7 input-output. At the same time, the host computer 1 may continue to download data to the data memory unit 4. Similarly, the reverse data transmission from NBMPE to the base computer 1 can be organized.

После загрузки в блок 2 памяти рабочей программы и введения в блоки 3 и 4 памяти исходных данных производят запуск блока 6 управления путем установки стартового адреса начала программы в регистре (не показан) счетчика 51.1 блока 6 управления и последующего обращения через шину 22 к блоку 2 памяти по фиксированному адресу к первой команде исполняемой программы. Эту команду принимают (через шину 23) в блоке 6 управления и с его помощью реализуют. After loading the working program memory into block 2 and entering the source data into blocks 3 and 4 of the memory, the control unit 6 is started by setting the start address of the program start in the register (not shown) of the counter 51.1 of the control unit 6 and then accessing the memory unit 2 via bus 22 at a fixed address to the first command of the executable program. This command is received (via bus 23) in the control unit 6 and is implemented using it.

В общем случае через блок 6 управления производят загрузку вычислительного блока 8 исходными данными и реализацию в нем программы обработки, выдачу результатов и запись их в блоках 3 и 4 памяти, а также завершение работы программы или оценку необходимости получения дополнительных данных из базового компьютера 1 и принимают решение о необходимости передачи полученных результатов в базовый компьютер 1. In the General case, through the control unit 6, the computing unit 8 is loaded with the initial data and the processing program is implemented in it, the results are output and stored in the memory blocks 3 and 4, as well as the program termination or an assessment of the need to obtain additional data from the base computer 1 is received decision on the need to transfer the results to the base computer 1.

При этом получение ("подкачка") дополнительных данных из базового компьютера 1 или прием результатов вычислений блока 8 может быть осуществлено непосредственно на фоне работы вычислительного блока 8. В этом случае блок 6 управления через флаги триггера 59 программно-доступных регистров 54 производит "оповещение" базового компьютера 1 о необходимости реализации соответствующего обмена информацией. In this case, the receipt ("swapping") of additional data from the base computer 1 or the reception of the results of the calculations of block 8 can be carried out directly against the background of the operation of the computing unit 8. In this case, the control unit 6 through the flags of the trigger 59 of the program-accessible registers 54 produces a "notification" base computer 1 about the need to implement the appropriate exchange of information.

Информационный обмен между блоками системы НБМПЭ и базовым компьютером 1 производят асинхронно посредством обоюдных прерываний с помощью восьмиразрядного регистра (не показан) схемы 55.2 прерываний. Этот регистр непосредственно доступен (может взаимодействовать) базовому компьютеру 1 как для записи, так и для считывания данных (протокол обмена реализуют через шины 15-17). The information exchange between the blocks of the NBMPE system and the base computer 1 is carried out asynchronously by means of mutual interrupts using an eight-bit register (not shown) of the 55.2 interrupt circuit. This register is directly accessible (can interact) to the base computer 1 both for writing and for reading data (the exchange protocol is implemented via buses 15-17).

В этом случае в схему 55.2 прерываний заносят код прерывания от базового компьютера 1 к блокам системы НБМПЭ и в блоке 6 управления устанавливают флаг внешнего прерывания. Этот флаг снимают с помощью команды RSTINT. После выполнения текущей команды блок 6 управления исполняет аппаратную команду JUMPINT перехода к прерыванию. In this case, the interrupt code is entered into the interrupt circuit 55.2 from the host computer 1 to the NBMPE system units and the external interrupt flag is set in the control unit 6. This flag is cleared using the RSTINT command. After executing the current command, the control unit 6 executes the hardware command JUMPINT of the transition to the interrupt.

Во время выполнения данной команды в блоке 6 управления по подпрограмме производят следующие действия:
1. В регистре (не показан) указателя 53 стека увеличивают уровень на 1.
During the execution of this command in block 6 of the control routine perform the following actions:
1. In a register (not shown), the stack pointer 53 increases the level by 1.

2. По указанному в указателе 53 стека адресу в ячейку памяти блока 2 памяти записывают информацию из регистра 57.1, в который в конце действия каждой команды автоматически сбрасывают адрес следующей. 2. At the address indicated in the pointer 53 of the stack, information from the register 57.1 is written to the memory cell of the memory unit 2, into which the address of the next is automatically reset at the end of each command.

3. Устанавливают флаги (триггеры 59.1-59.2) запрета прерываний. 3. Set the flags (triggers 59.1-59.2) to disable interrupts.

4. Исполняют команду, записанную в ячейку памяти блока 2 памяти с адресом APR, где APR - содержимое ячейки памяти блока 2 памяти с адресом, младший байт которого хранят в вышеупомянутом регистре схемы 55.2 прерываний, а старший байт равен 00h. 4. Execute the command recorded in the memory cell of the memory block 2 with the address APR, where APR is the contents of the memory cell of the memory block 2 with the address, the low byte of which is stored in the aforementioned register of the 55.2 interrupt circuit, and the high byte is 00h.

Выход из программы прерывания осуществляют посредством команды RETINT, во время исполнения которой выполняют следующие действия:
1. Снимают флаги (через триггеры 59.1-59.2) запрета прерывания.
The exit from the interrupt program is carried out by means of the RETINT command, during the execution of which the following actions are performed:
1. Remove the flags (via triggers 59.1-59.2) of the interrupt inhibit.

2. Из ячейки памяти блока 2 памяти по адресу из вышеуказанного регистра указателя 53 стека извлекают значение адреса возврата; после чего в этом регистре уменьшают уровень на 1. 2. From the memory cell of the memory unit 2 at the address from the above register register 53 stack extract the value of the return address; then in this register they decrease the level by 1.

3. Используют команду, записанную в ячейке памяти блока 2 памяти с адресом AST, где AST - содержимое ячейки памяти блока 2 памяти с адресом, младший байт которого хранят в указанном выше регистре указателя 53 стека, старший байт равен 00h. 3. Use the command recorded in the memory cell of the memory unit 2 with the address AST, where AST is the contents of the memory cell of the memory unit 2 with the address, the low byte of which is stored in the stack register pointer 53 indicated above, the high byte is 00h.

Прерывания со стороны блоков системы НБМПЭ могут быть вызваны в следующих случаях:
1. Прерывание по флагу через триггер 59.3 ошибки синхронизации в одном из процессорных элементов 70 вычислительного блока 8 (код источника прерывания - 03h, имя IERRT).
Interruptions on the part of the NBMPE system blocks can be caused in the following cases:
1. Interruption by a flag through trigger 59.3 of a synchronization error in one of the processor elements 70 of computing unit 8 (interrupt source code is 03h, name IERRT).

2. Прерывание по флагу регистра 54.2 флагов переполнения стека указателя 53 стека (код источника прерывания - 04h, имя ISTACK). 2. Interruption by the flag of the register 54.2 flags of the stack overflow of the stack pointer 53 (the source code of the interruption is 04h, name ISTACK).

3. Прерывание по флагу (через триггер 59.2) ошибки кода операции (код источника прерывания - 05h, имя INCO). 3. Interruption by the flag (via trigger 59.2) of the operation code error (interrupt source code - 05h, name INCO).

4. Прерывание по флагу (через триггер 59.1) шагового режима (код источника прерывания - 06h, имя ISTEP). 4. Interruption by the flag (via trigger 59.1) of the step mode (interrupt source code - 06h, ISTEP name).

При обратном прерывании (блоков системы НБМПЭ со стороны базового компьютера 1) имя источника прерывания - INT. а коды этого источника прерывания обозначают - (2F,...,7F)h. In case of reverse interruption (blocks of the NBMPE system from the side of the base computer 1), the name of the interruption source is INT. and the codes of this interrupt source indicate - (2F, ..., 7F) h.

Приоритеты прерываний устанавливают командой MOV Xh PRP, при этом принята следующая очередность: первым отрабатываю: прерывание INT, затем прерывание IERRT, затем ISTACK, а последним ISTER. The interrupt priorities are set using the MOV Xh PRP command, and the following sequence has been adopted: I work out first: an INT interrupt, then an IERRT interrupt, then ISTACK, and last ISTER.

Просмотр состояния регистров блока 6 управления осуществляют путем записи их содержимого в блоке 2 памяти. Viewing the status of the registers of the control unit 6 is carried out by recording their contents in the memory unit 2.

После записи (загрузки) в блоки 2-4 памяти исходной информации начинают выполнение задачи посредством проведения последовательной выборки блоком 6 управления операторов из блока 2 памяти и обмен данными между вычислительным блоком 8 и блоками 3 и 4 памяти. After recording (loading) in blocks 2-4 of the source information memory, the task is started by sequentially selecting the operator control unit 6 from the memory unit 2 and exchanging data between the computing unit 8 and the memory units 3 and 4.

При этом с помощью блока 6 управления формируют адреса для ОЗУ процессорных элементов 70 вычислительного блока 8, за исключением микрокоманд загрузки, формируют адреса следующей команды, производят селекцию команд обмена и формируют сигналы разрешения на прием контроллером 7 ввода-вывода. In this case, using the control unit 6, the addresses for the RAM of the processor elements 70 of the computing unit 8 are generated, with the exception of the microcommands of the load, the addresses of the next command are generated, the exchange commands are selected and the reception signals are received by the input / output controller 7.

Из блока 2 памяти через шину 23 передают команды на блок 6 управления, при этом 48-разрядную команду передают в три приема 16-разрядными словами, которые последовательно через порт 50 загружают в регистры (не показаны) счетчиков 51 (51.1-51.3). В блоке 6 управления эти команды разворачивают в последовательность 12-разряднмх микроинструкций и 7-разрядных адресов для вычислительного блока 8. При приеме команды обмена данными с вычислительным блоком 8 в блоке 6 управления производят опознание этой команды и формируют сигнал разрешения контроллеру 7 ввода-вывода принять и исполнить текущую команду. При этом в блоке 6 управления выставляют флаг F0, закрывают триггер 59.1 как признак занятости контроллера 7 ввода-вывода. После окончания выполнения контроллером 7 ввода-вывода выполнения команды обмена снимают флаг F0 (открывают триггер 59.1) и таким образом сообщают блоку 6 управления о готовности контроллера 7 ввода-вывода выполнить следующую команду обмена. Если в контроллере 7 ввода-вывода не выполнена предыдущая команда, то до снятия флага F0 блок 6 управления выполняет микрокоманду ожидания. Когда контроллер 7 ввода-вывода снимает флаг F0, блок 6 управления возвращают к микрокоманде, на которой было прервано исполнение команды обмена. Такая организация позволяет блоку 6 управления выполнить команды обработки данных, не ожидая конца загрузки матрицы процессорных элементов 70 вычислительного блока 8. From the memory unit 2, commands are sent to the control unit 6 via the bus 23, while the 48-bit command is transmitted in three steps by 16-bit words, which are sequentially downloaded through the port 50 to the registers (not shown) of the counters 51 (51.1-51.3). In control unit 6, these commands are expanded into a sequence of 12-bit microinstructions and 7-bit addresses for computing unit 8. Upon receipt of a data exchange command with computing unit 8 in control unit 6, this command is recognized and an enable signal is issued to the input / output controller 7 and execute the current command. At the same time, in the control unit 6, the flag F0 is set, the trigger 59.1 is closed as a sign of busyness of the input-output controller 7. After the controller 7 completes the execution of the I / O execution of the exchange command, the F0 flag is removed (trigger 59.1 is opened) and thus inform the control unit 6 of the readiness of the I / O controller 7 to execute the next exchange command. If the previous command is not executed in the I / O controller 7, then, until the flag F0 is cleared, the control unit 6 executes a micro-wait command. When the I / O controller 7 clears the flag F0, the control unit 6 is returned to the micro-command on which the execution of the exchange command was interrupted. Such an organization allows the control unit 6 to execute data processing instructions without waiting for the end of loading of the matrix of processor elements 70 of the computing unit 8.

Контроллер 7 ввода-вывода, приняв команду обмена данными между вычислительным блоком 8 и одним из блоков 3 или 4 памяти, вырабатывает управляющие сигналы и через шину 18 подает их на буферный блок 9, а через шины 19, 20 и 24 в блоки 3 и 4 памяти и на коммутатор 5 соответственно. Буферный блок 9 коммутирует двунаправленную шину 28 с шиной 29 (при записи данных в вычислительный блок 8) или с шиной 32 (при чтении данных из вычислительного блока 8), через шины 30 и 31 вычислительного блока 8 передают соответствующие сигналы управления. The I / O controller 7, having received a data exchange command between the computing unit 8 and one of the memory blocks 3 or 4, generates control signals and feeds them through the bus 18 to the buffer block 9, and through the buses 19, 20 and 24 to blocks 3 and 4 memory and switch 5, respectively. The buffer unit 9 switches the bi-directional bus 28 with the bus 29 (when writing data to the computing unit 8) or with the bus 32 (when reading data from the computing unit 8), the corresponding control signals are transmitted via the buses 30 and 31 of the computing unit 8.

В вычислительном блоке 8 реализована возможность независимой работы при загрузке-выгрузке и обработке данных. Это существенно сокращает время обработки "окна" данных, загруженного в вычислительный блок 8, так как команды обмена имеют большую длительность. Оптимальным чередованием команд обмена с другими командами обеспечивают длительность обработки "окна" данных, определяемую только временем ввода-вывода. При одновременном выполнении команды обмена контроллером 7 ввода-вывода и команды обработки блоком 6 управления возможно их одновременное обращение к внутреннему ОЗУ процессорных элементов 70 вычислительного блока 8 в одном такте. The computing unit 8 implements the possibility of independent work when loading, unloading and processing data. This significantly reduces the processing time of the "window" of data loaded into the computing unit 8, since the exchange commands have a long duration. The optimal alternation of exchange commands with other commands ensures the processing time of the "window" of data, determined only by the input-output time. With the simultaneous execution of the exchange command by the I / O controller 7 and the processing command by the control unit 6, it is possible to simultaneously access the internal RAM of the processor elements 70 of the computing unit 8 in a single clock cycle.

В этом случае приоритет принадлежит контроллеру 7 ввода-вывода, а блок 6 управления задерживает исполнение своей микрокоманды на один такт. Такая приоритетность связана с тем, что в процессе выполнения команд обмена обращаемость контроллера 7 ввода-вывода к вычислительному блоку 8 обычно гораздо реже, чем соответствующая обращаемость блока 6 управления. При этом длительность команд обмена обычно сравнима или больше длительности обработки данных. In this case, the priority belongs to the I / O controller 7, and the control unit 6 delays the execution of its micro-command by one clock cycle. This priority is due to the fact that in the process of executing exchange commands, the invertibility of the I / O controller 7 to the computing unit 8 is usually much less common than the corresponding invertibility of the control unit 6. Moreover, the duration of exchange commands is usually comparable to or longer than the duration of data processing.

При загрузке вычислительного блока 8 информацию через буферный блок 9 записывают в первую строку матрицы процессорных элементов 70 с одновременным сдвигом информации всех строк матрицы в вертикальном направлении (NS или SN). Таким образом по каждой отдельной строке матрицы производят последовательный сдвиг массива данных. When loading the computing unit 8, information through the buffer unit 9 is recorded in the first row of the matrix of processor elements 70 with a simultaneous shift of the information of all rows of the matrix in the vertical direction (NS or SN). Thus, for each individual row of the matrix, a sequential shift of the data array is performed.

Одновременно с загрузкой-выгрузкой возможно выполнение арифметико-логических операций над данными, уже находящимися в памяти и регистрах процессорных элементов 70. Simultaneously with loading and unloading, it is possible to perform arithmetic-logical operations on data already in memory and registers of processor elements 70.

Число повторения тактов сдвига при загрузке зависит от количества строк матрицы процессорных элементов 70. The number of repetitions of the shift cycles during loading depends on the number of rows of the matrix of processor elements 70.

Выгрузку массива производят в обратном порядке. The array is unloaded in the reverse order.

Блок 10 задания и контроля тактовой частоты в процессе работы всего устройства осуществляет контроль правильности функционирования вычислительного блока 8 на уровне тактовой частоты. Данный контроль необходим в связи с тем, что блок 8 представляет из себя однородную распределенную вычислительную среду, где особенно остро стоит вопрос синхронизации заботы всех ее компонентов. Блок 10 по описанной выше схеме (фиг. 11 и 12) осуществляет постоянное сравнение тактовой частоты, выдаваемой в блок 8 по шине 33, с тактовой частотой, поступающей обратно по шине 34, а в случае расхождения данных частот вырабатывает сигнал, который по шине 35 поступает в блок 6 управления. В блоке 6 управления по данному сигналу устанавливают флаг в регистре 54.2, по которому базовый компьютер 1 определяет, что в вычислительном блоке 8 произошел аппаратный сбой, требующий вмешательства специалиста по обслуживанию комплекса, и базовый компьютер 1 подает на блоки системы НБМПЭ сигнал остановки. Unit 10 of the job and control the clock frequency during operation of the entire device monitors the correct functioning of the computing unit 8 at the level of the clock frequency. This control is necessary due to the fact that block 8 is a homogeneous distributed computing environment, where the synchronization of the care of all its components is especially acute. Block 10 according to the scheme described above (Figs. 11 and 12) constantly compares the clock frequency output to block 8 via bus 33 with the clock frequency coming back via bus 34, and in case of a discrepancy in these frequencies, it generates a signal that is transmitted via bus 35 enters the control unit 6. In control unit 6, a flag is set in register 54.2 for this signal, according to which base computer 1 determines that a hardware failure has occurred in computing unit 8 that requires the intervention of a complex maintenance specialist, and base computer 1 sends a stop signal to the NBMPE system units.

Claims (1)

Вычислительная система на базе матрицы процессорных элементов, содержащая базовый компьютер, блоки памяти, контроллер ввода-вывода, вычислительный блок и коммутатор, первые и вторые группы управляющих входов которого соединены с первыми группами управляющих входов соответственно первого и второго блоков памяти, а первые и вторые группы информационных входов-выходов коммутатора подключены к группам информационных входов-выходов соответственно первого и второго блоков памяти, отличающаяся тем, что в нее введены блок управления, блок задания и контроля тактовой частоты и буферный блок, причем группа управляющих входов-выходов базового компьютера соединена с первыми группами управляющих входов-выходов соответственно блока управления и третьего блока памяти, группа информационных входов-выходов базового компьютера подключена к группе информационных входов-выходов третьего блока памяти и третьей группе информационных входов-выходов коммутатора, а группа адресных выходов базового компьютера соединена с первыми группами адресных входов соответственно третьего блока памяти и контроллера ввода-вывода, первые, вторые и третьи группы адресных выходов которого подключены к группам адресных входов соответственно буферного блока и первого и второго блоков памяти, первая группа управляющих выходов и группа адресных выходов блока управления подключены к вторым группам соответственно адресных и управляющих входов третьего блока памяти, группа информационных выходов которого соединена с группами информационных входов блока управления и контроллера ввода-вывода, группа управляющих выходов которого подключена к первой группе управляющих входов коммутатора, вторая группа управляющих входов которого соединена с второй группой управляющих выходов блока управления, причем группа управляющих входов-выходов блока управления подключена к группе управляющих входов-выходов контроллера ввода-вывода, а третья группа управляющих выходов блока управления соединена с группой управляющих входов буферного блока, группа информационных входов-выходов которого соединена с четвертой группой информационных входов-выходов коммутатора, при этом группы информационных, адресных и управляющих выходов буферного блока подключены соответственно к группам информационных, адресных и управляющих входов вычислительного блока, первая группа информационных выходов которого соединена с группой информационных входов буферного блока, первая группа выходов блока задания и контроля тактовой частоты соединена с группами тактовых входов контроллера ввода-вывода, блока управления и вычислительного блока, вторая группа информационных выходов которого подключена к группе входов блока задания и контроля тактовой частоты, второй группой выходов соединенного с группой управляющих входов блока управления, информационным входом подключенного к соответствующему выходу вычислительного блока, причем базовый компьютер выходом соединен с управляющим входом блока задания и контроля тактовой частоты, а вычислительный блок выполнен в виде матрицы процессорных элементов. A computing system based on a matrix of processor elements, containing a base computer, memory blocks, an input-output controller, a computing unit and a switch, the first and second groups of control inputs of which are connected to the first groups of control inputs of the first and second memory blocks, respectively, and the first and second groups information inputs and outputs of the switch are connected to groups of information inputs and outputs of the first and second memory blocks, respectively, characterized in that a control unit, a block of control and clock frequency and the buffer unit, and the group of control inputs and outputs of the base computer is connected to the first groups of control inputs and outputs of the control unit and the third memory block, the group of information inputs and outputs of the base computer is connected to the group of information inputs and outputs of the third memory block and the third group of information inputs / outputs of the switch, and the group of address outputs of the base computer is connected to the first groups of address inputs, respectively, of the third block memory and I / O controller, the first, second and third groups of address outputs of which are connected to the groups of address inputs of the buffer unit and the first and second memory blocks, the first group of control outputs and the group of address outputs of the control unit are connected to the second groups of address and control inputs, respectively the third memory block, the group of information outputs of which is connected to the groups of information inputs of the control unit and the input-output controller, the group of control outputs of which is assigned to the first group of control inputs of the switch, the second group of control inputs of which is connected to the second group of control outputs of the control unit, and the group of control inputs and outputs of the control unit is connected to the group of control inputs and outputs of the I / O controller, and the third group of control outputs of the control unit is connected with the group of control inputs of the buffer unit, the group of information inputs / outputs of which is connected to the fourth group of information inputs and outputs of the switch, while the groups information, address and control outputs of the buffer unit are connected respectively to groups of information, address and control inputs of the computing unit, the first group of information outputs of which is connected to the group of information inputs of the buffer unit, the first group of outputs of the unit for setting and controlling the clock frequency is connected to the groups of clock inputs of the input controller - output, control unit and computing unit, the second group of information outputs of which is connected to the group of inputs of the task unit and clocking frequency, the second group of outputs connected to the group of control inputs of the control unit, the information input connected to the corresponding output of the computing unit, and the base computer is connected to the control input of the clock setting and control unit by the output, and the computing unit is made in the form of a matrix of processor elements.
RU98100973A 1998-01-29 1998-01-29 Computing system based on matrix of processor elements RU2117326C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU98100973A RU2117326C1 (en) 1998-01-29 1998-01-29 Computing system based on matrix of processor elements

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU98100973A RU2117326C1 (en) 1998-01-29 1998-01-29 Computing system based on matrix of processor elements

Publications (2)

Publication Number Publication Date
RU2117326C1 true RU2117326C1 (en) 1998-08-10
RU98100973A RU98100973A (en) 1999-01-10

Family

ID=20201369

Family Applications (1)

Application Number Title Priority Date Filing Date
RU98100973A RU2117326C1 (en) 1998-01-29 1998-01-29 Computing system based on matrix of processor elements

Country Status (1)

Country Link
RU (1) RU2117326C1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2405196C1 (en) * 2009-05-04 2010-11-27 Федеральное государственное унитарное предприятие научно-исследовательский институт "Субмикрон" Link-port switch

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2033637C1 (en) * 1991-07-09 1995-04-20 Минское высшее военное инженерное училище Digital signal processing device
RU2042193C1 (en) * 1991-10-08 1995-08-20 Институт кибернетики им.В.М.Глушкова АН Украины Computing system
WO1996026491A1 (en) * 1995-02-22 1996-08-29 Callisto Media Systems Inc. Multi-media server
US5574939A (en) * 1993-05-14 1996-11-12 Massachusetts Institute Of Technology Multiprocessor coupling system with integrated compile and run time scheduling for parallelism
US5642499A (en) * 1988-11-30 1997-06-24 Hitachi, Ltd. Method and apparatus for controlling timing of execution of saving and restoring operations in a processor system
WO1997023834A1 (en) * 1995-12-22 1997-07-03 Vsevolod Sergeevich Burtsev Computing system
RU2089936C1 (en) * 1996-06-18 1997-09-10 Бондаренко Александр Викторович Processor element

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5642499A (en) * 1988-11-30 1997-06-24 Hitachi, Ltd. Method and apparatus for controlling timing of execution of saving and restoring operations in a processor system
RU2033637C1 (en) * 1991-07-09 1995-04-20 Минское высшее военное инженерное училище Digital signal processing device
RU2042193C1 (en) * 1991-10-08 1995-08-20 Институт кибернетики им.В.М.Глушкова АН Украины Computing system
US5574939A (en) * 1993-05-14 1996-11-12 Massachusetts Institute Of Technology Multiprocessor coupling system with integrated compile and run time scheduling for parallelism
WO1996026491A1 (en) * 1995-02-22 1996-08-29 Callisto Media Systems Inc. Multi-media server
WO1997023834A1 (en) * 1995-12-22 1997-07-03 Vsevolod Sergeevich Burtsev Computing system
RU2089936C1 (en) * 1996-06-18 1997-09-10 Бондаренко Александр Викторович Processor element

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2405196C1 (en) * 2009-05-04 2010-11-27 Федеральное государственное унитарное предприятие научно-исследовательский институт "Субмикрон" Link-port switch

Similar Documents

Publication Publication Date Title
EP0102242B1 (en) Data processing apparatus
JP4637123B2 (en) Data processing method and data processing unit, method for dynamic reconfiguration of configurable elements, system and process
US4644461A (en) Dynamic activity-creating data-driven computer architecture
US5590349A (en) Real time programmable signal processor architecture
JPS6361691B2 (en)
US4429361A (en) Sequencer means for microprogrammed control unit
AU665927B2 (en) Programmable signal processor architecture
US4460972A (en) Single chip microcomputer selectively operable in response to instructions stored on the computer chip or in response to instructions stored external to the chip
KR900002438B1 (en) Interprocessor coupling
US20030126404A1 (en) Data processing system, array-type processor, data processor, and information storage medium
RU2117326C1 (en) Computing system based on matrix of processor elements
RU2202123C2 (en) Programmable-architecture parallel computer system
US7028162B2 (en) Configurable processing block capable of interacting with external hardware
US4101967A (en) Single bit logic microprocessor
EP0020972B1 (en) Program controlled microprocessing apparatus
RU2042182C1 (en) Microprocessor for information input and output
US6199143B1 (en) Computing system with fast data transfer of CPU state related information
EP0884676B1 (en) Data processing system for dynamically utilizing resources
US5826063A (en) Apparatus and method for programming the setup, command and recovery time periods within a transaction cycle
JPS6410854B2 (en)
KR102900878B1 (en) Clear register data
US20040230319A1 (en) Microcontroller device for complex processing procedures and corresponding interrupt management process
JPS6043757A (en) 1 chip microcomputer
IE41472B1 (en) Improvements in or relating to data processing equipment
JP2000029508A (en) Programmable controller

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20070130