1. Trang chủ
  2. » Công Nghệ Thông Tin

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

37 31 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 37
Dung lượng 1,52 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Các chế độ định địa chỉ Địa chỉ tức thời Địa chỉ trực tiếp Địa chỉ gián tiếp Địa chỉ thanh ghi Địa chỉ gián tiếp thanh ghi Địa chỉ thay thế Địa chỉ ngăn xếp 2..  Số thường được lưu t

Trang 1

+ Chương 13

Tập lệnh:

Chế độ định địa chỉ và định dạng

Trang 2

+ NỘI DUNG

1 Các chế độ định địa chỉ

Địa chỉ tức thời Địa chỉ trực tiếp Địa chỉ gián tiếp Địa chỉ thanh ghi Địa chỉ gián tiếp thanh ghi Địa chỉ thay thế

Địa chỉ ngăn xếp

2 Chế độ địa chỉ của x86 và ARM

3 Định dạng lệnh

Chiều dài lệnh Phân bổ Bit Lệnh có độ dài thay đổi

4 Các định dạng lệnh của x86 và ARM

Trang 4

Các chế độ định địa chỉ

Trang 5

+

Các chế độ định địa chỉ cơ bản

 A = nội dung trường address trong từ lệnh

 R = Nội dung trường address trong lệnh tham chiếu đến thanh ghi

 EA = địa chỉ hiệu dụng của vị trí chứa toán hạng đc tham chiếu

 (X) = Nội dung của vị trí bộ nhớ X hoặc thanh ghi X

Trang 6

 Số thường được lưu trữ dưới dạng bù 2

 Bit ngoài cùng bên trái của trường toán hạng là bit dấu

 Ưu điểm:

Không cần tham chiếu bộ nhớ để lấy dữ liệu toán hạng (chỉ có 1 lần truy xuất lệnh)  tiết kiệm một chu kỳ cache hoặc bộ nhớ trong chu kỳ lệnh

 Nhược điểm:

Kích thước của số bị giới hạn bởi kích thước của trường địa chỉ

Vì trong các tập lệnh, kích thước trường địa chỉ thường nhỏ hơn kích thước từ

Trang 7

Địa chỉ trực tiếp

 Trường địa chỉ chứa địa chỉ hiệu dụng của toán hạng

 Địa chỉ hiệu dụng (EA) = trường địa chỉ (A)

 Phổ biến trong các thế hệ máy tính trước đây

 Chỉ tham chiếu bộ nhớ 1 lần để lấy dữ liệu

 Không cần tính toán để tìm EA

 Hạn chế: chỉ cung cấp một không gian địa chỉ hữu hạn

Trang 8

+

Địa chỉ gián tiếp

 Trường địa chỉ tham chiếu đến địa chỉ của một từ trong bộ nhớ chứa địa chỉ đầy đủ của toán hạng

 EA = (A)

Dấu ngoặc đơn được hiểu như là nội dung của

 Tìm trong A, tìm địa chỉ (A), tới đó để lấy toán hạng

 VD: ADD (A)

Trang 9

+

Địa chỉ gián tiếp (2)

 Ưu điểm :

 Không gian địa chỉ lớn

Với một từ có kích thước N cho phép một không gian địa chỉ là 2N

 Nhược điểm:

 1 thực thi lệnh đòi hỏi hai lần tham chiếu bộ nhớ để truy xuất toán hạng

 Một để lấy ra địa chỉ, hai là để lấy ra giá trị của nó

 Biến thể hiếm gặp của địa chỉ gián tiếp là địa chỉ gián tiếp nhiều tầng

 EA = (((A)))

 Nhược điểm: cần nhiều hơn hoặc bằng 3 tham chiếu bộ nhớ để truy xuất được toán hạng  chậm hơn

Trang 10

+

Địa chỉ thanh ghi

 Trường địa chỉ tham chiếu đến thanh ghi

chứ không tham chiếu địa chỉ bộ nhớ chính

 Không gian địa chỉ giới hạn

 Sử dụng nhiều thanh ghi để tăng hiệu quả

 Gánh nặng cho người lập trình assembly hay người viết trình hợp dịch

Trang 11

+

 Tương tự như địa chỉ gián tiếp

 Khác biệt ở chỗ trường địa chỉ tham chiếu đến thanh ghi

 Tham chiếu bộ nhớ ít hơn 1 lần so với địa chỉ gián tiếp

Địa chỉ gián tiếp thanh ghi

Trang 12

 Giá trị trong một trường địa chỉ (giá trị = A) được sử dụng trực tiếp

 Trường địa chỉ còn lại tham chiếu đến thanh ghi, nội dung trong thanh ghi đó được cộng với A để tạo ra địa chỉ hiệu dụng

 3 dạng sử dụng địa chỉ dịch phổ biến:

 Địa chỉ tương đối

 Địa chỉ thanh ghi cơ sở

 Lập chỉ mục

Trang 13

+

(a) Địa chỉ tương đối

 Thanh ghi được tham chiếu ngầm định là thanh ghi PC

 Địa chỉ lệnh tiếp theo được cộng với trường địa chỉ để tạo ra EA

 Với phép cộng này, trường địa chỉ được coi là số bù 2

 Do đó, địa chỉ hiệu dụng là một dịch vị tương đối của địa chỉ trong lệnh

 EA = A + (PC)

 Lợi dụng tính cục bộ của bộ nhớ

 Tiết kiệm bit địa chỉ trong lệnh nếu đa phần các tham chiếu bộ nhớ ở tương đối gần với lệnh đang được thực thi

Trang 14

+

Địa chỉ thanh ghi cơ sở

 Thanh ghi được tham chiếu chứa con trỏ tới một địa chỉ cơ

sở bộ nhớ chính Trường địa chỉ chứa giá trị dịch đi từ địa chỉ này

 Tham chiếu thanh ghi có thể là cụ thể hoặc ngầm định

 Giá trị dịch là biểu diễn số nguyên không dấu

 Khai thác tính cục bộ của tham chiếu bộ nhớ

 VD: thanh ghi đoạn trong x86

Trang 15

+

Indexed Addressing

 Trường địa chỉ tham chiếu địa chỉ bộ nhớ chính Thanh ghi được tham chiêu chứa giá trị dịch chuyển dương từ địa chỉ này

 Tính toán EA giống như với địa chỉ thanh ghi cơ sở

 Ứng dụng: hiệu quả để thực hiện các hoạt động lặp

Trang 16

+

Địa chỉ ngăn xếp

 Ngăn xếp là một mảng liên tiếp các vị trí nhớ

Còn được gọi là pushdown list or last-in-first-out queue

 Ngăn xếp là một khối dự trữ các vị trí nhớ

 Các mục được thêm vào đỉnh ngăn xếp nên khối đó được lấp đầy một phần

 Con trỏ gắn với ngăn xếp có giá trị là địa chỉ của đỉnh ngăn xếp

 Con trỏ ngăn xếp được duy trì trong một thanh ghi

 Vì vậy, tham chiếu đến các vị trí ngăn xếp trong bộ nhớ trong thực

tế là địa chỉ gián tiếp thanh ghi

 Là một dạng của địa chỉ ngầm định

 Lệnh máy không cần thêm tham chiếu bộ nhớ nhưng hoạt động

ngầm định trên đỉnh của ngăn xếp

Trang 17

Tính toán chế độ định địa chỉ x86

Trang 18

Các chế độ định địa chỉ x86

Trang 19

+

ARM Indexing Methods

Tải và lưu trữ các lệnh chỉ tham chiếu bộ nhớ Điều này luôn luôn được thực hiện gián tiếp thông qua một thanh ghi cơ sở cộng với độ lệch

Trang 20

 Lệnh chứa 24 bit giá trị

 Đã dịch 2 bit để địa chỉ nằm trên ranh giới từ

 Khoảng hiệu quả +/- 32MB từ PC

Trang 21

+

ARM Load/Store Multiple Addressing

Trang 22

 Không hoặc nhiều toán hạng, ngầm định hoặc rõ ràng

 Phải ngầm định hoặc rõ ràng chỉ ra chế độ địa chỉ cho

từng toán hạng

 Với mỗi tập lệnh, có thể có nhiều định dạng được sử

dụng

Trang 24

+

Độ dài lệnh

 Cần xem xét:

 Độ dài lệnh có nên bằng độ dài dữ liệu bộ nhớ truyền

đi Hoặc một trong hai cái nên là bội của cái còn lại

 Tốc độ truyền bộ nhớ chậm hơn tốc độ VXL

 Độ dài lệnh nên là bội của độ dài ký tự (thương là 8 bit)

và bội của độ dài của các số dấu chấm tĩnh

Trang 25

 Thanh ghi hay bộ nhớ

 Số lượng tập thanh ghi

 Dải địa chỉ

 Độ chi tiết địa chỉ

Trang 26

Định dạng lệnh PDP-8

Trang 27

+

Định dạng lệnh PDP-10

Trang 28

+

Lệnh có độ dài thay đổi

 Cung cấp sự thay đổi một cách hiệu quả và linh hoạt

 Tăng sự phức tạp của VXL

 Vẫn mong muốn tất cả độ dài lệnh là bội của độ dài từ

 Vì VXL không biết chiều dài của lệnh tiếp theo sẽ được truy xuất  Giải pháp điển hình là truy xuất một số

lượng byte hoặc word ít nhất bằng lệnh dài nhất

 Đôi khi nhiều lệnh được truy xuất

Trang 29

Định dạng lênh PDP-11

Trang 30

+

Các ví dụ lệnh VAX

Trang 31

Định dạng lệnh x86

x86 được trang bị nhiều định dạng lệnh

Trang 32

Các định dạng

lệnh ARM

Trang 33

Ví dụ về sử dụng ARM Immediate Constants (hằng số tức thì)

Trang 34

Tập lệnh Thumb

Trang 35

Hợp ngữ

Trang 36

+ Tổng kết

 Các chế độ định địa chỉ

 Định địa chỉ tức thì

 Định địa chỉ trực tiếp

 Định địa chỉ gián tiếp

 Định địa chỉ thanh ghi

 Định địa chỉ gián tiếp thanh

Trang 37

+ Câu hỏi chương 13

1 Trình bày cách định địa chỉ tức thời

2 Trình bày cách định địa chỉ trực tiếp

3 Trình bày cách định địa chỉ gián tiếp

4 Trình bày cách định địa chỉ thanh ghi

5 Trình bày cách định địa chỉ gián tiếp thanh ghi

6 Trình bày cách định địa chỉ thay thế

7 Trình bày cách định địa chỉ tương đối

8 Ưu điểm của đánh số tự động?

9 Phân biệt postindexing và preindexing?

10 Các yếu tố ảnh hưởng đến việc sử dụng các bit địa chỉ trong 1 lệnh?

11 Ưu điểm và nhược điểm của việc sử dụng định dạng lệnh có độ dài thay đổi?

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

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm