Tổng quan về giáo trình
Giáo trình Kiến trúc máy tính do Nguyễn Hồng Vân và KS. Phạm Hữu Tài biên soạn, được xuất bản tại Trường Đại học Cần Thơ vào tháng 12 năm 2003. Tài liệu được xây dựng trong khuôn khổ dự án ASVIET002CNTT mang tên "Tăng cường hiệu quả đào tạo và năng lực tự đào tạo của sinh viên khoa Công nghệ Thông tin - Đại học Cần Thơ". Trong chương trình đào tạo đại học ngành Công nghệ Thông tin, môn học Kiến trúc máy tính giữ vị trí học phần cơ sở ngành bắt buộc, đòi hỏi sinh viên phải hoàn thành học phần tiên quyết là Kỹ thuật số (mã học phần TH 313).
Mục tiêu học tập của giáo trình tập trung vào việc cung cấp cho người học hệ thống tri thức hoàn chỉnh về cấu tạo, nguyên lý vận hành và mối liên kết giữa các khối chức năng trong hệ thống máy tính. Sau khi hoàn thành học phần, sinh viên có khả năng:
- Phân tích các thế hệ máy tính và biến đổi thuần thục giữa các hệ thống số (nhị phân, bát phân, thập phân, thập lục phân, dấu chấm động IEEE 754).
- Hiểu rõ cấu trúc tập lệnh, các chế độ định vị địa chỉ, phân biệt ranh giới kiến trúc giữa hai dòng vi xử lý CISC và RISC.
- Nắm vững cấu tạo đường đi dữ liệu (Data Path), bộ điều khiển (Control Unit) và chu trình 5 giai đoạn thi hành lệnh mã máy.
- Giải thích nguyên lý hoạt động của hệ thống phân cấp bộ nhớ, bộ nhớ cache, bộ nhớ ảo và cơ chế trao đổi dữ liệu nhập - xuất ngoại vi.
Cấu trúc giáo trình được thiết kế theo tiến trình đi từ nguyên lý biểu diễn dữ liệu mức thấp, kiến trúc tập lệnh phần mềm, tổ chức phần cứng khối xử lý trung tâm, đến hệ thống lưu trữ và giao tiếp ngoại vi. Điểm đặc sắc của tài liệu là phương pháp tiếp cận định lượng, so sánh trực diện các thông số kỹ thuật thực tế của các dòng chip vi xử lý thương mại (Intel, IBM, DEC, Sun, MIPS) để minh họa cho lý thuyết vi kiến trúc.
Nội dung kiến thức cốt lõi
Các chương/chủ đề chính
Giáo trình được bố cục thành 5 chương trọng tâm với tính liên kết logic chặt chẽ:
- Chương I: Đại cương: Trình bày lịch sử phát triển qua 4 thế hệ máy tính (từ ENIAC, IAS Von Neumann, máy tính bán dẫn, mạch tích hợp IC SSI/MSI đến chip vi xử lý LSI/VLSI) và khuynh hướng thế hệ thứ 5 (xử lý song song, trí tuệ nhân tạo, robot ASIMO của Honda). Nội dung đi sâu vào quy luật Moore, phân loại máy tính (Supercomputer, Mainframe, Minicomputer, Microcomputer) và cơ sở lý thuyết thông tin với công thức $I = \log_2(N)$. Chương này chuẩn hóa các phương pháp biểu diễn số học: số nguyên có dấu (dấu và trị tuyệt đối, số bù 1, số bù 2, số thừa K), số dấu chấm động chuẩn IEEE 754 (định dạng đơn 32-bit và định dạng kép 64-bit), số thập phân mã nhị phân BCD, cùng các bảng mã ký tự ASCII, EBCDIC và UNICODE.
- Chương II: Kiến trúc phần mềm bộ xử lý: Phân định 3 thành phần của kiến trúc máy tính (kiến trúc phần mềm, tổ chức máy tính, lắp đặt phần cứng). Khảo sát 3 mô hình kiến trúc theo vị trí đặt toán hạng: kiến trúc ngăn xếp (Stack), thanh ghi tích lũy (Accumulator) và thanh ghi đa dụng (General Register). Giới thiệu định dạng địa chỉ byte Big-Endian và Little-Endian; phân tích chi tiết các kiểu định vị địa chỉ (thanh ghi, tức thì, trực tiếp, gián tiếp thanh ghi, gián tiếp bộ nhớ, gián tiếp thanh ghi kèm độ dời, tự tăng, tự giảm). Chương này đặt trọng tâm vào việc so sánh kiến trúc tập lệnh phức tạp CISC (như IBM 370/168, VAX 11/780) với kiến trúc tập lệnh rút gọn RISC (như IBM 801, Berkeley RISC1, Stanford MIPS), đồng thời mô tả chu trình chuyển đổi từ ngôn ngữ cấp cao sang hợp ngữ và mã máy thông qua Compiler và Assembler.
- Chương III: Tổ chức bộ xử lý: Mô tả chi tiết cấu trúc phần cứng của CPU gồm hai phần: Đường đi dữ liệu (Data Path với ALU, 32 thanh ghi tổng quát, PC, SR, TEMP, MAR, MBR, MUX, các bus nội bộ S1, S2, Dest) và Bộ điều khiển (Control Unit theo mô hình Automate trạng thái hữu hạn dùng mạch PLA hoặc vi chương trình Microprogram). Phân tích chi tiết diễn tiến 5 giai đoạn thực thi lệnh mã máy (IF, ID, EX, MEM, RS) và cơ chế ngắt quãng (Interrupt). Phân tích chuyên sâu kỹ thuật ống dẫn (Pipeline) 5 tầng cùng 3 loại xung đột: xung đột cấu trúc (structural hazard), xung đột số liệu (data hazard - xử lý bằng mạch chuyển tiếp dữ liệu nội bộ) và xung đột điều khiển (control hazard). Mở rộng sang kiến trúc siêu vô hướng (Superscalar), lệnh từ rất dài (VLIW), máy tính song song và kiến trúc 64-bit IA-64 của Intel.
- Chương IV: Các cấp bộ nhớ: Khảo sát nguyên lý hoạt động của hệ thống phân cấp bộ nhớ máy tính, xác suất truy cập dữ liệu, đánh giá hiệu năng bộ nhớ cache (cấu hình cache duy nhất so với cache riêng rẽ cho lệnh và số liệu), kỹ thuật phân trang và bảo vệ tiến trình bằng bộ nhớ ảo.
- Chương V: Nhập - Xuất: Giới thiệu cấu tạo và cơ chế hoạt động của các thiết bị lưu trữ ngoài (đĩa từ, đĩa quang, thẻ nhớ, băng từ), cấu trúc bus nối ngoại vi vào CPU và bộ nhớ trong, các chuẩn giao diện vào-ra, cùng các biện pháp bảo đảm an toàn dữ liệu trên đĩa từ.
+-------------------------------------------------------------------------+
| Chương I: ĐẠI CƯƠNG & BIỂU DIỄN DỮ LIỆU |
| (Lịch sử, Định luật Moore, Hệ thống số, Bù 2, IEEE 754, BCD, ASCII) |
+------------------------------------+------------------------------------+
|
v
+------------------------------------+------------------------------------+
| Chương II: KIẾN TRÚC PHẦN MỀM BỘ XỬ LÝ |
| (Tập lệnh, Kiểu định vị, Big/Little-Endian, So sánh CISC vs. RISC) |
+------------------------------------+------------------------------------+
|
v
+------------------------------------+------------------------------------+
| Chương III: TỔ CHỨC BỘ XỬ LÝ |
| (Data Path, Control Unit, 5 Pha thực thi, Pipeline & Hazards, IA-64) |
+------------------------------------+------------------------------------+
|
+------------------+------------------+
| |
v v
+---------------------------------+ +----------------------------------+
| Chương IV: CÁC CẤP BỘ NHỚ | | Chương V: NHẬP - XUẤT |
| (Cache, Bộ nhớ ảo, Hiệu năng) | | (Ngoại vi, Bus I/O, An toàn RAID)|
+---------------------------------+ +----------------------------------+
Kiến thức nền tảng được xây dựng
- Các lý thuyết nền tảng: Mô hình máy tính lưu trữ chương trình Von Neumann (IAS); lý thuyết định luật Moore về tốc độ tăng trưởng số lượng bóng bán dẫn trên vi mạch tích hợp; lý thuyết đo lường thông tin theo đơn vị bit dựa trên hàm logarit cơ số 2.
- Các nguyên lý cốt lõi: Nguyên lý biểu diễn số học nhị phân và số bù 2 trong các phép tính toán số học nguyên; nguyên lý chuẩn hóa số thực dấu chấm động theo chuẩn IEEE 754; nguyên lý thiết kế tối giản tập lệnh của vi xử lý RISC (lệnh có chiều dài cố định 32-bit, thực thi thanh ghi - thanh ghi, chỉ dùng lệnh Load/Store để truy cập bộ nhớ); nguyên lý điều khiển luồng lệnh tuần tự và rẽ nhánh thông qua thanh ghi trạng thái (SR).
- Khung phân tích kiến trúc: Khung phân tích hiệu năng thực thi lệnh dựa trên chu kỳ xung nhịp và độ trễ cổng logic; khung phân loại vi xử lý theo tổ chức phần cứng (Automate hữu hạn mạch điện tử đối lập với bộ nhớ vi chương trình ROM).
Kỹ năng phát triển
- Kỹ năng kỹ thuật: Biến đổi chính xác qua lại giữa các hệ đếm cơ số 2, 8, 10, 16; thực hiện phép mã hóa số nguyên có dấu dạng số bù 2; mã hóa số thực dạng dấu chấm động 32-bit (1 bit dấu, 8 bit mũ với số thừa K=127, 23 bit định trị); đọc hiểu và dịch cấu trúc lệnh hợp ngữ sang chuỗi bit mã máy nhị phân tương ứng trên các kiến trúc MIPS, PowerPC, SPARC.
- Kỹ năng phân tích: Đánh giá ưu nhược điểm định lượng giữa hai trường phái thiết kế CISC và RISC; phân tích các trạng thái xung đột cấu trúc, xung đột dữ liệu và xung đột điều khiển trong kỹ thuật đường ống 5 tầng; tính toán số chu kỳ xung nhịp cần thiết để xử lý luồng lệnh tuần tự và luồng lệnh đường ống.
- Năng lực thực hành: Xác định địa chỉ bộ nhớ theo các chế độ định vị phức hợp (định vị cơ sở kết hợp chỉ số và độ dời); phân bổ và ánh xạ không gian địa chỉ cho các khối chức năng bộ nhớ cache, bộ nhớ chính và các thiết bị ngoại vi thông qua hệ thống bus điều khiển và bus dữ liệu.
Phương pháp giảng dạy và học tập
Giáo trình áp dụng phương pháp sư phạm diễn giải kết hợp mô hình hóa vi kiến trúc phần cứng. Nội dung bài học được tổ chức chặt chẽ từ việc phân tích nguyên lý toán học của mạch số đến việc thiết lập sơ đồ khối chức năng chi tiết của từng bộ phận bên trong vi xử lý (như mạch chốt A, B, C, bộ đệm TEMP, bộ đa hợp MUX, thanh ghi địa chỉ bộ nhớ MAR, thanh ghi số liệu bộ nhớ MBR).
Mỗi chương đều tích hợp hệ thống câu hỏi ôn tập lý thuyết và bài tập định lượng:
- Bài tập tính toán và mã hóa dữ liệu: Chuyển đổi các giá trị thập phân nguyên và thực (như đổi số $-2005_{10}$ sang nhị phân 16-bit, đổi số thực $-12.625_{10}$ sang chuẩn IEEE 754 chính xác đơn 32-bit, tính toán mã BCD bù 9 và bù 10 cho số có dấu).
- Bài tập vi kiến trúc và giải mã tập lệnh: Viết chuỗi lệnh hợp ngữ thực hiện biểu thức số học; dịch các lệnh toán học sang chuỗi mã máy nhị phân theo định dạng trường lệnh của vi xử lý PowerPC và RISC; phân tích trạng thái các bit cờ $S$ (Sign), $Z$ (Zero), $OVF$ (Overflow), $C$ (Carry) xuất ra từ khối ALU sau từng phép tính.
Về phương pháp tự học, tài liệu đưa ra chỉ dẫn rõ ràng: do giáo trình mang tính chất giới thiệu tổng quát hệ thống, người học bắt buộc phải chủ động tra cứu thêm tài liệu chuyên khảo về kiến trúc của các dòng vi xử lý cụ thể, đồng thời quan sát, đối chiếu các sơ đồ định dạng lệnh và ví dụ minh họa để nắm bắt sâu bản chất kỹ thuật. Việc đánh giá học phần được thực hiện thông qua khả năng tính toán số học máy tính, kỹ năng phân tích luồng dữ liệu trên đường ống và năng lực giải quyết các bài toán thiết kế ghép nối hệ thống.
Điểm nổi bật và cập nhật
Tài liệu thể hiện tính cập nhật về mặt kỹ thuật phần cứng tính đến thời điểm biên soạn (năm 2003):
- Số liệu thống kê vi xử lý Intel theo định luật Moore: Giáo trình cung cấp bảng tổng hợp chi tiết số lượng transistor tích hợp trên các dòng chip Intel từ năm 1971 đến năm 2003, bao gồm chip 4004 (2.250 transistor), 8086 (29.000 transistor), Intel 386 (275.000 transistor), Pentium (3,1 triệu transistor), Pentium 4 (42 triệu transistor), Itanium (220 triệu transistor) và Itanium 2 (410 triệu transistor).
- Tích hợp các kiến trúc xử lý hiệu năng cao: Cập nhật kiến trúc 64-bit IA-64 của Intel, phân tích nguyên lý của bộ xử lý siêu vô hướng (Superscalar), máy tính có từ lệnh rất dài VLIW và máy tính xử lý song song đa bộ xử lý.
- Xu hướng công nghệ thế hệ 5: Khảo sát khuynh hướng phát triển hệ thống thông minh, ứng dụng các ngôn ngữ trí tuệ nhân tạo (LISP, PROLOG) và cập nhật dữ liệu kỹ thuật thực tế về robot hình người ASIMO của tập đoàn Honda (nghiên cứu từ 1986 đến giai đoạn 2004).
- Tính đối chiếu công nghiệp thực tế: Đưa ra các bảng so sánh tham số cấu hình phần cứng cụ thể giữa các hệ thống máy tính thương mại của nhiều hãng công nghệ lớn như IBM (IBM 701, IBM 360, IBM 370/168, IBM 801), DEC (PDP-8, PDP-11, VAX-11/780, Alpha), Hewlett-Packard (HP 3000/70, PA-RISC), Motorola (6809) và Sun Microsystems (SPARC).
| Dòng vi xử lý | Năm sản xuất | Số lượng Transistor | Kiến trúc / Đặc điểm |
|---|---|---|---|
| Intel 4004 | 1971 | 2.250 | Vi xử lý đầu tiên, công nghệ sơ khai |
| Intel 8086 | 1978 | 29.000 | Nền tảng x86, xử lý 16-bit |
| Intel 486™ | 1989 | 1.180.000 | Tích hợp khối xử lý số thực |
| Pentium® | 1993 | 3.100.000 | Kiến trúc siêu vô hướng (Superscalar) |
| Pentium® 4 | 2000 | 42.000.000 | Công nghệ vi kiến trúc NetBurst |
| Itanium® 2 | 2003 | 410.000.000 | Kiến trúc EPIC 64-bit (IA-64) |
Đối tượng sử dụng giáo trình
- Sinh viên đại học chuyên ngành: Phù hợp trực tiếp cho sinh viên năm thứ hai hoặc năm thứ ba theo học các ngành Công nghệ Thông tin, Kỹ thuật Máy tính, Điện tử - Viễn thông và Tin học Ứng dụng trong hệ thống đào tạo chính quy.
- Yêu cầu kiến thức tiên quyết: Người học cần hoàn thành môn Kỹ thuật số (TH 313), nắm vững kiến thức về đại số Boole, cổng logic, mạch tổ hợp, mạch tuần tự (Flip-Flop) và các hệ thống đếm cơ bản.
- Giảng viên và cán bộ đào tạo: Sử dụng làm khung tài liệu chuẩn để biên soạn bài giảng lý thuyết, thiết kế bài tập thực hành kiến trúc máy tính, và xây dựng ngân hàng đề thi đánh giá kiến thức phần cứng máy tính.
- Kỹ sư và người tự học: Phù hợp làm tài liệu tra cứu có hệ thống cho các kỹ sư phát triển phần mềm nhúng, lập trình viên hệ thống (system programmers), người viết trình biên dịch cần hiểu sâu cơ chế phần cứng, cách thức CPU xử lý tập lệnh và cấu trúc bộ nhớ vật lý.
Câu hỏi thường gặp
1. Giáo trình này phù hợp với đối tượng nào?
Giáo trình được thiết kế cho sinh viên đại học khối ngành Công nghệ Thông tin và Kỹ thuật Máy tính đang học phần Kiến trúc máy tính, cũng như kỹ sư phần mềm cần nghiên cứu sâu về giao tiếp phần cứng - phần mềm.
2. Cần chuẩn bị kiến thức nền tảng nào trước khi học?
Người học bắt buộc phải có kiến thức nền tảng về môn Kỹ thuật số (mã học phần TH 313), hiểu rõ các linh kiện bán dẫn, cổng logic, mạch số cơ bản và có khái niệm về ngôn ngữ lập trình.
3. Điểm khác biệt của giáo trình so với các tài liệu khác là gì?
Tài liệu tập trung phân tích sâu và so sánh định lượng trực tiếp giữa hai trường phái thiết kế kiến trúc vi xử lý CISC và RISC, sử dụng cú pháp lệnh thực tế của các dòng chip như MIPS, SPARC, PowerPC, Alpha và dòng vi xử lý Intel x86/IA-64 để giải thích nguyên lý.
4. Phương pháp tự học giáo trình như thế nào để đạt hiệu quả cao?
Người học cần học kỹ phần lý thuyết chuyển đổi hệ đếm và cấu trúc 5 giai đoạn thực thi lệnh, giải đầy đủ hệ thống bài tập tính toán cuối mỗi chương, đồng thời tra cứu thêm các tài liệu chuyên khảo quốc tế về tập lệnh vi xử lý cụ thể.
5. Giáo trình sử dụng những tài liệu tham khảo chính nào?
Tài liệu tham khảo bao gồm:
- Kiến trúc máy tính – Võ Văn Chín, Đại học Cần Thơ, 1997.
- Computer Architecture: A Quantitative Approach, A. Hennessy & D. Patterson, 2nd Edition, 1996.
- Computer Organization and Architecture: Designing for Performance, William Stallings, 6th Edition.
- Principles of Computer Architecture, Miles Murdocca & Vincent Heuring.
- Computer Organization and Design: The Hardware/Software Interface, D. Patterson & J. Hennessy, 2nd Edition.
Kết luận
Giáo trình Kiến trúc máy tính của Trường Đại học Cần Thơ cung cấp khung tri thức học thuật hoàn chỉnh, chuẩn xác về nguyên lý cấu tạo và hoạt động của hệ thống máy tính điện tử. Thông qua việc phân loại mạch lạc từ các hệ đếm, tập lệnh, đường dẫn dữ liệu đến các kỹ thuật đường ống và phân cấp bộ nhớ, tài liệu xây dựng nền tảng vững chắc cho việc nghiên cứu sâu về phần cứng máy tính và kỹ thuật hệ thống.
Lộ trình học tập khuyến nghị bắt đầu từ việc nắm vững biểu diễn thông tin ở Chương I, tiến tới phân tích cấu trúc tập lệnh ở Chương II, giải mã chi tiết tổ chức CPU và pipeline ở Chương III, trước khi hoàn thiện bức tranh hệ thống với Chương IV (Bộ nhớ) và Chương V (Nhập - Xuất). Để mở rộng kiến thức, người học nên kết hợp nghiên cứu các công trình kinh điển của các tác giả Hennessy, Patterson và William Stallings được chỉ dẫn trong thư mục tài liệu tham khảo.