Intel 386SX oder 286 oder warten oder nicht? Die alte Frage. Interessante Benchmarks dabei.
Hallo!
Es ist schon irgendwie eine Frage des Glaubens, ja eine Gewissensfrage:
* SX oder nicht?
Rein historisch betrachtet ist dieses “Halbheiten-Problem” ein echtes INTEL Geschwuer: Man bringt einen Prozessor raus (8086) und einige Zeit spaeter eine halbherzige, abgespeckte zweite Version (8088), die dann das Rennen macht. Wird das beim 16 Bitigen 386’er (SX) auch so sein? Wohl kaum! Aber was geschieht mit der “echten” AT-Klasse (286)? Was stellt der 386sx eigentlich dar? Ist er ein schlechterer 386 oder ein besserer 286? Fragen ueber Fragen. Ich will versuchen einige zu beantworten.
Der 386sx unterscheidet sich vom 386 durch zwei Dinge: Zum einen hat er keine volle 32Bit Busbreite, d.h. er schiebt die Daten in zwei “Paeckchen” a 16Bit ueber den Bus (Das selbe was den 8088 vom 8086 untescheidet, nur dass es da 8 bzw. 16 Bit sind). Der zweite Unteschied ist die Groesse des Adressraumes. Der 386 kann mit seinem 32 Adressleitungen 4GB adressieren, wohingegen der sx bei 24 Adressleitungen auf 16MB kommt. Letzterer Unter- schied sollte aber eigentlich kein Problem darstellen, da heutzutage MSDOS Rechner mit 8MB schon eine Ausnahme darstellen (obwohl Speicherfresser wie OS/2 hier erst richtig zu leben beginnen). 16MB verbieten sich zu Zeit aus liquiditaetsgruenden schon fast von selbst :-). Doch da ist noch ein kleiner aber feiner Unterschied, der gerade in der MSDOSE-Welt eine sehr grosse Rolle spielt: Waehrend der 386 sich schon MHz maessig in 33’er Regionen waehnt, siecht der sx immer noch bei 16MHz durch die Gegend (Nein! Die 20MHz Version ist immer noch eine Ente! Die Haendler die ein solches Motherboard anbieten, haben einfach einen 16MHz’ler auf 20MHz hochgetaktet, was auf die Dauer nicht gut gehen kann (Thermik Probleme, etc.)). Man koennte nun darueber spekulieren warum Intel hier nichts schnelleres bietet, z.B. aus markttechnischen Gruenden (die Second- Source Konkurrenz wie beim 286 fehlt leider). Ein mit gleicher Fequenz betriebener sx sollte gegenueber einem “echten” 386 keine grossen Leistungsunterschiede aufweisen, denn der Prefetchqueue (vorrausschauendes laden der naechsten Instruktionen) sollte den Zeitverlust zum Teil auf- fangen. Wie auch schon die modernen ATs gibt es fuer die sx’er einen NEAT Chipsatz, der im sog. Page-Inteleavemodus angeblich fuer 0 Wait- states sorgen soll. Dieser Modus erlaubt es, relativ langsame Speicher- chips einzusetzen, doch sollte man den blumigen Versprechungen der Verkaefer von wegen “Null Waitstates” kein grosses gehoer schenken (und schon garnicht dem absurden Landmark-Geblubber). In Wahrheit liegt die Zahl der Waitstates je nach anwendungsfall und Speicherausbau zwischen 0,3 und 1 Wait, und nur im Ausnahmefall (bei kleinen Schleifen) sind mal Null Waits drin. Chips & Technologies (Der NEAT hersteller) gibt einen realistischen Wert von 0,7 an. Apropos Speicherausbau: Wer sich fuer einen SXer mit pageinterleavemodus entscheidet sollte bei der Bestueckung gleich mit 1MBit Chips 4MB einplanen, da sonst der Rechener nicht “interleaven” kann und die Performance uebermaessig in den Keller sinkt. Vergleicht man fairerweise einen 16MHz SXer mit einem 16MHz 386er mit einem Wait (z.B. IBM Mod.80), so kommt man im schnitt auf einen Performance verlust um die 15-20%. Hierbei kann aber ein 286-NEAT-Board noch gut mit- halten, zum Teil (je nach Software und Misalignment (siehe unten)) ist es sogar schneller. Und die 20MHz Version haengt sowohl die SX Version wie auch das erwaehnte Modell 80 locker ab. INTEL wollte es natuerlich auch wissen und verglich zwei bis auf den Prozessor identische Rechner mit folgenden Ergebnissen:
286-16 386sx-16 MIPS 3,2 3,2 Landmark 21,0 21,0 Norton SI 18,0 17,6 Whetstone 320 508
Die Software merkt von dem jedoch von alledem nichts. Fuer sie ist der SX ein Waschechter 386, und es gibt absolut keinen Grund, warum DESQview 386 oder Windows 3.0, Paradox/386, UNIX V/386 und MAX386 nicht laufen sollte (damit waere auch schon fast die wichtigste 386er Software aufgezaehlt). Genau darin besteht naemlich die Staerke des SX, in der Verfuegungsgewalt der typischen 386 Befehle, wie Demandpagemode, virtueller 8086 modus, 32 Bit Arithmetik und problemloses umschalten zwischen protected- und realmode und zurueck. Etliche zusaetzlich Befehle, wie z.B. konditionierte Spruenge ueber +- 32kByte beschleunigen die Programme gegenueber einem 286 (Doch der 286 hat einen Vorteil: Er hat kein Problem mit dem Doppel- wortmisalignment, wie der 386 und der sx. Denn bei Wortzugriffen ueber der doppelwortgrenze legen diese beiden noch 3-4 gedenk-Waits ein, zusaetzlich zu der notwendigen Verzoegerung durch den zweiten Buszugriff. Solch ver- troedelung kennt der 286 nicht!). Doch dies zeigt auch gleich die Tendenz: Sobald 32 Bit Software bzw. Befehle genutzt werden, geht die Performance beim sx deutlich in die Hoehe. Hier ein Vergleich:
NAME 16Bit Version 32Bit Version Faktor Paradox 39s 16s 2,4 WorkView 122s 56s 2,2 Autoshade 26min 9min 2,9
Wogegen der 286 der optimale MSDOSE Rechner ist…doch wozu dann der protected mode? Naja, ist ja sozusagen umsonst dabei. Nun ist es also Zeit fuers FAZIT….: Wenn Du schon einen 286 mit > 10Mhz besitzt, dann lass es dabei und warte noch zwei bis drei Jahre. Quaelt sich aber Dein Compiler ewig ab, oder Windows macht den Eindruck, dass die Fenster per Hand gepixelt werden, dann sollte es schon ein 386 ab 25MHz sein. Solltest Du allerdings ganz neu in die MSDOSE Welt einsteigen wollen, so vergleiche sehr eingehend die Preise von 286ern und SXern. Der Unterschied ist manchmal nur 50.-! Fuer die Zukunft ist der SX bestimmt die bessere Entscheidung,besonders im Angesicht von UNIX und Windows 3…wobei man dann als Professioneller es eh’ nicht unter einem 486 macht. Na..das ist eben die Krux an der ganzen Computerkacke!
mfg AXEL