Tổng quan về giáo trình

Bài giảng Kiến trúc máy tính và Hệ điều hành do tác giả Nguyễn Thị Ngọc Vinh biên soạn, phát hành nội bộ tại Học viện Công nghệ Bưu chính – Viễn thông (Hà Nội, 2013). Tài liệu được thiết kế làm học liệu cơ sở trong chương trình đào tạo trình độ cao đẳng và đại học cho khối ngành Kỹ thuật Điện tử – Truyền thông và Công nghệ Thông tin. Về mặt vị trí phân phối chương trình, môn học đóng vai trò cầu nối trung gian giữa khối kiến thức phần cứng điện tử cơ bản (kỹ thuật số, mạch vi điện tử) và khối kiến thức phần mềm ứng dụng (lập trình hệ thống, mạng máy tính).

Mục tiêu học tập của giáo trình nhằm trang bị cho người học hệ thống khái niệm nền tảng về tổ chức và kiến trúc máy tính, nguyên lý hoạt động của khối xử lý trung tâm (CPU), cấu trúc tập lệnh, cơ chế đường ống (pipeline), phân cấp hệ thống nhớ, bus giao tiếp và thiết bị ngoại vi. Đồng thời, giáo trình cung cấp nguyên lý vận hành tổng quát của hệ điều hành với tư cách là lớp phần mềm quản lý và điều phối toàn bộ tài nguyên phần cứng.

Cấu trúc giáo trình gồm 2 phần chính với 6 chương, vận dụng cách tiếp cận phân tầng từ dưới lên (bottom-up): xuất phát từ cấu trúc vật lý và tập lệnh của phần cứng máy tính trước khi chuyển sang các cơ chế quản trị của hệ điều hành. Điểm đặc sắc của tài liệu là sự tích hợp liền mạch giữa hai mảng kiến thức vốn thường được tách rời thành hai môn học độc lập (Kiến trúc máy tính và Hệ điều hành), giúp người học có cái nhìn toàn diện về cơ chế tương tác giữa phần cứng và phần mềm trong một hệ thống tính toán thống nhất.

       +-----------------------------------------------------------+
       |   BÀI GIẢNG KIẾN TRÚC MÁY TÍNH VÀ HỆ ĐIỀU HÀNH (2013)     |
       +-----------------------------------------------------------+
                                     |
         +---------------------------+---------------------------+
         |                                                       |
+---------------------------------+     +---------------------------------+
|   PHẦN 1: KIẾN TRÚC MÁY TÍNH    |     |      PHẦN 2: HỆ ĐIỀU HÀNH       |
+---------------------------------+     +---------------------------------+
| - Chương 1: Giới thiệu chung    |     | - Chương 5: Tổng quan HĐH       |
| - Chương 2: Khối xử lý trung tâm|     | - Chương 6: Các thành phần HĐH  |
| - Chương 3: Hệ thống nhớ        |     |   (Quản lý file, bộ nhớ,        |
| - Chương 4: Hệ thống bus & I/O  |     |    tiến trình và điều độ)       |
+---------------------------------+     +---------------------------------+

Nội dung kiến thức cốt lõi

Các chương và chủ đề chính

Nội dung giáo trình được triển khai qua 6 chương với logic phát triển từ vi mô đến vĩ mô:

  • Chương 1: Giới thiệu chung: Phân định khái niệm giữa kiến trúc máy tính (gồm Kiến trúc tập lệnh - ISA, Vi kiến trúc, Thiết kế hệ thống) và tổ chức máy tính. Trình bày sơ đồ khối chức năng gồm CPU, bộ nhớ trong (ROM, RAM), thiết bị ngoại vi và bus hệ thống. Tổng kết lịch sử 5 thế hệ máy tính từ đèn điện tử (ENIAC), bóng bán dẫn (UNIVAC, IBM 7000 series), mạch tích hợp IC (System/360), LSI (RISC 6000, Cray 2) đến VLSI (Intel Pentium, Core 2 Duo). Phân tích sự khác biệt giữa kiến trúc von-Neumann (dùng chung bộ nhớ cho lệnh và dữ liệu, thực hiện tuần tự) và kiến trúc Harvard (tách biệt Program Memory và Data Memory với hai hệ thống bus riêng). Giới thiệu các hệ đếm (nhị phân, thập phân, thập lục phân), đơn vị dữ liệu (bit, nibble, byte, word, double-word), biểu diễn số bù hai có dấu và bảng mã chuẩn ASCII 8-bit.
  • Chương 2: Khối xử lý trung tâm (CPU): Phân tích sơ đồ khối CPU gồm Bộ điều khiển (CU), Bộ tính toán số học và logic (ALU), hệ thống thanh ghi và bus nội bộ. Mô tả chi tiết chức năng của các thanh ghi: thanh tích lũy (A), bộ đếm chương trình (PC), thanh ghi lệnh (IR), thanh ghi địa chỉ bộ nhớ (MAR), thanh ghi đệm dữ liệu (MBR), thanh ghi tạm thời (Y, Z), con trỏ ngăn xếp (SP) với cơ chế Push/Pop, thanh ghi trạng thái/cờ (FR với các cờ CF, ZF, SF, OF, AF, PF, IF). Khái quát 10 bước của chu trình xử lý lệnh qua 4 pha cơ bản: Đọc lệnh (IF), Giải mã (ID), Thực hiện (EX), Ghi kết quả (WB). Phân loại 5 dạng toán hạng (0, 1, 1.5, 2, 3 địa chỉ) và 5 chế độ định địa chỉ: Tức thì (Immediate), Trực tiếp (Direct), Gián tiếp qua thanh ghi/bộ nhớ (Indirect), Chỉ số (Indexed), Tương đối (Relative). Phân tích cơ chế ống lệnh (pipeline) 5 giai đoạn (IF, ID, EX, MEM, WB) cùng ba thách thức kỹ thuật: xung đột tài nguyên, tranh chấp dữ liệu đọc sau khi ghi (RAW - Read After Write), và vấn đề nảy sinh do lệnh rẽ nhánh cùng phương pháp trễ nhánh (delayed branching) hoặc chèn lệnh NO-OP.
  • Chương 3: Hệ thống nhớ: Phân loại bộ nhớ theo phương thức truy cập (SAM, RAM, ROM), khả năng duy trì dữ liệu (ổn định, không ổn định) và công nghệ vật lý (bán dẫn, từ tính, quang học). Trình bày cấu trúc vi mạch nhớ ma trận hàng-cột và các chân tín hiệu điều khiển (CS, RE, WE). Phân tích cấu trúc phân cấp bộ nhớ (Thanh ghi -> Cache -> Bộ nhớ chính ROM/RAM -> Bộ nhớ ngoài) nhằm cân bằng giữa tốc độ truy cập và giá thành. Đi sâu vào cấu tạo mạch lật 6-transistor của SRAM đối sánh với cấu trúc tụ điện - transistor của DRAM và sự cần thiết của chu kỳ làm tươi (refresh); phân loại SDRAM, DDR1, DDR2, DDR3. Trình bày nguyên lý bộ nhớ Cache dựa trên tính lân cận không gian (spatial locality) và thời gian (temporal locality); định nghĩa tỷ lệ trúng/trượt (Hit/Miss); so sánh hai dạng kiến trúc cache Look Aside và Look Through; phân loại các bộ nhớ ngoài (đĩa từ, đĩa quang, chuẩn ATA, SATA, SCSI, công nghệ RAID, SAN, NAS).
  • Chương 4: Hệ thống bus và các thiết bị ngoại vi: Phân tích đặc tính kỹ thuật của các chuẩn bus nội bộ và mở rộng: ISA (8/16-bit), EISA (32-bit), PCI, cổng đồ họa AGP và chuẩn truyền thông nối tiếp tốc độ cao PCI-Express. Giới thiệu nguyên lý các cổng giao tiếp và thiết bị ngoại vi cơ bản: bàn phím, chuột, màn hình hiển thị (CRT, LCD), máy in.
  • Chương 5: Tổng quan về hệ điều hành: Trình bày định nghĩa hệ điều hành dưới hai góc độ: bộ quản lý tài nguyên (CPU, bộ nhớ, thiết bị I/O) và bộ điều khiển thực hiện chương trình. Khái quát lịch sử phát triển từ hệ thống xử lý theo mẻ (batch processing), hệ thống đa chương trình (multiprogramming) đến hệ thống chia sẻ thời gian (time-sharing). Phân tích kiến trúc phân lớp, cấu trúc nhân (kernel) và các dịch vụ cơ bản của hệ điều hành.
  • Chương 6: Các thành phần của hệ điều hành: Đi sâu vào 3 module chức năng cốt lõi: Quản lý hệ thống tập tin (khái niệm file, phương pháp cấp phát không gian, so sánh bảng cấp phát file FAT, NTFS trên Windows và EXT2/EXT3/EXT4 trên Linux); Quản lý bộ nhớ (kỹ thuật phân chương cố định/biến đổi, phân trang - paging, phân đoạn - segmentation, cơ chế bộ nhớ ảo - virtual memory); Quản lý tiến trình (khái niệm tiến trình, khối điều khiển tiến trình PCB, các trạng thái tiến trình và thuật toán điều độ CPU).
                      TIẾN TRÌNH NỘI DUNG GIÁO TRÌNH
                      
  [Chương 1: Khái niệm & Hệ số đếm] 
  [Chương 3 & 4: Phân cấp Bộ nhớ & Bus / I/O]
  [Chương 6: Quản lý File, Bộ nhớ & Tiến trình]

Kiến thức nền tảng được xây dựng

Giáo trình thiết lập hệ thống lý thuyết nền tảng gồm:

  1. Mô hình tính toán Von-Neumann và Harvard: Làm rõ nguyên lý lưu trữ chương trình trong bộ nhớ và cơ chế nạp - giải mã - thực thi lệnh tuần tự đối chiếu với kiến trúc tách biệt luồng dữ liệu và lệnh.
  2. Nguyên lý lân cận dữ liệu (Locality of Reference): Xây dựng cơ sở lý thuyết cho việc thiết kế phân cấp hệ thống nhớ và các thuật toán ánh xạ bộ nhớ đệm cache.
  3. Lý thuyết điều độ và trừu tượng hóa tài nguyên: Cung cấp nền tảng về cơ chế phân chia thời gian CPU, không gian địa chỉ ảo và cấu trúc bảo vệ nhiều mức của hệ điều hành.

Kỹ năng phát triển

  • Kỹ năng kỹ thuật (Technical skills): Đọc hiểu và phân tích cấu trúc mã lệnh hợp ngữ, tính toán chu kỳ thực thi lệnh; thực hiện phép chuyển đổi giữa các hệ cơ số đếm (Hex, Bin, Dec); phân tích dữ liệu trên thanh ghi cờ ALU.
  • Kỹ năng phân tích (Analytical skills): Định vị và phân tích các dạng phụ thuộc dữ liệu (RAW hazards) trong đường ống lệnh pipeline; đánh giá hiệu năng hệ thống nhớ dựa trên công thức tính thời gian truy cập trung bình và hệ số Hit/Miss của cache.
  • Năng lực thực hành (Practical competencies): Khả năng phân tích cách phân bổ bảng phân trang, phân đoạn trong quản lý bộ nhớ ảo; lựa chọn cấu hình chuẩn ghép nối phần cứng (SATA, PCIe, RAID) phù hợp với yêu cầu tính toán.

Phương pháp giảng dạy và học tập

Giáo trình được thiết kế theo phương pháp sư phạm diễn dịch: mỗi chủ đề bắt đầu từ các khái niệm định nghĩa chuẩn tắc, chuyển sang sơ đồ nguyên lý hình học (hệ thống 41 hình vẽ minh họa chi tiết), sau đó làm rõ bằng các ví dụ tính toán số học hoặc mã lệnh giả định.

       QUY TRÌNH TIẾP CẬN SƯ PHẠM TRONG MỖI CHỦ ĐỀ
       
+-------------------------------------------------------+
| 1. Khái niệm định nghĩa & Nguyên lý vận hành          |
+-------------------------------------------------------+
+-------------------------------------------------------+
| 2. Sơ đồ khối chức năng / Mạch nguyên lý (Hình vẽ)    |
+-------------------------------------------------------+
+-------------------------------------------------------+
| 3. Ví dụ mã lệnh Assembly (LOAD, ADD, SUB, BRANCH...) |
+-------------------------------------------------------+
+-------------------------------------------------------+
| 4. Phân tích xung đột & Đề xuất giải pháp kỹ thuật    |
+-------------------------------------------------------+
  • Bài tập và nghiên cứu tình huống: Giáo trình cung cấp hệ thống ví dụ trực quan về việc tổ chức tập lệnh (như đoạn chương trình tính tổng 100 ô nhớ liên tiếp dùng vòng lặp với các lệnh LOAD, ADD, INCREMENT, DECREMENT, BRANCH-IF-GREATER-THAN), và tình huống tranh chấp dữ liệu RAW giữa hai lệnh kế tiếp ADD R1, R2, R3SUB R4, R1, R2.
  • Bài tập thực hành: Người học được yêu cầu thực hiện các bài toán chuyển đổi hệ cơ số, tính toán địa chỉ hiệu dụng cho các chế độ địa chỉ (Indexed, Relative), vẽ giản đồ thời gian thực thi lệnh trong pipeline có và không có stall/chèn lệnh NO-OP.
  • Phương pháp đánh giá: Đánh giá kết quả học tập thông qua hai hình thức: kiểm tra lý thuyết (khả năng trình bày sơ đồ khối, giải thích chức năng các khối CU, ALU, thanh ghi, cơ chế phân trang) và bài tập kỹ thuật (tính toán thông số cache, giải thuật điều độ tiến trình).
  • Hướng dẫn tự học: Người học cần theo dõi danh mục thuật ngữ tiếng Anh và từ viết tắt chuyên ngành (gồm 30 mục từ như CPU, ALU, CU, BIOS, FAT, NTFS, RAID, PCIe...) được chuẩn hóa ở đầu tài liệu để đối chiếu chính xác khái niệm khi đọc tài liệu tham khảo quốc tế.

Điểm nổi bật và cập nhật

  • Cập nhật cấu trúc vi xử lý: Bài giảng đưa vào phân tích đối chiếu giữa các vi xử lý cổ điển (Intel 8086 ra đời năm 1978) với các dòng vi xử lý đa nhân thời điểm biên soạn như Intel Core 2 Duo (2006), Pentium D, Core Quad, làm rõ sự tiến hóa từ đường ống 3-5 giai đoạn lên 10-15 giai đoạn, cá biệt như kiến trúc Intel Pentium IV Prescott với 31 giai đoạn thực thi.
  • Mở rộng công nghệ bộ nhớ và lưu trữ: Tài liệu cập nhật quá trình chuyển dịch công nghệ từ SDR SDRAM sang các thế hệ DDR1 (266-400 MHz), DDR2 (400-800 MHz), và DDR3 (800-1600 MHz); mở rộng phân tích các chuẩn giao tiếp đĩa cứng hiện đại từ PATA/IDE sang SATA, SCSI và các mô hình lưu trữ phân tán như RAID, mạng lưu trữ SAN, thiết bị lưu trữ gắn mạng NAS.
  • Tích hợp hệ thống tệp và cấu trúc hệ điều hành đương đại: So sánh trực tiếp cơ chế quản lý tệp tin giữa hệ điều hành Windows (FAT32, NTFS) và Linux (dòng EXT2, EXT3, EXT4), phản ánh đúng hiện trạng ứng dụng trong môi trường công nghiệp CNTT.
Thành phần kỹ thuật Công nghệ truyền thống Công nghệ cập nhật trong giáo trình
Vi xử lý (CPU) Intel 8086, 80286 (Đơn nhân, 3-5 stages) Intel Core 2 Duo, Pentium IV Prescott (31 stages pipeline)
Bộ nhớ RAM SDR SDRAM (100-133 MHz) DDR1, DDR2, DDR3 SDRAM (băng thông lên đến 1600 MHz)
Bus hệ thống ISA (8/16-bit), EISA (32-bit), PCI PCI-Express (PCIe), AGP đồ họa chuyên dụng
Lưu trữ ngoài PATA / IDE, Đĩa từ đơn lẻ Chuẩn SATA, SCSI, Mảng đĩa RAID, Hệ thống SAN/NAS
Hệ thống tệp FAT16 / FAT32 cơ bản NTFS (Windows), EXT2/EXT3/EXT4 (Linux)

Đối tượng sử dụng giáo trình

  • Sinh viên đại học và cao đẳng: Giáo trình được thiết kế chuyên biệt cho sinh viên năm thứ 2 hoặc năm thứ 3 chuyên ngành Kỹ thuật Điện tử – Truyền thông, Công nghệ Thông tin, Kỹ thuật Phần mềm và Hệ thống Thông tin.
  • Điều kiện tiên quyết: Người học cần hoàn thành khối kiến thức cơ sở về Nhập môn Tin học, Kỹ thuật lập trình (ngôn ngữ C/C++) và Toán rời rạc / Kỹ thuật số (đại số logic, cổng logic cơ bản).
  • Giảng viên: Tài liệu cung cấp khung đề cương chi tiết, hệ thống thuật ngữ chuẩn hóa và sơ đồ khối rõ ràng, phù hợp làm giáo án giảng dạy cho học phần có thời lượng 2 đến 3 tín chỉ lý thuyết.
  • 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, kỹ sư phần cứng và quản trị viên hệ thống cần củng cố kiến thức về giao tiếp vi xử lý và quản trị tài nguyên kernel.

Câu hỏi thường gặp

1. Giáo trình này phù hợp với ai?

Tài liệu phục vụ trực tiếp cho sinh viên bậc cao đẳng và đại học ngành Điện tử Viễn thông, Công nghệ Thông tin, cũng như các kỹ thuật viên cần nắm vững nguyên lý hoạt động của phần cứng và hệ điều hành.

2. Cần kiến thức nền nào để học?

Người học cần nắm được kiến thức lập trình cơ bản (C/C++), đại số logic Boolean, các phép toán nhị phân cơ bản và cấu trúc linh kiện số căn bản.

3. Điểm khác biệt với giáo trình khác là gì?

Điểm khác biệt là việc tích hợp gọn gàng cả hai mảng Kiến trúc máy tính (4 chương đầu) và Hệ điều hành (2 chương sau) trong cùng một tập tài liệu 141 trang, giúp người học thấy rõ mối liên hệ giữa lệnh phần cứng và sự điều phối của hệ điều hành.

4. Làm sao để tự học hiệu quả?

Người học nên học tuần tự từng chương, kết hợp đọc lý thuyết với việc phân tích các sơ đồ khối (như sơ đồ CPU Hình 14, vi mạch nhớ Hình 32), thực hành giải quyết các bài toán tranh chấp pipeline và theo dõi danh mục thuật ngữ viết tắt.

5. Có tài liệu bổ trợ nào kèm theo?

Tài liệu cung cấp bảng đối chiếu 30 thuật ngữ Anh – Việt chuyên ngành ở phần đầu và danh mục tài liệu tham khảo học thuật ở trang 141 phục vụ cho việc tra cứu nâng cao.


Kết luận

Bài giảng Kiến trúc máy tính và Hệ điều hành của tác giả Nguyễn Thị Ngọc Vinh là học liệu mang tính hệ thống cao, mô tả chính xác mối liên kết giữa kiến trúc vi phần cứng và nguyên lý phần mềm hệ thống. Lộ trình học tập khuyến nghị bắt đầu từ việc nắm vững cấu trúc CPU, tập lệnh và phân cấp bộ nhớ tại Phần 1, sau đó tiến tới nghiên cứu cơ chế quản lý tệp, bộ nhớ và tiến trình của hệ điều hành tại Phần 2. Người học có thể mở rộng nghiên cứu thông qua danh mục thuật ngữ và các tài liệu chuyên khảo về vi xử lý Intel và hệ điều hành Unix/Linux được trích dẫn trong bài giảng.