发明名称 System and method of saving and restoring registers in a data processing system
摘要 A system and method is provided to reduce the latency associated with saving and restoring the state of the floating point registers in a microprocessor when switching tasks between floating point and MMX operations, or between tasks within the same context. The present invention maintains a secondary register file along with the primary floating point register file in the CPU. The primary register will keep the state of the floating point task "as is" upon the occurrence of a task switch to MMX, or another context. The address of the area where the FPU state is saved is maintained in a save area address register. The secondary register is then utilized by the other context to store intermediate results of executed instructions. In the majority of cases when a context switch back to floating point operations occurs, the previous state is restored from the primary register without incurring the latency of retrieving the instructions and data from the memory subsystem. In addition to the secondary register, a snooping mechanism will use the address of the state save area to determine if the state save area was modified. If the state save area is modified, then the floating point state must be restored from the memory subsystem in a conventional manner. However, the floating point save area will seldom be modified and the penalty for maintaining the floating point state in the CPU is negligible. Further, the present invention will allow the microprocessor to operate in a compatible manner with current operating systems and application software.
申请公布号 US6671762(B1) 申请公布日期 2003.12.30
申请号 US19970999298 申请日期 1997.12.29
申请人 STMICROELECTRONICS, INC. 发明人 SONI NARESH H.;ISAMAN DAVID
分类号 G06F7/00;G06F9/34;G06F9/42;G06F9/46;G06F13/32;(IPC1-7):G06F13/32 主分类号 G06F7/00
代理机构 代理人
主权项
地址