PowerPC 615 a dávné plány na ovládnutí platformy PC
Průměrný uživatel dnes nejspíš nebude tušit, co to PowerPC vlastně je, nebo bylo. Ti trochu zběhlejší si možná vzpomenou na desetiletou etapu počítačů od Applu, které procesory PowerPC používaly. Jen málokdo si dnes ovšem vzpomene, jak velké plány mělo v první polovině devadesátek spojení společností Apple, IBM a Motorola ve snaze ukončit nadvládu Intelu v osobních počítačích.
Válka procesorů
První půlka devadesátých let by se dala charakterizovat i jako období války procesorů a počítačových platforem. Procesory x86 tu vedle Intelu vyráběly také AMD, Cyrix, IBM, TI a další. Kromě toho však byly na trhu (osobních počítačů a pracovních stanic) i jiné procesorové platformy, z nichž některé útočily na nezanedbatelný kus koláče. Namátkou třeba procesory Alpha (DEC), nebo vysoko taktované, architekturou jednodušší procesory MIPS. Začátkem devadesátek došlo také k zajímavému spojení společností Apple, IBM a Motorola (= AIM) za účelem vývoje úplně nového procesoru PowerPC. Procesoru, který měl nabídnout vysoký výkon a promyšlenou vnitřní architekturu při zachování nízkých výrobních nákladů. Panoval totiž názor, že x86 je již mrtvá architektura a je potřeba přejít na něco typu RISC.
Je právě duben roku 1993 a spojení AIM ohlašuje své první dítko – plně 32bit RISC procesor PowerPC 601. Jde o jednočipovou redukovanou variantu procesorů Power 220 pro systémy IBM RS/6000, která má přímo v sobě 32 kB cache a může běžet s takty 50 nebo 66 MHz. Ohlašovaný výkon 40, resp. 50 bodů v uznávaném testu SPECmark dává tušit, že výkon bude podobný první (a zatím jediné) verzi procesoru Intel Pentium (60/66 MHz). Rozdíl je však v ceně. Pentium je v roce 1993 velmi drahé. Cena $300-400 za PowerPC odpovídá spíše vyšším 486, které se stále používají ze všeho nejvíce. Nový procesor na sebe rychle strhává zájem médií i odborné veřejnosti.
Dobové noviny (zdroj: InfoWorld, Google Books)
Na podzim téhož roku už procesor začíná být dostupný a přichází na trh první pracovní stanice postavené na platformě PowerPC. V první řadě jde o stroje pro provoz UNIXového systému IBM AIX. Základní sestava s 66MHz PPC 601, 16MB RAM, dvěma sloty MCA a grafikou na lokální sběrnici vychází na $5 000, což je na značkovou pracovní stanici velmi příznivé. Konfigurace pro hi-end 2D, resp. low-end 3D vybavené 1GB diskem, větší pamětí a 19“ barevným CRT monitorem vycházely na $10 000 (pořád dobrá cena v kontextu doby).
AIX je první systém, který s PowerPC spolupracuje. IBM slibuje, že jeho příští jádro bude už v základu schopné běžet na Power i PowerPC. Apple (vedle dalších výrobců) dokonce zprvu slibuje, že jeho ohlášená řada PowerMac (= Mac s PowerPC) bude s AIX kompatibilní (později z toho sešlo).
Ve jménu emulace
Začátkem roku 1994 jdou na trh nejočekávanější z počítačů na platformě PowerPC rovnou k recenzentům – jde o počítače Apple PowerMac. Apple podobně jako ostatní výrobci a novináři vidí důležitost v rychlé emulaci jiných procesorů, neboť v této době již není možné jen tak přijít na trh s počítačem, který nemá dostatečnou softwarovou základnu. V případě Applu jde především o emulaci procesorů Motorola 68k, které provází Macy od počátků až do roku 1995, kdy vyjdou poslední 68k modely (například PowerBook 190). PowerPC je připraveno tak, aby vyžadovalo co nejmenší zásahy do architektury původních Maců, díky čemuž je možné vložit nový procesor do 68k modelu ve formě speciálního procesorového modulu.
Apple PowerBook 540c vyšel ještě před příchodem mobilní varianty PowerPC a měl Motorolu 68040. Jakmile byl nový procesor dostupný, bylo možné vložit pod klávesnici speciální PowerPC procesorovou kartu a získat více výkonu (zdroj: Apple).
Z prvních recenzí PowerMaců vychází smíšené hodnocení. Na jednu stranu redaktoři chválí výrazný nárůst výkonu proti předchozím Motorola 68040 v programech, které už jsou překompilovány pro PPC, horší je však situace se spouštěním původních programů v MacOS, které s novým procesorem nepočítají. U nich jsou instrukce starší architektury emulovány operačním systémem a rychlost je zprvu bídná. Je jen někde v rozmezí 68000 a 68020 (až nejvýkonnější 80MHz Quadra 8100/80AV má emulovaný výkon na úrovni 68030 v Mac IIci).
Apple má také snahu emulovat Intelovské procesory (podobně jako IBM v AIX), což řeší přibalováním programu SoftWindows ke všem PowerMacům alespoň s 16 MB operační paměti. Bohužel tam je výkon emulace jen na úrovni 286/386 (podporované režimy a instrukce jen 286). Možnost spuštění programů pro DOS a Windows není bezdůvodná. V Applu totiž věří (tedy minimálně v marketingovém oddělení), že když dají tuto možnost business uživatelům klasických PC, nebude už jim nic bránit přejít na alternativní platformu. Mají odhad, že 40 % uživatelů PC je úplně jedno, na jaké platformě pracují (možní zákazníci nakonec přijali spíše vyčkávací taktiku, neboť výkon a cena nejsou všechno zvláště v business segmentu).
Počítače PowerMac útočí také nízkou cenou, kdy stroj s 60MHz PowerPC 601, 8 MB RAM a 160MB diskem vychází jen na $1800 (bez klávesnice a monitoru). Srovnatelně výkonné značkové počítače s Pentiem nejsou levnější.
Jako velké lákadlo Apple předvádí některé filtry v Photoshopu nově upraveném pro PowerPC. Místy má totiž procesor dvojnásobný výkon proti 66MHz Pentiu (resp. čtyřnásobný proti 25MHz 68040). Výsledek to byl bezpochyby velmi dobrý, ale hodí se dodat, že Photoshop ve verzi pro Windows ještě nebyl správně optimalizovaný pro Pentia (kde to bylo potřeba kvůli dvojici FPU). Taktéž je to doba, kdy už na trh pomalu přichází výrazně vylepšené Pentium na novém jádře s možností vyšších taktů a lepším poměrem výkon/spotřeba. V tu chvíli to ovšem nikdo neřeší – PowerPC jednoduše v některých úlohách je rychlejší než nejrychlejší Pentium a to se počítá.
Když Motorola s velkým zpožděním o měsíc později konečně vydává 50MHz 68060 ($262), je jasné, že ani u Applu, ani v pracovních stanicích už nebude mít velkou budoucnost. Poslouží tak především do akceleračních karet jako upgrade starších počítačů, případně do tiskáren a komunikačních jednotek.
PowerPC 615 a hardwarově asistovaná emulace x86
První nevalné pokusy o rychlou emulaci výrobce neodradili. Jednak jsou v přípravě novější PowerPC 604, které budou pro chod emulátorů vhodnější (slibovaný x86 výkon na úrovni 60MHz Pentia), jednak se vylepšují emulátory v systémech. Vedle AIXu, MacOS (SoftWindows) se připravuje emulátor x86 i do OS/2.
Poprvé však v první půlce roku 1994 zaznívají i úvahy nad výrobou takového procesoru PowerPC, který by dokázal zpracovávat nejen svou základní instrukční sadu, ale také instrukce x86. Procesor by se tedy přepínal podle toho, jaký kód zrovna potřebuje vykonávat. V systému by byly potřebné knihovny emulátoru, ale ten by nemusel řešit překlad instrukcí.
Mnohem více se o PowerPC 615 mluví na podzim téhož roku. Na veřejnost pronikají informace, že se uvažuje o různých typech návrhu. Jedním (preferovaným) je výroba ve formě upgrade Pentia do běžných základních desek. Očekává se, že se objeví opět desky se sloty OverDrive, jako tomu bylo v minulosti, když byla nová platforma na spadnutí. Ideálně by šlo o řešení, že by mohly oba procesory (PPC 615 a Pentium) zůstat v počítači a systém by mezi nimi dokázal přepínat.
Další varianty se týkají samostatných procesorových karet s možností startovat případně rovnou do režimu PowerPC nebo přepínání před bootem pomocí speciální diskety. Plánované vydání? Už začátek 1995.
V IBM se domnívají, že další Pentium už bude mít podporu 64bit instrukcí. Z toho důvodu je PowerPC 615 odvozeno z modelu 620, který má 64bit jádro a umí pracovat ve 32bit i 64bit režimu. Model 615 tedy má umět pracovat až ve třech režimech (dohromady s 32bit x86).
Celou situaci však komplikuje vyjádření divize IBM Personal Systems, která o tento procesor nejeví zájem, neboť věří v dostatečnou rychlost softwarové emulace. Svou roli pravděpodobně sehrává i taktizace, neboť by zákazníci mohli již vydanou generaci považovat za podřadnou a podpořilo by to jejich vyčkávací taktiku.
Multiplatformní Windows NT
Microsoft v rámci války procesorů vychází vstříc alternativním platformám, aby si případně pojistil segmenty trhu, které by mohly vzniknout. Windows NT 3.5 určený pro pracovní stanice a servery je upraven pro běh na procesorech Intel/x86, MIPS i Alpha. Verze pro PowerPC je neustále odkládána, až nakonec vychází spolu s vylepšeným sestavením Windows NT 3.51 v první půlce 1995.
Zajímavostí těchto speciálních verzí jsou přidané knihovny, které umožňují emulovaný běh aplikací určených pro x86 (v případě PowerPC šlo jen o 16bit x86 programy, ale třeba Alpha díky FX!32 zvládala 32bit aplikace s poloviční rychlosti proti nativnímu kódu). V podstatě je jedno, na čem vám Windows NT běží – vždy je možnost spouštět standardní PC programy. Počítalo se s tím, že ty hlavní programy, které mohou těžit z vyššího výkonu procesoru, budou přeloženy pro danou platformu a různé další podpůrné aplikace pro změnu nebudou tak náročné, aby nižší rychlost vlivem emulace vadila.
Podobně multiplatformní byl ještě Windows NT4.0 a některé prvky emulačních knihoven byly v pozdějších Windows použity kvůli procesorům Intel Itanium. Je velká škoda, že něco podobného Microsoft neudělal také u platformy ARM s Windows RT. Byl to totiž právě nedostatek aplikací spolu s dalšími restrikcemi, co tento systém zabilo.
Vzhledem k tomu, že divize osobních počítačů v IBM odmítla PowerPC 615, snaží se tým zapůsobit hlavně na Microsoft, který by schopnosti procesoru implementoval právě do Windows NT (procesor by se pak prodával partnerům). Existují už údajně první vzorky procesorů a opravdu mají možnost spouštění 32bit kódu PPC/x86 a 64bit kódu PPC. Přepínání mezi PPC a x86 trvá pouze pět cyklů procesoru a přepínat lze také řazení bytů (big-endian, little-endian), které se u x86 liší.
Bohužel je to v době, kdy už opadají přehnaně optimistická očekávání, že zákazníci utrhají výrobcům alternativních procesorů ruce. Microsoft chápe, že vývoj systému pro jiné platformy se mu nakonec nezaplatí a do verze pro PowerPC už nechce hrabat. Týmu z IBM tedy nevyhověl, čímž je projekt PowerPC 615 ukončen, neboť je jisté, že nikdy nebude výdělečný.
Závěrem
Byl to konec jednoho z projektů, který mohl způsobit, že by dnešní procesory měly už dávno úplně jinou architekturu než x86. Až tak drsné by to pravděpodobně nebylo ani v případě velkého úspěchu. Přesto by bylo asi zajímavé vidět nějaký alternativní vesmír, které se procesor podařilo dodělat a výrobci počítačů jej alespoň v omezené míře používali.
Za neúspěchem PowerPC 615 stálo několik špatných rozhodnutí. Vyčkávání na OverDrive patici bylo jedním z nich – Intel už totiž nikdy žádnou nevydal. Snaha využívat standardní základní desky také nebyla dobrá. Další problém tkvěl v 64bit jádře. Intel s 64bit procesory přišel mnohem později, stejně jako hlad po takových procesorech v segmentu osobních počítačů. Kvůli 64bit jádru byl čip poměrně velký (16,5 x 20 mm při .35μm technologii), měl větší spotřebu a nemohl běžet na tak vysokých taktech jako běžnější procesory PowerPC.
Takové PowerPC 604e začínalo na 150 MHz, bylo menší, chladnější, rychlejší a levnější. Místo podpory x86 se zvětšila vyrovnávací paměť pro lepší emulaci 68k procesorů v Macu. Právě Apple dokázal z PowerPC vytěžit asi nejvíce, neboť na něj přešel na deset let u všech svých počítačů.
IBM procesory využilo nakonec pouze v divizi RS/6000 (pracovní stanice, servery, superpočítače) a do osobních počítačů je netahalo. Tyto divize mezi sebou ostatně spolupracovat příliš neuměly. Když to zkusily při výrobě RS/6000 notebooků, přehazovaly si mezi sebou podporu jako horký brambor a po pár letech a několika modelech byl projekt ukončen.
IBM ThinkPad 860 byl poslední z řady používající procesory PowerPC. Měl 166MHz PPC 603e, 32MB RAM, 1,2GB pevný disk a čipy pro kódování/dekódování videa (s podobným výkonem a možnostmi jako měl ThinkPad 755CD). Podporoval operační systémy IBM AIX i Windows NT 3.51 a nejčastěji byl používán lidmi pracujícími na systémech RS/6000, kteří potřebovali spouštět stejné programy i na cestách. Pro další info doporučuju: oficiální PDF, technopolis, trimdale, ayanic01, nekochan fórum, virtuallyfun, OS/2 museum.
Lidé z týmu PowerPC 615 z části odešli do společností jako ARM a Texas Instruments. Část přešla do projektu Transmeta Crusoe, kde bylo možné použít některé myšlenky z 615. Šlo o procesor, který měl instrukční sadu podle toho, jaký program se do něj nahrál, takže mohl emulovat třeba x86, anebo třeba spouštět přímo Java bytecode.
Notebook ECS A531 patřil mezi levné alternativy vybavené procesory Transmeta (specifikace výrobce). Na rozdíl od PowerPC 615 se tohle dostalo do reálných produkčních zařízení. Notebook s Transmetou bylo možné koupit i v ČR (2002-2003). Výhodou procesoru byla jeho velmi nízká spotřeba. Nevýhodou bylo, že na 1GHz Crusoe mělo výkon jen asi jako 500MHz Pentium 3.
Z PowerPC 615 nakonec zbylo několik vzorků v rámci první fáze testování, které si členové týmu vzali na památku, a upravená speciální verze Minixu, která posloužila k úspěšnému ověření konceptu paralelního běhu PPC a x86 aplikací.
Nemyslete si ovšem, že myšlenka hardwarově asistované emulace x86 zmizela. Například v Číně mají kvůli technologické nezávislosti počítače s vlastními procesory Loongson, které jsou založené na architektuře MIPS, a do těchto procesorů je přidána řada instrukcí zvyšujících výkon při emulaci x86 (5 % plochy čipu). Díky tomu je možné vykonávat kód x86 s rychlostí údajně na úrovni 70 % nativního výkonu procesoru. Softwarová podpora je řešena úpravou opensource emulátoru QEMU.
1. pavt 6.5.2014 7:55:01
Díky Jirko za perfektní článek – velice dobře si tu dobu pamatuji, to se stále psalo, že RISC je budoucnost, pěly se ódy, jak bude PowerPC v emulaci rychlé a Pentium, to je zastaralá technologie…no a pak přišly první reálné mašiny s PowerPC, postupné vystřízlivění a nakonec o PowerPC už nikdo nestál… Možná to byla dobrá architektura, ale on ten Intel nějak odmítl podřídit se vizionářům a spáchat harakiri…:-) Díky za vzpomínku!
2. swarm 7.5.2014 10:34:31
[1] Mělo to ovšem jednu velkou výhodu. Do doby toho všeho držel Intel vysoko ceny Pentií, protože AMD nemělo nic postaveného proti tomu a konkurence byla jen u 486 (kde naopak šly právě kvůli AMD ceny dolů). Intel snížil cenu Pentia až ve chvíli, kdy to vypadalo, že by někdo opravdu mohl začít přecházet k alternativním platformám.
Něco podobného by bylo potřeba i dnes, protože Intel je zas ve stavu, kdy vymýšlí blbosti a nemá nikoho, kdo by ho ohrožoval v segmentu PC.
3. Logout 7.5.2014 11:59:14
Jistě nikdo nečeká, že se nevyjádřím, zvláště pak po prvním komentáři :) Reaguji zejmána na něj, k článku nemám žádných námitek, je čistě faktický.
PowerPC byla výborná architektura a v serverových procesorech Power stále je, jinak by ji Google jistě nezačal zařazovat do svých datových center, jak se teď děje.
PowerPC v emulaci rychlé bylo, třeba v emulaci 68k, kde ještě Mac OS 8.5 měl velké kusy kódu pro původní procesor, takže nemalá část neustále vykonávaného systémového kódu byla emulována. Jediná potíž byla u nejnižších procesorů 603, kde nebyla dostatečně velká cache na to, aby se do ní emulátor vešel a tudíž se neustále muselo pracovat s pomalou hlavní pamětí.
Pentium i přes to, že samozřejmě z pohledu vítězné architektury tomu dneska nikdo neuvěří, opravdu bylo zastaralé, táhlo spoustu historických režimů, zpočátku neumělo ani korektně počítat a až do doby než přišel mikrokód prostě na sobě mělo hodně zbytečného balastu.
A konečně – RISC je budoucnost, tedy dneska už spíš současnost, všechny běžně používané procesory uvnitř fungují na principu RISC, x86/x64 na úrovni mikrokódu, ARMy pak nativně.
Výsledný tržní neúspěch PowerPC (i přes výrazné technické úspěchy v průběhu – viz moje oblíbené PowerPC 750) je víc důsledkem špatných rozhodnutí těch, kdo PowerPC prosazovali, dobrého marketingu těch, kteří se mu bránili a mj. i strašení zpětnou kompatibilitou. Jelikož nejsem ani jedním ovlivňován, zůstávám u PowerPC na neurčito.
4. rmartin 12.5.2014 10:13:44
O ThinkPadech s PPC jsem už četl, v dnešní době jsou to mimořádně vzácné a ceněné sběratelské kousky. Článek mi je hezky zasadil do kontextu a rozšířil povědomí o problematice, díky za něj.
5. Nox 14.5.2014 17:02:12
Skoda, zrovna x86 by konkurenci potrebovalo jako prase drbani, kdyz se clovek podivaj, jak uzasne narostl vykon za poslednich par let.
6. Ladis 14.5.2014 17:32:47
[5] Intel nemůže za to, že nikdo jiný nevyrobil nic aspoň podobně výkonného (včetně AMD). Šanci v levné/mobilní třídě s ARMem zas zabil Microsoft, když vyrobil Windows (RT), kde nejdou spouštět Windows aplikace (a obráceně Metro aplikace zas nejdou spouštět na Win 7, takže byste je dělal pro DVĚ Win platformy). Kdyby to udělal jako Apple, tak už dávno kompilujem „tlusté“ binárky x86/x64/ARM ve Visual Studiu/MinGW.
7. Nox 14.5.2014 17:38:18
6. Netvrdim, ze je to vina intelu, jen konstatuji svuj pohled na dnesni realitu. To, co udelal MS s Win8/RT radeji nekomentuji, to je vazne k placi.
8. swarm 14.5.2014 22:28:21
Podle mě to je i trochu zásah Intelu. To, že má výrazně dominantní postavení, je dáno i dalšími důvody, než jen dobrými procesory. I ten Windows pro ARM měl původně umět snad i desktopové aplikace a mělo to být plnohodnotné, jenže pak se psalo o nějakém zásahu Intelu a výsledkem bylo, že se z nadějného projektu stal ten nynější paskvil.
9. klusacek 14.10.2015 19:45:29
Zajimave — vubec jsem netusil ze chteli na PowerPC emulovat x86. Stejnou cestou se vlastne vydalo AMD kdyz koupilo firmu NeXGEN a jeji 586ku. Uvnitr je superskalarni RISC CPU s vhodne vymyslenymi instrukcemi tak aby sly namapovat na x86. Jen na rozdil od PPC se nerozhodli tomu dat nejaky nativni mod kdy by sly vykonavat primo tyto instrukce.
Jinak AMD to takhle zkousel uz pred tim, chteli namapovat x86 na RISC procesor Am29000 ale vysledek byl malo vykonny, protoze Am29000 bylo od x86 dost odlisne.
Jako hlavni odkaz Transmety Crusoe, ktery vsichni pouzivame, vidim technologii dynamicke zmeny frekvence a napajeciho napeti CPU. S tim prisli prvni a ostatni vcetne Intelu to od nich pak zacali kopirovat. Do te doby myslim jen nektere PPC a mozna Alpha umely vypinat jednotky CPU ktere nebudou v nekolika pristich taktech potreba.
Jeste drobnost:
„Photoshop ve verzi pro Windows ještě nebyl správně optimalizovaný pro Pentia (kde to bylo potřeba kvůli dvojici FPU).“
je podle me blbost, protoze Pentium melo jen 1 FPU a dvojici integerovych jednotek (u-pipe a v-pipe — nebyly ani uplne stejne, kazda umela neco).