发明名称 Method and apparatus for implementing a non-blocking translation lookaside buffer
摘要 A non-blocking translation lookaside buffer is described for use in a microprocessor capable of processing speculative and out-of-order instructions. Upon the detection of a fault, either during a translation lookaside buffer hit or a page table walk performed in response to a translation lookaside buffer miss, information associated with the faulting instruction is stored within a fault register within the translation lookaside buffer. The stored information includes the linear address of the instruction and information identifying the age of instruction. In addition to storing the information within the fault register, a portion of the information is transmitted to a reordering buffer of the microprocessor for storage therein pending retirement of the faulting instruction. Prior to retirement of the faulting instruction, the translation lookaside buffer continues to process further instructions. Upon retirement of each instruction, the reordering buffer determines whether a fault had been detected for that instruction and, if so, the microprocessor is flushed. Then, a branch is taken into microcode. The microcode accesses the linear address and other information stored within the fault register of the translation lookaside buffer and handles the fault. The system is flushed and the microcode is executed only for faulting instructions which actually retire. As such, faults detected while processing speculative instructions based upon mispredicted branches do not prevent further address translations and do not cause the system to be flushed. Method and apparatus implementations are described herein.
申请公布号 US5564111(A) 申请公布日期 1996.10.08
申请号 US19940315833 申请日期 1994.09.30
申请人 INTEL CORPORATION 发明人 GLEW, ANDREW F.;AKKARY, HAITHAM;COLWELL, ROBERT P.;HINTON, GLENN J.;PAPWORTH, DAVID B.;FETTERMAN, MICHAEL A.
分类号 G06F9/38;G06F11/00;G06F12/10;(IPC1-7):G06F11/34 主分类号 G06F9/38
代理机构 代理人
主权项
地址