Nova Patents
EP0973099A2

Parallel data processor

Abstract

A parallel processor has a controller for generating control signals, and a plurality of identical processing cells, each of which is connected to at least one neighbouring cell and responsive to the controller for processing data in accordance with the control signals. Each processing cell includes a memory, a first register, a second register, and an arithmetic logic unit (ALU). An input of the first register is coupled to a memory output. The output of the first register is coupled to a second register located in a neighbouring cell. An input of the second register is coupled to receive an output from a first register located in a neighbouring cell. The output of the second register is coupled to an input of the ALU. In another feature, mask logic is interposed between A and B operand sources, and two inputs of the ALU. The mask logic also inputs a mask source and in response to control signals, can output the A operand logically OR'ed with the mask, and can output the B operand logically AND'ed with the mask. In another feature, each cell includes a multiplexor coupled to a neighbouring cell for selectively transmitting cell data to the neighbour, or for effectively bypassing the cell during data shift operations by transmitting data that is received from a neighbouring cell to a neighbouring cell. Other enhancements to a cell architecture are also disclosed.

EP0973099A2, drawing sheet 1
Sheet 1 of 22

Term

Term ended

Projected expiry passed 13 September 2014, 12 years ago.

  1. Priority and filed
  2. Published
  3. Projected expiry
  4. Today

16 claims: 8 independent, 8 dependent

  1. 1
    A parallel processor comprising:control input means (332) for receiving control signals( 116);and a plurality of identical processing cells (301), each of the processing cells (301) being connected to at least one neighboring cell and to the control input means (332) for processing data in accordance with the control signals (116);wherein each of the processing cells (301) comprises: a first operand source (426);a second operand source (430);a carry-bit source (442);and an arithmetic logic unit (ALU) (444) including three inputs (A, B, C) and an output (CO), the three inputs (A, B, C) being coupled, respectively, to the first operand source (426), the second operand source (430), and the carry-bit source (442), and the output (CO) selectively representing either a carry or a borrow result from, respectively, the addition and subtraction of the three inputs, in response to a first control signal received by the control input means (332).
  2. 4
    A parallel processor comprising:control input means (332) for receiving control signals (116);and a plurality of identical processing cells (301), each of the processing cells (301) being connected to at least one neighboring cell and to the control input means (332) for processing data in accordance with the control signals (116);wherein each of the processing cells (301) comprises: an arithmetic logic unit (ALU) (444) having an output (CO) representing a carry bit from an arithmetic operation;and addressable memory means (434) coupled (406) to receive and store the carry bit from the ALU output (CO) in response to a control signal received by the control input means (332), wherein: the addressable memory means (434) comprises a plurality of storage locations and an address port (WADR) for receiving an address signal, the address signal selecting one of the storage locations for use in a write or read operation of the addressable memory means (434);and the carry bit from the ALU output (CO) is routed to the addressable memory means (434) without passing through any intervening clockable storage means.
  3. 5
    A parallel processor comprising:control input means (332) for generating control signals (116);a plurality of identical processing cells (301), each of the processing cells (301) being connected to at least one neighboring cell and to the control input means (332) for processing data in accordance with the control signals (116);and means (601) for generating a global signal (GLOR) from a plurality of cell signals (C_GLOR), each cell signal (C_GLOR) being generated by one of the plurality of identical processing cells (301);wherein each of the processing cells (301) comprises: means (460) for generating a cell signal (C_GLOR) to be logically combined with similar cell signals from other processing cells to generate the global signal (GLOR);global signal input means (328) exclusively for receiving the global signal (GLOR) from the global signal generating means (601);and memory means (434) coupled (406) to receive and store the global signal (GLOR) from the global signal input means (328) in response to a first control signal received by the control input means (332).
  4. 9
    A parallel processor comprising:control input means (332) for receiving control signals (116);and a plurality of identical processing cells (301), each of the processing cells (301) being connected to at least one neighboring cell and to the control input means (332) for processing data in accordance with the control signals (116);wherein each of the processing cells (301) comprises: a first operand source (426);a second operand source (430);a mask source (438);an arithmetic logic unit (ALU) (444) having a first input (A) and a second input (B);and mask logic means (432) having a first input (AL) coupled to the first operand source (426), a second input (BL) coupled to the second operand source (430), a third input (D) coupled to the mask source (438), a first output coupled to the ALU first input (A), and a second output coupled to the ALU second input (B), wherein the first output, in response to a first control signal (CW[22:23]) received by the control input means (332), alternatively outputs a first operand that is received on the first input (AL) or the first operand logically OR'ed with a mask that is received on the third input (D).
  5. 10
    A parallel processor comprising:control input means (332) for receiving control signals (116);and a plurality of identical processing cells (301), each of the processing cells (301) being connected to at least one neighboring cell and to the control input means (332) for processing single-bit data in accordance with the control signals (116);wherein each of the processing cells (301) comprises: means (470) for generating a signal (SET_NE) indicative of the equality of first and second multibit operands, and wherein the means (470) for generating a signal (SET_NE) indicative of the equality of first and second multibit operands comprises: a first input for receiving a signal (PLUS) indicative of the equality of a selected bit from the first operand and a selected bit from the second operand;a second input for receiving a signal (C) indicative of the equality of previously compared bits from the first and second operands;means (470) coupled to the first and second inputs for generating a signal (SET_NE) indicative of the equality of corresponding portions of the first and second operands, the corresponding portions comprising the selected bit and the previously compared bits from the first and second operands.
  6. 12
    A parallel processor comprising:control input means (332) for receiving control signals (116);and a plurality of identical processing cells (301), each of the processing cells (301) being connected to at least one neighboring cell and to the control input means (332) for processing data in accordance with the control signals (116);wherein each of the processing cells (301) comprises: a multiplexor (467, 468) having first (314, 316, 318, 320) and second (NS_REG, EW_REG) multiplexor inputs and a multiplexor output (315, 317, 319, 321), the multiplexor selecting data at one of its multiplexor inputs to appear at its multiplexor output (315, 317, 319, 321) in response to a control signal (456) generated within the processing cell (301), wherein the first multiplexor input (314, 316, 318, 320) is coupled to a multiplexor output (315, 317) of a multiplexor (467, 468) in one of the at least one neighboring cell, the second multiplexor input (NS_REG, EW_REG) is coupled to a local data source (410, 418), and the multiplexor output (315, 317, 319, 321) is coupled to a first multiplexor input (314, 316, 318, 320) of a multiplexor (467, 468) in one of the at least one neighboring cell.
  7. 14
    The parallel processor according to any of preceding claim, further comprising control means (114), coupled to the control input means (332), for generating the control signals (116).
  8. 15
    The parallel processor according to any of claims 1, 4, 5, 9, 10 or 12, wherein the control input means (332) and the plurality of identical processing cells (301) are fabricated as a very large scale integrated circuit chip (110).