<< Chapter < Page Chapter >> Page >
Địa chỉ Dãi 0 Địa chỉ Dãi 1 Địa chỉ Dãi 2 Địa chỉ Dãi 3
0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15

Hình IV.6: Bộ nhớ đan chéo bậc 4.

Dãi thứ i chứa tất cả các từ có địa chỉ thoả mãn công thức (địa chỉ) mod 4 = i

Bộ nhớ ảo

Bộ nhớ ảo xác định một cơ chế vận chuyển tự động số liệu giữa bộ nhớ trong và bộ nhớ ngoài (đĩa từ).

Trước đây, khi độ dài của chương trình vượt quá giới hạn dung lượng bộ nhớ thì người lập trình phải phân chia chương trình của mình thành từng phần tự loại bỏ nhau (overlays) và phải tự quản lý việc trao đổi thông tin giữa bộ nhớ và đĩa từ. Bộ nhớ ảo làm nhẹ trách nhiệm của các nhà lập trình bằng cách làm cho việc trao đổi thông tin này được thực hiện một cách tự động.

0A4KB8KC12KD16K20K24K28K32K............16M04KC8K12K16KA20K24KB28Kđịa chỉ ảođịa chỉ vật lýbộ nhớ ảobộ nhớ trongĐĩa cứngDTrong các bộ xử lý hiện đại, bộ nhớ ảo được dùng để cho phép thực hiện cùng lúc nhiều tiến trình (process), mỗi tiến trình có một không gian định vị riêng. Nếu tất cả các không gian định vị này đều thuộc không gian định vị bộ nhớ trong thì rất tốn kém. Bộ nhớ ảo bao gồm bộ nhớ trong và bộ nhớ ngoài được phân tích thành khối để có thể cung cấp cho mỗi chương trình một số khối cần thiết cho việc thực hiện chương trình đó. Hình IV.7 cho thấy một chương trình chứa trong bộ nhớ ảo gồm 4 khối, 3 trong 4 khối nằm ở bộ nhớ trong, khối thứ tư nằm trên đĩa.

D

Hình IV.7. Một chương trình gồm 4 trang A,B,C,D

trong đó trang D nằm trong ổ đĩa

Ngoài việc phân chia không gian bộ nhớ, cần bảo vệ và quản lý tự động các cấp bộ nhớ, bộ nhớ ảo đơn giản hoá việc nạp chương trình vào bộ nhớ để thi hành nhờ một cơ chế được gọi là sự tái định địa chỉ (address relocation). Cơ chế này cho phép một chương trình có thể được thi hành khi nó nằm ở bất cứ vị trí nào trong bộ nhớ.

Tham số Cache Bộ nhớ ảo
Chiều dài mỗi khối (trang) 16 - 128 byte 4096 - 65536 bytes
Thời gian thâm nhập thành công 1 - 2 xung nhịp 40 - 100 xung nhịp
Trừng phạt khi thất bại 8 - 100 xung nhịp 700.000 - 6 triệu xung
(Thời gian thâm nhập) 6 - 60 xung 500.000 - 4 triệu xung
(Di chuyển số liệu) 2 - 40 xung 200.000 - 2 triệu xung
Tỉ số thất bại 0,5% - 10% 0,00001% - 0,001%
Dung lượng 8 KB – 8MB 16 MB – 8GB

Bảng IV.3: Đại lượng điển hình cho bộ nhớ cache và bộ nhớ ảo.

So với bộ nhớ cache thì các tham số của bộ nhớ ảo tăng từ 10 đến 100.000 lần

Ngoài sự khác biệt định lượng mà ta thấy trong hình IV.9, có những khác biệt khác giữa bộ nhớ cache và bộ nhớ ảo là:

- Khi thất bại cache, sự thay thế một khối trong cache được điều khiển bằng phần cứng, trong khi sự thay thế trong bộ nhớ ảo là chủ yếu do hệ điều hành.

- Không gian định vị mà bộ xử lý quản lý là không gian định vị của bộ nhớ ảo, trong lúc đó thì dung lượng bộ nhớ cache không tuỳ thuộc vào không gian định vị bộ xử lý.

- Bộ nhớ ngoài còn được dùng để lưu trữ tập tin ngoài nhiệm vụ là hậu phương của bộ nhớ trong (trong các cấp bộ nhớ).

Bộ nhớ ảo cũng được thiết kế bằng nhiều kỹ thuật đặc thù cho chính nó.

Các hệ thống bộ nhớ ảo có thể được chia thành 2 loại: loại với khối có dung lượng cố định gọi là trang, và loại với khối có chiều dài thay đổi gọi là đoạn. Định vị trang xác định một địa chỉ trong trang, giống như định vị trong cache. Trong định vị đoạn cần 2 từ: một từ chứa số thứ tự đoạn và một từ chứa độ dời trong đoạn. Chương trình dịch gặp khó khăn nhiều hơn trong định vị đoạn.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Giáo trình kiến trúc máy tính. OpenStax CNX. Jul 30, 2009 Download for free at http://cnx.org/content/col10818/1.1
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Giáo trình kiến trúc máy tính' conversation and receive update notifications?

Ask