Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
1
2. OSNOVNI PRINCIPI RAČUNALNE TEHNOLOGIJE
Građa računala 2. OSNOVNI PRINCIPI RAČUNALNE TEHNOLOGIJE
2
Temelji Princip rada računala – temelj: Turingov teorijski model algoritmičkog stroja Slijedno interpretiranje simbolički opisane zadaće – algoritme Problem: Kako prikazivati simbole?
3
2.1 Turingov stroj Turingov stroj (1937. god.) – upravljačka jedinka koja može čitati i pisati simboličke podatke na vrpcu. Vrpca beskonačne duljine je podijeljena na spremnike. Svaki spremnik može sadržavati bilo koji konačan skup simbola.
4
Von Neumannov model
5
Računalo kao Turingov stroj
Računalo kao Turingov stroj koristi analogiju: upravljačka jedinica procesor (CPU) vrpca memorija (RAM) Simbolički podaci se predstavljaju prekidačkom tehnologijom – nizom 0 i 1.
6
2.2. Binarni brojevni sustav
Binarni brojevni sustav je zasnovan na potencijama broja 2, a znamenke koje koristi su 0 i 1. BINARNI BROJ (0,1) =“bit” za proizvoljnu bazu b – POZICIJSKI SUSTAV
7
Pretvorba brojevnih sustava
Pretvorba iz binarnog u dekadski brojevni sustav Pretvorba iz dekadskog u binarni brojevni sustav
8
Zadaci Primjer 2.1: Pretvori slijedeće binarne brojeve u dekadske:
100101 Primjer 2.2: Pretvori slijedeće decimalne brojeve u binarne: 201 19 1024
9
Prikaz negativnih cijelih brojeva
10
Prikaz negativnih cijelih brojeva
1. Ekcesivna notacija Ne podrazumijevaju svi bitovi u zapisu binarnog broja potenciju broja 2. Prvi bit (s desna) se koristi za predznak, a ostali za apsolutnu vrijednost tog broja. Pozitivni brojevi prikazuju se s početnim bitom 1, a negativni s 0. Brojevi su “simetrični” do na predznak s obzirom na 0.
11
Prikaz negativnih cijelih brojeva
1. Komplementarna notacija 2 su načina zapisa u ovoj notaciji: Komplement prema jedan - sve znamenke nekog binarnog broja se komplementiraju tj. 0 prelazi u 1 i 1 u 0. Novodobiveni broj je binarni zapis negativnog predstavnika polaznog broja. Dvostruki komplement – uz komplementaciju znamenki dodaje se još 1.
12
Zadaci Primjer 2.3: Odredite decimalnu vrijednost brojeva i u konvenciji predznaka. Primjer 2.4: Odredite 8-bitnu binarnu vrijednost broja -34 u komplementarnoj notaciji.
13
Decimalni zapis binarnog broja
Racionalni broj R se zapisuje kao niz binarnih znamenki odijeljenih binarnom točkom. BIN->DEC
14
Decimalni zapis binarnog broja
DEC->BIN Na sličan način kao što se pretvara cijeli broj u binarni s iterativnim dijeljenjem broja 2, tako se pretvorba iz racionalnog broja u binarni ostvaruje iterativnim množenjem s brojem 2.
15
Decimalni zapis binarnog broja
Zadaci: Riješite slijedeće primjere: iz bin u dec: , 0.0011 iz dec u bin: 0.47 15.635
16
Prikaz racionalnih brojeva
Racionalni brojevi se prikazuju u binarnom sustavu pomoću tzv. notacije pomičnog zareza ili pomične točke.
17
Prikaz racionalnih brojeva
Racionalni brojevi se prikazuju u binarnom sustavu pomoću tzv. notacije pomičnog zareza ili pomične točke.
18
Prikaz racionalnih brojeva
Primjer: Decimalni prikaz racionalnog broja u dekadskom sustavu. mantisa eksponent predznak Kod dekodiranja prvo se izdvoji mantisa i postavlja se zarez na početku s lijeve strane. ,0111 110=+(1*2 +0*1) Slijedeća 3 bita prikazuju eksponent u ekcesivnoj notaciji koji je jednak 2 što znači da pomičemo zarez 2 mjesta udenso pa imamo: 01,11 Binarna kombinacija ispred zareza definira cijeli broj 1, dok bitovi iza zareza prikazuju decimale po pravilu negativnih potencija od 2.
19
Zadaci Primjer 2.5: Odredite racionalnu vrijednost broja u 8-bitnom zapisu
20
Binarna aritmetika 1. Binarno zbrajanje primjer:
Isto kao i decimalno zbrajanje, prijenos za (1+1)
21
Binarna aritmetika Primjer zbrajanja 4-bitnog sloga sa zastavicom prijelaza (overflow flag) Prilikom zbrajanja binarnih slogova potrebno je obratiti pozornost na ispravnost rezultata tj. prelazi li rezultat raspon dozvoljenih brojeva. overflow i underflow.
22
Binarna aritmetika 1. Binarno oduzimanje primjer:
Oduzima se kao i kod decimalnog oduzimanja ili zbrajanjem dvojnog komplementarnog umanitelja.
23
Binarna aritmetika 1. Binarno množenje primjer:
Kod binarnog množenja djelomičan umnožak pomiče se za jedno mjesto ulijevo pri svakom uzimanju idućeg množitelja.
24
Binarna aritmetika 1. Binarno dijeljenje primjer:
Primjenom pravila binarnog oduzimanja i množenja može se obaviti binarno dijeljenje na isti način kao dijeljenje decimalnih brojeva.
25
Zadaci Zadatak 2.1: 11000111 (-57) +11011101 (-35) 00111001 - 11011101
(-35) (-92) x 101 : 11 =
26
Prikaz simboličkih podataka
Osim brojčanih vrijednosti računalo nam prikazuje i simbole. U tu svrhu razvijen je ASCII standard za prikaz podataka u računalu. ASCII (“American Standard Code for Information Interchange”) kodirana norma. Koristi 7-bitni slog za kodiranje velikih i malih slova, brojaka te pravopisnih, matematičkih i posebnih znakova. Prošireni ASCII obuhvaća 8-bitni slog i podrazumijeva 256 različitih simbola.
27
Prikaz simboličkih podataka
28
Prikaz simboličkih podataka
29
Prikaz simboličkih podataka
30
Prikaz simboličkih podataka
31
Binarne logičke operacije
Osim reprezentacije podataka za implementaciju algoritama potrebno je omogućiti, osim matematičkih operacija, operacije na simboličkim podacima, tj. logičke operacije koja se temelji na Booleovoj algebri. Osnovne operacije: NOT, AND, OR, XOR, NAND, NILI
32
Binarne logičke operacije
NE (NOT) operator Negacija varijable - invertor. Tablica istinitosti Element u logičkoj shemi
33
Binarne logičke operacije
I (AND) operator Operator ukazuje na istinitost ukoliko su obje varijable istinite – logička vrata. Tablica istinitosti Element u logičkoj shemi
34
Binarne logičke operacije
ILI (OR) operator Operator ukazuje na istinitost ukoliko je barem jedna varijabla istinita istinite. Tablica istinitosti Element u logičkoj shemi
35
Binarne logičke operacije
NI (NAND) operator Operator kao kombinacija I i NE operatora. Tablica istinitosti Element u logičkoj shemi
36
Binarne logičke operacije
NILI (NOR) operator Operator kao kombinacija ILI i NE operatora. Tablica istinitosti Element u logičkoj shemi
37
Binarne logičke operacije
EX-ILI (XOR) operator Rezultat operacije je istinit ukoliko je barem jedan od operanda istinit, ali s tom razlikom da ne vrijedi slučaj kada su oba operanda istinita. Tablica istinitosti Element u logičkoj shemi
38
Binarne logičke operacije
Zadatak Pomoću elementarnih Booleovih operacija načinite logičku shemu za XOR operator.
39
Binarne logičke operacije
Zadatak 2.2 Pomoću elementarnih Booleovih operacija načinite logičku shemu za A=>B operator. Zadatak 2.3 Pomoću elementarnih Booleovih operacija načinite logičku shemu za A<=>B operator. Zadatak 2.4 A B A (R) B 1 Pomoću elementarnih Booleovih operacija načinite logičku shemu za A ® B operator, gdje je (R) logička shema za uvjete :
40
Binarne logičke operacije
Zadatak 2.5 Napravite logičku shemu X=A+B*(NOT(C)) Zadatak 2.6 Napravite logičku shemu Y=NOT(NOT(A)*B+C*NON(D))
41
Binarne logičke operacije
Zadatak 2.7 Napravite logičku shemu Z=NOT(NOT(NOT(A)+B)*BC) Zadatak 2.8 Napravite logičku shemu C=(A+B)*NOT(AB)
42
Primjena logičkih operacija
Zbrajanje Kako predstaviti binarno zbrajanje kao rezultata logičkih operacija? Ideja: stupac C predstavlja 1 bit za primjenu XOR operatora na operande, a 2 bit je operator I Polu sumator rezultat prijenos Prijenos ima utjecaj na višebitne slogove. Tada uzimamo u obzir “donos”. Puni sumator
43
Primjena logičkih operacija
Zbrajanje Logička shema punog sumatora:
44
Primjena logičkih operacija
Zbrajanje Takav 1-bitni puni sumator može se povezivati za višebitne binarne slogove. Model 1-bitnog sumatora Model 8-bitnog sumatora
45
Primjena logičkih operacija
Primjer zbrajanja punim sumatorom za slogove
46
Bistabili i registri Osnove
Za pamćenje i manipuliranje binarnih brojeva u računalu potrebni su sklopovi koji mogu bilježiti 2 stanja.
47
Bistabili i registri Osnove
Bistabil, flip-flop, je sekvencijalni sklop digitalne elektronike koji može zapamtiti podatak veličine jedan bit. Elektronički gledano radi se o sklopu koji ima dva stabilna stanja (logičku 0 i 1). Bistabil obično ima dva ili tri ulaza na koje se dovode ulazni impulsi koje u ovom sklopu nazivamo okidni impulsi. Bistabil može imati jedan, dva ili tri ulaza i ima jedan ili dva izlaza. Ulazi se označavaju ovisno o vrsti bistabila, dok se izlazi označavaju s Q (logičko stanje bistabila) i (logički komplement izlaza Q). Promjena iz jednog stabilnog stanja u drugo naziva se okidanje bistabila. Bistabile možemo podijeliti u dvije osnovne skupine i to na asinkrone i sinkrone bistabile. Asinkroni bistabili imaju svojstvo da reagiraju na promjenu impulsa čim se pojavi na ulazu u sklop, što daje pogrešan rezultat kada se ulazni impulsi ne dovode istovremeno na ulaz. Sinkroni bistabil je verzija asinkronog koji ima dodatni ulaz (CLK, eng. clock) na koji se dovode sinkronizacijski impulsi konstantne frekvencije tako da bistabil mijenja stanje na promjenu okidnog impulsa. Bistabil su godine napravili William Eccles i F. W. Jordan i bio je izveden iz dvije elektronske cijevi koje su nakon izuma tranzistora godine zamijenjene istim.
48
Bistabili i registri Osnove
Za pamćenje i manipuliranje binarnih brojeva u računalu potrebni su sklopovi koji mogu bilježiti 2 stanja. Kontrolu mehaničke sklopke zamijenili su tranzistori dovođenjem napona na sklop.
49
Bistabili i registri Osnove
Binarna vrijednost koja se želi pohraniti na bistabil dovodi se na priključak D, na izlaznom priključku Q se očitava stanje bistabila i ulazni priključak POHRANITI se dovodi poseban upravljački signal Bistabil za pohranjivanje 1 bita Bistabil za pohranjivanje n bitova
50
Bistabili i registri S-R bistabil
S-R bistabil ima 2 signala S (set) i R (reset) i izlaze Q i NOT(Q). Set znači postavi bistabil u stanje 1, a reset postavi bistabil u stanje 0. S R Qn Qn+1 1 X neodređeno
51
Bistabili i registri S-R bistabil Odgovarajuća logička shema:
52
Bistabili i registri J-K bistabil
JK bistabil se od SR bistabila razlikuje samo po tome što nema zabranjenih stanja, odnosno stanja u kojima su ulazi J i K logički isti daju na izlazu stanja koja ovise i o prethodnim stanjima bistabila. Kod JK bistabila se uvodi i treći CLK ulaz koji služi za sinkronizaciju. J K Qn+1 Qn 1 Jednadžba stanja
53
Bistabili i registri J-K bistabil
Ulazni signali J i K, s dodatnim signalom CLK.
54
Bistabili i registri D bistabil D Qn+1 1 Qn + 1 = D
D bistabil je modifikacija SR bistabila koja se dobije tako da se ulazna varijabla spoji direktno na ulaz S, dok se na ulaz R dovede invertirani ulaz. D bistabil jednostavno samo upisuje (odnosno daje na izlazu) podatak koji mu je dan na ulazu, pa ga zbog toga možemo promatrati kao elementarnu česticu za memoriranje jednog bita, ili kao element za kašnjenje ukoliko uključimo i CLK ulaz. Upravo zbog ovih svojstava (eng. data, podatak i eng. delay, kašnjenje) bistabil je i dobio ime D bistabil. D Qn+1 1 Qn + 1 = D
55
Bistabili i registri T bistabil T Qn+1 Qn 1
T bistabil je verzija JK bistabila kod kojega su ulazi J i K međusobno spojeni tako da samo jedan logički ulaz T. T bistabil ima i još jedan CLK ulaz. Spojimo li ulaz T na logičku jedinicu dobivamo sklop koji mijenja logičko stanje na CLK impuls čime se na izlazu T bistabila dobiva niz impulsa dvostruko manje frekvencije od frekvencije CLK. Upravo zbog svojstva promjene stanja, eng. toggle, prebacivati, je i T bistabil dobio ime. Jednadžba stanja T bistabila: Tablica stanja T bistabila: T Qn+1 Qn 1
56
Bistabili i registri Registri
Predstavljaju nanizane bistabile u cjelinu koji služe za pamćenje višebitnih podataka.
57
Registri Prenošenje podataka između registara
Prijenos podataka s jednog bistabila na drugi vrši se korištenjem logičkih vrata (brane). signal za prijenos podataka utječe na otvaranje brane prijenos podataka preko jednog spoja i jedne brane
58
Registri Prenošenje podataka između registara
Prijenos podataka s registara na drugi registar primjenom sabirnice i dovodnog signala. vremenski odnosi prijenosa podataka
59
Registri Dekoder Za neko stanje na registru dekoder će bilježiti jedno stanje na svom vodu, odnosno bilježit će moguća stanja registra. 3-bitni registar s dekoderom realizacija dekodera s logičkim sklopovima
60
Realizacije bistabila
Pomačni registar Sklop koji se sastoji od više D bistabila, koji imaju zajednički taktni ulaz, a spojeni su tako da je izlaz jednog doveden na ulaz drugog. Osim pamćenja kodne riječi, osnovna funkcija je pomak bitova u lijevo ili udesno čime ostvarujemo množenje ili dijeljenje, te paralelno, serijska pretvorba.
61
Realizacije bistabila
Brojila Sklop koji se sastoji od više T ili JK bistabila koji su povezani tako da njihovo slijedeće stanje ovisi samo o prethodnom (prijelaz u slijedeće stanje nastaje u trenutku nastupanja taktnog signala). Brojilo boji ukupan broj signala koji dođu na nj. Vrsta generatora sekvence koji prolaskom kroz sva stanja na izlazu generira konačnu sekvencu kodnih kompleksija . Ima ulogu binarnog brojenja. Jedna od primjena je brojanje rednog broja instrukcija.
62
Realizacije bistabila
Memorija Na registrima se bilježe podaci koje služe u obradi. Postoje i neki podaci koji se čuvaju za neko drugo vrijeme obrade. Takvi registri koji omogućuju trajno spremanje podataka zovemo memorija. svaki registar ima LOKACIJU svaka lokacija mora imati ADRESU sadržaj lokacije predstavlja podatak koji se pamti u memoriji. ADRESNI REGISTAR – registar u kojem se bilježi adresa lokacije REGISTAR MEMORIJSKIH PODATAKA – registar u kojem se prenose podaci iz memorije i obrnuto memorija i pomoćni sklopovi
63
Arhitektura skupa instrukcija
ISA – “instruction set architecture”
64
ISA hardware podrška ISA predstavlja assembly jezik programator koji ima na raspologanju programerski pristup prema sklopovlju i skup instrukcija koji upravljaju podacima. Assembly jezik – funkcionalni ekvivalent strojnog jezika (nizovi 0 i 1 predstavljaju instrukcije i podatke – jezik razumljiv računalu) Primjer: Program napisan u višem jeziku se kompajlira u strojni kod koji se sprema na I/O Prije izvršenja strojnog koda sadržaj se prenosi u memoriju. Prilikom izvršenja programa instrukcije se donose u ALU iz memorije zajedno s podacima i obrađene informacije se dalje prosljeđuju na izlaze.
65
CPU Procesor (engl. CPU) se sastoji od podatkovnog dijela i kontrolnog dijela. U današnjim računalima koristi se 32 bitni adresni prostor za adresiranja byteova. Program counter (PC) i Instruction register (IR) su spojnica između kontrolnog dijela i podatkovnog dijela. PC sadrži adresu instrukcije koja se dohvaća iz memorije i potom stavlja u IR gdje se interpretira. Podjela procesora na 2 kategorije.
66
CPU Koraci u izvršenju programa kontrolnog dijela – fetch-execute cycle Dohvati slijedeću instrukciju koja se treba izvršiti iz memorije. Dekodiraj opcode (kod operatora) Učitaj operande iz memorije, ako ih ima. Izvrši instrukciju i spremi rezultat.
67
CPU Koraci u izvršenju programa podatkovnog dijela – datapath.
Podatkovni dio se sastoji od kolekcije registara zvanih datoteka registara (register file) koji služe za spremanje podataka (operanada). ALU implementira različite binarne i unarne operacije (+,*,NOT,AND,OR) Kontrolna jedinica bira operacije i operande koji će se izvršiti i gdje će ih proslijediti. Shema procesora s modelima registara
68
Skup instrukcija Skup instrukcija (Instruction set) – skup instrukcija koje procesor može izvršiti. Skup instrukcija ovisi o modelu procesora. Compiler – program koji prevodi jezik više razine (C, Java, Pascal) u strojni jezik. Prevođenje jezika: High-level jezik Assembly jezik Strojni jezik compile vrijeme assembly vrijeme vrijeme izvršenja
69
Skup instrukcija na RISC modelu
Skup instrukcija razvijen na RISC modelu (podmodel SPARCa) s ARC memorijskim modelom ARC instrukcijski skup: CPU sadrži bitna registra opće namjene, također PC i IR Processor Status Register (PSR) sadrži informacije o stanju procesora, uključujući informacije o rezultatima aritmetičkih operacija (flags) sve instrukcije su 32-bitne veličine load-store stroj – omogućeno je samo dohvaćanje i spremanje u memoriji ukupni broj instrukcija oko 200 u SPARC modelu
70
Skup instrukcija na RISC modelu
Skup instrukcija za prijenos podataka, AL operacije, kontrola
71
Skup instrukcija na RISC modelu
ARC Assembly sintaksa Svaki assembly jezik ima svoju sintaksu. Primjer sintakse assembly jezika SPARC modela: Primjer: Dodavanje 12 sadržaju registra %r1 i spremanje na registar %r3
72
Skup instrukcija na RISC modelu
ARC format instrukcija Instrukcijski format definiran assembly kodom u strojni jezik predstavljen je 32-bitnom instrukcijom. 5 formata je određeno skupom instrukcija SETHI, Grananje, pozivi, Aritmetika, Memorija raspoloživost procesora
73
Skup instrukcija na RISC modelu
74
Z80 mikroprocesor Pregled simulacija
75
Z80 mikroprocesor Zilog Z80 je 8-bitni procesor dizajniran od tvtke Zilog 1976 pa nadalje. Veliku primjenu našao je u stolnim i ugrađenim računalima. Populariziran u prodoru Sinclair ZX Spectrum računala. Značajke: Niska potrošnja energije Izrađuje se za 2 brzine (do 2.5MHz i 4 MHz) dvostruki set registara opće namjene statusni registri 2 16-bitna indeksna registra vektorski prekidni sustav 3 načina rukovanja maskiranim prekidima dinamičko osvježenje memorije
76
Usporedba Frederico Fagin nakon što je napustio Intel nakon rada na 8080 osniva tvrtu Zilog koja na tržište izdaje Z80. Arhitektura Z80 je znatno poboljšana od arhitekture Intel 8080. Neke od razlika: napredniji instrukcijski skup novi IX i IY indeksni registri vektoriziran način rada s prekidima manje čipova za kontrolu radnog takta ugrađen DRAM osvježenje jeftinija cijena ... Z80 preuzima tržište nad Intel8080 i postaje među najpopularnijim 8-bitnim mikroprocesorima
77
Vanjski izgled
78
Vanjski izgled +5V,GND – (ulazni) napajanje mikroprocesora
Φ – (ulazni) signal vremenskog vođenja sustava – takt (uobičajeno 4 MHz, engl. clock) SABIRNICA ADRESA (engl. ADDRESS BUSS) A0-A15 – (izlazni) adresiranje memorije i vanjskih jedinica SABIRNICA PODATAKA (engl. DATA BUS) D0-D7 – (dvosmjerni) podatak koji se čita ili piše u memoriju ili vanjsku jedinicu KONTROLA SUSTAVA (engl. SYSTEM CONTROL) M1 – (izlazni) označava da je trenutni strojni ciklus dohvat operacijskog koda iz memorije, kada je M1 aktivan zajedno sa IORQ, označava ciklus potvrde zahtjeva za prekid MREQ – (izlazni) označava da se na sabirnici adresa nalazi adresa za čitanje ili pisanje u memoriju IORQ – (izlazni) označava da se na nižih 8 bita sabirnice adresa nalazi adresa vanjske jedinice RD – (izlazni) označava ciklus čitanja iz memorije ili vanjske jedinice WR – (izlazni) označava ciklus pisanja iz memorije ili vanjske jedinice RFSH – (izlazni) označava da 7 nižih bita sabirnice adresa sadrže adresu osvježavanja za dinamičke memorije.Bit A7 je u nuli, a na gornjih 8 bita upisan je sadržaj registra I.
79
Vanjski izgled KONTROLA MIKROPROCESORSKE JEDINICE (engl. CPU CONTROL)
HALT - (izlazni) označava da je Z80 izveo naredbu HALT i da čeka prekid (obični ili nemaskirani).Dok je procesor u stanju HALT, izvode se naredbe NOP, kako bi se osvježavale dinamičke memorije. WAIT – (ulazni) dojava procesoru da adresirana memorija ili vanjska jedinica nije spremna za prijenos podataka.Dok je taj signal aktivan, procesor umeće stanja čekanja.Taj signal omogućava upotrebu memorijskih i vanjskih uređaja bilo koje brzine i asinkronu komunikaciju s procesorom. INT – (ulazni) zahtjev za prekid.Postavlja ga neka vanjska jedinica.Zahtjev će biti obrađen na kraju tekuće naredbe ako je prekid omogućen. NMI – (ulazni, aktivan na padajući brid) nemaskirani zahtjev za prekid.Slično kao i običan zahtjev za prekid, ali ima viši prioritet i ne može se maskirati (onemogućiti).Zahtjev će biti uvijek obrađen na kraju tekuće naredbe, a obrada se izvodi uvijek na isti način. RESET – (ulazni) postavljanje mikroprocesora u početno stanje.Registri PC,I i R postavljaju se u nulu, onemogućava se prekid i postavlja se prekidni način rada O.Sabirnice adresa i podataka postavljaju se u visoku impedanciju, a kontrolni signali u naktivno stnje.Memorija se ne osvježava.
80
Vanjski izgled KONTROLA SABIRNICE PROCESORA (engl. CPU BUS CONTROL)
BUSRQ – (ULAZNI) zahtjev procesoru da preda upravljanje nad sabirnicama adresa, podataka i kontrolnim priključcima.Kada je zahtjev prihvaćen, svi ti priključci prelaze u stanje visoke impedancije i vanjskoj jedinici koja je postavila zahtjev omogućuju preuzimanje upravljanja nad njima.Zahtjev za sabirnicom je prioritetniji od običnog i nemaskiranog zahtjeva za prekid.Zahtjev za sabirnicom bit će prihvaćen čim završi trenutni strojni ciklus. BUSAQ - (izlazni) dojava vanjskoj jedinici koja je zahtijevala sabirnicu da je procesor postavio sve priključke u stanje visoke impedancije.
81
Arhitektura
82
Tehnički opis Akumulator A – 8 bitni registar -izvor i odredište operananda za instrukcije s jednim ili 2 operanda Registri B,C,D,E,H,L – skup od 8 bitnih registara za prijevremeno pohranjivanje međurezultata i rezultata. Registarski pa H i L – kazalo podataka (sadrže 16-bitnu adresu podataka) Registar uvieta F – 8 bitni registar - zastavica predznaka (S), zastavica polovičnog prijenosa (H), zastavica parnosti/preliva (P/O), zastavica oduzimanja (N), zastavica prijenosa (C) PC (program counter)- 16 bitni registar - programsko brojilo i sadrži adresu memorijske lokacije na kojoj se nalazi naredba koja će se sljedeća dohvatiti i izvršiti SP (stack pointer)- 16 bitni registar.služi za spremanje podataka na stog. Stog prestavlja dio memorije u koji se podaci pohranjuju kao u pomični registar tako da novi podatak potiskuje stari podatak dublje u stog. Radi po LIFO principu registri IX, IY- 16 bitni registri - se koriste za indeksno adresiranje. U registar se upisuju početne adrese memorije bloka u koji se želi pohranjivati podatak ili ih dohvati. Dodatni bajt opisuje odstupanje od početne adrese. registar prekidnog vektora I – 8 bitni registar - adresni registar stranice prekida programa. Prilikom vektorskog prekidnog rada omogućava adresiranje bilo koje memorijske lokacije na kojoj se nalazi prekidna rutina registar R (refresh)- 8 bitni registar služi za zadržavanje pri osvježavanju dinamičke memorije
83
Izvođenje programa Program koji želimo da CPU obavi nalazi se spremljen u memoriji koja nije dio CPU-a. Cijela memorija je adresibilna tako da je svakoj 8-bitnoj memorijskoj lokaciji ( od lokacija ) pridružena neka adresa. Mikroprocesor je napajan s 5 V i dovodi mu se takt. Program se počinje obavljati postavljanjem sadržaja 16-bitnog programskog brojila na adresnu sabirnicu. Ujedno se šalje i upravljački signal RD (čitaj). Memorijski sklop dekodira postavljenu adresu i omogućava pristup mikroprocesoru sadržaju memorijske lokacije preko 8-bitne sabirnice podataka. Taj se sadržaj sprema u CPU, u instrukcijski registar, i to je operacijski kod instrukcije.
84
Izvođenje programa Nakon što je programsko brojilo poslalo na adresnu sabirnicu adresu memorijske lokacije prve instrukcije brojilo se inkrementira i čeka da prenese adresu druge instrukcije na adresnu sabirnicu. Spremljeni operacijski kod instrukcije u instrukcijskom registru se dekodira i kontrolna jedinica generiranjem upravljačkih signala aktivira pojedine sklopove da bi se izvršila instrukcija ( npr. prijenos podataka u akumulator ili registre opće namjene ili upisivanje u memoriju ili prijenos podataka na U/I jedinicu, ili npr. aktiviranje ALU - aritmetičke – logičke jedinice za obavljanje zbrajanja, oduzimanja, inkrementiranja, izvršavanja logičkog I, ILI, EX ILI, itd. ). Isto tako kontrolna jedinica može upravljati perifernim jedinicama u ovisnosti o programu, a isto tako i one mogu upravljati CPU-om preko kontrolnih ulaza i izlaza. Nakon obavljanja prve instrukcije programsko brojilo ponovno postavlja sadržaj (koji je inkrementiran u odnosu na prvi put ) na sabirnicu podataka. Iz memorije se uzima slijedeća instrukcija i program se nastavlja.
85
Programiranje Z80 Program pišemo u simboličkom strojnom jeziku, odnosno mnemoničkom obliku.To znači da se instrukcije ne prikazuju u binarnom obliku nego u obliku korijene engleske riječi koja opisuje njihovu namjenu (npr. ADD A,B za zbrajanje). Postupak razvoja programa: PISANJE : EDITOR – IME.ASM asembler je ime za strojni jezik ali i za program prevoditelj napisanog ASM programa PREVOĐENJE : X80 (tzv. cross asembler) – IME.OBJ POVEZIVANJE : LINK1 – IME.TSH ili IME.HEX IZVOĐENJE Instrukcijski skup od Z80
86
Programiranje Z80 Primjeri instrukcija
LD A,B - iz B registra u A (akumulator) LD (BC),A - na adresu u memoriji koja je navedena u BC paru registara smjesti podatak iz akumulatora A PUSH BC - stavi na stog POP BC - skini sa stoga EX AF,AF’ - razmjena podataka EXX - sva tri izmjenjivanja odjednom CPI i CPIR - usporedi A sa (HL), inkrementiraj HL i dekrementiraj BC ADD A,H - zbroji A sa H SUB A,B - odzmi B od A DAA - pretvara A u BCD oblik NOP - no operation (troši jedan ciklus takta) HALT - zaustavlja CPU RLC E - rotiranje u lijevo RRC D - rotiranje u desno BIT 2,H - ispitaj 2 bit registra H SET 2,H - postavi 2 bit registra H RES 4,0 - resetiraj 4 bit na vrijednost 0 IN A,ime - učitavanje s vanjske jedinice definirane adrese pod imenom ime (isključvo preko akumulatora) OUT ime,A - ispis na vanjsku jedinicu (isključivo preko akumulatora) JP nn - apsolutni bezuvjetni skok JP cc,nn - uvjetni skok JR c - relativni skok DJNZ e - skok u petlji (Decrement and Jump if Not Zero)
87
Simulacija Z80 Demonstracija asemblera Z80 primjenom simulatora u javi appletu. Skup instrukcija koji može naš simulator simulirati Alat koji ćemo koristiti Skup instrukcija Z80 simulator Primjer 1 Primjer 3 Zbrajanje 2 broja Zbrajanje 2 elementa iz liste. Primjer 5 Program s power() rutinom Primjer 4 Primjer 2 Uporaba smicanja ulijevo za množenje Zbrajanje 2 elementa iz liste.
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.