Nothing Special   »   [go: up one dir, main page]

RU2180969C1 - Processor of uniform computation environment - Google Patents

Processor of uniform computation environment Download PDF

Info

Publication number
RU2180969C1
RU2180969C1 RU2000126004/09A RU2000126004A RU2180969C1 RU 2180969 C1 RU2180969 C1 RU 2180969C1 RU 2000126004/09 A RU2000126004/09 A RU 2000126004/09A RU 2000126004 A RU2000126004 A RU 2000126004A RU 2180969 C1 RU2180969 C1 RU 2180969C1
Authority
RU
Russia
Prior art keywords
information
inputs
control
outputs
group
Prior art date
Application number
RU2000126004/09A
Other languages
Russian (ru)
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 RU2000126004/09A priority Critical patent/RU2180969C1/en
Priority to AU2002212873A priority patent/AU2002212873A1/en
Priority to PCT/RU2001/000422 priority patent/WO2002033560A1/en
Application granted granted Critical
Publication of RU2180969C1 publication Critical patent/RU2180969C1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

FIELD: computer engineering. SUBSTANCE: invention can be used in high-productivity systems processing large data arrays under real time conditions. Processor incorporates input commutator, arithmetic-logic unit, shifting register, delay element, first and second switches, output commutator, first and second delay units, controller, tuning unit, controlling busses. EFFECT: expanded functional capabilities. 1 cl, 8 dwg

Description

Изобретение относится к области вычислительной техники и может быть использовано в высокопроизводительных системах обработки больших массивов информации, в том числе, и в режиме реального времени. The invention relates to the field of computer technology and can be used in high-performance systems for processing large amounts of information, including in real time.

Известны процессоры матричного типа, объединенные в матрицу процессоров, которая работает под управлением центрального компьютера [1]. Недостатком устройств данного типа является то, что все процессоры выполняют одну и ту же команду, что ведет к снижению быстродействия при обработке массивов данных, по размеру не кратных числу процессоров. Кроме того, при выполнении программ с малым количеством ветвей большинство процессоров простаивает. Known processors of the matrix type, combined into a matrix of processors that runs under the control of a central computer [1]. The disadvantage of this type of device is that all processors execute the same command, which leads to a decrease in performance when processing data arrays that are not a multiple of the number of processors. In addition, when running programs with a small number of branches, most processors are idle.

Наиболее близкой к описываемому изобретению (прототип) является однородная вычислительная среда с программируемой коммутационно-запоминающей структурой, содержащая матрицу вычислительных ячеек, соединенных двусторонними связями по вертикали и горизонтали, матрицу запоминающих ячеек, соединенных двусторонними связями по вертикали и горизонтали, причем каждая вычислительная ячейка содержит арифметико-логическое устройство (АЛУ), регистр команд и дешифратор кода операций, два элемента задержки, три схемы коммутации входов и четыре схемы коммутации выходов, а каждая запоминающая ячейка содержит управляющий регистр, сдвиговый регистр, четыре входных коммутатора, пять выходных коммутаторов, вентиль, триггер задержки и переключатель, причем каждая запоминающая ячейка соединена двусторонними связями с соответствующей вычислительной ячейкой [2]. Closest to the described invention (prototype) is a homogeneous computing environment with a programmable switching memory structure containing a matrix of computing cells connected by bilateral vertical and horizontal connections, a matrix of storage cells connected by vertical and horizontal bilateral connections, each computing cell containing arithmetic -logic device (ALU), command register and decryptor of operation code, two delay elements, three input switching circuits and four circuits outputs switching, and each memory cell contains a control register, a shift register, four input switches, five output switches, a gate, a delay trigger and a switch, each memory cell is connected by two-way communication with the corresponding computational cell [2].

Существенным недостатком такого устройства является то, что при работе вычислительных ячеек (процессоров) однородной вычислительной среды соответствующие им запоминающие ячейки зачастую не используются. Кроме того, при перезаписи программы в матрицы вычислительных и запоминающих ячеек работа всех АЛУ останавливается, что снижает производительность. A significant drawback of such a device is that when computing cells (processors) of a homogeneous computing environment operate, the corresponding storage cells are often not used. In addition, when overwriting a program in a matrix of computational and storage cells, the operation of all ALUs stops, which reduces performance.

Объединение схем процессора и запоминающей ячейки, введение блока настройки и обеспечение возможности записывать команду в блок настройки одновременно с работой АЛУ, повышает эффективность использования узлов процессора, позволяет наиболее быстро и эффективно выполнять сложные программы. Combining processor and storage cell circuits, introducing a tuner and providing the ability to write a command to a tuner at the same time as ALU operation, increases the efficiency of processor nodes and allows complex programs to be executed most quickly and effectively.

Техническим результатом предлагаемого технического решения является повышение производительности работы вычислительной системы. The technical result of the proposed technical solution is to increase the performance of the computing system.

Такой технический результат достигается тем, что в известное устройство введены второй переключатель, первый и второй блоки задержек, контроллер, блок настройки, который первой и второй управляющими шинами связан с первой и второй группами управляющих входов-выходов арифметико-логического устройства, а третья, пятая и шестая управляющие шины, соответственно, соединяют третью, пятую и шестую группы управляющих входов-выходов блока настройки с группами управляющих входов-выходов сдвигающего регистра, входного и выходного коммутатора, причем четвертая управляющая шина соединяет четвертую группу управляющих входов-выходов блока настройки с группами управляющих входов-выходов первого и второго блоков задержек и элемента задержки, вход которого соединен с выходом второго переключателя, при этом первая и вторая группы входов контроллера являются соответственно программными и управляющими входами процессора, а первая и вторая группы выходов контроллера соединены соответственно с группами программных и управляющих входов блока настройки, программный выход которого является программным выходом процессора, причем управляющий выход контроллера соединен с управляющим входом арифметико-логического устройства, группа информационных выходов которого соединена с группой информационных входов первого блока задержек, группа информационных выходов которого соединена с первой группой информационных входов выходного коммутатора, а группа управляющих выходов арифметико-логического устройства соединена со второй группой управляющих входов сдвигового регистра, управляющий и информационный вход которого соединены, соответственно, с управляющим и информационным выходами первого переключателя, а первая группа управляющих входов соединена с группой управляющих выходов входного коммутатора, управляющий и информационный выходы которого соединены, соответственно, с первым управляющим и первым информационным входами первого переключателя, второй и третий управляющие и второй информационный входы которого, соответственно, соединены со вторым и третьим управляющими и вторым информационным выходами арифметико-логического устройства, а группа информационных входов арифметико-логического устройства соединена с первой группой информационных выходов входного коммутатора, при этом информационный выход сдвигового регистра соединен с информационным входом арифметико-логического устройства и с первым информационным входом второго переключателя, управляющий и второй информационный входы которого соединены с первым управляющим и первым информационным выходами арифметико-логического устройства, причем вторая группа информационных выходов входного коммутатора соединена с группой информационных входов второго блока задержек, группа информационных выходов которого соединена со второй группой информационных входов выходного коммутатора, информационный выход которого соединен с информационным входом входного коммутатора, при этом блок настройки содержит оперативное запоминающее устройство, третий переключатель и регистр настройки, первая, вторая, третья, четвертая, пятая и шестая группы управляющих входов-выходов которого являются, соответственно, первой, второй, третьей, четвертой, пятой и шестой группами управляющих входов-выходов блока настройки, группа программных выходов которого соединена с группой выходов третьего переключателя, группа управляющих входов которого связана с группой управляющих входов блока настройки и группами управляющих входов оперативного запоминающего устройства и регистра настройки, группа программных входов которого соединена с программными входами блока настройки и оперативного запоминающего устройства, группа информационных входов-выходов которого шиной ввода-вывода данных связана с группой информационных входов-выходов регистра настройки, причем оперативное запоминающее устройство и регистр настройки через третий переключатель связаны с программным выходом процессора. This technical result is achieved by the fact that a second switch, a first and second delay blocks, a controller, a tuner, which is connected to the first and second control bus arrays of the arithmetic-logic device, and the third, fifth and the sixth control bus, respectively, connect the third, fifth and sixth groups of control inputs and outputs of the tuner with the groups of control inputs and outputs of the shift register, input and output switch, etc. why the fourth control bus connects the fourth group of control inputs and outputs of the tuner with the groups of control inputs and outputs of the first and second delay blocks and the delay element, the input of which is connected to the output of the second switch, while the first and second groups of controller inputs are respectively program and control inputs processor, and the first and second groups of controller outputs are connected respectively to groups of software and control inputs of the tuner, the program output of which is is the software output of the processor, and the control output of the controller is connected to the control input of the arithmetic-logic device, the group of information outputs of which is connected to the group of information inputs of the first delay unit, the group of information outputs of which is connected to the first group of information inputs of the output switch, and the group of control outputs of the arithmetic logic device is connected to the second group of control inputs of the shift register, the control and information input of which respectively, with the control and information outputs of the first switch, and the first group of control inputs connected to the group of control outputs of the input switch, the control and information outputs of which are connected, respectively, with the first control and first information inputs of the first switch, the second and third control and second the information inputs of which, respectively, are connected to the second and third control and second information outputs of the arithmetic-logical device, and the group information inputs of the arithmetic-logic device is connected to the first group of information outputs of the input switch, while the information output of the shift register is connected to the information input of the arithmetic-logic device and to the first information input of the second switch, the control and second information inputs of which are connected to the first control and the first information the outputs of the arithmetic-logical device, and the second group of information outputs of the input switch is connected to a solder of information inputs of the second block of delays, the group of information outputs of which is connected to the second group of information inputs of the output switch, the information output of which is connected to the information input of the input switch, the tuner contains random access memory, a third switch and a setting register, the first, second, third , the fourth, fifth and sixth groups of control inputs and outputs of which are, respectively, the first, second, third, fourth, fifth and sixth groups control inputs and outputs of the tuner, the group of program outputs of which is connected to the group of outputs of the third switch, the group of control inputs of which is connected to the group of control inputs of the tuner and the groups of control inputs of random access memory and the tuning register, the group of program inputs of which is connected to the program inputs of the tuner and random access memory, the group of information inputs / outputs of which is connected to the group of information by the data input-output bus tional inputs and outputs of the setup register, moreover, the random access memory and the setup register through the third switch are connected to the software output of the processor.

На фиг. 1 приведена структурная схема процессора, на фиг. 2 - структурная схема блока настройки, на фиг. 3 - вариант построения структурной схемы матрицы процессоров с последовательным соединением программных входов, на фиг. 4 - вариант построения структурной схемы матрицы процессоров с параллельным соединением программных входов; на фиг. 5 (а, б, в, г) - временные диаграммы различных режимов работы сдвигового регистра. На фигурах приняты следующие обозначения: 1 - контроллер; 2 - блок настройки; 3 - входной коммутатор; 4 - арифметико-логическое устройство (АЛУ); 5 - первый блок задержек; 6 - выходной коммутатор; 7 - первый переключатель; 8 - сдвиговый регистр; 9 - второй переключатель; 10 - элемент задержки; 11 - второй блок задержек, 12 - оперативное запоминающее устройство (ОЗУ), 13 - регистр настройки, 14 - третий переключатель, 15 - устройство управления матрицей процессоров, 16 - процессор, 17 - матрица процессоров. Шины ввода-вывода пронумерованы цифрами в кружках. Типы и порядковые номера тех входов-выходов, для которых невозможно установить взаимно-однозначное соответствие между текстом и графическим изображением, указаны на фиг. 1-4. Для них приняты следующие сокращения: И - информационный, П - программный, У - управляющий (таким образом, "2у" на фиг. 1 обозначает "второй управляющий"). In FIG. 1 is a structural diagram of a processor; FIG. 2 is a structural diagram of a tuner, in FIG. 3 is an embodiment of constructing a block diagram of a processor matrix with serial connection of program inputs, FIG. 4 - an option for constructing a block diagram of a processor matrix with parallel connection of program inputs; in FIG. 5 (a, b, c, d) - time diagrams of various operating modes of the shift register. The following notation is used in the figures: 1 — controller; 2 - setting block; 3 - input switch; 4 - arithmetic logic unit (ALU); 5 - the first block of delays; 6 - output switch; 7 - the first switch; 8 - shift register; 9 - the second switch; 10 - delay element; 11 - the second block of delays, 12 - random access memory (RAM), 13 - settings register, 14 - third switch, 15 - processor matrix control device, 16 - processor, 17 - processor matrix. I / O buses are numbered in circles. The types and serial numbers of those inputs and outputs for which it is not possible to establish a one-to-one correspondence between the text and the graphic image are indicated in FIG. 1-4. The following abbreviations are accepted for them: And - information, P - software, Y - control (thus, "2y" in Fig. 1 means "second control").

Контроллер 1 формирует сигналы, управляющие работой процессора 16. Блок 2 настройки предназначен для хранения информации, передаваемой в ходе работы в блок 2 настройки и получаемой из него, а также для настройки отдельных блоков на выполняемую команду. Перед началом выполнения команды регистр 13 настройки содержит информацию о начальной установке всех триггеров процессора, а по окончании программы - информацию о их текущей установке. Входной коммутатор 3 обеспечивает соединение информационных входов процессора с блоками процессора. АЛУ 4 выполняет над входными данными операции, заданные в регистре 13 настройки. Первый 5 и второй 11 блоки задержек предназначены, соответственно, для синхронизации сигналов группы информационных выходов АЛУ 4 и второй группы информационных выходов входного коммутатора 3. Элемент 10 задержки предназначен для синхронизации сигналов, поступающих с информационного выхода второго переключателя 9, с другими выходными сигналами. Выходной коммутатор 6 обеспечивает соединение блоков процессора с информационными выходами процессора 16. Первый переключатель 7 служит для подачи данных и сигнала остановки сдвига в сдвиговый регистр 8, поступающих либо от АЛУ 4, либо от входного коммутатора 3. Сдвиговый регистр 8 в соответствии с содержимым регистра 13 настройки обеспечивает динамическое или статическое хранение входной последовательности данных и выдачу их на второй переключатель 9 и/или в АЛУ 4. Второй переключатель 9 служит для выдачи на выходной коммутатор 6 данных либо с выхода сдвигового регистра 8, либо с первого информационного выхода АЛУ 4, в зависимости от выполняемой команды. ОЗУ настройки 12 в соответствии с управляющими сигналами, поступающими на группу его управляющих входов, запоминает содержимое нескольких команд, которые загружаются по программным входам блока 2 настройки, и передает их в регистр 13 настройки, содержащий информацию о команде, выполняемой АЛУ 4, адреса входов процессора 16 для приема входных данных и адреса выходов процессора для выдачи результатов. Регистр 13 настройки по шинам ввода-вывода данных с первой по шестую настраивает величину задержки для каждого из блоков задержек 5, 11 и элемента задержки 10, устанавливает начальное состояние отдельных триггеров процессора, определяет адреса поступления данных для входного 3 и выходного 6 коммутаторов и рабочую длину сдвигового регистра 8. Третий переключатель 14 в соответствии с управляющими сигналами, поступающими на группу управляющих входов блока 2 настройки, обеспечивает выдачу на программный выход процессора 16 содержимого либо регистра 13 настройки, либо ОЗУ 12. Процессоры 16 объединяются в матрицу 17 и работают под управлением общего устройства управления матрицы процессоров 15. The controller 1 generates signals that control the operation of the processor 16. The setting unit 2 is designed to store information transmitted during operation to the setting unit 2 and obtained from it, as well as to configure individual units for the command to be executed. Before the start of the command, the setup register 13 contains information about the initial installation of all processor triggers, and at the end of the program, information about their current installation. The input switch 3 provides a connection information processor inputs with the processor units. ALU 4 performs on the input data operations specified in the register 13 settings. The first 5 and second 11 delay blocks are intended, respectively, for synchronizing the signals of the information output group of the ALU 4 and the second group of information outputs of the input switch 3. The delay element 10 is used to synchronize the signals coming from the information output of the second switch 9 with other output signals. The output switch 6 provides the connection of the processor units with the information outputs of the processor 16. The first switch 7 serves to supply data and a shear stop signal to the shift register 8, either from the ALU 4 or from the input switch 3. The shift register 8 in accordance with the contents of the register 13 settings provides dynamic or static storage of the input data sequence and its output to the second switch 9 and / or to the ALU 4. The second switch 9 serves to output data to the output switch 6 or from the output of the shift register 8, or from the first information output of the ALU 4, depending on the command being executed. RAM settings 12 in accordance with the control signals received by the group of its control inputs, remembers the contents of several commands that are loaded on the program inputs of the settings block 2, and transfers them to the settings register 13, containing information about the command executed by ALU 4, the addresses of the processor inputs 16 for receiving input data and output addresses of the processor for outputting results. The settings register 13 for the first to sixth data input-output buses sets the delay value for each of the delay blocks 5, 11 and delay element 10, sets the initial state of the individual processor triggers, determines the data arrival addresses for input 3 and output 6 of the switches and the working length shift register 8. The third switch 14 in accordance with the control signals received by the group of control inputs of the unit 2 settings, provides the output to the software output of the processor 16 content or regis ra 13 settings, or the RAM 12. The processors 16 are combined in matrix 17 and the running total of the matrix processor control device 15.

Устройство работает следующим образом. Все блоки процессора синхронизированы тактовыми импульсами от общего генератора (на фиг. 1-4 не показан). Основные блоки процессора: АЛУ 4, блок 2 настройки, сдвиговый регистр 8. Кроме того, несколько блоков участвуют в передаче данных без обработки от информационных входов процессора к его информационным выходам (через входной коммутатор 3 к выходному коммутатору 6 через блок 11 задержек). Все основные блоки работают независимо друг от друга. То есть процессор может одновременно записывать команды в блок 2 настройки, обрабатывать в АЛУ 4 входные данные и выдавать результат, передавать без обработки данные с нескольких входов процессора на несколько выходов процессора, а также принимать информацию в сдвиговый регистр 8 и выдавать ее из него. Для задания конфигурации процессора используется регистр 13 настройки. The device operates as follows. All processor units are synchronized by clock pulses from a common generator (not shown in Fig. 1-4). The main blocks of the processor: ALU 4, block 2 settings, shift register 8. In addition, several blocks are involved in the transfer of data without processing from the information inputs of the processor to its information outputs (through input switch 3 to output switch 6 through block 11 delays). All main units work independently of each other. That is, the processor can simultaneously write commands to the tuner 2, process the input data in ALU 4 and give the result, transmit data without processing from several processor inputs to several processor outputs, and also receive information in shift register 8 and output it from it. To specify the configuration of the processor is used register 13 settings.

Каждый процессор 16 имеет группы информационных входов и выходов данных, которые могут быть связаны с соседними процессорами 16 или внешними устройствами (см. фиг. 3). Несколько блоков процессора могут использовать одни и те же входные данные. Если к одному из выходов процессора 16 подключены выходы нескольких блоков, то их значения суммируются в "логическое ИЛИ". Кроме возможности получения информации от соседних процессоров существует возможность подключать информационные входы коммутатора к сигналам "константа 0", "константа 1" (при этом на входе постоянно поддерживается соответствующий уровень сигнала) и сигналу "обратная связь". Входы "константа 0" и "константа 1" принадлежат группе информационных входов входного коммутатора 3. Сигнал "обратная связь" является локальным внутри процессора. Он служит для передачи информации от любого из входов выходного коммутатора 6 на информационный вход входного коммутатора 3 без использования других процессоров, что повышает эффективность использования процессора 16. Each processor 16 has a group of information inputs and outputs of data that can be connected to neighboring processors 16 or external devices (see Fig. 3). Multiple processor units can use the same input. If the outputs of several blocks are connected to one of the outputs of the processor 16, then their values are summed into a "logical OR". In addition to the possibility of obtaining information from neighboring processors, it is possible to connect the information inputs of the switch to the signals "constant 0", "constant 1" (at the same time, the corresponding signal level is constantly maintained at the input) and the feedback signal. The inputs "constant 0" and "constant 1" belong to the group of information inputs of the input switch 3. The signal "feedback" is local inside the processor. It serves to transfer information from any of the inputs of the output switch 6 to the information input of the input switch 3 without using other processors, which increases the efficiency of processor 16.

АЛУ 4 представляет собой вычислительное ядро процессора 16. Оно выполняет поразрядные вычисления над потоками данных. Кроме вычислительных функций АЛУ 4 управляет сдвиговым регистром 8, если он необходим для выполнения операции. АЛУ 4 производит операции над данными, поступающими на группу информационных входов. Результаты через группу информационных выходов постоянно поступают на выходы процессора через первый блок 5 задержек и выходной коммутатор 6, первый информационный выход АЛУ 4 используется только в некоторых операциях, использующих сдвиговый регистр 8. В этом случае переключатель 9 подает на выходной коммутатор 6 через элемент 10 задержки данные с первого информационного выхода АЛУ 4. При этом данные на информационный вход сдвигового регистра 8 через первый переключатель 7 подаются со второго информационного выхода АЛУ 4, которое выполняет операцию, определяемую регистром 13 настройки. Набор операций, выполняемых процессором, по составу аналогичен системе команд RISC-пpoцeccopa [3] и может меняться в зависимости от круга решаемых задач. ALU 4 is the computational core of processor 16. It performs bitwise computing on data streams. In addition to the computing functions, the ALU 4 controls the shift register 8, if it is necessary for the operation. ALU 4 performs operations on the data received at the group of information inputs. The results through the group of information outputs are constantly supplied to the processor outputs through the first delay unit 5 and the output switch 6, the first information output of the ALU 4 is used only in some operations using shift register 8. In this case, the switch 9 supplies the output switch 6 through the delay element 10 data from the first information output of the ALU 4. In this case, the data to the information input of the shift register 8 through the first switch 7 are supplied from the second information output of the ALU 4, which performs perazim defined register 13 settings. The set of operations performed by the processor is similar in composition to the RISC-process command system [3] and can vary depending on the range of tasks.

Сдвиговый регистр 8 процессора - это регистр программируемой длины, рабочая длина которого определяется блоком 2 настройки. Сдвиговый регистр 8 имеет последовательные информационные вход и выход, а также три управляющих входа, по которым поступают сигналы "хранение", "цикл", "направление", и может работать в трех режимах: "сдвиг" (фиг. 5.а.); "зацикливание" (фиг. 5. в.); "хранение" (фиг. 5.г.). The shift register 8 of the processor is a programmable length register, the working length of which is determined by block 2 settings. Shift register 8 has sequential information input and output, as well as three control inputs, which receive signals "storage", "cycle", "direction", and can operate in three modes: "shift" (Fig. 5.a.) ; "looping" (Fig. 5. c.); "storage" (Fig. 5.d.).

В режиме "сдвиг" в сдвиговый регистр 8 последовательно вводятся биты, поступающие на его информационный вход и через время, определяемое запрограммированной (рабочей) длиной сдвигового регистра 8, выдаются на его информационный выход. Бит, поступающий на вход сдвигового регистра 8 на n-ном тактовом импульсе, выдается на его выход на n+m-ном такте, где m - рабочая длина сдвигового регистра 8 в битах. При включении режима "зацикливание", по сигналу "цикл" вход сдвигового регистра 8 подключается к его выходу. Таким образом, входная информация игнорируется, а биты информации, находящиеся в сдвиговом регистре 8, появляются на его выходе с периодом m тактов. Данный режим может использоваться для динамического запоминания информации. При включенном режиме "хранение" информация с выхода сдвигового регистра 8 блокируется (приравнивается нулю), а сдвиг информации в сдвиговом регистре 8 не производится. Входная информация игнорируется. Управление режимами осуществляется с помощью сигналов "хранение", "цикл". Существует также возможность изменить направление сдвига с помощью сигнала "направление"(фиг. 5.б. ). При изменении направления сдвига разряд, поступивший последним на вход сдвигового регистра 8, первым появится на его выходе на следующем такте. Сигналы "направление" и "цикл" подаются со входного коммутатора 3 на первую группу управляющих входов сдвигового регистра 8. Сигнал "хранение" подается с управляющего выхода входного коммутатора 3 или с третьего управляющего выхода АЛУ 4 (что зависит от выполняемой операции) соответственно на первый и второй управляющие входы первого переключателя 7, который управляется сигналом, поступающим со второго управляющего выхода АЛУ 4. In the "shift" mode, bits arriving at its information input are sequentially entered into the shift register 8 and after a time determined by the programmed (working) length of the shift register 8 are output to its information output. The bit received at the input of the shift register 8 at the n-th clock pulse is output at its n + m-th cycle, where m is the working length of the shift register 8 in bits. When you turn on the "loop", the signal "cycle" the input of the shift register 8 is connected to its output. Thus, the input information is ignored, and the bits of information located in the shift register 8 appear on its output with a period of m clock cycles. This mode can be used for dynamic storage of information. When the "storage" mode is activated, the information from the output of the shift register 8 is blocked (equals zero), and the information is not shifted in the shift register 8. Input information is ignored. The control of the modes is carried out using the signals "storage", "cycle". There is also the opportunity to change the direction of the shift using the signal "direction" (Fig. 5.b.). When the direction of the shift is changed, the last discharge to the input of the shift register 8 will be the first to appear at its output at the next clock cycle. The direction and cycle signals are supplied from the input switch 3 to the first group of control inputs of the shift register 8. The storage signal is supplied from the control output of the input switch 3 or from the third control output of the ALU 4 (which depends on the operation performed), respectively, to the first and the second control inputs of the first switch 7, which is controlled by a signal from the second control output of the ALU 4.

Передача данных без обработки (транзит) осуществляется по нескольким линиям, работающим независимо друг от друга - от входного коммутатора 3 к выходному коммутатору 6 через блок 11 задержек. Адреса информационных входов и выходов для каждой из них определяются содержимым регистра 13 настройки. Данные, поступающие на вход линии транзита на n-ном такте, появляются на выходе на n+k-ом такте, где k - величина задержки в тактах и определяется регистром 13 настройки. Data transfer without processing (transit) is carried out on several lines operating independently from each other - from the input switch 3 to the output switch 6 through the block 11 delays. The addresses of the information inputs and outputs for each of them are determined by the contents of the register 13 settings. The data received at the input of the transit line at the nth step appears at the output at the n + kth step, where k is the delay value in cycles and is determined by the setting register 13.

Блоки 5, 11 задержек представляют собой наборы сдвиговых регистров переменной разрядности, каждый из которых является элементом 10 задержки. Необходимость подключения дополнительной задержки и ее величина определяется командой, содержащейся в регистре 13 настройки. Blocks 5, 11 of the delays are sets of shift registers of variable length, each of which is a delay element 10. The need to connect additional delay and its value is determined by the command contained in the register 13 settings.

Процессор 16 имеет несколько режимов функционирования. Они предназначены для подготовки и выполнения команды. Большинство режимов могут быть совмещены по времени выполнения. Режимы работы процессора задаются словом режима, которое сопровождается сигналом "установка режима" и подается из устройства 15 управления матрицей процессоров через группу управляющих входов процессора на группу управляющих входов контроллера 1, который декодирует внешние управляющие сигналы и формирует сигналы управления блоками процессора в соответствии с таблицей перекодировки, содержимое которой определяется конкретной реализацией интерфейса устройства управления матрицей процессоров 15, и самих процессоров. The processor 16 has several modes of operation. They are designed to prepare and execute the team. Most modes can be combined at runtime. The processor operating modes are set by the mode word, which is accompanied by a “mode setting” signal and is supplied from the processor matrix control device 15 through the group of control inputs of the processor to the group of control inputs of the controller 1, which decodes external control signals and generates control signals of the processor units in accordance with the conversion table , the content of which is determined by the specific implementation of the interface of the matrix control device of the processor 15, and the processors themselves.

Режим "Загрузка/Выгрузка" предназначен для загрузки команд в ОЗУ 12 и выгрузки команд из ОЗУ 12 или регистра 13 настройки блока 2 настройки. Одновременно с загрузкой команды, поступающей на программные входы процессора, команда, которая ранее содержалась в ОЗУ 12 и/или регистре 13 настройки, через переключатель 14 поступает на программный выход процессора. Управляющие входы блоков настройки 2 всех процессоров объединяются общей управляющей шиной. Программные входы и выходы процессоров матрицы 17 могут быть соединены по-разному, но во всех случаях они подключаются к устройству управления матрицей процессоров 15 через шину ввода-вывода программы. На фиг. 3 и фиг. 4 приведены два варианта - с параллельным и последовательным соединением программных входов-выходов. The "Download / Unload" mode is intended for loading commands into RAM 12 and downloading commands from RAM 12 or the register 13 of the tuning block 2 settings. Simultaneously with the loading of the command received at the program inputs of the processor, the command that was previously contained in the RAM 12 and / or the setting register 13, through the switch 14 is fed to the program output of the processor. The control inputs of tuners 2 of all processors are combined by a common control bus. The software inputs and outputs of the processors of the matrix 17 can be connected in different ways, but in all cases they are connected to the device control matrix of the processors 15 through the program I / O bus. In FIG. 3 and FIG. Figure 4 shows two options - with parallel and serial connection of software inputs and outputs.

При последовательном соединении матрица процессоров 17 организована в виде строк. Все процессоры 16 объединяются таким образом, что программный выход первого процессора 16 строки подается на программный вход второго процессора 16 строки. Программный выход последнего процессора 16 первой строки подается на программный вход первого процессора 16 второй строки и так далее, до последнего процессора 16 последней строки. Таким образом организуется как бы единая память с последовательным заполнением. При этом сначала подается команда, записываемая в блок настройки 2 последнего процессора 16 последней строки, которая последовательно проходит через блоки 2 настроек всех процессоров. За ней без задержки сразу же идет команда предпоследнего процессора 16 последней строки и так далее. Когда будет введена команда для первого процессора 16 первой строки, блоки настройки 2 всех процессоров 16 будут содержать предназначавшуюся им команду. При этом команды, которые ранее содержались в процессорах, будут последовательно выданы на программный выход последнего процессора 16 последней строки матрицы 17 процессоров. Так как они содержат информацию о текущем состоянии внутренних триггеров процессора (если выгружались непосредственно из регистров 13 настройки), то эта информация может использоваться при отладке программ. When connected in series, the matrix of processors 17 is organized in the form of strings. All processors 16 are combined in such a way that the software output of the first row processor 16 is supplied to the software input of the second row processor 16. The software output of the last processor 16 of the first line is fed to the software input of the first processor 16 of the second line and so on, until the last processor 16 of the last line. Thus, a uniform memory with sequential filling is organized, as it were. In this case, the command is first written to the tuner 2 of the last processor 16 of the last line, which sequentially passes through the tuner 2 blocks of all processors. After it, without delay, immediately comes the command of the penultimate processor 16 of the last line and so on. When a command is entered for the first processor 16 of the first row, the tuning units 2 of all processors 16 will contain the command intended for them. In this case, the commands that were previously contained in the processors will be sequentially issued to the software output of the last processor 16 of the last row of the processor matrix 17. Since they contain information about the current state of the internal triggers of the processor (if they were downloaded directly from the settings registers 13), this information can be used when debugging programs.

При параллельном соединении все процессоры 16 объединяются общей программной шиной, по которой подаются адрес процессора 16 и команда для него, на шину же выгружается старая команда. В этом случае возможна выборочная загрузка-выгрузка блоков 2 настройки отдельных процессоров 16. Возможны комбинации двух вышеописанных типов соединения, когда процессоры разбиваются на группы, внутри которых программные входы-выходы соединяются последовательно, а группы соединяются параллельно. Это можно использовать, когда матрица процессоров 17 реализована в виде нескольких интегральных схем (групп). Каждая группа имеет свой адрес, и при записи информации в блоки настройки 2 одной группы адрес не меняется. In a parallel connection, all processors 16 are connected by a common software bus, through which the address of processor 16 and a command for it are supplied, while the old command is unloaded onto the bus. In this case, it is possible to selectively load / unload blocks of settings 2 of individual processors 16. Combinations of the two types of connection described above are possible when the processors are divided into groups, inside of which program inputs and outputs are connected in series, and groups are connected in parallel. This can be used when the matrix of processors 17 is implemented in the form of several integrated circuits (groups). Each group has its own address, and when information is written to the setting blocks 2 of one group, the address does not change.

В режиме "Активизация команды" процессор 16 производит загрузку команды из ОЗУ 12 в регистр 13 настройки. После этого процессор 16 готов к выполнению команды и автоматически переходит в состояние "Нет операции", в котором он ничего не делает. Если в это время на вход поступает какая-нибудь информация, то она теряется. Адрес ОЗУ 12, по которому содержится команда, поступает на программные входы блока 2 настройки одновременно с тем, как слово режима поступает на управляющие входы процессора. In the "Command activation" mode, the processor 16 loads the command from RAM 12 into the configuration register 13. After that, the processor 16 is ready to execute the command and automatically switches to the "No operation" state, in which it does nothing. If at this time any information arrives at the input, then it is lost. The address of RAM 12, at which the command is contained, arrives at the program inputs of the tuner 2 at the same time as the mode word arrives at the control inputs of the processor.

В режиме "Активизация команды с обменом" процессор 16 производит загрузку новой команды из ОЗУ 12 в регистр 13 настройки аналогично режиму "Активизация команды". Одновременно старая команда из регистра 13 настройки записывается в ОЗУ 12 по тому же адресу, по которому хранилась новая команда. Этот режим используется при прерывании программы, выполняемой матрицей 17 процессоров, и заменой ее другой, которая предварительно была записана во все процессоры матрицы 17. In the "Activation of the command with the exchange" mode, the processor 16 loads the new command from the RAM 12 into the configuration register 13 similarly to the "Activation of the command" mode. At the same time, the old command from the setup register 13 is written to RAM 12 at the same address where the new command was stored. This mode is used when interrupting a program executed by a matrix of 17 processors, and replacing it with another, which was previously recorded in all processors of the matrix 17.

Основным режимом работы является "Выполнение команды". В этом режиме процессор 16 обрабатывает в АЛУ 4 данные, поступающие на информационные входы процессора, и выдает результаты на его информационные выходы, кроме того, он может одновременно записывать команды в ОЗУ 12, передавать без обработки данные с нескольких входов процессора на несколько выходов процессора, а также принимать информацию в сдвиговый регистр 8 и выдавать ее из него. Пока слово режима не изменяется, процессор обрабатывает поток данных, поступающих на его информационные входы, выполняя над ними одни и те же действия. Типовая последовательность смены режимов выглядит так:
"Загрузка/Выгрузка" - "Активизация команды" - "Выполнение команды"-"Загрузка/Выгрузка"...
The main mode of operation is "Command Execution". In this mode, the processor 16 processes in ALU 4 the data supplied to the information inputs of the processor, and outputs the results to its information outputs, in addition, it can simultaneously write commands to RAM 12, transmit without processing data from several processor inputs to several processor outputs, as well as receive information in the shift register 8 and issue it from it. While the mode word does not change, the processor processes the stream of data arriving at its information inputs, performing the same actions on them. A typical sequence of regime changes looks like this:
"Download / Upload" - "Activate a command" - "Execute a command" - "Load / Upload" ...

Предлагаемое техническое решение позволяет наиболее быстро и эффективно выполнять сложные программы. На его основе могут быть созданы высокопроизводительные вычислительные системы для обработки больших потоков информации. The proposed technical solution allows you to quickly and efficiently execute complex programs. Based on it, high-performance computing systems can be created for processing large flows of information.

Источники информации
1. А.И. Водяхо и др. Высокопроизводительные системы обработки данных. М. : Высшая школа, c. 152-163, 1997.
Sources of information
1. A.I. Vodyaho and others. High-performance data processing systems. M.: High School, c. 152-163, 1997.

2. RU, патент 2134448 C1, кл. 6 G 06 F 15/16, 7/00, 1999. 2. RU, patent 2134448 C1, cl. 6 G 06 F 15/16, 7/00, 1999.

3. Корнеев В.В. Современные микропроцессоры. М., Нолидж, 1999. 3. Korneev V.V. Modern microprocessors. M., Nledge, 1999.

Claims (2)

1. Процессор однородной вычислительной среды, содержащий входной коммутатор, арифметико-логическое устройство, сдвигающий регистр, элемент задержки, первый переключатель и выходной коммутатор, информационный вход которого соединен с информационным выходом элемента задержки, причем группа входов входного коммутатора и выходов выходного коммутатора являются, соответственно, информационными входами и выходами процессора, отличающийся тем, что в него введены второй переключатель, первый и второй блоки задержек, контроллер, блок настройки, который первой и второй управляющими шинами связан с первой и второй группами управляющих входов-выходов арифметико-логического устройства, а третья, пятая и шестая управляющие шины, соответственно, соединяют третью, пятую и шестую группы управляющих входов-выходов блока настройки с группами управляющих входов-выходов сдвигающего регистра, входного и выходного коммутаторов, причем четвертая управляющая шина соединяет четвертую группу управляющих входов-выходов блока настройки с группами управляющих входов-выходов первого и второго блоков задержек и элемента задержки, вход которого соединен с выходом второго переключателя, при этом первая и вторая группы входов контроллера являются соответственно программными и управляющими входами процессора, а первая и вторая группы выходов контроллера соединены соответственно с группами программных и управляющих входов блока настройки, программный выход которого является программным выходом процессора, причем управляющий выход контроллера соединен с управляющим входом арифметико-логического устройства, группа информационных выходов которого соединена с группой информационных входов первого блока задержек, группа информационных выходов которого соединена с первой группой информационных входов выходного коммутатора, а группа управляющих выходов арифметико-логического устройства соединена со второй группой управляющих входов сдвигового регистра, управляющий и информационный входы которого соединены, соответственно, с управляющим и информационным выходами первого переключателя, а первая группа управляющих входов соединена с группой управляющих выходов входного коммутатора, первый управляющий и информационный выходы которого соединены, соответственно, с первым управляющим и первым информационным входами первого переключателя, второй и третий управляющие и второй информационный входы которого, соответственно, соединены со вторым и третьим управляющими и вторым информационным выходами арифметико-логического устройства, а группа информационных входов арифметико-логического устройства соединена с первой группой информационных выходов входного коммутатора, при этом информационный выход сдвигового регистра соединен с информационным входом арифметико-логического устройства и с первым информационным входом второго переключателя, управляющий и второй информационный входы которого соединены с первым управляющим и первым информационным выходами арифметико-логического устройства, причем вторая группа информационных выходов входного коммутатора соединена с группой информационных входов второго блока задержек, группа информационных выходов которого соединена со второй группой информационных входов выходного коммутатора, информационный выход которого соединен с информационным входом входного коммутатора. 1. A homogeneous computing environment processor comprising an input switch, an arithmetic logic device, a shift register, a delay element, a first switch and an output switch, the information input of which is connected to the information output of the delay element, the group of inputs of the input switch and outputs of the output switch being, respectively , information inputs and outputs of the processor, characterized in that the second switch, the first and second delay blocks, the controller, the tuner are introduced into it and, which the first and second control buses are connected to the first and second groups of control inputs and outputs of the arithmetic logic device, and the third, fifth and sixth control buses, respectively, connect the third, fifth and sixth groups of control inputs and outputs of the tuner with the groups of control inputs and outputs of the shift register, input and output switches, the fourth control bus connecting the fourth group of control inputs and outputs of the tuner to the groups of control inputs and outputs of the first and second o delay blocks and a delay element, the input of which is connected to the output of the second switch, while the first and second groups of inputs of the controller are software and control inputs of the processor, and the first and second groups of outputs of the controller are connected respectively to the groups of software and control inputs of the tuner, software the output of which is the software output of the processor, and the control output of the controller is connected to the control input of the arithmetic-logic device, a group of information the output outputs of which are connected to the group of information inputs of the first delay unit, the group of information outputs of which is connected to the first group of information inputs of the output switch, and the group of control outputs of the arithmetic-logic device is connected to the second group of control inputs of the shift register, the control and information inputs of which are connected, respectively , with the control and information outputs of the first switch, and the first group of control inputs is connected to the group of control in moves of the input switch, the first control and information outputs of which are connected, respectively, with the first control and first information inputs of the first switch, the second and third control and second information inputs of which, respectively, are connected with the second and third control and second information outputs of the arithmetic-logic device and the group of information inputs of the arithmetic logic device is connected to the first group of information outputs of the input switch, while the information the output of the shift register is connected to the information input of the arithmetic logic device and to the first information input of the second switch, the control and second information inputs of which are connected to the first control and the first information outputs of the arithmetic logic device, and the second group of information outputs of the input switch is connected to the group of information the inputs of the second block of delays, the group of information outputs of which are connected to the second group of information inputs th switch, the information output of which is connected to the information input of the input switch. 2. Процессор однородной вычислительной среды по п. 1, отличающийся тем, что блок настройки содержит оперативное запоминающее устройство, третий переключатель и регистр настройки, первая, вторая, третья, четвертая, пятая и шестая группы управляющих входов-выходов которого являются, соответственно, первой, второй, третьей, четвертой, пятой и шестой группами управляющих входов-выходов блока настройки, группа программных выходов которого соединена с группой выходов третьего переключателя, группа управляющих входов которого связана с группой управляющих входов блока настройки и группами управляющих входов оперативного запоминающего устройства и регистра настройки, группа программных входов которого соединена с программными входами блока настройки и оперативного запоминающего устройства, группа информационных входов-выходов которого шиной ввода-вывода данных связана с группой информационных входов-выходов регистра настройки, причем оперативное запоминающее устройство и регистр настройки через третий переключатель связаны с программным выходом процессора. 2. The processor of a homogeneous computing environment according to claim 1, characterized in that the tuner comprises a random access memory, a third switch and a settings register, the first, second, third, fourth, fifth and sixth groups of control inputs and outputs of which are, respectively, the first , the second, third, fourth, fifth and sixth groups of control inputs and outputs of the tuner, the group of program outputs of which is connected to the group of outputs of the third switch, the group of control inputs of which is connected with the group control inputs of the tuner and groups of control inputs of the random access memory and the tuning register, the group of program inputs of which is connected to the program inputs of the tuner and random access memory, the group of information inputs and outputs of which is connected with the data input-output bus to the group of information inputs and outputs of the tuning register moreover, the random access memory and the setup register through the third switch are connected with the software output of the processor.
RU2000126004/09A 2000-10-18 2000-10-18 Processor of uniform computation environment RU2180969C1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
RU2000126004/09A RU2180969C1 (en) 2000-10-18 2000-10-18 Processor of uniform computation environment
AU2002212873A AU2002212873A1 (en) 2000-10-18 2001-10-17 Processor for homogeneous computing environment
PCT/RU2001/000422 WO2002033560A1 (en) 2000-10-18 2001-10-17 Processor for homogeneous computing environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2000126004/09A RU2180969C1 (en) 2000-10-18 2000-10-18 Processor of uniform computation environment

Publications (1)

Publication Number Publication Date
RU2180969C1 true RU2180969C1 (en) 2002-03-27

Family

ID=20241052

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2000126004/09A RU2180969C1 (en) 2000-10-18 2000-10-18 Processor of uniform computation environment

Country Status (3)

Country Link
AU (1) AU2002212873A1 (en)
RU (1) RU2180969C1 (en)
WO (1) WO2002033560A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2519387C2 (en) * 2012-08-02 2014-06-10 Российская Федерация, От Имени Которой Выступает Министерство Промышленности И Торговли Российской Федерации Method and apparatus for supporting alternative computations in reconfigurable system-on-chip

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4562538A (en) * 1983-05-16 1985-12-31 At&T Bell Laboratories Microprocessor having decision pointer to process restore position
SU1247884A1 (en) * 1984-04-23 1986-07-30 Предприятие П/Я М-5339 Processor
SU1359782A1 (en) * 1984-09-11 1987-12-15 Организация П/Я М-5222 Homogeneous computing structure module
SU1345207A1 (en) * 1985-05-05 1987-10-15 Таганрогский радиотехнический институт им.В.Д.Калмыкова Processor module of homogeneous computing structure
RU2134448C1 (en) * 1998-08-19 1999-08-10 ООО "Суперкомпьютерные системы" Homogeneous computing medium with double- layer programmable structure

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2519387C2 (en) * 2012-08-02 2014-06-10 Российская Федерация, От Имени Которой Выступает Министерство Промышленности И Торговли Российской Федерации Method and apparatus for supporting alternative computations in reconfigurable system-on-chip

Also Published As

Publication number Publication date
WO2002033560A1 (en) 2002-04-25
AU2002212873A1 (en) 2002-04-29

Similar Documents

Publication Publication Date Title
US6288566B1 (en) Configuration state memory for functional blocks on a reconfigurable chip
US5915123A (en) Method and apparatus for controlling configuration memory contexts of processing elements in a network of multiple context processing elements
US6108760A (en) Method and apparatus for position independent reconfiguration in a network of multiple context processing elements
US6526498B1 (en) Method and apparatus for retiming in a network of multiple context processing elements
US4591979A (en) Data-flow-type digital processing apparatus
US4745544A (en) Master/slave sequencing processor with forced I/O
US5036453A (en) Master/slave sequencing processor
US4591981A (en) Multimicroprocessor system
US20020133688A1 (en) SIMD/MIMD processing on a reconfigurable array
US8949576B2 (en) Arithmetic node including general digital signal processing functions for an adaptive computing machine
US6067615A (en) Reconfigurable processor for executing successive function sequences in a processor operation
JP4485272B2 (en) Semiconductor device
EP0377976B1 (en) Microcode control apparatus utilizing programmable logic array circuits
KR100435349B1 (en) Parallel processing unit and digital audio signal processing apparatus and method including the same
JP3987784B2 (en) Array type processor
EP1388048B1 (en) Storage system for use in custom loop accellerators
US20040054818A1 (en) Flexible results pipeline for processing element
JP2006040254A (en) Reconfigurable circuit and processor
RU2180969C1 (en) Processor of uniform computation environment
US4809171A (en) Concurrent processing of data operands
US7814296B2 (en) Arithmetic units responsive to common control signal to generate signals to selectors for selecting instructions from among respective program memories for SIMD / MIMD processing control
US20070220236A1 (en) Reconfigurable computing device
JPS6069758A (en) Multiport pipeline-structured processor
US5687135A (en) Count unit for nonvolatile memories
RU2134448C1 (en) Homogeneous computing medium with double- layer programmable structure

Legal Events

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

Effective date: 20041019