PIOS - Dave Haynie aneb jak Amiga k mnoha driverům přišla...Petr Krenželok
V minulém čísle AMIGA Review jsme si povídali s Davem Hayniem, jednou z předních
osobností svázaných s Amigou, v současné době působící u firmy PIOS, který byl i
napodruhé ochoten odpovídat na mé někdy až školácké dotazy. Řekněme, že chci napsat aplikaci, kde bych chtěl využít funkci mého
čipsetu, např. pro kreslení čáry... Jak toho můžu dosáhnout a stále zůstat
hardwarově nezávislý?
To nemůžete. Jednoduše ani nemůžete vědět, zdali má váš čipset nějakou
rutinu pro kreslení čar, nebo zdali tato rutina používá tytéž datové typy či
metody, jak si vy představujete. Ale pokud lidé tvořící OS udělají vše O.K., je
tato rutina jednou z částí vrstvy grafického rozhraní. Může to být něco skutečně
jednoduchého, třeba jako Line(x0,y0,x1,y1), nebo něco komplexnějšího, jako
Line(struct Border) (toto je přilinkovaný seznam čar, pokud zrovna nejste
seznámen s Intuition, berte to jako příklad). Pokud grafický hardware obsahuje
rutinu pro kreslení čar, je tato volána, pokud ne, je použit CPU. Předpokládám, že každá společnost zabývající se výrobou čipových sad má
vlastní představu, jak by mělo vše vypadat, takže určité rutiny mohou být
umístěny na zcela odlišných adresách. Jak tedy můžu napsat svou aplikaci,
využívající vlastnosti čipsetu, a přitom zabránit psaní aplikace pro každou
grafickou kartu zvlášť.
To je přesně důvod, proč máte softwarovou vrstvu. Pro aplikaci je přímo
nemožné, aby počítala se všemi možnými grafickými konfiguracemi. Prostě by se
aplikace neměla starat, jak se přepíná mezi tasky, nebo jaká jsou specifika
jednotlivých SCSI čipů. Toto je práce pro OS. A operační systém tuto vlastnost
podporuje definicí základní sady funkcí, jež musí být každý driver grafické
karty schopen provádět (přestože např. k jejich provedení použije CPU). Do
stejného driveru pak mohou být implementovány i komplexnější funkce, pokud je
např. schopen grafický hardware této karty je přímo provádět (např. funkce pro
práci s 3D). Takže tyto funkce jsou implementovány na úrovni driveru, nebo je zajišťuje
nějaká knihovna?
Na Amize, kde driver může dost dobře být i knihovnou, zavedl již Commodore
tzv. RTG specifikace. Představte si, že máte něco velmi podobného, jako je např.
graphics.library, která provádí všechny druhy vysoce úrovňových grafických
operací. Můžete mít rovněž knihovnu pro nižší úroveň, nebo dokonce využít
samotného rozhraní driveru, což vám umožní takříkajíc „převzít správu nad
systémem“ a dostat se tak blízko k hardwaru, jak je to jen možné, aniž byste
přitom ztratil možnost využití základních grafických abstrakčních rutin.
Grafický driver je pak vlastně knihovnou, jež je volána skrze graphics.library,
řekněme jako poslední štace pro komunikaci s hardwarem. A co je skutečně „cool“,
je skutečnost, že toto ještě nemusí být konečné řešení; je dosti dobře možné (a
ve skutečnosti to bylo i plánováno), že ke grafickému driveru je přistupováno
vizuálně skrze databázi přímo na obrazovce Amigy. Takže byste mohl teoreticky
mít celou škálu různých grafických karet od různých výrobců, všechny s
aktivovanou obrazovkou, přičemž by všechny pracovaly souběžně. Když to tak poslouchám, ani si nedokážu představit, kde dnes mohla Amiga
skutečně být, nicméně, vraťme se k tématu. Tvrdíte tedy že grafické či zvukové
karty jsou lepším řešením, pak by mě tedy zajímalo, proč Intel pracuje na pentiu
s typovým označením MMX, jež bude mít přímo implementovány funkce pro práci s
multimédii. Proč tedy chtějí u Intelu toto všechno nacpat přímo do procesoru,
když zvláště svět PC je plný grafických či zvukových karet, o nichž tvrdíte, že
jsou pro budoucnost snad jediným flexibilním řešením? Připadá mi to jako návrat
k čipsetu implementovanému jaksi přímo na úrovni procesoru.
Velmi jednoduše: Štěstí a úspěchy Intelu jsou založeny na skutečnosti, že
dokázali prosadit potřebu na zvyšování výkonnosti CPU. Ale to je tendence
stojící proti přirozenému vývoji: jsouce člověkem se naše dovednosti příliš
nemění. Až když začneme od těchto dovedností očekávat něco navíc, něco co samy
nejsou schopny uspokojit, teprve díky této potřebě dojde k jejich změně. Takže
když jsem musel čekat na aktualizaci obrazovky textového procesoru, nebyl jsem z
toho dvakrát nadšený. Ale to už je nějakou řádku let, kdy mi staré obyčejné
pécéčko nemohlo tuto schopnost poskytnout. Takže v době kdy přišly do módy
textové editory se Intel musel značně otáčet, aby mohl zajistit pro tuto činnost
dostatečně rychlé procesory. Jedním z důvodů rovněž bylo dosáhnout přesunutí PC
platformy taky na půdu vysoce výkonnostních systémů, která do té doby patřila
především pracovním stanicím. Dnes používám k navrhování obvodů PC. V době, kdy
jsem však pracoval u Commodore, jsem používal pracovní stanice Apollo a Sun.
Samozřejmě, že PC, které dnes používám, je rychlejší, než byly právě tyto
pracovní stanice. No a je tady nová vlna - multimédia, na něž nyní procesory
doplácejí; a je to úplně stejná situace jako před pár lety, kdy se výpočetní
technika přestala prodávat pouze v oblastech komerčního využití, ale stala se
běžnou spotřební elektronikou: nyní již sice nepotřebujete rychlejší procesor
pro onen textový procesor, ale zato pro multimédia ano. A speciálně pod Windows,
jež jsou skutečným požíračem systémových zdrojů.
V další generaci, jak se zdá, se Intel snaží přesunout více hardwarových funkcí
přímo na bedra CPU. Tak například, tvrdí, že budou mít MPEG-2 dekodér
implementován přímo do MMX Pentia. Do jisté míry se jedná o docela dobré využití
zdrojů, protože přestože například nepoužíváte MPEG dekódování, je přece CPU
využíván i k jiným účelům. Na druhé straně, pokud Intel nezřídí tuto funkci jako
standardní vlastnost procesoru, bude tato fungovat pouze jako standardní funkce
běžného grafického čipu, jak je tomu dneska třeba u Blitteru. Můžete se ale
vsadit, že plné MPEG-2 dekódování z DVD pořádně zaměstná i velmi výkonné MMX,
takže je pro Intel MMX docela kritickou položkou. A je těžké se nějak přít;
většina zákazníků byla za celá ta léta přesvědčována, že nejdůležitější je mít
přece rychlý procesor. A Intel osobně byl jedním z tažných motorů, jež se na
rozšiřování tohoto fenoménu podílel, takže si za to můžou taky sami. A z toho
důvodu je dnes pro prodejce PC obtížné přesvědčit zákazníky, aby raději použili
nějakou kartu s čipem pro podporu MPEG2 dekódování a pomalejší procesor,
přestože by tato kombinace zcela jistě představovala daleko lepší řešení. Musím Vám dát za pravdu, první dotazy vesměs směřují právě na kmitočet
procesoru. Dobře, tak to bylo tedy MMX Pentium, ale vraťme se k Amize. Co si
myslíte o čipu CAIPIRINHA od Phase5, myslíte, že je tady možnost, že si zvolíte
právě tento čip namísto jednoho ze standardních PC? (pozn. - dotazováno v době,
kdy ještě Dave o tomto čipu nevěděl).
O tomto čipu nic podrobného nevím. Pravděpodobně bych mu dával asi stejné
naděje, jako každému jinému čipu, pokud bude pracovat na bázi PCI sběrnice. Ale
zvažte, proti čemu vlastně stojí: dnes můžu mít 64 bitový grafický čip s
propustností paměťové sběrnice 600 MB/s, 2D a 3D grafikou, integrovaným LUT a
200 MHz plus 24 bitovým DAC, řekněme za 30 USD. A za rok tato cena klesne na
takových 1 5 USD. Opravdu nevím, co by mohli udělat lépe než společnosti 20 krát
větší, jež se zabývají výrobou a vývojem grafických čipů delší dobu než samotná
Phase5 existuje. Ale kdo ví, nové technologie někdy vznikají od samých počátků
vývoje, kdy se prostě nestaví tak tvrdě na tom, co již existuje. Nejmíň o dvou
takových vím, zrovna přicházejí na trh, ale ty byly výdobytkem 5-ti leté
spolupráce na projektu s velkými IC společnostmi.
Opravdu neočekávám, že by udělali něco skutečně převratného. Možná udělají, kdo
ví. Ale neexistuje nic lepšího než je hardwarový standard. Grafický čip, který
použijete, je ovládán operačním systémem, a pokud přijde prostě nějaký lepší,
jednoduše na něj přejdeme, avšak bez nejmenšího zásahu do softwaru. Toto je
totiž jediný způsob jak zabránit u Amigy problémům minulosti. Nyní když jste na stránce Phase5 četl specifikace CAIPIRINHI, co na to
říkáte? Vypadá to, jakoby se někdo zase snažil postavit na hardware závislý
systém.
Především to vypadá, jako docela rozumná specifikace, ačkoliv si myslím, že
jejich metoda „uvař si sám“ jim celou jednotku asi prodraží. Uvidíme, zdali
budou schopni zahájit dodávky příští rok; koneckonců příští rok bude vůbec
zajímavý, jen jsem zvědavý, jestli se jim povede všechny jejich speciality
nacpat do čipu, který by pak někdo nakupoval.
Nemůžou se odvolávat na skutečný AmigaOS, UNIX, atd. a přitom být nějak
hardwarově závislí. Dokud nedodají kompletně vlastní OS (což vidím jako velký
problém, protože kdo bude psát software pro tak malý trh), budou muset napsat
drivery a vůbec všechno potřebné pro operační systémy, jež se rozhodnou
podporovat. To, co skutečně dělají, je, že nabízí vlastní hardware. Kromě toho,
že nabízí standardní PCI sběrnici pro I/O, uvádějí, že budou nabízet možnost
rozšíření o jakousi vysoce rychlostní lokální sběrnici, dále pak vlastní 16-ti
bitovou I/O sběrnici. Lokální sběrnice dává nějaký smysl - předpokládáme-li
však, že existuje jistý trh pro příslušná zařízení (možná bude Phase5 jediným
dodavatelem), rovněž plánovaný rychlý port je dobrým řešením, zvláště co se týče
vysoce výkonnostních systémů. Vlastní 16-ti bitový port je již však více
diskutabilní.
Přes to všechno, PCI je dnes až nepředstavitelně levné, a vsadím se, že daleko
lépe promyšlené ve svých základech, než cokoliv, co u Phase5 plánují. Navíc je
jednodušší navrhovat cokoliv pro 32 bitovou, 33 MHz sběrnici než pro sběrnici
16-ti bitovou vystavěnou na 66 MHz. Myslím si, že podceňují, jak problematické
může být přidávání slotů na sběrnici. Pokud je to vaše osobní sběrnice, můžete
perfektně vědět, co na ní běží. Pokud ji však jednou nabídnete světu přídavných
zařízení třetích firem, je velmi těžké zabránit chaosu. Dobře, nyní .si chvíli promluvme o vaší nové Amize, PIOS ONE. Myslím, že
si pamatuji na doby, kdy jsem viděl starou dobrou A500 s primitivním genlockem
titulkovat scény přímo z video kamery takže pokud použijete standardní grafické
čipy, co práce s videem, budete potřebovat nějakou další kartu?
Jen málo grafických SVGA čipů umí běžet na NTSC/PAL frekvencích. Avšak téměř
každý čip na trhu má hodinový syntetizér, ne však každý zahrnuje NTSC/PAL
frekvenční rozsah. Disponují však tzv. „Features“ konektorem, který sám o sobě
umožňuje přidávat věci jako je například již zmiňovaný genlock. Není to sice
přesně to co na Amize, ale může to fungovat. A co přímé napojení vašeho systému na televizní přijímač?
Snažíme se implementovat video výstup, který může být dost dobře použitelný,
pokud budeme PIOS ONE prodávat jako levný domácí počítač. Většina dnešních
televizních přijímačů má již implementován video vstup a je to tedy určitě
řešení lepší, než bylo před pár lety použití RF modulátoru. Jak rychlý si myslíte, že by mohl byt Váš PIOS ONE, řekněme s PPC 603e
procesorem, s emulovaným (či přeloženým) AmigaOS 3.1, řekněme v porovnání .s
A4000 na bázi MC68040?
Nebude až tak rychlý. Nejhorším problémem je dneska emulace čipsetu. Avšak s
nějakou RTG knihovnou jako je Cybergraphics běžící paralelně s emulací, to bude
o mnoho rychlejší. O kolik rychlejší si skutečně netroufám říct, ale myslím si,
že se skutečně výkonným PPC systémem budete moci dosáhnout rychlosti 68040.
Obecně řečeno, co je schopen Apple udělat se svým PowerMacem, je možno s AmigaOS
udělat přinejmenším stejně tak dobře. Kdy předpokládáte, že by mohl být PIOS ONE uveden do života?
Myslím si, že pokud všechno půjde podle našich představ, mohlo by to vyjít
na druhý kvartál 1997. Předpokládáme, že první beta verze bychom mohli v květnu
představit na CEBITu `97. Když si tak pročítám vše o čem jsme se spolu bavili, myslím si, že by
možná nebylo na škodu, kdybych tento rozhovor zveřejnil v našem Amiga Review,
pokud s tím budete souhlasit.
Jistě, nic proti tomu nemám. Možná to alespoň trochu pootevře oči všem, kdo si ještě dodnes myslí, že
Amiga je Amigou právě díky svému čipsetu, a ne OS.
Je to OS! Každý, kdo si myslí, že vše je práce čipsetu, se prostě strašně
mýlí. Zpátky v roce 1985 dělal tento čipset mnoho důležitých věcí, věcí, které
prostě tehdy nemohly být implementovány jiným způsobem. Ale znovu připomínám, že
je to OS, který činí všechny jeho funkce užitečnými. PC svět měl všechny
vymoženosti hardwaru Amigy již před pěti či šesti lety, a stále musí bojovat s
tím, aby dělal věci dostatečně rychle, čistě, s grafikou, autokonfigem, atd.
Čipset Amigy je mezi dnešními standardy velmi primitivní, a dokonce zhruba před
třemi či čtyřmi lety u Commodore se jevil jako velký problém, který se nám
stavěl při představě budoucího vývoje do cesty... Děkuji za rozhovor.
Tak, a to je pro dnešek opravdu všechno. Jak je vidět, Dave Haynie měl zřejmě v
době svého působení u Commodore značně svázané ruce a je zřejmě ze speciálního
čipsetu nadobro vyléčen. Nicméně pánové u Phase5 mají na danou věc zase jiný
názor. Pokud trh rozhodne, že se další novou Amigou stane A~BOX, můžeme si jen
přát, aby se s Phase5 v budoucnu nic vážného nestalo, a CAIPIRINHA
nepředstavovala brzdu dalšího vývoje, jak je tomu dnes u stávajícího čipsetu
Amigy. Ale nač předbíhat, uvidíme. Vytlačiť článok
Pozn.: články boli naskenované ako text a preto obsahujú aj zopár chýb. Taktiež neručíme za zdrojové kódy (Asm, C, Arexx, AmigaGuide, Html) a odkazy na web. Dúfame, že napriek tomu vám táto databáza dobre poslúži.
Žiadna časť nesmie byť reprodukovaná alebo inak šírená bez písomného povolenia vydavatela © ATLANTIDA Publishing
none
|