Compressing and accessing a microcode ROM
First Claim
1. An apparatus for storing computing code and providing access to said code, comprising:
- a pattern storage to store unique patterns identified in said code;
an index storage to store indices of said unique patterns stored in said pattern storage; and
a controller to enable a process of accessing said index storage and said pattern storage to obtain a code word to be pipelined.
1 Assignment
0 Petitions
Accused Products
Abstract
An arrangement is provided for compressing microcode ROM (“uROM”) in a processor and for efficiently accessing a compressed “uROM”. A clustering-based approach may be used to effectively compress a uROM. The approach groups similar columns of microcode into different clusters and identifies unique patterns within each cluster. Only unique patterns identified in each cluster are stored in a pattern storage. Indices, which help map an address of a microcode word (“uOP”) to be fetched from a uROM to unique patterns required for the uOP, may be stored in an index storage. Typically it takes a longer time to fetch a uOP from a compressed uROM than from an uncompressed uROM. The compressed uROM may be so designed that the process of fetching a uOP (or uOPs) from a compressed uROM may be fully-pipelined to reduce the access latency.
-
Citations
26 Claims
-
1. An apparatus for storing computing code and providing access to said code, comprising:
-
a pattern storage to store unique patterns identified in said code;
an index storage to store indices of said unique patterns stored in said pattern storage; and
a controller to enable a process of accessing said index storage and said pattern storage to obtain a code word to be pipelined. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A processor, comprising:
-
at least one processing core;
a microcode read only memory (“
uROM”
) to store microcode, said uROM including;
a pattern storage to store unique patterns identified in said microcode, and an index storage to store indices of said unique patterns stored in said pattern storage; and
a control mechanism to enable said at least one processing core to pipeline a process of accessing said uROM to obtain a microcode word (“
uOP”
). - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computing system, comprising:
-
at least one processor; and
a system interconnect to couple said at least one processor together;
wherein said at least one processor includes;
at least one processing core;
a microcode read only memory (“
uROM”
) to store microcode; and
a control mechanism to enable said at least one processing core to pipeline a process of accessing said uROM to obtain a microcode word (“
uOP”
). - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
-
20. A method for accessing a microcode read only memory (“
- uROM”
) that is at least partly compressed, comprising;
receiving an address of a microcode word (“
uOP”
) to be fetched from said uROM;
determining whether said uOP is stored in an uncompressed portion of said uROM, based at least in part on said received address;
if said uOP is stored in said uncompressed portion, fetching said uOP from said uncompressed portion directly based on said received address;
otherwise, fetching said uOP from a compressed portion of said UROM through a pipelined process. - View Dependent Claims (21, 22, 23, 24, 25, 26)
- uROM”
Specification