Wat is een multi-core processor? (met foto's)
Een multi-core processor is een geïntegreerd circuit dat twee of meer individuele processors of cores gebruikt om gegevens te verwerken. De kernen kunnen worden bevestigd aan één geïntegreerd circuit of worden opgenomen in afzonderlijke matrijzen in een chippakket. Elke kern heeft zijn eigen cache en elk heeft een afzonderlijke capaciteit om gegevens te verwerken.
Het voordeel van een multi-coreprocessor is verhoogde snelheid. Een traditionele, single-core processor slaat sommige gegevens op in de cache en wanneer gegevens buiten de cache vereist zijn, moeten deze worden opgehaald van andere plaatsen, zoals RAM (Random Access Memory). Wanneer dit gebeurt, vertraagt de processorsnelheid tot de maximale snelheid van het RAM-geheugen of een ander opslagapparaat. Deze snelheid is meestal veel langzamer dan de maximale processorsnelheid.
Multi-coreprocessors zijn sneller omdat elke kern zijn eigen gegevensstroom aankan. Terwijl multi-coreprocessors nog steeds selectief gegevens in de cache opslaan en niet-gecachte gegevens ophalen uit andere opslaglocaties, kunnen de extra cores of cores opdrachten blijven uitvoeren en informatie ontvangen op normale processorsnelheid, terwijl een andere processor de benodigde informatie van trage opslagapparaten ophaalt. Op deze manier hoeft het hele systeem niet te vertragen terwijl gegevens worden opgehaald.
Een multi-coreprocessor is bijzonder waardevol voor multitasking, waarbij meer dan één programma elk zijn eigen set gegevens voor verwerking dient. De afzonderlijke gegevensstromen kunnen door verschillende kernen worden verwerkt, waardoor de algehele verwerkingssnelheid wordt verhoogd. Om één softwareprogramma te laten profiteren van multi-core technologie, moet het simultaan multi-threading-technologie (SMT) hebben waarmee het parallelle sets instructies voor de verschillende cores kan gebruiken.
De eerste commercieel beschikbare multi-coreprocessor was de dual-coreprocessor. Er zijn ook multi-coreprocessors met vier, zes en acht cores. Veel moederborden zijn echter niet in staat om zoveel kernen te verwerken. Systemen met meerdere kernen kunnen homogeen zijn en alle identieke kernen gebruiken, of heterogeen met niet-identieke kernen.
Hoewel multi-coreprocessors bedoeld zijn om de algehele snelheid en prestaties te verhogen, profiteren niet alle programma's van multi-coreverwerkingstechnologie. Veel programma's en zelfs sommige besturingssystemen missen de SMT die nodig is om meer dan één verwerkingskern te gebruiken. Besturingssystemen die multi-coreverwerking gebruiken, zijn niet altijd ontworpen om het multi-coreverwerkingspotentieel te maximaliseren, zodat de volledige verwerkingscapaciteit vaak niet wordt gerealiseerd.
Een multi-coreprocessor heeft de neiging meer warmte te produceren dan een single-coreprocessor, wat zorgt voor uitdagingen op het gebied van warmtebeheer. De hoeveelheid warmte geproduceerd door een processor heeft de neiging exponentieel te stijgen met elke extra kern. Hoge temperaturen kunnen ervoor zorgen dat processoren oververhit raken, waardoor operationele problemen en veiligheidsrisico's ontstaan. Processorfabrikanten hebben veel tijd en technologie moeten investeren in het creëren van oplossingen voor de thermische uitdagingen van multi-coreprocessors.