Procesory, které nemusejí pracovat do taktu

Většina z nás má zřejmě napevno propojenu představu procesoru s taktovacím obvodem, který udává jeho pracovní frek...


Většina z nás má zřejmě napevno propojenu představu procesoru s taktovacím
obvodem, který udává jeho pracovní frekvenci. V budoucnu ale možná budou
procesory asynchronní.
Jednou z nejviditelnějších součástí počítače se zdá být oscilátor určující
rychlost procesoru. Právě on svým rytmickým tikáním reguluje průběh naprosto
všeho, co počítač dělá. I zcela běžní uživatelé často definují svůj počítač
právě jeho taktováním jako například: "právě jsem koupil dvougigahertzové
pécéčko".
Existence takového oscilátoru ale není pro funkci počítače nezbytná. Jistě za
současného stavu věcí se bez něj nelze obejít, protože nynější počítače jsou
navrženy tak, že jsou jejich jednotlivé součásti navzájem oscilacemi
křemíkového oscilátoru synchronizovány. Někteří výzkumníci však předpovídají,
že "bezhodinové" neboli asynchronní obvody budou stále častěji nahrazovat
obvody taktované.
Když počítačový věk začínal, v počítačích byly používány jak asynchronní, tak
synchronní obvody. Taktované obvody však začaly pomalu převládat, protože byly
nejen jednodušší pro navrhování, ale i pro testování a ladění. "Zdá se, že po
desetiletích vlády logiky přesné jak hodinky se starší a více anarchistický
přístup chystá k návratu," tvrdí Steve Furber, vedoucí katedry počítačové vědy
na univerzitě v anglickém Manchesteru.

Do taktu
Dosáhnout správného taktování v procesoru je čím dál složitější, protože se
integrované obvody zvětšují a jsou stále komplikovanější. Aby počítačové
operace probíhaly ve správný čas a ve správném pořadí, musejí všechny části
integrovaného obvodu fungovat v naprosto stejném čase. Ale taktování je dnes
tak vysoké, že se jedno "tiknutí" nedostane ke všem komponentám v čipu včas tj.
než přijde další "tiknutí" takže různé části procesoru v různých vzdálenostech
od hodin nejsou synchronizovány.
Proto začali návrháři projektovat neustále složitější a dražší řešení, jako
jsou například komplikované hierarchie sběrnic a obvodů, které pak nastavují
taktování v různých místech integrovaného obvodu. "To je velice drahá cesta,
jak vyřešit tento problém," říká Furber. "Jenom společnosti, jako je Intel, si
mohou dovolit tak vysoké výdaje na vývoj."
Složité taktovací obvody v každé nové generaci čipů také používají více
energie, a tím vyvíjejí větší množství tepla. Ale co je horší, synchronní
obvody pracují jen tak rychle, jako jejich nejpomalejší část. A někdy tou
nejpomalejší částí jsou právě samy hodiny. Výzkum ve společnosti Sun
Microsystems ukazuje, že logické tranzistory mohou strávit až 95 % svého času
čekáním na příští tiknutí hodin, které jim řekne, že mají další úkol.

Bez hodin
Výrobci experimentují s mikroprocesory bez hodin, a to i takových, které jsou
úplně asynchronní anebo které mají lokální taktované komponenty spojené spolu
asynchronními sítěmi.
Start-upová firma Self-Timed Solution, založená právě Furberem, má k dispozici
prototypy kombinovaných čipů, které nazývá self-timed interconnects (tedy
propojovače, které se samy časují). Furber popisuje svoje čipy jako asynchronní
síťové struktury, do kterých se snadno zapojí jak synchronní, tak asynchronní
klienti. Těmi přitom mohou být procesory nebo paměťové bloky, které operují na
různých frekvencích. "To dovolí návrhářům vyhnout se nesnadnému a drahému úkolu
vyrábět procesory celkově synchronní," říká.

Nasazení v praxi
Protože jejich části nejsou omezovány taktovací rychlostí, asynchronní obvody
mohou běžet rychleji než synchronní. A protože potřebují méně energie a
vyvíjejí méně tepla, mohou najít velmi dobré uplatnění mj. i v přenosných
zařízeních. Společnost Philips Electronics již dala asynchronní mikrokontrolery
do některých svých pagerů.
Společnost Sun chce dodávat své nové procesory UltraSPARC III s netaktovanými
obvody, které předávají data mezi paměťovými moduly a regulátory paměti.
"Protože tyto převody dat jsou nezávislé na taktování, obvody jsou jednodušší,
spolehlivější, snadněji se modifikují a jsou potenciálně rychlejší," říká Jo
Ebergen, hlavní konstruktér firmy Sun. "V designu těch nejdůležitější čipů
budou stále častěji zaváděny asynchronní techniky," tvrdí. "Větší části čipu se
stanou naprosto asynchronními," dodává.

Úkoly pro vývojáře
Používání asynchronních výpočtů sice některé problémy řeší, jiné však vývojářům
vytváří. Již z definice plyne, že bezhodinové obvody běží méně koordinovaně.
Proto pak nelze přesně předvídat pořadí událostí, které v čipu nastanou. Nabízí
se tu srovnání s reálným světem: Zde je také lehčí předpovědět pohyb
pochodujících vojáků než pohyb náhodných chodců na chodníku. Proto do designu
integrovaného obvodu musí být zakomponován způsob, jak se vypořádat s touto
nepředvídatelností.
Dalším problémem je, že pro asynchronní zařízení existuje mnohem méně
infrastruktury pro vývoj a testování i odborných znalostí, než pro synchronní
zařízení. U synchronních zařízení vznikaly postupně dlouhodobým vývojem a
investováním mnoha miliard dolarů.
"Největší překážkou pro používání asynchronních obvodů je nedostatek znalostí,"
přiznává Chris Myers, mimořádný profesor elektrického a počítačového
strojírenství na Utažské vysoké škole v Salt Lake City. "Asynchronní obvody se
vyučují jen na několika vysokých školách v USA."
Myers říká, že počítačový průmysl bude postupně navrhovat čipy, které jsou
globálně asynchronní a lokálně synchronní, kde malé synchronní ostrůvky s
různými taktovacími rychlostmi komunikují přes nějaké asynchronní vyrovnávací
obvody nebo struktury. "Nebude to taková revoluce, jak někteří z nás
předpovídají," říká Myers. "Bude to pozvolný vývoj."

Asynchronní zpracování dat
V moderních čipech je vzhledem ke zdržení zpracování a spotřebě energie
nejdražší činností komunikace mezi komponentami. Laboratoře firmy Sun
Microsystems vyrobily obvody bez hodin, které snižují cenu komunikace tím, že
převádějí směrování dat a instrukcí z hardwaru na software.
FleetZero je vysokorychlostní přepínací síť na čipu, která směruje dávky dat a
instrukce což není nic jiného než páry adres zdroje a cíle vytvořené
kompilátorem na akční prvky nazvané lodě. Každá loď provede specifickou operaci
s daty, jako je např. "sečti" nebo "porovnej", přičemž může komunikovat s další
komponentou, např. s pamětí.
Cílový trychtýř (realizovaný jako přepínací síť) směruje části dat z jediného
zdroje k jednomu z mnoha možných cílů na schématu k některé z řady lodí.
Zdrojový trychtýř (opět přepínací síť) směruje data z mnoha zdrojů (na schématu
lodí) na jediný cíl. Instrukce jsou prováděny každou lodí její vlastní
rychlostí na bázi "kdo dřív přijde, ten dřív mele". FleetZero pracuje podle
zdrojů společnosti Sun asi dvakrát rychleji než porovnatelné taktované
zařízení.









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.