Hello Sir,
I have few doubts.. Instructions from the ROB Engine are transfered to 
execution stage as soon as its operends are ready, but i  dont  find any 
information  like when operends are ready. Is there any ready bit for the 
operands  like ri, rj, rk? . please tell me which file or structure I have to 
refer to know this information


4974 <cycle.cpp:76> {651}- Bala_ROBcontent#11[01] @v:001038a28 |d459e0a8| ldx 
[%g7 + 168], %o2                  {executed}
4975 <cycle.cpp:76> {651}- Bala_ROBcontent#12[01] @v:001038a2c |d402a0f4| lduw 
[%o2 + 244], %o2         
4976 <cycle.cpp:76> {651}- Bala_ROBcontent#13[01] @v:001038a30 |80a28008| cmp 
%o2, %o0                  
4977 <cycle.cpp:76> {651}- Bala_ROBcontent#14[01] @v:001038a34 |9564d008| movl 
%xcc,%o0,%o2             
4978 <cycle.cpp:76> {651}- Bala_ROBcontent#15[01] @v:001038a38 |9190000a| wrpr 
%g0, %o2, %pil           
4979 <cycle.cpp:76> {651}- Bala_ROBcontent#16[01] @v:001038a3c |81c3e008| jmpl 
[%o7 + 8], %g0                   {completed}
4980 <cycle.cpp:76> {651}- Bala_ROBcontent#17[01] @v:001038a40 |90100009| mov 
%o1, %o0                          {completed}
4981 <cycle.cpp:76> {651}- Bala_ROBcontent#33[01] @v:001048868 |a0100011| mov 
%l1, %l0                          {completed}
4982 <cycle.cpp:76> {651}- Bala_ROBcontent#34[01] @v:00104886c |80a46000| cmp 
%l1, 0                            {completed}
4983 <cycle.cpp:76> {651}- Bala_ROBcontent#35[01] @v:001048870 |12680006| 
bne,pt %xcc, 0x1048888                {completed}
4984 <cycle.cpp:76> {651}- Bala_ROBcontent#36[01] @v:001048874 |01000000| nop   
                                {completed}
4985 <cycle.cpp:76> {651}- Bala_ROBcontent#37[01] @v:001048878 |81c7e008| jmpl 
[%i7 + 8], %g0                   {completed}
4986 <cycle.cpp:76> {651}- Bala_ROBcontent#38[01] @v:00104887c |91e82000| 
restore %g0, 0, %o0                   {completed}
4987 <cycle.cpp:76> {651}- Bala_ROBcontent#61[01] @v:001047488 |a0900008| orcc 
%g0, %o0, %l0            
4988 <cycle.cpp:76> {651}- Bala_ROBcontent#62[01] @v:00104748c |12600015| 
bne,pn %xcc, 0x10474e0        
4989 <cycle.cpp:76> {651}- Bala_ROBcontent#63[01] @v:001047490 |01000000| nop   
                                {completed}
4990 <cycle.cpp:76> {651}- Bala_ROBcontent#64[01] @v:001047494 |c454a0c2| ldsh 
[%l2 + 194], %g2         
4991 <cycle.cpp:76> {651}- Bala_ROBcontent#65[01] @v:001047498 |80a0bfff| cmp 
%g2, -1                   
4992 <cycle.cpp:76> {651}- Bala_ROBcontent#66[01] @v:00104749c |0248000c| be,pt 
%icc, 0x10474cc         
4993 <cycle.cpp:76> {651}- Bala_ROBcontent#67[01] @v:0010474a0 |05005078| sethi 
%hi(0x141e000), %g2             {executed}
4994 <cycle.cpp:76> {651}- Bala_ROBcontent#68[01] @v:0010474a4 |40012a3e| call 
0x1091d9c                        {executed}

Thanking you
Bala
From twenisch at eecs.umich.edu  Mon Jan 28 13:50:32 2008
From: twenisch at eecs.umich.edu (Thomas Wenisch)
List-Post: [email protected]
Date: Mon Jan 28 13:50:47 2008
Subject: [Simflex] when did the instruction getting ready? Is there any
        ready bit?
In-Reply-To: <[email protected]>
References: <[email protected]>
Message-ID: <[email protected]>

Dear Bala,

Register dependencies between instruction are tracked via 
"InstructionDependance" objects, defined in uArch/uArchInterfaces.hpp. 
The dependances are detected through the RegisterFile, which trackes 
register producers and consumers in uArch/RegisterFile.hpp.  The 
dependance objects allow an instruction to notify its consumers that it is 
ready, which sets flags in the SemanticInstruction object, or that is has 
been squashed, which removes an instructions ready status.  Note that 
dependencies are tracked between "SemanticActions" (steps in the 
execution of an instruction, such as reading a register or performing a 
calculation) rather than instructions.  I suggest you read the code in the 
v9Decoder and uArch components starting with the files and data types I 
mentioned, and insert extra debug statements to see how they are used.

Best Regards,
-Thomas Wenisch



On Fri, 25 Jan 2008, Balachandran Ramadass wrote:

> Hello Sir,
> I have few doubts.. Instructions from the ROB Engine are transfered to 
> execution stage as soon as its operends are ready, but i  dont  find any 
> information  like when operends are ready. Is there any ready bit for the 
> operands  like ri, rj, rk? . please tell me which file or structure I have to 
> refer to know this information
>
>
> 4974 <cycle.cpp:76> {651}- Bala_ROBcontent#11[01] @v:001038a28 |d459e0a8| ldx 
> [%g7 + 168], %o2                {executed}
> 4975 <cycle.cpp:76> {651}- Bala_ROBcontent#12[01] @v:001038a2c |d402a0f4| 
> lduw [%o2 + 244], %o2
> 4976 <cycle.cpp:76> {651}- Bala_ROBcontent#13[01] @v:001038a30 |80a28008| cmp 
> %o2, %o0
> 4977 <cycle.cpp:76> {651}- Bala_ROBcontent#14[01] @v:001038a34 |9564d008| 
> movl %xcc,%o0,%o2
> 4978 <cycle.cpp:76> {651}- Bala_ROBcontent#15[01] @v:001038a38 |9190000a| 
> wrpr %g0, %o2, %pil
> 4979 <cycle.cpp:76> {651}- Bala_ROBcontent#16[01] @v:001038a3c |81c3e008| 
> jmpl [%o7 + 8], %g0                 {completed}
> 4980 <cycle.cpp:76> {651}- Bala_ROBcontent#17[01] @v:001038a40 |90100009| mov 
> %o1, %o0                        {completed}
> 4981 <cycle.cpp:76> {651}- Bala_ROBcontent#33[01] @v:001048868 |a0100011| mov 
> %l1, %l0                        {completed}
> 4982 <cycle.cpp:76> {651}- Bala_ROBcontent#34[01] @v:00104886c |80a46000| cmp 
> %l1, 0                          {completed}
> 4983 <cycle.cpp:76> {651}- Bala_ROBcontent#35[01] @v:001048870 |12680006| 
> bne,pt %xcc, 0x1048888              {completed}
> 4984 <cycle.cpp:76> {651}- Bala_ROBcontent#36[01] @v:001048874 |01000000| nop 
>                                 {completed}
> 4985 <cycle.cpp:76> {651}- Bala_ROBcontent#37[01] @v:001048878 |81c7e008| 
> jmpl [%i7 + 8], %g0                 {completed}
> 4986 <cycle.cpp:76> {651}- Bala_ROBcontent#38[01] @v:00104887c |91e82000| 
> restore %g0, 0, %o0                 {completed}
> 4987 <cycle.cpp:76> {651}- Bala_ROBcontent#61[01] @v:001047488 |a0900008| 
> orcc %g0, %o0, %l0
> 4988 <cycle.cpp:76> {651}- Bala_ROBcontent#62[01] @v:00104748c |12600015| 
> bne,pn %xcc, 0x10474e0
> 4989 <cycle.cpp:76> {651}- Bala_ROBcontent#63[01] @v:001047490 |01000000| nop 
>                                 {completed}
> 4990 <cycle.cpp:76> {651}- Bala_ROBcontent#64[01] @v:001047494 |c454a0c2| 
> ldsh [%l2 + 194], %g2
> 4991 <cycle.cpp:76> {651}- Bala_ROBcontent#65[01] @v:001047498 |80a0bfff| cmp 
> %g2, -1
> 4992 <cycle.cpp:76> {651}- Bala_ROBcontent#66[01] @v:00104749c |0248000c| 
> be,pt %icc, 0x10474cc
> 4993 <cycle.cpp:76> {651}- Bala_ROBcontent#67[01] @v:0010474a0 |05005078| 
> sethi %hi(0x141e000), %g2           {executed}
> 4994 <cycle.cpp:76> {651}- Bala_ROBcontent#68[01] @v:0010474a4 |40012a3e| 
> call 0x1091d9c                      {executed}
>
> Thanking you
> Bala
> _______________________________________________
> SimFlex mailing list
> [email protected]
> https://sos.ece.cmu.edu/mailman/listinfo/simflex
> SimFlex web page: http://www.ece.cmu.edu/~simflex
>

Reply via email to