386SX / 386DX Unterscheidung

Auswahl, Einrichtung und Betrieb von Rechnern und Komponenten
Antworten
Jackintosh
MemMaker-Benutzer
Beiträge: 73
Registriert: Di 25. Okt 2022, 15:46

386SX / 386DX Unterscheidung

Beitrag von Jackintosh »

Ich habe schon danach gegoogelt, aber die Ergebnisse bezogen sich rein auf die äußeren Merkmale (Datenbus-/Adressbusbreite), also 'das Übliche'.

Haben 386SX und DX unterschiedlich lange Prefetchqueues? Ich hatte mal irgendwo im Kindernet gelesen, daß man SX und DX dann durch selbstmodifizierenden Code, der in den Bereich geschrieben wird, der außerhalb der Prefetchqueue des SX aber noch vor dem Ende der Queue des DX liegt, unterscheiden kann. Also sowas:

Code: Alles auswählen

       <<< Instruktionslaufrichtung
+-----+---------------+----------------+
| ALU |  SX+DX Queue  |  nur-DX Queue  |
+-----+---------------+----------------+
                       ^^^^^^^^^^^^^^^^
                       Hierhin schreiben
Bei einem SX würde der Code im Hauptspeicher landen, dann in die Prefetchqueue geladen und ausgeführt werden. Wobei es beim DX 'zu spät' für eine Ausführung wäre.
mkarcher
LAN Manager
Beiträge: 222
Registriert: Fr 5. Jun 2020, 19:38

Re: 386SX / 386DX Unterscheidung

Beitrag von mkarcher »

Wie in https://www.rcollins.org/secrets/PrefetchQueue.html beschrieben, hat der 386SX eher eine längere Queue als einige Steppings des 386DX. Die Unterscheidung über die Queue-Länge ist ein tatsächlich Klassiker bei der Prozessor-Identifikation, allerdings ging es dabei um die Unterscheidung zwischen 8086 (3 Worte) und 8088 (4 Bytes). Der übliche Weg, einen 386SX von einem 386DX zu unterscheiden, ist das Bit, was der 80386DX in CR0 hat, mit dem gewählt werden kann, ob er einen 80287 (16-Bit-Interface) oder einen 80387 (32-Bit-Interface) als Koprozessor hat. Der 386SX hat hier keine Wahlmöglichkeit, so dass sich das entsprechende Bit ("ET" für "Extension Type") in CR0 nicht ändern lässt.
Jackintosh
MemMaker-Benutzer
Beiträge: 73
Registriert: Di 25. Okt 2022, 15:46

Re: 386SX / 386DX Unterscheidung

Beitrag von Jackintosh »

Danke, dann muß ich das mißverstanden haben.
mkarcher hat geschrieben: Di 12. Aug 2025, 20:27(..) ob er einen 80287 (16-Bit-Interface) oder einen 80387 (32-Bit-Interface) als Koprozessor hat.
Heißt das, daß man einen 287 an einen 386DX anschließen könnte?
mkarcher
LAN Manager
Beiträge: 222
Registriert: Fr 5. Jun 2020, 19:38

Re: 386SX / 386DX Unterscheidung

Beitrag von mkarcher »

Jackintosh hat geschrieben: Di 12. Aug 2025, 20:48 Danke, dann muß ich das mißverstanden haben.
mkarcher hat geschrieben: Di 12. Aug 2025, 20:27(..) ob er einen 80287 (16-Bit-Interface) oder einen 80387 (32-Bit-Interface) als Koprozessor hat.
Heißt das, daß man einen 287 an einen 386DX anschließen könnte?
Genau. Und als der 80386 herauskam, war das die einzige Option, weil der 80387 noch nicht fertig war.
Antworten