Documentos de Académico
Documentos de Profesional
Documentos de Cultura
N VI X L V MY TINH
TRNG H BCH KHOA NANG
KHOA IJN T - VIEN THNG
LAB3: THIET KE B X
L MIPS SINGLE CYCLE
Yu cu thit k
CPU thc hin c c!c lnh " #$% S$% &% '()% *+,I%
-..% SU'. &, /0 S#T.
T45ng 7% t4Tnh biUn 2Kch /0 cHE t4Fc tV3 lnh NIS-O JEyt
Knh 8M lnh yUE cWE Mi /Xi At chng t4Tnh 8Yn c7. TEy
nhiUn JE! t4Tnh thc hin c<= b D9 lZ l[i JEyt Knh c
4ng c<= At cl5ck cycle /0 8M cl5ck cycle t4Un ASi lnh.
32-bit MIPS Single-Cycle CPU
-#U% -22e4
IAAe2i=te eDten2e4
MElti3leDe48
Ph1jn tk lE t4n
In8t4Ecti5n AeA54y
.=t= AeA54y
PC 4egi8te4
,egi8te4 ?ile
Cac tp l nh co ban cua Mips
Tng quan qua trinh thuc hin
oMi /Xi ASi c1E lnh% h=i bXc WE tiUn l0 Rng nhHt"
o_c At h5ac h=i th=nh ghi% 89 2:ng c!c t4Png c<= c1E lnh C ch_n
th=nh ghi cWn _c.
S=E h=i bXc n0y% c!c bXc cin l[i C h50n tHt At c1E lnh tqy thEc /05
khEln 2[ng lnh.
oMi /Xi tHt c c!c khEln 2[ng lnh ng5[i t4r lnh nhy cE 89 2:ng -#U
thc hin c!c chfc n]ng 8=E"
C!c c1E lnh th=A chiE b nhX" tInh t5!n K= chs c<= b nhX 2h liE.
Mat kh!c% PC 8` t]ng lUn t C g9i K= chs n c1E lnh ti3 the5
Phuong phap dng b du liu
Phng 3h!3 Rng b DEng cl5ck ch5 3hx3 At 3hWn t9 t4[ng th!i c
_c /0 ghi t45ng cqng At cl5ck cycle Nng5[i t4r c!c bE8 chf= 2h liE tfc
thPiO.
Thit k datapath ring phn
\iCE th=nh ghi N,O y chs 2qng th=nh ghi l0A Mi 8M.
\iCE tfc thT NIO y 2qng th=nh ghi /0 c!c 8M l0A Mi 8M.
oMi /Xi ASi kiCE lnh thT JE! t4Tnh thc thi lnh l0 giMng nh=E
/Vy nUn t= czng chi= 3hWn thit k 2=t=3=th th0nh 3 3hWn
tng fng.
Datapath - Qu trnh np lnh
,$ U{ n tj t4jng ,2
o1jE 4= cEk= khl{i -#U mc kU{t nl{i /{i 'E8$ cEk= 4egi8te48
o1jE /=j5 th{ h=i cEk= -#U U{n tj t4jng Ak 4lmng 21{E .
,eg$4ite mc 8k 2Emng Uk ki{ ch h5=mt ghi kU{t JE=k -#U /05 th=nh ghi.
Sign)Dt mc 8k 2Emng Uk iUjE khiUkn t4jng Ak 4lmng 21{E > bit th=jnh 32
bit.
32
Address
nstruction
Instruction
Memory
32
30
%
#
0
0
*1
30
T hp Datapath cua khun dng R v I
ALU#trl
RegWrite
)ign&'t
m
u
x
0
1
RegDst
ALU)rc
m
u
x
0
1
'lm AED Uk ch5mn ,$ l=j
,t h=y l=j ,2
Mlmt blm AED kh={c Uk
ch5mn 1jE /=j5 cEk=
-#U m c l1{y tj
ngEljn 2n liUmE cEk=
th=ng ghi ,t t4Un
'E8' h5]mc tj t4j ng
Ak 4lmng 21{E
,eg$4ite ki{ch h5=mt ghi 2h liE /05 tj kU{t JE=k cEk= -#U.
Sign)Dt iUjE khiUkn t4jng Ak 4lmng 21{E > bit 8=ng 32 bit.
-#US4c ch_n h=i ngEljn 1jE /=j5 -#U tj 'E8' h5]mc tj t4jng Ak 4lmng 21{E.
A
L
U
ALU result
32
32
Registers
RA
R!
!usA
!us!
RW
"
32
!usW
32
Address
nstruction
Instruction
Memory
32
30
%
#
0
0
*1
30
Rs
"
Rd
&'tender
mm1(
Rt
32
"
Controlling ALU Instructions
ol{i /{ i khEln lUmnh , %
,eg.8t i8 |>~ Uk ch5mn ,2
t4Un ,$ /=j -#US4c i8
|}~ Uk ch5mn t 'E8' l=j ng5k
/=j 5 th{ h=i cEk= -#U.
Ph1jn h5=mt lmng m c
biUkE 2iUn n b]jng A=j E *=nh
ol{i /{ i khEln 2=mng lUmnh
I % ,eg.8t i8 |}~ Uk ch5mn
,t t4Un ,$ /=j n2
-#US4c i8 |>~ Uk ch5mn
t4j ng Ak 4lmng 21{ E l=j
1jE /=j5 th{ h=i cEk= -#U.
Ph1jn h5=mt lmng m c
biUkE 2iUn n b]jng A=j E *=nh
RegDst - 1
ALU)rc - 0
A
L
U
ALU#trl
ALU result
32
32
Registers
RA
R!
!usA
RegWrite - 1
!us!
RW
"
32
!usW
32
Address
nstruction
Instruction
Memory
32
32
%
#
0
0
*.
32
Rs
"
Rd
&'tender
)ign&'t
mm1(
Rt
32
m
u
x
0
1
"
m
u
x
0
1
RegDst - 0
ALU)rc - 1
A
L
U
ALU#trl
ALU result
32
32
Registers
RA
R!
!usA
RegWrite - 1
!us!
RW
"
32
!usW
32
Address
nstruction
Instruction
Memory
32
30
%
#
0
0
*1
30
Rs
"
Rd
&'tender
)ign&'t
mm1(
Rt
32
m
u
x
0
1
"
m
u
x
0
1
Cc chi tit cua khi mo rng 32-bit
Mk 4lmng 21{E. " ML 4ng >-bit c=5 the5 bit MS' c<= t4Png IAA>
MeAt5,eg Uk ch5mn 2n liUmE t4Un 'E8$ l=j -#U 4e8Elt h5]mc MeA54y
.=t=5Et
Tn hiu diu khin lnh LW
Sign)Dt e |8ign~ Uk thm c hiUm n Ak
4lmng 21{ E > t5 32 bit8
-#UCt4l e |-..~Uk ti{nh t5={n im= chik cEk= .=t=
AeA54y l=j ,egN,8O 8ign-eDten2NIAA>O
-#US4c e |>~ ch5mn t4j ng Ak 4lmng 21{E nh 1jE
/=j 5 th{ h=i cEk= -#U.
MeA,e=2 e |>~ Uk 5mc 2n liUmE tj 2=t=
MeA54y
,eg.8t e |}~ ch5mn ,t l=j
th=nh ghi i{ch
,eg$4ite e |>~ Uk /iU{t 2n liUmE t4Un 2=t=
MeA54y t4Un 'E8$ U{ n th=nh ghi ,t
MeAt5,eg e |>~ l=j ni Uk 5mc 2n liUmE tj
blm nh{ /Uj 'E8$
Data
Memory
-224e88
.=t=in
.=t=5Et
32
32
-
#
U
-#UCt4l
e -..
-#U 4e8Elt
32
32 Registers
,-
,'
'E8-
,eg$4ite
e >
'E8'
,$
'E8$
32
-224e88
In8t4Ecti5n
Instruction
Memory
32
3}
P
C
}
}
>
3}
,8
,2
)Dten2e4
Sign)Dt
e 8ign
IAA>
,t
m
u
x
}
>
m
u
x
}
>
m
u
x
}
>
32
MeA,e=2
e >
MeA$4ite
e }
,eg.8t
e }
-#US4c
e >
MeAt5,eg
e >
32
Tn hiu diu khin lnh SW
-#UCt4l e |-..~ Uk ti{nh t5={n im= chik cEk= 21t
AeA54y l=j ,egN,8O 8ign-eDten2NIAA>O
-#US4c e |>~ Uk ch5mn t4j ng Ak 4lmng 21{E l=j 1jE
/=j 5 th{ h=i cEk= -#U.
MeA$4ite e |>~Uk /iU{t 2n liUmE /=j 5 2=t=
AeA54y
,eg.8t e |D~ bk i /ij
khlng c5{ th=nh ghi i{ch.
Sign)Dt e |8ign~ Uk Ak 4lmng 21{E
> t5 32 bit8
,eg$4ite e |}~ bk i /ij khlng c5{ th=nh ghi
n=j 5 m c /iU{t bk i lUmnh 8t54e.
MeAt5,eg e |D~ bk i /ij chE{ng t= khlng
c1jn ni /iU{t 2n liUmE t4Un 'E8$ .
Data
Memory
-224e88
.=t=in
.=t=5Et
32
32
32
-
#
U
-#UCt4l
e -..
-#U 4e8Elt
32
32 Registers
,-
,'
'E8-
,eg$4ite
e }
'E8'
,$
'E8$
32
-224e88
In8t4Ecti5n
Instruction
Memory
32
3}
P
C
}
}
>
3}
,8
,2
)Dten2e4
Sign)Dt
e 8ign
IAA>
,t
m
u
x
}
>
,eg.8t
e D
m
u
x
}
>
m
u
x
}
>
32
MeA,e=2
e }
MeA$4ite
e >
MeAt5,eg
e D
-#US4c
e >
Datapath cua cu lnh nhay v lnh r nhnh
&% 'ne l=j c={ c t1m3 lUmnh cEk= nh=ky /=j 4en nh={nh.
,
e
g
.
8
t
,
e
g
$
4
i
t
e
S
i
g
n
)
D
t
-
#
U
S
4
c
M
e
A
,
e
=
2
M
e
A
$
4
i
t
e
M
e
A
t
5
,
e
g
'
n
e
-#U+3
-#UCt4l
?
E
n
c
t
&
E
A
3
&
E
A
3
4
e
g
TIn hiE icE khiCn &EA34eg c D!c Knh tr 2 t4Png 53c52e /0 ?Encti5n c<= c1E lnh &, nUn c
t!ch 4iUng C thEVn tin ch5 /ic thit k.
Single-Cycle Datapath + Control
/um,
&'t
Data
Memory
Address
Data_in
Data_out
32
A
L
U
ALU result
32
"
Registers
RA
R!
!usA
!us!
RW !usW
32
Address
nstruction
Instruction
Memory
%
#
0
0
*1
30
Rs
"
Rd
mm2(
Rt
m
u
x
0
1
"
m
u
x
0
1
m
u
x
0
1
m
u
x
0
1
30
30
/um, or !ranc0 1arget Address
30
mm1(
2e't
%#
zero
ALU
#trl
ALU#trl
ALU+,
func
RegDst ALU)rc RegWrite
/3 !ne
MemtoReg
MemRead
MemWrite
)ign&'t
Main
#ontrol
+,
Y nghia cua cac tin hi u di u khin
(5. TIn hi E n T!c ng A fc } T!c ng A fc >
> ,eg.8t Th=nh ghi Ich 8 ` lHy K=
ch s tr t4 Png 4t Nc!c bit t r
2}>O
Th=nh ghi Ich 8 ` lHy K=
ch s tr t4 Png 42 Nc!c bit t r
> >>O
2 ,eg$4ite \hlng ch5 3hx3 ghi 2 h li E
/05 t 3 th=nh ghi.
Ch5 3hx3 2 h li E t r
$4ite2=t= c ghi /05
th=nh ghi.
3 -#US4c T5!n h [ng th f h=i c <= -#U
c l Hy t r ngd 4= th f h=i
c<= t 3 th=nh ghi N,e=2
2=t= 2O.
T5!n h [ng th f h=i c <= -#U
l0 k t JE c A L 4ng
e452 HE t r > bit th H3 c <=
c1E l nh NIAA>bitO
t '4=nch PCe PCt PCePCtSign
eDtNIAA>O2
MeA,e=2 \hlng ch5 3hx3 _c t r b
nh X 2h li E.
(i 2Eng b nh X 2h li E ch s
Knh b Li K= ch s ngd /05
c at /05 ngd 4= ,e=2
2=t=.
MeA$4ite \hlng ch5 3hx3 ghi /05 b
nh X 2h li E.
(i 2Eng b nh X 2h li E ch s
Knh b Li K= ch s ngd /05 8 `
c th=y th bLi gi! t4 K L
ngd /05 $4ite 2=t=.
MeAt5,eg pi! t4 K L ngd /05 $4ite 2=t=
c<= t 3 th=nh ghi c l Hy
tr kt JE ngd 4= c <= -#U.
pi! t4 K L ngd /05 $4ite 2=t=
c<= t 3 th=nh ghi c l Hy
tr b nh X 2h li E.
&EA3 PCePCt h5 ac
PCePCtSign
eDtNIAA>O2
PCePC3>"2%t=4get%}}.
&EA34 eg PCePCt
b5 ac PCePCtSign
eDtNIAA>O2
b5 ac
PCePC3>"2%t=4get%}}.
PCe,eg48
>} Sign)Dt ML 4ng e45 ML 4ng 2 HE
Main Control Signal Values
ALU Control Truth Table
Tr #=b2% T= G thit k khMi -#U c7 kh n]ng thc hin t 3hx3 tInh c
bn" -22% SEb% *54 /0 S#T /Xi 2 bit icE khiCn -#Uct4l>"}. Tqy /05 chfc
n]ng c<= ASi c1E lnh A0 -#U 8` thc hin > t45ng t 3hx3 tInh n0y. C: thC
nh 8=E"
In8t4Ecti5n8 +3e4=ti5n -#Uct4l>"}
=22% l^% 8^ -22 }}
D54i *54 }>
8Eb%bne SEb >}
8lt Slt >>
Ng vo: bit thH3 c<= AG lnh h=y ;Encti5n"} /0 2 bit icE khiCn tr
khMi icE khiCn chInh h=y -#U+3>"}.
T45ng 7 2 bit icE khiCn -#U+3> /0 -#U+3} c Knh ngh= nh 8=E"
-#U+3>"} Chfc n]ng -#U
}} -22
}> SEbt4=ct
>} Ph: thEc t4Png ;Encti5n
>> *54 trng bit
ALU Control Truth Table
Ng ra: -#Uct4l>"} 8` icE khiCn chfc n]ng -#U.
I+ Sign=l n=Ae =22 8Eb 8lt D54i l^ 8^ bne 6 64
I
;Enct >
>
>
D D D D D
0
;Enctt }
}
}
D D D D D
0
;Enct3 }
}
>
D D D D D
1
;Enct2 }
}
}
D D D D D
0
;Enct> }
>
>
D D D D D
0
;Enct} }
}
}
D D D D D
0
-#U+3> > > > > } } } D D
-#U+3} } } } > } } > D D
+
-#Uct4l> } > > } } } > D D
-#Uct4l} } } > > } } } D D
Nhuoc dim cua b xu ly Singcle Cycle
'lm Dk ly{ Single Cycle ch5 3he{ 3 thmc hiUm n t1{ t c=k c={c lUm nh t45mng > chE kyj.
'lm Dk ly{ Single Cycle thiU{ t kU{ n gi=k n nhng khlng hiUm E JE=k .
MIPS
Quartu
s
ModelSim
NGUYEN HNG QUAN
L THJ NI NA
MAI XUAN HONG
NGUYN MINH HO
TRAN NGC TRNG
L THJ HNG DUNG
TRAN V QUANG HNG
L THJ KIM CAM