Milap Neupane blogi

suoritin, joka tunnetaan myös nimellä mikroprosessori on tietokoneen sydän ja/tai aivot. Lets syvä sukeltaa ydin tietokoneen ja ymmärtää, miten CPU työtä, joka auttaa meitä kirjoittamaan tietokoneohjelmia tehokkaasti.

työkalu on yleensä yksinkertaisempaa kuin kone; sitä käytetään yleensä käsin, kun taas konetta liikutetaan usein eläin-tai höyryvoimalla.

– Charles Babbage

tietokone on kone, joka toimii enimmäkseen sähköllä, mutta sen joustavuus ja ohjelmoitavuus ovat auttaneet saavuttamaan työkalun yksinkertaisuuden.

suoritin on tietokoneen sydän ja / tai aivot. Se toteuttaa heille annetut ohjeet. Sen päätehtävä on suorittaa aritmeettisia ja loogisia operaatioita ja järjestää ohjeet yhdessä. Ennen sukellusta pääosiin aloitetaan katsomalla, mitkä ovat CPU: n pääkomponentit ja mitkä niiden roolit ovat:

suorittimen (suorittimen) kaksi pääkomponenttia

  • Ohjausyksikkö — cu
  • aritmeettinen ja looginen yksikkö — ALU

Ohjausyksikkö — cu

Ohjausyksikkö CU on suorittimen osa, joka auttaa ohjeistuksen toimeenpanossa. Se kertoo, mitä pitää tehdä. Ohjeen mukaan se auttaa aktivoimaan johtoja, jotka yhdistävät suorittimen tietokoneen eri muihin osiin, mukaan lukien ALU. Ohjausyksikkö on suorittimen ensimmäinen komponentti, joka saa ohjeen käsittelyyn.

ohjausyksiköitä on kahdenlaisia:

  • hardwired-ohjausyksiköitä.
  • mikro-ohjelmoitavat ohjausyksiköt.

Hardwired ohjausyksiköt ovat laitteisto ja tarvitsevat muutoksen laitteisto lisätä muuttaa se toimii, kun taas mikro-ohjelmoitava ohjausyksikkö voidaan ohjelmoida muuttamaan sen käyttäytymistä. Hardwired CU on nopeampi prosessointiopetuksessa, kun taas mikro-ohjelmoitava joustavampana.

aritmeettinen ja looginen yksikkö — ALU

aritmeettinen ja looginen yksikkö ALU, kuten nimestä voi päätellä, tekee kaikki aritmeettiset ja loogiset laskutoimitukset. ALU suorittaa operaatioita, kuten yhteen-ja vähennyslaskuja. ALU koostuu logiikkapiireistä tai logiikkaporteista, jotka suorittavat nämä operaatiot.

useimmat logiikkaportit ottavat sisään kaksi tuloa ja tuottavat yhden ulostulon

alla on esimerkki puoli adder-piiristä, joka ottaa sisään kaksi tuloa ja tuottaa tuloksen. Tässä A ja B ovat tulo, S On lähtö ja C on kuljettaa.

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

Tallennusrekisterit ja muisti

suorittimen päätehtävä on suorittaa sille annetut ohjeet. Näiden ohjeiden käsittely suurimman osan ajasta, se tarvitsee tietoja. Osa tiedoista on välitietoja, osa panoksia ja osa tuotoksia. Nämä tiedot ja ohjeet tallennetaan seuraavaan tallennustilaan:

rekisterit

rekisteri on pieni joukko paikkoja, joihin tietoja voidaan tallentaa. Rekisteri on yhdistelmä salvat. Salvat tunnetaan myös varvassandaalit ovat yhdistelmiä logiikan portit, joka tallentaa 1 vähän tietoa.

salvassa on kaksi tulolankaa, kirjoitus-ja tulolankaa sekä yksi lähtölanka. Voimme antaa kirjoitusjohdon tehdä muutoksia tallennettuihin tietoihin. Kun kirjoituslanka on poistettu käytöstä, tuloste pysyy aina samana.

Sr-salpa, joka on rakennettu ristikytketystä eikä porttiparista

suorittimella on rekisterit ulostulon tietojen tallentamiseksi. Lähettäminen päämuistiin (RAM) olisi hidasta, koska se on välitiedot. Nämä tiedot lähetetään muihin rekistereihin, jotka on yhdistetty linja-autolla. Rekisteriin voidaan tallentaa ohjeita, lähtötietoja, tallennusosoitetta tai mitä tahansa tietoja.

Muisti(RAM)

Ram on kokoelma rekisteriä järjestetty ja kompakti yhteen optimoidulla tavalla, jotta se voi tallentaa suuremman määrän dataa. RAM (Random Access Memory) on epävakaa ja sen data katoaa, kun sammutamme virran. Koska RAM on kokoelma rekistereitä lukea / kirjoittaa tietoja RAM vie tulo 8bit osoite, tietojen syöttö todellisen datan tallennetaan ja lopulta lukea ja kirjoittaa mahdollistaja, joka toimii kuin se on salvat.

mitkä ovat ohjeet

ohje on raketason laskenta, jonka tietokone voi suorittaa. On olemassa erilaisia ohjeita CPU voi käsitellä.

ohjeet sisältävät:

  • aritmeettiset kuten Lisätä ja vähentää
  • Logiikkaohjeet kuten ja, tai, eikä
  • Dataohjeet kuten liikkua, syöttää, tulostaa, ladata ja tallentaa
  • Ohjausvirtausohjeet kuten goto, jos … Goto, soita ja palaa
  • ilmoita suorittimelle, että ohjelma on päättynyt seis

ohjeet annetaan tietokoneelle käyttäen assembly-kieltä tai ne on luotu kääntäjällä tai tulkittu jollain korkealla-tasokielet.

nämä ohjeet ovat kovapintaisia suorittimen sisällä. ALU sisältää aritmeettisen ja loogisen, kun taas ohjausvirtaa hallinnoi CU.

yhdellä kellosyklillä tietokoneet voivat suorittaa yhden käskyn, mutta nykyaikaiset tietokoneet voivat suorittaa useamman kuin yhden.

ryhmää ohjeita, joita tietokone voi suorittaa, kutsutaan ohjejoukoksi.

SUORITINKELLO

Kellosykli

tietokoneen nopeus määräytyy sen kellosyklin mukaan. Se on niiden kellojaksojen määrä sekunnissa, joilla tietokone toimii. Yhden kellon syklit ovat hyvin pieniä kuten noin 250 * 10 *-12 sec. korkeampi kellosykli nopeampi prosessori on.

suorittimen kellosykli mitataan Gigahertseinä. 1gHz on yhtä kuin 10 ⁹ Hz (Hertsi). Hertsi tarkoittaa sekuntia. 1gigahertsi tarkoittaa siis 10 ⁹ sykliä sekunnissa.

mitä nopeampi kellosykli, sitä enemmän ohjeita suoritin pystyy suorittamaan. Kellosykli = 1 / kellotaajuus SUORITINAIKA = kellosyklin määrä/kellotaajuus

tämä tarkoittaa SUORITINAJAN parantamista voimme lisätä kellotaajuutta tai vähentää kellosyklien määrää optimoimalla suorittimelle antamamme ohjeet. Jotkut prosessori tarjoaa mahdollisuuden lisätä kellon sykli, mutta koska se on fyysisiä muutoksia voi olla ylikuumenemista ja jopa polttaa/tulipaloja.

miten ohje toteutuu

ohjeet tallennetaan RAM-muistiin järjestyksessä. Hypoteettiselle suorittimelle ohje koostuu OP-koodista (operatiivinen koodi) ja muisti-tai rekisteriosoitteesta.

ohjausyksikön Ohjerekisterissä(ir) on kaksi rekisteriä, jotka lataavat ohjeen ja ohjeen osoiterekisterin op-koodin, joka lataa parhaillaan suoritettavan ohjeen osoitteen. Suorittimen sisällä on muitakin rekistereitä, jotka tallentavat ohjeen viimeisten 4 bitin osoitteeseen tallennetun arvon.

otetaan esimerkki ohjejoukosta, johon lisätään kaksi numeroa. Seuraavassa on ohjeet sekä niiden kuvaus. Suoritin toimii seuraavien ohjeiden mukaisesti:

Vaihe 1 — LOAD_A 8:

ohje tallennetaan RAM-muistiin aluksi kuten sanotaan <>. Ensimmäinen 4 bitti on op-koodi. Tämä määrittää ohjeen. Tämä ohje haetaan ohjausyksikön MITTARILENTOKELPUUTUKSEEN. Ohje on dekoodattu load_A: ksi, mikä tarkoittaa, että sen on ladattava tiedot osoitteeseen 1000, joka on ohjeen viimeinen 4 bitti rekisteröidä A.

Vaihe 2 — LOAD_B 2

samanlainen kuin edellä tämä lataa tiedot muistiosoitteessa 2 (0010) suorittimen rekisteriin B.

Vaihe 3 — ADD B A

nyt seuraava ohje on lisätä nämä kaksi numeroa. Tässä CU käskee Alua suorittamaan add-toiminnon ja tallentamaan tuloksen takaisin rekisteröimään A: n.

Vaihe 4 — STORE_A 23

Tämä on hyvin yksinkertainen ohjeisto, joka auttaa lisäämään kaksi numeroa.

olemme onnistuneet lisäämään kaksi numeroa!

väylä

kaikki suorittimen, rekisterin, muistin ja IO Devisen välinen data siirretään väylän kautta. Ladatakseen juuri lisäämänsä datan muistiin suoritin laittaa muistiosoitteen osoiteväylälle ja summan tuloksen dataväylälle ja mahdollistaa oikean signaalin ohjausväylässä. Näin tiedot ladataan muistiin väylän avulla.

SUORITINVÄYLÄ
Photo src: https://en.wikipedia.org/wiki/Bus_(computing)#/media / File:Computer_system_bus.svg

Cache

suorittimella on myös mekanismi, jolla se prefetchaa käskyn välimuistiinsa. Kuten tiedämme on miljoonia ohjeita prosessori voi suorittaa sekunnissa. Tämä tarkoittaa sitä, että opetuksen hakemiseen RAMILTA kuluu enemmän aikaa kuin niiden toteuttamiseen. Niinpä suorittimen välimuisti prefetches osa ohjeesta ja myös tiedot niin, että toteutus saa nopeasti.

Jos välimuistin ja toimintamuistin tiedot ovat erilaisia, data merkitään likaiseksi bittiksi.

Instruction pipelining

Moderni suoritin käyttää Instruction pipeliningiä parallelizaatioon opetuksen toteutuksessa. Nouda, Pura, Suorita. Kun yksi käsky on dekoodausvaiheessa, suoritin voi käsitellä toisen käskyn noutovaiheeseen.

suorittimen kellosykli
photo source: https://en.wikipedia.org/wiki/Instruction_pipelining#/media/File:Pipeline,_4_stage.svg

tällä on yksi ongelma, kun yksi ohje on riippuvainen toisesta. Prosessorit siis toteuttavat ohjeen, joka ei ole riippuvainen ja eri järjestyksessä.

Multicore computer

se on periaatteessa eri suoritin, mutta siinä on joitain yhteisiä resursseja, kuten välimuisti.

suorituskyky

suorittimen suorituskyky määräytyy sen suoritusajan mukaan. Performance = 1/suoritusaika

sanotaan, että ohjelman suoritus kestää 20ms. Suorittimen suorituskyky on 1/20 = 0.05msrelatiivi suorituskyky = suoritusaika 1/suoritusaika 2

suorittimen suorituskyvylle huomioon otettava tekijä on käskyn suoritusaika ja suorittimen kellotaajuus. Joten ohjelman suorituskyvyn lisäämiseksi meidän on joko nostettava kellotaajuutta tai vähennettävä opetusmäärää ohjelmassa. Prosessorin nopeus on rajoitettu ja nykyaikaiset moniytimiset tietokoneet voivat tukea miljoonia ohjeita sekunnissa. Mutta jos kirjoittamassamme ohjelmassa on paljon ohjeita, tämä laskee kokonaissuoritusta.

Iso O-notaatio määrittää annetulla syötteellä, miten suoritukseen vaikuttaa.

suorittimessa on paljon optimointeja, jotta se olisi nopeampi ja suorittaisi mahdollisimman paljon. Kirjoittaessamme mitä tahansa ohjelmaa meidän on pohdittava, miten suorittimelle annettavien ohjeiden määrän vähentäminen lisää tietokoneohjelman suorituskykyä.

Kiinnostaako tietokantojen optimointi? Lue siitä täältä: https://milapneupane.com.np/2019/07/06/how-to-work-optimally-with-relational-databases/

Related Posts

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *