Trong kiến trúc ARM7, thanh ghi LR (Link Register) được sử dụng để làm gì?
Trả lời:
Đáp án đúng: C
Trong kiến trúc ARM7, thanh ghi LR (Link Register) có chức năng chính là lưu trữ địa chỉ trả về (return address) sau khi thực hiện một lệnh nhảy (branch) có liên quan đến việc gọi một hàm hoặc thủ tục con (subroutine). Khi một lệnh nhảy như BL (Branch with Link) được thực thi, địa chỉ của lệnh kế tiếp sau lệnh BL (tức là địa chỉ mà chương trình cần quay lại sau khi hàm con kết thúc) sẽ được lưu vào thanh ghi LR. Sau đó, khi hàm con kết thúc, lệnh di chuyển giá trị từ LR vào thanh ghi PC (Program Counter) sẽ được sử dụng để quay trở lại điểm mà chương trình đã gọi hàm con đó.
Phương án A không chính xác vì việc lưu trạng thái hiện tại của chương trình thường liên quan đến nhiều thanh ghi và bộ nhớ stack, chứ không chỉ một thanh ghi LR.
Phương án B không chính xác vì dữ liệu người dùng thường được lưu trữ trong các thanh ghi đa năng (general-purpose registers) hoặc trong bộ nhớ RAM, chứ không phải trong thanh ghi LR.
Phương án D không chính xác vì địa chỉ của bộ nhớ RAM thường được lưu trữ trong các thanh ghi khác hoặc được tính toán trực tiếp trong các lệnh truy cập bộ nhớ.





