30.11.2012 Aufrufe

Das Magazin für Funk Elektronik · Computer

Das Magazin für Funk Elektronik · Computer

Das Magazin für Funk Elektronik · Computer

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!