Mémoire paginée (MS-DOS) — Wikipédia

Organisation de la mémoire dans un PC tournant sous MS-DOS.

La mémoire paginée (expanded memory en anglais) est une astuce inventée en 1984 qui permettait de fournir plus de mémoire vive pour les programmes MS-DOS gourmands de cette ressource, en particulier les tableurs et les bases de données fonctionnant sur les IBM PC et leurs successeurs les IBM XT et AT. Les IBM PC et IBM XT avaient une architecture d'adressage réel, qui n'autorisait les programmes qu'à un mégaoctet d'adressage, dans lequel seulement 640 Kio étaient disponibles pour la mémoire normale (souvent appelée mémoire conventionnelle), le reste étant réservé pour la communication du processeur avec les périphériques, notamment la mémoire de la carte graphique. L'IBM AT, avec son microprocesseur Intel 80286, intégrait le mode protégé, mais le système d'exploitation MS-DOS ne permettait pas directement de tirer parti de cette mémoire étendue.

Le principe de la mémoire paginée était de faire utiliser par les programmes une partie des 384 Kio de mémoire réservée aux périphériques. Pour utiliser potentiellement bien plus que ce que ces 384 Kio d'espace libre restants permettaient, la technique du bank switching (en) était utilisée, ainsi seule une partie choisie de la mémoire additionnelle était accessible à un instant donné. À l'origine, une seule fenêtre de 64 Kio était possible, avant que ce système ne soit rendu plus flexible en autorisant plusieurs fenêtres. Les programmes devaient avoir été écrits spécifiquement afin d'utiliser la mémoire paginée.

Mise en œuvre

[modifier | modifier le code]
Une carte d'extension mémoire en format ISA, la carte est équipée de 4 Mio de mémoire accessible par pages de 64 Kio.

Cartes d'extension

[modifier | modifier le code]

Cette mémoire dans l'espace réservé aux périphériques ne fut d'abord possible qu'en installant des cartes ISA spéciales. Compte tenu du prix de la mémoire à cette époque (plusieurs centaines de dollars par Mio) ces cartes coûtaient extrêmement cher.

Cartes mères

[modifier | modifier le code]

Plus tard certaines cartes mère furent équipées de circuits logiques permettant de ne plus avoir à installer de cartes d'extension. Des cavaliers permettaient alors de sélectionner la quantité de mémoire paginée (au détriment de la mémoire étendue).

Émulation par logiciel

[modifier | modifier le code]

L'arrivée vers 1986 du processeur Intel 80386 intégrant des fonctions de gestion mémoire a permis de facilement simuler par logiciel le fonctionnement de la mémoire paginée et a rendu caduque l'utilisation d'un matériel spécifique. Le programme EMM386.EXE fut alors ajouté à MS-DOS à partir de la version 5.0.