CÂU HeI VÀ BÀI TgP CHƯƠNG
7.5. Di:n ti;n thi hành l4nh mã máy(CPU instruction
cycle)
Công vi c c"a CPU diSn ra liên tgc và vi c th:c hi n các l nh diSn ra như trong hình 7.8. Các l nh ựư;c lCy ra tQ b) nh chắnh và khi CPU tìm thCy m)t l nh, nó sq phân tắch l nh ựó ựF th:c thi, sau ựó lNi sq tìm nNp l nh ti p theo và c8 như v'y diSn ra liên tgc.
Vi c thi hành m)t l nh mã máy có thF chia thành 5 giai ựoNn sau: đ*c l nh (IF: Instruction Fetch)
Gi i mã l nh (ID: Instruction Decode) Thi hành l nh (EX: Execute)
Thâm nh'p b) nh trong hoVc nh y (MEM: Memory access)
Lưu trH k t qu (RS: Result Storing).
Mri giai ựoNn ựư;c thi hành trong m)t hoVc nhi=u chu kỳ xung nhUp.
Hình 7.8. DiSn bi n thi hành l nh c"a CPU
1. đ,c l nh (fetch instruction):
Churi các s: ki n trong m)t l!n tìm ự*c l nh cị thF tGng qt như sau:
1. DH li u trong PC ựư;c load vào MAR: MAR ← PC 2. Giá trU trong thanh ghi PC tăng lên 1: PC PC+1 3. K t qu c"a l nh ự*c tQ b) nh , dH li u ựư;c load vào
MDR: MDR M[MAR] đ*c l nh k ti p Gi i mã l nh Thi hành l nh Truy c'p b) nh hoVc nh y Lưu trH k t qu Bzt ự!u
4. DH li u trong MDR ựư;c load vào IR: IR ← M[MAR] B) ự m chương trình PC ựư;c ựưa vào MAR . L nh ựư;c ự*c tQ b) nh trong, tNi các ơ nh có ựUa chB nom trong MAR và ựư;c ựưa vào thanh ghi l nh IR. Th8 t: th:c hi n l nh theo th`i gian ựZi v i loNi one như sau:
N u dùng " như hình 7.7 thì ta có th8 t: các bư c như sau:
2. GiAi mã l4nh và ựCc các thanh ghi nguDn:
đF hiFu rõ giai ựoNn này, ta lCy dNng th8c c"a m)t l nh làm tắnh tiêu biFu sau ựây:
Các thanh ghi nguan RS1 và RS2 ựư;c s- dgng tuỳ theo tác vg, k t qu ựư;c ựVt trong thanh ghi ựắch RD.
Mã l nh Thanh ghi RS1 Thanh ghi RS1 Thanh ghi RD 8 4 4 4
Chương VII: T ch c B x lý
L nh ựư;c gi i mã. K ựó các thanh ghi RS1 và RS2 ựư;c ựưa vào A và B ựF chusn bU th:c thi l nh(vắ dg như trong tG ch8c one3bus).Thanh ghi PC ựư;c tăng lên ựF chB t i l nh k ựó.
A ← RS1 B ← RS2 B ← RS2 PC ← PC + 4
Trong giai ựoNn này vi c gi i mã sq ựư;c th:c hi n cùng lúc v i vi c ự*c dH li u các thanh ghi nguan RS1 và RS2. Như v'y k t thúc giai ựoNn này thì l nh sq ựư;c gi i mã và máy tắnh sq bi t chắnh xác l nh ph i th:c thi là l nh c)ng, trQ, AND,Ầ và các thanh ghi nguan cũng ựư;c nNp vào vU trắ c!n thi t cho vi c th:c thi l nh.
3. Thi hành l4nh:
Tuỳ theo loNi l nh mà m)t trong ba nhi m vg sau ựây ựư;c th:c hi n:
3 Liên h t i b) nh
MAR ← đUa chB do ALU tắnh tuỳ theo kiFu ựUnh vU (RS2).
MDR ← RS1
đUa chB hi u dgng do ALU tắnh ựư;c ựưa vào MAR và thanh ghi nguan RS1 ựư;c ựưa vào MDR ựF ựư;c lưu vào b) nh trong.
3 M)t l nh c"a ALU
Ngã ra ALU ← K t qu c"a phép tắnh
Chương VII: T ch c B x lý
ALU th:c hi n phép tắnh xác ựUnh trong mã l nh, ựưa k t qu ra ngã ra.
3 M)t phép nh y
Ngã ra ALU ← đUa chB l nh ti p theo do ALU tắnh. ALU c)ng ựUa chB c"a PC v i ự) d`i ựF làm thành ựUa chB ựắch và ựưa ựUa chB này ra ngã ra. N u là m)t phép nh y có ựi=u ki n thì thanh ghi trNng thái ựư;c ự*c quy t ựUnh có c)ng ự) d`i vào PC hay không.
4. Thâm nhEp b nhF trong hoHc nhAy lIn cuJi
Giai ựoNn này thư`ng chB ựư;c dùng cho các l nh nNp dH li u, lưu giH dH li u và l nh nh y.
3 Tham kh o ự n b) nh :
MDR ← M[MAR] hoVc M[MAR] ← MDR
SZ li u ựư;c nNp vào MDR hoVc lưu vào ựUa chB mà MAR trJ ự n.
3 Nh y:
If (ựi=u ki n), PC ← ng ra ALU
N u ựi=u ki n ựúng, ngã ra ALU ựư;c nNp vào PC. đZi v i l nh nh y không ựi=u ki n, ng ra ALU luôn ựư;c nNp vào thanh ghi PC.
5. Lưu tr3 k;t quA
Lưu trH k t qu trong thanh ghi ựắch.