Sunday, February 15, 2015

How a CPU Works/ Scott processor video.

CPU on arvuti aju.
Igas CPU-s on juhtmed, mis töötavad on/off meetodil, et hoida kogu CPU töö sünkroonis.
Need justmed on kutsutud "the clock".
Juhtmete töötamise kiirust mõõdetakse gigahertsides.

CPU asub emakettal. Emaketas laseb kõigi arvuti osadel ühenduda üksteise vahel.
CPU-st vasakul (all rohelisel pildil) on RAM e random access memory. Seal on kogu data mida praegu CPU-l vaja on.
Ram koosneb aadresside nimekirjadest kus igal aadressil on tükike datast. RAM tavaliselt töötleb datat lähtudest järjekorrast. Datale juurdepääs võib olla ka random, hence Random access memory. CPU võib datat järjekorrast erinevalt töödelda.
Kui programm hakkab mingit protsessi töötlema, ta saadab selle aadressi RAM-i. RAM-is olev aadress koosneb ainult numbritest 1 ja 0 st arvud/aadressid on kahendsüsteemsed. = ja 1 tähistavad ON või OFF juhtmeid. RAM ei tee SET või ENABLE juhtme.
 Kui enable wire is turned on, siis RAM saadab automaatselt ükskõik millise data mis sellel aadressil on tagasi CPU-sse.
Kui CPU tahab salvestada datat, siis ta saadab RAM-ile aadressi, saadab data ning paneb tööle SET wire. RAM siis overwrites algneva data sellel aadressil uue dataga.
Kuid mis on see data CPU-s? Mida need numbrid tähendavad? Tegelikult osad neist on õpetused /instructions mida mingi data tükikesega teha. Samuti on datas numbrid, need on numbrid, mida sa võibolla tahaksid võrrelda, vahetada, process it or sth else. Datas on ka aadressid, mida võib kasutada paljudel viisidel. Samuti on datas ka tähed/letters, st kui sul on mingi tekst, siis tegelikult on see tekst RAM-is salvestatud numbrite jadana. Igal tähel on oma kindel number.
CPU INSTRUCTION SET
CPU koosneb:
Control unit- saab oma käsklused RAMist instructionite teel. Siis ta teeb selle käskluse tükkideks teistele osakestele. 
       Arithmetic Logic Unit ALU - tee kõik matemaatilised ülesandes CPU-s, such as addition, traction, compare. Sellel on 2 input-i. Input A ja input B. need on tavalislt arvud/anmded mida tuleb võrrelda jms. 
control unit saab instructionsi ram-ilt ning saadab siis käskluse ALU-sse. ALU täidab selle käskluse ja output-ib vastuse. Mõnel korral ta outputi ei tee, nt kui sul on compare instruction ss ALU ei pea output-i tegema vaid ta lihtsalt ütleb control unitile kuidas need kaks numbrit omavahel võrdluses on. Selleks kasutab ALU "flags" ning need aitavad control unitil otsustada mida edasi teha. Control unit võib siis saada järgmise käskluse mida selle infoga edasi teha.
Kuhu ALU output läheb?  - ALU-st tuleb 8 juhet, mis saadavad selle outputi registrisse. Registri ülesanne on hoida numbrit ajutiselt. NAd käituvad nagu RAM, ainult et nad on CPU sees ning nad teevad CPU kiiremaks ja kasututatavamaks. See outputi number ei salvestata enne, kui control unit ei ole käima pannud SET wiret. kui see töötab, siis salvestatakse number registrisse. Siis kui meil on number registrisse salvestatud, siis kuidas me selle sealt tagasi välja saame? Kui oleme valmis numbrit registrist välja liigutama, siis control unit paneb tööle ENABLE wire, mis paneb registri output-ima selle numbri, mis temasse on salvestatud. Outputi juhtmed on ühendatud teiste juhtmetega mida kutsutakse "the CPU bus". A bus is a group of wires that connect multiple opponents inseide a computer. Bus-idel on oma output wires, mis saadavad algse registri outputi tagasi control unit-i kindlasse sobivasse registrisse. Peale seda control unit turns off the enable wire esimesest registrist ja teeb BUS-i tühjaks. bus-i eeliseks on numbrite kiire liigutamine ühest registrist teise, bus-i halvemus on see, et sellel saab olla ainult 1 number korraga. Selleks, on ALU-l input B ja input A jaoks oma kanal, mis ühendab bus-i ja teeb liikumise kiiremaks.
instruction-id control unitiks on pagitatud instruction set-i mis on ühenduses control uniti ja bus-iga. 
control unit ja bus on ühendatud ka registriga mille nimeks "instruction address" mis ütleb, kust kohast järgmine käsklus tuleb. instruction address läheb rami, kuid enne käib labi memory addressist kus see salvestatakse.
control unit ja bus on ühenduses ka registriga "Memory address" selle ainuke ülesanne on öelda RAM-ile millist järgmist memory aadressi cpu tahab järgmisena. Kui instrugtion address on memori addressis olemas, siis see saadetakse automaatselt RAM-i. 
pärast seda saadab ram tagasi data mis on tegelikult instruction järgmise protsessi tükikese osa asjus.





No comments:

Post a Comment