intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

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

Chia sẻ: Võ đình Thiên | Ngày: | Loại File: PDF | Số trang:5

114
lượt xem
9
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Nội dung chương 3 trình bày đến người học những vấn đề liên quan đến "Kiến trúc tập lệnh", cụ thể như: Mở đầu, vi tác vụ thanh ghi, vi tác vụ số học, vi tác vụ luận lý, vi tác vụ dịch, ALU. Mời cá bạn cùng tham khảo!

Chủ đề:
Lưu

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

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

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2