Biztos halott a Moore-törvény? Lehet, hogy csak másképp kellene CPU-t tervezni?

Yale Nance Patt, az austini egyetem professzora szerint az iparág kevés adatból von le téves következtetéseket.

Az idén megrendezett COMPSAC egyik érdekessége volt a Moore-törvény jövőjét fejtegető előadás, amelyet Yale Nance Patt, az austini egyetem professzora tartott meg. A Moore-törvényről persze mindig is kellemetlen volt beszélni, mivel nem tekinthető törvénynek, sokkal inkább egy önbeteljesítő jóslatról van szó, és ilyen formában akármeddig életben tartható. Ezért is beszélt William Holt, az Intel technológiai és gyártási csoportját vezető szakember arról az év elején, hogy a jövőben csupán a megváltozott célok miatt lehet a gyakorlatban vége a Moore-törvénynek, és nem azért, mert nem lehetne mesterségesen igazodni hozzá.

Yale Nance Patt egy picit gyakorlatiasabb megközelítéssel beszélt az előadásában, és megpróbált rávilágítani arra, hogy számos mára elfogadott következtetés téves. Például az egyik hibás állítás az, hogy az utasításszintű párhuzamosság a végnapjait éli. Elmondása szerint, ha ránézünk az első és második generációs Pentium M-re, akkor az előrelépés tényleg siralmas, ugyanis a Banias lapka 77 millió tranzisztorához képest az újabb Dothan opció 140 millió tranzisztort tartalmaz, miközben az IPC csak 5%-ot nőtt. Innen indult a fenti tévhit, ami még ma is erősen tartja magát, de ez nagyrészt annak köszönhető, hogy az Intel specifikus problémáit általános jelenségként kezeli a teljes iparág. Ellenben számos olyan példa található, amely azt bizonyítja, hogy jelentős gyorsulás érhető el csupán az architektúra fejlesztésével is. Például a DEC Alpha EV4 és EV8 között 55x-ös teljesítménykülönbség van. Az EV8 ugyanakkor hétszer nagyobb órajelen ketyeg, mint az EV4, vagyis a rendszer több, mint hétszeres előnyt szedett össze csupán az architektúra fejlődéséből.

A többmagos irányt sem kezeli jól az iparág. Jellemzően két konstrukciót vizsgálunk, amely szerint vagy nagy kiterjedésű és teljesítményű, vagy kisebb és lassabb magokat tervezünk. Ennek az alapját a Pollack szabály adja. Ugyanakkor egy harmadik alternatíva lehet az ACMP, vagyis az aszimmetrikus multiprocesszor. Ilyen formában a kisebb és a nagyobb magok egy lapkán belül is összefűzhetők lennének. Hasonló konstrukció az ARM Big.Little, csak amíg utóbbi elsődlegesen az energia spórolására fókuszál, addig ugyanezzel az ötlettel a teljesítményre is lehetne helyezni a hangsúlyt. Egy teljesítményorientált ACMP lapkával akár egy komolyabb mag mellé egy tucat kisebb mag is helyezhető, és ilyen dizájn mellett a teljesítmény minden szempontból jobb lenne, mintha ugyanarra a lapkaterületre négy komolyabb méretű és teljesítményű mag kerülne.

A fentiek mellett a Moore-törvény gyakorlatban esetleg bekövetkező halála nem is annyira ijesztő, mint amilyennek ma tűnik. Ráadásul számos egyéb lehetőség is megvizsgálható, mint például a gyorsítók integrálása, új utasítások bevetése, új fordítók, stb. Az egyik érdekes irány lehet az úgynevezett futtatási szintű rendszer, amely számos mai problémára kínálna reális megoldást. A hardver ezzel tulajdonképpen elég szabad tervezésű lehet, de szükséges lesz bele egy komolyabb lapkaszintű monitorozásra, amely megfelelő adatokkal látja a programfuttatásért felelős rendszerterületet, ami végső soron arról dönt, hogy az adott feladat a lapka melyik erőforrását használja a lefutáshoz. A programozók nézőpontjából ez viszonylag egyszerű konstrukció lenne, mivel lényegében pragma direktívát kellene használni, ami alapján a fordító betölti a procedurális rendszerközeli hívásokat. Ez a konstrukció gyakorlatilag újradefiniálná a Moore-törvényt, mivel jóval szabadabban lehetne hardvert tervezni.

Előzmények

Hirdetés