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

Giáo trình Kiến Trúc Máy Tính do tác giả Nguyễn Trung Đồng biên soạn là tài liệu học tập thuộc khối kiến thức cơ sở ngành trong chương trình đào tạo đại học các ngành Khoa học Máy tính, Kỹ thuật Máy tính, Công nghệ Thông tin và Điện tử Viễn thông. Môn học đóng vai trò cầu nối giữa phần cứng vật lý và các lớp phần mềm ứng dụng, giúp người học hiểu rõ nguyên lý vận hành của hệ thống tính toán số.

Mục tiêu học tập của giáo trình hướng tới việc trang bị cho sinh viên sự hiểu biết về các thành phần phần cứng cơ bản, cách thức tổ chức bộ nhớ, nguyên lý thực thi tập lệnh và phương thức truyền thông tin qua hệ thống bus. Người học được trang bị kiến thức để phân tích chức năng của Đơn vị xử lý trung tâm (CPU), nắm bắt quy trình điều khiển vào/ra dữ liệu, cũng như phương pháp biểu diễn thông tin nhị phân và số học dấu phẩy động trong máy tính.

Cấu trúc giáo trình tiếp cận theo mô hình phân tầng: bắt đầu từ các khái niệm cơ sở, hệ đếm và lịch sử phát triển vi xử lý, sau đó phân tích sâu vào từng khối chức năng phần cứng cốt lõi gồm CPU, tập lệnh, bộ nhớ, hệ thống bus và thiết bị ngoại vi.

Điểm đặc trưng trong phương pháp luận của giáo trình là sự phân định rõ ràng giữa hai khái niệm: "Kiến trúc máy tính" (Computer Architecture) – nghiên cứu những thuộc tính của hệ thống mà người lập trình quan sát được (tập lệnh, độ dài từ dữ liệu, cơ chế vào/ra, chiến lược đánh địa chỉ) và "Tổ chức máy tính" (Computer Organization) – nghiên cứu các thành phần chức năng vật lý cùng mối liên kết nội bộ (tín hiệu điều khiển, giao diện vào/ra, công nghệ vi mạch) mà người lập trình không trực tiếp can thiệp.


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

                             +-----------------------------------+
                             |     HỆ THỐNG MÁY TÍNH TOÀN DIỆN   |
                             +-----------------+-----------------+
                                               |
        +--------------------------------------+--------------------------------------+
        |                                      |                                      |
+-------v-------+                      +-------v-------+                      +-------v-------+
|  CHƯƠNG 1 & 2 |                      |  CHƯƠNG 3 & 4 |                      |  CHƯƠNG 5 & 6 |
| Khái quát,    |                      | Kiến trúc     |                      | Hệ thống BUS, |
| Hệ đếm, CPU   |                      | Tập lệnh,     |                      | Thiết bị      |
| & Thanh ghi   |                      | Quản lý Bộ nhớ|                      | Ngoại vi      |
+---------------+                      +---------------+                      +---------------+

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

Giáo trình được chia thành 6 chương trọng tâm, xây dựng theo lộ trình từ tổng quan đến chi tiết từng khối phần cứng:

  • Chương 1: Giới thiệu chung Trình bày khái niệm cơ sở và phạm vi nghiên cứu của Kiến trúc và Tổ chức máy tính. Phân tích 4 chức năng cơ bản của máy tính: thực hiện chương trình (thông qua thuật giải), xử lý dữ liệu, lưu trữ dữ liệu (tạm thời và dài hạn), di chuyển dữ liệu và điều khiển hệ thống. Giới thiệu mô hình kiến trúc Von Neumann và Harvard; biểu diễn thông tin nhị phân, hệ đếm cơ số $R$, số nguyên có dấu và chuẩn số thực dấu phẩy động IEEE 754; tổng kết lịch sử các thế hệ vi xử lý của hãng Intel.
  • Chương 2: Đơn vị xử lý trung tâm - CPU Khảo sát cấu trúc bên trong của CPU bao gồm Đơn vị số học và logic (ALU), Đơn vị điều khiển (CU) và các thanh ghi chức năng chuyên dụng: Thanh ghi tích lũy (ACC), Thanh ghi tạm thời (TMP, Z(tmp)), Thanh ghi cờ (FR), Thanh ghi lệnh (IR), Bộ đếm chương trình (PC), Thanh ghi địa chỉ bộ nhớ (MAR) và Thanh ghi đệm bộ nhớ (MBR).
  • Chương 3: Kiến trúc tập lệnh Phân tích định dạng lệnh của CPU, độ dài từ lệnh, các chế độ định vị địa chỉ, không gian địa chỉ của biến và lệnh, cùng nguyên tắc thực thi tuần tự các câu lệnh trong chương trình.
  • Chương 4: Kiến trúc, tổ chức và quản lý bộ nhớ Trình bày cấu trúc phân cấp bộ nhớ từ mức bit, byte, từ nhớ đến các thiết bị lưu trữ như RAM, đĩa cứng, CD-ROM, DVD, USB; phương pháp định vị địa chỉ vật lý ô nhớ độc lập với nội dung lưu trữ.
  • Chương 5: Hệ thống BUS Khảo sát cơ chế liên kết nội bộ thông qua 3 thành phần bus: Bus địa chỉ (Address Bus), Bus dữ liệu (Data Bus) và Bus điều khiển (Control Bus), phục vụ việc trao đổi tín hiệu giữa CPU, bộ nhớ và các khối chức năng.
  • Chương 6: Thiết bị ngoại vi (Thiết bị ngoài) Trình bày các cơ chế ghép nối máy tính với môi trường bên ngoài, phương thức truyền dữ liệu vào/ra và các giao diện điều khiển thiết bị ngoại vi.
+-----------------------------------------------------------------------------------+
|                        TIẾN TRÌNH VI XỬ LÝ INTEL TRONG GIÁO TRÌNH                 |
+-----------------------------------------------------------------------------------+
| 1978: 8086/8088 (16-bit, Phân đoạn bộ nhớ)                                        |
| 1982: Intel 286 (Chế độ bảo vệ - Protected Mode)                                  |
| 1985: Intel 386 (Vi xử lý 32-bit IA-32 đầu tiên)                                  |
| 1989: Intel 486 (Đường ống 5 giai đoạn - 5 pipelined stages)                      |
| 1993: Pentium (Superscalar U-V pipelines, L1 Cache đôi 8KB Code/8KB Data)         |
| 1995: P6 / Pentium Pro (3-way Superscalar Microarchitecture)                      |
| 2000: Pentium 4 / Xeon (NetBurst Microarchitecture)                               |
| 2003: Pentium M (Vi kiến trúc tối ưu năng lượng cho thiết bị di động)              |
| 2005: Pentium Processor Extreme Edition (Công nghệ Dual-Core)                     |
| 2006: Core Duo / Solo & Core 2 Family / Xeon 5100-7400 (Hỗ trợ Intel 64)          |
| 2008: Atom (45nm low-power) & Core i7 Nehalem (45nm, Intel 64)                   |
| 2013: Atom Silvermont Microarchitecture (C2xxx, E3xxx, S1xxx)                     |
+-----------------------------------------------------------------------------------+

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

Giáo trình cung cấp các nguyên lý kỹ thuật có tính quy chuẩn:

  1. Nguyên lý kiến trúc Von Neumann:
    • Lệnh (Instruction) và dữ liệu (Data) được lưu trữ chung trong một không gian bộ nhớ đọc/ghi.
    • Mỗi ô nhớ được định vị bằng địa chỉ vật lý xác định, có tính tuần tự và độc lập hoàn toàn với nội dung chứa bên trong.
    • Chương trình xử lý tuần tự từ lệnh bắt đầu đến lệnh kết thúc. Hệ thống chia thành 4 thành phần: ALU, CU, Thiết bị Vào/Ra (I/O) và Bộ nhớ, liên kết thông qua hệ thống Bus do CU điều khiển.
  2. Kiến trúc Harvard:
    • Tách biệt hoàn toàn thành hai vùng nhớ vật lý riêng biệt: Bộ nhớ chương trình (Program Memory) và Bộ nhớ dữ liệu (Data Memory).
    • Sử dụng hai hệ thống bus độc lập để CPU truy xuất đồng thời cả lệnh và dữ liệu, mỗi hệ thống bus đều gồm đầy đủ ba thành phần: bus địa chỉ, bus dữ liệu và bus điều khiển.
  3. Hệ thống đếm và chuyển đổi cơ số:
    • Quy tắc khai triển số $N$ trong hệ cơ số $R$ bất kỳ với $n$ chữ số phần nguyên và $l$ chữ số phần lẻ: $$N = \sum_{k=-l}^{n-1} a_k R^k = a_{n-1}R^{n-1} + \dots + a_0 R^0 + a_{-1}R^{-1} + \dots + a_{-l}R^{-l}$$ trong đó $0 \le a_k < R$.
    • Biểu diễn số nguyên có dấu với bit dấu MSB ($S = 0$ cho số dương, $S = 1$ cho số âm), biểu diễn số bù.
  4. Chuẩn số thực dấu phẩy động IEEE 754:
    • Cấu trúc tổng quát: $N = (-1)^S \times 1.F \times 2^{E - \text{Bias}}$ (với phần định trị $1.F$ được chuẩn hóa).
    • Chính xác đơn (Single Precision - 32 bit): 1 bit dấu ($S$), 8 bit trường mũ ($E$, số lũy thừa bias 127), 23 bit phần định trị ($F$).
    • Chính xác kép (Double Precision - 64 bit): 1 bit dấu ($S$), 11 bit trường mũ ($E$, số lũy thừa bias 1023), 52 bit phần định trị ($F$).
    • Các định dạng mở rộng: Mở rộng đơn (43 bit, $E = 10\text{ bit}$, $F = 31\text{ bit}$) và Mở rộng kép (80 bit, $E = 16\text{ bit}$, $F = 63\text{ bit}$).
  5. Mã hóa thông tin không phải dạng số:
    • Mã ASCII sử dụng 7 bit để mã hóa ký tự.
    • Mã EBCDIC sử dụng trọn vẹn 8 bit (1 byte).
    • Mã BAUDOT sử dụng 5 bit, chuyên dùng trong ngành bưu điện và máy teletype.

Kỹ năng phát triển

Thông qua nội dung của tài liệu, người học rèn luyện các kỹ năng kỹ thuật cụ thể:

  • Kỹ năng phân tích kiến trúc vi xử lý: Đọc hiểu sơ đồ khối CPU, phân tích vai trò của từng thanh ghi (PC, MAR, MBR, IR, ACC) trong quá trình nạp, giải mã và thực thi lệnh.
  • Kỹ năng tính toán và chuyển đổi số học máy tính: Khả năng chuyển đổi qua lại giữa các hệ đếm cơ số 10, nhị phân, Hexa; tính toán biểu diễn số bù và chuyển đổi số thực sang định dạng dấu phẩy động IEEE 754 (32-bit và 64-bit).
  • Kỹ năng phân tích hệ thống truyền dữ liệu: Đánh giá đặc tính bus, phân tích hoạt động phối hợp giữa CPU, các khối nhớ và thiết bị ngoại vi qua hệ thống bus địa chỉ, bus dữ liệu và bus điều khiển.

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

Giáo trình được thiết kế phục vụ cả hoạt động giảng dạy trên lớp lẫn tự học có hướng dẫn, áp dụng phương pháp phân tích hệ thống kết hợp nghiên cứu trường hợp lịch sử phát triển phần cứng thực tế.

               MÔ HÌNH DẠY - HỌC THEO PHÂN TẦNG HỆ THỐNG
               
   [ Lý thuyết mô hình ] ---> So sánh Von Neumann vs Harvard
              |
              v
   [ Cơ sở dữ liệu ]     ---> Hệ đếm, Bù 2, Chuẩn IEEE 754, ASCII/EBCDIC
              |
              v
   [ Khối xử lý CPU ]    ---> ALU, CU, Hệ thống thanh ghi (PC, IR, MAR, MBR)
              |
              v
   [ Tích hợp hệ thống ] ---> Phân cấp bộ nhớ, Hệ thống BUS, Thiết bị ngoại vi
  • Phương pháp tiếp cận sư phạm: Giảng viên triển khai bài giảng bằng cách đối chiếu song song giữa hai trường phái thiết kế kiến trúc máy tính (Von Neumann và Harvard), làm rõ ưu điểm và nhược điểm của việc dùng chung hay tách rời bus dữ liệu và bus lệnh.
  • Bài tập và nghiên cứu tình huống:
    • Bài tập biến đổi đại số hệ đếm: chuyển đổi số thập phân sang nhị phân, biểu diễn giá trị logic 0 và 1 dưới dạng mức điện áp/dòng điện của mạch tích hợp.
    • Bài toán biểu diễn chuẩn hóa IEEE 754: trích xuất giá trị số thực từ chuỗi nhị phân 32-bit hoặc 64-bit dựa vào trường dấu ($S$), trường mũ ($E$) và trường định trị ($F$).
    • Phân tích cấu trúc phần cứng vi xử lý Intel qua từng thời kỳ: nghiên cứu bước chuyển từ mô hình phân đoạn (Segmentation) trên 8086 sang chế độ bảo vệ (Protected Mode) trên 286, mở rộng không gian 32-bit trên 386 và kỹ thuật đường ống 5 tầng trên 486.
  • Phương pháp đánh giá kết quả:
    • Đánh giá lý thuyết: kiểm tra hiểu biết về 3 nguyên lý kiến trúc máy tính, chức năng của các khối ALU, CU, hệ thống bus.
    • Đánh giá bài tập kỹ thuật: kiểm tra độ chính xác trong thao tác tính toán số học nhị phân, giải mã tập mã ASCII/EBCDIC/BAUDOT và định dạng số thực IEEE 754.
  • Hướng dẫn tự học: Sinh viên cần đọc kết hợp bài giảng cùng các tài liệu kỹ thuật chuyên sâu (Technical Manuals) của nhà sản xuất vi xử lý (như Intel Developer's Manual) để đối chiếu giữa lý thuyết kiến trúc và thực tế triển khai vi kiến trúc phần cứng.

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

Tài liệu thể hiện tính hệ thống thông qua việc kết hợp giữa lý thuyết kinh điển và tài liệu kỹ thuật thực tế của các nhà sản xuất phần cứng:

+------------------------------------------------------------------------------------+
|                         NGUỒN HỌC LIỆU VÀ TÀI LIỆU KỸ THUẬT                        |
+------------------------------------------------------------------------------------+
| [1] Nguyễn Trung Đồng - Giáo trình Kiến trúc máy tính (Website tài liệu)          |
| [2] Nguyễn Trung Đồng - Giáo trình Hệ Vi xử lý tiên tiến                          |
| [3] Nguyễn Trung Đồng - Giáo trình Kỹ thuật Vi xử lý (NXB KHKT Hà Nội, 2010)       |
| [4] Hoàng Xuân Dậu - Bài giảng Kiến trúc máy tính (HV Công nghệ Bưu chính Viễn thông) |
| [5] Nguyễn Ngọc Hoá - Kiến trúc máy tính (Bài giảng tại ĐHQG Hà Nội)              |
| [6] Kai Hwang - Advanced Computer Architecture (McGraw-Hill, 1993)                 |
| [7] William Stallings - Computer Organization and Architecture (Prentice-Hall, 2006)|
| [8] David Hergert, Nancy Thibeault - PC Architecture from Assembly to C (1997)    |
| [9] James M. Retter - Computer Architecture (MIT Press & McGraw-Hill, 1994)        |
| [10-12] Intel Corporation - Intel® 64 and IA-32 Architectures Software Developer’s |
|         Manual: System Programming Guide (Order Numbers: 248966, 253665, 253668)   |
+------------------------------------------------------------------------------------+
  • Tổng hợp hệ thống vi xử lý x86 từ 16-bit đến 64-bit: Giáo trình hệ thống hóa chi tiết tiến trình kỹ thuật của dòng vi xử lý Intel từ chip 8086/8088 (1978) cho đến kiến trúc Nehalem (Core i7 900 series, 45nm) và kiến trúc Silvermont trên dòng Intel Atom (2013).
  • Trích xuất thông số kỹ thuật chuẩn: Cung cấp thông số cụ thể về công nghệ siêu vô hướng (Superscalar với hai đường ống U và V trên Pentium), bộ nhớ đệm L1 tích hợp 16 KB (tách biệt 8 KB Code và 8 KB Data), kiến trúc vi xử lý 3 luồng (3-way superscalar) của dòng Pentium Pro (P6 family).
  • Tích hợp vi kiến trúc tiết kiệm năng lượng: Cập nhật thông tin về dòng Intel Atom tối ưu cho thiết bị công suất thấp với hai đường ống thực thi tuần tự (in-order pipelines), đáp ứng kích thước vi mạch thu nhỏ và kéo dài thời lượng pin.
  • Cơ sở tham chiếu từ tài liệu chuẩn quốc tế: Tài liệu xây dựng nội dung dựa trên các nguồn giáo trình chuẩn của William Stallings (2006), Kai Hwang (1993), James M. Retter (1994) và các tập sổ tay lập trình hệ thống chính thức của Intel xuất bản năm 2014.

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

Giáo trình phục vụ nhiều nhóm đối tượng trong môi trường đào tạo và nghiên cứu kỹ thuật:

+-------------------+----------------------------------------------------------------+
| Nhóm đối tượng    | Mục đích và phạm vi sử dụng                                    |
+-------------------+----------------------------------------------------------------+
| Sinh viên         | Học phần Kiến trúc máy tính, Kỹ thuật vi xử lý thuộc các ngành |
| Đại học / Cao học | CNTT, Điện tử Viễn thông, Kỹ thuật Máy tính                    |
+-------------------+----------------------------------------------------------------+
| Giảng viên        | Biên soạn đề cương, xây dựng bài giảng lý thuyết, thiết kế câu |
|                   | hỏi bài tập về hệ đếm, IEEE 754 và cấu trúc CPU                |
+-------------------+----------------------------------------------------------------+
| Lập trình viên    | Lập trình Hợp ngữ (Assembly), Lập trình hệ thống, phát triển   |
| Hệ thống / Nhúng  | Driver và Firmware cần tra cứu thanh ghi và kiến trúc x86      |
+-------------------+----------------------------------------------------------------+
  • Sinh viên đại học chuyên ngành kỹ thuật: Phục vụ sinh viên năm thứ hai hoặc năm thứ ba theo học các ngành Khoa học Máy tính, Kỹ thuật Phần mềm, Hệ thống Thông tin, Kỹ thuật Máy tính và Điện tử.
  • Yêu cầu kiến thức tiên quyết (Prerequisites):
    • Kiến thức toán học logic: đại số Boolean, logic mệnh đề và toán rời rạc.
    • Kỹ năng lập trình cơ bản: hiểu khái niệm phát biểu, khai báo biến và cấu trúc thuật toán.
    • Nguyên lý điện tử cơ sở: khái niệm về điện áp, dòng điện thể hiện mức logic nhị phân trong mạch vi điện tử.
  • Giảng viên các trường đại học: Sử dụng tài liệu làm khung chương trình chuẩn cho môn học 3-4 tín chỉ; khai thác hệ thống thuật ngữ và bảng phân loại chuẩn (IEEE 754, bảng mã ký tự, tiến trình vi xử lý) để thiết kế giáo án và đề thi.
  • Kỹ sư phần mềm và nhà nghiên cứu: Dùng làm tài liệu tra cứu các nguyên lý vận hành của vi xử lý IA-32/Intel 64, cấu trúc thanh ghi phần cứng (MAR, MBR, PC, IR) phục vụ việc tối ưu hóa mã nguồn cấp thấp hoặc lập trình nhúng.

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

1. Giáo trình này phù hợp cho đối tượng người học nào?

Tài liệu phù hợp cho sinh viên bậc đại học và cao học thuộc các ngành Công nghệ Thông tin, Kỹ thuật Máy tính và Điện tử Viễn thông cần nắm vững cấu trúc phần cứng và nguyên lý thực thi lệnh ở mức hệ thống.

2. Cần chuẩn bị những kiến thức nền tảng nào trước khi tiếp cận giáo trình?

Người học cần có kiến thức cơ bản về toán rời rạc, đại số logic, nguyên lý biểu diễn điện áp trong mạch tích hợp số và các khái niệm cơ bản về lập trình (như biến, câu lệnh và thuật giải).

3. Sự khác biệt cốt lõi giữa kiến trúc Harvard và Von Neumann trong giáo trình là gì?

Kiến trúc Von Neumann dùng chung một không gian bộ nhớ và hệ thống bus cho cả lệnh và dữ liệu. Ngược lại, kiến trúc Harvard chia tách bộ nhớ vật lý thành 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, cho phép truy xuất đồng thời lệnh và dữ liệu.

4. Chuẩn IEEE 754 được giáo trình phân loại theo những định dạng nào?

Giáo trình phân tích 4 định dạng theo chuẩn IEEE 754:

  • Chính xác đơn (32 bit): 1 bit dấu, 8 bit mũ (bias 127), 23 bit định trị.
  • Mở rộng chính xác đơn (43 bit): 10 bit mũ, 31 bit định trị.
  • Chính xác kép (64 bit): 1 bit dấu, 11 bit mũ (bias 1023), 52 bit định trị.
  • Mở rộng chính xác kép (80 bit): 16 bit mũ, 63 bit định trị.

5. Giáo trình sử dụng những nguồn tài liệu tham khảo chính nào?

Tài liệu tham khảo bao gồm các giáo trình của tác giả Nguyễn Trung Đồng (Kỹ thuật Vi xử lý - NXB KHKT 2010, Hệ Vi xử lý tiên tiến), bài giảng của Hoàng Xuân Dậu (HVCNBCVT), Nguyễn Ngọc Hoá (ĐHQG Hà Nội), các sách chuyên khảo quốc tế của William Stallings, Kai Hwang, David Hergert, James M. Retter và bộ sổ tay kỹ thuật Intel 64 and IA-32 Architectures Software Developer’s Manual.


Kết luận

Giáo trình Kiến Trúc Máy Tính của tác giả Nguyễn Trung Đồng cung cấp một khung kiến thức hoàn chỉnh về cấu trúc và nguyên lý vận hành của các hệ thống tính toán điện tử. Nội dung giáo trình bao quát từ nền tảng toán học hệ đếm, cơ chế biểu diễn dữ liệu nhị phân, cấu tạo chi tiết của CPU, hệ thống thanh ghi, đến các phân hệ bộ nhớ, bus và thiết bị ngoại vi.

Lộ trình học tập được thiết kế mạch lạc: người học đi từ các khái niệm cơ bản và nguyên lý kiến trúc (Von Neumann/Harvard) ở Chương 1, tiến tới phân tích cấu trúc điều khiển CPU và tập lệnh ở Chương 2 và Chương 3, sau đó hoàn thiện hiểu biết toàn diện về hệ thống thông qua các chương về bộ nhớ, BUS và thiết bị vào/ra (Chương 4, 5, 6).

Để đạt hiệu quả học tập cao, người đọc nên kết hợp nghiên cứu giáo trình này cùng các tài liệu bổ trợ chuyên sâu của tác giả như Giáo trình Kỹ thuật Vi xử lý (NXB KHKT, 2010), các công trình nghiên cứu của William Stallings, Kai Hwang và tài liệu kỹ thuật phần cứng chính thức từ Intel Corporation.