Multikernprocessor

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken

Een multikernprocessor is een chip waarop meerdere processors (Engels: cores) zijn geïntegreerd.

Door het groeiende aantal processen dat op een gewone desktopcomputer draait, de vele dingen die mensen met hun computer doen terwijl ze met iets anders bezig zijn, de hoge prijs van echte multiprocessorsystemen en daarnaast de hoge effectiviteit van het werken met meerdere threads, is het tegenwoordig interessant om kernen op één processor te integreren. Bij een dubbelkernprocessor zitten er op één chip als het ware twee complete processors, die één enkele verbinding met het hoofdgeheugen delen — wat dan ook de flessenhals van multikernprocessors is.

Huidige situatie (2009)[bewerken]

IBM[bewerken]

IBM heeft met haar Power-serverprocessors sinds de introductie van de POWER5 CPU in 2005 haar tweedegeneratie-multikernprocessors in haar productlijn. Deze RISC-processors worden hoofdzakelijk gebruikt in servertoepassingen voor IBM's System p (Besturingssystemen: AIX en Linux. Voorheen bekend als pSeries en daarvoor als RS6000) en System i (Besturingssystemen: i5/OS, AIX en Linux. Voorheen bekend als iSeries en daarvoor als AS/400). Tegenwoordig maakt Microsofts Xbox 360 ook gebruik van drie IBM-Power-processors.

AMD[bewerken]

AMD's nieuwste generatie processors was er al op ontwikkeld om ooit dual-core te worden, en nu heeft AMD met zijn Toledo ervoor gekozen om eerst de servermarkt in te stappen alvorens de consumentenversies van zijn dual-coreprocessors te lanceren. Waarschijnlijk is deze zet bedoeld om Intel een stap voor te zijn in de markt waar de meeste winst te behalen valt, wat ook blijkt uit het feit dat de 8xx serie voor 8- en 4-way-servers het eerst uit komt, gevolgd door de 2xx serie voor twinprocessorsystemen en als laatste de 1xx serie, bedoeld voor singleprocessorsystemen. Nog iets later komen de desktopversies van deze chips uit.

De Desktop versie van de dual-coreprocessors van AMD was de Athlon 64 X2, zo genoemd omdat het twee aan elkaar geplakte Athlon 64's zijn. De quad-coreversies heten "Athlon FX" en "Phenom X4". De FX series zijn al oud en al vrijwel uit de markt. De nieuwste quad-coreprocessors van AMD zijn de Phenom II X4 series en de daarvan afgeleide Athlon II X4 processoren. De hexa-coreprocessors van AMD zijn Phenom II X6 gedoopt.

Intel[bewerken]

De Intel Core i5-750, die 4 cores heeft

Intel is precies de andere kant op aan het werken en begon met de introductie van de Intel Pentium D Extreme-Edition 840 (Smithfield). Deze processor draait op 3,20 Gigahertz, 600 Megahertz lager dan het oude, single-coretopmodel. Intel introduceerde al eerder een technologie waardoor (virtueel) 2 threads tegelijk op 1 fysieke core kunnen draaien: hyper-threading (HT). Op een dual-coreprocessor met HT zouden dan 4 threads tegelijk uitgevoerd worden.

Toen AMD zijn eerste dual-coreprocessors uitbracht, kon Intel in een relatief korte tijdspanne van iets langer dan een maand zijn eigen dual-cores daartegenover plaatsen. De reden hiervoor was dat Intel al voorop stond met deze kennis, maar deze nog niet commercieel ging uitbuiten. Deze dual-coreprocessors kregen de naam "Pentium D".

In 2006 kwam Intel met zijn nieuwste generatie dual-coreprocessors: de Intel Core 2 Duo (C2D), gebaseerd op zijn eigen "Core micro architecture". Zijn codenaam tijdens de ontwikkeling was "Conroe". Ook zijn er quad-coreprocessors van Intel, de Intel Core 2 Quad. Er zijn ook "Intel Core 2 Extreme" processors. Dit zijn vaak de high-endprocessors, vandaar de naam "extreme". Men kan aan de letters zien of het een dual-core is of een quad-core. Zo is een "Core 2 Extreme X...." een dual-core en een "Core 2 Extreme QX...." een quad-core. De X staat voor "extreme" en de Q uiteraard voor "quad".

In 2008 bracht Intel zijn Core i7 processors op de markt die 4 cores hadden met hyper-threading. Hierdoor kon elke processor in totaal 8 threads verwerken. Later, in 2009 kwam Intel met de Core i3 en Core i5. Deze waren niet bedoeld voor high-end gebruik en zijn ten opzichte van de Core i7 ook goedkoper. Ook voor de Core i7 zijn er op dit moment drie "Extreme Editions"; de Intel i7 975, de Intel i7 965 en de i7 980X. Laatstgenoemde is een zes-core (hexa-core) processor. In combinatie met hyper-threading heeft deze processor dus 12 logische cores.

Voordelen[bewerken]

Het plaatsen van meerdere kernen op een processor heeft als voordeel dat relatief veel snelheid gewonnen kan worden met een geringe investering; een computer met een dubbelkernprocessor is slechts een beetje trager dan een computer met twee losse processors, terwijl de dubbelkernprocessor geen speciale en vaak dure hardware zoals een moederbord met twee voetjes nodig heeft. Hoewel de aanschafprijs nu nog relatief hoog is door het productieproces (de twee cores worden tegelijk gemaakt: is er één kern kapot, dan is de tweede kern ook onbruikbaar), in de toekomst zullen ze goedkoper worden en omdat de moederborden met één processorvoet goedkoper zijn, zal er een aanzienlijke kostenbesparing mogelijk zijn.

Ook wordt gebruikers een gemakkelijke manier geboden om extra snelheid in hun systeem te krijgen, de gebruiker kan eenvoudig zijn oude processor vervangen door een nieuwe met meer kernen en daardoor de snelheid van zijn machine voor een zeer geringe investering flink doen toenemen.

Nadelen[bewerken]

Het grote nadeel van multikernprocessors is dat software veelal niet automatisch gebruik maakt van meerdere kernen; de software moet ofwel uit meerdere processen bestaan, ofwel specifiek van multithreading gebruikmaken. Klassieke applicaties met slechts een enkele thread profiteren nauwelijks van multikernprocessors.

Het productieproces van de processors vereist dat beide processor kernen tegelijk succesvol geproduceerd worden. Indien een kern defect is, is de andere ook niet meer bruikbaar. Vanuit fabrikageoogpunt zijn multikernprocessors dan ook niet makkelijk hanteerbaar.

Ook betekent een verdubbeling van het aantal kernen vrijwel een verdubbeling van het energieverbruik van de processor. Dit levert warmteproblemen op en om dit te compenseren dient in veel gevallen de kloksnelheid van de processor verlaagd te worden. Applicaties die slechts één kern kunnen gebruiken, zullen daarom trager werken dan in een enkelkernsysteem waar een hoger geklokte processor in zit. Intel heeft dit probleem min of meer verholpen met de introductie van Turbo Boost bij de Nehalem (Core i7) architectuur. Wanneer er slechts één core belast wordt, worden de overige cores uitgeschakeld. De kloksnelheid van de belaste core vermeerderde aanzienlijk. Als de belasting wegvalt, worden alle cores terug ingeschakeld en de kloksnelheid teruggebracht.

Toekomst[bewerken]

De op dit moment verkrijgbare processors beschikken over een, twee, drie, vier, zes, acht of 12 kernen. In de toekomst zullen dubbelkernprocessors niet meer voldoen. Bij andere architecturen is dat al het geval: Suns Niagaraprocessor heeft 8 kernen die elk 4 threads kunnen verwerken, waardoor er in totaal 32 threads tegelijk kunnen worden uitgevoerd. Ook Intels Core i7 heeft 4 kernen die elk 2 threads kunnen verwerken. Alle i7's op de Core i7-980X na. Deze heeft 6 kernen met elk 2 threads (12 threads kunnen zo simultaan worden verwerkt).

Intel ziet de toekomst voor multicoreprocessors rooskleurig in. Naast de bovengenoemde Core i7 had Intel tegen september 2006 al een prototype ontwikkeld van een 80-coreprocessor. Deze processor is in staat om een terabyte per seconde te verwerken en het kan meer dan een teraflop leveren. Het is echter nog niet bekend wanneer deze op de markt komt. Het prototype beschikt over 80 floatingpoint eenheden, die elk op 3,16GHz geklokt zijn. Het bedrijf liet hiermee zien dat 45nm-productietechnologie stroomlekkage met factor vijf verminderde en wist ook de prestaties met twintig procent omhoog te schroeven. Dit bericht werd in september 2006 op het Intel Developer Forum geplaatst.

Ook in kleinere uitvoering[bewerken]

Tegenwoordig is er ook een Microcontroller met meerdere kernen, en wel de Parallax Propeller, welke acht 32-bitprocessorkernen bezit.

Zie ook[bewerken]