VI TÁC VỤ THANH GHI Một hệ thống số là một kết nối các đơn thể phần cứng nhằm thực hiện một tác vụ xử lý thông tin nào đó.. - Vi tác vụ số học thực hiện các phép tính số học với dữ liệ
Trang 2VI TÁC VỤ THANH GHI
Một hệ thống số là một kết nối các đơn thể phần cứng nhằm thực hiện một tác vụ xử lý thông tin nào đó
Các đơn thể được tạo từ các thành phần số như thanh ghi, mạch giải mã, các phần tử tính toán
Tác vụ xử lý dữ liệu lưu trên thanh ghi gọi
là một vi tác vụ
Trang 3Kết quả vi tác vụ có thể thay thế dữ liệu đã lưu trước đó hoặc chuyển qua thanh ghi khác.
Ví dụ các vi tác vụ: dịch, đếm, xóa và nạp
Một số thanh ghi đã xét trước đây được dùng cho vi tác vụ
Ví dụ mạch đếm nạp song song có thể thực hiện vi tác vụ tăng và nạp
Thanh ghi dịch 2 chiều có khả năng thực hiện các vi tác vụ dịch phải và trái
Trang 4VI TÁC VỤ THANH GHI (tt)
Thường có 4 loại vi tác vụ:
- Vi tác vụ thanh ghi chuyển thông tin nhị phân
từ thanh ghi này qua thanh ghi khác
- Vi tác vụ số học thực hiện các 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
Trang 5 Có thể mô tả dãy vi tác vụ bằng lời, nhưng thường dài dòng.
Thường dùng ký hiệu phù hợp để mô tả
Quy tắc thông dụng:
- Các thanh ghi được ghi bằng chữ hoa (đôi khi kèm theo một số) thể hiện chức năng của nó
- Ví dụ: MAR – thanh ghi lưu địa chỉ bộ nhớ
PC – thanh ghi đếm chương trình
IR – thanh ghi lệnh
R1 – thanh ghi xử lý (các mạch lật trong thanh ghi n-bit được đánh số từ 0 đến n-
1 tính từ phải qua trái)
Trang 6VI TÁC VỤ THANH GHI (tt)
Lược đồ khối thanh ghi
Trang 7 Mệnh đề (hoặc vi lệnh) chuyển thanh ghi R1 sang R2 (dùng toán tử thay thế ), R1 không đổi: R2 R1
Mệnh đề IF – Then với P là tín hiệu điều khiển (khi P =1 truyền R1 sang R2):
If (P =1) then (R2 R1)
Dùng hàm điều khiển (là biến boolean) có trị 1 hoặc 0, khi P =1, truyền R1 sang R2:
P: R2 R1
Trang 8TRUYỀN QUA BUS
Bus là một tập các đường truyền dẫn các tín hiệu từ nơi này sang nơi khác
Thường dùng bus chung cho mọi thanh ghi và tín hiệu điều khiển sẽ xác định thanh ghi nào được truyền
Trang 9 Bảng trên cho thấy thanh ghi nào được truyền lên Bus qua điều khiển của S1S0
Trang 10TRUYỀN QUA BUS (tt)
Tổng quát hệ thống Bus dùng cho k thanh ghi n-bit sẽ có n mạch dồn k-1
Ví dụ Bus cho 8 thanh ghi 16-bit cần 16 mạch dồn 8-1 với 3 đường chọn
Để truyền từ Bus vào thanh ghi phải nối Bus với đường nhập của thanh ghi và có tín hiệu điều khiển nạp
Như vậy muốn truyền từ thanh ghi này qua thanh ghi kia (R1 C) phải thực hiện:
Trang 11Hệ thống bus cho 4 thanh ghi
Trang 12BUS 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 là mạch số 3 trạng thái
Hai trạng thái là tín hiệu tương đương luận lý 1
và 0 như cổng bình thường, trạng thái 3 là trạng thái trở kháng cao
Trạng thái trở kháng cao hoạt động như mạch
hở, lúc đó ngõ ra bị ngắt
Trang 13 Cổng 3 trạng thái có thể thực hiện mọi luận lý quy ước như: AND hoặc NAND.
Tuy nhiên người ta thường dùng cổng đệm (buffer gate) để thiết kế Bus
Cổng đệm 3 trạng thái khác với cổng đệm bình thường là có thêm ngõ điều khiển, khi bằng 1 – hoạt động như cổng đệm thường; khi bằng 0 – cổng có trạng thái trở kháng cao, ngõ ra bị cấm
Trang 14BUS 3 TRẠNG THÁI (tt)
Ký hiệu cổng 3 trạng thái
Trang 15Bus dùng cổng 3 trạng thái thay cho mạch dồn
Bộ giải
mã
Trang 16BUS 3 TRẠNG THÁI (tt)
Khi ngõ nhập E = 0, mạch không hoạt động
Khi E = 1, tùy theo ngõ nhập chọn S1S0, các bit
A0/B0/C0/D0 của thanh ghi A/B/C/D sẽ chuyển sang đường bus
Trang 17 Truyền thông tin từ một từ nhớ ra ngoài gọi là tác vụ đọc, đưa thông tin mới vào bộ nhớ gọi
là viết (ghi)
Đặt M là ký hiệu của một từ nhớ
Trước khi truyền phải xác định địa chỉ của M, đặt AR là thanh ghi chứa địa chỉ của từ nhớ và
DR là thanh ghi nhận thông tin đọc từ M
Ký hiệu: Read: DR M[AR]
Tác vụ truyền nội dung thanh ghi R1 vào M (tác vụ viết) có địa chỉ trong thanh ghi AR
Ký hiệu: Write: M[AR] R1
Trang 18VI TÁC VỤ SỐ HỌC
Để cài đặt vi tác vụ cộng với phần cứng cần có các thanh ghi và mạch thực hiện phép cộng số học
Trang 19Mạch cộng nhị phân 4 bit
Trang 20MẠCH CỘNG TRỪ NHỊ PHÂN
Phép cộng và trừ có thể kết hợp vào một mạch bằng cách thêm cổng XOR vào mỗi mạch toàn cộng
Trang 21 Việc tăng lên 1 có thể thực hiện bằng mạch đếm.
Tuy nhiên, tác vụ tăng 1 thường áp cho bất kỳ thanh ghi nào nên thường dùng mạch tăng nhị phân được tạo từ mạch nửa cộng
Trang 22MẠCH SỐ HỌC
Các vi tác vụ số học có thể thực hiện qua một mạch ghép số học
Thành phần cơ bản của mạch này là mạch cộng song song
Qua các ngõ vào mạch cộng có thể điều khiển mạch thực hiện các phép tính khác nhau
Trang 23Bảng hàm mạch số học
Trang 25Bảng chân trị 16 hàm theo 2 biến
Trang 26VI TÁC VỤ LUẬN LÝ
Mười sáu vi tác vụ luận lý
Trang 27 Chỉ cần các cổng AND, OR, XOR và bù để thực hiện các phép tính trên.
ghi n-bit sẽ cần n mạch như vậy.
luận lý và một mạch dồn, các ngõ nhập
Trang 29Một tầng mạch luận lý
Trang 31 Tác vụ Mặt nạ, tương tự như chọn xóa nhưng các bit trong A bị xóa tương ứng với bit 0 (thay
vì 1) trong B (điều này thuận tiện hơn vì chỉ cần cổng AND)
A = 1010
B = 1100
A = 1000
Trang 33 Tác vụ Xóa, so sánh A và B, kết quả bằng 0 nếu A = B:
A A B
A = 1010
B = 1010
A = 0000
Trang 35Vi tác vụ dịch
Trang 36DỊCH LUẬN LÝ
Dịch luận lý chuyển 0 qua ngõ nhập dãy
Khi dịch trái, bit 0 từ ngõ nhập dãy đưa vào vị trí cực phải thanh ghi
Khi dịch phải, bit 0 đưa vào vị trí cực trái thanh ghi
Ví dụ:
R1 shl R1
Trang 37 Dịch vòng/ quay, quay vòng các bit qua hai đầu thanh ghi.
Để thực hiện vi tác vụ này, chỉ cần nối ngõ xuất dãy với ngõ nhập dãy thanh ghi dịch
Trang 39Khi dịch trái, tràn xảy ra nếu Rn-1 ≠ Rn-2
Ví dụ: 0100 (4) dịch trái thành 1000 (-8) Có thể
dùng mạch lật Vs = Rn-1 Rn-2 để phát hiện tràn
Khi Vs = 0 không tràn; Vs = 1 tràn
Dịch phải số học
Trang 42MẠCH DỊCH (tt)
Là mạch tổ hợp 4bit gồm 4 ngõ nhập Ai và 4 ngõ xuất Hi
Hai ngõ nhập dãy IL cho dịch trái, IR cho dịch phải
Khi ngõ nhập chọn S = 0, dịch phải (xuống), S
= 1 dịch trái (lên)
Mạch dịch có n ngõ nhập dữ liệu, cần n mạch dồn
Có thể điều khiển hai ngõ nhập dãy để tạo 3
Trang 43 Thay vì dùng thanh ghi riêng thực hiện các vi tác vụ, các máy tính thường dùng các thanh ghi lưu ghi lưu trữ nối với một đơn vị thao tác chung gọi là đơn vị luận lý số học (ALU)
Để thực hiện một vi tác vụ, nội dung thanh ghi đưa vào ngõ nhập ALU
ALU thực hiện xong tác vụ, chuyển kết quả cho thanh ghi đích
Trang 44ALU (tt)
ALU là mạch tổ hợp cho phép thực hiện tác vụ chuyển thanh ghi từ nguồn sang đích thông qua ALU chỉ trong một chu kỳ đồng hồ
Các mạch số học, luận lý và dịch được kết hợp vào
Trang 45Một tầng đơn vị dịch luận lý số học
Trang 46ALU (tt)
Bảng hàm của ALU
Trang 47- Các ngõ vào Ai, Bi đưa vào cả 2 mạch số học và luận lý.
- S1S0 sẽ xác định vi tác vụ
- Với ALU n-bit sẽ gồm n mạch nối nhau
-Ngõ ra Ci+1 nối với ngõ vào Ci của phần kế tiếp
và Ci đầu tiên là Cin
-- Bảng sau là tác vụ của ALU 8 tác vụ số học được chọn với S3S3 = 00, 4 tác vụ kế là luận lý với
S3S2 = 10 và 2 tác vụ cuối là dịch với S3S2 = 10 và 11