Itanium již podruhé – kam s ním?, díl 1.

Společnost Intel představila dne 8. července letošního roku 64bitový procesor Intel Itanium 2. Stalo se tak zhruba čtvrt roku před uvedením prvních 64bitových procesorů firmy AMD. Jak je to vlastně s Itaniem (nyní druhým) - jedná se o nepovedený procesor se směšně nízkým taktem, nebo naopak jde o mistrovský kousek hodný tolika let vývoje a jednání?

Kapitoly článku:


Procesor pro „skutečné“ servery

Pokud si dobře vzpomínám, jakýsi čtenář mi napsal do diskuse ke článku o původním Itaniu, že „ať se Intel jde s Itaniem vycpat, že on z obyčejného Duronu dostal (tehdy) takt vyšší než oněch 733 nebo 800 MHz“. Možná, že to není úplně přesně takto, ovšem základní myšlenka onoho čtenáře zůstala zachována. Jde totiž o to, že dnešní 32bitové procesory pracují zhruba na dvojnásobném kmitočtu v porovnání s 64bitovými modely, a to i přesto, že jsou využívány stejné výrobní technologie.

Při hledání pravdy je nutné zformulovat otázku „Jsou autoři dnešních 64bitových procesorů ignoranti, nebo nám něco uniká a ignoranty jsme naopak my?“ Nejprve se pozdržím u již zmíněného interního taktu procesorů. Obecně je známo, že se elektrický proud šíří rychlostí blízkou rychlosti světla. Pro běžného smrtelníka jde o absolutní rychlost, ovšem při stovkách a tisících MHz jde o pověstný nůž na krku. Při taktu 1 GHz světlo doletí do vzdálenosti pouhých 30 centimetrů! Tak velký sice žádný čip není, ovšem ani vodiče na něm nejsou přímé, navíc je nutné zahrnout i tranzistory, ze kterých se jaksi procesor skládá. Čím větší plocha čipu tedy je, tím nižší takt je možné pro danou výrobní technologii použít. Pokud bychom se rozhodli postavit velmi jednoduchý procesor s extrémně velkou cache přímo na čipu, stejně bychom nemohli použít vysoký kmitočet, přestože by jej samotný procesor zvládl. Překážka by byla právě v oné extrémně veliké cache, která by samotný procesor zdržela nad únosnou míru. Pokud naopak postavíme velkou spoustu jednotek FPU, MMX, SSE, SSE2 a 3DNow! a snažili se tak vyhnat výkon do extrému, zjistíme, že se již nedostane místo pro cache. To se zdá jako drobnost, ale získáme superprocesor, který je odsouzen k neustálému čekání na data. 64bitový procesor bývá často komunikačním centrem, takže musí umět přesouvat data z místa na místo takovou rychlostí a tak efektivně, aby to pokud možno nezpomalilo data ani procesor samotný.

Při hledání příčin dnešních „pomalých“ 64bitových procesorů je nutné se podívat pozorněji na jejich použití. Najdeme je v pracovních stanicích a hlavně serverech až superserverech, pro které jsou důležité všechny části procesoru a hlavně cache. Proto se žádný 64bitový procesor vlastně neobejde bez veliké cache. Ta ale „zpomalí“ ostatní části, což teoreticky vyplývá ze snížení taktu procesoru. Je tomu skutečně tak?

Hrátky s taktem

Běžné 32bitové procesory tikají na jednotkách GHz a ještě letos dosáhnou hranice 3 GHz, zatímco 64bitové horko těžko překonaly 1 GHz, běžně se pohybují spíš pod ním. Přesto dosáhnou mnohdy neporovnatelně vyššího výkonu, a to i v plovoucí desetinné čárce. Jak je to jen možné? Vžijte se sami do role tvůrců 64bitového procesoru. Máte v rukou několik faktů - vysokou cenu za jeden kus, což je možné díky cílové aplikaci (servery), dále požadavek pro vysoký obecný výkon, vysoký výkon v plovoucí desetinné čárce a vysoký přenosový výkon, především však velkou cache. Vysokého výkonu chcete docílit vysokým taktem, ten je ale sražen díky veliké cache. Co tedy s tím? Protože je povolena vyšší cena a těch pár tranzistorů navíc už nikoho nezabije, osadí se víc paralelních jednotek pro pevnou i plovoucí desetinnou čárku a procesor se upraví pro paralelní práci. Díky tomu i na nízkém taktu může splnit všechna očekávání a překonat svým výkonem i procesory, taktované dva i vícekrát výše.

Vliv výrobní technologie

Stále vám vrtá, jak je možné, že se může pomalejším procesorem dosáhnout vyššího taktu? Že pouhé osazení více jednotek nezvýší výkon natolik, aby to vysvětlilo takový nárůst výkonu? Inu - možná. Musíte si uvědomit, že se používají stejné technologie, pro 64bitové procesory často ještě lepší, než pro „obyčejné“ 32bitové (viz tzv. měděná technologie, užívaná již od roku 1998 firmou IBM). Vezměme si tedy jednotku pro výpočty v plovoucí desetinné čárce, pracující s 64bitovým slovem. Takovou najdeme v FPU jednotkách 32bitových procesorů stejně jako v 64bitových. Pokud ji vyrobíme stejnou technologií a navrhneme stejně (což často bývá), měly by pracovat stejně rychle. U 32bitového procesoru však výpočet může díky vysokému kmitočtu trvat 20 taktů, zatímco u 64bitového díky nižšímu taktu procesoru jen 5 taktů. Nižší interní frekvence ještě neznamená, že tvůrci takových procesorů nenutí křemík pracovat na maximum svých možností.

Určitě si přečtěte

Články odjinud