Hallo zusammen.
Habe mal grundsätzliche Fragen, wenn es um HW-Adressierung und BIOS-Caching ("shadowing" RAM/LevelCache) für beschleunigte Zugriffe von AT-/ISA-Bus basierende VGA/XGA-Grafikkarten in PCs geht.
Für den weiteren Verlauf wird angenommen, das eine ATI Graphics Ultra Pro verbaut ist, es die einzige Grafikkarte im PC ist und folgende Konfiguration vorliegt:
• IRQ 10
• BIOS-Adresse 0xCA000
• Adapter-BIOS ist aktiviert
• VGA-Funktion des Adapters ist aktiviert
Das System-BIOS unterstützt die Funktionen "Shadow BIOS ROM" und "Cache Shadow RAM" u.a. auch für das "Video BIOS", wobei die vorhandenen BIOS-Adressbereiche 0xC0000 - 0xC7FFF in den RAM oder gar im CPU-näheren Cache beim Systemstart geladen werden.
Funktionen wie "Shadow Adaptor ROM" oder "Cache Adaptor ROM" stehen nicht zur Auswahl.
0. Was ist der Unterschied zwischen shadowing für "BIOS ROM" (max 64 kiB) zu "Adaptor ROM" (max 16kiB)?
Es ist bekannt, dass Zugriffe auf BIOS-Routinen von Adaptern in kürzerer Zeit ablaufen, wenn der Zugriff nicht auf die langsamen E/PROM-Bausteine, sondern auf RAM oder besser auf den Cache erfolgt. Soweit noch verständlich.
Angenommen der Anteil des VGA-BIOS auf dem ISA-Adapter belegt eine Adresse des obenstehenden Bereiches (Memory Mapping).
1. Warum kann man dann zusätzlich eine BIOS-Adresse (für XGA oder 8514/A) vergeben, beginnend bei 0xC8000, nächste bei 0xCA00 usw (= 32 kiB Block) ?
2. Ist die (zusätzliche?) BIOS-Adresse überhaupt dem XGA- bzw 8514/A-Anteil (Funktion) zuzuordenen?
Die Grafikkarte lässt keine Einstellung zu, um die BIOS-Adresse innerhalb des im System-BIOS vorgegebenen, fixen, vom User nicht adressierbaren Speicherbereich hineinzukonfigurieren. Das ist so vorgegeben und daher für mich nicht weiter relevant. Generell stehen allen Adaptern in Summe 96 kiB für BIOS Adressen zur Verfügung, wobei die Bereiche nicht überlappen dürfen. Auch klar.
3. Hat die Grafikkarte einen DMA und I/O-Port?
4. Wenn ja wie läst dich der ermitteln?
Solaris 2.4 bietet mit prtconf zwar eine Anzeige, die jedoch den XGA/VGA-Teil (dplctl .. DisPLayConTroLer) nicht im Detail aufführt, nicht mal den IRQ, ggf liegt auch ein IRQ-Konflikt mit dem NIC vor.
5. Ist das im RAM/Cache zwischengespeicherte Video-BIOS des VGA-Anteils direkte Funktionalitäten die von Programmen genutzt werde können?
6. Wenn ja, welche zum Beispiel?
7. In welchem Fall wären beschleunigte Zugriffe neben dem VGA-Ctrl (innerhalb Adr-Bereich des MB-BIOS) auch beim XGA-Ctrl (außerhalb des Adr-Bereiches) möglich?
Ohne DMA oder Memory Mapping fällt mir nicht ein.
8. Welchen Vorteil bietet es für einen Treiber oder Programm mit HW-Zugriff, wenn die BIOS-Adresse (Bereich) nahe am Beginn des Adressbereiches liegt?
Hintergrund meiner Fragen sind Vorgaben und Empfehlungen zur Konfiguration von PCs im Eindatz unter einem DOS und Sun Solaris x86 (2.1/2.4).
Auf den SPARCstations gibt es solche Fragestellungen (Fragestellungen) nicht, dafür andere