Als we één core hadden kunnen maken die 8x transistoren had van een normale core, en dan 8x de rekenkracht, dan hadden we die gebruikt ipv 8x CPUs.
In de tijd van een enkele core waren er problemen om taken efficiënt te verdelen. Hier een klein voorbeeld in het klassieke Basic dat een enkele core volledig wil belasten als het de kans krijgt.
10 print "CPU maximaal belasten"
20 goto 10
Zoals je ziet in dit eenvoudige voorbeeld is er niets wat deze code tegenhoudt om een enkele core volledig te belasten.
Dat geeft problemen als je wilt multitasken. Daarom dat hoe snel je computer ook was met 1 core, je altijd stotteringen had in het multitasken alhoewel het wel werkte.
Bij multicore is er een rem gezet op hoeveel een programma kan gebruiken. Het voorbeeld dat 1 core maximaal belast zal andere cores met rust laten.
Multicore heeft meer voordelen dan nadelen. Zoals een user interface die niet meer stottert als een programma 1 core volledig belast.
Apple heeft in hun laatste besturingssysteem revisies duidelijke structuren aangebracht voor taken die op kleine zuinige cores draaien, een printerspooler heeft geen grote snelle core nodig bijvoorbeeld.
Taken voor menselijke interactie zijn altijd belangrijker, de grafische user interface is beter af op de snelle cores.
Multicore bracht de mogelijkheid om een computer meer op menselijke interactie te laten reageren, en zal daardoor sneller lijken te zijn voor een mens. Synthetische benchmarks zeggen niet altijd wat over hoe een mens een computer als vloeiend beschouwt.
En Big.little maakt het efficienter voor energie verbruik, en mensen willen een lange accuduur.
20 Jaar geleden was Intel optimistisch dat we op dit moment zeker 10 GigaHerz CPU's zouden hebben. Maar de Pentium 4 maakte duidelijk dat dit niet gehaald kon worden. De Pentium 3 (een stap terug) werd daarom weer gebruikt voor verdere ontwikkeling bij Intel, en de Pentium 4 werd als niet bruikbaar voor verdere ontwikkeling beschouwt.
De reden dat Intel zo optimistisch was toendertijd is omdat een enkele transistor bijvoorbeeld op 100 GigaHerz kan draaien. Een FlipFlop schakeling van deze transistoren kan ook bijna 100 GigaHerz halen.
De reden dat de miljarden transistors geen 100 GigaHerz draaien is omdat ze allemaal netjes in de pas moeten lopen. Ook het vermogen aan stroom dat loopt is bij 100 GigaHerz bij zoveel transistors exceptioneel. Maar er is nog een groter probleem. De snelheid van het licht is heel erg langzaam als je op dit soort frequenties werkt. Boven een bepaalde frequentie kan de ene kant van de chip niet meer communiceren met de andere kant van de chip binnen de tijd die er beschikbaar is omdat de afstand te groot is. Bovendien is Clockskew al jaren een probleem, je ziet dit ook op printplaten van je moederbord, elektrische signalen die op dezelfde tijd moeten arriveren moeten ook eenzelfde weg in lengte afleggen op je moederbord. Daarom dat je ziet dat bepaalde banen op je moederbord bewust langer zijn, en andere korter. De signalen leggen de dezelfde afstand af in de zelfde beoogde tijd.
Er zijn al jaren plannen waarbij een nieuw type processor bedacht wordt waarbij transistoren niet meer allemaal netjes in de pas hoeven te lopen. Dit zie je ook terug in moderne hedendaagse CPU's zoals delen binnen de CPU die video doen, delen die DSP doen, delen die Neural Networks doen. Maar asynchrone CPU architectuur is veel complexer, maar wel nodig om richting de 10 GigaHerz te gaan.