Nerad se skoro pod každým článkem mistra Tišnovského opakuji, ale opět smekám. Tak propracované a pěkně napsané články, to je lahoda. Zvlášť v dnešní době, kdy píše každé x-náctileté ucho, co se trefí na klávesnici.
Článek je opět skvělý, ale trochu mě zklamal v tom, že jsem očekával, že bude uvedeno více podrobností, které by mohly leckoho zajímat - např. taková ukázka, jak na PCI probíhá komunikace mezi perifériemi a "CPU" by určitě nebyla od věci. Minimálně jsem čekal, že něco takového bude v dalším díle...
Zkusím zajít trošku více do podrobností. Fakt je, že když jsme dělali desku pro PCI, tak vlastně jediná věc bylo napsat drivery (pro mě docela noční můra :-) a na naši desku dát nějaký čip, který s PCI sám komunikoval, konkrétně to tuším byl AMCC 5933 nebo AMCC 5935 - pěkně zabugované mrchy, seznam toho, co to oproti specifikaci neumí, byl stejně dlouhý, jako samotná specifikace :-)
Je fakt, že jednou jsme si nakonec i půjčili logický analyzátor na PCI, takže to, co si pamatuju zkusím sepsat, je docela zajímavé, co vše se na té sběrnici může seběhnout.
:-) Pamatuji se, jak jsem kdysi delal program, ktery slouzil k detekci karet zapojenych do PC. Program fungoval tak, ze mel zadane mnoziny adres na kterych ta-ktera karta mohla byt a tam vzdy zkousel neco vycist a nebo i zapsat. Ze zdrojaku Linuxu jsem se inspiroval jake registry ma jaky obvod a jake hodnoty tam jsou platne. Program fungoval uplne bajecne az do urciteho okamziku, kdy se tam dostala podpora nezvyklych sitovych ISA karet, diky kterym mnohdy necekane dochazelo k tuhnuti jinych zarizeni nebo i celeho PC... stala se z toho potom takova magie, ktera obsahovala desitky vyjimek kdy kam program nema sahat :-).
Á, nostalgie :). K tomuhle účelu jsem sebou nosíval disketu, na které bylo zkompilované jádro linuxu se zabudovanou podporou všech možných síťových karet. Při bootování to pak buď napsalo která karta byla úspěšně detekovaná. Rychlé, jednoduché, a ... občas zatuhávající :).
Chtel jsem se zeptat jestli nevi, zda je nejaka sance ziskat (sublicencovat) PCI VID/PID jinou cestou, nez se zapojit do PCI-SIG (za tusim docela tucny poplatek) ?
U USB to jde tak, ze si "pujcite" od nejakeho vendora podmnozinu jejich PIDu. U ethernetu se da koupit maly blok MAC adres. Ale u PCI jsem zadnou takovou moznost nevidel ... a pritom by se to docela hodilo.
Popravdě řečeno PCI karta, kterou jsme vyvíjeli, neměla ID registrované, tuším jsme tam měli natvrdo zapsáno 8889 (můžu vytáhnout staré zdrojáky, v nějakém #define to bude :-), dokázal jsem jednoznačně detekovat i více stejných karet pomocí dalšího byte uloženého za vendor ID. Právě kvůli těm poplatkům a také kvůli tomu, že k té kartě stejně byl dodáván speciální SW a počet instalací byl docela malý, s tím neregistrovaným VID (zatím) neby problém.
Je zajímavé sledovat, jak se (aspoň v mainstreamu) pro připojení grafických karet vždy střídavě používala sběrnice univerzální a speciální: univerzální ISA - speciální VLB - univerzální PCI - speciální AGP - univerzální PCI-E. Jako by ty speciální (VLB, AGP) sloužily vždy jen jako nouzový prostředek k překlenutí hluchého období, než se podaří prosadit nový univerzální standard.
no, pravda, VL bus byla opravdu z nouze cnost pro procesory 486, u jiných jsem jí opravdu neviděl.
No a AGP je v podstatě PCIplus má navíc nějaké příkazy. Že by to byla nouzovka mi nepřipadá. Navíc oproti VLBus vydržela víc jak jednu generaci CPU.
A PCI-expres je taková chytrá horákyně...
Mám pěkný kousek, P60 (5V) s VL-BUS, ISA a PCI. Tehdy poklad pro testování všeho možného HW
jinak pár poznámek:
.....Při pohledu zpět do historie můžeme říci, že sběrnice ISA byla jednou z hlavních příčin velkého rozšíření počítačů kompatibilních s IBM PC, XT či AT – jednalo se o skutečný průmyslový standard,.....
- ISA nebyla hlavní příčinou rozšíření IBM-PC (XT). V té době existovala pouze 8bit sběrnice a jmenovala se PC-BUS. ISA se objevila až později s příchodem 16bit rozšíření.
- nikdy to nebyl žádný standard (bohužel, např. časování nad 8MHz se vždy řešilo metodou pokus-omyl), maximálně proprietální IBM
- propustnost v porovnání s PCI na stejné frekvenci byla mírně vyšší (dáno jednoduchostí komunikace)
- pokud se používal kvalitní HW, tak jedna karta (většinou graf. akcelerátor) bez problémů na 50MHz, dvě karty (většinou VGA + řadič disků) spolehlivě na 40MHz
- smrtelnou nevýhodou VL-BUS byl chybějící můstek mezi sběrnicí a CPU. S příchodem CPU na 3.3V (bez napěťové tolerance na pinech) byl konec
Dobre, P60 je pekny kus historie, asi to muze mit VL-BUS kvuli napajeni, pozdeji s tim byly problemy (a hlavne nebyl vazny duvod VL-BUS podporovat).
Jen mam dotaz: opravdu se daly na 50 MHz VL-BUS rozjet dvě karty? Teoreticky ano, ale v praxi jsem to nikde funkcni nevidel, a to me proslo rukama dost pocitacu s 486. Je fakt, ze vetsinou slo o nejake sunt desky a karty (VIA chipset se znamou chybou v cache, grafika Cirrus Logic + noname radic disku), ale vysledkem bylo, ze to treba chvilku fungovalo, potom zacaly vypadky, chyby pri cteni/zapisu do pameti atd. - nahodne pady, ktere se vetsinou svadely na Windows (3.1) :-), ale podle vseho to bylo (v tomto pripade) hardwarem.
Nikdy se mně 2 karty na VLBusu uspokojivě (aby se na to dalo spolehnout) rozjet nepodařilo. A to i při nižší frekvenci. Také mně toho prošlo rukama tenkrát spousta :-)
A dodnes se také nemohu zbavit dojmu, že na trhu bylo i dost VL-Bus karet, které byly VL-Bus jen tak nějak jako, aby se lépe prodávaly. Vyskytovala se řada možných i nemožných konstrukcí a kombinací, mnohdy měla taková karta v praxi oproti tehdy běžnému ISA adaptéru spíš placebo efekt. Totéž platilo do jisté míry také o tehdy módních "kešovaných" adaptérech pro připojení IDE disků.
Skutečný a kdykoliv reprodukovatelný pokrok nastal až s příchodem PCI.
Já si dokonce ještě pamatuju i na jiné lokální PC sběrnice (pochopitelně vzájemně nekompatibilní) - ještě před VL-Busem. Na základní desce byl místo ISA slotu konektor jiný, trochu to vypadalo jakobyste tam měl mechanicky cosi podobného PCI, ale s více piny. Občas se objevila nějaká karta, která s tím byla kompatibilní - matně si pamatuju jakési grafické karty s čipy Cirrus Logic.
jj, u některých karet jsem měl stejný dojem :-) Dokonce některé VLB karty měly na té rozšiřující části konektoru ("hnědá" část za "černou" 16 bitovou ISA) jen pár vývodů, to mě připadlo dost podezřelé, když právě tam se nachází rychlá část datové sběrnice. Hmm, zkusím se prohrabat v krabicích a takové kousky vyfotit, možná to bude poučné.
ještě jsem vlastně nezmínil, že VLB se také překládalo "very long bus"
V té době jsem si pořídil docela dobrou kartu VESA Spea Mirrage do ISA slotu (VLB jsem nikdy neměl - šel jsem pak rovnou na PCI) a kdo na tom viděl běžet Dooma, nebyl ochoten uvěřit, že to není VLB...
Jeste pred dvema mesici jsme meli v provozu takovy stroj. Byly v tom dve VLB karty: VGA S3 86C868 (myslim ze s 4MB RAM!) a radic Promise PDC 20??? VLB ktery mel bohuzel jen 4MB cache (nemohl jsem tenkrat sehnat 4MB 30pin SIMMy). Oboje tedy jen na 40MHz (IntelDX2/80), ale stabilně mnoho let (Windows 3.11 s shellem Calmira a bazelo to VELMI svizne --> o dost rychleji nez 486ky s VGA a radicem disku na PCI. Schovane to jeste mam / ta nostalgie.
Měl jsem počítač s AMD 486 DX2 66 MHz s frekvencí sběrnice přetaktovanou z 33 na 50 MHz. V počítači byl na VL-bus diskový řadič a grafická karta. Celé to běhalo velice spolehlivě. Bohužel teď nedokážu říct, jestli náhodou některá z těch karet nebyla falešná VL-bus (s neobsazenými piny), ale myslím, že ne.
Podobnou hybridni bestii jsem mel jako testovaci na stole v kanclu, kdyz jsem pri studiich delal servisaka pocitacu.
2xPCI, 2xVLBus, 2xISA
No byla to sila, fungovcalo to v utery a v dubnu, karta jednou sla v ISA portu vic vzdalenem od VLBUS, nektere karty zase jenom v tom blizsim, nektere VLBusy ne nesnesly s PCI kartama a ostatne i sousedici PCI a VLB nesly pouzit naraz, ty karty si navzajem vadily a pouzivaly stejnou diru v sasi.
Ano je to tak. Vývoj v IT je stále ve spirále. Jak u sběrnic, tady je to pěkně vidět, tak i například u vlastní struktury IT.
začátek - sálové počítače, pracovníci měli terminály
éra PC - každý má výkonné PC u sebe na stole
budoucnost - web aplikace? (ve své podstatě grafická obdoba terminálu, ke klientovi je "vysunuta" pouze malá část týkající se GUI)
potom zase výkonné PC atd. atd.
Něco na tom bude. Dříve u osobních počítačů znamenal nějaký problém (HW, vir atd.) maximálně vyřazení toho jednoho stroje, větší firma bez problémů fungovala dál. U LANek a WANek je to trošku horší, při troše "štěstí" a monokulturním prostředí může na čas odejít celá. U cloud computingu když bude nějaký průser, tak bude kolosální :-), alespoň pro ty, co na netu mají životně důležitá data a aplikace.
Vy byste si dával někam na Internet ke Googlu životně důležitá data a aplikace případně citlivá osobní data ? Já tedy ne. Přejme těm bláznům, kteří tak dnes činí, hodně štěstí.
Já určitě ne, ale za poslední 2-3 roky se vyrojilo dost "guru", kteří hlásají, že s příchodem Web 2 nastává nová epocha vývoje lidstva, že máme zahodit lokální systémy atd. Je to zapotřebí brát s nadhledem, některé věci na web (či Intranet řešený webovými aplikacemi) už z principu patří, něco ne.
Ano, konflikty preruseni, to bylo na dennin poradku. Dodnes nezapomenu, jak jsem potreboval pridat dalsi seriove porty do PC, mel jsem nejakou ISA kartu (2xserial, 1xparallel), ale protoze uz nebyly zadne IRQ, tak jsem pomoci jumperu nasikmo a kusu dratu 'prehodil' tyto dalsi seriove porty na IRQ 7 (kde byl puvodne ten parallel na vedlejsim jumperu :-) A ono to nadherne fungovalo
Jinak kdesi doma mam jeste jednu 'full-size' hercules grafickou kartu (jako druha grafika pro SoftIce k nezaplaceni), podobnou te v clanku zobrazene CGA, tedy pouze same 74LS a MHB obvody. Navic, protoze za ISA sbernicemi nebylo na mem MB moc mista (byl tam procesor :-(, tak ta karta byla 'ladnym obloukem' oprena z boku o procesor/chladic :-)
A což teprve, když se člověku dostala do rukou karta, ke které nebyl manuál a ani na plošném spoji nebyly žádné popisky...Pak občas následovalo studium plošného spoje a vývodů použitých čipů, aby člověk zjistil, jak to vlastně "najumperovat".
Pak byla mezifáze, kdy začaly jumpery mizet a ISA karty se konfigurovaly softwarově "do flashe" - co karta to vlastní setup utilita pro DOS na disketě. Nedejbože, když jste pak někde "v terénu" zjistil, že jste ji zapoměl v kanceláři na stole...
jj, ta mezifáze byla občas dost děsivá, ony ty jumpery měly něco do sebe. Například nějaké síťovky od HP (pro 100 VG) se konfigurovaly právě pomocí DOSové utility, ta nešla korektně (celkem samozřejmě) spustit ve Windows, takže ke správnému nastavení bylo mnohdy zapotřebí docela dost restartů. Ono se to totiž navíc snažilo o nějaké primitivní PnP a při zjištění konfliktu se třeba přenastavilo přerušení, rozsah portů atd., no zábava.
Nechapu jak udelali 40 MHz. Vcera jsem simuloval omezovak pro 16MHz s 2N3904 a zaboha se to nedalo donutit zesilovat - ma to za behu tak kravskou vstupni (emitorovou) kapacitu asi 220pF ze to potrebuje kolektorove odpory 33 ohmu a to uz neni zesilovac, ale zeslabovac.
BC547C ten je jeste horsi.
Asi me z toho klepne. Pripadam si jak pri surfovani - clovek se snazi a nic nefunguje!
Opet kvalitni clanek, pripojuji se k pochvalnym hlasum. Jen mi chybi nejaky popis (aspon par slov) EISA sbernice. Je na par fotkach, zminky o ni jsou ve vyctech ruznych typu, ale nic vic. V minulem dile jsem taky nic nenasel. Nebo jsem spatne hledal?
Takových desek jsem viděl celou řadu.
Oblíbená byla EISA třeba i na serverech od Intelu - ano, Intel tehdy dělal i servery.
Nezbytná byla u stroje disketa s EISA komfigurační utilitou, kde se konfigurovaly jednotlivé sloty podle toho co v nich bylo. S EISA kartou býval na disketě dodáván konfigurační soubor, který využívala právě tato utilita. Mimochodem EISA karty byly pěkně drahé.
Zásahy do takového serveru, který třeba nějaký čas běžel a bylo třeba přidat dejme tomu síťovou kartu, byly poměrně stresující právě díky onomu softwarovému nastavování. Nebyla nouze o chyby a omyly, které pak zapříčinily, že něco nejelo nebo jednou jsem i viděl, že server ani nenabootoval a čas naplánovaný pro odstávku byl pomalu pryč. Následovalo pochopitelně horečné hledání co je špatně a odstranění problému, ale ty nervy... :-)
Stroje s EISA jsem neměl moc rád.
Přesně.
Základní desky s EISA sloty se daly vcelku normálně koupit, nebyl to jen Intel. Matně vzpomínám, že ve vrcholném období jsem měl v serveru-skládačce desku s asi šesti EISA sloty, 4*síťovka 100 Mbit/s v ceně cca 5.000 za kus a 2* ještě dražší Adaptec. Nějaké EISA karty bych asi ještě našel ve skříni...
Kdysi jsme měli server Dell 486DX2/66 s EISA a externím RAID5 diskovým polem připojeným přes SCSI, doma z toho mám EISA NIC Ethernet kartu. Server bohužel rozmlátili kladivem dřív než jsem ho stačil zachránit :(
EISA byla velmi rozšířená v prvních Alphách, kdy to byla jediná neproprietární sběrnice, která se v té době dala v DEC strojích z důvodu rychlosti použít. Z té doby mi těch karet zbylo myslím celkem dost, pokud by byl zájem..
Ja som mal 486tku a zakladnu dosku s VESA Local BUS. Procesor som neskor upgradol na AMD 486DX5-133 a graficku kartu na Cirrus Logic (VLB). S procesorom to nebolo jednoduche lebo v mojej doske chybali suciastky na zmenu napatia na 3.3V (aj ked jumpre tam boli). Tak som zistil ze ked odpojim tri jumpre ktorymi sa malo prepinat napatie z 5 na 3.3 tak CPU nesiel. Kedze to boli tri paralelne jumpre tak ma napadlo ze kedze su tri asi cez ne prechadza velky prud ktory zrejme napaja cele CPU. Pricom ma napadlo ze ak znizim napatie medzi tymito jumprami z 5V na 3.3V tak by moj "novy" CPU aj mohol ist. Otazka bola ako znizit napatie (ked som nepoznal prud) a tiez ci cez tie tri paralelne jumpre su napajane naozaj vsetky piny procesora alebo len niektore. Na druhu otazku som si zobral voltmeter odmeral a zapisal hodnotu napatia vsetkych pinov socketu pri zapnutych jumproch (ocakaval som teda hodnotu okolo 5V) a pri vypnutych (ocakaval som hodnotu blizko nule) - a vysledok bol kladny - piny na ktorych sa zmenilo napatie zodpovedali napajacim pinom procesora. Na prvu otazku - ako znizit napatie ked nepoznam prud som si pomohol diodami (a faktu ze na diode je konst ubytok napatia - tusim je to 0.7V). Diody som zapojil paralelne a seriovo - tak aby som dosiahol hodnotu 3.3V. Navyse som to urobil tak ze som kupil maly paralelny konektor a do neho kablik ktory som nasadil na spominane piny a na koniec kablika som pripevnil tie diody - takto zakladna doska ostala neporusena v povodnom stave. Aj ked diody pekne hriali, zostava bola naozaj stabilna.
A este k tej grafike - nejak mi tam nefungoval linux (Debian) v grafickom prostredi tak som sa docital ze treba na grafike prepajkovat 2 vodice ktorymi sa zmeni adresa v pamati na vyssiu. To mi urobil znamy tak ze ich mikrospajkou prehodil a tym sa zmenila adresa grafickeho buffera (aspon tak si to pamatam) a fungoval aj Linux :) S touto zostavou som definitivne skoncil ked som zistil ze zakladna doska ma divne obmedzenie - ak som tam dal viac ako 32MB RAM tak RAM nad 32MB nebola cacheovana - kedze vacsina OS sa nahrava do hornych adries, upgrade RAM na 64MB paradoxne spomalil system... To sa dalo ciastocne obist RAMDISKOM v hornej pamati vyuzitym ako SWAP ale nebolo to ono... Bolo na case kupit novu dosku... ;)
To snížení napětí se přesně takto na 486kových deskách dělalom takže Tvoje úvaha a řešení bylo naprosto správné. Pokud se tam měl nacpat procesor na 3,3V (tj. nějaká nová AMDčka a Intel Pentium Overdrive), tak se jumpery prostě vyhodily a nasadil se místo ně takový bazmek, na kterém se snižovalo a snad i trošku filtrovalo napětí. Ten bazmek jsem osobně nikdy neměl, v manuálu v desce byl jen vyobrazený - konektor přesně na oněch n-jumperů, nahoře chladič.
moja doska mala mat podporu pre 3.3V - mal som dokonca jumpre na malu zmenu napatia - 3.3, 3.45 atd, problem bol ze okolo tychto jumprov neboli osadene suciastky cize to nefungovalo. V manuali bola nejaka taka mala poznamka pod ciarou - Ak sa nachadza regulator medzi C3 a C4 tak vasa doska podporuje 3.3V - tejto poznamke som nejaky cas nerozumel - az kym som znacky C3 a C4 nenasiel na doske a zistil ze tam nieco chyba ;) O externom regulatore manual nic nehovoril, zda sa teda ze som objavil Ameriku - ale stalo to za to!
Jj, je možné, že některé lepší desky už byly na změnu voltáže připraveny. Já měl na mysli to, o čem se píše například zde http://www.computercraft.com/docs/old486.shtml (čtvrtý odstavec, PCB). Co to bylo za desku? Neměla VIA 82Cxxx chipset?
Jinak co se týče Intel Pentium Overdrive - to se prakticky nikdy nevyplatilo kupovat, do staré desky (s nevyhovující sběrnicí) dávat dost drahý konvertor a procesor. Bylo lepší koupit buď to nejrychlejší AMD 486 co bylo na trhu (120/133 MHz) nebo přímo Pentium se svou deskou.
Neříkám, že jiní neměli s VLB problémy, já na ni vzpomínám dobře. Kdysi jsem do 486 (80 MHz) koupil již v té době ustupující VLB grafiku Avance Logic za pár stovek. Zrychlení oproti grafice ISA bylo asi 2,5x, ne-li více, koukal jsem na to jako puk. S délkou a manipulací desky problémy nebyly. No oproti ISA obecně kotel.
Predpokladam, ze to byla jedina VLB deska v systemu. Pak jo, na 40 MHz s tim vetsinou zadny problem nebyl. Dve VLB karty, jeste hur na 50 MHz uz problem byval a to casto. Ad delka desky - stavalo se, ze karta po nejake dobe z konektoru na konci "vyjela", hlavne kdyz byly pritlacne jazyky hodne silne. Na jednom komplu zadny problem, kdyz jich ma nekdo na starost 70, tak se pravdepodobnost teto zavady dost zvysuje.
PCI je,jak uvedeno 32 bit sběrnicí,multiplexovanou.Postrádám uvedení 64 bitové varianty PCI.Vzhledem k faktu,že je osazena na všech strojích G3 a G4 Apple (mimo imac všecky minitowery),ve všech serverech Compaq a třeba i v DEC Alpha, byla dost rozšířena.Typickou kartou pri ni byl řadič SCSI (obludy s baterií zálohovanou cache) a nebo NIC.
VLBUS,jak uvádějí zde mnozí,byl velmi háklivý na impedanci a odrazy na sběrnici.Toto se řešilo instalací terminátorů a bylo nutno trochu experimentovat.Záleželo na konkrétní kombinaci komponent.Cachující IDE řadiče byly velkým přínosem,grafika dtto.Dále je důležité vzít do úvahy,že dvě karty stejného typu existovaly v lite a full variantě - chybějící blokovací kapacity, filtrační cívky,neosazené děliče,made in tchaiwan.Co za šunty se v té době v CZ prodávalo,to nikdo dnes neuvěří.S kolegy jsme se shodli,že průměrné pc v 90 letech svou nekvalitou hw podstatně přispělo k pověsti M$ jako výrobců nekvalitního SW.Pokud bylo PC jen z kvalitních komponent,nebyly s M$ problémy.
Nechci se autora clanku dotknout, ale jsem na 90% presvedcenej, ze uvedena Bulharska CGA karta je herkules vyrobeny v Novem Boru ... Minimalne v mem letitem PC16-NB coz je XTcko vyrobene v Novem Boru je stejna karta
Zajímavé, máte k tomu prosím nějaké další informace? Docela mě historie grafických karet zajímá a toto považuji za hodně zajímavý úlovek :-). Předpokládám, že je to také karta založená na Motorole 6845 (CGA i Hercules jsou v tomto ohledu stejné, jen se liší nastavení některých registrů a trošku též časování). Nějaký nepovedený klon Herculesu by to mohl opravdu být, ale je zajímavé, že "zapoměli" na paralelní port, asi v rámci šetření.
Dakujem za pravidelne spominanie svojho casu najslavnejsich grafickych stanic a ich genialneho navrhu. Jeden hystoricky kusok vlastnim (O2) a je az smiesne, ze som schopny denne pracovat na pocitaci co je z roku 1996!
jj, ve škole jsem taky na SGI pracoval. Byla to taková chudinka opuštěná grafická stanice, celkem nikdo jiný na ní kupodivu nedělal, ale já docela často - jel tam v pohodě Vim, gcc, Netscape, nějaký stařičký Photoshop :-) a hlavně - originální "referenční" OpenGL, to jsem ocenil. Jo a málem bych zapoměl na stylové vektorové ikony.
Doteraz sa toho moc nezmenilo - maniesto Netscapu akurat bezi firefox, photoshop bol nieco okolo 3.0 takze kazdy "normalny" clovek ho zmeni za gimp alebo cinepaint. Vim je vsadepritomny ale ja radcsej pouzivam vstavany nedit.
OpenGL na sgi je naozaj lahoda vsetko ide vzdy a je naozaj optimalizovane na zelezo. Vektorove ikonky su stylove ale aj tuze prakticke. Povodne som bol presvedcseny o tom ze su tam prave preto lebo SGI vedelo 3d naozaj dobre a tympadom si urobili aj akcelerovany filemanager. Ale bolo mi vysvetlene ze skor ide o to ze vsetky SGI maju rovanky system a ikonka v rozliseni 48x48 pixlov by sa dost spatne hladala pri rozliseni 6000x6000...