Delovi procesora

Procesor se sastoji iz nekoliko delova, od kojih su osnovni:

Upravljačka jedinica je deo koji kontroliše rad računara. Ona vrši dekodiranje operacija u programu, upravlja izvršenjem programa, memorijom i ostalim delovima računarskog sistema. Sa razvojem računara ide se ka tome da procesor bude što više rasterećen ovih funkcija, pa tako posebni kontroleri povezani na matičnu ploču preuzimaju deo ovih poslova.

Aritmetičko-logička jedinica jeste deo procesora koji obavlja aritmetičke i logičke operacije nad celim brojevima i pojedinim bitovima. Kao dodatak, procesori danas poseduju i jedinicu za računanje sa brojevima u pokretnom zarezu.

Registri su posebne memorijske lokacije dostupne unutar samog procesora. U njima su smešteni podaci sa kojima procesor upravo radi.

Registri procesora

Kao što je već rečeno, registri su specijalne memorijske lokacije koje se nalaze unutar samog procesora. U njih se smeštaju podaci sa kojima procesor trenutno radi. Postoje registri opšte namene:

Osim opštih, postoje i registri specijalne namene od kojih su najvažniji:

Naredbe procesora

Osnovni skup naredbi je kod modernih procesora isti kao i kod starijih modela, i možemo videti da procesor u stvari može da uradi relativno malo toga:

Procesori kakve imamo u računarima kod kuće ili na poslu uglavnom su bazirani na međusobno kompatibilnim Intel ili AMD procesorima, koji danas izvršavaju i mnoge druge instrukcije vezane za rad sa decimalnim brojevima, grafiku, multimediju i sl. (FPU, MMX, SSE setovi naredbi).

Primer naredbi procesora

Evo jednog malog primera asemblerskog programa za stari procesor Z80, koji na dobar način ilustruje kako u stvari procesor radi.

Pre izvršavanja programa, situacija u memoriji bi mogla da bude ovakva. Pretpostavićemo da se na memorijskoj lokaciji 10000 već nalazi broj 5 (npr. kao rezultat ranijeg izvršavanja programa).

10000 5
10001 0
... 0

Kao što ćemo videti, na najnižem nivou, naredbe su jako proste:

  • LD - upis podatka na neku lokaciju (memorija, registar...)
  • INC - podatak sa neke lokacije se uvećava za 1
  • ADD - sabiranje dva broja pri čemu se rezultat smešta u akumulator
LD  HL, 10000 U registar HL, koji je predviđen da drži memorijske adrese, ubacujemo adresu 10000
LD  A, (HL) U registar A (akumulator) kopiramo podatak koji se u memoriji nalazi na adresi koja je u HL-u - A sada sadrži broj 5
LD  B, 15 U registar B (opšte namene) ubacujemo podatak - broj 15
ADD A, B Sabiramo podatak iz akumulatora i registra B - rezultat će biti smešten u akumulator - A sada sadrži broj 20
INC HL Povećavamo sadržaj registra HL za 1 - sada HL sadrži adresu 10001
LD  (HL), A Na memorijsku lokaciju iz registra HL, smeštamo podatak iz akumulatora (broj 20)

Posle izvršenog programa, na memorijskoj lokaciji 10001 nalazi se rezultat, odnosno broj 20. Ispis tog rezultata na ekranu je neka sasvim druga priča.

10000 5
10001 20
... 0

Čak je i za najjednostavniju operaciju potrebno napisati ceo "programčić". Danas skoro niko ne programira na ovako niskom nivou. CISC procesori stalno povećavaju broj ovakvih naredbi koje sa godinama postaju sve moćnije. Sa druge strane, RISC procesori umeju da izvrše mnogo manje naredbi (ali to rade jako brzo).

Svi elementi sajta Web'n'Study, osim onih za koje je navedeno da su u javnom vlasništvu, vlasništvo su autora i ne smeju se koristiti, u celosti ili delimično bez pismenog odobrenja autora. To uključuje tekstove, slike, ilustracije, animacije, prateći grafički materijal i programski kod.
Ovaj sajt koristi tehnologiju kolačića (cookies). Detaljnije o tome možete pročitati u tekstu o našoj politici privatnosti.