Bus 3 trạng thái
z Có thể tạo Bus bằng cổng 3 trạng thái thay cho mạch dồn
z Cổng 3 trạng thái: bổ sung tr/thái thứ 3: trở kháng cao, ngõ ra bị ngắt
z Thường dùng cổng đệm để thiết kế Bus (h 6.4)
z Bus dùng cổng đệm 3 trạng thái thay cho mạch dồn (h 6.5)
(So sánh với dùng mạch dồn)
z Truyền qua bộ nhớ
z Truyền thông tin từ một từ nhớ ra ngoài: tác vụ Đọc
z Đưa thông tin từ ngoài vào bộ nhớ: tác vụ Ghi
z Ký hiệu: Từ nhớ có địa chỉ lưu trong thanh ghi AR: M[AR]
z VD: Đọc / Ghi bộ nhớ với địa chỉ chứa trong th/ghi AR, với
thanh ghi DR
Tác vụ Đọc: Read: DR Å M[AR]
Tác vụ Ghi: Write: M[AR] Å DR
5 trang |
Chia sẻ: thanhle95 | Lượt xem: 551 | Lượt tải: 1
Bạn đang xem nội dung tài liệu Bài giảng Kiến trúc máy tính - Chương 3: Kiến trúc tập lệnh, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
1Chương 3.
Kiến trúc tập lệnh
VI TÁC VỤ
3.0. Mở đầu
z Vi tác vụ: tác vụ xử lý dữ liệu lưu trên thanh ghi.
z Kết quả là thay thế dữ liệu đã lưu hoặc chuyển sang
thanh ghi khác
z Có 4 loại vi tác vụ:
z Vi tác vụ thanh ghi
chuyển thông tin từ thanh ghi này sang th/ghi khác
z Vi tác vụ số học
Thực hiện phép tính số học với dữ liệu số trên thanh ghi
z Vi tác vụ luận lý
Thực hiện các tác vụ thao tác bit với dữ liệu phi số trên thanh ghi
z Vi tác vụ dịch
Thực hiện các tác vụ dịch dữ liệu trên thanh ghi
3.1. Vi tác vụ thanh ghi
Chuyển thông tin nhị phân từ thanh ghi này sang th/ghi khác.
z Ký hiệu mô tả dãy vi tác vụ:
z Mệnh đề (vi lệnh) chuyển thông tin
R2 Å R1
z Mệnh đề If – then
If (P = 1) then (R2 Å R1)
P: R2 Å R1
R2 Å R1, R1 Å R2Hai tác vụ riêngDấu phẩy
R2 Å R1Chuyển thông tinMũi tên
R2 (0 – 7), R2 (L)Một phần thanh ghiNgoặc ( )
MAR, R2Thanh ghiChữ (và số)
Ví dụDiễn giảiKý hiệu
z Tác vụ truyền từ
thanh ghi sang
thanh ghi (hình
6.2)
z Truyền qua bus
z Bus: tập các đường truyền dẫn tín hiệu
Thường dùng bus cho chung mọi thanh ghi
Tín hiệu điều khiển sẽ xác định thanh ghi nào được truyền
z Đặt thanh ghi lên Bus:
VD: Hệ thống Bus dùng cho 4 thanh ghi 4 bit (h 6.3)
Hệ thống Bus dùng cho k th/ghi n bit sẽ có n mạch dồn k – 1.
2z Truyền từ Bus vào thanh ghi: nối Bus với đường nhập
của thanh ghi và có tín hiệu nạp.
Truyền từ thanh ghi C sang thanh ghi R1:
Bus Å C, R1 Å Bus
z Bus 3 trạng thái
z Có thể tạo Bus bằng cổng 3 trạng thái thay cho mạch dồn
z Cổng 3 trạng thái: bổ sung tr/thái thứ 3: trở kháng cao, ngõ ra bị ngắt
z Thường dùng cổng đệm để thiết kế Bus (h 6.4)
z Bus dùng cổng đệm 3 trạng thái thay cho mạch dồn (h 6.5)
(So sánh với dùng mạch dồn)
z Truyền qua bộ nhớ
z Truyền thông tin từ một từ nhớ ra ngoài: tác vụ Đọc
z Đưa thông tin từ ngoài vào bộ nhớ: tác vụ Ghi
z Ký hiệu: Từ nhớ có địa chỉ lưu trong thanh ghi AR: M[AR]
z VD: Đọc / Ghi bộ nhớ với địa chỉ chứa trong th/ghi AR, với
thanh ghi DR
Tác vụ Đọc: Read: DR Å M[AR]
Tác vụ Ghi: Write: M[AR] Å DR
33.2. Vi tác vụ số học
z Thực hiện phép tính số học với dữ liệu số trên thanh ghi
z Mạch cộng nhị phân
z Dùng mạch toàn cộng (h 6.6)
z Mạch cộng trừ nhị phân
z Thêm cổng XOR.
z Khi M = 0, cộng. Khi M = 1, trừ (h 6.7)
z (Yêu cầu giải thích)
z Mạch tăng nhị phân
z Có thể dùng mạch đếm
z Tăng 1 cho thanh ghi:
Mạch tăng nhị phân (dùng mạch nửa cộng) (h 6.8)
z Mạch số học
z Dùng mạch cộng song
song (h 6.9)
3.3. Vi tác vụ luận lý
z Thực hiện các tác vụ thao tác bit với dữ liệu phi số trên thanh ghi
z Có 16 tác vụ luận lý khác nhau thực hiện trên 2 bit nhị phân
(b 6.6)
z Mạch thực hiện vi
tác vụ luận lý
z Chỉ cần các cổng
AND, OR, XOR,
NOT (h 6.10)
4z Ứng dụng:
z Vi tác vụ luận lý cho phép thao tác riêng từng bit hoặc một phần
của thanh ghi
z Tác vụ Chọn đặt (thiết lập có chọn lựa):
đặt 1 vào các bit trong A tương ứng với vị trí các bit 1 trong B:
A Å A ∨ B
z A 1 0 1 0
B 1 1 0 0
A 1 1 1 0
z Tác vụ Chọn bù
z Tác vụ Chọn xóa
z Tác vụ Mặt nạ
z Tác vụ Thay (đưa trị mới vào nhóm bit)
3.4. Vi tác vụ dịch
z Thực hiện các tác vụ dịch dữ liệu trên thanh ghi
z Dùng để truyền tuần tự dữ liệu
hoặc phối hợp với tác vụ số học, luận lý và tác vụ khác
z Dịch luận lý (shl / shr : shift)
z Chuyển 0 qua ngõ nhập dãy
z Dịch vòng / quay (cil / cir : circular shift)
z Quay vòng các bit ở 2 đầu thanh ghi (nối ngõ xuất dãy với ngõ
nhập dãy)
z Dịch số học (ashl / ashr : arithmetic shift)
z Khi thanh ghi lưu 1 số nhị phân có dấu
z Dịch trái: nhân đôi - Dịch phải: chia đôi
z Khi dịch phải, bit dấu được bảo toàn. VD: 1000 (-8) Æ 1100 (-4)
z Khi dịch trái, tràn nếu R n – 1 ≠ R n – 2
z Mạch dịch
z Có thể dùng
thanh ghi dịch 2
chiều nạp song
song.
z Dùng mạch tổ
hợp cho tác vụ
dịch sẽ tốt hơn
z VD: Mạch dịch
tổ hợp 4 bit (h
6.12)
3.5. ALU
z Đơn vị luận lý – số học (Arithmetic Logic Unit)
z Thay vì dùng các thanh ghi riêng để thực hiện các vi
tác vụ
Dùng các thanh ghi lưu trữ nối với 1 đơn vị thao tác
chung: ALU
z Để thực hiện 1 vi tác vụ, nội dung th/ghi được đưa vào
ngõ nhập ALU, ALU thực hiện xong tác vụ, chuyển kết
quả cho th/ghi đích.
z Một phần
của ALU
(h 6.13)
z Các tác vụ của ALU (b 6.8)
8 tác vụ số học: với S3S2 = 00
4 tác vụ luận lý: với S3S2 = 01
2 tác vụ dịch: với S3S2 = 10 và 11
5Bài tập
z BT 48, 49, 50, 51 (trang 92)