US2002194457A1PendingUtilityA1

Memory system for ordering load and store instructions in a processor that performs out-of-order multithread execution

Priority: Dec 16, 1997Filed: Aug 1, 2002Published: Dec 19, 2002
Est. expiryDec 16, 2017(expired)· nominal 20-yr term from priority
Inventors:Haitham Akkary
G06F 9/3834G06F 9/3851G06F 12/10
45
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

In one embodiment of the invention, a processor includes a memory order buffer (MOB) including load buffers and store buffers, wherein the MOB orders load and store instructions so as to maintain data coherency between load and store instructions in different threads, wherein at least one of the threads is dependent on at least another one of the threads. In another embodiment of the invention, a processor includes an execution pipeline to concurrently execute at least portions of threads, wherein at least one of the threads is dependent on at least another one of the threads, the execution pipeline including a memory order buffer that orders load and store instructions. The processor also includes detection circuitry to detect speculation errors associated with load instructions in a load buffer.

Claims

exact text as granted — not AI-modified
What is claimed is:  
     
         1 . A processor comprising: 
 a memory order buffer (MOB) including load buffers and store buffers, wherein the MOB orders load and store instructions so as to maintain data coherency between load and store instructions in different threads, wherein at least one of the threads is dependent on at least another one of the threads.    
     
     
         2 . The processor of  claim 1 , further comprising thread management logic to control dynamic creation of the threads.  
     
     
         3 . The processor of  claim 1 , further comprising thread management logic to provide an indication of program order and retirement order.  
     
     
         4 . The processor of  claim 3 , wherein threads are retired from the MOB in retirement order in a final retirement.  
     
     
         5 . The processor of  claim 3 , wherein threads are retired from the MOB in retirement order in a final retirement after it is assured that all instructions have been executed without speculation error or have been part of a reset thread.  
     
     
         6 . The processor of  claim 1 , wherein the store buffer includes a field to hold data to be store to memory.  
     
     
         7 . The processor of  claim 1 , wherein load buffer includes status fields including indication has to whether a load instruction had previously received data from memory or data in the store buffer.  
     
     
         8 . The processor of  claim 1 , wherein load buffer includes status fields including indication has to a store buffer identification number (SBID) of a store buffer entry from which the load instruction previously received data.  
     
     
         9 . The processor of  claim 1 , wherein load buffer includes status fields including indication has to a thread identification number of a store instruction from which the load instruction previously received data.  
     
     
         10 . A processor, comprising: 
 an execution pipeline to concurrently execute at least portions of threads, wherein at least one of the threads is dependent on at least another one of the threads, the execution pipeline including a memory order buffer that orders load and store instructions; and    detection circuitry to detect speculation errors associated with load instructions in a load buffer.    
     
     
         11 . The processor of  claim 10 , further including replay triggering circuitry.  
     
     
         12 . The processor of  claim 10 , further including a trace buffer outside the execution pipeline that holds the load and store instructions until a final retirement.  
     
     
         13 . The processor of  claim 10 , wherein the detection circuitry is included in the execution pipeline.  
     
     
         14 . A processor comprising: 
 a memory order buffer including: 
 load buffers to hold load instructions of threads;  
 store buffers to hold store instructions of the threads; and  
 comparison circuitry to compare an address of one of the load instructions to be executed with addresses of at least one of the store instructions in the store buffers;  
 date path control logic to determine whether the load instruction reads data from memory or from one of the store buffers.  
   
     
     
         15 . A processor comprising: 
 a memory order buffer including: 
 load buffers to hold load instructions of threads;  
 store buffers to hold store instructions of the threads; and  
 comparison circuitry to compare an address and status bits of one of the store instructions to be executed with addresses and status bits of at least one of the load instructions; and  
 detection logic to determine whether to replay one or more of the load instructions based on the comparison.

Join the waitlist — get patent alerts

Track US2002194457A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.