发明授权
- 专利标题: Reorder buffer including a circuit for selecting a designated mask corresponding to an instruction that results in an exception
- 专利标题(中): 重排缓冲器包括用于选择与导致异常的指令相对应的指定掩码的电路
-
申请号: US751650申请日: 1996-11-18
-
公开(公告)号: US5870579A公开(公告)日: 1999-02-09
- 发明人: Teik-Chung Tan
- 申请人: Teik-Chung Tan
- 申请人地址: CA Sunnyvale
- 专利权人: Advanced Micro Devices, Inc.
- 当前专利权人: Advanced Micro Devices, Inc.
- 当前专利权人地址: CA Sunnyvale
- 主分类号: G06F9/38
- IPC分类号: G06F9/38 ; G06F9/30
摘要:
A superscalar microprocessor implements a reorder buffer to support out-of-order execution of instructions. The reorder buffer stores speculatively executed instructions until the instructions prior to the speculatively instruction have completed without exception. When an exception, such as a branch misprediction, occurs, the reorder buffer may cancel the instructions in the reorder buffer after the exception and restore the state of the reorder buffer to the state prior to the execution of the exception. Properly restoring the state of the reorder buffer requires instruction status information about the mispredicted branch instruction, which is stored in the reorder buffer. Additionally, if multiple branch mispredictions are detected, the mispredictions must be prioritized to determine the misprediction that occurred earliest in the program order. To reduce the time delay for identifying mispredicted instructions, prioritizing mispredicted instructions, canceling instructions subsequent to the mispredicted instruction and reading status information from the reorder buffer, the availability of an instruction tag, which identifies the instruction being executed, during the execution of the instruction is utilized. The reorder buffer receives the tag of the instruction issued to the functional unit. In parallel with the execution of the instruction, the reorder buffer generates hit masks identifying instructions to be canceled in the event of a mispredicted branch. In parallel, status information from the instruction (or instructions) being executed is selected from the reorder buffer and prioritization masks are generated. Therefore, if a mispredicted branch is detected, the instructions that need to be canceled can be readily identified and the instruction status information is readily available.
公开/授权文献
信息查询