KIEN TRUC MAY TINH
TRƯỜNG ĐẠI HỌC THỦY LỢI
KHOA CÔNG NGHỆ THÔNG TIN
Bộ MÔN KỸ THUẬT MÁY TÍNH VÀ MẠNG
Phạm Thanh Bình (Chủ biên)
Nguyễn Thị Phương Thảo - Nguyễn Hằng Phương
KIẾN TRÚC MÁY TÍNH
NHÀ XUẤT BẢN BÁCH KHOA HÀ NỘI
MỤC LỤC
Danh mục từ viết tắt........................................................................................................13
Danh mục bảng biểu.......................................................................................................16
Danh mục hình vẽ............................................................................................................ 18
Lời nói đầu........................................................................................................................ 25
Chương 1.
1.1.
Giói thiệu.................................................................................................. 27
Cơ sở tốn học và các hệ đếm.......................................................................27
1.1.1.
Hệ thập phân..............................................................................................27
1.1.2.
Hệ đếm có vị trí......................................................................................... 29
1.1.3.
Hệ nhị phân................................................................................................ 29
1.1.4.
Chuyến đối giữa nhị phân và thập phân................................................. 30
1.1.5.
Hệ thập lục phân....................................................................................... 34
1.2.
Tổ chức và kiến trúc....................................................................................... 36
1.3.
Cấu trúc và chức năng................................................................................... 37
1.3.1.
Chức năng.................................................................................................. 38
1.3.2.
Cấu trúc...................................................................................................... 41
1.4.
Câu hỏi.............................................................................................................. 43
Chương 2.
2.1.
Sự phát triển của máy tính và hiệu năng.......................................... 45
Lịch sử máy tính..............................................................................................45
2.1.1.
Thế hệ đầu tiên: Đèn ống chân không................................................... 45
2.1.2.
Thế hệ thứ hai: Transistor........................................................................ 52
2.1.3.
Thế hệ thứ ba: Mạch tích hợp................................................................. 53
2.1.4.
Các thế hệ tiếp theo................................................................................... 59
2.2.
Các đặc điểm thiết kế máy tính................................................................... 63
2.2.1.
Tốc độ vi xử lý........................................................................................... 63
2.2.2.
Cân bằng hiệu suất.................................................................................... 64
2.2.3.
Cải tiến kiến trúc và tổ chức chip........................................................... 65
Kiến trúc máy tính
6
2.3.
Đa nhân, MIC và GPU.................................................................................. 66
2.4.
Kiến trúc Intel x86.......................................................................................... 67
2.5.
Hệ thống nhúng và kiến trúc ARM............................................................ 68
2.5.1.
Hệ thống nhúng......................................................................................... 68
2.5.2.
Sự phát triển của ARM.............................................................................71
2.6.
Câu hỏi...............................................................................................................72
Chương 3. Chức năng và kết nối máy tính............................................................. 73
3.1.
Các thành phần máy tính.............................................................................. 73
3.2.
Chức năng của máy tính............................................................................... 76
3.2.1.
Truy xuất và thực thi lệnh....................................................................... 76
3.2.2.
Ngắt............................................................................................................ 80
3.2.3.
Chức năng Vào/Ra................................................................................... 87
3.3.
Cấu trúc kết nối.............................................................................................. 88
3.4.
Kết nối bus........................................................................................................ 89
3.4.1.
Cấu trúc bus............................................................................................... 90
3.4.2.
Mơ hình phân cấp đa bus......................................................................... 91
3.4.3.
Các thành phần của thiết kế bus............................................................. 93
3.5.
Kết nối điểm-điểm........................................................................................... 97
3.5.1.
Lớp vật lý QPI........................................................................................... 99
3.5.2.
Lớp liên kết QPI...................................................................................... 100
3.5.3.
Lớp định tuyến QPI................................................................................ 101
3.5.4.
Lớp giao thức QPI...................................................................................101
3.6.
PCI Express.................................................................................................... 102
3.6.1.
Kiến trúc vật lý và logic của PCI..........................................................102
3.6.2.
Lóp vật lý PCIe....................................................................................... 104
3.6.3.
Lớp giao vận PCIe...................................................................................106
3.6.4.
Lớp liên kết dữ liệu PCIe.......................................................................108
7
3.7.
Câu hỏi............................................................................................................ 109
Chương 4. Bộ nhớ cache............................................................................................ 110
4.1.
Tổng quan hệ thống bộ nhớ máy tính..................................................... 110
4.1.1.
Các đặc tính của hệ thống bộ nhớ......................................................... 110
4.1.2.
Phân cấp bộ nhớ...................................................................................... 113
4.2.
Nguyên lý bộ nhớ cache...............................................................................115
4.3.
Các yếu tố thiết kế cache............................................................................. 118
4.3.1.
Địa chỉ cache............................................................................................. 119
4.3.2.
Kích thước cache..................................................................................... 120
4.3.3.
Hàm ánh xạ.............................................................................................. 122
4.3.4.
Thuật tốn thay thế.................................................................................. 132
4.3.5.
Chính sách ghi..........................................................................................133
4.3.6.
Kích thước line.........................................................................................134
4.3.7.
Số lượng cache........................................................................................ 134
4.4.
Tổ chức cache Pentium 4............................................................................ 137
4.5.
Câu hỏi.......................................................................................................... 1399
Chương 5. Bộ nhớ trong............................................................................................ 140
5.1.
Bộ nhớ bán dẫn.............................................................................................. 140
5.1.1.
Tổ chức.................................................................................................... 140
5.1.2.
DRAM và SRAM................................................................................... 141
5.1.3.
Các loại ROM - Bộnhớ chỉ đọc............................................................ 143
5.1.4.
Chip logic................................................................................................. 145
5.1.5.
Đóng gói chip...........................................................................................146
5.1.6.
Tổ chức module nhớ...............................................................................148
5.1.7.
Tố chức bộ nhớ đanxen.......................................................................... 149
5.2.
Sửa lỗi.............................................................................................................. 149
5.3.
Tổ chức DRAM mở rộng............................................................................ 155
Kiến trúc máy tính
8
5.3.1.
SDRAM - DRAMđồng bộ.................................................................... 156
5.3.2.
Rambus DRAM....................................................................................... 158
5.3.1.
DDR SDRAM.......................................................................................... 159
5.3.1.
Cache DRAM.......................................................................................... 159
5.4.
Câu hỏi.............................................................................................................. 160
Chương 6.
6.1.
Bộ nhớ ngoài........................................................................................... 162
Đĩa từ................................................................................................................ 162
6.1.1.
Cơ chế đọc và ghi từ............................................................................... 162
6.1.2.
Tổ chức dữ liệu........................................................................................ 163
6.1.3.
Đặc tính vật lý......................................................................................... 165
6.1.4.
Thơng số hiệu suất đĩa............................................................................ 167
6.2.
Raid................................................................................................................. 169
6.2.1.
RAID cấp 0.............................................................................................. 171
6.2.2.
RAID cấp 1.............................................................................................. 174
6.2.3.
RAID cấp 2.............................................................................................. 175
6.2.4.
RAID cấp 3.............................................................................................. 175
6.2.5.
RAID cấp 4.............................................................................................. 175
6.2.6.
RAID cấp 5.............................................................................................. 176
6.2.7.
RAID cấp 6.............................................................................................. 176
6.3.
Ổ đĩa bán dẫn SSD........................................................................................ 178
6.3.1.
Bộ nhớ flash............................................................................................ 178
6.3.2.
SSD so với HDD..................................................................................... 179
6.3.3.
Tổ chức SSD........................................................................................... 180
6.3.4.
Vấn đề thực tế.......................................................................................... 181
6.4.
Bộ nhớ quang............................................................................................... 182
6.4.1.
Đĩa CD...................................................................................................... 183
6.4.2.
CD-R........................................................................................................ 186
9
6.4.3.
CD-RW.................................................................................................... 186
6.4.4.
DVD.......................................................................................................... 186
6.4.5.
Đĩa quang độ phân giải cao.................................................................... 188
6.5.
Băng từ............................................................................................................ 188
6.6.
Câu hỏi............................................................................................................ 190
Chương 7.
7.1.
Module vào/ra (I/O).............................................................................. 191
Thiết bị ngoại vi............................................................................................. 191
7.1.1.
Bàn phím/Màn hình................................................................................ 193
7.1.2.
Ơ cứng.......................................................................................................194
7.2.
Các module I/O.............................................................................................. 194
7.2.1.
Chức năng của module........................................................................... 194
7.2.2.
Cấu trúc module I/O................................................................................ 196
7.3.
Các kỹ thuật vào/ra...................................................................................... 197
7.3.1.
I/O chương trình...................................................................................... 198
7.3.2.
I/O điều khiển ngắt................................................................................. 201
7.3.3.
Cơ chế DMA - Truy cập bộ nhớ trực tiếp........................................... 210
7.4.
Kênh vào/ra và Bộ xử lý vào/ra................................................................. 215
7.4.1.
Quá trình phát triên của các chức năng I/O......................................... 215
7.4.2.
Đặc điểm của các kênh I/O................................................................... 216
7.5.
Giao tiếp ngồi............................................................................................... 218
7.5.1.
Các loại giao tiếp.................................................................................... 218
7.5.2.
Cấu hình điểm-điểm và đa điểm...........................................................219
7.6.
Câu hỏi............................................................................................................ 219
Chương 8.
Tính tốn số học.................................................................................... 220
8.1.
Khối tính tốn số học và logic (ALU)...................................................... 220
8.2.
Biểu diễn số nguyên trong máy tính........................................................ 220
8.2.1.
Số ngun khơng dấu.............................................................................. 221
Kiến trúc máy tính
10
8.2.2.
8.3.
Số ngun có dấu................................................................................... 222
Các phép tốn số học vói số ngun......................................................... 228
8.3.1.
Phép đảo dấu........................................................................................... 228
8.3.2.
Phép tốn cộng và phép toán trừ.......................................................... 230
8.3.1.
Phép nhân................................................................................................ 232
8.3.2.
Phép chia................................................................................................. 241
8.4.
Biểu diễn dấu chấm động............................................................................ 244
8.4.1.
Nguyên tắc............................................................................................... 244
8.4.2.
Chuẩn IEEE cho biếu diễn số nhị phân dấu chấm động................... 248
8.5.
Các phép toán vói dấu chấm động........................................................... 254
8.5.1.
Phép cộng và phép trừ............................................................................ 255
8.5.2.
Phép nhân và phép chia......................................................................... 257
8.5.3.
Độ chính xác của phép tốn.................................................................. 260
8.5.4.
Chuẩn IEEE với các phép toán số học nhị phân dấu chấm động.... 261
8.6.
Câu hỏi............................................................................................................ 263
Chương 9.
9.1.
Tập lệnh: Đặc điếm và chức năng..................................................... 264
Đặc điểm của lệnh máy................................................................................ 264
9.1.1.
Các thành phần của lệnh máy................................................................ 264
9.1.2.
Biểu diễn lệnh.......................................................................................... 265
9.1.3.
Phân loại lệnh.......................................................................................... 267
9.1.4.
Số lượng địa chỉ trong lệnh................................................................... 268
9.1.5.
Các vấn đề thiết kế tập lệnh................................................................... 270
9.2.
Các kiểu toán hạng.......................................................................................271
9.2.1.
Số.............................................................................................................. 271
9.2.2.
Ký tự......................................................................................................... 272
9.2.3.
Dữ liệu logic............................................................................................ 273
9.3.
Kiểu dữ liệu trong Intel x86 và ARM...................................................... 273
11
9.3.1.
Các kiểu dữ liệu trong Intel x86........................................................... 273
9.3.1.
Các kiểu dữ liệu trong ARM................................................................ 275
9.3.2.
Hỗ trợ Endian.......................................................................................... 276
9.4.
Các loại hành động....................................................................................... 276
9.4.1.
Truyền dữ liệu........................................................................................ 279
9.4.2.
Xử lý số học............................................................................................ 279
9.4.3.
Xử lý logic...............................................................................................280
9.4.4.
Điều khiển vào/ra.................................................................................... 283
9.4.5.
Điều khiển hệ thống............................................................................... 283
9.4.6.
Chuyển điều khiển (rẽ nhánh)............................................................... 284
9.5.
Câu hỏi............................................................................................................ 288
Chương 10. Tập lệnh: chế độ địa chỉ và định dạng............................................290
10.1. Chế độ địa chỉ................................................................................................ 290
10.1.1.
Địa chỉ tức thì......................................................................................... 292
10.1.2.
Địa chỉ trực tiếp...................................................................................... 293
10.1.3.
Địa chỉ gián tiếp...................................................................................... 293
10.1.4.
Địa chỉ thanh ghi................................................................................... 294
10.1.5.
Địa chỉ gián tiếp thanh ghi.................................................................... 295
10.1.6.
Địa chỉ dịch chuyển............................................................................... 296
10.1.7.
Địa chỉ ngăn xếp.................................................................................... 298
10.2. Định dạng lệnh............................................................................................... 299
10.2.1.
Kích thước lệnh...................................................................................... 299
10.2.2.
Phân bổ các bit........................................................................................ 300
10.2.3.
Các lệnh có độ dài thay đổi.................................................................. 303
10.3. Câu hỏi............................................................................................................ 307
Chương 11. Cấu trúc và chức năng của bộ xử lý................................................. 308
11.1.
Tổ chức của bộ xử lý................................................................................... 308
Kiến trúc máy tính
12
11.2. Tổ chức thanh ghi......................................................................................... 310
11.2.1.
Thanh ghi hiên thị với người dùng...................................................... 310
11.2.2. Thanh ghi điều khiển và trạng thái.......................................................311
11.2.3. Ví dụ tổ chức thanh ghi vi xử lý........................................................... 312
11.3. Chu kỳ lệnh.................................................................................................... 314
11.3.1.
Chu kỳ gián tiếp..................................................................................... 314
11.3.2.
Luồng dữ liệu.......................................................................................... 315
11.4. Pipeline lệnh...................................................................................................317
11.4.1.
Chiến lược pipelining............................................................................. 318
11.4.2. Hazard trong pipeline............................................................................. 323
11.4.3. Đối phó với hazard rẽ nhánh................................................................. 325
11.4.4. Pipeline trong Intel 80486..................................................................... 331
11.5. Câu hỏi............................................................................................................ 332
Tài liệu tham khăo........................................................................................................ 334
Danh mục từ viết tắt
■
Từ viết tắt
Tiếng Anh
Tiếng Việt
AC
Accumulator
Bộ cộng tích lũy
ALU
Arithmetic and Logic Unit
Khối tính tốn số học và logic
ARM
Arcon RISC Machine
Cơng nghệ ARM
CAV
Constant Angular Velocity
Vận tốc góc khồng đổi
CD
Compact Disk
ĐĩaCD
CD-R
CD Recordable
Đĩa CD ghi được
CD-ROM
Compact Disk Read-Only Memory
Đĩa CD chỉ đọc
CD-RW
CD Rewritable
Đĩa CD ghi lại được
CISC
Complex Instruction Set Computer
Máy tính tập lệnh phức tạp
CLV
Constant Linear Velocity
Tốc độ tuyến tính không đối
CPU
Central Processing Unit
Bộ xử lý trung tâm
CU
Control Unit
Khối điều khiến
DDRAM
Dynamic RAM
RAM động
DEC
Digital Equipment Corporation
Công ty thiết bị số
DMA
Direct Memory Access
Truy cập bộ nhớ trực tiếp
DVD
Digital Versatile Disk
Đĩa DVD
DVD -R
DVD Recordable
Đĩa DVD ghi được
DVD -ROM
DVD Read-Only Memory
Đĩa DVD chỉ đọc
DVD -RW
DVD Rewritable
Đĩa DVD ghi lại được
EDVAC
Electronic Discrete Variable Com
puter
Máy tính EDVAC
EEPROM
Electrically Erasable Programm
able Read-Only Memory
Bộ nhớ chỉ đọc, xóa được bằng điện
ENIAC
Electronic Numerical Integrator
And Computer
Máy ENIAC
EPROM
Erasable Programmable
Only Memory
Bộ nhớ chỉ đọc, Lập trình được, Xóa
được
GPU
Graphics Processing Unit
Read-
Bộ xử lý đồ họa
Kiến trúc máy tính
14
HDD
Hard Disk Drive
Ố đĩa cứng
I/O
Input/Output
Vào/ra
Máy tính IAS
IAS
IBR
Instruction Buffer Register
Thanh ghi đệm chứa tập lệnh
INTR
INTerupted Request
Yêu cầu ngắt
INTA
INTerupted Acceptance
Chấp nhận ngắt
IOH
I/O Hub
IR
Instruction Register
Thanh ghi tập lệnh
ISR
Interrupt Service Routine
Trình phục vụ ngắt
LFU
Least Frequently Used
Thuật toán LFU
LRU
Least Recently Used
Thuật toán LRU
LSI
Large-Scale Integration
Mạch tích hợp cỡ lớn
MAR
Memory Address Register
Thanh ghi địa chỉ bộ nhớ
MBR
Memory Buffer Register
Thanh ghi đệm dữ liệu
MIC
Many Integrated Core
Đa nhân tích hợp
MMU
Memory Management Unit
Khối phần cứng quản lý bộ nhớ
MQ
Multiplier Quotient
Bộ nhân chia
MTTR
Mean Time To Repair
Thời gian trung bình đê sửa chữa
OEM
Original Equipment manufacturer
Nhà sản xuất thiết bị gốc
PC
Program Counter
Bộ đếm chương trình
PCI
Peripheral Component Intercon
nect
Bộ ghép nối thiết bị ngoại vi
PCIe
PCI Express
Chuân PCI Express
PROM
Programmable Read-Only Mem
ory
Bộ nhớ chỉ đọc, Lập trình được
PSW
Program Status Word
Thanh ghi trạng thái chương trình
QPI
QuickPath Interconnect
Cơng nghệ QPI
RAID
Redundant Array of Independent
Disks
Mảng dư thừa các đĩa độc lập
15
RISC
Reduced Instruction Set Computer
Máy tính tập lệnh rút gọn
ROM
Read-Only Memory
Bộ nhớ chỉ đọc
RPS
Rotational Positional Sensing
Kỹ thuật RPS
SDRAM
Synchronous DRAM
DRAM đồng bộ
SEC
Single-Error-Correcting
Mã sửa một lỗi
SEC-DED
Single-Error-Correcting,
Mã phát hiện hai lỗi-sửa một lỗi
Double-Error-Detecting
SP
Stack Pointer
Con trỏ ngăn xếp
SRAM
Static RAM
RAM tĩnh
SSD
Solid State Drive
Ô đĩa bán dẫn
SSI
Small-Scale Integration
Mạch tích hợp cỡ nhỏ
Thiết bị ngoại vi
TBNV
ULSI
Ultra-Large-Scale Integration
Mạch tích hợp cực kỳ lớn
UNIVAC
Universal Automatic Computer
Máy tính INIVAC
VLSI
Very-Large-Scale Integration
Mạch tích hợp rất lớn
Danh mục bảng biêu
Bảng 1.1. Vị trí của một số thập phân........................................................................... 28
Bảng 1.2. Vị trí của một số trong hệ cơ số 8.................................................................29
Bảng 1.3. Thập phân, nhị phân và thập lục phân......................................................... 35
Bảng 2.1. Tập lệnh trong IAS.......................................................................................... 50
Bảng 2.2. Các thế hệ máy tính.........................................................................................53
Bảng 2.3. Các đặc điểm chính của họ System/360....................................................... 57
Bảng 2.4. Sự phát triển của PDP-8................................................................................. 58
Bảng 2.5. Quá trình phát triên của vi xử lý Intel.......................................................... 61
Bảng 2.6. Ví dụ về các hệ thống nhúng và thị trường của chúng............................... 69
Bảng 2.7. Sự phát triển của ARM................................................................................... 71
Bảng 3.1. Các loại ngắt.....................................................................................................80
Bảng 3.2. Các yếu tố trong thiết kế bus......................................................................... 94
Bảng 4.1. Đặc tính quan trọng của hệ thống bộ nhớ máy tính................................. 110
Bảng 4.2. Các yếu tố thiết kế cache.............................................................................. 119
Bảng 4.3. Kích thước cache của một số bộ xử lý....................................................... 120
Bảng 4.4. Sự phát triên của cache Intel........................................................................137
Bảng 5.1. Các loại bộ nhớ bán dẫn.............................................................................. 141
Bảng 5.2. Kích thước từ tăng do việc sử dụng Mã sửa lỗi........................................ 152
Bảng 5.3. So sánh hiệu suất của các chip DRAM thay thế........................................ 156
Bảng 5.4. Các chân SDRAM......................................................................................... 157
Bảng 6.1. Đặc tính vật lý của hệ thống đĩa.................................................................. 166
Bảng 6.2. Các thông số ổ đĩa điển hình....................................................................... 167
Bảng 6.3. Các cấp RAID............................................................................................... 170
Bảng 6.4. So sánh các cấp RAID.................................................................................. 177
Bảng 6.5. So sánh ổ đĩa bán dẫn SSD và ổ cứng HDD............................................. 180
Bảng 6.6. Các sản phẩm đĩa quang............................................................................... 182
Bảng 7.1. Các kỹ thuật vào/ra........................................................................................ 197
Bảng 8.1. Các đặc điểm chính của dạng biểu diễn bù hai.........................................223
17
Bảng 8.2. Các dạng biếu diễn khác nhau đối với số nguyên 4 bit.......................... 225
Bảng 8.3. Quy định trong chuẩn IEEE 754................................................................. 250
Bảng 8.4. Các định dạng IEEE...................................................................................... 251
Bảng 8.5. Các quy ước biếu diễn số nhị phân dấu chấm động trong IEEE 754 ....252
Bảng 8.6. Thực hiện các phép toán dấu chấm động................................................... 255
Bảng 8.7. Các phép toán sinh ra Quiet NaN............................................................. 262
Bảng 9.1. Cách sử dụng địa chỉ lệnh (Lệnh không rẽ nhánh)................................. 269
Bảng 9.2. Các kiểu dữ liệu trong Intel x86................................................................. 274
Bảng 9.3. Các hành động của tập lệnh.........................................................................277
Bảng 9.4. Hoạt động của bộ xử lý tương ứng với từng loại hành động.................. 278
Bảng 9.5. Các phép tốn logic cơ bản.......................................................................... 280
Bảng 9.6. Ví dụ cho phép dịch và xoay vòng.............................................................283
Bảng 10.1. Các chế độ địa chỉ cơ bản.......................................................................... 292
Danh mục hình vẽ
Hình 1.1 Ví dụ chuyển đổi từ thập phân sang nhị phân đốivới phần nguyên................. 31
Hình 1.2 Ví dụ chuyển đổi từ thập phân sang nhị phân đốivới phần phân số................ 33
Hình 1.3 Các chức năng chính của máy tính..................................................................... 39
Hình 1.4 Một số hoạt động của máy tính.......................................................................... 40
Hình 1.5 Máy tính............................................................................................................... 41
Hình 1.6 Cấu trúc phân cấp của máy tính......................................................................... 42
Hình 2.1 Cấu trúc máy tính IAS........................................................................................ 46
Hình 2.2 Định dạng bộ nhớ IAS........................................................................................47
Hình 2.3 Cấu trúc mở rộng của máy IAS......................................................................... 48
Hình 2.4 Một phần lưu đồ hoạt động của IAS.................................................................. 49
Hình 2.5 Các linh kiện máy tính cơ bản........................................................................... 54
Hình 2.6 Mối quan hệ giữa tấm khn Wafer, Chip và Cong logic............................... 55
Hình 2.7 Mức tăng số lượng transistor trên mạch tích hợp............................................. 56
Hình 2.8 Cấu trúc bus PDP-8............................................................................................. 59
Hình 2.9 Tốc độ dữ liệu điển hình của thiết bị vào/ra..................................................... 65
Hình 2.10 Tổ chức tổng quát của một hệ thống nhúng.................................................... 70
Hình 3.1. Lập trình phần cứng và phần mềm................................................................... 74
Hình 3.2. Các thành phần máy tính.................................................................................. 75
Hình 3.3 Chu kỳ lệnh cơ bản............................................................................................. 76
Hình 3.4 Đặc tính của máy giả thiết................................................................................. 77
Hình 3.5 Ví dụ về thực hiện chương trình (dữ liệu trong bộnhớ và thanh ghi biểu diễn
dưới dạng số thập lục phân)............................................................................... 78
Hình 3.6 Đồ thị trạng thái chu kỳ lệnh............................................................................. 79
Hình 3.7 Tiến trình của chương trình khơng có và có ngắt............................................. 81
Hình 3.8 Luồng điều khiển trong trường hợp có ngắt..................................................... 82
Hình 3.9 Chu kỳ lệnh có ngắt........................................................................................... 83
Hình 3.10 Tiến trình thời gian của chương trình: trường hợp thời gian đợi hoạt động
Vào/ra ngắn..................................................................................................... 83
Chương 1: Giới thiệu
19
Hình 3.11 Tiến trình thời gian của chương trình: trường hợp thời gian đợi hoạt động
Vào/ra dài...........................................................................................................84
Hình 3.12 Sơ đồ trạng thái chu kỳ lệnh có ngắt................................................................ 85
Hình 3.13 Truyền điều khiển trong trường hợp đa ngắt.................................................. 86
Hình 3.14 Ví dụ q trình xử lý đa ngắt ưu tiên...............................................................87
Hình 3.15 Các module máy tính........................................................................................ 89
Hình 3.16 Sơ đồ kết nối bus............................................................................................... 90
Hình 3.17 Cấu hình bus..................................................................................................... 93
Hình 3.18 Hoạt động bus đồng bộ.................................................................................... 95
Hình 3.19 Hoạt động của bus khơng đồng bộ...................................................................96
Hình 3.20 cấu hình đa nhân sử dụng QPI........................................................................ 98
Hình 3.21 Các lớp QPI....................................................................................................... 99
Hình 3.22 Giao diện vật lý của kết nối QPI Intel............................................................ 100
Hình 3.23 Phân bố bit vào các làn QPI........................................................................... 100
Hình 3.24 cấu hình kết nối sử dụng PCIe...................................................................... 103
Hình 3.25 Các lớp giao thức PCIe................................................................................... 103
Hình 3.26 Phân bố đa làn PCIe........................................................................................ 104
Hình 3.27 Sơ đồ khối quá trình truyền và nhận PCIe.................................................... 105
Hình 3.28 Định dạng đơn vị dữ liệu giao thức PCIe...................................................... 107
Hình 3.29 Định dạng yêu cầu bộ nhớ TLP..................................................................... 108
Hình 4.1 Phân cấp bộ nhớ................................................................................................ 114
Hình 4.2 Cache và bộ nhớ chính...................................................................................... 115
Hình 4.3 Cấu trúc Cache/BỘ nhớ chính.......................................................................... 116
Hình 4.4 Hành động đọc cache........................................................................................ 117
Hình 4.5 Tổ chức cache điển hình................................................................................... 118
Hình 4.6 Cache vật lý và cache logic...............................................................................120
Hình 4.7 Ánh xạ từ Bộ nhớ chính sang Cache: Trực tiếp và Kết hợp.......................... 123
Hình 4.8 Tố chức cache ánh xạ trực tiếp........................................................................ 124
20
Kiến trúc máy tính
Hình 4.9 Ví dụ ánh xạ trực tiếp........................................................................................ 125
Hình 4.10 Tố chức cache kết hợp tồn phần................................................................... 126
Hình 4.11 Ví dụ ánh xạ kết hợp....................................................................................... 127
Hình 4.12 Ánh xạ từ Bộ nhớ chính sang Cache: Ket hợp tập họp k chiều................... 129
Hình 4.13 Tổ chức cache kết hợp tập hợp k chiều.......................................................... 130
Hình 4.14 Ví dụ ánh xạ kết hợp tập hợp 2 chiều............................................................ 131
Hình 4.15 Sự biến thiên của mức độ kết hợp theo kích thước cache............................ 132
Hình 4.16 Tỷ lệ truy cập thành cơng tổng cộng (LI và L2) với LI 8 Kbyte và
16 Kbyte.......................................................................................................... 135
Hình 4.17 Sơ đồ giản lược của tố chức Pentium 4..................................................... 138
Hình 5.1 Các hoạt động của ơ nhớ................................................................................... 140
Hình 5.2 Cấu trúc ơ nhớ bộ nhớ thơng thường............................................................... 142
Hình 5.3 Tổ chức bộ nhớ DRAM 16MÒ (4M X 4)........................................................ 145
Hình 5.4 Sơ đồ chân và tín hiệu của các chip bộ nhớ.....................................................147
Hình 5.5 Tổ chức bộ nhớ 256KByte................................................................................ 148
Hình 5.6 Tổ chức bộ nhớ 1MByte................................................................................... 149
Hình 5.7 Cơ chế sửa lỗi.................................................................................................... 150
Hình 5.8 Mã sửa lỗi Hamming........................................................................................ 151
Hình 5.9 Vị trí các bit dữ liệu và bit kiểm tra................................................................. 153
Hình 5.10 Tính tốn mã kiêm tra..................................................................................... 154
Hình 5.11 Mã Hamming SEC-DEC................................................................................ 155
Hình 5.12 DRAM đồng bộ (SDRAM)............................................................................. 157
Hình 5.13 Tiến trình thời gian hoạt động Đọc SDRAM (kích thước burst = 4,
độ trễ CSA = 2).............................................................................................. 158
Hình 5.14 Cấu trúc RDRAM........................................................................................... 159
Hình 5.15 Đồ thị thời gian DDR SDRAM..................................................................... 160
Hình 6.1 Đầu đọc điện từ/ghi điện cảm.......................................................................... 163
Hình 6.2 Bố trí dữ liệu trên đĩa........................................................................................ 164
Chương 1: Giới thiệu
21
Hình 6.3 So sánh các phưong pháp bố trí đĩa................................................................. 164
Hình 6.4 Các thành phần cúa O đĩa cứng........................................................................ 166
Hình 6.5 Track và cylinder.............................................................................................. 166
Hình 6.6 Thời gian truyền vào/ra của đĩa....................................................................... 168
Hình 6.7 Các cấp RAID................................................................................................... 172
Hình 6.8 Ánh xạ dữ liệu trong mảng RAID cấp 0..........................................................173
Hình 6.9 Hoạt động của bộ nhớ flash............................................................................. 179
Hình 6.10 Kiến trúc ổ đĩa SSD........................................................................................ 181
Hình 6.11 Hoạt động của CD........................................................................................... 184
Hình 6.12 Định dạng block CD-ROM............................................................................ 185
Hình 6.13 CD-ROM và DVD-ROM................................................................................187
Hình 6.14 Đặc tính bộ nhớ quang.................................................................................... 188
Hình 6.15 Đặc tính điên hình của băng từ...................................................................... 189
Hình 7.1 Mơ hình cơ bản của các module vào/ra........................................................... 192
Hình 7.2 Sơ đồ khối của các thiết bị ngồi..................................................................... 193
Hình 7.3 Sơ đồ khối Module I/O..................................................................................... 196
Hình 7.4 Ba kỹ thuật Đọc một khối dữ liệu vào............................................................. 199
Hình 7.5 So sánh I/O ánh xạ bộ nhớ và I/O riêng biệt................................................... 200
Hình 7.6 Quá trình xử lý ngắt đơn giản.......................................................................... 202
Hình 7.7 Sự thay đổi Bộ nhớ và Thanh ghi khi có Ngắt................................................ 204
Hình 7.8 Kỹ thuật nhiều đường ngắt............................................................................... 205
Hình 7.9 Kỹ thuật thăm dị phần mềm............................................................................ 205
Hình 7.10 Kỳ thuật chuỗi Daisy......................................................................................205
Hình 7.11 Bộ điều khiển Ngắt 82C59A.......................................................................... 207
Hình 7.12 Chip Intel 82C55A.......................................................................................... 208
Hình 7.13 Giao diện Bàn phím/Màn hình với 82C55A................................................. 209
Hình 7.14 Sơ đồ khối DMA............................................................................................. 211
Hình 7.15 Điểm ngắt của DMA và của Ngắt trong chu kỳ lệnh................................... 211
22
Kiến trúc máy tính
Hình 7.16 Các cấu hình DMA......................................................................................... 212
Hình 7.17 DMA 8237...................................................................................................... 214
Hình 7.18 Kiến trúc Kênh I/O......................................................................................... 217
Hình 7.19 Giao tiếp song song và nối tiếp...................................................................... 218
Hình 8.1 Đầu vào và đầu ra khối ALƯ............................................................................ 220
Hình 8.2 Sử dụng hộp giá trị để chuyển đổi thập phân - nhị phân............................... 226
Hình 8.3 Phép cộng hai số biểu diễn dạng bù hai........................................................... 230
Hình 8.4 Phép trừ hai số biểu diễn bù hai (M — S)........................................................ 231
Hình 8.5 Biểu diễn hình học các số nguyên bù hai........................................................ 232
Hình 8.6 Sơ đồ khối phần cứng bộ cộng và bộ trừ......................................................... 233
Hình 8.7 Nhân hai số ngun nhị phân khơng dấu......................................................... 233
Hình 8.8 Phần cứng thực hiện phép nhân hai số nhị phân khơng dấu.......................... 234
Hình 8.9 Sơ đồ thuật tốn phép nhân hai số nhị phân khơng dấu................................. 235
Hình 8.10 Nhân hai số nguyên không dấu 4-bit, ta được kết quả 8-bit........................ 236
Hình 8.11 So sánh phép nhân giữa các số ngun khơng dấu và số bù hai.................. 237
Hình 8.12 Thuật tốn Booth’s cho phép nhân hai số bù hai.......................................... 238
Hình 8.13 Ví dụ Thuật tốn Booth’s (7 X 3).................................................................. 238
Hình 8.14 Ví dụ Thuật tốn Booth’s............................................................................... 239
Hình 8.15 Ví dụ phép chia hai số ngun nhị phân khơng dấu..................................... 241
Hình 8.16 Sơ đồ thuật toán phép chia số nhị phân khơng dấu.................................... 242
Hình 8.17 Ví dụ phép chia hai số bù hai (7/3)................................................................ 243
Hình 8.18 Định dạng biểu diễn dấu chấm động 32-bit.................................................. 245
Hình 8.19 Các số có thể biểu diễn với định dạng 32-bit................................................ 247
Hình 8.20 Mật độ các số dấu chấm động........................................................................ 248
Hình 8.21 Các định dạng IEEE 754.................................................................................249
Hình 8.22 Sơ đồ thuật tốn phép cộng và phép trừ X + Y -» z..................................... 256
Hình 8.23 Phép nhân dấu chấm động X X Y -* z........................................................... 258
Hình 8.24 Phép chia dấu chấm động X/Y -> z............................................................... 259
Chương 1: Giới thiệu
23
Hình 8.25 Guard bit.......................................................................................................... 260
Hình 8.26 Phân bố số của định dạng nhị phân 32-bit theo chuẩn IEEE 754................ 263
Hình 9.1 Sơ đồ trạng thái chu kỳ lệnh............................................................................. 265
Hình 9.2 Một định dạng lệnh đơn giản............................................................................ 266
Hình 9.3 Chương trình tính biểu thức Y = A - BC + (D X E)....................................... 268
Hình 9.4 Các kiểu dữ liệu trong x86................................................................................275
Hình 9.5 Hỗ trợ Endian trong ARM - Tải/lưu trữ word với bit E................................. 276
Hình 9.6 Phép dịch và xoay vịng.................................................................................... 282
Hình 9.7 Lệnh rẽ nhánh.................................................................................................... 285
Hình 9.8 Thủ tục lồng nhau.............................................................................................. 287
Hình 9.9 Sử dụng ngăn xếp đế thực thi các chương trình conlồng nhau ở Hình 9.8. .288
Hình 10.1 Các chế độ địa chỉ........................................................................................... 291
Hình 10.2 Địa chỉ tức thì.................................................................................................. 292
Hình 10.3 Địa chỉ trực tiếp............................................................................................... 293
Hình 10.4 Địa chỉ gián tiếp.............................................................................................. 294
Hình 10.5 Địa chỉ thanh ghi............................................................................................. 295
Hình 10.6 Địa chỉ gián tiếp thanh ghi.............................................................................. 296
Hình 10.7 Địa chỉ dịch chuyển.........................................................................................296
Hình 10.8 Địa chỉ ngăn xếp.............................................................................................. 299
Hình 10.9 Định dạng lệnh PDP-8.................................................................................... 302
Hình 10.10 Định dạng lệnh PDP-10................................................................................ 303
Hình 10.11 Tập lệnh của PDP-11.................................................................................... 305
Hình 10.12 Ví dụ một số lệnh VAX................................................................................ 306
Hình 11.1 CPU và bus hệ thống.......................................................................................309
Hình 11.2 Cấu trúc bên trong CPU................................................................................. 309
Hình 11.3 Ví dụ tố chức thanh ghi vi xử lý................................................................... 313
Hình 11.4 Chu kỳ gián tiếp.............................................................................................. 315
Hình 11.5 Sơ đồ trạng thái chu kỳ lệnh........................................................................... 316
24
Kiến trúc máy tính
Hình 11.6 Luồng dữ liệu, chu kỳ truy xuất.................................................................... 317
Hình 11.7 Luồng dữ liệu, chu kỳ gián tiếp.................................................................... 317
Hình 11.8 Luồng dữ liệu, chu kỳ ngắt............................................................................ 318
Hình 11.9 Pipeline lệnh hai giai đoạn..............................................................................319
Hình 11.10 Biếu đồ thời gian của hành động pipeline lệnh........................................... 320
Hình 11.11 Anh hưởng của nhánh có điều kiện tới hoạt động của pipeline lệnh........ 321
Hình 11.12 Pipeline lệnh CPU sáu giai đoạn.................................................................. 322
Hình 11.13 Một cách mơ tả khác về pipeline..................................................................323
Hình 11.14 Ví dụ về hazard tài ngun........................................................................... 324
Hình 11.15 Ví dụ về hazard dữ liệu................................................................................. 326
Hình 11.16 Bộ đệm vịng lập........................................................................................... 327
Hình 11.17 Lưu đồ dự đốn nhánh.................................................................................. 329
Hình 11.18 Lưu đồ trạng thái dự đốn nhánh................................................................. 330
Hình 11.19 Ví dụ pipeline lệnh 80486............................................................................ 332
Lời nói đâu
Giáo trình “Kiến trúc máy tính” là tài liệu được biên soạn dựa trên cuốn “Computer
Organization and Architecture” của tác giả William Stallings cùng một số tài liệu trong và
ngồi nước khác. Giáo trình này được dùng làm tài liệu giảng dạy chính thức cho mơn học
Kiến trúc máy tính, đây là mơn học cơ sở của ngành Công nghệ thồng tin cũng như các ngành
liên quan khác của Trường đại học Thủy Lợi.
Tài liệu cung cấp những kiến thức cơ bản về tổ chức và kiến trúc của máy tính bao
gồm: Chức năng và kết nối trong máy tính, các mơ đun vào/ra, bộ nhớ, bộ xử lý số học và
logic, bộ xử lý trung tâm... Từ kiến thức học được, sinh viên biết vận dụng đê giải thích bản
chất đối với một số mơn học khác thuộc chuyên ngành được đào tạo. Mỗi chương đều có
phần giới thiệu giúp người học dễ nắm bắt kiến thức hơn. Các câu hỏi ôn tập giúp người học
kiểm tra mức độ nắm bắt kiến thức sau khi học mỗi chương.
Giáo trình gồm 11 chương như sau:
Chương 1. Giới thiệu
Chương 2. Sự phát triển của máy tính và hiệu năng
Chương 3. Chức năng và kết nối máy tính
Chương 4. Bộ nhớ cache
Chương 5. Bộ nhớ trong
Chương 6. Bộ nhớ ngoài
Chương 7. Module vào/ra (I/O)
Chương 8. Tính tốn số học
Chương 9. Tập lệnh: Đặc điểm và chức năng
Chương 10. Tập lệnh: Chế độ địa chỉ và định dạng
Chương 11. Cấu trúc và chức năng của bộ xử lý
Mặc dù đã hết sức cố gắng, song do thời gian có hạn, giáo trình khơng tránh khỏi
những thiếu sót. Kính mong các đồng nghiệp và người đọc đóng góp ý kiến để giáo trình
được hồn thiện hơn.
Xin trân trọng cảm ơn!
NHĨM BIÊN SOẠN