
BÀI GI NGẢ
MÔN H C: VI ĐI U KHI NỌ Ề Ể
1

BÀI 1. T NG QUAN V VI X LÝỔ Ề Ử
1.1. GI I THI U CHUNG V VI X LÝỚ Ệ Ề Ử
1.1.1. T NG QUANỔ
1.1.1.1. Khái ni mệ
Vi x lý g m các c ng logic gi ng nh các c ng logic đ c s d ng trong đ n vử ồ ổ ố ư ổ ượ ử ụ ơ ị
x lý trung tâm (Central Procecessing Unit) c a máy tính s . Do c u trúc gi ng nh CPUử ủ ố ấ ố ư
và đ c xây d ng t các m ch vi đi n t nên có tên là vi x lý: microprocessor. Gi ngượ ự ừ ạ ệ ử ử ố
nh CPU, microprocessor có các m ch đi n t cho vi c đi u khi n d li u (data) và tínhư ạ ệ ử ệ ề ể ữ ệ
toán d li u d i s đi u khi n c a ch ng trình. Ngoài ra microprocessor là m t đ n vữ ệ ướ ự ề ể ủ ươ ộ ơ ị
x lý d li u. ử ữ ệ
Đ x lý d li u, vi x lý ph i đi u khi n các m ch logic, đ vi x lý đi u khi nể ử ữ ệ ử ả ề ể ạ ể ử ề ể
các m ch logic thì c n ph i có ch ng trình. Ch ng trình là t p h p các l nh đ x lýạ ầ ả ươ ươ ậ ợ ệ ể ử
d li u, các l nh đã đ c l u tr trong b nh . Công vi c th c hi n l nh bao g m cácữ ệ ệ ượ ư ữ ộ ớ ệ ự ệ ệ ồ
b c nh sau: đón l nh t b nh , sau đó các m ch logic đi u khi n s gi i mã l nh vàướ ư ệ ừ ộ ớ ạ ề ể ẽ ả ệ
sau cùng thì các m ch logic đi u khi n s th c hi n l nh sau khi gi i mã.ạ ề ể ẽ ự ệ ệ ả
Do các l nh l u tr trong b nh nên có th thay đ i các l nh n u c n. Khi thayệ ư ữ ộ ớ ể ổ ệ ế ầ
đ i các l nh c a vi x lý t c là thay đ i cách th c x lý d li u. Các l nh l u tr trongổ ệ ủ ử ứ ổ ứ ử ữ ệ ệ ư ữ
b nh s quy t đ nh công vi c mà vi x lý s làm.ộ ớ ẽ ế ị ệ ử ẽ
Nh v y:ư ậ Vi x lý là m t vi m ch c l n ho c c c l n v i ch c năng chính là: làử ộ ạ ỡ ớ ặ ự ớ ớ ứ
x lý d li u. Đ làm đ c đi u này vi x lý ph i có các m ch logic cho vi c x lý vàử ữ ệ ể ượ ề ử ả ạ ệ ử
đi u khi n d li u. Các m ch logic x lý s di chuy n d li u t n i này sang n i khácề ể ữ ệ ạ ử ẽ ể ữ ệ ừ ơ ơ
và th c hi n các phép toán trên d li u, m ch logic đi u khi n s quy t đ nh m ch đi nự ệ ữ ệ ạ ề ể ẽ ế ị ạ ệ
nào cho vi c x lý d li u. vi x lý th c hi n m t l nh v i trình t nh sau: đón l nh tệ ử ữ ệ ử ự ệ ộ ệ ớ ự ư ệ ừ
b nh , ti p theo m ch logic đi u khi n s gi i mã l nh đ xem l nh đó yêu c u vi xộ ớ ế ạ ề ể ẽ ả ệ ể ệ ầ ử
lý th c hi n công vi c gì, sau đó vi x lý s th c hi n đúng công vi c c a l nh đã yêuự ệ ệ ử ẽ ự ệ ệ ủ ệ
c u, quá trình này đ c g i là chu kỳ đón - và - th c hi n.ầ ượ ọ ự ệ
Ngoài ch c năng đón và th c hi n l nh, các m ch logic đi u khi n còn đi uứ ự ệ ệ ạ ề ể ề
khi n các m ch đi n giao ti p bên ngoài k t n i v i vi x lý. vi x lý c n ph i có s trể ạ ệ ế ế ố ớ ử ử ầ ả ự ợ
giúp c a các m ch đi n bên ngoài. Các m ch đi n dùng đ l u tr l nh đ vi x lý x lýủ ạ ệ ạ ệ ể ư ữ ệ ể ử ử
đ c g i là b nh , các m ch đi n giao ti p đ di chuy n d li u t bên ngoài vào bênượ ọ ộ ớ ạ ệ ế ể ể ữ ệ ừ
trong vi x lý và xu t d li u t bên trong vi x lý ra ngoài đ c g i là các thi t b ghépử ấ ữ ệ ừ ử ượ ọ ế ị
n i vào ra I/O.ố
1.1.1.2. L ch s phát tri n c a các b vi x lýị ử ể ủ ộ ử
Vi x lý là s k t h p c a 2 k thu t công ngh quan tr ng nh t: đó là máy tínhử ự ế ợ ủ ỹ ậ ệ ọ ấ
dùng k thu t s (Digital Computer) và các m ch vi đi n t . Hai công ngh này k t h pỹ ậ ố ạ ệ ử ệ ế ợ
l i v i nhau vào năm 1970, sau đó các nhà nghiên c u đã ch t o ra vi x lýạ ớ ứ ế ạ ử
(Microprocessor). D a vào l ch s phát tri n c a các b vi x lý ta có th chia ra làm 4ự ị ử ể ủ ộ ử ể
th h nh sau:ế ệ ư
•Th h th nh t (1971 – 1973)ế ệ ứ ấ
2

Năm 1971 Intel cho ra đ i b vi x lý đ u tiên là 4004 (4 bit s li u, 12 bit đ a ch )ờ ộ ử ầ ố ệ ị ỉ
sau đó Intel và các nhà s n xu t khác cũng l n l t cho ra đ i các b vi x lý khác: 4040ả ấ ầ ượ ờ ộ ử
(4 bit) và 8008 (8 bit) c a Intel. PPS – 4 (4 bit) c a Rockwell International, IPM – 16 (bit)ủ ủ
c a National Semiconductor.ủ
Đ c đi m chung c a các b vi x lý th h này là:ặ ể ủ ộ ử ế ệ
- Thông th ng là 4 bit d li u (cũng có th dài h n).ườ ữ ệ ể ơ
- Công ngh ch t o PMOS v i đ c đi m m t đ ph n t nh , t c đ ch m, giáệ ế ạ ớ ặ ể ậ ộ ầ ử ỏ ố ộ ậ
r và ch có kh năng đ a ra dòng t i nh .ẻ ỉ ả ư ả ỏ
- T c đ th c hi n l nh: 10 – 60 ố ộ ự ệ ệ µs/ l nh. V i t n s đ ng h fệ ớ ầ ố ồ ồ clk = 0, 1 – 0, 8
MHz.
- T p l nh đ n gi n và ph i c n nhi u m ch ph tr m i t o nên m t vi x lýậ ệ ơ ả ả ầ ề ạ ụ ợ ớ ạ ộ ử
hoàn ch nh.ỉ
•Th h th hai (1974 – 1977)ế ệ ứ
Các b vi x lý đ i di n cho th h này là vi x lý 8 bít 6502 c a MOSộ ử ạ ệ ế ệ ử ủ
Technology, 6800 và 6809 c a Motorola, 8080 c a Intel và đ c bi t là b vi x lý Z80 c aủ ủ ặ ệ ộ ử ủ
Zilog. Các b vi x lý này có t p l nh phong phú h n và th ng có kh năng phân bi tộ ử ậ ệ ơ ườ ả ệ
đ a ch b nh v i dung l ng đ n 64KB. Có m t s b vi x lý còn có kh năng phânị ỉ ộ ớ ớ ượ ế ộ ố ộ ử ả
bi t đ c 256 đ a ch cho các thi t b ngo i vi (h Intel và Zilog). Chúng đã đ c s d ngệ ượ ị ỉ ế ị ạ ọ ượ ử ụ
r ng rãi trong công nghi p và nh t là đ t o ra các máy tính 8 bit n i ti ng m t th i nhộ ệ ấ ể ạ ổ ế ộ ờ ư
Apple II Commodore 64. T t c các vi x lý th i kỳ này đ u đ c ch t o b ng côngấ ả ử ờ ề ượ ế ạ ằ
ngh NMOS (m t đ phân t trên m t đ n v di n tích cao h n so v i công ngh PMOS)ệ ậ ộ ử ộ ơ ị ệ ơ ớ ệ
ho c CMOS (ti t ki m đi n năng tiêu th ) và cho phép đ t đ c t c đ t 1 – 8ặ ế ệ ệ ụ ạ ượ ố ộ ừ µs/ l nhệ
v i t n đ ng h 1 – 5 MHz.ớ ầ ố ộ ồ
•Th h th ba (1978 – 1982)ế ệ ứ
Đ i di n là các b vi x lý 16 bit 8086/80186/0286 c a Intel ho c 68000/68010ạ ệ ộ ử ủ ặ
c a Motorola. Các b vi x lý này có đ dài 16 bit và t p l nh phong phú v i l nh nhân,ủ ộ ử ộ ậ ệ ớ ệ
chia và các thao tác v i chu i ký t . Kh năng phân bi t đ a ch cho b nh ho c choớ ỗ ự ả ệ ị ỉ ộ ớ ặ
thi t b ngo i vi c a các vi x lý th h này cũng l n h n (t 1 – 16 MB cho b nh vàế ị ạ ủ ử ế ệ ớ ơ ừ ộ ớ
t i 64KB cho đ a ch thi t b ngo i vi đ i v i h Intel). Ph n l n các b vi x lý th hớ ị ỉ ế ị ạ ố ớ ọ ầ ớ ộ ử ế ệ
này đ u đ t t c đ t 0, 1 – 1ề ạ ố ộ ừ µs/ l nh v i t n đ ng h fclk = 5 – 10 MHz.ệ ớ ầ ố ộ ồ
•Th h th t (1983 - ?)ế ệ ứ ư
Các b vi x lý đ i di n cho th h này là các vi x lý 32 bit 80386/80486 và 64ộ ử ạ ệ ế ệ ử
bit c a Pentium c a Intel, các vi x lý 32 bit 68020/68040/68060 c a Motorola. Đ c đi mủ ủ ử ủ ặ ể
c a vi x lý th h này là bus đ a ch đ u là 32 bit (phân bi t 4GB b nh ) và có khủ ử ế ệ ị ỉ ề ệ ộ ớ ả
năng làm vi c v i b nh o. ệ ớ ộ ớ ả
Sau đây là b ng thông s c a các b vi x lý c a Intelả ố ủ ộ ử ủ
Thông số8086 8088 80286
Năm s n xu tả ấ 6/1978 1979 2/1982
fclkmax (xung nh p đ ng h )ị ồ ồ 10 MHz 10 MHz 20 MHz
MIPS (tri u l nh/s)ệ ệ 0, 33 0, 33 1, 2
S tranzitorố29.000 29.000 134.000
3

Bus s li uố ệ 16 bit 8 bit 16 bit
Bus đ a chị ỉ 20 bit 20 bit 24 bit
Kh năng đ a chả ị ỉ 1 MB 1 MB 16 MB
S chânố40 40 68
Ch đ b nh oế ộ ộ ớ ả Không Không Có
Có b qu n lý b nh bên trongộ ả ộ ớ Không Không Có
1.1.2. Đ C ĐI M CHUNG C A B VI X LÝẶ Ể Ủ Ộ Ử
M i b vi x lý đ u có nh ng đ c đi m và ch c năng riêng tuy nhiên chúng đ u cóỗ ộ ử ề ữ ặ ể ứ ề
nh ng đăc đi m chung sau:ữ ể
Chi u dài bus d li u (đ l n c a m ch vi x lý)ề ữ ệ ộ ớ ủ ạ ử : Đ c đánh giá b ng s bit l nượ ằ ố ớ
nh t mà vi x lý có th x lý song song đ ng th i trong m t l n thao tác. Ví d : M ch vi xấ ử ể ử ồ ờ ộ ầ ụ ạ ử
lý 16 bit thì có nghĩa vi x lý có th x lý song song m t l n 16 bit. M i vi x lý có chi u dàiử ể ử ộ ầ ỗ ử ề
bus d li u khác nhau s có m t kh năng ng d ng khác nhau, các vi x lý có chi u dài busữ ệ ẽ ộ ả ứ ụ ử ề
d li u l n, t c đ làm vi c nhanh, kh năng truy xu t b nh l n đ c dùng trong các côngữ ệ ớ ố ộ ệ ả ấ ộ ớ ớ ượ
vi c x lý d li u, đi u khi n ph c t p. Các vi x lý 32 bit có kh năng làm vi c nhanh h nệ ử ữ ệ ề ể ứ ạ ử ả ệ ơ
vì m i l n l y d li u t b nh vi x lý có th l y m t l n 4 byte, trong khi đó các vi x lýỗ ầ ấ ữ ệ ừ ộ ớ ử ể ấ ộ ầ ử
8 bit thì ph i làm 4 l n, v i vi x lý 16 bit ph i th c hi n 2 l n. V y n u so v i vi x lý 8 bitả ầ ớ ử ả ự ệ ầ ậ ế ớ ử
thì vi x lý 32 bit có t c đ tăng g p 4, v i vi x lý 16 bit thì t c đ vi x lý 32 bit tăng g pử ố ộ ấ ớ ử ố ộ ử ấ
đôi. Đ tăng t c đ làm vi c c a vi x lý là m c tiêu hàng đ u c a các nhà ch t o vi x lý.ể ố ộ ệ ủ ử ụ ầ ủ ế ạ ử
Chi u dài bus đ a ch (kh năng truy xu t b nh )ề ị ỉ ả ấ ộ ớ : Dung l ng b nh mà vi x lýượ ộ ớ ử
có th truy xu t, là m t ph n trong c u trúc c a vi x lý. Các vi x lý đ u tiên b gi i h n vể ấ ộ ầ ấ ủ ử ử ầ ị ớ ạ ề
kh năng truy xu t b nh : Vi x 4004 có 14 đ ng đ a ch nên có th truy xu t đ c 2ả ấ ộ ớ ử ườ ị ỉ ể ấ ượ 14 =
16.384 ô nh , vi x lý 8 bit có 16 đ ng đ a ch nên có th truy xu t đ c 2ớ ử ườ ị ỉ ể ấ ượ 16 = 65.536 ô nh ,ớ
vi x lý 16 bit có 20 đ ng đ a ch nên có th truy xu t 2ử ườ ị ỉ ể ấ 20 = 1.048.576 = 1MB ô nh , vi x lýớ ử
32 bit nh 386 hay 68020 có th truy xu t 4GB ô nh . Vi x lý có kh năng truy xu t b như ể ấ ớ ử ả ấ ộ ớ
càng l n nên có th x lý các ch ng trình l n. Tùy theo ng d ng c th mà ch n m t viớ ể ử ươ ớ ứ ụ ụ ể ọ ộ
x lý thích h p.ử ợ
S chân và các hình d ng ngoài c a vi x lýố ạ ủ ử : Các b vi x lý 8088/8086 đ c đóngộ ử ượ
trong v 2 hàng chân. Đó là lo i v b ng Plastic có các chân h ng xu ng d i theo hai hàngỏ ạ ỏ ằ ướ ố ướ
song song hai bên. Các b vi x lý l n h n có 64 chân hay nhi u h n n a có v b c v i cácộ ử ớ ơ ề ơ ữ ỏ ọ ớ
chân ra t o thành m ng x p x p trên c 4 phía. Thông th ng các vi x lý có s chân càngạ ả ắ ế ả ườ ử ố
nhi u thì càng hoàn h o. Tuy v y trong th c t ng i ta có th dùng ph ng pháp d n chân,ề ả ậ ự ế ườ ể ươ ồ
nghĩa là m t chân tín hi u có th làm hai ch c năng và đ phân bi t hai ch c năng y ng iộ ệ ể ứ ể ệ ứ ấ ườ
s d ng ph i l p ch ng trình.ử ụ ả ậ ươ
Xung nh p h th ng (System clock)ị ệ ố : Dùng đ đ ng b các thao tác bên trong và bênể ồ ộ
ngoài c a vi x lý b ng cách phát ra các xung nh p th i gian theo các kho ng cách c đ nh, xuủ ử ằ ị ờ ả ố ị
h ng ngày nay là dùng m ch m t xung nh p và kho ng cách gi a hai xung đ ng h hướ ạ ộ ị ả ữ ồ ồ ệ
th ng đ c g i là chu kỳ xung nh p. ố ượ ọ ị
T n s xung clock cung c p cho vi x lý làm vi c quy t đ nh đ n t c đ làm vi cầ ố ấ ử ệ ế ị ế ố ộ ệ
c a vi x lý, vi x lý có t c đ làm vi c càng l n thì kh năng x lý l nh càng nhanh. Tuyủ ử ử ố ộ ệ ớ ả ử ệ
nhiên t n s xung nh p không ph i là y u t duy nh t. T c đ vi x lý còn ph thu c vàoầ ố ị ả ế ố ấ ố ộ ử ụ ộ
4

cách th c x lý thông tin trong c u trúc c a vi x lý. T n s xung clock làm vi c c a các viứ ử ấ ủ ử ầ ố ệ ủ
x lý đ c cho b i các nhà ch t o.ử ượ ở ế ạ
Vi x lýửT n s xung clockầ ố Chi u dài t d li uề ừ ữ ệ
8051 12MHz 8-bit
Z80A 4MHz 8-bit
Z80B 6MHz 8-bit
286 16MHz 16-bit
486DX2-66 66Mhz 32-bit
Pentium 66MHz 32-bit
Đi n áp ho t đ ng (ngu n nuôi)ệ ạ ộ ồ : V i công ngh PMOS các b vi x lý c n ngu nớ ệ ộ ử ầ ồ
nuôi v i nhi u đi n áp ho t đ ng khác nhau, ví d : ±5V, ±10V. Còn v i công ngh NMOSớ ề ệ ạ ộ ụ ớ ệ
thì ch c n ngu n nuôi duy nh t +5V. Đây là m c đi n áp đ cao đ bù l i các s t áp trongỉ ầ ồ ấ ứ ệ ủ ể ạ ụ
các m ch s , đ ng th i cũng đ nh đ tránh gây t p âm. Các b vi x lý ngày nay v i côngạ ố ồ ờ ủ ỏ ể ạ ộ ử ớ
ngh CMOS đã cho ra đ i các lo i vi x lý 3, 3V, đòi h i dòng tiêu th ch b ng 60% so v iệ ờ ạ ử ỏ ụ ỉ ằ ớ
chip 5V
Các m ch ph c nạ ụ ậ : Là các m ch làm ch c năng gi i mã chuy n đ i s li u, m chạ ứ ả ể ổ ố ệ ạ
ghép n i logic, m ch đ m và đ nh th i gian, m ch đi u khi n bàn phím, hi n th … Lo iố ạ ế ị ờ ạ ề ể ể ị ạ
m ch này cũng đ c ch t o theo hãng và th ng t ng ng v i m ch vi x lý c a hãng y.ạ ượ ế ạ ườ ươ ứ ớ ạ ử ủ ấ
M ch ph i ghép vào raạ ố : Làm nhi m v trao đ i s li u vào và ra cho CPU. M i hãngệ ụ ổ ố ệ ỗ
s ch t o m ch ph i ghép đi kèm. Lo i vi x lý nào càng nhi u m ch ph i ghép thì càng dẽ ế ạ ạ ố ạ ử ề ạ ố ễ
s d ng.ử ụ
Ph n m m (ch ng trình)ầ ề ươ : M i m t vi x lý có m t ph n m m đ c hãng trang bỗ ộ ử ộ ầ ề ượ ị
hay còn g i là t p l nh. Ng i s d ng căn c vào t p l nh này đ khai thác s d ng và t oọ ậ ệ ườ ử ụ ứ ậ ệ ể ử ụ ạ
thành các ch ng trình ph c v cho các m c đích c th . T p l nh c a vi x lý là m t trongươ ụ ụ ụ ụ ể ậ ệ ủ ử ộ
nh ng y u t c b n đ đánh giá ch c năng làm vi c c a vi x lý. N u vi x lý có nhi uữ ế ố ơ ả ể ứ ệ ủ ử ế ử ề
m ch đi n logic bên trong đ th c hi n thì s l nh đi u khi n c a vi x lý càng nhi u, khiạ ệ ể ự ệ ố ệ ề ể ủ ử ề
đó vi x lý càng l n và đ ph c t p càng l n. Ví d so sánh 2 t p l nh c a 2 vi x lý 8 bit làử ớ ộ ứ ạ ớ ụ ậ ệ ủ ử
80C51 và Z80 thì 80C51 có 111 l nh khác nhau còn Z80 có 178 l nh. T p l nh c a m t vi xệ ệ ậ ệ ủ ộ ử
lý càng nhi u r t có ích khi l p trình hay vi t ch ng trình cho vi x lý.ề ấ ậ ế ươ ử
1.2. C U TRÚC H VI X LÝ VÀ T CH C BÊN TRONG CPUẤ Ệ Ử Ổ Ứ
1.2.1. C U TRÚC CHUNG C A M T H VI X LÝẤ Ủ Ộ Ệ Ử
Trên đây ta đã th y b vi x lý là m t thành ph n r t c b n không th thi u đ cấ ộ ử ộ ầ ấ ơ ả ể ế ượ
đ t o nên m t máy vi tính. Trong th c t b vi x lý còn ph i k t h p thêm các b ph nể ạ ộ ự ế ộ ử ả ế ợ ộ ậ
đi n t khác ví d nh : b nh , các b ph i ghép vào/ra đ t o nên m t h vi x lý hoànệ ử ụ ư ộ ớ ộ ố ể ạ ộ ệ ử
ch nh.ỉ
Hình 1.2.1 gi i thi u s đ kh i t ng quát c a c a m t h vi x lý.ớ ệ ơ ồ ố ổ ủ ủ ộ ệ ử
Trong s đ này ta th y rõ các kh i ch c năng chính c a m t h vi x lý bao g m: ơ ồ ấ ố ứ ủ ộ ệ ử ồ
- Kh i x lý trung tâm (Central Processing Unit, CPU).ố ử
- B nh bán d n (Memory, M).ộ ớ ẫ
- Kh i ph i ghép v i các thi t b ngo i vi (Input/Output, I/O).ố ố ớ ế ị ạ
- Các bus truy n thông tin. ề
5

