Patent ID: 7480785
Filing Date: 2009-01-20
Classification: G06F,G06K

Abstract:
1. A parallel processing apparatus comprising: a plurality of cells arrayed in a matrix of rows and columns; a plurality of select signal lines formed in one-to-one correspondence with each row of the matrix; row range setting means for selecting one of said plurality of select signal lines in accordance with a set row range; row address signal generating means for outputting, at a predetermined interval, an address signal for selecting the select signal line selected by said row range setting means; row decoding means for outputting a select signal to the select signal line selected by the address signal output from said row address signal generating means; a processor which is formed in each cell, connects to said select signal line for each row of the matrix, performs predetermined processing, and outputs a result of the processing when the select signal is input via said select signal line; a data output line which is formed for each column of the matrix, connects to said processors in each column, and propagates results of the processing output from said processors; column range selecting means for selecting one of said data output lines in accordance with a set column range; row adding means for adding, for each row of the matrix, processing results output to a data output line selected by said column range selecting means, and outputting a row addition result; and accumulation adding means for adding, in synchronism with the predetermined interval, the row addition results of individual rows output from said row adding means, and outputting an addition result as a totalization result; wherein said column range selecting means comprises: an output enabling circuit which is formed for each column of the matrix, and controls signal output from said data output line to said row adding means; a column range setting means in which the column range is set; and an output enable signal generator which holds data of the column range set in said column range setting means and which for each column of the set column range for which the data are thus held generates and simultaneously outputs an output enable signal corresponding to said set column range for controlling an output of said output enabling circuit, wherein said output enable signal generator comprises: a storage circuit which is formed for each column of the matrix, and outputs a set inversion enable signal; an initializing circuit which initializes said storage circuit; a column decoding circuit which sets an inversion enable signal in said storage circuit; an inverter which is formed for each column of the matrix, receives two input signals one of which is an inversion enable signal output from said storage circuit in the same column, and, on the basis of the set inversion enable signal input as one input signal, inverts and outputs the other input signal as the output enable signal to said output enabling circuit; an initial value setting circuit which outputs an initial value as the other input signal to said inverter at one end of a row of inverters; and a column address signal generator which generates a column address signal for designating a column address in accordance with the column range set in said column range setting means, said column decoding circuit makes an inversion enable signal to be set for said storage circuit corresponding to a column address signal generated by said column address signal generator, different from an inversion enable signal to be set for the rest of said storage circuits, and said inverter outputs a signal as the other input signal to an inverter in a next column at the other end of the matrix, and receives, as the other input signal, an output enable signal which is output from an inverter in a preceding column at one end of the matrix.