Nova Patents
EP0141232A2

Vector processing unit.

Abstract

@ A functional unit (20) designed with arithmetic pipelining for vector processing is attached to a base data processor (22) from which it receives vector instructions and operands for processing. Stepping (53, 54) of operands and exception indicators through the vector processing unit is controlled (51) by the base processor (22, 52). Exception information (44) transferred (45) to the base processor is controlled to provide precise indicators (46) of error conditions for recovery and restart of vector processing. Masking logic (91-93) provides for expansion/contraction of operands in the vector processing unit (20) as compared with sequential main memory (21) addresses.

EP0141232A2, drawing sheet 1
Sheet 1 of 14

Term

Term ended

Projected expiry passed 21 September 2004, 22 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

12 claims: 12 independent, 0 dependent

  1. 1
    A data processing system comprising:memory means (21) for storing instruction words and operands;a central processing unit (CPU) (22) connected to said memory means for fetching and decoding instructions and controlling execution of instructions, including transfer of operands to and from said memory means, the control of execution of instructions including microprogram control means (47, 52) for generating execution control signals;characterized by: vector processing means (20), including vector operand storage means (57) and vector arithmetic means (65, 76);and interconnection means (28, 29), connecting said CPU and said vector processing means, including operand transfer lines (35), control lines (29, 50), status lines (45), and a vector timing signal line (51) connected to one (80) of said execution control signals (52) from said microprogram control means (47).
  2. 2
    A data processing system in accordance with claim 1 wherein said CPU (22) includes:arithmetic means (26);memory access control means (47, 27);first means (parts of 25, 26), connected with said microprogram control means (47), said arithmetic means, said memory access control means, and said memory means (21), for controlling said arithmetic means and said memory access control means when decoded instructions are ones other than vector instructions;and second means (parts of 25, 26), connected with said microprogram control means (47), said memory access control means (27), and said memory means (21), for controlling said vector processing means (20) when decoded instructions are vector instructions.
  3. 3
    A data processing system in accordance with claim 2 wherein said second means includes:operation code transfer means (25, 30) connected to said control lines (29) for transferring to said vector processing means (20) a vector instruction for control of said vector arithmetic means;and data transfer means (36, 40) connected to said memory access control means (27) and said operand transfer lines (35) for transfer of vector data between said vector processing means (20) and said memory means (21).
  4. 4
    A data processing system in accordance with claim 3 wherein said second means includes:status responsive means (46) connected to said status lines (45) and said microprogram control means (48, 47) for controlling said microprogram control means (47) to initiate a control sequence in response to conditions in said vector processing means (20).
  5. 5
    A data processing system in accordance with a previous claim wherein said vector arithmetic means (20) includes:a multistage data path (38, 39, 61, 63, 59, 62, 64, 65-68, 71-79), including interconnected temporary storage stages and data processing stages;gate means for transferring data through said multistage data path;and advance signalling means (53, 54) connected to said vector timing signal line (51) and said gate means, whereby transfer of data through said multistage data path is controlled by said microprogram control means (47) in said CPU (22).
  6. 6
    A data processing system in accordance with claim 5 wherein said multistage data path includes:a final data path stage (68, 79);interconnected exception indicating stages (B-E in FIG. 14), one for each of said temporary storage stages and said data processing stages;and exception signalling means (44), connected to said exception indicating stage of said final data path stage (68, 79) and said status lines (45), for transferring exception conditions to said status responsive means (46) in said CPU.
  7. 7
    A data processing system in accordance with claim 6 wherein said multistage data path includes:a data input stage (37) and an associated one (43) of said exception indicating stages;means (102, 103, 104) connected to said exception indicating stage of said data input stage for providing an invalid data indication;and means (101, 100) in said exception signalling means, responsive to said invalid data indication for transferring an access exception condition to said status responsive means.
  8. 8
    A data processing system in accordance with claim 6 or 7 wherein said data processing stages include:error detection means (107, 108, 109) connected to an associated one of said exception indicating stages for providing an arithmetic error indication;and means in said exception signalling means (44), responsive to said arithmetic error indication for transferring an arithmetic exception condition to said status responsive means (46).
  9. 9
    A data processing system in accordance with claim 8 wherein said arithmetic error detection means includes:means (68, 79) for providing a multi-bit binary encoded arithmetic error indication for distinguishing between a plurality of error conditions;and said means in said exception signalling means (44) includes means (106) for transferring said multi-bit binary encoded arithmetic error indication to said status responsive means.
  10. 10
    A data processing system in accordance with a previous claim wherein said vector processing means (20) includes:a plurality of vector registers (57) each including a plurality of addressable storage locations for storing a plurality of ordered sets of data;a vector instruction register (31) connected to said control lines (29) for storing a vector instruction;path select means connected to said instruction register (31), said operand transfer lines (35), and said vector arithmetic means (65, 76), responsive to vector instructions for selectively connecting said vector registers (57) to said operand transfer lines and said vector arithmetic means.
  11. 11
    A data processing system in accordance with claim 10 wherein said path select means in said vector processing means (20) includes:address generating means (65, 33) connected and responsive to a vector load or store with index instruction in said vector instruction register (31) and a selected one of said plurality of vector registers (57) for calculating a series of addresses in said memory means;and means connecting said address generating means to said control lines (29) for transferring said series of addresses to said memory access control means (25, 26, 47, 27) in said CPU (22), whereby vector data is transferred between another selected one of said plurality of vector registers (57) and said memory means (21) at said series of addresses.
  12. 12
    A data processing system in accordance with claim 10 or 11 wherein said vector processing means (20) includes:a vector mask register (91-93) comprised of a plurality of binary bits, each of said plurality of binary bits corresponding to a particular one of said plurality of addressable storage locations in said vector registers (57), and settable to one of two binary states;and gate means, connected between said vector registers and said operand transfer lines, and connected (99) and responsive to the binary state of selected ones of binary bits in said vector mask register, for selectively transferring vector data between said plurality of addressable locations in said vector registers (57) and said operand transfer lines (35), whereby vector data is transferred between consecutive addresses in said memory means (21) and selectable ones of said addressable storage locations of said vector registers (57).