Bài giảng Kiến trúc máy tính (ThS. Nguyễn Hằng Phương) Chương 12

45 23 0
Bài giảng Kiến trúc máy tính (ThS. Nguyễn Hằng Phương) Chương 12

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

1 + Chương 12 Tập lệnh: Đặc điểm chức + NỘI DUNG Đặc điểm tập lệnh Các loại toán hạng Các loại liệu Intel x86 ARM Các loại Hành động (operation) CISC RISC + Đặc điểm tập lệnh  Lệnh máy (machine instructions hay computer instructions): lệnh mà VXL thực hiện, định hành động VXL  Tập lệnh (instruction set): tập hợp lệnh khác mà VXL hiểu & thực  Mỗi xử lý có tập lệnh xác định  Tập lệnh thường có hàng chục đến hàng trăm lệnh  Mỗi lệnh phải có thơng tin cần thiết cho xử lý thực hành động + Các thành phần lệnh  Mã lệnh - (opcode): hành động cần thực Opcode xác định mã nhị phân  Địa tốn hạng nguồn: hành động liên quan đến nhiều toán hạng nguồn Toán hạng nguồn đầu vào hành động  Địa tốn hạng đích: hành động tạo kết đích  Địa lệnh tiếp theo: cho VXL nơi để lấy lệnh sau hoàn thành lệnh Sơ đồ trạng thái chu kỳ lệnh Tốn hạng vùng sau: Bộ nhớ chính/bộ nhớ ảo  phải cung cấp địa nhớ nhớ ảo, với tham chiếu đến lệnh Thiết bị vào/ra (I/O)  Lệnh phải thiết bị module vào/ra cho hành động Nếu sử dụng I/O ánh xạ nhớ địa nhớ nhớ ảo khác Thanh ghi  Một VXL chứa nhiều ghi, ghi lệnh tham chiếu đến  Nếu có nhiều ghi, ghi gán tên số riêng Lệnh tham chiếu đến ghi phải chứa số ghi Immediate (tức thời)  Giá trị toán hạng đặt trong1 trường lệnh thực + Biểu diễn lệnh  Trong máy tính, lệnh biểu diễn chuỗi bit  Lệnh chia thành trường tương ứng với thành phần cấu thành lệnh  Để thuận tiện, sử dụng biểu diễn ký tự gợi nhớ  VD: ADD, SUB, LOAD +   Các loại lệnh Xử lý liệu  Lệnh số học cung cấp khả tính tốn để xử lý liệu số  Lệnh logic (Boolean) thực bit từ dạng bit số, chúng cung cấp khả xử lý loại liệu mà người dùng muốn Lưu trữ liệu   Việc chuyển liệu vào hay ghi và/hoặc nhớ Di chuyển liệu   Lệnh vào/ra sử dụng để truyền chương trình liệu vào nhớ, truyền kết tính tốn lại cho người dùng Điều khiển  Lệnh kiểm tra: kiểm tra giá trị liệu trạng thái phép toán  Lệnh rẽ nhánh: rẽ nhánh tới tập lệnh khác dựa vào điều kiện sẵn có + Số lượng địa lệnh (a) 3     địa Toán hạng 1, Toán hạng 2, Kết c = a + b; Từ lệnh phải dài để lưu địa tốn hạng Ví dụ: Y = (A – B)/[C + (D * E)]  T – vị trí tạm thời, lưu trữ kết trung gian + 10 Số lượng địa lệnh (b) 2     địa địa phải nhận vai trò tốn hạng nguồn kết quả, địa cịn lại toán hạng nguồn a=a+b Giảm độ dài lệnh Phát sinh thêm công việc: Lưu trữ tạm thời số kết Hành động dịch xoay vòng Dịch logic: • đầu, bit dịch bị • Đầu kia, dịch vào Dịch số học: • Phải: đầu, bit dịch bị đi; đầu kia, bit có trọng số cao (LSB) giữ nguyên giá trị cũ • Trái: đầu bit dịch vào; đầu kia: bit LSB giữ nguyên giá trị, bit cạnh LSB 34 Ví dụ phép tốn dịch xoay vịng 35 d Các lệnh vào  INPUT Copy liệu từ cổng xác định đưa đến đích  OUTPUT Copy liệu từ nguồn đến cổng xác định Truyền chương trình liệu vào nhớ đưa kết tính toán ngược lại cho nguời sử dụng + 36 e Chuyển điều khiển  Vì cần hành động chuyển điều khiển?  Cần thiết để thực thi lệnh lần, chí nhiều nghìn lần  Hầu chương trình có định  Cần có chế phân tách tác vụ thành công việc nhỏ để thực cơng việc hành động truyền điều khiển:  Rẽ nhánh  Lệnh nhảy – skip  Gọi hàm  Các 37 Các lệnh chuyển điều khiển  JUMP (BRANCH) - Lệnh nhảy không điều kiện (nạp vào PC địa xác định)  JUMP CONDITIONAL - Lệnh nhảy có điều kiện: • „điều kiện  nạp vào PC địa xác định • điều kiện sai  khơng làm  CALL - Lệnh gọi chương trình con: • Cất nội dung PC (địa trở về) vị trí xác định (thường Stack) • Nạp vào PC địa lệnh chương trình  „RETURN - Lệnh trở từ chương trình con:„Khơi phục địa trở trả lại cho PC để trở chương trình Lệnh rẽ nhánh Rẽ nhánh có điều kiện Rẽ nhánh khơng điều kiện Chuyển tới thực lệnh vị trí có địa XX: PC  XX Kiểm tra điều kiện lệnh: • Nếu  chuyển tới thực lệnh vị trí có địa XX PC  XXX • Nếu sai  chuyển sang thực lệnh Lệnh skip  Chứa địa ngầm định  Lệnh nhảy ngầm định lệnh bị bỏ qua  Địa ngầm định địa lệnh cộng với chiều dài lệnh  Khơng cần trường địa đích  Ví dụ: lệnh ISZ - increment-and-skip-if-zero 39 + 40 Lệnh CALL RETURN  Chương trình (CTC) chương trình máy tính khép kín kết hợp để tạo thành chương trình lớn    Lý sử dụng CTC:    Tại điểm chương trình, CTC gọi VXL đến thực thi toàn CTC quay lại điểm mà lệnh CALL tạo TÍnh kinh tế: thủ tục sử dụng nhiều lần Tính modul: tác vụ lớn chia thành nhiều cơng việc nhỏ Gồm hai lệnh bản:   Lệnh CALL: rẽ nhánh từ vị trí đến CTC Lệnh RETURN: trả từ CTC vị trí mà gọi Các thủ tục lồng 42 Sử dụng ngăn xếp để thực thủ tục lồng 43 f Các lệnh điều khiển hệ thống  HALT Dừng thực chương trình  WAIT Tạm dừng thực chương trình, lặp lại việc kiểm tra điều kiện thoả mãn tiếp tục thực  „LOCK Cấm không cho xin chuyển nhượng bus  UNLOCK Cho phép xin chuyển nhượng bus  NO OPERATION Khơng thực 44 CISC RISC CISC RISC Complex Instruction Set Computer Reduced Instruction Set Computer Máy tính với tập lệnh phức tạp Máy tính với tập lệnh thu gọn Các xử lý truyền thống: x86, 680x0 SunSPARC, Power PC, Tồn nhiều lệnh chế độ địa Tồn lệnh chế độ địa Lệnh thực nhiều chu kỳ Lệnh thực nhịp chu kỳ Đòi hỏi phần cứng khả xử lý mạnh Khơng địi hỏi phần cứng khả xử lý mạnh Sử dụng nhiều RAM ghi Sử dụng RAM nhiều ghi Kích thước mã chương trình nhỏ Kích thước mã chương trình lớn Các lệnh có độ dài đa dạng Các lệnh có độ dài cố định 45 Ví dụ Tổng kết + Chương 12   Đặc điểm tập lệnh  Các thành phần tập lệnh  Biểu diễn lệnh  Các loại lệnh  Số lượng địa  Thiết kế tập lệnh Tập lệnh: Đặc điểm chức  Các kiểu liệu Intel x86 ARM  Các loại hành động Các loại toán hạng  Số  Ký tự  Dữ liệu logic 46   Truyền liệu  Tính tốn số học  Logic  Chuyển đổi  Vào/ra  Điều khiển hệ thống  Truyền điều khiển Các loại hành động Intel x86 ARM + Câu hỏi chương 12 Các thành phần điển hình lệnh máy? Tốn hạng nguồn đích đặt đâu? Nếu lệnh có địa chỉ, mục đích địa gì? Trình bày ngắn gọn vấn đề thiết kế tập lệnh quan trọng Các loại tốn hạng điển hình tập lệnh máy? Mối quan hệ mã ký tự IRA biểu diễn packed decimal? Phân biệt dịch số học dịch logic? Tại phải truyền lệnh điều khiển? Trình bày hai cách tạo điều kiện để kiểm tra lệnh rẽ nhánh 10 Ý nghĩa thuật ngữ làm thủ tục lồng gì? 11 Liệt kê ba vị trí lưu trữ địa trả thủ tục có trả 12 Phân biệt big endian little endian? 47 ... increment-and-skip-if-zero 39 + 40 Lệnh CALL RETURN  Chương trình (CTC) chương trình máy tính khép kín kết hợp để tạo thành chương trình lớn    Lý sử dụng CTC:    Tại điểm chương trình, CTC gọi VXL đến thực... Computing 15 16 Các loại toán hạng + 17 Số  Tất ngơn ngữ máy có liệu dạng số  Số lưu trữ máy tính hữu hạn    Độ lớn số biểu diễn máy bị giới hạn  Độ xác bị giới hạn (số dấu chấm động) Ba... RISC CISC RISC Complex Instruction Set Computer Reduced Instruction Set Computer Máy tính với tập lệnh phức tạp Máy tính với tập lệnh thu gọn Các xử lý truyền thống: x86, 680x0 SunSPARC, Power PC,

Ngày đăng: 28/10/2021, 12:22