Procesor

Izvor: Wikipedija
Skoči na: orijentacija, traži
Mikroprocesor Intel 80486DX2

Procesor ili CPU (eng. central processing unit, hrv. "središnja jedinica za obradu") je glavni dio računala koji vođen zadanim programskim naredbama izvodi osnovne radnje nad podacima. Središnji procesor nadzire odnosno izvršava glavni program i tipično upravlja i svim ostalim dijelovima računala. Danas (2016.) središnja jedinica za obradu napravljen od tranzistora, tipično u CMOS izvedbi, planarnom tehnologijom na siliciju ili drugom poluvodičkom monokristalu. Visoko integrirani krugovi koji sadže sve funkcije središnje jedinica za obradu nazivaju se mikroprocesori.


Povijest razvoja[uredi VE | uredi]

Arhitekture[uredi VE | uredi]

Arhitektura[uredi VE | uredi]

Osnovni dijelovi CPUa mogu činiti sljedeći podsustavi i ne čini potpuni popis:

  • ALU - aritmetičko logička jedinica koja vrši aritmetičke operacije (zbrajanje, oduzimanje, itd), logičke operacije (NE, I, ILI, NILI itd) ili neke druge operacije koje su zadali njihovi dizajneri
  • AGU - address generation unit (jedinica za stvaranje adresa)
  • CU - kontrolna jedinica koja može imati diskretnu logiku ili mikroizvršivać
  • IR - istrukcijski registar
  • MAR - Memory Address Registar
  • MBR - Memory Buffer Registar
  • Sabirnicu ili sabirnice
  • Podsklopove za sinkroniziranje operacija
  • Datoteka registara
  • Stožni registar

Osnovne značajke[uredi VE | uredi]

Kako su današnji procesori slični u nekim tehnološkim značajkama, obično se dijele prema brzini rada, veličini podatka nad kojim mogu odjednom obaviti zadanu radnju, te prema karakteristikama unutarnjeg ustroja.

Radni takt, superskalarnost, širina sabirnice[uredi VE | uredi]

Najrasprostranjeniji središnje jedinica za obradu rabe sinkronizirane elektroničke krugove (za razliku od asinkrone), tako je rašireno kao mjeru brzine rada procesora uzeti frekvenciju radnog takta (danas tipično mjerena u MHz i GHz), ta je mjera smislena samo kada se uspoređuju vrlo bliski tipovi procesora. Naime, zbog različitog ustroja procesora, vrlo velike razlike u brzini rada se mogu postići i pri istom radnom taktu. Tako superskalarni procesori izvode nekoliko naredbi istovremeno, iskorištavajući činjenicu da se izvođenje naredbi odvija u nekoliko koraka, pri čemu svaki korak upotrebljava drugi dio procesora. Superskalarni procesor dakle omogućuje da se svi dijelovi procesora rabe istodobno ako je slijed naredbi takav da zahtijeva rad svih dijelova procesora.

Brzinu izvođenja programa određuje i sposobnost procesora da dohvaća odnosno pohranjuje podatke dovoljno velikom brzinom, što je u razvoju procesora rezultiralo i proširenjem njegovih sabirnica, tako da se istovremeno u procesor dohvaća ili iz njega pohranjuje čim više bitova. Danas je uobičajena i u širokoj uporabi sabirnica za podatke širine 4, 8, 16, 32, 64, 128, 256 bita.

Priručna memorija[uredi VE | uredi]

Kao mjera za ubrzanje procesora, puno napora se ulaže i u podizanje frekvencije radnog takta. No tehnološka ograničenja dozvoljavaju da se vrlo visoke frekvencije mogu postići samo na malim dijelovima, te je ustaljeno da se cijeli poluvodički čip procesora ne pogoni istim radnim taktom, to jest da se visokom frekvencijom takta pogone samo središnji dijelovi, a da se ostali dijelovi procesora, a nadalje i cijelog računala, pogone sporijim taktom. To dovodi do nesrazmjera u brzini rada procesora i memorije, dakle memorija postaje spori dio koji oganičuje ukupnu brzinu računala. Stoga se u procesor tipično ugrađuje priručna memorija (fra. cache) koja je brža pod glavne memorije, ali time i skuplja pa stoga i manjeg kapaciteta. U nju se sprema svaki podatak odnosno programska naredba koje su nedavno dohvaćene iz memorije, tako da ako uskoro budu opet dohvaćane, da se dohvate iz brže priručne memorije. Tipično je da se i ta priručna memorija dijeli u slojeve, tako da se uvede jedan još brži, i stoga još manji dio, odnosno da se priručna memorija podijeli na dio za podatke i dio za naredbe.

Upravljanje ovlastima[uredi VE | uredi]

U više korisničkim računalnim sustavima je potrebno osigurati da programi jednog korisnika ne utječu neželjeno na programe drugih korisnika, odnosno općenitije, da programi ne mogu neovlašteno ulaziti u područja gdje rade drugi programi. To odvajanje se postiže podjelom programa u razrede, tako da samo mali skup povlaštenih programa (tipično je to jezgra operacijskog sustava) upravlja ovlastima odnosno postavlja ograničenja, a ostali programi su podređeni tako zadanim ograničenjima. U tu svrhu su procesori tipično opremljeni konceptom sigurnosne razine (engl. supervisor mode, protection rings) koje određuje koje vrste programskih instrukcija se dopušta izvoditi, a koje ne. Jezgra operacijskog sustava se tako izvodi bez ograničenja i ona ima stoga ovlasti upravljati skopovljem, dok se programi korisnika izvode uz ogranilčenja čime ih se sprečava da upravljaju sklopovljem, odnosno bilo kojim zajedničkim resursom. Drugo proširenje procesora u svrhu odvajanja programa je jedinica za upravljanje memorijom (engl. memory management unit). Njome se postiže da se ograniči koji dio memorije je dostupan programu koji se trenutno izvodi. Pokušaj pristupa u memoriju izvan tog područja izaziva programsku iznimku kojom se program zaustavlja, a operacijski sustav obavještava o tom događaju (korisniku to operacijski sustav javlja porukama poput segmentation fault, ili general protection fault).

Sklopovske specijalizacije za ubrzanja[uredi VE | uredi]

Neki procesori su opremljeni posebnim sklopovima koji im omogućuju da neke radnje obave brže. Tipičan primjer je ugradnja aritmetičkog koprocesora, čime je omogućeno da se aritmetičke radnje nad brojevima s pomičnim zarezom (engl. floating point number operations) obave brže nego da su obavljane dugim nizom programskih naredbi. Slično možemo primijetiti i kao današnja tzv. multimedijska proširenja što su zapravo dodatak procesoru u vidu dopunskih naredbi koje obavljaju često tražene poslove u u svrhu obrade zvuka i slike tako da se jedna instrukcija primjeni na niz podataka (SIMD, engl. single instruction - multiple data). Kao bolja mjera za uspoređivanje brzine rada procesora rabi se i flops (engl. floating-point operation per second), koja je prikladna za usporedbu procesora koji se namjeravaju upotrebljavati u odgovarajućem okruženju gdje je izrazito opterećenje upravo radnjama nad brojevima s pomičnim zarezom, no ni ta mjera nije idealna i ne može pokriti svu različitost namjena, specijalizacija ili zadataka za koje se procesori primjenjuju.

Radnje bez sudjelovanja procesora[uredi VE | uredi]

Specijalizirani sklopovi kojima se izbjegava potreba za programiranim obavljanjem radnji postoje i izvan procesora i samostalno mogu obavljati takve radnje. Najčešća radnja je kopiranje memorijskog sadržaja s jednog mjesta na drugo, odnosno premještanje sadržaja između memorije i ulazno-izlaznih sklopova. Sklop specijaliziran za prvu radnju se obično naziva blitter, a za drugu uređaj za izravni pristup memoriji (engl. direct memory access, DMA). DMA sklop se ugrađuje u mnoge ulazno-izlazne uređaje, poput upravljačkog sklopa za tvrde diskove, CD-ROM disk i DVD disk (i inačice), zvučnu karticu, grafičku karticu i drugdje.

Način rada[uredi VE | uredi]

Proizvođači procesora[uredi VE | uredi]

Danas najpoznatiji proizvođači mikroprocesora za osobna računala su (abecednim redom):