Để giúp bạn giải quyết câu hỏi này, chúng ta cần phải nhận được thông tin chi tiết của chúng tôi ngay:
- 16 bit không gian địa chỉ ảo = 2^16 = 65.536 không gian địa chỉ
- 16 bit của không gian địa chỉ vật lý = 2^16 = 65,536 không gian địa chỉ
- 4096 Kích thước trang byte xác định độ lệch, là Nhật ký (4096)/Nhật ký (2) = 12 bit. Điều này có nghĩa, 2^12 cho Kích thước trang
- Theo @Akash Mahapatra, bù đắp từ địa chỉ ảo được ánh xạ trực tiếp đến việc bù đắp vào địa chỉ vật lý
Như vậy, bây giờ chúng ta có:
- 2^16 (16bit) cho địa chỉ ảo, 2^12 (12bit) cho offset => để lại cho chúng tôi 4 bit cho các trang hoặc thay vì tổng số trang sẵn có.
- Tôi sẽ không lặp lại phép tính cho vật lý vì nó là cùng một số.
- 2^4 (4bit) cho các trang = 16, tương ứng với số lượng mục nhập bảng ở trên!
Chúng tôi đang ở đó ... hãy kiên nhẫn! :)
Địa chỉ bộ nhớ 0xE12C trong ký hiệu hex cũng được biết là đang giữ 16 bit địa chỉ. (Vì nó được nêu trong câu hỏi.)
Hãy bán thịt địa chỉ ngay bây giờ ...
Đầu tiên chúng tôi xóa '0x' khỏi thông tin.
Chúng tôi có thể chuyển đổi E12C thành ký hiệu nhị phân như @Tony Tannous, nhưng tôi sẽ áp dụng một chút cắt ngắn.
Tôi chỉ cần sử dụng tỷ lệ. Vâng, địa chỉ được ghi trong 4 ký tự ở trên, và kể từ 16/4 = 4, tôi có thể xác định chữ cái đầu tiên là địa chỉ ảo, trong khi địa chỉ kia là địa chỉ offset.
Với thông tin 'E' ở định dạng thập lục phân, tôi cần chuyển đổi thành Thập phân = 14. Sau đó, tôi xem bảng của bạn được cung cấp và tôi tìm thấy khung trang '3'. Khung trang 3 được ghi ở định dạng thập phân, sau đó cần được chuyển đổi về định dạng thập lục phân ... Duh! ... là 3!
Vì vậy, ánh xạ địa chỉ vật lý của vị trí bộ nhớ ảo của 0xE12C có thể được tìm thấy tại 0x312C trên bộ nhớ vật lý.
Sau đó bạn sẽ quay trở lại để bàn, và tham khảo các tài liệu tham khảo cột bit và đặt một '1' vào hàng 14.
Áp dụng các khái niệm tương tự cho những -
0x3A9D → 0xAA9D
0xA9D9 → 0x59D9
0x7001 → 0xF001
0xACA1 → 0x5CA1
Nếu bạn nhận thấy, 3 chữ số cuối cùng giống nhau (xác định độ lệch). Và 1 của 4 chữ số được ánh xạ theo bảng:
table entry 3 -> page frame 10 -> hex notation A
table entry A (10) -> page frame 5 -> hex notation 5
table entry 7 -> page frame 15 -> hex notation F
table entry A (10) -> page frame 5 -> hex notation 5
Hope lời giải thích này sẽ giúp bạn và những người khác như tôi! :)