You are on page 1of 30

I HC QUC GIA THNH PH H CH MINH

TRNG I HC CNG NGH THNG TIN


KHOA MNG MY TNH V TRUYN THNG
LP ANTN2012

TM HIU V
CHNG TRNH M PHNG

Nhm sinh vin thc hin:


12520189 Trn Tr Khang
12520293 Nguyn Thnh Nguyn
12520113 Quch i Phan Duy
12520153 Nguyn Hong
12520369 L Minh Tm
1
Tm hiu chng trnh m phng EduMIPS64

Mc lc
I.

Tng quan ................................................................................................................. 3

II. Source files format (nh dng file ngun)................................................................ 4


1. The .data section ............................................................................................................... 5
2. The .code section ............................................................................................................... 8
3. Lnh #include .................................................................................................................... 10
III. The Instruction set (b lnh) .................................................................................... 11
1. ALU Instruction................................................................................................................... 11
2. Load/Store Instructions ..................................................................................................... 13
3. Flow control instructions...................................................................................................14
4. Cc lnh SYSCALL ............................................................................................................... 15
5. Cc loi lnh khc .............................................................................................................. 18
IV.

The user Interface (giao din ngi dng)........................................................... 20

1. The menu bar .................................................................................................................. 22


a. File .................................................................................................................................. 22
b. Execute........................................................................................................................... 22
c. Configure....................................................................................................................... 23
d. Tools ............................................................................................................................... 23
e. Window.......................................................................................................................... 23
f. Help ................................................................................................................................ 24
2. Frames (subwindows) ..................................................................................................... 25
a. Cycles ............................................................................................................................. 25
b. Registers ........................................................................................................................ 25
c. Statistics ......................................................................................................................... 26
d. Pipeline .......................................................................................................................... 26
e. Data ................................................................................................................................ 27
f.

Code. .............................................................................................................................. 28

g. Input/Output................................................................................................................. 28
3. Bng mu trong chng trnh. ..................................................................................... 29
2
Tm hiu chng trnh m phng EduMIPS64

I. Tng quan
EduMIPS64 l phn
mm m phng tp lnh
ca MIPS64, cho ta thy
c s thc thi ca mt
chng trnh n gin, tp
lnh hot ng nh th no,
cch CPU x l, v tnh trng
ca b nh, thanh ghi N
va l chng trnh m
phng (simulator) va l
trnh tm v g li o (visual
debugger).

Hinh 1. Tng quan chng trinh EduMIPS64

EduMIPS64 c pht trin bi mt nhm sinh vin trng i Hc Catania ().


Ban u c bit n nh l mt bn sao ca WinMIPS64 nhng cho ti nay, sau mt
thi gian pht trin, c rt nhiu s khc bit gia hai chng trnh m phng ny.
Phin bn hin ti ca chng trnh l 1.2, c pht hnh vo ngy 01 thng 06
nm 2013
Chng trnh c vit bng Java, nn khi khi chy ngi dng ch cn chy mt
file duy nht l edumips64-1.2.jar v my tnh cn c ci t b Java Runtime
Environment (ti thiu l phin bn 5). Ngi dng c th download Java Runtime
Environment phin bn mi nht ti a ch : java.com/en/download/index.jsp

a ch download chng trnh :


code.google.com/p/edumips64/downloads/list

Trang ch chng trnh : www.edumips.org

M ngun chng trnh c th ly ti : github.com/lupino3/edumips64

3
Tm hiu chng trnh m phng EduMIPS64

II. Source files format (nh dng file ngun)


EduMIPS64 c thit k c c nhng c im ni bt ca nhng chng
trnh m phng MIPS64 khc nhm mc gip nhng ngi dng d dng lm quen v
s dng vi c php lnh ca chng trnh.
Mt file source code trong EduMIPS64 c 2 phn: .data v .code (khai bo .data
v .code).
c php s dng nhiu khong trng v tab, b phn tch ca chng trnh s
ch nhn din l mt khong trng tch bit gia cc code.
; This is a comment
. data
label : . word 15 ; This is an inline comment
. code
daddi r1 , r0 , 0
syscall 0
C th vit ch thch mi dng sau du chm phy ; , c tc dng nh //
trong C.
Labels (nhn) c s dng tham chiu n mt nh (memory cell) hoc
mt lnh no trong chng trnh

4
Tm hiu chng trnh m phng EduMIPS64

1. The .data section


Dng khai bo .data bao gm cc khai bo dng xc nh s dng bao nhiu
b nh trc khi vic thc thi chng trnh bt u (khai bo cc kiu d liu, b nh
c cp pht s tng ng vi kiu d liu ). Dng chung ca cc lnh ca data
section l:
[label:] .datatype value1 [, value2 [, ]]
EduMIPS64 h tr cc kiu d liu nh trong bng:
Type

Directive

Bits required

Byte

.byte

Half word

.word16

16

Word

.word32

32

Double Word

.word or .word64

64

Bang 1. Cc kiu d liu trong EduMIPS64

Khi khai bo mt list cc d liu cng kiu, c mt s khc bit ln gia vic ch
khai bo kiu mt ln vi vic khai bo kiu nhiu ln. Mi ln EduMIPS64 thy mt lnh
khai bo s chuyn qua ghi mt b nh cell mi. V th trong v d sau, lnh khai bo u
tin 1,2,3,4 s c lu trong mt nh (cell memory) trong khi cc lnh sau 4 s s
c lu vo nhng nh khc nhau.
V d:
.data
.byte

1, 2, 3, 4

.byte

.byte

.byte

.byte

5
Tm hiu chng trnh m phng EduMIPS64

Bng sau s cho chng ta thy r hn v v d


trn. B nh c biu din bi cc byte cells v mi
dng c ln 64 bits. D liu c lu t phi qua.

0 0 0 0 4 3 2 1

0 0 0 0 0 0 0 1

16 0 0 0 0 0 0 0 2
24 0 0 0 0 0 0 0 3
36 0 0 0 0 0 0 0 4
Bang 2. M phng vic khai bo d liu

Mt vi dng khai bo quan trng khc :


.space, .ascii v .asciiz.

- Khai bo .space dng ch nh ra mt s lng byte trng trong b nh.


Rt hu dng khi ngi dng cn d phng b nh cho kt qu ca php tnh.
- Khai bo .ascii dng xc nhn nhng k t ASCII v mt vi k t c chc
nng c bit nh trong ngn ng C. c m t nh trong hnh:
Escaping sequence

Meaning

ASCII code

\0

Null byte

\t

Horizontal tabulation

\n

Newline character

10

Literal quote character

34

Literal backslash character

92

Bang 3. Cc kiu k t ASCII c bit

- Khai bo .asciiz tng t vi khai bo .ascii ngoi vic chui k t (string)


c t ng thm byte c gi tr null vo cui.

6
Tm hiu chng trnh m phng EduMIPS64

Mt on chng trnh v d c s dng cc loi khai bo trn:


.data
params_sys4:

.space

ind_value:

.space

.word64

16

error_4:

.asciiz

"Error writing to file"

ok_message:

.asciiz

"All right"

value:

.space

30

daddi

r14, r0,params_sys4

sw

$s2, params_sys4(r0)

daddi

$s1, r0,value

sw

$s1, ind_value(r0)

syscall

daddi

$s0, r0,-1

daddi

$a0, r0,ok_message

bne

r1, $s0,end

daddi

$a0, r0,error_4

jal

print_string

syscall

.text
write:

end:

7
Tm hiu chng trnh m phng EduMIPS64

2. The .code section


- Dng khai bo .code bao gm cc lnh s s dng b nh khi chng trnh bt
u chy.
- Dng chung ca cc lnh ca phn .code l:
[label:] instruction [param1 [, param2 [, param3]]]

- .code cng c th c khai bo bng .text vi ngha tng t.


- Mi cu lnh cn c cc tham s khc nhau. S lng v loi tham s (param#)
ty thuc vo tng cu lnh.
- Cc tp lnh c th bao gm 3 loi tham s:
Register (thanh ghi) : xc nh thanh ghi, cu trc bao gm r hoc R hoc
$ i km vi gi tr 0 -> 31 (tng ng vi 32 thanh ghi). V d: r4, R4 hoc $4.
Immediate values (gi tr tc thi): gi tr tm thi c th l mt con s
(decimal hoc hexadecimal: 0x) hoc mt label.
Address (a ch): bao gm mt gi tr tc thi i km vi thanh ghi trong
ngoc n. V d: 4($17) : $17 s c gi l base, 4 c gi l offset.
- Ngoi cch gi register nh trn ta c th thay cc con s bng tn nh trong
bng:
Register Alias
0

zero

at

v0

v1

a0

a1

a2

a3

t0
8

Tm hiu chng trnh m phng EduMIPS64

t1

10

t2

11

t3

12

t4

13

t5

14

t6

15

t7

16

s0

17

s1

18

s2

19

s3

20

s4

21

s5

22

s6

23

s7

24

t8

25

t9

26

k0

27

k1

28

gp

29

sp

30

fp

31

ra

Bang 4. Tn cc thanh ghi

9
Tm hiu chng trnh m phng EduMIPS64

3. Lnh #include
Source files c th s dng lnh #include filename khi ngi dng mun s dng
cc lnh, cc chng trnh trong mt file khc. N cn c chc nng pht hin v s
cnh bo ngi dng khi ngi dng thm #include A.s trong file B.s v #include B.s
trong file A.s

10
Tm hiu chng trnh m phng EduMIPS64

III. The Instruction set (b lnh)


C 2 cch phn loi tp lnh: mt da vo tnh nng ca lnh v hai l da vo
cc thng s m lnh cn.
Loi u tin c chia thnh 3 mc: ALU, Load/Store v Flow Control.

1. ALU Instruction
The Arithmetic Logic Unit (ALU) l mt phn khng th thiu ca CPU, n lin
quan n s hc v cc hot ng logic.
ALU Instructions c th chia thnh 2 nhm: R-Type v I-Type.
Ngoi ra cn c 2 thanh ghi c bit : LO v HI , l nhng thanh ghi ni b
(Internal CPU register) m gi tr ca n c th truy cp qua MFLO v MFHI Instructions.
Danh sch cc lnh thuc nhm R-Type:

AND rd, rs, rt

DSRLV rd, rt, rs

ADD rd, rs, rt

DSUB rd, rs, rt

ADDU rd, rs, rt

DSUBU rd, rs, rt

DADD rd, rs, rt

MFLO rd

DADDU rd, rs, rt

MFHI rd

DDIV rs, rt

MOVN rd, rs, rt

DDIVU rs, rt

MOVZ rd, rs, rt

DIV rs, rt

MULT rs, rt

DIVU rs, rt

MULTU rs, rt

DMULT rs, rt

OR rd, rs, rt

DMULTU rs, rt

SLL rd, rt, sa

DSLL rd, rt, sa

SLLV rd, rt, rs

DSLLV rd, rt, rs

SRA rd, rt, sa

DSRA rd, rt, sa

SRAV rd, rt, rs

DSRAV rd, rt, rs

SRL rd, rs, sa

DSRL rd, rs, sa

SRLV rd, rt, rs


11

Tm hiu chng trnh m phng EduMIPS64

SUB rd, rs, rt

SLTU rd, rs, rt

SUBU rd, rs, rt

XOR rd, rs, rt

SLT rd, rs, rt


Danh sch cc lnh thuc nhm I-Type

DDI rt, rs, immediate

ADDIU rt, rs, immediate

ANDI rt, rs, immediate

DADDI rt, rs, immediate

DADDIU rt, rs, immediate

DADDUI rt, rs, immediate

LUI rt, immediate

ORI rt, rs, immediate

SLTI rt, rs, immediate

SLTUI rt, rs, immediate

XORI rt, rs, immediate

12
Tm hiu chng trnh m phng EduMIPS64

2. Load/Store Instructions
-

Bao gm cc lnh chuyn i d liu gia b nh (memory) v thanh ghi (register).

Cu trc lnh chung:


[label:] instruction rt, offset(base)

rt l thanh ghi ngun hay thanh ghi ch ph thuc vo lnh Store hay lnh Load.

S dng Address ca thanh ghi (offset + base).

Lnh kt thc bng U cho bit d liu c x l nh Unsigned Values (chng hn


LBU, LWU).

Danh sch cc lnh Load

LB rt, offset(base)

LBU rt, offset(base)

LD rt, offset(base)

LH rt, offset(base)

LHU rt, offset(base)

LW rt, offset(base)

LWU rt, offset(base)

Danh sch cc lnh Store

SB rt, offset(base)

SD rt, offset(base)

SH rt, offset(base)

SW rt, offset(base)

13
Tm hiu chng trnh m phng EduMIPS64

3. Flow control instructions


-

Dng thay i th t cc dng lnh c x l bi CPU. Phn loi cc instructions


ny thnh R-Type, I-Type v J-Type.

Cc R-Type instructions:

JALR rs

JR rs

Cc I-Type instructions:

B offset

BEQ rs, rt, offset

BEQZ rs, offset

BGEZ rs, offset

BNE rs, rt, offset

BNEZ rs, offset

Cc J-Type Instructions:

J target

JAL target

Lu : c mt s lnh c phn ui Z khng nm trong tp lnh ca MIPS64 nhng


c thm vo tng thch vi cc trnh m phng khc.

14
Tm hiu chng trnh m phng EduMIPS64

4. Cc lnh SYSCALL
-

Tm dng s thc thi ca chng trnh v chuyn quyn iu khin cho h iu

hnh. Sau , h iu hnh s xem gi tr thanh ghi $v0 (r14) v ty thuc vo lnh syscall
c dng m thc hin chc nng tng ng.
-

C 6 loi lnh syscall:

syscall 0 - exit : Khng cn tham s, khng tr v, dng dng chng trnh


li. Nu khng c gi th s t ng thm vo cui chng trnh.

syscall 1 - open() : yu cu hai tham s. 0 xc nh tn ca file cn gi


v double word bao gm mt s nh dng c cch m file:

O_RDONLY (0x01) Ch read only ;

O_WRONLY (0x02) Ch write only ;

O_RDWR (0x03) Cho php va read va write;

O_CREAT (0x04) To file;

O_APPEND (0x08) Trong ch write, thm on va c vit vo


cui file;

O_TRUNC (0x08) Trong ch write, xa ht ni dng khi va m file;


Khng th va s dng O_APPEND cng vi O_TRUNC;
S dng ng thi cc ch bng cch gi tng gi tr integer. V

d: write only v append: 2 + 8 = 10;


Nu c li, gi tr s c tr v -1.

syscall 2 - close() : Ch cn mt tham s l m t ca file cn ng. Nu


thc thi thnh cng s tr v gi tr 0, ngc li tr v gi tr 1.

syscall 3 - read() :
Cn ba tham s: file cn c, a ch lu vo, s bytes c. Nu gi tr
tham s u l 1 th chng trnh s yu cu ngi dng nhp vo thng qua
hp thoi input; nu nhp qu s bytes, hp thoi s li hin ln v ngi
dng phi nhp li.
Tr v s bytes c c, nu thc thi tht bi s tr v gi tr -1
15

Tm hiu chng trnh m phng EduMIPS64

Syscall 4 - write() :
Cn ba tham s: file cn ghi, a ch ca n, s bytes cn ghi.
Nu tham s u l 2 hoc 3, trnh m phng s bt ra ca s
input/output v ghi cc d liu t .
Tr v s bytes c ghi, -1 nu tht bi.

syscall 5 - printf() :
Cn nhiu bin ca tham s, tham s u tin l a ch hay cn gi l
format-string, trong format-string c th c place holdersC th:
-

%s xu k t:

%i gi tr nguyn

%d c bn ging %i

%% tng ng %

Khi trnh m phng thy placeholder cho kiu d liu no th n s tm


d liu c kiu nh vy.
Kt qu c in vo ca s input/output, s bytes ghi c lu vo
R1.
Nu c li, -1 c lu vo R1.
V d s dng lnh syscall 5
.data
format_str:

.asciiz

"%dth of %s:\n%s version %i.%i is being

s1:

.asciiz

"June"

s2:

.asciiz

"EduMIPS64"

fs_addr:

.space

.word

tested!"

s1_addr:

.space

s2_addr:

.space

4
16

Tm hiu chng trnh m phng EduMIPS64

.word

.word

test:
.code
daddi

r5, r0, format_str

sw

r5, fs_addr(r0)

daddi

r2, r0, s1

daddi

r3, r0, s2

sd

r2, s1_addr(r0)

sd

r3, s2_addr(r0)

daddi

r14, r0, fs_addr

syscall

syscall

;in gi tr hin thi trong thanh ghi r14

Kt qu xut ra Input/Output

Hinh 2. Giao din ca s Input/Output

17
Tm hiu chng trnh m phng EduMIPS64

5. Cc loi lnh khc


-

BREAK:
Dng cu lnh ang chy. Thng dng kim tra li.

NOP:
Dng to khong trng trong source code.

TRAP:
C php khai bo khc ca lnh SYSCALL

HALT:
C php khai bo khc ca lnh SYSCALL 0, dng ngt trnh m phng.

18
Tm hiu chng trnh m phng EduMIPS64

Mt on chng trnh mu:

Hinh 3. Phn tch mt on chng trinh mu

19
Tm hiu chng trnh m phng EduMIPS64

IV. The user Interface (giao din ngi dng)


Giao din ca EduMIPS64 c thc hin da trn giao din ca WinMIPS64.
Trn thc t, cc ca s chnh l ging ht nhau, ngoi tr mt s menu.

Hinh 4. Giao din chng trinh EduMIPS64

Hinh 5. Giao din chng trnh WinMIPS64

Ca s chnh EduMIPS64 bao gm mt thanh menu v su ca s con, th hin


cc kha cnh khc nhau ca vic m phng thc thi chng trnh.
20
Tm hiu chng trnh m phng EduMIPS64

EduMIPS64 c vit trn nn Java nn chy c chng trnh, my tnh cn


c ci ct b Java Runtime Environment, trong khi WinMIPS c vit bng C, c
giao din Windows quen thuc.

21
Tm hiu chng trnh m phng EduMIPS64

1. The menu bar


a. File
Menu File c cha cc lnh m tp tin ngun
(Open), reset li qu trnh m phng, ghi tp tin
Dinero,
Open: ch ra tp tin hp ng cn m phng.
Chng trnh h tr tp tin c ui *.s. C th nhn t
hp phm Ctrl+O gi lnh.
Open recent: hin th danh sch cc tp tin
c m gn y bi ngi dng.

Hinh 6. Menu File

Reset: t li qu trnh m phng v trng thi nh khi va m tp tin sau khi thc hin
m phng xong. T hp phm tt gi lnh l Ctrl+R.
Write Dinero Tracefile: ghi d liu truy cp b nh vo mt tp tin, nh dng xdin.
Ch c tc dng sau khi thc hin xong vic m phng chng trnh. Bn c th nhn t hp
phm Ctrl+D.
Exit : thot chng trnh

b. Execute
Bao gm cc lnh lin quan n vic thc
thi m phng mt chng trnh.
Single Cycle: thc hin m phng theo
tng cycle. Phm tt gi lnh l F7
Run: thc hin m phng ton b
chng trnh, dng li khi gp syscall 0 (hoc
tng ng) hoc mt lnh BREAK, hoc khi

Hinh 7. Menu Execute

ngi dng nhp vo mc trnh n Stop (hoc nhn F9). Phm tt gi lnh l F4.

22
Tm hiu chng trnh m phng EduMIPS64

Multi Cycle: thc hin m phng theo tt c cycle trong mt lnh (instruction). S lng
cc bc thc hin c th c cu hnh thng qua hp thoi Setting. Phm tt gi lnh l
F8.
Stop: Dng thc hin m phng khi ngi dng m phng theo Run hoc Multi
Cycles. Phm tt gi lnh l F9.
c. Configure
Settings: M hp thoi Settings ty
chnh chng trnh.
Change Lauguage: Cho php ngi dng
thay i ngn ng s dng giao din ngi dng.
Hin nay ch c ting Anh v c h tr.

Hinh 8. Menu Configure

d. Tools
Menu ny ch cha mt mc, s dng
gi hp thoi Dinero Frontend.
Dinero Frontend: M hp thoi Dinero
Frontend. Ch c th chn chc nng ny sau khi
thc hin m phng xong.

Hinh 9. Menu Tools

e. Window
Tile Sorts: sp xp li cc ca s chc nng con trn mn
hnh theo ng th t cnh nhau ( nh mc nh) sau khi b
sp xp li bi ngi dng.
Check/Uncheck cc dng lnh tng ng vi tn cc ca
s chc nng mun hin th trn mn hnh.
Hinh 10. Menu WIndows

23
Tm hiu chng trnh m phng EduMIPS64

f. Help
Manual: hin file hng dn s dng chng trnh.
About us: thng tin v tc gi v chng trnh.
Hinh 11. Menu Help

24
Tm hiu chng trnh m phng EduMIPS64

2. Frames (subwindows)
a. Cycles
Ca s Cycles cho thy
tin trnh thc hin chng trnh
trong tng cycle, hin th trong
mi cycle lnh no ang trong
pipeline* (xem ch thch) v on
pipeline no c xc nh.
Cc lnh c trong chng trnh s
hin th trong ct bn tri. Ct
bn phi hin th theo tng cycle,
mi ct l mt cycle.

b. Registers

Hinh 12. Ca s Cycles

Ca s Register hin th ni dung ca tt c


32 thanh ghi. Gi tr trong thanh ghi s thanh i
theo thi gian thc, tc l khi c s thay i d liu
trn thanh ghi th ca s ny cng s hin th d
liu di dng s thp lc phn (hexadecimal) gip
ngi s dng d dng theo di.

Hinh 13. Ca s Registers

Nu mun thanh i gi tr trong


thanh ghi bt k, ngi dng c th nhn p
vo thanh ghi trong ca s Register, mt
ca s nh hin ra ngi dng iu chnh
li gi tr.
Hinh 14. Ca s thay i gi tr thanh ghi

25
Tm hiu chng trnh m phng EduMIPS64

c. Statistics
Thng k tt c cc s liu v
vic thc thi chng trnh. Cc s
liu ny bao gm s lng cycle, s
lng lnh, CPI (clock cycle per
instruction), Stall, kch thc file
chng trnh (Code size), n v du
chm ng (Floating point unit),
Cc s liu trn thay i theo
tin trnh thc thi chng trnh. Kt
thc vic m phng ngoi dng s

Hinh 15. Ca s Statistics

c s liu tng qut nht v chng


trnh.

d. Pipeline
Ca s Pipeline cho thy
tnh trng thc t ca cc
pipeline, cho thy lnh no ang
trong on pipeline no.
Mi mu sc khc nhau
biu hin cho mt on pipeline
khc nhau.

Hinh 16. Ca s Pipeline

26
Tm hiu chng trnh m phng EduMIPS64

e. Data
Ca s Data hin th ni
dung trong tng nh ca
thanh ghi, cng vi nhn
(Label) v d liu (Data) ly t
m ngun. Cc gi tr ny l
nhng khai bo trong phn
.data ca file ngun.
Ni dung trong cc
nh (memory cells) c th thay
i bng cch nhn p vo
chng, v iu chnh gi tr

Hinh 17. Ca s Data

thp lc phn trong ca s nh


va hin ra.
Ct u tin Address hin th a ch h thp lc phn ca cc nh (memory cells), ct
th hai Representation hin th gi tr di dng thp lc phn ca tng nh. Hai ct Label
v Data hin th thng tin ly t file ngun.

27
Tm hiu chng trnh m phng EduMIPS64

f. Code.
Ca s Code hin th
cc lnh c load trong b
nh. Ct u tin Address l
a ch ca cc lnh trong b
nh di dng s thp lc
phn,

ct

th

hai

Representation hin th ni
dung ca lnh di dng
thp lc phn. Hai ct cn li
l Label v Instruction hin
th cc thng tin c ly t
Hinh 18. Ca s Code

file ngun.

Khi thc thi chng trnh, lnh no ang c thc hin vi cc chc nng g s c
nh du bng cc mu sc c quy nh. Bng mu ny s c trnh by di y.

g.

Input/Output

Hin th cc d liu output ra mn hnh


khi trong chng trnh c s dng cc lnh
syscall 4, syscall 5. Input hin vn cha c s
dng trong ca s ny v tc gi chng trnh
ha hn s c chc nng ny trong cc phin

Hinh 19. Ca s Input/Output

bn tip theo ca chng trnh.


Mc nh, ca s Input/Output c hin ra khi m phng gp n lnh syscall 4 hoc
syscall 5.

28
Tm hiu chng trnh m phng EduMIPS64

3. Bng mu trong chng trnh.


Cc mu sc c hin th trong ca s Cycles, Pipeline v Code c ngha ring. Mi
mu th hin mt ni dung m chng trnh ang thc hin. Cc mu ny ngi c th quy
nh li theo ring bng cch vo menu Configure > Setting > Appearance

Hinh 20. Ca s iu chnh bang mu

Mu vng : hin th qu trnh Fetch (np lnh t b nh)

Mu xanh da tri : hin th qu trnh Decode (gii m)

Mu : hin th qu trnh Execute (thc thi lnh)

Mu xanh l m : hin th qu trnh thc hin vi b nh (Memory)

Mu tm : hin th qu trnh Write back d liu (ghi d liu)

Mu xanh l cy : hin th qu trnh thc hin cng s du chm ng (floating


point adder)

Mu xanh nc bin : hin th qu trnh thc hin nhn s du chm ng


(floating point multiplier)

Mu xm : hin th qu trnh thc hin chia s du chm ng (floating point


divider)

29
Tm hiu chng trnh m phng EduMIPS64

***CH THCH : Trong k thut vi x l, pipeline l thut ng c trong t instruction


pipline ; ngha l cu trc ng ng lnh. Cu trc ny cho php con tr a ch np mt lnh
mi trong khi CPU ang thi hnh mt lnh trc , iu ny gia tng tc x l ca CPU.
T pipeline c ngha l mt k thut phn cng cho php CPU x l song song a tc v.
Nh vy ti u c kh nng ca CPU. N cng l cu trc thng gp trong cc my tnh hin
i.

30
Tm hiu chng trnh m phng EduMIPS64

You might also like