H C VI N CÔNG NGH B U CHÍNH VI N THÔNG
KI N TRÚC MÁY TÍNH
(Dùng cho sinh viên h đào t o đ i h c t xa)
L u hành n i b
HÀ N I - 2008
H C VI N CÔNG NGH B U CHÍNH VI N THÔNG
KI N TRÚC MÁY TÍNH
Biên so n :
TS. LÊ H U L P
Sách h
ng d n h c t p môn h c: KI N TRÚC MÁY TÍNH
L I NÓI
U
KI N TRÚC MÁY TÍNH là môn h c n m trong ch
ngành Công ngh thông tin và ngành
ng trình đào t o đ i h c
i n t Vi n thông c a H c vi n công ngh B u
chính Vi n thông. M c tiêu c a môn h c là: kh o sát c u trúc và ch c n ng c a máy
tính. Môn h c này giúp sinh viên hi u rõ b n ch t và nh ng đ c tr ng c a các h th ng
máy tính hi n đ i. ây là m t nhi m v không đ n gi n vì:
- Các lo i máy tính hi n nay là t
ng d ng, kích th
ng đ i đa d ng v ch ng lo i: kh n ng v n hành,
c, giá c là r t khác nhau. Có các máy đ n chip ch vài ch c đô la
đ n các siêu máy tính có giá c t i hàng tri u đô la v i hi u xu t và ng d ng trên
ph m vi r ng l n.
- S thay đ i nhanh chóng v công ngh máy tính, t k thu t m ch tích h p dùng đ
xây d ng nên các thành ph n máy tính cho đ n vi c gia t ng s d ng nh ng khái ni m
v t ch c song song trong vi c k t h p các thành ph n đó.
M c dù có s hi n di n c a tính đa d ng và t c đ thay đ i công ngh trong l nh v c
máy tính, nhi u khái ni m c b n v n đ
c áp d ng r ng kh p. Trong sách h
ng d n
h c t p này, các y u t c b n v ki n trúc và t ch c máy tính, m i quan h gi a
chúng c ng nh nhi u bài toán g p ph i trong thi t k máy tính hi n nay s đ
cđ
c p.
Sách này gi i thi u các n i dung ch y u sau:
- Khái ni m v Ki n trúc và T ch c máy tính
- L ch s phát tri n c a máy tính, các th h máy tính và cách phân lo i máy tính.
- Gi i thi u các thành ph n c b n c a m t h th ng máy tính. Ki n trúc thông d ng
c a các lo i máy tính hi n nay: Ki n trúc von-Neumann
- Gi i thi u c u trúc c a b x lý trung tâm: t ch c, ch c n ng và nguyên lý ho t đ ng
c a các b ph n bên trong b vi x lý.
- Gi i thi u v t p l nh máy tính bao g m : Chu trình th c hi n m t l nh; m t s d ng
l nh thông d ng; các toán h ng; các ch đ đ a ch .
1
Sách h
ng d n h c t p môn h c: KI N TRÚC MÁY TÍNH
- Gi i thi u ch c n ng và nguyên lý ho t đ ng c a các c p b nh máy tính; B nh
trong; B nh ngoài.
- H th ng BUS và thi t b ngo i vi.
PH
NG PHÁP H C T P
Do sách ch mang tính ch t gi i thi u t ng quát nên sinh viên c n tham kh o thêm các
tài li u gi i thi u v ki n trúc c th c a các b x lý. Sinh viên c n tìm hi u thêm các
tài li u liên quan đ th y đ
c sâu h n v n đ đ
c đ t ra ( M c tài li u tham kh o)
Hà n i, tháng 4 n m 2008
TÁC GI
2
Sách h
ng d n h c t p môn h c: KI N TRÚC MÁY TÍNH
CH
NG 1: GI I THI U CHUNG
A. TÓM T T N I DUNG CHÍNH C A CH
NG:
- Ki n trúc máy tính: là nh ng thu c tính h th ng mà ng
đ
i l p trình có th nhìn th y
c nh : t p l nh, s bit đ bi u di n d li u, k thu t đ nh đ a ch b nh , nguyên
t c vào ra…Ki n trúc máy tính g m: Ki n trúc ph n m m; T ch c c a máy tính và
L p đ t ph n c ng
- T ch c máy tính: nghiên c u các đ n v v n hành và s k t n i gi a chúng nh m
th c hi n các đ c t v ki n trúc nh : Tín hi u đi u khi n; Giao di n v i các thi t b
ngo i vi; K thu t b nh đ
- C u trúc c a máy tính: Ph
c s d ng…
ng th c các thành ph n h th ng liên h v i nhau, bao
g m: B nh trong; B x lý trung tâm (Vi x lý); Các thành ph n nh p/xu t; Các
thành ph n k t n i h th ng (BUS)
- Ch c n ng máy tính: X lý d li u; L u tr d li u; Di chuy n d li u; i u khi n.
- L ch s phát tri n c a các th h máy tính: Tr i qua 5 th h t n m 1946 đ n nay,
các th h này đ
c phân chia ph thu c vào s phát tri n c a công ngh đi n t :
èn đi n t ; Transistor, M ch IC, M ch t h p LSI-VLSI; X lý song song.
- Ki n trúc von-Neumann: Nguyên t c c a ki n trúc này là ch
ng trình đ
c l u tr ;
cho phép nhi u thu t toán khác nhau có th th c hi n trong máy tính mà không ph i
n i dây l i nh các máy th h tr
c đó : ENIAC. Khi đó máy tính ch c n l y ch th
đ c t b nh và th c hi n x lý d li u.
B. N I DUNG
1.1 Khái ni m Ki n trúc và T ch c máy tính
Ki n trúc máy tính và T ch c máy tính là hai thu t ng c n đ
c phân bi t khi mô
t m t h th ng máy tính.
a) Ki n trúc máy tính đ c p đ n nh ng thu c tính h th ng mà l p trình viên có th
quan sát đ
c. Nói cách khác, đó là các thu c tính có nh h
3
ng tr c ti p đ n vi c
Sách h
ng d n h c t p môn h c: KI N TRÚC MÁY TÍNH
th c thi m t ch
ng trình, ví d nh t p l nh c a máy tính, s bit đ
c s d ng đ
bi u di n d li u, c ch nh p/xu t, k thu t đ nh đ a ch b nh , v.v...
Ki n trúc máy tính bao g m ba ph n: Ki n trúc ph n m m, t ch c c a máy tính và
l p đ t ph n c ng.
Ki n trúc ph n m m c a máy tính ch y u là ki n trúc ph n m m c a b x lý,
bao g m: t p l nh, d ng các l nh và các ki u đ nh v : Trong đó, t p l nh là t p h p
các l nh mã máy (mã nh phân) hoàn ch nh có th hi u và đ
trung tâm, thông th
ng các l nh trong t p l nh đ
c x lý b i b x lý
c trình bày d
i d ng h p ng .
M i l nh ch a thông tin yêu c u b x lý th c hi n, bao g m: mã tác v , đ a ch toán
h ng ngu n, đ a ch toán h ng k t qu , l nh k ti p (thông th
ng thì thông tin này
n). Ki u đ nh v ch ra cách th c thâm nh p toán h ng. Ki n trúc ph n m m là ph n
mà các l p trình viên h th ng ph i n m v ng đ vi c l p trình hi u qu , ít sai sót.
Ph n t ch c c a máy tính liên quan đ n c u trúc bên trong c a b x lý, c u
trúc các bus, các c p b nh và các m t k thu t khác c a máy tính. Ph n này s đ
trình bày
các ch
c
ng sau.
L p đ t ph n c ng c a máy tính chính là vi c l p ráp m t máy tính dùng các
linh ki n đi n t và các b ph n ph n c ng c n thi t. Trong tài li u này không đ c p
đ n v n đ này.
b)T ch c máy tính quan tâm đ n các đ n v v n hành và s k t n i gi a chúng
nh m hi n th c hóa nh ng đ c t v ki n trúc, ch ng h n nh v tín hi u đi u khi n,
giao di n
gi a máy tính v i các thi t b ngo i vi, k thu t b nh đ
c s d ng, v.v..
minh h a rõ h n v hai khái ni m này, chúng ta hãy xét đ n phép toán nhân. Vi c
máy tính có trang b phép toán này hay không là v n đ thu c v ki n trúc máy tính.
Trong khi đó, vi c cài đ t phép toán thông qua m t đ n v nhân đ c bi t hay qua c
ch s d ng l p đi l p l i đ n v c ng c a h th ng là v n đ thu c v t ch c máy
tính.
đây s ch n l a s d ng c ch nào ph thu c vào các y u t nh t n s s
d ng phép toán, t c đ t
ng đ i c a c hai cách ti p c n, giá c và kích th
c a m t đ n v nhân đ c bi t.
4
c v t lý
Sách h
ng d n h c t p môn h c: KI N TRÚC MÁY TÍNH
K t lúc ngành công nghi p máy tính ra đ i cho đ n nay, s phân bi t gi a ki n trúc
và t ch c máy tính là m t y u t quan tr ng. Nhi u hãng s n xu t máy tính cho ra
đ i c m t h máy ch khác nhau v t ch c còn ki n trúc hoàn toàn gi ng nhau. K t
qu là các ki u máy trong cùng m t h có giá c và hi u su t v n hành khác nhau.
H n th n a, m t ki n trúc máy có th t n t i qua nhi u n m li n trong khi t ch c
máy d a trên đó s thay đ i theo b
ví d tr
c ti n c a công ngh .
đây chúng ta có th l y
ng h p ki n trúc máy IBM System/370. Ki n trúc này đ
c gi i thi u l n
đ u vào n m 1970 v i m t s ki u máy khác nhau. Khách hàng v i nhu c u khiêm
t n có th mua ki u máy r h n, ch m h n và nâng c p lên ki u máy đ t ti n h n,
nhanh h n khi nhu c u s d ng t ng lên. i m quan tr ng trong vi c nâng c p này là
khách hàng không ph i b đi nh ng ph n m m đang đ
c s d ng trên máy c c a
h . Tr i qua n m tháng, hãng IBM đã cho ra đ i thêm nhi u ki u máy m i d a trên
công ngh c i ti n nh m thay th nh ng ki u máy l i th i, mang l i cho khách hàng
l i ích v t c đ và chi phí th p, trong khi v n b o toàn s đ u t c a h v ph n m m
nh có s dùng chung m t ki n trúc máy cho t t c ki u máy trong cùng m t h .
B ng cách t ch c đ nh h
ng ng
i s d ng nh v y, ki n trúc IBM System/370,
qua m t vài tinh ch nh không đáng k , v n t n t i cho đ n ngày nay v i vai trò ng n
c đ u trong dòng s n ph m IBM.
Trong l p các máy tính đ
c g i là máy vi tính, hai y u t t ch c và ki n trúc có m i
quan h r t g n g i. Nh ng thay đ i v công ngh không ch
nh h
ng đ n t ch c
mà còn d n đ n s ra đ i c a nh ng ki n trúc m nh h n, phong phú h n. Nói chung
thì s đòi h i v tính t
ng thích t th h này sang th h khác kém gay g t h n đ i
v i nh ng chi c máy nh này. Do v y, các quy t đ nh thi t k có tính ki n trúc và
thi t k có tính t ch c th
ng có s t
ng tác l n nhau.
5
Sách h
ng d n h c t p môn h c: KI N TRÚC MÁY TÍNH
1.2 C u trúc và ch c n ng c a máy tính
Máy tính là m t h th ng ph c t p v i hàng tri u thành ph n đi n t c s . Chìa
khóa chính đ mô t máy tính rõ ràng là s nh n th c v b n ch t phân c p c a h u h t
các h th ng ph c t p. M t h th ng phân c p là m t t p h p g m các h th ng con có
liên quan v i nhau, trong đó m i h th ng con l i có tính phân c p v c u trúc, c th
ti p t c cho đ n c p th p nh t ch a nh ng h th ng con c s .
B n ch t phân c p c a m t h th ng ph c t p gi vai trò chính trong vi c thi t
k và mô t nó. T i m i c p, h th ng bao g m m t t p h p các thành ph n con cùng
v i nh ng m i liên h gi a chúng.
đây có hai y u t đ
c quan tâm đ n là c u trúc
và ch c n ng:
C u trúc: cách th c các thành ph n h th ng liên h v i nhau.
Ch c n ng : ho t đ ng c a m i thành ph n riêng l v i t cách là m t ph n c a c u
trúc.
1.2.1 CH C N NG
M t cách t ng quát, m t máy tính có th th c hi n b n ch c n ng c b n sau, nh đ
th hi n trong hình 1.1:
Hình 1.1 Các ch c n ng c b n c a máy tính
6
c
Sách h
ng d n h c t p môn h c: KI N TRÚC MÁY TÍNH
a) X lý d li u: máy tính ph i có kh n ng x lý d li u. D li u có th có r t nhi u
d ng và ph m vi yêu c u x lý c ng r t r ng.
b) L u tr d li u: máy tính c ng c n ph i có kh n ng l u tr d li u. Ngay c khi
máy tính đang x lý d li u, nó v n ph i l u tr t m th i t i m i th i đi m ph n d li u
đang đ
c x lý. Do v y ít nh t thì máy tính c n có ch c n ng l u tr ng n h n. Tuy
nhiên, ch c n ng l u tr dài h n c ng có t m quan tr ng t
đ
ng đ
ng, vì d li u c n
c l u tr trên máy cho nh ng l n c p nh t và tìm ki m k ti p.
c) Di chuy n d li u: máy tính ph i có kh n ng di chuy n d li u gi a nó và th gi i
bên ngoài. Kh n ng này đ
c th hi n thông qua vi c di chuy n d li u gi a máy tính
v i các thi t b n i k t tr c ti p hay t xa đ n nó. Tùy thu c vào ki u k t n i và c ly di
chuy n d li u, chúng ta có ti n trình nh p xu t d li u hay truy n d li u:
- Th c hi n nh p xu t d li u: là di chuy n d li u trong c ly ng n gi a máy tính và
thi t b n i k t tr c ti p.
- Th c hi n truy n d li u: là di chuy n d li u trong c ly xa gi a máy tính và thi t
b n i k t t xa.
d) i u khi n: bên trong h th ng máy tính, đ n v đi u khi n có nhi m v qu n lý các
tài nguyên máy tính và đi u ph i s v n hành c a các thành ph n ch c n ng phù h p
v i yêu c u nh n đ
c t ng
i s d ng. T
ng ng v i các ch c n ng t ng quát nói
trên, có b n lo i ho t đ ng có th x y ra g m:
* Máy tính đ
c dùng nh m t thi t b di chuy n d li u, có nhi m v đ n gi n là
chuy n d li u t b ph n ngo i vi hay đ
đ
ng liên l c này sang b ph n ngo i vi hay
ng liên l c khác.
* Máy tính đ
c dùng đ l u tr d li u, v i d li u đ
vào l u tr trong máy (quá trình đ c d li u) và ng
7
c chuy n t môi tr
ng ngoài
c l i (quá trình ghi d li u)
Sách h
ng d n h c t p môn h c: KI N TRÚC MÁY TÍNH
* Máy tính đ
c dùng đ x lý d li u thông qua các thao tác trên d li u l u tr
* Máy tính đ
c dùng đ x lý d li u k t h p gi a vi c l u tr và liên l c v i môi
tr
ng bên ngoài.
1.2.2 C U TRÚC
m c đ n gi n nh t, máy tính có th đ
m t cách th c nào đó v i môi tr
c a nó v i môi tr
c xem nh m t th c th t
ng tác theo
ng bên ngoài. M t cách t ng quát, các m i quan h
ng bên ngoài có th phân lo i thành các thi t b ngo i vi hay đ
liên l c.Trong hình 1.2 máy tính đ
ng
c mô t v i b n thành ph n chính:
a) B nh trong: dùng đ l u tr d li u. ây là m t t p h p các ô nh , m i ô nh có
m t s bit nh t đ nh và ch c m t thông tin đ
c mã hoá thành s nh phân mà không
quan tâm đ n ki u c a d li u mà nó đang ch a. Các thông tin này là các l nh hay s
li u. M i ô nh c a b nh trong đ u có m t đ a ch . Th i gian thâm nh p vào m t ô
nh b t k trong b nh là nh nhau. Vì v y, b nh trong còn đ
c g i là b nh truy
c p ng u nhiên (RAM: Random Access Memory).
dài c a m t t
máy tính
(Computer Word) là 32 bit (hay 4 byte), tuy nhiên dung l
ng m t ô nh thông th
ng
là 8 bit (1 Byte).
b) B x lý trung tâm (CPU – Central Processing Unit): đi u khi n ho t đ ng c a
máy tính và th c hi n các ch c n ng x lý d li u.
ây là b ph n thi hành l nh. CPU
l y l nh t b nh trong và l y các s li u mà l nh đó x lý. B x lý trung tâm g m có
hai ph n: ph n thi hành l nh và ph n đi u khi n. Ph n thi hành l nh bao g m b làm
toán và lu n lý (ALU: Arithmetic And Logic Unit) và các thanh ghi. Nó có nhi m v
làm các phép toán trên s li u. Ph n đi u khi n có nhi m v đ m b o thi hành các l nh
m t cách tu n t và tác đ ng các m ch ch c n ng đ thi hành các l nh.
c) Các thành ph n nh p xu t (vào/ra) dùng đ di chuy n d li u gi a máy tính và
môi tr
ng bên ngoài (ngo i vi).
ây là b ph n xu t nh p thông tin, b
th c hi n s giao ti p gi a máy tính và ng
th ng m ng (đ i v i các máy tính đ
ph n này
i dùng hay gi a các máy tính trong h
c k t n i thành m t h th ng m ng). Các b ph n
8
Sách h
ng d n h c t p môn h c: KI N TRÚC MÁY TÍNH
xu t nh p th
ng g p là: b l u tr ngoài, màn hình, máy in, bàn phím, chu t, máy
quét nh, các giao di n m ng c c b hay m ng di n r ng...B t o thích ng là m t vi
m ch t ng h p (chipset) k t n i gi a các h th ng bus có các t c đ d li u khác nhau.
d) Các thành ph n n i k t h th ng (BUS) cung c p c ch liên l c gi a CPU, b
nh chính và các thành ph n nh p xu t ( vào/ra).
.
B X LÝ
TRUNG TÂM
(CPU)
n v đi u
khi n (CU)
B NH
TRONG
VÀO/RA
(I/O)
n v s h clogic (ALU)
Các thanh ghi
(Registers)
BUS H TH NG
Hình 1.2 C u trúc c a m t h máy tính
H th ng bus bao g m: bus đ a ch , bus d li u và bus đi u khi n. Bus đ a ch và bus d
li u dùng trong vi c chuy n d li u gi a các b ph n trong máy tính. Bus đi u khi n
làm cho s trao đ i thông tin gi a các b ph n đ
c đ ng b . Thông th
ng ng
i ta
phân bi t m t bus h th ng dùng trao đ i thông tin gi a CPU và b nh trong (thông
qua cache), và m t bus vào-ra dùng trao đ i thông tin gi a các b ph n vào-ra và b
nh trong.
Máy tính có th có m t ho c nhi u thành ph n nói trên, ví d nh m t ho c nhi u
CPU. Tr
c đây đa ph n các máy tính ch có m t CPU, nh ng g n đây có s gia t ng
9
Sách h
ng d n h c t p môn h c: KI N TRÚC MÁY TÍNH
s d ng nhi u CPU trong m t h th ng máy đ n. CPU luôn luôn là đ i t
tr ng c n đ
ng quan
c kh o sát vì đây là thành ph n ph c t p nh t c a h th ng. Trong hình
1.2 c ng th hi n c u trúc c a CPU v i các thành ph n chính g m:
n v đi u khi n (CU- Control Unit): đi u khi n ho t đ ng c a CPU và c ng là đi u
khi n ho t đ ng c a máy tính.
n v s h c và logic (ALU – Arithmetic and Logic Unit): th c hi n các ch c n ng
x lý d li u c a máy tính.
T p thanh ghi ( Registers ): cung c p n i l u tr bên trong CPU.
Thành ph n n i k t n i CPU: c ch cung c p kh n ng liên l c gi a đ n v đi u
khi n, ALU và t p thanh ghi.
Trong các thành ph n con nói trên c a CPU, đ n v đi u khi n l i gi vai trò quan tr ng
nh t. S cài đ t đ n v này d n đ n m t khái ni m n n t ng trong ch t o b vi x lý
máy tính.
ó là khái ni m vi l p trình. Hình 1.3 mô t t ch c bên trong m t đ n v
đi u khi n v i ba thành ph n chính g m:
Hình 1.3:
.
n v đi u khi n (CU) c a CPU
10
Sách h
ng d n h c t p môn h c: KI N TRÚC MÁY TÍNH
B l p dãy logic
T p thanh ghi và b gi i mã
B nh đi u khi n
Trong ch
ng 2 chúng ta s tìm hi u sâu h n v Kh i X lý trung tâm (CPU)
11
Sách h
ng d n h c t p môn h c: KI N TRÚC MÁY TÍNH
1.3 L ch s phát tri n c a máy tính
S phát tri n c a máy tính đ
c mô t d a trên s ti n b c a các công ngh ch t o các
linh ki n c b n c a máy tính nh : b x lý, b nh , các ngo i vi,…Ta có th nói máy
tính đi n t s tr i qua b n th h liên ti p. Vi c chuy n t th h tr
đ
c sang th h sau
c đ c tr ng b ng m t s thay đ i c b n v công ngh .
1.3.1 Th h đ u tiên (1945-1958): Máy tính ENIAC (Electronic Numerical Integrator
and Computer) là máy tính đi n t s đ u tiên do Giáo s Mauchly và ng
Eckert t i
i h c Pennsylvania thi t k vào n m 1943 và đ
i h c trò
c hoàn thành vào n m
1946. ây là m t máy tính kh ng l v i th tích dài 20 mét, cao 2,8 mét và r ng vài mét.
ENIAC bao g m: 18.000 đèn đi n t , 1.500 công t c t đ ng, cân n ng 30 t n, và tiêu th
140KW gi . Nó có 20 thanh ghi 10 bit (tính toán trên s th p phân). Có kh n ng th c
hi n 5.000 phép toán c ng trong m t giây. Công vi c l p trình b ng tay b ng cách đ u
n i các đ u c m đi n và dùng các ng t đi n.
Giáo s toán h c John Von Neumann đã đ a ra ý t
(Princeton Institute for Advanced Studies): ch
ng trình đ
ng thi t k máy tính IAS
c l u trong b nh , b đi u
khi n s l y l nh và bi n đ i giá tr c a d li u trong ph n b nh , b làm toán và lu n lý
(ALU: Arithmetic And Logic Unit) đ
c đi u khi n đ tính toán trên d li u nh phân,
đi u khi n ho t đ ng c a các thi t b vào ra.
tính hi n đ i ngày nay. Máy tính này còn đ
ây là m t ý t
ng n n t ng cho các máy
c g i là máy tính Von Neumann.
Vào nh ng n m đ u c a th p niên 50, nh ng máy tính th
đ a ra th tr
ng m i đ u tiên đ
ng: 48 h máy UNIVAC I và 19 h máy IBM 701 đã đ
c
c bán ra.
1.3.2 Th h th hai (1958-1964)
Công ty Bell đã phát minh ra transistor vào n m 1947 và do đó th h th hai c a
máy tính đ
c đ c tr ng b ng s thay th các đèn đi n t b ng các transistor l
Tuy nhiên, đ n cu i th p niên 50, máy tính th
th tr
ng. Kích th
ng m i dùng transistor m i xu t hi n trên
c máy tính gi m, r ti n h n, tiêu t n n ng l
đi m này, m ch in và b nh b ng xuy n t đ
ng c c.
ng ít h n. Vào th i
c dùng. Ngôn ng c p cao xu t hi n (nh
FORTRAN n m 1956, COBOL n m 1959, ALGOL n m 1960) và h đi u hành ki u tu n
12
Sách h
ng d n h c t p môn h c: KI N TRÚC MÁY TÍNH
t (Batch Processing) đ
th nh t đ
c dùng. Trong h đi u hành này, ch
c ch y, xong đ n ch
ng trình c a ng
ng trình c a ng
i dùng
i dùng th hai và c th ti p t c.
1.3.3 Th h th ba (1964-1974)
Th h th ba đ
c đánh d u b ng s xu t hi n c a các m ch k t (m ch tích h p -
IC: Integrated Circuit). Các m ch k t đ
tích h p m t đ
th p (SSI: Small Scale
Integration) có th ch a vài ch c linh ki n và k t đ tích h p m t đ trung bình (MSI:
Medium Scale Integration) ch a hàng tr m linh ki n trên m ch tích h p.
M ch in nhi u l p xu t hi n, b nh bán d n b t đ u thay th b nh b ng xuy n t .
Máy tính đa ch
ng trình và h đi u hành chia th i gian đ
c dùng.
1.3.4 Th h th t (1974- nay)
Th h th t đ
c đánh d u b ng các IC có m t đ tích h p cao (LSI: Large Scale
Integration) có th ch a hàng ngàn linh ki n. Các IC m t đ tích h p r t cao (VLSI: Very
Large Scale Integration) có th ch a h n 10 ngàn linh ki n trên m ch. Hi n nay, các chip
VLSI ch a hàng tri u linh ki n.
V i s xu t hi n c a b vi x lý (microprocessor) ch a c ph n th c hi n và ph n
đi u khi n c a m t b x lý, s phát tri n c a công ngh bán d n các máy vi tính đã đ
c
ch t o và kh i đ u cho các th h máy tính cá nhân.
Các b nh bán d n, b nh cache, b nh
ođ
c dùng r ng rãi.
Các k thu t c i ti n t c đ x lý c a máy tính không ng ng đ
thu t ng d n, k thu t vô h
c phát tri n: k
ng, x lý song song m c đ cao,… Hai thành t u tiêu bi u
v công ngh c a máy tính th h th 4 s đ
c gi i thi u m t cách tóm l
c nh sau:
a) B nh bán d n
Vào kho ng nh ng n m 50 đ n 60 c a th k này, h u h t b nh máy tính đ u
đ
c ch t o t nh ng vòng nh làm b ng v t li u s t t , m i vòng có đ
kho ng 1/16 inch. Các vòng này đ
máy tính. Khi đ
khi đ
c treo trên các l
i
ng kính
trên nh ng màn nh bên trong
c t hóa theo m t chi u, m t vòng (g i là m t lõi) bi u th giá tr 1, còn
c t hóa theo chi u ng
c l i, lõi s đ i di n cho giá tr 0. B nh lõi t ki u này
13
Sách h
ng d n h c t p môn h c: KI N TRÚC MÁY TÍNH
làm vi c khá nhanh. Nó ch c n m t ph n tri u giây đ đ c m t bit l u trong b nh .
Nh ng nó r t đ t ti n, c ng k nh, và s d ng c ch ho t đ ng lo i tr : m t thao tác đ n
gi n nh đ c m t lõi s xóa d li u l u trong lõi đó. Do v y c n ph i cài đ t các m ch
ph c h i d li u ngay khi nó đ
c l y ra ngoài.
N m 1970, Fairchild ch t o ra b nh bán d n có dung l
Chip này có kích th
ng t
ng đ i đ u tiên.
c b ng m t lõi đ n, có th l u 256 bit nh , ho t đ ng không theo
c ch lo i tr và nhanh h n b nh lõi t . Nó ch c n 70 ph n t giây đ đ c ra m t bit
d li u trong b nh . Tuy nhiên giá thành cho m i bit cao h n so v i lõi t .
K t n m 1970, b nh bán d n đã đi qua tám th h : 1K, 4K, 16K, 64K, 256K,
1M, 4M, và gi đây là 16M bit trên m t chip đ n (1K = 210, 1M = 220). M i th h cung
c p kh n ng l u tr nhi u g p b n l n so v i th h tr
c, cùng v i s gi m thi u giá
thành trên m i bit và th i gian truy c p.
b) B vi x lý
Vào n m 1971, hãng Intel cho ra đ i chip 4004, chip đ u tiên có ch a t t c m i
thành ph n c a m t CPU trên m t chip đ n. K nguyên b vi x lý đã đ
c khai sinh t
đó. Chip 4004 có th c ng hai s 4 bit và nhân b ng cách l p l i phép c ng. Theo tiêu
chu n ngày nay, chip 4004 rõ ràng quá đ n gi n, nh ng nó đã đánh d u s b t đ u c a
m t quá trình ti n hóa liên t c v dung l
ng và s c m nh c a các b vi x lý. B
c
chuy n bi n k ti p trong quá trình ti n hóa nói trên là s gi i thi u chip Intel 8008 vào
n m 1972. ây là b vi x lý 8 bit đ u tiên và có đ ph c t p g p đôi chip 4004.
n n m 1974, Intel đ a ra chip 8080, b vi x lý đa d ng đ u tiên đ
c thi t k
đ tr thành CPU c a m t máy vi tính đa d ng. So v i chip 8008, chip 8080 nhanh h n,
có t p ch th phong phú h n và có kh n ng đ nh đ a ch l n h n.
C ng trong cùng th i gian đó, các b vi x lý 16 bit đã b t đ u đ
c phát tri n.
M c dù v y, mãi đ n cu i nh ng n m 70, các b vi x lý 16 bit đa d ng m i xu t hi n
trên th tr
ng. Sau đó đ n n m 1981, c Bell Lab và Hewlett-packard đ u đã phát tri n
14
Sách h
ng d n h c t p môn h c: KI N TRÚC MÁY TÍNH
các b vi x lý đ n chip 32 bit. Trong khi đó, Intel gi i thi u b vi x lý 32 bit c a riêng
mình là chip 80386 vào n m 1985.
1.3.5 Khuynh h
ng hi n t i
Vi c chuy n t th h th t sang th h th 5 còn ch a rõ ràng. Ng
đang đi tiên phong trong các ch
i Nh t đã và
ng trình nghiên c u đ cho ra đ i th h th 5 c a máy
tính,
th h c a nh ng máy tính thông minh, d a trên các ngôn ng trí tu nhân t o nh LISP
và PROLOG,... và nh ng giao di n ng
nghiên c u đã cho ra các s n ph m b
ph m ng
i - máy thông minh.
c đ u và g n đây nh t (2004) là s ra m t s n
i máy thông minh g n gi ng v i con ng
Innovative Mobility: B
n th i đi m này, các
i nh t: ASIMO (Advanced Step
c chân tiên ti n c a đ i m i và chuy n đ ng). V i hàng tr m
nghìn máy móc đi n t t i tân đ t trong c th , ASIMO có th lên/xu ng c u thang m t
cách uy n chuy n, nh n di n ng
m nh l nh c a con ng
i, các c ch hành đ ng, gi ng nói và đáp ng m t s
i. Th m chí, nó có th b t ch
c c đ ng, g i tên ng
i và cung
c p thông tin ngay sau khi b n h i, r t g n g i và thân thi n. Hi n nay có nhi u công ty,
vi n nghiên c u c a Nh t thuê Asimo ti p khách và h
Vi n B o tàng Khoa h c n ng l
ng và
ng d n khách tham quan nh :
i m i qu c gia, hãng IBM Nh t B n, Công ty
đi n l c Tokyo. Hãng Honda b t đ u nghiên c u ASIMO t n m 1986 d a vào nguyên lý
chuy n đ ng b ng hai chân. Cho t i nay, hãng đã ch t o đ
c 50 robot ASIMO.
Các ti n b liên t c v m t đ tích h p trong VLSI đã cho phép th c hi n các
m ch vi x lý ngày càng m nh (8 bit, 16 bit, 32 bit và 64 bit v i vi c xu t hi n các b x
lý RISC n m 1986 và các b x lý siêu vô h
ng n m 1990). Chính các b x lý này
giúp th c hi n các máy tính song song v i t vài b x lý đ n vài ngàn b x lý.
i u
này làm các chuyên gia v ki n trúc máy tính tiên đoán th h th 5 là th h các máy
tính x lý song song.
15
Sách h
ng d n h c t p môn h c: KI N TRÚC MÁY TÍNH
Th
N m
K thu t
S n ph m m i
Hãng s n xu t và máy
h
tính
1
èn đi n t
1946-1957
Máy tính đi n t
tung ra th tr
2
1958-1964
Transistors
IBM 701. UNIVAC
ng
Máy tính r ti n
Burroughs
6500,
NCR,
CDC 6600, Honeywell
3
1964-1974
Mach IC
Máy tính mini
50 hãng m i: DEC PDP11, Data general ,Nova
4
1974-
LSI - VLSI
và tr m làm vi c
nay
5
Nay và
T
ng lai
Máy tính cá nhân Apple II, IBM-PC, Appolo
DN 300, Sun 2
lý song Máy tính đa x lý. Thinking
X
song
a máy tính
Machine
Inc.
Honda, Casio
B ng 1.1: Các th h máy tính
1.4 Ki n trúc von-Neumann
Nh đã đ c p
trên, vi c l p trình trên máy ENIAC là m t công vi c r t t nh t
và t n kém nhi u th i gian. Công vi c này s đ n gi n h n n u ch
bi u di n d
ng trình có th đ
i d ng thích h p cho vi c l u tr trong b nh cùng v i d li u c n x lý.
Khi đó máy tính ch c n l y ch th b ng cách đ c t b nh , ngoài ra ch
đ
c
ng trình có th
c thi t l p hay thay đ i thông qua s ch nh s a các giá tr l u trong m t ph n nào đó
c a b nh .
Ýt
ng này, đ
c bi t đ n v i tên g i "khái ni m ch
do nhà toán h c John von Neumann, m t c
v n c a d
ng trình đ
c l u tr ",
án ENIAC, đ a ra ngày
8/11/1945, trong m t b n đ xu t v m t lo i máy tính m i có tên g i EDVAC
(Electronic Discrete Variable Computer). Máy tính này cho phép nhi u thu t toán khác
nhau có th đ
c ti n hành trong máy tính mà không c n ph i n i dây l i nh máy
ENIAC. Ti p t c v i ý t
ng c a mình, vào n m 1946, von Neuman cùng các đ ng
16
Sách h
ng d n h c t p môn h c: KI N TRÚC MÁY TÍNH
nghi p b t tay vào thi t k m t máy tính m i có ch
ng trình đ
c l u tr v i tên g i
IAS (Institute for Advanced Studies) t i h c vi n nghiên c u cao c p Princeton, M . M c
dù mãi đ n n m 1952 máy IAS m i đ
c hoàn t t, nó v n là mô hình cho t t c các máy
tính đa n ng sau này. C u trúc t ng quát c a máy IAS, nh đ
c minh h a trên hình 2.1,
g m:
a) M t b nh chính đ l u tr d li u và ch
ng trình.
b) M t đ n v s h c – Logic (ALU – Arithmetic and Logic Unit) có kh n ng thao tác
trên d li u nh phân.
c) M t đ n v đi u khi n có nhi m v thông d ch các ch th trong b nh và làm cho
chúng đ
c th c thi.
d) Thi t b nh p/xu t đ
c v n hành b i đ n v đi u khi n.
H u h t các máy tính hi n nay đ u có chung c u trúc và ch c n ng t ng quát nh trên.
Do v y chúng còn có tên g i chung là các máy von Neumann.
nv
S h c
và Logic
B
nh
chính
Thi t b
vào/ra
nv
đi u khi n
ch ng
trình
Hình 2.1 C u trúc c a máy IAS
17
Sách h
ng d n h c t p môn h c: KI N TRÚC MÁY TÍNH
C. CÂU H I ÔN T P
Hãy ch n câu tr l i thích h p nh t ( v i nh ng câu h i tr c nghi m )
1. Ki n trúc máy tính là khái ni m có liên quan đ n
(a) Cài đ t ph n c ng c th
(b) Ý t
ng thi t k
(c) Các thu c tính có nh h
ng tr c ti p đ n vi c th c thi m t ch
ng trình
(d) C (b) và (c) đ u đúng
2. T ch c máy tính là khái ni m có liên quan đ n
(a) Cài đ t ph n c ng c th
(b) Ý t
ng thi t k
(c) Các đ n v v n hành trong máy tính và s k t n i gi a chúng
(d) C (a) và (c) đ u đúng
3. Khi xem xét đ n vi c m t máy tính có trang b phép toán nhân hay không, chúng ta
đang th o lu n trên quan đi m
(a) T ch c máy tính
(b) Ki n trúc máy tính
(c) Ph n c ng máy tính
(d) Ph n m m máy tính
4. T n m 1946 đ n nay v i s phát tri n c a ngành công nghi p máy tính, hai y u t
ki n trúc máy tính và t ch c máy tính
(a) Luôn luôn tách bi t
(b) K t h p l n nhau
(c) Luôn luôn đ
c phân bi t rõ ràng
(d) C (b) và (c) đ u đúng
18
Sách h
ng d n h c t p môn h c: KI N TRÚC MÁY TÍNH
5. Tính t
đ n
ng thích ph n m m, khi xét trên quan đi m ki n trúc máy tính, mu n đ c p
(a) Kh n ng s d ng ph n m m c trên máy m i
(b) Kh n ng s d ng ph n m m m i trên máy c
(c) Kh n ng s d ng ph n m m c trên máy m i thu c cùng ki n trúc v i máy
c
(d) Kh n ng s d ng ph n m m m i trên máy c thu c cùng ki n trúc v i máy
m i
6. D a vào tiêu chu n nào ng
i ta phân chia máy tính thành các th h ?
7. Trình bày các đ c tr ng c b n c a t ng th h máy tính
8. Xu h
ng phát tri n c a máy tính hi n nay là gì?
9. Trong khái ni m "ch
ch th t
ng trình đ
c l u tr " do von Neumann đ a ra, máy tính l y
(a) B nh
(b) Vi c đóng/m các công t c đi n do ng
(c)
i v n hành máy th c hi n
a c ng
(d) Ch
ng trình
10. Khái ni m "ch
ng trình đ
c l u tr " cho phép
(a) Nhi u thu t toán có th đ
dây l i
(b) Ch
nh
ng trình có th đ
c th c hi n bên trong máy mà không c n ph i n i
c thay đ i tr c ti p thông qua các giá tr l u trong b
(c) Gi m th i gian th c thi ch
ng trình
(d) C (a), (b) và (c) đ u đúng
19
Sách h
ng d n h c t p môn h c: KI N TRÚC MÁY TÍNH
CH
NG II: KH I X
LÝ TRUNG TÂM (CPU)
A. TÓM T T N I DUNG CHÍNH C A CH
NG:
- Các thành ph n ch c n ng chính c a kh i x lý trung tâm (B vi x lý CPU): Tr
h t là h th ng các thanh ghi g m : Thanh ghi tích l y A; b đ m ch
c
ng trình PC;
Thanh ghi tr ng thái hay g i là thanh ghi c FR; Con tr ng n x p SP; Các thanh ghi đa
n ng ( B,C,D,E,H,L); Thanh ghi đ a ch b nh và logic MAR; Thanh ghi l nh IR và
các thanh ghi d li u t m th i.
Thành ph n ti p theo c a CPU là: Kh i đi u khi n hay còn g i là đ n v đi u khi n
(CU): có nhi m v chuy n các tín hi u đi u khi n ra ngoài CPU nh m tác đ ng vi c
trao đ i d li u v i b nh và thi t b vào/ra đ ng th i nó c ng đ a ra các thanh ghi và
tác đ ng vào ALU th c hi n các nhi m v c th .
M t trong các thành ph n ch c n ng quan tr ng c a CPU là kh i logic và s h c
(ALU): bao g m các B c ng, b tr , b d ch, các b so sánh, B bù 2, B t ng, B
gi m, Ho c, Và, C ng Module 2,
o, Ho c đ o... nh m th c hi n các phép tính logic
và s h c
- Sinh viên đã có ki n th c t
Do v y ch
ng đ i sâu v k thu t vi x lý, trong môn h c Vi x lý.
ng này ch nh c l i m t s ki n th c c b n nh t v c u trúc ph n c ng c a
CPU liên quan đ n ki n trúc máy tính nói chung mà không đ c p đ n ph n l p trình vi
x lý.
B. N I DUNG
2.1 Các thành ph n ch c n ng c a CPU
Hình 2.1 là m t c u trúc t ng quan bên trong m t kh i x lý trung tâm c a m t máy
tính có ki n trúc Von Neumann.
20
Sách h
ng d n h c t p môn h c: KI N TRÚC MÁY TÍNH
n v đi u
khi n (CU)
Thanh ghi l nh (IR)
Thanh ghi
tích l y (A)
Bus
Thanh ghi
t m th i (Y)
bên
B đ m ch ng
trình (PC)
Các
đ ng
đ a ch
trong
c a
ALU
CPU
Thanh ghi đ a ch
b nh (MAR)
Thanh ghi
t m th i Z
Các
đ ng
d li u
Thanh ghi
nh đ m
Hình 2.1 C u trúc bên trong c a kh i x lý trung tâm (CPU)
Kh i x lý trung tâm (CPU) c a máy tính th
ng g m có các thanh ghi, đ n v
s h c- logic (ALU) và đ n v đi u khi n (CU). Các thành ph n bên trong CPU k t n i
thông tin v i nhau thông qua bus trong. Các th h vi x lý 8-bít c a Intel, Motorola,
Zilog đã m t th i làm m u đ tìm hi u c u trúc và ho t đ ng chung c a các lo i vi x
lý. Các th h vi x lý 16-bít và 32-bít sau này v n k th a nh ng ch c n ng c b n
nh t trong c u trúc c a vi x lý 8-bít. Các ch
ng trình vi t cho th h vi x lý 8-bít
v n có th ch y trên các h th ng vi x lý 16 –bít và 32-bit c a cùng m t hãng s n xu t.
S đ kh i không mô t chi ti t ph n c ng mà ch mô t các ch c n ng logic đ
x lý và đi u khi n d li u. Nó c ng ch ra t ng ch c n ng logic k t n i v i các ch c
n ng khác nh th nào.
2.2 Các thanh ghi c a CPU
Các thanh ghi bên trong vi x lý có nh ng ch c n ng khác nhau. M t s thanh
ghi có th dùng cho nhi u m c đích, đa n ng. Chúng đ
21
c g i là nh ng thanh ghi đa
Sách h
ng d n h c t p môn h c: KI N TRÚC MÁY TÍNH
n ng (general-purpose). M t s khác l i có nh ng nhi m v riêng. Trong h u h t các
lo i vi x lý đ u có các thanh ghi c b n, đó là: thanh ghi tích lu (A), con tr ng n
x p (SP), thanh ghi tr ng thái (SR), thanh ghi đ a ch b nh (MAR: Memory Address
Register), thanh ghi l nh (IR), b đ m ch
ng trình (PC), các thanh ghi đa n ng, và các
thanh ghi t m th i. Không ph i t t c các thanh ghi bên trong vi x lý đ
trong s đ t ng quát, b i vì có m t s thanh ghi ng
vào đ
c. T t c nh ng thanh ghi mà ng
đ cđ
c) th
ng đ
c trình bày
i l p trình không th can thi p
i l p trình có th can thi p vào đ
c (ghi/
c trình bày trong mô hình l p trình c a vi x lý.
2.2.1 Thanh ghi tích lu A (Accumulator)
Thanh ghi tích lu A tham gia vào ph n l n các phép tính. Nó c t gi toán h ng
(operand) ho c các k t qu phép tính c a ALU. Các phép tính s h c và logic ph i s
d ng ALU và thanh ghi tích lu A. Vì v y, thanh ghi tích lu A là m t thanh ghi chính
c a vi x lý, và là m t thành ph n trong mô hình l p trình c a vi x lý.
dài t x lý
c a vi x lý ph thu c vào đ dài c a thanh ghi tích lu . Cho nên, thanh ghi tích lu
c a các lo i vi x
lý 8-bit có đ dài 8-bit (1 byte). Tuy nhiên,
m t s lo i vi x lý có
th có nh ng thanh ghi tích lu có ghi tích lu đ dài kép. Th m chí m t s lo i vi x lý
còn có m t s thanh ghi tích lu , ví d m t thanh ghi tích lu A, thanh ghi tích lu khác
g i là B. Trong tr
ng h p này ph i có l nh ch cho b vi x lý chuy n k t qu tính c a
ALU vào thanh ghi tích lu A, và m t l nh chuy n d li u vào thanh ghi tích lu B.
T
ng t , có l nh xoá thanh ghi tích lu A và l nh xoá thanh ghi tích lu B.
Ví d m t phép c ng hai toán h ng: C = A + B đ
c thanh ghi tích lu A th c
hi n nh sau :
1. Toán h ng A đ
c đ a vào thanh ghi tích lu A;
2. Toán h ng B t m t ng n nh bên ngoài ( h c t m t thanh ghi khác) đ
c
c ng v i toán h ng ch a trong thanh ghi tích lu A;
3. K t qu phép công C = A + B n m l i thanh ghi tích lu A (toán h ng A b k t
qu C thay th trong thanh ghi tích lu A (toán h ng A b kêtá qu C thay th trong
thanh ghi tích lu A). Nh v y, v i đa s các phép tính s h c, thanh ghi tích lu ban
đ u ch a m t toán h ng và sau đó ch a k t qu phép tính. K t qu trong thanh ghi tích
22
Sách h
ng d n h c t p môn h c: KI N TRÚC MÁY TÍNH
lu A có th đ
c chuy n đ n thanh ghi khác ho c đ a ra m t ng n nh
ngoài vi x lý, ho c đ a ra m t ng n nh
b nh bên
b nh bên ngoài vi x lý, ho c ra m t c ng
vào/ ra d li u nào đó.
Nh ng l nh vào/ra (I/O) v i ngo i vi th
ng là nh ng l nh trao đ i byte d li u
gi a thanh ghi tích lu A v i các thanh ghi c a đi u khi n ngo i vi thông qua bus h
th ng và bus duq li u bên trong c a x lý. Ví d , l nh :IN port, là l nh đ c d li u t
c ng (port) c a ngo i vi (đ a ch port) vào thanh ghi tích lu A. và OUT port- đ c n i
dung c a thanh ghi tích lu A ra c ng ngo i vi.
2.2.2 B đ m ch
ng trình (PC: Program Counter)
B đ m ch
lý. Ch
ng trình là m t trong nh ng thanh ghi quan tr ng nh t trong vi x
ng trình là t p h p liên t c các ch d n (instructions) l u gi trong b nh bên
ngoài vi x lý. M i m t ch d n (l nh máy) trong ch
hi n theo m t th t mong mu n c a ng
ng trình, b đ m ch
i l p trình. B đ m ch
c vi x lý th c
ng trình có nhi m v
ng trình theo mong mu n đó. Tromg ti n trình th c
gín gi ti n trình th c hi n ch
hi n ch
ng trình ph i đ
ng trình luôn ch a đ a ch ng n nh l u gi ch d n ti p
theo mà vi x lý ph i th c hi n.
B đ m ch
ng trình th
ng có đ dài l n h n đ dài t mà vi x lý th c hi n.
i v i vi x lý 8-bit, b đ m ch
ng trình có đ dài 16-bit. Vì nó dùng đ ch a đ a
ch ng n nh nên không gian mà có th đ a ch đ
nh v i dung l
b đ m ch
ch
c là 64 kbyte t 8-bit, t c là m t b
ng 64 Kbyte = 216 (hay 65.536). Ch có m t s ít ch d n làm vi c v i
ng trình. Tr
ng trình ph i đ
c khi vi x lý có th th c hi n m t ch
ng trình, b đ m
c n p m t giá tr . Giá tr này là đ a ch c a ng n nh ch a l nh
đ u tiên ph i th c hi n trong ch
ng trình. Th
ng thì giá tr này là toàn các bit 0, hay
toàn các bit 1. Toàn các bit 0 ngh a là đ a ch ng n nh đ u tiên c a b nh (0000h).
Toàn các bit 1 ngh a là đ a ch c a ng n nh cu i cùng c a b nh (FFFFh). Trong
ng n nh này ph i ch a n i dung c a l nh đ u tiên c a ch
ng n nh còn l i c a ch
trúc ch
ng trình. T t c nh ng
ng trình có th ch a l nh hay d li u là tu thu c vào c u
ng trình.
23