Địa chỉ logic và vật lý





Địa chỉ logic: là địa chỉ sinh bởi CPU, tham chiếu đến một vị trí nhớ độc lập với cấu trúc, tổ chức vật lý của bộ nhớ. Ví dụ các tiến trình biên dịch (compiler) tạo ra mã lệnh chương trình mà trong đó mọi tham chiểu đến bộ nhớ đều là địa chỉ logic

Địa chỉ vật lý: là địa chỉ sinh bởi đơn vị quản lý bộ nhớ MMU, là một địa chỉ thực trong bộ nhớ chính; địa chỉ vật lý được chuyển từ địa chỉ logic khi trình biên dịch thực hiện quá trình linking/loading

Khi nói đến vi xử lý 8bit, 16bit, 32bit… hay kiến trúc máy tính x32, x64; điều đó có nghĩa là kích thước của thanh ghi bên trong vi xử lý là chừng đó bit.

Xét vi xử lý có thanh ghi là n bits, lúc đó thanh ghi này sẽ đánh được địa chỉ ( quản lý ) cho 2^n ô nhớ có địa chỉ từ 0 đến 2^(n-1)

Như vậy, với CPU 32 bits chẳng hạn, nó sẽ đánh địa chỉ được 2^32 ô nhớ, tương ứng với 4GB RAM, cho nên một kiến trúc máy tính với 32bits chỉ có thể làm việc với tối đa 4GB ô nhớ

Trong quá trình sử dụng, nếu sử dụng vượt quá dung lượng RAM hiện tại thì hệ thống sẽ tự động chuyển sang sử dụng bộ nhớ ảo hay dung lượng ổ cứng còn dư để lưu trữ tạm thời

Vậy câu hỏi đặt ra ở đây là : liệu một vi xử lí 32 bits có thể sử dụng cùng với một dung lượng bộ nhớ > 4GB RAM được không ?

Câu trả lời là hoàn toàn có thể, giả sử như có 2 tiến trình được nạp vào bộ nhớ, với tổng dung lượng là 8GB RAM, lúc này số lượng ô nhớ thực sự được thực thi chỉ là 4GB ô nhớ mà thanh ghi 32 bits có thể đánh địa chỉ.

Thêm một vấn đề nữa, đó là làm như thế nào để đánh được địa chỉ cho phần tiến trình bị “dôi ra” khỏi 4GB ?

Bởi vì thanh ghi 32 bits không thể đánh địa chỉ tới được những vùng nhớ đó, vậy chúng ta sẽ sử dụng địa chỉ logic để có thể đánh địa chỉ được những ô nhớ đó, tức là nếu sử dụng địa chỉ logic ta có thể đánh địa chỉ cho số ô nhớ > 4GB so với cách đánh địa chỉ trên thanh ghi thông thường

Địa chỉ logic = Segment.Offset

Địa chỉ vật lý = Segment * kích_thước_vi_xử_lý + offset

Rất cần chú ý ở đây là tuy chúng ta có thể đánh địa chỉ được cho > 4GB ô nhớ, nhưng thực chất tại mỗi thời điểm chỉ có tối dda 4GB ô nhớ thực sự được truy xuất và hoạt động

Nguồn: https://nhannguyen95.wordpress.com/2016/12/30/dia-chi-logic-va-dia-chi-vat-ly/