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ě

Vyvíjet nové čipy bude složitější - první část

16.8.2004, Eagle , článek
Vyvíjet nové čipy bude složitější - první část
Spotřeba procesorů a grafických karet roste. Není to tak dávno, kdy jsme si od menších tranzistorů slibovali vyšší frekvence a nižší spotřebu. To je dnes minulost. V první části se podíváme, co ovlivňovalo výkon v minulosti a jak inovace zvyšovaly spotřebu.
Výkon



Železné pravidlo výkonu procesorů říká, že výkon je počet vykonaných instrukcí za čas. A toto je počet instrukcí vykonaných během jednoho hodinového cyklu * počet hodinových cyklů za vteřinu (neboli frekvence). Počet vykonaných instrukcí během jednoho hodinového cyklu (IPC - Instructions per clock) je veličina závislá na architektuře čipu (počtu výpočetních jednotek, predikci větvení po podmínkách, velikosti cache...) a frekvence je veličina závislá na rychlosti transistorů, množství stupňů pipeline (a vzdálenosti transistorů) a konečně také na teplotních podmínkách v čipu.

Chce-li výrobce zvýšit výkon, musí buďto zvýšit počet vykonaných instrukcí za cyklus nebo zvýšit frekvenci. Tyto dvě veličiny ovšem stojí proti sobě - vyšší frekvenci lze dosáhnout pomocí delší pipeline, ale ta má negativní dopady na výkon, takže se snižuje IPC. Existují v zásadě dvě efektivní cesty zvyšování výkonu - (1) prodloužení pipeline a zároveň zlepšení ostatních obslužných částí (předpovědi větvení, řazení instrukcí out-of-order, zvětšení počtu výpočetních jednotek...) nebo (2) použití novější výrobní technologie, tj. zmenšení a zrychlení transistorů. První případ znamená celkově vyšší počet transistorů, druhý způsob naopak (jako vedlejší efekt) umožňuje tento větší počet vtěsnat na stejnou plochu jako dříve. Z praktických důvodů se při vývoji čipů spoléhá na oba faktory.



Od počátků procesorů rodiny x86 se frekvence zvýšila 50x. Největší podíl na tom má novější výrobní technologie - 13x zrychlení. Architektura se postarala o čtyřnásobné zrychlení.



Výkon při tom vzrostl více než 75x. 13x díky výrobní technologii (tj. díky vyšší frekvenci) a více než 6x díky propracovanější architektuře.



Počet transistorů se zvýšil z původních pár tisíc na na dnešních cca. 100 milionů. Rozdíl v rychlosti procesorů a pamětí RAM se ještě více prohloubil:



Zatímco frekvence pamětí je dnes maximálně asi 550 MHz (navíc v DDR ekvivalentu), frekvence procesorů je již na hranici 3.5 GHz. Paměti navíc vyhledávají data dost pomalu. Aby procesor neustále nezahálel v pipeline stall, musí v sobě integrovat vyrovnávací paměť - cache. Toto je rychlá (ale také drahá) SRAM paměť uchovávající aktuálně důležitá data. Procesor požaduje při zpracování instrukcí data - ty hledá v paměti RAM. Protože ta je moc pomalá (přinejlepším 8x, přinejhorším více než 20x pomalejší oproti L2 cache), pomáhá si čtením z a zápisem do cache paměti. Kromě mnohem rychlejší odezvy má využití cache za následek i efektivnější práci s pamětí - paměť RAM totiž tráví velmi mnoho času vyhledáváním dat (cca. stejně dlouho jako jí trvá samotné čtení). Naproti tomu cache vyhledává poměrně rychle. Provedením náhodných čtení z / zápisů do cache a přenášení dat do RAM vcelku (v burst režimu) je možné ušetřit nedostatkovou propustnost pamětí. Při čtení / zapisování dat najednou v bloku paměť RAM stráví v průměru méně času hledáním a více samotným čtením / zápisem.

Úspěšnost vyhledání potřebných informací v cache je u nových procesorů velmi vysoká - průměrně kolem 95 procent a více. Kdyby se cache vypnula, výkon i těch nejnovějších procesorů bude zhruba na úrovni čipů 486. Trend poslední doby je neustálé zvětšování velikosti cache. Úspěšnost nalezení dat v cache je sice u běžných programů již velmi vysoká (a nedá se již příliš zvýšit), avšak stále existují a existovat budou aplikace, které pracují s většími objemy dat a u nichž se při menší velikosti cache musí data zapisovat do paměti RAM - to trvá velmi dlouho a zpomaluje. Větší cache tak umožňuje v určitých případech velmi zvýšit výkon. Jedná se především o multimédia nebo databázové systémy.



Tak například u procesorů Pentium 4 je velikost cache klíčová. Existují zde určité extrémní situace, kdy výkon procesoru s dvojnásobným množstvím cache může být i více než dvojnásobný - budeme-li mít program pracující s datovým blokem 400 kByte (ani méně ani více), bude tento program běžet na jádře Northwood (512 kByte cache) 2x rychleji než na jádře Willamette (256 kByte cache). Je to extrémní situace, ale stát se to může.

V reálu je takové chování poměrně časté, i když v trochu jiné podobě. Pokud počítač vykonává více programů relativně rychle za sebou (to se děje v multitaskingovém operačním systému, jakým je například MS Windows), "sdílí" cache více programů. Čím větší cache je, tím vyšší výkon - v opačném případě je při přechodu mezi programy nutné zapsat stav cache do RAM a načíst jinou sadu dat z RAM. Proto například zmíněný čip Northwood je běžně o 10 procent rychlejší na stejné frekvenci než Willamette.

reklama