Bài giảng Kiến trúc máy tính - Chương 13: Tập lệnh - Chế độ định địa chỉ và định dạng - Nguyễn Hằng Phương

Chương 13  
Tập lệnh:  
Chế độ định địa chỉ và định dạng  
+
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  
+
1. Các chế độ định địa chỉ  
Tức thời  
Trực tiếp  
Gián tiếp  
Thanh ghi  
Thanh ghi gián tiếp  
Thay thế  
Ngăn xếp  
Các chế độ định địa chỉ  
+
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  
+
Địa chỉ tức thời  
Dạng định địa chỉ đơn giản nhất  
Toán hạng = A  
Có thể được sử dụng để định nghĩa và sử dụng hằng số hoặc thiết  
lập giá trị ban đầu của biến  
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ừ  
Đị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  
+
Đị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)  
+
Đị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  
+
Đị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  
EA = R  
Số lượng thanh ghi hữu hạn  
Ưu điểm:  
Chỉ cần một trường địa chỉ nhỏ trong lệnh lệnh ngắn hơn, truy  
xuất lệnh nhanh hơn  
Không cần tham chiếu bộ nhớ  
Nhược điểm:  
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  
+
Địa chỉ gián tiếp thanh ghi  
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  
EA = (R)  
Toán hạng nằm trong ô nhớ được trỏ tới bởi nội dung của  
thanh ghi R  
Ưu:  
Không gian địa chỉ lớn hơn (trường địa chỉ tham chiếu đến vị  
trí chứa địa chỉ có độ dài bằng một từ )  
Tham chiếu bộ nhớ ít hơn 1 lần so với địa chỉ gián tiếp  
+
Địa chỉ dịch  
(displacement addressing)  
Kết hợp chế độ địa chỉ trực tiếp và địa chỉ gián tiếp thanh ghi  
EA = A + (R)  
Lệnh phải có hai trường địa chỉ, ít nhất một trong hai phải có  
giá trị cụ thể  
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  
+
(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  
+
Đị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  
+
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  
Autoindexing  
Tự động tăng hoặc giảm thanh ghi index sau mỗi lần tham chiếu  
đến nó  
EA = A + (R)  
(R) (R) + 1  
Postindexing  
Địa chỉ gián tiếp thực hiện trước, Indexing addressing sau  
EA = (A) + (R)  
Preindexing  
Indexing addressing thực hiện trước, Địa chỉ gián tiếp thực hiện  
sau  
EA = (A + (R))  
+
Đị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 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  
Tính toán chế độ định địa chỉ x86  
Các chế độ định địa chỉ x86  
+
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  
+
Địa chỉ lệnh xử lý dữ liệu và lệnh rẽ  
nhánh ARM  
Các lệnh xử lý dữ liệu  
Sử dụng hoặc định địa chỉ thanh ghi hoặc kết hợp giữa định địa chỉ  
thanh ghi và tức thì  
Với định địa chỉ thanh ghi, giá trị trong một toán hạng thanh ghi có  
thể được thu nhỏ bằng một trong năm toán tử dịch  
Các lệnh rẽ nhánh  
Dạng duy nhất của định địa chỉ cho các lệnh rẽ nhánh là định địa chỉ  
tức thì  
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  
Tải về để xem bản đầy đủ
pdf 37 trang yennguyen 12/04/2022 3660
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kiến trúc máy tính - Chương 13: Tập lệnh - Chế độ định địa chỉ và định dạng - Nguyễn Hằng Phương", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_kien_truc_may_tinh_chuong_13_tap_lenh_che_do_dinh.pdf