Hi, Xangyang I think you are right. And I now have a better understanding to the pipeline implementation. Thanks a lot!
Zhiguo From: gem5-users-boun...@gem5.org [mailto:gem5-users-boun...@gem5.org] On Behalf Of Xiangyang Guo Sent: Wednesday, August 14, 2013 8:13 PM To: gem5 users mailing list Subject: Re: [gem5-users] About the rename and dispatch stages in O3CPU By the way, I guess the the code of "insert inst to ROB" is located in the commit_impl.hh doesn't mean this one inst is inserted into ROB at commit stage. I think It means every cycle, there are insts inserted into ROB from rename stage. I mean when pipeline works, every cycle, we check if there are insts available to insert into ROB, if yes, then insert it. So I guess Gem5 inserts the inst into ROB after renaming finish. Someone who is familiar with this could correct me. On Wed, Aug 14, 2013 at 1:45 AM, GE ZHIGUO <ge.zhi...@huawei.com<mailto:ge.zhi...@huawei.com>> wrote: Hi, Henry Thanks for your reply! Yes, so this is even more confusing to me. In real CPU, when(in which stage) the instructions are put into ROB? Regards Zhiguo From: gem5-users-boun...@gem5.org<mailto:gem5-users-boun...@gem5.org> [mailto:gem5-users-boun...@gem5.org<mailto:gem5-users-boun...@gem5.org>] On Behalf Of Huang, Henry Sent: Wednesday, August 14, 2013 12:19 PM To: gem5 users mailing list Subject: Re: [gem5-users] About the rename and dispatch stages in O3CPU I think code in commit_impl.hh inserts renamed insts into ROB. #0 ROB<O3CPUImpl>::insertInst (this=0x27d8100, inst=...) at build/ALPHA/cpu/o3/rob_impl.hh:206 #1 0x0000000000b44936 in DefaultCommit<O3CPUImpl>::getInsts (this=0x27d79a8) at build/ALPHA/cpu/o3/commit_impl.hh:1318 #2 0x0000000000b34084 in DefaultCommit<O3CPUImpl>::commit (this=0x27d79a8) at build/ALPHA/cpu/o3/commit_impl.hh:884 #3 0x0000000000b30d0e in DefaultCommit<O3CPUImpl>::tick (this=0x27d79a8) at build/ALPHA/cpu/o3/commit_impl.hh:669 #4 0x0000000000b533fd in FullO3CPU<O3CPUImpl>::tick (this=0x27d4ff0) at build/ALPHA/cpu/o3/cpu.cc:604 #5 0x0000000000b6538e in FullO3CPU<O3CPUImpl>::TickEvent::process (this=0x27d50f8) at build/ALPHA/cpu/o3/cpu.cc:138 #6 0x0000000000762542 in EventQueue::serviceOne (this=0x193d2b0) at build/ALPHA/sim/eventq.cc:204 1296 void 1297 DefaultCommit<Impl>::getInsts() 1298 { 1299 DPRINTF(Commit, "Getting instructions from Rename stage.\n"); 1300 1301 // Read any renamed instructions and place them into the ROB. 1302 int insts_to_process = std::min((int)renameWidth, fromRename->size); 1303 1304 for (int inst_num = 0; inst_num < insts_to_process; ++inst_num) { 1305 DynInstPtr inst; 1306 1307 inst = fromRename->insts[inst_num]; Thanks, ---- ' Huang He (Henry) /-\\ CPU Design and Verification /---\'\ Advanced Micro Devices, Inc /-----\'`\ AMD Technology Development (Beijing) Co., Ltd. /-------\'`,\ Beijing, China /---------\' ,`7 O: +(86) 10 62801421<tel:%2B%2886%29%2010%2062801421> M: +(86) 18616862712<tel:%2B%2886%29%2018616862712> /-----------\' / /-------------\/ Error! Filename not specified. Visit us at: Facebook<https://www.facebook.com/AMD> | amd.com<http://www.amd.com/> -----Original Message----- From: gem5-users-boun...@gem5.org<mailto:gem5-users-boun...@gem5.org> [mailto:gem5-users-boun...@gem5.org<mailto:gem5-users-boun...@gem5.org>] On Behalf Of GE ZHIGUO Sent: Wednesday, August 14, 2013 11:59 AM To: gem5 users mailing list Subject: [gem5-users] About the rename and dispatch stages in O3CPU Hi, I have a question about O3CPU pipeline in GEM5. My understanding about the GEM5 O3CPU is that rename stage does not put instructions into instruction queue(issue queue) and ROB. Dispatch stage actually does the above. So, rename + dispatch in GEM5 is actually the rename stage of O3CPU. Please correct me if I am wrong. As the dispatch stage pushes the instructions into ROB and instruction Queue, I think that the free entries of ROB and instruction queue should be checked at this stage. However, the rename stage in gem5 check the free ROB and instruction queue size. I cannot understand this. Can anyone help explain? Thanks! Zhiguo _______________________________________________ gem5-users mailing list gem5-users@gem5.org<mailto:gem5-users@gem5.org> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users _______________________________________________ gem5-users mailing list gem5-users@gem5.org<mailto:gem5-users@gem5.org> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users