Claims
- 1. A load/store pipeline in a scalar processor for loading data to registers and storing data from said registers, the pipeline comprising:
- a) a register file which holds the results of an arithmetic logic operation;
- b) a translation buffer and a cache tag look up which are both coupled in parallel to the register file and receive a virtual address from the register file, said translation buffer performing a translation of the virtual address into a physical address, the cache tag look up performing a look up on untranslated bits of said virtual address;
- c) a comparator for comparing an output of said cache tag look up and an output of said translation buffer and producing a hit or miss signal based on said comparison;
- d) a data cache coupled to said register file which stores or retrieves data when there is a hit signal generated by said comparator;
- e) an output fifo coupled to said translation buffer which sends information out of said pipeline when there is a miss signal generated by said comparator to request data which is to be filled into said data cache;
- f) an input buffer coupled to said data cache which receives data from out of said pipeline which is to be filled into said data cache; and
- g) a memory reference tag which sends the tag corresponding to the data received by the input buffer to be stored in said cache tag look up.
- 2. A pipeline in a computer processor for loading data from a cache memory to registers and storing data from the registers to the cache memory, the pipeline comprising:
- a) an address generator operating to generate address information entries serially, each one of the address information entries relating to a corresponding one of a series of data entries;
- b) a cache tag look.sub.-- up and comparator device coupled to the address generator to receive the address information entries serially from the address generator and operating to perform a cache tag look.sub.13 up and tag compare operation, serially, for each one of the address information entries, the cache tag look.sub.-- up and comparator device outputting one of a hit or miss signal as a result of the cache tag look.sub.-- up and compare operation;
- c) a data cache including an input coupled to each of the address generator to receive the address information entries serially from the address generator and the cache tag look.sub.-- up and comparator device to receive the one of a hit or miss signal, and an output coupled to the registers;
- d) the data cache operating to selectively perform in respect of each of the data entries corresponding to the address information entries received from the address generator, one of a load of the each of the data entries from the cache memory to the registers and a store of each one of the data entries from the registers to the cache memory only if the cache tag look.sub.-- up and comparator device output generates a hit for the address information entry received from the address generator corresponding to the data entry; and
- e) the coupling between the data cache and the address generator including a delay device operating to delay the receiving of each one of the address information entries by the data cache relative to the receiving of the each of the address information entries by the cache tag look.sub.-- up and comparator device by at least one cycle time, said at least one cycle time equal to at least an access time of the cache tag look.sub.-- up and comparator device.
Parent Case Info
This application is a continuation of application Ser. No. 07/599,405 filed on Oct. 17, 1990, which is a division of application Ser. No. 07/224,483, filed Jul. 25, 1988.
US Referenced Citations (29)
Foreign Referenced Citations (1)
Number |
Date |
Country |
0192578 |
Aug 1986 |
EPX |
Divisions (1)
|
Number |
Date |
Country |
Parent |
224483 |
Jul 1988 |
|
Continuations (1)
|
Number |
Date |
Country |
Parent |
599405 |
Oct 1990 |
|