MODULE 2: TƯ DUY “XÂY NHÀ” – TỪ CỔNG LOGIC ĐẾN MẠCH CHỨC NĂNG
Chào bạn! Rất vui được tiếp tục đồng hành cùng bạn trong bài học tiếp theo của Module 2. Chúng ta đã biết cách dùng Bộ giải mã (Decoder) để “phân phối” một lệnh đến nhiều thiết bị. Bây giờ, chúng ta sẽ học kỹ năng ngược lại: làm sao để chọn một trong nhiều nguồn dữ liệu để đưa về trung tâm xử lý.

MUX và bảng sự thật
1. Giới thiệu
Chào mừng bạn đến với bài học về “trạm điều phối” của thế giới vi mạch. Nếu Bộ giải mã (Decoder) giúp chúng ta mở rộng từ một lệnh ra nhiều thiết bị, thì Bộ chọn (Multiplexer – gọi tắt là MUX) lại làm nhiệm vụ ngược lại: tập hợp nhiều nguồn dữ liệu nhưng chỉ chọn duy nhất một nguồn để đi tiếp.
Trong thiết kế FPGA, đặc biệt là trên dòng chip mạnh mẽ Artix-7 XC7A100T của bo mạch AIOT-ARTIX7, MUX xuất hiện ở khắp mọi nơi. Nó giống như những “nút giao thông” cực nhanh, cho phép chip chọn đọc dữ liệu từ cảm biến nhiệt độ, cảm biến RF, hay từ bộ nhớ chỉ trong tích tắc.
Trong công nghiệp, MUX là thành phần cốt lõi trong các hệ thống truyền tin, cho phép nhiều người cùng trò chuyện trên một đường dây duy nhất mà không bị lẫn lộn. Hiểu về MUX, bạn sẽ hiểu cách FPGA quản lý luồng dữ liệu khổng lồ một cách trật tự và không bao giờ bị “tắc nghẽn”.
2. Nội dung chính
2.1. Khái niệm: MUX là gì? – “Nhiều vào, một ra”
Hãy tưởng tượng bạn có 4 nguồn nhạc khác nhau (Spotify, YouTube, Radio, MP3) nhưng chỉ có duy nhất một chiếc loa. Bạn cần một cái nút vặn để chọn xem loa sẽ phát nguồn nhạc nào. Cái nút vặn đó chính là MUX.
- Đầu vào dữ liệu: Các nguồn nhạc.
- Đầu ra: Chiếc loa.
- Đầu vào điều khiển (Select): Vị trí của nút vặn bạn chọn.
- Quy tắc: Số lượng đường điều khiển (n) sẽ quyết định bạn chọn được bao nhiêu nguồn (2n).
Ví dụ: 1 đường điều khiển chọn được 2 nguồn, 2 đường điều khiển chọn được 4 nguồn, 3 đường chọn được 8 nguồn.
2.2. Ví dụ đời sống: Điều khiển tivi (Remote)
Khi bạn bấm chuyển kênh trên điều khiển, thực chất bạn đang gửi một “mã chọn” đến tivi. Bên trong tivi có hàng trăm kênh đang truyền tín hiệu tới đồng thời (giống như tính song song của FPGA), nhưng nhờ bộ MUX, tivi chỉ cho phép hình ảnh của đúng kênh bạn chọn được hiển thị lên màn hình. Mọi luồng dữ liệu của các kênh khác vẫn tồn tại ở đầu vào nhưng bị chặn lại bởi “nhà điều phối” MUX.
2.3. So sánh công nghệ: MUX Phần cứng vs. Lệnh IF Phần mềm
Đây là điểm mấu chốt để hiểu về sức mạnh của bo mạch AIOT-ARTIX7:
- Phần mềm (Vi điều khiển): Để chọn dữ liệu, CPU phải chạy lệnh: “Đọc giá trị A -> Kiểm tra điều kiện -> Nếu đúng thì chép A vào biến kết quả”. Quá trình này mất vài nhịp xử lý (cycles) của CPU.
- Phần cứng (FPGA): MUX là một cấu trúc vật lý gồm các cổng logic kết nối sẵn. Tín hiệu từ tất cả các nguồn luôn “đợi sẵn” ở cổng vào. Ngay khi bạn thay đổi tín hiệu điều khiển, đầu ra sẽ thay đổi ngay lập tức vì dòng điện chỉ đơn giản là được “rẽ nhánh” sang đường dây khác thông qua các cổng logic. Không có độ trễ của việc nạp lệnh hay tính toán.
2.4. Thực hành tư duy trên bo mạch AIOT-ARTIX7
Chúng ta hãy thử thiết lập một kịch bản điều phối trên bo mạch của mình:
- Nguồn dữ liệu 1: Tín hiệu nhấp nháy liên tục (ví dụ từ một bộ tạo xung).
- Nguồn dữ liệu 2: Tín hiệu đứng yên (luôn bằng 1 – LED luôn sáng).
- Nút chọn (Select): Sử dụng Switch 1.
- Kết quả: Hiển thị trên đèn LED 1.
Khi Switch 1 = 0: LED 1 sẽ nhấp nháy (chọn nguồn 1). Khi Switch 1 = 1: LED 1 sẽ sáng đứng yên (chọn nguồn 2). Bằng cách này, chip Artix-7 không cần phải viết lại code để thay đổi kiểu nháy đèn, nó chỉ đơn giản là chọn một “luồng” dữ liệu khác nhau để đưa ra chân đèn LED.
3. Tổng kết
- Chức năng: MUX chọn 1 trong nhiều đầu vào để đưa ra một đầu ra duy nhất dựa trên tín hiệu điều khiển.
- Công thức: Với n chân điều khiển, ta chọn được 2n nguồn dữ liệu đầu vào.
- Ưu điểm phần cứng: Hoạt động dựa trên kết nối vật lý, phản ứng tức thì, cho phép điều phối dữ liệu tốc độ cực cao.
- Tư duy thiết kế: Thay vì dùng lệnh rẽ nhánh phức tạp, hãy nghĩ về việc tạo ra các luồng dữ liệu song song và dùng MUX để chọn luồng cần thiết.
Kiểm tra kiến thức
Hãy hoàn thành các câu hỏi trắc nghiệm dưới đây để củng cố tư duy về “Nhà điều phối” MUX.
- Câu 1: Một bộ MUX có 3 chân điều khiển (Select lines) thì có thể chọn giữa bao nhiêu nguồn dữ liệu đầu vào?
A. 3 nguồn.
B. 6 nguồn.
C. 8 nguồn.
D. 9 nguồn.
Xem đáp án & Giải thích
Đáp án đúng: C
Giải thích: Theo công thức 2n, với n = 3 chân điều khiển, ta có 23 = 8 nguồn dữ liệu đầu vào có thể lựa chọn.
- Câu 2: Trong các hệ thống viễn thông, MUX được dùng để làm gì?
A. Để tăng tốc độ mạng Internet lên gấp đôi.
B. Để gộp nhiều tín hiệu khác nhau vào một đường truyền duy nhất nhằm tiết kiệm chi phí dây dẫn.
C. Để sạc pin cho các trạm phát sóng.
D. Để thay đổi màu sắc của dây cáp quang.
Xem đáp án & Giải thích
Đáp án đúng: B
Giải thích: Đây là ứng dụng Multiplexing kinh điển trong truyền thông, cho phép truyền nhiều luồng dữ liệu trên một hạ tầng vật lý duy nhất.
- Câu 3: Điểm khác biệt lớn nhất giữa MUX trên FPGA và lệnh if-else trong ngôn ngữ C là gì?
A. MUX chạy chậm hơn vì phải qua nhiều cổng logic.
B. MUX là cấu trúc phần cứng song song, phản ứng tức thì khi tín hiệu điều khiển thay đổi mà không cần CPU xử lý lệnh.
C. Lệnh if-else có thể chọn được nhiều đầu ra cùng lúc hơn MUX.
D. MUX chỉ hoạt động được với số âm.
Xem đáp án & Giải thích
Đáp án đúng: B
Giải thích: Trong FPGA, MUX được hiện thực hóa bằng các cổng logic vật lý hoạt động song song, không phụ thuộc vào việc nạp và thực thi lệnh tuần tự của CPU.
- Câu 4: Nếu bạn muốn chọn 1 trong 2 nguồn dữ liệu trên bo AIOT-ARTIX7, bạn cần bao nhiêu Switch để làm chân điều khiển (Select)?
A. 1 Switch (21 = 2).
B. 2 Switch.
C. 4 Switch.
D. Không cần Switch nào.
Xem đáp án & Giải thích
Đáp án đúng: A
Giải thích: Chỉ cần 1 bit điều khiển (0 hoặc 1) là đủ để phân biệt và lựa chọn giữa 2 nguồn dữ liệu đầu vào.
- Câu 5: Trong kịch bản “Điều khiển tivi”, hình ảnh của tất cả các kênh truyền hình đi đến tivi được ví như đặc điểm gì của FPGA?
A. Tính bảo mật.
B. Tính xử lý tuần tự (Sequential).
C. Tính xử lý song song (Parallel) – tất cả dữ liệu đều hiện diện cùng lúc ở đầu vào.
D. Tính tiết kiệm điện.
Xem đáp án & Giải thích
Đáp án đúng: C
Giải thích: Trong FPGA, các nguồn dữ liệu luôn sẵn sàng ở lối vào của MUX đồng thời, phản ánh tính chất xử lý song song vượt trội so với MCU.
“Chúc mừng bạn đã làm chủ ‘Nhà điều phối’ tín hiệu! Hẹn gặp lại bạn ở bài học về Bộ cộng (Adder) – bước ngoặt để biến mạch logic thành một máy tính thực thụ.”