và trao đ i thông tin gi a bus bên trong internal bus và bus bên ngoài external bus.
Trang 1Ph m Quang D ng Bài gi ng Ki n trúc máy tính 1.3
̈ Nh n thông tin vào,
̈ X lý thông tin theo dãy các l nh đ c nh s n bên
trong,
̈ a thông tin ra.
¸ Dãy các l nh n m trong b nh đ yêu c u máy
Trang 2Ph m Quang D ng Bài gi ng Ki n trúc máy tính 1.5
Mô hình phân l p c a máy tính
(Application Programs)
Các ph n m m trung gian (Utilities)
H đi u hành (Operating System)
̈ Máy tính l n (Mainframe Computer)
̈ Siêu máy tính (Supercomputer)
Ph m Quang D ng Bài gi ng Ki n trúc máy tính 1.7
Ch ng 1: Gi i thi u chung
Phân lo i máy tính hi n đ i
Ph m Quang D ng Bài gi ng Ki n trúc máy tính 1.8
Ch ng 1: Gi i thi u chung
Máy tính đ bàn (Desktop)
¸ Là lo i máy tính ph bi n nh t
̈ Máy tính cá nhân (Personal Computer – PC)
̈ Máy tính tr m làm vi c (Workstation Computer)
Trang 3Ph m Quang D ng Bài gi ng Ki n trúc máy tính 1.10
Máy tính nhúng (Embedded Computer)
̈ Router - b đ nh tuy n trên m ng
Ph m Quang D ng Bài gi ng Ki n trúc máy tính 1.11
Ch ng 1: Gi i thi u chung
1.2 Ki n trúc máy tính
Ki n trúc máy tính bao g m hai khía c nh:
¸ Ki n trúc t p l nh (Intruction Set Architecture): nghiên c u
Trang 4Ph m Quang D ng Bài gi ng Ki n trúc máy tính 1.13
đ i thông tin gi a máy tính v i bên ngoài.
K t n i và v n chuy n thông tin gi a các thành
¸ ENIAC - Máy tính đi n t đ u tiên
̈ Electronic Numerical Intergator And Computer
̈ D án c a B Qu c phòng M
̈ Do John Mauchly và John Presper Eckert i
h c Pennsylvania thi t k
̈ B t đ u t n m 1943, hoàn thành n m 1946
Trang 6Ph m Quang D ng Bài gi ng Ki n trúc máy tính 1.21
c đi m chính c a máy tính IAS
¸ Bao g m các thành ph n: đ n v đi u khi n, đ n v s
h c và logic (ALU), b nh chính và các thi t b vào ra.
¸ B nh chính ch a ch ng trình và d li u.
¸ B nh chính đ c đánh đ a ch theo t ng ng n nh ,
không ph thu c vào n i dung c a nó.
¸ ALU th c hi n các phép toán v i s nh phân.
Ph m Quang D ng Bài gi ng Ki n trúc máy tính 1.22
John von Neumann và máy tính IAS
Ph m Quang D ng Bài gi ng Ki n trúc máy tính 1.23
Ch ng 1: Gi i thi u chung
Các máy tính th ng m i ra đ i
Trang 7̈ Máy tính l u tr ch ng trình đ u tiên c a IBM
̈ S d ng cho tính toán khoa h c
Corporation) máy tính mini đ u tiên
¸ Các ngôn ng l p trình b c cao ra đ i.
Trang 8Ph m Quang D ng Bài gi ng Ki n trúc máy tính 1.29
3 Máy tính dùng vi m ch SSI, MSI và LSI
¸ Vi m ch (Integrated Circuit – IC): nhi u transistor
và các ph n t khác đ c tích h p trên m t chip
bán d n.
̈ SSI (Small Scale Integratinon)
̈ MSI (Medium Scale Integration)
̈ LSI (Large Scale Integration)
̈ VLSI (Very Large Scale Integration) (dùng cho máy
¸ Gordon Moore - ng i đ ng sáng l p Intel
¸ S transistors trên chip s g p đôi sau 18 tháng
¸ Giá thành c a chip h u nh không thay đ i
Trang 9Ph m Quang D ng Bài gi ng Ki n trúc máy tính 1.33
Ph m Quang D ng Bài gi ng Ki n trúc máy tính 1.34
virtual memory
Trang 10Ph m Quang D ng Bài gi ng Ki n trúc máy tính 1.37
IBM 360/91
¸ c thi t k đ x lý d li u t c đ cao cho các ng d ng khoa h c
nh khám phá không gian, v t lý nguyên t , d báo th i ti t toàn c u.
¸ 16.6 tri u phép c ng/giây 1000 bài toán v i 200 t phép tính/ngày.
¸ 2-6 MB main memory, CPU có 5 đ n v x lý đ ng th i.
Ph m Quang D ng Bài gi ng Ki n trúc máy tính 1.38
̌ 100-160 tri u phép tính
d u ch m đ ng/giây (megaflops)
Trang 11Ph m Quang D ng Bài gi ng Ki n trúc máy tính 1.41
VAX 11/780 (1978) - máy tính 32-bit
Ph m Quang D ng Bài gi ng Ki n trúc máy tính 1.42
Osborne 1 (1980) - máy tính kh chuy n
¸ Máy tính "có th di chuy n" đ u tiên, kích th c
¸ Các b vi đi u khi n (Microcontroller): máy tính
chuyên d ng đ c ch t o trên m t chip.
Ph m Quang D ng Bài gi ng Ki n trúc máy tính 1.44
Trang 12Ph m Quang D ng Bài gi ng Ki n trúc máy tính 1.45
M t s H th ng Máy tính nhúng
Ph m Quang D ng Bài gi ng Ki n trúc máy tính 1.46
Siêu máy tính Earth Simulator c a NEC (2002)
Earth Simulator t i C quan Khoa
h c và Công ngh bi n Nh t B n (JAMSTEC), Yokohama, Japan
̌ 5200 processor
̌ 35860-40960 GFlops
Ph m Quang D ng Bài gi ng Ki n trúc máy tính 1.47
Ch ng 1: Gi i thi u chung
Siêu máy tính ASC Purple c a IBM (2005)
ASC Purple at Lawrence Livermore
National Laboratory
̌ 10240 processor
̌ 40960 GB main memory
Trang 13Ch ng 2: H th ng máy tính
2.1 Các thành ph n c a máy tính
¸ B x lý trung tâm (Central Processing Unit)
¸ H th ng vào ra (Input/Output System)
¸ Liên k t h th ng (System Interconnection)
Trang 14Ph m Quang D ng Bài gi ng Ki n trúc máy tính 2.5
T p các thanh ghi (RF)
n v ph i ghép bus (BIU)
bus đi u khi n bus d li u bus đ a ch
bus bên trong
Ph m Quang D ng Bài gi ng Ki n trúc máy tính 2.6
Các thành ph n c b n c a CPU
đ ng c a máy tính theo ch ng trình đã đ nh s n.
ALU): th c hi n các phép toán s h c và các phép toán logic trên các d li u c th
¸ T p thanh ghi (Register File - RF): l u gi các thông tin
t m th i ph c v cho ho t đ ng c a CPU.
và trao đ i thông tin gi a bus bên trong (internal bus)
và bus bên ngoài (external bus)
Trang 15Ph m Quang D ng Bài gi ng Ki n trúc máy tính 2.9
Ph m Quang D ng Bài gi ng Ki n trúc máy tính 2.10Các thành ph n c a b nh máy tính
¸ N i dung c a ng n nh có th thay đ i, song đ a ch v t lý c a
ng n nh luôn c đ nh
00101011 11010101 00001010 01011000 11111011
0000 0001 0010 0011 0100
Trang 16Ph m Quang D ng Bài gi ng Ki n trúc máy tính 2.13
B nh đ m nhanh (Cache memory)
Ph m Quang D ng Bài gi ng Ki n trúc máy tính 2.14
B nh ngoài (External memory)
3 H th ng vào-ra (Input/Output System)
¸ Ch c n ng: trao đ i thông tin gi a máy tính
̈ Các thi t b ngo i vi (Peripheral Devices)
Ch ng 2: H th ng máy tính
C u trúc c b n c a h th ng vào-ra
C ng vào- ra
C ng vào- ra
C ng vào- ra
Thi t b ngo i vi
Thi t b ngo i vi
Thi t b ngo i vi
Môđun vào-ra
N i ghép v i CPU và b
nh chính
Trang 17Ph m Quang D ng Bài gi ng Ki n trúc máy tính 2.17
Các thi t b ngo i vi
¸ Ch c n ng: chuy n đ i d li u gi a bên trong
và bên ngoài máy tính
¸ Các lo i thi t b ngo i vi (TBNV) c b n:
̈ Thi t b nh : các đ a …
Ph m Quang D ng Bài gi ng Ki n trúc máy tính 2.18
Trang 18Ph m Quang D ng Bài gi ng Ki n trúc máy tính 2.21
Trang 19Ph m Quang D ng Bài gi ng Ki n trúc máy tính 2.25
Ch ng trình đang th c hi n
.
Chuy n đ n
ch ng trình con
ph c v ng t
Y N
Trang 20Ph m Quang D ng Bài gi ng Ki n trúc máy tính 2.29
3 Ho t đ ng vào-ra
¸ Ho t đ ng vào-ra: là ho t đ ng trao đ i d li u
gi a TBNV v i bên trong máy tính
¸ Các ki u ho t đ ng vào-ra:
¸ r ng bus: là s đ ng dây c a bus có thtruy n các bit thông tin đ ng th i (ch dùng cho bus đ a ch và bus d li u)
Trang 21Ph m Quang D ng Bài gi ng Ki n trúc máy tính 2.33
¸ Ví d : B x lý Intel Pentium có bus đ a ch 32
bit å không gian đ a ch là 232byte = 4 GB
Ph m Quang D ng Bài gi ng Ki n trúc máy tính 2.34
Bus đi u khi n
¸ Ch c n ng: v n chuy n các tín hi u đi u khi n
M t s tín hi u đi u khi n đi n hình
¸ Các tín hi u phát ra t CPU đ đi u khi n đ ghi:
c-̈ Memory Read (MEMR): đi u khi n đ c d li u t
̈ Memory Write (MEMW): đi u khi n ghi d li u
đ n m t ng n nh có đ a ch xác đ nh
̈ I/O Read (IOR): đi u khi n đ c d li u t m t
c ng vào-ra có đ a ch xác đ nh lên bus d li u
̈ I/O Write (IOW): đi u khi n ghi d li u có s n trên bus d li u ra m t c ng có đ a ch xác đ nh
Trang 22Ph m Quang D ng Bài gi ng Ki n trúc máy tính 2.37
M t s tín hi u đi u khi n đi n hình (ti p)
¸ Các tín hi u đi u khi n ng t:
̈ Interrupt Request (INTR): tín hi u t b đi u
khi n vào-ra g i đ n yêu c u ng t CPU đ trao
đ i vào-ra Tín hi u INTR có th b che
̈ Interrupt Acknowledge (INTA): tín hi u phát ra
ch p nh n ng t đ trao đ i vào-ra
̈ Non Markable Interrupt (NMI): tín hi u ng t
̈ Reset: tín hi u t bên ngoài g i đ n CPU và các
thành ph n khác đ kh i đ ng l i máy tính
Ph m Quang D ng Bài gi ng Ki n trúc máy tính 2.38
M t s tín hi u đi u khi n đi n hình (ti p)
¸ Các tín hi u đi u khi n bus:
̈ Bus Request (BRQ): hay là Hold: tín hi u t
môđun đi u khi n vào-ra g i đ n yêu c u CPU
̈ Bus Grant (BGT) hay là Hold Acknowledge (HLDA): tín hi u phát ra t CPU ch p nh n
c a môđun nhanh nh t trong h th ng
¸ Bus h th ng ph thu c vào c u trúc bus (các
tín hi u) c a b x lý å các môđun nh và các
môđun vào-ra c ng ph thu c vào b x lý
¸ Vì v y c n ph i phân c p bus å đa bus
Ch ng 2: H th ng máy tính
3 Phân c p bus trong máy tính
¸ Phân c p bus cho các thành ph n:
¸ Phân c p bus khác nhau v t c đ
¸ Bus b nh chính và các bus vào-ra không phthu c vào b x lý c th
Trang 23Ph m Quang D ng Bài gi ng Ki n trúc máy tính 2.41
Các bus đi n hình trong PC
¸ Bus c a b x lý (Front Side Bus - FSB): có t c đ nhanh
nh t.
¸ Bus c a b nh chính (n i ghép v i các môđun RAM).
¸ AGP bus (Accelerated Graphic Port) - Bus đ h a t ng
t c: n i ghép card màn hình t ng t c.
¸ PCI bus (Peripheral Component Interconnection): n i
ghép v i các TBNV có t c đ trao đ i d li u nhanh.
¸ USB (Universal Serial Bus): Bus n i ti p đa n ng
¸ IDE (Integrated Driver Electronics): Bus k t n i v i đ a
¸ S phân x bus có th là t p trung ho c phân tán
̈ Phân x t p trung: có m t thi t b ph n c ng đi u khi n s truy nh p bus:
¸ c g i là B đi u khi n bus (Bus Controller) hay
Tr ng tài bus (Arbiter)
¸ Có th n m trên CPU ho c tách riêng
̈ Phân x phân tán: m i môđun có th đi u khi n bus,
nh ng có s đi u khi n logic trên t t c các môđun.
Trang 243.4 Th c hi n các phép toán s h c v i s nguyên3.5 S d u ch m đ ng
Trang 25Ph m Quang D ng Bài gi ng Ki n trúc máy tính 3.5
¸ Ch s nh phân g i là bit (binary digit)
¸ Bit là đ n v thông tin nh nh t
¸ Dùng n bit có th bi u di n đ c 2n giá tr khác nhau:
i i
Trang 26Ph m Quang D ng Bài gi ng Ki n trúc máy tính 3.9
Chuy n đ i s nguyên th p phân sang nh phân
Trang 27Ph m Quang D ng Bài gi ng Ki n trúc máy tính 3.13
Chuy n đ i s l th p phân sang nh phân (ti p)
Ph m Quang D ng Bài gi ng Ki n trúc máy tính 3.14
Chuy n đ i s l th p phân sang nh phân (ti p)
Trang 28Ph m Quang D ng Bài gi ng Ki n trúc máy tính 3.17
1 Nguyên t c chung v mã hoá d li u
¸ M i d li u đ a vào máy tính đ u đ c mã
hoá thành s nh phân
¸ Các lo i d li u
¸ Th ng là b i c a 8 bit
¸ VD: 8, 16, 32, 64 bit
Trang 29Ph m Quang D ng Bài gi ng Ki n trúc máy tính 3.21
¸ S nguyên không d u (Unsigned Integer)
¸ S nguyên có d u (Signed Integer)
Trang 30Ph m Quang D ng Bài gi ng Ki n trúc máy tính 3.25
2
n
i
i i
a A
Ph m Quang D ng Bài gi ng Ki n trúc máy tính 3.26
Các ví d
¸ Ví d 1: Bi u di n các s nguyên không d u sau đây b ng 8-bit:
Trang 31Ph m Quang D ng Bài gi ng Ki n trúc máy tính 3.29
¸ Tr c s h c:
¸ Tr c s h c máy tính:
0 255 254
1 2 3
Ph m Quang D ng Bài gi ng Ki n trúc máy tính 3.30
V i n = 16 bit, 32 bit, 64 bit
Trang 32Ph m Quang D ng Bài gi ng Ki n trúc máy tính 3.33
Ph m Quang D ng Bài gi ng Ki n trúc máy tính 3.34
n
i
i i n
a A
a A
Ch ng 3: Bi u di n d li u và s h c máy tính
Các ví d
¸ Ví d 1 Bi u di n các s nguyên có d u sau đây b ng 8 bit:
Trang 33Ph m Quang D ng Bài gi ng Ki n trúc máy tính 3.37
Trang 34Ph m Quang D ng Bài gi ng Ki n trúc máy tính 3.41
Chuy n đ i t byte thành word
å thêm 8 bit 1 bên trái
Ph m Quang D ng Bài gi ng Ki n trúc máy tính 3.42
3 Bi u di n s nguyên theo mã BCD
¸ Binary Coded Decimal Code
¸ Dùng 4 bit đ mã hoá cho các ch s th p phân t 0 đ n 9
Trang 35Ph m Quang D ng Bài gi ng Ki n trúc máy tính 3.45
1 Phép c ng s nguyên không d u
B c ng n-bit
Ph m Quang D ng Bài gi ng Ki n trúc máy tính 3.46
Nguyên t c c ng s nguyên không d u
Khi c ng hai s nguyên không d u n-bit, k t
qu nh n đ c là n-bit:
nh n đ c luôn luôn đúng (Cout = 0)
đ c là sai, ⇔ có tràn nh ra ngoài (Cout = 1)
¸ Tràn nh ra ngoài (Carry Out) x y ra khi t ng >2n-1
Trang 36Ph m Quang D ng Bài gi ng Ki n trúc máy tính 3.49
3 C ng s nguyên có d u
Khi c ng 2 s nguyên có d u n-bit không quan
tâm đ n bit Coutvà k t qu nh n đ c là n-bit:
Trang 37Ph m Quang D ng Bài gi ng Ki n trúc máy tính 3.53
5 Nhân s nguyên không d u
0 1011 1101 C, A ä A + M
0 0101 1110 D ch ph i 1 bit n = 3
0 0010 1111 D ch ph i 1 bit n = 2 1011
0 1101 1111 C, A ä A + M
0 0110 1111 D ch ph i 1 bit n = 1 1011
Trang 38Ph m Quang D ng Bài gi ng Ki n trúc máy tính 3.57
1110
0 / các giá tr kh i đ u / 1101
1101 1110
1110 1111
1111 0111
B đi
Ph m Quang D ng Bài gi ng Ki n trúc máy tính 3.58
7 Chia s nguyên không d u
0001 0010 Khôi ph c A, n = 0
/ các giá tr kh i đ u / 0111
1110
1110 1100
1100 1000
1001
D ch trái
A ä A - M = A + (-M) Khôi ph c A, n = 3
D ch trái
A ä A - M Khôi ph c A, n = 2
D ch trái
A ä A - M
Q0ä 1, n = 1
D ch trái 0010
Trang 39Ph m Quang D ng Bài gi ng Ki n trúc máy tính 3.61
Trang 40Ph m Quang D ng Bài gi ng Ki n trúc máy tính 3.65
Trang 41Ph m Quang D ng Bài gi ng Ki n trúc máy tính 3.69
Trang 42Ph m Quang D ng Bài gi ng Ki n trúc máy tính 3.73
Trang 43Ph m Quang D ng Bài gi ng Ki n trúc máy tính 3.77
hình, máy in …):
̈ BS, HT, LF, VT, FF, CR
¸ Các mã ký t đi u khi n truy n tin:
̈ SOH, STX, ETX, EOT, ENQ, ACK, NAK, SYN, ETB
256 ký t chu n
Trang 444.3 Ho t đ ng c a CPU4.4 C u trúc c a các b x lý tiên ti n4.5 Ki n trúc Intel
Ph m Quang D ng Bài gi ng Ki n trúc máy tính 4.3
Ü X lý d li u (Process Data): th c hi n phép toán s
h c hay phép toán logic v i các d li u
Ü Ghi d li u (Write Data): ghi d li u ra b nh hay
c ng vào-ra
Ph m Quang D ng Bài gi ng Ki n trúc máy tính 4.4
Ch ng 4: CPU
S đ c u trúc c b n c a CPU
Trang 45Ph m Quang D ng Bài gi ng Ki n trúc máy tính 4.5
Các thành ph n c b n c a CPU
¸ n v đi u khi n (Control Unit – CU)
¸ n v s h c và logic (Arithmetic and
Logic Unit - ALU)
¸ T p thanh ghi (Register File - RF)
¸ n v n i ghép bus (Bus Interface Unit
-BIU)
¸ Bus bên trong (Internal Bus)
Ph m Quang D ng Bài gi ng Ki n trúc máy tính 4.6
Trang 46Ph m Quang D ng Bài gi ng Ki n trúc máy tính 4.9
Mô hình k t n i đ n v đi u khi n
Ph m Quang D ng Bài gi ng Ki n trúc máy tính 4.10
Các tín hi u đ a đ n đ n v đi u khi n
¸ Clock: tín hi u nh p t m ch t o dao đ ng bên ngoài
¸ Mã l nh t thanh ghi l nh đ a đ n đ gi i mã
¸ Các c t thanh ghi c cho bi t tr ng thái
c a CPU
¸ Các tín hi u yêu c u t bus đi u khi n
Ph m Quang D ng Bài gi ng Ki n trúc máy tính 4.11
Ch ng 4: CPU
Các tín hi u phát ra t đ n v đi u khi n
¸ Các tín hi u đi u khi n bên trong CPU:
¸ Các tín hi u đi u khi n bên ngoài CPU:
Ph m Quang D ng Bài gi ng Ki n trúc máy tính 4.12
Ch ng 4: CPU
4 T p thanh ghi
¸ Ch c n ng và đ c đi m:
Trang 47Ph m Quang D ng Bài gi ng Ki n trúc máy tính 4.13
Phân lo i thanh ghi theo ch c n ng
thông tin đi u khi n và tr ng thái c a CPU
Ph m Quang D ng Bài gi ng Ki n trúc máy tính 4.14
M t s thanh ghi đi n hình
¸ Các thanh ghi đ a ch
̈ Con tr ng n x p SP (Stack Pointer)
(Base Register & Index Register)
¸ Các thanh ghi d li u
¸ Thanh ghi tr ng thái
Ph m Quang D ng Bài gi ng Ki n trúc máy tính 4.15
Trang 48Ph m Quang D ng Bài gi ng Ki n trúc máy tính 4.17
Thanh ghi con tr d li u
¸ Ch a đ a ch c a ng n nh d li u mà
CPU mu n truy nh p
¸ Th ng có m t s thanh ghi con tr d
li u
Ph m Quang D ng Bài gi ng Ki n trúc máy tính 4.18
Minh h a thanh ghi con tr d li u
̈ Thông tin đ c c t vào ng n nh đ c tr b i SP
¸ Khi l y m t thông tin ra kh i ng n x p:
̈ Thông tin đ c đ c t ng n nh đ c tr b i SP
̈ N i dung c a SP t đ ng t ng
¸ Khi ng n x p r ng, SP tr vào đáy
Trang 49Ph m Quang D ng Bài gi ng Ki n trúc máy tính 4.22
Thanh ghi c s và thanh ghi ch s
¸ C n có nhi u thanh ghi d li u
¸ Các thanh ghi s nguyên: 8, 16, 32, 64 bit
¸ Các thanh ghi s d u ch m đ ng
Trang 50Ph m Quang D ng Bài gi ng Ki n trúc máy tính 4.25
Thanh ghi tr ng thái (Status Register)
¸ Còn g i là thanh ghi c (Flag Register)
¸ Ch a các thông tin tr ng thái c a CPU
̈ Các c phép toán: báo hi u tr ng thái c a k t qu
̈ N u IF = 1 å CPU tr ng thái cho phép ng t v i tín
hi u yêu c u ng t t bên ngoài g i t i
̈ N u IF = 0 å CPU tr ng thái c m ng t v i tín hi u
yêu c u ng t t bên ngoài g i t i
Ph m Quang D ng Bài gi ng Ki n trúc máy tính 4.28