Speicher für Hardware reserviert

1189
Gleb Voronchikhin

Kann jemand erklären, warum immer etwas Speicherplatz für Hardware reserviert ist? Wie hängt das mit der Speicheradressierung zusammen?

Bild - Windows-Ressourcenmonitor

0
Hauptspeicher für Hardware werden am häufigsten für integrierte Grafiken verwendet. Moderne CPUs bieten eine Grafikverarbeitung innerhalb des Chips, es ist jedoch kein integrierter Speicher vorhanden, sodass ein Teil des Hauptspeichers als Grafikspeicher reserviert ist. Der zugewiesene Betrag kann im Allgemeinen im BIOS gesteuert werden, wo Sie Informationen zu anderen reservierten Speichern finden sollten. AFH vor 7 Jahren 1
Ich weiß nicht genug, um eine Antwort aufzuschreiben, noch kann ich leicht etwas finden, das kein Forumseintrag mit fragwürdigen widersprüchlichen Antworten und Aussagen ist, aber ich glaube, dass dies ein "Symptom" dessen ist, was als "Speicherzuordnung" bezeichnet wird . " Ohne BIOS-Unterstützung / Problemumgehungen wird ein Teil dieses Speichers tatsächlich nicht verwendet, da das grundlegende Design einen bestimmten Bereich für die Verwendung der Hardware erfordert. Yorik vor 7 Jahren 0
Posten Sie einige Hardware-Details magicandre1981 vor 7 Jahren 0
@Yorik bedeutet es also, dass der Speicher nicht zur Verfügung steht, nur weil der Adressbereich von der CPU für die Kommunikation mit einer bestimmten Hardware festgelegt wird? Gleb Voronchikhin vor 7 Jahren 0

2 Antworten auf die Frage

0
LMiller7

Viel hängt davon ab, ob es sich um ein 32- oder 64-Bit-Betriebssystem handelt.

Bei einem 64-Bit-Betriebssystem ist der größte Benutzer von Hardware reserviertem Speicher normalerweise das Videosystem. Aus Gründen der Wirtschaftlichkeit haben viele Videosysteme keinen oder nur einen geringen Speicher, sondern verlassen sich auf den Systemspeicher. Dies ist besonders häufig bei Laptops. Dieser Speicher wird vom BIOS für die Videonutzung vor dem Start von Windows reserviert.

Alle oben genannten Punkte gelten für ein 32-Bit-Betriebssystem, es gibt jedoch einen zusätzlichen Faktor. Ein 32-Bit-Betriebssystem verfügt über einen festen physischen Adressraum von 4 GB. RAM ist der größte Benutzer dieses Adressraums, jedoch nicht der einzige. Aus Leistungsgründen wird ein erheblicher Teil dieses Speicherplatzes für speicherzugeordnete E / A verwendet. Dadurch kann die CPU schnell mit Hardwaregeräten kommunizieren, indem sie auf dieselbe Weise gelesen und beschrieben wird wie mit dem Speicher. Normalerweise erfordert dies etwa 500 MB und mehr Adressraum. Es gibt andere Methoden, die jedoch für Hochleistungsgeräte wie Video viel zu langsam sind.

Speicherzugeordnete E / A wird in demselben Adressraum wie RAM angezeigt. Das führt zu einem Problem. In einem Adressraum von 4 GB können Sie nicht über 4 GB RAM und über 500 MB an Speichergeräten verfügen. Es passt einfach nicht. Daher steht der Speicherplatz, der für Speichergeräte verwendet wird, für den RAM nicht zur Verfügung. In der Regel gehen etwa 500 bis 750 MB verloren, die genaue Menge hängt jedoch von der Hardware ab.

64-Bit-Betriebssysteme verfügen über einen physischen Adressraum, der in Terabyte gemessen wird, so dass ausreichend Platz für RAM- und Speicher-IOs vorhanden ist.

und noch eine Frage bitte. Zum Beispiel habe ich eine GPU mit 2 GB Speicher und 8 GB RAM. Bedeutet das, dass der verfügbare Arbeitsspeicher für Windows 8-2 = 6 GB beträgt? Gleb Voronchikhin vor 7 Jahren 0
@Gleb Voronchikhin LMiller7 vor 7 Jahren 0
@Gleb Voronchikhin LMiller7 vor 7 Jahren 0
@ LMiller7 Sie haben _ geschrieben "Ein 32-Bit-Betriebssystem verfügt über einen festen physischen Adressraum von 4 GB." Dies gilt zwar für 32-Bit-Windows-Clients "Client" (dh nicht für Server). Die "Bittigkeit" eines x86- oder x64-Betriebssystems oder einer CPU begrenzt die Größe des virtuellen Adressraums, nicht jedoch des physischen Adressraums (RAM). Windows-32-Bit-Server-Versionen können ... nun, _können, _ da es keine aktuellen mehr gibt ... über PAE weit mehr als 4 GB RAM ansprechen. So können viele andere Betriebssysteme. Diese 32-Bit-Windows-Client-Editionen lehnen es ab, RAM-Adressen über der im Betriebssystem verkabelten 0xFFFFFFFF-Grenze zu suchen. Es ist nicht architektonisch. Jamie Hanrahan vor 7 Jahren 0
@GlebVoronchikhin> _ "Zum Beispiel habe ich eine GPU mit 2 GB Arbeitsspeicher und 8 GB RAM. Bedeutet das, dass der verfügbare RAM für Windows 8-2 = 6 GB sein wird?" _ Nein, alles wird gut. x64-CPUs haben mindestens 40 Bit physikalische Adresse, theoretisch genug für 1 TiB RAM, obwohl die meisten Plattformen nicht viel unterstützen. (Überprüfen Sie den maximalen Arbeitsspeicher, den Ihr Motherboard zulässt. Wenn es mehr als 8 GB ist, sind Sie in Ordnung.) Außerdem benötigt eine "GPU mit 2 GB Arbeitsspeicher" fast nie 2 GB Adressraum. Stattdessen bieten sie der Host-CPU ein viel kleineres "Fenster", das der Host dann in verschiedene Teile des vollen RAM der Karte "abbilden" kann. Jamie Hanrahan vor 7 Jahren 0
0
Ale..chenski
why some amount of memory always reserved for hardware? 

Weil dies ein Teil der modernen PC-Architektur ist, die als "PCI" ( Peripheral Component Interconnect) bezeichnet wird . Diese Architektur wurde ursprünglich in den frühen 1990er Jahren entwickelt, um Fortschritte bei der Konfiguration und Leistung der wachsenden Anzahl von PC-Zusatzgeräten zu erzielen und Plug-and-Play-Funktionen bereitzustellen (umständlichen expliziten Konfigurationsprozess zu vermeiden und Peripheriegeräte automatisch zuzuordnen).

Jedes Peripheriegerät benötigt Mittel, um mit der CPU zu kommunizieren und Daten hin und her zu übertragen. Die PCI-Architektur bietet also den alten E / A-Zugriffsraum (eine veraltete Form der Kommunikation mit Peripheriegeräten in der X86-Architektur, die heutzutage immer weniger genutzt wird) und einen MEMORY-MAPPED-Bereich, der einen wesentlich schnelleren Zugriff und Datenaustausch ermöglicht. Wenn ein Kommunikationsfenster auf einen gemeinsamen Speicherplatz abgebildet wird, wird es offensichtlich aus dem Adressbereich des regulären RAM-Speichers ausgeschlossen. Obwohl dieses Ressourcenzuweisungsschema flexibel ist, gibt es einige architektonische Einschränkungen (ich glaube auch auf Betriebssystemebene), wie dieser Bereich dekodiert und zugeordnet werden kann, so dass ein Teil des oberen Speichers "reserviert" ist.