1. Trang chủ
  2. » Giáo Dục - Đào Tạo

05 kien truc tap lenh

21 409 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 21
Dung lượng 486,4 KB

Nội dung

Chương 5: KIẾN TRÚC TẬP LỆNH - Command Sets GV HẠ THỊ ÁNH 20-10-2016 Nội dung  5.1- Giới thiệu chung kiến trúc tập lệnh  5.2- Các nhóm lệnh tập lệnh  5.3- Các phương pháp đánh địa 5.1- Giới thiệu chung kiến trúc tập lệnh  Hoạt động CPU định lệnh mà thực Tập hợp lệnh mà CPU thực gọi tập lệnh  Mỗi lệnh thể chuỗi số nhị phân, bít chia thành trường (Định dạng lệnh)  Mỗi tập lệnh thường sử dụng nhiều định dạng lệnh Trong lệnh thực hiện, lệnh chứa ghi lệnh  Một số lệnh: ADD R,Y Cộng nội dung vùng nhớ Y vào nội dung ghi R ADD Add SUB Subtract MPY Multiply STOR Store data to memory  Với ngôn ngữ lập trình bậc cao: X=X+Y Giả sử giá nội dung X chứa vùng nhớ địa 513 nội Y chứa vùng nhớ đại 514:    Chuyển nội dung vùng nhớ 513 vào ghi Thêm nội dung vùng nhớ 514 vào nội dung ghi Chuyển nội dung ghi vào vùng nhớ địa 513 5  Các trường lệnh là:     Mã lệnh( Operation Code - opcode): Cho biết thao tác lệnh cần tín hiệu Tham chiếu toán hạng nguồn (Source Operand Referrence): Toán hạng chứa liệu đầu vào lệnh Tham chiếu toán hạng đích (Result Operand Referrence): Toán hạng chứa kết lệnh Tham chiếu lệnh (Next Instruction Referrence) Chu trình thực lệnh Nhận lệnh (IF) Tính địa lệnh (IAC) (1) Nhận toán hạng (OF) Giải mã lệnh (IOD) (2) Tính dc toán hạng vào (OAC) (3) Lưu trữ kết (OS) Thực biến đổi DL (Do) (4) Tính toán đc toán hạng (OAC) (5)      (1) Nhận lệnh cần thực từ nhớ (IF) (2) Giải mã lệnh (ID) (3) Đọc toán hạng từ nhớ (OF) (4) Thục lệnh (EX) (5) Lưu liệu kết (WB)  Giả sử ta có mạch, mạch dảm nhiệm chức năng:      Nhận lệnh - IF, Giải mã lệnh - ID, Nhận toán hạng – OF, Thực lệnh EA, Ghi kết - WB  Mỗi công đoạn thực thời gian T  Phải xử lý n lệnh 9  Nếu thực  thời gian Stt=5*n*T Nếu thưc theo phương pháp phân chia xử lý đường ống lệnh theo sơ đồ sau:  Nếu thưc theo phương pháp phân chia xử lý đường ống lệnh? 10 Lệnh Lệnh Lệnh Lệnh Lệnh T1 IF T2 ID IF T3 OF ID IF T4 EX OF ID IF T5 WB EX OF ID IF T6 T7 T8 T9 T10 WB EX OF ID IF WB EX OF ID WB EX OF WB EX WB Mất thời gian Sss=5*T + (n -1)*T Khi S S tt 5*n  S ss  n  Lim S 5 n  T11 5.2 Các nhóm lệnh tập lệnh 11  Nhóm lệnh chuyển liệu: Copy liệu từ vị trí sang vị trí khác, không tác động đến ghi cờ  Các lệnh số học với số nguyên: Tín hiệu phép toán số học, tác động đến ghi cờ  Các lệnh logic: Thực phép toán logic, có tác động đến ghi cờ  Các lệnh chuyển đổi liệu: Chuyển đổi liệu từ dạng sang dạng khác Ví dụ: chuyển byte sang word  Các lệnh điều khiển hệ thống 12  Các lệnh điều khiển rẽ nhánh   Nạp vào PC giá trị điều khiển VD: Lệnh nhảy không điều khiển , lệnh nhảy có điều khiển  Lệnh gọi chương trình lệnh trở từ chương trình    Cất địa lệnh PC vào stack Nạp vào PC địa đầu chương trình Nhận lệnh trở chương trình Lấy địa lệnh từ stack trả cho PC Ví dụ: CALL: Gọi chương trình con, RETURN: Trở chương trình 5.3 Các phương pháp đánh địa toán hạng 13  5.3.1- Kiểu địa tức  5.3.2- Kiểu địa trực tiếp  5.3.3- Kiểu địa gián tiếp  5.3.4- Kiểu địa ghi  5.3.5- Kiểu địa gián tiếp qua ghi  5.3.6- Địa hoá dịch chuyển (Displacement Addressing) 14  Quy ước:    A: Là nội dung trường địa lệnh EA Là địa thực vùng nhớ chưa toán hạng (X): Là nội dung vùng nhớ X 5.3.1- Kiểu địa tức (Immediate Addressing) 15  Đơn giản  Toán hạng thực nằm bên lệnh Opcode Instruction Operand  Không cần vùng nhớ để lưu toán hạng  tiết kiệm nhớ, tiết kiệm chu kỳ cache chu kỳ thị  Cỡ toán hạng bị giới hạn theo cỡ truờng địa 5.3.2- Kiểu địa trực tiếp (Direct Addressing) 16  Trường địa chứa địa trực tiếp toán hạng  EA=A  Đơn giản, truy nhập toán hạng mà không cần có tính toán phức tạp  Dộ dài trường địa thường nhỏ độ dài word hạn chế độ rộng vùng nhớ chứa toán hạng Instruction Opcode A memory Operand 5.3.3 Địa gián tiếp (Indirect Addressing) 17  EA=(A) Instruction Opcode A Memory Operand  Nếu word có độ dài N bit  xác định vùng nhớ 2N thay vùng nhớ có độ rộng 2K k độ rộng trường địa lệnh  Tốn nhớ Phải chu kỳ truy nhập nhớ để lấy toán hạng 5.3.4 Kiểu địa ghi (Register Addressing) 18  Giống với Direct Addressing, khác trường địa chế độ trỏ đến ghi thay trỏ đến Instruction vùng nhớ nhớ Opcode R  EA=R Registers  Ưu:    Chỉ cần trường địa độ rộng nhỏ Không cần vùng nhớ Thời gian truy nhập nhanh  Nhược:  Không gian địa bị hạn chế Operand 5.3.5 Kiểu địa gián tiếp ghi (Register Indirect Addressing) 19  EA=(R) Instruction Opcode Registe r R Memory Operand 5.3.6- Địa hoá dịch chuyển (Displacement Addressing) 20  EA=A+(R)  Trong phương pháp người ta lại chia làm phương pháp khác dựa vào khác việc quy ước tính toán để tìm vùng nhớ chứa toán hạng là:    Relative Addressing Base - Register Addressing Indexing 21 Instruction Opcode R A Memory Register Operand [...]... cần có sự tính toán phức tạp nào  Dộ dài của trường địa chỉ thường nhỏ hơn độ dài của 1 word như vậy sẽ hạn chế độ rộng vùng nhớ có thể chứa toán hạng Instruction Opcode A memory Operand 5.3.3 Địa chỉ gián tiếp (Indirect Addressing) 17  EA=(A) Instruction Opcode A Memory Operand  Nếu 1 word có độ dài N bit  xác định một vùng nhớ 2N thay vì một vùng nhớ có độ rộng 2K trong đó k là độ rộng trường địa... này trỏ đến một thanh ghi thay vì trỏ đến Instruction một vùng nhớ trong bộ nhớ chính Opcode R  EA=R Registers  Ưu:    Chỉ cần 1 trường địa chỉ độ rộng nhỏ Không cần bất cứ một vùng nhớ nào Thời gian truy nhập nhanh  Nhược:  Không gian địa chỉ bị hạn chế Operand 5.3.5 Kiểu địa chỉ gián tiếp thanh ghi (Register Indirect Addressing) 19  EA=(R) Instruction Opcode Registe r R Memory Operand 5.3.6-... Là địa chỉ thực của vùng nhớ chưa toán hạng (X): Là nội dung của vùng nhớ X 5.3.1- Kiểu địa chỉ tức thì (Immediate Addressing) 15  Đơn giản nhất  Toán hạng thực sự được nằm bên trong lệnh Opcode Instruction Operand  Không cần vùng nhớ để lưu toán hạng  tiết kiệm bộ nhớ, tiết kiệm được 1 chu kỳ cache trong một chu kỳ chỉ thị  Cỡ của toán hạng bị giới hạn theo cỡ của truờng địa chỉ 5.3.2- Kiểu địa... người ta lại chia làm 3 phương pháp khác nhau dựa vào sự khác nhau của việc quy ước tính toán để tìm ra vùng nhớ chứa toán hạng là:    Relative Addressing Base - Register Addressing Indexing 21 Instruction Opcode R A Memory Register Operand

Ngày đăng: 24/10/2016, 13:07

TỪ KHÓA LIÊN QUAN