Claims (5)
1.Низка надежность работы, т.к. реа- л1заци аналогов и прототипа на основе выпускаемых нашей промышленностью серийных микросхем требует использовани большого числа кристаллов из-за большого количества внешних выводов дл ввода-вы- в )да данных. Существующие аналоги и прототип используют п m-рэзр дных каналов в юда строк матрицы А и п т-разр дных к жалов вывода результатов, где п - пор - дэк матрицы А. Большое число внешних вы- в )дов приводит к увеличению веро тности отказов, т.к. известно, что внешние выводы микросхем вл ютс самыми ненадежными элементами. Кроме того, размещение процессорных блоков на большом количестве микросхем вызывает необходимость изготовлени соответствующего числа сигнальных линий св зи, что в свою очередь снижает надежность аппаратуры.1.Low reliability, as The implementation of analogs and prototypes based on serial microcircuits manufactured by our industry requires the use of a large number of crystals due to the large number of external terminals for input-output and data. Existing analogs and prototypes use n m-bit channels in the rows of matrix A and n m-bits to sting output results, where n is the port and deck of matrix A. A large number of external outputs leads to an increase in the probability of failures because It is known that the external terminals of microcircuits are the most unreliable elements. In addition, the placement of processor units on a large number of microcircuits necessitates the manufacture of an appropriate number of signal lines, which in turn reduces the reliability of the equipment.
2.Низкие технологичность и отказоустойчивость из-за необходимости использовани большого числа микросхем при с юей реализации.2. Low manufacturability and fault tolerance due to the need to use a large number of microcircuits with implementation.
3.Высока стоимость.3. High cost.
4.Большие аппаратурные затраты, т.к. к лждый процессорный блок должен иметь с юй блок оперативной пам ти. Кроме того, в устройстве необходимы адресный блок и блок пам ти дл хранени всех столбцов матрицы В.4.Larger hardware costs, because Each processor unit must have a RAM unit. In addition, an address block and a memory block are required in the device to store all columns of matrix B.
Цель изобретени - упрощение устрой- с ва за счет сокращени числа выводных контактов и уменьшение аппаратурных затрат .The purpose of the invention is to simplify the device by reducing the number of output contacts and reducing hardware costs.
Поставленна цель достигаетс тем, что в устройство дл перемножени матриц, со- Дфжащее линейную матрицу из п процессорных блоков (п - пор док матрицы), блок управлени , причем каждый процессорный б ток содержит узел умножени и выходной регистр, причем, в каждом процессорном б токе первый управл ющий вход узла умножени соединен соответственно с (п+1)-м в входом блока управлени , второй выход уала умножени соединен с первым информационным входом выходного регистра, в;сод второго сомножител узла умножени первого процессорного блока соединен со вторым информационным входом устройст- в,), второй управл ющий вход узла умноже- н 1 первого процессорного блока и первый управл ющий вход выходного регистра первого процессорного блока соединены с (г+2)-м выходом блока управлени , выход выходного регистра первого процессорного блока соединен с информационным выхо- устройства, (п+4)-й выход блока управлени соединен с выходом признака начала результирующей матрицы, первый и второйThis goal is achieved by the fact that in the device for multiplying matrices, containing a linear matrix of n processor units (n is the order of the matrix), a control unit, and each processor unit contains a multiplication unit and an output register, moreover, in each processor unit current, the first control input of the multiplication unit is connected respectively to the (n + 1) -th input of the control unit, the second output of the multiplication unit is connected to the first information input of the output register, c; the second factor of the multiplication unit of the first processor unit with dynamin with the second information input of the device,), the second control input of the node is multiplied by 1 of the first processor unit and the first control input of the output register of the first processor unit is connected to the (r + 2) -th output of the control unit, the output of the output register of the first the processor unit is connected to the information output device, the (n + 4) -th output of the control unit is connected to the output of the start indicator of the resulting matrix, the first and second
входы блока управлени соединены соответственно со входом признака начэлэ входных матриц и тактовым входом устройства , введен мультиплексор, первый и второй информационные входы которого соединены соответственно с первым выходом узла умножени и с первым информаци- онным входом устройства, выход мультиплексора соединен со входом перво0 го сомножител узла умножени , управл ющие входы мультиплексоров с первого по n-й процессорных блоков соединены соответственно с первого по n-й выходами блока управлени , третий выход узла умножени the inputs of the control unit are connected respectively to the input of the sign of the input matrix and the clock input of the device, a multiplexer is introduced, the first and second information inputs of which are connected respectively to the first output of the multiplication unit and to the first information input of the device, the output of the multiplexer is connected to the input of the first node multiplier multiplication, the control inputs of the multiplexers from the first to the n-th processor units are connected respectively to the first to the n-th outputs of the control unit, the third output of the multiplication unit
5 каждого предыдущего процессорного блока соединен со вторым информационным входом узла умножени последующего процессорного блока, выход выходного регистра каждого последующего процессорного бло0 ка соединен со вторым информационным входом выходного регистра предыдущего процессорного блока, в каждом процессорном блоке третий управл ющий вход узла умножени соединен с (п+3)-м выходом бло5 ка управлени , второй управл ющий вход выходного регистра соединен с (п-Н}-м выходом блока управлени , второй управл ющий вход узлов умножени со второго по п-й . процессорных блоков и первые управл ю0 щие входы выходных регистров со второго по n-й процессорных блоков соединены с (п+2)-м выходом блока управлени .5 of each previous processor unit is connected to the second information input of the multiplication unit of the subsequent processor unit, the output register of each subsequent processor unit is connected to the second information input of the output register of the previous processor unit, in each processor unit the third control input of the multiplication unit is connected to (n + 3) -th output of the control unit 5, the second control input of the output register is connected to the (p-H} -th output of the control unit, the second control input of the multiplication nodes with second to pth processor units and the first control inputs of the output registers from the second to n-th processor units are connected to the (n + 2) -th output of the control unit.
Узел умножени каждого процессорного блока содержит конвейерный умножи5 тель, накапливающий сумматор и элемент задержки, причем конвейерный умножитель содержит первую и вторую группы регистров и группу сумматоров, причем информационные входы регистров первыйThe multiplication unit of each processor unit contains a pipeline multiplier5 accumulating an adder and a delay element, the pipeline multiplier containing the first and second groups of registers and a group of adders, and the information inputs of the registers are the first
0 и второй групп вл ютс соответственно входами первого и второго сомножителей узла умножени , управл ющие входы регистров первой и второй групп и первый управл ющий вход накапливающего0 and the second group are respectively the inputs of the first and second factors of the multiplication node, the control inputs of the registers of the first and second groups and the first control input of the accumulating
5 сумматора соединены с первым управл ющим входом узла умножени , первые выходы регистров первой и второй групп соединены соответственно с первым и вто- оым входами соответствующих сумматоров5 adders are connected to the first control input of the multiplication unit, the first outputs of the registers of the first and second groups are connected respectively to the first and second inputs of the corresponding adders
0 группы, вторые выходы регистров первой и второй групп соединены соответственно с первым и третьим выходами узла умножени , выходы сумматоров группы соединены с соответствующими входами накапливаю5 щего сумматора, выход которого соединен с . информационным входом элемента задержки , выход которого соединен со вторым выходом узла умножени , второй управл ющий вход накапливающего сумматора и стробирукзщий вход элементе задержки соединены соответственно со вторым и третьим управл ющими входами узла умножени .0 groups, the second outputs of the registers of the first and second groups are connected respectively to the first and third outputs of the multiplication node, the outputs of the adders of the group are connected to the corresponding inputs of the accumulating adder, the output of which is connected to. the information input of the delay element, the output of which is connected to the second output of the multiplication unit, the second control input of the accumulating adder and the strobe input of the delay element are connected respectively to the second and third control inputs of the multiplication unit.
Сопоставительный анализ с прототипом позвол ет сделать вывод, что за вл емое устройство дл перемножени матриц отличаетс тем, что 1-й процессорный блок содержит мультиплексор ввода в узел умножени элементов 1-й строки первой матрицы , который коммутирует передачу элементов 1-й строки либо со входа устройства , либо с первого выхода узла умножени . При помощи мультиплексора создаетс цепь обратной св зи, благодар которой 1- строка первой матрицы А циркулирует в 1-м процессорном блоке, взаимодейству всеми столбцами второй матрицы В, формиру при этом i-ю строку результирующей матрицы С. Это дает возможность использовать один канал ввода дл строк матрицы А вместо п каналов ввода в прототипе. Кроме того , каждый узел умножени содержит пр моугольную матрицу одноразр дных регистров , котора обеспечивает последовательное прохождение столбцов второй матрицы через все процессорные блоки -и блок регистров задержки, соединенный с двухвходовым выходным регистром, благодар которым используетс один канал вывода результатов, вместо п каналов в прототипе.Comparative analysis with the prototype allows us to conclude that the inventive device for matrix multiplication is characterized in that the 1st processor unit contains a multiplexer for inputting the elements of the 1st row of the first matrix into the multiplication unit, which commutes the transmission of elements of the 1st row or with device input, or from the first output of the multiplication node. Using a multiplexer, a feedback loop is created, thanks to which the 1st row of the first matrix A circulates in the 1st processor unit, interacting with all the columns of the second matrix B, forming the ith row of the resulting matrix C. This makes it possible to use one input channel for rows of matrix A instead of n input channels in the prototype. In addition, each multiplication node contains a rectangular matrix of single-bit registers, which provides the sequential passage of the columns of the second matrix through all processor blocks - and a block of delay registers connected to a two-input output register, which uses one output channel instead of n channels in the prototype .
Совокупность этих признаков обеспечивает соответствие технического решени критерию новизна. При сравнении за вл емого решени не только с прототипом, но и с другими известными техническими решени ми не обнаружены решени , обладающие сходными признаками. Эти признаки позвол ют исключить блоки пам ти в каждом процессорном блоке, блок пам ти столбцов матрицы В и адресный блок, уменьша тем самым аппаратурные затраты , использовать один канал ввода первой матрицы вместо п каналов ввода этой матрицы в существующих устройствах, использовать один канал вывода дл всех строк результирующей матрицы, вместо п каналов вывода в прототипе и аналогах, что дает возможность реализовать устройство на одном кристалле, повысить надежность, технологичность , отказоустойчивость и понизить стоимость аппаратуры.The combination of these features ensures that the technical solution meets the novelty criterion. When comparing the claimed solution not only with the prototype, but also with other known technical solutions, solutions having similar features were not found. These features make it possible to exclude memory blocks in each processor block, the memory block of the columns of matrix B and the address block, thereby reducing hardware costs, to use one input channel of the first matrix instead of p input channels of this matrix in existing devices, to use one output channel for all rows of the resulting matrix, instead of n output channels in the prototype and analogs, which makes it possible to implement the device on one chip, increase reliability, manufacturability, fault tolerance and lower the cost of app aratura.
Это позвол ет сделать вывод о его соответствии критерию существенные отличи .This allows us to conclude that it meets the criterion of significant differences.
На фиг. 3 представлена функциональна схема предлагаемого устройства; на фиг, А - функциональна схема узла умножени 1-го процессорного блока, где , п - пор док исходных матриц А и В,In FIG. 3 presents a functional diagram of the proposed device; in Fig. A is a functional diagram of the multiplication unit of the 1st processor unit, where, p is the order of the original matrices A and B,
Устройство по фиг. 3 содержит п последовательно св занных между собой процессорных блоков 1.1-1.П и блок управлени 2, представл ющий собой блок микропрограммного управлени .The device of FIG. 3 comprises n sequentially interconnected processor units 1.1-1. P and a control unit 2, which is a microprogram control unit.
1-й процессорный блок содержит узел умножени 3, выполн ющий операцию умножени с накоплением n-разр дных элементов исходных матриц А и В,The 1st processor unit contains a multiplication unit 3, performing a multiplication operation with the accumulation of n-bit elements of the original matrices A and B,
мультиплексор 4 ввода элементов 1-й строки матрицы А в узел умножени 3, коммутирующий передачу элементов 1-й строки матрицы А со входа 6 устройства или с первого выхода узла умножени 3, выходной регистрmultiplexer 4 for inputting elements of the 1st row of matrix A to the multiplication node 3, switching the transmission of elements of the 1st row of matrix A from the input 6 of the device or from the first output of the multiplication node 3, output register
5, предназначенный дл хранени получаемого в узле умножени 3 результата операции перемножени и дл передачи в каждом такте результатов операции от одного процессорного блока к другому на выход 115, intended for storing the result of the multiplication operation obtained in the multiplication unit 3 and for transmitting, in each clock cycle, the results of the operation from one processor unit to another to output 11
устройства. Устройство содержит информационные входы 6 и 7 элементов соответственно входных матриц А и В, входы 8, 9 блока управлени 2, соединенные соответственно с управл ющей шиной признакаdevices. The device contains information inputs 6 and 7 of the elements of the input matrices A and B, respectively, inputs 8, 9 of the control unit 2, connected respectively to the control bus signs
начала входных матриц и тактовой шиной устройства, выход блока управлени 10, соединенный с управл ющей шиной признака начала результирующей матрицы С, информационный выход 11 результирующей матрицы С.the beginning of the input matrices and the clock bus of the device, the output of the control unit 10 connected to the control bus of the sign of the start of the resulting matrix C, the information output 11 of the resulting matrix C.
Узел умножени 3 1-го процессорного блока, представленный на фиг. А, содержит конвейерный умножитель 12, накапливающий сумматор 13, причем конвейерный умножитель содержит первую и вторую группы регистров 15 и 16 и группу сумматоров 17, элемент задержки 14, содержащий (n-i) последовательно соединенных регистров дл выравнивани временных задержекThe multiplication unit 3 of the 1st processor unit shown in FIG. A, contains a conveyor multiplier 12, accumulating the adder 13, and the conveyor multiplier contains the first and second groups of registers 15 and 16 and a group of adders 17, a delay element 14 containing (n-i) series-connected registers for equalizing time delays
результатов операции, получаемых в процессорных блоках с целью одновременной подачи их в выходные регистры the results of the operation obtained in the processor units in order to simultaneously submit them to the output registers
5. Все выходы регистров блока 14 тактируютс единым синхросигналом, поступающим на регистры5. All outputs of the registers of block 14 are clocked by a single clock signal supplied to the registers
через каждые п тактов. При этом данные передаютс от одного регистра к другому.every n ticks. In this case, data is transferred from one register to another.
Блоки устройства соединены следующим образом. Информационные входы устройства 6 и 7 соединены соответственно соThe device blocks are connected as follows. The information inputs of the device 6 and 7 are connected respectively to
вторыми входами мультиплексоров 4 каждого процессорного блока 1.1-1.П и вторым входом узла умножени 3 первого процессорного блока 1.1, входы блока 2 управлени 8, 9 и выход 10 соединеныthe second inputs of the multiplexers 4 of each processor unit 1.1-1. P and the second input of the multiplication unit 3 of the first processor unit 1.1, the inputs of the control unit 2 8, 9 and the output 10 are connected
соответственно с управл ющей шиной признака начала входных матриц, тактовой шиной устройства и шиной признака начала результирующей матрицы С, информационный выход устройства 11 соедин ен с выходом выходного регистра 5respectively, with the control bus of the sign of the beginning of the input matrices, the clock bus of the device and the bus of the sign of the beginning of the resulting matrix C, the information output of the device 11 is connected to the output of the output register 5
ервого процессорного блока 1.1. первый,The first processor unit 1.1. the first,
торой n-й выходы блока управлени 2the second n-th outputs of the control unit 2
оединены соответственно с управл ющи- и входами мультиплексоров ввода 4 первоо , второго п-го процессорных блоков,They are connected, respectively, with the control and inputs of the input multiplexers 4 of the first, second p-th processor units,
in+1)-u выход блока 2 управлени соединен первым управл ющим входом узла умножени 3 и вторым управл ющим входом вы- одного регистра 5 каждого процессорного лока, (п+2)-й выход блока 2 управлени со- динен со вторым управл ющим входом уз- а умножени 3 и первым управл ющим ходом выходного регистра 5 каждого про- .ессорного блока (п+3)-й выход блока управ- ени 2 соединен с третьим управл ющим ходом узла умножени 3 каждого процес- орного блока, третий выход узла умноже- и 3 каждого предыдущего процессорного лока соединен со вторым информацион- ым входом узла умножени 3 каждого по- ледующего процессорного блока, выход ыходного регистра 5 каждого последующе- о процессорного блока соединен со вто- ым информационным входом выходного егистра 5 каждого предыдущего процес- орного блока, в каждом процессорном бло- е первый выход узла умножени 3 оединен с первым входом мультиплексора , выход которого соединен с первым ин- юрмационным входом узла умножени 3, торой выход которого соединен с первым нформационным входом выходного реги- тра 5.in + 1) -u the output of the control unit 2 is connected by the first control input of the multiplication unit 3 and the second control input of the register 5 of each processor lock, (n + 2) -th output of the control unit 2 is connected to the second control the input of the node of multiplication 3 and the first control stroke of the output register 5 of each proessor block (n + 3) -th output of the control unit 2 is connected to the third control stroke of the multiplication node 3 of each processor block, the third output nodes of the multiplier and 3 of each previous processor lock are connected to the second information input m of the multiplication unit 3 of each subsequent processor unit, the output of the output register 5 of each subsequent processor unit is connected to the second information input of the output unit 5 of each previous processor unit, in each processor unit the first output of the multiplication unit 3 is connected with the first input of the multiplexer, the output of which is connected to the first information input of the multiplication unit 3, the second output of which is connected to the first information input of the output region 5.
Блоки узла умножени 3 соединены сле- ующим образом.The blocks of the multiplication unit 3 are connected as follows.
Информационные входы регистров пер- Е.ЫЙ и второй групп 15 и 16 соединены соот- Еетственно со входами первого и второго с омножителей узла умножени 3. управл ю- цие входы регистров первой и второй групп 5 и 16 и первый управл ющий вход накапывающего сумматора 13 соединены с лер- Е ым управл ющим входом узла умножени , первые выходы регистров первой и второй групп 15 и 16 соединены соответственно с первым и вторым входами соответствующих с умматоров группы 17, вторые выходы реги- стров первой и второй групп 15 и 16 соеди- ены соответственно с первым и третьим Е ыходами узла умножени 3, выходы сумматоров группы 17 соединены с соответствую- Мими входами накапливающего сумматора 3, выход которого с информационным входом элемента задержки 14, выход которого соединен со вторым выходом узла умноже- h и 3, второй управл ющий вход накапливающего сумматора 13 и стробирующий вход элемента задержки 14 соединены соответственно со вторым и третьим управл ющими входами узла умножени 3.The information inputs of the registers of the first E.YU and second groups 15 and 16 are connected, respectively, with the inputs of the first and second from the multipliers of the multiplication node 3. control inputs of the registers of the first and second groups 5 and 16 and the first control input of the accumulating adder 13 connected to the first control input of the multiplication unit, the first outputs of the registers of the first and second groups 15 and 16 are connected respectively to the first and second inputs of the registers of the group 17, the second outputs of the registers of the first and second groups 15 and 16 are connected respectively with the first and t With the E outputs of the multiplication unit 3, the outputs of the adders of group 17 are connected to the corresponding inputs of the accumulating adder 3, the output of which is with the information input of the delay element 14, the output of which is connected to the second output of the node multiplying h and 3, the second control input of the accumulating adder 13 and the gate input of the delay element 14 is connected respectively to the second and third control inputs of the multiplication unit 3.
Предлагаемое устройство работает следующим образом.The proposed device operates as follows.
В устройстве реализован конвейерный принцип обработки информации в реаль- ном масштабе времени, который обеспечивает перемножение пар матриц АхВ, FxK и т.д., поступающих последовательно одна за другой соответственно на входы 6 и 7 устройства , что обеспечивает однородную за- 0 грузку всех процессорных блоков.The device implements the conveyor principle of processing information in real time, which ensures the multiplication of pairs of matrices AxB, FxK, etc., which are delivered sequentially one after the other to the inputs 6 and 7 of the device, which ensures uniform loading of all processor blocks.
Пары матриц могут поступать непрерывно , а также через определенные интервалы времени, кратные п. Устройство вычисл ет произведение 5 матриц и , размерностью пхп с разр дностью элементов матриц, равной п, получа результирующую матрицу C(cij с элементами Cij согласно соотношени : пMatrix pairs can arrive continuously, as well as at certain time intervals, multiples of p. The device calculates the product of 5 matrices and, with the dimension php with the matrix element size equal to n, obtaining the resulting matrix C (cij with elements Cij according to the relation: n
0Й 2 aik bkj(1)0Y 2 aik bkj (1)
k 1k 1
Элементы матриц А и В образуют поток, который движетс через линейку процессорных блоков синхронно в двух одинаког вых направлени х слева направо. Элементы матрицы А ввод тс последовательно по строкам, элементы матрицы В ввод тс последовательно по столбцам, причем каждый элемент матриц А и В входит в устройствоThe elements of the matrices A and B form a stream that moves through the line of processor blocks synchronously in two identical directions from left to right. Elements of matrix A are entered sequentially in rows, elements of matrix B are entered sequentially in columns, with each element of matrices A and B entering the device
Q через входы соответственно 6 и 7 один раз и продвигаютс в конвейерном режиме.Q through the inputs respectively 6 and 7 once and advance in the conveyor mode.
Каждый из п процессорных блоков устройства выполн ет операцию умножени с накоплением, т.е. конечный результат в со5 ответствии с (1) образуетс при вычислении промежуточныхчленов, накапливающихс в виде частных сумм в каждом процессорном блоке. Каждый 1-й процессорный блок оперирует с 1-й строкой матрицы А, формиру Each of the n processor units of the device performs an accumulation multiplication operation, i.e. the final result in accordance with (1) is formed by calculating the intermediate terms accumulating in the form of partial sums in each processor unit. Each 1st processor unit operates with the 1st row of matrix A, forming
Q , i-ю .строку матрицы С.Q, i-th row of the matrix C.
Элементы Сц результирующей матрицы С покидают узел умножени 3 соответствующих процессорных блоков в те моменты времени, когда они будут полностью сфор5 мированы, и передаютс в выходные регистры 4 от одного процессорного блока к другому, образу поток элементов строк матрицы С, движущийс справа налево на выход 11 устройства. При подаче на выходыElements of Cs of the resulting matrix C leave the multiplication node 3 of the corresponding processor blocks at those times when they are fully formed and transferred to the output registers 4 from one processor block to another, forming a stream of row elements of the matrix C, moving from right to left to exit 11 devices. When applying to exits
Q 8 и 9 блока управлени 2 соответственно синхронизирующего сигнала признака начала входных матриц и тактовых импульсов блок управлени 2 по первому выходу устанавливает управл ющий сигнал мульти5 плексора 4 первого процессорного блока 1.1 в состо ние Г, открыва при этом второй вход мультиплексора 4, а по (п+1)-му выходу выдает сигнал записи на управл ющий вход узла умножени 3. При этом элементы первой строки матрицы 4 и элементыQ 8 and 9 of control unit 2, respectively, of a synchronization signal indicating the start of input matrices and clock pulses, control unit 2, on the first output, sets the control signal of multiplexer 4 of the first processor unit 1.1 to state Г, opening the second input of multiplexer 4, and by ( p + 1) -th output gives a write signal to the control input of the multiplication node 3. Moreover, the elements of the first row of matrix 4 and the elements
первого столбца матрицы В, поступающие непрерывно от датчиков с интервалом в один такт соответственно на б и 7 выходы устройства, поступают в первый процессорный блок 1.1 соответственно на первый и второй входы узла умножени 3. Прохождение первой строки матрицы А со входа 6 устройства в остальные процессорные блоки блокируетс , т.к. управл ющие сигналы мультиплексоров 4 остальных процессор- ных блоков 1.2-1.П в этот момент времени установлен в состо ние О. По истечении п тактов работы узла умножени 3 первого процессорного блока, когда элементы первой строки матрицы А и элементы первого столбца матрицы В заполн т п регистров соответственно первой группы регистров 15 и второй группы регистров 16 узла умножени 3, по первому выходу блока управлени 2 управл ющий сигнал мультиплексора 5 первого процессорного блока 1.1 устанавливаетс в состо ние О, закрыва при этом второй вход этого мультиплексора и открыва его первый вход, а по второму выходу блока управлени 2 управл ющий сигнал мультиплексора 5 второго процессорного блока устанавливаетс в состо ние 1. При этом в первом процессорном блоке 1.1 перва строка матрицы А вновь поступает с первого выхода узла умножени 3 через первый вход мультиплексора 5 на первый вход этого же узла умножени , на второй вход которого поступает со входа 7 устройства второй столбец матрицы В, а во втором процессорном блоке на первый и второй входы узла умножени 3 одновременно поступают соответственно втора строка матрицы А и первый столбец матрицы В соответственно со входа 6 устройства и третьего выхода узла умножени 3 первого процессорного блока. Прохождение первой строки матрицы А в остальные процессорные блоки 1.3-1.П блокируетс нулевыми управл ющими сигналами мультиплексора 4. Аналогичным образом треть строка матри- цы А поступит в третий процессорный блок 1.3, ... и т.д., n- строка матрицы А поступит в n-й процессорный блок 1.п. Благодар наличию цепи обратной св зи в узле умножени каждого процессорного блока 1- строка матрицы А циркулирует в 1-м процессорном блоке (в блоке регистров 15) п раз, взаимодейству со всеми столбцами матрицы В, которые последовательно сдвигаютс по линии процессорных блоков 1.1, 1,2 1.п, the first column of the matrix B, coming continuously from the sensors with an interval of one clock cycle respectively to b and 7 outputs of the device, go to the first processor block 1.1, respectively, to the first and second inputs of the multiplication node 3. The passage of the first row of matrix A from the input 6 of the device to the rest blocks are blocked because the control signals of the multiplexers 4 of the remaining processor units 1.2-1. P at this point in time is set to O. After the end of five clock cycles of the multiplication unit 3 of the first processor unit, when the elements of the first row of matrix A and the elements of the first column of matrix B are filled t registers, respectively, of the first group of registers 15 and the second group of registers 16 of the multiplication node 3, at the first output of the control unit 2, the control signal of the multiplexer 5 of the first processor unit 1.1 is set to O, closing the second input One of this multiplexer and opening its first input, and at the second output of the control unit 2, the control signal of the multiplexer 5 of the second processor unit is set to state 1. In this case, in the first processor unit 1.1, the first row of matrix A again comes from the first output of the multiplication unit 3 through the first input of the multiplexer 5 to the first input of the same multiplication node, to the second input of which comes from the input 7 of the device the second column of the matrix B, and in the second processor unit the first and second inputs of the multiplication node 3 simultaneously post Payuta respectively the second row of the matrix A and the first column of the matrix, respectively, from the input device 6 and the third output node processor 3 of the first multiplying unit. The passage of the first row of matrix A to the remaining processor blocks 1.3-1. P is blocked by the zero control signals of multiplexer 4. Similarly, the third row of matrix A will go to the third processor block 1.3, ..., etc., the n-row of the matrix And it will go to the nth processor unit 1.p. Due to the presence of a feedback loop in the multiplication node of each processor unit, 1- row of matrix A circulates in the 1st processor block (in the register block 15) n times, interacting with all columns of matrix B that are successively shifted along the line of processor blocks 1.1, 1 , 2 1.p,
проход последовательно через группы регистров 16 узлов умножени всех процессорных блоков. При этом формируетс 1- строка результирующей матрицы С в 1-м процессорном блоке.passing sequentially through the group of registers of 16 multiplication nodes of all processor units. In this case, a 1-row of the resulting matrix C is formed in the 1st processor unit.
Элементы Cij результирующей матрицы С по мере формировани их в узлах умножени 3 процессорных блоков, где происходит накопление парных произведений aik bkj, поступают в выходные регистры 5 через элементы задержки 14. Все выходы элементов задержки 14 тактируютс единым синхросигналом , поступающим с (п+3)-го выхода блока 2 управлени , так что данные передаютс в блоке 14 от одного регистра к другому через каждые п тактов. 1-й процессорный блок имеет в блоке 14 n-i регистров задержки . Таким образом, n-й процессорный блок не имеет ни одного элемента задержки и, как только элемент результирующей матрицы сформируетс в n-м процессорном блоке , все результаты, полученные во всех процессорных блоках, одновременно передадутс в выходные регистры 5 при помощи единого синхросигнала, поступающего с (п+2)-го выхода блока управлени , открывающего первый информационный вход регистра 5, и единого синхросигнала, поступающего с (п+1)-го выхода блока 2 управлени , производ щего запись числа в этот регистр. На следующем такте открываетс второй информационный вход регистра 5 и данные, наход щиес в этих регистрах, передаютс по их вторым входам от одного процессорного блока к другому на информационный выход 11 устройства. Обнуление накапливающего сумматора происходит по (п + 2)-му выходу блока 2 управлени . При поступлении на выход 11 устройства первого элемента результирующей матрицы С с выхода регистра 5 первого процессорного блока 1.1 блок управлени 2 формирует управл ющий сигнал признака начала выходной матрицы, поступающий с выхода 10 устройства.The elements Cij of the resulting matrix C, as they are formed in the multiplication nodes of 3 processor blocks, where the paired products aik bkj are accumulated, enter the output registers 5 through the delay elements 14. All the outputs of the delay elements 14 are clocked by a single clock signal coming from (n + 3) -th output of control unit 2, so that data is transmitted in block 14 from one register to another every five clock cycles. The 1st processor block has 14 n-i delay registers in block 14. Thus, the nth processor unit does not have a single delay element and, as soon as the element of the resulting matrix is formed in the nth processor unit, all the results obtained in all processor units are simultaneously transmitted to the output registers 5 using a single clock signal from the (n + 2) -th output of the control unit, which opens the first information input of the register 5, and a single clock signal coming from the (n + 1) -th output of the control unit 2, which records the number in this register. At the next clock cycle, the second information input of register 5 is opened and the data located in these registers is transmitted along their second inputs from one processor unit to another to the information output 11 of the device. The accumulating adder is zeroed at the (n + 2) th output of the control unit 2. When the first element of the resulting matrix C arrives at the device output 11 from the output of the register 5 of the first processor unit 1.1, the control unit 2 generates a control signal indicating the start of the output matrix coming from the output of the device 10.
В конвейерном режиме вслед за матрицами А и В в устройство может поступать следующа пара матриц F и К при наличии на входе 8 блока управлени 2 нового синхронизирующего сигнала признака начала входных матриц,In the conveyor mode, after the matrices A and B, the next pair of matrices F and K can enter the device if there is a new synchronization signal at the input of control unit 2 of a sign of the beginning of the input matrices
При непрерывном поступлении на входы 6 и 7 новых пар перемножаемых матриц устройство представл ет собой синхронный конвейер.When new pairs of multiplied matrices are continuously supplied to inputs 6 and 7, the device is a synchronous conveyor.
Особенностью структуры предлагаемого устройства вл етс аличие цепи обратной св зи в узле умножени каждого процессорного блока, благодар которой 1- строка матрицы А циркулирует в 1-м процессорном блоке столько раз, сколько столбцов в матрице В, взаимодейству со всеми столбцами матрицы В, формиру при этом 1-ю строку результирующей матрицы С. Така особенность структуры устройства дает возжность использовать один канал ввода ex n строк матрицы А, вместо п каналов ода строк матрицы А в прототипе, и иск- очает необходимость использовани п оков пам ти дл хранени строк матрицыA feature of the structure of the proposed device is the alike feedback loop in the multiplication node of each processor block, due to which the 1-row of matrix A circulates in the 1st processor block as many times as the columns in matrix B, interacting with all columns of matrix B, forming at this is the 1st row of the resulting matrix C. This feature of the device structure makes it possible to use one input channel ex n rows of the matrix A, instead of the n channels of the ode of the rows of the matrix A in the prototype, and eliminates the need to use n shackles memory for storing rows of the matrix
Проведем сравнительную характери- ф-ику прототипа и предлагаемого устройст- I а на примере реализации их на основе d пускаемых нашей промышленностью се- йных микросхем.Let us carry out a comparative characterization of the prototype and the proposed device I and on the example of their implementation on the basis of d serial microcircuits launched by our industry.
Дл примера возьмем разр дность перемножаемых чисел равной 16, поскольку И формаци от датчиков обычно кодируетс более, чем 16 разр дами, т.к. преобразо- тёль аналог-код имеет обычно разр д- сть 10-12 разр дов. Таким образом, при 16 дл реализации прототипа, содержа- его 16 процессорных блоков, блок управ- эни , 16 блоков пам ти, требуетс 1()х16Разр. 256 внешних выводов микро- ем дл ввода 16 строк матрицы А, 16 внёш- /ix выводов дл ввода матрицы В и х16разр. 256 внешних выводов дл выво- всех строк результирующей матрицы С, его 528 внешних выводов дл ввода-выво- данных.For an example, let us take the bit number of the multiplied numbers equal to 16, since AND formations from sensors are usually encoded by more than 16 bits, because the analog-to-code converter usually has a size of 10-12 bits. Thus, at 16, to implement the prototype, containing 16 processor units, a control unit, 16 memory units, 1 () x16 Bit is required. 256 external microelectric pins for input of 16 lines of matrix A, 16 external- / ix pins for input of matrix B and x16 bits. 256 external outputs for the output of all rows of the resulting matrix C, its 528 external outputs for input-output.
Дл реализации прототипа потребуетс ни менее 9 микросхем с числом выводов к ждой микросхемы, равным 60.To implement the prototype, at least 9 microcircuits with a number of pins per microcircuit equal to 60 will be required.
Предлагаемое устройство, содержащее процессорных блоков, блок управлени , ладает меньшими аппаратурными затратами , так как не содержит п блоков пам ти до хранени строк матрицы В, блока пам ти дл хранени столбцов матрицы В и адресного блока. Кроме того, .использованиеThe proposed device containing processor units, a control unit, has less hardware costs, since it does not contain p memory units prior to storing the rows of matrix B, a memory unit for storing columns of matrix B and the address block. In addition.
АЦAC
иand
м;m;
усmustache
буboo
чтthu
пеne
ра ст решени задач перемножени матриц, исх 16-разр дных каналов ввода матриц Аto solve the problems of matrix multiplication, original 16-bit input channels of matrices A
и одного 16-разр дного канала выводаand one 16-bit output channel
рицы С .дает возможность реализоватьRitsa S. gives the opportunity to implement
ройство на одном кристалле, так как трет дл ввода-вывода данных 48 выводов,a single chip, as it rubs 48 data pins for input / output,
на 480 выводов меньше, чем в прототиТаким образом, предлагаема структу- /стройства дает возможность иметь кри- лл СБИС, предназначенный дл 480 conclusions less than in prototypes. Thus, the proposed structure / structure makes it possible to have a VLSI krill designed for
ьзующий конвейерный метод обработки ных в реальном масштабе времени, спечивающий, благодар эффективной ной загрузке всех процессорных блоков окую производительность в конвейер- режиме до 100 млн. сложений-умноже- /сек 16-разр дных слов при тактовой тоте поступлени входной информации - МГц, число выводов 53. Сокращение числа внешних выводов и мещение устройства на одном кристалле спечивает по сравнению с прототипомUsing the real-time conveyor processing method, sintering, thanks to the efficient loading of all processor units, I will show pipeline performance up to 100 million additions-multiplied / sec 16-bit words at the input data arrival rate - MHz, number conclusions 53. The reduction in the number of external conclusions and the placement of the device on one chip sintered compared to the prototype
резкое уменьшение габаритных размеров, уменьшение стоимости, обеспечивает высокие надежность и отказоустойчивость, высокую технологичность процессора.a sharp decrease in overall dimensions, cost reduction, provides high reliability and fault tolerance, high adaptability of the processor.
Формул а из о бретени Formula a
1. Устройство дл перемножени матриц , содержащее линейную матрицу из п процессорных блоков (п - пор док матрицы ), блок управлени , причем каждый про0 цессорный блок содержит узел умножени и выходной регистр, причем в каждом процессорном блоке первый управл ющий вход узла умножени соединен соответственно с (п+1)-м выходом блока управлени ,1. A device for multiplying matrices containing a linear matrix of n processor units (n is the order of the matrix), a control unit, each processor unit containing a multiplication unit and an output register, and in each processor unit the first control input of the multiplying unit with (n + 1) -th output of the control unit,
5 второй выход узла умножени соединен с первым информационным входом выходного регистра, вход второго сомножител узла умножени первого процессорного блока соединен с вторым информационным вхо0 дом устройства, второй управл ющий вход узла умножени первого процессорного, блока и первый управл ющий вход выходного регистра первого процессорного блока соединены с (п+2)-м выходом блока управ5 лени , выход выходного регистра первого процессорного блока соединен с информационным выходом устройства, (п+4)-й выход блока управлени соединен с выходом признака начала результирующей матрицы,5, the second output of the multiplication unit is connected to the first information input of the output register, the input of the second multiplier of the multiplication unit of the first processor unit is connected to the second information input of the device, the second control input of the multiplication unit of the first processor unit, and the first control input of the output register of the first processor unit are connected with the (n + 2) -th output of the control unit 5, the output of the output register of the first processor unit is connected to the information output of the device, (n + 4) -th output of the control unit is connected with the output of the sign of the beginning of the resulting matrix,
0 первый и второй входы блока управлени - соответственно с входом признака начала входных матриц и тактовым входом устройства , отличающеес тем, что, с целью упрощени устройства за счет сокращени 0 the first and second inputs of the control unit, respectively, with the input of the sign of the beginning of the input matrices and the clock input of the device, characterized in that, in order to simplify the device by reducing
5 числа выводных контактов и уменьшени аппаратурных затрат, в каждый процессорный блок введен мультиплексор, первый и второй информационные входы которого соединены соответственно с первым выхо0 дом узла умножени и с первым информаци- онным входом устройства, выход мультиплексора соединен с входом первого сомножител узла умножени , управл ющие входы мультиплексоров с первого по5 the number of output contacts and reduce hardware costs, a multiplexer is introduced into each processor unit, the first and second information inputs of which are connected respectively to the first output of the multiplication unit and to the first information input of the device, the output of the multiplexer is connected to the input of the first multiplier of the multiplication unit, first to multiplexer inputs
5 n-й процессорных блоков соединены соответственно с первого по n-й выходами блока управлени , третий выход узла умножени каждого предыдущего процессорного блока соединен с вторым информационным вхо0 дом узла умножени последующего процессорного блока, выход выходного регистра каждого последующего процессорного блока соединен с вторым информационным входом выходного регистра предыдущего5 n-th processor units are connected respectively with the first to n-th outputs of the control unit, the third output of the multiplication unit of each previous processor unit is connected to the second information input of the multiplication unit of the subsequent processor unit, the output register of each subsequent processor unit is connected to the second information input output register previous
5 процессорного блока, в каждом процессорном блоке третий управл ющий вход узла умножени соединен с (п+3)-м выходом блока управлени , второй управл ющий вход выходного регистра соединен с (п+1}-м выходом блока управлени , второй управл ющий вход узлов умножени с второго по п-й процессорных блоков и первые управл ющие входы выходных регистров с второго по n-й процессорных блоков соединены с (п+2)- м выходом блока управлени .5 of the processor unit, in each processor unit, the third control input of the multiplication unit is connected to the (n + 3) th output of the control unit, the second control input of the output register is connected to the (n + 1} th output of the control unit, the second control input multiplication nodes from the second to the nth processor units and the first control inputs of the output registers from the second to the nth processor units are connected to the (n + 2) -th output of the control unit.
2. Устройство по п. 1, отличающее- с тем, что узел умножени каждого процессорного блока содержит конвейерный умножитель, накапливающий сумматор и элемент задержки, причем конвейерный умножитель содержит первую и вторую группы регистров и группу сумматоров, причем информационные входы регистров первой и второй групп вл ютс соответственно входами первого и второго сомножителей узла умножени , управл ющие входы регистров первой и второй групп и первый управл ющий вход накапливающего сумматора сое0 ,2. The device according to claim 1, characterized in that the multiplication unit of each processor unit comprises a conveyor multiplier accumulating an adder and a delay element, the conveyor multiplier containing the first and second groups of registers and a group of adders, the information inputs of the registers of the first and second groups are respectively the inputs of the first and second factors of the multiplication node, the control inputs of the registers of the first and second groups and the first control input of the accumulating adder soy0,
Г/гYoY
0-гп.0-GP
ггgg
- - - п - - - P
Ъп.Bp
Q-Lx МножимоеQ-Lx Multiply
Фиг.}Fig.}
1010
15fifteen
динены с первым управл ющим входом узла умножени , первые выходы регистров первой и второй групп соединены соответственно с первым и вторым входами соответствующих сумматоров группы, вторые выходы регистров первой и второй групп соединены соответственно с первым и третьим выходами узла умножени , выходы сумматоров группы соединены с соответствующими входами накапливающего сумматора, выход которого соединен с информационным входом элемента задержки, выход которого соединен с вторым выходом узла умножени , второй управл ющий вход накапливающего сумматора и стробирую- щий вход элемента задержки соединены со- ответственно с вторым и третьим управл ющими входами узла умножени ,are dined with the first control input of the multiplication node, the first outputs of the registers of the first and second groups are connected respectively to the first and second inputs of the corresponding adders of the group, the second outputs of the registers of the first and second groups are connected respectively to the first and third outputs of the multiplication node, the outputs of the adders of the group are connected to the corresponding the inputs of the accumulating adder, the output of which is connected to the information input of the delay element, the output of which is connected to the second output of the multiplication unit, the second control input the accumulating adder and the gate input of the delay element are connected respectively to the second and third control inputs of the multiplication unit,
Опп.Opp.
VlnVln
йЈ- yЈ-
-. - - - .вщ-. - - -.
ЮЛ ; 1-ПYul; 1-P
с in. with in.
СппNbsp
JJ
ПножитъльPogositl
Фиг. 2FIG. 2
OIKOik
„ множимое (празр)„Multiplicable (prazr)
РедакторEditor
Фиг.ЬFig. B
Составитель Л.Елфимрва Техред М.МоргенталCompiled by L. Elfimrva Tehred M. Morgenthal
Фиг.3Figure 3
KJKj
множитель (празр)multiplier (prazr)
Корректор А.ОбручарProofreader A. Obruchar