www.wikidata.de-de.nina.az
Der 80386 ist ein x86 Prozessor mit 32 Bit Architektur die von Intel unter dem Markennamen i386 anfangs iAPX 386 als Nachfolger des 80286 entwickelt und von 1985 bis September 2007 produziert wurde Das 386er Design wurde spater von AMD in Lizenz gefertigt und die Prozessoren als Am386 verkauft IBM lizenzierte den i386SX und entwickelte daraus den verbesserten IBM 386SLC Mehrere Firmen entwickelten kompatible eigene Prozessoren beispielsweise Chips amp Technologies Cyrix oder NexGen lt lt Intel 80386 gt gt Intel i386DX 16 MHzProduktion 1985 bis 2007Produzenten Intel AMD IBMProzessortakt 12 MHz bis 40 MHzL1 Cachegrosse 0 KiBFertigung 1 5 µm bis 1 0 µm CMOSBefehlssatz x86 bis IA 32 16 32 Bit Sockel DX Variante 132 pin PGA DX Variante 132 pin PQFP SX Variante 0 88 pin PGASX Variante 100 pin PQFP Inhaltsverzeichnis 1 Geschichtliche Bedeutung 2 Architektur 2 1 Varianten 2 2 Segmente 2 3 Paging 2 4 Register 3 Prozessor Bugs 3 1 POPA POPAD Bug 3 2 Uberprufung der Grenze des TSS 4 Modelldaten 4 1 i386DX 4 2 i386SX 4 3 i386SL 4 4 RapidCAD 1 4 5 RapidCAD 2 4 6 i376 4 7 i386EX i386EXTB und i386EXTC 4 8 i386CXSA und i386SXSA auch als i386SXTA 4 9 i386CXSB 5 Andere Hersteller 6 Siehe auch 7 Weblinks 8 EinzelnachweiseGeschichtliche Bedeutung BearbeitenMit dem 80386 vollzog Intel auf der x86 Architektur ursprunglich eine reine 16 Bit Architektur den Wechsel auf eine vollwertige 32 Bit Architektur Eingefuhrt als i386 wurde die 32 Bit x86 Architektur von Intel retronym in Intel Architecture 32 Bit oder abgekurzt IA 32 umbenannt Die Funktionen des i386 sind auch in allen Nachfolgemodellen bis zum Core i9 Stand 2019 immer noch vorhanden und gleichzeitig diente IA 32 auch anderen Herstellern als Vorlage fur eigene x86 Prozessoren Die Register dieser Prozessorfamilie sowie der Adressraum der Architektur sind 32 Bit breit Auf der Grundlage der i386 Architektur und spateren Erweiterungen allen voran SSE baut auch die von AMD um die Jahrtausendwende entwickelte 64 Bit Erweiterung x86 64 auf Der 80386 wird weiterhin fur Steuerungsaufgaben z B in Telefonvermittlungsanlagen sowie in der Luft und Raumfahrt eingesetzt Der Grund liegt darin dass seine Rechenleistung fur diese Aufgaben vollkommen ausreicht und er als vollstandig durchgetestet gilt das heisst dass er allen denkbaren Situationen schon ausgesetzt war und daher mit keiner existierenden oder kommenden Software noch ein unvorhergesehenes Verhalten zu erwarten ist Ein weiterer Grund ist seine hohe Resistenz gegen Strahlung Die Entwicklung bei Intel leitete ab 1982 John Crawford Architektur Bearbeiten nbsp Intel 80386 Funktionsblockschaltbild nbsp Die eines Intel i386DX 25 SX215 nbsp Die eines Intel i386DX 33 IV SX544 nbsp Die eines Intel 80386 SX NG80386SX 20 C STEP Varianten Bearbeiten Es gab insgesamt vier Varianten dieser CPU welche sich im Datenbus und im Einsatzzweck unterschieden Die Produktion des i386EX als Embedded Version des i386SX wurde erst im Jahr 2007 eingestellt Intel386SXEine Variante des 80386 ist der 80386SX Er besitzt nur einen 16 Bit breiten externen Datenbus und einen 24 Bit breiten Adressbus behalt intern aber die 32 Bit Mikroarchitektur des 80386 bei Der 24 Bit breite Adressbus beschrankt den adressierbaren physischen Speicher des 386SX zwar auf 16 MiB angesichts eines zu Beginn der 1990er Jahre im Heimbereich ublichen Speicherausbaus von zumeist maximal 4 MiB war das aber keine gravierende Einschrankung zumal viele 386SX Mainboards einen Speicherausbau von 16 MiB auch nicht erlaubten Aus Sicht des Programmierers besteht praktisch abgesehen von der Speicherlimitierung kein Unterschied zwischen dem 386SX und dem echten 80386 der zur Unterscheidung von seinem kleinen Bruder nach dessen Einfuhrung in 80386DX umbenannt wurde Aufgrund der verringerten Datenbusbreite und niedrigerer verfugbarer Taktfrequenzen erreicht der 386SX gegenuber dem 386DX nur eine deutlich geringere Ausfuhrungsgeschwindigkeit Intel386SLDer Intel386SL ist eine Version des i386SX fur tragbare Computer Mit ihm wurde der System Management Mode SMM eingefuhrt der zu Stromsparzwecken die CPU in Tiefschlaf versetzen kann RapidCadDer RapidCad war ein auf 486 Technik basierendes Upgrade fur 386 Systeme Der RapidCad bestand aus zwei Chips dem RapidCad1 und dem RapidCad2 wobei ersterer die 80386 CPU und letzterer den 80387 Coprozessor ersetzte Der RapidCad2 enthielt aber keineswegs die Elektronik des Coprozessors sondern lediglich eine Logik zur Erzeugung externer Bussignale Der eigentliche Coprozessor befand sich schon im RapidCad1 integriert Gegenuber einem i386 System mit i387 Coprozessor brachte der RapidCad je nach Anwendung eine moderate Leistungssteigerung von ungefahr 30 Prozent an ein System mit 80486 Prozessor reichte die Leistung aber nicht heran Neben dem hohen Preis sorgte unter anderem dieser Umstand dafur dass der RapidCad keine weite Verbreitung erfuhr weshalb die beiden Chips heute begehrte Sammlerobjekte sind Segmente Bearbeiten Der 80386 kann direkt bis zu 4 GiB Hauptspeicher adressieren 386SX 16 MiB Der logische Adressraum betragt 246 Byte 64 TiB welcher aber nur theoretisch vollstandig nutzbar ist Der Prozessor verwendet dabei im Protected Mode die segmentierte Speicheradressierung mit 16 bit breiten Selektoren und je nach Betriebsmodus 16 oder 32 Bit breite Offsets Die Segmentierungseinheit unterstutzt wie beim 80286 vier Privilegstufen die fur folgende Aufgaben vorgesehen sind Ring 0 fur den Kernel und Geratetreiber Ring 1 fur Treiber die keinen unbeschrankten Hardwarezugriff benotigen z B Dateisystemtreiber nur selten genutzt Ring 2 fur Systemdienste Ring 3 fur die Ausfuhrung von normalen AnwendungenNur wenige PC Betriebssysteme haben diese vier Privilegienstufen genutzt Meist werden auch aufgrund der Kompatibilitat zu anderen Prozessorarchitekturen die nur zwei Privilegienstufen kennen nur Ring 0 fur Kernel und Basis Treiber und Ring 3 fur allen ubrigen Code verwendet Bezuglich Sicherheit ist der Protected Mode dem flachen Adressiermodell das sich nunmehr durchgesetzt hat deutlich uberlegen Dennoch benutzen nahezu alle neueren PC Betriebssysteme fur Anwendungsprogramme ausschliesslich das Flat Memory Modell Dieses vereinfacht die Programmierung und ist auf andere Prozessorarchitekturen ubertragbar die keine Segmentierungseinheit besitzen Hardwareseitig ist auch die parallele Nutzung von Segmentierung und Paging moglich Dabei wird zuerst durch die Segmentierung die lineare Adresse berechnet und dann uber das Paging in die physische Adresse umgesetzt Ohne Paging entspricht die lineare Adresse der physischen Adresse Bei Verwendung eines sogenannten Flat Memory Modells bei dem Daten Code und Stacksegment in einen linearen 4 GiB Adressraum der Anwendungsprogramme eingeblendet werden ist der Speicher innerhalb der Anwendungsprogramme uber einfache 32 Bit Offsets adressierbar Damit wird der Speicherschutz den die Segmentierungseinheit bietet ausgehebelt Im von AMD eingefuhrten Long Mode in 64 Bit x86 Prozessoren wurde keine Erweiterung der Segmentierung vorgesehen sodass bei x64 nur noch ein Flat Memory Modell nutzbar ist Die Paging Einheit ermoglicht nur einen relativ einfachen seitenbasierten Speicherschutz Inzwischen wird versucht den mit dem Flat Memory Modell verbundenen Sicherheitslucken durch neue Hardwareerweiterungen wie NX Bit ab dem Athlon 64 oder SMEP beizukommen Paging Bearbeiten Zur Verwaltung dient nun eine zusatzliche Ebene welche 4 KiB grosse Speicherseiten englisch memory pages verwendet Die Basisadressen aller Seiten werden in Seitentabellen englisch page tables verzeichnet Diese werden in Seitenverzeichnissen englisch page directories zu 1024 Eintragen gespeichert Ein Adressraum der Grosse 4 GiB wird folglich in 1024 1024 Seiten zu 4 KiB aufgeteilt So kann die lineare 32 Bit Adresse in drei Bestandteile aufgeteilt werden 12 bit Offset in der Speicherseite 10 bit Index auf Seitentabelle 10 bit Index auf SeitenverzeichnisAuf der Seitenebene gibt es zwei Privilegstufen Supervisor Mode fur Betriebssystem und Treiber Ring 0 1 und 2 User Mode fur Anwendungsprogramme Ring 3 In Klammern ist die Entsprechung der Segmentprivilegien angegeben Register Bearbeiten Er hat acht 32 Bit Register Sieben dieser Register hatten zwar teilweise spezielle Verwendungszwecke im Zusammenhang mit verschiedenen Befehlen konnten aber ansonsten frei zum Rechnen und allgemeinen Datenaustausch verwendet werden Die General Purpose Register des 80386 Abk Name Spezielle VerwendungEAX Accumulator niederwertiger Teil und erster Operand bei Multiplikation Quotient bei Division BCD BefehleEBX Base Register keine Das 16 Bit Register BX konnte im 16 Bit Modus zur Index Adressierung benutzt werden im 32 Bit Modus ist dies mit allen General Purpose Registern moglich ECX Count Register Schleifenzahler fur JCXZ und LOOP Verschiebedistanz von VerschiebebefehlenEDX Data Register hoherwerter Teil bei Multiplikation Rest bei Division Portadresse fur die Befehle IN reg DX und OUT DX regEBP Base Pointer Wird zur Adressierung des Stackframe fur lokale Variablen Parameterubergabe benutzt ESP Stack Pointer Zeiger auf die aktuelle Position im Stacksegment nur sehr eingeschrankt allgemein verwendbar da dieses Register angibt wo die Rucksprungadresse von Unterprogrammen und Interrupts gespeichert wird ESI Source Index Quelle fur String OperationenEDI Destination Index Ziel fur String OperationenDaneben gibt es auch noch weitere Register zur Steuerung des Verhaltens der CPU Die Spezialregister des 80386 Abk Name VerwendungEIP Instruction Pointer Zeigt auf den nachsten auszufuhrenden Befehl EFLAGS Flag Register Die einzelnen Bits besitzen unterschiedliche Bedeutungen und zeigen z B Uberlaufe bei arithmetischen Operationen u a an CS Code Segment Segmentselektor des Codesegmentes in dem der aktuell auszufuhrende Programmcode steht DS Data Segment Segmentselektor des Datensegmentes in dem die globalen Daten des Programms stehen SS Stack Segment Segmentselektor des Stacksegmentes in dem der Stack fur die lokalen Daten und Rucksprungadressen stehen ES Extra Segment Segmentselektor eines weiteren Datensegmentes wird z B fur String Kopierbefehle verwendet FS und GS Extra Segment 2 und 3 Segmentselektoren zweier weiterer DatensegmenteGDTR Global Descriptor Table Register Speichert lineare Adresse und Grosse der GDTLDTR Local Descriptor Table Register Segmentselektor fur das Segment das die gerade aktive LDT enthalt Es konnen sich in der GDT zeitgleich mehrere LDT Eintrage befinden IDTR Interrupt Descriptor Table Register Speichert die lineare Adresse und Grosse der IDTCR0 CR3 Control Register 0 3 Steuern u A das Paging den Koprozessor und den Protected Mode Untere 16 Bit des CR0 sind das vom 80286 ubernommene MSW TR6 TR7 Test Register 6 7 Zum Uberprufen des Translation Lookaside Buffer TLB DR0 DR7 Debug Register 0 7 Dienen zum Festlegen von vier Breakpoints auf Prozessorebene DR0 DR3 u a TR Task Register Segmentselektor des aktiven Task Status Segments TSS Es konnen sich zeitgleich mehrere TR in der GDT und LDT befinden Alle General Purpose Register sowie EIP und EFLAGS sind auf 32 Bit erweiterte das E kommt vom englischen extended Versionen entsprechender 16 Bit Register der Vorganger 8086 bis 80286 Prozessor Bugs BearbeitenPOPA POPAD Bug Bearbeiten Dieser Fehler tritt bei allen 386ern auf Wenn unmittelbar nach dem POPA oder POPAD Befehl ein Befehl folgt bei dem eine Speicheradresse aus einem Basis und Indexregister berechnet wird ist der Wert im EAX Register undefiniert Wird als Basis oder Indexregister beim Speicherzugriff EAX benutzt bleibt der Prozessor hangen nur POPA Der Linux Kernel fuhrt beim Booten einen Test durch und gibt bei vorhandenem Fehler die Meldung Checking for popad bug Buggy aus bootet anschliessend aber weiter Uberprufung der Grenze des TSS Bearbeiten Der Prozessor uberpruft ob die eingetragene Grosse des Task Status Segments TSS gross genug ist Die Ausnahme 10 wird immer dann ausgelost wenn das TSS kleiner als 101 Byte ist sollte aber eigentlich schon bei kleiner als 103 Byte auslosen Modelldaten Bearbeiteni386DX Bearbeiten nbsp Intel i386DX 25 MHzCPU Cache Cache befand sich zu diesen Zeiten auf dem Mainboard CPUs selbst hatten keinen Cache Mainboard Cache Ublich waren 64 KByte direkt gemappter Cache bei CPUs ab 33 MHz Taktfrequenz 1 Bauform PGA oder PQFP mit 132 Pins Betriebsspannung VCore 5 V Erscheinungsdatum 17 Oktober 1985 Fertigungstechnik Erste Typen CHMOS III mit 1 5 µm spater CHMOS IV mit 1 0 µm Die Grosse 104 mm ca 10 mm 10 mm CHMOS III und 39 mm 6 mm 6 5 mm CHMOS IV Transistoranzahl 275 000 Taktraten 12 MHz erste Modelle des i386 16 MHz 20 MHz 25 MHz 33 MHz Hoher getaktete CPUs stammten von AMD und von Chips amp Technologies nbsp i386SX 16 MHzi386SX Bearbeiten CPU Cache Cache befand sich zu diesen Zeiten auf dem Mainboard CPU selbst hatten keinen Cache Mainboard Cache Ublich waren 64 KByte direkt gemappter Cache bei CPUs ab 33 MHz Taktfrequenz Bauform PQFP mit 100 Pins PGA mit 88 Pins Betriebsspannung VCore 5 V Erscheinungsdatum 16 Juni 1988 Fertigungstechnik CHMOS IV 1 0 µm Die Grosse 104 mm bei 275 000 Transistoren Taktraten 16 MHz 20 MHz 25 MHz 33 MHzi386SL Bearbeiten nbsp i386SL 20 MHzVersion des i386SX fur tragbare Computer Mit ihm wurde der System Management Mode SMM eingefuhrt der zu Stromsparzwecken die CPU in Tiefschlaf versetzen kann CPU Cache Cache befand sich zu diesen Zeiten auf dem Mainboard CPU selbst hatten keinen Cache Mainboard Cache Ublich waren 16 bis 64 KByte direkt gemappter Cache Bauform PGA mit Pins PQFP mit 132 Pins Betriebsspannung VCore 5 V Erscheinungsdatum 15 Oktober 1990 Fertigungstechnik 1 0 µm Die Grosse mm bei 855 000 Transistoren Taktraten 20 MHz 25 MHzRapidCAD 1 Bearbeiten nbsp Intel RapidCAD 1Anzahl Transistoren 800 000 Herstellungsprozess 0 8 µm Cache on board kein on die Cache Architektur 80486 Technik mit 80386 Befehlssatz und Pinout Coprozessor Integriert Gehause 132 Pin PGA Leistungsaufnahme 3 5 Watt Taktraten 25 und 33 MHzRapidCAD 2 Bearbeiten nbsp Intel RapidCAD 2Der RapidCAD 2 ist ein PLA zur Erzeugung des FERR Signals Eingefuhrt 1992 Anzahl Transistoren 275 000 Herstellungsprozess 0 8 µm Gehause 68 Pin PGA fur 387er Sockel Taktraten 25 und 33 MHzi376 Bearbeiten nbsp Ein Intel i376Der i376 ist ein Embedded Prozessor auf Basis des i386SX und kann als Vorganger des i386EX angesehen werden Er unterstutzt keinen Real Mode und kein Paging Datenbus 16 Bit Adressbus 24 bit Cache nicht vorhanden Bauform PQFP mit 100 Pins und PGA 88 Betriebsspannung VCore 5 V Erscheinungsdatum 16 Januar 1989 Einstellung der Produktion 15 Juni 2001 Fertigungstechnik CHMOS IV 1 0 µm Die Grosse unterstutzte FPU 80387SX Besonderheiten bootet im Protected Mode unterstutzt keinen Real Mode Taktraten 16 MHz 20 MHzi386EX i386EXTB und i386EXTC Bearbeiten nbsp i386EXTCEmbedded Version des i386SX mit System und Powermanagement Funktionenzwei 82C59A Interrupt Controller Timer Counter drei Kanale asynchrone SIO zwei Kanale synchrone SIO ein Kanal Watchdog Timer Hardware Software PIO dd Datenbus 16 Bit Adressbus 26 Bit L1 Cache nicht vorhanden externe FPU i387SX oder i387SL Bauform PQFP mit 132 Pins SQFP mit 144 Pins und PGA mit 168 Pins Betriebsspannung VCore 2 7 V bis 5 5 V Erscheinungsdatum 1994 Fertigungstechnik 0 8 µm Die Grosse mm bei Transistoren Taktraten 16 MHz i386EX bei 2 7 V bis 3 3 V 20 MHz i386EX bei 3 0 V bis 3 6 V 25 MHz i386EX bei 4 5 V bis 5 5 V 20 MHz i386EXTB bei 2 7 V bis 3 6 V 25 MHz i386EXTB bei 3 0 V bis 3 6 V 25 MHz i386EXTC bei 4 5 V bis 5 5 V 33 MHz i386EXTC bei 4 5 V bis 5 5 Vi386CXSA und i386SXSA auch als i386SXTA Bearbeiten nbsp i386CXSAEmbedded CPU mit transparentem Powermanagement Modus integrierter MMU und TTL kompatiblen Eingangen nur SXSA Version Datenbus 16 Bit Adressbus 26 Bit 24 Bit bei i386SXSA CPU Cache nicht vorhanden externe FPU i387SX oder i387SL Bauform PQFP mit 100 Pins Betriebsspannung VCore 4 5 V bis 5 5 V 25 und 33 MHz 4 75 V bis 5 25 V 40 MHz Erscheinungsdatum Fertigungstechnik CHMOS V 0 8 µm Die Grosse mm bei Transistoren Taktraten 25 MHz 33 MHz 40 MHzi386CXSB Bearbeiten Embedded CPU mit transparentem Powermanagement Modus und integrierter MMU Datenbus 16 Bit Adressbus 26 Bit CPU Cache nicht vorhanden externe FPU i387SX oder i387SL Bauform PQFP mit 100 Pins Betriebsspannung VCore 3 0 V bei 16 MHz 3 3 V bei 25 MHz Erscheinungsdatum Fertigungstechnik CHMOS V 0 8 µm Die Grosse mm bei Transistoren Taktraten 16 MHz 25 MHzAndere Hersteller Bearbeiten nbsp Diese Variante des weitverbreiteten AMD Am386DX 40 wurde direkt auf die Hauptplatine gelotet nbsp Single Board Computer mit i386SX 40 kompatiblen ALi M6117C fur den ISA Bus und mit Anschluss fur PC 104 nbsp PC 104 Modul oben mit i386SX kompatiblen M6117D von DM amp PAMDAm386DX Am386SXIBM386SLCSiehe auch BearbeitenListe der Mikroprozessoren von IntelWeblinks Bearbeiten nbsp Commons Intel i386 Sammlung von Bildern Videos und AudiodateienEinzelnachweise Bearbeiten Zur damaligen Zeit gab es 16 und 20 MHz CPUs auf Mainboards die RAM Zugriffe ohne Wartezyklen absolvierten 0 W S 25 MHz CPUs auf Mainboards ohne Cache die RAM Zugriffe mit einem Wartezyklus absolvierten 1 W S und dadurch kaum schneller als 20 MHz CPUs waren sowie CPUs mit 25 und 33 MHz Intel oder 40 MHz AMD mit ublicherweise 64 KByte Cache die auf den Cache ohne Wartezyklen zugreifen konnten und dadurch von der hoheren Taktfrequenz profitierten Ublicherweise wurden diese mit 386 25 Cache oder 386 33 Cache beworben Intel Mikroarchitekturen x86 Mikroarchitekturen 8086 80186 80286 80386 80486 P5 P6 NetBurst Core Solo Core Duo Core 2 Nehalem Westmere Sandy Ivy Bridge Haswell Broadwell Skylake Kaby Lake Coffee Lake Whiskey Lake Cannon Lake Cascade Lake Ice Lake Comet Lake Tiger Lake Rocket Lake Alder Lake Raptor Lake Meteor Lake AtomNon x86 Mikroarchitekturen Mikrocontroller MCS 48 MCS 51 MCS 96 XScale Server Itanium Itanium 2GPU Mikroarchitekturen Larrabee Intel HD Graphics Alchemist nbsp Intel ProzessorenListe aller Prozessoren ab 1970 alle Modellnummern von 2004 bis 2009 Vor x86 Prozessoren Desktop 4004 4040 8008 8080 8085iAPX 86 bis zur 4 Generation Desktop 8086 8088 80186 80188 80286 80386 i386 80486 i486 Overdrive VersionenPentium Serie Desktop Pentium MMX Pentium II Pentium III Pentium 4 Pentium 4 XE Pentium D Pentium XE Pentium Dual Core Overdrive VersionenMobil Mobile Pentium 4 Pentium M Pentium Dual CoreServer Pentium ProCeleron Serie Desktop Celeron P6 Celeron NetBurst Celeron D Celeron Core Celeron Dual CoreMobil Mobile Celeron Celeron MCore Serie Desktop Core Core Solo Core Duo Core 2 Core i Core MXeon Serie ii Server Xeon P6 Xeon NetBurst Xeon Core Xeon Nehalem Xeon Sandy Bridge Xeon Ivy Bridge Xeon Haswell Xeon Broadwell Xeon Skylake Xeon Kaby Lake Xeon Coffee Lake Xeon Cascade Lake Xeon Ice Lake Xeon Sapphire Rapids Atom Serie Desktop Atomx86 kompatible SoCs Desktop Quark EdisonNicht x86 Prozessoren Desktop iAPX 432 i860 i960 Itanium Itanium 2 XScaleWeitere Listen Celeron Pentium Core 2 Core i Normdaten Sachbegriff GND 4161160 3 lobid OGND AKS LCCN sh86007101 Abgerufen von https de wikipedia org w index php title Intel 80386 amp oldid 235772668