Giáo trình Kỹ thuật Vi xử lý – Nguyễn Trung Đồng

Tổng quan về giáo trình (250-300 từ)

Giáo trình Kỹ thuật Vi xử lý do tác giả Nguyễn Trung Đồng (Viện Công nghệ Thông tin) biên soạn, dựa trên đề cương môn học Kỹ thuật Vi xử lý được giảng dạy tại Bộ môn Kỹ thuật máy tính, Khoa Công nghệ Thông tin – Đại học Thái Nguyên. Giáo trình đóng vai trò là học liệu cơ sở ngành trong chương trình đào tạo kỹ sư và cử nhân ngành Công nghệ thông tin, Kỹ thuật máy tính và Điện tử - Viễn thông.

Mục tiêu học tập của giáo trình là trang bị cho người học hệ thống kiến thức toàn diện về phần cứng hệ thống máy tính, nguyên lý hoạt động của đơn vị xử lý trung tâm (CPU), kỹ thuật ghép nối ngoại vi và phương pháp lập trình hợp ngữ (Assembly). Người học nắm vững cơ chế định thời, quản lý ngắt, truy nhập trực tiếp bộ nhớ (DMA) và các giải pháp thiết kế vỉ nhớ ROM/RAM, từ đó hình thành khả năng phân tích, thiết kế và phát triển các hệ vi xử lý chuyên dụng hoặc hệ thống nhúng.

Cấu trúc giáo trình gồm 5 chương chính kèm theo phần phụ lục tra cứu hệ lệnh:

  • Chương I: Tổng quan về các hệ vi xử lý
  • Chương II: Các đơn vị vi xử lý trung tâm (CPU – Central Processing Unit)
  • Chương III: Bộ nhớ trong của hệ vi xử lý
  • Chương IV: Các chip khả lập trình (Programmable)
  • Chương V: Thiết bị vào ra của hệ vi xử lý
  • Phụ lục: Bảng tóm tắt hệ lệnh vi xử lý họ x86 và bảng tính lũy thừa $2^n$

Điểm đặc thù của giáo trình là tiếp cận từ mức độ vật lý điện tử (mức logic TTL, cấu tạo cổng logic, mạch chốt Flip-Flop) đến kiến trúc tổ chức vi chương trình (MicroProgram) và cấu trúc phần mềm điều khiển. Tài liệu khảo sát chi tiết từ dòng vi xử lý kinh điển $\mu\text{P}8085$, vi xử lý 16-bit $\mu\text{P}8086$, vi điều khiển đơn chip $\mu\text{C}8051$ cho đến kiến trúc phân luồng của Pentium, kết hợp chặt chẽ giữa lý thuyết kiến trúc và sơ đồ ghép nối phần cứng thực tế.


Nội dung kiến thức cốt lõi (500-600 từ)

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

Nội dung giáo trình được tổ chức tuần tự theo tiến trình phát triển và tích hợp của một hệ thống vi tính:

  • Chương I – Tổng quan về các hệ vi xử lý: Trình bày hệ thống các hệ đếm (Thập phân, Nhị phân, Bát phân, Hexa) và công thức chuyển đổi tổng quát $N = \sum_{k=-l}^{n} a_k R^k$. Khảo sát phương pháp mã hóa thông tin phi số (ASCII 7-bit, EBCDIC 8-bit, BAUDOT 5-bit) và thông tin số (BCD, số nguyên có dấu 16-bit, số thực dấu phẩy tĩnh, số thực dấu phẩy động 32-bit và 64-bit theo chuẩn $N = (-1)^S \times 2^{E-\text{bias}} \times F$). Phân tích mức điện áp chuẩn TTL ($0,\text{V} - 0{,}8,\text{V}$ cho mức thấp $V_L$, $2,\text{V} - 5,\text{V}$ cho mức cao $V_H$) và sơ đồ khối chức năng cơ bản gồm CPU, ROM, RAM, I/O Interface, bộ tạo xung Clock Generator, khối nguồn xung (Switching Power Supply).
  • Chương II – Các đơn vị vi xử lý trung tâm (CPU): Khảo sát cấu trúc vi xử lý 8-bit $\mu\text{P}8085$ (sơ đồ 40 chân, các đường dồn kênh $\text{AD}_7-\text{AD}_0$, hệ thống ngắt đa mức TRAP, RST7.5, RST6.5, RST5.5, INTR, cơ chế DMA qua tín hiệu HOLD/HLDA, cấu tạo khối điều khiển CU và giải mã vi chương trình). Khảo sát vi xử lý $\mu\text{P}8086$ (kiến trúc phân chia BIU và EU, hàng đợi lệnh tiền nạp PQ 6-byte, chế độ MIN/MAX, kỹ thuật tạo địa chỉ vật lý 20-bit thông qua thanh ghi đoạn và độ lệch $\text{Segment} \times 10\text{H} + \text{Offset}$). Đồng thời giới thiệu kiến trúc RISC/CISC, vi xử lý Pentium và cấu trúc vi điều khiển đơn chip $\mu\text{C}8051$.
  • Chương III – Bộ nhớ trong của hệ vi xử lý: Phân loại và cấu tạo các phần tử nhớ, vi mạch nhớ ROM (PROM, EPROM, EEPROM) và RAM (SRAM, DRAM). Trình bày nguyên lý tổ chức không gian bộ nhớ vật lý, quy trình thiết kế và ghép nối vỉ nhớ ROM/RAM với BUS địa chỉ và BUS dữ liệu của CPU.
  • Chương IV – Các chip khả lập trình (Programmable): Đi sâu vào cấu trúc và phương pháp lập trình điều khiển 4 vi mạch giao tiếp kinh điển: mạch vào/ra dữ liệu song song PPI-8255, mạch điều khiển ngắt ưu tiên PIC-8259, mạch đếm/định thời khoảng thời gian PIT-8253 và mạch thu phát nối tiếp đồng bộ/dị bộ USART-8251.
  • Chương V – Thiết bị vào ra của hệ vi xử lý: Hướng dẫn kỹ thuật phối ghép phần cứng và thuật toán điều khiển cho bàn phím ma trận Hex Keyboard, hệ thống hiển thị LED 7 thanh (7-segments), bàn phím PC và màn hình ống tia âm cực CRT thông qua chip điều khiển hiển thị CRTC.
flowchart TD
    A["Chương I: Tổng quan hệ đếm, mức logic TTL & Cấu trúc cơ bản"] --> B["Chương II: CPU 8085, 8086, 8051 & Vi chương trình"]
    B --> C["Chương III: Tổ chức bộ nhớ & Thiết kế vỉ nhớ ROM/RAM"]
    B --> D["Chương IV: Vi mạch khả lập trình (8255, 8259, 8253, 8251)"]
    C --> E["Chương V: Ghép nối thiết bị I/O (Bàn phím, LED 7 đoạn, CRT)"]
    D --> E

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

  • Lý thuyết hệ thống số và biểu diễn dữ liệu: Cơ chế biểu diễn mã bù 2 (two's complement), giải thuật thực thi phép cộng, trừ, nhân, chia trên phần cứng thông qua các thao tác dịch bit (shift) và cộng đại số.
  • Nguyên lý BUS và điện tử số: Hiện tượng đoản mạch trên đường truyền chung, nguyên lý hoạt động của mạch đệm 3 trạng thái (Tri-state Buffer, trạng thái trở kháng cao High-Z), mạch chốt dữ liệu (D Flip-Flop) và mạch khuếch đại Bus hai chiều (Transceiver 8288/8228).
  • Cơ chế vận hành nội tại của CPU: Cấu trúc đơn vị điều khiển CU (Control Unit), quá trình sinh mã vi lệnh (Micro-operations) điều khiển các cổng $G_1-G_{12}$, chu kỳ nhận lệnh (Opcode Fetch), chu kỳ máy và chu kỳ BUS.

Kỹ năng phát triển

  • Kỹ năng kỹ thuật (Technical skills): Vẽ và phân tích biểu đồ thời gian (Timing diagrams), tính toán phân bổ địa chỉ vật lý bộ nhớ, ghép nối chân tín hiệu điều khiển giữa CPU và chip ngoại vi.
  • Kỹ năng phân tích (Analytical skills): Phân tích và lựa chọn các chế độ làm việc (MIN/MAX trên 8086, các Mode 0, 1, 2 trên PPI 8255), xác định mức ưu tiên ngắt và phân tích cơ chế giải tỏa tải Bus trong quá trình DMA.
  • Kỹ năng thực hành (Practical competencies): Xây dựng lưu đồ thuật toán và lập trình hợp ngữ (Assembly) 8085/8086 để điều khiển thiết bị ngoại vi, quét bàn phím và xuất dữ liệu ra màn hình/LED 7 thanh.

Phương pháp giảng dạy và học tập (300-350 từ)

Giáo trình được biên soạn theo phương pháp sư phạm tiếp cận cấu trúc từ dưới lên (bottom-up approach), kết hợp chặt chẽ giữa phân tích cấu trúc phần cứng tĩnh (sơ đồ chân, bảng thanh ghi) và mô hình hóa hoạt động động học (biểu đồ định thời Timing, đồ hình trạng thái tín hiệu).

Trong công tác giảng dạy, tài liệu định hướng các phương pháp triển khai:

  • Phân tích ca thiết kế cụ thể (Case-based Analysis): Điển hình như phân tích mạch giải mã lệnh bằng cổng AND đa lối vào, thiết kế mạch ghép nối bộ nhớ bằng IC giải mã $3/8$ (SN74138), hoặc phân tích lưu đồ truyền dữ liệu bàn phím PC về CPU qua cổng nối tiếp.
  • Bài tập thực hành kỹ thuật: Giáo trình cung cấp quy trình 5 bước để giải quyết bài toán lập trình điều khiển vi xử lý:
    1. Đặt vấn đề (Xác nhận vấn đề cần giải quyết)
    2. Xác định phương pháp giải quyết và tối ưu hóa giải thuật
    3. Mô hình hóa giải pháp thông qua lưu đồ thuật toán
    4. Cụ thể hóa lưu đồ sang tập lệnh hợp ngữ (Assembly)
    5. Kiểm tra, chạy thử và gỡ rối chương trình (Debug)
[Đặt vấn đề] ➔ [Xác định giải thuật] ➔ [Xây dựng lưu đồ] ➔ [Viết mã Assembly] ➔ [Kiểm tra & Gỡ rối]

Phương pháp đánh giá học phần tương ứng gồm: đánh giá lý thuyết kiến trúc (khả năng tính toán địa chỉ, vẽ biểu đồ thời gian đọc/ghi bộ nhớ, giải thích chức năng chân tín hiệu), bài tập thiết kế mạch ghép nối ngoại vi và bài thi thực hành viết mã hợp ngữ tương thích họ vi xử lý x86/8085.

Đối với người tự học, tài liệu cung cấp hướng dẫn chi tiết về cách tra cứu bảng vector ngắt, mã nhị phân tương ứng của từng chỉ lệnh (Mnemonic) và bảng giá trị các chân tín hiệu trong chu kỳ Bus, hỗ trợ việc tự kiểm tra và mô phỏng mạch logic.


Điểm nổi bật và cập nhật (250-300 từ)

Giáo trình tích hợp hệ thống kiến thức từ nền tảng vi xử lý cơ bản đến các cải tiến kiến trúc máy tính hiện đại:

  • Tích hợp các thế hệ vi xử lý từ cơ bản đến nâng cao: Phân tích bước chuyển đổi công nghệ từ chip 4-bit Intel 4004 (năm 1971, quản lý 4K từ lệnh, 46 lệnh), qua vi xử lý 8-bit $\mu\text{P}8085$ (tích hợp mạch tạo xung, bộ điều khiển ngắt và dồn kênh địa chỉ/dữ liệu), đến vi xử lý 16-bit $\mu\text{P}8086$ và các dòng mở rộng 32-bit (80386, 80486, Pentium).
  • Cập nhật kiến trúc đường ống và bộ nhớ hiện đại: Trình bày cơ chế đường ống (Instruction Pipeline) thông qua hàng đợi lệnh tiền nạp PQ (Prefetch Queue) 6-byte trên 8086 và cơ chế hai đường ống song song (tách riêng lệnh và dữ liệu) trên vi xử lý Pentium. Bổ sung các khái niệm về bộ nhớ Cache, kiến trúc tập lệnh rút gọn RISC đối sánh với kiến trúc CISC.
  • Mở rộng sang lĩnh vực vi điều khiển đơn chip: Giáo trình bổ sung mục khảo sát vi mạch $\mu\text{C}8051$ (Single-Chip Microcomputer), phân tích cấu trúc tích hợp sẵn CPU, RAM, ROM, Timer và các cổng I/O trên một phiến bán dẫn duy nhất, phục vụ các ứng dụng đo lường và điều khiển tự động trong thiết bị gia dụng và công nghiệp.
  • Liên hệ chuẩn công nghiệp thực tế: Đề cập đến các kiến trúc BUS chuẩn công nghiệp trên máy tính cá nhân như ISA (Industrial Standard Architecture), EISA và PCI (Peripheral Component Interconnect), làm rõ mối quan hệ giữa cấu trúc phần cứng lý thuyết và bo mạch máy tính PC thực tế.

Đối tượng sử dụng giáo trình (200-250 từ)

Giáo trình được thiết kế phục vụ các đối tượng học thuật và kỹ thuật cụ thể:

  • Sinh viên đại học và cao đẳng: Phù hợp cho sinh viên từ năm thứ 2 hoặc năm thứ 3 thuộc các chuyên ngành Công nghệ thông tin, Kỹ thuật máy tính, Khoa học máy tính, Điện tử - Viễn thông, Tự động hóa và Cơ điện tử.
  • Điều kiện tiên quyết (Prerequisites): Người học cần hoàn thành các học phần nền tảng gồm: Kỹ thuật điện tử / Điện tử số (nắm vững bảng chân lý, cổng logic, Flip-Flop, transistor TTL/MOS), Nhập môn lập trình (tư duy thuật toán, cấu trúc điều khiển) và Kiến trúc máy tính cơ sở.
  • Giảng viên chuyên ngành: Sử dụng làm tài liệu giảng dạy chính khóa cho học phần Kỹ thuật vi xử lý hoặc Vi điều khiển; làm khung tham chiếu để thiết kế bài giảng lý thuyết, bài tập lớn thiết kế hệ ghép nối ngoại vi và giáo trình thực hành phòng thí nghiệm.
  • Kỹ sư và học viên tự học: Tài liệu tham khảo kỹ thuật phục vụ việc tra cứu sơ đồ chân, giản đồ định thời, phương thức đánh địa chỉ thiết bị ngoại vi và cấu trúc tập lệnh khi phát triển các hệ thống điều khiển công nghiệp hoặc bảo trì hệ thống phần cứng máy tính.

Câu hỏi thường gặp (250-300 từ)

1. Giáo trình này phù hợp với đối tượng nào?

Giáo trình phục vụ sinh viên đại học ngành Công nghệ thông tin, Kỹ thuật máy tính, Điện tử viễn thông, giảng viên chuyên ngành và kỹ sư nghiên cứu phát triển phần cứng hoặc hệ thống nhúng.

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 cần nắm vững kiến thức về Điện tử số (cổng logic, Flip-Flop, mạch dồn kênh, giải mã), các hệ đếm cơ số và tư duy xây dựng lưu đồ thuật toán cơ bản.

3. Giáo trình tập trung vào dòng vi xử lý nào?

Tài liệu tập trung phân tích sâu kiến trúc phần cứng và tập lệnh của hai dòng chip tiêu biểu của Intel là $\mu\text{P}8085$ (8-bit) và $\mu\text{P}8086$ (16-bit), đồng thời khảo sát vi điều khiển $\mu\text{C}8051$, kiến trúc Pentium và các vi mạch ghép nối phụ trợ (8255, 8259, 8253, 8251).

4. Phương pháp tự học giáo trình hiệu quả là gì?

Người học nên kết hợp đọc sơ đồ khối chức năng với việc giải các bài tập phân tích biểu đồ thời gian (Timing diagram), tính toán phân đoạn bộ nhớ ($\text{Segment}:\text{Offset}$), đồng thời sử dụng các phần mềm mô phỏng (như EMU8086 hoặc bộ mô phỏng 8085) để kiểm chứng mã lệnh Assembly.

5. Giáo trình có tài liệu bổ trợ nào đi kèm?

Phần cuối giáo trình tích hợp Phụ lục A bao gồm Bảng tóm tắt toàn bộ hệ lệnh họ vi xử lý x86, Bảng tra cứu lũy thừa $2^n$ và danh mục tài liệu tham khảo kỹ thuật chuyên sâu từ các nhà sản xuất Intel, Motorola, AMD.


Kết luận (150 từ)

Giáo trình Kỹ thuật Vi xử lý của tác giả Nguyễn Trung Đồng hệ thống hóa toàn diện các nguyên lý kỹ thuật phần cứng, từ biểu diễn tín hiệu vật lý, kiến trúc trung tâm xử lý $\mu\text{P}8085/\mu\text{P}8086$, tổ chức vỉ nhớ cho đến phương pháp ghép nối các vi mạch chức năng khả lập trình và thiết bị ngoại vi.

Lộ trình học tập đề xuất:

  1. Nắm vững hệ đếm, biểu diễn số thực/nguyên và mức logic TTL (Chương I).
  2. Phân tích kiến trúc CPU, chu kỳ Bus, cơ chế ngắt/DMA và tập lệnh (Chương II).
  3. Thiết kế vỉ nhớ ROM/RAM (Chương III).
  4. Khảo sát vi mạch ghép nối khả lập trình PPI, PIC, PIT, USART (Chương IV).
  5. Thực hành ghép nối bàn phím, LED 7 đoạn và màn hình (Chương V).

Người học có thể kết hợp tra cứu phụ lục hệ lệnh x86 và các tài liệu kỹ thuật chuẩn của hãng Intel để củng cố kỹ năng lập trình và thiết kế hệ thống phần cứng vi xử lý.