Hoe ziet de toekomstige processor er uit?

Pagina: 1
Acties:
  • 380 views sinds 30-01-2008
  • Reageer

  • T.T.
  • Registratie: April 2000
  • Laatst online: 22-01 14:13

T.T.

Sowieso

Topicstarter
Na het lezen van een artikel over voorspellingen van zeven jaar geleden over de toekomst van processors, leek het me leuk om te horen hoe tweakers de toekomst van processors zien. Daarnaast is vind ik het gewoon leuk om te speculeren over de roadmaps die je op de frontpage af en toe voorbij ziet komen. Intel Roadmap

Één van de belangrijkste dingen van de afgelopen jaren is de gigantische toename in kloksnelheden geweest. In 1989 kwam Intel met de 80386 op 33MHz uit. In 2003 kwam Intel met een Pentium4 op 3.2GHz; ongeveer een 100-voudige toename van de frequentie. Deze snelheidstoename werd mogelijk gemaakt door kleinere, snellere transistors en door diepere pipelines.
De snelle toename van de frequentie (40% per jaar over de afgelopen 15 jaar), heeft tot de meeste architecturele problemen geleid. De meeste nieuwe onderdelen op processors zijn puur ontwikkeld om hogere kloksnelheden te behalen.
De nadruk op hogere kloksnelheden heeft drie grote implicaties gehad:
• power bottlenecks; Vroeger was dat iets waar rekening mee gehouden moest worden, nu is het iets de belangrijkste ontwerp-beperkingen is. Dit is natuurlijk het gevolg van de grote groei in kloksnelheden. De powerbottlenecks hebben tot gevolg dat ontwerpers van nieuwe processors naast vertragingen van signaal nog een beperking krijgen: het balanceren tussen snelheid en efficient gebruik van transistors.
• uitstel van instructie-set veranderingen omdat RISC (en de x86 micro-op equivalenten) bedoeld zijn om effectief pipelining te ondersteunen. Men kon de snelheid verhogen zonder zich druk te maken over architectuur-veranderingen.
• de reducties in de logica-per-kloktik naderen een harde limiet. Onderzoek heeft uitgewezen dat het onwenselijk is om veel minder dan 8 FO4 inverters per clock te hebben. [het gaat te ver om precies uit te leggen wat FO4 inverters zijn, dat begrijp ik zelf ook niet tot op de het kleinste niveau. FO4 is de vertraging van het signaal wanneer het door een inverter gaat die 4 gelijke gates stuurt]. De Pentium4 heeft tussen de 12 en 16 FO4 inverters per kloktik en zit dus al dicht tegen de limiet aan. Daarnaast krijgt lek-stroom meer invloed op de mate van frequentie verbeteringen. Deze twee factoren (dus niet onder bepaalde limiet van FO4 inverters en lekstroom) zijn aanwijzingen dat de frequentie-toename dramatisch zal afnemen. Hierdoor worden processor-ontwerpers gedwongen te zoeken naar andere strategiën.

Het is de verwachting dat we nog minstens 10 jaar lang meer transistors zullen krijgen. Deze toename brengt echter wel met zich mee dat ze moeilijker efficient gebruikt kunnen worden. Ze worden bovendien minder betrouwbaar, gaan vaker kapot en gebruiken te veel stroom. Aan al deze nadelen wordt op dit moment onderzoek verricht. Voorbeelden van technologiën die oplossingen proberen te bieden:
• Het gebruik van helper-threads binnen SMT processors om toch een hogere efficientie te bereiken. Dit is echter geen vervanging (net zoals SMT), voor schaalbare hardware of meer effectief parallel programmeren.
• In toekomstige systemen zal betrouwbaarheid nog belangrijker worden dan nu het geval is. Onderzoekers hebben bijvoorbeeld voorgesteld om hardware-ondersteuning te bieden om de veiligheid te vergroten. Denk hierbij aan bufferoverflows voorkomen, geheugen-beveiliging, detectie van bugs, herstel van fouten enz. Dit zijn allemaal punten die belangrijk worden voor toekomstige processors.
• Parallele uitvoer. Er bestaat een spanning tussen het parallel maken van software en de noodzaak voor parallelisme in toekomstige hardware. Als parallelisme moeilijk blijft, dan is dit van invloed op de toekomstige processors. Op dit moment wordt aan hardware gewerkt die parallelisme makkelijker moet maken (zoals "gratis" locks die geen snelheidsverlies opleveren als ze niet gebruikt worden).

Zoals aangegeven zal frequentie verbetering gaan afnemen in de toekomst, en dan wordt parallelisme belangrijk om de snelheid toe te laten nemen. Het belangrijkste probleem dat aangepakt moet worden is het aantal en de grootte van processors op toekomstige chips. Meer dan enkele tientallen simpele processoren lijkt niet logisch, gezien de mate van parallelisme en de steeds kleinere winst. Op de zelfde manier is het ook niet efficient om één core van miljarden transistors te maken. Hiermee komen we op de toekomstige chips: een klein aantal cores die ieder zo groot mogelijk als efficientie toelaat moeten zijn. Door deze keuze is zowel parallelisme binnen threads en tussen threads te bereiken.

Toekomstige chips zullen beoordeeld worden op hoe efficient ze gedistribueerde hardware ondersteunen zonder al te veel eisen te stellen aan de programmeurs. Efficientie speelt hierbij een belangrijke rol: de hardware zal moeten aansluiten bij de software. De oplossing voor de problemen kan fundamentele gevolgen hebben voor software ontwikkelaars. Als efficiente, transparante hardwarematige oplossingen niet meer mee kunnen schalen, dan zal snelheidswinst alleen te behalen zijn betere software: het programmeermodel.

Samengevat: de sterke frequentie-toename loopt langzamerhand naar zijn einde. Er zal steeds meer gekeken moeten worden naar andere manieren om meer snelheid te bereiken. Hardwarematige ondersteuning voor transparant parallelisme lijkt een belangrijke stap, gecombineerd met het gebruik van meerdere cores. De aanwezigheid van dual-core processors voor 2006 op de Intel roadmaps geeft aan dat ook Intel hiermee bezig is. Hierbij houdt het echter niet op. Wie zal de meest efficiente ondersteuning bieden voor meerdere cores?
Het wordt nog een spannende periode, spannender dan momenteel met het simpel opschalen van Pentium4 snelheden of het uitbreiden naar 64-bit bewerkingen van AMD.
De eerste echte dual core processors (voor de consumentenmarkt) zullen echt een volgende stap zijn in mijn optiek, door de grote veranderingen die dat met zich mee kan brengen :)

En als je het ergens niet mee eens bent hoor ik dat graag, en anders bedankt dat je het tot hier hebt volgehouden :)

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Allereerst: mooi verhaal.

Maar bedenk wel dat dit 10 jaar terug ook al werd gezegd. Er werd toen ook vergeleken met de techniek van toen en naast kleinere productie-processen (die nu al preciezer zijn dan men toen durfte te hopen) gebruiken we ook nieuwe technieken/materialen.
Voorbeeld uit een andere hardware-branche: Zo heb ik hier de nodige oude blaadjes/artikelen liggen waarin vol overtuiging werd beweerd dat wegens magnetische interferentie een platter van een hdd nooit meer dan 40GB kan gaan bevatten en dat we daarom over moeten stappen op een nieuw opslagmedium. Dat laatste kan nog steeds van toepassing zijn, maar inmiddels liggen er genoeg schijven in de winkels met grotere platters.

Je post staat dan ook in het licht van de huidige techniek. Een stapje kleiner productieproces kunnen we ons voorstellen, evenals parallelisme (wat we nu al doen) en dual-cores. Het idee van een dual-core is gewoon goed te bevatten met onze huidige techniek en kennis.

Daarom zijn dual-cores ook idd nodig op de korte termijn om in nog goed door te groeien en is de roadmapkeuze begrijpelijk.

Vergeleken met 10/15 jaar geleden mag je eigenlijk stellen dat elk systeem nu al dual-core/meer parallel is, namelijk door de opkomst van de videokaart en met name door de GPU. Deze verdeling van werk heeft ook voor een goede groei in rekenkracht gezorgd en je kan nu ook niet uit sluiten dat er een nieuwe processor-soort ook bijkomt. (Een AIPU voor de AI in spellen of zo, ik noem/verzin maar iets geks :P)

Maar uiteindlijk zullen er toch ook fundamentele dingen gaan veranderen aan CPU's.
Zo is er nog heel veel te ontdekken op het gebied van Quantum-technologie etc.

Dus met de huidige maatstaven bereikt 1 core wel een grens in de redelijk nabije toekomst, dus ook een dual-core (of meer dan dual), maar je kan niet met zekerheid zeggen dat hiermee de vooruitgang tot een halt gebracht wordt.

Over het stukje dat de winst meer in de software moet gaan zitten: Klopt. 20 jaar geleden werd elke byte besparing toegejuicht, terwijl mij nu wordt aangeleerd dat het belangrijkste van het programmeren de werking is én de leesbaarheid van de code. Zo hebben ze liever dat ik beter leesbare code schrijf (maar uiteraard wel redelijk efficient), dan dat ik alles op de qua belasting meest optimale manier doe. Veel ontwikkelaars denken nu zo en op zich wordt de mindere efficientie van gemakkelijk geschreven software nu snel genoeg goedgemaakt door de hardware-vooruigang (dus is deze handelswijze ook niet erg nu). Maar dit zou naarmate de groei stagneert natuurlijk wel weer een belangrijk punt zijn.

{signature}


  • T.T.
  • Registratie: April 2000
  • Laatst online: 22-01 14:13

T.T.

Sowieso

Topicstarter
Bedankt voor je reactie!
Ik wilde niet te ver in de toekomst kijken, maar op een termijn van 10 jaar. Op deze schaal kijk je niet zozeer naar volledig nieuwe technieken of natuurkundige toepassingen. Echte quantum-processors zie ik de eerste 25 jaar nog niet verschijnen. Uiteraard zal quantum-technologie en andere technieken veel deels onvoorzienbare gevolgen hebben waardoor mijn bovenstaande verhaal niet meer opgaat. Veel van mijn verhaal hangt natuurlijk samen met transistors en zodra die niet meer gebruikt worden... maar dan dwaal ik af :)
Bovendien blijkt dat men 7 jaar geleden niet had verwacht dat de klok-snelheid dusdanig belangrijk zou worden. Veel onderzoekers verwachtten toen voor 2004 wide-issue superscalar processors (zoals de Alpha 21464), superspeculative superscalar processors, simultaneous multithreaded processors (Pentium4 heeft wel SMT technologie, maar dit lijkt niet echt op te schalen qua threads/core), distributed processors, chip multiprocessors enz.
Het blijkt dus echter dat men vooral is doorgegaan met frequentie te verhogen. Dit loopt echter nu tegen zijn einde en als we toch een processor willen maken met een miljard transistoren, dan moeten er andere paden bewandeld worden.

Daarom richtte ik me vooral op de processor-ontwerpen waar AMD en Intel op dit moment mee bezig zijn en de problemen die zij daarbij op moeten lossen. Ik verwacht dat het feit dat we binnenkort tegen grenzen aanlopen van kloksnelheden, dat er op korte termijn (aantal jaar dus) noodzakelijkerwijs eerst naar dual (en meer) cores gekeken moet worden.

Je kunt inderdaad in sommige opzichten stellen dat elk systeem dual-core/meer parallel is, maar dat gaat een beetje voorbij aan het probleem. Je kunt wel taken overhevelen naar een GPU, maar uiteindelijk zullen de CPU en die GPU sneller moeten worden. Tot nu toe ging dat vooral door de snelheden te verhogen bij CPU's.

Maar nu eerst even slapen, voordat ik nog meer onzin uitkraam :z

[ Voor 21% gewijzigd door T.T. op 20-03-2004 03:02 ]


  • silentsnow
  • Registratie: Maart 2001
  • Laatst online: 15-04-2013

silentsnow

« '-_-' »

Er zijn wel een paar fundamentele architecturele kenmerken die de progressie in snelheid en rekenkracht van processoren tegenwerken. Zo is backward compatibiliteit er één. Intel beloofde tot 2000 al haar processoren backwards compatible te maken met het originele 8080 ontwerp, wat achteraf gezien een grote fout was. Dit zijn de grapjes die de ontwikkeling van architecturele verbetering aanzienlijk remmen, omdat je rekening moet houden met steeds meer factoren.

Daarnaast kan men in het ergste geval de gehele processor logica hard-coden, wat een behoorlijke snelheidswinst zal leveren. Het nadeel is echter dat het ontwerp dan stukken duurder zal worden, en het ontwerpen van verbeterde architecturen wordt moeilijker.

De twee bovenstaande punten houden in dat er radicale architecturele verandering plaats zullen vinden als er gekozen wordt ze te implementeren. Net zoals parallelisme zullen fabrikanten deze technieken pas gebruiken als het noodzakelijk is om een gehele nieuwe architectuur te ontwikkelen omdat de oude achitecturen hun maximum hebben bereikt.

De komende vijf jaar zullen we waarschijnlijk geen revolutionaire ontwikkelingen zien. Het blijft bij het uitbreiden van de bestaande CISC architecturen. De Itanium is een voorbeeld van het tegengestelde (en tevens van non-compatibiliteit en paralellisme), maar tot de dag van vandaag is de Itanium een flop. Eigenlijk zou je kunnen zeggen dat de Itanium op het verkeerde moment is gekomen. Als ze pakweg vijf jaar later waren gekomen met het concept van de Itanium, dan had het wellicht een succes kunnen worden gezien de leeftijd en beperkte rekbaarheid van de huidige architecturen.

Meer en vooral kleinere transistoren, hogere kloksnelheden, meer dan één core per processor en uitgebreidere en meer extensies lijkt mij toch de makkelijkste manier om de consument meer rekenkracht te bieden. Pipelining en superscalar kan je als voorbeelden van paralellisme zien, en dus werkt het hele basisontwerp van de huidige processoren dit parallelisme tegen aangezien er altijd instructies zijn die je pas kan verwerken als voorgaande instructies verwerkt zijn. Parallelisme zal pas goed tot uiting komen als er een geheel nieuwe architectuur komt. Tot die tijd moeten we het doen met de wat minder elegante oplossingen.

The trade of the tools
[ me | specs ] Klipsch Promedia Ultra 5.1 + Sennheiser HD-590


Verwijderd

maar tot de dag van vandaag is de Itanium een flop
Dat was de invoering van 32bit CPU, PCI, AGP, Pentium1, SDRAM etc ook.
Trager, geen OS ondersteuning en een concurrentie die Intel voorbij streefde.
Het heeft een behoorlijke tijd geduurt voordat de voordelen boven kwamen drijven, of dat er een goede implementatie/ondersteuning voor was.

Mensen zijn net hamsters, en zullen om die reden niet zo snel afstappen van legacy hardware. ;)

Verwijderd

ben erg benieuwd waar het heen gaat. Nu zitten we al rond de de 90 nm qua dimensies die nog te maken zijn met de huidige technieken. Misschien is er met andere technieken nog een sprong mogelijk naar het lagere nm gebied, maar bij een paar nm houdt het op. Dan praat je nog over 10-20 atomen op elkaar (afh van welk atoom het is). Het gedrag van deze materialen kan wel eens anders worden dan nu het geval is. Of gaan we naar een optische chip.... de informatie dichtheid kan dan weer omhoog.
In c't-04, p76 e.v., staan deze maand mooie plaatjes in het artikel "Getemd licht , Fotonische kristallen voor optische computers."
Pagina: 1