Hva er en flerkjerneprosessor?
En flerkjerneprosessor er en integrert krets som bruker to eller flere individuelle prosessorer, eller kjerner, til å håndtere data. Kjernene kan festes til en integrert krets eller innarbeides i separate matriser i en brikkepakke. Hver kjerne har sin egen cache og hver har en egen kapasitet til å behandle data.
Fordelen med en flerkjerneprosessor er økt hastighet. En tradisjonell enkeltkjerneprosessor lagrer noen data i hurtigbufferen, og når data utenfor cachen er nødvendig, må den hentes fra andre steder som RAM (random access memory). Når dette skjer, reduserer prosessorhastigheten til maksimal hastighet på RAM eller annen lagringsenhet. Denne hastigheten er vanligvis mye lavere enn maksimal prosessorhastighet.
Flerkjerneprosessorer er raskere fordi hver kjerne kan håndtere sin egen datastrøm. Mens flerkjerneprosessorer fremdeles selektiv cache-data og henter ikke-hurtigbufrede data fra andre lagringssteder, kan den ekstra kjernen eller kjernene fortsette å utføre kommandoer og motta informasjon med normal prosessorhastighet mens en annen prosessor henter nødvendig informasjon fra sakte lagringsenheter. På denne måten trenger ikke hele systemet å redusere farten mens data hentes.
En flerkjerneprosessor er spesielt verdifull for multitasking, der mer enn ett program hver serverer sitt eget sett med data for behandling. De separate datastrømmene kan håndteres av forskjellige kjerner, noe som øker den totale behandlingshastigheten. For at et enkelt program skal kunne dra nytte av flerkjerneteknologi, må det ha samtidig multitrådteknologi (SMT) som gjør det mulig å sende parallelle instruksjonssett for flere kjerner å bruke.
Den første kommersielt tilgjengelige multi-core prosessoren var dual-core prosessoren. Det finnes også flerkjerneprosessorer med fire, seks og åtte kjerner. Mange hovedkort er imidlertid ikke i stand til å håndtere disse mange kjernene. Multi-core systemer kan være homogene ved bruk av alle identiske kjerner, eller heterogene, ved bruk av ikke-identiske kjerner.
Selv om flerkjerneprosessorer er ment å øke den totale hastigheten og ytelsen, er det ikke alle programmene som benytter seg av flerkjernet prosesseringsteknologi. Mange programmer og til og med noen operativsystemer mangler SMT som er nødvendig for å bruke mer enn en prosesseringskjerne. Operativsystemer som bruker flerkjerneprosessering er ikke alltid designet for å maksimere flerkjerneprosesseringspotensialet, slik at full prosesseringsevne ofte blir urealisert.
En prosessor med flere kjerner har en tendens til å produsere mer varme enn en enkeltkjerneprosessor, noe som forårsaker utfordringer med varmebehandling. Mengden varme produsert av en prosessor har en tendens til å stige eksponentielt med hver ekstra kjerne. Høye temperaturer kan føre til at prosessorer overopphetes, og skaper driftsproblemer og sikkerhetsrisiko. Prosessorprodusenter har måttet investere betydelig tid og teknologi på å lage løsninger på de termiske utfordringene som er presentert av flerkjerneprosessorer.