TỔNG QUAN VÀ MÔ TẢ HỌC THUẬT GIÁO TRÌNH CẤU TRÚC MÁY TÍNH
Tổng quan về giáo trình
- Môn học và vị trí trong chương trình đào tạo: Giáo trình Cấu trúc máy tính do Khoa Công nghệ thông tin – Trường Trung cấp Nghề Quang Trung biên soạn, là tài liệu học tập cho môn học kỹ thuật cơ sở bắt buộc trong chương trình đào tạo nghề Quản trị Cơ sở dữ liệu và Công nghệ thông tin. Về mặt tiến trình đào tạo, môn học được bố trí giảng dạy sau các học phần chung, tin học đại cương và tin học văn phòng, giữ vai trò cung cấp kiến thức nền tảng về phần cứng và nguyên lý hoạt động của hệ thống máy tính.
- Mục tiêu học tập (Learning Outcomes): Sau khi hoàn thành nội dung giáo trình, người học có khả năng:
- Trình bày lịch sử phát triển, các thế hệ máy tính và tiêu chí phân loại hệ thống máy tính.
- Mô tả các thành phần cơ bản của kiến trúc máy tính, tập lệnh máy, các kiểu kiến trúc (Von Neumann, Harvard) và các chế độ định vị.
- Phân tích cấu trúc bên trong của bộ xử lý trung tâm (CPU), bao gồm tổ chức, chức năng và nguyên lý vận hành của các khối chức năng (CU, ALU, Register File, BIU).
- Mô tả chi tiết tiến trình thực thi một lệnh mã máy qua 5 giai đoạn và các kỹ thuật nâng cao hiệu năng xử lý (ống dẫn lệnh, siêu ống dẫn, xử lý ngắt quãng).
- Trình bày chức năng, nguyên lý hoạt động của hệ thống nhớ (bộ nhớ trong, bộ nhớ đệm Cache, bộ nhớ ngoài trên vật liệu từ, quang học, bán dẫn) và hệ thống liên kết Bus.
- Cài đặt chương trình và sử dụng các lệnh điều khiển cơ bản trong ngôn ngữ Hợp ngữ (Assembly) để giải quyết bài toán kỹ thuật.
- Thực hiện quy trình làm việc khoa học, đảm bảo an toàn cho người và thiết bị kỹ thuật.
- Cấu trúc và cách tiếp cận: Giáo trình gồm 7 chương được xây dựng theo trật tự logic từ mức độ trừu tượng hóa dữ liệu (thông tin, hệ thống số) đến vi kiến trúc phần cứng (CPU, Datapath, Bộ điều khiển, Bộ nhớ, Bus) và kết thúc ở mức giao tiếp phần mềm hệ thống (Hợp ngữ Assembly).
- Điểm đặc sắc của giáo trình: Tài liệu kết hợp chặt chẽ giữa nguyên lý thiết kế phần cứng (so sánh định lượng giữa kiến trúc CISC và RISC, cơ chế giải quyết xung đột pipeline) với các phân tích kỹ thuật cụ thể trên họ vi xử lý Intel 8086/8088.
Nội dung kiến thức cốt lõi
Các chương và chủ đề chính
Giáo trình gồm 7 chương chuyên đề được phân bổ tuần tự:
- Chương 1: Tổng quan về cấu trúc máy tính (Trang 5 – 21):
- Key concepts: Lịch sử phát triển công nghệ qua các mốc cơ bản (IBM 5150, Franklin Ace 100, Commodore 64, IBM XT, Apple Lisa, Macintosh, NeXT, IBM Deep Blue, iMac, máy tính bảng); Khái niệm thông tin và lượng thông tin ($I = \log_2 N$); Hệ thống số và phương pháp chuyển đổi (thập phân, nhị phân, bát phân, thập lục phân); Biểu diễn số nguyên có dấu (trị tuyệt đối và dấu, số bù 1, số bù 2, mã BCD gói và không gói); Chuẩn biểu diễn số thực dấu chấm động IEEE 754 (dạng đơn 32 bit và dạng kép 64 bit); 4 thế hệ máy tính điện tử (đèn điện tử/ENIAC/IAS, transistor/TX-0, mạch tích hợp IC/System 360, vi mạch VLSI); Phân loại máy tính số (Microcomputer, Minicomputer, Supermini, Mainframe, Supercomputer); Phân biệt Kiến trúc máy tính (ISA, Microarchitecture, System Design) và Tổ chức máy tính; Mô hình kiến trúc Von Neumann và Kiến trúc Harvard.
- Chương 2: Kiến trúc phần mềm bộ xử lý (Trang 22 – 36):
- Key concepts: 4 thành phần cơ bản của hệ thống máy tính (Bộ xử lý trung tâm CPU, Bộ nhớ máy tính, Hệ thống vào - ra, Liên kết hệ thống bus); So sánh kiến trúc tập lệnh phức hợp CISC (VAX 11, 80x86, 680x0) và kiến trúc tập lệnh rút gọn RISC (IBM 801, Berkeley RISC1, Stanford MIPS); Cấu trúc lệnh mã máy (Mã lệnh Opcode, Toán hạng); Các nhóm thao tác cơ bản (gán trị, số học logic ADD, SUB, AND, OR, dịch chuyển SHIFT, quay vòng ROTATE); Lệnh có điều kiện và cơ chế lưu trạng thái qua cờ ALU (S, Z, OVF, C); Cấu trúc ngăn xếp (lệnh PUSH, POP, con trỏ SP); Lời gọi thủ tục CALL và trở về RETURN; Khảo sát tập lệnh của bộ vi xử lý 16 bit Intel 8086/8088.
- Chương 3: Tổ chức bộ vi xử lý (Trang 37 – 50):
- Key concepts: Sơ đồ khối tổng thể của CPU; Cấu trúc đường dẫn dữ liệu (Datapath) gồm ALU, mạch dịch, 32 thanh ghi tổng quát, PC, SR, TEMP, MAR, MBR, MUX; Thiết kế Bộ điều khiển (CU) theo 2 phương pháp: Bộ điều khiển vi chương trình (Microprogrammed Control Unit) và Bộ điều khiển mạch logic ngẫu nhiên/Automate trạng thái hữu hạn PLA; Tiến trình 5 pha thi hành lệnh mã máy: Đọc lệnh (IF), Giải mã lệnh (ID), Thi hành lệnh (EX), Thâm nhập bộ nhớ trong (MEM), Lưu trữ kết quả (RS); Kỹ thuật ống dẫn lệnh (Pipelining) và Kỹ thuật siêu ống dẫn (Superpipelining bậc $n$); 3 dạng chướng ngại trong ống dẫn: Chướng ngại do cấu trúc (Structural hazards), Chướng ngại do dữ liệu (Data hazards - giải pháp chuyển tiếp Forwarding/Bypassing tại ALU), Chướng ngại do điều khiển (Control hazards - trễ rẽ nhánh, chèn bong bóng, hủy bỏ lệnh); Cơ chế và chu trình xử lý ngắt quãng (Interrupt).
- Chương 4: Hệ thống nhớ (Trang 51 – 62):
- Key concepts: Phân loại bộ nhớ theo phương pháp truy nhập và phương thức đọc ghi; Thiết kế mô-đun nhớ bán dẫn (ROM, RAM); Hệ thống nhớ phân cấp; Kết nối bộ nhớ với CPU; Cấu trúc tổ chức bộ nhớ đệm Cache và các phương pháp ánh xạ địa chỉ.
- Chương 5: Thiết bị nhập xuất (Trang 63 – 72):
- Key concepts: Nguyên lý thiết bị nhớ trên vật liệu từ (đĩa cứng, đĩa mềm); Thiết bị nhớ quang học (CD-ROM, CD-R/W, DVD-ROM, DVD-R/W); Các loại thẻ nhớ bán dẫn Flash; Kỹ thuật an toàn và toàn vẹn dữ liệu trong lưu trữ.
- Chương 6: Các loại Bus (Trang 73 – 77):
- Key concepts: Định nghĩa Bus và Bus hệ thống (System bus); Phân loại Bus đồng bộ và Bus không đồng bộ; Hệ thống Bus phân cấp (Bus nối bộ xử lý với bộ nhớ, Bus vào - ra); Các chuẩn Bus trong hệ thống vi xử lý.
- Chương 7: Ngôn ngữ Assembly (Trang 78 – 96):
- Key concepts: Cấu trúc một chương trình hợp ngữ; Cú pháp lệnh Assembly; Khai báo và biểu diễn các kiểu dữ liệu; Cài đặt các cấu trúc điều khiển rẽ nhánh, vòng lặp; Thao tác với ngăn xếp và lập trình chương trình con/thủ tục.
Kiến thức nền tảng được xây dựng
- Lý thuyết thông tin và biểu diễn dữ liệu:
- Định luật đo lường thông tin: $I = \log_2(N)$ bit (trong đó $N$ là số trạng thái khả dĩ).
- Các phương pháp biểu diễn số nguyên: Số bù 1, số bù 2 (chỉ có duy nhất một biểu diễn cho số 0: $00000000_2$), mã BCD (Binary Coded Decimal) dạng không gói và gói.
- Chuẩn số thực IEEE 754: Định dạng chính xác đơn 32 bit ($1\text{ bit dấu } S, 8\text{ bit mũ } e \text{ với bias}=127, 23\text{ bit phần lẻ } m$) với công thức $X = (-1)^S \times 1.m \times 2^{e-127}$; Định dạng chính xác kép 64 bit ($1\text{ bit } S, 11\text{ bit } e \text{ với bias}=1023, 52\text{ bit } m$).
- Nguyên lý kiến trúc phần cứng:
- Mô hình Von Neumann: Bộ nhớ đọc/ghi duy nhất lưu trữ cả lệnh và dữ liệu, đánh địa chỉ theo vùng, thực thi tuần tự.
- Mô hình Harvard: Tách biệt độc lập bộ nhớ chương trình (Program Memory) và bộ nhớ dữ liệu (Data Memory) với hai hệ thống bus riêng biệt, tối ưu hóa băng thông truy xuất cho các kiến trúc đường ống.
- So sánh CISC và RISC: Phân tích đánh đổi giữa số lượng lệnh, độ dài lệnh (CISC có chiều dài biến đổi, RISC cố định 32 bit), chế độ định vị, dung lượng bộ nhớ vi chương trình và không gian chip dành cho mạch điều khiển (CISC chiếm ~60% diện tích cho CU, RISC giảm xuống còn ~10%).
- Khung cấu trúc thực thi lệnh (5-Stage Execution Framework):
- Quy trình phân rã chu kỳ lệnh: Lấy lệnh ($\text{IF: } \text{MAR} \leftarrow \text{PC}, \text{IR} \leftarrow \text{M}[\text{MAR}]$), Giải mã ($\text{ID}$), Thi hành ($\text{EX}$), Thâm nhập bộ nhớ ($\text{MEM}$), Ghi kết quả ($\text{RS: } R_d \leftarrow \text{ALU_out} \text{ hoặc } R_d \leftarrow \text{MBR}$).
Kỹ năng phát triển
- Kỹ năng kỹ thuật (Technical Skills): Chuyển đổi chính xác dữ liệu giữa các hệ cơ số ($2, 8, 10, 16$); Mã hóa và giải mã số thực theo chuẩn IEEE 754; Tính toán các thông số dung lượng của bộ nhớ chính, cache và không gian địa chỉ; Lập trình hợp ngữ x86/8086 điều khiển thanh ghi, thực hiện thuật toán tính toán và phân nhánh logic.
- Kỹ năng phân tích (Analytical Skills): Phân tích và nhận diện 3 dạng xung đột (hazard) trong kỹ thuật ống dẫn lệnh; Tính toán độ trễ chu kỳ xung nhịp và tốc độ tăng tốc ($Speedup$) khi sử dụng kỹ thuật pipeline và superpipelining bậc $n$; Đánh giá sự khác biệt hiệu năng giữa bộ điều khiển vi chương trình (Microprogrammed) và bộ điều khiển phần cứng (Hardwired PLA).
- Năng lực thực tế (Practical Competencies): Thiết lập cấu hình kết nối bus hệ thống; Nhận biết cơ chế bảo vệ an toàn dữ liệu lưu trữ trên các thiết bị nhớ từ/quang học; Phân tích chu trình phục vụ ngắt để phục vụ viết phần mềm hệ thống hoặc giao tiếp thiết bị ngoại vi.
Phương pháp giảng dạy và học tập
- Phương pháp tiếp cận sư phạm (Pedagogical Approach): Giáo trình triển khai phương pháp giảng dạy kỹ thuật có cấu trúc, sử dụng sơ đồ hóa trực quan (Sơ đồ khối CPU, mô hình Datapath, nguyên lý kết nối bus, cơ chế giải mã Automate trạng thái hữu hạn). Nội dung đi từ mức mô tả chức năng cấp cao xuống chi tiết vi mạch và diễn tiến tín hiệu điện điều khiển.
- Bài tập và nghiên cứu tình huống (Exercises & Case Studies):
- Nghiên cứu kiến trúc thực tế: Đối chiếu cấu hình kỹ thuật của các bộ xử lý CISC (năm 1973, 1978, 1982) với 3 bộ xử lý RISC kinh điển: IBM 801 (1980, 120 lệnh), Berkeley RISC1 (1982, 39 lệnh, Patterson), Stanford MIPS (1983, 55 lệnh, Hennessy).
- Bài toán chuyển đổi và biểu diễn số học: Đổi số thập phân $23.375_{10}$ sang nhị phân ($10111.011_2$); Chuyển đổi $101010_2 = 52_8$, $01101101_2 = 6\text{D}{16}$; Biểu diễn số thực $83.75{10}$ sang chuỗi nhị phân chuẩn IEEE 754 32 bit ($0\ 10000101\ 01001111000000000000000_2$); Giải mã chuỗi bit
1100 0001 0101 0110 0000 0000 0000 0000 về giá trị số thực ($-1.375$).
- Tình huống xung đột Pipeline: Phân tích chuỗi 4 lệnh phụ thuộc dữ liệu trên thanh ghi $R_1$:
$$\begin{aligned}
\text{Lệnh 1: } & \text{ADD } R_1, R_2, R_3 \
\text{Lệnh 2: } & \text{SUB } R_4, R_1, R_5 \
\text{Lệnh 3: } & \text{AND } R_6, R_1, R_7 \
\text{Lệnh 4: } & \text{OR } R_8, R_1, R_9
\end{aligned}$$
Đánh giá điểm xung đột tại các pha EX, MEM và phân tích mạch phần cứng chuyển tiếp dữ liệu trực tiếp (ALU Bypassing/Forwarding).
- Thực hành và Đánh giá (Practical Exercises & Assessment Methods):
- Hệ thống câu hỏi và bài tập định lượng ở cuối mỗi chương (từ Chương 1 đến Chương 7) kiểm tra trực tiếp khả năng tính toán, giải thích cơ chế phần cứng và giải thuật Hợp ngữ.
- Đánh giá thực hành qua kỹ năng lập trình Hợp ngữ Assembly: Cài đặt lệnh tính toán số học, điều khiển vòng lặp qua thanh ghi bộ đếm, thao tác ngăn xếp khi gọi hàm con
CALL và RETURN.
- Hướng dẫn tự học (Self-study Guidelines): Sinh viên cần bám sát các mục tiêu học tập ghi ở đầu mỗi đề mục, làm lại toàn bộ các bài tập tính toán mẫu và vẽ lại các sơ đồ luồng tín hiệu (chu trình đọc lệnh, chu trình lưu kết quả, chu trình ngắt) để nắm vững bản chất hoạt động của phần cứng.
Điểm nổi bật và cập nhật
- Lịch sử và tiến trình phát triển công nghệ: Giáo trình ghi nhận chi tiết lịch sử phần cứng máy tính qua các sự kiện công nghiệp tiêu biểu:
- 1981 - 1982: Dòng máy tính cá nhân IBM 5150 ra đời; Dòng IBM XT tích hợp ổ cứng trong dung lượng 10 MB; Vụ kiện bản quyền phần mềm đầu tiên giữa Apple và Franklin Ace 100 (sao chép kiến trúc Apple II); Dòng máy gia đình Commodore 64 đạt doanh số gần 30 triệu máy.
- 1983 - 1984: Apple Lisa - máy tính thương mại đầu tiên có giao diện đồ họa (giá 10.000 USD); Apple Macintosh thương mại hóa thành công giao diện đồ họa.
- 1990: Máy tính NeXT (do Steve Jobs sáng lập) được Tim Berners-Lee sử dụng làm máy chủ World Wide Web đầu tiên.
- 1996 - 1997: Các mốc đấu cờ vua giữa kiện tướng Garry Kasparov và các siêu máy tính của IBM: Deep Thought (1994), Deep Blue (thắng hiệp đầu năm 1996, giành chiến thắng toàn cuộc sau khi nâng cấp vào năm 1997).
- 1998 - nay: Thiết kế máy tính cá nhân Apple iMac và sự phát triển của thiết bị di động/máy tính bảng iPad.
- Cập nhật các mô hình kiến trúc vi xử lý:
- Phân tích chi tiết kiến trúc vi xử lý Intel i860 (kết hợp lõi RISC, bộ số học dấu phẩy động và bộ tạo tín hiệu đồ họa trên cùng một chip bán dẫn).
- Khảo sát cơ chế điều khiển rẽ nhánh trong kiến trúc vi xử lý SPARC (lệnh nhảy hủy bỏ) và phân chia thanh ghi trạng thái thành 8 trường độc lập trong kiến trúc PowerPC.
- Ứng dụng kỹ thuật thực tế:
- Xây dựng thuật toán phần mềm để xử lý số học dấu phẩy động trên các vi xử lý 16 bit đời đầu (Intel 8086/8088) vốn không tích hợp phần cứng tính toán số thực.
- Phân loại ứng dụng thực tế của máy tính thế hệ thứ 4: Minicomputer trong điều khiển tự động hóa sản xuất và hàng không; Mainframe trong xử lý giao dịch ngân hàng theo lô lớn; Supercomputer trong tính toán khoa học dấu chấm động song song.
Đối tượng sử dụng giáo trình
- Sinh viên mục tiêu: Sinh viên các hệ Cao đẳng, Đại học, Trung cấp chuyên nghiệp thuộc khối ngành Công nghệ thông tin, Kỹ thuật phần mềm, Hệ thống thông tin và đặc biệt là chuyên ngành Quản trị Cơ sở dữ liệu.
- Kiến thức tiên quyết (Prerequisites): Người học cần hoàn thành khối kiến thức tin học đại cương, hiểu biết căn bản về logic số học và kỹ năng thao tác máy tính cơ bản.
- Giảng viên và phương thức khai thác: Giảng viên sử dụng tài liệu làm khung bài giảng chuẩn, khai thác các bảng số liệu so sánh vi kiến trúc (bảng so sánh CISC vs RISC, bảng mã chuyển đổi cơ số, bảng chân lý các cờ trạng thái) và hệ thống bài tập cuối chương để biên soạn đề thi, đề kiểm tra định kỳ.
- Người tự học và cán bộ kỹ thuật: Là tài liệu tham khảo cho các kỹ sư phần mềm muốn tiếp cận kiến trúc máy tính ở mức thấp, phục vụ tối ưu hóa mã nguồn, lập trình nhúng, hoặc hiểu sâu cơ chế vận hành của hệ điều hành và phần cứng máy tính.
Câu hỏi thường gặp
1. Giáo trình này phù hợp với đối tượng học tập nào?
Giáo trình được thiết kế chuẩn hóa cho sinh viên khối ngành Công nghệ thông tin, Quản trị Cơ sở dữ liệu và Kỹ thuật máy tính cần nắm vững nguyên lý vận hành phần cứng và vi kiến trúc bộ xử lý.
2. Cần chuẩn bị kiến thức nền tảng nào trước khi học môn này?
Học viên cần nắm được các khái niệm cơ bản trong Tin học đại cương, thao tác máy tính cơ bản và nền tảng số học logic căn bản (hệ nhị phân, đại số Boolean).
3. Giáo trình này có điểm gì khác biệt về mặt nội dung kỹ thuật?
Tài liệu cung cấp các bảng đối chiếu thông số định lượng lịch sử giữa các dòng vi xử lý CISC và 3 mẫu máy RISC đầu tiên (IBM 801, Berkeley RISC1, Stanford MIPS); đồng thời phân tích chi tiết cấp độ phần cứng của 5 pha thực thi lệnh mã máy và các kỹ thuật giải quyết xung đột đường ống (Data/Control hazards).
4. Phương pháp tự học giáo trình này như thế nào để đạt hiệu quả?
Người học nên kết hợp việc đọc hiểu lý thuyết vi kiến trúc với việc giải toàn bộ bài tập định lượng ở cuối các chương (chuyển đổi hệ số, tính toán IEEE 754, vẽ biểu đồ xung nhịp pipeline) và thực hành viết các đoạn mã Assembly trên kiến trúc 8086.
5. Giáo trình có danh mục tài liệu tham khảo bổ trợ không?
Giáo trình có danh mục "Tài liệu tham khảo" tại trang 97, đồng thời cung cấp đầy đủ các sơ đồ phần cứng, bảng mã chuyển đổi BCD, các bước xử lý ngắt và bảng thông số tập lệnh để người học tra cứu trực tiếp.
Kết luận
- Giá trị cốt lõi của giáo trình: Cung cấp hệ thống lý thuyết chuẩn tắc, chính xác về cấu trúc và nguyên lý vận hành của hệ thống máy tính, kết nối chặt chẽ giữa tổ chức mạch điện tử phần cứng với kiến trúc tập lệnh và phần mềm điều khiển mức thấp.
- Lộ trình học tập đề xuất:
- Giai đoạn 1 (Chương 1 - 2): Làm chủ lý thuyết biểu diễn thông tin, chuẩn số thực IEEE 754 và phân loại kiến trúc tập lệnh ISA (CISC/RISC).
- Giai đoạn 2 (Chương 3 - 6): Nghiên cứu sâu vi kiến trúc CPU (Datapath, Control Unit, 5-stage Pipeline, Interrupt) cùng hệ thống nhớ và bus liên kết.
- Giai đoạn 3 (Chương 7): Thực hành lập trình Hợp ngữ Assembly để kiểm chứng trực tiếp cơ chế điều khiển phần cứng và ngăn xếp.
- Tài liệu bổ trợ: Học viên có thể tra cứu thêm mục Tài liệu tham khảo (trang 97 của giáo trình) và các tài liệu kỹ thuật về họ vi xử lý Intel x86/8086 để mở rộng ứng dụng thực tế.