Xem mẫu

3.0. Mở đầu

Chương 3.
Kiến trúc tập lệnh

Vi tác vụ: tác vụ xử lý dữ liệu lưu trên thanh ghi.
Kết quả là thay thế dữ liệu đã lưu hoặc chuyển sang
thanh ghi khác

Có 4 loại vi tác vụ:

VI TÁC VỤ

Vi tác vụ thanh ghi
chuyển thông tin từ thanh ghi này sang th/ghi khác

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

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

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.
Ký hiệu mô tả dãy vi tác vụ:
Mệnh đề (vi lệnh) chuyển thông tin
R2

R1

Tác vụ truyền từ
thanh ghi sang
thanh ghi (hình
6.2)

Mệnh đề If – then
If (P = 1) then (R2
P: R2 R1

R1)

Ký hiệu

Diễn giải

Ví dụ

Chữ (và số)

Thanh ghi

MAR, R2

Ngoặc ( )

Một phần thanh ghi

R2 (0 – 7), R2 (L)

Mũi tên

Chuyển thông tin

R2

R1

Dấu phẩy

Hai tác vụ riêng

R2

R1, R1

R2

Đặ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.

Truyền qua bus
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

1

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

Bus 3 trạng thái
Có thể tạo Bus bằng cổng 3 trạng thái thay cho mạch dồn
Cổng 3 trạng thái: bổ sung tr/thái thứ 3: trở kháng cao, ngõ ra bị ngắt
Thường dùng cổng đệm để thiết kế Bus (h 6.4)

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)

Truyền qua bộ nhớ
Truyền thông tin từ một từ nhớ ra ngoài: tác vụ Đọc
Đưa thông tin từ ngoài vào bộ nhớ: tác vụ Ghi
Ký hiệu: Từ nhớ có địa chỉ lưu trong thanh ghi AR: M[AR]
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

2

3.2. 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

Mạch cộng nhị phân

Mạch cộng trừ nhị phân
Thêm cổng XOR.
Khi M = 0, cộng. Khi M = 1, trừ (h 6.7)
(Yêu cầu giải thích)

Dùng mạch toàn cộng (h 6.6)

Mạch tăng nhị phân
Có thể dùng mạch đếm
Tăng 1 cho thanh ghi:
Mạch tăng nhị phân (dùng mạch nửa cộng) (h 6.8)

Mạch số học
Dùng mạch cộng song
song (h 6.9)

3.3. 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
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)

Mạch thực hiện vi
tác vụ luận lý
Chỉ cần các cổng
AND, OR, XOR,
NOT (h 6.10)

3

3.4. Vi tác vụ dịch
Ứng dụng:
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
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
A 1010
B 1100
A 1110

Tác vụ Chọn bù
Tác vụ Chọn xóa
Tác vụ Mặt nạ
Tác vụ Thay (đưa trị mới vào nhóm bit)

Thực hiện các tác vụ dịch dữ liệu trên thanh ghi
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

Dịch luận lý (shl / shr : shift)
Chuyển 0 qua ngõ nhập dãy

Dịch vòng / quay (cil / cir : circular shift)
Quay vòng các bit ở 2 đầu thanh ghi (nối ngõ xuất dãy với ngõ
nhập dãy)

Dịch số học (ashl / ashr : arithmetic shift)
Khi thanh ghi lưu 1 số nhị phân có dấu
Dịch trái: nhân đôi - Dịch phải: chia đôi
Khi dịch phải, bit dấu được bảo toàn. VD: 1000 (-8)
Khi dịch trái, tràn nếu R n – 1 ≠ R n – 2

1100 (-4)

3.5. ALU
Mạch dịch
Có thể dùng
thanh ghi dịch 2
chiều nạp song
song.
Dùng mạch tổ
hợp cho tác vụ
dịch sẽ tốt hơn
VD: Mạch dịch
tổ hợp 4 bit (h
6.12)

Đơn vị luận lý – số học (Arithmetic Logic Unit)
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
Để 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.

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

Một phần
của ALU
(h 6.13)

4

Bài tập
BT 48, 49, 50, 51 (trang 92)

5

nguon tai.lieu . vn