HTG forklarer: Hvordan fungerer en CPU egentlig?

Feb 28, 2025
Maskinvare
Rost/Shutterstock

De fleste ting på en datamaskin er relativt enkle å forstå: RAM, lagring, periferiutstyr og programvare fungerer alt sammen for å få en datamaskin til å fungere. Men hjertet til systemet ditt, CPU, virker som magi selv for mange tekniske folk. Her vil vi gjøre vårt beste for å bryte det ned.

Det meste av forskningen for denne artikkelen kommer fra "Men hvordan vet det?" av J. Clark Scott. Det er en fantastisk lesning, går mye mer i dybden enn denne artikkelen vil, og er vel verdt parbiten på Amazon.

Ett notat før vi begynner: moderne CPUer er størrelsesordener mer komplekse enn det vi skisserer her. Det er nesten umulig for en person å forstå hver nyanse av en chip med over en milliard transistorer. Imidlertid forblir de grunnleggende prinsippene for hvordan det hele passer sammen, og å forstå det grunnleggende vil gi deg en bedre forståelse av moderne systemer.

Starter Small

Datamaskiner opererer i binær . De forstår bare to tilstander: av og på. For å utføre beregninger i binær, bruker de det som kalles en transistor. Transistoren lar bare kildestrømmen strømme gjennom den til avløpet hvis det er strøm over porten. I hovedsak danner dette en binær bryter, som kutter ledningen avhengig av et andre inngangssignal.

I SLEKT: Hva er binært, og hvorfor bruker datamaskiner det?

Moderne datamaskiner bruker milliarder transistorer for å utføre beregninger, men på de laveste nivåene trenger du bare en håndfull for å danne de mest grunnleggende komponentene, kjent som porter.

Logic Gates

Stabl noen få transistorer ordentlig, og du har det som er kjent som en logisk gate. Logiske porter tar to binære innganger, utfører en operasjon på dem og returnerer en utgang. ELLER-porten returnerer for eksempel sant hvis noen av inngangene er sanne. AND-porten sjekker om begge inngangene er sanne, XOR sjekker om bare en av inngangene er sanne, og N-variantene (NOR, NAND og XNOR) er inverterte versjoner av baseporten.

Å gjøre matematikk med porter

Med bare to porter kan du gjøre grunnleggende binær tillegg. Dette diagrammet over viser en halv adder, laget med Logisk , en gratis online lekeplass for logiske porter. XOR-porten her vil slå seg på hvis bare en av inngangene er på, men ikke begge deler. AND-porten slås på hvis begge inngangene er på, men holder seg av hvis det ikke er inngang. Så hvis begge er på, forblir XOR av, og AND-porten slås på og kommer til riktig svar på to:

Dette gir oss et enkelt oppsett med tre forskjellige utganger: null, en og to. Men en bit kan ikke lagre noe høyere enn 1, og denne maskinen er ikke så nyttig, da den bare løser et av de enkleste matematiske problemene som er mulig. Men dette er bare en halv adder, og hvis du kobler to av dem med en annen inngang, får du en full adder:

Fulladderen har tre innganger - de to tallene du vil legge til, og en "bære". Bæringen brukes når det endelige tallet overstiger det som kan lagres i en enkelt bit. Fulladdere vil bli koblet i en kjede, og bæringen blir sendt fra en hugger til den neste. Bæringen blir lagt til resultatet av XOR-porten i første halvdel, og det er en ekstra ELLER-port for å håndtere begge tilfeller når den slik at den trenger å være på.

Når begge inngangene er på, slår bæreren seg på og sender den til neste fulladder i kjeden:

Og dette er omtrent så komplisert som tillegg blir. Å flytte opp til flere biter betyr egentlig bare flere fulle tilsetninger i en lengre kjede.

De fleste andre matteoperasjoner kan gjøres med tillegg; multiplikasjon er bare gjentatt tillegg, subtraksjon kan gjøres med litt fancy bitinversjon, og divisjon er bare gjentatt subtraksjon. Og mens alle moderne datamaskiner har maskinvarebaserte løsninger for å øke hastigheten på mer kompliserte operasjoner, kan du teknisk sett gjøre det hele med fulladder.

Bussen og minnet

Akkurat nå er datamaskinen vår ikke mer enn en dårlig kalkulator. Dette er fordi den ikke kan huske noe, og ikke gjør noe med utgangene. Vist ovenfor er en minnecelle, som kan gjøre alt dette. Under panseret bruker den mange NAND-porter, og i virkeligheten kan det være ganske forskjellig avhengig av lagringsteknikken, men funksjonen er den samme. Du gir det noen innganger, slår på 'skriv-biten, og den lagrer inngangene inne i cellen. Dette er ikke bare en minnecelle, ettersom vi også trenger en måte å lese informasjon fra den. Dette gjøres med en aktivator, som er en samling OG-porter for hver bit i minnet, alt bundet til en annen inngang, "lese" -biten. Skrive- og lesebitene kalles ofte også "sett" og "aktiver".

Hele denne pakken er pakket inn i det som er kjent som et register. Disse registerene er koblet til bussen, som er en ledningspakke som går rundt hele systemet, koblet til hver komponent. Selv moderne datamaskiner har en buss, selv om de kan ha flere busser for å forbedre multitasking-ytelsen.

Hvert register har fortsatt en skrive- og lesebit, men i dette oppsettet er inngang og utgang den samme. Dette er faktisk bra. For eksempel. Hvis du ønsket å kopiere innholdet av R1 til R2, ville du slå på lesebiten for R1, som ville skyve innholdet av R1 på bussen. Mens lesebiten er på, vil du slå på skrivebiten for R2, som kopierer bussinnholdet til R2.

Register brukes også til å lage RAM. RAM er ofte lagt ut i et rutenett, med ledninger som går i to retninger:

Dekoderne tar en binær inngang og slår på den tilsvarende nummererte ledningen. For eksempel er “11” 3 i binær, det høyeste 2-bits tallet, slik at dekoderen vil slå på den høyeste ledningen. Ved hvert kryss er det et register. Alle disse er koblet til sentralbussen, og til en sentral skrive- og leseinngang. Både lese- og skriveinngangen vil bare slå seg på hvis de to ledningene som krysser registeret også er på, slik at du effektivt kan velge hvilket register du vil skrive og lese fra. Igjen er moderne RAM langt mer komplisert, men dette oppsettet fungerer fortsatt.

Klokken, stepperen og dekoderen

Register brukes overalt og er det grunnleggende verktøyet for å flytte data rundt og lagre informasjon i CPUen. Så hva forteller dem å flytte ting rundt?

Klokken er den første komponenten i CPU-kjernen og vil slå seg av og på med et bestemt intervall, målt i hertz, eller sykluser per sekund. Dette er hastigheten du ser annonsert sammen med CPUer; en 5 GHz-brikke kan utføre 5 milliarder sykluser per sekund. Klokkehastighet er ofte en veldig god beregning for hvor rask en CPU er.

Klokken har tre forskjellige tilstander: baseklokken, aktiveringsklokken og den innstilte klokken. Baseklokken vil være på i en halv syklus, og av for den andre halvdelen. Aktiveringsklokken brukes til å slå på registre og må være på lenger for å sikre at dataene er aktivert. Den innstilte klokken må alltid være på samtidig som aktiveringsklokken, ellers kan det skrives feil data.

Klokken er koblet til stepperen, som teller fra ett til maks trinn, og tilbakestiller seg tilbake til en når den er ferdig. Klokken er også koblet til OG-porter for hvert register som CPU-en kan skrive til:

Disse OG-portene er også koblet til utgangen fra en annen komponent, instruksjons dekoderen. Instruksjons dekoderen tar en instruksjon som “SET R2 TO R1” og dekoder den til noe som CPU kan forstå. Den har sitt eget interne register, kalt "Instruksjonsregisteret", der den nåværende operasjonen er lagret. Hvor nøyaktig det gjør dette kommer ned til systemet du kjører på, men når det er dekodet, vil det slå på riktig sett og aktivere biter for de riktige registerene, som vil avfyres i henhold til klokken.

Programinstruksjoner lagres i RAM (eller L1-cache på moderne systemer, nærmere CPU). Siden programdata lagres i registre, akkurat som alle andre variabler, kan de manipuleres på farten for å hoppe rundt i programmet. Slik får programmene sin struktur, med løkker og if-utsagn. En hoppinstruksjon setter gjeldende plassering i minnet som instruksjonsavkoderen leser fra til et annet sted.

Hvordan det hele kommer sammen

Nå er vår brutto overforenkling av hvordan en CPU fungerer fullført. Hovedbussen spenner over hele systemet og kobles til alle registrene. Hele tilleggene, sammen med en rekke andre operasjoner, er pakket inn i Arithmetic Logic Unit, eller ALU. Denne ALU-en vil ha forbindelser til bussen, og vil også ha egne registre for lagring av det andre nummeret den opererer på.

For å utføre en beregning lastes programdata fra system-RAM til kontrolldelen. Kontrollseksjonen leser to tall fra RAM, laster det første inn i ALUs instruksjonsregister, og laster deretter det andre på bussen. I mellomtiden sender den ALU en instruksjonskode som forteller den hva den skal gjøre. ALU utfører deretter alle beregningene og lagrer resultatet i et annet register, som CPU kan lese fra og deretter fortsette prosessen.

Bildekreditt: Rost9 /Shutterstock

.post-innhold .inngangs-bunntekst

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


Maskinvare - Mest populære artikler

Slik bytter du hvilken som helst kontroller til tastaturtaster på Windows og MacOS

Maskinvare Mar 4, 2025

autovector / Shutterstock (and Microsoft) Mange PC- og Mac-spill behandler tastaturet som en førsteklasses borger og har dårlig støtte for spi..


Hvordan oppgradere eller erstatte nesten hvilken som helst PC-komponent

Maskinvare Apr 13, 2025

Det kan være litt vanskelig å oppgradere og erstatte PC-komponenter, men det er noe alle kan lære å gjøre. La oss ta en titt på hvordan vi velger og installerer disse oppgrade..


Hvordan ta skjermbilder og spille inn videoer på en Xbox One

Maskinvare May 19, 2025

UCACHED INNHOLD Microsofts Xbox One lar deg enkelt ta et skjermbilde eller spille inn de siste tretti sekundene av spillingen som en video. Du kan også bruke Game DVR-appen for m..


Hvordan finne din iPhone ved hjelp av Apple Watch

Maskinvare Dec 7, 2024

UCACHED INNHOLD Du legger iPhone ned et sted, men du kan ikke huske hvor. Du vet at det ikke kan være langt; du hadde det bare for en liten stund siden. Det er raskt og enkelt å..


Hvordan kan et batteri være dødt selv om det var fulladet dagen før?

Maskinvare Sep 24, 2025

UCACHED INNHOLD Når du har en ganske ny bærbar datamaskin, er det siste du vil oppleve et problem med batteriet. Men hva gjør du hvis det skjer? Dagens SuperUser Q&A-innleg..


Få gratis Windows PC-teknisk støtte og fjerning av skadelig programvare på din lokale Microsoft Store

Maskinvare Nov 12, 2024

UCACHED INNHOLD Microsoft driver over 100 butikker over hele USA og Canada. De er ikke bare steder å handle - Microsoft Stores vil utføre grunnleggende Windows PC-vedlikehold fo..


How-To Geek’s Holiday Gift Guide 2013: Leker for Geeks of All Ages

Maskinvare Sep 10, 2025

Noe av det beste med geek-kulturen er at du aldri er for gammel til å leke med store og små leker. Les videre når vi fremhever flotte valg fra leketøygangen for nerver i alle al..


Slik sikkerhetskopierer du, bytter og oppdaterer Wii-spillet ditt

Maskinvare Aug 19, 2025

Enten du vil ta sikkerhetskopi av spillet ditt, fordi du har jobbet så hardt med dem, eller du vil importere spill lagrer akkurat slik at du ikke gjør det må jobbe..


Kategorier