Bài giảng Kiến trúc máy tính - Chương 3: Kiến trúc tập lệnh

3.5. ALU Đơ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

pdf5 trang | Chia sẻ: thucuc2301 | Lượt xem: 664 | Lượt tải: 0download
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)

Các file đính kèm theo tài liệu này:

  • pdfktmt_c3n_1203_1999359.pdf
Tài liệu liên quan