TR
NGă I H C PH MăV Nă
NG
KHOA K THU T ậ CÔNG NGH
BÀI GI NG
C U TRÚC MÁY TÍNH
VÀ GIAO DI N
B c h c:ăCaoăđ ng
Gi ng viên: Nguy n Ph măHoƠngăD ng
B môn:ă i n ậ i n t
Khoa: K thu t ậ Công ngh
Qu ng Ngãi, tháng 12/2015
TR
NGă I H C PH MăV Nă
NG
KHOA K THU T ậ CÔNG NGH
BÀI GI NG
C U TRÚC MÁY TÍNH
VÀ GIAO DI N
B c h c:ăCaoăđ ng
(S ti t: 30)
Gi ng viên: Nguy n Ph măHoƠngăD ng
B môn:ă i n ậ i n t
Khoa: K thu t ậ Công ngh
Qu ng Ngãi, tháng 12/2015
M CL C
L IăNịIă
U ...........................................................................................................1
DANH SÁCH CÁC T
Ch
VI T T T ........................................................................2
ngă1ă.ăGI I THI U H TH NG S
............................................................3
1.1. Các h đ m .......................................................................................................3
1.1.1. H th p phân (decimal) .............................................................................3
1.1.2. H nh phân (binary) .................................................................................3
1.1.3. H th p l c phân (hexadecimal)................................................................5
1.2. Các phép toán ...................................................................................................7
1.2.1. Các phép toán logic ...................................................................................7
1.2.2. Các phép toán s h c ................................................................................8
1.3. Bi u di n s ....................................................................................................11
1.4. Bi u di n ký t ...............................................................................................14
Ch
ngă2ă.ăGI I THI U CÁC H MÁY TÍNH .................................................17
2.1. Các th h máy tính ........................................................................................17
2.1.1. Th h zero ..............................................................................................17
2.1.2. Th h đ u tiên (1945 – 1953) ................................................................18
2.1.3. Th h th hai (1954 – 1965) ..................................................................19
2.1.4. Th h th ba (1965 – 1980) ...................................................................20
2.1.5. Th h th t (1980 đ n nay) ..................................................................20
2.2. Ch c n ng máy tính .......................................................................................21
2.3. C u trúc và t ch c máy tính .........................................................................22
2.4. Phân lo i .........................................................................................................23
2.4.1. Phân lo i theo c u trúc t p l nh ..............................................................23
2.4.2. Phân lo i theo kh n ng x lý c a máy tính ...........................................25
2.5. Máy tính Von Neumann .................................................................................26
Ch
ngă3ă.ăC U TRÚC T NG QUÁT ................................................................28
3.1. Thùng máy – ngu n .......................................................................................28
3.2. Mainboard ......................................................................................................30
3.3. CPU ................................................................................................................33
3.4. RAM ...............................................................................................................36
3.5. BIOS VÀ CMOS RAM .................................................................................39
3.6. Interfaces ........................................................................................................40
3.7. Chipset............................................................................................................43
3.8.
đ a c ng ......................................................................................................44
3.9.
đ a quang ....................................................................................................48
3.10. Màn hình ......................................................................................................49
Ch
ngă4ă.ăC U TRÚC BÊN TRONG MÁY TÍNH ...........................................50
4.1. Vi x lý...........................................................................................................50
4.1.1. Ki n trúc ..................................................................................................50
4.1.2. C u trúc pipeline .....................................................................................51
4.1.3. K thu t superscalar ................................................................................54
4.1.4. Thanh ghi ................................................................................................54
4.1.5. T p l nh ...................................................................................................56
4.2. B nh ............................................................................................................58
4.2.1. Phân lo i b nh ......................................................................................59
4.2.2. C u trúc c b n .......................................................................................62
4.3. H th ng k t n i (bus) ....................................................................................63
4.3.1. Phân lo i ..................................................................................................63
4.3.2. Ch c n ng ...............................................................................................65
4.4. H th ng cache ...............................................................................................68
4.4.1. Gi i thi u.................................................................................................68
4.4.2. Ch c n ng ...............................................................................................69
4.4.3. Cache nhi u t ng .....................................................................................70
4.4.4. Phân lo i ..................................................................................................71
Ch
ngă5ă.ăH TH NG XU T NH P ................................................................73
5.1. H th ng ng t .................................................................................................74
5.2. Truy c p tr c ti p b nh ...............................................................................77
5.3. Thi t b bên ngoài...........................................................................................80
5.4. Các ngo i vi ....................................................................................................82
TÀI LI U THAM KH O ......................................................................................84
L IăNịIă
U
Bài gi ng “C u trúc máy tính và giao di n” đ
c biên so n dùng làm tài li u
h c t p cho sinh viên b c cao đ ng chính qui ngành công ngh k thu t i n – i n
t tr
ng
i h c Ph m V n
ng. Bài gi ng bao g m 5 ch
ng, cung c p cho
sinh viên nh ng ki n th c c b n v quá trình phát tri n c a máy vi tính, c u trúc c
b n c a m t máy vi tính hi n đ i, các chu n và thông s k thu t c a các thành
ph n t o nên m t chi c máy tính, m t s k thu t x lý nh m c i thi n t c đ x lý
c a máy tính theo th i gian, m t s chi ti t c a h th ng máy tính nh : b x lý
trung tâm, b nh , cache, … Bài gi ng này c ng góp ph n giúp sinh viên c p nh t
nh ng công ngh m i thông qua các ví d th c t .
N i dung chi ti t c a bài gi ng nh sau:
-
Ch
ng 1: Gi i thi u h th ng s
-
Ch
ng 2: Gi i thi u các h máy tính
-
Ch
ng 3: C u trúc t ng quát
-
Ch
ng 4: C u trúc bên trong máy tính
-
Ch
ng 5: H th ng xu t nh p
Trong quá trình biên so n không th tránh kh i nh ng thi u sót, r t mong
nh n đ
c s góp ý c a b n đ c đ bài gi ng đ
góp xin g i v đ a ch : B môn
Tr
ng
i h c Ph m V n
i n –
ng.
Tác gi xin chân thành c m n!
1
c hoàn thi n h n. M i ý ki n đóng
i n t , Khoa K thu t – Công ngh ,
DANH SÁCH CÁC T
T vi t t t
CPU
MSB
LSB
ASCII
VLSI
PC
CISC
RISC
RAM
T đ yăđ
Central Processing Unit
Most Significant Bit
Least Significant Bit
American Standard Code
Information Interchange
Very Large Scale Integration
Personal Computer
Complex
Instruction
Computing
Reduced
Instruction
Computing
VI T T T
ụăngh a
n v x lý trung tâm
Bit có tr ng s l n nh t
Bit có tr ng s th p nh t
for Chu n mã trao đ i thông tin
Hoa K
Tích h p c l n
Máy tính cá nhân
Set
Máy tính có t p l nh ph c t p
Set
Random Access Memory
HDD
SSD
ALU
Static Random Access Memory
Dynamic Random Access Memory
Synchronous Dynamic Random
Access Memory
Double Data Rate
Real-Only Memory
Basic Input/Output System
Complementary
Metal-OxideSemiconductor
Hard Disk Drive
Solid-State Drive
Arithmetic Logic Unit
DMA
Direct Memory Access
SRAM
DRAM
SDRAM
DDR
ROM
BIOS
CMOS
DMAC
Direct Memory Access Controller
2
Máy tính có t p l nh đ n gi n
B nh truy c p d li u ng u
nhiên
B nh RAM t nh
B nh RAM đ ng
B nh DRAM đ ng b
G p đôi t c đ d li u
B nh ch đ c
H th ng xu t nh p c b n
B nh RAM l u tr thông tin
c u hình máy tính
đ a c ng c truy n th ng
đ a c ng th r n
n v tính toán s h c
Giao th c truy c p tr c ti p b
nh
B đi u khi n truy c p tr c
ti p b nh
Ch
ngă1. GI I THI U H TH NG S
M t h th ng máy tính bao g m r t nhi u thành ph n, trong đó b x lý
trung tâm (hay còn g i là CPU) chính là b não c a c h th ng. CPU s ti p nh n
và x lý m i thông tin trong h th ng. Thông tin hay còn đ
m t h th ng máy tính đ
c bi u di n d
c g i là d li u trong
i d ng s nh phân. H s nh phân còn
g i là h c s hai ch bao g m hai ch s 0 và 1. Trong máy tính nói riêng và trong
các m ch đi n t s nói chung, các giá tr này đ
c mã hóa d
i d ng các tín hi u
đi n v i các giá tr đi n áp ho c dòng đi n t
ng ng khác nhau. Vi c tính toán, x
lý d li u nh phân trong máy tính c ng đ
c th c hi n t
ng t nh trong toán
h c.
1.1. Các h đ m
1.1.1. H th p phân (decimal)
H th p phân là h c s r t quen thu c đ i v i chúng ta, đây là h c s
đ
c s d ng trong cu c s ng hàng ngày đ bi u di n các giá tr s , còn đ
h c s m
i hay h m
i.
H th p phân s d ng 10 ch s đ bi u di n h th ng s . M
là: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. S d
tr
cm is .
c g i là
ng và s âm đ
i ch s này
c bi u di n b ng d u “+” và “-“
phân bi t v i h c s khác, ta th
ng thêm ch cái „D‟ vào phía
cu i đ ch ra r ng đó là m t s trong h th p phân, ta c ng có th b „D‟ đi mà v n
ng m hi u đó là s thu c h th p phân.
1.1.2. H nh phân (binary)
C ng nh h th p phân, nh phân c ng là m t h th ng s trong đó các giá tr
s đ
th
c bi u di n ch b ng hai ch s 0 và 1.
phân bi t v i các h c s khác, ta
ng thêm ch cái „B‟ vào phía cu i s nh phân.
Ví d : 10B, 11B, 100B, 1100B, 10100110B…
M i giá tr trong h nh phân t
ng
đ
ng ng v i m t giá tr trong h th p phân và
c l i. Vi c chuy n đ i qua l i gi a các giá tr trong h th p phân và h nh phân
c th c hi n nh sau.
+ Chuy n m t s t h nh phân sang h th p phân
3
Vi c chuy n đ i t s nh phân sang s th p phân đ
c th c hi n b ng cách
tính t ng các tích gi a các h s c a s nh phân v i các tr ng s 2i t
ng ng.
Gi s ta có s nh phân nh sau: bn bn-1…b1b0B, trong đó bi (i = 0, n ) là các
h s c a s nh phân, có th nh n m t trong hai giá tr 0 ho c 1. Khi đó 2i s là
tr ng s t
ng ng c a h s bi. S nh phân này đ
c chuy n đ i sang h th p
phân b ng công th c sau:
bn*2n + bn-1*2n-1 + … + b1*21 + b0*20
Ví d : ta có s nh phân: 1011B
S th p phân t
3
2
1
0
1
0
1
1
b3
b2
b1
b0
ng ng s là:
b3*23 + b2*22 + b1*21 + b0*20 = 1*23 + 0*22 + 1*21 + 1*20 = 11
Nh v y, s 1011B s t
ng ng v i s 11 trong h th p phân.
Ví d : s nh phân: 110011B
1*25 + 1*24 + 0*23 + 0*22 + 1*21 + 1*20 = 32 + 16 + 0 + 0 + 2 +1 = 51
Nh v y, s 110011B t
ng ng v i s 51 trong h th p phân.
+ Chuy n m t s t h th p phân sang h nh phân
Vi c chuy n đ i m t s t h th p phân sang h nh phân đ
c th c hi n
b ng cách l y s c n đ i chia cho 2 và ghi nh ph n d , ti p theo l y th
phép chia tr
th
ng c a
c đó chia cho 2 và ghi nh ph n d . Làm nh v y cho t i khi đ
ng b ng 0.
o ng
c th t dãy s d ta s đ
c
c các ch s c a h nh phân
c n tìm.
Ví d : hình 1.1 mô t cách đ i s 50 sang h nh phân
S d
(s
g ch d
i) đ
c s p x p theo chi u m i tên, nh
110010B
4
v y 50 =
Hình 1.1.ă
i m t s th p phân sang h nh phân
H nh phân là h c s đ
c s d ng trong máy tính nói riêng và trong các
m ch đi n t s nói chung. Các giá tr 0 và 1 đ
c hi u là các m c đi n áp (ho c
dòng đi n) khác nhau trong m ch (m t s ví d nh đã đ c p
th gi i máy tính, các s 0 và 1 đ
ph n trên). Trong
c g i là các bit. M t nhóm 4 bit s t o thành 1
nibble, nhóm 8 bit s t o thành m t byte, nhóm 16 bit s t o thành m t word. Bit
đ u tiên bên trái trong chu i bit đ
chu i bit đ
c g i là bit MSB, bit cu i cùng bên ph i trong
c g i là bit LSB.
Ví d :
+ Bit: 0B, 1B
+ Nibble: 1011B, 1110B, 1000B, …
+ Byte: 01011110B, 11110000B, 11000001B, …
+ Word: 1000010111100001B, 1111000010101100B, …
MSB
1
1
0
1
0
1
0
LSB
0
T các ví d trên ta có th th y, m t nibble có th bi u di n đ
là 15, m t byte có th bi u di n đ
s l n nh t là 65535.
c s l n nh t là 255, m t word có th bi u di n
bi u di n nh ng s l n h n ta ph i dùng nh ng chu i bit
dài h n, đi u này r t b t ti n cho con ng
kh c ph c nh
c s l n nh t
c đi m trên ng
i trong vi c ghi chép, tính toán trên gi y.
i ta th
ng s d ng h th p l c phân.
1.1.3. H th p l c phân (hexadecimal)
H th p l c phân hay còn g i là h c s 16, c ng là m t h th ng s trong
đó các giá tr s đ
c bi u di n b ng các ch s t 0 đ n 9 và các ch cái t A đ n
5
F, t
ta th
ng ng v i giá tr th p phân t 0 đ n 15.
phân bi t v i các h c s khác,
ng thêm ch cái „H‟ vào phía cu i s th p l c phân.
Ví d : 19H, AB5H, 2F0CH, E104DH, …
Nh đã đ c p
trên, h th p l c phân ra đ i nh m kh c ph c nh
c đi m
c a s trong h nh phân, đó là vi c s d ng m t chu i s nh phân quá dài đ bi u
di n m t giá tr l n.
th
vi c bi u di n m t k t qu nh phân g n l i, ng
i ta
ng chuy n các k t qu này thành các s th p l c phân b ng cách nhóm 4 bit s
nh phân thành m t s th p l c phân.
Ví d : chuy n s 110001111000001011101011B thành s th p l c phân
1100
C
0111
7
1000
8
0010
2
1110
E
1011
B
Ta s nhóm t ng 4 bit s nh phân l i đ t o thành m t s th p l c phân:
1100B có giá tr là 12 t
1000B có giá tr 8 t
giá tr 14 t
ng ng v i „C‟, 0111B có giá tr 7 t
ng ng v i 8, 0010B có giá tr 2 t
ng ng v i „E”, 1011B có giá tr 11 t
ng ng v i 7,
ng ng v i 2, 1110B có
ng ng v i „B‟ trong h th p
l c phân. Do đó, s nh phân đã cho s có giá tr t
ng ng là C782EB trong h
th p l c phân.
i v i các s nh phân có s bit không chia h t cho 4, ta thêm các bit 0 vào
phía li n tr
c bit MSB đ đ
c s bit chia h t cho 4 r i nhóm l i theo cách trên.
Ví d : chuy n s 11101011011111B thành s th p l c phân
Do s bit c a s nh phân trên là 14 không chia h t cho 4 nên ta ph i thêm 2
bit 0 vào phía li n tr
c bit MSB đ t o thành s 0011101011011111B, sau đó
nhóm l i nh sau:
0011
3
1010
A
1101
D
Nh v y, s nh phân 11101011011111B t
1111
F
ng ng v i s 3ADFH
Vi c chuy n t s th p l c phân thành s nh phân đ
ng
c l i, t c là m t ch s th p l c phân đ
c phân tích thành 4 bit nh phân.
Ví d : chuy n s A3C5H thành s nh phân
A
3
C
5
1010 0011 1100 0101
6
c th c hi n theo cách
Ta có, „A‟ có giá tr 10 ng v i 1010B, 3 có giá tr 3 ng v i s 0011B, „C‟
có giá tr 12 ng v i s 1100B, 5 có giá tr 5 ng v i s 0101B. Nh v y, A3C5
trong h th p l c phân t
ng ng v i s 1010001111000101 trong h nh phân.
1.2. Các phép toán
1.2.1. Các phép toán logic
Các phép toán logic bao g m 4 phép toán c b n, đó là: NOT, AND, OR,
XOR, th
toán này đ
ng dùng đ di n t m t k t qu t các đi u ki n cho tr
c. Các phép
c th c hi n v i các toán h ng là các bit 0 (đi u ki n sai) và 1 (đi u ki n
đúng), k t qu cu i cùng c ng là m t bit 0 (k t qu sai) ho c 1 (k t qu đúng). Sau
đây ta s xét t ng phép toán.
a. Phép toán AND
Gi s z = x AND y
x
0
0
1
1
y
0
1
0
1
z
0
0
0
1
K t qu c a phép toán AND ch b ng 1 khi c hai toán h ng đ u b ng 1, t c
là k t qu ch đúng khi c hai đi u ki n đ u đúng.
b. Phép toán OR
Gi s z = x OR y
x
0
0
1
1
y
0
1
0
1
z
0
1
1
1
K t qu c a phép toán OR ch b ng 0 khi c hai toán h ng đ u b ng 0, t c là
k t qu ch sai khi c hai đi u ki n đ u sai.
c. Phép toán XOR
Gi s z = x XOR y
7
x
0
0
1
1
y
0
1
0
1
z
0
1
1
0
K t qu c a phép toán XOR b ng 0 khi hai toán h ng gi ng nhau, t c là k t
qu ch sai khi hai đi u ki n gi ng nhau (cùng đúng ho c cùng sai)
d. Phép toán NOT
Phép toán này ch có m t toán h ng. Gi s y = NOT x
x
0
1
K t qu y đ
y
1
0
c g i là bù c a toán h ng x.
1.2.2. Các phép toán s h c
Vi c th c hi n các phép toán s h c (c ng, tr , nhân, chia, …) trong h th p
phân đã quá quen thu c v i chúng ta, do đó, n i dung ph n này ch trình bày cách
th c hi n các phép toán s h c trong h nh phân.
a. Phép c ng
Phép c ng trong h nh phân đ
c th c hi n gi ng nh trong h th p phân
(c ng c t theo c t), ch có s khác bi t
đi m: h th p phân có 10 ch s (t 0 đ n
9) còn h nh phân ch có 2 ch s (0 và 1). Phép c ng hai ch s 0 và 1 đ
c th c
hi n theo quy t c sau đây.
Xét phép c ng y = a+b, s nh là c
a
0
0
1
1
b
0
1
0
1
y
0
1
1
0
c
0
0
0
1
C ng gi ng nh s th p phân, s nh s đ
Xét các ví d sau.
Ví d : th c hi n phép c ng 001B + 100B
001
100
101
8
c c ng vào bit cao h n k ti p.
Trong h th p phân, phép c ng này t
ng ng là 1+4=5 (001B = 1, 100B =
4, 101B = 5). ây là phép c ng không có s nh . Xét ví d ti p theo v i phép c ng
có s d ng s nh .
Ví d : th c hi n phép c ng 0011B + 0110B
S nh
S h ng th nh t
S h ng th hai
T ng
Trong h th p phân, phép c ng này t
11
0011
0110
1001
ng ng là 3+6=9
Ví d : th c hi n phép c ng 1011B + 0101B
S nh
S h ng th nh t
S h ng th hai
T ng
1111
1101
0111
10100
Trong h th p phân, phép c ng này t
ng ng là 13+7=20. Các s h ng
trong phép c ng là các s 4 bit, t ng 20 là m t s 5 bit. Do đó, trong tr
ng h p
t ng quát, n u s h ng l n h n có n bit thì t ng s có n+ 1 bit.
b. Phép tr
Phép tr trong h nh phân c ng đ
phân. Quy t c tr các bit nh phân đ
Xét phép tr y=a-b, s m
c th c hi n t
ng t nh trong h th p
c cho nh sau.
n là c
a
0
0
1
1
b
0
1
0
1
y
0
1
1
0
C ng gi ng nh s th p phân, s m
ns đ
c
0
1
0
0
c tr vào bit cao h n k ti p.
Xét các ví d sau đây.
Ví d : th c hi n phép tr 101B – 001B
101
001
100
Trong h th p phân, phép tr này t
s d ng s m
ng ng v i 5-1=4. Phép tr này không
n. Xét ví d ti p theo v i phép tr s d ng s m
9
n.
Ví d : th c hi n phép tr 1010B – 0110B
S m n
S b tr
S tr
Hi u
Trong h th p phân, phép tr này t
1
1010
0110
0100
ng ng v i 10-6=4.
c. Phép nhân
Phép nhân trong h nh phân c ng đ
c th c hi n t
ng t nh trong h th p
phân.
Ví d : th c hi n phép nhân 1011B x 1101B
Phép nhân trên trong h th p phân t
ng ng v i 11x13=143
Khi nhân m t s n bit v i m t s m bit, tích s s có m+ n bit
d. Phép chia
Phép chia trong h nh phân c ng đ
c th c hi n t
ng t nh trong h th p
phân.
Ví d : th c hi n phép chia 11011001B:1011B
Trong h th p phân, phép chia này t
19 và s d là 8.
10
ng ng v i 217:11 đ
c th
ng s là
1.3. Bi u di n s
Trong các n i dung trên, ta ch đ c p đ n các s nguyên không có d u.
Trong ph n này ta s tìm hi u cách bi u di n m t s nguyên có d u và s th p phân.
a. S có d u
Trong h nh phân, s có d u đ
t s bù 1, cách tính đ
c bi u di n b ng s bù 2. S bù 2 đ
c tính
c trình bày nh trong ph n sau.
S bù 1
S bù 1 c a m t s nh phân là m t s nh phân mà khi c ng v i s nh phân
đã cho thì t ng b ng 1
t t c các bit.
tìm s bù 1 c a m t s nh phân b t k , ta
ch c n đ i bit 0 thành 1 và 1 thành 0
Ví d :
S nh phân
01011
110100
1010011
S bù 1
10100
001011
0101100
S bù 2
S bù 2 c a m t s nh phân b ng s bù 1 c a nó c ng thêm 1
Ví d :
S nh phân
10011
110100
1010011
S có d u đ
S bù 1
01100
001011
0101100
S bù 2
01101
001100
0101101
c bi u di n b ng s bù 2 nh sau:
- Bit có tr ng s l n nh t (MSB) là bit d u. S d
ng có bit d u b ng 0, s
âm có bit d u b ng 1
- Các bit còn l i bi u di n giá tr th c c a s d
ng hay tr bù 2 c a s âm
- S có d u n bit bi u di n các giá tr t –(2n-1) đ n (2n-1-1)
Trong cách bi u di n s có d u, đ tìm s đ i c a m t s , ta ch c n tìm s
bù 2 c a s đó.
Ví d : tìm s nh phân bi u di n cho s -5
bi u di n s -5 (trong t m t -8 đ n 7), ta c n s nh phân có n=4 bit
-S 5t
ng ng v i s nh phân 4 bit là: 0101
- S bù 1 c a 0101B là: 1010B
11
- S bù 2 c a 0101B là: 1010B + 1 = 1011B
Do đó, s -5 t
ng ng v i s nh phân: 1011B
Ví d : s có d u và không d u 4 bit đ
c cho nh trong B ng 1.1
B ng 1.1. S có d u và không d u 4 bit
S nh phân
0111
0110
0101
0100
0011
0010
0001
0000
1111
1110
1101
1100
1011
1010
1001
1000
S th p phân (có d u)
7
6
5
4
3
2
1
0
-1
-2
-3
-4
-5
-6
-7
-8
S th p phân (không d u)
7
6
5
4
3
2
1
0
15
14
13
12
11
10
9
8
Nh ta đã bi t, trong h th p phân, phép tr có th đ
c th c hi n thông qua
phép c ng v i s âm, ví d nh : 14 - 5 có th th c hi n b ng phép c ng 14 + (-5).
Do đó, trong h s nh phân phép tr c ng có th đ
c th c hi n b ng cách c ng
v i s bù 2. Sau đây ta xét ví d th c hi n phép tr b ng cách nh v y.
Ví d : th c hi n phép tr 14 – 5
th c hi n phép tr trên tr
di n hai s tr và s b tr . Trong tr
c h t ta ph i xác đ nh s bit (n) dùng đ bi u
ng h p trên, đ bi u di n đ
c c hai s 14
và -5, s bit n=5
Trong h nh phân bi u di n s có d u: 14 = 01110B và -5 = 11011B. Do đó,
phép tr trên t
ng ng v i 01110B + 11011B
L u ý: ta c n ph i lo i b bit có tr ng s 2n (n u có) đ có k t qu đúng.
12
Trong tr
ng h p trên bit có tr ng s 25 là 1, do đó ta c n ph i lo i b bit
này. K t qu cu i cùng c a phép tr trên là: 01001B (t
ng ng v i s 9 trong h
th p phân).
Khi th c hi n c ng tr v i s có d u c n chú ý: n u k t qu n m ngoài ph m
vi bi u di n c a s có d u n bit thì k t qu sai.
s a sai ta ph i t ng s bit bi u
di n.
Ví d : th c hi n phép tính -4 – 5
Phép tính trên t
ng ng v i phép c ng -4 + (-5).
bi u di n đ
c -4 và -5
trong h nh phân ta c n n=4 bit, -4 = 1100B, -5 = 1011B
K t qu phép tính là 0111B, t c là +7 thay vì -9 nh mong mu n.
này, k t qu sai vì -9 n m ngoài ph m vi bi u di n c a s có d u 4 bit.
ví d
có k t
qu đúng, ta ph i t ng s bit bi u di n lên 5 bit, -4 = 11100B, -5 = 11011B
Phép tính cho k t qu là 10111B, t c là -9
b. S th p phân
bi u di n s th p phân trong h nh phân ta c ng dùng d u ch m t
ng t
nh trong h th p phân.
Ví d : 1100.1011B, 100.11B, 10.0101B, …
Cách chuy n đ i các s nh phân d ng này sang h th p phân c ng đ
hi n nh bình th
ng, các tr ng s t
ng ng c a các s sau d u ch m có s m
âm.
Ví d : chuy n s nh phân 1100.1011B sang h th p phân
3
1
b3
2
1
b2
1
0
b1
c th c
0
0.
b0
Trong h th p phân, s này là:
13
-1
1
b-1
-2
0
b-2
-3
1
b-3
-4
1
b-4
1*23 + 1*22 + 0*21 + 0*20 + 1*2-1 + 0*2-2 + 1*2-3 + 1*2-4 = 12.6875
chuy n m t s th p phân trong h th p phân sang h nh phân ta th c
hi n các b
c sau:
- Ph n nguyên: chuy n đ i bình th
ng nh đã mô t trong ph n 1.2
- Ph n th p phân: l y ph n th p phân nhân cho 2, ghi nh n l i ph n nguyên,
còn ph n th p phân ti p t c nhân cho 2. L p l i nhi u l n nh v y cho t i đ chính
xác mà ta mong mu n. Ph n th p phân là t p h p các ph n nguyên c a phép nhân.
Trong đó, s đ u tiên có tr ng s l n nh t c a ph n th p phân.
Ví d : chuy n s 12.6875 sang h nh phân
- Ph n nguyên 12 t
ng ng trong h nh phân là 1100B
- Ph n th p phân là 0.6875, đ chuy n sang h nh phân ta l y ph n này l n
l
t nhân cho 2
Phép nhân ph n th p phân cho 2
0.6875
x2 = 1.375
0.375
x2 = 0.75
0.75
x2 = 1.5
0.5
x2 = 1
Ph n nguyên c a phép nhân
1 (tr ng s l n nh t)
0
1
1
Do đó, ph n th p phân trong h nh phân là: .1011B
Ghép ph n nguyên và ph n th p phân ta đ
c k t qu chuy n đ i là:
1100.1011B
1.4. Bi u di n ký t
Nh đã gi i thi u trong ph n đ u c a ch
tính đ u đ
c bi u di n d
ch s , d u câu, …), ng
i d ng các s 0 và 1.
i ta th
ng, t t c các thông tin trong máy
bi u di n m t ký t (ch cái,
ng dùng m t t h p các bit 0 và 1. M t t p h p
các cách bi u di n cho t t c các ký t g i là m t b ng mã hay g i t t là mã. M t s
b ng mã chu n đã đ
c xây d ng đ dùng trong máy tính ho c trong truy n thông
nh : ASCII, Unicode, EBCDIC, … Sau đây là m t s mã đ
c s d ng ph bi n
trong máy tính hi n nay.
a. Mã ASCII
Mã ASCII đ
c t ch c mã chu n c a M xây d ng đ dùng trong trao đ i
thông tin. Mã ASCII s d ng m t t h p 7 bit nh phân đ bi u di n m t ký t , vì
14
v y mã này bi u di n đ
c t i đa 128 (27) ký t . Cách bi u di n các ký t đ
c mô
t nh B ng 1.2.
B ng 1.2. B ng mã ASCII
Các ký t có giá tr t 0000000 đ n 0011111 và 1111111 là các ký t không
in đ
c, ngh a là không th hi n th trên màn hình ho c b n in.
Ví d : t B ng 1.2, ta th y mã ASCII c a m t s ký t nh sau:
- Ch cái “a”: 1100001
- Ch cái “B”: 1000010
- Ch s “6”: 0110110
- D u ch m than (!): 0100001
b. Mã Unicode
Nh đã đ c p
ph n trên, b ng mã ASCII có th bi u di n đ
ký t , ngh a là có th bi u di n đ
c t i đa 128
c b ch Latinh, các d u câu và m t s ký t đ c
bi t. Tuy nhiên, kh n ng bi u di n nh v y v n ch a đ y đ do trên th gi i còn
r t nhi u ngôn ng v i nhi u nhi u m u ch khác nhau nh ti ng Vi t có thêm các
ch
„ ‟, „â‟, „ê‟, „ ‟, „ ‟, „ ‟, … Do đó, m t s
công ty công ngh l n nh
Microsoft, IBM, Google, Apple, Yahoo, Oracle … đã th ng nh t đ a ra m t b ng
mã ký t m i có kh n ng bi u di n đ
c t t c các ngôn ng trên th gi i, đó là
15
Unicode. Mã Unicode bi u di n ký t b ng m t t h p 16 bit, do đó, mã này có kh
n ng bi u di n đ
c 216 = 65536 ký t . V i s l
ng nh v y, mã Unicode có kh
n ng bi u di n g n nh t t c các ngôn ng khác nhau trên th gi i, k c các ngôn
ng s d ng ký t t
ng hình ph c t p nh Ti ng Trung Qu c, Ti ng Thái, …
CÂU H I ÔN T PăCH
NGă1
1. Chuy n các s sau sang s nh phân: 30; 52; 87; 100; 225; 65,625; 90,84375
2. Chuy n các s sau sang s th p l c phân: 90; 125; 241; 512; 1023
3. Bi u di n s 8 bit bù 2 c a các s sau: 79; -49; -125; -100; 115; -128
4. Cho chu i ký t sau: “DH Pham Van Dong”, hãy bi u di n chu i ký t này b ng
mã ASCII.
5. Th c hi n các phép tr sau b ng cách th c hi n phép c ng v i s bù 2
a. 10 – 15
b. 6 – 30
c. 63 – 31
d. 7 – 50
16
Ch
ngă2. GI I THI U CÁC H MÁY TÍNH
Ngày nay, máy tính đã tr nên quá quen thu c v i chúng ta. Chúng đ
cs
d ng r ng rãi cho nhi u m c đích, trong nhi u l nh v c khác nhau, t y h c, giáo
d c, kinh t đ n chính tr , k thu t, an ninh, qu c phòng, …
có đ
c hình dáng
nh g n, ti n l i và h u ích nh ngày nay, máy tính đã tr i qua quá trình phát tri n
lâu dài. Trong ch
ng này chúng ta s tìm hi u v l ch s các th h máy tính, các
thành ph n c b n nh t c a m t chi c máy tính qua các th i k và m t s cách phân
lo i máy tính. Ph n cu i cùng s trình bày v chi c máy tính theo ki n trúc Von
Neumann – Turring.
2.1. Các th h máy tính
Trong ph n này chúng ta chia s phát tri n c a máy tính thành nh ng giai
đo n nh , g i là th h . M i th h đ
c đ c tr ng b ng công ngh dùng đ xây
d ng nên chi c máy tính.
2.1.1. Th h zero
ây là th h các máy tính c khí, b t đ u t n m 1642, khi nhà toán h c
ng
i Pháp, Blaise Pascal, hoàn thành vi c xây d ng m t c máy tính toán có kh
n ng th c hi n đ
c phép c ng có nh và phép tr .
c khí s d ng các bánh r ng và đ
ây là thi t b hoàn toàn b ng
c cung c p l c nh m t cánh tay quay. Kho ng
30 n m sau đó, chi c máy tính toán ti p theo m i ra đ i, đó là phát minh c a nhà
toán h c ng
i
c, Leibniz. Chi c máy này có nhi u tính n ng h n chi c máy c a
Pascal, ngoài kh n ng c ng, tr , nó còn có th th c hi n đ
c c phép nhân và
chia. Nh ng c hai có m t đi m chung nh t, đó là không có kh n ng l p trình,
chúng đ
c th c hi n hoàn toàn th công.
Chi c máy tính ti p theo đ
tr
c phát minh vào n m 1822, khi giáo s toán
ng đ i h c Cambridge, Charles Babbage, xây d ng m t máy có kh n ng tính
các phép c ng, tr d a trên thu t toán sai phân nên còn đ
c g i là máy sai phân.
Bên c nh đó, n m 1833 ông c ng b t đ u nghiên c u và xây d ng m t chi c máy
khác, g i là máy phân tích, có nhi u u đi m h n so v i máy sai phân. Máy phân
tích có kh n ng th c hi n đ
c b t k m t phép tính toán h c nào. C u t o c a
máy phân tích c ng bao g m nhi u thành ph n gi ng nh m t chi c máy tính hi n
17
đ i nh : đ n v x lý toán h c, b nh , các thi t b xu t và nh p d li u. Máy phân
tích có kh n ng th c hi n đ
tr
c, còn đ
m i ch
c g i là ch
c m t lo t các phép tính d a trên m t k ho ch cho
ng trình. D li u đ
ng trình có d li u khác nhau, t
Công vi c vi t k ho ch cho máy còn đ
ng
c đ a vào máy b ng các th đ c l ,
ng ng v i các th đ c l khác nhau.
c g i là l p trình. Babbage đã thuê m t
i tên là Ada l p trình cho mình. Do đó, Ada đ
trên th gi i. Tên c a Ada sau này đ
c xem là l p trình viên đ u tiên
c đ t cho m t ngôn ng l p trình hi n đ i.
Máy sai phân và máy phân tích đ u là các máy c , vì v y, đ th c hi n các phép
tính l n, Babbage c n r t nhi u các bánh r ng đ
đ nh. Tuy nhiên, công ngh
c ch t o v i đ chính xác nh t
th k 19 không đ kh n ng đáp ng đ
này. M c dù không thành công, nh ng nh ng ý t
ng c a Babbage đã v
gian, th m chí ngày nay h u h t các máy tính đ u có c u trúc t
phân tích. Do đó, ông đ
c đi u ki n
t th i
ng t nh máy
c xem nh cha đ c a máy tính.
2.1.2. Th h đ u tiên (1945 ậ 1953)
ây là th h các máy tính s d ng đèn chân không. Vào n m 1930, m t
sinh viên k thu t ng
Babbage và đã có ý t
i
c, tên là Konrad Zuse đã tìm hi u l i thi t k c a
ng c i ti n thi t k này b ng cách thay các bánh r ng b ng
các r le. Chi c máy tính c a Zuse ra đ i có tên là Z1. Z1 c ng có kh n ng l p trình
đ
c, có b nh , đ n v tính toán, đ n v đi u khi n. Các công trình c a Zuse sau
đó không còn đ
c phát tri n do b phá h y trong chi n tranh, nh ng Zuse v n đ
xem là m t trong nh ng ng
c
i đi tiên phong trong vi c chuy n đ i chi c máy tính
t c sang đi n.
Chi c máy tính đ
c xem là hoàn toàn b ng đi n t đ u tiên đ
Mauchley và J.Presper Eckert ch t o và đ
c John
c gi i thi u vào n m 1946. Chi c máy
này có tên là ENIAC, s d ng 17.648 bóng đèn chân không, chi m di n tích kho ng
167m2 (1800 ft2), n ng kho ng 30 t n và tiêu th công su t kho ng 174KW. ENIAC
có 20 thanh ghi, m i thanh ghi có kh n ng l u tr m t s th p phân 10 ch s .
Các máy tính đèn chân không sau đó ti p t c ra đ i d a trên ki n th c c a
Mauchley và Eckert là: EDSAC (n m 1949) đ
ILLIAC
c thi t k t i đ i h c Cambridge,
đ i h c Illinois, WEIZAC t i vi n Weizmann
18
Israel.
Mauchley và Eckert sau đó l p công ty riêng và ti p t c phát tri n chi c máy
tính ti p theo là EDVAC. Công ty máy tính Mauchley – Eckert là ti n thân c a công
ty Univac và hi n t i là Unisys. Cùng th i gian này, m t ng
i trong nhóm d án
ENIAC, John von Neumann đã tách ra xây d ng chi c máy tính c a riêng mình,
mang tên IAS. Máy c a Neumann có 5 ph n c b n: b nh , đ n v s h c, đ n v
đi u khi n, thi t b nh p và thi t b xu t. IAS là chi c máy tính có kh n ng l u tr
ch
ng trình đ u tiên, là c s cho các máy tính s hi n nay.
N m 1953, IBM c ng s n xu t ra chi c máy tính đ u tiên c a công ty, đó là
701. Các n m sau đó, IBM ti p t c c i ti n và cho ra đ i các dòng s n ph m có b
nh l n h n và th c hi n đ
c nhi u ch c n ng h n, đó là 704 (n m 1956) và 709
(n m 1958).
2.1.3. Th h th hai (1954 ậ 1965)
ây là th h các máy tính s d ng transistor. N m 1948, ba nhà nghiên c u
t i ph ng thí nghi m Bell (Bell Lab), John Bardeen, Walter Brattain và William
Shockley đã phát minh ra transistor.
ây là m t công ngh m i mang tính cách
m ng trong ngành công nghi p máy tính nói riêng và đi n t
transistor tiêu th ít n ng l
nói chung. Vì
ng h n, nh h n r t nhi u và ho t đ ng tin c y h n so
v i đèn chân không, do đó, m ch máy tính c ng tr nên nh h n và ho t đ ng chính
xác h n. M c dù v y, máy tính trong th i k này v n khá đ t và k nh càng. Ch các
tr
ng đ i h c, chính ph ho c các công ty l n m i có đ kh n ng mua máy tính.
M t s công ty l n, n i b t trong n n công nghi p máy tính th i k này là: IBM,
DEC (Digital Equipment Corporation) và Univac (hi n nay là Unisys).
M t s máy tính trong th i k này là PDP-1, PDP-8 c a công ty DEC, 7090,
7094 và 1401 c a IBM, 6600 c a CDC. Các dòng máy c a DEC r h n nhi u so
v i c a IBM do t c đ c a các máy này th p h n r t nhi u so v i các máy IBM.
Các dòng 7090, 7094 là các phiên b n c i ti n c a th h máy tính s d ng đèn chân
không 709, trong khi 1401 là dòng máy đ
M t khái ni m l n đ u tiên đ
c IBM phát tri n m i, nh g n, giá r .
c s d ng cho máy CDC 6600, đó là x lý song
song. Trong đ n v x lý trung tâm có các thành ph n chuyên th c hi n các phép
tính toán s h c, ti t ki m th i gian đ b x lý trung tâm th c hi n các thao tác
19
khác nh qu n lý xu t, nh p, … Do đó, máy CDC6600, s n xu t n m 1964, có t c
đ nhanh h n c máy IBM 7094.
ây c ng là m t c t m c quan tr ng trong ngành
công nghi p máy tính.
2.1.4. Th h th ba (1965 ậ 1980)
ây là th h các máy tính s d ng m ch tích h p. M ch tích h p (còn g i là
IC) đ
đ
c nghiên c u và ch t o t nh ng n m 1950. Ý t
c đ xu t l n đ u tiên b i Jack Kilby, khi đó m ch đ
ng v m ch tích h p
c làm b ng Germani. Sau
đó, m ch tích h p g p m t s v n đ trong quá trình s n xu t và ho t đ ng nên
Robert Noyce (đ ng sáng l p các công ty Fairchild Semiconductor n m 1957 và
Intel n m 1968) đã đ xu t s d ng Silic đ ch t o các m ch tích h p. K thu t này
đ
c s d ng cho đ n ngày nay.
M t m ch tích h p cho phép ghép nhi u transistor trên m t m ch đ n và
đóng gói l i thành m t linh ki n duy nh t g i là chip. Vì v y, m ch tích h p có kích
th
c nh h n, t c đ ho t đ ng cao h n so v i m ch ghép các transistor riêng l .
M ch tích h p ra đ i m ra th i k phát tri n bùng n c a máy tính. Các máy tính
th i k này tr nên nh g n h n, t c đ cao h n và đ c bi t là tiêu th n ng l
ng ít
h n. Trong giai đo n này, IBM đã gi i thi u m t th h máy tính hoàn toàn m i, đó
là các máy tính thu c h System 360.
là chúng hoàn toàn t
i m n i b t c a các máy tính thu c h này
ng thích v i nhau, ngh a là các máy trong h s d ng cùng
m t h p ng , do đó, không c n ph i vi t l i ch
ng trình khi nâng c p m t máy nh
lên máy l n h n. Cùng th h này còn có các máy tính PDP-8 và PDP-11 c a DEC
và Cray-1 c a Cray Research Corporation, m t công ty máy tính do Seymour Cray
sáng l p. Seymour Cray là m t k s c a công ty CDC, thu c nhóm xây d ng máy
tính CDC 6600. Cray-1 có kh n ng th c hi n trên 160 tri u l nh trong m t giây và
h tr b nh 8 Megabytes
2.1.5. Th h th t (1980ăđ n nay)
ây là th h các máy tính s d ng m ch tích h p c l n VLSI. Theo th i
gian, k thu t ch t o vi m ch ngày càng đ
c c i ti n, do đó m c đ tích h p c a
vi m ch ngày càng l n. Các vi m ch có m c đ tích h p nh (SSI) ch a t 10 đ n
100 transistor trên m t chip, các vi m ch có m c đ tích h p trung bình (MSI) ch a
20
t 100 đ n 1000 transistor trên m t chip, các vi m ch tích h p l n (LSI) ch a t
1000 đ n 10000 transistor trên m t chip, các vi m ch tích h p siêu l n (VLSI) ch a
trên 10000 transistor trên m t chip. M c cu i cùng (VLSI) đánh d u s kh i đ u
c a th h máy tính th t .
V i vi m ch VLSI, Intel đã ch t o b vi x lý đ u tiên trên th gi i vào n m
1971, đó là 4004. Intel 4004 là vi x lý 4 bit, ch y
t n s 108KHz. Cùng th i
đi m này, Intel c ng gi i thi u b nh truy c p ng u nhiên (RAM) v i dung l
ng
c a m t chip nh là 4Kilobit (Kb).
Công ngh VLSI ngày càng ph bi n, v i m t đ tích h p ngày càng cao làm
cho máy tính ngày càng nh và r . N u nh
các th h tr
c, ch có m t s tr
đ i h c, doanh nghi p l n ho c t ch c chính ph m i trang b đ
đ n giai đo n này, các cá nhân đã có th mua đ
ng
c máy tính thì
c máy tính. N m 1981, IBM đã
gi i thi u chi c máy tính cá nhân (PC) đ u tiên, kh i đ u th i đ i máy tính cá nhân.
Hi n nay máy tính đã đ
c s d ng r ng rãi trên toàn th gi i v i nhi u m c
đích khác nhau. Do đó, các công ty c ng đã s n xu t ra r t nhi u lo i máy tính phù
h p v i t ng yêu c u. Ví d n u m t cá nhân s trang b cho mình m t máy tính đ
bàn (desktop) ho c laptop nh g n, ph c v cho các nhu c u đ n gi n trong công
vi c và cu c s ng, thì m t ngân hàng ph i trang b m t máy tính c l n (th
ng g i
là mainframe), các máy ch ph i là các siêu máy tính có t c đ r t cao, x lý m t
kh i l
ng l n công vi c, ph c v cho nhi u máy nh khác.
2.2. Ch căn ngămáyătính
M t cách t ng quát, m t máy tính có b n ch c n ng c b n sau:
+ Chuy n d li u: máy tính ph i có ch c n ng chuy n ho c trao đ i d li u
v i th gi i bên ngoài. Quá trình máy tính truy n ho c nh n d li u còn g i là quá
trình vào ra và các thi t b ph c v cho quá trình này g i là các thi t b ngo i vi.
M t s thi t b ngo i vi ph c v cho quá trình nh n (vào) d li u nh : chu t, bàn
phím, micro … M t s thi t b ngo i vi ph c v cho quá trình truy n (ra) d li u
nh : màn hình, máy in, loa, … Kho ng cách di chuy n d li u có th r t xa (nh
giao ti p v i máy ch thông qua m ng internet) ho c c ng có th r t g n (nh giao
ti p v i USB, bàn phím, chu t, …).
21