Thông tin và s mã hóa thông tinự... Các mô hình ki n trúc máy tínhế 5.1 Mô hình ki n trúc Von Neumannế a.. Mô hình chung... Lượng thông tin là gì ?.
Trang 1TRƯ NG CAO Đ NG NGH CÔNG NGHI P HÀ N I Ờ Ẳ Ề Ệ Ộ
Trang 2Hà N i năm 2011 ộ
Trang 3Ch ươ ng I: T ng quan v ki n trúc máy tính ổ ề ế
1. Các m c l ch s phát tri n công ngh 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 ổ ơ ả ề ệ
a. Th h đ u tiên (19461957) ế ệ ầ
Trang 4
Hình I.1: Máy tính ENIACENIAC (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.
b. Th h th hai (19581964) ế ệ ứ
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ặ ư ằ ự ế ệ ử ằ
Trang 5transistor 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 FORTRAN nămữ ấ ấ ệ ư
1956, COBOL năm 1959, ALGOL năm 1960) và h đi u hành ki u tu n tệ ề ể ầ ự (Batch Processing) được dùng. Trong h đi u hành này, chệ ề ương trình c aủ
người dùng th nh t đứ ấ ược ch y, xong đ n chạ ế ương trình c a ngủ ười dùng thứ hai và c th ti p t c. ứ ế ế ụ
c. Th h th ba (19651971) ế ệ ứ
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ộ ứ ệ
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. ệ ạ ệ ứ ệ ệ
Trang 6V 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 đỹ ậ ả ế ố ộ ử ủ ừ ược phát tri n: k thu t ng d n, k thu t vô hể ỹ ậ ố ẫ ỹ ậ ướng, x lý song song m c đ cao,… ử ứ ộ
e. 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ệ ể ừ ế ệ ứ ư ế ệ ứ ư ườ i
Nh t đã và đang đi tiên phong trong các chậ ươ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ữ ệ ạ ư ữ ệ ườ 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ự ắ ầ ứ ừ ự
Trang 7nguyê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. ế ệ ứ ế ệ ử
B ng 1ả : Các th h máy tínhế ệ
2. Thông tin và s mã hóa thông tinự
Trang 8a. Khái ni m thông tinệ
Hình I.2: Thông tin v 2 tr ng thái có ý nghĩa c a hi u đi n thề ạ ủ ệ ệ ế Khái ni m v thông tin g n li n v i s hi u bi t m t tr ng thái cho s nệ ề ắ ề ớ ự ể ế ộ ạ ẵ trong nhi u tr ng thái có th có vào m t th i đi m cho trề ạ ể ộ ờ ể ước.
Trong hình này, chúng ta quy ước có hai tr ng thái có ý nghĩa: tr ng tháiạ ạ
th p khi hi u đi n th th p h n Vấ ệ ệ ế ấ ơ L và tr ng thái cao khi hi u đi n th l n h nạ ệ ệ ế ớ ơ
VH. Đ có thông tin, ta ph i xác đ nh th i đi m ta nhìn tr ng thái c a tín hi u.ể ả ị ờ ể ạ ủ ệ Thí d , t i th i đi m tụ ạ ờ ể 1 thì tín hi u tr ng thái th p và t i th i đi m tệ ở ạ ấ ạ ờ ể 2 thì tín
hi u tr ng thái cao. ệ ở ạ
b. Lượng thông tin và s mã hoá thông tinự
Thông tin được đo lường b ng đ n v thông tin mà ta g i là bit. Lằ ơ ị ọ ượ ngthông tin được đ nh nghĩa b i công th c: ị ở ứ
I = Log2(N)
Trong đó: I: là lượng thông tin tính b ng bit ằ
N: là s tr ng thái có th có ố ạ ể
V y m t bit ng v i s hi u bi t c a m t tr ng thái trong hai tr ng thái cóậ ộ ứ ớ ự ể ế ủ ộ ạ ạ
th có. Thí d , s hi u bi t c a m t tr ng thái trong 8 tr ng thái có th ngể ụ ự ể ế ủ ộ ạ ạ ể ứ
v i m t lớ ộ ượng thông tin là:
I = Log2(8) = 3 bit
Trang 9Tám tr ng thái đạ ược ghi nh n nh 3 s nh phân (m i s nh phân có thậ ờ ố ị ỗ ố ị ể
có giá tr 0 ho c 1). ị ặ
Nh v y lư ậ ượng thông tin là s con s nh phân c n thi t đ bi u di n số ố ị ầ ế ể ể ễ ố
tr ng thái có th có. Do v y, m t con s nh phân đạ ể ậ ộ ố ị ược g i là m t bit. M t tọ ộ ộ ừ
n bit có th tể ượng tr ng m t tr ng thái trong t ng s 2ư ộ ạ ổ ố n tr ng thái mà t đó cóạ ừ
th tể ượng tr ng. V y m t t n bit tư ậ ộ ừ ương ng v i m t lứ ớ ộ ượng thông tin n bit.
1.
D ng t ng quát đ bi u di n giá tr c a m t s : ạ ổ ể ể ễ ị ủ ộ ố
Trang 10(ph n nguyên c a s có n ch s đầ ủ ố ữ ố ược đánh s th t t 0 đ n nố ứ ự ừ ế
1) bi: giá tr c a ch s th i k:ị ủ ữ ố ứ h s (k=10: h th p phân; k=2: h nhệ ố ệ ậ ệ ị
Trang 11Ví d : Đ i 23.37510 sang nh phân. Chúng ta s chuy n đ i ph n nguyênụ ổ ị ẽ ể ổ ầ dùng phương th c s dứ ố ư
Trang 12Tuy nhiên, trong vi c bi n đ i ph n l c a m t s th p phân sang s nhệ ế ổ ầ ẻ ủ ộ ố ậ ố ị phân theo phương th c nhân, có m t s trứ ộ ố ường h p vi c bi n đ i s l p l i vôợ ệ ế ổ ố ặ ạ
Decimal (Base 10)
Trang 13Thông thường, người ta nhóm 4 bit trong h nh phân h đ bi u di n sệ ị ệ ể ể ễ ố
dướ ại d ng th p l c phân (Hexadecimal). ậ ụ
Nh v y, d a vào cách bi n đ i s trong b ng nêu trên, chúng ta có ví dư ậ ự ế ổ ố ả ụ
v cách bi n đ i các s trong các h th ng s khác nhau theo h nh phân: ề ế ổ ố ệ ố ố ệ ị
•10112 = (102)(112) = 234
•234 = (24)(34) = (102)(112) = 10112
•1010102 = (1012)(0102) = 52 8
•011011012 = (01102)(11012) = 6D16
M t t n bit có th bi u di n t t c các s dộ ừ ể ể ễ ấ ả ố ương t 0 t i 2ừ ớ n1. N u dế i là
m t s nh phân th i, m t t n bit tộ ố ị ứ ộ ừ ương ng v i m t s nguyên th p phân. ứ ớ ộ ố ậ n
Trang 14d. S nguyên có d uố ấ
Có nhi u cách đ bi u di n m t s n bit có d u. Trong t t c m i cách thìề ể ể ễ ộ ố ấ ấ ả ọ bit cao nh t luôn tấ ượng tr ng cho d u. ư ấ
Khi đó, bit d u có giá tr là 0 thì s nguyên dấ ị ố ương, bit d u có giá tr là 1 thìấ ị
s nguyên âm. Tuy nhiên, cách bi u di n d u này không đúng trong trố ể ễ ấ ường h pợ
s đố ược bi u di n b ng s th a K mà ta s xét ph n sau trong chể ễ ằ ố ừ ẽ ở ầ ương này (bit d u có giá tr là 1 thì s nguyên dấ ị ố ương, bit d u có giá tr là 0 thì s nguyênấ ị ố âm).
dn1 dn2 dn3 . . . . d2 d1 d0
S nguyên có bit dố n1 là bit d u và có tr s tấ ị ố ượng tr ng b i các bit t dư ở ừ 0 t iớ
dn2 .
Cách bi u di n b ng tr tuy t đ i và d u ể ễ ằ ị ệ ố ấ
Trong cách này, bit dn1 là bit d u và các bit t dấ ừ 0 t i dớ n2 cho giá tr tuy tị ệ
M t Byte (8 bit) có th bi u di n các s có d u t 127 t i +127. ộ ể ể ễ ố ấ ừ ớ
Có hai cách bi u di n s không là 0000 0000 (+0) và 1000 0000 (0). ể ễ ố
Trang 15Đ có s bù 2 c a m t s nào đó, ngể ố ủ ộ ố ười ta l y s bù 1 r i c ng thêm 1.ấ ố ồ ộ
V y m t t n bit (dậ ộ ừ n1 d0) có tr th p phân. ị ậ
Ví d : ụ +2510 = 000110012 2510 = 111001112
Dùng 1 Byte (8 bit) đ bi u di n m t s có d u l n nh t là +127 và sể ể ễ ộ ố ấ ớ ấ ố
nh nh t là –128. ỏ ấ
Ch có m t giá tr 0: +0 = 00000000ỉ ộ ị 2, 0 = 000000002
Trang 16B ng 3ả : S 4 bit có d u theo cách bi u di n s âm b ng s bù 2 ố ấ ể ễ ố ằ ố
Cách bi u di n b ng s th a K ể ễ ằ ố ừ
Trong cách này, s dố ương c a m t s N có đủ ộ ố ược b ng cách “c ng thêmằ ộ vào” s th a K đố ừ ược ch n sao cho t ng c a K và m t s âm b t k luôn luônọ ổ ủ ộ ố ấ ỳ
dương. S âm N c a s N có đố ủ ố ược b ng cáck l y KN (hay l y bù hai c a sằ ấ ấ ủ ố
v a xác đ nh). ừ ị
Ví d :ụ (s th a K=128, s “c ng thêm vào” 128 là m t s nguyên dố ừ ố ộ ộ ố ương.
S âm là s l y bù hai s v a tính, b qua s gi c a bit cao nh t) : ố ố ấ ố ừ ỏ ố ữ ủ ấ
+2510 = 100110012 2510 = 011001112
Dùng 1 Byte (8 bit) đ bi u di n m t s có d u l n nh t là +127 và sể ể ễ ộ ố ấ ớ ấ ố
nh nh t là –128. ỏ ấ
Ch có m t giá tr 0: +0 = 10000000ỉ ộ ị 2, 0 = 100000002
Trang 17Cách bi u di n s nguyên có d u b ng s bù 2 để ễ ố ấ ằ ố ược dùng r ng rãi cho cácộ phép tính s nguyên. Nó có l i là không c n thu t toán đ c bi t nào cho cácố ợ ầ ậ ặ ệ phép tính c ng và tính tr , và giúp phát hi n d dàng các trộ ừ ệ ễ ường h p b tràn. ợ ịCác cách bi u di n b ng "d u , tr tuy t đ i" ho c b ng "s bù 1" d n đ nể ễ ằ ấ ị ệ ố ặ ằ ố ẫ ế
vi c dùng các thu t toán ph c t p và b t l i vì luôn có hai cách bi u di n c aệ ậ ứ ạ ấ ợ ể ễ ủ
s không. Cách bi u di n b ng "d u , tr tuy t đ i" đố ể ễ ằ ấ ị ệ ố ược dùng cho phép nhân
c a s có d u ch m đ ng. ủ ố ấ ấ ộ
Cách bi u di n b ng s th a K để ễ ằ ố ừ ược dùng cho s mũ c a các s có d uố ủ ố ấ
ch m đ ng. Cách này làm cho vi c so sánh các s mũ có d u khác nhau trấ ộ ệ ố ấ ở thành vi c so sánh các s nguyên dệ ố ương.
e. Cách bi u di n s v i d u ch m đ ngể ễ ố ớ ấ ấ ộ
Trước khi đi vào cách bi u di n s v i d u ch m đ ng, chúng ta xét đ nể ễ ố ớ ấ ấ ộ ế cách bi u di n m t s dể ễ ộ ố ướ ại d ng d u ch m xác đ nh. ấ ấ ị
Ví d : ụ
Trong h th p phân, s 254ệ ậ ố 10 có th bi u di n dể ể ễ ưới các d ng sau: ạ
254 * 10 ; 25.4 * 10 ; 2.54 * 10 ; 0.254 * 10 ; 0.0254 * 10 ; …
Trong h nh phân, s (0.00011)ệ ị ố 2 (tương đương v i s 0.09375ớ ố 10) có
th bi u di n dể ể ễ ưới các d ng : ạ
Trang 184
Các cách bi u di n này gây khó khăn trong m t s phép so sánh các s Để ễ ộ ố ố ể
d dàng trong các phép tính, các s đễ ố ược chu n hoá v m t d ng bi u di n: ẩ ề ộ ạ ể ễ
± 1. fff f x 2± E
Trong đó: f là ph n l ; E là ph n mũ ầ ẻ ầ
S ch m đ ng đố ấ ộ ược chu n hoá, cho phép bi u di n g n đúng các s th pẩ ể ễ ầ ố ậ phân r t l n hay r t nh dấ ớ ấ ỏ ướ ại d ng m t s nh phân theo m t d ng qui ộ ố ị ộ ạ ướ c.Thành ph n c a s ch m đ ng bao g m: ph n d u, ph n mũ và ph n đ nh tr ầ ủ ố ấ ộ ồ ầ ấ ầ ầ ị ị
Nh v y, cách này cho phép bi u di n g n đúng các s th c, t t c các s đ uư ậ ể ễ ầ ố ự ấ ả ố ề
có cùng cách bi u di n. ể ễ
Có nhi u cách bi u di n d u ch m đ ng, trong đó cách bi u di n theoề ể ễ ấ ấ ộ ể ễ chu n IEEE 754 đẩ ược dùng r ng rãi trong khoa h c máy tính hi n nay. Trongộ ọ ệ cách bi u di n này, ph n đ nh tr có d ng 1,f v i s 1 n tăng và f là ph n sể ễ ầ ị ị ạ ớ ố ẩ ầ ố
l ẽ
Chu n IEEE 754 đ nh nghĩa hai d ng bi u di n s ch m đ ng: ẩ ị ạ ể ễ ố ấ ộ
S ch m đ ng chính xác đ n v i đ nh d ng đố ấ ộ ơ ớ ị ạ ược đ nh nghĩa: chi u dàiị ề
s : 32 bit đố ược chia thành các trường: d u S (Sign bit 1 bit), mũ E (Exponent ấ
8 bit), ph n l F (Fraction 23 bit). ầ ẻ
S này tố ương ng v i s th c (1)ứ ớ ố ự S * (1,f1 f2 f23) * 2(E 127)
bit 31 30 23 22 bit 1 bit 0
Trang 19S E
f1 f2
f22 f23Hình I.3: Bi u di n s có d u ch m đ ng chính xác đ n v i 32 bit ể ễ ố ấ ấ ộ ơ ớ
S ch m đ ng chính xác kép v i đ nh d ng đố ấ ộ ớ ị ạ ược đ nh nghĩa: chi u dàiị ề
s : 64 bit đố ược chia thành các trường: d u S (Sign bit 1 bit), mũ E (Exponent ấ
11 bit), ph n l F (Fraction 52 bit) ầ ẻ
S này tố ương ng v i s th c (1)ứ ớ ố ự S * (1,f1 f2 f52) * 2(E 1023)
bit 63 62 52 51 bit 1 bit 0
S E f1 f2 f51 f52
Hình I.4: Bi u di n s có d u ch m đ ng chính xác kép v i 64 bit ể ễ ố ấ ấ ộ ớ
Đ thu n l i trong m t s phép tính toán, IEEE đ nh nghĩa m t s d ngể ậ ợ ộ ố ị ộ ố ạ
m r ng c a chu n IEEE 754: ở ộ ủ ẩ
Tham s ố
Chính xác đ nơ
Mở r ngộ chính xác đ nơ
Chính xác kép
Mở r ngộ chính xác kép
Giá tr mũ t i thi u ị ố ể 126 ≤ 1022 1022 ≤ 16382
Chi u dài trề ường l Fẻ 23 ≥ 31 52 ≥63
Trang 20Chu n IEEE 754 cho phép bi u di n các s chu n hoá (các bit c a E khôngẩ ể ễ ố ẩ ủ cùng lúc b ng 0 ho c b ng 1), các s không chu n hoá (các bit c a E khôngằ ặ ằ ố ẩ ủ cùng lúc b ng 0 và ph n s l f1 f2 khác không), tr s 0 (các bit c a Eằ ầ ố ẻ ị ố ủ không cùng lúc b ng 0 và ph n s l b ng không), và các ký t đ c bi t (cácằ ầ ố ẻ ằ ự ặ ệ bit c a E không cùng lúc b ng 1 và ph n l khác không). ủ ằ ầ ẻ
Ví d các bụ ước bi n đ i s th p phân 12.625ế ổ ố ậ 10 sang s ch m đ ng chu nố ấ ộ ẩ IEEE 754 chính xác đ n (32 bit): ơ
¾ Bước 1: Đ i s 12.625ổ ố 10 sang nh phân: 12.625ị 10 = 1100.1012.
Trang 21f. Bi u di n các s th p phânể ễ ố ậ
M t vài ng d ng, đ c bi t ng d ng qu n l , b t bu c các phép tínhộ ứ ụ ặ ệ ứ ụ ả ư ắ ộ
th pphân ph i chính xác, không làm trn s V i m t s bit c đ nh, ta khôngậ ả ̣ ố ớ ộ ố ố ị
th đ i m tcách chính xác s nh phân thành s th p phân và ngể ổ ộ ố ị ố ậ ượ ạc l i. VÌ
v y, khi c n ph i dùngs th p phân, ta dùng cách bi u di n s th p phân măậ ầ ả ố ậ ể ễ ố ậ
b ng nh phân (BCD: BinaryCoded Decimal) theo đó m i s th p phân đằ ị ỗ ố ậ ượ c
mă v i 4 s nh phân (b ng I.6).ớ ố ị ả
Trang 22o Trước h t ta l y s bù 9 c a s 079 b ng cách: 999 079 = 920. oế ấ ố ủ ố ằ
C ng 1 vào s bù 9 ta độ ố ượ ốc s bù 10: 920 + 1 = 921. o Bi u di nể ễ
s 921 dố ướ ại d ng s BCD, ta có: 1001 0010 0001ố BCD
g. Bi u di n các ký tể ễ ự
Tu theo các h th ng khác nhau, có th s d ng các b ng mã khác nhau:ỳ ệ ố ể ử ụ ả ASCII, EBCDIC, UNICODE, Các h th ng trệ ố ước đây thường dùng b ng mãả ASCII (American Standard Codes for Information Interchange) đ bi u di n cácể ể ễ
ch , s và m t s d u thữ ố ộ ố ấ ường dùng mà ta g i chung là ký t M i ký t đọ ự ỗ ự ượ c
bi u di n b i 7 bit trong m t Byte. Hi n nay, m t trong các b ng mã thôngể ễ ở ộ ệ ộ ả
d ng đụ ược dùng là Unicode, trong b ng mã này, m i ký t đả ỗ ự ược mã hoá b i 2ở Byte.
Trang 23B ng mã ASCIIả
Trang 25B ng mã UNICODEả
Trang 263. Đ c đi m c a các th h máy tính đi n tặ ể ủ ế ệ ệ ử
*Th h đ u tiên (19381953): Dòng đèn đi n t ế ệ ầ ệ ử
Máy tính đi n t tệ ử ương đ ng(Analog computer) đ u tiên đồ ầ ược ch t o năm ế ạ
Trang 271983. Dòng máy tính này dùng các m ch đi n có đ c tính gi ng nh phép tính ạ ệ ặ ố ưđang được ti n hành đ th c hi n các tính tóan trong máy. ế ể ự ệ
Máy tính đi n t s (Electronic Digital Computer) đ u tiên đệ ử ố ầ ược ch t o năm ế ạ
1946. Chúng ta có th g i m t cách đ n gi n là máy tính. Máy tính đ u tiên nàyể ọ ộ ơ ả ầ
là máy ENIAC(Electronic Numerial Integretor and Computer).Máy này dài 30m, cao 2,8m, r ng t i vài mét, n ng kh ang 30 t n,tiêu th 150kW gi và giá c a ộ ớ ặ ỏ ấ ụ ờ ủ
nó cũng r t cao. Đây cũng là n n t ng cho các th h máy sau này. ấ ề ả ế ệ
* Th h th hai (19521963)òng Transistarế ệ ứ
N i ti p th h th nh t công ty Bill đã phát minh ra Transistor năm 1948 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.Kích thự ước máy tính được gi m l i,m ch in và ả ạ ạ
b nh băng xuy n t b t đ u độ ớ ế ừ ắ ầ ược dùng,ngôn ng c p cao xu t hi n. ữ ấ ấ ệ
Th h này đế ệ ược đánh d u b ng vi c dùng các m ch có đ tích h p cao ấ ằ ệ ạ ộ ợ
LSI(Large scale integration). B nh bán d n CMOS, b nh cache và b nh ộ ớ ẫ ộ ớ ộ ớ
o đ c dùng r ng rãi. Máy tính dùng kĩ thu t ng d n(Pipeline) , máy tính
Trang 28xu t hi n m t th h máy tính thông minh,có nhi u ch c năng, có th giao ấ ệ ộ ế ệ ề ứ ể
ti p v i con ngế ớ ười m t cách d dàng.ộ ễ
4. Ki n trúc và t ch c máy tínhế ổ ứ
4.1 Khái ni m ki n trúc máy tínhệ ế
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à để ể ượ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ợ ữ ỗ ệ ứ ầ
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 nói đ n các chế ở ương sau.
L p đ t ph n c ng c a máy tính ám ch 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. Chúng taệ ệ ử ộ ậ ầ ứ ầ ế không nói đ n ph n này trong giáo trình. ế ầ
Trang 29Ta nên l u ý r ng m t vài máy tính có cùng ki n trúc ph n m m nh ngư ằ ộ ế ầ ề ư
ph n t ch c là khác nhau (VAX 11/780 và VAX 8600). Các máy VAXầ ổ ứ 11/780 và VAX 11/785 có cùng ki n trúc ph n m m và ph n t ch c g nế ầ ề ầ ổ ứ ầ
gi ng nhau. Tuy nhiên vi c l p đ t ph n c ng các máy này là khác nhau. Máyố ệ ắ ặ ầ ứ VAX 11/785 đã dùng các m ch k t hi n đ i đ c i ti n t n s xung nh p vàạ ế ệ ạ ể ả ế ầ ố ị
đã thay đ i m t ít t ch c c a b nh trong. ổ ộ ổ ứ ủ ộ ớ
4.2 Khái ni m t ch c máy tínhệ ổ ứ
T ch c máy tính hay c u trúc máy tính là khoa h c nghiên c u v các bổ ứ ấ ọ ứ ề ộ
ph n c a máy tính và phậ ủ ương th c ho t đ ng c a chúng. V i đ nh nghĩaứ ạ ộ ủ ớ ị
nh v y t ch c máy tính khá g n gũi v i vi ki n trúc – m t thahf ph nư ậ ổ ứ ầ ớ ế ộ ầ
c a ki n trúc máy tính. Nh v y có th th y r ng, ki n trúc máy tính làủ ế ư ậ ể ấ ằ ế khai ni m r ng h n nó bao hàm c t ch c hay c u trúc máy tínhệ ộ ơ ả ổ ứ ấ
5. Các mô hình ki n trúc máy tínhế
5.1 Mô hình ki n trúc Von Neumannế
a. Mô hình chung
Trang 30Data Bus: Bus d li uữ ệAddress bus: bus đ a chị ỉCotrol bus: bus đi u khi nề ểTheo mô hình ki n trúc Von Neumann, m t máy tính g m có 3 đ n v cế ộ ồ ơ ị ơ
b n là: đ n v x lý trung tâm, b nh và các giao di n vào/ra. Các đ n v nàyả ơ ị ử ộ ớ ệ ơ ị
được k t n i v i nhau thông qua h th ng busế ố ớ ệ ố
1) Đ n v x lý trung tâm – CPU (Central Processing Unit)ơ ị ử
Là đ n v quan tr ng nh t c a máy tính,đi u khi n m i 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.ủ ự ệ ứ ử ữ ệCPU làm vi c v i b nh , các giao di n vào /ra thong qua các busệ ớ ộ ớ ệ
Trang 31C u t o c a CPU g m các b ph n chính sauấ ạ ủ ồ ộ ậ+ Đ n v đi u khi n – CU ( Control Unit)ơ ị ề ể+ Đ n v s h c và logic – ALU ( Arithmetic Logic Unit)ơ ị ố ọ+ Các thanh ghi ( Registers)
Đ n v đi u khi n:ơ ị ề ể Có các ch c năng chính nh sauứ ư
Xác d nh th t th c hi n các l nhị ứ ự ự ệ ệ
L y l nh t b nh chính,gi i mã l nhấ ệ ừ ộ ớ ả ệ
Đi u khi n ALU và t t c các thành ph n khác đ th c hi n cácề ể ấ ả ầ ể ự ệ
Trang 32Các thanh ghi: là nh ng b nh có kích th c nh nh ng t c đữ ộ ớ ướ ỏ ư ố ộ truy c p d li u r t nhanh, dung làm nhi m v l u tr l nh và dậ ữ ệ ấ ệ ụ ư ữ ệ ữ
li u trung gian, ph c v cho quá trình x lý l nh và d li u t i CPUệ ụ ụ ử ệ ữ ệ ạ
2) B nh chính.ộ ớ
Là m t trong nh ng thành ph n quan tr ng c a máy tính, là n i l uộ ữ ầ ọ ủ ơ ư
tr các l nh chữ ệ ương trình và d li u. b nh đữ ệ ộ ớ ượ ổc t ch c t nhi uứ ừ ề
ô nh ( hay còn g i là các t nh ) . M i ô nh đớ ọ ừ ớ ỗ ớ ược gán m t đ a chộ ị ỉ
đ CPU qu n lý truy c p; đ a ch này để ả ậ ị ỉ ược g i là đ a ch b nh ọ ị ỉ ộ ớ
B nh chính g m hai lo i nh sau:ộ ớ ồ ạ ư+ B nh ch đ c ROM(real only memory)ộ ớ ỉ ọ+ B nh truy c p ng u nhiên – RAM ( Random access memory)ộ ớ ậ ẫ
B nh ch đocộ ớ ỉ : thường dung đ l u tr các thong s c a máy tính,ể ư ữ ố ủ
ch a các chứ ương trình c b n ph c v quá trình kh i đ ng máyơ ả ụ ụ ở ộ tính…
Đ c đi m chínhặ ể
T c đ truy c p d li u ch m n RAM, ố ộ ậ ữ ệ ậ ơ
Ch cho phép đ c d li u, không cho phép ghi d li uỉ ọ ữ ệ ữ ệ
Khi b m t đi n d li u l u trong ROM không b m tị ấ ệ ữ ệ ư ị ấ
Trang 33B nh truy c p ng u nhiênộ ớ ậ ẫ : Thường dùng đ luuw tr t m th iể ữ ạ ờ các chương trình và d li uữ ệ
Đ c đi m chínhặ ể
T c đ truy c p d li u nhanh h n ROMố ộ ậ ữ ệ ơ
Cho phép đ c và ghi d li uọ ữ ệ
Khi b m t ngu n đi n, d li u l u trong RAM s b m t điị ấ ồ ệ ữ ệ ư ẽ ị ấ
Trang 34th ng không b xung đ t , CPU ph i x lý sao cho trong m t th iố ị ộ ả ử ộ ờ
đi m , ch có m t thi t b hay ô nh đãch đ nh m i có th chi m lĩnhể ỉ ộ ế ị ớ ỉ ị ớ ể ế
h th ng. Do m c đích này bus h th ng bao g m 3 lo i : bus dệ ố ụ ệ ố ồ ạ ữ
li u, bus đ a ch và bus đi u khi n.ệ ị ỉ ề ể
b. Nguyên lý ho t đ ngạ ộ
Nguyên lý:
M t t p h p các l nh độ ậ ợ ệ ượ ắc s p x p theo m t tr t t nh t đ nh đế ộ ậ ự ấ ị ược g iọ
là m t chộ ương trình. Theo mô hình ki n trúc VonNeumann, chế ương trình
và d li u đu c l u tr trong cùng m t b nh (thữ ệ ọ ư ữ ộ ộ ớ ường l u tr trong bư ữ ộ
nh RAM).ớ
CPU s th c hi n l n lẽ ự ệ ầ ượ ừt t ng l nh c a chệ ủ ương trình theo quy trình sau: CPU l y l nh và d li u t đ a ch đấ ệ ữ ệ ừ ị ỉ ượ ưc l u trong thanh ghi PC (PC : program Counter – B đ m chộ ế ương trình); sau khi CPU l y l nh và dấ ệ ữ
li u xong, PC t đ ng tăng lên m t giá tr ti p theo; CPU th c hi n l nhệ ự ộ ộ ị ế ự ệ ệ xong l i ti p t c l y l nh và d li u k ti p t đ a ch đạ ế ụ ấ ệ ữ ệ ế ế ừ ị ỉ ượ ưc l u trong PC
Quy trình th c hi n l nhự ệ ệ
C u trúc t ng quát c a m t l nh g m có trấ ổ ủ ộ ệ ồ ường mã l nh và trệ ườ ngcác toán h ngạ
Mã l nhệ Các toán h ngạ
Trang 35(Opcode) (Operands)
Trường mã l nh: dung các tham s c n thi t đ th c hi n ệ ố ầ ế ể ự ệ
Trường các toán h ng: ch a các tham s c n thi t đ th c hi nạ ứ ố ầ ế ể ự ệ
l nh đệ ược mô t trong trả ường mã l nhệ
Chương trình được n p vào b nh chính, sau đó CPU s th c hi nạ ộ ớ ẽ ự ệ
tu n t t ng l nh. M i l nh thầ ự ừ ệ ỗ ệ ường đươc th c hi n theo các giai đo nự ệ ạ sau:
IF> ID > OF > EX > WBGiai đo n 1: N p lênh IF ( Ínstruction Fetch)ạ ạ
Giá tr hi n th i c a b đ m chị ệ ờ ủ ộ ế ương trình (PC: Program Counter) cho bi t đ a ch c a ô nh chúa l nh c n ph i th c hi n. Căn c vàoế ị ỉ ủ ớ ệ ầ ả ự ệ ứ giá tr đ a ch này , CPU l y n i dung l nh chị ị ỉ ấ ộ ệ ương trình c n th cầ ự
hi n t b nh chính n p vào thanh ghi lênh IR (Ínstructionệ ừ ộ ớ ạ Register). Sau đó đ n v đi u khi n CU s th cj hi n tăng giá tr bơ ị ề ể ẽ ư ệ ị ộ
đ m chế ương trình PC lên m t đ n v đ đ n đ a ch c a l nh ti pộ ơ ị ể ế ị ỉ ủ ệ ế theo
Giai đo n 2: Gi i mã l nh ID (Ínstruction Decode)ạ ả ệ
giai đo n này đ n v đi u khi n ti n hành gi i mã l nh, xác đ n
lo i l nh v a n p yêu c u CPU th c hi n phép tính, phép x lý gì.ạ ệ ừ ạ ầ ự ệ ử
Trang 36Giai đo n 3: n p toán h ng lên OF ( Operands Fetch)ạ ạ ạ
N u l nh c n them d li u trong b nh thì đ n v đi u kh n sế ệ ầ ữ ệ ộ ớ ơ ị ề ể ẽ xác đ nh đ a ch n i ch a d li u; tìm và n p d li u vào các thanhị ị ỉ ơ ứ ữ ệ ạ ữ ệ ghi trong CPU ( giai đo n này có th có ho c không có tùy thu c vàoạ ể ặ ộ
s toán h ng c a l nh)ố ạ ủ ệGiai đo n 4: Th c hi n l nh EX (Excutive)ạ ự ệ ệ
Giai đo n này th c hi n l nh sau khi đã gi i mã l nh và n p toánạ ự ệ ệ ả ệ ạ
h ngạ
+ n u l nh là các phép toán s h c và logic thì đ n v đi u khi n sế ệ ố ọ ơ ị ề ể ẽ
đi u khi n b ALU th c hi n l nh nàyề ể ộ ự ệ ệ
+ N u l nh là các l nh đi u khi n thì đ n v đi u khi n s sinh raế ệ ệ ề ể ơ ị ề ể ẽ các tín hi u đi u khi n tệ ề ể ương ng ( đ c b nh , ng t chứ ọ ộ ớ ắ ương trình,
…)Giai đo n 5: L u tr k t qu th c hi n l nh WB ( Write Back)ạ ư ữ ế ả ự ệ ệ
K t qu c a giai đo n th c hi n l nh s đế ả ủ ạ ự ệ ệ ẽ ược ghi vào toán h ngạ đích, c th giai đo n này s vi t các k t qu , các d li u vào cácụ ể ạ ẽ ế ế ả ữ ệ thanh ghi ho c b nh tùy theo yêu c u c a l nh.ặ ộ ớ ầ ủ ệ
5.2 Mô hình ki n trúc Havardế
Trang 37Hình 5.2: Mô hình ki n truc Havard ế
Ki n trúc máy tính Havard chia b nh trong thành hai ph n riêng r , b nh ế ộ ớ ầ ẽ ộ ớ
l u chư ương trình (program memory) và b nh l u d li u (Data memory). Hai ộ ớ ư ữ ệ
h th ng Bus riêng đệ ố ượ ử ục s d ng đ k t n i CPU v i b nh l u chể ế ố ớ ộ ớ ư ương trình
và b nh l u d li u. M i h th ng bú đ u có đ y đ ba thành ph n đ truy nộ ớ ư ữ ệ ỗ ệ ố ề ầ ủ ầ ể ề
d n các tín hi u đ a ch , d li u và đi u khi n.ẫ ệ ị ỉ ữ ệ ề ể
Máy tính d a trên ki n truc Havard có kh năng đ t đự ế ả ạ ượ ốct c đ x lý cao ộ ử
hownmays tính d a trên ki n truc Von Neumann do ki n truc Havard h tr hai ự ế ế ỗ ợ
h th ng bú đ c l p và băng thông l n h n. Ngoài ra, nh có hai h th ng bus ệ ố ộ ậ ớ ơ ờ ệ ố
đ c l p , h th ng nh trong ki n trúc Havard h tr nhi u l n truy nh p b ộ ậ ệ ố ớ ế ỗ ợ ề ệ ậ ộ
nh t i m t th i đi m, giúp gi m xung đ t truy nhaapjbooj nh , đ c bi t khi ớ ạ ộ ờ ể ả ộ ớ ặ ệCPU s d ng k thu t đử ụ ỹ ậ ường ng (pipeline)ố
Trang 38H I ÔN T P VÀ BÀI T P CHỎ Ậ Ậ ƯƠNG I
8 Lượng thông tin là gì ?
Trang 399 S hi u bi t v m t tr ng thái trong 4096 tr ng thái có th có ng v i lự ể ế ề ộ ạ ạ ể ứ ớ ượ ngthông tin là bao nhiêu?
10.Đi m chung nh t trong các cách bi u di n m t s nguyên n bit có d u là gì? ể ấ ể ễ ộ ố ấ
11.S nh phân 8 bit (11001100)ố ị 2, s này tố ương ng v i s nguyên th p phân có d uứ ớ ố ậ ấ
là bao nhiêu n u s đang đế ố ược bi u di n trong cách bi u di n: ể ễ ể ễ
a D u và tr tuy t đ i. ấ ị ệ ố
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ộ ớ ộ ổ
Trang 40gi a các b ph n vàora và b nh trong.ữ ộ ậ ộ ớ
Bộ x lý trung tâm (CPU) ử
Hình II.1: C u trúc c a m t h máy tínhấ ủ ộ ệ đ n gi nơ ả
M t chộ ương trnh s đ́ ẽ ược sao chép t đĩa c ng vào b nh trong cùng v iừ ứ ộ ớ ớ các thông tin c n thi t cho chầ ế ương trnh ho t đ ng, các thông tin này đ́ ạ ộ ược n pạ vào b nh trong t các b ph n cung c p thông tin (ví d nh m t bàn phímộ ớ ừ ộ ậ ấ ụ ư ộ hay m t đĩa t ). B x lý trung tâm s đ c các l nh và d li u t b nh , th cộ ừ ộ ử ẽ ọ ệ ữ ệ ừ ộ ớ ự
hi n các l nh và l u các k t qu tr l i b nh trong hay cho xu t k t qu raệ ệ ư ế ả ở ạ ộ ớ ấ ế ả