Chương 6: Kiến trúc bộ lệnh doc

42 526 1
Chương 6: Kiến trúc bộ lệnh doc

Đ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

Chương – Kiến trúc lệnh 6.1 Phân loại kiến trúc lệnh 6.2 Địa nhớ 6.3 Mã hóa tập lệnh 6.3.1 Các tiêu chuẩn thiết kế dạng thức lệnh 6.3.2 Opcode mở rộng 6.3.3 Ví dụ dạng thức lệnh 6.3.4 Các chế độ lập địa 6.4 Bộ lệnh 6.4.1 Nhóm lệnh truyền liệu 6.4.2 Nhóm lệnh tính tốn số học 6.4.3 Nhóm lệnh Logic 6.4.4 Nhóm lệnh dịch chuyển 6.4.5 Nhóm lệnh có điều kiện lệnh nhảy 6.5 Cấu trúc lệnh CISC RISC Khoa KTMT 6.1 Phân loại kiến trúc lệnh  kiến trúc ngăn xếp (stack),  kiến trúc ghi tích lũy (Accumulator)  kiến trúc ghi đa dụng GPRA(generalpurpose register architecture) Ví dụ phép tính C = A + B dùng kiểu kiến trúc: Khoa KTMT Kiểu kiến trúc GPR  Ưu điểm – Dùng ghi, dạng lưu trữ CPU có tốc độ nhanh nhớ ngồi – Trình tự thực lệnh thứ tự – Dùng ghi để lưu biến giảm thâm nhập đến nhớ => chương trình nhanh  Nhược điểm – Lệnh dài – Số lượng ghi bị giới hạn Khoa KTMT Kiểu kiến trúc ghi đa dụng  lệnh có tốn hạng ADD A, B  lệnh có tốn hạng ADD A, B, C  Số tốn hạng nhớ thay đổi từ tới  Các loại toán hạng • ghi-thanh ghi (kiểu cịn gọi nạp - lưu trữ), • ghi - nhớ • nhớ - nhớ Khoa KTMT 6.2 Địa nhớ  Các khái niệm: – Memory, bit, cell, address, byte, word  Sắp xếp thứ tự byte – Có vấn đề khơng cách xếp thứ tự byte Khoa KTMT Vấn đề thứ tự byte VD: Biểu diễn JIM SMITH, 21 tuổi, phòng 14 Khoa KTMT 6.3 Mã hóa tập lệnh  Các trường mã hóa: – mã tác vụ (operation code): Opcode – Địa Khoa KTMT Các tiêu chuẩn thiết kế dạng thức lệnh  Có tiêu chuẩn thiết kế: – – – – Mã lệnh ngắn ưu việt mã lệnh dài Độ dài mã lệnh đủ đế biểu diễn tất phép toán mong muốn độ dài word máy bội số nguyên độ dài ký tự số BIT trường địa ngắn tốt Ví dụ thiết kế máy với ký tự bit nhớ chứa 216 ký tự + Ơ nhớ kích thước bit => trường địa cần 16 bit + Ơ nhớ kích thước 32 bit => trường địa cần 14 bit Khoa KTMT Opcode mở rộng ví dụ máy tính có lệnh dài 16 bit :  Lệnh (n+k) bit với opcode chiếm k bit địa chiếm n bit VD: 15 lệnh ba địa Khoa KTMT Opcode mở rộng  14 lệnh hai địa Khoa KTMT 10 Ví dụ stack SP SP SP SP SP SP Đỉnh stack: Stack Pointer (SP) Khoa KTMT 30 6.4 Bộ lệnh  Q trình biên dịch ngơn ngữ máy Khoa KTMT 36 Nhóm lệnh truyền liệu  MOVE Ri, Rj  Một số ví dụ lệnh MOVE: Khoa KTMT 37 Nhóm lệnh truyền liệu  LOAD đích, nguồn – ví dụ: LOAD Ri, M (địa chỉ) // RiM[địa chỉ]  STORE đích, nguồn – ví dụ: STORE M(địa chỉ), Ri Khoa KTMT // M[địa chỉ] ←Ri 38 Nhóm lệnh tính tốn số học  ADD đích, nguồn // đích  đích + nguồn  SUB đích, nguồn // đích  đích – nguồn  Ví dụ: ADD ADD SUB SUB AX, BX AL,74H CL, AL AX, 0405H Khoa KTMT // AX AX + BX // AL  AL + [74H] // CL  CL – AL // AX  AX – 0405H 39 Nhóm lệnh tính tốn số học  Các lệnh tính tốn số học Khoa KTMT 40 Nhóm lệnh logic  AND đích, nguồn  OR đích, nguồn  Ví dụ: AND AL, BL AL = 00001101B BL = 00110011B => AL = 00000001B Khoa KTMT 41 Nhóm lệnh dịch chuyển số học logic (SHIFT )  SRL (Shift Right Logical - dịch phải logic)  SLL (Shift Left Logical - dịch trái logic)  SRA (Shift Right Arithmetic - dịch phải số học)  SLA (Shift Left Arithmetic – dịch trái số học) Khoa KTMT 42 Các lệnh dịch chuyển Khoa KTMT 43 Các lệnh dịch chuyển Khoa KTMT 44 Các lệnh có điều kiện lệnh nhảy Nếu khơng (IF THEN ELSE ) Khoa KTMT 45 Các lệnh có điều kiện lệnh nhảy Ví dụ: LOAD Loop: ADD DECREMENT BEQZ Khoa KTMT R1, #100 R0, (R2)+ R1 R1, Loop 46 Thống kê sử dụng CPU Loại lệnh % sử dụng thời gian Chuyển liệu 43% Điều khiển dịng chảy 23% Tính tốn số học 15% So sánh 13% Phép toán Logic 5% Các lệnh khác 1% Khoa KTMT 47 Cấu trúc lệnh CISC RISC RISC(Reduced Instruction Set Computer ) CISC(Complex Instruction Set Computer ) – Độ dài lệnh cố định (32 bit) – Sử dụng kiến trúc load-store lệnh xử lý liệu hoạt động ghi cách ly với lệnh truy cập nhớ – Một số lớn ghi đa dụng 32 bit – Có số lệnh (thường 100 lệnh) – Có số kiểu định vị – Có số dạng lệnh (một hai) – Chỉ có lệnh ghi đọc ô nhớ thâm nhập vào nhớ – Kích thước tập lệnh thay đổi – Giá trị nhớ dùng như toán hạng lệnh xử lý liệu – Có nhiều ghi, hầu hết để sử dụng cho mục đích riêng biệt – Có nhiều lệnh (khoảng 500) – Có nhiều kiểu định vị (xem phần 6.3.4) – Có nhiều dạng lệnh – Có nhiều lệnh khác thâm nhập vào nhớ – Giải mã lệnh logic kết nối phần cứng – Thực thi lệnh theo cấu trúc dịng chảy (xem hình 7.9 chương sau) – Một lệnh thực thi chu kì xung nhịp – Sử dụng nhiều code ROM giải mã lệnh – Các máy cũ phải hết dòng lệnh đến dòng lệnh khác – Cần nhiều chu kì xung nhịp để hồn thành lệnh Khoa KTMT 48 CÂU HỎI VÀ BÀI TẬP CHƯƠNG Giả sử cần thiết kế máy với ký tự bit nhớ chứa 224 ký tự Hãy cho biết trường địa cần bit trường hợp: a) Ơ nhớ kích thước bit b) Ơ nhớ kích thước 16 bit c) Ô nhớ kích thước 32 bit Thiết kế opcode mở rộng nhằm cho phép mã hóa nội dung sau lệnh 36 bit – – – lệnh có hai địa 15 bit số hiệu ghi bit 500 lệnh có địa 15 bit số hiệu ghi bit 50 lệnh khơng có địa ghi Có thể thiết kế opcode mở rộng phép mã hóa nội dung sau lệnh 12 bit khơng? Trường ghi rộng bit – – – lệnh có ba ghi 255 lệnh có hai ghi 2048 lệnh khơng có ghi Khoa KTMT 49 ... loại kiến trúc lệnh  kiến trúc ngăn xếp (stack),  kiến trúc ghi tích lũy (Accumulator)  kiến trúc ghi đa dụng GPRA(generalpurpose register architecture) Ví dụ phép tính C = A + B dùng kiểu kiến. .. 6.3.4) – Có nhiều dạng lệnh – Có nhiều lệnh khác thâm nhập vào nhớ – Giải mã lệnh logic kết nối phần cứng – Thực thi lệnh theo cấu trúc dịng chảy (xem hình 7.9 chương sau) – Một lệnh thực thi chu... số học) Khoa KTMT 42 Các lệnh dịch chuyển Khoa KTMT 43 Các lệnh dịch chuyển Khoa KTMT 44 Các lệnh có điều kiện lệnh nhảy Nếu khơng (IF THEN

Ngày đăng: 28/07/2014, 09:22

Từ khóa liên quan

Mục lục

  • 6.1. Phân loại kiến trúc bộ lệnh 6.2. Địa chỉ bộ nhớ 6.3. Mã hóa tập lệnh 6.3.1. Các tiêu chuẩn thiết kế dạng thức lệnh 6.3.2. Opcode mở rộng 6.3.3. Ví dụ về dạng thức lệnh 6.3.4. Các chế độ lập địa chỉ 6.4. Bộ lệnh 6.4.1. Nhóm lệnh truyền dữ liệu 6.4.2. Nhóm lệnh tính toán số học 6.4.3. Nhóm lệnh Logic 6.4.4. Nhóm các lệnh dịch chuyển 6.4.5. Nhóm các lệnh có điều kiện và lệnh nhảy 6.5. Cấu trúc lệnh CISC và RISC

  • 6.1. Phân loại kiến trúc bộ lệnh

  • Kiểu kiến trúc GPR

  • Kiểu kiến trúc thanh ghi đa dụng

  • 6.2. Địa chỉ bộ nhớ

  • Vấn đề thứ tự byte

  • 6.3. Mã hóa tập lệnh

  • Các tiêu chuẩn thiết kế dạng thức lệnh

  • Opcode mở rộng

  • Slide 10

  • dạng thức lệnh PDP-11

  • Họ lntel 8088/80286/80386/Pentium

  • Format lệnh Pentium

  • Các chế độ lập địa chỉ

  • a. Định vị địa chỉ tức thời

  • b. Định vị địa chỉ trực tiếp

  • Sơ đồ định vị địa chỉ trực tiếp

  • c. Định vị địa chỉ gián tiếp

  • Sơ đồ định vị địa chỉ gián tiếp

  • d. Định vị địa chỉ thanh ghi

Tài liệu cùng người dùng

Tài liệu liên quan