You are on page 1of 87

Graa raunala

2. OSNOVNI PRINCIPI RAUNALNE TEHNOLOGIJE

Temelji
Princip rada raunala temelj: Turingov teorijski

model algoritmikog stroja Slijedno interpretiranje simboliki opisane zadae algoritme Problem: Kako prikazivati simbole?

2.1 Turingov stroj


Turingov stroj (1937. god.) upravljaka jedinka koja moe itati i pisati simbolike podatke na vrpcu. Vrpca beskonane duljine je podijeljena na spremnike. Svaki spremnik moe sadravati bilo koji konaan skup simbola.

Von Neumannov model

Raunalo kao Turingov stroj


Raunalo kao Turingov stroj koristi analogiju:

upravljaka jedinica

procesor (CPU)

vrpca

memorija (RAM)

Simboliki podaci se predstavljaju prekidakom tehnologijom nizom 0 i 1.

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

( x1 x2 ... xk ) ( b )

0i k

xb ,
i i

xi {0,..., k 1}, b N

za proizvoljnu bazu b POZICIJSKI SUSTAV

Pretvorba brojevnih sustava


Pretvorba iz binarnog u dekadski brojevni sustav

Pretvorba iz dekadskog u binarni brojevni sustav

Zadaci
Primjer 2.1: Pretvori slijedee binarne brojeve u dekadske: a) 100101 b) 1101001 c) 1111011

Primjer 2.2: Pretvori slijedee decimalne brojeve u binarne: a) 201 b) 19 c) 1024

Prikaz negativnih cijelih brojeva

na bn 1 mjestu stoji bit 0 ili 1 to predstavlja predznak '' odnosno '-'. Ukupni raspon cijelih brojeva koji se moe prikazati u n bitova je od -(2 n-1 -1) do (2 n 1 1).

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 poetnim bitom 1, a negativni s 0. Brojevi su simetrini do na predznak s obzirom na 0.

Prikaz negativnih cijelih brojeva


1. Komplementarna notacija 2 su naina zapisa u ovoj notaciji: 1. 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. 2. Dvostruki komplement uz komplementaciju znamenki dodaje se jo 1.

Zadaci
Primjer 2.3: Odredite decimalnu vrijednost brojeva 10100011 i 00010110 u konvenciji predznaka.

Primjer 2.4: Odredite 8-bitnu binarnu vrijednost broja -34 u komplementarnoj notaciji.

Decimalni zapis binarnog broja


Zapis Racionalni broj R se zapisuje kao niz binarnih znamenki odijeljenih binarnom tokom.

R bp 1bp 2 ...b1b0 .b1b2 ...bq b 2, p, q N


BIN->DEC

1011 .0101 1 23 0 2 2 1 21 1 20 0 2 1 1 2 2 0 2 3 1 2 4 11 .3125

Decimalni zapis binarnog broja


DEC->BIN Na slian nain kao to se pretvara cijeli broj u binarni s iterativnim dijeljenjem broja 2, tako se pretvorba iz racionalnog broja u binarni ostvaruje iterativnim mnoenjem s brojem 2.
3.75 3 0.75 cijeli dio : 3 112 razlomljen i dio : 2 0.75 1.5 b -1 1 R1 0.5 2 0.5 1.0 3.75 11.112 b 2 1 R2 0.0

Decimalni zapis binarnog broja


Zadaci: Rijeite slijedee primjere: a) iz bin u dec: 11.1111, 0.0011 b) iz dec u bin: 0.47 15.635

Prikaz racionalnih brojeva


Racionalni brojevi se prikazuju u binarnom sustavu pomou tzv. notacije pominog zareza ili pomine toke.

Prikaz racionalnih brojeva


Racionalni brojevi se prikazuju u binarnom sustavu pomou tzv. notacije pominog zareza ili pomine toke.

Short (32-bit) format


8 bits, bias = 127, 126 to 127 23 bits for fractional part (plus hidden 1 in integer part)

Sign Exponent
11 bits, bias = 1023, 1022 to 1023

Significand
52 bits for fractional part (plus hidden 1 in integer part)

Long (64-bit) format

Prikaz racionalnih brojeva


Primjer: Decimalni prikaz racionalnog broja 11100111 u dekadskom sustavu.
predznak

11100111
eksponent mantisa

Kod dekodiranja prvo se izdvoji mantisa i postavlja se zarez na poetku s lijeve strane. Slijedea 3 bita prikazuju eksponent u ekcesivnoj notaciji koji je jednak 2 to znai da pomiemo zarez 2 mjesta udenso pa imamo: Binarna kombinacija ispred zareza definira cijeli broj 1, dok bitovi iza zareza prikazuju decimale po pravilu negativnih potencija od 2.

,0111 110=+(1*2 +0*1)

01,11
01,11 0 21 1 20 1 2 1 1 2 2 1 3 4

Zadaci
Primjer 2.5: Odredite racionalnu vrijednost broja u 8-bitnom zapisu 01011001.

Binarna aritmetika

1. Binarno zbrajanje

primjer:

Isto kao i decimalno zbrajanje, prijenos za (1+1)

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.

Binarna aritmetika

1. Binarno oduzimanje

primjer:
Oduzima se kao i kod decimalnog oduzimanja ili zbrajanjem dvojnog komplementarnog umanitelja.

Binarna aritmetika

1. Binarno mnoenje

primjer:
Kod binarnog mnoenja djelomian umnoak pomie se za jedno mjesto ulijevo pri svakom uzimanju idueg mnoitelja.

Binarna aritmetika

1. Binarno dijeljenje

primjer:
Primjenom pravila binarnog oduzimanja i mnoenja moe se obaviti binarno dijeljenje na isti nain kao dijeljenje decimalnih brojeva.

Zadaci
Zadatak 2.1: 11000111 (-57) +11011101 (-35) 110100100 00111001 - 11011101

01011100

10100100 (-92)

1001101 x 101

1101101 : 11 =

Prikaz simbolikih podataka


Osim brojanih vrijednosti raunalo nam prikazuje i simbole. U tu svrhu razvijen je ASCII standard za prikaz podataka u raunalu.

ASCII (American Standard Code for Information Interchange) kodirana norma. Koristi 7-bitni slog za kodiranje velikih i malih slova, brojaka te pravopisnih, matematikih i posebnih znakova. Proireni ASCII obuhvaa 8-bitni slog i podrazumijeva 256 razliitih simbola.

Prikaz simbolikih podataka

Prikaz simbolikih podataka

Prikaz simbolikih podataka

Prikaz simbolikih podataka

Binarne logike operacije


Osim reprezentacije podataka za implementaciju algoritama potrebno je omoguiti, osim matematikih operacija, operacije na simbolikim podacima, tj. logike operacije koja se temelji na Booleovoj algebri.

Osnovne operacije: NOT, AND, OR, XOR, NAND, NILI

Binarne logike operacije


NE (NOT) operator Negacija varijable - invertor.

Tablica istinitosti

Element u logikoj shemi

Binarne logike operacije


I (AND) operator Operator ukazuje na istinitost ukoliko su obje varijable istinite logika vrata.

Tablica istinitosti

Element u logikoj shemi

Binarne logike operacije


ILI (OR) operator Operator ukazuje na istinitost ukoliko je barem jedna varijabla istinita istinite.

Tablica istinitosti

Element u logikoj shemi

Binarne logike operacije


NI (NAND) operator Operator kao kombinacija I i NE operatora.

Tablica istinitosti

Element u logikoj shemi

Binarne logike operacije


NILI (NOR) operator Operator kao kombinacija ILI i NE operatora.

Tablica istinitosti

Element u logikoj shemi

Binarne logike operacije


EX-ILI (XOR) operator Rezultat operacije je istinit ukoliko je barem jedan od operanda istinit, ali s tom razlikom da ne vrijedi sluaj kada su oba operanda istinita.

Tablica istinitosti

Element u logikoj shemi

Binarne logike operacije


Zadatak Pomou elementarnih Booleovih operacija nainite logiku shemu za XOR operator.

Binarne logike operacije


Zadatak 2.2 Pomou elementarnih Booleovih operacija nainite logiku shemu za A=>B operator. Zadatak 2.3 Pomou elementarnih Booleovih operacija nainite logiku shemu za A<=>B operator. Zadatak 2.4 Pomou elementarnih Booleovih operacija nainite logiku shemu za A B operator, gdje je (R) logika shema za uvjete :
A 0 0 1 1 B 0 1 0 1 A (R) B 0 0 1 1

Binarne logike operacije


Zadatak 2.5 Napravite logiku shemu X=A+B*(NOT(C))

Zadatak 2.6 Napravite logiku shemu Y=NOT(NOT(A)*B+C*NON(D))

Binarne logike operacije


Zadatak 2.7 Napravite logiku shemu Z=NOT(NOT(NOT(A)+B)*BC)

Zadatak 2.8 Napravite logiku shemu C=(A+B)*NOT(AB)

Primjena logikih operacija


Zbrajanje Kako predstaviti binarno zbrajanje kao rezultata logikih operacija? Ideja: stupac C predstavlja 1 bit za primjenu XOR operatora na operande, a 2 bit je operator I Prijenos ima utjecaj na viebitne slogove. Tada uzimamo u obzir donos.

Polu sumator
rezultat prijenos

Puni sumator

Primjena logikih operacija


Zbrajanje Logika shema punog sumatora:

Primjena logikih operacija


Zbrajanje Takav 1-bitni puni sumator moe se povezivati za viebitne binarne slogove.
Model 1-bitnog sumatora

Model 8-bitnog sumatora

Primjena logikih operacija


Primjer zbrajanja punim sumatorom za slogove 10111+1010

Bistabili i registri
Osnove Za pamenje i manipuliranje binarnih brojeva u raunalu potrebni su sklopovi koji mogu biljeiti 2 stanja.

Bistabili i registri
Osnove
Bistabil, flip-flop, je sekvencijalni sklop digitalne elektronike koji moe zapamtiti podatak veliine jedan bit. Elektroniki gledano radi se o sklopu koji ima dva stabilna stanja (logiku 0 i 1). Bistabil obino ima dva ili tri ulaza na koje se dovode ulazni impulsi koje u ovom sklopu nazivamo okidni impulsi. Bistabil moe imati jedan, dva ili tri ulaza i ima jedan ili dva izlaza. Ulazi se oznaavaju ovisno o vrsti bistabila, dok se izlazi oznaavaju s Q (logiko stanje bistabila) i (logiki komplement izlaza Q). Promjena iz jednog stabilnog stanja u drugo naziva se okidanje bistabila. Bistabile moemo 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 pogrean 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 1919. godine napravili William Eccles i F. W. Jordan i bio je izveden iz dvije elektronske cijevi koje su nakon izuma tranzistora 1947. godine zamijenjene istim.

Bistabili i registri
Osnove Za pamenje i manipuliranje binarnih brojeva u raunalu potrebni su sklopovi koji mogu biljeiti 2 stanja.

Kontrolu mehanike sklopke zamijenili su tranzistori dovoenjem napona na sklop.

Bistabili i registri
Osnove Binarna vrijednost koja se eli pohraniti na bistabil dovodi se na prikljuak D, na izlaznom prikljuku Q se oitava stanje bistabila i ulazni prikljuak POHRANITI se dovodi poseban upravljaki signal

Bistabil za pohranjivanje 1 bita

Bistabil za pohranjivanje n bitova

Bistabili i registri
S-R bistabil S-R bistabil ima 2 signala S (set) i R (reset) i izlaze Q i NOT(Q). Set znai postavi bistabil u stanje 1, a reset postavi bistabil u stanje 0.

S 0 0 0

R 0 0 1

Qn 0 1 X

Qn+1 0 1 0

1
1

0
1

X
X

1
neodre eno

Bistabili i registri
S-R bistabil Odgovarajua logika shema:

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 logiki isti daju na izlazu stanja koja ovise i o prethodnim stanjima bistabila. Kod JK bistabila se uvodi i trei CLK ulaz koji slui za sinkronizaciju. J 0
Jednadba stanja

K 0 1 0 1

Qn+1 Qn 0 1

0 1 1

Bistabili i registri
J-K bistabil

Ulazni signali J i K, s dodatnim signalom CLK.

Bistabili i registri
D bistabil
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 moemo promatrati kao elementarnu esticu za memoriranje jednog bita, ili kao element za kanjenje ukoliko ukljuimo i CLK ulaz. Upravo zbog ovih svojstava (eng. data, podatak i eng. delay, kanjenje) bistabil je i dobio ime D bistabil.

D 0 1

Qn+1 0 1 Qn + 1 = D

Bistabili i registri
T bistabil
T bistabil je verzija JK bistabila kod kojega su ulazi J i K meusobno spojeni tako da samo jedan logiki ulaz T. T bistabil ima i jo jedan CLK ulaz. Spojimo li ulaz T na logiku jedinicu dobivamo sklop koji mijenja logiko 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. Jednadba stanja T bistabila:

Tablica stanja T bistabila:

T 0 1

Qn+1 Qn

Bistabili i registri
Registri Predstavljaju nanizane bistabile u cjelinu koji slue za pamenje viebitnih podataka.

Registri
Prenoenje podataka izmeu registara Prijenos podataka s jednog bistabila na drugi vri se koritenjem logikih vrata (brane).

signal za prijenos podataka utjee na otvaranje brane

prijenos podataka preko jednog spoja i jedne brane

Registri
Prenoenje podataka izmeu registara Prijenos podataka s registara na drugi registar primjenom sabirnice i dovodnog signala.

vremenski odnosi prijenosa podataka

Registri
Dekoder Za neko stanje na registru dekoder e biljeiti jedno stanje na svom vodu, odnosno biljeit e mogua stanja registra.

3-bitni registar s dekoderom

realizacija dekodera s logikim sklopovima

Realizacije bistabila
Pomani registar Sklop koji se sastoji od vie D bistabila, koji imaju zajedniki taktni ulaz, a spojeni su tako da je izlaz jednog doveden na ulaz drugog.

Osim pamenja kodne rijei, osnovna funkcija je pomak bitova u lijevo ili udesno ime ostvarujemo mnoenje ili dijeljenje, te paralelno, serijska pretvorba.

Realizacije bistabila
Brojila Sklop koji se sastoji od vie T ili JK bistabila koji su povezani tako da njihovo slijedee stanje ovisi samo o prethodnom (prijelaz u slijedee stanje nastaje u trenutku nastupanja taktnog signala). Brojilo boji ukupan broj signala koji dou na nj.

Vrsta generatora sekvence koji prolaskom kroz sva stanja na izlazu generira konanu sekvencu kodnih kompleksija . Ima ulogu binarnog brojenja. Jedna od primjena je brojanje rednog broja instrukcija.

Realizacije bistabila
Memorija Na registrima se biljee podaci koje slue u obradi. Postoje i neki podaci koji se uvaju za neko drugo vrijeme obrade. Takvi registri koji omoguuju trajno spremanje podataka zovemo memorija.
svaki registar ima LOKACIJU svaka lokacija mora imati ADRESU sadraj lokacije predstavlja podatak koji se pamti u memoriji. ADRESNI REGISTAR registar u kojem se biljei adresa lokacije REGISTAR MEMORIJSKIH PODATAKA registar u kojem se prenose podaci iz memorije i obrnuto

memorija i pomoni sklopovi

Arhitektura skupa instrukcija


ISA INSTRUCTION SET ARCHITECTURE

ISA hardware podrka


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 raunalu)
1. Primjer: 2. Program napisan u viem jeziku se kompajlira u strojni kod koji se sprema na I/O 3. Prije izvrenja strojnog koda sadraj se prenosi u memoriju. 4. Prilikom izvrenja programa instrukcije se donose u ALU iz memorije zajedno s podacima i obraene informacije se dalje prosljeuju na izlaze.

CPU
Procesor (engl. CPU) se sastoji od podatkovnog dijela i kontrolnog dijela. U dananjim raunalima koristi se 32 bitni adresni prostor za adresiranja byteova. Program counter (PC) i Instruction register (IR) su spojnica izmeu kontrolnog dijela i podatkovnog dijela. PC sadri adresu instrukcije koja se dohvaa iz memorije i potom stavlja u IR gdje se interpretira.
Podjela procesora na 2 kategorije.

CPU
Koraci u izvrenju programa kontrolnog dijela fetch-execute cycle 1) Dohvati slijedeu instrukciju koja se treba izvriti iz memorije. 2) Dekodiraj opcode (kod operatora) 3) Uitaj operande iz memorije, ako ih ima. 4) Izvri instrukciju i spremi rezultat.

CPU
Koraci u izvrenju programa podatkovnog dijela datapath. Podatkovni dio se sastoji od kolekcije registara zvanih datoteka registara (register file) koji slue za spremanje podataka (operanada). ALU implementira razliite binarne i unarne operacije (+,*,NOT,AND,OR)

Kontrolna jedinica bira operacije i operande koji e se izvriti i gdje e ih proslijediti.

Shema procesora s modelima registara

Skup instrukcija
Skup instrukcija (Instruction set) skup instrukcija koje procesor moe izvriti. Skup instrukcija ovisi o modelu procesora. Compiler program koji prevodi jezik vie razine (C, Java, Pascal) u strojni jezik. Prevoenje jezika: High-level jezik Assembly jezik
compile vrijeme assembly vrijeme

Strojni jezik
vrijeme izvrenja

Skup instrukcija na RISC modelu


Skup instrukcija razvijen na RISC modelu (podmodel SPARCa) s ARC memorijskim modelom ARC instrukcijski skup: CPU sadri 32 32-bitna registra ope namjene, takoer PC i IR Processor Status Register (PSR) sadri informacije o stanju procesora, ukljuujui informacije o rezultatima aritmetikih operacija (flags) sve instrukcije su 32-bitne veliine load-store stroj omogueno je samo dohvaanje i spremanje u memoriji ukupni broj instrukcija oko 200 u SPARC modelu

Skup instrukcija na RISC modelu


Skup instrukcija za prijenos podataka, AL operacije, kontrola

Skup instrukcija na RISC modelu


ARC Assembly sintaksa

Svaki assembly jezik ima svoju sintaksu. Primjer sintakse assembly jezika SPARC modela:

Primjer: Dodavanje 12 sadraju registra %r1 i spremanje na registar %r3

Skup instrukcija na RISC modelu


ARC format instrukcija Instrukcijski format definiran assembly kodom u strojni jezik predstavljen je 32-bitnom instrukcijom. 5 formata je odreeno skupom instrukcija SETHI, Grananje, pozivi, Aritmetika, Memorija

raspoloivost procesora

Skup instrukcija na RISC modelu

Z80 mikroprocesor
PREGLED SIMULACIJA

Z80 mikroprocesor
Zilog Z80 je 8-bitni procesor dizajniran od tvtke Zilog 1976 pa nadalje. Veliku primjenu naao je u stolnim i ugraenim raunalima. Populariziran u prodoru Sinclair ZX Spectrum raunala. Znaajke:

o o o o o o o o

Niska potronja energije Izrauje se za 2 brzine (do 2.5MHz i 4 MHz) dvostruki set registara ope namjene statusni registri 2 16-bitna indeksna registra vektorski prekidni sustav 3 naina rukovanja maskiranim prekidima dinamiko osvjeenje memorije

Usporedba
Frederico Fagin nakon to je napustio Intel nakon rada na 8080 osniva tvrtu Zilog koja na trite izdaje Z80. Arhitektura Z80 je znatno poboljana od arhitekture Intel 8080. Neke od razlika: napredniji instrukcijski skup novi IX i IY indeksni registri vektoriziran nain rada s prekidima manje ipova za kontrolu radnog takta ugraen DRAM osvjeenje jeftinija cijena ... Z80 preuzima trite nad Intel8080 i postaje meu najpopularnijim 8-bitnim mikroprocesorima

Vanjski izgled

Vanjski izgled
+5V,GND (ulazni) napajanje mikroprocesora (ulazni) signal vremenskog voenja sustava takt (uobiajeno 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 pie u memoriju ili vanjsku jedinicu KONTROLA SUSTAVA (engl. SYSTEM CONTROL) M1 (izlazni) oznaava da je trenutni strojni ciklus dohvat operacijskog koda iz memorije, kada je M1 aktivan zajedno sa IORQ, oznaava ciklus potvrde zahtjeva za prekid MREQ (izlazni) oznaava da se na sabirnici adresa nalazi adresa za itanje ili pisanje u memoriju IORQ (izlazni) oznaava da se na niih 8 bita sabirnice adresa nalazi adresa vanjske jedinice RD (izlazni) oznaava ciklus itanja iz memorije ili vanjske jedinice WR (izlazni) oznaava ciklus pisanja iz memorije ili vanjske jedinice RFSH (izlazni) oznaava da 7 niih bita sabirnice adresa sadre adresu osvjeavanja za dinamike memorije.Bit A7 je u nuli, a na gornjih 8 bita upisan je sadraj registra I.

Vanjski izgled
KONTROLA MIKROPROCESORSKE JEDINICE (engl. CPU CONTROL) HALT - (izlazni) oznaava da je Z80 izveo naredbu HALT i da eka prekid (obini ili nemaskirani).Dok je procesor u stanju HALT, izvode se naredbe NOP, kako bi se osvjeavale dinamike memorije. WAIT (ulazni) dojava procesoru da adresirana memorija ili vanjska jedinica nije spremna za prijenos podataka.Dok je taj signal aktivan, procesor umee stanja ekanja.Taj signal omoguava upotrebu memorijskih i vanjskih ureaja bilo koje brzine i asinkronu komunikaciju s procesorom. INT (ulazni) zahtjev za prekid.Postavlja ga neka vanjska jedinica.Zahtjev e biti obraen na kraju tekue naredbe ako je prekid omoguen. NMI (ulazni, aktivan na padajui brid) nemaskirani zahtjev za prekid.Slino kao i obian zahtjev za prekid, ali ima vii prioritet i ne moe se maskirati (onemoguiti).Zahtjev e biti uvijek obraen na kraju tekue naredbe, a obrada se izvodi uvijek na isti nain. RESET (ulazni) postavljanje mikroprocesora u poetno stanje.Registri PC,I i R postavljaju se u nulu, onemoguava se prekid i postavlja se prekidni nain rada O.Sabirnice adresa i podataka postavljaju se u visoku impedanciju, a kontrolni signali u naktivno stnje.Memorija se ne osvjeava.

Vanjski izgled
KONTROLA SABIRNICE PROCESORA (engl. CPU BUS CONTROL) BUSRQ (ULAZNI) zahtjev procesoru da preda upravljanje nad sabirnicama adresa, podataka i kontrolnim prikljucima.Kada je zahtjev prihvaen, svi ti prikljuci prelaze u stanje visoke impedancije i vanjskoj jedinici koja je postavila zahtjev omoguuju preuzimanje upravljanja nad njima.Zahtjev za sabirnicom je prioritetniji od obinog i nemaskiranog zahtjeva za prekid.Zahtjev za sabirnicom bit e prihvaen im zavri trenutni strojni ciklus. BUSAQ - (izlazni) dojava vanjskoj jedinici koja je zahtijevala sabirnicu da je procesor postavio sve prikljuke u stanje visoke impedancije.

Arhitektura

Tehniki opis
Akumulator A 8 bitni registar -izvor i odredite operananda za instrukcije s jednim ili 2 operanda Registri B,C,D,E,H,L skup od 8 bitnih registara za prijevremeno pohranjivanje meurezultata i rezultata. Registarski pa H i L kazalo podataka (sadre 16-bitnu adresu podataka) Registar uvieta F 8 bitni registar - zastavica predznaka (S), zastavica polovinog prijenosa (H),

zastavica parnosti/preliva (P/O), zastavica oduzimanja (N), zastavica prijenosa (C) PC (program counter)- 16 bitni registar - programsko brojilo i sadri adresu memorijske lokacije na kojoj se nalazi naredba koja e se sljedea dohvatiti i izvriti memorije u koji se podaci pohranjuju kao u pomini registar tako da novi podatak potiskuje stari podatak dublje u stog. Radi po LIFO principu

SP (stack pointer)- 16 bitni registar.slui za spremanje podataka na stog. Stog prestavlja dio

registri IX, IY- 16 bitni registri - se koriste za indeksno adresiranje. U registar se upisuju poetne
adrese memorije bloka u koji se eli pohranjivati podatak ili ih dohvati. Dodatni bajt opisuje odstupanje od poetne adrese.

registar prekidnog vektora I 8 bitni registar - adresni registar stranice prekida programa. Prilikom
vektorskog prekidnog rada omoguava adresiranje bilo koje memorijske lokacije na kojoj se nalazi prekidna rutina registar R (refresh)- 8 bitni registar slui za zadravanje pri osvjeavanju dinamike memorije

Izvoenje 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 65536 lokacija ) pridruena neka adresa. Mikroprocesor je napajan s 5 V i dovodi mu se takt. Program se poinje obavljati postavljanjem sadraja 16-bitnog programskog brojila na adresnu sabirnicu. Ujedno se alje i upravljaki signal RD (itaj). Memorijski sklop dekodira postavljenu adresu i omoguava pristup mikroprocesoru sadraju memorijske lokacije preko 8-bitne sabirnice podataka. Taj se sadraj sprema u CPU, u instrukcijski registar, i to je operacijski kod instrukcije.

Izvoenje 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 upravljakih signala aktivira pojedine sklopove da bi se izvrila instrukcija ( npr. prijenos podataka u akumulator ili registre ope namjene ili upisivanje u memoriju ili prijenos podataka na U/I jedinicu, ili npr. aktiviranje ALU - aritmetike logike jedinice za obavljanje zbrajanja, oduzimanja, inkrementiranja, izvravanja logikog I, ILI, EX ILI, itd. ). Isto tako kontrolna jedinica moe 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 sadraj (koji je inkrementiran u odnosu na prvi put ) na sabirnicu podataka. Iz memorije se uzima slijedea instrukcija i program se nastavlja.

Programiranje Z80
Program piemo u simbolikom strojnom jeziku, odnosno mnemonikom obliku.To znai da se instrukcije ne prikazuju u binarnom obliku nego u obliku korijene engleske rijei koja opisuje njihovu namjenu (npr. ADD A,B za zbrajanje). Postupak razvoja programa: 1.PISANJE : EDITOR IME.ASM 2.asembler je ime za strojni jezik ali i za program prevoditelj napisanog ASM programa 3.PREVOENJE : X80 (tzv. cross asembler) IME.OBJ 4.POVEZIVANJE : LINK1 IME.TSH ili IME.HEX 5.IZVOENJE

Instrukcijski skup od Z80

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 (troi 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 - uitavanje s vanjske jedinice definirane adrese pod imenom ime (iskljuvo preko akumulatora) OUT ime,A - ispis na vanjsku jedinicu (iskljuivo 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)

Simulacija Z80
Demonstracija asemblera Z80 primjenom simulatora u javi appletu.

Skup instrukcija koji moe na simulator simulirati ......

Skup instrukcija

Alat koji emo koristiti .................................................. Z80 simulator Primjer 1 Zbrajanje 2 broja Primjer 5 Program s power() rutinom Primjer 2 Uporaba smicanja ulijevo za mnoenje Primjer 4 Zbrajanje 2 elementa iz liste. Primjer 3 Zbrajanje 2 elementa iz liste.