Sorry for the confusion. I mean Reorder Buffer Entries. :)
Mansour Shafaei Moghaddam <mansoor.shafaei <at> gmail.com> writes: > > > 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 > > > <div><div dir="ltr"> > <div>Hi</div> > <div><br></div> > <div>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)? </div> > <div><br></div> > <div>Thanks </div> > <div><br></div> > <div><br></div> > <div> StateList rob_free_list; // Free ROB entyry</div> > <div> StateList rob_frontend_list; // Frontend in progress (artificial delay)</div> > <div> StateList rob_ready_to_dispatch_list; // Ready to dispatch</div> > <div> StateList rob_dispatched_list[MAX_CLUSTERS]; // Dispatched but waiting for operands</div> > <div> StateList rob_ready_to_issue_list[MAX_CLUSTERS]; // Ready to issue (all operands ready)</div> > <div> StateList rob_ready_to_store_list[MAX_CLUSTERS]; // Ready to store (all operands except possibly rc are ready)</div> > <div> StateList rob_ready_to_load_list[MAX_CLUSTERS]; // Ready to load (all operands ready)</div> > <div> StateList rob_issued_list[MAX_CLUSTERS]; // Issued and in progress (or for loads, returned here after address is generated)</div> > <div> StateList rob_completed_list[MAX_CLUSTERS]; // Completed and result in transit for local and global forwarding</div> > <div> StateList rob_ready_to_writeback_list[MAX_CLUSTERS]; // Completed; result ready to writeback in parallel across all cluster register files</div> > <div> StateList rob_cache_miss_list; // Loads only: wait for cache miss to be serviced</div> > <div> StateList rob_tlb_miss_list; // TLB miss waiting to be serviced on one or more levels</div> > <div> StateList rob_memory_fence_list; // mf uops only: wait for memory fence to reach head of LSQ before completing</div> > <div> StateList rob_ready_to_commit_queue; // Ready to commit</div> > </div></div> > _______________________________________________ http://www.marss86.org Marss86-Devel mailing list [email protected] https://www.cs.binghamton.edu/mailman/listinfo/marss86-devel
