CPU, også kjent som mikroprosessoren er hjertet og / eller hjernen til en datamaskin. Lar Dypdykk inn i kjernen av datamaskinen og forstå HVORDAN CPU arbeid som vil hjelpe oss å skrive dataprogrammer effektivt.
en datamaskin er en maskin drevet hovedsakelig av elektrisitet, men dens fleksibilitet og programmerbarhet har bidratt til å oppnå enkelheten til et verktøy.CPU ER hjertet og / eller hjernen til en datamaskin. Den utfører instruksjonene som er gitt til dem. Dens viktigste jobb er å utføre aritmetiske og logiske operasjoner og orkestrere instruksjonene sammen. Før du dykker inn i hoveddelene, la oss begynne med å se på hva som er hovedkomponentene til EN CPU og hva deres roller er:
- To hovedkomponenter AV EN CPU (prosessor)
- Kontrollenhet — CU
- Aritmetisk og logisk enhet-ALU
- Lagringsregistre og Minne
- Registers
- Minne (RAM)
- Hva Er Instruksjoner
- CPU clock
- Hvordan blir en instruksjon utført
- TRINN 1-LOAD_A 8:
- TRINN 2-LOAD_B 2
- TRINN 3-LEGG TIL B a
- TRINN 4-STORE_A 23
- BUSS
- Cache
- instruksjon pipelining
- multicore computer
- Ytelse
To hovedkomponenter AV EN CPU (prosessor)
- Kontrollenhet — CU
- Aritmetisk og logisk enhet — ALU
Kontrollenhet — CU
Kontrollenhet CU ER DEN DELEN AV CPU som hjelper orkestrere utførelsen av instruksjoner. Det forteller hva du skal gjøre. Ifølge instruksjonen hjelper det å aktivere ledningene som forbinder CPU til forskjellige andre deler av datamaskinen, inkludert ALU. Kontrollenheten er DEN første komponenten AV CPUEN for å motta instruksjonene for behandling.
det finnes to typer kontrollenheter:
- hardwired kontrollenheter.
- mikroprogrammerbare (mikroprogrammerte) kontrollenheter.Hardwired kontrollenheter er maskinvaren og trenger endringen i maskinvare for å legge til endre det fungerer, mens den mikroprogrammerbare kontrollenheten kan programmeres for å endre sin oppførsel. Hardwired CU er raskere i prosessinstruksjon mens mikroprogrammerbar som mer fleksibel.
Aritmetisk og logisk enhet-ALU
Aritmetisk OG logisk enhet ALU som navnet antyder gjør alle aritmetiske og logiske beregninger. ALU utfører operasjoner som tillegg, subtraksjon. ALU består av logiske kretser eller logiske porter som utfører disse operasjonene.
de fleste logiske porter ta i to inngang og produsere en utgang
Nedenfor Er et eksempel på en halv adder krets som tar i to innganger og utganger resultatet. Her er a Og B inngang, S er utgang Og C er bære.
Lagringsregistre og Minne
HOVEDOPPGAVEN TIL CPUEN er å utføre instruksjonene som er gitt til den. For å behandle disse instruksjonene mesteparten av tiden, trenger den data. Noen data er mellomliggende data, noen av dem er innganger og andre er utgangen. Disse dataene sammen med instruksjonene lagres i følgende lagring:
Registers
Et Register er et lite sett med steder hvor dataene kan lagres. Et register er en kombinasjon av låser. Låser også kjent som flip-flops er kombinasjoner av logiske porter som lagrer 1 bit informasjon.
en lås har to inngangskabel, skrive-og inngangskabel og en utgangskabel. Vi kan aktivere skrivetråden for å gjøre endringer i de lagrede dataene. Når skrivetråden er deaktivert, forblir utgangen alltid den samme.
CPU har registre for å lagre dataene for utdata. Sende til hovedminnet (RAM) ville være sakte som det er mellomdataene. Disse dataene sendes til andre registre som er forbundet med EN BUSS. Et register kan lagre instruksjon, utdata, lagringsadresse eller noen form for data.
Minne (RAM)
Ram Er en samling av register ordnet og kompakt sammen på en optimalisert måte slik at den kan lagre et høyere antall data. RAM (Random Access Memory) er flyktig og det er data går tapt når vi slår av strømmen. SOM RAM er EN samling av registre for å lese/skrive data, TAR RAM inn 8bit-adresse, datainngang for de faktiske dataene som skal lagres og til slutt lese og skrive enabler som fungerer som det er for låsene.
Hva Er Instruksjoner
Instruksjon er den granulære nivåberegningen en datamaskin kan utføre. DET finnes ulike typer instruksjon EN CPU kan behandle.
Instruksjoner inkluderer:
- Aritmetikk som legg til og trekk fra
- Logiske instruksjoner Som and, or, and not
- datainstruksjoner som flytt, input, output, load og store
- Kontrollflyt instruksjoner som goto, hvis … goto, ring og retur
- Varsle CPU at programmet er avsluttet Halt
Instruksjoner gis Til en datamaskin ved hjelp av assembly eller genereres av en kompilator eller tolkes i noen høy-nivå språk.
disse instruksjonene er hardwired inne I CPU. ALU inneholder aritmetisk og logisk mens kontrollflyten styres av CU.i en klokke syklus kan datamaskiner utføre en instruksjon, men moderne datamaskiner kan utføre mer enn en.
en gruppe instruksjoner en datamaskin kan utføre kalles et instruksjonssett.
CPU clock
Klokke syklus
hastigheten på en datamaskin bestemmes av sin klokke syklus. Det er antall klokkeperioder per sekund en datamaskin fungerer på. Enkelt klokke sykluser er svært liten som rundt 250 * 10 *-12 sec.Høyere klokke syklus raskere prosessoren er.
EN CPU – klokkesyklus måles I GHz (Gigahertz). 1 ghz er lik 10 hz(hertz). En hertz betyr et sekund. Så 1Gigahertz betyr 10u-sykluser per sekund.
jo raskere klokken syklus, jo flere instruksjoner CPU kan utføre. Klokkesyklus = 1 / klokkefrekvens CPU-Tid = antall klokkesyklus/klokkefrekvens
Dette betyr å forbedre CPU-tiden vi kan øke klokkefrekvensen eller redusere antall klokkesykluser ved å optimalisere instruksjonen vi gir TIL CPU. Noen prosessor gir muligheten til å øke klokkesyklusen, men siden det er fysiske endringer, kan det være overoppheting og til og med røyker / branner.
Hvordan blir en instruksjon utført
Instruksjoner lagret PÅ RAM i sekvensiell rekkefølge. For en hypotetisk CPU består Instruksjon AV OP-kode (operativ kode) og minne eller registeradresse.
det er to registre inne I Et Instruksjonsregister For Kontrollenhet(Ir) som laster OP-koden til instruksjonsregisteret og instruksjonsadresseregisteret som laster adressen til den gjeldende instruksjonen. Det finnes andre registre inne I EN CPU som lagrer verdien lagret i adressen til de siste 4 bitene i en instruksjon.
La oss ta et eksempel på et sett med instruksjoner som legger til to tall. Følgende er instruksjonene sammen med deres beskrivelse. CPU fungerer utfører følgende instruksjoner:
TRINN 1-LOAD_A 8:
instruksjonen lagres i RAM i utgangspunktet som la oss si <>. Den første 4 biten er op-koden. Dette bestemmer instruksjonen. Denne instruksjonen hentes inn I ir på kontrollenheten. Instruksjonen er dekodet for å være load_A, noe som betyr at den må laste dataene i adressen 1000 som er den siste 4 biten av instruksjonen for å registrere A.
TRINN 2-LOAD_B 2
Ligner på over dette laster dataene i minneadressen 2 (0010)TIL CPU register B.
TRINN 3-LEGG TIL B a
nå er neste instruksjon å legge til disse to tallene. HER FORTELLER CU ALU å utføre add-operasjonen og lagre resultatet tilbake for å registrere A.
TRINN 4-STORE_A 23
dette er et veldig enkelt sett med instruksjoner som bidrar til å legge til to tall.
vi har lagt til to tall!
BUSS
alle data mellom CPU, register, minne og IO tenke overføres via buss. For å laste dataene til minnet som DEN nettopp har lagt til, SETTER CPUEN minneadressen til adressebussen og resultatet av summen til databussen og muliggjør riktig signal i kontrollbussen. På denne måten lastes dataene til minnet ved hjelp av bussen.
Cache
CPU har også en mekanisme for å prefetch instruksjonen til sin bufrede. Som vi vet er det millioner av instruksjoner en prosessor kan fullføre innen et sekund. Dette betyr at det vil bli mer tid brukt til å hente instruksjonen FRA RAM enn å utføre dem. SÅ CPU cache prefetches noen av instruksjonene og også data slik at utførelsen blir rask.
hvis dataene i hurtigbufferen og driftsminnet er forskjellige, er dataene merket som en skitten bit.
instruksjon pipelining
Moderne CPU bruker Instruksjon pipelining for parallellisering i instruksjon kjøring. Hente, Dekode, Utføre. Når en instruksjon er i dekodefasen, KAN CPUEN behandle en annen instruksjon for hentefasen.
Dette har ett problem når en instruksjon er avhengig av en annen. Så prosessorer utfører instruksjonen som ikke er avhengig og i en annen rekkefølge.
multicore computer
det er i utgangspunktet den forskjellige CPU, men har noen delte ressurser som cachen.
Ytelse
YTELSEN TIL CPU bestemmes av det er kjøretid. Ytelse = 1/kjøretid
la oss si at det tar 20ms for et program å utføre. Ytelsen TIL CPU er 1/20 = 0.05msrelativ ytelse = kjøretid 1 / kjøretid 2
faktoren som vurderes for EN CPU-ytelse, er instruksjonens kjøretid og CPU-klokkehastigheten. Så for å øke ytelsen til et program må vi enten øke klokkehastigheten eller redusere antall instruksjoner i et program. Prosessorhastigheten er begrenset, og moderne datamaskiner med multi-core kan støtte millioner av instruksjoner i sekundet. Men hvis programmet vi har skrevet har mange instruksjoner, vil dette redusere den generelle ytelsen.
Big o notasjon bestemmer med gitt inngang på hvordan ytelsen vil bli påvirket.
DET er mange optimaliseringer gjort I CPU for å gjøre det raskere og utføre så mye som mulig. Mens du skriver et program, må vi vurdere hvordan å redusere antall instruksjoner vi gir TIL CPU, vil øke ytelsen til dataprogrammet.
Interessert i å optimalisere databaser? Lær om det her: https://milapneupane.com.np/2019/07/06/how-to-work-optimally-with-relational-databases/