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
>