reklama
Aktuality  |  Články  |  Recenze
Doporučení  |  Diskuze
Grafické karty a hry  |  Procesory
Storage a RAM
Monitory  |  Ostatní
Akumulátory, EV
Robotika, AI
Průzkum vesmíru
Digimanie  |  TV Freak  |  Svět mobilně

Nový procesor CRUSOE je konečně tady (3)

25.1.2000, Jindřich Šaršon, zpráva
Nový procesor CRUSOE je konečně tady (3)
Crusoe podrobněji - Code Morphing Software

Předchozí díl


Jak jsem slíbil v předchozím dílu seriálu, v tomto pokračování se budeme zabývat technologií, která se jmenuje Code Morphing Software.
jádro


Jelikož jádro procesoru Crusoe používá speciální instrukční sadu, kompatibilita je zajištěna softwarově. Ovšem tato podpora softwarové emulace je zabudována přímo v čipu. Pokud se podíváte na blokové schéma procesoru, které bylo uvedeno v předchozím dílu, zjistíte, že jednou ze součástí je i řadič paměti ROM. V této paměti je totiž umístěn program, který se o emulaci stará. Ihned po svém spuštění procesor překopíruje obsah ROM do klasické paměti (kvůli rychlosti) a spustí ho. Poté je již Crusoe schopný provádět instrukce instrukční sady x86. Transmeta neplánuje, že by někdo psal nativní aplikace přímo ve strojovém kódu Crusoe, jediný software napsaný v tomto kódu bude právě Code Morphing Software. Co k tomuto kroku firmu vede? Aplikace napsané v nativním kódu by byly určitě rychlejší, řeknete si možná.

To je sice pravda, i když emulace je zde poměrně kvalitní. Ovšem hlavní důvod je v tom, že Transmeta nechce zabřednou do problému zpětné kompatibility podobně jako Intel. Díky emulaci x86 kódu je naprosto jedno, jakým způsobem se budou hardwarově vyvíjet další procesory řady Crusoe. Jediné, co bude potřeba u nové verze procesoru přepsat, bude Code Morphing Software. Už první dva modely procesoru jsou od sebe natolik hardwarově odlišné, že používají jinou verzi Code Morphing Software. Výhod tohoto řešení je více - například možnost upgrade (pro podporu nových x86 instrukcí či odstranění chyb předchozí verze), případně emulace úplně jiného čipu (přímo se nabízí interpretace javovského bytekódu).

Jako nevýhoda by se mohlo zdát zpomalení, ke kterému musí díky emulaci zákonitě dojít. Ovšem testy (které dodala Transmeta, takže je nutné je brát s rezervou) ukazují, že to není zase tak hrozné. Musíme si uvědomit, že Code Morphing Software je napsán tak, aby z procesoru dostal opravdu maximum. K čemu jsou výkonné instrukce (MMX a pod), když jsou téměř všechny programy na PC zkompilovány tak, aby běžely na procesoru 386? Trochu lépe na tom jsou uživatelé Linuxu, kteří mohou programy překompilovat tak, aby využili většinu možností svého procesoru, uživatelé Windows toho příliš nenadělají. V procesoru Crusoe provádí optimalizaci kódu Code Morphing Software, který dokáže využít všechny možnosti hardware procesoru.

Emulace je rychlá i díky tomu, že Crusoe byl přímo vyvíjen se záměrem, že bude kód emulovat (emulace není úplně přesný výraz, často jde spíše o překlad x86 kódu do VLIW instrukcí za běhu). Proto jsou v procesoru zabudované mechanizmy, které tuto činnost podporují. Například každá přeložená část kódu je uložena do tzv. instrukční cache, takže pokud je kód prováděn vícenásobně (například v cyklech), kód se znovu nepřekládá a použije se ten uložený v cache. Code Morphing Software se dokonce dokáže "naučit", která část kódu je používána častěji a která jen občas. Na tom pak závisí způsob interpretace x86 kódu. Téměř nepoužívaný kód se jednoduše emuluje (t.j. interpretuje), kdežto často používaná rutina (např. dekódování DVD) se optimalizuje a převádí na VLIW instrukce.

Podrobný popis technologie Code Morphing Software můžete nalézt v souboru crusoetechwp.pdf, ve kterém jsou uvedeny i příklady převodu instrukcí x86 na VLIW instrukce.

V příštím závěrečném díle o procesoru Crusoe se budeme zabývat technologií úspory energie, kterou tento čip používá, povíme si něco o plánovaném uplatnění procesoru a produktech, v jejichž srdci bude v nejbližší době tepat a i něco o dalších technologických drobnostech, o kterých jsem se ještě nezmínil.


Dle Transmeta
reklama