II dio Mikroprocesor
2.10. Registri
2.10.2. Specijalizovani registri
Ovi registri se koriste pri izvršavanju operacija, njihovoj kontroli, kao i za prikaz tekućeg stanja procesora i programa koji se izvršava.
• Većina ovih registara nije direktno dostupna korisničkim programima.
• Neke od njih koriste samo programi operativnog sistema, dok su drugi dostupni samo na nivou mikrokoda.
Neki od specijalnih registara i njihove funkcije su:
• Instrukcioni registar, (IR) koji sadrži posljednju pročitanu instrukciju.
• Registar memorijskih adresa, (RMA) koji sadrži adresu u memoriji iz koje treba prenijeti sadržaj u PRM ili u koju treba upisati sadržaj iz PRM.
• Prihvatni registar memorije, (PRM). Sadrži riječ koja je posljednja pročitana iz memorije ili koju treba upisati u memoriju na adresu koja je sadržana u RMA.
• Brojač instrukcija, (PC) koji sadrži adresu sljedeće instrukcije koju treba prenijeti u procesor.
• Registar koji sadrži status programa koji se trenutno izvršava, PSW (eng. Program Status Word). Informacije koje sadrži ovaj registar a odnose se na program koji se trenutno izvršava uključuju:
– Uslovne kodove (eng. Condition codes, CC) pri izvršavaju aritmetičkih i logičkih operacija. Ovi kodovi mogu da označavaju npr.
- Da li je rezultat jednak, manji ili veći od nule
- Pojavu prekoračenja pri izvršavanju aritmetičkih operacija
- Da li su vrijednosti koje se porede jednake, ili je prva veća ili manja od druge, itd.
– Postojanje prenosa pri aritmetičkim operacijama.
– Prekoračenje pri aritmetičkim operacijama i vrstu podataka nad kojima je došlo do prekoračenja (cijeli brojevi, BCD brojevi).
– Prekoračenje i potkoračenje pri izvođenju operacija nad realnim brojevima u ne-IEEE 754 zapisu.
– Indikatore da li je dozvoljen prekid kao i tip prekida koji je dozvoljen.
– Indikator da li je tekući program u supervizorskom ili korisničkom režimu rada.
– Indikator da li je tekuća adresa realna ili je potrebno preračunavati adrese iz programa da bi se dobile realne adrese.
– Indikator da li je CPU u stanju čekanja kada ne izvršava ni jednu instrukciju. Ovo stanje može da se promijeni jedino pojavom prekida.
– Pored ovih, PSW uključuje i informacije koje su specifične za svaku pojedinačnu arhitekturu procesora. Tako npr. PSW može da sadrži i adresu naredne instrukcije (za program koji se trenutno izvršava), itd. PSW može fizički da se realizuje kao jedan ili kao skup više registara. Korisnički program može da pristupi PSW i provjeri trenutno stanje programa očitavanjem vrijednosti bitova koji sadrže vrijednosti indikatora. Korisnik ne može da postavi vrijednosti u PSW; vrijednosti nekih bitova mogu da budu postavljeni isključivo od strane programa koji rade u supervizorskom režimu rada.
• Kontrolni registar pri izvršavanju operacija u pokretnom zarezu, FPC (eng. Floating Point Control). Ovaj registar sadrži informacije vezane za izračunavanja u pokretnom zarezu (tačnije IEEE 754 aritmetiku).
• Kontrolne registre koji sadrže specifične informacije za svaku mašinu: tekuće stanje mašine, vektor prekida, postojanje/nepostojanje FPU (npr. na Pentiumu ili PowerPC procesoru), rad u posebnom režimu izvršavanja instrukcija (npr. protected/real mod kod Pentium procesora), itd.
Na nekim procesorima postoji specijalizovan registar koji se koristi kao pokazivač steka. Time se postiže smanjenje veličine instrukcija koje rade sa stekom jer u njima nema potrebe za eksplicitnim navođenjem ovog registra. Sa druge strane, postojanje takvih registara ograničava fleksibilnost programera.
Registri opšte namjene < Index > 2.11. Instrukcioni ciklus
|