80386 – Informationen

Zu den 80386 CPUs gab es insgesamt vier Varianten, die sich erheblich im Einsatzzweck wie auch im Datenbus unterschieden. Die Herstellung des i386EX, der sich als Embedded-Version des i386SX darstellte, wurde im Jahr 2007 eingestellt.

Die Varianten

Von den verschiedenen Modellvarianten war der 80386SX oder kurz 386SX eine sehr häufig eingesetzte Variante. Diese verfügt lediglich über einen 16 Bit breiten, externen Datenbus sowie einen 24 Bit breiten Adressbus. Intern hat sie aber doch die 32 Bit Mikroarchitektur des 80368 beibehalten. Der Adressbus, mit einer Breite von 24 Bit, hat den physischen adressierbaren Speicher des 386SX zwar eingeschränkt auf 16 MiB, aber angesichts dessen, dass der PC in den 90er Jahren den im Heimbereich üblichen Speicherausbau von wenigstens 4 MB aufwies, war dies keine stark gravierende Einschränkung.

Außerdem haben viele der 386SX Mainboards den Ausbau auf 16 MB nicht zugelassen. Aus Programmierersicht gab es außer der Speicherlimitierung keinen Unterschied zwischen dem 386SX und dem originalen 80386, welcher nach Einführung seines kleinen Bruders in 80386DX umgenannt worden ist. Der Unterschied zwischen dem 386SX und dem 386DX liegt lediglich in der Geschwindigkeit der Ausführung.

Der Intel 386SL ist ebenfalls eine Version des i386SX für tragbare Computer. Eingeführt wurde mit ihm das Modul SMM, das sich als stromsparend erwies und die CPU in den Ruhestand versetzen konnte.

Der Rapid Cad war ein Upgrade der 486er Technik, welche auf das 386 System basierte. Der RapidCad bestand lediglich aus zwei Chips, das war zum einen der RapidCad1, wobei dieser den 80386-CPUersetzte, und dem RapidCad2. Dieser ersetzte den Coprozessor des 80387. Der RapidCad2 hat zwar nicht die Elektronik dieses Coprozessors erhalten, sondern nur die Möglichkeit zur Erzeugung externer Bussignale. Im RapidCad1 war der Prozessor bereits integriert. Im Vergleich eines i386mit einem i387 Coprozessors konnte der RapidCad aufgrund der verschiedenen Anwendungen eine moderate Leistungssteigerung von mindestens 30% aufweisen. Trotzdem konnte er an das System des 80486 Prozessors in der Leistung nicht heranreichen. Aufgrund des hohen Preises, wurde der RapidCad nicht weiter in der Verbreitung aufgenommen. Aus diesem Grund zählen diese beiden Chips heute zu den begehrtesten Sammlerstücken.

Der Bug

POPA/POPAD-Bug ist ein Fehler, der sich bei den 386ern zeigte. In den meisten Fällen ist dieser Fehler aufgetreten, wenn nach einem POPA- oder einem POPAD-Befehl ein weiterer Befehl folgt, bei dem eine Speicheradresse direkt aus einem Index- oder Basisregister aus dem Speicherzugriff EAX genutzt wird. Bei dieser Aktion bleibt der Prozessor, insbesondere der POPA hängen. Beim Booten führt der Linux–Kernel einen Test durch, der bei einem vorhandenen Fehler die Meldung „Checking for popadbug…buggy“ ausgibt und bootet aber anschließend weiter.

Die Prozessorenfamilie der Am386 war eine Kopie der Intel i386, und somit AMDs besondere Version der Generation 80386. Im Vergleich zum AM 486 zeigt sich der Am386 als eine noch vollständige Kopie des i386 und beinhaltet keinerlei Eigenentwicklung durch AMD. Die unterschiedlichen Varianten gab es von dem Am386 und auch die höchstgetacktete 80386 Versionen befinden sich unter den CPUs. Die meistgenutzte Taktrate war die in 16 bis hin zu 40MHz und so ist es AMD gelungen, die Taktrate erstmalig zu übertreffen. Es war sogar möglich, dass die CPUs ohne einen Kühlkörper ausgekommen sind. Anfang der 90er Jahre wurde der Am386-40 aufgrund der günstigen Preise zu einem der weitverbreitetsten und populärsten CPUs.

Nutzung der Prozessoren bei Telefon und Weltraumcomputern

Der 80386 Prozessor wurde beispielsweise zur Nutzung von Telefonvermittlungssanlagen genutzt.
Aber der Intel 80386 wurde auch im Weltall verwendet und eingesetzt. Zu Anfang wurde im Space Shuttle der Intel 8086 Prozessor verwendet in Verbindung mit dem APA-101S Computer (5 davon für die Redundanz). Dabei wurden einige MB an Kernspeicher verwendet, da sich diese resistent gegen Strahlung zeigten. Ein Vorteil war, dass die Software weniger als 1 MB verbraucht. Das neue Cockpit im Shuttle verwendete wenig später den Intel 80386 Prozessor.

Der Prozessor 80386, der eine frühere Bezeichnung iAPX 386 hatte, ist eine x86 CPU, welche von Intel unter dem bekannten Markennamen i386 als Nachfolger des 80286 entwickelt wurde und in den Jahren von 1985 bis einschließlich 2007 hergestellt wurde. Später wurde der 80386 von AMD kopiert und als der AM386 verkauft. Chips &Technologies hat von diesem Prozessor seine eigene Version entwickelt. Lizensiert wurde der i386SX von IBM und hat daraus die eigene verbesserte Version IBM386SLC.D geschaffen.

Unterschiede der einzelnen Bezeichnungen des i386EAX und die spezielle Verwendung

EAX = Accumulator - dieser beinhaltet eine bestimmte Bedeutung bei Arithmetikbefehlen
EBX = Base Register - hier gibt es keine speziellen Unterschiede, da das 16 Bit Register mit dem 16 Bit Modus zu der Index Adressierung benutzt wird und im 32 Bit Modus ist es mit allen General Purpose Registern machbar.
ECX = Count Register - dies beinhaltet spezielle Schleifen
EDX = Data Register - hat die spezielle Bedeutung beim Dividieren, beim Multiplizieren und den Portadressen, die für die Assembler Befehle IN und OUT wichtig sind
EBP = Base Pointer - das ist der Zeiger auf die temporäre Speicherstellen im Stack, was zum Beispiel den Stackframe für lokale Variablen aufzeigt
ESP = Stack Pointer - das ist der Zeiger, der auf die aktuelle Position im Stacksegment hinweist, aber dennoch nur eingeschränkt im allgemeinen nutzbar ist, da dieses Register angibt, wo die Rücksprungadresse von den Unterprogrammen und den Interrupts abgespeichert wird
ESI = Source Index - Das beinhaltet die Quelle der String Operationen
EDI = Destination Index - Das ist das Ziel der String Operationen

Der i386EX, EXTB sowie der EXTC sind die Embedded Versionen des i386SX mit einem System und Powermanagment Die Funktionen zeichnen sich wie folgt aus:

Sie bieten zwei 82C59A Interrupt Controller sowie Timer, Counter und weitere Werte
Der Datenbus hat 16 Bit, der Adressbus weist ebenfalls 16 Bit auf. Das L1-L2 Cache ist nicht vorhanden, weist aber dafür die externe FPU i387SX oder auch i387SL. Die Bauform zeigt sich in der Form PQFP mit 132 Pins, SQFP mit 144 Pins und PGA mit 168 Pins. Die Betriebsspannung hat VCore 2,7 V bis etwa 5,5 V

Die Taktraten lauten:

- i386EX mit 16 MHz bei 2,7V-3,3V
- i386EX mit 20 MHz bei 3,0V-3,6V
- i386EX mit 25 MHz bei 4,5V-5,5V
- i386EXTB mit 20 MHz bei 2,7V-3,6V
- i386EXTB mit 25 MHz bei 3,0V-3,6V
- i386EXTC mit 25 MHz bei 4,5V-5,5V
- i386EXTC mit 33 MHz bei 4,5V-5,5V

Mit diesen Taktraten werden ebenfalls die Unterschiede der einzelnen Prozessoren aufgeführt.