KI N TRÚC MÁY TÍNH... làm vi c khá nhanh... Bít 4: I: Intermediate carry: nh trung gian.
Trang 1KI 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
Trang 2
KI N TRÚC MÁY TÍNH
Trang 3L I NÓI U
KI N TRÚC MÁY TÍNH là môn h c n m trong ch ng trình đào t o đ i h c ngành Công ngh thông tin và ngành 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 đ i đa d ng v ch ng lo i: kh n ng v n hành,
ng d ng, kích th 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
Trang 4- 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
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
Trang 5CH 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 s d ng…
- C u trúc c a máy tính: Ph 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
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 ng tr c ti p đ n vi c
Trang 6th 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 đ
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 đ c trình bày các ch 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
đ t ng đ i c a c hai cách ti p c n, giá c và kích th c v t lý
Trang 7K 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 c ti n c a công ngh đây chúng ta có th l y
ví d tr 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
Trang 81.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 đ c
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
Trang 9a) 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à
* 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 đ c chuy n t môi tr ng ngoài
vào l u tr trong máy (quá trình đ c d li u) và ng c l i (quá trình ghi d li u)
Trang 10* 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 đ c xem nh m t th c th t ng tác theo
m t cách th c nào đó v i môi tr ng bên ngoài M t cách t ng quát, các m i quan h
c a nó v i môi tr ng bên ngoài có th phân lo i thành các thi t b ngo i vi hay đ ng liên l c.Trong hình 1.2 máy tính đ 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
Trang 11xu 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
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
B NH TRONG
VÀO/RA
(I/O)
B X LÝ TRUNG TÂM (CPU)
n v đi u khi n (CU)
n v s h logic (ALU) Các thanh ghi
c-(Registers)
Trang 12s d ng nhi u CPU trong m t h th ng máy đ n CPU luôn luôn là đ i t ng quan
tr ng c n đ 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:
Trang 141.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 i h c trò Eckert t i i h c Pennsylvania thi t k vào n m 1943 và đ 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 ng thi t k máy tính IAS (Princeton Institute for Advanced Studies): ch ng trình đ 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 ây là m t ý t ng n n t ng cho các máy tính hi n đ i ngày nay Máy tính này còn đ 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 ng m i đ u tiên đ c
đ a ra th tr ng: 48 h máy UNIVAC I và 19 h máy IBM 701 đã đ 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 ng c c Tuy nhiên, đ n cu i th p niên 50, máy tính th ng m i dùng transistor m i xu t hi n trên
th tr ng Kích th c máy tính gi m, r ti n h n, tiêu t n n ng l ng ít h n Vào th i
đi m này, m ch in và b nh b ng xuy n t đ c dùng Ngôn ng c p cao xu t hi n (nh
Trang 15M 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
khi đ 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
Trang 16là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 ng t ng đ i đ u tiên Chip này có kích th 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
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
Trang 17th 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 i - máy thông minh n th i đi m này, các nghiên c u đã cho ra các s n ph m b c đ u và g n đây nh t (2004) là s ra m t s n
ph m ng i máy thông minh g n gi ng v i con ng i nh t: ASIMO (Advanced Step Innovative Mobility: B 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 i, các c ch hành đ ng, gi ng nói và đáp ng m t s
m nh l nh c a con ng 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 ng d n khách tham quan nh :
Vi n B o tàng Khoa h c n ng l ng và 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
Trang 183 1964-1974 Mach IC Máy tính mini 50 hãng m i: DEC
PDP-11, Data general ,Nova
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 ng trình có th đ c
bi u di n d 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 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 ng trình đ c l u tr ",
do nhà toán h c John von Neumann, m t c v n c a d á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
Trang 19d) 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
Hình 2.1 C u trúc c a máy IAS
B
nh chính
Thi t b vào/ra
Trang 20C 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
Trang 218 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 ng trình đ c l u tr " do von Neumann đ a ra, máy tính l y
Trang 22CH 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 c
h t là h th ng các thanh ghi g m : Thanh ghi tích l y A; b đ m ch 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
Trang 23Hì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 đ c g i là nh ng thanh ghi đa
n v đi u khi n (CU)
Thanh ghi l nh (IR)
B đ m ch ng trình (PC)
Thanh ghi tích l y (A)
Trang 24n 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ý đ c trình bày trong s đ t ng quát, b i vì có m t s thanh ghi ng i l p trình không th can thi p vào đ c T t c nh ng thanh ghi mà ng i l p trình có th can thi p vào đ c (ghi/
đ c đ c) th ng đ 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
đa s các phép tính s h c, thanh ghi tích lu ban
Trang 25lu A có th đ c chuy n đ n thanh ghi khác ho c đ a ra m t ng n nh b nh bên ngoài vi x lý, ho c đ a ra m t ng n nh 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 ng trình là m t trong nh ng thanh ghi quan tr ng nh t trong vi x
lý Ch 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 ng trình ph i đ c vi x lý th c
hi n theo m t th t mong mu n c a ng i l p trình B đ m ch ng trình có nhi m v gín gi ti n trình th c hi n ch ng trình theo mong mu n đó Tromg ti n trình th c
hi n ch ng trình, b đ m ch 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 đ c là 64 kbyte t 8-bit, t c là m t b
nh v i dung l ng 64 Kbyte = 216 (hay 65.536) Ch có m t s ít ch d n làm vi c v i
b đ m ch ng trình Tr c khi vi x lý có th th c hi n m t ch ng trình, b đ m
ch ng trình ph i đ 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 trình T t c nh ng
ng n nh còn l i c a ch ng trình có th ch a l nh hay d li u là tu thu c vào c u trúc ch ng trình
Trang 26a ch c a ng n nh ch a l nh đ u tiên c a ch ng trình đ c chuy n t b
đ m ch ng trình đ n thanh ghi đ a ch b nh Thanh ghi đ a ch b nh c ng ph i có
đ dài 16-bit Lúc này, n i dung c a b đ m ch ng trình và thanh ghi đ a ch b nh
là gi ng nhau Qua 16-bit bú đ a ch thanh ghi đ a ch b nh gi đ a ch ng n nh ch a
l nh đ u tiên c a ch ng trình ra các m ch nh k t n i trên bus đ a ch Sau đó b nh
g i lên bus d li u 8-bit n i duing c a ng n nh đ c ch n, đó chính là n i dung c a
mã lênh đ u tiên c a ch ng trình Thông qua bus d li u 8-bit c a h th ng và bus d
li u 8-bit ghi l nh (IR) Thanh ghi l nh c ng ph i có đ dài 8-bit đ ch a đ n i dung
c a mã l nh, ngay sau khi có n i dung c a mã l nh, kh i logic gi i mã l nh th c hi n
gi i mã l nh K t qu c a gi i mã l nh đ c kh i logic đi u khi n t o ra các tín hi u
đi u khi n giai đo n th c hi n l nh
Quá trình đ c l nh t b nh vào thanh ghi trong vi x lý l nh g i là giai đo n
đ c l nh (Instruction fetch) Ti p sau là các giai đo n gi i mã l nh, th c hi n l nh M t khi l nh đ u tiên đã đ c đ c t b nh vào thanh ghi l nh và vi x lý b t đ u th c
hi n ch d n đ u tiên, vi x t đ ng t ng n i dung b đ m ch ng trình lên (Increment), nh v y b đ m ch ng trình có giá tr m i là đ a ch c a ng n nh ch a
l nh ti p theo ph i th c hi n (đ a ch c a l nh ti p theo) ây là đi u quan tr ng c n ghi
nh , b i vì s có tr ng h p, ví d , trong ch ng trình g p ph i m t l nh g i (CALL)
t i m t ch ng trình con, khi đó l nh ti p theo ph i th c hi n là l nh đ u tiên trong
ch ng trình con, t c là b đ m ch ng trình ph i ch a đ a ch c a ng n nh l u n i dung c a l nh đ u tiên c a ch ng trình con Khi vi x lý b t đ u th c hi n l nh cu i cùng c a ch ng trình con Khi vi x lý b t đ u th c hi n l nh cu i cùng c a ch ng trình con thì b đ m ch ng trình l i ph i có đ a ch c a ng n nh ch a l nh ti p theo
l nh CALL trong th t s p x p c a ch ng trình chính l u trong b nh Không
nh ng th , các l nh nh y vô đi u ki n (JMP), có đi u ki n c ng làm thay đ i th t
th c hi n tu n t các l nh s p x p trong ch gnt rình đ c l u trong b nh
2.2.3 Thanh ghi tr ng thái
Trang 27Thanh ghi tr ng thái c a vi x lý còn đ c g i là thanh ghi c (flag register), và dùng đ ghi k t qu c a các l nh ki m tra, so sánh khi th c hi n ch ng trình M t s phép tính th c hi n v i ALU và v i các thanh ghi có th thi t l p ho c xoá m t s bít trong thanh ghi tr ng thái Các bít trong thanh ghi tr ng thái còn g i các bít c M i m t bít c a nó có m t ý ngh a và b tác đ ng tu theo l nh máy th c hi n S d ng các bít
c a thanh ghi tr ng thái có th th c hi n r nhánh ch ng trình b ng các l nh nh y có
đi u ki n (nh y theo giá tr các bít c ), và b đ m ch ng trình ph i đ c n p đ a ch
c a đích nh y t i S r nhánh đ c th c hi n nêu giá tr c tho mãn Ch c n ng c a bít trong thanh ghi tr ng thái đ c gi i thích trong hình 2.2
Z N C I IF O P 1 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Bit 0: “1” logic 1 không dùng
Bit 1:P: Party: ch n l P=1 khi k t qu c a phép toán đ l i m t thanh ghi ch ra có s
các bit =1 là l
Bit 2: O: Overflow: tràn.O=1 khi c nh s h c và nh d u xu t hi n trong các phép
toán v i s bù 2 ( khi phép tính v i s nhj phân có tràn )
Bit 3:IF: Interrupt Flag: c ng t IF=1 khi ch ng trình quy t đ nh cho phép ch c n ng
ng t IF=0 khi ch ng trình không cho phép ch c n ng ng t
Bít 4: I: Intermediate carry: nh trung gian I=1 khi c ng 2 s 4 bit t o ra nh cho bit
th 5 Bít này th ng g i là nh m t n a và dung khi chuy n đ i các s BCD thành s nh phân
Bit 5:C:Cary bit: bit nh : C=1 khi 2 s nh phân c ng v i nhau t o ra nh t bit th 8
ho c có vay m n ( borrow) khi m t s nh h n tr m t s l n h n
Bit 6:N: Negativ: âm N=1 ( bit cao nh t) c a giá tr là s âm trong phép bù 2
Bit 7:Z: Zero bit Z=1 khi phép tính gây ratats c các bit c a thanh ghi k t qu b ng 0
Hình 2.2 Thanh ghi tr ng thái c a Vi x lý
Trang 28Có th l y ví d phép c ng hai s 8 bít nh h ng đ n giá tr các bít c nh th nào: + Tr ng h p 1: a = 1110 1110, b = 0111 0000
0110 1110
1 ä + 0111 0000
0101 1110
Nh 8-bit k t qu > 0 Giá tr nh 1 c a phép tính t l n c ng các bít th 8 c a hai s thi t l p bít C = 1 c a thanh ghi tr ng thái
Giá tr nh 1 c a phép tính t l n c ng các bít th 8 c a hai s thi t l p bít C = 1, đ ng
th i k t qu c ng là s âm thi t l p bít N = 1 c a thanh ghi tr ng thái
b ng 1, đ ng th i 8 bít k t qu b ng 0 thi t l p bít Z =1 c a thanh ghi tr ng thái
Trang 29Trong t p l nh c a vi x lý các l nh đ u đ c mô t v i tác đ ng đ n các giá tr c a các thanh ghi tr ng thái, nh đó ng i l p ch ng trình có th th c hi n ki m tra các giá tr các bít tr ng thái và r nhánh ch ng trình N i dung c a thanh ghi tr ng thái có th
đ c đ c ra nh ch ng trình thông qua bus d li u bên trong, nh ng nó không th
nh n d li u t bus d li u bên trong, do đó, thanh ghi tr ng thái ch có th đ c đ c
mà không ghi b i l p trình
2.2.4 Con tr ng n x p SP (Stack Pointer)
Ng n x p đó là b nh có c ch truy c p theo ki u LIFO (last in first out), ngh a là byte d li u nào ghi vào ng n x p cu i cùng thì s đ c đ c ra đ u tiên Ng n x p có
th là m t vùng nào đó c a b nh chính, hay là m t m ng thanh ghi riêng bi t Nó làm nhi m v l u gi nh ng thông tin ph i dùng đi dùng l i nhi u l n trong quá trình th c
hi n ch ng trình, đ c bi t là khi có nhi u ch ng trình con
Gi ng nh b đ m ch ng trình con tr ng n x p ph i có đ dài đ đ ch a giá tr
đ a ch c a m t ng n nh trong b nh Trong vi x lý 16 bit nó có đ dài 16 bít N i dung c a con tr ng n x p là đ a ch tr đ n vùng nh ti p theo Ng n x p luôn đ c truy c p t đ nh (TOP) Trong h u h t các lo i vi x lý, con tr ng n x p gi m đ a ch
ti p theo th p h n sau khi nó đ c s d ng i u này cho phép ng i l p trình xây
d ng ng n x p t đ nh xu ng đáy trong b nh Các l nh thao tác v i ng n x p là các
l nh hai byte Có ngh a là n i dung c a con tr ng n x p gi m đi hai sau m i l n s
d ng : (SP-1), (SP-2) N i dung c a con tr ng n x p đ c ng i l p trình kh i t o ban
đ u Quá trình g i là kh i t o con tr ng n x p N i dung ban đ u c a con tr ng n x p luôn tr đ n đ nh ng n x p N u không kh i t o con tr ng n x p thì ng n x p có th
b t đ u m t vùng b t k trong b nh chính Nh ng ng n x p không đ c kh i t o ban đ u có th gây ra s đè lên nh ng vùng d li u quan tr ng, ho c ghi lên chính
ch ng trình, ho c ghi vào vùng không thu c RAM Trong nh ng tr ng h p nh v y
có th làm h ng n i dung c a ng n x p, làm h ng ch ng trình th c hi n
Các l nh c t gi d li u vào ng n x p nh : CALL (g i t i ch ng trình con), PUSH (đ y d li u vào ng n x p), RST p (yêu c u ng t) kéo theo s gi m n i dung c a con
tr ng n x p Các l nh ph c h i d li u c t gi trong ng n x p nh : RET (tr v t
Trang 30ch ng trình con), POP (ph c h i t ng n x p) kéo theo s t ng n i dung con tr ng n
x p (SP+1) Khi kh i đ ng h th ng máy tính, con tr ng n x p luôn đ c kh i t o v
đ a ch đ nh c a ng n x p
2.2.5 Các thanh ghi đa n ng
Vi x lý 8 bít có 6 thanh ghi đa n ng (B, C, D, E, H, L) C ng gi ng nh thanh ghi tích l y, đây là nh ng thanh ghi 8 bít Các lo i vi x lý khác nhau có th có nhi u thanh ghi đa n ng h n, nhi u ng d ng h n Các thanh ghi đa n ng có th đ c s d ng cho nhi u m c đích và nhi u l nh s d ng các thanh ghi này: ch a các toán h ng đ th c
hi n các phép tính s h c, logic, d ch… Có th th c hi n các l nh x lý các bít trong
t ng thanh ghi đa n ng Các thanh ghi đa n ng có th ghép l i thành t ng đôi Ví d , các c p thanh ghi BC, DE và HL có ch c n ng th ng nh t: chúng có th đ c thao tác
nh các thanh ghi 16 bit riêng bi t i u này cho phép th c hi n các l nh v i các d
li u 16 bít C p thanh ghi HL có th đ c dùng đ ch a đ a ch ng n nh , và n i dung
c a HL có th đ c t ng lên 1 (increment) ho c gi m đi 1 (deincrement) đ tr t i ng n
nh ti p theo
2.2.6 Thanh ghi đ a ch b nh và logic
Thanh ghi đ a ch b nh (MAR – Memmory Address Register) có n i dung là đ a
ch ng n nh mà trong ng n nh đó ch a l nh hay d li u mà vi x lý c n đ n ho c
ph i ghi d li u vào đó Vì là đ a ch b nh nên thanh ghi đ a ch b nh ph i có đ dài
16 bít Các đ ng ra c a thanh ghi đ a ch b nh đ c đi u khi n n i v i bus đ a ch
16 bít c a h th ng, qua đó giá tr n i dung c a thanh ghi đ c d n đ n các m ch logic
gi i mã ch n đ a ch ng n nh c a b nh hay các c ng vào/ra k t nói v i các thi t b ngo i vi Logic gi i mã ch n đ a ch b nh và các c ng vào/ra k t n i v i các thi t b ngo i vi Logic gi i mã ch n đ a ch b nh và các c ng vào/ra có th khác nhau tùy thu c vào lo in vi x lý, b nh và các thi t b ngo i vi k t n i
Trong chu k đ c l nh (instruction fetch), m t l nh máy đ c đ c t b nh N i dung c a MAR và n i dung c a PC lúc này là nh nhau Ngh a là, MAR tr t i nh n
đ u tiên c a ch ng trình đang đ c đ c t b nh M t khi l nh đ c
Trang 31này n i dung c a MAR không t ng Sau khi gi i mã l nh xong, b t đ u chu k th c
hi n l nh Trong chu k th c hi n l nh n i dung c a thanh ghi đ a ch b nh ph thu c
l nh đang th c hi n M t s l nh không c n t i đ a ch ng n nh ch dùng m t l n cho
đ c l nh Trong h u h t các h vi x lý 8 bít, MAR có đ dài 16 bít Ph thu c vào các
lo i vi x lý, nó có th có đ dài: 16, 32, 64 bít
MAR 16 bit có th chia thành hai byte: byte cao và byte th p, khi k t n i đ c l p v i
8 bít d li u bên trong có th nh n 8 bit d li u đ c l p MAR có th nh n d li u t
m t s ngu n Ph n l n các h vi x lý có các l nh n p MAR t PC, t các thanh ghi
đa n ng, t …ho c t b nh Có m t s l nh cho phép thi t l p giá tr m i cho MAR: giá tr m i này đ c tính v i phép c ng (ho c tr ) n i dung c a PC v i m t s nguyên
bù thêm (offset) ây khái ni m đánh đ a ch b nh có bù thêm (offset addressing)
2.2.7 Thanh ghi l nh IR (Instruction register)
Thanh IR ch a l nh đang th c hi n Trong chu đ c l nh (instruction cycle) t b
nh , l nh đ c n p vào IR thông qua bus d li u trong IR nh là b đ m duy trì n i dung l nh và đ u ra c a thanh ghi l nh đ a t i b gi i mã l nh (instruction decoder) đ
t o ra chu i các tín hi u đi u khi n th c hi n l nh dài c a IR ph thu c vào t ng
b vi x lý, trong m t s lo i vi x lý, đ dài c a nó b ng đ dài c a t x lý C ng có
th d a vào s l ng l nh c a t p l nh đoán đ c đ dài thanh ghi l nh, vì 2N
= s
l ng t i đa các l nh (maximal number of instruction), trong đó N = s bít c a thanh ghi l nh ôi khi đ dài c a IR ch ng n b ng 3 đ n 4 bít
2.2.8 Các thanh ghi d li u t m th i (Temporary data register)
ALU không có b đ m, do đó khi tính toán, các d li u ph i đ c l y t ho c đ a
tr l i bus d li u trong theo th i đi m nh p nào đó Nh ng vi c này, n u thi u thanh ghi d li u t m th i thì không th th c hi n Ngoài ra trong quá trình x lý c n s n
đ nh d li u trong th i gian đ ng n đ đ cho ALU th c hi n đ c xong phép tính Có hai thanh ghi d li u t m th i hai c ng IN c a ALU cho phép ALU th c hi n các phép tính v i hai t d li u 8 bít
2.3 Kh i đi u khi n ( Control Unit)
Kh i đi u khi n (CU) th c hi n:
Trang 321 a ra ngoài CPU các tín hi u đi u khi n đ tác đ ng đ n các trao đ i d li u
v i b nh và vào/ra
2 a ra các thành ghi và tác đ ng ALU th c hi n nhi m v c th
Kh i đi u khi n th c hi n nh ng tác đ ng này nh :
1 Di n gi i đ c (gi i mã) các mã l nh (Op-codes);
2 nh tu n t các vi thao tác;
3 Th c hi n các vi thao tác;
4 Ra các quy t đ nh d a trên các c tr ng thái c a ALU
Nh v y, đ n v đi u khi n có các đ u vào và đ u ra nh hình 2.3
N u có m t l nh c ng n i dung thanh ghi tích lu A v i n i dung m t ng n nh
có đ a ch là 107Ah; ADD A, 107 Ah thì quá trình di n ra trong CPU nh sau:
Hình 2.3 Các đ u vào và ra c a đ n v đi u khi n
Cho r ng l nh ADD A, 107Ah đã đ c đ c t b v CPU Khi đó các thao tác ti p theo
Các tín hi u
đi u khi n trong CPU
Các c
tr ng thái
c a ALU
Trang 33Quá trình này đ pc đi u khi m và đ nh th i nh đ n v đi u khi n c a CPU
B vi x c ng là m t CPU c a m t máy vi tính, nó c ng có c u trúc bên trong
v i đ y đ các kh i ch c n ng c a m t CPU
2.4 Kh i Logic và s h c (ALU)
n v ALU là m t trong nh ng thành ph n chính trong vi x lý ALU ch a các
kh i logic th c hi n các phép tính s h c và logic Các kh i này có tên g i t ng ng
nh : b c ng (Adder), b tr (Subtractor), b d ch (Shifter), các so sánh (=, <, >), bù 2 (2s Complementer), t ng (Inerementer), gi m (Decrementer), ho c (OR), và (AND),
c ng module 2 (XOR), đ o (NOT), ho c đ o (NOR),… (hình 2.4)
ALU c a đa s các lo i vi x có th th c hi n các ch c n ng sau:
ADD (c ng) 2s Complement (bù nh phân)
AND (Và logic) Shift Lefl (d ch trái)
Phép nhân và chia s h c đ c th c hi n nh k t h p các phép c ng, tr , d ch trái và
d ch ph i
Trang 34ALU có hai c ng vào (IN) và m t c ng ra (OUT) Các c ng IN đ nh n t d
li u vào ALU C ng OUT đ l y k t qu x lý d li u c a ALU ra ngoài Các c ng IN
đ c nh đ m b ng các thanh ghi t m th i 1 và 2 Nh ng thanh ghi này làm nhi m v
nh n d li u t các n i khác nhau bên trong b vi x lý thông qua bus d li u bên trong
và l u gi t m th i d li u cho hai c ng IN trong quá trình x lý d li u trong ALU
T ng t , c ng OUT k t n i v i bus d li u bên trong, do đó k t qu phép toán có th
=
B c ng logic
Hình 2.4 Các kh i logic bên trong ALU
Trang 35C CÂU H I ÔN T P
1 S đ c u trúc bên trong c a kh i x lý trung tâm (CPU) ?
2 Ch c n ng nào sau đây không ph i là ch c n ng c a ALU:
Trang 36(a) K t n i ALU v i Bus d li u trong c a CPU
(b) K t n i thanh ghi v i thanh ghi t ng
(d) Luôn luôn ( a,b,c)
10 dài c a thanh ghi l nh ph thu c:
(a) Ki n trúc c a CPU
(b) Thi t k CPU 8 bit hay 16 bit
(c) Kích th c c a b nh đ c đánh đ a ch
(d) T c đ CPU
Trang 37CH NG 3: T P L NH MÁY TÍNH
A TÓM T T N I DUNG CHÍNH C A CH NG:
- Sinh viên c n hi u rõ: nh ngh a t p l nh máy tính Chu trình 5 giai đo n th c hi n
m t l nh mã máy: c l nh; Gi i mã l nh; Thi hành l nh; Thâm nh p b nh trong
ho c nh y và cu i cùng là L u tr u k t qu
- M t s d ng l nh thông d ng đ c gi i thi u trong ch ng này: Nhóm l nh gán giá
tr nh : l nh b nh , l nh tính toán s h c, l nh logic; các l nh d ch chuy n s h c ho c logic, l nh quay vòng L nh thâm nh p b nh ng n x p Các th t c
- Các d ng toán h ng: Có 4 d ng toán h ng đ c dùng trong h th ng : D ng đ a ch ,
D ng s : s nguyên, d u ph y đ ng; D ng chu i ký t : ASCII, EBIDEC… và D ng d
x lý ch th , bao g m hai b c: CPU đ c ch th t b nh và th c thi ch th đó Vi c
th c thi ch ng trình là s l p đi l p l i quá trình l y ch th và th c thi ch th
Trang 38Hình 3.1 Chu k ch th c s Các chu k l y và th c thi ch th
đ u m i chu k ch th , CPU l y m t ch th t b nh M t thanh ghi g i là b đ m
ch ng trình (PC) đ c s d ng đ theo dõi ch th c n l y ra k ti p Tr khi đ c ch
ra rõ ràng, CPU luôn t ng PC sau khi m i ch th đ c l y ra đ tr đ n ch th k ti p trong dãy ch th
Ch th đ c l y ra s đ c t i vào m t thanh ghi trong CPU có tên g i là thanh ghi ch
th (IR) Ch th này d ng mã nh phân đ c t ho t đ ng CPU c n th c hi n CPU thông d ch ch th và th c hi n ho t đ ng đ c yêu c u M t cách t ng quát, các ho t
đ ng này r i vào m t trong b n nhóm sau:
CPU – B nh : d li u có th đ c chuy n t CPU vào b nh hay ng c l i
CPU – Thành ph n nh p/xu t: d li u có th đ c truy n t bên ngoài vào CPU thông qua vi c liên l c gi a CPU và m t module nh p/xu t
X lý d li u: CPU có th th c hi n thao tác lu n lý hay s h c trên d li u
i u khi n: m t ch th có th đ c t s thay đ i th t th c thi c a dãy ch th
Nh ch ng 1 đã gi i thi u: 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à đ c x lý b i b x lý trung tâm, thông th ng các
l nh trong t p l nh đ 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
Trang 39b 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)
3.2 Chu trình th c hi n l nh mã máy
Vi c thi hành m t l nh mã máy có th chia thành 5 giai đo n:
c l nh (IF: Instruction Fetch)
Gi i mã l nh (ID: Instruction Decode) Thi hành l nh (EX: Execute)
Thâm nh p b nh trong ho c nh y (MEM: Memory access)
B đ m ch ng trình PC đ c đ a vào MAR L nh đ c đ c t b nh trong,
t i các ô nh có đ a ch n m trong MAR và đ c đ a vào thanh ghi l nh IR
2 Gi i mã l nh và đ c các thanh ghi ngu n:
Trang 40Các thanh ghi ngu n Rs1 và Rs2 đ c s d ng tu theo tác v , k t qu đ c
đ t trong thanh ghi đích Rd
Ta th y vi c gi i mã đ c th c hi n cùng lúc v i vi c đ c các thanh ghi Rs1 và Rs2 vì các thanh ghi này luôn n m t i cùng v trí trong l nh
a ch hi u d ng do ALU tính đ c đ a vào MAR và thanh ghi ngu n Rs1
đ c đ a vào MBR đ đ c l u vào b nh trong
Mã l nh Thanh ghi Rs1 Thanh ghi Rs2 Thanh ghi Rd Tác v
4 Thâm nh p b nh trong ho c nh y l n cu i
đo n này th ng ch đ c dùng cho các l nh n p d li u, l u gi d li u