Moores Lov lever på lånt tid: Hvad sker der efter 2020?

Allerede i 2020 kan det være slut med den eksponentielle udvikling i mikroprocessorer, som hidtil har drevet elektronikindustrien. Næste kapitel kræver eksotiske teknologier.

I mere end 40 år har vi oplevet en eksponentiel vækst, som har ført til opblomstringen af dét, der i dag er én af verdens største industrier. I 1965 formulerede medstifteren af chipproducenten Intel, Gordon Moore, en observation, som lige siden har holdt stik: Antallet af transistorer på en mikroprocessor fordobles cirka hvert andet år.

Det princip er i dag kendt som Moores Lov, og set over næsten 40 år har den været et usædvanligt stabilt pejlemærke for it- og elektronikbranchen.

»Moores Lov er blevet erklæret død mange gange, men man har altid fundet løsninger. Men den har også holdt stik, fordi industrien har valgt at følge loven,« siger lektor Ivan Harald Holger Jørgensen fra DTU Elektro.

Moores Lov er ingen naturlov, men blot en observation af, hvordan producenterne er blevet bedre til at fremstille mikroprocessorer. Det er derimod netop naturlovene, som nu for alvor ser ud til at true Moores Lov. Alle eksponentialfunktioner, som beskriver naturen, vil nå et punkt, hvor den eksponentielle udvikling ikke længere kan opretholdes. For Moores Lov kommer det formentligt til at ske inden for de næste år.

»Jeg vil pege på 2020, som det tidligste, hvor vi kan erklære den for død. Du kan måske overtale mig til 2022,« sagde chefen for den amerikanske forskningsfond DARPA's afdeling for micro systems i august 2013.

DARPA afsatte i oktober yderligere 85 millioner kroner til forskning i nye teknologier, som kan hjælpe udviklingen af mikroprocessorer videre. Men intet tyder på, at traditionelle teknologier kan holde liv i den eksponentielle vækst. Selvom der fortsat vil ske en masse gradvise forbedringer, så vil de næste 40 år ikke resultere i en tilsvarende udvikling, som vi har set i de sidste 40 år.

Fysikkens love sætter grænser

I dag fremstilles de nyeste mikroprocessorer med en teknologi, hvor de mindste dele måler 14 nanometer. Den nuværende teknologi til fremstilling af processorer vil formentligt kunne skaleres ned til 7 eller endda 5 nanometer. Derefter bliver det særdeles vanskeligt at forhindre kvantemekaniske og elektromagnetiske effekter i at overdøve den information, som siliciumatomerne skal holde på.

Chipproducenterne har allerede kæmpet med lækstrøm, hvor elektroner passerer gennem transistorer, hvor de ikke skulle gøre det. Det er blevet løst ved at bruge nye materialer til at konstruere transistorerne.

»I mange år har det været sådan, at en transistor bruger strøm til at skifte, men skal ikke bruge strøm, når den er i sin steady-tilstand, bortset fra en lille lækstrøm. Når vi går ned i geometri, bliver afstandene helt små, og så kan vi ikke afbryde strømmen. Så selvom den er slukket, løber der en lækstrøm igennem, som bliver mere og mere betydende,« forklarer Ivan Harald Holger Jørgensen.

På en skala, hvor de enkelte dele er konstrueret af få atomer, bliver det også vanskeligere at holde på elektronerne på grund af mere eksotiske effekter som kvantemekanisk tunnelling. Allerede i dag er det nødvendigt at tilpasse den geometriske fordeling af transistorerne, så man tager hensyn til svage punkter. Det gør det også dyrere at designe mikroprocessorerne.

Strømforbruget spænder ben

Der er flere alternativer til den teknologi, som i dag bruges til mikroprocessorer, men ingen af dem er endnu nået dertil, hvor de er parat til masseproduktion. Det kan blive en udfordring for de mest krævende computersystemer, som meget forskning i dag er afhængig af til eksempelvis klimamodeller og udvikling af ny medicin.

Den kraftigste supercomputer har i øjeblikket en regnekraft på 34 petaflops, og den næste store milepæl er en supercomputer med en regnekraft på mere end én exaflops, svarende til 10^18 operationer pr. sekund.

»Hvis teknologien gik i stå i dag, ville vi have et stort problem. Hvis man skulle bygge en exaflops-supercomputer med dagens teknologi, ville den bruge mere end 500 megawatt,« siger professor Brian Vinter fra Niels Bohr Instituttet, eScience, ved Københavns Universitet.

Sådan en supercomputer kunne bygges ved at benytte mere end 10 millioner processorer, som arbejder parallelt. Det er allerede modellen, som supercomputere bygges efter i dag, men strømforbruget gør det upraktisk at bygge dem endnu større.

Den alternative teknologi, som lige nu ser ud til at være tættest på massefremstilling, er såkaldte memristorer. En memristor har hidtil været en teoretisk komponent i elektronikken, men blandt andet Hewlett-Packard mener at være tæt på at kunne fremstille en bestemt type memristor.

En memristor kan lagre information, fordi dens elektriske modstand ændres ved at lede strøm gennem, og det kan i teorien både bruges til nye typer hukommelse og til logiske kredsløb i processorer. De første typer memristorer vil formentligt blive brugt til hukommelse, hvor den største fordel er, at en memristor kan lagre information uden en elektrisk spænding, sådan som nuværende RAM-teknologier kræver det.

»Memristors bliver spændende. Et af vores helt store problemer i supercomputere er strømforbruget, og RAM er ved at udgøre en meget stor del af vores strøm- og kølebehov,« siger Brian Vinter.

Ud over memristorer investerer chipproducenterne i disse år milliarder i forskning i nye materialer som eksempelvis kulstofnanorør og mere eksotiske teknologier som kvantecomputere.

Herunder kan du se et udvalg af de teknologier, som måske kan bidrage til at holde udviklingen i computernes regnekraft kørende, som bliver udviklet sideløbende med forsøg på at finde nye måder at øge udbyttet af den nuværende teknologi.

Kvantecomputer

Kvantecomputeren bruger kvantemekaniske effekter som superposition og entanglement. Den kan ikke afløse en konventionel computer til alle formål, men kan løse visse matematiske problemer meget mere effektivt. Det gælder eksempelvis primtalsfaktorering, som danner grundlaget for meget kryptering. Firmaet D-Wave fremstiller en kommerciel kvantecomputer, og efterretningstjenesten NSA arbejder også med teknologien.

Spintronics

I stedet for en elektrisk strøm af elektroner er spintronics baseret på at manipulere med enkelte elektroners spin. I teorien kan et enkelt atom på den måde udnyttes til at fungere som et logisk kredsløb ud fra elektronens impulsmoment. Både IBM og Intel arbejder på teknologien.

MRAM

Magnetoresistive Random Access Memory kan ikke direkte gøre mikroprocessorerne hurtigere, men det er en hukommelsestype, som kan lagre data uden konstant elektrisk spænding ligesom flash-hukommelse, men kan arbejde hurtigere. MRAM fungerer ved at lagre information i magnetfelter helt ned til atomniveau, hvor magnetfeltet påvirker den elektriske modstand. Adskillige firmaer arbejder med MRAM-teknologien.

Memristor

En memristor kan udnytte sammenhængen mellem elektrisk strøm og magnetfelter til at huske en bestemt elektrisk modstand. Der findes allerede mange bud på, hvordan en memristor kan udformes, og så sent som i 2012 lovede Hewlett-Packard, at vi ville se massefremstillede memristorer i løbet af halvandet år.

Denne artikel stammer fra den trykte udgave af Ingeniøren.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Kommentarer (26)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Martin Wolsing

En af årsagernes til at Moores Lov holder er, at den er blevet selvopfyldende. Halvlederudviklerne bruger den som guide og et mål for deres udvikling.

Men i øvrigt er det nok lidt for meget, at kalde det en "lov" eller en forudsigelse. Det er mere en bagudskuende erkendelse, hvor Moore kiggede i 1965 på den eksisterende udvikling og mente, at den nok ville fortsætte de næste 10 år. Oprindeligt var det med en fordobling hvert år, men i 1975 lavede han det om til hvert andet år. Dvs. Moore også har tilpasset sin lov til udviklingen.

  • 5
  • 0
John Vedsegaard

må vel være reducering af antallet, lave dem mere kompakte, det vil gøre energiforbruget mindre og give muligheder for at øge hastigheden markant.

Mængden af transistorer må kunne reduceres med boolsk algebra, eller lignende. Ingen skal bilde mig ind at 100 millioner transistorer er en nødvendighed, der er uden tvivl masser af inaktive kredsløb, som kan fjernes til en start.

  • 2
  • 10
Jørgen Henningsen

I grunden er det ikke relevant hvor mange transistorer der er proppet ind i kredsløbet. Det er mere relevant hvad processoren kan og hvilken ydeevne den har. F.eks. har ARM arkitekturen en bedre ydeevne pr. watt end Intel arkitekturen. Det er jo ikke fordi en ARM processor bruger andre transistorer end en Intel processor.
Højere oppe i systemet har vi en software, som også kan optimeres.

  • 6
  • 1
Michael Coene

Jeg tror problemet bliver alvorligt undervurderet. Ja, vi kan sikkert fordoble hastigheden med bedre design af hard- og software. Tillykke! Nu er vi først på skideren i 2022 i sted for 2020! Du kan ikke erstatte en eksponentiel løsning (Moores) med en lineart en!
Og de sidste generationer bliver sikkert dyre, så Apple og Samsung vil nok opleve problemer langt før. Øge prisen på iPhone 8, eller acceptere at den kører på den samme processor som iPhone 7?

  • 0
  • 1
Casper Bang

Hvis man omskriver hans "lov" til transistorstørrelse over tid får man følgende der unægteligt ligner en hyperbel hvor vi er på ved imod en asymptote. Man kan derfor argumentere for, at Moore's lov kun har holdt, fordi da Gordon gjorde sine observationer, var det på på et meget lille udsnit, og den burde måske nok være blevet omformuleret.

De roadmaps jeg har set, forudser at vi i 2020-2022 når ned på 4-6nm, udnytter den 3 dimension yderligere, bruger memresistor til cache og arbejder med grafén mv. Men i modsætning fra førhen hvor hele DIE'en var på én fast størrelse, vil det blive mere normalt med hybrider mht. materialer, processstørrelser, tilladte lækstrømme osv.

Der er mange markedskræfter med enorme research-budgetter der arbejder på problemet, hvorfor jeg tror, at udviklingen fortsætter på denne hybrid facon. Gør den dét, giver selve definitionen ikke længere mening, altså at måle "antal af transistorer på mm^2" - det gør den måske ikke allerede i dag, eftersom vi har taget den tredje dimension i brug. Derfor kan vi dog stadig godt ende med at kunne gå ud og købe en CPU i 2025 der opleves som samme performance-forbedring som det gjorde i 2005.

  • 2
  • 0
Jens Madsen

Næste skridt

må vel være reducering af antallet, lave dem mere kompakte, det vil gøre energiforbruget mindre og give muligheder for at øge hastigheden markant.

Mængden af transistorer må kunne reduceres med boolsk algebra, eller lignende. Ingen skal bilde mig ind at 100 millioner transistorer er en nødvendighed, der er uden tvivl masser af inaktive kredsløb, som kan fjernes til en start.


Det er ikke så svært at reducere antallet af transistorer - men ofte går det ud over hastigheden. Går vi nogle år tilbage, så brugte Intel et stort antal transistorer i forhold til funktionaliteten. Laver du en CPU på en FPGA, så vil du opdage, at en Intel processor, på grund af dens komplekse instruktionssæt, meget nemt fylder mere, og bliver langsommere, end en Mikrochip PIC kompatibel cpu. En PIC kompatibel CPU kan som regel køres med halvdelen af frekvensen af BRAM'erne, og er du dygtig, kan du nemt få den højere op. Typisk, er det en frekvens på over 150 MHz, uanset om den laves som 8 bit, eller 16 bit, og med en instruktion per klok. Laver du en Intel Pentium kompatibel, så vil du få problemer med at klokke den ved over 25 MHz. Alene grundet CISC instruktionssættet. Intel "løser" problemet, ved at bruge masser af transistorer. Deres instruktionssæt oversættes internt til en slags RISC / PIC instruktionssæt, og caches, før det kører videre. Ikke kun denne oversættelse koster transistorer, men skal det køre med optimal performance, så er også nødvendigt med stor cache intern på CPU'en.

Udover cache, så kan du ved brug af mange transistorer opnå, at selve ALU'en går hurtigere. Prøv at forestil dig et program, der f.eks. indeholder en løkke - du har mulighed for, at folde denne løkke ud. Omtrent det samme gælder for hardware. En CPU kan betragtes som et lille program, der henter en instruktion ind, og udfører den. Udfoldes denne løkke nogle trin, så kan du hente flere instruktioner ind på en gang, og udføre dem samtidigt - det smarte er, at du også kan forwarde data direkte kombinatoriske mellem disse beregningsenheder, og det viser sig så, at det går hurtigere end du kan forudsige. Det, som du kan forudsige er, at hvis der ikke er afhængigheder, så vil det gå hurtigere - men, trods det er afhængigheder, så går det faktisk også hurtigere. Hvor meget, kan du dog ikke forudsige, med mindre du ved eksakt hvad programmet gør. Antager vi eksempelvis, at du har en ribbel-adder, så skal du vide om du lægger 3 til 4 eller 3 til 253, for at vide hvor hurtigt operationen er. Selvom du bruger look-ahead typer, så er der tilsvarende problematikker, når flere operationer udføres samlet - du kan ikke sige på forhånd hvor hurtigt det går. Du kan komme med en worst case, ud fra om der er afhængigheder, men det kan meget nemt gå mange gange hurtigere. Det viser sig, at med n sideløbende processorer, der udfører instruktioner i rækkefølge, er "tendens" til, at der er en dybde på log2/n hvor n er antallet af instruktioner der udføres samtidigt, mens at forøgelsen er en faktor n - det giver en faktor n/log2(n) som middel forøgelse. Igen, er dette dog kun "typisk", og ikke noget som kan bevises - tværtimod, kan findes matematiske algoritmer, hvor det ikke går hurtigt. Selvom processoren designes til at udføre instruktionerne i rækkefølge, så kan flere transistorer altså medføre væsentligt større hastighed. Der er ganske enkelt tendens til, at der ikke er så mange afhængigheder på "bit-niveau", som man kan udregne på datalogisk niveau.

Og, sidst men ikke mindst, så kan vi analysere software - også sekventielt software - og organisere den, så det er muligt at øge parallelismen. Den slags "triks" kræver også transistorer.

Som du skriver, må der findes et "hul" der får transistor antallet ned, så vi kan bruge chippens transistorer til noget fornuftigt. Det gør det også. Det kan hjælpe, at flytte en del af opgaverne til softwaren - og det kan faktisk give langt bedre operativsystemer. I dag, så er det stort set altid programmørens opgave, at parallelisere opgaverne. Og operativsystemet er dårligt, til at sekventialisere de parallelle opgaver, og få dem ned på antallet af kerner som findes. Ved at lave denne software dårlig, så favoriseres processorer med flere kerner - gerne mange. Her er ikke så kritisk, at mapningen ned til en eller få kerner sker effektiv. Det er muligt at lave operativsystemerne således, at det er dem der står for at parallelisere opgaverne, og sekventialisere dem - i dag sker sekventialiseringen på den dårligste måde, ved hjælp af et interrupt der afbryder arbejdet, og sætter processoren i gang med en ny process. Det er det vi kan kalde den dummeste løsning. Når man gør det korrekt, så regner man ud hvordan at opgaverne skal udføres, for at de i gennemsnit, og samlet, bliver hurtigere først. Det opnås ikke, når du deler opgaverne. Det er faktisk en meget interessant - men også lidt svær opgave - at mappe mange parallelle processer effektiv ned i en eller få kerner. Udføres også parallelisering af sekventiel kode, så afhænger parallelismen af, i hvilken rækkefølge opgaverne løses, og du kan sætte flere ressourcer eller færre ressourcer af, på at øge eller reducere parallelisme. Ofte, så øges f.eks. parallelismen, hvis en løkke får lov til at køre nogle gange. Det kan også være muligt, at reducere dens indhold. Et godt operativsystem, får kode som den er i stand til at behandle fra programmerne, og derved kan øge og reducere parallelisme efter behov. Og, den er i stand til at behandle koden, således at den i nogle tilfælde reduceres. Har du en uendelig løkke, så vil den som regel ikke tage nogen tid, fordi den ikke har et output, og kan derfor udføres parallelt med dine andre opgaver. Den kan skubbes til at blive udført før, eller siden. Og en parallel opgave, uden output, behøver ikke at blive udført, så den fjernes. Du kan, hvis operativsystemet fungerer, ikke lave en uendelig løkke, eller pauser med løkker. Pauser med løkker reduceres bort online, mens paralleliseringen i OS'et kører. Alligevel, så udføres instruktionerne i rækkefølge.

Ovenstående metoder, hvor operativsystemet gøres mere intelligent, tror jeg er fremtiden. Dels, så behøver du ikke kode i så høj kvalitet, da operativsystemet gør koden hurtigere. Den kan også analysere den, og du kan få bevis for, hvor hurtig det kan udføres. Har du timing krav på, så tages hensyn til timing kravene, når processerne prioriteres og paralleliseres. Og, der kan på forhånd gives enten godkendelse, eller afslag, på realtidskrav som softwaren stiller. Det kræver, at operativsystemet kender hardwaren grundigt.

Altså - med andre ord - hvis du flytter en del af snasket med parallelisering fra hardwaren til softwaren, så bliver den mere kraftfuld. Softwaren reduceres ligefrem bort. Pauser, kan kun udføres, ved at gøre det korrekt - ikke med "for next" løkker, uden delays. Som regel, så vil der sættes krav til, at delays lægges på I/O's, da instruktioner tidsmæssigt ingen tid tager, når de udsættes for analyse, reduktion, og paralleliseres således at rækkefølgen de udføres er ukendt, og kun funktionen 100% bevares. Står et delay i programmet, så vil den reelt sløve alt ned, og skulle lægges på samtlige I/O's der udføres senere. Det er oftest upraktisk. Og, det er bedre at "anbringe" delays, ved at gøre det på selve I/O enheden, f.eks. sende en delay til skærmen, hvis det er en delay på skærm som ønskes. Et delay må helst ikke forekomme i selve softwaren.

Med mere intelligente operativsystemer, så vil processorens transistorer kunne bruges mere effektiv. Og, det vil være muligt at operativsystemerne bliver mere intelligente, og at hver generation vil kunne løse større reduktionsopgaver.

  • 5
  • 1
Theis Blickfeldt

Der kommer nok et tidspunkt hvor vi får svært ved, at stoppe flere transistorer eller andre logiske komponenter tættere sammen. Men nåv vi kommer der til, er der en lige så lang process som kan forfines ved, at kigge på den effektive udnyttelse af den regnekraft vi samlet producerer.
Hvis strømforbruget kan nedbringes betydeligt, kan man også begynde i større omfang, at realiserer delt regnekraft. Hvis min mobil 'aldrig' løb tør for strøm, så er det ud fra et samfundsmæssigt synspunkt ikke optimalt, at jeg går rundt med relativt store mængder idle-processorkraft i lommen.
Tænk big-scale...

  • 0
  • 0
Casper Bang

Det er ikke så svært at reducere antallet af transistorer - men ofte går det ud over hastigheden. Går vi nogle år tilbage, så brugte Intel et stort antal transistorer i forhold til funktionaliteten.

Det gør de nu stadig, jvf. deres forkærlighed for store caches, lange pipelines (og workarounds for dette i form af HT), bagudkompatabilitet (CISC-RISC oversætter) mv.

Laver du en CPU på en FPGA, så vil du opdage, at en Intel processor, på grund af dens komplekse instruktionssæt, meget nemt fylder mere, og bliver langsommere, end en Mikrochip PIC kompatibel cpu. En PIC kompatibel CPU kan som regel køres med halvdelen af frekvensen af BRAM'erne, og er du dygtig, kan du nemt få den højere op. Typisk, er det en frekvens på over 150 MHz, uanset om den laves som 8 bit, eller 16 bit, og med en instruktion per klok.

Sjovt du netop tager fat i PIC, der er kendt for at have et ret lav IPC (4-8 clocks per instruktion og skal derfor klokkes relativt højt for f.eks. at følge med en AVR, MSP mf.).

Med mere intelligente operativsystemer, så vil processorens transistorer kunne bruges mere effektiv. Og, det vil være muligt at operativsystemerne bliver mere intelligente, og at hver generation vil kunne løse større reduktionsopgaver.

Jeg er ikke helt overbevist om, at "intelligente OS'er" kan nedbryde de lag af indirection der trods alt er ned til en rå FinFET transistor. Men kigger man på et heatmap af en "travl" CPU i dag, er den jo typisk kun i brug få steder samtidigt - så måske er vejen frem istedet "konfigurerbart hardware" sammen med "intelligent software" således at en større del af CPU'en kan blive brugt (tænk noget a la FPGA og APU) samtidigt. Intet af dette har dog noget med Moore's lov at gøre. ;)

  • 0
  • 0
Finn Christensen

må vel være reducering af antallet, lave dem mere kompakte, det vil gøre energiforbruget mindre og give muligheder for at øge hastigheden markant.

Hvis vi fjerner unødvendig fyld - fatware, glimmer og crap - samt udviklerne aflønnes for lille + effektiv kode, så vil behovet incl. et enormt effektspild jo helt af sig selv falde (tilmed gratis), og det vil samtidig dæmpe kravene til en fordobling hvert andet år.

Cpu'er - 1 eller 4 kerner - bliver ikke overanstrengt i dag - tværtimod, og med en SSD disk til OS så bør der kunne opleves en solid hastighed, men alt det klyt, crap og fyld der skal trækkes med rundt fra/til HDD/til monitor/igennem netforbindelser etc. det sænker den totale udnyttelsen af moderne udstyr anno 2012-2014.

Den næsten konstante øgning i HW (Moores Lov) slår kun svagt igennem i hver generation efterhånden, tværtom synes det at blive en vane at den delvis skal ædes op af fyld og halvsjusket SW-kode - det er da ubegavet.

Jeg tænker her på hovedparten af kontor + konsummarkedet, der er proppet med unødvendig crap.

Ifm. det videnskabelige, militære etc. område - grande taltæsker - er det en helt anden sag. De bliver aldrig tilfredse, og får aldrig for meget regnekraft og aldrig for 'stor' en maskine, men de har også råd til elregningen.

  • 1
  • 0
Henrik Madsen

Jeg venter stadigvæk på hyldevarer til tilsvarende priser og strømforbrug der er mærkbart bedre end dem jeg byggede min nuværende computer af for snart 3 år siden.

Jeg er til dels enig med dig.

Har lige skiftet min gamle computer med Q6600 og 4GB DDR2 ram ud fordi den begyndte at køre ustabilt, men den var nu også 5+ år gammel.

Igennem dens levetid havde jeg opgraderet grafikkortet et par gange og for et års tid siden købte jeg en 512GB SSD harddisk til den.

Hvis jeg ser på oplevelsen af hastighed fra jeg fik min Q6600 og til idag hvor jeg har en I7-4770K med 16GB DDR3 ram så må jeg sige at den eneste gang jeg har følt at jeg fik en mærkbar hastighedsforøgelse var for et års tid siden da jeg købte den SSD disk.

Ja, min nye computer starter op hurtigere end den gamle (Gamle = W7, Ny = W8.1 og W8 skulle vel netop fokusere på startup hastighed) og ja, det kan godt være den starter word op på 1 sekund og den gamle brugte 2 sekunder, men overall må jeg sige at var det ikke fordi den var begyndt at svigte mig så ville jeg nok ikke have opgraderet, simpelthen fordi min Q6600 var "hurtig nok" Eneste sted hvor maskinen havde brug for upgrade var når der kom nye spil men så snart den fik et nyt grafikkort så kunne den sagtens trække spillene.

Summa summarum....Har du en computer som er mindre end 5 år gammel og fungerer den så er den bedste investering du kan gøre at købe en SSD disk og smide i. SSD disken er som sagt den eneste opgradering jeg har lavet som har giver mig en følelse af hastighedsforøgelse.
Moores lov lever ikke på lånt tid, den er død.
[/quote]

  • 1
  • 1
Rasmus Skovmand

Moores lov drejer sig jo om antallet af transistorer og ikke direkte om ydelsen. Flere transistorer giver dig mere af et eller andet selvfølgelig, men bliver transistorerne ikke mest brugt på den integrerede grafik i disse år?

Jeg blev overrasket over at se, vistnok Intels egne facts, at den nye Hashwell kun er 6% hurtigere til serielle beregninger. Så har den andre forbedringer.

Mit indtryk er, at det er varme og lækstrømme der volder dem (Intel) store problemer. Burde frekvensen ikke alt andet lige kunne sættes op ved hver nedskalering af nodestørrelsen? Så serielhastigheden forbedres. Det var den måde vi målte ydelsen indtil for ~10 år siden, men frekvensen ser ud til at have ramt loftet den gang. Så begyndte man at fokusere på cache og paralellisering, og det har kunnet fortsætte udviklingen i beregningshastigheden.

Men f.eks mængden af cache, giver en meget kraftig forbedring af ydelsen op til en hvis størrelse, hvorefter det ikke giver mere at øge den yderligere. Noget tilsvarende gælder for paralellisering. Så efter et antal kerner og noget cache, er den vej til øget ydelse slut.

Vi skal vel krydse fingre for, at frekvensen begynder at komme opad igen, for det må være tegn på, at Intel har fået løst nogle af de virkelige knaster.

  • 0
  • 0
Casper Bang

En CPUs strømforbrug stiger med kvardratet på frekvensen. Så eftersom en 2GHz CPU kun bruger 1/4 af strømmen som en 4GHz CPU, er der mere økonomi i simpelthen at tilføje flere kerner. Iøvrigt har AMD lige lanceret FX-4350 der er clocket på 4.2GHz og arbejder åbentbart på en 5GHz version, dette nok primært muligt fordi vi nærmer os sub-volt skalaen med tilhørende lavere effektafsætning.

  • 2
  • 0
Rasmus Skovmand

Men strømforbruget kunne teoretisk måske være meget lavere i dag end det er? Tidligere fordoblede man antal transistorer på samme plads, og hævede frekvensen meget uden øget strømforbrug. Derudover får man jo også alle de ekstra transistorer. Er det store problem ikke at man ikke kan få strømmene skaleret med ned som man burde? Med de små dimensioner er meget små strømme vel teoretisk muligt, hvis lige man kan få styr på atomerne altså.

Jeg ved ikke nok om sagerne. Deres designs og processer er uden tvivl dybt kompliceret, og jeg har altid været fascineret af det den industri har opnået.

  • 0
  • 0
Tomas Kjersgaard

Det gør de nu stadig, jvf. deres forkærlighed for store caches, lange pipelines (og workarounds for dette i form af HT), bagudkompatabilitet (CISC-RISC oversætter) mv.

Intels CISC-RISC CPU'er har faktisk mindre behov for en stor cache. CISC instruktioner er mere kompakte end RISC ditto. Spørg Linus Torvalds om det.
Intels pipelines er ikke særligt lange i dag. Ikke i nogen af deres modeller. Faktisk har AMD en 20 trins pipeline i Bulldozer. Intels er kortere. Alle bortset fra ARM bruger en eller anden for for HT (hyperthreading). De kalder det blot noget andet. At du kalder det for et work-around undrer mig. Så laver alle work-arounds?
Intels Atom processor er næsten ren CISC mens Core serien er hybrid CISC-RISC. Intel går faktisk CISC vejen for at spare strøm. Det kan man jo passende gruble lidt over.
Ovenstående er blot fakta og iøvrigt ikke min skyld.

  • 0
  • 1
Anonym

Der er naturligvis ingen diskussion om, at Moores lov på et eller andet tidspunkt ikke holder længere. Men Moore kendte jo ikke i 1965, da han fremsatte sin observation, til mange af de nye teknologier som bruges i dag, og som nævnes i artiklen (Memristor, MRAM, kvantecomputere osv.), og selv om disse teknologier med sikkerhed flytter grænsen for hvad der kan integreres ned i en chip, så har det ikke noget med Moores observationer at gøre. Moore siger kun noget om integrationsgarden af transistorer på en chip - simpelt som i 1965.
At man så har projekteret observationen over på alle mulige andre udviklingstendenser er noget helt andet.

Men spørgsmålet er, om man ikke allerede nu er ved at "gå i stå" i forhold til det Moore forudsagde. I 1965 kendte man ikke til mange af de fænomener man kæmper med i dag, og som selvfølgelig får det hele til at gå i opløsning jo tættere på de kvantemekaniske grænser man kommer.

Eksempel: Elektromigrering. Et fænomen man har kendt til i mere end 100 år, og som beskriver hvorledes atomer i en leder kan flytte sig i materialet når der sendes en strøm af ioner (elektroner) gennem materialet (elektroneren bombarderer atomerne så de flytter sig - sådan groft beskrevet).
Det sætter en grænse for hvor tynde ledninger der kan benyttes på en chip. Eller rettere, hvor lang tid der går, før atomerne i lederne har flytte sig så meget, at der ikke længere kan løbe en strøm. Så jo, man kan godt øge integrationsgraden yderligere, men det bliver på bekostning af pålidelighed. Men i 1965 var elektromigrering ikke noget man tog hensyn til (i hvert fald ikke i low power elektronik), fordi man lå meget langt fra den geometri som skaber problemer i chips. Men der er men ikke længere.

Så hvad gør man: Mit gæt - og formodentlig mange chip producenters hedeste drøm: Chips med en begrænset og forudsigelig levetid, og som slides i stykker når de bruges.

Og så kan man selvfølgelig altid diskutere om Moores lov stadig er opfyldt. Døm selv.

  • 0
  • 0
Casper Bang

De kalder det blot noget andet. At du kalder det for et work-around undrer mig. Så laver alle work-arounds?

Da HT kom til verden i NetBurst arkitekturen på 31 trin, var det i høj grad en workaround for når branch-predictoren/pre-fetcheren tog fejl og hele pipelinen skulle flushes. Med HT i baghånden, kunne ALU'erne holdes kørende ved simpelthen at skifte pipeline, forudsat naturligvis at programmet var skrevet dertil - derfor gav HT primært mening når der skulle regnes over flere tråde og havde stort set ingen effekt ellers.

Da Intel introducerede Core mikroarkitekturen på 14 trin (der faktisk kom fra Pentium M microarchitecturen udviklet i Israel, modnet igennem generationerne Banias/Dothan/Yonah/Merom), droppede de HT. HT blev først genindført med Nehalem arkitekturen der fik sin pipeline sat op til 16 trin, hvor HT markedsføres i dag markedsføres som en "luxus feature" i Core i7 og Xeon.

Nyeste generation fra Intel, deres Silvermont arkitektur, har igen valgt HT fra for istedet at satse på out-of-order execution i en kort 10 step pipeline. ARM valgte ej heller at satse på HT og AMD's CMT er jo et helt kapitel for sig, der dublikerer fysiske ALU'er og ikke kun state som HT.

  • 0
  • 0
Torben Mogensen Blogger

Idet "loven" kun udtaler sig om antallet af transistorer per chip, kan dens levetid forlænges ved at forøge størrelsen af chips. Det er i længden upraktisk at forøge længde og bredde, men man kan komme langt ved at forøge den tredje dimension: Man kan bygge flere lag transistorer ovenpå hinanden i mange lag. Så på den måde, er der langt til Moores lov ikke kan videreføres.

Men det store problem er varmeudviklingen: Hvis samme procentdel af transistorerne er aktive, og deres strømforbrug ikke reduceres kraftigt, så vil større chips kræve mere strøm og generere mere varme. Specielt hvis den tredje dimension tages i brug, kan det blive meget svært at lede denne varme væk. Og der er ikke meget fidus med 100 gange så mange transistorer, hvis under 1% af dem kan være aktive af gangen. Dertil kommer, at mindre dimensioner øger lækstrømmen, så selv ikke-aktive transistorer bruger strøm og genererer varme.

Man kan lave mere ydeevne med færre transistorer med forskellige kneb, som der har været diskuteret herover, blandt andet ved at reducere mængden af spekulative beregninger: Du laver kun noget, hvis du er sikker på, at det bidrager til det endelige resultat. Det gør enkelttrådede beregninger langsommere, men du kan have flere tråde kørende for samme strømforbrug. Man kan også lave mere specialiserede regneenheder (såsom grafikprocessorer). Men det er begrænset, hvor langt den slags rækker. Så det er vigtigere at mindske strømforbruget per transistor.

Der er teknikker, der i teorien kan gøre dette, blandt andet reversible kredsløb, men de vil kræve radikalt andre implementeringsmekanismer for at opnå den teoretiske besparelse. I CMOS vil de f.eks. kunne reducere switching-strømmen men ikke lækstrømmen. Så man skal nok over i superledere, nanomagneter eller lignende eksotiske teknologier, før man virkeligt kan reducere strømforbruget.

  • 0
  • 0
Jesper Poulsen

Vi skal vel krydse fingre for, at frekvensen begynder at komme opad igen, for det må være tegn på, at Intel har fået løst nogle af de virkelige knaster.

Blande de processorfabrikanter hvis processorer klarer de højeste frekvenser ligger IBM og AMD (de benytter begge SOI - Silicon On Insulator). IBM's mainframeprocessorer har en clockfrekvens på 5,5GHz.

http://valid.canardpc.com/records.php

  • 0
  • 0
Log ind eller Opret konto for at kommentere
IT Company Rank
maximize minimize