×

Harvard architecture microprocessor with arithmetic operations and control tasks for data transfer handled simultaneously

  • US 4,964,046 A
  • Filed: 12/22/1989
  • Issued: 10/16/1990
  • Est. Priority Date: 06/02/1987
  • Status: Expired due to Term
First Claim
Patent Images

1. A digital data processor including an arithmetic logic unit ("ALU") that performs data processing operations, said ALU having first and second ALU inputs and an ALU output;

  • a data memory having a data memory input and a data memory output; and

    a control unit connected to the data memory and the ALU by at least one data memory control bus and at least one ALU control bus, respectively, said digital data processor operating in synchronism with a clock signal to provide pipelined data processing operations sin response to pipelined instructions, said digital data processor comprising;

    a buffer interposed between the ALU inputs and output and the data memory input and output to transfer data between said ALU and said data memory, said buffer controlled by said control unit via a buffer control bus;

    a first bidirectional data link interconnecting the data memory input and output and the buffer, said first bidirectional data link comprising first and second unidirectional data buses on which data flows in opposite directions; and

    a second bidirectional data link interconnecting said ALU inputs and output and said buffer, said second bidirectional data link comprising third and fourth unidirectional data buses on which data flows in the direction of the ALU inputs and a fifth unidirectional data bus on which data flows in the direction of the buffer from said ALU output;

    wherein during one period of said clock signal, data transfers are performed over said first, second, third, fourth and fifth unidirectional data buses at the same time as said ALU performs said data processing operations, so that data transfers between the buffer and the ALU occur simultaneously with transfers between the buffer and the data memory;

    wherein said buffer comprises address-selected memory cells which are switched through on any of the five unidirectional data buses and are read from or written into independent of each other;

    wherein said control unit provides to the buffer over the buffer control bus decoded delayed branching instructions and conditional and unconditional skip instructions in a pipelined instruction sequence, said control unit comprising;

    a control unit memory which holds an instruction list that is fetchable instruction word by instruction word, wherein an instruction word fetched during a period of said clock signal comprises all data-transfer instructions, control instructions, and ALU-operation instructions to be performed during an associated clock period, said instruction list being divided into segments, each said segment being executed without being interrupted by an interrupt, said instruction words being provided as outputs from said control-unit memory;

    an instruction decoder that receives said instruction words from said control unit memory and provides said ALU-operation instructions to control said ALU, said instruction decoder further selectively providing task requests on a task request bus;

    a set of task request terminals that receive a set of task requests from a device external to said control unit; and

    a scheduler to delay jump instructions connected to said set of task request terminals and to said instruction decoder, said scheduler operating only at the end of one of said segments currently being executed in said instruction list to selectively initiate a jump to the beginning of a selectable different one of said segments in said instruction list in response to task request signals applied to it from said task request terminals or from said instruction decoder.

View all claims
  • 0 Assignments
Timeline View
Assignment View
    ×
    ×