Malo detaljnija blok šema procesora se nalazi na Slici. Prikazani su sledeći moduli: upravljačka jedinica, aritmetičko-logička jedinica, upravljački registri, registri opšte namene, modul za upravljanje magistralom i modul za opsluživanje prekida. Pored ovih osnovnih delova, procesor naravno može još imati i niz drugih delova, npr. keš memoriju, itd.
Blok šema procesora
Sve komponente procesora se povezuju magistralama. Magistrala ili sabirnica (eng. Bus) predstavlja grupu provodnika (tj. linija) kroz koje se signalima prenose podaci između delova računara. Svakom magistralom se mogu prenositi tri grupe signala: podaci, adrese i upravljački signali. Zato se često ove magistrale nazivaju kao magistrala podataka, adresna magistrala I upravljačka magistrala. Magistrale koje se koriste unutar procesora se nazivaju unutrašnje ili interne magistrale, a one koje se koriste van procesora se nazivaju spoljne ili sistemske magistrale.
U aritmetičkoj-logičkoj jedinici (eng. Arithmetic-Logic Unit, ALU) se izvršavaju aritmetičke i logičke operacije nad podacima, tj. obrada podataka.
Upravljačka jedinica (eng. Control Unit, CU) generiše upravljačke signale za: izbor redosleda instrukcija iz memorije, formiranje adresa operanada, pristup operativnoj memoriji i prenos operanada u ALU, izvršavanje mašinske operacije u ALU predviđene mašinskom instrukcijom, prenos dobijenog rezultata u operativnu memoriju, iniciranje ulazno-izlaznog prenosa, reakciju procesora na spoljne zahteve, itd.
Upravljački registri su namenjeni za privremeno čuvanje informacija za upravljanje. Ovi registri učestvuju u upravljanju procesom obrade: tu spadaju brojač mašinskih instrukcija, registar instrukcija, itd. Postoje i registri opšte namene. Programi mogu ovim registrima pristupiti pomoću adresa i njihova namena se može u programu definisati. Programi često koriste ove registre zato što su mnogo brži od operativne memorije.
Modul za upravljanje magistralom organizuje razmenu podataka između procesora i operativne memorije i održava vezu sa ulazno-izlaznim podsistemom, znači sa perifernim uređajima, spoljnim memorijama, itd.
Modul za opsluživanje prekida realizuje mehanizam koji se naziva programski prekid. Pomoću ovog mehanizma, drugi moduli, pre svega ulazni i izlazni uređaji, spoljne memorije i komunikacione linije (znači, delovi ulazno-izlaznog podsistema), mogu prekinuti normalno izvršavanje tekućeg programa. Prekid je uveden da bi procesor mogao reagovati na određene zahteve i kao način za poboljšanje efikasnosti obrade. Naime, većina perifernih uređaja je mnogo sporija od procesora. Zato pomoću prekida procesor može biti angažovan na izvršavanju drugih programa dok se odvija zahtevani ulazno-izlazni prenos.
Brzina i širina procesora
Procesori se mogu odrediti sa dva glavna merila: njihovom brzinom i širinom. Brzina procesora (zove se još i kao radni takt ili frekvencija) označava broj ciklusa u sekundi i izražava se u hercima (Hz). Jedan ciklus je zapravo najmanja jedinica vremena za procesor. Jedan Hz znači jedan ciklus u sekundi, a 1 Mhz znači milion ciklusa u sekundi. Što je radni takt veći, to bolje. S druge strane, širina procesora je komplikovaniji pojam, jer se širinom iskazuju tri osnovna podatka o procesoru:
• Širina ulazno-izlazne magistrale podataka (eng. Data I/O Bus) – određuje broj bitova podataka koji se mogu preneti u procesor ili iz njega u jednom ciklusu. Drugim rečima, određuje veličinu jednog paketa podataka koji se može preneti kroz magistralu. Ova širina je išla od 8 bita pa sve do 64 bita.
• Širina adresne magistrale (eng. Address Bus) – određuje broj bitova kojim se mogu predstaviti adrese u memoriji. Adresna magistrala nosi podatke o adresama, predviđene za opisivanje mesta u memoriji na koje je podatak poslat ili sa kojeg se uzima. Što je broj bitova veći, to više adresnih lokacija možemo navesti. Veličina (tj. širina) adresne magistrale zato određuje teorijsku najveću veličinu RAM-a koja se može adresirati. Kod prvih procesora je ova širina bila 20 bita (što je omogućilo adresiranje 220 = 1048576 bita, tj. 1 MB-a podataka u memoriji), dok kod najnovijih iznosi 40 bita.
• Širina unutrašnjih registara (eng. Internal Registers) – određuje koliko podataka procesor može da obrađuje istovremeno. Zapravo, veličina (tj. širina) registra određuje veličinu podataka koje procesor može da obrađuje. Veličina registara takođe određuje i vrstu softvera, tj. mašinske instrukcije koje procesor može da izvršava. Npr., procesori sa 64- bitnom širinom unutrašnjih registara mogu da izvršavaju 64-bitne instrukcije koje obrađuju 64-bitne skupove podataka, dok procesori sa 32-bitnim registrima to ne mogu, jer su njihovi registri premali za smeštanje 64-bitnih podataka.
Širina unutrašnjih registara je možda „najvažnija“ širina kod procesora, budući da kad kupujemo procesor, prvo što pročitamo u specifikaciji je broj bitova procesora, koji je zapravo širina unutrašnjih registara. Prvi PC računari su imali 16-bitne registre, a procesori počev od Intel 386 su prešli na 32-bitne registre. Međutim, AMD Athlon 64, kao i Intel Pentium D i Core 2 procesori su već imali 64-bitne registre, što se koristi i danas.
Međutim, prava (realna) brzina procesora se ne može odrediti samo pomoću radnog takta i širine procesora. Optimizacija mašinskih instrukcija je takođe od presudnog značaja. Kao što znamo, mašinske instrukcije se sastoje iz mašinskih operacija. Jedna mašinska instrukcija ne mora uopšte da završi izvršavanje za jedan ciklus. Tako su npr. prvi procesori trošili u proseku 12 ciklusa za svaku instrukciju, Intel 486 procesor je već trošio svega dva ciklusa za jednu instrukciju, a najnoviji modeli mogu da izvrše čak i više instrukcija po ciklusu. Zato nije ni čudo da su Intel Pentium procesori na 75 MHz-a bili brži od Intel 486 procesora na 120 MHz-a.
Zbog ovih razloga je teško proceniti pravu brzinu procesora, jer pored radnog takta moramo uzeti u obzir i širinu, optimizaciju mašinskih instrukcija, pa čak i veličinu keš memorije.