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

+
Kiến trúc máy tính  
Cưng 11  
Tập lệnh: Các chế độ định địa chỉ  
và định dạng lệnh  
+
Chương 11. Chế độ định địa chỉ và  
định dạng lệnh  
11.1 Các chế độ địa chỉ  
11.2 Các chế độ địa chỉ của x86 và ARM  
11.3 Định dạng lệnh  
11.4 Định dạng lệnh của x86 và ARM  
11.5 Hợp ngữ (Assembly Language)  
+
11.1 Các cế độ đnh đa cỉ  
a. Tức thì  
b. Trực tiếp  
c. Gián tiếp  
d. Thanh ghi  
e. Gián tiếp thanh ghi  
f. Dịch chuyển  
g. Ngăn xếp  
+
Các cế độ đnh đa  
cỉ  
+
aĐnh đa cc thì  
Dạng đơn giản nhất của định địa chỉ  
Toán hạng = A  
Chế độ này có thể được sử dụng để định nghĩa và sử dụng các  
hằng số và thiết lập các giá trị ban đầu của biến  
Các số thường được lưu trữ dưới dạng số bù hai  
Bit ngoài cùng bên trái của trường toán hạng được sử dụng như  
bit dấu  
Ưu điểm:  
Chỉ cần truy xuất bộ nhớ một lần (để lấy lệnh), do vậy 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ì  
thông thường kích thước của trường này nhỏ hơn kích thước từ  
Ví dụ:  
ADD R1,5  
; R1←R1+5  
Trong đó, 5 là một toán hạng nguồn được tham chiếu trực tiếp trong câu lệnh: địa chỉ tức  
thì  
+
bĐnh đa ctc 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 (Effective address (EA)) = trường địa chỉ  
(Address field (A))  
Phổ biến trong các thế hệ máy tính trước đây  
Tham chiếu bộ nhớ một lần để lấy dữ liệu toán hạng  
Hạn chế: chỉ cung cấp một không gian địa chỉ hạn chế  
Ví dụ:  
ADD R1,A  
; R1←R1+(A)  
Trong đó, A là địa chỉ một vị trí bộ nhớ, (A) là nội dung của vị trí đó. CPU tham chiếu  
đến toán hạng có địa chỉ A trong bộ nhớ.  
+
cĐnh đa cgián p  
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  
Ưu điểm:  
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:  
Thực thi câu 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ó  
Một biến thể hiếm gặp của địa chỉ gián tiếp là địa chỉ gián tiếp  
nhiều cấp hoặc nhiều tầng  
EA = ( . . . (A) . . . )  
Nhược điểm là cần ba hoặc nhiều hơn tham chiếu bộ nhớ để truy xuất  
toán hạng  
+
dĐnh đa cthanh ghi  
Trường địa chỉ dùng để tham chiếu  
thanh ghi chứ không phải địa chỉ bộ  
nhớ chính  
EA = R  
Ưu điểm:  
Chỉ cần một trường địa chỉ nhỏ trong  
lệnh (do số lượng thanh ghi ít)  
Không cần tham chiếu bộ nhớ (tốn nhiều  
thời gian)  
Nhược điểm:  
Không gian địa chỉ giới hạn  
Ví dụ:  
ADD R1,A  
; R1←R1+(A)  
Trong đó, R1 là một thanh ghi trong bộ xử lý, câu lệnh trên tham chiếu giá trị (A) trong  
bộ nhớ cộng với giá trị lưu trữ trong thanh ghi R1, kết quả được ghi vào R1.  
+
eĐnh đa cgián p thanh ghi  
Tương tự như địa chỉ gián tiếp  
Sự khác biệt duy nhất là trường địa  
chỉ tham chiếu đến thanh ghi  
EA = (R)  
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 định địa  
chỉ gián tiếp  
+
fĐnh đa cch chun -  
DisplacemenAddressing  
Kết hợp chế độ định địa chỉ trực tiếp và định địa chỉ trực tiếp  
thanh ghi  
EA = A + (R)  
Yêu cầu lệnh phải có hai trường địa chỉ, ít nhất một trong hai phải  
có giá trị cụ thể  
Một giá trị trong một trường địa chỉ (giá trị = A) được sử dụng trực  
tiếp  
Một trường địa chỉ khác tham chiếu đến thanh ghi trong đó nội dung  
được cộng với A để tạo ra địa chỉ hiệu dụng  
Hầu hết sử dụng:  
Định địa chỉ tương đối  
Định địa chỉ thanh ghi cơ sở  
Định địa chỉ chỉ mục  
+
Đnh đa cưng đi  
Thanh ghi được tham chiếu ngầm là thanh ghi PC (program  
counter)  
Địa chỉ lệnh tiếp theo được cộng vào trường địa chỉ để tạo ra EA  
Thông thường trường địa chỉ được coi là dữ liệu dạng số bù 2 của  
hoạt động này  
Do đó, địa chỉ hiệu dụng là quan hệ dịch chuyển so với địa chỉ của  
lệnh  
Khai thác tính cục bộ của bộ nhớ  
Lưu các bit địa chỉ trong lệnh nếu hầu hết tham chiếu bộ nhớ  
tương đối gần lệnh đang được thực thi  
+
Đnh đa cthanh ghi ơ ở  
Thanh ghi được tham chiếu chứa một địa chỉ bộ nhớ chính và  
trường địa chỉ chứa một giá trị dịch chuyển so với địa chỉ này  
Tham chiếu thanh ghi có thể rõ ràng hoặc ngầm  
Khai thác tính cục bộ của tham chiếu bộ nhớ  
Phương tiện hữu ích để thực hiện phân đoạn  
Trong một số trường hợp, một thanh ghi cơ sở duy nhất được sử  
dụng và được sử dụng ngầm  
Các trường hợp khác, người lập trình có thể chọn một thanh ghi  
để lưu địa chỉ cơ sở của một đoạn và lệnh phải tham chiếu nó một  
cách rõ ràng  
+
Định địa chỉ chỉ mụIndexed  
Addressing  
Trường địa chỉ tham chiếu địa chỉ bộ nhớ chính và thanh ghi được tham chiêu  
chứa giá trị dịch chuyển dương từ địa chỉ này  
Phương pháp tính toán EA giống như với định địa chỉ thanh ghi cơ sở  
Một ứng dụng quan trọng: cung cấp một cơ chế 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 chỉ mục sau mỗi tham chiếu đến nó  
EA = A + (R)  
(R) (R) + 1  
Postindexing  
Indexing is performed after the indirection  
EA = (A) + (R)  
Preindexing  
Indexing is performed before the indirection  
EA = (A + (R))  
+
Đnh đa cnn p  
Một ngăn xếp là một mảng liên tiếp các ô nhớ: danh  
sách dạng vào trước ra sau  
Lệnh có chế độ địa chỉ này là các lệnh thực hiện trực  
tiếp với đỉnh ngăn xếp sử dụng thanh ghi ngầm  
định là thanh ghi SP  
Thanh ghi SP (stack pointer – con trỏ ngăn xếp)  
chứa địa chỉ đỉnh ngăn xếp (trỏ vào đỉnh ngăn xếp)  
Do đó, chế độ địa chỉ ngăn xếp thực chất là chế độ địa chỉ  
gián tiếp thanh ghi  
Các lệnh máy không cần tham chiếu bộ nhớ  
+
Các cế độ đnh đa cơ n  
Chế độ  
Tức thì  
Thuật toán  
Ưu điểm  
Nhược điểm  
Không cần tham chiếu Hạn chế về giá trị của toán  
bộ nhớ  
Toán hạng = A  
hạng  
Trực tiếp EA = A  
Gián tiếp EA = (A)  
Đơn giản  
Không gian địa chỉ hạn chế  
Tham chiếu bộ nhớ nhiều  
lần  
Không gian địa chỉ lớn  
Không cần tham chiếu  
bộ nhớ  
Thanh ghi EA = R  
Không gian địa chỉ hạn chế  
Phức tạp  
Gián tiếp  
EA = A + (R)  
Linh hoạt  
thanh ghi  
Không cần tham chiếu  
bộ nhớ  
Ngăn xếp EA = đỉnh ngăn xếp  
Khả năng ứng dụng ít  
+
Ví dụ 1  
Câu lệnh LOAD: nạp dữ liệu vào thanh ghi ngầm định AC.  
Xác định giá trị của AC trong các trường hợp sau. Tính số lần  
truy xuất bộ nhớ của các lệnh trên  
a. LOAD 1 20  
b. LOAD 2 20  
c. LOAD 3 20  
d. LOAD 1 30  
e. LOAD 2 30  
f. LOAD 3 30  
Trong đó:  
1: chế độ tức thì  
2: chế độ trực tiếp  
3: chế độ gián tiếp  
Nội dung các ngăn nhớ  
Địa chỉ  
20  
Dữ liệu  
40  
30  
50  
40  
60  
50  
70  
+
Ví dụ 2  
Trường địa chỉ của một câu lệnh là 14 (hệ thập phân). Toán  
hạng của lệnh nằm ở đâu trong các trường hợp sau  
a) Chế độ địa chỉ tức thì  
b) Chế độ địa chỉ trực tiếp  
c) Chế độ địa chỉ gián tiếp  
d) Chế độ địa chỉ thanh ghi  
e) Chế độ địa chỉ gián tiếp thanh ghi  
Tải về để xem bản đầy đủ
pdf 34 trang yennguyen 43500 Free
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 11: Chế độ định địa chỉ và định dạng lệnh - Nguyễn Thị 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_11_che_do_dinh_dia_chi_v.pdf