HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-----------------------------------
PGS. TS. Phạm Văn Cường (chủ biên)
GIÁO TRÌNH
KIẾN TRÚC MÁY TÍNH
HÀ NỘI 2024
1
LỜI NÓI ĐẦU
Kiến trúc máy tính một trong các lĩnh vực khoa học scủa ngành Khoa
học máy tính nói riêng Công nghệ thông tin nói chung. Kiến trúc máy tính khoa
học về lựa chọn ghép nối các thành phần phần cứng của máy tính nhằm đạt được
các mục tiêu về hiệu năng cao, tính năng đa dạng và giá thành thấp.
Môn học Kiến trúc máy tính là môn học cơ sở chuyên ngành trong chương trình
đào tạo công nghệ thông tin hệ đại học và cao đẳng. Mục tiêu của môn học cung cấp
cho sinh viên các kiến thức scủa kiến trúc máy tính, bao gồm kiến trúc máy tính
tổng quát, kiến trúc bộ xử trung tâm các thành phần của bộ xử trung tâm, kiến
trúc tập lệnh máy tính, chế xử xen kẽ dòng lệnh; hệ thống phân cấp của bộ
nhớ, bộ nhớ trong, bộ nhớ cache các loại bộ nhớ ngoài; hệ thống bus và các thiết bị
vào ra.
Kiến trúc máy tínhmột lĩnh vực đã được phát triển trong một thời gian tương
đối dài với lượng kiến thức đồ sộ, nhưng do khuôn khổ của tài liệu có tính chất bài
giảng môn học, Tác giả cố gắng trình bày những vấn đề bản nhất nhằm phục vụ
mục tiêu môn học. Nội dung của tài liệu được biên soạn thành sáu chương:
Chương 1 phần giới thiệu các khái niệm cơ sở của kiến trúc máy tính, như
khái kiệm kiến trúc tổ chức máy tính; cấu trúc chức năng các thành phần của
máy tính; kiến trúc Harvard. Chương này cũng giới thiệu về các hệ đếm cách tổ
chức dữ liệu trong máy tính.
Chương 2 giới thiệu về khối xử lý trung tâm, nguyên tắc hoạt động và các thành
phần của nó. Khối xử trung tâm thành phần quan trọng phức tạp nhất trong
máy tính, đóng vai trò bộ não của máy tính. Thông qua việc thực hiện các lệnh của
chư ơng trình bởi khối xử trung tâm, máy tính thể thực thi các yêu cầu của
người sử dụng.
Chương 3 trình bầy về xen kẽ dòng lệnh bộ nhớ đệm cache. Bộ nhớ đệm
một bộ nhớ đặc biệt khả năng giúp tăng tốc hệ thống nhớ nói riêng cả hệ thống
máy tính nói chung.
Chương 4 trình bầy về lập trình hợp ngữ với vi xử 8086/8088. Hợp ngữ
một trong những ngôn ngữ gần với máy nhất. Ngôn ngữ hợp ngữ được thiết kế để
giúp cho các lập trình viên dễ dàng hơn trong việc lập trình cho các dòng vi xử lý.
Chương này cũng trình bày về tập lệnh hợp ngữ của vi xử 8086/8088 với các dụ
của từng nhóm lệnh.
Chương 5 trình bầy về phối ghép giữa 8086/8088 với các thiết bị ngoại vi.
Chương này đồng thời cũng đưa ra các dụ về lập trình cho 8086/8088 để điều khiển
trong quá trình phối ghép với thiết bị ngoại vi.
2
Chương 6 thảo luận về các kiến trúc máy tính tiên tiến, bao gồm kiến trúc IA-
64 với công nghệ EPIC, bộ xử lý mảng, kiến trúc SIMD/MIMD, GPU hiệu suất cao
siêu máy tính. Chương này cung cấp cái nhìn tổng quan về c công nghệ hiện đại
đang được sử dụng để tối ưu hóa hiệu suất tính toán trong các ứng dụng đòi hỏi xử
song song và tốc độ cao.
Tài liệu được biên soạn dựa trên kinh nghiệm giảng dạy môn học Kiến trúc máy
tính trong nhiều năm của tác giả tại Học viện Công nghệ Bưu chính Viễn thông, kết
hợp tiếp thu các đóng góp của đồng nghiệp phản hồi từ sinh viên. Tài liệu thể
được sử dụng làm tài liệu học tập cho sinh viên hệ đại học và cao đẳng các ngành công
nghệ thông tin điện tử viễn thông. Đồng thời, tác giả xin gửi lời cảm ơn sâu sắc tới
PGS. TS. Hoàng Xuân Dậu TS. Phạm Hoàng Duy, khoa An toàn thông tin đã
những đóng góp quan trọng cho giáo trình này. Trong quá trình biên soạn, mặc dù tác
giả đã rất cố gắng song khó thể tránh khỏi những thiếu sót. Tác girất mong muốn
nhận được ý kiến phản hồi để giáo trình được hoàn thin hơn nữa.
Hà Nội, tháng 12 năm 2024
Tác giả
1
MC LC
CHƯƠNG 1 TỔNG QUAN VỀ KIẾN TRÚC MÁY TÍNH......................................... 13
1.1 Khái niệm về kiến trúc và tổ chức máy tính ........................................................ 13
1.1.1 Một số khái niệm ........................................................................................... 13
1.1.2 Sơ đồ khối chức năng .................................................................................... 14
1.1.3 Các thành phần của máy tính ....................................................................... 14
1.2 Lịch sử phát triển máy tính .................................................................................. 16
1.3 Kiến trúc máy tính Harvard ................................................................................. 18
1.4 Các hệ số đếm và tổ chức dữ liệu trên máy tính .................................................. 18
1.4.1 Các hệ số đếm ............................................................................................... 18
1.4.2 Tổ chức dữ liệu trên máy tính ....................................................................... 20
1.4.3 Số có dấu và số không dấu ............................................................................ 21
1.4.4 Bảng mã ASCII .............................................................................................. 22
1.5 Kết luận chương ................................................................................................... 23
1.6 Câu hỏi ôn tập ...................................................................................................... 23
CHƯƠNG 2 KHỐI XỨ LÝ TRUNG TÂM .................................................................. 24
2.1 Sơ đồ khối tổng quát và chu trình xử lý lệnh ....................................................... 24
2.1.1 Sơ đồ khối tổng quát của CPU ...................................................................... 24
2.1.2 Chu trình xử lý lệnh ....................................................................................... 25
2.2 Các thanh ghi ....................................................................................................... 25
2.2.1 Giới thiệu về thanh ghi .................................................................................. 25
2.3 Khối điều khiển .................................................................................................... 28
2.4 Khối số học và logic ............................................................................................ 29
2.5 Bus trong cpu ....................................................................................................... 30
2.6 Kết luận chương ................................................................................................... 30
2.7 Câu hỏi ôn tập ...................................................................................................... 31
CHƯƠNG 3 XỬ LÝ XEN KẼ DÒNG MÃ LỆNH VÀ BỘ NHỚ CACHE ................ 32
3.1 Cơ chế xử lý xen kẽ dòng mã lệnh (pipeline) ...................................................... 32
3.1.1 Giới thiệu cơ chế xử lý xen kẽ dòng mã lệnh ................................................ 32
3.1.2 Các vấn đề của cơ chế xử lý xen kẽ dòng mã lệnh và hướng giải quyết....... 33
3.2 Bộ nhớ cache........................................................................................................ 37
3.2.1 Phân cấp hệ thống nhớ ................................................................................. 37
3.2.2 Cache là gì? .................................................................................................. 39
3.2.3 Vai trò và nguyên lý hoạt động ..................................................................... 40
3.2.4 Các dạng kiến trúc cache .............................................................................. 42
3.2.5 Tổ chức/ánh xạ cache.................................................................................... 44
2
3.2.6 Phương pháp đọc ghi và các chính sách thay thế dòng cache ..................... 49
3.2.7 Hiệu năng bộ nhớ cache ............................................................................... 51
3.2.8 Các phương pháp giảm miss cho cache ........................................................ 53
3.3 Một số công nghệ lưu trữ dữ liệu lớn .................................................................. 54
3.3.1 Công nghệ RAID ........................................................................................... 54
3.3.2 Công nghệ NAS ............................................................................................. 57
3.3.3 Công nghệ SAN ............................................................................................. 58
3.4 Kết luận chương ................................................................................................... 59
3.5 Câu hỏi ôn tập ...................................................................................................... 59
CHƯƠNG 4 LẬP TRÌNH HỢP NGỮ VỚI BỘ VI XỬ LÝ 8086/8088 ....................... 61
4.1 Kiến trúc và các thành phần bộ vi xử lý 8086/8088 ............................................ 61
4.1.1 Kiến trúc bộ xử lý 8086/8088 ........................................................................ 61
4.1.2 Các thành phần bộ xử lý 8086/8088 ............................................................. 62
4.2 Mã hóa lệnh và các chế độ địa chỉ ....................................................................... 66
4.2.1 Mã hóa lệnh ................................................................................................... 66
4.2.2 Khái niệm về chế độ địa chỉ .......................................................................... 67
4.2.3 Các chế độ địa chỉ của bộ xử lý 8086/8088 .................................................. 68
4.3 Tập lệnh và công cụ emu8086 ............................................................................. 70
4.3.1 Tập lệnh 8086/8088....................................................................................... 70
4.3.2 Công cụ Emu8086 ......................................................................................... 76
4.4 Lập trình hợp ngữ ................................................................................................ 78
4.4.1 Chương trình hợp ngữ ................................................................................... 78
4.4.2 Lập trình hợp ng ......................................................................................... 83
4.5 Kết luận chương ................................................................................................. 102
4.6 Câu hỏi ôn tập .................................................................................................... 103
CHƯƠNG 5 PHỐI GHÉP VÀ LẬP TRÌNH ĐIỀU KHIỂN THIẾT BỊ ..................... 104
5.1 Phối ghép CPU với bộ nhớ ................................................................................ 104
5.1.1 Các tín hiệu của CPU 8086/8088 ............................................................... 104
5.1.2 Phối ghép CPU với bộ nhớ ......................................................................... 106
5.1.3 Giải mã địa chỉ cho bộ nhớ ......................................................................... 107
5.1.4 Giải mã địa chỉ cho bộ nhớ sử dụng mạch lô gic cơ bản ........................... 109
5.1.5 Giải mã địa chỉ cho bộ nhớ sử dụng mạch tích hợp 74LS138 .................... 110
5.1.6 Giải mã địa chỉ cho bộ nhớ sử dụng mạch PROM ..................................... 111
5.2 Phối ghép cpu với thiết bị ngoại vi .................................................................... 112
5.2.1 Phối ghép CPU với thiết bị ngoại vi ........................................................... 112
5.2.2 Phối ghép CPU với thiết bị ngoại vi ........................................................... 113
5.3 Lập trình điều khiển bàn phím ........................................................................... 112
5.3.1 Cơ bản về bàn phím .................................................................................... 114