home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.arch      Apparently more than just beeps & boops      131,241 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 130,538 of 131,241   
   MitchAlsup to All   
   Re: double alias register renaming   
   16 Dec 25 20:43:49   
   
   From: user5857@newsgrouper.org.invalid   
      
   Robert Finch  posted:   
      
   > I am just noticing that the actual physical register name is not needed   
   > until lookup at the reservation stations. In Qupls4 it can be a few   
   > clock cycles before the register lookup is done. So, an incorrect one   
   > could be supplied at the rename stage; it only has to be good enough to   
   > work out dependencies. Would a sequence number based register name work?   
   > (Rather than reading a fifo). Then it is a matter of correcting it later.   
   >   
      
   The renamer gives you 2 pieces of information::   
   a) where   
   b) when   
   There are various implementations that define where and when differently,   
   but the important thing is that you KNOW that they represent where and when.   
      
   Where: Where is the physical register name (location) which can be in the   
   register file(s), the data path, the reorder buffer(s), or instruction   
   stations.   
      
   When has bet a few states:: states prior to when a dependent instruction   
   can be launched and capture this result, a couple of states when the inst   
   can be launched ..., states after result has landed in RoB, and a state   
   indicating the value is in the register file.   
      
   Where and when interact.   
      
   Given where and when one can organize the instruction queueing, data path   
   forwarding, and the pipelining of operands and results.   
   -------------------------------------------------------   
   Me, personally, I like a physical register file   
   a) which is logically indexed for reads,   
   b) performs renaming and operand access simultaneously,   
   c) which is physically indexed for writes,   
   d) is "repaired" with a history table of valid bits.   
   e) so, mispredict repair has 0 cycles of latency.   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca