Hi

Could you please let me know in which of the following state(s), a row
buffer entry can be distinguished as a mis-speculated one? What is the last
state a speculative row buffer entry can reside(switch to) before getting
the acknowledge that the speculation was correct and it can go further (or
be committed)?

Thanks


 StateList rob_free_list;                             // Free ROB entyry
 StateList rob_frontend_list;                         // Frontend in
progress (artificial delay)
 StateList rob_ready_to_dispatch_list;                // Ready to dispatch
 StateList rob_dispatched_list[MAX_CLUSTERS];         // Dispatched but
waiting for operands
 StateList rob_ready_to_issue_list[MAX_CLUSTERS];     // Ready to issue
(all operands ready)
 StateList rob_ready_to_store_list[MAX_CLUSTERS];     // Ready to store
(all operands except possibly rc are ready)
 StateList rob_ready_to_load_list[MAX_CLUSTERS];      // Ready to load (all
operands ready)
 StateList rob_issued_list[MAX_CLUSTERS];             // Issued and in
progress (or for loads, returned here after address is generated)
 StateList rob_completed_list[MAX_CLUSTERS];          // Completed and
result in transit for local and global forwarding
 StateList rob_ready_to_writeback_list[MAX_CLUSTERS]; // Completed; result
ready to writeback in parallel across all cluster register files
 StateList rob_cache_miss_list;                       // Loads only: wait
for cache miss to be serviced
 StateList rob_tlb_miss_list;                         // TLB miss waiting
to be serviced on one or more levels
 StateList rob_memory_fence_list;                     // mf uops only: wait
for memory fence to reach head of LSQ before completing
 StateList rob_ready_to_commit_queue;                 // Ready to commit
_______________________________________________
http://www.marss86.org
Marss86-Devel mailing list
[email protected]
https://www.cs.binghamton.edu/mailman/listinfo/marss86-devel

Reply via email to