Patent · US Expired

Pre-decoded instruction cache and method therefor particularly suitable for variable byte-length instructions

US5970235A · kind A · utility

16Cited by
39References
10Claims
0Family size

Assignee

Inventors

Key dates

Filing dateOct 16, 1997
Grant dateOct 19, 1999
Priority date
Expiry dateOct 16, 2017

Classification

  • Technology area (CPC G)Physics
  • CPC primaryG06F9/3816
  • WIPO fieldComputer technology
  • WIPO sectorElectrical engineering

Abstract

An instruction cache for a superscalar processor having a variable byte-length instruction format, such as the X86 format, is organized as a 16K byte 4-way set-associative cache. An instruction store array is organized as 1024 blocks of 16 predecoded instruction bytes. The instruction bytes are prefetched and predecoded to facilitate the subsequent parallel decoding and mapping of up to four instructions into a sequence of one or more internal RISC-like operations (ROPs), and the parallel dispatch of up to 4 ROPs by an instruction decoder. Predecode bits are assigned to each instruction byte and are stored with the corresponding instruction byte in the instruction store array. The predecode bits include bits for identifying the starting, ending, and opcode bytes, and for specifying the number of ROPs that an instruction maps into. An address tag array is dual-ported and contains 1024 entries, each composed of a 20-bit address tag, a single valid bit for the entire block, and 16 individual byte-valid bits, one for each of the 16 corresponding instruction bytes within the instruction store array. A successor array is dual-ported and contains 1024 entries, each composed of a 14-bit su…

Source: USPTO / EPO open patent data. Objective bibliographic and citation counts.