Mạch tổ hợp LSI (Large Scale Integration)
🎯 MỤC TIÊU BÀI HỌC
Sau chương này, sinh viên có thể:
- Trình bày được đặc điểm và ứng dụng của các khối LSI như ROM và ALU.
- Hiểu nguyên lý hoạt động của ROM (bộ nhớ chỉ đọc) và các loại ROM phổ biến.
- Phân tích cấu trúc bên trong và chức năng của ALU – đơn vị tính toán và logic trung tâm.
- Thiết kế và mô phỏng mạch ALU đơn giản trên Logisim/CircuitVerse.
- Vận dụng kiến thức để ứng dụng vào thiết kế hệ thống xử lý dữ liệu, máy tính, vi điều khiển.
6.1. GIỚI THIỆU MẠCH LSI
- LSI là viết tắt của Large Scale Integration – tích hợp quy mô lớn, với từ hàng nghìn đến hàng chục nghìn cổng logic trên một chip IC.
- Các mạch LSI quan trọng:
- Bộ nhớ (ROM, RAM)
- ALU (Arithmetic Logic Unit)
- Vi điều khiển (Microcontroller)
- Vi xử lý (CPU)
6.2. BỘ NHỚ ROM (READ ONLY MEMORY)
📌 Khái niệm:
- ROM là bộ nhớ chỉ đọc, chứa dữ liệu cố định được lập trình sẵn, không mất dữ liệu khi mất điện.
- ROM thường dùng để lưu:
- Chương trình khởi động (BIOS)
- Bảng tra cứu logic
- Mã điều khiển cố định
🧠 Các loại ROM phổ biến:
| Loại ROM | Đặc điểm chính |
|---|---|
| ROM thường | Ghi dữ liệu cố định khi chế tạo |
| PROM | Ghi một lần duy nhất (Programmable ROM) |
| EPROM | Xóa bằng tia UV, ghi lại được (Erasable PROM) |
| EEPROM | Xóa/ghi bằng điện, cập nhật được |
📚 Ví dụ thực tế 1: ROM lưu bảng tra mã ASCII
| Địa chỉ | Giá trị |
|---|---|
| 0000 | 01000001 (A) |
| 0001 | 01000010 (B) |
| 0010 | 01000011 (C) |
→ Khi nhập địa chỉ, ROM xuất ra byte tương ứng đã lưu sẵn.
🔧 Hướng dẫn mô phỏng ROM trong Logisim
- Mở Logisim > Add → Memory → ROM.
- Chỉnh số bit địa chỉ (VD: 4 bit → 16 dòng).
- Click ROM > chọn “Edit Contents…” để nhập dữ liệu (giá trị nhị phân).
- Kết nối Switch để nhập địa chỉ, LED để xem dữ liệu xuất.
6.3. ĐƠN VỊ LOGIC SỐ HỌC (ALU)
📌 Khái niệm:
- ALU là khối mạch thực hiện các phép tính số học và logic trong máy tính, vi xử lý.
- Nhận 2 đầu vào A, B, chọn chế độ chức năng và tạo kết quả đầu ra.
⚙️ Chức năng chính của ALU:
| Mã điều khiển (Opcode) | Chức năng | Biểu thức logic |
|---|---|---|
| 000 | A + B | Cộng số học |
| 001 | A – B | Trừ |
| 010 | A AND B | Phép AND |
| 011 | A OR B | Phép OR |
| 100 | A XOR B | Phép XOR |
| 101 | A NOR B | Phép NOR |
| 110 | A << 1 | Dịch trái |
| 111 | A >> 1 | Dịch phải |
✍️ Cấu trúc ALU cơ bản:
- Khối cộng: dùng full adder chuỗi 4-bit hoặc 8-bit.
- Khối logic: dùng AND, OR, XOR song song.
- Bộ chọn (MUX): chọn kết quả đầu ra tương ứng với mã chức năng.
🧪 Bài tập thực tế 2: Thiết kế ALU 4-bit đơn giản
Chức năng:
- Cộng/trừ
- AND, OR
- XOR
Hướng dẫn Logisim:
- Tạo 4-bit Switch cho A, 4-bit cho B.
- Dùng mạch cộng 4-bit từ “Arithmetic → Adder”.
- Dùng cổng logic (AND, OR, XOR) nối từng bit.
- Dùng MUX 4:1 để chọn đầu ra.
- Mã điều khiển: S0, S1 để chọn chức năng.
🧪 BÀI TẬP THỰC HÀNH
Bài 1: Thiết kế bộ nhớ ROM 8×4
- Nhập dữ liệu: mã ASCII từ A đến H
- Nhập địa chỉ bằng Switch, xem giá trị hiển thị bằng LED
Bài 2: Thiết kế ALU 2-bit có 4 chức năng:
- A + B
- A AND B
- A OR B
- A XOR B
➡ Dùng MUX để chọn kết quả tương ứng
Bài 3: Giải thích vì sao ROM không thể dùng để lưu dữ liệu chương trình tạm thời như RAM?
Bài 4: So sánh ALU thực hiện bằng MUX và ALU thực hiện bằng cổng riêng biệt?
❓ CÂU HỎI ÔN TẬP – KIỂM TRA
- ROM là gì? ROM khác với RAM như thế nào?
- EEPROM và EPROM khác nhau điểm nào về cơ chế ghi/xóa?
- ALU có những chức năng cơ bản nào?
- Viết bảng điều khiển opcode cho ALU thực hiện: cộng, AND, OR, XOR.
- Nếu ROM có 3 bit địa chỉ và 4 bit dữ liệu, tối đa lưu được bao nhiêu dòng dữ liệu?
