A 486 határa

A 486 határa

Némi szünet utaán, ismét kaptam tőletek, olvasóktól egy cikket, ezúttal alvaro nevű fórumtársunk keresett fel, hogy szívesen megosztaná veletek eme cikkét, itt a bacsis-tuningon! Tehát fogadjátok alvaro-tól eme cikket!

Bár az időutazó jelleg megmaradt, ez a cikk mégis egészen más lett, mint aminek eredetileg indult. Arra voltam kíváncsi, hogy a gyűjteményemben fellelhető, annyira különböző 387-es FPU-k teljesítménye is olyan változatos-e, mint a kinézetük. A 386-os korszakban a PC-s processzorok még nem tartalmazták a lebegőpontos egységet, hanem az alaplapon külön foglalatba lehetett azt passzítani. Sokat számoltattam akkoriban fraktálképeket, így régi kedves ismerősöm volt akkor már ez az egység. Dolgozott a kezem alatt 8087 és 80287 is, amik után az FPU nélküli 386SX bizony helyenként visszaesést jelentett.

Aztán túladtam a 386-os alaplapon, az utódján, meg annak az utódján is… Elmúltak a 90-es és a 2000-es évek, és most cirka 20 év után újra szert tettem egy 386-osra, de ezúttal már a DX változatból, ami a gyorsabb, „teljes értékű” verzió, 32 bites adat- és címbusszal.

De akad más érdekesség is a vitrinben, mint egy marék 387: a 386-os és 486-os korszak peremének igazi Frankenstein-szörnyei ezek, a jól bevált és akkor már olcsó 386-os alaplapokba helyezhető nagyjából 486-os processzorok.

És akkor álljunk is meg egy röpke kérdésre…

1

„Az Intel 486 a 80386-os processzor nagyobb teljesítményű utóda volt. 1989-ben mutatták be mint az első szigorúan pipeline (csővezeték) szervezésű x86 processzort. Ez volt egyúttal az első x86, ami több mint egymillió tranzisztorból állt, főleg annak köszönhetően, hogy a processzorba bekerült az azelőtt különálló lebegőpontos egység és beépített első szintű gyorstárat kapott.” – állítja az angol Wikipedia, a magyar távolról sem ennyire bőbeszédű.

A Cyrix (és a Texas Instruments) 486DLC-je viszont nem tartalmazza az FPU-t, a belső szervezése pedig ismeretlen, de legalább egy dolog biztos: cache van benne. Valamint végre tudja hajtani a 486-os új utasításait (nincs sok belőlük), így egy lebegőpontos koprocesszorral megtámogatva a programok oldaláról teljes értékű 486-osnak tekinthető.

Az Intel is készített egy hasonló upgrade-et a 386-os alaplapok számára, amit RapidCAD-nek kereszteltek el. Ez egy nagyon érdekes darab, illetve rögtön kettő, mert a 386-os foglalatba illeszkedő, cache-től megfosztott 486DX mellé jár egy másik chip is. Ennek az egyetlen szerepe elhitetni az alaplappal, hogy a rendszerben jelen van egy 387-es segédprocesszor. Ez tehát bír a 486-os belső felépítésével, vagyis 486-abb, mint a DLC – viszont az alaplap 386-osnak ismeri fel, mert azt a pár új utasítást nem hajlandó értelmezni… És erről csak ma reggel bizonyosodtam meg egy gyorsan összedobott kis assembly program segítségével!

Lebegőpontos teljesítmény szempontjából mindenesetre ígéretes, hogy az FPU „házon belül” található és nem a lassú 386-os buszon keresztül beszélget a processzor többi részével. Meglátjuk, mire elég mindez, főleg beépített cache hiányában!

Összehasonlítási alapnak bekerült a tesztbe két igazi, 486-os alaplapba való 486-os processzor is, az Intel és a Cyrix előadásában. Utóbbiból sajnos DX nem akad itthon, így a lebegőpontos részét nem sikerült összehasonlítani a többiekkel, de néhány mérést azért rajta is el tudtam végezni. A résztvevők:

2

Bal-fentről, mintha olvasnánk: ULSI US83C87-C, Intel 387DX, Cyrix FasMath, IIT 4C87DLC, Chips and Technologies Super Math J38700DX, Cyrix 87DLC, Cyrix 486S40 FasCache (avagy 486SX), Intel RapidCAD-2, Intel 386DX (a tesztben egy másik példány szerepelt, de ez a 20MHz-es darab is fut 33MHz-en!), AMD 386DX-40, Ti 486DLC, RapidCAD-1.

Az AMD 386-os véletlenül elforgatva került a képre. Ez alighanem annak köszönhető, hogy ezeknél a chipeknél a tokozás és a felirat iránya köszönő viszonyban sincs egymással, így ahány darabot tettem az alaplapba, annyifelé kellett forgatni őket. Az AMD meg így járt, mert elfelejtettem a fotó kedvéért visszaforgatni…

Tesztkonfigurációk és fogyasztás

Két alaplap, két videokártya, egy I/O kártya (tizenkettő egy tucat ISA, le se fotóztam), egy hangkártya:

3

111111

Hopsz, egy Caroline névre sem hallgató cirmos macska keveredett az alaplap és a lencse közé. A hozzá tartozó Cave nevű foltos kandúr nem található a képen… Na még egyszer…!

4

A 386-ost megtámogattam 8 darab 1MB kapacitású 9 bites memóriával, a 486-os 16MB FPM RAM-ot kapott. A memória és cache-időzítéseket mindkét alaplapon minimumra vettem, 386-oson a hidden refresh opciót is bekapcsoltam. A két videokártya egy ISA és egy PCI S3, a hangkártya mindkét esetben egy Gravis Ultrasound Classic (v3.74) volt, amit kedvenc időutazóm mutat be – hirtelen nem is tudom, kettejük közül melyik az idősebb:

5

A tesztekben igazából semmi szerepe nem volt, de azért jó volt megnézni egy-egy régi demót is a gépen, akkor jól jött a hang. És hogy a tesztek közben mennyire forrt a gép agya?

6

Fogyasztás és melegedés kéz a kézben járnak. Igazából az asztalon, ház nélkül összerakva ez mind elmenne akár hűtőborda nélkül is, hiszen ennek a huszonvalahány wattnak jelentős része a (21 éves) táp vesztesége, a maradék nagy része pedig az alaplapé és a kártyáké. Azért nagyjából a 33MHz-es RapidCAD-től fölfele elég kellemetlen volt tapogatni a processzorokat, így hosszabb tesztekre kaptak bordát is, sokkal nagyobbat, mint „élesben” valaha láthattak. A koprocesszoroknak semmi szükségük nem volt rá, alig voltak langyosak a tesztek alatt. Érdekes, hogy bár az igazi 486-ok is a melegebb processzorok közé tartoznak, az alaplap mérhetően kevesebb áramot vesz fel alattuk. Valamint az is figyelemre méltó, hogy egy ilyen régi gép fogyasztása alig függ attól, hogy bőszen számol vagy csak a kurzort villogtatja egy üres képernyőn: 1-2 wattos különbségnél többet soha nem sikerült elcsípni.

Teszteredmények

A teszteket azonos órajelen, 33 MHz-en futtattam. Tettem ezt azért, mert ez volt az Intel 386-os processzorok legmagasabb hivatalos üzemi frekvenciája és az én példányom nem is díjazta a 40 MHz-et. Ráadásul nem is volt ezzel egyedül, valahol a cache vagy a memóriák környékén valami megsértődött a 33 MHz-en még jól működő szoros időzítésektől, és nem volt minden stabil a gépen. Először következzen a korszak egyik legnépszerűbb, pofonegyszerű szintetikus tesztje, a Landmark 2.0:

fig_lmcpu

Egészekkel dolgozva az upgrade-ek határozott előnyt tudtak felmutatni, a 33 MHz-en futó RapidCAD és a DLC is megverte a 40 MHz-es 386 DX-et, a kettő közül a TI486DLC volt a gyorsabb. Megjegyzendő, hogy már az elején láttam, hogy a teszteket fölösleges az Intel és az AMD 386-osán is lefuttatni, mert a kettő hajszálra ugyanazt az eredményt érte el az összes versenyszámban. Az Intel és a Cyrix 486-osa láthatóan különbözik, egyforma viszont a Cyrix két FPU-ja, a FasMath és a 87DLC.

Aztán összesen 6db lebegőpontos processzort mértem le 386DX-szel és 486DLC-vel együttműködve:

8

Igazi érdekesség, hogy az Intel 387-es FPU-ja a sereghajtó. Az elkövetkező korokban erre nem sok példa volt. A 486DX már kezdi ezen a téren is kimutatni a foga fehérjét, de végre a RapidCAD is alaposan elhúz a többi 386-os alaplapba való megoldástól.

Éles szemű megfigyelőknek feltűnhet, hogy a képről hiányzik a Cyrix versenyzője. Íme az ok:

9

„Ami elromolhat, az el is romlik.” Nos, az FPU pontszámában nincs is semmi meglepő, elvégre a 486S40 egyáltalán nem rendelkezik ilyesmivel. Viszont itt az oka annak is, hogy miért nem ugyanazzal a videokártyával mértem össze mindent. Ez az 1386kB/s mind az Elsa gyártmányú ISA S3 805 sebessége a 486-os alaplapban. Miheztartás végett ez 21fps-re elegendő 320×200-as felbontásban, 256 szín mellett… Ugyanez a kártya 386-osban ennek a sebességnek majdnem a négyszeresét volt képes megfutni:

10

 

Így került a 486-os alaplapba egy PCI-os S3 Trio64V+, ami azért méltóbb teljesítményt tudott felmutatni.

Hogy valami életszerűbb eredmény is legyen a cikkben, lemértem Doom benchmarkkal is a processzorokat. Ez nem használ lebegőpontos számokat, tehát itt az FPU lényegtelen, mégis a RapidCAD a 386-os lap sztárja. Az Intel 486DX viszont minden mást lemos a pályáról:

fig_doombench

A korabeli szimulátorok fillezett vektoros látványvilágát adja vissza a 3Dbench:

13

A képen épp a RapidCAD eredménye látható. A többi pedig:

fig_3dbench

A felállás a szokásos: a 386-tól 17-21%-ra elhúz a DLC és a RapidCAD, a 486-osok előnye megint elég nagy – de legalább nem annyira elsöprő, mint a Doom esetében.

14

A következő teszt gonosz vigyort csalt az arcomra. Akkoriban nem sok játék volt, amivel sebességet lehetett mérni, a Quake is csak 1996-ban jelent meg. Ennek megfelelően a leggyorsabb 486-okkal is elég nyögvenyelősen lehetett játszani, bár semmi akadálya sincs, hogy egy 33 MHz-es példányon is elindítsuk. Sőt, mivel a 486-nak az FPU-n kívül semmilyen extrájára nem tart igényt, elvileg akár futhat egy 386+387 kombón is… Nos, valóban fut rajta. Helyesebben mondva vánszorog. A 386 alá gyömöszölt 8MB memória éppen elég az elindításához, a hangot letiltottam (akárcsak a Doom tesztnél), és már csak sok türelem kellett a beépített demó lefuttatásához. Én például kimentem közben a kertbe locsolni…

15

A Cyrix 486-osa innen is hiányzik: lebegőpontos egység nélkül a játék el se indul. A 387-esek annyira hasonlóan lassúak Quake alatt, hogy elég volt kettőt lemérni, a leglassabbat és egy gyorsabbat. Többre nem is lett volna türelmem… A RapidCAD 40MHz-en egyébként kerek 3 fps-t hozott, egyedül lihegve a 486-os nyomában, még mindig alaposan lemaradva.

A végére maradt az a műsorszám, ami miatt ezt az egészet el akartam kezdeni, míg aztán Bacsis ármánykodása miatt még a 386-os lapot is felhergeltem 256kB cache memóriával (néha pedig 80MHz-es kvarccal a 40MHz-es CPU órajelért), és ezt a rengeteg mindenfélét lefuttattam rajta…

Tehát fraktálszámítások, a Fractint 20.0 verziójával. Egy egyszerű mandelbrot-halmaz, ami csak összeadást és szorzást igényel, meg egy bonyolultabb mandelfn függvény, amiben szinusz is szerepel. Az alkalmazott fsin egy komplex, hosszadalmas utasítás, az FPU elrágódik rajta akár néhány száz ciklust is, szóval kevésbé fogja a lassú busz megzavarni az összképet. Azt vártam, hogy itt lesz alkalma a RapidCAD-nek megmutatni, hogy ő lélekben azért 486.

16

17

Az eredmény elég Quake-szerű, a 486 és a leszakadó 387-ek között liheg a RapidCAD. A 486SX a 200 másodperc körüli eredményeivel egész egyszerűen  kiesett. A képek pedig:

 

18

19

Ezekhez hasonló absztrakt képek végtelen részleteit számoltattam a korabeli gépeken, és most egy kicsit közelebbről is megismertem azokat a hardvereket, amikkel a maguk idejében nem rendelkeztem. Ha pedig van valaki, aki elég elvetemült és idáig elolvasta ezt a cikket, már megérte.

Végezetül egy-két életkép:

20

 

Ilyen, ha a 386-os lap 486DLC-t talál.

és egy nosztalgikus pillanat a Doomból. Persze DOSBox alatt loptam…

21

About bacsis

4 hozzászólás

  1. Hmmm… most irígy vagyok :-P
    Egyrészt azért mert ezt a cikket én is meg akartam csinálni, de te meg megelőztél! De a külön, „futtassunk 386-oson Quake-t” témát is tervezgettem már…

    Viszont természetesen nagyon örülök ennek a cikknek, hiszen ismét egy olyan cikkel lehettünk gazdagabbak, amit máshol nem, csak itt a bacsis-tuningon lehet olvasni :-)

  2. Remek cikk !
    A 486DLC- ről vannak tesztjeim, az eredményeid jól jöttek az összehasonlításhoz. A Landmark2 tesztnél az enyém magasabbat hoz -128.31- et- , viszont 40MHz- en megy, a 33Mhz, 80%. tehát 100 körül kéne a tiédnek lenni. Viszont FPU- ban meg jobb a tiéd 145/159, a 40- es órajelre vetítve lenyomná az én konfigomat. Érdekes hogy a Rapidcad kombid 33- on is lenyomja a DLC kombimat 3DBench- ben.
    Cikkem itt ha megnéznéd a hasonlításhoz :
    http://logout.hu/bejegyzes/darthsun/retro_kedvenceim_i_386-os_lap_kicsit_felerositve.html
    A kooprocis mérés a végén van mert utólag került bele az FPU.
    Én is elindítottam a Quake- t, meglepetésemre elindult, bár csak elvi jelentősége van, Pentiumtól megy elfogadhatóan.

Leave a Reply