Đăng ký Đăng nhập
Trang chủ Kỹ thuật - Công nghệ Tự động hóa Bài giảng về vi điều khiển 8051...

Tài liệu Bài giảng về vi điều khiển 8051

.PDF
14
209
142

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 Ph΁c 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 -

Tài liệu liên quan