2 Dang Minh Quan: Institute of IT for Economics-NEU, 2011 Bộ nhớ - lớn, nhanh, rẻ • Giải pháp – Làm cho bộ nhớ kích thước nhỏ có vẻ lớn Nhưng không làm chúng chậm đi quá nhiều -> Bộ nhớ
Trang 1Kiến trúc máy tính
Chương 5.3: Bộ nhớ ảo
Trang 22 Dang Minh Quan: Institute of IT for Economics-NEU, 2011
Bộ nhớ - lớn, nhanh, rẻ
• Giải pháp
– Làm cho bộ nhớ kích thước nhỏ có vẻ lớn (Nhưng không làm chúng chậm đi quá nhiều) ->
Bộ nhớ ảo – Làm bộ nhớ tốc độ thấp có vẻ nhanh lên (Nhưng không làm chúng bé lại) -> bộ nhớ đệm
Trang 3Giải pháp bộ nhớ
• Sử dụng phân tầng
Trang 44 Dang Minh Quan: Institute of IT for Economics-NEU, 2011
Phân tầng bộ nhớ
• Phân tầng bộ nhớ hiện đại
Trang 5Tiến trình/Bộ nhớ ảo
• Máy tính chạy nhiều tiến trình cùng lúc
• Mỗi tiến trình có không gian địa chỉ đầy đủ
• Các tiến trình cùng chia sẻ bộ nhớ vật lý
• Các tiến trình có thể ở bất kỳ đâu trong bộ nhớ
• Tiến trình sử dụng địa chỉ bộ nhớ ảo
• Địa chỉ ảo được phiên dịch ra địa vật lý
• Chuyển đổi hoan toàn trong suốt với tiến
trình, ít ảnh hưởng đến hiệu năng
Trang 66 Dang Minh Quan: Institute of IT for Economics-NEU, 2011
Không gian địa chỉ của tiến trình
Trang 7Tại sao dùng bộ nhớ ảo
• Không gian địa chỉ
lớn
• Nhiều tiến trình cùng
chia sẻ bộ nhớ vật lý
• Bảo vệ bộ nhớ
• Di cư vung nhớ
Trang 88 Dang Minh Quan: Institute of IT for Economics-NEU, 2011
Bộ nhớ ảo – Khái niệm
Trang 9Bộ nhớ ảo – Khái niệm
• Không gian địa chỉ ảo được chia thành các trang
• Không gian địa chỉ vật lý được chia thành
các khung trang
• Lỡ được gọi là lỗi trang
• Trang không có trong bộ nhớ chính được lưu trữ trên đĩa cứng
• CPU sử dụng địa chỉ ảo
• Chúng ta cần có cơ chế phiên dịch địa chỉ
Trang 1010 Dang Minh Quan: Institute of IT for Economics-NEU, 2011
Các tham số bộ nhớ ảo
• Thay thế khối trong cache được thực hiện bởi phần cứng
• Thay thế khối trong bộ nhớ ảo được thực
hiện bởi phần mềm
• Kích thước bộ nhớ ảo được quy định bởi số bit địa chỉ
• Lưu trữ các trang trên đĩa cứng giống như
các file
Trang 11Các tham số bộ nhớ ảo
Trang 1212 Dang Minh Quan: Institute of IT for Economics-NEU, 2011
4 câu hỏi với phân tầng bộ nhớ
• Q1: khối nhớ có thể được
đặt ở đâu tại tầng trên?
• Q2: Làm cách nào để tìm
khối nhớ tại tầng trên?
• Q3: Khối nhớ nào nên bị
thay thế khi có lỡ?
• Q4: Phương thức ghi bộ
nhớ là gì?
Trang 13Bộ nhớ ảo: Vị trí đặt trang
• Do miss penalty cao nên
– Cần giảm tỷ lệ lỡ – Cần có giải pháp phần mềm để thực hiện liên kết đầy đủ
Trang 1414 Dang Minh Quan: Institute of IT for Economics-NEU, 2011
Bộ nhớ ảo: Định vị trang
• Sử dụng bảng trang được lưu trong bộ nhớ chính
Trang 15Truy cập bộ nhớ ảo
• CPU phát hành địa chỉ bộ nhớ ảo
• Địa chỉ bao gồm trang, offset
• Vào bảng trang (trong bộ nhớ) để tìm trang vật lý tương ứng
• Ghép địa chỉ trang và offset để có địa chỉ vật lý
• Đến địa chỉ vật lý để đọc/ghi bộ nhớ
Trang 1616 Dang Minh Quan: Institute of IT for Economics-NEU, 2011
Bộ nhớ ảo: Thay thể trang
• Cần giảm tối đa số trang lỗi
• Thực hiện bằng phần mềm
• Thuật toán thay thế trang:
– FIFO – LRU
Trang 17Bộ nhớ ảo: Phương thức ghi
• Ghi luôn hay ghi sau?
• Chỉ có thể là ghi sau
• Ghi luôn là không thể do
– thời gian truy cập đĩa quá dài – bộ đệm ghi phải rất lớn
– hệ thống I/O phải có băng thông rất cao