Bài giảng Kiến trúc máy tính và hợp ngữ - Chương 3: Kiến trúc tập lệnh - Vi tác vụ cung cấp cho người học các kiến thức: Vi tác vụ thanh ghi, vi tác vụ số học, vi tác vụ dịch, ALU. Mời các bạn cùng tham khảo nội dung chi tiết.
Trang 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
zKế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ụ:
zVi tác vụ thanh ghi
chuyển thông tin từ thanh ghi này sang th/ghi khác
zVi 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
zVi 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
zVi 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 Å R2 Hai tác vụ riêng
Dấu phẩy
R2 ÅR1 Chuyển thông tin
Mũi tên
R2 (0 – 7), R2 (L) Một phần thanh ghi
Ngoặc ( )
MAR, R2 Thanh ghi
Chữ (và số)
Ví dụ Diễn giải
Ký hiệu
zTác vụ truyền từ thanh ghi sang thanh ghi (hình 6.2)
z Truyền qua bus
zBus: 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
Trang 2zTruyề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]
Trang 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)
Trang 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
Trang 5Bài tập
z BT 48, 49, 50, 51 (trang 92)