[CALU] Re: Blockdiagramm

  • From: Günther Wimpassinger <e0525147@xxxxxxxxxxxxxxxxxxxx>
  • To: calu-ss2010-tuwien@xxxxxxxxxxxxx
  • Date: Wed, 5 May 2010 01:52:06 +0200

Zitat von Elshuber Martin <e9825286@xxxxxxxxxxxxxxxxxxxx>:

ldc r0,7
...
//irgendein code indem r0 nicht verändert wird
ldc r0,2
nop
add r1,r0,r0


wenn das add im ID ist wird gleichzeitig 2 ins register r0 geschrieben
die relevanten leitungen sind also

ID.ra=0
ID.rb=0
WB.alu_val=2
WB.wb_sel=WB_ALU
WB.rd_en=1
WB.rd=0

es wird also gleichzeitig r0 gelesen und geschrieben.

was soll das register file liefern?
gleiches lässt sich auch für predikate konstruieren.

Sowas löst man laut VO dadurch, dass man bei der Positiven Taktflanke
das Ergebnis schreibt und bei der negativen TF ausliest. So wird's in
MIPS gemacht. Was das Register liefern soll ist klar: 2, steht ja so im
Befehl. Die Frage ist eher, was wir implementieren :)


noch eine weitere sache:
in block_2 könnte man für 'call' und 'b' operation die
miss-prediction schon in EX ausführen
ret,iret braucht den stack. das geht also erst im WB

Bringen wir mal das Ding zum Laufen, optimieren können wir immer noch.


lg martin
Günther



Other related posts: