✨Đơn vị quản lý bộ nhớ

Đơn vị quản lý bộ nhớ

Đơn vị quản lý bộ nhớ (MMU), hay còn gọi là trang quản lý bộ nhớ (PMMU) là một thiết bị phần cứng chứa tất cả những tham chiếu của bộ nhớ đã đi qua nó hỗ trợ việc ánh xạ từ địa chỉ bộ nhớ ảo ra địa chỉ bộ nhớ vật lý. Bộ phận này thường được tích hợp vào CPU, nhưng đôi lúc nó cũng có thể là một mạch tích hợp riêng biệt.

Đơn vị quản lý bộ nhớ là một cách  thực hiện quản lý bộ nhớ ảo rất hiệu quả. Nó xử lý tại cùng lúc  với việc bảo vệ bộ nhớ, quản lý bộ nhớ đệm, bộ điều khiển xung, và trong kiến trúc máy tính đơn giản (đặc biệt là hệ thống 8-bit), là việc chuyển khối.

Tổng quan

Những đơn vị quản lý bộ nhớ hiện đại thường phân chia không gian cho địa chỉ ảo (khu vực địa chỉ ô nhớ được sử dụng bởi bộ vi xử lý) vào các trang mà mỗi trang có kích thước là lũy thừa của 2, thường là một vài kilobyte, nhưng cũng có thể lớn hơn rất nhiều. Khu vực dưới của địa chỉ thường không đổi còn khu vực trên là những số trang ảo.

Page Table Entries (PTEs)

Đa số đơn vị quản lý bộ nhớ (MMU) sử dụng một bảng của các "mục" trong bộ nhớ (in-memory table ?) được gọi là "bảng trang", chứa mỗi "page table entry" mỗi bảng, để ánh xạ từ trang ảo tới trang thực trong bộ nhớ chính. Một bộ nhớ đệm liên kết của PTEs được gọi là translation lookaside buffer (TLB) và được sử dụng để tránh sự cần thiết truy cập bộ nhớ chính mỗi lần địa chỉ ảo được ánh xạ. Một số đơn vị quản lý bộ nhớ khác có thế có mảng riêng tư của bộ nhớ hoặc những thanh ghi giữ những cặp PTEs. "Số trang thực" (Physical Page Number) ghép với "trang bù thêm" (Page Offset) được địa chỉ thực (Physical address) hoàn chỉnh.

Một PTE có thể bao gồm thông tin khi nào trang đã được viết (dirty bit), lần cuối được sử dụng (Least Recently Used (LRU) ), loại tiến trình được viết hay đọc, và khi nào nó được "cached".

Thỉnh thoảng, một PTE ngăn cản truy cập vào trang ảo, bởi vì không có RAM thực (physical RAM ?) được cấp phép vào trang ảo đó. Trong trường hợp này đơn vị quản lý bộ nhớ gửi tính hiệu "Page fault" tới  bộ vi xử lý trung tâm (CPU). Sau đó hệ điều hành (OS) xử lý tình huống bằng cách tìm một "khung thay thế" (spare frame) của RAM và cài đặt một PTE mới ánh xạ tới địa chỉ ảo được yêu cầu. Nếu như RAM không còn dư, thì cần thiết để chọn một trang đang tồn tại (được biết tới là "nạn nhân" (victim)), sử dụng một số thuật toán thay thế, và lưu nó trong "disk" (tiến trình này được gọi là "paging"). Với một số đơn vị quản ly bộ nhớ có thể xảy ra tình trạng thiếu hụt PTEs, trong trường hợp này hệ điều hành phải giải phóng một để tạo nên một ánh xạ mới.

Một đơn vị quản lý bộ nhớ có thể gây ra lỗi truy cập điều kiện không hợp lý (illegal access error conditions) hoặc "Page fault" không tồn tại bởi vì truy cập địa chỉ sai hoặc không tồn tại, tương ứng dẫn đến một số lỗi liên quan đến bộ nhớ như segmentation fault hoặc bus error bởi hệ điều hành.

Lợi ích

Trong nhiều trường hợp, không tìm thấy trang nhớ có thể gây ra lỗi phầm mềm. Điều này có thể được ngăn chặn bằng các sử dụng khả năng bạo vệ bộ nhớ, vốn là một lợi ích của đơn vị quản lý bộ nhớ: hệ điều hành có thể dùng MMU để chống lại các phần mềm độc hại bằng cách không cho các phần mềm này sử dụng các vùng nhớ mà đáng lý ra nó không được đụng tới.

MMU cũng được dùng để phân vùng bộ nhớ. Sau khi được cho mược hoặc trả lại, các vùng của bộ nhớ có thể bị chia cắt sao cho các vùng nhớ lớn và liên tục có thể bị ép lại nhỏ hơndung lượng của chúng. Với bộ nhớ ảo, một chuỗi dữ liệu liên tục có thể được tách ra thành nhiều chuỗi dữ liệu không liên tục trong bộ nhớ vật lý.

Một số ví dụ

IA-32/x86

Các kiến trúc x86 đã phát triển qua một thời gian rất dài, trong khi phải duy trì khả năng tương thích phần mềm đầy đủ, thậm chí với những bộ mã hệ điều hành khác nhau. Cùng với đó, đơn vị quản lý bộ nhớ trở nên vô cùng phức tạp, với nhiều chế độ hoạt động khác nhau. Cơ chế hoạt động của bộ xử lý 80386(một trong những bộ xử lý đầu tiên sở hữu kiến trúc x86) và những cải tiến của nó được mô tả trong phần này.

Bộ xử lý chia bộ nhớ thành các trang gồm 4KB dữ liệu. Các thanh ghi phân đoạn, được dựa trên các thiết kế bộ quản lý bộ nhớ của các bộ xử lý cũ 8088 và 80286 của Intel, không còn được sử dụng trong các hệ điều hành hiện đại, nhưng với một ngoại lệ: truy cập vào các luồng dữ liệu cho các ứng dụng máy tính và các dữ liệu đặc biệt của bộ xử lý trung tâm cho nhân(kernel) hệ điều hành, việc mà các thanh ghi phân đoạn FS và GS làm rất tốt. Mọi hoạt động truy cập bộ nhớ được thực hiện bởi một thanh ghi do mã đang thực thi quyết định. Các thanh ghi phân đoạn đại diện của một bảng dữ liệu, bảng dữ liệu này cung cấp một khoảng trống để cộng vào trong các địa chỉ bộ nhớ ảo. Trừ khi sử dụng các FS và GS, hệ điều hành sẽ ngầm hiểu phần khoảng trống này có giá trị là 0.

Sau khi được thêm vào khoảng trống, mỗi giá trị bộ nhớ không dài quá 32bits. Kết quả của việc này có thể được mô tả như một bảng dạng cây, với địa chỉ được chia làm 3 phần: 10 bits mô tả nhánh nào trong cây, 10 bits mô tả địa chỉ ở lá nào của nhánh và 12 bits còn lại được sao chép vào kết quả. Với một số hệ điều hành thuộc họ Unix như OpenBSD hoặc Linux thì có thể giới hạn độ dài của các đoạn mã này một cách riêng biệt do các thanh ghi phân mảnh CS quyết định, để tránh việc cho phép thực thi một đoạn mã “lạ” nằm trong phần bộ nhớ có thể chỉnh sửa.

Một số hiệu chỉnh nhỏ trong bộ quản lý bộ nhớ được giới thiệu với các bộ vi xử lý nổi tiếng của Intel là Pentium cho phép một trang nhớ rất lớn lên tới 4MB so với trước kia là 4KB bằng cách bỏ qua các cấp thấp của mô hình cây.

Với bộ vi xử lý mới Pentium Pro, Intel tiếp tục cải tiến bộ quản lý bộ nhớ với tính năng mở rộng địa chỉ vật lý. Thay vì 32bits như trước đây, ta có thể mở rộng các địa chỉ lên tới 36bits thông qua một bảng gồm 3 tầng: với 9 + 9 + 2 bits cho 3 tầng và vẫn là 12bits cho kết quả, một trang lớn với dung lượng 2MB. Ngoài ra các bảng cho phép tối ưu hóa khả năng đưa vào bộ nhớ đệm bằng cách tìm kiếm trên một vùng nhớ nhỏ trên bộ vi xử lý.

x86-64

x86-64 là một phần mở rộng 64-bit của x86 mà gần như hoàn toàn loại bỏ các thanh ghi đoạn có lợi cho các mô hình bộ nhớ phẳng được sử dụng bởi hầu như tất cả các hệ điều hành cho x86 hoặc vi xử lý mới hơn. Trong Long Mode, tất cả offset thanh ghi đoạn được bỏ qua, trừ các thanh ghi đoạn FS và GS. Khi được sử dụng với 4KB trang nhớ, bảng cây trang nhớ có bốn cấp độ thay vì ba.

Các địa chỉ ảo được phân chia như sau: 16 bit không sử dụng, 9 bit cho mỗi bốn cấp cây (tổng cộng là 36 bit), và 12 bit thấp nhất sao chép trực tiếp đến kết quả. Với 2MB trang nhớ, chỉ có ba cấp độ của bảng trang nhớ, với tổng số 27 bit được sử dụng trong phân trang nhớ và 21 bit của offset. Một số CPU mới hơn cũng hỗ trợ một 1 GB trang nhớ với hai mức độ phân trang và 30 bit của offset. CPUID có thể được sử dụng để xác định xem 1GB trang nhớ được hỗ trợ. Trong cả ba trường hợp, 16 bit cao nhất phải có bằng với bit thứ 48, hay nói cách khác, 48 bit thấp là dấu hiệu mở rộng đến các bit cao hơn. Điều này được thực hiện để cho phép mở rộng của các phạm vi địa chỉ trong tương lai mà không ảnh hưởng tới tính tương thích ngược. Trong tất cả các cấp của bảng trang nhớ, mục bảng trang nhớ bao gồm 1bit không thực thi.

Điểm lợi của vi xử lý 64-bit

  • Với phép tính dài, bạn sẽ thực hiện nhanh gấp đôi như ví dụ phép tính 12 + 34 ở trên.
  • CPU sẽ có thể truy cập được nhiều địa chỉ trên RAM hơn. Điều này đã tỏ ra hữu ích trong bối cảnh máy tính giờ đây đã có nhiều model sử dụng 6GB, thậm chí là 8GB và 16GB RAM. Trong thời gian tới, thiết bị di động rồi cũng sẽ được trang bị RAM trên 4GB và đó là lúc vi xử lý 64-bit trở thành điều bắt buộc.
  • Ngoài tra, tranh thủ việc thay đổi kiến trúc lên 64-bit, số lượng register và số lượng câu lệnh chỉ dẫn (instructions) cũng được tăng lên. Về số lượng thanh ghi thì như ví dụ ở trên, nếu bạn chỉ có 3 thanh ghi, sau khi thực hiện câu lệnh xong thì bạn sẽ phải xoá dữ liệu trên thanh ghi đó để có thể tiếp tục thực hiện phép tính khác. Nếu sau đó bạn có phép tính gì đến biến c chẳng hạn bạn sẽ phải lại gọi bus chở dữ liệu lại cho bạn, mất thời gian hơn. Còn nếu có nhiều thanh ghi, bạn cứ để tạm những cái biến kia ở đó để sau này dùng lại cũng được.
  • Lợi ích của việc tăng số lượng câu lệnh: ví dụ như chip của bạn chỉ có câu lệnh thực hiện phép cộng. Khi đó bốn phép tính 3+3+3+3 bạn sẽ phải chạy câu lệnh (+) 3 lần. Nếu máy tính của bạn có câu lệnh nhân, bạn chỉ cần chạy 1 lệnh 3x4 là xong. (Tuy nhiên, bản thân chip di động đã là giản lược rất nhiều câu lệnh so với chip máy tính. Nên dù tăng thêm số câu lệnh, độ dài câu lệnh vẫn ko thay đổi, vẫn là 32 bit.)

Thể loại:Quản lý bộ nhớ

👁️ 1 | 🔗 | 💖 | ✨ | 🌍 | ⌚
**Đơn vị quản lý bộ nhớ (MMU)**, hay còn gọi là **trang quản lý bộ nhớ (PMMU)** là một thiết bị phần cứng chứa tất cả những tham chiếu của bộ nhớ đã đi qua
**Quản lý bộ nhớ** (tiếng Anh: _memory management_) là việc điều hành bộ nhớ máy tính ở cấp bậc hệ thống. Mục đích quan trọng của việc quản lý bộ nhớ là cung cấp những
Chương trình máy tính tưởng rằng nó có một dải dài các địa chỉ liên tục trong bộ nhớ; nhưng trong thực tế một số phần đang được sử dụng nằm rải rác trong [[RAM,
nhỏ|300x300px|Trong máy tính sử dụng [[bộ nhớ ảo, việc truy cập vị trí tương ứng với một địa chỉ bộ nhớ có thể bao gồm nhiều tầng.]] Trong máy tính, **địa chỉ bộ nhớ** là
Mô hình Von Neumman Hầu hết máy tính được xây dựng sử dụng mô hình Von Neumann, với trung tâm là bộ nhớ. Chương trình thực thi quá trình được lưu trong bộ nhớ. Chúng
Đồng tiền cuối cùng của triều đại phong kiến Việt Nam với bốn chữ "Bảo Đại Thông Bảo" (保大通寶)
Bảo Đại (1925-1945); mặt kia ghi "thập văn" tức mệnh giá 10 đồng **Đồng** ( ; chữ
nhỏ|Một chiến sĩ [[Quân Giải phóng miền Nam Việt Nam đang đứng dưới cờ của Mặt trận Dân tộc Giải phóng Miền Nam Việt Nam, tay cầm khẩu AK47.]] **Quân Giải phóng miền Nam Việt
**CPU cache** là bộ nhớ được dùng bởi bộ xử lý trung tâm của máy tính nhằm giảm thời gian truy cập dữ liệu trung bình từ bộ nhớ chính. Cache là một bộ nhớ
**Lục quân Hoa Kỳ** là một quân chủng của Quân đội Hoa Kỳ có trách nhiệm với các chiến dịch quân sự trên bộ. Đây là một trong những quân chủng lâu đời và lớn
**Quản lý thời gian** là quá trình kế hoạch và thực hành việc kiểm soát một cách có ý thức một đơn vị thời gian dùng trong một hoặc một chuỗi các hoạt động cụ
**Cục Quản lý và Xây dựng công trình hủy lợi** là cơ quan trực thuộc Bộ Nông nghiệp và Môi trường, thực hiện chức năng tham mưu, giúp Bộ trưởng Bộ Nông nghiệp và Môi
**Biệt động quân Việt Nam Cộng hòa** (Tiếng Anh: _Vietnamese Rangers Corp_, **VNRC**) là đơn vị bộ binh cơ động của Quân lực Việt Nam Cộng hòa, đồng thời là lực lượng tổng trừ bị
**Cấp huyện** là cấp hành chính thứ hai từng tồn tại tại Việt Nam, dưới cấp tỉnh và trên cấp xã. Cấp hành chính này đã bị bãi bỏ vào ngày 16 tháng 6 năm
phải|nhỏ|Phụ kiện phòng tắm ở Wal * Mart
**Quản lý danh mục** là khái niệm bán lẻ và mua hàng, trong đó phạm vi sản phẩm được mua bởi một tổ chức kinh doanh
**Đơn vị thiên văn** (ký hiệu: au) là một đơn vị đo chiều dài, xấp xỉ bằng khoảng cách từ Trái Đất đến Mặt Trời. Tuy nhiên, bởi vì khoảng cách này thay đổi khi
phải|nhỏ|Thùng rác xanh tại [[Berkshire, Anh]] **Quản lý chất thải** (tiếng Anh: _Waste management_) là việc thu gom, vận chuyển, xử lý, tái chế, loại bỏ hay thẩm tra các vật liệu chất thải. Quản
**Lục quân** (, ) là thành phần lực lượng trên bộ của _Wehrmacht_, lực lượng vũ trang chính quy của Đức, từ năm 1935 cho đến khi bị tan rã vào năm 1945 và sau
**Sư đoàn 23 Bộ binh** là một trong 2 đơn vị chủ lực trực thuộc Quân đoàn II và Quân khu 2 của Quân lực Việt Nam Cộng hòa. Đây là đơn vị đầu tiên
**Bộ chỉ huy Viện trợ Quân sự Hoa Kỳ tại Việt Nam** (tiếng Anh: _The US Military Assistance Command, Vietnam_), viết tắt là **MACV**, đọc theo âm tiếng Việt là **Mắc-vi**) là cơ quan chỉ
**Quản lý thay đổi **(thường được viết tắt là **CM**) là thuật ngữ được lựa chọn để chỉ tất cả các phương pháp chuẩn bị và hỗ trợ các cá nhân, nhóm và các tổ
**Quản lý nhu cầu** là một phương pháp lập kế hoạch được sử dụng để dự báo, lập kế hoạch và quản lý nhu cầu về sản phẩm và dịch vụ. Điều này có thể
thumb|[[De facto đơn vị hành chính Đức Quốc xã năm 1944.]] thumb|[[De jure đơn vị hành chính Đức Quốc xã năm 1944.]] thumb|_[[Bang Cộng hòa Weimar|Länder_ (bang) Weimar Đức, 1919–1937.]] thumb|Bản đồ đơn vị hành
**Bộ Tuyên truyền Ủy ban Trung ương Đảng Cộng sản Trung Quốc** (tiếng Trung: 中国共产党中央委员会宣传部, bính âm Hán ngữ: _Zhōngguó gòngchǎndǎng zhōngyāng wěiyuánhuì Xuānchuán bù,_ từ Hán - Việt: _Trung Quốc Cộng sản Đảng Trung
**Quân đội Quốc gia Việt Nam** (tiếng Pháp: _Armée Nationale Vietnamienne_, **ANV**) là lực lượng vũ trang của Quốc gia Việt Nam, là một phần của Quân đội Liên hiệp Pháp, được sự bảo trợ
**Quản lý tài nguyên thiên nhiên** là việc quản lý các nguồn lực tự nhiên như đất,nước, thực vật, động vật và tập trung chủ yếu về các tác động đến chất lượng cuộc sống
Thủ đô Bắc Kinh, Trung Quốc được chia ra thành các đơn vị hành chính sau: * 16 đơn vị cấp huyện ** 6 khu (quận) nội thành ** 6 khu (quận) ngoại thành **
**Đồng** (Mã giao dịch quốc tế: **VND**, ký hiệu: **₫** hoặc **đ**) là đơn vị tiền tệ của Việt Nam, do Ngân hàng Nhà nước Việt Nam phát hành. Theo luật pháp hiện hành của
Một **chương trình quản lý cửa sổ X** (tiếng Anh: _X window manager_) là một phần mềm điều khiển sự bố trí và ngoại hình của các cửa sổ trong hệ thống X Window, một
**Bộ nhớ chỉ đọc (ROM)** là một loại bộ nhớ không thay đổi được sử dụng trong máy tính và các thiết bị điện tử khác. Dữ liệu được lưu trữ trong ROM không thể
**Hệ thống quản lý lực lượng bán hàng **(cũng là **hệ thống tự động hóa lực lượng bán hàng**) là hệ thống thông tin được sử dụng trong quản lý vàtiếp thị quản lý quan
phải|không_khung|400x400px| Biểu đồ chỉ số sản xuất ISM **Viện Quản lý cung ứng** (**ISM**) là hiệp hội quản lý cung ứng lâu đời nhất và lớn nhất trên thế giới. Được thành lập vào năm
Trong thương mại, **quản lý chuỗi cung ứng toàn cầu** (GSCM) được định nghĩa là phân phối hàng hóa và dịch vụ trên toàn mạng lưới toàn cầu của các công ty xuyên quốc gia
nhỏ|400x400px| Quản lý chuỗi nhu cầu nhằm mục đích quản lý các mạng lưới cung và cầu phức tạp và năng động. (x. Wieland / Wallenburg, 2011) **Quản lý chuỗi nhu cầu** (**DCM**) là quản
**Tập đoàn quân binh chủng hợp thành Cận vệ số 58** (Nga: _58-я гвардейская общевойсковая ордена Суворова армия_) là một đơn vị quân sự chiến lược cấp tập đoàn quân của Lục quân Nga, thuộc
**Vi xử lý** (**tiếng Anh** là microprocessor hay microprocessor unit, viết tắt là **µP** hay **uP**), đôi khi còn được gọi là **bộ vi xử lý**, là một linh kiện điện tử được chế tạo
**Quân khu 7** trực thuộc Bộ Quốc phòng Việt Nam là một trong 7 quân khu của Quân đội nhân dân Việt Nam hiện nay có nhiệm vụ tổ chức, xây dựng, quản lý và
**Quản lý chất lượng** là các hoạt động có phối hợp để định hướng và kiểm soát một tổ chức về chất lượng. Việc định hướng và kiểm soát về chất lượng nói chung bao
**Quản lý tác vụ** là quá trình quản lý một nhiệm vụ thông qua vòng đời của nó. Nó bao gồm lập kế hoạch, thử nghiệm, theo dõi, và báo cáo. Quản lý công việc
**Sư đoàn 1 Bộ Binh**, là một trong 3 đơn vị chủ lực thuộc Quân đoàn I và Quân khu 1 của Quân Lực Việt Nam Cộng hòa, được thành lập năm 1955 và tan
**Hệ thống quản lý kho** (tiếng Anh: **warehouse management system - WMS**) là một phần mềm ứng dụng được thiết kế để hỗ trợ việc quản lý kho hàng của doanh nghiệp nhằm thực hiện
**Quân đoàn cơ giới hóa** là hình thức tổ chức đội hình tác chiến được Liên Xô sử dụng trước và trong Chiến tranh thế giới thứ hai. ## Giai đoạn đầu phát triển Ở
**Quân cảnh** (1959 - 1975) là một Binh chủng trực thuộc Bộ Tổng Tham mưu của Quân lực Việt Nam Cộng hòa. Binh chủng này được thành lập để thừa hành và thực thi quân
nhỏ|Frederick Taylor 1856-1915 **Quản lý theo khoa học** (còn được gọi là Chủ nghĩa Taylor– Taylorism, Luật phối hợp cổ điển - Classical Perspective) là lý thuyết quản lý dựa trên quá trình phân tích,
là một đơn vị nghiên cứu và phát triển vũ khí hóa-sinh của Quân đội Hoàng gia Nhật Bản, đơn vị này đã tiến hành nhiều thí nghiệm nguy hiểm trên cơ thể người trong
**Chiến khu Bắc bộ** là đơn vị cấp **Bộ Tư lệnh tác chiến Vùng** (tương đương cấp Bộ) trực thuộc Quân ủy Trung ương Trung Quốc có nhiệm vụ triển khai chỉ huy tác chiến
phải|nhỏ|200x200px|Bộ xử lý Intel Di động P8400 2,26 GHz/3MB/1066 AW80577SH0513M Penryn-3M SLB3R. **Peryn** là tên mã của một bộ vi xử lý Intel được bán với các cấu hình như Core 2 Solo, Core 2
**Tư vấn quản trị** hay **tư vấn chiến lược** (tiếng Anh: _management consulting_) là hoạt động cung cấp dịch vụ tư vấn cho các tổ chức để cải thiện hiệu suất hoạt động hoặc đạt
**Sải** (tiếng Anh: **_fathom_**, viết tắt **ftm**) là đơn vị đo thường được dùng để đo độ sâu của nước, được sử dụng trong hệ thống đơn vị đế quốc và hệ thống đơn vị
**Chiến khu Tây bộ** là đơn vị cấp **Bộ Tư lệnh tác chiến Vùng** (tương đương cấp Bộ) trực thuộc Quân ủy Trung ương Trung Quốc có nhiệm vụ triển khai chỉ huy tác chiến
**Chiến khu Đông bộ** là đơn vị cấp **Bộ Tư lệnh tác chiến Vùng** (tương đương cấp Bộ) trực thuộc Quân ủy Trung ương Trung Quốc có nhiệm vụ triển khai chỉ huy tác chiến