Jednotka pro správu paměti - Memory management unit

Tuto 68451 MMU lze použít s Motorola 68010

Jednotka pro správu paměti ( MMU ), někdy nazývaná jednotka pro správu stránkované paměti ( PMMU ), je počítačová hardwarová jednotka, která prochází všemi odkazy na paměť , primárně provádí překlad adres virtuální paměti na fyzické adresy .

MMU účinně provádí virtuální paměti řízení, manipulace zároveň ochrany paměti , vyrovnávací řízení, sběrnice arbitráže a v jednodušších počítačových architektur (zejména 8-bitové systémy), bankovní přepínání .

Přehled

Schéma fungování MMU

Moderní MMU obvykle rozdělují virtuální adresní prostor (rozsah adres používaných procesorem) na stránky , z nichž každá má velikost 2, obvykle několik kilobajtů , ale může být mnohem větší. Spodní bity adresy (ofset na stránce) zůstávají beze změny. Bity horní adresy jsou čísla virtuální stránky.

Záznamy v tabulce stránek

Většina MMU používá tabulku položek v paměti nazývanou „ tabulka stránek “, obsahující jeden „ záznam tabulky stránek “ (PTE) na stránku, k mapování čísel virtuálních stránek na čísla fyzických stránek v hlavní paměti. Asociativní mezipaměť PTE se nazývá překladová vyrovnávací paměť (TLB) a slouží k zamezení nutnosti přístupu do hlavní paměti pokaždé, když je namapována virtuální adresa. Jiné MMU mohou mít soukromé pole paměti nebo registry, které obsahují sadu položek tabulky stránek. Fyzické číslo stránky je zkombinováno s odsazením stránky, čímž se získá úplná fyzická adresa.

PTE může také obsahovat informace o tom, zda byla stránka zapsána („ špinavý bit “), kdy byla naposledy použita („přístupový bit“, algoritmus nahrazení stránky v poslední době (LRU) ), jaký druh procesy ( uživatelský režim nebo režim supervizora ) jej mohou číst a zapisovat a zda by měly být ukládány do mezipaměti .

Někdy PTE zakazuje přístup k virtuální stránce, možná proto, že k této virtuální stránce nebyla přidělena žádná fyzická paměť s náhodným přístupem (RAM). V tomto případě MMU signalizuje CPU chybu stránky . Operační systém (OS), pak zpracovává situaci, možná se snaží najít náhradní rámeček RAM a nastavit nový PTE mapovat ji do požadované virtuální adresu. Pokud není volná paměť RAM, může být nutné vybrat existující stránku (známou jako „oběť“) pomocí nějakého náhradního algoritmu a uložit ji na disk (proces nazývaný „ stránkování “). U některých MMU může být také nedostatek PTE, v takovém případě bude muset OS pro nové mapování jeden uvolnit.

MMU může také generovat neplatné podmínky chyby přístupu nebo neplatné chyby stránek při nezákonných nebo neexistujících přístupech do paměti, což vede k poruchám segmentace nebo chybám sběrnice, když jsou zpracovávány operačním systémem.

Výhody

VLSI VI475 MMU „Apple HMMU“
z počítače Macintosh II
používané s Motorola 68020

V některých případech může chyba stránky indikovat softwarovou chybu , které lze zabránit použitím ochrany paměti jako jedné z klíčových výhod MMU: operační systém ji může použít k ochraně před chybnými programy tím, že zamezí přístup k paměti konkrétního programu by k nim neměl mít přístup. Operační systém obvykle každému programu přiřadí vlastní virtuální adresní prostor.

MMU také zmírňuje problém fragmentace paměti. Poté, co byly bloky paměti přiděleny a uvolněny, může být volná paměť fragmentována (nesouvislá), takže největší souvislý blok volné paměti může být mnohem menší než celkové množství. S virtuální pamětí lze souvislý rozsah virtuálních adres mapovat na několik nesousedících bloků fyzické paměti; toto nesouvislé přidělení je jednou z výhod stránkování .

U některých raných návrhů mikroprocesorů byla správa paměti prováděna samostatným integrovaným obvodem , například VLSI Technology VI475 (1986), Motorola 68851 (1984) používaným s CPU Motorola 68020 v systému Macintosh II nebo Z8010 a Z8015 (1985) používá se s rodinou procesorů Zilog Z8000 . Pozdější mikroprocesory (jako Motorola 68030 a Zilog Z280 ) umístily MMU společně s CPU na stejný integrovaný obvod, stejně jako mikroprocesory Intel 80286 a novější x86 .

I když se tento článek zaměřuje na moderní MMU, běžně založené na stránkách, rané systémy používaly podobný koncept pro adresování na základě základního limitu, který se dále rozvinul do segmentace . Ty jsou příležitostně přítomny také v moderních architekturách. Architektura x86 poskytovala v 80286 segmentaci, nikoli stránkování, a poskytuje stránkování i segmentaci v procesorech 80386 a novějších (i když použití segmentace není v 64bitovém provozu k dispozici).

Příklady

Většina moderních systémů rozděluje paměť na stránky o velikosti 4–64 kB , často se schopností využívat takzvané velké stránky o velikosti 2 MB nebo 1 GB (často jsou možné obě varianty). Překlady stránek jsou ukládány do mezipaměti v TLB ( translation lookaside buffer ). Některé systémy, hlavně starší RISC , se dostanou do OS, když v TLB není nalezen překlad stránky. Většina systémů používá hardwarový chod stromu. Většina systémů umožňuje deaktivaci MMU, ale některé deaktivují MMU při zachycení do kódu OS.

VAX

Stránky VAX mají 512 bajtů, což je velmi málo. Operační systém může s více stránkami zacházet, jako by to byla jedna větší stránka. Například Linux na VAX seskupuje osm stránek dohromady. Systém je tedy považován za stránku se 4 kB . VAX rozděluje paměť do čtyř oblastí s pevným určením, každá o velikosti 1 GB . Oni jsou:

P0 mezera
Používá se pro univerzální paměť pro každý proces, například haldy.
Prostor P1
(Nebo řídicí prostor), který je také pro každý proces a obvykle se používá pro supervizory, manažery, jádra , uživatelské zásobníky a další řídicí struktury pro každý proces spravované operačním systémem.
Prostor S0
(Nebo systémový prostor), který je globální pro všechny procesy a ukládá kód a data operačního systému, ať stránkováno či nikoli, včetně stránkovatelných stránek.
Prostor S1
Který je nepoužitý a „vyhrazen pro Digital “.

Tabulky stránek jsou velká lineární pole. Normálně by to bylo velmi nehospodárné, kdyby byly adresy použity na obou koncích možného rozsahu, ale tabulka stránek pro aplikace je sama uložena v stránkované paměti jádra. Ve skutečnosti tedy existuje dvouúrovňový strom , který umožňuje aplikacím mít řídké rozvržení paměti, aniž by se plýtvalo spoustou místa na nepoužívaných položkách tabulky stránek. VAX MMU je pozoruhodný tím, že chybí přístupný bit . Operační systémy, které implementují stránkování, musí najít nějaký způsob, jak emulovat přístupový bit, pokud mají fungovat efektivně. Operační systém obvykle bude pravidelně mapovat stránky, aby bylo možné použít chyby stránky, které nejsou přítomny, a nechat OS nastavit přístupový bit.

PAŽE

Aplikační procesory založené na architektuře ARM implementují MMU definovanou architekturou systému virtuální paměti ARM. Současná architektura definuje PTE pro popis 4 kB a 64 kB stránek, 1 MB sekcí a 16 MB super sekcí; starší verze také definovaly malou stránku o velikosti 1 kB . ARM používá dvouúrovňovou tabulku stránek, pokud používá 4 kB a 64 kB stránky, nebo pouze jednoúrovňovou tabulku stránek pro sekce 1 MB a 16 MB .

Aktualizace TLB jsou prováděny automaticky hardwarem pro procházení tabulky stránek. PTE zahrnují oprávnění ke čtení/zápisu na základě oprávnění, informací o cacheability, bitu NX a nezabezpečeném bitu.

IBM System/360 Model 67, IBM System/370 a následníci

IBM System / 360 Model 67 , který byl představen 08. 1965, která je součástí MMU nazývá dynamického překladu adres (DAT) políčko. Má neobvyklou funkci ukládání přístupných a špinavých bitů mimo tabulku stránek (spolu se čtyřbitovým klíčem ochrany pro všechny procesory S/360). Odkazují spíše na fyzickou paměť než na virtuální a jsou přístupné podle pokynů pro speciální účely. To snižuje režii pro OS, který by jinak potřeboval šířit přístupné a špinavé bity z tabulek stránek do fyzicky více orientované datové struktury. Díky tomu je virtualizace na úrovni OS , později nazývaná paravirtualizace , jednodušší.

Počínaje srpnem 1972 má IBM System/370 podobnou MMU, i když zpočátku podporoval pouze 24bitový virtuální adresní prostor než 32bitový virtuální adresní prostor modelu System/360 Model 67. Ukládá také přístupné a špinavé bity mimo tabulku stránek. Na začátku roku 1983 rozšířila architektura System/370-XA virtuální adresní prostor na 31 bitů a v roce 2000 byla představena 64bitová architektura z/Architecture s rozšířením adresního prostoru na 64 bitů; ti nadále ukládají přístupné a špinavé bity mimo tabulku stránek.

DEC Alpha

DEC Alpha procesor dělí paměti do 8 KB stránek. Po chybě TLB strojový kód firmwaru nízké úrovně (zde nazývaný PALcode ) projde tříúrovňovou tabulkou stránek se stromovou strukturou. Adresy jsou rozděleny následovně: 21 bitů nepoužito, 10 bitů pro indexování kořenové úrovně stromu, 10 bitů pro indexování střední úrovně stromu, 10 bitů pro indexování úrovně listu stromu a 13 bitů, které procházejí na fyzickou adresu bez úprav. Podporovány jsou plné bity oprávnění pro čtení/zápis/spouštění.

MIPS

Architektura MIPS podporuje jeden až 64 záznamů v TLB. Počet položek TLB je konfigurovatelný v konfiguraci CPU před syntézou. Záznamy TLB jsou duální. Každý záznam TLB mapuje číslo virtuální stránky (VPN2) buď na jedno ze dvou čísel rámců stránky (PFN0 nebo PFN1), v závislosti na nejméně významném bitu virtuální adresy, která není součástí masky stránky . Tento bit a bity masky stránky nejsou uloženy v VPN2. Každý záznam TLB má svou vlastní velikost stránky, která může mít libovolnou hodnotu od 1 kB do 256 MB v násobcích čtyř. Každý PFN v záznamu TLB má atribut ukládání do mezipaměti, špinavý a platný stavový bit. Pokud je bit globálního stavu nastaven na nulu, VPN2 má globální stavový bit a ID přiřazené operačnímu systému, které se účastní shody vstupu TLB virtuální adresy. PFN ukládá fyzickou adresu bez bitů masky stránky.

Výjimka doplnění TLB je generována, pokud v TLB nejsou žádné položky, které by odpovídaly namapované virtuální adrese. Neplatná výjimka TLB je generována, pokud existuje shoda, ale položka je označena jako neplatná. Výjimka upravená TLB je generována, když instrukce úložiště odkazuje na namapovanou adresu a není nastaven špinavý stav odpovídající položky. Pokud při zpracování výjimky TLB, výjimky TLB s dvojitou chybou, dojde k výjimce TLB, odešle se do jejího vlastního obslužného programu výjimek .

MIPS32 a MIPS32r2 podporují 32 bitů virtuálního adresního prostoru a až 36 bitů fyzického adresního prostoru. MIPS64 podporuje až 64 bitů virtuálního adresního prostoru a až 59 bitů fyzického adresního prostoru.

Slunce 1

Původní Sun 1 je jednodeskový počítač postavený na mikroprocesoru Motorola 68000 a představený v roce 1982. Obsahuje původní jednotku správy paměti Sun 1, která poskytuje překlad adres, ochranu paměti, sdílení paměti a přidělování paměti pro více procesů běžících na CPU . Veškerý přístup CPU k soukromé palubní paměti RAM, externí paměti Multibus , integrovaným I/O a Multibus I/O probíhá přes MMU, kde je překlad adres a ochrana prováděna jednotným způsobem. MMU je hardwarově implementováno na desce CPU.

MMU se skládá z kontextového registru, segmentové mapy a mapy stránek. Virtuální adresy z CPU jsou přeloženy na mezilehlé adresy segmentovou mapou, které jsou zase přeloženy do fyzických adres mapou stránky. Velikost stránky je 2 kB a velikost segmentu je 32 kB, což dává 16 stránek na segment. Souběžně lze mapovat až 16 kontextů. Maximální prostor logické adresy pro kontext je 1024 stránek nebo 2 MB. Maximální fyzická adresa, kterou lze mapovat současně, jsou také 2 MB.

Kontextový registr je ve víceúlohovém operačním systému důležitý, protože umožňuje CPU přepínat mezi procesy bez opětovného načítání všech informací o stavu překladu. 4bitový kontextový registr může pod kontrolou supervizora přepínat mezi 16 sekcemi segmentové mapy, což umožňuje souběžně mapovat 16 kontextů. Každý kontext má svůj vlastní virtuální adresní prostor. Sdílení virtuálního adresního prostoru a interkontextovou komunikaci lze zajistit zápisem stejných hodnot do map segmentů nebo stránek různých kontextů. Další kontexty lze zpracovat zpracováním mapy segmentů jako mezipaměti kontextu a nahrazením zastaralých kontextů na základě nejméně nedávno použitých.

Kontextový registr nerozlišuje mezi stavy uživatele a správce. Přerušení a pasti nepřepínají kontexty, což vyžaduje, aby byly všechny platné vektory přerušení vždy mapovány na stránce 0 kontextu, stejně jako platný zásobník dohledu.

PowerPC

V PowerPC G1, G2, G3 a G4 mají stránky obvykle 4 kB. Po chybě TLB začíná standardní PowerPC MMU dvě simultánní vyhledávání. Jedno vyhledávání se pokusí spojit adresu s jedním ze čtyř nebo osmi registrů překladu adres datového bloku (DBAT) nebo čtyř nebo osmi registrů překladu adres adresního bloku (IBAT) podle potřeby. Registry BAT mohou mapovat lineární bloky paměti až 256 MB a OS je běžně používá k mapování velkých částí adresního prostoru pro vlastní použití jádra OS. Pokud je vyhledávání BAT úspěšné, druhé vyhledávání je zastaveno a ignorováno.

Další vyhledávání, které není přímo podporováno všemi procesory v této rodině, probíhá prostřednictvím takzvané „ tabulky invertovaných stránek “, která funguje jako hašované rozšíření mimo čip TLB. Nejprve se k výběru jednoho ze 16 segmentových registrů použijí čtyři nejlepší bity adresy . Poté 24 bitů ze segmentového registru nahradí tyto čtyři bity a vytvoří 52bitovou adresu. Použití segmentových registrů umožňuje více procesům sdílet stejnou hashovací tabulku .

52bitová adresa je hašována a poté použita jako index do tabulky mimo čip. Tam se prohledá skupina osmistránkových záznamů v tabulce, která odpovídá. Pokud se žádný neshoduje kvůli nadměrným kolizím hash , procesor to zkusí znovu s trochu jinou hashovací funkcí . Pokud ani toto selže, CPU se zachytí do OS (s vypnutým MMU), aby mohl být problém vyřešen. OS potřebuje zahodit záznam z tabulky hash, aby uvolnil místo pro nový záznam. Operační systém může vygenerovat nový záznam z normálnější tabulky stránek podobného stromu nebo z datových struktur na mapování, které budou pravděpodobně pomalejší a prostorově efektivnější. Podpora pro řízení bez spuštění je v registrech segmentů, což vede k zrnitosti 256 MB .

Hlavním problémem tohoto návrhu je špatná lokalita mezipaměti způsobená funkcí hash. Stromovým návrhům se tomu vyhnete umístěním položek tabulky stránek pro sousední stránky do sousedních umístění. Operační systém spuštěný na PowerPC může minimalizovat velikost tabulky hash, aby se tento problém snížil.

Je také poněkud pomalé odstraňovat položky tabulky stránek procesu. Operační systém se může vyhnout opětovnému použití hodnot segmentu ke zpoždění, nebo se může rozhodnout, že bude trpět plýtváním paměti spojenými s hashovacími tabulkami jednotlivých procesů. Čipy G1 nevyhledávají položky tabulky stránek, ale generují hash s očekáváním, že OS prohledá standardní hashovací tabulku pomocí softwaru. OS může zapisovat do TLB. Čipy G2, G3 a starší G4 používají hardware k vyhledávání v tabulce hash. Nejnovější čipy umožňují operačnímu systému zvolit si kteroukoli z metod. U čipů, které to dělají volitelně nebo to vůbec nepodporují, se OS může rozhodnout používat výlučně tabulku stránek založenou na stromě.

IA-32 / x86

Architektura x86 se vyvíjela velmi dlouhou dobu při zachování plné kompatibility softwaru, a to i pro kód OS. MMU je tedy extrémně komplexní a má mnoho různých možných provozních režimů. Zde je popsán normální provoz tradičního procesoru 80386 a jeho nástupců ( IA-32 ).

CPU primárně rozděluje paměť na 4 kB stránky. Segmentové registry, které jsou základem starších návrhů MMU 8088 a 80286 , se v moderních operačních systémech nepoužívají, s jedinou zásadní výjimkou: přístup k datům specifickým pro vlákna pro aplikace nebo k datům specifickým pro CPU pro jádra OS, což se provádí s výslovným použitím Registry segmentů FS a GS. Veškerý přístup do paměti zahrnuje segmentový registr zvolený podle prováděného kódu. Registr segmentů funguje jako index do tabulky, která poskytuje offset, který má být přidán k virtuální adrese. Kromě případů, kdy používáte FS nebo GS, OS zajišťuje, že offset bude nulový.

Po přidání ofsetu je adresa maskována tak, aby nebyla větší než 32 bitů. Výsledek lze vyhledat pomocí tabulky stránek se strukturovanou stromovou strukturou, přičemž bity adresy jsou rozděleny následovně: 10 bitů pro větev stromu, 10 bitů pro listy větve a 12 nejnižších bitů je přímo zkopírováno do výsledku. Některé operační systémy, jako například OpenBSD s funkcí W^X a Linux s opravami Exec Shield nebo PaX , mohou také omezit délku segmentu kódu, jak je specifikováno v registru CS, aby bylo znemožněno spuštění kódu v modifikovatelných oblastech adresní prostor.

Drobné revize MMU zavedené s Pentiem umožnily velmi velké 4 MB stránky přeskočením spodní úrovně stromu (zbývá 10 bitů pro indexování první úrovně hierarchie stránek, přičemž zbývajících 10+12 bitů je přímo zkopírováno do výsledku ). Drobné revize MMU zavedené pomocí Pentium Pro zavedly funkci rozšíření fyzické adresy (PAE), která umožňuje 36bitové fyzické adresy s 2+9+9 bity pro tříúrovňové tabulky stránek a 12 nejnižších bitů, které se přímo kopírují do výsledku. K dispozici jsou také velké stránky ( 2 MB ) přeskočením spodní úrovně stromu (což má za následek 2+9 bitů pro dvouúrovňovou hierarchii tabulek a zbývajících 9+12 nejnižších bitů se zkopíruje přímo). Kromě toho tabulka atribut strana nechá specifikaci cacheability při pohledu do několika vysokých bitů v malém on-CPU tabulky.

Podpora bez spouštění byla původně poskytována pouze na základě segmentů, takže použití bylo velmi nepříjemné. Novější x86 čipy poskytují bit bez provedení na stránku v režimu PAE. Výše popsané mechanismy W^X , Exec Shield a PaX emulují podporu nevykonávání na stránce na procesorech x86 strojů postrádajících bit NX nastavením délky segmentu kódu se ztrátou výkonu a zmenšením dostupného adresního prostoru .

x86-64

Heterogenní systémová architektura (HSA) vytváří jednotný virtuální adresní prostor pro CPU, GPU a DSP, zastarává mapovací triky a kopírování dat.

x86-64 je 64bitové rozšíření x86, které téměř úplně odstraňuje segmentaci ve prospěch modelu ploché paměti, který používají téměř všechny operační systémy pro procesory 386 nebo novější. V dlouhém režimu jsou všechny offsety segmentů ignorovány, kromě segmentů FS a GS. Při použití se 4 kB stránkami má strom tabulky stránek čtyři úrovně místo tří.

Virtuální adresy jsou rozděleny následovně: 16 bitů nevyužito, devět bitů pro čtyři úrovně stromů (celkem 36 bitů) a 12 nejnižších bitů přímo zkopírováno do výsledku. Při 2 MB stránkách existují pouze tři úrovně tabulky stránek, celkem tedy 27 bitů použitých při stránkování a 21 bitů ofsetu. Některé novější procesory také podporují stránku o velikosti 1 GB se dvěma úrovněmi stránkování a 30 bitovým ofsetem.

CPUID lze použít k určení, zda jsou podporovány stránky o velikosti 1 GB . Ve všech třech případech je požadováno , aby 16 nejvyšších bitů bylo rovno 48. bitu, nebo jinými slovy, nízkých 48 bitů je znaménko rozšířeno na vyšší bity. Důvodem je budoucí rozšíření adresovatelného rozsahu, aniž by byla ohrožena zpětná kompatibilita. Ve všech úrovních tabulky stránek obsahuje položka tabulky stránek bit bez spuštění .

Unisys MCP Systems (Burroughs B5000)

Burroughs B5000 od roku 1961 byl první komerční systém pro podporu virtuální paměti (po Atlas ), i když to nemá žádný MMU Poskytuje dvě funkce s MMU - adresy paměti virtuální a ochranu paměti - s jiným architektonickým přístupem.

Za prvé, v mapování adres virtuální paměti, namísto potřeby MMU, jsou systémy MCP založeny na deskriptoru . Každému bloku přidělené paměti je přiřazen hlavní deskriptor s vlastnostmi bloku (tj. Velikostí, adresou a zda je v paměti přítomen). Když je zadán požadavek na přístup k bloku pro čtení nebo zápis, hardware zkontroluje jeho přítomnost pomocí bitu přítomnosti (pbit) v deskriptoru.

Pbit 1 označuje přítomnost bloku. V tomto případě je k bloku přístup prostřednictvím fyzické adresy v deskriptoru. Pokud je pbit nula, generuje se pro MCP (operační systém) přerušení, aby byl blok přítomen. Pokud je pole adresy nula, jedná se o první přístup k tomuto bloku a je přidělen (počáteční pbit). Pokud je pole adresy nenulové, jedná se o adresu disku bloku, který byl dříve zaveden, takže blok je načten z disku a pbit je nastaven na jedničku a adresa fyzické paměti aktualizována tak, aby směřovala na blok v paměti (další pbit). Díky tomu jsou deskriptory ekvivalentní záznamu tabulky stránek v systému MMU. Výkon systému lze sledovat pomocí počtu bitů. Počáteční pbity označují počáteční alokace, ale vysoká úroveň dalších bitů naznačuje, že systém může bít.

Veškerá alokace paměti je tedy zcela automatická (jedna z vlastností moderních systémů) a neexistuje žádný způsob, jak přidělit bloky kromě tohoto mechanismu. Neexistují žádná taková volání jako malloc nebo dealloc, protože paměťové bloky jsou také automaticky vyřazeny. Schéma je také líné , protože blok nebude přidělen, dokud nebude skutečně odkazován. Když je paměť téměř plná, MCP zkoumá pracovní sadu, zkouší zhutnění (protože systém je segmentován, není stránkován), uvolňuje segmenty pouze pro čtení (například segmenty kódu, které lze obnovit z jejich původní kopie) a jako v krajním případě převádění špinavých datových segmentů na disk.

Dalším způsobem, jak B5000 poskytuje funkci MMU, je ochrana. Protože všechny přístupy jsou přes deskriptor, hardware může zkontrolovat, zda jsou všechny přístupy v mezích, a v případě zápisu, že proces má oprávnění k zápisu. Systém MCP je ze své podstaty bezpečný, a proto nepotřebuje MMU, který by zajišťoval tuto úroveň ochrany paměti. Deskriptory jsou čteny pouze pro uživatelské procesy a mohou být aktualizovány pouze systémem (hardware nebo MCP). (Slova, jejichž tag je liché číslo, jsou pouze pro čtení; deskriptory mají tag 5 a kódová slova tag 3)

Bloky lze sdílet mezi procesy prostřednictvím deskriptorů kopií v zásobníku procesů. Některé procesy tedy mohou mít oprávnění k zápisu, zatímco jiné nikoli. Segment kódu je pouze pro čtení, tedy reentrantní a sdílený mezi procesy. Kopírovací deskriptory obsahují 20bitové adresní pole poskytující index hlavního deskriptoru v poli hlavního deskriptoru. To také implementuje velmi účinný a bezpečný mechanismus IPC. Bloky lze snadno přemístit, protože při změně stavu bloku potřebuje aktualizaci pouze hlavní deskriptor.

Jediným dalším aspektem je výkon-poskytují systémy založené na MMU nebo mimo MMU lepší výkon? Systémy MCP mohou být implementovány nad standardní hardware, který má MMU (například standardní PC). I když implementace systému nějakým způsobem využívá MMU, na úrovni MCP to nebude vůbec vidět.

Viz také

Reference