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Ả[.]
Trang 3KHOA 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
Trang 5Danh 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 Giói thiệu 27
1.1 Cơ sở toá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ậpphâ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ấutrúc 41
1.4 Câu hỏi 43
Chương 2 Sự phát triển của máy tính và hiệu năng 45
2.1 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ácthế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ânbằng hiệu suất 64
2.2.3 Cải tiến kiến trúc và tổ chức chip 65
Trang 62.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 đabus 91
3.4.3 Các thành phần củathiếtkế 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ênkết QPI 100
3.5.3 Lớp định tuyến QPI 101
3.5.4 Lớp giaothức QPI 101
3.6 PCI Express 102
3.6.1 Kiến trúc vậtlý và logic củaPCI 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ênkết dữ liệu PCIe 108
Trang 73.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ủahệ 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 toánthay 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 Chiplogic 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ớ đan xen 149
5.2 Sửa lỗi 149
5.3 Tổ chức DRAM mở rộng 155
Trang 85.3.1 SDRAM - DRAMđồng bộ 156
5.3.2 RambusDRAM 158
5.3.1 DDR SDRAM 159
5.3.1 Cache DRAM 159
5.4 Câu hỏi 160
Chương 6 Bộ nhớ ngoài 162
6.1 Đĩa từ 162
6.1.1 Cơchế đọc và ghitừ 162
6.1.2 Tổ chứcdữ liệu 163
6.1.3 Đặctính vật lý 165
6.1.4 Thôngsố 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 ĐĩaCD 183
6.4.2 CD-R 186
Trang 96.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 Module vào/ra (I/O) 191
7.1 Thiết bị ngoại vi 191
7.1.1 Bànphí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ủamodule 194
7.2.2 Cấutrúc moduleI/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ểnngắt 201
7.3.3 Cơ chế DMA - Truy cập bộ nhớ trựctiế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ểmcủa cáckênh I/O 216
7.5 Giao tiếp ngoà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 toán số học 220
8.1 Khối tính toá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ố nguyên không dấu 221
Trang 108.2.2 Sốnguyên có dấu 222
8.3 Các phép toán số học vói số nguyên 228
8.3.1 Phép đảodấu 228
8.3.2 Phép toán cộng và phép toántrừ 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ẩnIEEE chobiế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ủaphép toán 260
8.5.4 ChuẩnIEEE với cácphé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 Tập lệnh: Đặc điếm và chức năng 264
9.1 Đặ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
Trang 119.3.1 Các kiểu dữ liệu trongIntel x86 273
9.3.1 Cáckiể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ềukhiể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ántiếp 293
10.1.4 Địa chỉ thanh ghi 294
10.1.5 Địa chỉ gián tiếpthanh ghi 295
10.1.6 Địa chỉ dịch chuyển 296
10.1.7 Địa chỉ ngănxếp 298
10.2 Định dạng lệnh 299
10.2.1 Kích thướclệnh 299
10.2.2 Phân bổ các bit 300
10.2.3 Cáclệ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
Trang 1211.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
Trang 13Từ viết tắt Tiếng Anh Tiếng Việt
CD-ROM Compact Disk Read-Only Memory ĐĩaCD chỉ đọc
CISC Complex Instruction SetComputer Máytính tập lệnh phức tạp
DEC DigitalEquipment Corporation Công ty thiết bị số
EDVAC ElectronicDiscrete Variable Com
puter
Máytính EDVAC
EEPROM Electrically Erasable Programm
able Read-Only Memory
Bộ nhớchỉ đọc, xóa đượcbằngđiện
ENIAC Electronic Numerical Integrator
Trang 14HDD Hard Disk Drive Ốđĩa cứng
IBR Instruction Buffer Register Thanh ghi đệm chứa tập lệnh
OEM OriginalEquipment manufacturer Nhà sản xuất thiết bịgốc
nect
Bộ ghép nối thiết bị ngoại vi
ory
Bộ nhớchỉ đọc,Lập trình được
Disks
Mảng dưthừa các đĩa độc lập
Trang 15RISC ReducedInstruction SetComputer Máytính tập lệnh rút gọn
SEC-DED Single-Error-Correcting,
Double-Error-Detecting
Mã phát hiệnhai lỗi-sửa một lỗi
ULSI Ultra-Large-Scale Integration Mạch tích hợp cực kỳ lớn
UNIVAC Universal Automatic Computer Máytính INIVAC
VLSI Very-Large-ScaleIntegration Mạch tích hợp rấtlớn
Trang 16Bảng 1.1 Vị trí của mộtsố thập phân 28
Bảng 1.2 Vị trí của mộtsố trong hệ cơ số 8 29
Bảng 1.3 Thậpphâ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ảng2.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ìnhphá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ủahệ thốngbộ 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íchthước cache của mộtsố bộ xử lý 120
Bảng4.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ụngMã sửalỗi 152
Bảng 5.3 So sánh hiệu suất của cácchip DRAM thay thế 156
Bảng 5.4 Các chân SDRAM 157
Bảng 6.1 Đặc tính vậtlý củahệ thống đĩa 166
Bảng 6.2 Các thôngsố ổ đĩa điển hình 167
Bảng 6.3 Các cấpRAID 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ảnphẩm đĩa quang 182
Bảng7.1 Cáckỹ 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
Trang 17Bảng 8.2 Các dạng biếu diễnkhá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ấuchấm động trong IEEE754 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ácphép toán sinh ra Quiet NaN 262
Bảng 9.1 Cáchsử dụng địa chỉ lệnh (Lệnh khôngrẽ nhánh) 269
Bảng 9.2 Cáckiể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ủabộ xử lýtươngứng với từng loại hành động 278
Bảng 9.5 Cácphép toá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
Trang 18Hình 1.1 Ví dụ chuyển đổi từ thập phân sang nhịphân đốivới phầnnguyên 31
Hình 1.2 Ví dụ chuyểnđổi từ thậpphân sang nhị phân đốivớiphầnphân số 33
Hình 1.3 Các chứcnăng chính của máy tính 39
Hình 1.4 Một số hoạtđộng của máytính 40
Hình 1.5 Máy tính 41
Hình 1.6Cấu trúc phân cấp của máy tính 42
Hình 2.1 Cấu trúcmáytínhIAS 46
Hình 2.2 Định dạng bộ nhớIAS 47
Hình2.3 Cấu trúcmởrộng của máy IAS 48
Hình 2.4Một phần lưu đồ hoạt động của IAS 49
Hình2.5 Cáclinh kiện máytính cơ bản 54
Hình2.6 Mốiquan hệ giữa tấm khuônWafer, Chip và Cong logic 55
Hình 2.7 Mức tăng số lượng transistortrênmạch tích hợp 56
Hình 2.8Cấu trúcbus PDP-8 59
Hình 2.9Tốcđộ dữ liệu điển hình của thiếtbị vào/ra 65
Hình2.10 Tổchức tổng quát củamộthệ thốngnhúng 70
Hình3.1 Lậptrình phần cứng và phầnmềm 74
Hình 3.2 Các thành phần máy tính 75
Hình3.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ựchiện chương trình (dữ liệutrong bộnhớ và thanh ghi biểu diễn dưới dạngsố thập lục phân) 78
Hình 3.6Đồ thị trạng thái chu kỳ lệnh 79
Hình3.7 Tiến trình của chương trình không có và có ngắt 81
Hình3.8 Luồngđiềukhiển trong trường hợp có ngắt 82
Hình3.9 Chu kỳ lệnhcó 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/rangắn 83
Trang 19Hì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ệnhcó ngắt 85
Hình 3.13 Truyềnđiềukhiển trong trường hợp đa ngắt 86
Hình 3.14 Ví dụ quá 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.22Giao diện vật lý củakết nối QPI Intel 100
Hình 3.23 Phân bố bitvào các làn QPI 100
Hình 3.24 cấu hình kết nối sửdụngPCIe 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ốiquá trình truyền vànhậnPCIe 105
Hình 3.28 Định dạngđơnvị dữ liệu giao thức PCIe 107
Hình 3.29 Địnhdạng yêu cầubộnhớTLP 108
Hình4.1 Phân cấp bộ nhớ 114
Hình4.2 Cachevà bộ nhớchính 115
Hình 4.3 Cấu trúcCache/BỘ nhớ chính 116
Hình 4.4 Hành động đọc cache 117
Hình 4.5 Tổchứccache điển hình 118
Hình4.6 Cache vật lývàcachelogic 120
Hình 4.7 Ánh xạ từ Bộ nhớ chính sang Cache: Trực tiếp và Kếthợp 123
Hình 4.8 Tốchứccache ánh xạ trực tiếp 124
Trang 20Hình 4.9 Ví dụ ánh xạ trực tiếp 125
Hình 4.10 Tốchức cache kết hợp toà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: Kethợp tập họp kchiều 129
Hình 4.13 Tổchức cache kết hợp tập hợpk chiều 130
Hình 4.14 Ví dụ ánh xạ kết hợptập hợp 2chiều 131
Hình 4.15 Sựbiếnthiên của mức độ kết hợptheokíchthước cache 132
Hình 4.16 Tỷ lệ truy cậpthành công tổng cộng (LI và L2) với LI 8 Kbytevà 16 Kbyte 135
Hình4.17 Sơđồ giản lược củatố chức Pentium4 138
Hình 5.1 Các hoạt động của ô nhớ 140
Hình5.2Cấu trúc ônhớbộ nhớ thông thường 142
Hình5.3 Tổ chức bộnhớDRAM 16MÒ (4M X 4) 145
Hình5.4 Sơ đồ chân và tín hiệucủa các chipbộ nhớ 147
Hình 5.5 Tổ chức bộ nhớ256KByte 148
Hình 5.6Tổ chức bộnhớ 1MByte 149
Hình5.7Cơ chế sửa lỗi 150
Hình5.8 Mã sửa lỗiHamming 151
Hình5.9Vị trí các bit dữ liệuvà bitkiểmtra 153
Hình 5.10 Tính toán mã kiêm tra 154
Hình 5.11 Mã Hamming SEC-DEC 155
Hình5.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ình5.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ệncảm 163
Hình6.2 Bố trídữ liệu trên đĩa 164
Trang 21Hình 6.3 So sánh các phưong pháp bố trí đĩa 164
Hình 6.4Cácthành phần cúa O đĩa cứng 166
Hình 6.5 Track và cylinder 166
Hình 6.6Thời gian truyền vào/racủa đĩa 168
Hình 6.7 Cáccấ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ếntrú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ínhbộ 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ị ngoài 193
Hình 7.3 Sơđồ khối Module I/O 196
Hình7.4 Ba kỹthuậtĐọcmộ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ình7.6 Quátrình xử lý ngắt đơn giản 202
Hình 7.7 Sự thay đổi Bộ nhớvà Thanh ghi khicó 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ình7.11 Bộ điều khiểnNgắt 82C59A 207
Hình7.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 DMAvàcủaNgắttrong chu kỳ lệnh 211
Trang 22Hình 7.16Các cấuhình DMA 212
Hình 7.17 DMA 8237 214
Hình 7.18 Kiến trúc KênhI/O 217
Hình 7.19Giao 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ụnghộpgiá trị để chuyển đổi thập phân - nhịphân 226
Hình 8.3Phé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ễnbù hai (M — S) 231
Hình 8.5Biểu diễnhình học các số nguyên bù hai 232
Hình 8.6 Sơ đồ khối phần cứng bộ cộngvà bộ trừ 233
Hình 8.7 Nhân hai số nguyên nhị phân không dấu 233
Hình 8.8Phần cứng thực hiện phép nhân hai số nhị phânkhông dấu 234
Hình8.9 Sơ đồ thuật toánphép nhânhai số nhị phânkhô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ánhphép nhân giữa các số nguyên không dấu và số bù hai 237
Hình 8.12 Thuật toán Booth’s cho phép nhân hai số bù hai 238
Hình 8.13 Ví dụ Thuật toán Booth’s (7 X 3) 238
Hình 8.14 Ví dụ Thuật toán Booth’s 239
Hình 8.15 Ví dụ phép chia hai số nguyên nhịphân không dấu 241
Hình 8.16Sơ đồ thuật toánphép chiasố 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ểudiễn dấu chấm động 32-bit 245
Hình 8.19Các số có thể biểu diễn với định dạng32-bit 247
Trang 23Hình 8.25 Guard bit 260
Hình 8.26 Phân bố số của định dạngnhị phân 32-bit theochuẩn IEEE754 263
Hình 9.1 Sơđồ trạng thái chu kỳ lệnh 265
Hình 9.2Mộtđịnh dạng lệnhđơn giản 266
Hình 9.3 Chương trình tínhbiểuthức Y =A - BC + (D X E) 268
Hình 9.4Cáckiểu dữ liệu trongx86 275
Hình 9.5 Hỗ trợ Endian trongARM - Tải/lưu trữ word vớibit E 276
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 thanhghi 296
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
Trang 24Hình 11.6Luồng dữliệu, chu kỳ truyxuất 317
Hình 11.7Luồ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.9Pipeline lệnh hai giai đoạn 319
Hình 11.10 Biếuđồ thời gian của hành độngpipeline 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ệnhCPU sáu giai đoạn 322
Trang 25Giáo trình “Kiến trúc máy tính” là tài liệu đượcbiên soạn dựa trên cuốn “ComputerOrganization and Architecture” của tác giả William Stallings cùng một số tài liệu trong vàngoà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ếntrúcmá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ànhliênquan 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 baogồ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ứchọ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áccâu hỏi ôntập giúp người học kiểm tra mức độnắm bắt kiến thức saukhi 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áytính và hiệu năng
Chương 3 Chức năng và kết nốimáy tính
Chương 11 Cấutrúc và chứcnă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 hoàn thiện hơn
Xintrântrọng cảm ơn!
Trang 27Giới thiệu■
Giáotrình này giớithiệu với các bạn sinh viênvềcấutrúc và chứcnăngcủamáytính.Chúng tôi mong muốn trình bàymộtcách rõ ràng, cụ thế nhất cóthế về các đặc điếmvàtínhchất của các hệmáytính hiện đại ngày nay Tuy nhiên, có haivấn đề gặp phải như sau:
Thứ nhất, hiện nay trên thị trường có rất nhiều các dòng sản phẩm máy tính khácnhau, từ những máy tính đơn chip giá rẻ đến các siêu máy tính giá hàng chục triệu đô la Không chỉ giá thành, chúngcòn khác nhau từ kích thước, hiệu năng vàứng dụng Thứ hai, công nghệ máy tính thay đôi mộtcách nhanh chóng từ việc sử dụng các mạch tích hợpđế chế tạo các thành phần máy tính đến các khái niệm tổchức song song trong việc kết hợp các thànhphần đó
Mặc dùcó sự đa dạngcũng như tốc độ thay đốicông nghệ nhanh chóng, các hệmáytính ngày nay vẫn tuântheomộtsốkháiniệm cơ bản xuyênsuốt Trong cuốn sách này,chúngtôi trình bày một cách kỹ lưỡng về các khái niệmcơ bản của tố chức và kiến trúc máy tínhcũng như một số các vấn đề thiết kếmáytínhhiện đại Trước hết, đế bắt đầu chúng tasẽ cùng tìmhiểu về một số cơsởtoánhọc quan trọng
1.1 Cơ sở toán học và các hệ đếm
1.1.1 Hệ thập phân
Thông thường chúng ta sử dụng một hệ thống dựa trên mười chữ số thập phân (0, 1, 2, 3, 4, 5,6, 7, 8, 9) để biểudiễn các số, và hệ thống như thếđược gọi làhệ thậpphân.Hãy xét ýnghĩa của số 65 Nó cónghĩalà sáu chục cộng với năm:
Trang 28phần này được ngăncáchvới nhau bởi dấuchấmthậpphân1 Phầnphân số thậpphân (là phần đứng sau dấu chấm - sau đây gọi tắt là Phần phân số) cũng tuân theo nguyên tắc biểu diễntươngtự như trên, nhưng số mũ i là âm.Như vậy, phân số thập phân 0.134 là 1 phần mười cộng với 3 phầntrăm cộng với 4phần nghìn hay là:
0.134 =(1 X 10’1) + (3 X 10’2) + (4 X 10’3)
Một số có cả phần nguyên và phầnphân số thì các chữsốđược nhân với 10 mũ ỉ,với
ỉcó cả giá trị dươngvà âm:
534.478 = (5 X 102)+ (3 X 101 +4 X 10°) + (4 X 101 + (7 X 10’2) + (8 X 10’3)
Trong một sốbất kỳ, chữ số ngoài cùng bên trái được gọi làchữ số quan trọng nhất(chữ số cótrọngsố lớn nhất), bởi vì nómang giá trị lớn nhất.Các chữsố ngoài cùng bên phảiđược gọi làchữ số ít quan trọng nhất (chữ số có trọng số nhỏ nhất) Trong số thậpphân ởví
dụ trên, số 5 phía bên trái làchữ số có trọng sốlớn nhất và số 8 bên phải là chữ số có trọng
sốnhỏ nhất
Bảng 1.1 chothấymốiquanhệgiữavịtrícủachữsố và giá trị được gán cho vịtrí đó Mỗi vị trí có trọng số lớn gấp 10 lần giá trị trọng số củavị trí bênphải nó và bằng một phần mười giá trị trọng số của vị trí bên trái nó Nếu chúng tađánh thứ tự vị tríchữ số như ví dụtrongBảng 1.1, thì vị trí icó trọng số là 10Í
í 1) Dấu thập phân trong tiếng Việt là dấu phẩy (,) Tuy nhiên, để dễ dàng tiếp thu và vận dụng kiến
thức trong ngành công nghệ thông tin, chúng ta sử dụng dấu thập phân là dấu chấm (.) theo chuẩn chung
quốc tế.
Trang 29đây có 30 chục Chữ số 0 ở vị trí hàng chục có nghĩa là không có phần hàng chục lẻ ra màkhông thế gộp vào hàng trăm,hoặc hàng ngàn, vv Do đó, bởi vì mỗi vị trí chỉ chứa giá trị
số lẻ ra mà không thể gộp vàocác vị trí cao hơn, mỗi vị trí chữ số phải có giá trị không lớn hơn 9 Vậy 9 là giá trị lớn nhất mà mộtvị trí cóthế chứa
1.1.2 Hệ đếm có vị trí
Tronghệ đếm có vị trí, mỗi số được biểu diễn bởi một dãy các chữ số trong đó mỗi
vị trí chữ số i có trọng số tương ứng /, trong đó r là cơ số của hệ đếm đó Dạng biểu diễntổng quát của một số thuộc hệ đếmcó cơ sốr là:
( .a2ữỉaồ.a-ỉa-2a_3. .)rtrong đó giá trị của chữsốai bất kỳ làmột số nguyên trong khoảng 0< a t < r Dấu chấm giữa
<20 và <2-1được gọi là dấu thậpphân (dấu phân số), số này có giá trị là:
Bảng 0.1 Vị trí củamột số trong hệ cơ số 8
1.1.3 Hệ nhị phân
Trong hệ thập phân, 10 chữ số khác nhau được sử dụng để biểu diễncác số theo cơ
số 10 Trong hệ nhị phân, tachỉ dùng hai chữ số là0và 1 Dovậy, số trong hệ nhị phânđượcbiếu diễntheo cơsố 2
Đe tránh nhầm lẫn,đôi khi chúngta đặt một sốnhỏ bên cạnh số cầnbiếu diễnđế chỉ
rõ cơsố của nó Ví dụ: 6510 và 201910 là các số được biếu diễnbằng ký hiệu thập phânhoặcgọi ngắn gọn là số thậpphân Cácchữ số0 và 1 trong ký hiệu nhị phâncó cùng ý nghĩa như trong ký hiệuthập phân:
O2 = 010 I2 = 110
Trang 30Đe biếu diễn các sốlớn hơn, như với ký hiệu thập phân, mỗichữsốtrongmột số nhị phâncó một giá trị phụ thuộc vào vị trí của nó Ví dụ:
102 =(1 X 21) + (0 X 2°) =210
112 =(1 X2’) + (1 X2°) =31O
1012 = (1 X 22) + (0 X 21) + (1 X 2°) = 510Ngoài ra, phần phân số của số nhị phân cũng được biểudiễn dưới dạng lũythừa cơ
số 2với số mũ âm:
101.101 = 22 + 2°+2~1+2~3 =5.62510
Tống quát,nếu biểudiễn nhị phân của Y= { b2b\bo>b-\b-2b-2> } thì giá trị của Ylà:
i
1.1.4 Chuyển đổi giữa nhị phân và thập phân
Việc chuyến đối một số từ ký hiệu nhị phân sang ký hiệu thập phân được thực hiệnrấtdễdàng Thựctế, chúng ta đã gặp một số ví dụ trong mục trước Đe chuyển đối mộtsốtừnhị phân sangthập phân, tachỉcầnnhânmỗichữ số nhị phân với lũythừacủa2 và cộng vào kết quả
Đe chuyến từ thập phân sang nhị phân, ta cầnthựchiện riêngviệc chuyênđôi phần nguyên và phần phân số
1.1.4.1 Chuyển đổi phần nguyên
Đối với phần nguyên, nhớ lại rằng trong ký hiệu nhị phân, số nguyên biếu diễndưới dạng:
bm-\bm-2 bib\bo bi =0 hoặc 1
có giá trị là:
(Ốm-1 X 2"'_1) + 0„,_2X 2"'-2 + + (Ỉ>1 X 21) + bo
Giả sử tacần chuyển đối một số nguyên thập phân N thành dạng nhị phân Neu chia
N cho 2, tronghệ thậpphân, nhận được thương số V1 và phầndưRo, tacóthế viết:
Trang 31Neu tiếp tục:
N2 = 2 X N1 + R2
ta có:
N=(NĩX 23) + (Rọ X 22) + (Ri X 21) +Ro
Hình 1.1 Ví dụ chuyển đổi từ thập phân sang nhị phân đốivới phần nguyên
Vì N > Nỉ > Ni , tiếp tục thực hiện tương tự cuối cùng sẽ tạo ra một thương số
Nm-i = 1 và phần dưRm-2bằng 0 hoặc 1 Khi đó:
N = (1 X 2"'_1)+ (R„,-2 X 2 ”-2) + + (Rọ X 22) + (R1 X 21 +Ro
là biểu diễn dướidạng lũy thừa cơ số 2 của N Do đó, tachuyểnđổi từ cơsố 10 sang cơ số 2 bằng cách lặp lại việc chia một số cho 2 Khi thương số cuối cùng bằng 0 thì các số dư theo thứ tự ý nghĩa tăngdần chínhlà các chữsố nhị phân củaN. Hãy xem xét hai ví dụ trong Hình 1.1
Quy tắc chuyên: Đem phần nguyên chia liên liếp cho 2, cho tới khi thương số bằng 0 thì dừnglại Viết các số dư ngược từ dướilên tathuđược số nhị phân tương ứng
Ví dụ: Chuyển số thậpphân 13 sang hệ nhị phân
Trang 32dưO 3 2
Viết cácsố dư ngược từ dưới lêntathu được sốnhị phân 110Ỉ2
í.í.4.2 Chuyển đổi phần phân số
Đối với phần phân số, nhớlại rằng trong ký hiệu nhị phân, một số có giá trị trong khoảng từ 0 đến 1 được biếudiễn bởi:
Cách biểu diễn này gợi ýcho ta vềkỹthuật chuyển đổi Giả sử ta muốn chuyển đổi
so F (0 < F< 1) từ ký hiệu thập phân sang nhị phân Chúng ta biết rang Fcó thế được biếudiễn dưới dạng:
vídụtrong Hình 1.2
Kết quả chuyến đôi không nhất thiết phải chính xác, một phân số thập phân với giátrị hữu hạn cóthê phảibiếu diễn tương ứng bằngmộtphân số nhị phân vô hạn Trong trườnghợp như vậy, thuật toánchuyển đối thường phải tạm dừng sau mộtsốbước đã định, tùy thuộcvào độ chính xácmongmuốn
Trang 33Hình 1.2 Ví dụchuyến đối từ thậpphân sang nhị phân đốivới phầnphân số.
• Chuyển phầnnguyên sang dạngnhị phân:
410 = IOO2
• Chuyến phầnphân số sang dạng nhị phân (giống như ví dụ hình 1.2):
Bước 1: Lấyphần phân sốnhân với 2:
0.9 X 2 = 1.8 —> Phần nguyên = 1, phần phân số = 0.8
Trang 34Bước 2: 0.8 X 2 = 1.6 —> Phần nguyên = 1, phần phân số = 0.6
Bước3: 0.6 X 2= 1.2 —> Phần nguyên = 1, phần phân số = 0.2
Bước 4: 0.2 X 2 = 0.4 —> Phần nguyên = 0, phần phânsố = 0.4
Bước5: 0.4 X 2 = 0.8 —> Phần nguyên = 0, phần phân số = 0.8
Bước6: 0.8 X 2 = 1.6 —> Phần nguyên = 1, phần phân số = 0.6
Quátrình này sẽ không bao giờ kết thúc vì phần phân số không thể bằng0 Do đótachỉ có thể thu được một số nhị phânxấpxỉ với sốthập phân đã cho
Kết quả: 4.910 = (100.11100 1100 1100 )2
1.1.5 Hệ thập lục phân
Do các thành phầnmáy vi tính kỹ thuật số đều thể hiện tính chất nhị phân, tấtcả các dạng dữ liệu bên trong máytính đều được biếu diễnbằng mã nhị phân Tuy nhiên, cho dùhệthốngnhịphân của máytínhcóthuận tiệnnhư thế nào đối với máy tính, thì đối với con người,
hệ thống số này lại quá cồng kềnh Do đó, đa phần các chuyên gia máy tính, những ngườiphải dành nhiều thời gian làm việc với các dữ liệuthô thựctếtrong máy tính, đều muốn làm việcvới dạng ký hiệu ngắn gọn hơn
Vậy dạng ký hiệu nào được sử dụng? Ký hiệu thập phân là một khả năng Nó chắc chắn làngắn gọnhơn ký hiệu nhị phân, nhưngviệc chuyển đổi giữa cơ số 2 vàcơ số 10 lạikhá nhàm chán
Thay vào đó, ký hiệuthậplụcphân đã được sử dụng Cácchữsố nhị phân được nhómthành các nhóm bốn bit, được gọi là nibble Mỗi tổ họp có thể có của bốn chữ số nhị phân được gán cho một ký tự tươngứng như sau:
Trang 35Do đó, một số thậplụcphânlà số trong hệđếmcóvịtrí với cơ số 16 cóthể biểudiễntổng quát như sau:
i
trong đó 16 là cơ số và mỗi chữ số thập lục phân hi có giá trị trong khoảng thập phân
0 < hi <15, tương đương với khoảngthập lục phân 0 <hi < F.
Bảng 1.2 Thậpphân, nhị phân vàthập lục phân
Thập phân (cơ số 10) Nhị phân (cơ số 2) Thập lục phân (cơ số 16)
Trang 36Thập phân (cơ số 10) Nhị phân (cơ số 2) Thập lục phân (cơ số 16)
Ký hiệu thập lụcphân không chỉđược sử dụng đểbiếu diễn sốnguyên mà còn được
sử dụng để biểu diễn ngắn gọn một dãy sốnhị phân bất kỳ Lý dochoviệc sử dụng ký hiệuthập lục phân là:
1 Nó ngắn gọnhơn ký hiệu nhị phân
2 Trong hầu hếtcác máy tính, dữ liệunhị phân thường ở dạngbội số của4 bit, và
do đó tương đương với mộtvài chữ số thập lục phân
3 Việc chuyển đổigiữa ký hiệu nhị phân và thập lục phân rấtdễ thựchiện
Đe làm sáng tỏ lý docuối cùng, ta xét chuồi nhị phân 10111010010.Chia chuỗi thành từng nhóm 4bít thì chuỗi này tương đươngvới:
• Chuyển từ hệ thậpphân vềhệ thập lục phân:
Quy tắc chuyển: Đem số thập phân chia liênliếpcho 16, cho tới khi thương số bằng
0thì dừnglại Viết các số dư ngược từ dưới lên tathuđược số thập lục phân tương ứng
Ví dụ: Chuyển số thậpphân43 sanghệthập lụcphân
43
dư 11
16
162
Trang 37Kiến trúc máy tính baogồm các thuộc tính của mộthệ thống mà người lậptrình có thể thấy được, hay nói cách khác, đây là các thuộc tính có tác động lên việc thực thi mộtchương trình máy tính Tố chửc máy tính có thế hiếu là các khối chức năngtrong máytính
và sự kết nối giữa chúng đế thực hiện các đặc tính của kiến trúc Ví dụ, các thuộc tính củakiến trúc bao gồm tập lệnh, số bit đểbiểu diễncác kiếu dữ liệu khác nhau (nhưkiểu ký tự,kiểu số ), cơ chế vào/ra (I/O) và các kỹ thuật định địa chỉ bộ nhớ Các thuộc tính củatổ chức bao gồm các đặc điểm phần cứng như: các tín hiệu điều khiển, giao diện giữamáytính
và các thiết bị ngoại vi và các công nghệ bộ nhớ đượcsử dụng
Ví dụ, về mặt thiết kế kiến trúcmáy tính: ta muốn thực hiện lệnhNhân Vậy,về mặt
tổ chức sẽ như sau: lệnh này sẽ được thực hiện bởi mộtđơn vị phầncứng đặc biệthoặc một
cơ chế cho phép thực hiện lặp đi lặp lại phép cộng Việclựachọn một trong hai phươngán trênphụ thuộcvào tần suất dự kiến lệnhnhân đượcsử dụng, tương quan tốc độ tínhtoáncủahai phương pháp, chiphí và kích thước vật lý mồimột phương ántốchức
Hiện nay, sự khác nhau giữa kiến trúc và tổ chức vẫn cònkhá rõ nét Nhiều nhàsản xuất máy tính đưa ra mộthọ các model máy tính, tất cả chúng đềucókiếntrúc tương tự nhaunhưng lại khác nhau về tổ chức Các model có giá cả và hiệu suất khác nhau Một kiếntrúc đặc biệt có thế tồntại trong nhiều năm và vớinhiều model máy tính khác nhau nhưng tố chức của nó thay đôi theo sự thay đôi của công nghệ Ví dụ kiên trúc IBM System/370 được đưa
ra lần đầu tiên vào năm 1970với một somodelkhác nhau Khách hàng cónhu cầu thấp, đơngiản có thể mua một model rẻ hơn, chậm hơn và nếu có nhu cầu nâng cấp thì sau đó có thểnâng cấp lên một model đắt tiền hơn và nhanh hơn mà không cần phải bỏ đi phần mềm đãđược phát triểntrên đó Trong những nămqua, IBM đã giới thiệu nhiều model mới với công nghệ cải tiến đếthaythế các model cũ, cungcấp cho khách hàng các hệ máy tính tốc độ cao hơn, chiphíthấphơn hoặc cả hai Những model mớihơnvẫncócùng kiếntrúc với modelcũ
đế phần mềm của khách hàng được bảo vệ Kiến trúc System/370 vẫn tồn tại đến ngày nay
và là kiến trúc của dòng sản phẩm máytính mainframe của hãng IBM
Với mộtlớpmáy tính khác gọi làmáy vi tính, mối quan hệgiữakiếntrúc vàtổ chức rấtchặt chẽ Những thay đối trong công nghệ không chỉ ảnh hưởng đến tổ chức mà còn dẫnđến việccác kiến trúc máytính mạnhhơn và phức tạphơn Tuy nhiên, yêu cầu tương thíchgiữa các thế hệ máy tính này khá thấp vì vậy việc thiết kế tổ chức và kiến trúc máy tính có nhiềutươngtác hơn
Cuốn sách này trình bày cả tổchứcmáytínhvà kiến trúcmáy tính, nhấn mạnhnhiều hơn về mặt tổ chức Tuynhiên, vì mộttổ chức máy tính được thiết kế để thựchiện một đặc
tả kiến trúc cụ thể, việc đưa ra được mộttổchứctoàn diệnđòi hởi phảicó sự nghiên cứu chi tiết về kiếntrúc máy tính
1.3 Cấu trúc và chức năng
Máytính làmột hệ thống phức tạp,mộtmáytínhhiệnđại chứa hàng triệu thành phần điện tử cơbản Làmthế nào ta có thế mô tả chúng một cáchđơn giản, rõ ràng nhất? Câu trả
Trang 38lời làta cần xác định tínhphân cấp của cáchệ thống phức tạp bao gồm cả máy tính Mộthệthống phâncấplàmộttập các hệ thống con tương quan với nhau,mỗihệ thống con lạicócấutrúcphâncấp bên trongnó cho đến khi ta đạt đến cấp hệ thống thấp nhất.
Tính phân cấp của các hệ thống phứctạphết sứcquan trọng trong cả thiết kế và mô
tả chúng Các nhà thiết kế chỉ cần đối phó với mộtcấp độnhấtđịnhcủahệ thốngtạimộtthờiđiếm Ớ mỗi cấp độ, hệ thống baogồm một bộ các thành phần và các mối quan hệ tương tác của chúng Hành vi ở mỗi cấp chỉ phụ thuộc vào một đặc tính đơn giản, trừu tượng của hệthống ởcấp dưới nó Khi làm việc với mỗi cấpđộ, nhà thiết kế sẽ tập trung đến cấu trúc và chứcnăng của cấp đó:
• Cấu trúc: Cách thức mà các thànhphần quan hệtươngtác vớinhau
• Chức năng: Hoạt động của mỗibộphận riêng như một phần củacấu trúc
Đe mô tảmộthệ thống, chúngta thườngsử dụngmộttronghaicách như sau: bắt đầu
từ dưới lên(từ các thành phần cơ bản)sau đó xây dựng dần lên thànhmột bản mô tảđầy đủ, hoặc bắt đầu từ trênxuống sau đóphântáchhệ thống thành các thànhphầnnhỏ hơn Từ trong thực tiễn, người ta thấy rằng phương pháp mô tả từ trên xuống là phương pháp rõ ràng và hiệu quả nhất, vàsẽđược sử dụng trong cuốn sách này
Như vậy, với hệ thống máy tính, chúng ta bắt đầu với các thànhphần chính của máytính, mô tảcấu trúc và chứcnăng của chúng, và tiếp tục tới các lớp thấp hơn trong phân cấpmáy tính
Mộtchứcnăngkhôngkém phần quan trọngcủamáytínhlàlưu trữ dữ liệu Ngay cảkhi đang trong quátrình xử lý dữ liệu, máy tính cũng phải lưu trữ tạm thời những dữ liệu đang được làm việc tại bất kỳthời điểm nào Do đó, phải có ítnhấtmộtchứcnăng lưu trữ dữ liệu ngắn hạn Ngoài ra, máy tínhcòn thực hiện chức năng lun trữ dữ liệu dài hạn Các tậptin dữ liệu được lưutrữtrênmáytính với mục đích phục hồi và cập nhật
Trang 39MÔI trường xung quanh
(nguồn và đích của dữ liệu)
Hình 1.3 Các chức năngchính của máy tính
Máy tính phải có di chuyển dữ liệu giữa nó vàthế giới bên ngoài Việc trao đối dữ liệu được thực hiệngiữa hai bên: một bên làthiếtbị nguồn vàmột bên làthiết bịđích đến của
dữ liệu Khi dữ liệuđược nhận vào hoặc gửi đến một thiết bị kết nối trực tiếp với máy tính, quátrình này được gọi là quá trĩnh vào/ra (I/O) dữ liệu, và thiết bị đó được gọi là thiết bị
ngoại vi Khi dữ liệu được truyền qua các khoảng cách dài hơn, gửi đến hoặc nhận từ mộtthiết bị từ xa ta gọi là quá trìnhtruyền thông dữ liệu.
Cuối cùng, phải có một chức năng thực hiện việc điều khiến ba chức năng này Chức năng này được thựchiện thông qua các lệnh máy Một khối điều khiến (control unit) quản lý cáctài nguyên của máy tính, sắp xếp hoạt động của các phần chức năng để đáp ứng các lệnh đó
Hình 1.4 môtảbốn loại hoạt động có thế thực hiện được Với Hình 1.4a máytính có thể hoạt động như một thiết bị truyền dữ liệu, dữ liệu được truyền từ một thiết bị ngoại vi hoặc một đường truyền thông sang một bên khác Máy tính cũng có thể hoạt động như mộtthiết bị lưu trữdữ liệu (Hình 1.4b): Dữ liệu truyền từ môi trường bên ngoài vào và được lưutrữ trong máy tính (đọc) và ngược lại (viết) Hai hình cuối cùng là các hoạt động liên quan đếnxử lý dữ liệu: Dữ liệu đượcxửlý có thế là dữ liệu đang được lưu trữ (hình 1.4c) hoặc dữ liệu đang trênđườngtrao đối giữabộ nhớvà môi trường bên ngoài (Hình 1.4d)