Une unité de gestion mémoire (MMU pour memory management unit), parfois appelée unité de gestion de mémoire paginée (PMMU pour paged memory management unit), est un composant permettant de contrôler les accès qu'un processeur fait à la mémoire de l'ordinateur dans lequel il est placé.
À l'époque des premiers microprocesseurs, il s'agissait d'un circuit intégré dédié.
Puis le MMU a été intégré aux microprocesseurs, à partir du 80286 pour la gamme Intel x86, à partir du 68030 pour la gamme Motorola 680x0. Par la suite, tous les ordinateurs personnels ont été équipés d'un microprocesseur comprenant une unité de gestion de mémoire.
Parmi les fonctions de tels dispositifs, on trouve :
La traduction d'adresses logiques en adresses linéaires par l'unité de segmentation (voir Segmentation) ;
La traduction d'adresses linéaires en adresses physiques par l'unité de pagination (voir Pagination) ;
Le contrôle de tampon ;
L'arbitrage du bus ;
La protection de la mémoire (généralement cette fonction est faite par le (memory protection unit)) ;
La commutation de banque (dans des architectures informatiques plus simples comme les systèmes 8 bits).
L'utilisation la plus courante et connue d'un MMU est la protection de plages mémoire. Un programme donné ne doit pas pouvoir accéder (en lecture ou écriture) à la mémoire utilisée par un autre programme, voire par le système d'exploitation lui-même. D'une manière simple, chaque programme exécuté par le système d'exploitation se voit attribuer une zone mémoire protégée, dans laquelle aucun autre programme ne peut écrire. Ce principe de protection mémoire est la caractéristique la plus cruciale pour bénéficier d'un système d'exploitation stable. Les anciens systèmes d'exploitation qui n'en bénéficiaient pas plantaient souvent, selon que les programmes exécutés comportaient des erreurs de conception ou non. Il fallait alors redémarrer toute la machine.
L'utilisation de traduction d'adresse (d'adresse virtuelle en adresse physique) est souvent utilisée conjointement à la protection mémoire afin de permettre le placement du logiciel n'importe où en mémoire, y compris en le fractionnant.
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
The course introduces the students to the basic notions
of computer architecture and, in particular, to the
choices of the Instruction Set Architecture and to the
memory hierarchy of modern systems.
L'objectif de ce cours à projet est de donner aux étudiants une expérience de la pratique de la programmation système : écriture, correction, amélioration et analyse critique de leur code.
Explore la transition des algorithmes aux programmes par la compilation, en mettant l'accent sur les contraintes et les pratiques de codage compréhensibles par la machine.
Couvre l'encapsulation, les interfaces, les droits d'accès, l'ombre, 'ce' mot-clé, la gestion de la mémoire et la gestion des références nulles en Java.
Explore la virtualisation de la mémoire, les espaces d'adressage, les tables de pages, la mise en cache et les constantes de conception du système pour optimiser les performances et la fiabilité de la mémoire.
Une unité de gestion mémoire (MMU pour memory management unit), parfois appelée unité de gestion de mémoire paginée (PMMU pour paged memory management unit), est un composant permettant de contrôler les accès qu'un processeur fait à la mémoire de l'ordinateur dans lequel il est placé. À l'époque des premiers microprocesseurs, il s'agissait d'un circuit intégré dédié. Puis le MMU a été intégré aux microprocesseurs, à partir du 80286 pour la gamme Intel x86, à partir du 68030 pour la gamme Motorola 680x0.
Le processeur Motorola 68010 est un microprocesseur CISC 16/32 bits de la famille m68k de Motorola. Introduit en 1983, c'est le successeur du Motorola 68000 et le prédécesseur du Motorola 68020. Le 68010 est très semblable au Motorola 68000 mais corrige deux défauts de ce dernier : il permet de relancer une instruction machine interrompue par une erreur d'accès à la mémoire ; cela permet la mise en œuvre aisée d'un système d'exploitation supportant la mémoire virtuelle ; il permet l'exécution d'une machine virtuelle en interdisant l'exécution de l'instruction MOVE to SR en mode utilisateur.
Un noyau de système d’exploitation, ou simplement noyau, ou kernel en anglais, est une des parties fondamentales de certains systèmes d’exploitation. Il gère les ressources de l’ordinateur et permet aux différents composants — matériels et logiciels — de communiquer entre eux. En tant que partie du système d’exploitation, le noyau fournit des mécanismes d’abstraction du matériel, notamment de la mémoire, du (ou des) processeur(s), et des échanges d’informations entre logiciels et périphériques matériels.