Kiến trúc máy tính
Chương 5.3: Bộ nhớ ảo
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
1
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
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
2
Giải pháp bộ nhớ
• Sử dụng phân tầng
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
3
Phân tầng bộ nhớ
• Phân tầng bộ nhớ hiện đại
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
4
Tiế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
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
5
Không gian địa chỉ của tiến trình
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
6
Tạ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ớ
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
7
Bộ nhớ ảo – Khái niệm
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
8
Bộ 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ỉ
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
9
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
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
10
Các tham số bộ nhớ ảo
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
11
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ì?
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
12
Bộ 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 đủ
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
13
Bộ nhớ ảo: Định vị trang
• Sử dụng bảng trang được lưu trong bộ nhớ
chính
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
14
Truy 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ớ
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
15
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
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
16
Bộ 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
Dang Minh Quan: Institute of IT for Economics-NEU, 2011
17