THÔNG TIN THƯ MỤC VÀ TỔNG QUAN HỌC THUẬT: GIÁO TRÌNH THIẾT KẾ LUẬN LÝ SỐ 2

  • Tên giáo trình: Giáo trình Thiết kế Luận lý Số 2
  • Tác giả: Lâm Đức Khải (Chủ biên), Hồ Ngọc Diễm, Trần Đại Dương
  • Đơn vị công tác: Trường Đại học Công nghệ Thông tin – Đại học Quốc gia Thành phố Hồ Chí Minh
  • Nhà xuất bản: Nhà xuất bản Đại học Quốc gia Thành phố Hồ Chí Minh
  • Năm xuất bản: 2019
  • Ngôn ngữ: Tiếng Việt

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

Giáo trình Thiết kế Luận lý Số 2 do nhóm tác giả Lâm Đức Khải (Chủ biên), Hồ Ngọc Diễm và Trần Đại Dương biên soạn, được Nhà xuất bản Đại học Quốc gia Thành phố Hồ Chí Minh phát hành năm 2019. Tài liệu được thiết kế nhằm tiếp nối trực tiếp các khối kiến thức cơ sở đã được trình bày trong Giáo trình Thiết kế Luận lý Số (tập 1) của Trường Đại học Công nghệ Thông tin (ĐHQG-HCM).

Về vị trí trong chương trình đào tạo, giáo trình thuộc khối kiến thức chuyên ngành của các ngành Kỹ thuật Máy tính, Điện tử – Viễn thông và Vi điện tử. Mục tiêu học tập (learning outcomes) của tài liệu tập trung vào:

  1. Trang bị kiến thức nâng cao về phân tích, tổng hợp và mô hình hóa các hệ thống số có độ phức tạp cao.
  2. Cung cấp các phương pháp tối ưu hóa thiết kế phần cứng về mặt tốc độ xử lý (thông qua kỹ thuật pipeline, đa chu kỳ) và tối ưu hóa tài nguyên phần cứng (thông qua kỹ thuật chia sẻ thanh ghi, chia sẻ khối chức năng, chia sẻ bus).
  3. Rèn luyện năng lực hiện thực hóa các giải thuật trên phần cứng chuyên dụng và thiết kế hoàn chỉnh kiến trúc bộ vi xử lý.

Giáo trình được cấu trúc thành 5 chương tuần tự:

  • Chương 1: Các thiết bị lưu trữ.
  • Chương 2: Thiết kế máy trạng thái.
  • Chương 3: Thiết kế khối dữ liệu và khối điều khiển.
  • Chương 4: Thiết kế RTL.
  • Chương 5: Thiết kế bộ vi xử lý.

Cách tiếp cận của giáo trình đi từ các phần tử lưu trữ mở rộng, chuẩn hóa mô hình toán học máy trạng thái hữu hạn (FSM), phân tách kiến trúc hệ thống thành khối đường dữ liệu (Datapath) và khối điều khiển (Control Unit), nâng lên cấp độ chuyển thanh ghi (RTL - Register Transfer Level) với biểu đồ giải thuật máy trạng thái (ASM), và cuối cùng là tích hợp thành các kiến trúc vi xử lý hoàn chỉnh (CISC và RISC).


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

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

Cấu trúc nội dung của giáo trình được triển khai qua 5 chương chuyên sâu:

  • Chương 1: Các thiết bị lưu trữ: Trình bày nguyên lý và cấu trúc phần cứng của các phần tử lưu trữ tuần tự. Nội dung mở rộng từ thanh ghi nạp song song, thanh ghi dịch đa năng (SRwPL) hỗ trợ chuyển đổi dữ liệu nối tiếp – song song, các bộ đếm lên/xuống có nạp dữ liệu. Chương này giới thiệu chi tiết cấu tạo của Tập thanh ghi (Register Files - RF) với nhiều cổng đọc/ghi, Bộ nhớ truy cập ngẫu nhiên (RAM), cấu trúc phân cấp mở rộng dung lượng và độ rộng word, cùng hai cấu trúc bộ nhớ chuyên dụng: Ngăn xếp (Stack - LIFO) và Hàng đợi (Queue - FIFO) được hiện thực bằng thanh ghi dịch hoặc bằng RAM.
  • Chương 2: Thiết kế máy trạng thái: Làm rõ bản chất việc chuyển từ mạch tổ hợp sang mạch tuần tự thông qua bài toán chia sẻ tài nguyên ngõ vào/ngõ ra (ví dụ bộ cộng tuần tự 1 bit thay thế bộ cộng tổ hợp 4 bit). Nội dung chuẩn hóa quy trình thiết kế mạch tuần tự đồng bộ qua mô hình Máy trạng thái hữu hạn (FSM), phân biệt mô hình Moore FSM và Mealy FSM. Chương này cung cấp các giải thuật rút gọn trạng thái thông qua phân hoạch trạng thái và bảng kéo theo (implication table), phương pháp mã hóa trạng thái và kỹ thuật lập bảng chuyển đổi/chuyển trạng thái để tổng hợp phần cứng.
  • Chương 3: Thiết kế khối dữ liệu và khối điều khiển: Trình bày phương pháp phân rã hệ thống kỹ thuật số thành hai thành phần độc lập: Khối dữ liệu (Datapath) và Khối điều khiển (Control Unit). Khối dữ liệu tích hợp các đơn vị tính toán số học và luận lý (ALU, AU, LU), bộ dịch Barrel shifter và Register Files. Khối điều khiển được hiện thực theo hai cấu trúc kiến trúc chính: cấu trúc sử dụng thanh ghi trạng thái kết hợp bộ giải mã, và cấu trúc sử dụng bộ đếm; điều khiển hệ thống thông qua các từ điều khiển (control word).
  • Chương 4: Thiết kế RTL (Register Transfer Level): Giới thiệu mô hình Đường dữ liệu máy trạng thái hữu hạn (FSMD) và Biểu đồ giải thuật máy trạng thái (ASM). Trọng tâm chương là các kỹ thuật tối ưu hóa phần cứng: chia sẻ thanh ghi thông qua giải thuật "left-edge" và giải thuật phân nhóm biểu đồ (graph-partitioning), chia sẻ khối chức năng, chia sẻ bus và hợp nhất thanh ghi. Chương cũng phân tích sự khác biệt giữa thiết kế đơn chu kỳ, đa chu kỳ và kỹ thuật Pipelining (pipeline khối chức năng, pipeline đường dữ liệu, pipeline đường điều khiển) qua bài toán tính xấp xỉ căn bậc hai (SRA).
  • Chương 5: Thiết kế bộ vi xử lý: Phân tích các thành phần của một hệ thống máy tính, chu kỳ thực thi lệnh (Fetch, Decode, Execute, Writeback) và các chế độ đánh địa chỉ (Addressing Modes). Nội dung đi sâu vào quy trình thiết kế tập lệnh (Instruction Set - IS), thiết kế vi xử lý cấu trúc tập lệnh phức tạp (CISC 16 bit) và vi xử lý cấu trúc tập lệnh thu gọn (RISC). Chương phân tích chi tiết sơ đồ kết nối khối dữ liệu - điều khiển, giản đồ thời gian, hiện thực pipeline cho RISC và thực thi chương trình hợp ngữ mẫu.

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

  • Lý thuyết mạch tuần tự đồng bộ và FSM: Xây dựng mô hình toán học cho mạch tuần tự với các hàm trạng thái kế tiếp và hàm ngõ ra (Moore/Mealy), thiết lập quy trình chuẩn từ bảng trạng thái, tối ưu hóa trạng thái tương đương đến việc lập phương trình kích thích cho flip-flop.
  • Nguyên lý phân tách Datapath - Control Unit: Thiết lập nguyên tắc chuẩn hóa trong kiến trúc máy tính, trong đó Datapath đảm nhiệm các phép biến đổi dữ liệu còn Control Unit đảm nhiệm việc tạo xung nhịp và chuỗi tín hiệu điều khiển tuần tự.
  • Khung thiết kế mức độ chuyển thanh ghi (RTL Framework): Ứng dụng biểu đồ ASM để mô tả hành vi giải thuật ở mức phần cứng, kết hợp với các giải thuật đồ thị ("left-edge", "graph-partitioning") nhằm tối ưu hóa việc phân bổ tài nguyên vật lý.

Kỹ năng phát triển

  • Kỹ năng kỹ thuật (Technical skills): Thiết kế và hiện thực các khối phần cứng số như ALU, Barrel shifter, Register Files, bộ nhớ FIFO/LIFO, vi xử lý CISC và RISC có pipeline.
  • Kỹ năng phân tích (Analytical skills): Phân tích thỏa hiệp (trade-offs) giữa diện tích phần cứng (tài nguyên cổng/thanh ghi) và tốc độ xử lý (chu kỳ xung nhịp); phân tích giản đồ thời gian và tối ưu hóa luồng dữ liệu.
  • Năng lực thực hành thiết kế hệ thống: Khả năng chuyển dịch từ một giải thuật toán học (như đếm số bit 1, tính xấp xỉ căn bậc hai SRA) thành sơ đồ kết nối mức cổng và vi lệnh điều khiển tương ứng.

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 áp dụng phương pháp tiếp cận kết hợp giữa phân tích Bottom-up (từ linh kiện cơ sở lên hệ thống) và thiết kế Top-down (từ giải thuật trừu tượng xuống sơ đồ logic phần cứng):

  1. Khảo sát nguyên lý và cấu tạo chi tiết của từng khối lưu trữ và tính toán (Flip-flop $\rightarrow$ Register Files $\rightarrow$ RAM $\rightarrow$ ALU).
  2. Trừu tượng hóa hành vi hệ thống bằng mô hình toán học (FSM) và biểu đồ giải thuật (ASM).
  3. Hiện thực hóa và tối ưu hóa cấu trúc đường dữ liệu và khối điều khiển ở cấp độ RTL.
  4. Tích hợp toàn diện thành bộ vi xử lý hoàn chỉnh.

Bài tập và tình huống thiết kế mẫu

Giáo trình xây dựng hệ thống các ví dụ minh họa và ca thiết kế thực tế gắn liền với lý thuyết:

  • Bài toán chuyển đổi bộ cộng: Chuyển đổi từ bộ cộng song song 4 bit sang mạch cộng tuần tự 1 bit sử dụng D flip-flop lưu số nhớ nhằm minh họa nguyên lý tiết kiệm tài nguyên I/O.
  • Bài toán đếm số bit 1: Minh họa toàn diện từ việc lập Control word, thiết kế khối dữ liệu song song, đến việc xây dựng khối điều khiển dùng bộ giải mã hoặc bộ đếm.
  • Bài toán tính xấp xỉ căn bậc hai (SRA - Square Root Approximation): Làm tình huống điển hình xuyên suốt Chương 4 để minh họa giải thuật "left-edge", giải thuật phân nhóm biểu đồ (graph-partitioning), kỹ thuật gom nhóm kết nối, thiết kế đa chu kỳ và hiện thực pipeline đường dữ liệu/điều khiển.
  • Thiết kế vi xử lý CISC 16 bit và RISC pipeline: Cung cấp biểu đồ giải thuật ASM cho tập lệnh, định vị thành phần khối dữ liệu và lập bảng giản đồ thời gian thực thi tập lệnh.

Hệ thống bài tập và hướng dẫn tự học

Cuối mỗi chương, giáo trình cung cấp danh mục câu hỏi lý thuyết và bài tập thiết kế hệ thống, ví dụ:

  • Phân tích sự khác nhau giữa thanh ghi trong Register Files và word trong RAM; so sánh việc ghép nối bằng bộ chọn (MUX) và cổng 3 trạng thái (Tri-state).
  • Thiết kế thanh ghi dịch đa dụng có khả năng xoay trái, xoay phải, dịch 0/1/2/3 vị trí.
  • Thiết kế bộ đếm theo chuỗi giá trị bất kỳ (chuỗi 0, 3, 6, 9, 12, 15 hoặc chuỗi BCD từ 00 đến 99).
  • Thiết kế module RAM $32 \times 32$ từ các chip nhớ RAM $8 \times 8$; bổ sung mạch logic phát hiện cờ đầy (Full) và cờ trống (Empty) cho Stack và Queue.

Đối với người tự học, tài liệu yêu cầu người đọc phải kết hợp việc đối chiếu danh mục hình vẽ, danh mục bảng biểu (bảng chuyển đổi, bảng hoạt động, bảng kéo theo) với các giản đồ thời gian để nắm vững nguyên lý hoạt động trước khi tiến hành vẽ sơ đồ mạch luận lý.


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

  • Tính kế thừa và cấu trúc nội dung nâng cao: Khác với các tài liệu nhập môn dừng lại ở mức cổng logic rời rạc và mạch tuần tự cơ bản, giáo trình tập trung hoàn toàn vào cấp độ hệ thống số phức tạp, thiết kế RTL và kiến trúc máy tính.
  • Hệ thống hóa các giải thuật tối ưu hóa phần cứng: Giáo trình đưa trực tiếp các giải thuật phân bổ tài nguyên kinh điển trong thiết kế vi mạch vào nội dung giảng dạy, bao gồm giải thuật "left-edge" và giải thuật phân nhóm biểu đồ (graph-partitioning) để chia sẻ thanh ghi và khối chức năng tính toán.
  • Tích hợp kỹ thuật Pipelining ở nhiều cấp độ: Tài liệu phân tích có hệ thống kỹ thuật phân tầng đường ống (Pipelining) từ mức khối chức năng (AU/LU), mức đường dữ liệu (Datapath), đến mức đường điều khiển (Control path) và ứng dụng trực tiếp trong vi xử lý RISC.
  • Chuẩn hóa danh mục thuật ngữ học thuật: Hệ thống thuật ngữ và chữ viết tắt được chuẩn hóa theo chuẩn công nghiệp điện tử và kiến trúc máy tính quốc tế (ACC, ALU, ASIC, ASM, CISC, RISC, FSMD, FIFO, LIFO, RTL...).

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

  • Sinh viên đại học: Phù hợp cho sinh viên từ năm thứ 2 hoặc năm thứ 3 thuộc các ngành Kỹ thuật Máy tính, Điện tử – Viễn thông, Kỹ thuật Vi điện tử, Công nghệ Kỹ thuật Điện tử và Khoa học Máy tính.
  • Kiến thức tiên quyết (Prerequisites):
    • Nắm vững kiến thức từ Giáo trình Thiết kế Luận lý Số (tập 1) hoặc môn học Kỹ thuật số cơ bản.
    • Hiểu rõ đại số Boole, các cổng logic cơ bản, các mạch tổ hợp (bộ cộng, bộ chọn MUX, bộ giải mã) và các phần tử nhớ cơ sở (Latch, D Flip-flop, JK Flip-flop).
  • Giảng viên và cơ sở đào tạo: Làm giáo trình chính cho môn học Thiết kế Luận lý Số 2, Thiết kế Hệ thống Số nâng cao, hoặc làm tài liệu tham khảo cho các học phần Kiến trúc Máy tính, Thiết kế Vi mạch (ASIC/FPGA).
  • Kỹ sư và người nghiên cứu tự học: Cung cấp tài liệu tham khảo có hệ thống cho các kỹ sư phần cứng, kỹ sư thiết kế RTL muốn củng cố phương pháp luận thiết kế hệ thống số và cấu trúc vi xử lý.

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 chuyên biệt cho sinh viên đại học, học viên cao học và kỹ sư thuộc các chuyên ngành Kỹ thuật Máy tính, Điện tử – Viễn thông, Vi điện tử có nhu cầu học tập và nghiên cứu về thiết kế hệ thống số phức tạp và kiến trúc vi xử lý.

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

Người học cần hoàn thành học phần Thiết kế Luận lý Số cơ bản, nắm vững nguyên lý hoạt động của các cổng luận lý, mạch tổ hợp (bộ cộng, MUX, Decoder), các phần tử lưu trữ cơ sở (Latch, Flip-flop) và bảng trạng thái cơ bản.

3. Điểm khác biệt của giáo trình so với các tài liệu kỹ thuật số cơ bản là gì?

Giáo trình không dừng lại ở mức phân tích cổng logic đơn lẻ mà tập trung vào phương pháp thiết kế cấp độ RTL (Register Transfer Level), phân tách Datapath/Control Unit, ứng dụng biểu đồ ASM, áp dụng các giải thuật tối ưu hóa phần cứng và hiện thực hóa kiến trúc vi xử lý hoàn chỉnh (CISC/RISC).

4. Làm sao để tự học hiệu quả với tài liệu này?

Người học nên tuân thủ quy trình thiết kế chuẩn được trình bày trong sách: phân tích bài toán $\rightarrow$ xây dựng FSM/biểu đồ ASM $\rightarrow$ lập bảng chuyển trạng thái/bảng kéo theo $\rightarrow$ xác định đường dữ liệu và từ điều khiển $\rightarrow$ tối ưu tài nguyên phần cứng bằng giải thuật trước khi hiện thực sơ đồ mạch. Đồng thời, cần thực hiện đầy đủ các bài tập thiết kế hệ thống ở cuối mỗi chương.

5. Có kênh hỗ trợ học thuật nào kèm theo giáo trình không?

Nhóm tác giả tiếp nhận các ý kiến đóng góp chuyên môn và giải đáp học thuật về nội dung giáo trình thông qua thư điện tử chính thức: duongtd@uit.edu.vn.


Kết luận

Giáo trình Thiết kế Luận lý Số 2 của Trường Đại học Công nghệ Thông tin – ĐHQG-HCM cung cấp một hệ thống lý thuyết và phương pháp luận hoàn chỉnh về thiết kế mạch số nâng cao. Nội dung tài liệu kết nối chặt chẽ giữa mô hình toán học (FSM, ASM) với việc hiện thực phần cứng và tối ưu hóa tài nguyên ở mức chuyển thanh ghi (RTL).

Lộ trình học tập đề xuất: $$\text{Chương 1 (Thiết bị lưu trữ)} \longrightarrow \text{Chương 2 (Thiết kế FSM)} \longrightarrow \text{Chương 3 (Datapath & Control)} \longrightarrow \text{Chương 4 (Thiết kế RTL & Tối ưu)} \longrightarrow \text{Chương 5 (Thiết kế Vi xử lý)}$$

Tài liệu tham khảo tiếp nối:

  • Giáo trình Thiết kế Luận lý Số (Tập 1 - NXB ĐHQG TP.HCM).
  • Các học phần chuyên sâu về Kiến trúc Máy tính nâng cao, Thiết kế Vi mạch chuyên dụng (ASIC)Tổng hợp hệ thống trên FPGA.