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ě

Kam se ztrácí na PDA výkon?

10.12.2002, Petr Hájek, článek
Kam se ztrácí na PDA výkon?
Víte, že procesor XScale na 400 MHz je někdy rychlejší, někdy pomalejší a často dokonce stejně rychlý jako starý dobrý 206 MHz StrongARM? Vypadá to, že ke svižnějšímu běhu nebudeme potřebovat ani tak rychlejší procesor nebo snad optimalizovanější systém, ale něco úplně jiného...
Výtah z rozhovoru mezi redaktorem webu Pocket PC Thoughts Andy Sjostromem a CEO Svenem Myhrem z Amazing Games:
AS: "Proč je procesor XScale na 400 MHz někdy rychlejší, někdy pomalejší a často stejně rychlý jako StrongARM na 206 MHz?
SM: "Teoreticky, 400 MHz XScale procesor bude vždy rychlejší, než 206 MHz StrongARM. V reálném nasazení ale výkon CPU záleží na více faktorech, než jen na velikosti MHz. CPU musí se svým hrubým výpočetním výkonem dělat něco užitečného - potřebujeme do něj dostat instrukce kódu s daty ke zpracování a také samozřejmě potřebujeme, aby se tento zpracovaný výsledek opět někam uložil. A zde přichází ke slovu paměťová sběrnice.

XScale a StrongARM Pocket PC používají 16 bitovou paměťovou sběrnici. Oba dva procesory jsou z rodiny 32 bitových RISC procesorů, které používají 32 bitové instrukce a (obvykle) 32 bitové kousky dat. Jenom k tomu, abychom CPU předali dostatek kódu ke zpracování a udrželi jej tak na plné pracovní rychlosti, potřebujeme sběrnici běžící na dvojnásobku taktu CPU, protože 16 bitová paměťová sběrnice musí přenést dva 16 bitové kousky dat, aby předala 32 bitů. Samozřejmě, od paměťové sběrnice očekáváme, že bude přenášet data tam i zpět.

Takže k tomu, aby CPU běžel na plný výkon, potřebujeme v Pocket PC paměťovou sběrnici, která poběží (+nějaká rezerva) aspoň na 250% rychlosti CPU. 400 MHz XScale procesor by měl mít 1000 MHz sběrnici, 300 MHz by měl mít 750 MHz sběrnici, 200 MHz by měl mít 500 MHz sběrnici a 206 MHz StrongARM by měl mít 515 MHz sběrnici.

V dnešních Pocket PC je situace úplně opačná - XScale běžící na 400 MHz, 300 MHz a 200 MHz používají 100 MHz sběrnici a 206 MHz StrongARM používá 103 MHz.

V situacích, kdy dochází ke stálému promíchávání obsahu paměti sem a tam (multimédia, grafika) to dokonce došlo tak daleko, že 400 MHz, 300 MHz a 200 MHz varianty dávají v testech téměř identické výsledky. StrongARM používá sběrnici o 3% rychlejší než XScale, takže je jasné, proč občas podává o něco větší výkon.

Návrháři hardwaru dobře vědí, že je potřeba nějakým trikem zaručit, aby procesor dostával instrukce a data ke zpracování rychleji, než je může pomalá paměťová sběrnice poskytovat, tak se přidala cache. StrongARM má 8 kB pro instrukce a 8 kB pro data, zatímco XScale používá 32 kB pro instrukce a 32 kB pro data. Kdykoliv se potom CPU snaží nahrát instrukce nebo další kousek dat, nejdříve se podívá, jestli náhodou nejsou už v cache - pokud tam jsou, tak k nim může přistupovat s plnou rychlostí a sežvýká instrukce pekelnou rychlostí 400 miliónů pohybů dásní za sekundu.

Pokud tam ale data nenajde, přivádí nás to k odvrácené straně cache - stává se dvojsečným mečem, který dopadne zpět na neopatrného kodéra. Protože CPU potřebuje prohledat cache velice rychle, je organizována do tzv. "cache lines" - nejmenších jednotek, které jde za obvyklé situace z paměti najednou přečíst. Na XScale i StrongARMu je cache line velikosti 16 words (word = 32 bitů = 4 byty), takže cache line je 64 bytová a i když CPU potřebuje získat přístup k jedinému bytu, stále musí přečíst všech 64 bytů z paměti k naplnění cache line a získání onoho bytu."

Problém "pomalého" XScale CPU nemá co dělat s "emulací" StrongARMu, ani se špatnou optimalizací systému - i když, zde by se také pár % jistě dalo vyzískat - dokud nebudeme mít rychlejší/širší paměťovou sběrnici, nepomůže uživatelům ani CPU rychlosti světla.

Může se to sice aplikaci od aplikace částečně měnit, uživatel ale většinou nepozná mezi 300 MHz a 400 MHz CPU při běžné práci žádný výraznější výkonový rozdíl.

Programátoři a podobná sorta lidí - pokud Vás téma zajímá, navštivte zdroj, protože v rámci zachování čtivosti byly některé pasáže vypuštěny.