Electrical computers and digital processing systems: processing – Instruction decoding – Predecoding of instruction component
Patent
1997-06-11
2000-04-11
Kim, Kenneth S.
Electrical computers and digital processing systems: processing
Instruction decoding
Predecoding of instruction component
712204, 712210, G06F 930
Patent
active
060498633
ABSTRACT:
A predecode unit is configured to predecode variable byte-length instructions prior to their storage within an instruction cache of a superscalar microprocessor. The predecode unit generates three predecode bits associated with each byte of instruction code: a "start" bit, an "end" bit, and a "functional" bit. The start bit is set if the associated byte is the first byte of the instruction. Similarly, the end bit is set if the byte is the last byte of the instruction. The functional bits convey information regarding the location of an opcode byte for a particular instruction as well as an indication of whether the instruction can be decoded directly by the decode logic of the processor or whether the instruction is executed by invoking a microcode procedure controlled by an MROM unit. For fast path instructions, the functional bit is set for each prefix byte included in the instruction, and cleared for other bytes. For MROM instructions, the functional bit is cleared for each prefix byte and is set for other bytes. The type of instruction (either fast path or MROM) may thus be determined by examining the functional bit corresponding to the end byte of the instruction. If that functional bit is clear, the instruction is a fast path instruction. Conversely, if that functional bit is set, the instruction is an NMOM instruction. After an MROM instruction is identified, the functional bits for the instruction may be inverted. Subsequently, the opcode for both fast path and MROM instructions may readily be located (by the alignment logic) by determining the first byte within the instruction that has a cleared functional bit.
REFERENCES:
patent: 4044338 (1977-08-01), Wolf
patent: 4453212 (1984-06-01), Gaither et al.
patent: 4807115 (1989-02-01), Torng
patent: 4858105 (1989-08-01), Kuriyama et al.
patent: 4928223 (1990-05-01), Dao et al.
patent: 5053631 (1991-10-01), Perlman et al.
patent: 5058048 (1991-10-01), Gupta et al.
patent: 5129067 (1992-07-01), Johnson
patent: 5136697 (1992-08-01), Johnson
patent: 5226126 (1993-07-01), McFarland et al.
patent: 5226130 (1993-07-01), Favor et al.
patent: 5337415 (1994-08-01), DeLano et al.
patent: 5586276 (1996-12-01), Grochowski et al.
patent: 5598544 (1997-01-01), Ohshima
patent: 5600806 (1997-02-01), Brown et al.
patent: 5644744 (1997-07-01), Mahin et al.
patent: 5689672 (1997-11-01), Witt et al.
patent: 5758114 (1998-05-01), Johnson et al.
patent: 5758116 (1998-05-01), Lee et al.
patent: 5852727 (1998-12-01), Narayan et al.
Intel, "Chapter 2: Microprocessor Architecture Overview," pp. 2-1 through 2-4.
Michael Slater, "AMD's K5 Designed to Outrun Pentium," Microprocessor Report, vol. 8, No. 14, Oct. 24, 1994, 7 pages.
Sebastian Rupley and John Clyman, "P6: The Next Step?," PC Magazine, Sep. 12, 1995, 16 pages.
Tom R. Halfhill, "AMD K6 Takes On Intel P6," BYTE, Jan. 1996, 4 pages.
McBride Andrew
Muthusamy Karthikeyan
Narayan Rammohan
Tran Thang M.
Advanced Micro Devices , Inc.
Kim Kenneth S.
Kivlin B. Noel
LandOfFree
Predecoding technique for indicating locations of opcode bytes i does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Predecoding technique for indicating locations of opcode bytes i, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Predecoding technique for indicating locations of opcode bytes i will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-1184746