Upload
monika-tensic
View
36
Download
2
Embed Size (px)
Citation preview
2
Table of ContentsI. PODATKOVNO OPISIVANJE REALNIH SUSTAVA................5
KOMUNIKACIJA I KOMUNIKACIJSKI SUSTAV..............................................
PODATAK I INFORMACIJA..............................................................................
INFORMACIJSKI SUSTAV...............................................................................
POSLOVNI SUSTAV........................................................................................
POSLOVNI SUSTAV – SUSTAVSKI
PRISTUP................................................................................................
POSLOVNI SUSTAV I NJEGOV IS.........................................................
II. RAČUNALO KAO DIO INFORMACIJSKOG SUSTAVA............8
POVIJESNI RAZVITAK RAČUNALNOG SUSTAVA.........................................................................................................
POJAM DIGITALNE TEHNOLOGIJE................................................................
KODIRANJE U RADU RAČUNALA...................................................................
TOČKE KODIRANJA U RAČUNALU......................................................
BIT, BAJT, STROJNA RIJEČ...........................................................................
PERMUTACIJE I REDUNDANCA U KODU....................................................
PAKIRANI I NEPAKIRANI OBLIK ZAPISA.....................................................
PROVJERA PARITETA....................................................................................
III. BROJEVNI SUSTAVI...........................................................12
BROJEVNI SUSTAVI – PRETVARANJA..........................................................
BROJEVNI SUSTAVI – RAČUNSKE OPERACIJE...........................................
Zbrajanje binarnih brojeva..................................................................
Oduzimanje binarnih brojeva..............................................................
IV. ZAPISIVANJE PODATAKA U PROCESORU.........................16
ARITMETIKA KLIZNOG ZAREZA..................................................................
V. OSNOVNI ELEMENTI RAČUNALNOG SUSTAVA................18
ŠKOLSKO RAČUNALO..................................................................................
PROCESOR....................................................................................................
PROCESOR – građa.............................................................................
OSNOVNI LOGIČKI SKLOPOVI.....................................................................
3
SLOŽENI LOGIČKI SKLOPOVI......................................................................
VI. OSNOVNI PRINCIP RADA RAČUNALA...............................26
VII. NAČINI ORGANIZACIJE MIKROPROCESORA....................27
VIII. INSTRUKCIJA.....................................................................28
INSTRUKCIJA – način izvođenja....................................................................
IX. ADRESIRANJE MEMORIJE.................................................29
NEPOSREDNO ADRESIRANJE:.....................................................................
DIREKTNO ADRESIRANJE:...........................................................................
INDIREKTNO ADRESIRANJE:.......................................................................
RELATIVNO ADRESIRANJE S OBZIROM NA PROGRAMSKO BROJILO:..............................................................................
ADRESIRANJE REGISTARA I POMOĆU REGISTARA:..................................................................................................
INDEKSIRANO ADRESIRANJE:....................................................................
ADRESIRANJE PO STRANICAMA (STRANIČENJE):...........................................................................................
X. VANJSKA MEMORIJA..........................................................34
VANJSKA MEMORIJA – MAGNETSKA...........................................................
VANJSKA MEMORIJA - ČVRSTI DISK.................................................
VANJSKA MEMORIJA – DISKETA........................................................
VANJSKA MEMORIJA - MAGNETSKI
DISKOVI...............................................................................................
VANJSKA MEMORIJA – VRPCA...........................................................
VANJSKA MEMORIJA – OPTIČKA.................................................................
VANJSKA MEMORIJA - CD-ROM.........................................................
VANJSKA MEMORIJA - CD-RW...........................................................
VANJSKA MEMORIJA - DVD................................................................
XI. VIRTUALNA MEMORIJA.....................................................40
XII. PROGRAMSKI PREKIDI......................................................41
XIII. IZLAZNE JEDINICE – MONITOR.........................................42
IZLAZNE JEDINICE - MONITOR – CRT........................................................
IZLAZNE JEDINICE - MONITOR –
REZOLUCIJA........................................................................................
IZLAZNE JEDINICE - MONITOR – PIKSEL.........................................
4
IZLAZNE JEDINICE - MONITOR – LCD........................................................
XIV. IZLAZNE JEDINICE – PISAČ...............................................47
Pisači s udarcem............................................................................................
Matrični pisači...............................................................................................
Pisači bez udarca...........................................................................................
IZLAZNE JEDINICE – LASERSKI PISAČ.......................................................
IZLAZNE JEDINICE – TINTNI PISAČ............................................................
Tintni pisač s termičkom glavom.........................................................
Tintni pisač s piezo-električnom glavom.............................................
XV. ULAZNE JEDINICE – SKENER............................................51
ULAZNE JEDINICE - SKENER - PRINCIP RADA...........................................
XVI. FONT...................................................................................53
VRSTE FONTOVA..........................................................................................
XVII.VEKTORSKO-RASTERSKA PRETVORBA (RIP)...................54
XVIII................................ORGANIZACIJA PROCESORSKOG VREMENA............................................................................................54
XIX. TEHNOLOGIJE IZRADE ELEMENATA RAČUNALA.............56
XX. ORGANIZACIJA UNUTRAŠNJE MEMORIJE........................57
Dvodimenzionalna organizacija (2D)...................................................
Trodimenzionalna organizacija (3D)....................................................
Memorija organizirana u stack............................................................
XXI. VRSTE UNUTRAŠNJIH MEMORIJA....................................60
ROM memorija.....................................................................................
RAM memorija.....................................................................................
XXII.UVOD U PROGRAMIRANJE.................................................62
UVOD.............................................................................................................
PROGRAMSKI JEZIK....................................................................................
Ključne riječi........................................................................................
Pravila pisanja naredbi (sintaksa).......................................................
Editor programskog koda....................................................................
Program prevoditelj.............................................................................
GENERACIJE PROGRAMSKIH JEZIKA..........................................................
5
Prva generacija....................................................................................
Druga generacija.................................................................................
Treća generacija..................................................................................
Četvrta generacija...............................................................................
Peta generacija....................................................................................
OSNOVNE PROGRAMSKE STRUKTURE......................................................
Blok dijagram – simboli.......................................................................
Slijed (sekvenca)..................................................................................
METODE PROGRAMIRANJA.........................................................................
6
PODATKOVNO OPISIVANJE REALNIH SUSTAVA
► Komunikacija i komunikacijski sustav - povijest i razvoj
► Pojam podatka i informacije
► Informacijski sustav (IS)
Elementi
Funkcije
► Poslovni sustavi
► Sustavni pristup
► Područja primjene IS-a
► Povezanost informacijskog sustava sa organizacijskim i
komunikacijskim (pod)sustavima
KOMUNIKACIJA I KOMUNIKACIJSKI SUSTAV
► SIMPLEX – POLUDUPLEX – (FULL) DUPLEX
Komunikacijski sustav sa SIMPLEX komunikacijom NIJE SUSTAV!
► Komunikacija u vremenu i prostoru
zapisi u pećinama, na kamenim pločama, papirusu, papiru...
► Egipat
simbolika u pismu
papirus
pargamena(ovčja koža)
► Kina
papir – trajniji od
papirusa
► Razvoj industrije
tiskarski stroj
glasovno zapisivanje,
telegraf
televizija –
informacijski šok
informatička
tehnologija
PODATAK I INFORMACIJA
► PODATAK = pojam kojim opisujemo i kvantificiramo funkciju
objektivne stvarnosti (elementarno stanje objektivne stvarnosti) u
određenom trenutku
► ELEMENT = nedjeljiva cjelina unutar sistema sa bar jednom
vezom sa nekim drugim elementom
► podaci se dovode u neki odnos prema modelu transformacije
► različiti modeli transformacije daju različite konkluzije
7
► INFORMACIJA = najmanje dva podatka u nekom odnosu, koji
predstavljaju novost i koji nas potiču na neku aktivnost
INFORMACIJSKI SUSTAV
Definicija informacijskog sustava
► Efikasno obavljanje gotovo svih poslova, u bilo kojem poslovnom
sustavu, popraćeno je informacijama i podacima. Nezavisno o vrsti
poslovnih procesa koje podržava ili veličini organizacije u kojoj
funkcionira, informacijski sustav (IS) se pojavljuje i primjenjuje kao
ključni element poslovanja. Njegova je povećana uloga i važnost
popraćena i rastućom primjenom informacijske tehnologije (IT).
► Cilj je informacijskog sustava pribaviti informacije potrebne pri
izvođenju poslovnog procesa i upravljanju poslovnim sustavom.
Uobičajeni su dijelovi informacijskog sustava sustav za obradu
transakcija, upravljački izvještajni sustav, sustav za potporu
odlučivanju i sustav uredskog poslovanja.
► Djelovanje IS-a upotpunjuje se primjenom IT-a i s njima povezanim
programima, procedurama, uputama, algoritmima i znanjem kojima
se IT-e pokreću zbog izvršenja poslovnih zadataka i ciljeva.
► Informacijski sustav (IS) je prema tome sprega i sustav materijalnih i
nematerijalnih elemenata kojima se opisuje poslovna stvarnost,
rješavaju poslovni zadaci i ispunjavaju poslovni ciljevi. Kao dio IS-a,
čovjek/pojedinac formalizira poslovno okružje u podatke, procedure,
algoritme, informacije i znanja te usklađujući primjenu IT-a i
programsku podršku, ispunjava poslovne funkcije i zadatke
(dostavljanje i čuvanje podatka neophodnih za odlučivanje, održanje
procesa te razvoj i neprekidnost poslovanja).
► Kao model poslovnog sustava IS opisuje poslovni sustav, on je njegov
informacijski model. Elementi poslovnog sustava (podaci, aktivnosti,
funkcije, zadaci, izvršitelji, postupci itd), preslikavaju se na model
informacijskog sustava gdje ih dijelimo na:
- model podataka – definira podatke koji nastaju ili se koriste u
poslovnom sustavu
- model procesa – definira procese ili funkcije koje se odvijaju u
poslovnom sustavu
8
- model izvršitelja – definira one elemente koji obavljaju
funkciju u poslovnom sustavu (software, hardware, lifeware,
orgware)
► javlja se u trenutku kad je trebalo iskustvo zapisati na materijalni
nositelj podataka
► potrebno je prikupiti podatke o dijelu objektivne stvarnosti koji nas
zanima, te dovesti prikupljene podatke u određeni odnos prema
modelu transformacije
► INFORMACIJSKI SUSTAV = podatkovna slika funkcija i procesa iz
objektivne stvarnosti
► informacijski sustav prikuplja, obrađuje, distribuira i čuva
informacije
► može, ali i ne mora biti podržan računalom
► CILJ IS-a= dostaviti pravu informaciju na pravo mjesto u pravo
vrijeme u organizaciji uz minimalne troškove
► ELEMENTI:
► HARDWARE (HW) - fizičke komponente
► SOFTWARE (SW) - programska rješenja
koja fizičke komponente implementiraju
► LIFEWARE (LW) - ljudi koji rade sa
informacijskim tehnologijama
► ORGWARE (OW) - organizacijski postupci,
metode i načini povezivanja prethodne tri
komponente u skladnu cjelinu
► NETWARE (NW) - koncepcija i realizacija komunikacijskog
povezivanja svih elemenata u skladnu cjelinu
► DATAWARE (DW) - ulazni podaci koji opisuju stanje
realnog sustava u određenom trenutku
► FUNKCIJE
► informacijski sustav djeluje unutar nekog poslovnog sustava
omogućavajući mu da komunicira unutar sebe i sa okolinom
► IS-om čovjek/pojedinac formalizira poslovno okružje u podatke,
procedure, algoritme, informacije i znanja te usklađujući
primjenu IT-a i programsku podršku, ispunjava poslovne
funkcije i zadatke (dostavljanje i čuvanje podatka neophodnih za
odlučivanje, održanje procesa te neprekidnost poslovanja
9
► pri tom se IS u velikoj mjeri oslanja na ICT (informacijsko-
komunikacijsku tehnologiju) te njihovom primjenom obrađuje,
prenosi, pohranjuje, dohvaća i objavljuje informacije i podatke
kojima se opisuje tijek,stanja i procesi poslovnog sustava
10
POSLOVNI SUSTAV
► u poslovni sustav ulaze i izlaze materijalni (materijal, sirovina,
energija) i informacijski tokovi
► dvije su temeljne aktivnosti svakog poslovnog sustava:
izvršavanje poslovnih procesa
► kad govorimo o poslovnom procesu, mislimo na osnovnu
djelatnost promatranog poslovnog sustava odnosno
na poslove koji se u njemu obavljaju.
► u proizvodnom poduzeću poslovni proces sastoji
se npr. od poslova proizvodnje, nabave
potrebnih sirovina i energije, plasmana
proizvedenih proizvoda itd.
► u bankama poslovni proces obuhvaća poslove
obavljanja financijskih transakcija, kreditiranja, štednje
itd.
upravljanje poslovnim sustavom
► svaki poslovni odnosno realni sustav nastoji izgraditi svoj
informacijski sustav koji će dati podlogu za brzo i
kvalitetno odlučivanje, dakle za transformaciju informacija
u odluke
► Tradicionalno su obje aktivnosti poduprte nekom vrstom
informacijskog sustava
Informacijska se tehnologija u mnogim poslovnim procesima
koristi, jer znatno podiže efikasnost odvijanja poslovnog
procesa. U nekim poslovnim procesima nemoguće je konkretno
obavljati posao bez primjene informacijske tehnologije npr.
rezervacijski sustavi zrakoplovnih kompanija, poslovanje banaka
Svaki poslovni odnosno stvarni sustav (npr. poduzeće, ustanova,
privreda, društvo) nastoji izgraditi svoj informacijski sustav koji
će dati podlogu za brzo i kvalitetno upravljanje i odlučivanje,
dakle za transformaciju informacija u odluke
POSLOVNI SUSTAV – SUSTAVSKI PRISTUP► ukoliko poslovni sustav promatramo kao cjelinu koju ne možemo
rastaviti na djelove a da pri tom ne izgubimo osnovna svojstva tada
možemo govoriti o SUSTAVSKOM PRISTUPU
11
► sustavskim se pristupom istražuju pojave i rješavaju problemi u
njihovoj cjelokupnosti i složenosti, obuhvaćajući sve bitne veze i
odnose između dijelova sustava i između sustava i okoline
► Da bismo opisali neki sustav, potrebno je pobliže odrediti:
koji elementi pripadaju sustavu,
koje veze postoje između elemenata unutar sustava i
između elemenata sustava i okoline i
kakvo je ponašanje (funkcioniranje) sustava
Realni sustav sačinjen je od elemenata koji su dio konkretnog realnog
objekta, koji se opisuje kao sustav
Sustav je cjelina koja se ne moža rastaviti na svoje dijelove a da se pri tome
ne izgube njena osnovna svojstva. Isto tako, objašnjavajući pojedine dijelove
(elemente sustava), možemo na osnovi njihovih uzajamnih utjecaja,
djelovanja i odnosa u okviru funkcioniranja cjeline.
Sustavnim se pristupom istražuju pojave i rješavaju problemi u njihovoj
cjelokupnosti i složenosti, obuhvaćajući sve bitne veze i odnose između
dijelova sustava i između sustava i okoline. Pojave i probleme razmatraju s
više gledišta stručnjaci različitih znanstvenih područja.
Sustavni pristup ne označava spajanje samo dosad odvojenih predmeta
znanstvenog proučavanja, nego i razdvojenih područja ljudskih aktivnosti.
Sustav je sređena cjelina koju čine njegovi elementi povezani na određeni
način, a njihovim međusobnim djelovanjem postižu se određeni ciljevi
funkcioniranja sustava.
Realni sustav sačinjen je od elemenata koji su dio konkretnog realnog
objekta, koji se opisuje kao sustav (mehanički, fizički, biološki, društveni).
POSLOVNI SUSTAV I NJEGOV IS
► informacijski sustav je model poslovnog sustava
► MODEL = “apstrakcija”, odnosno pojednostavljena
reprezentacija stvarnog sustava
- u modelu promatramo samo one činjenice poslovnog sustava
koje nas zanimaju
12
► informacijski sustav je podsustav poslovnog sustava i sam sebi nije
svrha
► da nema poslovnog sustava, informacijski sustav ne bi ni postojao jer
ne bi imao što opisivati
► Informacijski sustav preuzima informacije, obrađuje ih i prerađene
prezentira poslovnom sustavu ili okolini.
RAČUNALO KAO DIO INFORMACIJSKOG SUSTAVA
POVIJESNI RAZVITAK RAČUNALNOG SUSTAVA
► S povećanjem razine složenosti obrade traži se i odgovarajući razvoj
računalne potpore
► Razvoj obrade sadržaja kroz vrijeme:
► Ručna obrada
► abakus
► Mehanička obrada
► računski strojevi (Pascal, Leibnitz - 17. stoljeće) i pisaći
strojevi (18. stoljeće)
► Mehanografska i birotehnička obrada
► elektro-mehanički uređaji (19. stoljeće)
► Elektronička obrada
► prva digitalna računala (Mark 1, ENIAC, UNIVAC –
20.stoljeće)
OKOLINA
INFORMACIJSKI
POVRATNA VEZA
POSLOVNI
Ulaz
IzlazProces transformacije (temeljna
aktivnost
13
POJAM DIGITALNE TEHNOLOGIJE
► Digitalna tehnologija je utemeljena na sklopovima koji mogu poprimiti
jedno od dva stanja iz binarnog brojevnog sustava – 0 ili 1
♦ BISTABILI – elektronički sklopovi s dva stabilna stanja;
osnovica su za složenije digitalne sklopove
♦ POVEZIVANJEM VELIKOG BROJA BISTABILA GRADI SE
DIGITALNO RAČUNALO
► Digitalno računalo razumije samo binarni zapis sadržaja – potreba za
pretvorbom čovjeku čitljivih sadržaja u binarni zapis i obrnuto -
KODIRANJE
KODIRANJE U RADU RAČUNALA
► Različite komponente u računalu zahtijevaju određeni format i oblik
zapisivanja u binarnom zapisu
► Koriste se odgovarajući kodovi za svaku vrstu podataka (brojčanih ili
tekstualnih)
♦ Brojčani podaci – tzv. tetradni kodovi
► BCD kod
► Aiken kod
► Excess-3 kod
► Gray kod
♦ Tekstualni podaci
► ASCII kod
► EBCDI kod
► UNICODE
TOČKE KODIRANJA U RAČUNALU
► TOČKE KODIRANJA = mjesta u računalnom sustavu na kojima se
izvodi kodiranje, tj. pretvorba podataka iz jednog kodnog oblika u
drugi kodni oblik
► Dvije tipične točke kodiranja (ne i jedine!!)
♦ tipkovnica – memorija
14
♦ memorija – monitor/pisač
BIT, BAJT, STROJNA RIJEČ
► BIT = jedna znamenka u binarnom kodnom zapisu. Predstavlja
najmanju jedinicu za zapis binarnih podataka u računalu.
► RIJEČ = više bitova združenih u veći binarni podatak. Označava
cjeloviti podatak i standardne je duljine za određeno računalo (8 bita,
12 bita, 16 bita, 32 bita, itd.)
► BAJT – strojne riječi moguće je podijeliti na manje cjeline veće od
jednog bita, koje se nazivaju BAJTOVI. Bajt je obično duljine 8 bitova
i predstavlja osnovnu jedinicu zapisa s kojom računalo manipulira
♦ 16-bitna riječ = 2 bajta
♦ 32-bitna riječ = 4 bajta
► Primjer 16-bitne riječi:
PERMUTACIJE I REDUNDANCA U KODU
► Za potrebe kodiranja podataka određenim kodnim sustavom, dotični
kodni sustav mora imati dovoljno veliku "abecedu", tj. mora sadržavati
dovoljno velik broj permutacija elementarnih kodnih simbola (0 i 1)
♦ Npr. abecedu tetradnih kodova čine sve četveroznamenkaste
permutacije binarnih 0 i 1
► Kodiranje dekadskih znamenki - kodni sustav mora imati
odgovarajuću binarnu kodnu permutaciju za svaku osnovnu dekadsku
znamenku (0 do 9)
♦ Dovoljan je tetradni kod – npr. BCD kod
► Znamenka 0 = kod 0000
► Znamenka 1 = kod 0001
► ...
15
► Znamenka 9 = kod 1001
► Kodiranje govornog jezika (znakovi pisma – velika i mala slova,
znamenke, interpunkcija, specijalni znakovi, itd.) – barem 80 različitih
simbola
♦ Dovoljan broj binarnih permutacija daje tek kod duljine 7
binarnih znamenaka (27 = 128)
♦ Permutacije duljine 8 binarnih znamenaka dovoljne su za
kodiranje latiničnog pisma većine jezika
♦ Ostala pisma (istočnjačka, arapsko, hebrejsko, ...) – potreba za
još duljim kodnim zapisom (16 binarnih znamenaka po simbolu)
♦ ASCII i EBCDI kod (8-bitni kod), UNICODE (16-bitni kod)
► REDUNDANCA = razlika između broja mogućih i broja iskorištenih
binarnih riječi (permutacija) u nekom kodu
► Primjer – redundanca kod tetradnih kodova
♦ Tetradni kod nudi 16 mogućih permutacija (0000 do 1111)
♦ Za kodiranje dekadskih znamenki je potrebno 10 permutacija
(npr. od 0000 do 1001)
♦ Iskoristivost tetradnog koda je prema tome 10/16 * 100 = 62,5%
PAKIRANI I NEPAKIRANI OBLIK ZAPISA
► Zapis dekadskih znamenaka u radnom spremniku računala
korištenjem tetradnog koda (npr. BCD koda) je neekonomičan – troši
se cijeli bajt (8 bita) za zapis koji zauzima svega 4 bita = NEPAKIRANI
OBLIK ZAPIS.
► Moguće je pohraniti dvije dekadske znamenke u jednom bajtu =
PAKIRANI OBLIK ZAPISA
0
Dekadska znamenka
000
16
♦ Gornja 4 bita predstavljaju jednu znamenku, a donja 4 drugu
znamenku
PROVJERA PARITETA
► Služi za OTKRIVANJE (ne i za ispravljanje) grešaka nastalih tijekom
prijenosa podataka između različitih jedinica za obradu u računalnom
sustavu
► Koristi se bit parnosti – jedan od bitova u bajtu ili strojnoj riječi
rezerviran je za provjeru pariteta i neiskoristiv je za pohranu stvarnih
podataka
► Dvije vrste provjere pariteta
♦ PARNA – svaka prenesena riječ mora sadržavati parni broj
jedinica
♦ NEPARNA – svaka prenesena riječ mora sadržavati neparan
broj jedinica
► Primjer – s parnom provjerom pariteta, 8-bitna riječ, najznačajniji bit
je rezerviran za bit pariteta
♦ 7 bitova podataka već sadrže parni broj jedinica - u paritetni bit
zapisuje se nula
♦ 7 bitova podataka sadrže neparni broj jedinica - u paritetni bit
zapisuje se jedinica
BROJEVNI SUSTAVI
► Različiti brojevni sustavi
Dekadska znamenkaDekadska znamenka
17
♦ čovjek se koristi dekadskim brojevnim sustavom - baza 10 i ima
10 osnovnih znamenki (0,1,2,3,4,5,6,7,8 i 9)
♦ rad računala se bazira na binarnom brojevnom sustavu - baza 2 i
ima 2 osnovne znamenke (0 i 1)
♦ teoretski, brojevni sustav može biti zadan nad bilo kojom bazom
N (N je prirodni broj) i imati N osnovnih znamenki (od 0 do N-1)
► U informatici – oktalni i heksadecimalni brojevni sustavi
♦ oktalni sustav - baza 8 (osnovne znamenke - 0,1,2,3,4,5,6 i 7)
♦ heksadecimalni sustav - baza 16 (osnovne znamenke -
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E i F)
♦ koriste da bi se pojednostavio (skratio) prikaz binarnih brojeva
► primjer pozicionog zapisa dekadskog broja (npr. broj
607513,4):
6 x 105 + 0 x 104 + 7 x 103 + 5 x 102 + 1 x 101 + 3 x 100 + 4 x 10-1 = 600000 + 0 + 7000 + 500 + 10 + 3 + 0,4 = 607513,4
► primjer pozicionog zapisa binarnog broja (npr. broj 100110,11):
1 x 25 + 0 x 24 + 0 x 23 + 1 x 22 + 1 x 21 + 0 x 20 + 1 x 2-1 + 1 x 2-2 = 32 + 0 + 0 + 4 + 2 + 0,5 + 0,25= 38,75(10) = 100110,11(2)
18
► primjer pozicionog zapisa oktalnog broja (npr. 741001,2):
7 x 85 + 4 x 84 + 1 x 83 + 0 x 82 + 0 x 81 + 1 x 80 + 2 x 8-1 =163840 + 16384 + 512 + 0 + 0 + 1 + 0,25 = 180737,25(10) = 741001,2(8)
► primjer pozicionog zapisa heksadecimalnog broja (npr. F4B,2) :
F x 162 + 4 x 161 + B x 160 + 2 x 16-1 =15 x 162 + 4 x 161 + 11 x 160 + 2 x 16-1 =3840 + 64 + 11 + 0,125 =3915,125 (10) = F4B,2 (16)
BROJEVNI SUSTAVI – PRETVARANJA
► Pretvorba dekadskog broja u binarni
♦ Tehnikom uzastopnog dijeljenja s 2 (za cjelobrojni dio – npr. broj
10(10))
10(10):2 = 5 -> 0 ostatak --> 1010(2)
5 : 2 = 2 -> 1 ostatak
2 : 2 = 1 -> 0 ostatak
1 : 2 = 0 -> 1 ostatak
♦ Tehnikom uzastopnog množenja s 2 (za decimalni dio – npr. broj
0,625(10))
0,625(10) * 2 = 1,25 -> 1 --> 0,101(2)
0,25 * 2 = 0,5 -> 0
0,5 * 2 = 1 -> 1
19
► Pretvorba dekadskog broja u oktalni
♦ Tehnikom uzastopnog dijeljenja s 8 (npr. broj 217(10))
217(10):8 = 27 -> 1 ostatak --> 331(8)
27 : 8 = 3 -> 3 ostatak
3 : 8 = 0 -> 3 ostatak
► Pretvorba dekadskog broja u heksadecimalni
♦ Tehnikom uzastopnog dijeljenja s 16 (npr. broj 217(10))
217(10) : 16 = 13 -> 9 ostatak --> D9(16)
13 : 16 = 0 -> 13 (D) ostatak
► Oktalno-binarna pretvorba i obrnuto (trijade) – svaka oktalna
znamenka se zamjenjuje s tri binarne (0 = 000, 1 = 001, 2 = 010, 3 =
011, 4 = 100, 5 = 101, 6 = 110, 7 = 111) i obrnuto (grupiranje po tri
bita s desna na lijevo)
♦ Oktalno u binarno (npr. broj 217(8))
217(8) = 010 001 111(2)
2 1 7
♦ Binarno u oktalno (npr. broj 1010001111(2) )
1 010 001 111(2) = 1217(8)
1 2 1 7
► Heksadecimalno-binarna pretvorba i obrnuto (tetrade) – svaka
heksadecimalna znamenka se zamjenjuje s četiri binarne (0 = 0000, 1
= 0001, 2 = 0010, 3 = 0011, 4 = 0100, 5 = 0101, 6 = 0110, 7 =
0111, 8 = 1000, 9 = 1001, A = 1010, B = 1011, C = 1100, D = 1101,
E = 1110, F = 1111) i obrnuto (grupiranje po četiri bita s desna na
lijevo)
♦ Heksadecimalno u binarno (npr. broj 2A34(16))
2A34(16) = 0010 1010 0011 0100(2)
2 A 3 4
♦ Binarno u heksadecimalno (npr. broj 10010101000110100 (2) )
1 0010 1010 0011 0100 (2) = 12A34(16)
1 2 A 3 4
20
BROJEVNI SUSTAVI – RAČUNSKE OPERACIJE
Zbrajanje binarnih brojeva
♦ Tablica stanja:
♦ Primjer
Prijenosi: 111110
10101
+11111
110100
Oduzimanje binarnih brojeva – korištenjem tehnike dvojnog
komplementa oduzimanje se svodi na zbrajanje
► Primjer: Oduzimanje brojeva 11011001(2) i 1010(2) (11011001 – 1010)
korištenjem dvojnog komplementa
1. prvo se umanjitelj (1010(2)) nadopuni vodećim nulama, tako da
ima jednak broj znamenaka kao i umanjenik
♦ 1010(2) -> 00001010(2)
2. Komplementiranje umanjitelja (zamjena nula s jedinicama i
obrnuto) – rezultat je JEDINIČNI komplement umanjitelja
♦ 00001010(2) -> 11110101(2)
3. Jediničnom komplementu umanjitelja pribroji se binarni 1, čime
se dobiva DVOJNI komplement umanjitelja
♦ 11110101(2) + 1(2) = 11110110(2)
4. Zbrajanje umanjenika i dvojnog komplementa umanjitelja
♦ 11011001(2) + 11110110(2) = 111001111(2)
5. Odbacivanje bita preljeva (ako postoji) - konačna razlika zadanih
brojeva
♦ U gornjem primjeru razlika ima bit preljeva (‘suvišni’ 9. bit
s krajnje lijeve strane rezultata – konačna razlika ne može
imati više bitova od umanjenika ili umanjitelja). Njegovim
odbacivanjem dobiva se konačni rezultat
♦ 1|11001111(2) -> 11001111(2)
21
ZAPISIVANJE PODATAKA U PROCESORU
► Znakovni sadržaji – kodirani u ASCII, EBCDI ili slični kod
► Brojčani sadržaji
♦ Cjelobrojni – BCD kod ili direktna konverzija broja u binarni
zapis (ovisno o veličini strojne riječi)
♦ Decimalni
► Fiksni zarez - fiksirani broj cjelobrojnih i decimalnih
mjesta u binarnom zapisu broja – npr. 2 decimalna mjesta,
5 decimalnih mjesta, itd.
♦ Prednosti – preciznost zapisa (koristi se kod
novčanih iznosa i sl.), ponekad bolje performanse
♦ Nedostaci – manji opseg brojeva koje je moguće
zapisati, ograničen broj decimalnih i cjelobrojnih
pozicija
► Klizni zarez - broj se zapisuje u obliku mantise i
eksponenta, čime se uklanja problem broja decimalnih
mjesta koji postoji kod zapisa s fiksnim zarezom - BROJ
= MANTISA * 2EKSPONENT
♦ eksponent pokazuje koliko se brojeva ulijevo ili
udesno mora pomaknuti pozicioni zarez u mantisi da
bi se dobila prava vrijednost broja
► primjer bilježenja broja u pokretnom zarezu uz trostruku preciznost
(tj. korištenjem triju strojnih riječi):
♦ Jedna riječ otpada na eksponent, a ostatak na mantisu (2 riječi
kod korištenja trostruke preciznosti)
22
ARITMETIKA KLIZNOG ZAREZA
► pretvaranje broja 12,625(10) u binarni zapis u obliku pokretnog zareza
uz trostruku preciznost:
1. Pretvaranje cjelobrojnog dijela broja u binarni zapis
♦ 12(10) = 1100(2)
2. Pretvaranje decimalnog dijela broja u binarni zapis
♦ 0,625(10) = 0,101(2)
3. Dekadski broj pretvoren u binarni zapis
♦ 12,625(10) = 1100,101(2)
4. NORMALIZACIJA binarnog broja – pomak zareza u lijevu stranu
(pozitivno) ili desnu (negativno) do oblika 0,1xxxxxx
♦ Normalizirani 1100,101(2) je 0,1100101 * 24 - pozitivan
pomak zareza u lijevu stranu za 4 mjesta
♦ Konačan normalizirani oblik: 1100,101(2) = 0,1100101 *
2100
5. Zapis normaliziranog oblika u tri 8-bitne riječi
♦ Mantisa broja je pozitivna – predznak mantise zadan je
bitom 0
♦ Eksponent broja je pozitivan – predznak eksponenta je
zadan bitom 0
♦ Zapis broja 0,1100101 * 2100 prema zadanom formatu:
OSNOVNI ELEMENTI RAČUNALNOG SUSTAVA
► Model računala po von Neumannu prevladava u četiri generacije
računala
► Sastoji se od 4 osnovne jedinice:
smjer popunjavanja smjer popunjavanja
000000001001011000010000
23
1. Memorijske jedinice
2. Upravljačke jedinice
3. Aritmetičko-logičke jedinice
4. Ulazno-izlazne jedinice
► Jedinice su povezane podatkovnim i upravljačkim tokovima, koji su u
računalima fizički realizirani u obliku sabirnica
ŠKOLSKO RAČUNALO
► Školsko računalo ne proizvodi niti jedan proizvođač računala
► Ono se izučava radi lakšeg usvajanja osnovnih koncepata koji su
zajednički za većinu stvarnih računala
► Detaljno izučavanje konkretne računalne arhitekture moglo bi dovesti
do prevelike koncentracije na njene sitne specifičnosti, a bitni i
univerzalniji koncepti mogli bi biti zanemareni
► Sva daljnja razmatranja odnose se na zamišljeno i pojednostavljeno
školsko računalo utemeljeno na von Neumannovom modelu
► Memorija
► Instrukcije i podaci su svedeni na numerički kod i pohranjuju se
na isti način i u istom obliku u memorijsku jedinicu
► Memorija nema obradbenih sposobnosti, a obavlja samo dvije
temeljne operacije
Čitanje iz memorije
Zapisivanje u memoriju
► Upravljačka jedinica
► Jedinica koja "razumije" numerički kod kojim su predstavljeni
podaci i instrukcije
24
► Tumači numeričke kodove i u skladu s njima generira
upravljačke signale kojima upravlja izvođenjem instrukcija i
koordinira radom rač. sustava
► Zajedno sa aritmetičko-logičkom jedinicom čini cjelinu koja se
naziva centralna procesorska jedinica (CPU ili procesor)
► Aritmetičko-logička jedinica
► Jedinica u računalu koja posjeduje obradbene sposobnosti se
naziva aritmetičko-logička jedinica
► Zajedno sa upravljačkom jedinicom čini cjelinu koja se naziva
centralna procesorska jedinica (CPU ili procesor)
► Ulazno-izlazne jedinice
► Zadužene su za komunikaciju računala sa korisnikom i okolinom
računalnog sustava
► Omogućavaju unos podataka potrebnih za obradu u računalo i
prikaz rezultata računalne obrade
► Omogućavaju i prijenos podataka između računalnih sustava
PROCESOR
► Često se naziva i CPU( engl. Central Processing Unit)
♦ Regulira, koordinira i upravlja aktivnostima cijelog sustava
♦ Obavlja aritmetičku i logičku obradu podataka
► Dvije osnovne funkcije
♦ Obrada podataka
♦ Nadzor i usklađivanje djelovanja cjelokupnog rač. sustava
► Sastoji se od:
♦ Aritmetičko-logičke jedinice
♦ Upravljačke jedinice
♦ Registara (opće i posebne namjene)
25
PROCESOR – građa
► Upravljačka jedinica
♦ Kontrolira i koordinira radom svih dijelova računala – dohvaća
instrukciju, tumači ju i generira upravljačke signale
♦ Najsloženiji dio središnjeg
procesora
♦ Svaku instrukciju izvršava kroz
dvije faze:
► Priprema (pribavljanje)
► Izvršenje
► Aritmetičko-logička jedinica
♦ Jedinica za obradu podataka (aritmetičke i logičke operacije)
♦ Sastoji se od sklopova i registara
► Registri
♦ Registar = dio memorije koji služi za privremenu pohranu
podataka
♦ Najčešće su smješteni u procesoru
♦ Vrste registara:
► akumulator,
► buffer registri,
► registri opće
namjene,
► programsko
brojilo,
► pokazivač adrese
staka,
► indeks registar,
► posmačni (shift)
registar, te
► registar statusa
OSNOVNI LOGIČKI SKLOPOVI
► Digitalno računalo utemeljeno je na osnovnim sklopovima koji grade
ostale složenije digitalne sklopove
► I-sklop
► ILI-sklop
26
► NE-sklop
► I – SKLOP (engl. AND)
► Obavlja logičku operaciju I, tj. operaciju povezivanja
ili konjukciju
► Može imati dva ili više ulaza
► Sklop na izlazu Y daje stanje 1 samo onda kada su
ulaz A i ulaz B u stanju logičke 1 (u slučaju I sklopa sa
dva ulaza).
► ILI – SKLOP (engl. OR)
♦ Obavlja logičku operaciju ILI tj. operaciju
rastavljanja ili disjunkciju
♦ Može imati dva ili više ulaza
♦ Na izlazu sklopa biti će stanje 0 samo onda kada su svi
ulazi u stanju logičke 0
► NE – SKLOP (engl. NOT)
♦ Obavlja logičku operaciju NE tj. negacije, odnosno
inverzije ili komplementiranja
♦ Ima samo jedan ulaz i jedan izlaz
♦ Na izlazu daje stanje suprotno stanju na izlazu tj. ako je ulaz u
stanju logičke 1 tada je izlaz u stanju 0 i obratno
► Kombiniranjem osnovnih digitalnih sklopova nastaju složeniji digitalni
sklopovi
♦ Negirani I i ILI sklopovi – NI i NILI sklopovi
♦ Ekskluzivni ILI sklop – EX-ILI
♦ Bistabili
SIMBOL LOGIČKOG SKLOPA
SIMBOL LOGIČKOG SKLOPA
SIMBOL LOGIČKOG SKLOPA
27
28
SLOŽENI LOGIČKI SKLOPOVI
♦ Registri
♦ Dekoderi
♦ Brojila
♦ Poluzbrajalo i zbrajala, realizacija zbrajanja
♦ NI – SKLOP (engl. NAND gate, NOT AND)
♦ Obavlja logičku operaciju NI (naziva se još Shaefferova
funkcija) – tj. negaciju rezultata operacije I (AND)
♦ Može imati dva ili više ulaza
♦ Na izlazu ima logičko stanje 1 ako je na bilo
kojem ulazu logičko stanje 0.
♦ Kad je na svim ulazima stanje 1, tada je na izlazu stanje 0.
♦ NILI – SKLOP (engl. NOR gate, NOT OR)
♦ Obavlja logičku operaciju NILI (naziva se još i Pierceova
funkcija) – tj. negaciju rezultata operacije ILI (OR)
♦ Može imati dva ili više ulaza
♦ Na izlazu ima stanje 1 samo ako su svi ulazi
sklopa u stanju 0.
♦ Kada je na bilo kojem od ulaza sklopa stanje 1 tada je izlaz
sklopa u stanju 0.
► EX-ILI – SKLOP (engl. XOR, EXclusive OR )
♦ Obavlja logičku operaciju ekskluzivne disjunkcije
♦ Sklop ima na izlazu logičku vrijednost 1 kad je jedan od ulaza u
sklop u logičkom stanju 1, a drugi ulaz u logičkom stanju 0.
29
♦ Ako su oba ulaza u istom stanju (log. 0 ili log
1), tada je izlaz u stanju logičke 0.
30
► BISTABILI
♦ Oni elektronički elementi koji imaju dva
stabilna stanja.
► Kada dođe pobuda siglnala, odnosno
stanje 1, na ulaz S, bistabil se postavi
u stanje 1 i tada je na njegovu izlazu Q stanje 1, a na
komplementarnom izlazu Q stanje je nula.
► Kada dođe pobuda na njegov ulaz R, bistabil se postavi u
stanje nula, tj. na izlazu Q stanje je 0 a
na komplementu Q 1.
♦ Varijanta bistabila – D-bistabil
► Prilikom povezivanja većeg broja
bistabila u niz
► Štedi na jednom ulaznom vodu
► REGISTRI
♦ Više bistabila u nizu na koje se može pohraniti čitav podatak
♦ Bistabili u registru su međusobno neovisni, ali su poredani tako
da svaki ima određenu težinsku (pozicionu) vrijednost
♦ Podaci se između registara razmjenjuju putem sabirnica
► DEKODERI
LOGIČKI SIMBOL
LOGIČKI SIMBOL ZA D-BISTABIL
SKICA REGISTRA SA 8 BISTABILA
31
♦ sklopovi koji omogućuju da svako stanje na registru rezultira
stanjem 1 na samo jednom jedinom izlaznom vodu radi
pokretanja neke akcije, a stanjem 0 na svim ostalim izlaznim
vodovima
♦ Upotrebom dekodera izvode se različita adresiranja u računalu,
te se pokreću različite akcije kojima je ishodište odgovarajući
broj na registru
► BROJILA
♦ Služe za brojanje binarnih signala
♦ Brojilo dobijemo tako da nekoliko S-R bistabila povežemo u
seriju pomoću elementarnih logičkih sklopova
♦ Osnovu brojenja čini mijenjanje (komplementiranje) stanja
bistabila u situaciji kada bistabil niže težinske vrijednosti prelazi
iz stanja 1 u stanje 0
♦ Brojila imaju značajnu ulogu u radu računala – jedan od
najvažnijih registara u mikroprocesoru (programsko brojilo) je
realiziran kao brojilo
► POLUZBRAJAČ (polusumator)
♦ Osnovni sklop za strojno zbrajanje dvaju binarnih znamenaka
SKICA DEKODERA SA TRI ULAZA
32
♦ zbraja samo dvije binarne znamenke, no to nije dovoljno za
potpuno zbrajanje -> ne može uzimati u obzir i eventualni
“jedan dalje”
► POTPUNI ZBRAJAČ
(potpuni sumator)
♦ Sklop koji uzima u obzir i "1 dalje" sa mjesta niže težinske
vrijednosti
♦ Realizira se pomoću dva povezana polusumatora
► REALIZACIJA ZBRAJANJA
♦ NAPOMENA: 2 potpuna zbrajača mogu zbrojiti samo 2 binarne
znamenke i registrirati eventualni "1 dalje"
♦ Za zbrajanje 2 N-bitna binarna broja potreban je sklop za
zbrajanje koji se sastoji od N povezanih potpunih zbrajača
LOGIČKI SIMBOL POLUSUMATORA
TABLICA STANJA POLUSUMATORA
REALIZACIJA POLUSUMATORA POMOĆU OSNOVNIH LOGIČKIH SKLOPOVA
REALIZACIJA POTPUNOG SUMATORA POMOĆU DVA POLUSUMATORA
TABLICA STANJA POTPUNOG SUMATORA
LOGIČKI SIMBOL POTPUNOG SUMATORA
33
PRIMJER: SKLOP ZA ZBRAJANJE 4-bitnih BINARNIH BROJEVA
34
OSNOVNI PRINCIP RADA RAČUNALA
► Takt rada računala
♦ Služi za sinhronizaciju svih uređaja u računalu na način da
“proizvodi” tzv. taktne signale
♦ Izražava se frekvencijom kojom se izmjenjuju taktni signali
► On daje "ritam" pod kojom radi procesor, ali i cijelo
računalo
♦ Signali se generiraju u generatoru taktnih signala i odašilju se u
generator upravljačkih signala koji je dio upravljačke jedinice
♦ Na taj način se usklađuje rad i djelovanje svih elemenata
računalnog sustava pri obradi podataka
► Multipleksor
♦ Signale s više različitih vodova vremenski pomaknuto prespaja
na jedan izlazni vod
♦ Ulazni signali se po redu, jedan iza drugoga, priključuju na
izlazni vod
► Demultipleksor
♦ Priključuje signale koji po jednom ulaznom vodu dolaze u
različitim vremenskim odsječcima na različite izlazne vodove
♦ Obavlja obrnuti zadatak od multipleksora
► Sabirnice (engl. bus)
♦ skup spojnih vodova koji povezuju sve elemente računalnog
sustava u funkcionalnu cjelinu
♦ Podjela po smještaju:
► Unutarnje i vanjske
♦ Podjela po vrsti sadržaja koji se njima prenosi:
► Podatkovne
► Adresne
► Upravljačke
♦ Širina sabirnice
35
► broj vodova ili broj bitova koji se mogu prenijeti u jednom
ciklusu
NAČINI ORGANIZACIJE MIKROPROCESORA
► Organizacija procesora oko jedne
sabirnice
♦ Procesor organiziran oko jedne
sabirnice koristi jednu
sabirnicu za dovođenje i
odvođenje podataka u
središnjem procesoru
♦ procesor organiziran oko jedne
sabirnice može u jednom
trenutku prenositi samo jedan
podatak
♦ podaci se moraju prenositi vremenski multipleksirano i to u oba
smjera
► Organizacija procesora oko
dvije sabirnice
♦ Donekle ispravlja nedostatak organizacije procesora oko jedne
sabirnice
♦ Ponekad je moguće
istovremeno prenosti
podatke po obje sabirnice
♦ podaci se moraju prenositi
vremenski multipleksirano i
to u oba smjera
♦ nije moguće istovremeno
pribaviti operande za oba
ulaza ALU (pribavljaju se jedan po jedan, vremenski
multipleksirano)
► Organizacija procesora oko tri sabirnice
♦ Već i organizacija procesora oko dvije sabirnice donosi ubrzanja
u radu, a još veća poboljšanja su moguća uvođenjem treće
sabirnice
ORGANIZACIJA OKO JEDNE SABIRNICE (pojednostavljena shema)
36
♦ mogućnosti istovremenog
dovođenja obaju operanada na
ulaze u ALU
♦ Istovremeno odvođenje
rezultata prethodne ALU
operacije na odredište
37
INSTRUKCIJA
► Sadržaj kojim računalu govorimo što želimo učiniti sa sadržajem
određene memorijske lokacije
► Sastoji se od:
♦ Polja operacijskog koda
♦ Nijednog, jednog ili većeg broja adresnih
polja, te
♦ Polja za specifikaciju operanda i
rezultata
► Vrste instrukcija:
♦ Instrukcije za prijenos podataka
♦ Aritmetičko-logičke instrukcije
♦ Upravljačke instrukcije
♦ Instrukcije namijenjene funkcijama OS-a
INSTRUKCIJA – način izvođenja
► Za izvođenje pojedinih instrukcija upotrebljava se jedan ili više
instrukcijskih ciklusa M1, M2, M3 i M4
► Cjelokupan način djelovanja upravljačke jedinice može se predočiti
izmjenama dvaju osnovnih stanja za svaku instrukciju
► Ta dva osnovna stanja su:
♦ Stanje PRIBAVI (engl. Fetch)
► za vrijeme njegova trajanja se pribavlja (ili dohvaća)
instrukcija iz memorije
► završava onda kad je pribavljena kompletna instrukcija
♦ Stanje IZVRŠI (engl. Execute)
► obavlja se (izvršava) operacija koja je utvrđena u postupku
dekodiranja
► Nakon obavljenih operacija u stanju IZVRŠI upravljačka
jedinica prelazi u stanje PRIBAVI
SHEMATSKI PRIKAZ FORMATA INSTRUKCIJE
38
ADRESIRANJE MEMORIJE
► Do podataka zapisanih u ROM ili RAM memoriji je moguće doći na
razne načine, tj. mogući su različiti oblici adresiranja memorijskih
lokacija
► Način adresiranja memorije (tj. način dohvata operanada) uvijek
zadan unutar same instrukcije koja se trenutno izvršava, i to unutar
operacijskog koda instrukcije
► Upravljačka jedinica tumači operacijski kod i na temelju njega
prepoznaje zatraženi oblik adresiranja memorije, te aktivira
upravljačke signale potrebne za realizaciju zatraženog oblika
adresiranja
NEPOSREDNO ADRESIRANJE:
► Oblik adresiranja kod kojeg je operand potreban za izvođenje
instrukcije dio same instrukcije
♦ Prvi bajt instrukcije predstavlja operacijski kod (kojim je u ovom
slučaju zadano neposredno (Immediate) adresiranje)
♦ Drugi i treći bajt (ako je operand 16-bitna riječ) instrukcije
sadrže traženi operand
Primjer:
• PC pokazuje na adresu C257
• Sa te adrese se
učitava prvi bajt instrukcije –
operacijski kod, kojim je
zadana vrsta adresiranja
• Učitavanjem sadržaja idućeg bajta dohvaća se operand koji iznosi AB
(u ovom slučaju 8-bitni
operand)
39
DIREKTNO ADRESIRANJE:
► Oblik adresiranja kod kojeg je adresa operanda potrebnog za
izvođenje instrukcije dio same instrukcije
♦ Prvi bajt instrukcije predstavlja operacijski kod (kojim je u ovom
slučaju zadano direktno adresiranje)
♦ Drugi i treći bajt instrukcije sadrže (u ovom slučaju 16-bitnu)
adresu traženog operanda
Primjer:
• PC pokazuje na adresu C257
• Sa te adrese se učitava prvi bajt
instrukcije – operacijski kod,
kojim je zadano direktno
adresiranje
• Učitavanjem sadržaja iduća 2
bajta dohvaća se adresa
operanda, koja iznosi E512
• Novim zahvatom u memoriju se dohvaća sadržaj operanda sa adrese
E512, a operand iznosi 78
INDIREKTNO ADRESIRANJE:
► Oblik adresiranja kod kojeg je adresa adrese operanda potrebnog za
izvođenje instrukcije dio same instrukcije
♦ Prvi bajt instrukcije predstavlja operacijski kod, drugi i treći bajt
instrukcije sadrže (u ovom slučaju 16-bitnu) adresu adrese
traženog operanda
♦ Na lokaciji koja sadrži adresu adrese operanda se nalazi stvarna
adresa operanda
Primjer:
• PC pokazuje na adresu C257. Sa te adrese
se učitava prvi bajt instrukcije – operacijski
kod
• Učitavanjem sadržaja iduća 2 bajta dohvaća
se adresa adrese operanda, koja iznosi E512
40
• Novim zahvatom u memoriju se dohvaća sadržaj adrese sa lokacija
E512 i E513, tj. stvarna adresa operanda, a ta adresa iznosi E511
• Još jednim zahvatom u memoriju se dohvaća sadržaj operanda sa
lokacije E511, a operand iznosi FE
RELATIVNO ADRESIRANJE S OBZIROM NA PROGRAMSKO BROJILO:
► Oblik adresiranja kod kojeg se adresa operanda odabire u određenom
adresnom području u blizini lokacije same instrukcije
♦ Prvi bajt instrukcije predstavlja operacijski kod
♦ Drugi bajt instrukcije sadrži vrijednost koja se interpretira kao
pomak (zabilježen u aritmetici dvojnog komplementa) koji se
pribraja adresi zapisanoj u PC
Primjer:
• PC pokazuje na adresu C257
• Sa te adrese se učitava prvi bajt
instrukcije – operacijski kod, kojim je npr.
zadano relativno adresiranje prema PC
• Učitavanjem sadržaja idućeg bajta
dohvaća se pomak (offset) koji iznosi
27(16)
• Učitani pomak se pribraja sadržaju PC-a
i dobiva se stvarna adresa operanda, koja
iznosi C27E
• Još jednim zahvatom u memoriju se dohvaća sadržaj operanda sa
lokacije C27E, a operand iznosi 23
ADRESIRANJE REGISTARA I POMOĆU REGISTARA:
► 1. Adresiranje registara (najbrži oblik adresiranja)
♦ Oblik adresiranja kod kojeg se operand preuzima direktno iz
nekog od registara opće namjene
♦ Operacijskim kodom je zadan oblik adresiranja, ali je zadano i
koji registar opće namjene sadrži operand
♦ Instrukcija koja zahtijeva adresiranje registara se sastoji od
samo jednog bajta – operacijskog kôda
41
► 2. Indirektno registarsko adresiranje
♦ Slično je indirektnom adresiranju uz sljedeće razlike:
♦ Adresa operanda je smještena u nekom od registara opće
namjene
♦ Operacijski kôd instrukcije određuje takav oblik adresiranja i
zadaje u kojem registru opće namjene se nalazi adresa
operanda
♦ Zahvatom u memoriju se dohvaća sadržaj lokacije na koju
pokazuje registar opće namjene, a koja sadrži traženi operand
► 3. Relativno registarsko adresiranje
♦ Bazična adresa smještena je u nekom od registara opće namjene
♦ Prvi bajt instrukcije predstavlja operacijski kod (kojim je u ovom
slučaju zadano relativno registarsko adresiranje, kao i registar
koji sadrži bazičnu adresu)
♦ Drugi bajt instrukcije sadrži vrijednost koja se interpretira kao
pomak (zabilježen u aritmetici dvojnog komplementa) koji se
pribraja adresi zapisanoj u registru opće namjene
Primjer registarskog relativnog adresiranja:
• Programsko brojilo (PC) pokazuje na adresu 1234(16)
• Sa te adrese se učitava prvi bajt instrukcije – operacijski kod, kojim je
npr. zadano relativno registarsko adresiranje prema registru R5
• Učitavanjem sadržaja idućeg bajta
dohvaća se pomak (offset) koji iznosi
27(16)
• U aritmetici dvojnog komplementa
ovo je pozitivan broj (bit najveće
težine je 0), pa se pribraja adresi u
registru R5
• Učitani pomak se pribraja sadržaju
registra R5 i dobiva se stvarna adresa
operanda, koja iznosi 225B
• Još jednim zahvatom u memoriju dohvaća se sadržaj operanda sa
lokacije 225B, a operand iznosi E3
42
INDEKSIRANO ADRESIRANJE:
► Za adresiranje operanada se upotrebljava poseban registar u
procesoru – indeks registar
► Ova vrsta adresiranja je pogodna za dohvaćanje većeg broja
operanada koji su smješteni u nizu uzastopnih lokacija u memoriji
♦ Adresa prvog operanda u nizu se zapiše u indeks registar, te se
ista adresa iskoristi za dohvat tog operanda
♦ Nakon dohvata prvog operanda, sadržaj indeks registra se
uvećava za zadani pomak (zadan je instrukcijom u njenom
drugom bajtu) i sad pokazuje na adresu slijedećeg operanda u
nizu
♦ Dohvaća se drugi operand
♦ Ciklus se ponavlja sve dok se ne pročitaju svi potrebni operandi
– tzv. autoindeksirano adresiranje
Primjer:
• PC pokazuje na adresu 02AA – tu je zadana instrukcija koja zahtijeva
indeksirano adresiranje (op. kod), a na slijedećoj lokaciji se nalazi
pomak za indeksiranje (zapisan u
aritmetici dvojnog koplementa)
• Indeks registar pokazuje na adresu
125A
• Sa te adrese se učitava prvi operand,
koji iznosi 41
• Zatim se vrijednost indeks registra
uveća za zadani pomak (1) i sad indeks
registar pokazuje na lokaciju 125B
• Sa te adrese se učitava drugi operand(E3)
• Ciklus se ponavlja do kraja niza operanada
ADRESIRANJE PO STRANICAMA (STRANIČENJE):
► Za ovu vrstu adresiranja je bitno podijeliti
adresni prostor na nizove lokacija jednake
duljine, koje se zovu stranice (engl. page)
43
♦ Npr. stranice su veličine 128 bajtova, tj. svaka lokacija unutar
pojedine stranice se može adresirati sa 7 bitova
♦ Tada bi 16-bitno adresno polje bilo podijeljeno na 512 stranica i
izgledalo bi ovako:
► Instrukcija koju treba izvršiti je smještena u nekoj od stranica
♦ Za dohvat njenih operanada se primjenjuje adresiranje slično
relativnom adresiranju – koriste se pomaci zadani u bajtu nakon
operacijskog koda instrukcije
♦ Za pomak se koristi 7 bitova 8-bitne riječi i tim pomakom se
može adresirati bilo koja lokacija u dosegu jedne stranice (7
bitova = 128-bajtni adresni raspon)
♦ Krajnji lijevi, osmi bit pomaka određuje da li će se adresirati 0-ta
stranica ili stranica na kojoj je smještena instrukcija
► Ako je 8. bit jednak 0, onda se adresira 0-ta stranica
► Ako je 8. biti jednak 1, onda se adresira trenutna stranica
na kojoj se nalazi instrukcija
44
VANJSKA MEMORIJA
► Brza unutarnja radna memorija pamti podatke samo dok računalo radi
♦ Prestankom rada (gašenjem, nestankom struje, ...) gube se
podaci pohranjeni u radnoj memoriji računala
♦ Za potrebe trajne pohrane važnih podataka postoje vanjske
memorije koje pamte na njih zapisane podatke i u trenucima
kad je računalo ugašeno
► Vanjske memorije prema vrsti medija za pohranu dijelimo na:
♦ Magnetske i optičke
VANJSKA MEMORIJA – MAGNETSKA
► Podjela
♦ Magnetski diskovi
► Čvrsti diskovi
► Diskete
♦ Magnetske vrpce
► Vrpce na kolutima
► Vrpce u kazetama
► Materijalni nositelj zapisa na magnetskim vanjskim memorijama je sloj
feromagnetskog materijala kojim je presvučen fizički medij (okrugle
ploče kod mag. diskova ili plastične trake kod mag. vrpci)
VANJSKA MEMORIJA - ČVRSTI DISK
► Građa i tehnologija zapisa
♦ Niz ploča od metala ili stakla na zajedničkoj osovini, oko koje
sve ploče rotiraju
♦ Ploče su presvučene feromagnetskim
materijalom
► Magnetizacijom feromagnetskog materijala
zapisuju se binarni 0 i 1
♦ Jedna orijentacija čestica feromag. materijala
– binarna 0
OSNOVNI ELEMENTI TVRDOG DISKA
45
♦ Druga orijentacija čestica feromag. materijala – binarna 1
► Zapisivanje i čitanje se izvodi pomoću glava za čitanje/pisanje
♦ Sa svake strane svake ploče se nalazi po jedna glava za
čitanje/pisanje
► Građa i tehnologija zapisa (nastavak)
♦ Pomicanje glava – pomoću
aktuatorske ruke, koja je
pokretana motorom
♦ Glave nikada fizički ne dotiču
površinu ploča
► Lebde nad pločama na
mikroskopski debelom
zračnom jastuku
♦ Najvažniji dio glave za čitanje/pisanje je elektromagnet
♦ Propuštanjem struje kroz zavojnicu elekromagneta se inducira
magn. polje koje orijentira česticu feromagnetskog materijala u
određenom smjeru – zapis binarne 0 ili 1
♦ Prelaskom glave preko magnetizirane čestice se u zavojnici
elektromagneta inducira el. struja – čitanje binarne 0 ili 1
► Fizička organizacija zapisa
♦ Ploče
♦ Staze - koncentrični krugovi na pločama
♦ Cilindri - sve staze na svim pločama koje su jednako udaljene od
središta rotacije ploča
♦ Sektori - isječci staza - svaka staza je podijeljena na jednak broj
sektora; sektor je najmanja adresibilna jedinica na disku
♦ Klasteri – logička cjelina koja obuhvaća nekoliko susjednih
sektora; u slučaju da se kod fizičke organizacije zapisa koriste i
klasteri, tada je jedan klaster najmanja adresibilna jedinica na
disku
46
47
VANJSKA MEMORIJA – DISKETA
► Građom slična tvrdom disku; neke od razlika su:
♦ Disketa (floppy disk) je izmjenjiv medij
► U plastičnoj košuljici nalazi se samo jedna ploča od
savitljivog materijala presvučena feromagnetskim
materijalom
♦ Gustoća zapisa je manja nego kod tvrdog diska
► Zbog samo jedne ploče i manje gustoće zapisa proizlazi da
je kapacitet diskete daleko
manji
♦ U fiksiranom pogonu floppy diska
smješten je pogonski motor koji
rotira ploču
► Višestruko sporije nego kod
tvrdog diska
♦ Po jedna glava za čitanje/pisanje
sa svake strane ploče, te aktuatorska ruka koja pokreće glavu
VANJSKA MEMORIJA - MAGNETSKI DISKOVI
► Logička organizacija zapisa - proizlazi iz načina fizičke organizacije
zapisa na magn. diskovima (tj. iz mogućnosti izravnog pristupa do
traženog sadržaja):
♦ Slijedna organizacija zapisa
► Podaci se zapisuju u kontinuirane (slijedne, sekvencijalne)
cjeline - sektor do sektora, klaster do klastera
♦ Rasuta organizacija zapisa
► Omogućava dislocirano zapisivanje podataka po mediju
► Mogućnost iskorištenja svakog slobodnog prostora na
mediju
► Veća fleksibilnost
VANJSKA MEMORIJA – VRPCA
► Danas se uglavnom koristi kao masovni medij za sigurnosnu pohranu
podataka (backup)
48
► Magnetska vrpca izrađena je od savitljivog plastičnog materijala i
s jedne je strane presvučena s feromagnetskim materijalom
► Fizička organizacija zapisa
♦ Trake
♦ Blokovi
♦ Lokacije (frameovi)
♦ Glave za čitanje/pisanje
► Logička organizacija zapisa
♦ Magnetske vrpce su uređaji s isključivo slijednim pristupom do
pohranjenih sadržaja
♦ Moguća jedino slijedna logička organizacija zapisa
► Podaci se moraju čitati blok po blok, onim redom kako su
bili i zapisani
VANJSKA MEMORIJA – OPTIČKA
► Ubrajamo ih u izmjenjive vanjske memorija s prenosivim medijima
► Prema kriteriju čitanja/pisanja dijelimo ih na:
♦ Medije koji služe samo za čitanje
► CD-ROM
► DVD-ROM
♦ Medije koje se može čitati i pisati
► Jednokratno zapisivanje
MAGN. VRPCA NA KOLUTOVIMAMAGN. VRPCA U KAZETI
49
♦ CD-R
♦ DVD-R, DVD+R
► Višekratno zapisivanje/brisanje
♦ CD-RW
♦ DVD-RW, DVD+RW
♦ DVD-RAM
VANJSKA MEMORIJA - CD-ROM
► Građa i tehnologija zapisa
♦ Medij ima samo jednu ploču s koje se čitaju podaci
♦ Za smještaj podataka koristi se samo jedna strana te ploče
♦ Materijalni nositelj je metalni reflektivni sloj u koji je tvornički
utisnuta “matrica” sa udubljenjima (ili izbočenjima) i ravnim
dijelovima
► Udubljenje (ili izbočenje) – binarna 0
► Ravnina – binarna 1
♦ Čitanje se izvodi pomoću laserske zrake koju emitira optička
glava, koja se sastoji od:
► Laserske diode – izvora laserske zrake (crvene)
► Prizme
► Leće za
fokusiranje
► Detektora
svjetlosti
► Građa (shematski prikaz)
► Fizička organizacija zapisa
♦ Podaci su zapisani u
kontinuiranu spiralu
koja počinje u središtu diska
♦ Spirala je podijeljena na blokove fiksne veličine
► Gustoća zapisa povećava se prema rubu medija
OPTIČKA
50
VANJSKA MEMORIJA - CD-RW
► Građa i tehnologija zapisa
♦ Razlika u vrsti materijalnog nositelja zapisa – sloj za zapisivanje
nije metalni - organske boje i slični materijali
► Karakteristike materijalnog nositelja su
a) Pod utjecajem srednje snažne laserske zrake vraća
se u svoje prvobitno stanje - brisanje zapisa
b) Pod utjecajem snažne laserske zrake mijenja stanje –
zapisivanje
c) Pod utjecajem slabe laserske zrake ne mijenja stanje
– čitanje
♦ Mjesta izmijenjena pod utjecajem lasera za zapisivanje slabije
reflektiraju lasersku zraku prilikom čitanja
► Po intenzitetu reflektirane zrake određuje se da li je
zapisana binarna 0 ili binarna 1
► Fizička organizacija zapisa
♦ podaci su zapisani u koncentrične kružnice (ne u spiralu!)
♦ staze su podijeljene na sektore
VANJSKA MEMORIJA - DVD
► Građa i tehnologija zapisa
♦ Gotovo je identična CD-ROM mediju, uz određene razlike:
► Kraća valna duljina laserske zrake - moguće je čitanje
"sitnijih" udubina i ravnina = veća gustoća zapisa i veći
kapacitet
► Mediji mogu biti i dvoslojni i dvostrani – dodatno
povećanje kapaciteta
USPOREDBA VALNIH DULJINA LASERSKIH ZRAKA KOD CD I DVD UREĐAJA
51
► Logička organizacija zapisa (svi opisani optički mediji)
♦ Optičke vanjske memorije ubrajamo u skupinu uređaja s
izravnim pristupom do pohranjenih podataka (poput magnetskih
diskova)
► Moguće su i slijedna i rasuta logička organizacija zapisa
VIRTUALNA MEMORIJA
► Virtualna memorija - sustav u kojem je radni memorijski prostor
računala načinjen dijelom od brze radne memorije (RAM), a dijelom
od sporih masovnih memorija
♦ Svaki program prilikom izvođenja mora biti smješten u radnoj
memoriji (RAM) računala
♦ Problem može nastati kad treba istovremeno izvoditi veći broj
programa
► Fizički kapacitet radne memorije može biti nedostatan za
pohranu svih programa koji se trenutno izvršavaju i i
njihovih radnih podataka
♦ Rješenje - u RAM-u se nalaze dijelovi (programa i podataka) koji
su trenutačno aktivni - ostatak je pohranjen na disku
► Posebni mehanizmi, poduprti sklopovljem suvremenih
procesora, premještaju s diska u radnu memoriju one
dijelove programa koji će se upravo izvoditi, a iz radne
memorije na disk vraćaju dijelove koji trenutačno nisu
potrebni
► Princip rada
♦ Cjelokupni se adresni prostor dijeli na okvire (frame), a svi
programi i podaci se dijele na blokove podataka jednake veličine
(stranice)
♦ Program (proces) želi pristupiti određenoj memorijskoj lokaciji -
sklopovska podrška određuje da li se ona fizički nalazi u glavnoj
memoriji - ako ne, pokreće se prijenos s vanjske memorije u
radnu
► Ne prenosi se samo sadržaj tražene lokacije, već cijela
stranica u kojoj je smještena tražena lokacija
52
► U radnoj memoriji se tako nalaze samo oni podaci koji su
trenutno potrebni ili aktivni (osnova za multiprogramsku
obradu – multitasking)
► Ovakav postupak korištenja memorije naziva se straničenjem i ključan
je za realizaciju virtualne memorije
► Radi toga što je samo dio procesa u radnoj memoriji, a ostali, koji nisu
trenutno potrebni, u sekundarnoj memoriji, može se znatno proširiti
raspoloživi memorijski prostor računala, odnosno taj se prostor naziva
virtualnom memorijom
► Operacijski sustav (OS) računala upravlja razmjenom informacija
između unutrašnje i vanjske memorije, dok programer umjesto
stvarnih fizičkih adresa koristi virtualne
♦ Program “vidi” adresni prostor računala kao linearni niz adresa,
koji nije ograničen kapacitetom radne memorije, tj. stvoren je
“privid” beskonačno velike memorije ili virtualni adresni
prostor – odatle i naziv virtualna memorija
PROGRAMSKI PREKIDI
► Jedan od ključnih preduvjeta za realizaciju virtualne memorije i
multitaskinga je sustav programskih prekida
♦ Jedna od funkcija operacijskih sustava je da omoguće prekid
izvođenja glavnog programa (na zahtjev neke vanjske jedinice ili
nekog drugog programa)
► Prekida se izvođenje glavnog programa, prelazi se na
izvođenje drugog programa ili posebnog programa za
dotičnu vanjsku jedinicu (tzv. servisnu rutinu), a po
njihovom završetku nastavlja se izvođenje prekinutog
programa
♦ Jednostruki prekidi - program koji prekida izvođenje glavnog
programa ne može biti prekinut
♦ Višestruki prekidi - program koji prekida izvođenje glavnog
programa i sam može biti prekinut (npr. dolazi novi zahtjev za
prekidom koji je većeg prioriteta od trenutnog)
► Realizacija prekida – ključni faktor je postojanje memorije
organizirane u stog (stack)
53
♦ Ulazno-izlazni uređaj generira zahtjev za prekid i šalje ga
procesoru
♦ Trenutno aktivna instrukcija glavnog programa se izvodi do
kraja
♦ Procesor odgovara signalom potvrde i onemogućava nove
prekide iste razine
♦ Procesor pohranjuje tzv. minimalni kontekst trenutnog
programa (sadržaj PC-a, akumulatora, registra statusa,
registara opće namjene i sl.)
► Minimalni kontekst se pohranjuje na stog
► Ovo je potrebno da bi se osigurao pravilan povratak iz
prekidnog u prekinuti program i njegov normalan
nastavak
► Realizacija prekida (nastavak)
♦ Učitava se prekidni program (servisna rutina) i izvršava se do
kraja
♦ Nakon izvođenja prekidne rutine, nastavlja se s izvođenjem
prekinutog programa
► To se obavlja zadnjom instrukcijom prekidnog programa,
tipično rti (Return From Interrupt) instrukcijom
► Izvođenjem te instrukcije (rti), obnavljaju se sadržaji
programskog brojila (PC), registra stanja i registara opće
namjene
► Obnavljaju se iz minimalnog konteksta pohranjenog
na stogu – izvođenje glavnog programa nastavlja se
od njegove sljedeće instrukcije
► Ovo je bio primjer jednostrukog
prekida
♦ Isti koraci se primjenjuju i kod
višestrukih prekida – tada je
trenutno aktivni prekidni
program u ulozi “glavnog”
► Shematski prikaz izvođenja
jednostrukog prekida
54
IZLAZNE JEDINICE – MONITOR
► Najčešće korištena izlazna jedinica, koja prikazuje sliku na ekranu
► Prema tehnologiji koja se koristi za prikaz slike na ekranu, monitori se
dijele u dvije velike skupine:
♦ Monitori sa katodnom cijevi (CRT monitori)
♦ Flat-panel monitori (ekrani sa tekućim kristalima, plazma
ekrani, OLED ekrani, ...)
IZLAZNE JEDINICE - MONITOR – CRT
► Osnovu čini katodna cijev, koja služi za prikaz slike
► tri elektronska topa, od kojih svaki emitira po jednu zraku
elektrona – jednu za crvenu, jednu za plavu i jednu za
zelenu boju
► zrake se usmjeravaju na određeni dio ekrana pomoću
dvaju okomito položenih izvora izvora magnetskih polja –
tzv. Deflektora
► s unutarnje strane površine ekrana nalazi se fosforni
premaz, nanešen u obliku sitnih točaka
► po tri fosforne točke različitih kemijskih karakteristika
(crvena, zelena, plava) čine jedan piksel na ekranu
► fosforne točke emitiraju svjetlost kad ih pogodi zraka
elektrona
► kombiniranjem (aditivnim miješanjem) različitih
intenziteta emitirane crvene, plave i zelene svjetlosti
pojedinog piksela postiže se željena boja pojedinog piksela
► Shematski prikaz katodne
cijevi CRT monitora
55
► Način iscrtavanja slike kod CRT monitora
► zrake elektrona putuju po
površini ekrana red po red,
počevši od gornjeg lijevog ugla
► kako zrake prelaze preko
pojedinih piksela, tako se
pojačava/smanjuje intenzitet
elektronskih zraka i svaki piksel
zasvijetli odgovarajućom bojom
► zrake se pomiču horizontalno do kraja reda, a zatim se
elektronski top brzo usmjerava na početak novog retka
► isti se princip primjenjuje sve do posljednjeg retka na ekranu,
čime je završeno iscrtavanje cijele slike
► elektronski top opet usmjerava na vrh ekrana i postupak počinje
iz početka
► frekvencija osvježavanja ekrana = broj iscrtanih slika u sekundi (tzv.
vertikalna frekvencija)
IZLAZNE JEDINICE - MONITOR – REZOLUCIJA
► Rezolucija monitora - ukupan broj individualnih točaka koje monitor
može prikazati; izražava se kao umnožak broja točaka po horizontali i
vertikali ekrana
► Tipični CRT monitori mogu prikazivati slike na većem broju
razlučivosti; maksimalna razlučivost ovisi o:
56
► veličini katodne cijevi – veličina vidljive
dijagonale ekrana
► fizičkoj udaljenosti između fosfornih
točaka – tzv. dot pitch – predstavlja
udaljenost između dviju susjednih
fosfornih točaka istog tipa
IZLAZNE JEDINICE - MONITOR – PIKSEL
► Piksel (skraćeno od engl. picture element) je jedna točka unutar
pravokutne mreže (matrice) koja predstavlja sliku koju treba
reproducirati na ekranu ili ispisati na papir
► Piksel najmanja jedinica koja može biti prikazana na ekranu, ispisana
na papiru ili s kojom može manipulirati softver i hardver potreban za
prikaz i ispis grafike i teksta
► Fizički piksel (CRT monitor – tri fosforne točke razl. boja)
♦ broj im ovisi o veličini ekrana i o razmaku između istovjetnih
elementarnih fosfornih točaka
♦ o broju fizičkih piksela ovisi maksimalna razlučivost monitora
♦ taj broj ujedno predstavlja i najveći mogući broj piksela koji
mogu biti vjerno prikazani na ekranu
► Logički piksel = elementarna točka neke slike (kao npr. na slici slova
A dolje)
♦ slika je definirana konačnim i
nepromjenjivim brojem točaka (log.
piksela)
♦ kako monitor može raditi na različitim
razlučivostima, tako se i prikaz slike
mora prilagođavati razlučivosti monitora
ukoliko želimo zadržati identične dimenzije slike na ekranu
♦ iz toga je očito da odnos logičkih i fizičkih piksela nije uvijek 1:1,
nego je najčešće 1:N – za jedan logički piksel potrebno je više
fizičkih piksela
57
IZLAZNE JEDINICE - MONITOR – LCD
► LCD ekran - matrica LCD elemenata baziranih na tekućim kristalima;
element matrice - jedna točka na ekranu
► Slika se stvara na temelju konstantnog bijelog pozadinskog svjetla,
koje prolazi kroz matricu sa LCD elementima
♦ Pojedini LCD element može propustiti ili blokirati prolazak
pozadinskog osvjetljenja, čime je pojedinu točku na ekranu
moguće "upaliti" ili "ugasiti”
► Građa LCD elementa
♦ polarizirajući filtri s prednje i
stražnje strane - jedan propušta
svjetlo u horizontalnom smjeru, a
drugi u vertikalnom
♦ između polarizirajućih filtara nalaze
se dva posebno obrađena sloja koji
služe za poravnavanje molekula
tekućih kristala
♦ U “sendviču” tih slojeva nalaze se molekule tekućih kristala
♦ Slojevi za poravnanje okrenuti su jedan prema drugom pod
kutom od 90 stupnjeva - zahvaljujući tome se tekući kristali,
smješteni između ta dva sloja, poravnavaju u obliku spirale
(heliksa)
► “Upaljena” točka:
♦ Prvi polarizirajući filtar propušta samo vertikalnu komponentu
svjetlosti
♦ Prolaskom kroz molekule tekućih kristala u prirodnoj (spiralnoj)
formaciji, svjetlost se zakreće u smjeru orijentacije molekula
tekućih kristala
♦ Zahvaljujući postupnom spiralnom zakretanju molekula tekućih
kristala između dva sloja, i zraka svjetlosti se isto tako postupno
zakreće za 90 stupnjeva
58
♦ Zbog toga zraka svjetla pada pod ispravnim kutom na drugi
polarizator, pa zraka prolazi kroz LCD element i ta je točka
“upaljena”
► “Ugašena" točka:
♦ Molekule tekućih kristala pod utjecajem električnog napona
mijenjaju orijentaciju
♦ Iz spiralnog oblika će pod utjecajem napona prijeći u linearni oblik
♦ U tom slučaju zraka svjetlosti koja je prošla kroz prvi polarizator
neće promijeniti svoju orijentaciju, pa će pod neizmijenjenim kutom
pasti na drugi polarizator
♦ Kako je on okrenut okomito u odnosu na prvi polarizator, neće
propustiti zraku svjetlosti i takva će točka na ekranu biti “ugašena”
► Stupanj “izravnanja” orijentacije molekula
ovisi o veličini napona
♦ Kontrolom jačine napona se kontrolira
količina propuštene svjetlosti kroz
izlazni polarizator, pa neka točka može
biti manje ili više “upaljena”
► Način iscrtavanja slike - uključivanjem ili
isključivanjem svakog pojedinog LCD elementa; ovisno o tome kako je
riješen taj problem, razlikuju se dvije osnovne vrste LCD ekrana:
♦ Pasivni LCD ekrani
♦ Aktivni LCD ekrani
► Pasivni LCD ekrani
♦ LCD elementi poslagani u matricu spojeni su na el. Vodiče - za
svaki redak i svaki stupac matrice postoji po jedan vodič
♦ Propuštanjem struje kroz točno određeni red i stupac “gasi” se
jedan LCD element
♦ Propuštanje struje u vodiče se kontrolira pomoću tranzistora
► Potreban je po jedan tranzistor za svaki red i svaki stupac
► Pasivni LCD ekrani (nastavak)
♦ Slika se iscrtava redak po redak
59
► Pod naponom se drži vodič za prvi redak, te se
istovremeno propusti napon kroz potrebne vodiče po
stupcima
► Prelaskom na idući redak, prethodni gubi napon, pa LCD
elementi vrlo kratko ostaju u definiranom stanju – tj.
“ugašeni” pikseli vrlo brzo postaju prozirni. Zbog brzine
postupka iscrtavanja, ljudsko oko ne registrira taj
problem, ali:
► Kontrast i svjetlina dobivene slike su slabi
► Slaba je vidljivost slike pod imalo većim kutem
gledanja
► Aktivni LCD ekrani
♦ Problem pasivnih ekrana je riješen tako da svaki LCD element
ima svoj kontrolni tranzistor, koji može propuštati struju toliko
dugo koliko je potrebno
► Time je omogućena slika s punim kontrastom boja i daleko
većim kutom gledanja na ekran
IZLAZNE JEDINICE – PISAČ
► Pisači su izlazne jedinice koje zapisuju podatke na papirnate medije ili
folije
► Prema načinu na koji se stvara ispis, pisače je moguće podijeliti na
dvije glavne skupine:
♦ Pisače s udarcem, i
♦ Pisače bez udarca
Pisači s udarcem
► Starija su generacija pisača i danas se rjeđe koriste
♦ Pisači s bubnjem, s lancem, s lepezom, s kuglom – gotovo su
nestali
♦ Još se često koriste matrični pisači (Dot-Matrix printers)
► POS (Point Of Sale) sustavi, tj. 'pametne' blagajne za ispis
računa
60
► Uredsko poslovanje - zakonodavac propisuje obveznu
izradu većeg broja kopija nekog dokumenta, a jedino pisač
s udarcem omogućava istovremeni ispis većeg broja
kopija (mehanički udarac + korištenje indigo-papira – kao
na mehaničkim pisaćim strojevima)
Matrični pisači
► Ispis pomoću glave za pisanje - u glavi se nalazi određeni broj iglica
(tipično 9 ili 24), raspoređenih u pravokutnu matricu
► Glava se nalazi na pomičnom mehanizmu, koji pomiče glavu s lijeva na
desno i natrag - ispis jednog retka teksta
► Iglice iz glave za pisanje udaraju po vrpci (ribbon) natopljenoj tintom,
koja je smještena između glave i papira (slično kao kod pisaćeg stroja)
♦ Ispis pojedinog znaka ili dijela slike se oblikuje tako da se
istovremeno aktiviraju one iglice u glavi koje su potrebne za
oblikovanje pojedinog slova ili dijela crteža
♦ Nakon ispisa jednog retka, glava se vraća na početak reda, a
valjak vertikalno pomiče papir za jedan redak
► Tekstualni način rada
♦ Ispis slova, brojeva i specijalnih simbola i znakova (npr. po
ASCII tablici znakova)
♦ U ROM memoriji pisača su u obliku bitmape definirani izgledi
svakog znaka – na temelju takve definicije znaka aktiviraju se
potrebne iglice u glavi pisača, kako bi se ispisao potrebni znak
► Grafički način rada
► Točku po točku se iscrtava
bitmapirana slika koju mu šalje
računalo
► Rezolucija matričnog pisača
♦ Izražava se u broju znakova (slova) po inču – cpi (Characters Per
Inch)
Pisači bez udarca
► Zapis na papiru ne realiziraju mehaničkim udarcima, već na razne
druge načine
61
► Kvaliteta ispisa teksta i slike je superiorna u odnosu na pisače sa
udarcem
► U pisače bez udarca ubrajaju se sljedeće vrste pisača:
♦ Laserski pisači
♦ Tintni (ink-jet) pisači
♦ Termalni pisači (kod fax uređaja)
♦ Solid-ink pisači
♦ Sublimacijski pisači, itd.
► Rezolucija pisača bez udarca - izražava se kao broj točaka po inču (dpi
– Dots Per Inch) koje pisač može ispisati na medij
♦ Tipične rezolucije laserskih pisača kreću se od 600 do 2400 dpi
♦ Rezolucije tintnih pisača kreću se od 600 do 4800 dpi
IZLAZNE JEDINICE – LASERSKI PISAČ
► Način rada im je uvelike sličan fotokopirnom stroju
► Zadatak - prenijeti rastersku sliku iz računala na papir (i tekst i slike
se “iscrtavaju”, tj. tretiraju se istovjetno – kao slike)
► Osnovni dijelovi
♦ Izvor laserske zrake
♦ Sustav leća i ogledala
za usmjeravanje
laserske zrake
♦ Fotosenzitivni bubanj
♦ Toner
♦ Elektrode za nanošenje
statičkog naboja na
bubanj i papir
♦ Niz pomoćnih valjaka
za fiksiranje tonera i
transport papira
► Način rada – ponavljajući ciklusi
♦ Rasterska slika se laserskom zrakom postupno, uz pomoć leća i
ogledala, prenosi na fotoosjetljivi bubanj
♦ Bubanj konstantno rotira, a mjesta na kojima mora biti vidljiva
točka pogođena su laserskom zrakom i mijenjaju naboj – formira
se mreža poz. i neg. naboja, oblikovana poput polazne rasterske
slike
62
♦ Rotacijom bubnja, mjesta s promijenjenim nabojima dolaze do
kazete s tonerom
► Toner - iznimno fini crni prah, koji ostavlja fizički trag
zapisa na papiru
♦ Naboj čestica tonera je suprotan “pogođenim” mjestima na
bubnju – čestice tonera se priljepljuju na bubanj – na bubnju je
formirana slika
♦ Daljnjom rotacijom bubnja čestice tonera dolaze u kontakt s
papirom
► Papir je nabijen suprotnim nabojem od tonera – čestice
tonera se odvajaju od bubnja i lijepe za papir, te je slika
prenesena na papir
♦ Papir s tonerom putuje prema komori za fiksiranje tonera
► visoka temperatura i tlak tale toner i njegove čestice se
fizički priljepljuju za papir
► Shematski prikaz
IZLAZNE JEDINICE – TINTNI PISAČ
► Zapis na papiru stvara pomoću mikroskopski sitnih kapljica tinte, koje
se izbacuju iz glave za ispis
♦ Kao i laserski pisači, rade isključivo u grafičkom načinu rada, tj.
Isctravaju i tekst i slike kao bitmape
► Princip rada
♦ Glava za ispis prelazi horizontalno preko medija za ispis
63
♦ U glavi se nalazi veći broj mikroskopski tankih cjevčica
♦ Na potrebnim mjestima će kroz određene cjevčice mehanizam u
glavi za pisanje izbaciti sićušne kapljice tinte (promjera 50 do 60
mikrometara) odgovarajućih osnovnih boja
♦ Kapljice boje upijaju se u papir i miješanjem stvaraju točkicu
određene boje
♦ Jednim prolazom glave po širini papira ispisuje se više redaka,
jer su cjevčice u glavi posložene u više redaka i stupaca
► Ovisno o tehnologiji izrade glave za ispis, razlikuju se dvije osnovne
vrste tintnih pisača
♦ Pisači s termičkom glavom, i
♦ Pisači s piezo-električnom glavom.
Tintni pisač s termičkom glavom
1. Za izbacivanje kapljica tinte koristi se
toplina
2. Grijač u vrlo kratkom intervalu snažno
zagrije tintu, te prestaje sa
zagrijavanjem
3. Neposredno pored grijača nastaje
mjehurić tinte koji se vrlo brzo širi
4. U određenom trenutku mjehurić eksplodira i kroz cjevčicu se izbacuje
kapljica tinte
5. Hlađenjem elementa za zagrijavanje, mjehurić tinte se urušava, čime
se u glavi stvara zrakoprazni prostor, koji iz spremnika uvlači novu
količinu tinte.
6. Tinta mora biti otporna na toplinu, tj. Ne smije promijeniti kemijska
svojstva pod utjecajem topline
Tintni pisač s piezo-električnom
glavom
► kod piezo-električnih glava se za
izbacivanje kapljica ne koristi toplina, već
vibracije tzv. piezo-kristala
64
♦ piezo-kristali vibriraju kad kroz njih prolazi struja
► glava za ispis sastoji se od brojnih piezo-elemenata, od kojih je svaki
zadužen za izbacivanje kapljice tinte kroz jednu cjevčicu
► vibracije piezo-kristala se preko fleksibilne membrane prenose na
tintu, čime se iz cjevčice izbacuje kapljica tinte
ULAZNE JEDINICE – SKENER
► Koriste se za digitalizaciju i unos u računalo podataka pohranjenih na
papirnatim ili sličnim analognim medijima
► Princip rada svih vrsti skenera vrlo je sličan radu fotokopirnog stroja
► Postoji više kategorija skenera, a najčešće ih dijelimo na:
♦ Stolne (flatbed) skenere
♦ Ručne (handheld) skenere
♦ Protočne skenere
♦ Skenere za posebne namjene
► Stolni skeneri
♦ Najčešće korištena vrsta skenera
► Skenira se jedna po jedna stranica medija
► Stranica koja se skenira je nepomična, a pomiče se glava
za skeniranje
► Ručni skeneri
♦ Minijaturni skeneri - lako su prenosivi, ali daju lošije rezultate
► skenirani medij je nepomičan, a čovjek mora ručno
povlačiti skener preko medija
► Protočni skeneri
♦ Skeneri velikih dimenzija - profesionalna primjena i skeniranje
izrazito velikih medija (format A0 i više)
► glava za skeniranje je stacionarna, a pomiče se medij
kojeg treba skenirati
► Posebne vrste skenera – specijalizirani zadaci
♦ tipičan primjer - čitač bar-koda
65
ULAZNE JEDINICE - SKENER - PRINCIP RADA
► Primjer stolnog skenera
♦ Medij se polaže na ravnu staklenu površinu na vrhu skenera
♦ Pomični izvor usmjerene konstantne bijele svjetlosti u kućištu,
koji se u koracima pomiče u vertikalnom smjeru, postupno
obasjava medij liniju po liniju
♦ Svjetlost reflektirana od medija se kroz sustav prizmi, zrcala i
leća usmjerava na niz fotoosjetljivih senzora (tzv. glavu za
skeniranje)
► Skener u boji – svjetlost prvo prolazi kroz crveni, plavi ili
zeleni filtar
♦ Kao fotoosjetljivi senzori najčešće koriste tzv. CCD (Charge-
Coupled Device) senzori
► Uloga CCD senzora je pretvaranje svjetlosti u električni
signal - jači intenzitet svjetlosti stvara električni signal
većeg napona
♦ Analogni naponski signal se (analogno-digitalnom konverzijom)
pretvara u diskretnu digitalnu vrijednost, koja predstavlja
podatak o boji određene točke na analognom mediju
► Primjer stolnog skenera – shematski prikaz
66
FONT
► Fontom nazivamo skup znakova istog pisma (npr. Courier), istog stila
(npr. kosi, eng. italic), iste težine poteza (npr. masni, eng. bold), te
veličine (npr. 12 točaka)
► Font i pismo nisu istovjetni pojmovi
♦ Font se odnosi na sve znakove raspoložive u određenoj veličini,
stilu i težini
♦ Pismo označava oblik (dizajn) znakova – serifna, neserifna,
dekorativna, specijalna pisma itd.
VRSTE FONTOVA
► Prema širini znakova
♦ Neproporcionalni fontovi
► Jednaka širina svih znakova
► Npr. font Courier ("Tekst pisan fontom Courier")
♦ Proporcionalni fontovi
► Različita (prirodna) širina znakova
► Npr. fontovi Arial, Roman, Verdana, ... ("Tekst pisan
fontom Arial")
► Prema tehnologiji izrade
♦ Vektorski (obrisni) fontovi
► Oblik znaka definiran je matematičkim krivuljama;
Promjena dimenzija znaka je moguća bez gubitka kvalitete
♦ Rasterski (bitmap) fontovi
► Svaki je znak opisan jedinstvenim uzorkom bitova
(uzorkom točaka, bitmapom); Promjenom dimenzija znaka
gubi se kvaliteta
67
VEKTORSKO-RASTERSKA PRETVORBA (RIP)
► Problem ispisa vektorski definiranih sadržaja na uređajima koji
razumiju jedino rasterski oblik zapisa (većina ekrana i pisača)
♦ Postupak pretvaranja vektorskog zapisa u bitmapu naziva se RIP
(Raster Image Processing)
♦ sam postupak se izvodi pomoću RIP (Raster Image Processor)
softvera
► RIP može biti prisutan u raznim "oblicima“
♦ ugrađen u pisače, kao dio softvera u ROM memoriji pisača
♦ kao zasebna aplikacija, koja se instalira na korisnikovo računalo
ili mrežni poslužitelj
♦ kao zasebni uređaj, tj. posebno dizajnirano računalo, čija je
jedina uloga rasterizacija vektorskih zapisa – zbog brzine i
skupoće, primjenjivo je samo u najzahtjevnijim situacijama
ORGANIZACIJA PROCESORSKOG VREMENA
► Odnosi se na obradu podataka na višoj razini – ne na pojedinačne
instrukcije, već na procese i programe kao cjeline, te skupine
programa
► Različiti oblici organizacije (tj. korištenja) procesorskog vremena
♦ Sekvencijalna obrada
♦ Sekvencijalna obrada s prioritetom
♦ Timesharing (obrada s podjelom vremena)
♦ Multiprograming ili multitasking (multiprogramska obrada)
♦ Multiprocessing (multiprocesiranje)
♦ Real-time processing (obrada u stvarnom vremenu)
► Sekvencijalna obrada
♦ Slijedno izvođenje programa ili procesa, jednog za drugim, u
skladu s pristizanjem zahtjeva za izvođenjem
68
♦ Procesor posvećuje svoje cjelokupno vrijeme jednom procesu
dok ga ne izvrši do kraja
♦ Problem efikasnosti
► Sekvencijalna obrada s prioritetom
♦ Slijedna obrada, ali važniji procesi dobivaju veći prioritet i prije
dolaze na red za obradu
♦ Dodjela prioriteta je automatska (na razini OS-a) ili ručna
(administrator sustava)
► Timesharing
♦ Svakom programu (procesu) dodjeljuje se diskretni, kratki
vremenski odsječak za izvođenje i obradu
♦ Velika brzina izmjene
vremenskih odsječaka –
stvoren je privid
istovremene obrade većeg
broja programa
► Multiprogramska obrada (Multiprogramming, Multitasking)
♦ Kod višezadaćnih i višekorisničkih OS-ova; slično time-sharing
obradi, uz sljedeće razlike:
► Različito trajanje vremenskih odsječaka po procesu
► Redoslijed izvođenja nije zadan poretkom pristizanja
zahtjeva za izvođenjem (prioriteti, itd.)
► Procesi većeg prioriteta mogu prekinuti izvođenje procesa
s nižim prioritetom (programski prekidi)
► Multiprocesiranje (Multiprocessing)
♦ Karakteristična za računala koja posjeduju više procesora
♦ Stvarna istovremenost u obradi procesa
► Obrada u stvarnom vremenu (Real-Time Processing)
♦ Potpuno drugačija koncepcija – najčešće se koriste u
industrijskom okruženju gdje obrada mora biti izvedena u
zadanom vremenskom okviru
69
♦ Različita osjetljivost sustava na probijanje vremenskih rokova
► "Tvrda" real-time obrada – vremenski kritični sustavi,
apsolutno poštivanje vremenskih ograničenja (npr.
autopilot u avionu)
► "Meka" real-time obradu – vremenska ograničenja postoje,
ali probijanje rokova nije kritično za funkcioniranje
sustava
♦ Koriste se posebna računala i posebni operacijski sustavi,
prilagođeni poštivanju strogih vremenskih ograničenja
TEHNOLOGIJE IZRADE ELEMENATA RAČUNALA
► TRANZISTORI = osnovni gradivni elementi poluvodičkih sklopova,
služe za realizaciju svih elektroničkih sklopova
♦ izrađuju se od poluvodičkih materijala (najčešće korišteni
materijal je silicij)
♦ vodljivost poluvodiča ovisi o postojanju tzv. nosioca naboja:
► Elektrona
► Protona
► Dvije osnovne tehnologije za izradu tranzistora:
♦ Unipolarna (MOS)
♦ Bipolarna
► MOS FET (Metal Oxyde Semiconductor Field Effect Transistor)
tehnologija
♦ tranzistori rade na principu djelovanja električnog polja koje se
javlja protjecanjem struje između dviju elektroda
♦ Razlikujemo tri osnovne izvedbe MOS tranzistora:
► NMOS
♦ Nositelj naboja su elektroni (negativni naboji – N tip
MOS tranzistora – NMOS)
♦ Osnovu čini podloga (supstrat) izrađena od p-tipa
poluvodiča
70
♦ Na podlozi su izrađene dvije elektrode od n-tipa
poluvodiča
♦ Na površini podloge je smješten izolator (najčešće
silicijev dioksid), a sa izolatorom je povezana
upravljačka elektroda (gate)
► PMOS
♦ Nositelj naboja su protoni
(pozitivni naboji – P tip MOS
tranzistora – PMOS)
♦ Za razliku od NMOS
tranzistora, ovdje je supstrat
izrađen od n-tipa poluvodiča,
a izvor i ponor od p-tipa
poluvodiča
71
► CMOS
► Za realizaciju CMOS tranzistora se koristi
jedan NMOS i jedan PMOS tranzistor
► NMOS i PMOS tranzistor su povezani
zajedničkim ponorom
ORGANIZACIJA UNUTRAŠNJE MEMORIJE
► Razlikujemo tri tipične organizacije memorije:
♦ Dvodimenzionalnu
♦ Trodimenzionalnu
♦ Memoriju organiziranu u stack
Dvodimenzionalna organizacija (2D)
♦ Memorijski elementi su poredani u pravokutnu matricu, jedan
do drugog i jedan ispod drugog, tako da, gledajući horizontalno
tvore jednu riječ (jednu memorijsku lokaciju), a gledajući
vertikalno predstavljaju skup bitova iste težine
► Broj redaka određuje broj (kapacitet) riječi koje je moguće
pohraniti u tako organiziranu memoriju
► Broj stupaca određuje širinu riječi koju je moguće
pohraniti
♦ Aktivirani redak sudjeluje u akciji čitanja ili pisanja
♦ Nedostatak: velik broj vodova potrebnih za realizaciju memorije
72
Trodimenzionalna organizacija (3D)
♦ Selekcija pojedine memorijske ćelije ne izvrši se do kraja u
posebnom vanjskom adresnom dekoderu, već se dio selekcije
izvodi i u samoj memorijskoj ćeliji
♦ Adresni registar i dekoder podijele se na dvije polovice - jedna
za horizontalno adresiranje, a druga za vertikalno
♦ Duljina riječi predstavlja treću dimenziju memorije
► Adresira se samo ona memorijska ćelija koja je na
presjecištu odabrane horizontalne i vertikalne linije
♦ Nedostatak : u jednoj ravnini trodimenzionalne memorije
adresira se samo jedna memorijska ćelija
2D MEMORIJA – ORGANIZACIJA JEDNE MEMORIJSKE ĆELIJE
73
Memorija organizirana u stack
♦ Pristup podacima omogućen je samo odgovarajućim
redoslijedom
♦ Stack memorije rade po LIFO (Last In First Out) principu
► Realizacija memorije organizirane u stack:
► Unutar procesora, pomoću niza šift-registara
► Unutar radne memorije, uz pomoć SP registra
3D MEMORIJA – ORGANIZACIJA JEDNE MEMORIJSKE ĆELIJE
PRIMJER ORGANIZACIJE TRODIMENZIONALNE MEMORIJE
74
♦ Realizacija pomoću šift-registara :
► Za stack memoriju širine N bita trebamo N šift registara
► "Dubina" takve stack memorije ovisi o duljini šiftera
► Operacije sa stackom se svode na elementarne operacije
šiftera – posmak ulijevo i udesno
♦ Realizacija pomoću SP (Stack Pointer) registra:
► realizira se u RAM memoriji korištenjem određenog broja
memorijskih lokacija
► operacije nad stakom realiziraju se prividnim pomicanjem
vrha staka
► pomak se ostvaruje promjenom adrese koja pokazuje na
vrh staka, a ta adresa je zapisana u SP registru u
procesoru
► Pri svakoj push ili pop operaciji se poveća ili umanji
sadržaj SP registra, koji na taj način uvijek pokazuje na
vrh staka
VRSTE UNUTRAŠNJIH MEMORIJA
► ROM (Read Only Memory) - omogućava jedino čitanje pohranjenih
sadržaja
► RAM (Random Access Memory) - omogućava i čitanje i pisanje
ROM memorija
► Služi za pohranu programa i podataka koji se za vrijeme rada
računalnog sustava smiju samo čitati
► Sadržaj ROM memorije određuje konstruktor računala i fiksno je
definiran prilikom proizvodnje računala
► Primjer – BIOS (Basic Input-Output System) ROM memorija
► Vrste ROM memorija:
♦ Programabilne ROM memorije (PROM – Programmable
ROM) – moguće ih je programirati od strane krajnjeg korisnika
korištenjem posebnih uređaja (programatora)
♦ Izbrisive ROM memorije (EPROM – Erasable PROM) – za
razliku od PROM memorija, moguće ih je više puta programirati
75
zahvaljujući mogućnosti brisanja već upisanih sadržaja
RAM memorija
► naziva se i radna memorija – služi kao spremnik u koji se tijekom
obrade računalnih programa pohranjuju instrukcije, operandi,
rezultati obrade, ...
► s obzirom na realizaciju elementarnih memorijskih ćelija razlikujemo
dvije izvedbe RAM memorije:
♦ Statičku RAM memoriju
► Elementarna memorijska ćelija je sastavljena od jednog
bistabila koji pamti zadano stanje sve dok ne dođe vanjski
signal koji zahtijeva promjenu stanja bistabila (0 ili 1)
► Upisane podatke nije potrebno periodički osvježavati
♦ Dinamičku RAM memoriju
► Elementarna ćelija koja pamti jedan bit se temelji na
postojanju električnog naboja na kondenzatoru
► Dotični naboj se postepeno izbija, pa se, da ne bi
došlo do gubitka podataka, naboj mora periodički
obnavljati
76
UVOD U PROGRAMIRANJE
UVOD
♦ Temeljni princip rada računala je izvođenje niza instrukcija koje su
unaprijed pripremljene i pohranjene u radnoj memoriji računala.
♦ Niz takvih instrukcija koje čine zaokruženu cjelinu, tj. obavljaju neki
zadatak ili funkciju bitnu za krajnjeg korisnika, naziva se
programom.
♦ Postupak izrade programa u nekom od programskih jezika naziva
se programiranjem.
♦ Programi su računalna implementacija nekog procesa iz realnog
(poslovnog) sustava.
a. Da bismo od poslovnog procesa došli do njegove računalne
implementacije tj. programa, potrebno je proći kroz sljedeće
korake:
i. Analiza realnog sustava
1. raščlaniti funkcije realnog sustava na procese i
podprocese, te odlučiti koji će od njih biti
informatizirani
2. identificirati tokove podataka među (pod)procesima
ii. Oblikovanje programskog sustava
1. podijeliti (pod)procese na elementarne zadatke (tj.
procedure)
2. definirati ulazne i izlazne podatke za svaku od
procedura
iii. Realizacija programskog sustava
1. opis svake od procedura pomoću algoritama
(konačni niz koraka koji u konačnom vremenu
jednoznačno dovode do rješenja problema) koji se za
potrebe programiranja najčešće iskazuju u "polu-
formalnoj/polu-slobodnojezičnoj formi" (npr. pomoću
pseudokoda) ili u grafičkom obliku (npr. blok-
dijagrami) ili u matematičkom obliku.
77
2. implementacija algoritama u konkretnom
programskom jeziku i njihovo povezivanje u cjelinu
= programiranje
3. testiranje programskog sustava – provjerava se
ispravnost rada programskog sustava, pri čemu se
koriste prethodno definirani ulazni podaci
4. izrada dokumentacije programskog sustava
5. uvođenje u rad
♦ Programski jezik bismo najkraće mogli definirati kao formalni
umjetni jezik koji krajnjim korisnicima (ljudima) omogućuje izdavanje
uputa računalu.
PROGRAMSKI JEZIK
♦ Programski jezik sastoji se od sljedećih elemenata (dijelova):
a. Ključne riječi
b. Pravila pisanja naredbi (sintaksa)
c. Editor programskog koda
d. Program prevoditelj
Ključne riječi
e. Još ih nazivamo i naredbama
f. Svaka naredba izvršava određeni elementarni zadatak na
nivou programskog jezika
g. Kombiniranjem ključnih riječi u veće cjeline nastaje izvorni kod
programa, tj. program napisan u određenom programskom
jeziku
Pravila pisanja naredbi (sintaksa)
h. Program nastaje povezivanjem većeg broja naredbi nekog
programskog jezika u veće cjeline, ali se pri tome treba držati
određenih pravila:
1. naredbe se ne mogu i ne smiju nizati bilo kakvim
redoslijedom, već logički ispravnim redoslijedom
(semantička ispravnost)
78
2. svaka naredba mora biti zadana na pravilan način –
u skladu s pravilima (sintaksom) pisanja naredbi za
dotični programski jezik
a. kod pisanja naredbi treba pripaziti na
upotrebu velikih i malih slova
b. neke naredbe zahtijevaju argumente
(parametre) za ispravan rad, a neke ne – treba
pripaziti da se navedu svi potrebni argumenti,
i to u ispravnom redoslijedu
Editor programskog koda
1. razvojno programsko okruženje unutar kojeg pišemo ključne riječi
programskog jezika prema zadanim pravilima pisanja naredbi (=
izvorni kod programa)
2. izvorni kod programa možemo pisati i u najobičnijem editoru
teksta, a možemo ga pisati i unutar sofisticiranih razvojnih
okruženja (IDE – Integrated Development Environment), koja,
pored mogućnosti uređivanja teksta, u jedno okruženje integriraju
i:
isticanje ključnih riječi programskog jezika
podršku za prevođenje i/ili izvršavanje programa
podršku za ispravljanje pogrešaka u programu
(debugging), itd.
Program prevoditelj
1. Izvorni kod napisan u nekom programskom jeziku razumljiv je
čovjeku, ali ne i računalu koje će ga morati izvršavati
izvorni kod programa mora se prevesti u računalu razumljiv
strojni oblik, tj. u strojne instrukcije (nizove 0 i 1)
s obzirom na vrstu i namjenu programskog jezika, prevođenje
se može izvršiti kao kompiliranje (kompajliranje) ili kao
interpretiranje – u tu se svrhu koriste programi
prevoditelji – kompajleri ili interpreteri
Kompajleri prevode izvorni kod programa kroz sljedeće
korake:
♦ učitavanje kompletnog izvornog koda programa
79
♦ leksička (semantička) i sintaktička analiza izvornog
koda – pronalaženje pogrešaka u programu
♦ konstrukcija radnog programa – zamjena naredbi u
izvornom kodu sa strojnim instrukcijama – faza
prevođenja u užem smislu
♦ optimizacija prevedenog programa
♦ dobivanje izvršne datoteke
Rezultat postupka kompajliranja je izvršna datoteka
(execute datoteka) s prevedenim strojnim
instrukcijama.
♦ Postupak prevođenja se radi samo jednom, a izvršna
datoteka se može pokretati bilo kada, bez potrebe za
ponovnim prevođenjem izvornog koda u strojne
instrukcije.
Kompajlerski jezici – C, C++, C#, Pascal, ...
Interpreteri prevode izvorni kod programa kroz sljedeće
korake:
1. učitavanje jedne linije izvornog koda programa
2. leksička i sintaktička analiza učitane linije
izvornog koda
3. prevođenje naredbi iz učitane linije izvornog koda
u strojne instrukcije
4. izvođenje strojnih instrukcija iz prevedene linije
izvornog koda
5. čitanje iduće linije izvornog koda i ponavljanje
kompletnog postupka opisanog u koracima 2-5
sve dok se ne izvede i zadnja linija izvornog koda
♦ Rezultat postupka interpretiranja je izvršeni program,
tj. obrada podataka
ne stvara se izvršna datoteka, nego se prilikom
svakog pokretanja programa mora napraviti i
prevođenje izvornog koda u strojne instrukcije
postupkom interpretiranja.
80
♦ Interpreterski jezici – Basic, PHP, ASP, Python ...
GENERACIJE PROGRAMSKIH JEZIKA
1. Prva generacija – strojni jezici – komunikacija u obliku nizova 0 i 1.
2. Druga generacija – asemblerski jezici – počeci simboličkih
programskih jezika
3. Treća generacija – viši programski jezici – odmak od strojne
osnovice, programiranje na višoj razini
4. Četvrta generacija – deklarativno programiranje – ne navodi se
detaljno kako program treba raditi, već što treba raditi – generatori
5. Peta generacija – računalo rješava probleme bez pomoći programera
– umjetna inteligencija
Prva generacija
– za komunikaciju s računalom programeri su morali pisati programe u
strojnom jeziku – u obliku nizova 0 i 1.
Svaka naredba morala je biti iskazana u čistom binarnom
sustavu
Programski jezik prve generacije zove se strojni jezik
Prednosti
nema potrebe za prevođenjem u strojni jezik
brzina izvršavanja, …
Nedostaci
Vrlo spor i naporan proces programiranja
Čitljivost takvog koda?!?
Druga generacija
– radi pojednostavljenja komunikacije između programera i računala,
počeli su se razvijati tzv. simbolički jezici, koji su bili prilagođeniji
čovjeku.
Tipičan primjer programskog jezika druge generacije je
asembler
Instrukcije (tj. naredbe) u asembleru se zapisuju pomoću
simbola (tj. mnemonika) – npr. instrukcija za zbrajanje zadaje se
81
mnemonikom ADD umjesto niza 0 i 1 kojim bi tu istu instrukciju
zadali u strojnom jeziku
Odnos između asemblerskih instrukcija i strojnih instrukcija u
pravilu je 1:1
Proces prevođenja iz asemblera u strojni jezik je direktan
– svaka asemblerska instrukcija neposredno se preslikava
u odgovarajuću strojnu instrukciju
Asembler je po razini programiranja vrlo blizak strojnom
jeziku
Prednost – velika brzina
i jednostavnost
prevođenja, te velika
brzina izvođenja
programa
Nedostatak – i dalje je
programiranje vrlo
kompleksno
Treća generacija
– programski jezici treće generacije (tj. viši programski jezici) bitno
su olakšali rad čovjeka i njegovu komunikaciju s računalom budući da
su instrukcije vrlo slične govornom engleskom jeziku ili standardnoj
matematičkoj notaciji.
Predstavnici jezika treće generacije su: Basic, Pascal, C, C++,
Fortran, PHP, ASP, Python, C#, …
Postupak prevođenja naredbi u strojni jezik je daleko složeniji
postupak
Jednom naredbom višeg programskog jezika izvršava se posao
za koji je potrebno više (mnogo) strojnih instrukcija – odnos 1:N
Četvrta generacija
– teži se još većem pojednostavljenju procesa programiranja
82
naglasak je na opisivanju onoga što neka procedura iz realnog
sustava radi, a ne na implementaciji konkretnih algoritama
potrebnih za realizaciju same procedure
predstavnici tih jezika su razne vrste upitnih jezika, generatora
izvještaja, generatora aplikacija i sl.
problem – jezici nisu opće namjene, već su specijalizirani samo
za određene problemske domene
Peta generacija
– kako omogućiti računalu da riješi bilo kakav problem bez pomoći
programera?
zadatak korisnika ("programera") je odrediti ograničenja i uvjete
kojima mora udovoljavati rješenje nekog problema
jezik pete generacije mora sam, potpuno automatski, kreirati i
implementirati algoritam potreban za rješavanje problema u
okviru zadanih uvjeta i ograničenja
potpuna automatizacija do današnjeg dana nije ostvarena!
OSNOVNE PROGRAMSKE STRUKTURE Kod razvoja kompleksnijih programa poželjno je organizirati budući
program na papiru, koristeći pri tome
a. mješavinu govornog jezika i izabranog programskog jezika (tj.
pseudokod) za opis elementarnih postupaka, ili
b. grafički prikaz pomoću simbola koji predstavljaju elementarne
postupke (tj. blok-dijagram), ili
c. oboje
Većinu problema je u konačnici moguće dekomponirati na nekoliko
osnovnih programskih struktura:
a. Slijed (sekvenca)
b. Grananje (selekcija, izbor)
c. Ponavljanje (iteracija, petlja)
Povezivanjem i kombiniranjem osnovnih programskih struktura u
skladu s problemom kojeg treba riješiti dobivamo željeni program
83
na razini pseudokoda.
Konkretizacijom pseudokoda u ciljni programski jezik (zamjenom
osnovnih struktura s naredbama ciljnog programskog jezika)
dobivamo željeni program u obliku izvornog koda.
Blok dijagram – simboli
Slijed (sekvenca)
1. Slijed (sekvenca) – niz osnovnih naredbi unutar programa, koje se
izvršavaju jedna za drugom, onim redoslijedom kako su i zadane
Gledano u globalu, cijeli program je sekvenca – njegove se
naredbe izvode slijedno, od prve do posljednje, točno onim
poretkom kojim su zadane u izvornom kodu programa
2. Grananje – ovisno o ispunjenju nekog uvjeta, izvršava se jedan od
više blokova (sekvenci, nizova) naredbi
Grananje ima iznimno veliku ulogu kod određivanja koji će se
niz naredbi sljedeći izvršiti – tj. omogućava promjenu tijeka
izvođenja programa
Bez uporabe grananja, svaki bi se program izvršavao strogo
slijedno, naredbu po naredbu, od prve do posljednje
Grananje omogućava da se neki nizovi naredbi u
programu (tj. određene "grane" u programu) izvršavaju
samo ako je ispunjen zadani uvjet
84
Ako uvjet grananja nije ispunjen, pripadajuća "grana"
naredbi neće biti izvršena
3. Ponavljanje (iteracija, petlja) – izvršava određeni blok (sekvencu)
naredbi toliko dugo dok je ispunjen neki uvjet
Ponavljanja (petlje) također imaju iznimno veliku ulogu kod
promjene tijeka izvođenja programa, tj. kod narušavanja
osnovne sekvence u izvođenju programa
Petlja omogućava da se neki nizovi naredbi u programu
ponavljaju više puta uzastopce, toliko dugo dok je ispunjen
zadani uvjet
Kad uvjet petlje više nije ispunjen, petlja završava i tijek
programa se nastavlja s prvom sljedećom naredbom nakon
same petlje
Petlje s nepoznatim brojem ponavljanja – varijanta 1
Petlja s izlazom na vrhu
1. Prvo se ispituje točnost uvjeta za ponavljanje
85
2. Ako je uvjet ispunjen, izvodi se blok naredbi unutar
petlje, a zatim se bezuvjetno vraćamo na vrh petlje i
na korak 1.
3. Ako uvjet nije ispunjen, blok naredbi unutar petlje se
ne izvršava, sama petlja završava s radom, a
program se nastavlja prvom sljedećom naredbom
nakon petlje
Petlje s nepoznatim brojem ponavljanja – varijanta 2:
Petlja s izlazom na dnu
Izvodi se cijeli blok naredbi unutar petlje, a tek se na
kraju ispituje točnost uvjeta za ponavljanje
Ako je uvjet ispunjen, vraćamo se na vrh petlje i na
korak 1.
Ako uvjet nije ispunjen, petlja završava s radom, a
program se nastavlja prvom sljedećom naredbom
nakon petlje
86
Petlje s poznatim brojem ponavljanja
blok naredbi unutar petlje izvršava se zadani broj
puta
petlja sadrži brojač, čija se vrijednost na kraju
svakog ciklusa petlje povećava za zadanu vrijednost
(najčešće za 1)
brojač se kreće u rasponu od m (donja granica) do n
(gornja granica), što znači da petlja ima ukupno n-m
ciklusa
u prvom ciklusu petlje brojač poprima vrijednost m,
u drugom ciklusu vrijednost m+1, a u posljednjem
ciklusu vrijednost n
nakon što brojač dosegne vrijednost n, petlja
završava s radom i program se nastavlja izvođenjem
prve naredbe nakon petlje
METODE PROGRAMIRANJA Složenije aplikacije gotovo se nikada ne izrađuju u obliku jedne,
monolitne cjeline
Složena problemska domena dijeli se na međusobno neovisne
cjeline, tj. module koje je moguće programirati neovisno
Gotovi moduli se kasnije povezuju u veće cjeline i postupno
nastaje konačna složena aplikacija
= modularno programiranje
Modularnoj izradi složenijih programa može se pristupiti prema dva
metodološka pristupa
Top-Down (Odozgo prema dolje) metoda
Bottom-Up (Odozdo prema gore) metoda
Pristup "Od općenitijeg prema specifičnom"
Složeni problem se postepeno dekomponirana jednostavnije
podprobleme (module), oni na još jednostavnije podprobleme,
87
itd. sve dok se ne dođe do razine na kojoj se problemi (tj.
moduli) mogu nezavisno programirati
Početni problem se prvo dekomponira na prvu razinu
podproblema, s time da su pri tome podproblemi još uvijek
samo identificirani, a ne i detaljno opisani = prva razina
podproblema
Potom se svaki podproblem iz prve razine detaljizira i po
potrebi dalje dekomponira – opet se još niža razina
podproblema samo identificira, bez detaljiziranja
Postupak se ponavlja dok se ne dosegne željena razina
detaljiz iranja
Pristup "Od specifičnog prema općenitijem"
Počinje se s detaljnim specifikacijama elementarnih problema
(modula), koji se potom implementiraju i povezuju u module više
razine
Moduli više razine se dalje povezuju u module još više razine,
sve dok se ne dobije cjelina koja predstavlja rješenje cjelovitog
problema
Izrada složenih aplikacija često zahtjeva timski i projektni rad većeg
broja programera
Svaki se projekt raščlanjuje na manje segmente i programiranje tih
segmenata povjerava se pojedinačnim programerima
Glavni programer odgovoran je za rad čitavog tima, te ima svog
pomoćnika koji ga bilo kada može zamijeniti
Glavni programer i njegov pomoćnik imaju sljedeće zadatke:
Programiraju module najviših razina i najvažnije module
nižih razina
Kontroliraju module koje izrađuju ostali programeri u timu
Ostali programeri razvijaju module i funkcije nižih razina, prema
specifikacijama koje su dobili od glavnog programera
Uglavnom se preferira top-down metoda