Mô tả:
CHѬѪNG 3:
VI ĈiӄU KHIӆN 8051
BÀI 2: Nguyên lý chung hӋ vi xӱ lý
&+ѬѪ1*3: 9LÿLӅu
khiӇn 8051
Bài 2: Nguyên lý chung hӋ vi xӱ lý
1
Cҩu trúc tәng quan mӝt hӋ vi xӱ lý
&+ѬѪ1*3: 9LÿLӅu
khiӇn 8051
Bài 2: Nguyên lý chung hӋ vi xӱ lý
2
Cҩu trúc tәng quan CPU
&8
$/8
5HJLVWHU
6HW
%XVQӝL
*KpSQӕL%XV
%XVGӳOLӋX
&+ѬѪ1*3: 9LÿLӅu
khiӇn 8051
%XVÿLӅXNKLӇQ
%XVÿӏDFKӍ
Bài 2: Nguyên lý chung hӋ vi xӱ lý
3
Cҩu trúc tәng quan CPU (tiӃp)
•
KhӕLÿLӅu khiӇn (Control Unit – CU):
– Nhұn lӋnh cӫDFKѭѫQJWUình tӯ bӝ nhӟWURQJÿѭDYào
CPU
– Giҧi mã các lӋnh
– Tҥo ra các tín hiӋXÿLӅu khiӇn công viӋc cӫa các bӝ
phұn khác cӫa máy tính theo yêu cҫu cӫDQJѭӡi sӱ
dөng hoһFWKHRFKѭѫQJWUìQKÿã càLÿһt..
&+ѬѪ1*3: 9LÿLӅu
khiӇn 8051
Bài 2: Nguyên lý chung hӋ vi xӱ lý
4
Cҩu trúc tәng quan CPU (tiӃp)
•
Khӕi tính toán sӕ hӑc và logic (Arithmetic and
Logic Unit - ALU):
– Bao gӗm các thiӃt bӏ thӵc hiӋn các phép tính sӕ hӑc
(cӝng, trӯ, nhân, chia, ...), các phép tính logic (AND,
OR, NOT, XOR) và các phép tính quan hӋ (so sánh
lӟQKѫQ, nhӓKѫQ, bҵng nhau, ...)
– Dӳ liӋu tӯ bӝ nhӟ hay các thiӃt bӏ vào-ra sӁÿѭӧc
chuyӇn vào các thanh ghi cӫa CPU, rӗi chuyӇQÿӃn
ALU.
– Dӳ liӋXÿѭӧc tính toán rӗi trҧ lҥi các thanh ghi và
chuyӇn vӅ bӝ nhӟ hay các thiӃt bӏ vào-ra.
&+ѬѪ1*3: 9LÿLӅu
khiӇn 8051
Bài 2: Nguyên lý chung hӋ vi xӱ lý
5
Cҩu trúc tәng quan CPU (tiӃp)
•
Tұp các thanh ghi (Registers):
– NhiӋm vө: bӝ nhӟ trung gian cho CPU.
– Các thanh ghi có chӭFQăQJFKX\rQGөng (SFR)
– Nҵm ngay trong CPU Æ WăQJWӕFÿӝWUDRÿәi thông tin
trong CPU khi thӵc hiӋn.
– Trên các CPU hiӋn nay có tӯ vài chөFÿӃn vàLWUăP
thanh ghi.
– Ĉӝ dài cӫa các thanh ghi khác nhau tӯÿӃn 64 bit.
&+ѬѪ1*3: 9LÿLӅu
khiӇn 8051
Bài 2: Nguyên lý chung hӋ vi xӱ lý
6
Chu kǤ lӋnh – Instruction Cycle
&+ѬѪ1*3: 9LÿLӅu
khiӇn 8051
•
Nhұn lӋnh - Fetch Cycle: Ĉӑc mã lӋnh
tҥLÿӏa chӍ do PC (Program Counter) trӓ
tӟi trên bӝ nhӟFKѭѫQJWUình chuyӇn
vào thành ghi lӋnh (instruction register
– IR), vàWăQJWKH3&WKrP1 ÿӇ trӓ tӟi
ÿӏa chӍ lӋnh tiӃp theo.
•
Giҧi mã lӋnh - Decode Cycle: giҧi mã
,5ÿӇ xáFÿӏnh vi lӋnh (khӕi thi hành)
WѭѫQJӭng.
•
Thӵc hiӋn lӋnh - Execute Cycle: thӵc
hiӋn các thao táFÿã ÿѭӧc “TX\ÿӏnh”
bӣi vi lӋnh.
Bài 2: Nguyên lý chung hӋ vi xӱ lý
7
Các kiӇu quy trình thӵc hiӋn lӋnh
&+ѬѪ1*3: 9LÿLӅu
khiӇn 8051
Bài 2: Nguyên lý chung hӋ vi xӱ lý
8
Dҥng thӭc cӫa lӋnh - Instruction format
•
Opcode (Operation Code) – Mã thi hành:
–
–
–
•
Mã lӋnh chӍ thӏFKRÿѫQYӏÿLӅu khiӇn – CU) các thao tác cҫn
phҧi thӵc hiӋn.
Mӛi lӋnh có mã lӋnh riêng duy nhҩt.
Ĉӕi vӟi các hӋ 8 bit, mã lӋnh làE\WHÿҫu tiên cӫa lӋnh.
Operands – toán hҥng:
–
–
–
–
Toán hҥng xáFÿӏnh thông tin cҫn thiӃWÿӇ thӵc hiӋn lӋnh.
Toán hҥng có thӇ làÿӏa chӍ hoһc dӳ liӋu.
Ĉӝ dài cӫa lӋnh phө thuӝc vào sӕ toán hҥng và tính chҩt cӫa
toán hҥng
Ĉӕi vӟi hӋ 8 bit, lӋnh có thӇ cóÿӝ dài 1,2 hoһc 3 byte
&+ѬѪ1*3: 9LÿLӅu
khiӇn 8051
Bài 2: Nguyên lý chung hӋ vi xӱ lý
9
&RQWURO
%XIIHU
'DWDODWFK
&iFWKDQKJKL
WURQJ
=0
$GGUHVV
5HJLVWHU
Cҩu trúc thӵc hiӋn lӋnh
&+ѬѪ1*3: 9LÿLӅu
khiӇn 8051
Bài 2: Nguyên lý chung hӋ vi xӱ lý
10
Cҩu trúc thӵc hiӋn lӋnh (tiӃp)
•
Program Counter (PC) – BӝÿӃPFKѭѫQJWUình:
– Thanh ghi giӳÿӏa chӍ bӝ nhӟ chӭa lӋnh tiӃp theo cӫa
FKѭѫQJWUình.
– Giúp CPU luôn xáFÿӏQKÿã thӵc hiӋQÿӃQÿkXYà tiӃp
theo sӁÿӑc lӋnh “ӣ vӏ trí” nào.
– Ĉk\Oà “dҩu vӃt”ÿӇ quay lҥi tiӃp tөFÿӑc mã lӋnh sau
NKLÿã thӵc hiӋn lӋQKWUѭӟFÿó.
– 6DXNKLÿӑc xong mӝt lӋnh, P&ÿѭӧc tӵÿӝQJWăQJ
thêm 1ÿӇ “trӓÿӃn”ÿӏa chӍ chӭa lӋnh tiӃp theo.
– Ngay sau khi vi xӱOêÿѭӧc khӣLÿӝng PC luôn = 0 Æ
luôn thӵc hiӋn lӋnh tҥLÿӏa chӍÿҫu tiӃn cӫa bӝ nhӟ
FKѭѫQJWUình.
&+ѬѪ1*3: 9LÿLӅu
khiӇn 8051
Bài 2: Nguyên lý chung hӋ vi xӱ lý
11
Cҩu trúc thӵc hiӋn lӋnh (tiӃp)
•
Instruction Register (IR) - Thanh ghi lӋnh:
–
–
–
–
Chӭa mã thi hành cӫa lӋQKÿDQJÿѭӧc thӵc hiӋn.
%\WHÿҫu tiên cӫa lӋnh luôn là2SFRGH.
.KLÿӑc lӋnh, OSFRGHÿѭӧc chuyӇn vào IR.
Sau khi thӵc hiӋn xong mӝt lӋnh, byte tiӃSWKHRÿѭӧc
ÿӑc lҥi là Opcode cӫa lӋnh tiӃp theo Æ lҥLÿѭDYào IR
Æ giҧi mã Æ thӵc hiӋn
&+ѬѪ1*3: 9LÿLӅu
khiӇn 8051
Bài 2: Nguyên lý chung hӋ vi xӱ lý
12
Cҩu trúc thӵc hiӋn lӋnh (tiӃp)
•
Instruction decoder – khӕi giҧi mã lӋnh:
– Giҧi mã cӫD,5ÿӇ xáFÿӏQKÿӏa chӍ lӋQKFѫVӣWѭѫQJ
ӭng cҫn thӵc hiӋn.
– NӃu mã lӋnh xáFÿӏnh lӋnh cҫn thêm các toán hҥng
thìÿӑc tiӃp toán hҥng tӯ bӝ nhӟFKѭѫQJWUìQKÿѭD
vào cáFWKDQKJKLÿӋm.
– Tùy tӯng lӋnh có thӇ có nhiӅu hay ít trҥng thái, có
hoһc không có toán hҥng:
•
•
•
Ví dө không có toán hҥng: Nop, Rr, Rrc …
Ví dө nhiӅu toán hҥng: Mov DPTR,#data16
Ví dө lӋnh nhiӅu trҥng thái: Movc A,@A+DPTR
&+ѬѪ1*3: 9LÿLӅu
khiӇn 8051
Bài 2: Nguyên lý chung hӋ vi xӱ lý
13
LӋnh nhiӅu và ít trҥng thái
•
LӋnh 3 trҥng thái:
•
LӋnh 6 trҥng thái:
&+ѬѪ1*3: 9LÿLӅu
khiӇn 8051
Bài 2: Nguyên lý chung hӋ vi xӱ lý
14
Cҩu trúc lӋnh cѫ sӣ (vi lӋnh)
•
Có hai kiӇu thiӃt kӃ tұp lӋQKFѫVӣ cho CPU:
– KiӇu hard-wired
– KiӇu microcoded vӟi ROM hoһc PLA Programmable logic array.
– LӋQKFѫVӣ và tұp lӋQKÿѭӧc xáFÿӏnh bӣi nhà sҧn
xuҩt
– Mӛi lӋnh (mã lӋnh) WѭѫQJӭng vӟi mӝt lӋQKFѫVӣ
(mҥch chӭFQăQJ)
&+ѬѪ1*3: 9LÿLӅu
khiӇn 8051
Bài 2: Nguyên lý chung hӋ vi xӱ lý
15
Cҩu trúc lӋnh cѫ sӣ (vi lӋnh)
•
LӋQKFѫVӣ kiӇu microcoded:
&+ѬѪ1*3: 9LÿLӅu
khiӇn 8051
Bài 2: Nguyên lý chung hӋ vi xӱ lý
16
Cҩu trúc lӋnh cѫ sӣ (vi lӋnh)
•
LӋQKFѫVӣ kiӇu microcoded: (tiӃp)
– Gӗm mӝt sӕOѭӧng các microcode – (mҥch chӭc
QăQJFѫEҧn nhҩt).
– Tә hӧp các bit trong IR sӁ xáFÿӏnh mӝWÿӏa chӍ trong
bӝ nhӟ vi mã.
– MӛLÿӏa chӍ trong bӝ nhӟ vi mã chӭa mӝt chuӛi logic
thӵc hiӋn các lӋnh microcode.
– Quy trình thӵc hiӋn mӝt lӋQKFѫVӣ là thӵc hiӋn mӝt
chuӛi lӋQKPLFURFRGHFKRÿӃn lӋnh (microcode) kӃt
thúc.
– Mӝt kiӇu vi xӱ lý trong vi xӱ lý.
&+ѬѪ1*3: 9LÿLӅu
khiӇn 8051
Bài 2: Nguyên lý chung hӋ vi xӱ lý
17
Cҩu trúc lӋnh cѫ sӣ (vi lӋnh)
•
LӋQKFѫVӣ kiӇu microcoded: (tiӃp)
– ѬXÿLӇm:
•
•
•
DӉ thiӃt kӃÿӕi vӟi hãng chӃ tҥo)
DӉ nâng cҩp, phát triӇn
Thұm chí cho phéSWKD\ÿәi cҩu trúc tұp lӋnh – instruction
set architecture (ISA) –VDXNKLÿmVҧn xuҩt, nӃu microcode
ÿѭӧc ghi vào bӝ nhӟÿӑc ghi (flash …)
– 1KѭӧFÿLӇm:
•
Xӱ lý chұm do tӕn thӡi gian tìm và xӱ lý chuӛi microcode
&+ѬѪ1*3: 9LÿLӅu
khiӇn 8051
Bài 2: Nguyên lý chung hӋ vi xӱ lý
18
Cҩu trúc lӋnh cѫ sӣ (vi lӋnh)
LӋQKFѫVӣ kiӇu hard-wired:
'HPX[
•
&+ѬѪ1*3: 9LÿLӅu
khiӇn 8051
Bài 2: Nguyên lý chung hӋ vi xӱ lý
19
Cҩu trúc lӋnh cѫ sӣ (vi lӋnh)
•
LӋQKFѫVӣ kiӇu hard-wired: (tiӃp)
– Gӗm mӝt tұp các mҥch logic cӭng.
– Mӛi lӋnh trong tұp lӋnh có mӝt mҥFKORJLFWѭѫQJӭng
– Các lӋnh có chӭFQăQJJLӕng nhau vүn có các mҥch
riêng.
– Tә hӧp các bit trong IR qua bӝ tách kênh sӁ xáFÿӏnh
mҥch cӭng sӁ hoҥWÿӝng.
&+ѬѪ1*3: 9LÿLӅu
khiӇn 8051
Bài 2: Nguyên lý chung hӋ vi xӱ lý
20
Cҩu trúc lӋnh cѫ sӣ (vi lӋnh)
•
LӋQKFѫVӣ kiӇu hard-wired: (tiӃp)
– ѬXÿLӇm:
•
Xӱ lý rҩt nhanh do mӛi lӋnh có mӝt “mҥch” riêng.
– 1KѭӧFÿLӇm:
•
•
•
•
Cҩu trúc phӭc tҥp
Khó thiӃt kӃÿӕi vӟi hãng chӃ tҥo)
Khó nâng cҩp, phát triӇn.
Khi muӕn phát triӇn mӝt dòng chip mӟi vӟi tұp lӋnh mӟi phҧi
thiӃt kӃ lҥi.
&+ѬѪ1*3: 9LÿLӅu
khiӇn 8051
Bài 2: Nguyên lý chung hӋ vi xӱ lý
21
KiӃn trúc xӱ lý cӫa
vi xӱ lý
&+ѬѪ1*3: 9LÿLӅu
khiӇn 8051
Bài 2: Nguyên lý chung hӋ vi xӱ lý
22
KiӃn trúc Von-Newman (Princeton)
&+ѬѪ1*3: 9LÿLӅu
khiӇn 8051
Bài 2: Nguyên lý chung hӋ vi xӱ lý
23
KiӃn trúc Von Newman (tiӃp)
•
•
•
•
•
KiӃn trúc Von Newman dùng chung không gian
nhӟ cho cҧ bӝ nhӟFKѭѫQJWUình và bӝ nhӟ dӳ
liӋu.
Khӕi giao tiӃp bӝ nhӟ thӵc hiӋn cҧÿӑc mã lӋnh
vàÿӑc/ghi dӳ liӋu Æ hiӋQWѭӧng “nghӁn cә
chai”.
Cҧi tiӃn: NKLÿDQJWKӵc hiӋn lӋQKWUѭӟc thì nhұn
mã lӋnh cӫa lӋnh tiӃp theo (pre-fetching)
&KLSYLÿLӅu khiӇQÿѭӧc thiӃt kӃÿѫQJLҧQKѫQ
ChӍ truy xuҩt mӝt bӝ nhӟ, RAM có thӇ chӭa
FKѭѫQJWUình hoһc dӳ liӋu.
&+ѬѪ1*3: 9LÿLӅu
khiӇn 8051
Bài 2: Nguyên lý chung hӋ vi xӱ lý
24
KiӃn trúc Harvard
&+ѬѪ1*3: 9LÿLӅu
khiӇn 8051
Bài 2: Nguyên lý chung hӋ vi xӱ lý
25
KiӃn trúc Harvard (tiӃp)
•
KiӃn trúc Harvard dùng các không gian nhӟ riêng cho
bӝ nhӟFKѭѫQJWUình, bӝ nhӟ dӳ liӋu vàÿӋm xӱ lý .
•
Sӕ chu kǤ máy khi thӵc hiӋn lӋnh íWKѫQNLӃn trúc Von
Newman.
–
–
•
Phҫn lӟn các lӋnh cho phép thӵc hiӋn “song song”, nhұn mã
lӋnh tiӃSWKHRNKLÿDQJWKӵc thi lӋnh hiӋn tҥi Æ không có “thӡi
gian chӃt”ÿӕi vӟi bӝ xӱ lý.
Cho phép phҫn lӟn các lӋQKÿѭӧc thӵc hiӋn trong 1 chu kǤ
máy.
DӉ dàQJÿӏnh thӡi gian các vòng lһp …
&+ѬѪ1*3: 9LÿLӅu
khiӇn 8051
Bài 2: Nguyên lý chung hӋ vi xӱ lý
26
CISC và RISC
•
CISC – Complex Instruction Set Computer: Máy tính tұp
lӋnh phӭc hӧp:
–
–
•
RISC – Reduced Instruction Set Computer: Máy tính có
tұp lӋnh giҧQOѭӧc:
–
–
•
Tұp lӋnh có nhiӅu lӋnh, cùng mӝt thao tác có nhiӅu lӋnh thӵc
hiӋn vӟi các kiӇu khác nhau.
Sӕ lӋnh và chӭFQăQJFác lӋQKÿѭӧc thiӃt lұp bӣi hãng chӃ tҥo.
Tұp lӋQKÿѭӧc giҧQOѭӧc ӣ mӭc tӕi thiӇu.
1Jѭӡi dùng sӁ tӵ thiӃt kӃ thao tác cӫa lӋnh thay vì hãng sҧn
xuҩt.
VӅ có bҧQ5,6&SURFHVVRUQKDQKKѫQ&,6&SURFHVVRU
QKѭQJWURQJPӝt sӕWUѭӡng hӧS&,6&QKDQKKѫQKRһc
thӵc hiӋQÿѭӧc các ӭng dөng và RISC không làPÿѭӧc.
&+ѬѪ1*3: 9LÿLӅu
khiӇn 8051
Bài 2: Nguyên lý chung hӋ vi xӱ lý
27
CISC và RISC (tiӃp)
CISC
RISC
Lӟn (100 tӟi 300)
Tͅp l͟nh
Gӑn (100 hoһc íWKѫQ)
Phӭc tҥp (8 tӟi 20)
Các ch͗ÿͱÿͣa ch͡
ĈѫQJLҧn (4 hoһc íWKѫQ)
NhiӅu kiӇu lӋnh vӟi
chӭFQăQJULrQJ
Ĉͣnh d̹ng l͟nh
ĈѫQJLҧn
7KD\ÿәi
Ĉͱ dài mã l͟nh
Cӕÿӏnh
7KD\ÿәi
Sͩ chu kǤ thΉc hi͟n
Chuҭn cho hҫu hӃt lӋnh
Higher
T trͥng giá / CPU
Lower
Biên dӏch
Ĉ˿QJL̻n cho
Hãng thiӃt kӃ chip
Hãng thiӃt kӃ chip
Phc t̹p cho
1Jѭӡi dùng lұp trình
&+ѬѪ1*3: 9LÿLӅu
khiӇn 8051
Bài 2: Nguyên lý chung hӋ vi xӱ lý
28
- Xem thêm -