Bài giảng Kiến trúc máy tính & Hợp ngữ - Bài 5: Tổ chức bộ nhớ (Phần 1)

Khái quát

 Khi độ dài chương trình > dung lượng bộ nhớ, dùng kỹ

thuật overlay (với bộ nhớ phụ). Phải QL quá trình overlay.

 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ừ).

 Nhiệm vụ:

 Phân chia không gian bộ nhớ:

 Khi độ dài của chương trình vượt quá giới hạn dung

lượng bộ nhớ

 Cho phép thực hiện cùng lúc nhiều tiến trình (process)

(đa nhiệm), mỗi tiến trình có không gian định vị riêng.

 Bảo vệ và quản lý tự động các cấp bộ nhớ:

 cơ chế tái định vị địa chỉ (address relocation).

Bài giảng Kiến trúc máy tính & Hợp ngữ - Bài 5: Tổ chức bộ nhớ (Phần 1) trang 1

Trang 1

Bài giảng Kiến trúc máy tính & Hợp ngữ - Bài 5: Tổ chức bộ nhớ (Phần 1) trang 2

Trang 2

Bài giảng Kiến trúc máy tính & Hợp ngữ - Bài 5: Tổ chức bộ nhớ (Phần 1) trang 3

Trang 3

Bài giảng Kiến trúc máy tính & Hợp ngữ - Bài 5: Tổ chức bộ nhớ (Phần 1) trang 4

Trang 4

Bài giảng Kiến trúc máy tính & Hợp ngữ - Bài 5: Tổ chức bộ nhớ (Phần 1) trang 5

Trang 5

Bài giảng Kiến trúc máy tính & Hợp ngữ - Bài 5: Tổ chức bộ nhớ (Phần 1) trang 6

Trang 6

Bài giảng Kiến trúc máy tính & Hợp ngữ - Bài 5: Tổ chức bộ nhớ (Phần 1) trang 7

Trang 7

Bài giảng Kiến trúc máy tính & Hợp ngữ - Bài 5: Tổ chức bộ nhớ (Phần 1) trang 8

Trang 8

pdf 8 trang xuanhieu 5360
Bạn đang xem tài liệu "Bài giảng Kiến trúc máy tính & Hợp ngữ - Bài 5: Tổ chức bộ nhớ (Phần 1)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Kiến trúc máy tính & Hợp ngữ - Bài 5: Tổ chức bộ nhớ (Phần 1)

Bài giảng Kiến trúc máy tính & Hợp ngữ - Bài 5: Tổ chức bộ nhớ (Phần 1)
 26/11/2017
 Bài 5
 Tổ chức bộ nhớ
 PHẦN BỘ NHỚ ẢO
 (Virtual Memory)
 Nguyên lý vận hành của bộ nhớ ảo
Khái quát
  Khi độ dài chương trình > dung lượng bộ nhớ, dùng kỹ 
 thuật overlay (với bộ nhớ phụ). Phải QL quá trình overlay.
  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ừ).
 Nhiệm vụ:
  Phân chia không gian bộ nhớ:
  Khi độ dài của chương trình vượt quá giới hạn dung 
 lượng bộ nhớ
  Cho phép thực hiện cùng lúc nhiều tiến trình (process) 
 (đa nhiệm), mỗi tiến trình có không gian định vị riêng.
  Bảo vệ và quản lý tự động các cấp bộ nhớ:
  cơ chế tái định vị địa chỉ (address relocation).
 1
 26/11/2017
 Cơ chế phân trang bộ nhớ ảo:
  Phải có một bộ nhớ phụ (đĩa) để chứa toàn bộ chương trình
  Không gian địa chỉ ảo được chia làm các trang (page) có 
 kích thước bằng nhau.
  Không gian địa chỉ vật lý cũng chia làm các khung trang
 (page frame), cùng kích thước với trang.
  Quản lý bằng bảng trang (page table)
 ° Số đề mục bằng số trang ảo
 ° Present bit: = 1: nếu trang ảo tương ứng có trong bộ nhớ chính
 ° Địa chỉ chứa trang ảo trong bộ nhớ phụ
 ° Số khung trang nếu trang có trong bộ nhớ chính
 Bộ điều khiển cache
 Bộ
CPU Cache nhớ
 trong
 Hệ điều hành
 Bộ Bộ Bộ
CPU nhớ nhớ nhớ
 ảo trong ngoài
 2
 26/11/2017
 Kỹ thuật thiết kế: 2 kiểu
  Khối có dung lượng cố định gọi là trang
  Định vị trang xác định một địa chỉ trong trang, giống 
 như định vị trong cache. 
  Khối có chiều dài thay đổi gọi là đoạn 
  đị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. 
  Ít máy tính dùng định vị đoạn thuần tuý. Một vài máy 
 dùng cách hỗn hợp gọi là đoạn trang. Trong đó mỗi 
 đoạn chứa một số nguyên các trang.
  Câu hỏi 1: Sắp xếp khối (trang)
 Một khối được đặt tại đâu trong bộ nhớ trong?
  Việc trừng phạt bộ nhớ ảo khi có thất bại, tương ứng với 
 việc phải thâm nhập vào ổ đĩa, rất chậm nên người ta chọn 
 phương án hoàn toàn phối hợp
 Các khối (trang) có thể nằm ở bất kỳ vị trí nào trong bộ nhớ trong. 
 Cách này cho tỉ lệ thất bại thấp.
 3
 26/11/2017
 Câu hỏi 2: Nhận diện trang
 ° Làm thế nào để tìm một khối khi nó đang nằm trong bộ nhớ trong?
  Định vị trang, dựa vào bảng trang, địa chỉ trong bộ nhớ vật 
 lý được xác lập cuối cùng là việc đặt kề nhau số thứ của 
 trang vật lý với địa chỉ trong trang (hình IV.9). 
 Cấu tạo bảng trang
 ° Số đề mục bằng số trang ảo, mỗi đề mục gồm các vùng:
 ° Present bit: = 1: nếu trang ảo tương ứng có trong bộ nhớ chính
 ° Địa chỉ chứa trang ảo trong bộ nhớ phụ
 ° Số khung trang nếu trang có trong bộ nhớ chính
 Chuyển địa chỉ:
 ° Để tăng tốc việc chuyển địa chỉ, bảng trang chứa trong thanh ghi
 4
 26/11/2017
  Định vị đoạn, dựa vào thông tin trên bảng đoạn, việc kiểm tra 
 tính hợp lệ của địa chỉ được tiến hành. Địa chỉ vật cuối cùng 
 được xác lập bằng cách cộng địa chỉ đoạn và địa chỉ trong 
 đoạn (độ dời trong đoạn) (hình IV.10).
 Câu hỏi 3: Thay thế trang
 (Khối nào phải được thay thế khi có thất bại trang?) 
  Thay thế khối ít dùng gần đây nhất (LRU: Least Recent 
 Utilized)
 Câu hỏi 4: Chiến lược ghi
 (Việc gì xảy ra khi cần ghi số liệu? )
  Ghi lại 
 ° Thông tin chỉ được viết vào trong khối của bộ nhớ trong. 
 ° Với khối có thay đổi thông tin, sẽ được chép vào đĩa từ nếu khối 
 này bị thay thế.
 5
 26/11/2017
  Khác biệt khác giữa bộ nhớ cache và bộ nhớ ảo
  Định lượng
 Ý tưởng chính của cơ chế bộ nhớ ảo:
  Tách biệt không gian địa chỉ và bộ nhớ
 ° VD: trường địa chỉ 16 bit: 64KB với bộ nhớ 4KB
 ° (Không gian địa chỉ ảo và không gian địa chỉ vật lý)
  Định nghĩa 1 ánh xạ từ kh/gian địa chỉ vào các địa chỉ bộ nhớ thực
  Trong suốt với người lập trình
 ° VD: trường địa chỉ 13bit: 8KB với bộ nhớ 4KB
 6
 26/11/2017
 Khác biệt khác giữa bộ nhớ cache và bộ nhớ ảo
  Cơ chế
  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ảo vệ các tiến trình 
bằng cách dùng bộ nhớ ảo
  Sự xuất hiện của đa chương trình (multiprogram) dẫn tới các đòi 
 hỏi mới về việc bảo vệ và phân chia giữa các chương trình .
  Tiến trình (process): gồm có chương trình đang thực hiện và tất 
 cả các thông tin cần thiết để tiếp tục thực hiện chương trình này.
  Trong đa chương trình, bộ xử lý và bộ nhớ trong được nhiều 
 người sử dụng. Luôn có sự chuyển đổi từ một tiến trình này sang 
 một tiến trình khác.
  Một tiến trình phải vận hành đúng đắn
 Nhà thiết kế máy tính phải đảm bảo bộ xử lý có thể lưu giữ 
 trạng thái các tiến trình và phục hồi các trạng thái này
 Nhà thiết kế hệ điều hành phải đảm bảo các tiến trình không 
 ảnh hưởng lên nhau . Chia bộ nhớ trong cho các tiến trình và 
 trạng thái của mỗi tiến trình này hiện diện trong phần bộ nhớ 
 được chia cho nó. 
 7
 26/11/2017
 Các nhà thiết kế hệ điều hành phải được sự giúp sức của 
 các nhà chế tạo máy tính để bảo vệ một tiến trình không bị 
 ảnh hưởng bởi tiến trình khác. 
1. Cung cấp hai chế độ vận hành cho biết tiến trình đang thực 
 hiện là tiến trình của người sử dụng hay tiến trình hệ 
 thống (của người điều hành). 
2. Cung cấp một tập hợp con trạng thái của bộ xử lý mà tiến 
 trình người sử dụng có thể dùng nhưng không thể sửa đổi. 
3. Cung cấp các cơ chế để có thể chuyển đổi từ chế độ 
 người dùng sang chế độ người điều hành và ngược lại.
  Địa chỉ mà bộ xử lý đưa ra phải được biến đổi từ địa 
 chỉ ảo sang địa chỉ vật lý. 
 ° Điều này giúp phần cứng đi xa nữa trong việc bảo vệ các 
 tiến trình. Cách đơn giản nhất làm việc này là cho phép tiến 
 trình người sử dụng tác động lên các bit cho phép thâm 
 nhập vào mỗi trang hay mỗi đoạn. Khi bộ xử lý phát ra tín 
 hiệu đọc (hay viết) và tín hiệu người dùng (hay hệ thống) thì 
 rất dễ dàng phát hiện các việc thâm nhập trái phép bộ nhớ 
 trước khi việc thâm nhập này gây hư hại. 
 ° Các tiến trình được bảo vệ và có bảng trang riêng cho mình 
 trỏ đến các trang tách rời nhau trong bộ nhớ.
 8

File đính kèm:

  • pdfbai_giang_kien_truc_may_tinh_hop_ngu_bai_5_to_chuc_bo_nho_ph.pdf