[CALU] Re: Blockdiagramm

  • From: Elshuber Martin <e9825286@xxxxxxxxxxxxxxxxxxxx>
  • To: calu-ss2010-tuwien@xxxxxxxxxxxxx
  • Date: Wed, 05 May 2010 01:23:05 +0200

Am 03.05.2010 23:24, schrieb Günther Wimpassinger:
Zitat von Martin Elshuber <e9825286@xxxxxxxxxxxxxxxxxx>:

Günther Wimpassinger schrieb:

berücksichtigen. Ich befürchte nur, dass es sich zeitlich nicht ausgehen wird.


Damit meinte ich, das wir zu wenig Zeit haben werden, es zu implementieren (in VHDL). Nicht das Timing im FPGA.

ldc r0,1
ldc r1,2
predset r0=r1, p1
add r0,r0,5   (p2)   ;do not store t
st  r10,r0           ;don't use alu forwarding result of register r0

Warum verwende ich hier p2? Es sollte heißen "addi r0,r0,5 (p1)", ich will ja "addi" durch "nop" ersetzen, so dass "st r10,r0" das nicht geforwardete r0 aus dem Register Memory nehmen muss.
ihc habs eh so interpretiert

(von links nach rechts lesen, zeilen arbeiten parallel)

WB: npreds wird berechnet     +
FW: mux leitung auf (forward) + FW: fetch pa,pb,pred (3, 16 auf 1 muxe)
EX: preds lesen + + mux auswerten rd_en'<=rd_en&pval ID: + muxsel-setzen EX: rb shift + rb sel + alu_operation
EX: ra sel


Das scheint irgendwie verrutscht zu sein, kannst du das als Textdatei anhängen, weil ich kann das nicht sinnvoll über webmail entziffern. Danke.
ja


'abend
Günther



noch eine sache:

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.

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

lg martin

Other related posts: