Das Magazin für Funk Elektronik · Computer
Das Magazin für Funk Elektronik · Computer
Das Magazin für Funk Elektronik · Computer
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
cherraum adressieren, weil sie mit mehr<br />
als 20 Adreßleitungen (Bits des Adreßbusses)<br />
ausgestattet sind (siehe nebenstehende<br />
Tabelle).<br />
Während die interne Datenbreite in der Tabelle<br />
angibt, wieviel Bit der Prozessor<br />
gleichzeitig (parallel) in seiner internen<br />
Chip-Logik verarbeiten kann, ist aus der<br />
externen ersichtlich, wieviel Bit gleichzeitig<br />
beim Datenaustausch mit anderen Chips<br />
übertragen werden. Der Adreßraum umfaßt<br />
den maximal mit dem jeweiligen Prozessortyp<br />
adressierbaren Speicherbereich.<br />
■ XMS, EMS, UMB und HMA<br />
Mehr als 1 MByte können Prozessoren<br />
allerdings nur nutzen, wenn sie in den sogenannten<br />
Protected Mode, eine spezielle<br />
Prozessorbetriebsart, schalten und Techniken<br />
verwenden, die zu MS-DOS nicht<br />
kompatibel sind. Im Gegensatz zum Protected<br />
Mode nennt man die Betriebsart, in<br />
der sich alle Prozessoren standardmäßig<br />
befinden, den Real Mode.<br />
Andersherum gesagt: MS-DOS ist ein<br />
Real-Mode-Betriebssystem. Auch wenn Sie<br />
128 MByte in Ihrem PC eingebaut haben<br />
sollten, kann DOS nur ganze 1 MByte RAM<br />
verwenden. Und davon sind 640 KByte als<br />
Arbeitsspeicher <strong>für</strong> DOS-Programme und<br />
die restlichen 384 KByte <strong>für</strong> Systemroutinen<br />
reserviert.<br />
Speicher, der oberhalb des ersten Megabytes<br />
angesiedelt ist, nennt man Erweiterungsspeicher.<br />
Um ihn verwenden zu<br />
können, gibt es <strong>für</strong> PC-Programme zwei<br />
Möglichkeiten:<br />
Man wechselt entweder ständig zwischen<br />
dem MS-DOS-Modus (Real Mode) und<br />
dem Protected Mode hin und her, was einen<br />
Die Intelprozessoren auf einen Blick<br />
Pro- Datenbreite in Bit<br />
zessor intern extern Adreß- Adreßbus<br />
raum<br />
8088 16 8 20 Bit 1 MByte<br />
8086 16 16 20 Bit 1 MByte<br />
80286 16 16 24 Bit 16 MByte<br />
80386SX 32 16 24 Bit 16 MByte<br />
80386DX 32 32 32 Bit 4096 MByte<br />
= 4 GByte<br />
80486SX 32 32 32 Bit 4096 MByte<br />
= 4 GByte<br />
80486DX 32 32 32 Bit 4096 MByte<br />
= 4 GByte<br />
Pentium 32 64 32 Bit 4096 MByte<br />
= 4 GByte<br />
P6 32 64 36 Bit 65536 MByte<br />
= 64 GByte<br />
erhöhten Aufwand bedeutet. Der Speichermanager<br />
HIMEM.SYS regelt die Vergabe<br />
von Erweiterungsspeicher an Programme<br />
nach einer Vereinbarung, die man Extended<br />
Memory Specification (XMS) nennt. DOS-<br />
Programme wie SmartDrive oder RAM-<br />
Drive können damit XMS-Speicher (oder<br />
kurz XMS) direkt einsetzen.<br />
Die zweite Möglichkeit macht sich zunutze,<br />
daß der 384 KByte umfassende Systembereich<br />
in der Regel nur etwa zu einem<br />
Drittel verwendet wird. In einen der freien<br />
Bereiche, die man auch Upper Memory<br />
Blocks (UMB; auch UMA wie Upper Memory<br />
Area) nennt, richtet man ein 64 KByte<br />
großes Fenster ein, den Seitenrahmen (Page<br />
Frame). Der Speichermanager EMM386.<br />
EXE blendet Teile des Erweiterungsspeichers<br />
in vier Häppchen (Seiten oder Pages)<br />
zu je 16 KByte in dieses Fenster ein, so daß<br />
der gesamte Erweiterungsspeicher, aber immer<br />
nur (4 × 16 =) 64 KByte, also ein Segment<br />
zugleich, verwendet werden kann.<br />
Übersicht der Speicherarten<br />
Name des<br />
Speichers<br />
Bereich Einsatz Voraussetzung<br />
Konventioneller linear von Arbeitsspeicher PCs: alle<br />
oder DOS-Speicher 0...640 kByte <strong>für</strong> DOS-Programme<br />
Oberer Speicher, linear von vom System PCs:ab 386SX<br />
Upper Memory Area 640 KByte reservierter RAM und mehr als<br />
(UMA) bis 1024 KByte (BIOS, VGA-BIOS,<br />
Videospeicher)<br />
freie Bereiche<br />
mit EMM386 <strong>für</strong><br />
DOS-Prg. nutzbar<br />
1 MB RAM<br />
Erweiterter Speicher, linear von 1 MB als Zusatzspeicher PCs:ab 286<br />
Extended Memory bis 16 MB <strong>für</strong> Cache-Programme, im Protected Mode<br />
(XMS) RAM-Disks, Windows<br />
Hoher Speicher die ersten 64 kB von DOS genutzt, PCs: ab 286<br />
High Memory Area des XMS um Hauptspeicher im Real Mode durch<br />
(HMA) zu entlasten Freischalten der<br />
Adreßleitung A20<br />
Expansionsspeicher RAM, der durch Zusatzspeicher PCs: ab 386<br />
Expanded Memory Treiberprogramme <strong>für</strong> Programme, mit EMM386<br />
(EMS) in einem Seitenrahmen<br />
des vom im Real Mode<br />
adressierbaren Speichers<br />
seitenweise eingeblendet<br />
werden kann<br />
die EMS nutzen<br />
PC<br />
Expanded Memory Specification (EMS)<br />
heißt diese Technik. Sie ist zwar ziemlich<br />
umständlich, aber der Aufwand, um zusätzlichen<br />
Speicher zu nutzen, ist <strong>für</strong> davon<br />
profitierende Programme nicht so hoch,<br />
weil der Prozessor nicht in den Protected<br />
Mode umschalten muß. <strong>Das</strong> würde nämlich<br />
einen erheblich größeren Programmieraufwand<br />
bedeuten.<br />
Ursprünglich war EMS in Form einer<br />
Hardwarelösung dazu da, PCs mit dem<br />
Prozessor 8086 zusätzlichen Speicher zur<br />
Verfügung zu stellen. Heute wird EMS<br />
softwaremäßig durch den DOS-Speichermanager<br />
EMM386.EXE oder andere EMS-<br />
Treiberprogramme organisiert. Wenn Anwendungsprogramme<br />
(vorrangig diverse<br />
Spielprogramme machen davon meist regen<br />
Gebrauch) also mehr Speicher benötigen,<br />
als im 640-KByte-Arbeitsspeicherbereich<br />
zur Verfügung steht, verwenden sie entweder<br />
XMS- oder EMS-Speicher.<br />
Davon abgesehen ist auch das Auslagern<br />
von gerade nicht benötigten Daten auf die<br />
Festplatte möglich, die bei Bedarf dann<br />
wieder von der Festplatte nachgeladen<br />
werden – diese dynamisch ein- und ausgelagerten<br />
Dateien oder Programmroutinen<br />
nennt man Overlays.<br />
Außer dem EMS-Seitenrahmen lassen sich<br />
in den Systembereich aber auch Teile von<br />
MS-DOS unterbringen (hochladen), wodurch<br />
der Hauptspeicher von 640 KByte<br />
weiter entlastet wird. Ein Trick erlaubt<br />
z. B. das Freisetzen von weiteren 64 KByte<br />
Hauptspeicher mit Prozessoren ab dem<br />
Typ 286.<br />
Die Methode der Adreßbildung ermöglicht<br />
nämlich im Real Mode nicht nur<br />
1024 KByte, sondern 1084 KByte zu verwalten.<br />
Der Prozessor 8086 mit seinen 20<br />
Adreßleitungen (2 20 = 1 MByte) kann die<br />
letzten 64 KByte zwar nicht ansprechen –<br />
wohl aber ein 286er-Prozessor mit 24<br />
Adreßleitungen. Die benötigte 21. Adreßleitung<br />
A20 (die Zählung beginnt ab A0)<br />
wird durch HIMEM.SYS an- und ausgeschaltet.<br />
Die so errungenen 64 KByte (eigentlich<br />
nur 65520 Byte, also 16 Byte weniger)<br />
nennt man den Hohen Speicherbereich<br />
oder neudeutsch „High Memory Area<br />
(HMA)“. In diesen Bereich kann ein<br />
großer Teil des DOS-Systemkerns verschoben<br />
werden.<br />
Wenn Sie den oberen (Upper Memory) und<br />
den hohen (High Memory) Speicherbereich<br />
richtig nutzen, entlasten Sie Ihre Hauptspeicherkapazität<br />
derart, daß von den insgesamt<br />
640 KByte bis zu 621 KByte <strong>für</strong><br />
Ihre Anwendungsprogramme zur freien<br />
Verfügung stehen – das reicht in den allermeisten<br />
Fällen auch völlig <strong>für</strong> jedes Standard-DOS-Programm<br />
aus.<br />
(wird fortgesetzt)<br />
FA 10/95 • 1053