发明名称 Expanding instructions with variable-length operands to a fixed length
摘要 A microprocessor configured to predecode instructions with variable address and operand lengths into a uniform format with constant address and operand lengths is disclosed. The microprocessor may comprise a predecode unit configured to receive instruction bytes from a main memory subsystem. The predecode unit is configured to detect instructions having prefix bytes that override default operand and address field lengths. This information, combined with the instruction's default operand and address length, allows the predecode unit to expand addresses and operands that are shorter than the predetermined uniform length. The operands and addresses are expanded by padding them with constants. Once the instructions are padded to a uniform format, they are stored in an instruction cache. An address translation table may be used to translate fetch addresses, thereby compensating for the offset created by the padding constants. The microprocessor may also be configured to detect the execution of instructions that modify segment default address and operand lengths. Upon detecting the execution of this type of instruction, the microprocessor may be configured to flush the contents of the instruction cache and address translation table. An optional secondary cache may store unpadded versions of the instructions to speed rebuilding of the instruction cache and address translation table after a flush. A computer system and method for predecoding instructions are also disclosed.
申请公布号 US6240506(B1) 申请公布日期 2001.05.29
申请号 US19980165968 申请日期 1998.10.02
申请人 ADVANCED MICRO DEVICES, INC. 发明人 MILLER PAUL K.
分类号 G06F9/30;G06F9/318;(IPC1-7):G06F15/00 主分类号 G06F9/30
代理机构 代理人
主权项
地址