You are on page 1of 25

OSNOVI RAČUNARSKE

TEHNIKE

Univerzitet NOVI PAZAR


2009./2010.

Dr. Ivan ĐOKIĆ


OSNOVI RAČUNARSKE TEHNIKE

LEKCIJA 16.1: Vrste naredbi, pribavljanje i


izvršenje
TIPOVI MAŠINSKIH
INSTRUKCIJA

 Aritmetičke instrukcije
 Logičke instrukcije
 Instrukcije za kontrolu toka programa
(upravljačke instrukcije)
 Instrukcije za prenos podataka
 Instrukcije za ulaz/izlaz
SET MAŠINSKIH
INSTRUKCIJA
TIPOVI MAŠINSKIH
INSTRUKCIJA

Tipični formati instrukcija:

KOD OPERACIJE

KOD OPERACIJE OPERAND

KOD OPERACIJE OPERAND 1 OPERAND 2


NAČINI ADRESIRANJA

 Direct Operand: Operand je konstanta


 Ne zahteva se adresiranje
Instruction
Operand

 Register Addressing: Broj registra je u instrukciji


 Operand je u registru

Instruction Register
Reg. number Operand

 Direct Addressing: Memorijska adresa je u instrukciji


 Adresa ukazuje na memorijsku lokaciju gde je operand
Instruction Memory
Address Operand
NAČINI ADRESIRANJA

 Register Indirect Addressing:


 Instrukcija sadrži broj registra
 Registar sadrži adresu operanda
 Prednost : Addresa se može računati

Instruction Register Memory


Reg. number Address Operand

 Register Indirect Addressing with Displacement:


 Kao i Register Indirect Adressing, ali postoji pomeraj
 Pogodno za struktuirane podatke sa baznom adresom

Instruction Register
Reg. number Base address
Instruction Memory
+ Address Operand
Displacement
CIKLUS
IZVRŠENJA INSTRUKCIJA
ARITMETIČKE I LOGIČKE
INSTRUKCIJE

 UNARNE ( sa jednim operandom)


 Postavljanje (SET)
 Brisanje (CLEAR)
 Komplementiranje (COMPLEMENT)
 Negacija (NEGATE)
 Inkrementiranje (INCREMENT)
 Dekrementiranje (DECREMENT)
 Pomeranje (SHIFT)
 Rotacija (ROTATE)
ARITMETIČKE I LOGIČKE
INSTRUKCIJE

 BINARNE ( sa dva operanda)


 Aritmetičke instrukcije
 ODUZIMANJE PRIMENOM PRVOG ILI DRUGOG
KOMPLEMENTA (SUB)
 SABIRANJE (ADD)
 INSTRUKCIJE ZA OPERACIJE SA BCD
BROJEVIMA
 INSTRUKCIJE ZA OPERACIJE U POKRETNOM
ZAREZU
 Logičke instrukcije
 I (AND)
 ILI (OR)
 EKSKLUZIVNO ILI (XOR)
INSTRUKCIJE ZA
PRENOS PODATAKA
 Prenos podataka između registara
 Najveća brzina izvođenja u odnosu na ostale
instrukcije prenosa
 Instrukcije su kraće od ostalih
 Nekada instrukcija ima samo polje koda operacije:
 TAB ( A  B )
 TBA ( B  A )

 U nekim instrukcijama se eksplicitno ukazuje na


registre koji učestvuju u prenosu preko njihovih
adresa):
 MOV A, E ( E  A )
INSTRUKCIJE ZA
PRENOS PODATAKA

 Prenos podataka između memorije i registara


 Prenos podataka iz memorije u neki od CPU registara
(LOAD)
 Prenos podataka iz nekog od CPU registara u memoriju
(STORE)
 Jedinstven tip instrukcije kod Intela je MOVE
 MOVE x, y (y ( source)  x (destination))

 Mogućnost prenosa bloka podataka (Z80)


 Mogućnost istovremenog kopiranja sadržaja više
registara u memoriju (MC 68020)
INSTRUKCIJE ZA
PRENOS PODATAKA

 Operacije sa stek-om

 Smeštanje podataka na stek (PUSH)


 SP se inkrementira
 Uzimanje podataka sa steka (POP)
 SP se dekrementira

 Primeri instrukcija za rad sa stekom (MC 6800)


 PSH A (sadržaj akumulatora A  stek )
 PUL A (podatak sa steka  akumulator A )
 PSH B (sadržaj akumulatora B  stek )
 PUL B (podatak sa steka  akumulator B )
INSTRUKCIJE ZA
PRENOS PODATAKA

 Ulazno-izlazne operacije
 Kod nekih procesora ( MC 68020, VAX )
ulazno/izlazni prostor se posmatra kao memorija
 Svakoj U/I jedinici je pridružena jedna ili više
memorijskih adresa
 Kod nekih procesora U/I operacije su odvojene od
operacija sa memorijom
 Programski kontrolisan U/I prostor
 IN i OUT instrukcije
 Specijalni procesori (kanali) obavljaju
ulazno/izlazne aktivnosti - IBM 370
INSTRUKCIJE ZA UPRAVLJANJE
TOKOM PROGRAMA

 To su instrukcije koje omogućavaju


promenu sadržaja brojača naredbi (Program
Counter)
 Ove instrukcije skreću tok izvođenja programa
bezuslovno ili uslovno
 Upravljačke instrukcije mogu da se podele
na:
 Instrukcije bezuslovnog skoka (jump) ili grananja
(branch)
 Instrukcije uslovnog skoka ili grananja
 Specijalne upravljačke instrukcije za upravljanje
potprogramima, prekidima i stanjima procesora
INSTRUKCIJE ZA UPRAVLJANJE
TOKOM PROGRAMA

 Instrukcije bezuslovnog skoka


 Preusmeravaju tok izvođenja programa bez
ispitivanja bilo kakvih uslova
 U PC se nalazi adresa memorijske lokacije na
kojoj se nalazi sledeća instrukcija
 Ne preporučuje se česta upotreba ovih instrukcija,
jer mogu da dovedu do greške u izvršavanju
programa
INSTRUKCIJE ZA UPRAVLJANJE
TOKOM PROGRAMA
Primer za instrukciju uslovnog skoka
instrukcija
početak petlje
telo petlje
dekrementiraj registar i preskoči ako je 0
skoči na početak petlje
nastavak programa
 Ako uslov nije ispunjen program se vraća na
početak petlje (vrti se u petlji)
INSTRUKCIJE ZA UPRAVLJANJE
TOKOM PROGRAMA
Primer za instrukciju uslovnog skoka
instrukcija
početak petlje
telo petlje
dekrementiraj registar i preskoči ako je 0
skoči na početak petlje
nastavak programa
 Ako je uslov ispunjen program preskače jednu
instrukciju i izlazi iz petlje
INSTRUKCIJE ZA UPRAVLJANJE
TOKOM PROGRAMA

 Instrukcije za upravljanje potprogramima


 Potprogrami (subroutine, subprogram) su niz
instrukcija koje predstavljaju celinu
 Potprogram može da se poziva više puta u toku
izvršenja nekog programa
 Računar pre upisa nove adrese u PC (koja
predstavlja početnu adresu potprograma), sačuva
tekući sadržaj PC na steku
 Postoje dva tipa instrukcija za rad sa potprogramima
 Instrukcije za pozivanje potprograma (CALL)
 Instrukcije za povratak iz potprograma (RETURN)
INSTRUKCIJE ZA UPRAVLJANJE
TOKOM PROGRAMA
Otvoreni potprogram Zatvoreni potprogram
GLAVNI PROGRAM GLAVNI PROGRAM
POČETAK PROGRAMA T POČETAK PROGRAMA
O
POTPROGRAM
POTPROGRAM K POZIV POTPROGRAMA
POČETAK
P •
R •
POTPROGRAM POZIV POTPROGRAMA
O •
G KRAJ

POTPROGRAM R POZIV POTPROGRAMA


A
M
KRAJ PROGRAMA KRAJ PROGRAMA
A
INSTRUKCIJE ZA UPRAVLJANJE
TOKOM PROGRAMA

 Instrukcije za upravljanje prekidom


 Zahtevi za prekid (interrupt requests) su signali koji nastaju
 u samom procesoru
 u ulazno/izlaznoj jedinici ili
 u spoljašnjem okruženju (van računarskog sistema)
 Kada se pojavi zahtev za prekid, tekući program se prekida i prelazi
na izvršavanje posebnog kontrolno upravljačkog programa za
obradu prekida
 Da bi mogao da se ostvari povratak u prekinuti program moraju da
se čuvaju na steku:
 sadržaj programskog brojača (PC)
 sadržaj svih radnih registara u CPU koji će koristiti program za
obradu prekida
INSTRUKCIJE ZA UPRAVLJANJE
TOKOM PROGRAMA
 Instrukcije za upravljanje prekidom
 Zahtev za prekid može da nastane bilo kada, bilo
na kom mestu u programu i nije pod kontrolom
programa
KORISNIČKI PROGRAM
PROGRAM ZA OBRADU PREKIDA
POČETAK

TEKUĆA INSTRUKCIJA

ZAHTEV NAREDNA INSTRUKCIJA


ZA PREKID
KRAJ
INSTRUKCIJE ZA UPRAVLJANJE
TOKOM PROGRAMA

 Instrukcije za upravljanje prekidom


 Obradu prekida vrši program operativnog sistema koji se
zove analizator prekida
 Analizator prekida bira program za obradu koji odgovara
prekidu
 Pošto nisu svi prekidi podjednako važni za računarski
sistem, neki od njih mogu privremeno ili trajno da se
spreče (maskiraju) pomoću instrukcija koje mogu da
postavljaju masku, da je čitaju i testiraju
 Na kraju svake rutine za obradu prekida nalazi se
instrukcija za povratak iz prekida RT (Return from
Interrupt)
INSTRUKCIJE ZA UPRAVLJANJE
TOKOM PROGRAMA

 Instrukcije za upravljanje stanjima


procesora
 Kod većine računara CPU može da se nađe u
nekom od sledećih stanja, pri čemu se stanja koja
su data u paru uzajamno isključuju:
 Neprivilegovanom / privilegovanom stanju
 Stanju spremnosti / stanju obrade
 Stanju zastoja (čekanja) / stanju obrade
 Stanju dozvoljenog prekida / stanju zabranjenog prekida
 U privilegovanom režimu može u potpunosti da se
kontroliše rad računara pomoću privilegovanih
instrukcija koje ne mogu da se upotrebljavaju u
korisničkom programu
PITANJA

You might also like