Mémoire segmentée

La mémoire segmentée désigne une méthode d'accès à la mémoire d'un ordinateur. Elle peut être virtuelle ou physique et peut être protégée ou réelle. La mémoire segmentée a été utilisée pour augmenter la limite d'espace plat de 64 Ko pour les ordinateurs de première génération. Les ordinateurs fabriqués avant la mémoire segmentée utilisaient un système d'adressage plat basé sur un code hexadécimal à quatre chiffres. Le nombre à quatre chiffres le plus élevé que l'on puisse obtenir en hexadécimal est FFFF, soit 65535, ce qui correspond à 64 Ko. L'adressage mémoire segmenté, l'alternative au schéma plat, est utilisé dans les systèmes 16 bits tels que MS-DOS Windows 3.1, pour adresser des segments de mémoire de 64 Ko avec un décalage à spécifier dans le segment. Bien que le processeur Intel 8086 ait été conçu pour gérer jusqu'à 1 Mo, il était limité par l'espace d'adressage plat. Plutôt que de reconcevoir l'ensemble du système de mémoire, Intel l'a modifié pour obtenir une plus grande capacité grâce à une adresse composée de 16 bits en deux parties. Pour trouver l'adresse réelle, la MMU (unité de gestion de la mémoire) devait interpréter à la fois le décalage et le segment. Une fois l'adresse localisée, la MMU demandait si les autorisations de mémoire permettaient la requête et, dans l'affirmative, l'exécutait. L'espace d'adressage plat en informatique 32 bits peut être décrit comme étant segmenté. La totalité de l'espace d'adressage, ou un segment de 32 bits d'un espace mémoire de 4 Go, est en fait un seul segment.