Partially decoded instruction cache
AssigneeNational Semiconductor Corporation
InventorsDonald B. Alpert, Dror Avnon, Amos Ben-Meir, Ran Talmudi
Life of this patent
Estimating the term…
Loading patent…
AssigneeNational Semiconductor Corporation
InventorsDonald B. Alpert, Dror Avnon, Amos Ben-Meir, Ran Talmudi
Estimating the term…
A microprocessor partially decodes instructions retrieved from main memory before placing them into the microprocessor's integrated instruction cache. Each storage location in the instruction cache includes two slots for decoded instructions. One slot controls one of the microprocessor's integer pipelines and a port to the microprocessor's data cache. A second slot controls the second integer pipeline or one of the microprocessor's floating point units. The instructions retrieved from main memory are decoded by a loader unit which decodes the instructions from the compact form as stored in main memory and places them into the two slots of the instruction cache entry according to their functions. In addition, auxiliary information is placed in the cache entry along with the instruction to control parallel execution as well as emulation of complex instructions. A bit in each instruction cache entry indicates whether the instructions in the two slots are independent, so that they can be executed in parallel, or dependent, so that they must be executed sequentially. Using a single bit for this purpose allows two dependent instructions to be stored in the slots of the single cache entry.
A microprocessor that includes at least first and second parallel-operating execution units such that each of the first and second execution units responds to periodic cycles of a system clock signal by executing instructions in parallel with the execution of instructions by the other of the first and second execution units such that the microprocessor executes instructions at a rate of greater than one instruction per system clock cycle, encoded instructions being retrieved from a main memory that is external to the microprocessor and that is connectable to the microprocessor via a system bus, the microprocessor comprising:
A microprocessor-implemented method of executing instructions, the microprocessor including at least first and second parallel-operating execution units such that each of the first and second execution units responds to periodic cycles of a system clock signal by executing instructions in parallel with the execution of instructions by the other of the first and second execution units such that the microprocessor executes instructions at a rate greater than one instruction per system clock cycle, encoded instructions being retrieved from a main memory that is external to the microprocessor and that is connectable to the microprocessor via a system bus, the microprocessor further including a plurality of instruction cache entries, each instruction cache entry including a first storage slot for storing a first partially-decoded instruction and a second storage slot for storing a second partially-decoded instruction, the method comprising:
A microprocessor-implemented method of executing instructions, the microprocessor including at least first and second parallel-operating execution units such that each of the first and second execution units responds to periodic cycles of a system clock signal by executing instructions in parallel with the execution of instructions by the other of the first and second execution units such that the microprocessor executes instructions at a rate greater than one instruction per system clock cycle, the microprocessor further including an instruction cache having a plurality of instruction cache entries, each instruction cache entry including a first storage slot for storing a first-partially decoded instruction and a second storage slot for storing a second partially-decoded instruction, the method comprising:
A microprocessor-implemented method of executing instructions, the microprocessor including at least first and second parallel-operating execution units such that each of the first and second execution units responds to periodic cycles of a system clock signal by executing instructions in parallel with the execution of instructions by the other of the first and second execution units such that the microprocessor executes instructions at a rate greater than one instruction per system clock cycle, encoded instructions being retrieved from a main memory that is external to the microprocessor and that is connectable to the microprocessor via a system bus, the encoded instructions including encoded core instructions and encoded non-core instructions, the microprocessor further including a plurality of instruction cache entries, each instruction cache entry including a first storage slot for storing a first partially-decoded instruction and a second storage slot for storing a second partially-decoded instruction, the method comprising:
Dependencies are inferred from the claim text.