E / A und Speicher in Windows-Systeminformationen

417
FunctionBlock

Wie kann ich E / A und Speicher in Windows interpretieren? Systeminformationen Msinfo32? Stellen die E / A-Adressen den Speicherort des zugeordneten E / A-Geräteregisters dar und wie sehen Sie die Adressen im Speicher aus? Wenn es eine physische Speicheradresse gibt, sollten sie jedes Mal anders sein, oder?

0

1 Antwort auf die Frage

1
Jamie Hanrahan

Was Sie unter "E / A" sehen, sind "Adressen", jedoch weder virtuelle noch physische Speicheradressen. Sie befinden sich im E / A-Portbereich. Sie sind nur für spezielle Anweisungen wie IN und OUT von Bedeutung.

Die Seite "Speicher" zeigt Adressen innerhalb des physischen Adressraums an. Dies ist derselbe Adressraum, in dem sich RAM befindet. Dies sind die Adressen von "Registern" und Pufferbereich, die von verschiedenen E / A-Geräten und bestimmten anderen Geräten auf der Hauptplatine definiert werden. Treiber sprechen mit diesen Geräten, indem sie auf virtuelle Adressen verweisen, die das Betriebssystem mit diesen physischen Adressen verknüpft.

Sowohl die Port- als auch die Speicheradresse für Geräte, die den PCI-Standards für Busadressregister entsprechen, können vom Betriebssystem konfiguriert werden. Alle diese Konfigurationen werden jedoch beim Booten ausgeführt, und die meisten Geräte landen von einem Boot zum nächsten an denselben Adressen. Einige Geräte werden aus bekannten Gründen bekannten Adressen zugewiesen. Ein paar andere Geräte (z. B. ältere serielle und parallele Anschlüsse, sofern vorhanden) befinden sich auf dem LPC-Bus. Programmatisch sieht das aus wie ISA, aber elektrisch handelt es sich um einen seriellen Bus, und wie ISA kann keine Software konfiguriert werden. Diese Geräte sind mit ihren Adressen fest verdrahtet.

Übrigens, der I / O-Port-Space ist ein Überbleibsel alter Architekturen oder zumindest Architekturen mit alten Wurzeln (wie x86). Die meisten modernen Architekturen implementieren dies nicht. alles ist im physischen Speicherplatz.