1 / 20

OSNOVI RA ČUNARSKE TEHNIKE 1

OSNOVI RA ČUNARSKE TEHNIKE 1. INSTRUKCIJE I NA ČINI ADRESIRANJA 10. 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:

abel
Download Presentation

OSNOVI RA ČUNARSKE TEHNIKE 1

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. OSNOVI RAČUNARSKE TEHNIKE 1 INSTRUKCIJE I NAČINI ADRESIRANJA 10

  2. 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): • MOVA, E( E  A )

  3. 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 (MOVE)(Intel): MOVEx, y(y ( source)  x (destination) • Mogućnost prenosa bloka podataka (Z80) • Mogućnost istovremenog kopiranja sadržaja više registara u memoriju (MC 68020)

  4. 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 ) • PULA (podatak sa steka  akumulator A ) • PSHB(sadržaj akumulatora B  stek ) • PUL B (podatak sa steka  akumulator B )

  5. 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

  6. 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

  7. 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

  8. Instrukcije za upravljanje tokom programa • Instrukcije uslovnog skoka ili grananja • Omogućavaju skok (grananje) potprograma samo ako je prethodnom obradom ispunjen neki uslov • Ne zna se unapred kojim će putem krenuti dalje odvijanje programa • Instrukcije se zasnivaju na testiranju pojedinih bita u registru stanja • Instrukcije SKIPtipatestiraju uslov i preskaču prvu narednu instrukciju ako je uslov ispunjen

  9. Instrukcije za upravljanje tokom programa • 1. 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)

  10. Instrukcije za upravljanje tokom programa • 2. 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

  11. 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)

  12. Instrukcije za upravljanje tokom programa Otvoreni potprogramZatvoreni potprogram GLAVNI PROGRAMGLAVNI PROGRAM T O K P R O G R A M A POČETAK PROGRAMA POČETAK PROGRAMA POTPROGRAM POTPROGRAM POZIV POTPROGRAMA POČETAK • • POTPROGRAM POZIV POTPROGRAMA • KRAJ POTPROGRAM POZIV POTPROGRAMA KRAJ PROGRAMA KRAJ PROGRAMA

  13. 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

  14. 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 ZA PREKID NAREDNA INSTRUKCIJA KRAJ

  15. 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)

  16. 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.

  17. Načini adresiranja • Podacima se pristupa različitim načinima adresiranja, koji su zadati u posebnom polju u formatu instrukcije IMPLICITNO adresiranje NEPOSREDNO adresiranje adresiranje PRIMENOM BAZNIH REGISTARA DIREKTNO adresiranje FORMAT INSTRUKCIJE adresiranje PRIMENOM SEGMENTNIH REGISTARA RELATIVNO adresiranje INDEKSIRANO adresiranje INDIREKTNO adresiranje

  18. Načini adresiranja • Implicitno adresiranje • Sama instrukcija ( kod operacije ) određuje fiksnu i nepromenjivu adresu operanda • Neposredno adresiranje • Polje adrese predstavlja sam operand • Podatak se nalazi u memoriji na lokaciji koja neposredno sledi iza koda operacije • Direktno adresiranje • U polju operanda nalazi se fizička adresa podatka • Relativno adresiranje • Adresa memorijske lokacije se određuje u odnosu na tekući sadržaj programskog brojača (PC)

  19. Načini adresiranja • Indeksirano adresiranje • Na adresu podatka se dodaje sadržaj nekog indeks registra (dobija se efektivna adresa) • Indirektno adresiranje • U polju operanda se nalazi pokazivač adrese na memorijsku lokaciju u kojoj se nalazi adresa na kojoj je smešten podatak • Adresiranje primenom segmentnih registara • Fizička adresa je podeljena na dve logičke, od kojih je jedna u polju operanda, a druga u segmentnom registru • Korisnički program može da menja sadržaj segmentnih registara

  20. Načini adresiranja • Adresiranje primenom baznih registara • Koristi se za pomeranje programa u okviru memorije kada programi koriste apsolutne adrese. • Logička adresa = adresa koju vidi program • Bazna adresa = adresa koju je dodelio operativni sistem (nalazi se u baznom registru) • Stvarna adresa=logička adresa+bazna adresa • Sadržaj baznog registra može da menja samo operativni sistem

More Related