发明名称 Instruction caches for variable byte-length instructions.
摘要 An instruction cache for a superscalar processor of the type 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 X86 instruction bytes. The X86 instruction bytes are prefetched from an instruction source and predecoded to facilitate the subsequent parallel decoding and mapping of up to four X86 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 X86 instruction byte and are stored with the corresponding X86 instruction byte in the instruction store array. The predecode bits include first, second, and third bits for identifying the starting byte, ending byte, and opcode byte, respectively, of an X86 instruction, and fourth and fifth bits to collectively specify the number of ROPs that an X86 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 successor index, a successor valid bit which indicates when set that the successor index stored in the successor array should be used to access the instruction store array, and indicates when cleared that no branch is predicted taken within the instruction block, and a block branch index which indicates, when the successor valid bit is set, the byte location within the current instruction block of the last instruction byte predicted to be executed. <IMAGE>
申请公布号 EP0651322(A1) 申请公布日期 1995.05.03
申请号 EP19940306870 申请日期 1994.09.20
申请人 ADVANCED MICRO DEVICES INC. 发明人 WITT, DAVID B.;GODDARD, MICHAEL D.
分类号 G06F12/08;G06F9/30;G06F9/318;G06F9/32;G06F9/38 主分类号 G06F12/08
代理机构 代理人
主权项
地址