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

Giáo trình Vi xử lý do tác giả Phạm Hùng Kim Khánh biên soạn là tài liệu học tập phục vụ trực tiếp cho học phần Kỹ thuật Vi xử lý trong chương trình đào tạo trình độ đại học của Khoa Điện – Điện tử, ngành Điện tử Viễn thông thuộc trường Đại học Dân lập Kỹ thuật Công nghệ TP.HCM. Tài liệu được thiết kế tương thích với khung phân bổ thời lượng 60 tiết giảng dạy trên lớp và tự học, đóng vai trò là môn học cơ sở ngành then chốt giúp sinh viên chuyển tiếp từ kiến thức điện tử số cơ bản sang kỹ thuật phần cứng và lập trình hệ thống máy tính.

Mục tiêu học tập của giáo trình tập trung vào ba kết quả đầu ra chính:

  1. Nắm vững cấu trúc phần cứng và nguyên lý hoạt động của một hệ vi xử lý chuẩn dựa trên nền tảng vi xử lý 16-bit Intel 8086/8088.
  2. Nắm vững cú pháp, phương pháp tổ chức bộ nhớ và kỹ thuật lập trình hợp ngữ (Assembly Language) để điều khiển trực tiếp phần cứng và xử lý luồng dữ liệu.
  3. Làm chủ kỹ thuật ghép nối, giải mã không gian địa chỉ bộ nhớ và phối ghép ngoại vi thông qua các vi mạch chuẩn công nghiệp.

Giáo trình được bố cục thành 4 chương nội dung cùng 2 phần phụ lục bổ trợ, đi theo tiến trình sư phạm tuyến tính từ tầng vật lý/phần cứng số, tổ chức cấu trúc CPU nội bộ, đến kỹ thuật lập trình tầng thấp và cuối cùng là tích hợp hệ thống phần cứng – phần mềm hoàn chỉnh. Điểm đặc sắc của tài liệu là sự tích hợp chặt chẽ giữa sơ đồ mạch ghép nối vật lý, giản đồ định thì tín hiệu bus thực tế và mã nguồn hợp ngữ tương ứng, cung cấp đầy đủ thông số kỹ thuật và phương pháp tính toán cụ thể cho từng mạch giao tiếp.


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

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

Cấu trúc giáo trình bao gồm 4 chương chuyên đề và 2 phần phụ lục với lộ trình nội dung logic:

  • Chương 1: Tổ chức hệ thống Vi xử lý: Thiết lập nền tảng về các hệ thống số trong máy tính (hệ thập phân, nhị phân, thập lục phân, mã BCD nén và không nén, mã LED 7 đoạn dạng anode/cathode chung). Trình bày các phép toán số học nhị phân (cộng, trừ qua phương pháp số bù 2, nhân bằng thuật toán cộng – dịch phải, chia bằng phương pháp trừ/cộng số bù 2 – dịch trái). Khái quát các linh kiện số cơ bản (cổng logic, vi mạch logic khả trình PLA, PAL, mạch chốt latch, flip-flop, thanh ghi, thanh ghi dịch) và các loại bộ nhớ bán dẫn (ROM, PROM, EPROM, EEPROM, SRAM, DRAM). Đi sâu vào kiến trúc vi xử lý 8086/8088: sơ đồ khối CPU gồm hai đơn vị làm việc độc lập là Đơn vị Thực thi (Execution Unit – EU) và Đơn vị Giao tiếp Bus (Bus Interface Unit – BIU); mô tả chi tiết 40 chân tín hiệu trong chế độ Minimum Mode và Maximum Mode; tổ chức 14 thanh ghi nội (AX, BX, CX, DX, SP, BP, SI, DI, CS, DS, SS, ES, IP và Flag Register 16-bit gồm 9 cờ: OF, DF, IF, TF, SF, ZF, AF, PF, CF); nguyên lý phân đoạn bộ nhớ 1MB thành các đoạn 64KB, công thức tính địa chỉ vật lý từ địa chỉ logic (Địa chỉ vật lý = Segment × 10h + Offset); 9 chế độ định địa chỉ (tức thời, thanh ghi, trực tiếp, gián tiếp thanh ghi, có chỉ số, có nền, có nền và chỉ số, có nền chỉ số kết hợp độ dời, và định địa chỉ chuỗi); kỹ thuật giải mã địa chỉ bộ nhớ sử dụng IC 74LS138 và IC so sánh 74LS688; phân tích giản đồ định thì chu kỳ đọc/ghi bộ nhớ và biên định thì (timing margin).
  • Chương 2: Lập trình hợp ngữ: Khái quát sự khác biệt giữa tập tin thực thi dạng .COM (giới hạn một đoạn 64KB, chứa khối tiền tố chương trình PSP 256-byte tại địa chỉ 0000h) và .EXE (nhiều phân đoạn, có header điều khiển). Quy định khung chuẩn của một chương trình hợp ngữ (.MODEL, .STACK, .DATA, .CODE, thủ tục PROC / ENDP, lệnh CALL, RET, END). Cú pháp khai báo dữ liệu với các chỉ thị tiền xử lý DB (byte), DW (word), DD (double word), toán tử lặp mảng DUP. Phân loại tập lệnh 8086 thành các nhóm: chuyển dữ liệu, chuyển điều khiển, xử lý số học, xử lý chuỗi. Cài đặt các cấu trúc điều khiển giải thuật (tuần tự, IF-THEN, IF-THEN-ELSE, CASE, FOR, WHILE, REPEAT). Kỹ thuật truyền tham số giữa các chương trình con thông qua 4 cơ chế: thanh ghi, biến/ô nhớ, con trỏ gián tiếp, và ngăn xếp (Stack). Cung cấp các ví dụ giải thuật mẫu: in chuỗi ký tự ra màn hình qua ngắt DOS, in chuỗi tại tọa độ xác định, thuật toán cộng 2 số nhị phân dài 5 byte, và chuyển đổi chuỗi chữ thường thành chữ hoa.
  • Chương 3: Tổ chức nhập / xuất: Giới thiệu chức năng và sơ đồ phối ghép của các vi mạch hỗ trợ gồm mạch tạo xung nhịp 8284 và mạch điều khiển bus 8288. Phân tích các phương thức giao tiếp I/O, kỹ thuật giải mã địa chỉ cổng nhập/xuất và các mạch cổng đệm cơ bản. Khảo sát vi mạch giao tiếp ngoại vi song song khả trình 8255A PPI (Programmable Peripheral Interface) với cấu trúc các cổng Port A, Port B, Port C cùng 3 chế độ vận hành: Mode 0 (Nhập/xuất cơ bản không bắt tay), Mode 1 (Nhập/xuất có tín hiệu bắt tay – handshake), và Mode 2 (Truyền nhận dữ liệu song hướng).
  • Chương 4: Giao tiếp với các thiết bị đơn giản: Hướng dẫn thiết kế mạch phần cứng và xây dựng thuật toán điều khiển cho các thiết bị ngoại vi thông dụng: giao tiếp LED đơn, mạch điều khiển và quét hiển thị ma trận LED, kỹ thuật giao tiếp nút nhấn đơn, và giải thuật quét ma trận bàn phím Hex.
  • Phụ lục 1 & Phụ lục 2: Cung cấp tài liệu kỹ thuật chi tiết về cấu trúc vi mạch 8255A và bảng tra cứu tập lệnh hợp ngữ của họ vi xử lý Intel 8086.

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

Giáo trình xây dựng hệ thống lý thuyết và nguyên lý kỹ thuật có tính hệ thống cao:

  • Lý thuyết cơ sở: Lý thuyết biểu diễn thông tin số, đại số Boole, nguyên lý hoạt động của các phần tử nhớ cơ bản (chốt dữ liệu, flip-flop D kích hoạt cạnh xung clock), và bảng chân lý của các mạch logic số.
  • Nguyên lý cốt lõi: Nguyên lý phân chia bus hệ thống (Address Bus, Data Bus, Control Bus); cơ chế đa hợp tín hiệu theo thời gian (time-multiplexing) trên các chân AD0 ÷ AD15 của 8086; cơ chế quản lý không gian nhớ phân đoạn (Segmentation) giúp CPU 16-bit truy xuất không gian vật lý 20-bit (1MB); nguyên lý phối hợp định thì giữa CPU và bộ nhớ thông qua chân READY và các trạng thái chờ (wait states).
  • Khuôn mẫu thiết kế: Kiến trúc đường ống hai khối song song EU – BIU; cấu trúc chương trình hợp ngữ module hóa định hướng bộ nhớ (.MODEL SMALL); mô hình giải mã địa chỉ tĩnh và giải mã địa chỉ phân tầng (cascaded decoding).

Kỹ năng phát triển

Thông qua nội dung các chương và hệ thống bài tập, người học được rèn luyện các kỹ năng kỹ thuật cụ thể:

  • Kỹ năng kỹ thuật: Tính toán dung lượng và thiết kế mạch giải mã địa chỉ bộ nhớ kết hợp ROM/RAM dùng IC 74LS138 hoặc 74LS688; cấu hình từ điều khiển (control word) cho vi mạch giao tiếp song song 8255A theo từng chế độ hoạt động; tính toán thông số định thì truy xuất bộ nhớ ($t_{ACC}, t_{OE}, t_{CS}, t_{DS}, t_{DH}$).
  • Kỹ năng phân tích: Đọc và phân tích giản đồ định thì chu kỳ bus đọc/ghi; xác định sự thay đổi trạng thái của các cờ trong thanh ghi cờ sau khi thực thi các lệnh số học – logic; phân biệt và lựa chọn phương pháp định địa chỉ tối ưu cho các cấu trúc dữ liệu mảng hoặc chuỗi.
  • Kỹ năng thực hành: Lập trình hợp ngữ x86 hoàn chỉnh trên môi trường DOS; xử lý vào/ra dữ liệu qua cổng I/O; viết chương trình điều khiển hiển thị trên LED 7 đoạn và giải thuật chống rung, quét phím ma trận.

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 tiếp cận từ dưới lên (bottom-up approach), xuất phát từ các cấu kiện điện tử số cơ bản, nâng dần lên mức vi kiến trúc của chip vi xử lý, tiếp tục trừu tượng hóa sang ngôn ngữ lập trình hợp ngữ, và cuối cùng tổng hợp thành các bài toán thiết kế hệ thống nhúng/điều khiển thiết bị ngoại vi. Cách tiếp cận này giúp sinh viên hiểu rõ bản chất vật lý của từng câu lệnh khi chạy trên phần cứng.

Hệ thống bài tập và nghiên cứu tình huống được tích hợp trực tiếp ở cuối mỗi chương với mức độ phức tạp tăng dần:

  • Bài tập thiết kế phần cứng: Chương 1 bao gồm 13 bài tập lớn đòi hỏi tính toán dung lượng bộ nhớ, xác định bảng bộ nhớ (memory map) từ sơ đồ mạch cho trước, và thiết kế hoàn chỉnh sơ đồ mạch giải mã cho các hệ thống bộ nhớ kết hợp nhiều chip ROM (8K×8, 16K×8) và RAM (2K×8, 4K×8) với không gian địa chỉ 20-bit.
  • Bài tập lập trình và case study: Chương 2 cung cấp các bài tập viết chương trình hợp ngữ từ mức cơ bản (nhập xuất ký tự) đến nâng cao (cộng mảng số lớn, biến đổi chuỗi, truyền tham số qua stack). Chương 3 và Chương 4 cung cấp các bài toán giao tiếp thực tế như xác định địa chỉ cổng I/O từ mạch chốt 74LS374 và viết chương trình quét LED, đọc trạng thái bàn phím.

Phương pháp đánh giá học phần được thiết kế dựa trên:

  1. Đánh giá kỹ năng thiết kế phần cứng thông qua bài tập vẽ sơ đồ nguyên lý giải mã địa chỉ và lập bảng phân bổ không gian nhớ.
  2. Đánh giá kỹ năng phân tích thông qua bài tập đọc giản đồ định thì và giải thích trạng thái thanh ghi cờ.
  3. Đánh giá kỹ năng lập trình thông qua các bài kiểm tra viết mã hợp ngữ giải quyết các thuật toán điều khiển ngoại vi.

Về hướng dẫn tự học, giáo trình yêu cầu người học thực hiện các bước:

  • Đọc kỹ lý thuyết cấu trúc thanh ghi và bảng phân đoạn trước khi chuyển sang phần lập trình.
  • Thực hành tính toán địa chỉ vật lý và vẽ bảng bộ nhớ trên giấy cho từng bài tập thiết kế.
  • Sử dụng Phụ lục 2 để tra cứu số chu kỳ máy, trạng thái cờ bị tác động của từng lệnh hợp ngữ trong quá trình viết mã.
  • Tra cứu các chế độ vận hành của 8255A tại Phụ lục 1 để hỗ trợ thiết kế mạch ở Chương 3 và Chương 4.

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

Giáo trình cung cấp các dữ liệu kỹ thuật có tính hệ thống cao về sự phát triển của vi kiến trúc máy tính:

  • Tổng hợp lịch sử vi xử lý: Giáo trình hệ thống hóa các thế hệ vi xử lý từ Thế hệ 1 (vi xử lý 4-bit Intel 4004, 4040 ra đời năm 1971–1973), Thế hệ 2 (vi xử lý 8-bit Intel 8080/8085), Thế hệ 3 (vi xử lý 16-bit Intel 8086/80286, Motorola 68000), Thế hệ 4 (vi xử lý 32-bit Intel 80386, 80486, Pentium, Motorola 68020–68060) đến Thế hệ 5 (vi xử lý 64-bit). Các thông số kỹ thuật then chốt như tần số xung nhịp, độ rộng bus dữ liệu/địa chỉ, số lượng transistor và dung lượng quản lý bộ nhớ vật lý/bộ nhớ ảo được trình bày chi tiết qua Bảng 1.4.
  • Phân tích chuyên sâu vi kiến trúc x86: Tài liệu làm rõ sự khác biệt giữa vi xử lý 8086 (bus dữ liệu 16-bit, hàng đợi lệnh 6 byte, tổ chức bộ nhớ thành 2 bank chẵn/lẻ điều khiển bởi chân BHE) và 8088 (bus dữ liệu 8-bit, hàng đợi lệnh 4 byte). Cơ chế hoạt động của hàng đợi lệnh (Instruction Queue) trong đơn vị BIU giúp minh họa nguyên lý sơ khai của kỹ thuật xử lý đường ống (pipelining).
  • Tích hợp chuẩn vi mạch công nghiệp thực tế: Thay vì chỉ trình bày mô hình lý thuyết, giáo trình đưa vào các IC chuẩn được sử dụng rộng rãi trong kỹ thuật máy tính và công nghiệp: vi mạch tạo dao động 8284, bộ điều khiển bus 8288, IC giải mã địa chỉ 74LS138, IC so sánh độ lớn 74LS688, IC giao tiếp ngoại vi khả trình 8255A, và vi mạch chốt 8-bit 74LS374.
  • Ứng dụng thực tế: Các sơ đồ giao tiếp phần cứng với đèn LED 7 đoạn (kèm bảng mã phân đoạn chi tiết), ma trận phím Hex và các cổng logic chuẩn giúp người học nắm bắt trực tiếp cấu tạo của các hệ thống hiển thị và nhập liệu trong thiết bị điện tử.

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

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

  • Sinh viên đại học: Sinh viên năm thứ hai hoặc năm thứ ba thuộc Khoa Điện – Điện tử, chuyên ngành Điện tử Viễn thông, Kỹ thuật Điều khiển & Tự động hóa, Kỹ thuật Máy tính, và Công nghệ Thông tin cần học phần Kỹ thuật Vi xử lý hoặc Kiến trúc Máy tính.
  • Điều kiện tiên quyết (Prerequisites): Để tiếp thu giáo trình một cách hiệu quả, người học cần hoàn thành các môn học:
    • Kỹ thuật số / Điện tử số: Nắm vững các cổng logic cơ bản (AND, OR, NOT, NAND, NOR, XOR), mạch chốt (latch), flip-flop (D flip-flop, JK flip-flop), thanh ghi dịch, và các hệ thống biểu diễn số nhị phân, thập lục phân, mã BCD.
    • Kỹ thuật lập trình cơ bản: Nắm vững tư duy giải thuật điều khiển cơ bản (cấu trúc rẽ nhánh, vòng lặp).
  • Giảng viên: Sử dụng giáo trình làm tài liệu giảng dạy chính khóa theo khung chuẩn 60 tiết; khai thác hệ thống sơ đồ chân, giản đồ định thì, các bảng mã và bài tập giải mã bộ nhớ làm ngân hàng câu hỏi phục vụ kiểm tra, thi kết thúc học phần hoặc xây dựng các bài thí nghiệm phần cứng vi xử lý.
  • Kỹ sư và người tự học: Phù hợp cho kỹ sư phần cứng, kỹ sư hệ thống nhúng cần củng cố kiến thức nền tảng về tổ chức bus, giải mã địa chỉ, nguyên lý giao tiếp I/O ở mức thanh ghi và phương pháp tối ưu hóa chương trình thông qua ngôn ngữ hợp ngữ.

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

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

Giáo trình được biên soạn dành cho sinh viên đại học khối ngành Điện – Điện tử, Điện tử Viễn thông, Công nghệ Thông tin và các kỹ sư kỹ thuật muốn nắm vững cấu trúc phần cứng, nguyên lý hoạt động của CPU và lập trình điều khiển mức thấp.

2. Cần kiến thức nền nào trước khi học giáo trình này?

Người học cần có kiến thức nền tảng về Kỹ thuật số (các hệ thống số, phép toán số học nhị phân, các cổng logic cơ bản, flip-flop, thanh ghi, bộ nhớ bán dẫn) và kiến thức cơ sở về giải thuật lập trình.

3. Điểm khác biệt của giáo trình này so với các tài liệu vi xử lý khác là gì?

Tài liệu tập trung đào sâu vào mối liên kết trực tiếp giữa cấu trúc phần cứng (40 chân của 8086, giản đồ định thì bus, mạch giải mã 74LS138/74LS688) với ngôn ngữ hợp ngữ (Assembly) và vi mạch phối ghép ngoại vi thực tế (8255A PPI), thay vì chỉ thuần túy trình bày lý thuyết lập trình trừu tượng.

4. Làm sao để tự học giáo trình này hiệu quả?

Người học nên tuân thủ lộ trình: nắm vững kiến thức các hệ thống số và cấu trúc thanh ghi ở Chương 1; giải toàn bộ 13 bài tập thiết kế mạch giải mã địa chỉ; thực hành viết các chương trình mẫu trong Chương 2; và phân tích kỹ 3 chế độ hoạt động (Mode 0, Mode 1, Mode 2) của IC 8255A ở Chương 3 để áp dụng vào các bài toán giao tiếp ở Chương 4.

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

Giáo trình tích hợp sẵn hai phần phụ lục quan trọng: Phụ lục 1 cung cấp thông số kỹ thuật và sơ đồ khối của vi mạch 8255A, và Phụ lục 2 cung cấp bảng tổng hợp toàn bộ tập lệnh của họ vi xử lý 8086 giúp tra cứu thuận tiện trong quá trình lập trình.


Kết luận

Giáo trình Vi xử lý của tác giả Phạm Hùng Kim Khánh cung cấp hệ thống kiến thức hoàn chỉnh, chuẩn mực về kiến trúc vi xử lý 16-bit Intel 8086/8088, kỹ thuật lập trình hợp ngữ và phương pháp ghép nối ngoại vi trong thời lượng 60 tiết học.

Lộ trình học tập đề xuất đi từ việc làm chủ tổ chức phần cứng và phân đoạn bộ nhớ (Chương 1), rèn luyện kỹ năng viết mã hợp ngữ (Chương 2), khảo sát các vi mạch hỗ trợ bus và vi mạch giao tiếp song song 8255A (Chương 3), đến triển khai thiết kế các hệ thống điều khiển LED và ma trận bàn phím hoàn chỉnh (Chương 4). Kết hợp cùng 2 phần phụ lục tra cứu và hệ thống bài tập tính toán thiết kế cuối chương, giáo trình là tài liệu học thuật cơ sở đáp ứng đầy đủ yêu cầu đào tạo chuyên ngành Điện tử – Viễn thông.