Professional Documents
Culture Documents
GVPT: Hồ Trung Mỹ
Môn: Vi Xử Lý – AY1213
Bài tập – Chương 1. Giới thiệu hệ VXL tổng quát
Chú ý: Trong tất cả các bài tập chương này chúng ta giả sử là các chân chọn chip của bộ nhớ ROM, RAM, và
thiết bị I/O là tích cực thấp (/CS hay /CE) nếu không có qui định trước trong đề bài hay hình vẽ.
1. Viết các “từ điều khiển” (control word) (hình 1.14 trong sách VXL) để thực hiện các phép toán sau:
a) R3 2R1 – 3R2 d) R1 Input/4 + (bù 1 của R3)/2
b) R3 3R1 – 2R2 e) Output (bù 2 của R1) + (bù 2 của R2)
c) R5 4R1 – 2(R2 R4) f) R5 16R1 + 8R2 – 4R3–2R4
2. Hãy cho biết dung lượng bộ nhớ lớn nhất (tính theo byte và word) mà CPU có thể quản lý được nếu nó có:
a) Số đường địa chỉ là 16 và số đường dữ liệu là 8.
b) Số đường địa chỉ là 20 và số đường dữ liệu là 8.
c) Số đường địa chỉ là 20 và số đường dữ liệu là 16.
d) Số đường địa chỉ là 24 và số đường dữ liệu là 32.
e) Số đường địa chỉ là 32 và số đường dữ liệu là 64.
3. Hãy cho biết giá trị của các cờ trong thanh ghi trạng thái sau khi CPU 8 bit thực thi lệnh sau (giả sử ban đầu
tất cả các cờ có trị là 0 trước khi thực thi lệnh)
a) Cộng 2 số 8 bit: +125 với –18 d) Trừ 2 số 8 bit: 104 với 12
b) Cộng 2 số 8 bit: –125 với –18 e) Trừ 2 số 8 bit: –118 với –37
c) Cộng 2 số 8 bit: F5H với 0BH f) Trừ 2 số 8 bit: –128 với +57
4. Viết mã để tính biểu thức F = A * (B + C) + D trên các CPU có lệnh 3, 2, 1, và 0 địa chỉ. Không sắp xếp
lại biểu thức và khi tính toán không làm thay đổi các biến A, B, C, và D.
5. Viết mã để tính biểu thức F = (A + B) * C + D trên các CPU có lệnh 3, 2, 1, và 0 địa chỉ. Không sắp xếp
lại biểu thức và khi tính toán không làm thay đổi các biến A, B, C, và D.
6. Viết mã để tính biểu thức F = A * C + (B + C)* D trên các CPU có lệnh 3, 2, 1, và 0 địa chỉ. Không sắp
xếp lại biểu thức và khi tính toán không làm thay đổi các biến A, B, C, và D.
7. Hãy điền vào các chỗ trống trong hình sau cho thấy hiệu ứng của các cách định địa chỉ
Hình 4.
24. Hãy lập bảng bộ nhớ của các mạch ở hình 5 và 6, từ đó suy ra dung lượng của các hệ thống bộ nhớ này.
Các mạnh này dùng kiểu giải mã địa chỉ gì? (toàn phần hay 1 phần). Biết hệ thống này dùng CPU có 20
đường địa chỉ và có tín hiệu IO/M để điều khiển truy cập bộ nhớ hay I/O (0: bộ nhớ, 1: I/O)
Hình 8. Giải mã địa chỉ chỉ bằng decoder và các cổng logic.
27. Thiết kế 1 module bộ nhớ chỉ bằng các ROM 4K, SRAM 1K và các mạch giải mã 74138 với dải địa chỉ
của các các bộ nhớ như sau:
ROM 1: 0000H–0FFFH ROM 3: 2000H–2FFFH SRAM 2: 6400H–67FFH
ROM 2: 1000H–1FFFH SRAM 1: 6000H–63FFH
28. Thiết kế 1 module bộ nhớ chỉ bằng ROM 4K, SRAM 1K và các mạch giải mã 74138 với dải địa chỉ của
các các bộ nhớ như sau:
ROM 1: 0000H–0FFFH ROM 3: 4000H–4FFFH SRAM 2: A000H–A3FFH
ROM 2: 2000H–2FFFH SRAM 1: 8000H–83FFH
29. Thiết kế mạch giải mã địa chỉ dùng 74138 với bảng bộ nhớ sau
SRAM 1: 2000H–3FFFH ROM 2: 6000H–7FFFH ROM 3: C000H–DFFFH
ROM 1: 4000H–5FFFH SRAM 2: A000H–BFFFH
30. Xét 1 hệ VXL dùng CPU có 8 đường dữ liệu và 16 đường địa chỉ. Hệ này dùng 1 ROM 8K x 8 và 2
SRAM 8K x8 với bảng bộ nhớ sau:
ROM: 0000H–1FFFH SRAM 1: 2000H–3FFFH SRAM 2: 4000H–5FFFH
Hình 12.
37. Thiết kế mạch giải mã địa chỉ cho CPU có 16 bit địa chỉ, 8 bit dữ liệu với bảng bộ nhớ và I/O như sau:
0000H – 5FFFH : EPROM 24 KB
6000H – 7FFFH : Ngoại vi 8 KB
8000H – FFFFH : SRAM 32 KB
38. Vẽ lưu đồ minh họa tính giai thừa của n (n!).
39. Vẽ lưu đồ minh họa tính giá trị tuyệt đội của một số N
40. Vẽ lưu đồ minh họa nhân 2 số 8 bit bằng phép toán cộng và dịch bit.