HTG legt uit: hoe werkt een CPU eigenlijk?

Feb 28, 2025
Hardware
Rooster / sluiter

De meeste dingen in een computer zijn relatief eenvoudig te begrijpen: het RAM, de opslag, de randapparatuur en de software werken allemaal samen om een ​​computer te laten functioneren. Maar het hart van je systeem, de CPU, lijkt zelfs voor veel techneuten magisch. Hier zullen we ons best doen om het op te splitsen.

Het meeste onderzoek voor dit artikel komt uit "Maar hoe weet het dat?" door J. Clark Scott. Het is fantastisch om te lezen, gaat veel dieper dan dit artikel, en is het paar dollar op Amazon zeker waard.

Een opmerking voordat we beginnen: moderne CPU's zijn ordes van grootte complexer dan wat we hier uiteenzetten. Het is bijna onmogelijk voor één persoon om elke nuance van een chip met meer dan een miljard transistors te begrijpen. De basisprincipes van hoe alles in elkaar past, blijven echter hetzelfde, en als u de basisprincipes begrijpt, krijgt u een beter begrip van moderne systemen.

Klein beginnen

Computers werken in binair . Ze begrijpen slechts twee toestanden: aan en uit. Om berekeningen in binair formaat uit te voeren, gebruiken ze een zogenaamde transistor. De transistor laat alleen de bronstroom erdoorheen naar de afvoer stromen als er stroom over de poort is. In wezen vormt dit een binaire schakelaar, die de draad afsnijdt afhankelijk van een tweede ingangssignaal.

VERWANT: Wat is binair en waarom gebruiken computers het?

Moderne computers gebruiken miljarden transistors om berekeningen uit te voeren, maar op de laagste niveaus heb je maar een handvol nodig om de meest elementaire componenten te vormen, ook wel poorten genoemd.

Logische poorten

Stapel een paar transistors op de juiste manier en je hebt een zogenaamde logische poort. Logische poorten nemen twee binaire ingangen, voeren er een bewerking op uit en retourneren een uitgang. De OF-poort geeft bijvoorbeeld true terug als een van de ingangen waar is. De EN-poort controleert of beide ingangen waar zijn, XOR controleert of slechts één van de ingangen waar is, en de N-varianten (NOR, NAND en XNOR) zijn geïnverteerde versies van hun basispoorten.

Rekenen met poorten

Met slechts twee poorten kunt u een eenvoudige binaire optelling uitvoeren. Dit diagram hierboven toont een halve opteller, gemaakt met Logisch , een gratis online speeltuin voor logische poorten. De XOR-poort wordt hier ingeschakeld als slechts een van de ingangen is ingeschakeld, maar niet beide. De EN-poort wordt ingeschakeld als beide ingangen zijn ingeschakeld, maar blijft uit als er geen invoer is. Dus als beide zijn ingeschakeld, blijft de XOR uit en wordt de EN-poort ingeschakeld, waardoor het juiste antwoord van twee is:

Dit geeft ons een eenvoudige installatie met drie verschillende uitgangen: nul, een en twee. Maar een bit kan niets hoger dan 1 opslaan, en deze machine is niet zo handig omdat het slechts een van de eenvoudigste wiskundige problemen oplost. Maar dit is maar een halve opteller, en als je er twee met een andere ingang verbindt, krijg je een volledige opteller:

De volledige opteller heeft drie ingangen: de twee getallen die moeten worden opgeteld en een 'carry'. De carry wordt gebruikt wanneer het laatste aantal groter is dan wat in een enkele bit kan worden opgeslagen. Volledige adders worden in een ketting gekoppeld en de carry wordt van de ene opteller naar de volgende doorgegeven. De carry wordt toegevoegd aan het resultaat van de XOR-poort in de eerste helft-opteller, en er is een extra OF-poort om beide gevallen af ​​te handelen wanneer dat zou moeten zijn.

Als beide ingangen zijn ingeschakeld, wordt de carry ingeschakeld en wordt deze naar de volgende volledige opteller in de keten gestuurd:

En dit is ongeveer net zo complex als optellen wordt. Door naar meer bits te gaan, betekent dit in wezen gewoon meer volledige adders in een langere keten.

De meeste andere wiskundige bewerkingen kunnen worden uitgevoerd met optellen; vermenigvuldigen is gewoon herhaald optellen, aftrekken kan worden gedaan met een of andere fraaie bitinversie, en delen is gewoon herhaald aftrekken. En hoewel alle moderne computers hardwarematige oplossingen hebben om meer gecompliceerde bewerkingen te versnellen, kunt u dit technisch allemaal met de volledige opteller doen.

De bus en het geheugen

Op dit moment is onze computer niets meer dan een slechte rekenmachine. Dit komt doordat het zich niets kan herinneren en niets doet met zijn outputs. Hierboven is een geheugencel weergegeven, die dat allemaal kan. Onder de motorkap gebruikt het veel NAND-poorten, en in het echte leven kan het behoorlijk verschillen, afhankelijk van de opslagtechniek, maar de functie is hetzelfde. Je geeft het wat input, zet de ‘write’ bit aan en het slaat de inputs op in de cel. Dit is niet alleen een geheugencel, we hebben ook een manier nodig om er informatie uit te lezen. Dit wordt gedaan met een enabler, wat een verzameling EN-poorten is voor elk bit in het geheugen, allemaal gekoppeld aan een andere ingang, de "lees" -bit. De schrijf- en leesbits worden ook vaak "set" en "enable" genoemd.

Dit hele pakket is verpakt in wat bekend staat als een register. Deze registers zijn verbonden met de bus, een bundel draden die door het hele systeem loopt en met elk onderdeel is verbonden. Zelfs moderne computers hebben een bus, hoewel ze mogelijk meerdere bussen hebben om de multitaskingprestaties te verbeteren.

Elk register heeft nog steeds een schrijf- en leesbit, maar in deze opstelling zijn de invoer en uitvoer hetzelfde. Dit is eigenlijk goed. Bijvoorbeeld. Als je de inhoud van R1 naar R2 zou willen kopiëren, zou je de leesbit voor R1 aanzetten, die de inhoud van R1 op de bus zou duwen. Terwijl de leesbit is ingeschakeld, moet u de schrijfbit voor R2 inschakelen, waardoor de inhoud van de bus naar R2 wordt gekopieerd.

Registers worden ook gebruikt om RAM te maken. RAM is vaak ingedeeld in een raster, met draden die in twee richtingen gaan:

De decoders nemen een binaire ingang en schakelen de corresponderende genummerde draad in. "11" is bijvoorbeeld 3 in binair, het hoogste 2-bits getal, dus de decoder schakelt de hoogste draad in. Bij elk kruispunt is er een register. Deze zijn allemaal verbonden met de centrale bus en met een centrale schrijf- en leesingang. Zowel de lees- als de schrijfinvoer worden alleen ingeschakeld als de twee draden die het register kruisen ook zijn ingeschakeld, waardoor u effectief het register kunt selecteren waaruit u wilt schrijven en lezen. Nogmaals, moderne RAM is veel gecompliceerder, maar deze opstelling werkt nog steeds.

De klok, de stepper en de decoder

Registers worden overal gebruikt en zijn het basistool voor het verplaatsen van gegevens en het opslaan van informatie in de CPU. Dus wat zegt hen om dingen te verplaatsen?

De klok is het eerste onderdeel in de kern van de CPU en wordt in- en uitgeschakeld met een ingesteld interval, gemeten in hertz, of cycli per seconde. Dit is de snelheid die u naast CPU's ziet staan; een 5 GHz-chip kan 5 miljard cycli per seconde uitvoeren. Kloksnelheid is vaak een zeer goede maatstaf voor hoe snel een CPU is.

De klok heeft drie verschillende statussen: de basisklok, de activeringsklok en de ingestelde klok. De basisklok staat een halve cyclus aan en de andere helft uit. De activeringsklok wordt gebruikt om registers in te schakelen en moet langer aanstaan ​​om ervoor te zorgen dat de gegevens zijn ingeschakeld. De ingestelde klok moet altijd op hetzelfde moment zijn ingeschakeld als de activeringsklok, anders kunnen er onjuiste gegevens worden geschreven.

De klok is verbonden met de stepper, die telt van één tot de maximale stap, en zichzelf terugzet naar één als het klaar is. De klok is ook verbonden met EN-poorten voor elk register waarnaar de CPU kan schrijven:

Deze EN-poorten zijn ook verbonden met de uitgang van een andere component, de instructiedecoder. De instructiedecoder neemt een instructie zoals "SET R2 TO R1" en decodeert deze in iets dat de CPU kan begrijpen. Het heeft zijn eigen interne register, het "Instructieregister" genaamd, waarin de huidige bewerking wordt opgeslagen. Hoe dit precies gebeurt, hangt af van het systeem waarop u werkt, maar als het eenmaal is gedecodeerd, wordt de juiste set ingeschakeld en worden bits voor de juiste registers ingeschakeld, die worden geactiveerd in overeenstemming met de klok.

Programma-instructies worden opgeslagen in RAM (of L1-cache op moderne systemen, dichter bij de CPU). Omdat programmagegevens in registers worden opgeslagen, net als elke andere variabele, kunnen ze direct worden gemanipuleerd om door het programma te springen. Dit is hoe programma's hun structuur krijgen, met loops en if-statements. Een spronginstructie stelt de huidige locatie in het geheugen in waarvan de instructiedecoder aan het lezen is naar een andere locatie.

Hoe het allemaal samenkomt

Nu is onze grove oversimplificatie van hoe een CPU werkt, voltooid. De hoofdbus omvat het hele systeem en is verbonden met alle registers. De volledige optellers, samen met een heleboel andere bewerkingen, worden verpakt in de rekenkundige logische eenheid of de ALU. Deze ALU heeft verbindingen met de bus en heeft ook zijn eigen registers voor het opslaan van het tweede nummer waarop het werkt.

Om een ​​berekening uit te voeren, worden programmagegevens vanuit het systeem-RAM in de besturingssectie geladen. De besturingssectie leest twee nummers uit de RAM, laadt de eerste in het instructieregister van de ALU en laadt vervolgens de tweede op de bus. Ondertussen stuurt het de ALU een instructiecode die hem vertelt wat hij moet doen. De ALU voert vervolgens alle berekeningen uit en slaat het resultaat op in een ander register, waaruit de CPU kan lezen en vervolgens het proces kan voortzetten.

Afbeelding tegoed: Rost9 / Shutterstock

.entry-inhoud .entry-footer

HTG Explains: What Are All Those Advanced Power Settings In Windows?

Increasing Your FPS: Does CPUCores Really Work? | Software Review | MindMineTV

كيف يعمل المعالج , افهمها من مره واحده How To Cpu Work


Hardware - Meest populaire artikelen

Hoe u het RAM van uw computer overklokt

Hardware Sep 6, 2025

Georg II shi frequentie / sluiter stock.com RAM komt vaak uit de fabriek met een lagere snelheid dan het silicium kan. Met een paar minuten in uw..


Dankzij Bitcoin is het kopen van een pc beter dan het bouwen van een (voorlopig)

Hardware Feb 1, 2025

ONGECAAKTE CONTENT Er is momenteel enorm veel vraag naar high-end grafische kaarten. Niet vanwege een plotselinge opkomst van pc-gamers, maar omdat ze de meest efficiënte manier ..


Nintendo-account versus gebruikers-ID versus netwerk-ID: alle verwarrende accounts van Nintendo, uitgelegd

Hardware Jun 21, 2025

Nintendo heeft een duizelingwekkende reeks verschillende online accounts die zijn verbonden met verschillende services. Als je een nieuwe Switch instelt, is dit wat je moet wet..


Moet u een Wi-Fi-camera op batterijen kopen?

Hardware Jul 11, 2025

ONGECAAKTE CONTENT De meeste Wi-Fi-cams vereisen dat u ze op een stopcontact aansluit om ze ingeschakeld te houden, maar de vooruitgang op het gebied van batterijen en energiebesp..


Hoe u erachter kunt komen wat de batterij van uw Android Wear-horloge gebruikt

Hardware Mar 3, 2025

ONGECAAKTE CONTENT Android Wear is een handig hulpmiddel voor het controleren van meldingen en het krijgen van snelle informatie zonder dat u uw telefoon eruit hoeft t..


Hoe u uw Nest Thermostat opnieuw kunt opstarten als deze niet meer reageert

Hardware Jun 2, 2025

De Nest Thermostat is een stuk hardware met schakelingen en een besturingssysteem, net als elke computer. Dat betekent dat het ook vatbaar is voor crashen, vastlopen en andere probl..


Is er kwantificeerbaar bewijs voor het power-cycling van een router gedurende 10 seconden?

Hardware Jan 20, 2025

ONGECAAKTE CONTENT We hebben allemaal het advies gehoord om een ​​elektronisch apparaat van stroom te voorzien om problemen op te lossen, maar is fietsen beter dan simpelweg h..


HTG beoordeelt de Doxie Go: eenvoudig scannen zonder computer

Hardware Jan 9, 2025

Draagbare scanners zijn niet bepaald gloednieuwe technologie, dus wat maakt de Doxie Go draagbare scanner zo bijzonder? Lees verder terwijl we er een maken voor een proefrit, u late..


Categorieën