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ší - druhá část

17.8.2004, Eagle , článek
Vyvíjet nové čipy bude složitější - druhá část
V dnešní druhé části navážeme vysvětlením pojmů statické a dynamické spotřeby, podíváme se na problémy spojené s 90nm výrobní technologií a na závěr si řekneme také něco o dual-core procesorech.
Kapitoly článku:
  1. Vyvíjet nové čipy bude složitější - druhá část
  2. 90nm - ještě větší problém
  3. Dual-core
První díl naleznete tady.

Menší větší problém

S přechodem na menší transistory je možné stávající návrh čipu vtěsnat na menší plochu. To je jistě výhodné z hlediska ekonomických úspor, ne už tak z hlediska teploty.



Toto je fotka jádra RISC procesoru HP PA-8700. Všimněte si, že velkou část plochy zabírají velké bloky cache. Samotné výpočetní jádro, v dobách Pentia největší "žrout" plochy, tvoří jen asi třetinu rozlohy, především v pravém horním rohu. U dnešních čipů je to zcela typické, vždyť cache se často podílí na celkovém množství transistorů i 80 procenty.



Měření však ukázala, že právě tato malá část čipu se nejvíce podílí na spotřebě. Koncentrace vyzařovaného tepla na milimetr čtvereční je znázorněna na grafu výše. Zatímco cache je vesměs "chladnou" oblastí, jádro se taví.

Při zkoumání teploty v pokusných podmínkách na simulátoru bylo zjištěno, že teplota jádra je až o 30 stupňů vyšší než v oblasti jen několik málo milimetrů daleko.



Výsledek měření je překvapující a očekávatelný zároveň. Že bude v jádře mnohem vyšší teplota, to je obecně známé. Osobně jsem však očekával, že distribuce energie po celé ploše čipu bude lepší. Pokud umístíte chladič na procesor jako Athlon XP bez tepelně vodivé pasty, může teplota čipu měřená externím čidlem ukázat přetížení klidně o 10 až 20 stupňů za vteřinu. Externí čidlo má přitom vždy určité zpoždění dané tím, že teplota se nejdříve musí zvýšit uvnitř a následně na povrchu. Vedení energie uvnitř je pro člověka zvyklého na žehličky, horké čaje a jiné podobně "horké" věci přímo bleskově rychlé. Bohužel v mikroskopickém měřítku ne dostatečně.




Ostatně k obdobným závěrům dospěl Intel při podobném teplotním testu na procesoru Itanium 2. Ten obsahuje obrovské plochy level 3 cache, která při testu měla teplotu jen 70 stupňů (test je prováděn s velmi redukovaným chlazením). Jádro však mělo teplotu až 120 stupňů!

Vraťme se zpět k čipu PA-8700. Zajímavé výsledky přinesl pokus, při němž byl čip uměle prodloužen o 2 milimetry v oblasti výpočetního jádra. V této části se nenacházely žádné transistory, jen se zvětšila plocha čipu, tj. i kontaktní plocha s chladičem.



Výsledek? Až o 10 stupňů nižší teplota! Teď by se hodilo zvolat: "A to se vyplatí!". Bohužel ne. Plocha větší o 2 milimetry je velmi mnoho. Ideální čip měří kolem 80 - 120 mm2, tedy při jedné straně 10 milimetrů měří druhá 8 až 12 milimetrů. Roztáhnutím druhé strany o další dva milimetry se plocha zvětší minimálně o desítky procent! Při silném konkurenčním boji a ceně křemíkových plátů je to nereálné.

Částečné řešení - optimalizace

Dynamická spotřeba vznikající zátěží procesoru výpočty tedy začíná být velkým problémem. Zaprvé transistorů stále přibývá, a to nejen v oblasti cache jejím zvětšováním, ale také v samotném jádře (každá generace procesorů vylepšuje něco z té předchozí), ale také koncentrace produkované tepelné energie stoupá. Řešením tohoto problému může být především optimalizace, a to jak kódu, tak i v samotném procesoru.



Testy spotřeby v závislosti na použitém kódu - procesor Pentium 4 a Intel C++ Compiler 6. Položka O0 znamená žádné optimalizace, kompilátor vytvoří kód, který není ani rychlý, ani malý, jehož výhody jsou v podstatě žádné. Naopak O3 jsou maximální optimalizace, xW použití vektorizování (nahrazení ALU / FPU kódu SSE instrukcemi), ip/ipo značí meziprocedurální optimalizace (volání funkcí atp.). Až na jeden test použitím optimalizovaného kódu celkově sníží potřebnou energii na zvládnutí programu. Běžně se úspora pohybuje mezi dvaceti až čtyřiceti procenty! Optimalizace nejen že podstatně zkracují dobu potřebnou k výpočtu, ale celkově se také starají o menší spotřebovanou energii. Uvedený model sice nepočítá s aktuálním výkonem (... který může způsobit s optimalizacemi vyšší teplotu kvůli vyššímu využití výpočetních jednotek), no nicméně celkově nižší spotřeba aplikací při jinak stejných celkových požadavcích na výpočetní výkon snižuje teplotu chladiče. Nižší teplota chladiče způsobuje lepší odvod energie, takže chlazení lépe zvládne tepelné šoky mezi stavy nečinnosti a plného vytížení.

Co však v situacích, kdy procesor je trvale vytěžován, často velmi optimalizovaným kódem? Typickým případem je konverze videa z MPEG2 do MPEG4 (dekódování a následné enkódování). Řešení se nabízí i v tomto případě. Protože různé instrukce spotřebují různé množství energie...


Procesor Pentium 4


... a jádro moderních procesorů je RISCové na bázi OPs, je možné v případě rostoucí teploty optimalizovat OPs tak, aby v jednom okamžiku nedocházelo vykonávání těch energeticky nejnáročnějších instrukcí. Bude to sice znamenat nižší výkon než v ideálním případě, stále je to však lepší než kdyby byla frekvence nižší. Alternativní metodou může být Thermal Throttling, který dnes používají všechny procesory Intelu a AMD se chystá ho použít v budoucích generacích Athlonů 64. Procesor při přehřátí vloží mezi instrukce tzv. duty-cycles (prázdné hodinové cykly - metoda TM1) nebo dynamicky sníží svojí frekvenci a napětí (metoda TM2).



Z uvedených vychází lépe metoda TM2, která poskytuje při stejné teplotě vyšší výkon. Degradace není tak veliká, aby se tato technologie nevyplatila. V současnosti disponuje Thermal Monitor 2 pouze Pentium M, ke konci roku bude zapnut i v Pentiu 4 Prescott a z něho odvozených Xeonů (a patrně i Celeronů).



Pentium M - jen na cache došlo k značným úsporám spotřeby.


Dalším řešení pro minimalizaci následků dynamického výkonu je vypínání částí procesoru. Vynikajících výsledků zde dosáhl izraelský tým Intelu, když dále optimalizoval jádro Pentia III a vytvořil Pentium M. Inžinýři přidali další stupně pipeline, pozměnili výpočetní jednotky, zvýšili frekvenci a zlepšili využití superskalárního systému výpočtů zvětšením počtu instrukcí, které procesor v jednom okamžiku řídí (in-flight instructions). Při tom velké bloky procesoru jsou při nevytížení vypínány, což je velmi výhodné, protože pouze zlomek z celkového počtu desítek milionů transistorů je v jednom okamžiku aktivní. Procesor tak šetří energii, i když jeho výkon je velmi konkurenceschopný (v celočíselných operacích se výkon odhaduje jako u Athlonu 64 na stejné frekvenci, ovšem s třetinovou spotřebou). V klidu má celý notebook s Pentiem M spotřebu jako samotné stolní Pentium 4 v klidu!

reklama