Sự khác biệt chính giữa địa chỉ logic và địa chỉ vật lý là CPU tạo ra địa chỉ logic trong quá trình thực thi chương trình trong khi địa chỉ vật lý là một vị trí trong đơn vị bộ nhớ.
Nói một cách dễ hiểu, CPU tạo ra địa chỉ logic hoặc địa chỉ ảo. Từ quan điểm của một chương trình đang chạy, một mục dường như được đặt tại địa chỉ được cung cấp bởi địa chỉ logic. Bộ nhớ quan sát địa chỉ vật lý. Hơn nữa, nó cho phép truy cập một ô nhớ cụ thể trong bộ nhớ chính bằng bus dữ liệu.
Địa chỉ logic là gì?
CPU tạo địa chỉ logic. Từ quan điểm của một chương trình đang chạy, một mục dường như được đặt tại địa chỉ được cung cấp bởi địa chỉ logic. Các chương trình ứng dụng đang chạy trên máy tính không nhìn thấy địa chỉ vật lý. Chúng luôn làm việc bằng cách sử dụng các địa chỉ hợp lý. Không gian địa chỉ logic là tập hợp các địa chỉ logic mà một chương trình tạo ra. Cần phải ánh xạ địa chỉ logic thành địa chỉ vật lý trước khi sử dụng chúng. Thiết bị phần cứng Bộ Quản lý Bộ nhớ (MMU) xử lý quá trình ánh xạ này.
Lược đồ lập bản đồ MMU
MMU tuân theo một số sơ đồ ánh xạ. Trong sơ đồ ánh xạ đơn giản nhất, giá trị trong thanh ghi định vị được thêm vào mỗi địa chỉ logic được tạo ra bởi các chương trình ứng dụng trước khi gửi chúng vào bộ nhớ. Ngoài ra còn có một số phương pháp phức tạp khác để tạo ánh xạ. Liên kết địa chỉ (tức là phân bổ các lệnh và dữ liệu vào địa chỉ bộ nhớ) có thể xảy ra vào ba thời điểm khác nhau.
Hình 01: Địa chỉ logic và vật lý
Thứ nhất, nó có thể xảy ra trong thời gian biên dịch nếu vị trí bộ nhớ thực tế được biết trước và điều này sẽ tạo ra mã tuyệt đối trong thời gian biên dịch. Nó cũng có thể xảy ra tại thời điểm tải nếu không biết trước vị trí bộ nhớ. Đối với điều này, mã định vị lại cần được tạo tại thời điểm biên dịch. Hơn nữa, ràng buộc địa chỉ có thể xảy ra tại thời điểm thực thi. Điều này yêu cầu hỗ trợ phần cứng để ánh xạ địa chỉ. Trong thời gian biên dịch và ràng buộc địa chỉ thời gian tải, địa chỉ logic và địa chỉ vật lý là giống nhau. Nhưng quy trình này khác khi ràng buộc địa chỉ xảy ra trong thời gian thực thi.
Địa chỉ thực là gì?
Bộ nhớ quan sát địa chỉ vật lý hoặc địa chỉ thực. Nó cho phép bus dữ liệu truy cập vào một ô nhớ cụ thể trong bộ nhớ chính. MMU ánh xạ địa chỉ logic thành địa chỉ vật lý. Ví dụ: bằng cách sử dụng lược đồ ánh xạ đơn giản nhất, thêm giá trị của thanh ghi chuyển vị trí (giả sử rằng giá trị trong thanh ghi là y) vào địa chỉ logic, một địa chỉ logic nằm trong khoảng từ 0 đến x sẽ ánh xạ tới một dải địa chỉ vật lý y đến x + y.
Hơn nữa, đây còn được gọi là không gian địa chỉ vật lý của chương trình đó. Tất cả các địa chỉ logic cần được ánh xạ thành địa chỉ vật lý trước khi chúng có thể được sử dụng.
Sự khác biệt giữa Địa chỉ logic và Địa chỉ thực là gì?
Địa chỉ logic so với Địa chỉ thực |
|
Địa chỉ lôgic là địa chỉ mà tại đó một mục dường như cư trú từ góc độ của một chương trình ứng dụng đang thực thi. | Địa chỉ vật lý là địa chỉ bộ nhớ được biểu diễn dưới dạng số nhị phân trên mạch địa chỉ để cho phép bus dữ liệu truy cập vào một ô lưu trữ cụ thể của bộ nhớ chính hoặc một thanh ghi của bộ nhớ được ánh xạ I / O thiết bị. |
Khả năng hiển thị | |
Người dùng có thể xem địa chỉ logic của chương trình. | Người dùng không thể xem địa chỉ thực của chương trình. |
Phương pháp tạo | |
CPU tạo ra địa chỉ logic. | MMU tính toán địa chỉ Thực. |
Khả năng tiếp cận | |
Người dùng có thể sử dụng địa chỉ logic để truy cập địa chỉ thực. | Người dùng không thể truy cập trực tiếp vào địa chỉ thực. |
Tóm tắt - Địa chỉ logic so với Địa chỉ thực
Sự khác biệt giữa địa chỉ logic và địa chỉ vật lý là CPU tạo ra địa chỉ logic khi chương trình thực thi trong khi địa chỉ vật lý là một vị trí trong đơn vị bộ nhớ. Tất cả các địa chỉ logic cần được ánh xạ thành địa chỉ vật lý trước khi MMU có thể sử dụng chúng. Địa chỉ vật lý và logic giống nhau khi sử dụng ràng buộc địa chỉ thời gian biên dịch và thời gian tải, nhưng chúng khác nhau khi sử dụng ràng buộc địa chỉ thời gian thực thi.