Bài2. Yeu Cau

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 14

Bi th nghim Kin trc my tnh 2

2010

Bi 2. Hot ng ca k thut ng ng
(Bi th nghim ny c bin son da trn cc bi th nghim ca Jan Eric Larsson, Mats Brorsson
v Tobias Harms [4])

1 Mc ch
Trong bi th nghim ny sinh vin s tm hiu b x l MIPS c s dng k thut ng ng (eng.
pipeline).

2 Cng c
Bi th nghim s dng b phn mm MIPSIT [1] m phng hot ng ca b x l c s dng k
thut ng ng.

3 L thuyt
Sinh vin cn nm r v kin trc tp lnh MIPS v cu trc b x l dng k thut ng ng (bi
ging chng 2). Sch tham kho [3].
Sinh vin cn hiu cc nguyn l{ c bn ca k thut ng ng, cc vn xung t d liu (eng.
data hazard), xung t iu khin (eng. control/branch hazard), cc phng php gii quyt xung
t nh chuyn tip (eng. forwarding), r nhnh chm (eng. delayed branch).

4 Thc hin
4.1 Ci t v lm quen vi phn mm
Ti b cng c MIPSIT t a
forms/MipsICT.zip?attredirects=0&d=1.

ch:

https://sites.google.com/site/fethutca/my-

Gii nn tp MipsICT.zip v chy tp nhn c MipsICT.exe chng trnh t gii nn vo th


mc: C:\MipsIT. Nghin cu bi bo gii thiu v phn mm [2].
Trong b chng trnh MIPSIT, ta s s dng 2 chng trnh MIPSITStudio v mipspipe2000:
1) MIPSITStudio l mi trng lp trnh v bin dch phn mm cho b x l{ MIPS. Chng trnh cho
php ngi dng lp trnh bng ngn ng C/Assembly v bin dch thnh m my np vo b
pht trin MIPS hoc m phng b x l. Gi MIPSITStudio bng cch chy tp C:\MipsIT\bin\
MipsIt.exe (Hnh 1). Ch , khi gi MIPSITStudio, thng bo li Failed to open com port c th b
qua bng vic bm nt OK.
Trc khi thc hin vic xy dng chng trnh, cn kim tra ng dn n trnh bin dch v
ng dn n cc tp th vin v tp include .h (Hnh 2).

Khoa in t- Vin thng

Page 1

Bi th nghim Kin trc my tnh 2

2010

Hnh 1. Mi trng lp trnh cho b x l MIPS

Hnh 2. Xc nh ng dn trnh bin dch, ng dn th vin v tp include.

Khoa in t- Vin thng

Page 2

Bi th nghim Kin trc my tnh 2

2010

2) mipspipe2000 l chng trnh m phng hot ng ng d liu (eng. datapath) ca b x l


MIPS s dng k thut ng ng. Gi chng trnh bng cch chy tp
C:\MipsIT\bin\mipspipe2000.exe. (Hnh 3)

Hnh 3. Chng trnh m phng ng ng b x l MIPS

4.2 B x l ng ng thc hin 1 lnh s hc, logic


4.2.1

Bc 1. Chun b chng trnh hp ng.

To mt n hp ng (eng. assemble project) trong mi trng MIPSITStudio (Hnh 4). t tn


n ny l Bai2-1. Chn th mc lu l C:\MipsIt\Projects\Bai2-1. To mt tp chng trnh hp
ng vi tn bai2-1.s (Hnh 5).

Hnh 4. To mt project mi trong mi trng MIPSITStudio.

Khoa in t- Vin thng

Page 3

Bi th nghim Kin trc my tnh 2

2010

Hnh 5. To thm mt tp chng trnh hp ng trong n.

Son tho on m hp ng vo tp chng trnh nh Hnh 6. Bin dch n bng cch la chn
menu Build -> Build Bai2-1 hoc phm F7. Tp kt qu bin dch di dng m nh phn l
C:\MipsIT\Projects\Bai2-1\Objects\Bai2-1.out. Tp ny s c dng lm tp u vo cho chng
trnh m phng.

Hnh 6. Chng trnh bai2-1.s

4.2.2

Bc 2. M phng.

M phng b x l{ MIPS ng ng. Chy phn mm m phng C:\MipsIT\bin\mipspipe2000.exe.


a. Np tp m t cu trc ng d liu ca b x l MIPS bng menu File->Load Pipeline
v la chn tp C:\MipsIT\S-script\s.dit (Hnh 7).

Khoa in t- Vin thng

Page 4

Bi th nghim Kin trc my tnh 2

2010

Hnh 7. Np tp m t cu trc b x l.

b. Np chng trnh c bin dch Bc 2 bng menu File->Open v la chn tp


C:\MipsIT\Projects\Bai2-1\Objects\Bai2-1.out. Hin th ca s thanh ghi v ca s ni
dung b nh bng menu View->Registers v Menu->Memory. Ni dung cc thanh ghi c
th c thay i trc tip trn ca s thanh ghi (Hnh 8).

Hnh 8. Thc hin m t cu trc b x l MIPS ng ng.

c. M phng tng bc hot ng ca b x l khi n thc hin chng trnh np (S dng


phm Step
trn thanh cng c). Tr li cc cu hi di y. Ch { mi bc m
phng tng ng vi 1 chu kz ng h.

Khoa in t- Vin thng

Page 5

Bi th nghim Kin trc my tnh 2

2010

11

1
7

10

12

13

14

Hnh 9. S th t cc tn hiu cn quan st.

Cu 1. in vo bng di y gi tr cc tn hiu v thi im (theo chu kz ng h) v giai on


ng ng (eng. pipeline stage) thc hin lnh khi tn hiu thay i gi tr khc 0? Cc tn hiu
cn quan st c nh s th t nh Hnh 9. Trong bng, gi tr ca PC, Readdata c in sn
lm mu.
add t0, s0, s1
TT

Tn hiu

Gi tr

Giai on ng ng

Chu k ng h

PC

8002 0000

IF

Readdata

0211 4020

IF

Readregister1

Readregister2

Readdata1

Readdata2

ALUInp1

ALUInp2

ALUresult

10

Writedata

11

MemWBresult

12

MemWrite

13

WBData

14

RegWrite

Bng 1. Tn hiu cho lnh cng 2 thanh ghi.


Cu 2. Kt qu thc hin lnh cng s xut hin thanh ghi ton hng ch sau bao nhiu chu kz?
.

Khoa in t- Vin thng

Page 6

Bi th nghim Kin trc my tnh 2

2010

.
Cu 3. Thay lnh cng trong chng trnh bng cc lnh s hc khc (sub, addi), bin dch li chng
trnh v thc hin li vic m phng. Vic thc hin cc lnh s hc khc nhau khc nhau giai on
pipeline no?
.
.
.
.
.
.

4.3 B x l ng ng thc hin lnh lw, sw.


4.3.1

Bc 1. Chun b chng trnh.

To mt n mi vi tn Bai2-2 trong mi trng MIPSITStudio. Thm tp chng trnh Bai22.s nh Hnh 10 di y vo n v bin dch n thnh tp thc hin tng t Mc 4.2.1. Ch ,
chng trnh c khai bo 1 bin Test vi gi tr 1.

Hnh 10. Chng trnh hp ng, ca s b nh v ca s thanh ghi minh ha lnh lw.

4.3.2

Bc 2. M phng

M phng chng trnh hp ng bng b m phng mipspipe2000 tng t Bc 2 ca Mc


4.2.2. Ch , bin Test ca chng trnh s c t a ch 80020020 sau cc lnh NOP. Do ,
np ng ni dung bin Test vo thanh ghi t0, ta cn t gi tr ca thanh ghi r4/a0 bng 80020020
nh Hnh 10 (phn nh du ). Tr li cc cu hi.
Cu 4. in vo bng di y gi tr cc tn hiu v thi im (theo chu kz ng h) v giai on
ng ng (eng. pipeline stage) thc hin lnh khi tn hiu thay i gi tr khc 0? Cc tn hiu
cn quan st c nh s th t nh Hnh 9. Trong bng, gi tr ca PC, Readdata c in sn
lm mu.

Khoa in t- Vin thng

Page 7

Bi th nghim Kin trc my tnh 2

2010

add t0, s0, s1


TT

Tn hiu

Gi tr

Giai on ng ng

Chu k ng h

PC

8002 0000

IF

Readdata

8c88 0000

IF

Readregister1

Readregister2

Readdata1

Readdata2

ALUInp1

ALUInp2

ALUresult

10

Writedata

11

MemWBresult

12

MemWrite

13

WBData

14

RegWrite

Bng 2. Tn hiu cho lnh cng 2 thanh ghi.


Cu 5. Kt qu thc hin lnh lw s xut hin thanh ghi ton hng ch sau bao nhiu chu kz?
.
Cu 6. Khi ALU thc hin php ton g? Mc ch ca php ton tnh ton gi tr g?
.
.
.
Cu 7. Nu trong phn chng trnh thay lnh lw t0, 0(a0) bng lnh lw t0, 20(a0) th gi tr thanh
ghi a0 cn t l bao nhiu? Gi tr tn hiu s 8, u vo ALUInp2 bng bao nhiu?
a0=
ALUInp2=.
Cu 8. Thay lnh lw trong chng trnh bng lnh sw t0, 24(a0), bin dch li chng trnh v thc
hin li vic m phng. Khi m phng t gi tr a0 bng 8002 0000. C giai on pipeline no khc
vi lnh lw?
.
.
.

4.4 B x l ng ng thc hin lnh beq


4.4.1

Bc 1. Chun b chng trnh.

To mt n mi vi tn Bai2-3 trong mi trng MIPSITStudio. Thm tp chng trnh Bai23.s nh Hnh 10 di y vo n v bin dch n thnh tp thc hin tng t Mc 4.2.1.

Khoa in t- Vin thng

Page 8

Bi th nghim Kin trc my tnh 2

2010

Hnh 11. Chng trnh hp ng, ca s b nh v ca s thanh ghi minh ha lnh beq.

4.4.2

Bc 2. M phng

M phng chng trnh hp ng bng b m phng mipspipe2000 tng t Bc 2 ca Mc


4.2.2. Tr li cc cu hi.
Cu 9. Khi thc hin lnh beq, cc giai on pipeline no c s dng?
.
.
.
.
.
.

4.5 Xung t d liu trong b x l ng ng


4.5.1

Bc 1. Chun b chng trnh.

To mt n mi vi tn Bai2-4 trong mi trng MIPSITStudio. Thm tp chng trnh Bai24.s nh di y vo n v bin dch n thnh tp thc hin tng t Mc 4.2.1.

Khoa in t- Vin thng

Page 9

Bi th nghim Kin trc my tnh 2

2010

Hnh 12. Chng trnh hp ng, ca s b nh v ca s thanh ghi minh ha xung t d liu.

4.5.2

Bc 2. M phng bng ng ng khng c chuyn tip d liu

M phng chng trnh hp ng bng b m phng mipspipe2000 tng t Bc 2 ca Mc


4.2.2. Tr li cc cu hi.
Cu 10. Sau bao nhiu chu kz ng h, thanh ghi ch ca lnh add th nht t2 nhn c kt qu
ng ca php ton?
.
Cu 11. Sau bao nhiu chu kz ng h, ta cn gi tr ca thanh ghi ngun lnh add th hai t2?
.
Cu 12. Kt qu cui cng ca thanh ghi t4 l bao nhiu? y c xy ra vn g?
.
.
.
.
.
Cu 13. Vn ca b x l{ ng ng xut hin trn c th gii quyt bng cc phng php:
thay i th t lnh (eng. code reordering), thm cc lnh nop, tm dng v chuyn tip. Hy gii
quyt vn trn bng cch thm lnh nop vo on chng trnh. Cn bao nhiu lnh nop gii
quyt vn v cho kt qu tnh ton t4 ng? Vit on chng trnh xung di y v m
phng n kim tra l vn c gii quyt.
.
.
.
.
.
.

Khoa in t- Vin thng

Page 10

Bi th nghim Kin trc my tnh 2

2010

.
.
.
.
4.5.3

Bc 3. M phng bng ng ng c chuyn tip d liu

M phng chng trnh hp ng bng b m phng mipspipe2000 tng t Bc 2 ca Mc


4.2.2. Tuy nhin, thay v np tp m t cu trc ng ng n gin C:\MipsIT\S-script\s.dit, hy
chn cu trc ng ng phc tp trong tp C:\MipsIT\Xl-script\xl.dit (Hnh 13). t gi tr cc
thanh ghi t0, t1, t3 ln lt l 1,3, 5.
Tr li cc cu hi.
1

8
2

Hnh 13. Cu trc ng ng phc tp.

Cu 14. Trn Hnh 13, cc im c nh s 1..5 l cc b ghp knh (eng. multiplexor) la chn
gi tr ton hng (ngun v ch) truyn trong ng d liu. Cc im 6,7,8 l gi tr kt qu ca
php ton sau cc giai on pipeline EX,MEM,WB tng ng. Hy in vo bng sau lnh ang c
thc hin ti cc giai on pipeline v gi tr ca cc im c nh s 1..8 khi m phng. Gi tr
(iu khin) ca b ghp knh c quy c l 0,1,2 tng ng vi cc v tr ca chuyn mch t
trn xung.

Khoa in t- Vin thng

Page 11

Bi th nghim Kin trc my tnh 2

2010

Chu kz
/Giai
on

IF

ID

EX

MEM

WB

Lnh:
PC=..
Instr=..

Lnh:
1=
2=.

Lnh: .. Lnh:
3=.. 5=
4=.. 7=
6=...

Lnh:
8=

Lnh:
PC=..
Instr=..

Lnh:
1=
2=.

Lnh: .. Lnh:
3=.. 5=
4=.. 7=
6=...

Lnh:
8=

Lnh:
PC=..
Instr=..

Lnh:
1=
2=.

Lnh: .. Lnh:
3=.. 5=
4=.. 7=
6=...

Lnh:
8=

Lnh:
PC=..
Instr=..

Lnh:
1=
2=.

Lnh: .. Lnh:
3=.. 5=
4=.. 7=
6=...

Lnh:
8=

Lnh:
PC=..
Instr=..

Lnh:
1=
2=.

Lnh: .. Lnh:
3=.. 5=
4=.. 7=
6=...

Lnh:
8=

Lnh:
PC=..
Instr=..

Lnh:
1=
2=.

Lnh: .. Lnh:
3=.. 5=
4=.. 7=
6=...

Lnh:
8=

Cu 15. Da vo bng trn hy xc nh gi tr cc ton hng no c chuyn tip t giai on


pipeline ca lnh no n giai on pipeline ca lnh no?
.
.
.
.
.

4.6 Xung t iu khin trong b x l ng ng.


4.6.1

Bc 1. Chun b chng trnh.

To mt n mi vi tn Bai2-5 trong mi trng MIPSITStudio. Thm tp chng trnh Bai25.s nh Hnh 14 di y vo n v bin dch n thnh tp thc hin tng t Mc 4.2.1.

Khoa in t- Vin thng

Page 12

Bi th nghim Kin trc my tnh 2

2010

Hnh 14. Chng trnh hp ng minh ha xung t iu khin.

4.6.2

Bc 2. M phng bng ng ng khng c chuyn tip d liu

M phng chng trnh hp ng bng b m phng mipspipe2000 tng t Bc 2 ca Mc


4.2.2. Gn cng mt gi tr cho 2 thanh ghi t0, t1. Tr li cc cu hi.
Cu 16. Cn bao nhiu chu kz ng h, lnh r nhnh beq thc hin xong, tc l khi no th gi tr
PC thay i thnh gi tr a ch ch ca lnh beq?
.
.
.
.
.
Cu 17. Lnh add c c thc hin khng? Cui cng, gi tr ca thanh ghi t0 l bao nhiu?
.
.
Cu 18. y xy ra vn g? y l loi xung t g trong k thut ng ng?
.
.
.
.
4.6.3

Bc 3. M phng bng ng ng c chuyn tip d liu

M phng chng trnh hp ng bng b m phng mipspipe2000 tng t Bc 2 ca Mc


4.6.2. Tuy nhin, thay v np tp m t cu trc ng ng n gin C:\MipsIT\S-script\s.dit, hy
chn cu trc ng ng phc tp trong tp C:\MipsIT\Xl-script\xl.dit (Hnh 13). Tr li cc cu hi.
Cu 19. Cn bao nhiu chu kz ng h, lnh r nhnh beq thc hin xong, tc l khi no th gi tr
PC thay i thnh gi tr a ch ch ca lnh beq?

Khoa in t- Vin thng

Page 13

Bi th nghim Kin trc my tnh 2

2010

.
.
.
.
.
Cu 20. Lnh add c c thc hin khng? Cui cng, gi tr ca thanh ghi t0 l bao nhiu? Lnh
nop ngay sau lnh beq c gi l lnh loi g?
.
.
.
.

5 Ti liu tham kho


[1] Ola Bergqvist and Georg Fischer. A Simulation and Development Environment Using Animation
for
Computer
Architecture
Education.
Version
1.3.0,
1999.
http://www.imit.kth.se/courses/IS1200/2008-2009/labcache/manual.html
http://www.bostream.nu/mats.brorsson/mipsit/
[2] Mats Brorsson. MipsIt - A Simulation and Development Environment Using Animation for
Computer Architecture Education. Proceedings of The workshop on Computer architecture
education. 2002.
[3] David A. Patterson and John L. Hennessy. Computer Organization and Design, Fourth Edition: The
Hardware/Software Interface. In The Morgan Kaufmann Series in Computer Architecture and Design.
Nov 10, 2008
[4] Georg Fischer, Jan Eric Larsson, Mats Brorsson and Tobias Harms, Set of Lab Exercises for
Computer Architecture Lecture at Lund University. http://www.bostream.nu/mats.brorsson/mipsit/

Khoa in t- Vin thng

Page 14

You might also like