Cette MMU MC68451 pouvait s'utiliser avec le Motorola 68010
Une unité de gestion mémoire (MMU pour Memory Management Unit) est un composant informatique responsable de l'accès à la mémoire demandée par le processeur. Sur le matériel ancien, elle était indépendante du processeur. Ainsi à l'époque des premiers microprocesseurs, il s'agissait d'un circuit intégré à part. Puis la MMU a été intégrée aux microprocesseurs, à partir du 80386 pour la gamme Intel x86, à partir du 68030 pour la gamme Motorola 680x0. L'unité de gestion mémoire fait désormais partie intégrante de tous les microprocesseurs récents.
Fonction d’une MMU
Parmi les fonctions de tels dispositifs, on trouve :
La translation d'adresses logiques en adresses linéaires par l'unité de segmentation(voir Segmentation)
La translation d'adresse linéaire en adresses physiques par l'unité de pagination(voir Pagination)
La protection de la mémoire (généralement cette fonction est faite par la MPU (Memory Protection Unit))
La commutation de banque (dans des architectures informatiques plus simples comme les systèmes 8 bit)
Fonctionnement
Le système programme la MMU en déclarant une zone mémoire précise comme appartenant à un programme précis (une zone exécutable de la mémoire). L'utilisation de translation d'adresse est souvent utilisée conjointement à la protection mémoire afin que les variables du programme commencent à l'adresse 0. Si une tentative d'accès à de la mémoire hors plage est détectée, une interruption est levée par la MMU. Celle-ci est interceptée par le processeur et cela a généralement pour effet de stopper le programme, qui reçoit par exemple : un signalSIGSEGV (signal de violation de segmentation) sous Unix.