RU2117326C1 - Computing system based on matrix of processor elements - Google Patents
Computing system based on matrix of processor elements Download PDFInfo
- 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
Links
Images
Landscapes
- Complex Calculations (AREA)
Abstract
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
При этом блок 2 выполнен на микросхеме IDT7026S двухпортовой памяти, а блоки 3 и 4 выполнены на микросхеме MT5LC512K8D4. In this case,
Система НБМПЭ содержит также коммутатор 5, предназначенный для одновременного и независимого подключения соответственно информационных и адресных входов блоков, блок 6 управления, предназначенный для формирования команд управления и обеспечения обмена управляющими кодами прерывания с базовым компьютером 1, контроллер 7 ввода-вывода, предназначенный для формирования сигналов управления, вычислительный блок 8, выполненный в виде двухмерного массива процессорных элементов (ПЭ), реализующего SIMD - архитектуру, и предназначенный для арифметико-логической обработки, обмена и передачи информации, буферный блок 9, предназначенный для реализации процедуры обмена данными между вычислительным блоком 8 и блоками системы, а также блок 10 задания и контроля тактовой частоты, предназначенный для выработки единой рабочей тактовой частоты и контроля выходных частот элементов вычислительного блока 8. The NBMPE system also contains a
Первые и вторые группы управляющих выходов коммутатора 5 соединены шинами 11 и 12 с первыми группами управляющих входов соответственно блоков 3 и 4 памяти, а первые и вторые группы информационных входов-выходов коммутатора 5 подключены шинами 13 и 14 к группам информационных входов-выходов соответственно блоков 3 и 4 памяти. The first and second groups of control outputs of the
Группа управляющих входов-выходов базового компьютера 1 шиной 15 соединена с первыми группами управляющих входов соответственно блока 7 управления и блока 2 памяти, группа информационных входов-выходов базового компьютера 1 подключена шиной 16 к группе информационных входов-выходов блока 2 памяти и третьей группе информационных входов- выходов коммутатора 5, а группа адресных выходов базового компьютера 1 шиной 17 соединена с первыми группами адресных входов соответственно блока 2 памяти и контроллера 7 ввода-вывода. The group of control inputs and outputs of the
Первые, вторые и третьи группы адресных выходов контроллера 7 ввода-вывода шинами 18-20 подключены к группам адресных входов соответственно буферного блока 9 и блоков 3 и 4 памяти. The first, second and third groups of address outputs of the I /
Первая группа управляющих выходов блока 6 управления шинами 21 и шинами адреса 22 подключена к вторым группам соответственно адресных и управляющих входов блока 2 памяти, группа информационных входов-выходов которого шиной 23 соединена с группами информационных входов соответственно блока 6 управления и контроллера 7 ввода-вывода. The first group of control outputs of the
Группа управляющих выходов контроллера 7 ввода-вывода шиной 24 подключена к первой группе управляющих входов коммутатора 5, вторая группа управляющих входов которого шиной 25 соединена с второй группой управляющих выходов блока 6 управления. The group of control outputs of the input-
Группа управляющих входов-выходов блока 6 управления шиной 26 подключена к группе управляющих входов-выходов контроллера 7 ввода- вывода, а группа управляющих выходов блока 6 управления шиной 27 соединена с группой управляющих входов буферного блока 9, группа информационных входов-выходов которого шиной 28 соединена с четвертой группой информационных входов-выходов коммутатора 5. The group of control inputs and outputs of the
Группы информационных, адресных и управляющих выходов буферного блока 9 через шины 29 и 30, 31 подключены соответственно к группам информационных, адресных и управляющих входов вычислительного блока 8, группа информационных выходов которого шиной 32 соединена с второй группой информационных входов буферного блока 9. Groups of information, address and control outputs of the
Группа выходов блока 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 /
Коммутатор 5 (фиг. 2) содержит блок 36 управления, блок 37 коммутации данных, включающий восемь параллельно соединенных ячеек коммутации 38 и блок 39 коммутации адреса. The switch 5 (Fig. 2) contains a
Блок 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
Блок 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
Выходы первого и второго элементов ИЛИ 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
Каждая 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
Блок 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
Выходы первого дешифратора/демультиплексора 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
Мультиплексоры 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,
Блок 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 /
Порт 50 ввода-вывода первой группой входов подключен к группе входов блока 6 управления, соединенной с шиной 23, второй группой входов подключен к группе выходов мультиплексора 60, третьей группой входов соединен с группой выходов счетчика 51.1. подключенной также к первой группе входов мультиплексора 60 и к группе выходов блока 6 управления, соединенной с шиной 33, а группой выходов подключен к первым группам входов счетчиков 51, аккумулятора 52, указателя 53 стека, регистров 54 флагов, регистра 57.2, дешифратора 58 и к группе входов схемы 55.3 прерывания. The input /
Счетчик 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
Первым входом счетчик 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
Счетчик 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
Аккумулятор 52 группой выходов соединен с третьей группой входов мультиплексора 60, а входом подключен к Пятому входу группы входов блока 6 управления, соединенной с шиной 33. The
Указатель 53 стека второй группой выходов подключен к третьей группе входов регистра 54.2 флагов, а входом соединен с шестым входом группы входов блока 6 управления, подключенной к шине 33. The
Группа выходов регистра 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
Регистр 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
Схема 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
Группа выходов ПЗУ 56 соединена с первой группой входов регистра 57.1, второй группой входов и второй и третьей группами выходов подключенного соответственно к группе входов и группам выходов блока 6 управления, соединенных с шинами 26, 21 и 27 соответственно. The group of outputs of the
Входы регистров 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
Порт 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 /
Контроллер 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
Регистр 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
Регистр 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 /
Регистр 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 /
Регистры 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 /
Регистры 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
Группа выходов регистра 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,
Вычислительный блок 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
При этом группы информационных, управляющих, адресных и тактовых входов каждого процессорного элемента 70 соответственно подключены к группам информационных, управляющих, адресных и тактовых входов вычислительного блока 8, соединенных соответственно с шинами 29, 30, 31 и 33, группы информационных выходов каждого процессорного элемента 70 подключены к группе информационных выходов вычислительного блока 8, соединенных с шиной 32, причем первый выход группы информационных выходов каждого процессорного элемента 70 подключен также к соответствующему входу элемента И 71, выход которого соединен с выходом вычислительного блока 8. The groups of information, control, address and clock inputs of each
Когда количество процессорных элементов 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
Процессорный элемент 70 содержит пять мультиплексоров, четыре регистра, оперативное запоминающее и арифметико-логическое устройства. Схема выполнения такого процессорного элемента приведена, например, в патенте N 2089936 с приоритетом от 18.06.96 г. на изобретение "Процессорный элемент". The
Буферный блок 9 (фиг. 10) содержит дешифратор 72, 2L регистров 73, где L равна отношению n/w, где n - число столбцов в матрице процессорных элементов (фиг. 8), а w - разрядность слов, передаваемых по шине 28. Внутренняя разрядность каждого из регистров 73.1-L группы также не более w - разрядов. The buffer unit 9 (Fig. 10) contains a
Группы входов дешифратора 72 и буферного элемента 75.1 подключены к группе входов буферного блока 9, соединенной с шиной 27. The input groups of the
Первые 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
Группы выходов трехстатических буферных элементов соединены с группой выходов буферного блока 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
Группа входов дешифратора 72 и группа входов буферного элемента 75.1 соединены с группой входов буферного блока 9, подключенной к шине 27, причем группа выходов буферного элемента 75.1 соединена с группой входов буферного блока 9. подключенного к шине 31. The group of inputs of the
Дешифратор 72, регистры 73, трехстатические буферные элементы 74 и буферные элементы 75 соответствуют своему функциональному назначению (Титце У. и др. Полупроводниковая схемотехника, с. 319, 370, 403) и выполнены на программируемых БИС, изготовленных по технологии КМОП, серии XC4010-GPQ160C (Каталог фирмы XILINX).
Блок 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
Группа выходов блока 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
При этом выход задающего генератора 76 соединен с первым входом триггера 77 и третьими входами контроллеров 81 частоты, выход триггера 77 подключен к первому входу трехстабильного буферного блока 79.1, к четвертым входам контроллеров 8! частоты и через инвертор 78.1 на свой второй вход. The output of the
Выходы контроллеров 81 частоты соединены с входами элемента ИЛИ 80, выход инвертора 78.2 подключен к второму входу трехстабильного буферного блока 79.1. The outputs of the frequency controllers 81 are connected to the inputs of the
Контроллер 81 частоты (фиг. 12) содержит три триггера 82, элемент НЕ-ИЛИ 83, элемент И-НЕ 84, два инвертора 85. элемент И 86 и элемент 87 задержки. The frequency controller 81 (Fig. 12) contains three flip-flops 82, an NOR
Первый вход контроллера 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
Выход триггера 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-
При этом третий вход триггера 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
Генератор (осциллятор) 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
Работу системы НБМПЭ осуществляют на базе команд, разделенных на группу команд блока 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
Следует указать также, что в системе НБМПЭ используют 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.
Обобщенный формат команд имеет вид: КМОП, модификаторы, .The generalized command format is: CMOS, modifiers, .
Код операции (КОП) содержится в 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
Перед началом работы системы НБМПЭ в блок 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
field of interrupt routines, on which control interrupt routines from the
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
input of the initial data through the
loading software-accessible subunits of the
start-up with subsequent data exchange between the
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
После загрузки в блок 2 памяти рабочей программы и введения в блоки 3 и 4 памяти исходных данных производят запуск блока 6 управления путем установки стартового адреса начала программы в регистре (не показан) счетчика 51.1 блока 6 управления и последующего обращения через шину 22 к блоку 2 памяти по фиксированному адресу к первой команде исполняемой программы. Эту команду принимают (через шину 23) в блоке 6 управления и с его помощью реализуют. After loading the working program memory into
В общем случае через блок 6 управления производят загрузку вычислительного блока 8 исходными данными и реализацию в нем программы обработки, выдачу результатов и запись их в блоках 3 и 4 памяти, а также завершение работы программы или оценку необходимости получения дополнительных данных из базового компьютера 1 и принимают решение о необходимости передачи полученных результатов в базовый компьютер 1. In the General case, through the
При этом получение ("подкачка") дополнительных данных из базового компьютера 1 или прием результатов вычислений блока 8 может быть осуществлено непосредственно на фоне работы вычислительного блока 8. В этом случае блок 6 управления через флаги триггера 59 программно-доступных регистров 54 производит "оповещение" базового компьютера 1 о необходимости реализации соответствующего обмена информацией. In this case, the receipt ("swapping") of additional data from the
Информационный обмен между блоками системы НБМПЭ и базовым компьютером 1 производят асинхронно посредством обоюдных прерываний с помощью восьмиразрядного регистра (не показан) схемы 55.2 прерываний. Этот регистр непосредственно доступен (может взаимодействовать) базовому компьютеру 1 как для записи, так и для считывания данных (протокол обмена реализуют через шины 15-17). The information exchange between the blocks of the NBMPE system and the
В этом случае в схему 55.2 прерываний заносят код прерывания от базового компьютера 1 к блокам системы НБМПЭ и в блоке 6 управления устанавливают флаг внешнего прерывания. Этот флаг снимают с помощью команды RSTINT. После выполнения текущей команды блок 6 управления исполняет аппаратную команду JUMPINT перехода к прерыванию. In this case, the interrupt code is entered into the interrupt circuit 55.2 from the
Во время выполнения данной команды в блоке 6 управления по подпрограмме производят следующие действия:
1. В регистре (не показан) указателя 53 стека увеличивают уровень на 1.During the execution of this command in
1. In a register (not shown), the
2. По указанному в указателе 53 стека адресу в ячейку памяти блока 2 памяти записывают информацию из регистра 57.1, в который в конце действия каждой команды автоматически сбрасывают адрес следующей. 2. At the address indicated in the
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
Выход из программы прерывания осуществляют посредством команды 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
3. Используют команду, записанную в ячейке памяти блока 2 памяти с адресом AST, где AST - содержимое ячейки памяти блока 2 памяти с адресом, младший байт которого хранят в указанном выше регистре указателя 53 стека, старший байт равен 00h. 3. Use the command recorded in the memory cell of the
Прерывания со стороны блоков системы НБМПЭ могут быть вызваны в следующих случаях:
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
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
После записи (загрузки) в блоки 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
При этом с помощью блока 6 управления формируют адреса для ОЗУ процессорных элементов 70 вычислительного блока 8, за исключением микрокоманд загрузки, формируют адреса следующей команды, производят селекцию команд обмена и формируют сигналы разрешения на прием контроллером 7 ввода-вывода. In this case, using the
Из блока 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
Контроллер 7 ввода-вывода, приняв команду обмена данными между вычислительным блоком 8 и одним из блоков 3 или 4 памяти, вырабатывает управляющие сигналы и через шину 18 подает их на буферный блок 9, а через шины 19, 20 и 24 в блоки 3 и 4 памяти и на коммутатор 5 соответственно. Буферный блок 9 коммутирует двунаправленную шину 28 с шиной 29 (при записи данных в вычислительный блок 8) или с шиной 32 (при чтении данных из вычислительного блока 8), через шины 30 и 31 вычислительного блока 8 передают соответствующие сигналы управления. The I /
В вычислительном блоке 8 реализована возможность независимой работы при загрузке-выгрузке и обработке данных. Это существенно сокращает время обработки "окна" данных, загруженного в вычислительный блок 8, так как команды обмена имеют большую длительность. Оптимальным чередованием команд обмена с другими командами обеспечивают длительность обработки "окна" данных, определяемую только временем ввода-вывода. При одновременном выполнении команды обмена контроллером 7 ввода-вывода и команды обработки блоком 6 управления возможно их одновременное обращение к внутреннему ОЗУ процессорных элементов 70 вычислительного блока 8 в одном такте. The
В этом случае приоритет принадлежит контроллеру 7 ввода-вывода, а блок 6 управления задерживает исполнение своей микрокоманды на один такт. Такая приоритетность связана с тем, что в процессе выполнения команд обмена обращаемость контроллера 7 ввода-вывода к вычислительному блоку 8 обычно гораздо реже, чем соответствующая обращаемость блока 6 управления. При этом длительность команд обмена обычно сравнима или больше длительности обработки данных. In this case, the priority belongs to the I /
При загрузке вычислительного блока 8 информацию через буферный блок 9 записывают в первую строку матрицы процессорных элементов 70 с одновременным сдвигом информации всех строк матрицы в вертикальном направлении (NS или SN). Таким образом по каждой отдельной строке матрицы производят последовательный сдвиг массива данных. When loading the
Одновременно с загрузкой-выгрузкой возможно выполнение арифметико-логических операций над данными, уже находящимися в памяти и регистрах процессорных элементов 70. Simultaneously with loading and unloading, it is possible to perform arithmetic-logical operations on data already in memory and registers of
Число повторения тактов сдвига при загрузке зависит от количества строк матрицы процессорных элементов 70. The number of repetitions of the shift cycles during loading depends on the number of rows of the matrix of
Выгрузку массива производят в обратном порядке. 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
Claims (1)
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)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2405196C1 (en) * | 2009-05-04 | 2010-11-27 | Федеральное государственное унитарное предприятие научно-исследовательский институт "Субмикрон" | Link-port switch |
Citations (7)
| 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 |
-
1998
- 1998-01-29 RU RU98100973A patent/RU2117326C1/en not_active IP Right Cessation
Patent Citations (7)
| 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)
| 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 |