BÀI GI NG
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
1.1.1. T NG QUAN
1.1.1.1. Khái ni m
Vi x g m các c ng logic gi ng nh các c ng logic đ c s d ng trong đ n v ư ượ ơ
x trung tâm (Central Procecessing Unit) c a máy tính s . Do c u trúc gi ng nh CPU ư
đ c xây d ng t các m ch vi đi n t nên tên vi x lý: microprocessor. Gi ngượ
nh CPU, microprocessor các m ch đi n t cho vi c đi u khi n d li u (data) 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 t p h p các l nh đ x ươ ươ
d li u, 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 l nh ướ ư
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 th thay đ i các l nh n u c n. Khi thay ư ế
đ i các l nh c a vi x t c thay đ i cách th c x 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 m t vi m ch c l n ho c c c l n v i ch c năng chính là:
x d li u. Đ làm đ c đi u này vi x ph i các m ch logic cho vi c x ượ
đi u khi n d li u. Các m ch logic x s di chuy n d li u t n i này sang n i khác ơ ơ
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 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 l nh đ xem l nh đó yêu c u vi x ế
th c hi n công vi c gì, sau đó vi x 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 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 c n ph i 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 ư
đ c g i 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 xu t d li u t bên trong vi x ra ngoài đ c g i 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 s k t h p c a 2 k thu t công ngh quan tr ng nh t: đó máy tính ế
dùng k thu t s (Digital Computer) 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 ế
(Microprocessor). D a vào l ch s phát tri n c a các b vi x ta 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 các ns n xu t khác cũng l n l t cho ra đ i các b vi x khác: 4040 ượ
(4 bit) 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 ph i c n nhi u m ch ph tr m i t o nên m t vi x ơ
hoàn ch nh.
Th h th hai (1974 – 1977)ế
Các b vi x đ i di n cho th h này vi x 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 này t p l nh phong phú h n th ng kh năng phân bi t ơ ườ
đ a ch b nh v i dung l ng đ n 64KB. m t s b vi x còn 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 nh t đ 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 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 ) 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 các b vi x 16 bit 8086/80186/0286 c a Intel ho c 68000/68010
c a Motorola. Các b vi x này đ dài 16 bit t p l nh phong phú v i l nh nhân,
chia các thao tác v i chu i 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 th h này cũng l n h n (t 1 16 MB cho b nh ế ế ơ
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 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 đ i di n cho th h này các vi x 32 bit 80386/80486 64 ế
bit c a Pentium c a Intel, các vi x 32 bit 68020/68040/68060 c a Motorola. Đ c đi m
c a vi x th h này bus đ a ch đ u 32 bit (phân bi t 4GB b nh ) 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 s8086 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 tranzitor29.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ân40 40 68
Ch đ b nh oế Không Không
Có b qu n lý b nh bên trong Không Không
1.1.2. Đ C ĐI M CHUNG C A B VI X
M i b vi x đ u nh ng đ c đi m 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 có th x song song đ ng th i trong m t l n thao tác.d : M ch vi x
lý 16 bit thì có nghĩa vi x lý có th x 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 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 d li u, đi u khi n ph c t p. Các vi x 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 có th l y m t l n 4 byte, trong khi đó các vi x
8 bit thì ph i làm 4 l n, v i vi x 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 32 bit t c đ tăng g p 4, v i vi x 16 bit thì t c đ vi x 32 bit tăng g p
đôi. Đ tăng t c đ làm vi c c a vi x 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 ượ
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 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
32 bit nh 386 hay 68020 có th truy xu t 4GB ô nh . Vi x có kh năng truy xu t b như
càng l n nên th x các ch ng trình l n. Tùy theo ng d ng c th ch n m t vi ươ
x lý thích h p.
S chân các hình d ng ngoài c a vi x : Các b vi x 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 n h n 64 chân hay nhi u h n n a 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 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 m t chân tín hi u th làm hai ch c năng đ 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 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 dùng m ch m t xung nh p 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àm vi c quy t đ nh đ n t c đ làm vi c ế ế
c a vi x lý, vi x t c đ làm vi c càng l n thì kh năng x l nh càng nhanh. Tuy
nhiên t n s xung nh p không ph i y u t duy nh t. T c đ vi x còn ph thu c vào ế
4
cách th c x 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 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 c n ngu n
nuôi v i nhi u đi n áp ho t đ ng khác nhau, d : ±5V, ±10V. Còn v i công ngh NMOS
thì ch c n ngu n nuôi duy nh t +5V. Đây m c đi n áp đ cao đ 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 ngày nay v i công
ngh CMOS đã cho ra đ i các lo i vi x 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 : các m ch làm ch c năng gi i chuy n đ i s li u, m ch
ghép n i logic, m ch đ m đ 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 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 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 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 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 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 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
Trên đây ta đã th y b vi x 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 còn ph i k t h p thêm các b ph n ế ế
đi n t khác d nh : b nh , các b ph i ghép vào/ra đ t o n m t h vi x 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