Milap Neupane Blog

CPU, også kendt som mikroprocessoren er hjertet og / eller hjernen på en computer. Lader dybt dykke ned i kernen af computeren og forstå, hvordan CPU arbejde, som vil hjælpe os med at skrive computerprogrammer effektivt.

et værktøj er normalt mere simpelt end en maskine; det bruges generelt med hånden, mens en maskine ofte flyttes af dyre-eller dampkraft.

– Charles Babbage

en computer er en maskine, der hovedsagelig drives af elektricitet, men dens fleksibilitet og programmerbarhed har bidraget til at opnå et værktøjs enkelhed.

CPU er hjertet og / eller hjernen på en computer. Det udfører de instruktioner, der leveres til dem. Dets vigtigste opgave er at udføre aritmetiske og logiske operationer og orkestrere instruktionerne sammen. Før vi dykker ned i hoveddelene, lad os starte med at se på, hvad der er hovedkomponenterne i en CPU, og hvad deres roller er:

to hovedkomponenter i en CPU (processor)

  • kontrolenhed — cu
  • aritmetisk og logisk enhed — ALU

kontrolenhed — cu

kontrolenhed CU er den del af CPU ‘ en, der hjælper med at orkestrere udførelsen af instruktioner. Det fortæller hvad man skal gøre. Ifølge instruktionen hjælper det med at aktivere ledningerne, der forbinder CPU ‘ en til forskellige andre dele af computeren, herunder ALU. Styreenheden er den første komponent i CPU ‘ en, der modtager instruktionen til behandling.

der er to typer styreenhed:

  • fastkoblede styreenheder.
  • mikroprogrammerbare (mikroprogrammerede) styreenheder.

indbyggede styreenheder er udstyret og har brug for ændringen i udstyr for at tilføje ændre det fungerer, mens den mikroprogrammerbare styreenhed kan programmeres til at ændre dens adfærd. Kablet CU er hurtigere i behandlingsinstruktion, mens mikroprogrammerbar som mere fleksibel.

aritmetisk og logisk enhed — ALU

aritmetisk og logisk enhed ALU som navnet antyder gør alle de aritmetiske og logiske beregninger. ALU udfører operationer som addition, subtraktion. ALU består af logiske kredsløb eller logiske porte, der udfører disse operationer.

de fleste logiske porte tager i to input og producerer en output

nedenfor er et eksempel på et halvt adder kredsløb, der tager i to indgange og udsender resultatet. Her er A og B input, S er output og C er carry.

halv adder
halv kilde: https://en.wikipedia.org/wiki/Adder_(electronics)#/media/File:Half_Adder.svg

Storage — registre og hukommelse

CPU ‘ ens hovedopgave er at udføre instruktionerne til den. For at behandle disse instruktioner det meste af tiden har det brug for data. Nogle data er mellemliggende data, nogle af dem er input og andre er output. Disse data sammen med instruktionerne gemmes i følgende Opbevaring:

registre

et Register er et lille sæt steder, hvor dataene kan gemmes. Et register er en kombination af låse. Låse også kendt som flip-flops er kombinationer af logiske porte, der gemmer 1 bit information.

en lås har to indgangstråd, skrive-og indgangstråd og en udgangstråd. Vi kan aktivere skrivetråden til at foretage ændringer i de lagrede data. Når skrivetråden er deaktiveret, forbliver udgangen altid den samme.

en SR-lås, Konstrueret af et par krydskoblede NOR-porte

CPU har registre til lagring af data for output. Afsendelse til hovedhukommelsen(RAM) ville være langsom, da det er mellemdataene. Disse data sendes til andre registre, der er forbundet med en BUS. Et register kan gemme instruktion, outputdata, lagringsadresse eller enhver form for data.

hukommelse(RAM)

Ram er en samling af register arrangeret og kompakt sammen på en optimeret måde, så den kan gemme et højere antal data. RAM (Random Access Memory) er flygtig, og det er data går tabt, når vi slukker for strømmen. Da RAM er en samling af registre til at læse/skrive data, tager en RAM input af 8bit-adresse, datainput for de faktiske data, der skal gemmes, og endelig læse og skrive enabler, der fungerer som det er for låsene.

Hvad er instruktioner

instruktion er den granulære niveauberegning, en computer kan udføre. Der er forskellige typer instruktion, som en CPU kan behandle.

instruktioner omfatter:

  • aritmetik såsom Tilføj og subtrahere
  • logiske instruktioner såsom OG, ELLER, og ikke
  • datainstruktioner såsom Flyt, input, output, indlæs og gem
  • Kontrolstrøminstruktioner såsom goto, hvis … goto, ring og retur
  • Underret CPU om, at programmet er afsluttet Halt

instruktioner leveres til en computer ved hjælp af samlesprog eller genereres af en kompilator eller fortolkes i nogle sprog på højt niveau.

disse instruktioner er indbygget i CPU ‘ en. ALU indeholder aritmetisk og logisk, mens kontrolstrømmen styres af CU.

i en urcyklus kan computere udføre en instruktion, men moderne computere kan udføre mere end en.

en gruppe instruktioner, som en computer kan udføre, kaldes et instruktionssæt.

CPU-ur

Urcyklus

hastigheden på en computer bestemmes af dens urcyklus. Det er antallet af urperioder pr. Enkelt ur cyklusser er meget små ligesom omkring 250 * 10 *-12 sec. højere uret cyklus hurtigere processoren er.

en CPU-urcyklus måles i GSH(Gigahert). 1g er lig med 10g (GG). En Gert betyder et sekund. Så 1gigahertse betyder 10 cyklusser pr.

jo hurtigere urcyklussen er, desto flere instruktioner kan CPU ‘ en udføre. Clock cycle = 1 / clock rate CPU Time = antal clock cycle/clock rate

dette betyder at forbedre CPU-tiden, vi kan øge clock rate eller reducere antallet af clock cycles ved at optimere den instruktion, vi leverer til CPU. Nogle processor giver mulighed for at øge uret cyklus, men da det er fysiske ændringer der kan være overophedning og endda ryger/brande.

Hvordan udføres en instruktion

instruktioner gemmes på RAM i rækkefølge. For en hypotetisk CPU består instruktion af op-kode(operationel kode) og hukommelse eller registreringsadresse.

der er to registre inde i et styreenhedens Instruktionsregister(ir), der indlæser op-koden i instruktions-og instruktionsadresseregistret, der indlæser adressen på den aktuelt udførte instruktion. Der er andre registre inde i en CPU, der gemmer den værdi, der er gemt i adressen på de sidste 4 bit af en instruktion.

lad os tage et eksempel på et sæt instruktioner, der tilføjer to tal. Følgende er instruktionerne sammen med deres beskrivelse. CPU ‘ en fungerer ved at udføre følgende instruktioner:

trin 1 — LOAD_A 8:

instruktionen gemmes oprindeligt i RAM som Lad os sige <>. Den første 4 bit er op-koden. Dette bestemmer instruktionen. Denne instruktion hentes i styreenhedens IR. Instruktionen afkodes til at være load_A, hvilket betyder, at den skal indlæse dataene i adressen 1000, som er den sidste 4 bit i instruktionen til at registrere A.

trin 2 — LOAD_B 2

svarende til ovenfor indlæser dette dataene i hukommelsesadresse 2 (0010) til CPU register B.

trin 3 — Tilføj B A

nu er den næste instruktion at tilføje disse to tal. Her beder CU ALU om at udføre tilføjelsesoperationen og gemme resultatet tilbage for at registrere A.

trin 4 — STORE_A 23

Dette er et meget simpelt sæt instruktioner, der hjælper med at tilføje to tal.

Vi har tilføjet to numre!

BUS

alle data mellem CPU, register, hukommelse og IO devise overføres via bus. For at indlæse dataene til hukommelsen, som den netop har tilføjet, sætter CPU ‘ en hukommelsesadressen til adressebussen og resultatet af summen til databussen og muliggør det rigtige signal i kontrolbussen. På denne måde indlæses dataene til hukommelsen ved hjælp af bussen.

CPU bus
foto src: https://en.wikipedia.org/wiki/Bus_(computing)#/media/File:Computer_system_bus.svg

Cache

CPU har også en mekanisme til at forudfange instruktionen til dens cachelagrede. Som vi ved, er der millioner af instruktioner, som en processor kan gennemføre inden for et sekund. Dette betyder, at der vil være mere tid brugt på at hente instruktionen fra RAM end at udføre dem. Så CPU cache prefetches nogle af instruktionen og også data, så udførelsen bliver hurtig.

hvis dataene i cachen og driftshukommelsen er forskellige, markeres dataene som en beskidt bit.

instruktion pipelining

moderne CPU bruger instruktion pipelining til parallelisering i instruktion udførelse. Hent, Afkode, Udfør. Når en instruktion er i afkodningsfasen, kan CPU ‘ en behandle en anden instruktion til hentningsfasen.

CPU clock cycle
fotokilde: https://en.wikipedia.org/wiki/Instruction_pipelining#/media/File:Pipeline,_4_stage.svg

dette har et problem, når en instruktion er afhængig af en anden. Så processorer udfører instruktionen, der ikke er afhængig og i en anden rækkefølge.

Multicore computer

det er dybest set den forskellige CPU, men har nogle delte ressourcer som cachen.

ydelse

CPU ‘ ens ydelse bestemmes af dens udførelsestid. Ydeevne = 1/udførelsestid

lad os sige, at det tager 20 ms for et program at udføre. Udførelsen af CPU er 1/20 = 0.05msrelativ ydeevne = eksekveringstid 1 / eksekveringstid 2

den faktor, der kommer under overvejelse for en CPU-ydeevne, er instruktionsudførelsestiden og CPU-clockhastigheden. Så for at øge effektiviteten af et program, vi enten nødt til at øge clock hastighed eller mindske antallet af instruktion i et program. Processorhastigheden er begrænset, og moderne computere med multi-core kan understøtte millioner af instruktioner et sekund. Men hvis det program, vi har skrevet, har mange instruktioner, vil dette reducere den samlede præstation.

Big O notation bestemmer med det givne input om, hvordan ydeevnen vil blive påvirket.

der er mange optimeringer udført i CPU ‘ en for at gøre det hurtigere og udføre så meget som muligt. Mens vi skriver et program, skal vi overveje, hvordan reduktion af antallet af instruktioner, vi leverer til CPU, øger computerprogrammets ydeevne.

interesseret i at optimere databaser? Lær om det her: https://milapneupane.com.np/2019/07/06/how-to-work-optimally-with-relational-databases/

Related Posts

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *