810 likes | 1.01k Views
IRQSim. D voadresna 16-bitna mašina sa zahtevom za prekid. Definicija r ačunar a. Računar je, naprava koja prima podatke, skladišti ih, obrađuje i izdaje rezultate.
E N D
IRQSim Dvoadresna 16-bitna mašina sa zahtevom za prekid
Definicija računara • Računar je, naprava koja prima podatke, skladišti ih, obrađuje i izdaje rezultate. • Procesor je zadužen kako za kompletno procesiranje tj. obradu podataka (odatle mu potiče i ime) tako i za koordinaciju rada ostalih komponenata računarskog sistema. • Procesor je deo računara koji može da se programira za procesiranje tj. obradu nekakvih podataka.
RISC procesori RISC – (reduced instruction set computer). Osnovna ideja RISC ( kompjuteri sa smanjenim setom instrukcija) arhitektura zasniva se na pojednostavljenju i reduciranju skupa instrukcija putem eliminisanja ne esencijalnih instukcija, tako da se ostale instukcije mogu izvršavati veoma brzo. U svakom taktu se izvršava jedna instukcija.
RISC procesori Kod RISC procesora imamo direktno upravljanje (ne postoji mikroprogram),fiksni format instrukcija,ograničeni skup instrukcija i ograničeni broj adresnih načina rada. Za RISC mašinu kažemo da je uspešna ako je u stanju da prihvata instrukcije onom brzinom kojom ih keš memorija predaje.
Prekidi Mehanizam prekida kod procesora omogućava efikasniji rad računara sa periferijama koje su u najvećem broju slučajeva mnogo sporije od procesora. Prekid omogućuje procesoru da izvršava druge instrukcije dok periferija ne zatraži sledeći podatak.
Zahtev za prekid Kada periferija postane spremna za prijem novih podataka iz procesora, ona signalizira to stanje procesoru slanjem zahteva za prekid .
Prekidna rutina Posle zahteva za prekid procesor, za kratko, prekida izvršenje tekućeg programa i vrši skok na drugi deo programa koji se naziva prekidna rutina. U okviru prekidne rutine se opslužuje periferija koja je zahtevala prekid i nakon toga se vrši povratak u glavni program.
Izvršavanje glavnog programa nakon prekida Izvršavanje glavnog programa se produžava od onog mesta gde je bilo prekinuto,tjnakon prihvatanja prekida CPU preuzima sledeće akcije: • odlaže izvršenje tekućeg programa, • sačuva svoj status • prelazi na rutine za obradu prekida • ponovo se vraća na prekinuti programkako bi nastavio dalje izvršenje
Klase prekida Postoje 4 klase prekida koji se koriste kod mikroprocesora, a to su: 1. Vektorski prekidi. 2. Nemaskirajući prekidi 3. Nevektorski prekidi 4. Restartujući prekidi
Vektorski prekidi Vektorski prekidi – kada nekoliko spoljnih uređaja šalje zahtev za prekid CPU-u,neophodno je da se identifikuje specifični izvor prekida sa ciljem da se selektuje odgovarajuća rutina za obradu prekida.
Nemaskirajući prekidi Nemaskirajući prekidi – ovaj tip prekida se ne može maskirati izvršenjem određenih naredbi.Kada se nemaskirajući prekid aktivira javlja se prekid programa koji se trenutno izvršava, nezavisno od tipa operacije koju CPU trenutno obavlja.
Nevektorski prekidi Nevektorski prekidi – imaju efekat kao i nemaskirajući. Informacija o početnoj adresi rutine za obradu prekida smeštena je na fiksnu lokaciju u vektorskoj tabeli. Ovi prekidi se mogu maskirati.
Restartujući prekidi Restartujući prekidi – zahtev za prekid se prihvata nakon završetka naredbe koja je u toku . Ali,ako se zahtev za prekid generiše kao rezultat kada treba da zaštitimo dalji korektni tok izvršenja same naredbe,prekid će se odmah prihvatiti,pre kraja naredbe.Ovim tipom prekida se suspenzuje program,koji je u toku,na sredini naredbe,a sve informacije koje su neophodne za uspešan nastavak prekinute naredbe se čuvaju u magacinu.
U konkretnom slucaju kod nasih procesora: • Imamo jedan hardverski prekid ( pri zahtevu za prekid imamo flag koji oznacava da li je prekid dozvoljen ili ne, i taj flag se zoveIRQ-flag) • Postoji i EINT-flag koji oznacava da li je dozvoljeno trenutno izvrsavanje prekida ( na pocetku rada procesora je zabranjen EINT prekid, ovaj flag se postavlja na dozvoljeno stanje naredbom EINT)
Pri izvrsavanju prekida EINT se stavlja ponovo u nedozvoljeno stanje dok se ne izvrsi kod prekidne rutine tj. dok se ne dodje do naredbe RET ( naredba za povratak iz prekida), flag EINT se postavlja u nedozvoljeno stanje naredbom DINT. • Postavljanjem markera IRQ, prekid se ne izvrsava odmah nego se ceka da se tekuca instrukcija izvrsi do kraja. • Kad su ispunjeni uslovi za prekid isti se izvrsava tako sto se pamti trenutno stanje registra PC iskace na fixnu lokaciju gde se nalazi kod prekidne rutine (M768).
Prioritet kod prekida Prioritet kod opsluživanja zahteva za prekid je sledeći: 1.restartujući prekidi 2.nemaskirajući prekidi 3.vektoski prekidi 4.nevektorski prekidi
Definicija IRQSim-a IRQSimje dvoadresna 16-bitna mašina koja podržava tri načina adresiranja: • direktno • neposredno • registarsko.
Karakteristike IRQSim-a • Obim adresne magistrale je 16 bitova (može da se adresira do 216 memorijskih lokacija). • Dužina instrukcije je promenjljiva, može da bude jedna, dve ili tri reči. • Procesor može da prihvati i obradi zahtev za hardverski prekid.
Format mašinske instrukcije gde su: d15 ÷ d12– četiri bita koja označavaju kôd instrukcije ( opkod ) d11÷ d8 – četiri bita koja se odnose na načine adesiranja ( modifikator M ) d8÷ d0 – osam bitova koji predstavljaju polje operand
Klase instrukcija IRQSim-a • Instrukcije možemo podeliti u sledeće grupe: • prenos-podataka • aritmetičke • logičke • programsko-upravljačke • ostale instrukcije
Instrukcije za prenos-podataka U instrukcije za prenos-podataka spadaju: • MOV • LD • ST Pomoću ovih instrukcija vrši se kopiranje informacija iz jedne lokacije u drugu. Lokacije mogupripadati registrima procesora ili memoriji.
Aritmetičke instrukcije U aritmetičke instrukcije spadaju : • ADD • SUB • NEG • INC One obavljaju aritmetičke operacije nad numeričkim podacima.
Logičke instrukcije U logičke instrukcije spadaju : • OR • AND • NOT • XOR One uključuju Booleove i druge nenumeričke operacije.
Programsko-upravljačke instrukcije U programsko-upravljačke instrukcije spadaju: • JMP • JZ • JNZ • RET One menjaju sekvencu programskog izvršenja.
Ostale instrukcije U grupu ostalih instrukcija spadaNOP To je instrukcija operacija bez efekta.
Skup instrukcija • NOP Opkod – 0000 • ADD D (eng. add - saberi) Opkod – 1110 • INC D (eng. inerement - inkrementiraj, uvećaj za 1) - D+1 D Opkod – 1000 • SUB D (eng. subtract - oduzmi) Opkod – 1111 • NEG D (eng. negate - negiraj, promeni znak) - Opkod – 1010 • AND D (eng. and - i) Opkod – 1101 • OR D, (eng. or - ili) . Opkod – 1011
NOT D (eng. not - ne) Opkod – 1001 • ST X (eng. store- smesti) Opkod – 0110 • LD Y (eng. load – učitaj) Opkôd: 0111 • JMP D (eng. jump - skok) Opkôd: 1000 • JZ (jump if zero) Opkod – 0010 • JNZ (jump if not zero) Opkod – 0010
ADD D (eng. add - saberi) Opkod – 1110
SUB D (eng. subtract - oduzmi) Opkod – 1111
NEG D (eng. negate - negiraj, promeni znak) - Opkod – 1010
AND D (eng. and - i) Opkod – 1101
OR D, (eng. or - ili) . Opkod – 1011
NOT D (eng. not - ne) Opkod – 1001
ST X (eng. store- smesti) Opkod – 0110 Operacija – (akumulator)- Memorija
Opkôd: 0111 LD Y (eng. load – učitaj).
Adresni načini rada IRQSim podržava sledeće načine adresiranja: 1. Direktno – jedno-operandsko 2. Direktno – dvo-operandsko 3. Direktno - neposredno 4. Direktno - registarsko 5. Neposredno – jedno-operandsko 6. Registarsko – jedno-operandsko 7. Registarsko - registarsko 8. Registarsko – direktno 9. Registarsko – neposredno
Direktno jedno-operandsko adresiranje Dužina instrukcije je 2 reči. Format mašinske instrukcije dat jeu sledećoj tabeli: 1.reč 2.reč
Direktno dvo-operandsko adresiranje Dužina instrukcije je 3 reči. Format mašinske instrukcije dat je u sledećoj tabeli: 1. reč 2.reč 3 .reč
Dvo-operandsko direktno neposredno adresiranje Dužina instrukcije je 3 reči. Format mašinske instrukcije dat je u sledećoj tabeli: 1. reč 2. reč 3. reč
Dvo-operandsko direktno registarsko adresiranje Dužina instrukcije je 2 reči. Format mašinske instrukcije dat je u sledećoj tabeli: 1 reč 2 reč
Neposredno jedno-operandsko adresiranje Dužina instrukcije je 2 reči. Format mašinske instrukcije dat je u sledećoj tabeli: 1 reč 2 reč
Regitarsko jedno-operandsko adresiranje Dužina instrukcije je 1 reč. Format mašinske instrukcije dat je u sledećoj tabeli: 1 reč
Dvo-operandsko registarsko-direktno adresiranje Dužina instrukcije je 2 reči. Format mašinske instrukcije dat je u sledećoj tabeli: 1. reč 2. reč
Instalacija i pokretanje programa • Izabrati programsku ikonu IRQSim for Windows lociranu na Desktop-u. • Aktivirati IRQSim – aktiviranje se izvodi dvostrukim klikom levim tasterom miša na odabranu ikonu IRQSim • Startovanjem IRQSim -a na ekranu se pojavljuje aplikacioni prozor pod nazivom IRQSim – untitled.asm (vidi Sliku 1)
Instalacija i pokretanje programa • U oblasti aktivne površine Editor-a pozicionirati kursor u krajnje gornjoj levoj poziciji. jer je vrednost linijskog brojača je tada 0. • U svakoj liniji aktivne površine unosi se po jedna instrukcija. Prelazak na novu liniju se vrši pritiskom na dirku Enter. Nakon svakog unosa instrukcije vrednost linijskog brojača inkrementira se za 1.
Izgled Text Editor-a Menu-bar Text Editora sadrži sledeće operacije: • File • Edit • Assemble • View • Help
Menu-bar Text Editora - operacijaFile File – selekcijom ove operacije otvara se padajući meni koji sadrži sledeće opcije: • New • Open • Save • Save As ... • Exit Slika 2 File meni