Hoe werkt een CPU?
Een CPU werkt door instructies uit te voeren die uit het geheugen zijn gelezen. Deze instructies vertellen de CPU welke bewerkingen moeten worden uitgevoerd op bepaalde gegevens die in het geheugen of in registers zijn opgeslagen. Wanneer een instructie uit het geheugen wordt opgehaald, wordt deze door de besturingseenheid gestuurd waar deze wordt gedecodeerd en de benodigde adressen/data-items worden bepaald; deze informatie wordt vervolgens doorgegeven aan de ALU waar de bewerkingen daadwerkelijk worden uitgevoerd volgens de specificaties in de instructie. Nadat de bewerkingen zijn voltooid, worden de resulterende waarden indien nodig terug in het geheugen opgeslagen voordat een andere instructie wordt opgehaald en dit proces wordt herhaald totdat alle instructies van het programma zijn uitgevoerd.
Wat is een CPU?
Een Central Processing Unit (CPU) is het brein van een computersysteem - het vertelt de computer wat hij moet doen en hoe hij dat moet doen. Een CPU is opgebouwd uit circuits die bestaan uit drie hoofdcomponenten: een besturingseenheid, een rekenkundige/logische eenheid (ALU) en een registerset. De besturingseenheid haalt instructies op uit het geheugen, decodeert ze, bepaalt het adres van de gegevens die in het geheugen zijn opgeslagen (indien nodig) en geeft de gegevens en instructie-informatie vervolgens door aan de ALU voor verwerking. De ALU voert de berekening of logica uit die door elke instructie wordt vereist, slaat indien nodig tussenresultaten op in registers en stuurt vervolgens het resultaat terug naar het geheugen waar het kan worden geopend door andere programma's of naar schijf kan worden geschreven. De registers worden gebruikt om kortetermijngegevens vast te houden terwijl ze worden verwerkt door de CPU.
Wat zijn kernen?
Een core is één instantie van een uitvoeringseenheid binnen een multicoreprocessor. Elke core heeft zijn eigen privé-cache, waardoor het taken onafhankelijk kan uitvoeren zonder zo vaak toegang te hoeven hebben tot het hoofdgeheugen; meerdere cores kunnen echter bronnen delen, zoals een L2-cache. Meerdere kernen zorgen voor meer parallellisme bij het uitvoeren van instructies, wat betekent dat er meer instructies tegelijkertijd kunnen worden uitgevoerd en er dus meer werk kan worden gedaan in minder tijd dan met één processor met één kern. Dit maakt multicoreprocessors ideaal voor intensieve computertaken zoals videobewerking of 3D-rendering.
Wat zijn draden?
Draden zijn sequenties van uitvoering die gelijktijdig kunnen worden uitgevoerd binnen een enkel proces of applicatie op een enkele processorkern. Dankzij threads lijkt het alsof applicaties/programma's sneller draaien dan ze in werkelijkheid doen, omdat ze meerdere cores tegelijk kunnen gebruiken. Als meerdere threads tegelijk op verschillende cores draaien, kan er meer werk worden gedaan zonder dat er hoeft te worden gewacht tot een thread klaar is met uitvoeren voordat een andere thread weer kan beginnen met uitvoeren op een andere core. Dit maakt applicaties met meerdere threads veel efficiënter dan hun tegenhangers met één thread, omdat er geen noodzaak is voor contextschakeling tussen threads als er meerdere processen tegelijk worden uitgevoerd op afzonderlijke cores, in tegenstelling tot slechts één core met veel threads die na elkaar in de wachtrij staan voor verwerking, zoals je zou zien bij een applicatie met één thread.
Wat is hyper-threading?
Hyper-Threading (HT) is Intels gepatenteerde technologie die meerdere logische processors mogelijk maakt binnen elke fysieke processorkern, waardoor in wezen twee gelijktijdige instructiestromen per fysieke kern mogelijk zijn (dit lijkt op vier "virtuele" processors in plaats van twee). De introductie van HT in CPU's heeft Intel CPU's betere multitaskingprestaties opgeleverd dankzij de grotere verwerkingsmogelijkheden per klokcyclus - hierdoor kunnen ze grote werkbelastingen sneller aan dan vorige generaties, die beperkt werden door kloksnelheden alleen (die slechts een beperkte toename van het bereik hadden). Daarnaast helpt HT in sommige gevallen ook bij het verhogen van de doorvoersnelheid en IPC dankzij betere planningsefficiëntie bij het omgaan met grotere threads vergeleken met het uitschakelen van HT in diezelfde scenario's.
Wat is RISC- versus CISC-architectuur?
RISC staat voor Reduced Instruction Set Computer (computer met gereduceerde instructieset) - dit verwijst meestal naar architecturen die aanzienlijk minder complexe instructietypes gebruiken dan CISC-architecturen (Complex Instruction Set Computers). CISC-architecturen bestaan meestal uit zeer gevarieerde instructiesets, variërend van eenvoudige rekenkundige bewerkingen tot complexe bewerkingen waarbij meerdere stappen nodig zijn, zoals tekenreeksmanipulatie etc., terwijl RISC neigt naar eenvoudigere maar snellere instructies (die minder ruimte per chip innemen vanwege de verminderde complexiteit), zodat ze neigen naar hogere prestatiekenmerken, gegeven vergelijkbare kloksnelheden in beide architecturen.
Wat zijn pijpleidingen?
Pijplijnen in CPU's verwijzen specifiek naar architecturen die verschillende stappen in de uitvoering van een instructie opsplitsen in afzonderlijke delen, zodat de resultaten van eerdere stappen sneller beschikbaar komen in latere stappen, waardoor verdere optimalisaties mogelijk worden, zoals verzending en uitvoering in een andere volgorde - hierdoor kunnen sommige delen sneller of langzamer draaien, afhankelijk van hun individuele vereisten, in plaats van dat elke stap op elkaar moet wachten, wat leidt tot aanzienlijke prestatieverbeteringen ten opzichte van ontwerpen zonder pijplijnen, waardoor moderne snelle processors en multithreaded processors mogelijk worden.
Wat zijn caches?
Caches zijn kleine blokken van relatief snel RAM-geheugen die zich in de buurt van de centrale verwerkingseenheid bevinden en twee functies hebben: ten eerste de druk wegnemen van het lezen en schrijven van het hoofdgeheugen omdat caches met een lagere latentie werken en ten tweede de snelheid verhogen.
Wat is een cache lijn?
Een cache regel is het kleinste blok gegevens dat kan worden overgebracht van het hoofdgeheugen naar de CPU cache. Een cache regel bestaat meestal uit 64 bytes op een processor met 4-byte instructies, en 128 bytes voor 8-byte instructies. Wanneer de CPU gegevens uit het geheugen opvraagt, haalt hij de hele regel op in plaats van slechts één stukje gegevens of instructie; dit helpt de latentie te verlagen door ervoor te zorgen dat alle gerelateerde stukjes gegevens ook in de cache van de CPU zitten als ze nodig zijn bij toekomstige bewerkingen.
Wat is multiprocessing?
Multiprocessing is een overkoepelende term die wordt gebruikt om meerdere CPU's aan te duiden die samenwerken als onderdeel van één computersysteem of verdeeld over meerdere systemen/apparaten. In de meeste moderne computers/servers/netwerken kan multiprocessing verschillende vormen aannemen, waaronder Symmetric Multiprocessing (SMP), waarbij twee of meer CPU's de toegang tot RAM en andere bronnen delen; Asymmetric Multiprocessing (AMP), waarbij een of meer processors als master fungeren en taken delegeren aan ondergeschikte processors; en Massively Parallel Processing (MPP), waarbij meerdere processors samenwerken om complexe rekentaken snel uit te voeren over enorme hoeveelheden gegevens.
Wat is superscalaire architectuur?
Superscalaire architectuur verwijst naar krachtige CPU's die meer dan één instructie tegelijk kunnen uitvoeren. Hierdoor kunnen ze de prestaties verhogen door meerdere instructies tegelijk uit te voeren in plaats van achter elkaar, zoals bij eerdere generaties het geval was. Hierdoor maken superscalaire architecturen efficiënter gebruik van de beschikbare processorbronnen, wat resulteert in hogere verwerkingssnelheden in vergelijking met zelfs hoger geklokte voorgangers.
Wat zijn microprocessors?
Een microprocessor is in wezen een die-shrunk versie van een processor van volledige grootte, ontworpen voor kleinere apparaten zoals ingebedde systemen, PDA's, mobiele telefoons, enz. waar stroomverbruik en fysieke afmetingen twee belangrijke factoren zijn. Microprocessoren gebruiken gewoonlijk eenvoudiger architecturen dan hun grotere tegenhangers om de kosten en complexiteit te beperken en toch vergelijkbare prestaties te leveren voor het beoogde doel.
Hoe werkt virtualisatie?
Virtualisatietechnologie maakt het mogelijk om de hardwarebronnen van een computersysteem (zoals CPU-kernen, geheugen, enz.) op te delen in verschillende "virtuele" machines die elk hun eigen besturingssysteem draaien, onafhankelijk van andere VM's. Dit maakt het mogelijk voor meerdere gebruikers/applicaties binnen een organisatie of huishouden om gebruik te maken van de bronnen van één fysieke machine zonder elkaar te beïnvloeden, aangezien elke VM volledig gescheiden werkt van elke andere VM die op dezelfde machine draait, met dienovereenkomstig zijn eigen specifieke subset van beschikbare hardwarebronnen. Dit maakt virtualisatie zeer nuttig bij het besparen van zowel ruimte als energie, terwijl het ook een efficiënter gebruik van bestaande hardware mogelijk maakt door minder duplicatie tussen machines/apparaten.