Dual cache for independent prefetch and execution units
First Claim
1. A digital computing system comprising:
- a main memory unit for storing at addressable locations thereof blocks of information, including instructions and operands, useable in said system; and
a central processing unit for fetching and executing instructions comprising;
an instruction prefetch unit for fetching said instructions;
an arithmetic logic processing unit for executing said instructions;
an instruction cache memory unit for storing blocks of said information, said instruction cache memory unit including first means coupled to said instruction prefetch unit for determining whether an instruction sought by said instruction prefetch unit is contained in said instruction cache memory unit, said first means also being coupled to said arithmetic logic processing unit for generating a first signal if information to be written by said arithmetic logic processing unit into said main memory unit is contained in said instruction cache memory unit; and
an operand cache memory unit for storing blocks of said information, said operand cache memory unit including second means coupled to said arithmetic logic processing unit for determining whether an operand sought by said arithmetic logic processing unit is contained in said operand cache memory unit, said second means also being coupled to said arithmetic logic processing unit for generating a second signal if information to by written by said arithmetic logic processing unit into said main memory unit is contained in said operand cache memory unit;
means enabling said arithmetic logic processing unit to write information simultaneously into said main memory unit and into said instruction cache memory unit in response to said first signal; and
means enabling said arithmetic logic processing unit to write information simultaneously into said main memory and into said operand cache memory unit in response to said second signal.
1 Assignment
0 Petitions
Accused Products
Abstract
A pipelined digital computer processor system (10, FIG. 1) is provided comprising an instruction prefetch unit (IPU,2) for prefetching instructions and an arithmetic logic processing unit (ALPU, 4) for executing instructions. The IPU (2) has associated with it a high speed instruction cache (6), and the ALPU (4) has associated with it a high speed operand cache (8). Each cache comprises a data store (84, 94, FIG. 3) for storing frequently accessed data, and a tag store (82, 92, FIG. 3) for indicating which main memory locations are contained in the respective cache.
The IPU and ALPU processing units (2, 4) may access their associated caches independently under most conditions. When the ALPU performs a write operation to main memory, it also updates the corresponding data in the operand cache and, if contained therein, in the instruction cache permitting the use of self-modifying code. The IPU does not write to either cache. Provision is made for clearing the caches on certain conditions when their contents become invalid.
-
Citations
1 Claim
-
1. A digital computing system comprising:
-
a main memory unit for storing at addressable locations thereof blocks of information, including instructions and operands, useable in said system; and a central processing unit for fetching and executing instructions comprising; an instruction prefetch unit for fetching said instructions; an arithmetic logic processing unit for executing said instructions; an instruction cache memory unit for storing blocks of said information, said instruction cache memory unit including first means coupled to said instruction prefetch unit for determining whether an instruction sought by said instruction prefetch unit is contained in said instruction cache memory unit, said first means also being coupled to said arithmetic logic processing unit for generating a first signal if information to be written by said arithmetic logic processing unit into said main memory unit is contained in said instruction cache memory unit; and an operand cache memory unit for storing blocks of said information, said operand cache memory unit including second means coupled to said arithmetic logic processing unit for determining whether an operand sought by said arithmetic logic processing unit is contained in said operand cache memory unit, said second means also being coupled to said arithmetic logic processing unit for generating a second signal if information to by written by said arithmetic logic processing unit into said main memory unit is contained in said operand cache memory unit; means enabling said arithmetic logic processing unit to write information simultaneously into said main memory unit and into said instruction cache memory unit in response to said first signal; and means enabling said arithmetic logic processing unit to write information simultaneously into said main memory and into said operand cache memory unit in response to said second signal.
-
Specification