[PPT]Arhitektura računarapoincare.matf.bg.ac.rs/~maricm/p1/p103.ppt · Web viewRačunarski sistemi

Post on 31-Jan-2018

232 Views

Category:

Documents

7 Downloads

Preview:

Click to see full reader

Transcript

Računarski sistemi

Funkcionisanje računarskog sitema

• Napiše se program na višem programskom jeziku, • unese u računar, • prevede na mašinski jezik i poveže sa drugim

prevedenim programskim celinama i tako dobije• program (koji, npr. u MS-DOS-u ima ekstenziju .EXE,

u verzijama linux-a obično bez ekstenzije), • može se uneti u operativnu memoriju i izvršavati. • Izvršavanje mašinskog programa odvija se instrukcija

po instrukcija.

• Izvršavanje pojedinačne mašinske instrukcije odvija se u mašinskom ciklusu.

• On se sastoji od dve faze: prvo, upravljačka jedinica donosi instrukciju iz operativne memorije, dekodira je i odgovarajuće delove smešta u procesorske registre (registar adresa, registar instrukcija).

• Zatim se potrebni podaci donose iz memorije u registre

podataka, ALJ izvršava operaciju, a rezultat privremeno smešta u akumulator, do njegovog smeštanja u memoriju.

• Zatim se izvršava sledeća instrukcija, a adresa na kojoj se ona nalazi izračunava se na osnovu adrese prethodne izvršene instrukcije, dodavanjem broja bajtova koje je zauzimala prethodna instrukcija.

• Mašinski ciklusi se ponavljaju do instrukcije

zaustavljanja tj. kraja programa.

• Ovakva metoda izvršavanja programa naziva se sekvencijalna ili serijska obrada, i odgovara konceptu fon Nojmanove mašine.

• Postoji i paralelni način obrade, pri čemu se program razbija na delove koji se istovremeno izvršavaju na desetine, stotine ili čak hiljade raznih procesora.

Azbuka

• Svaki jezik za komunikaciju čoveka i računara koristi konačni skup simbola (znakova) – azbuku.

• Simbol (znak, slovo) je nedeljiva jedinica jezika.

• Nizanjem slova azbuke dobiju se niske nad azbukom.

• |w| – dužina niske w

• Niska koja ne sadrži nijedno slovo zove se prazna niska i obeležava se sa e (empty – prazan).

• Niska nad azbukom A definiše se na sledeći način:

1. e je niska nad A2. Ako je w niska nad A i a – slovo iz A, onda je

wa niska nad A3. Sve niske nad azbukom A mogu se dobiti

primenom pravila 1. i 2.

• Ako su x i y reči nad nekom azbukom, tada je reč xy nastala spajanjem (konkatenacijom) reči x i y.

• Ako su x,y i z reči nad nekm azbukom, tada je:– x prefiks u reči xy

– y sufiks u reči xy

– su x, y i z podreči reči xzy.

• Ako je A konačna azbuka, onda se često koriste sledeće oznake:– A* - skup svih reči nad azbukom A (uključujući i

praznu reč).

– A+ - skup svih reči nad azbukom A, bez prazne reči.

– Svaki jezik nad azbukom A je podskup skupa A*.

• Def. Jezik nad azbukom A je proizvoljan skup reči nad azbukom A.

• Skup A* ima beskonačno mnogo podskupova, tako da nad azbukom A ima i beskonačno mnogo jezika.

• U zadavanju jezika L potrebno je tačno definisati podskup skupa A* koji predstavlja niske nad azbukom A koje pripadaju jeziku L – reči jezika L.

• Skup pravila kojima se opisuju sve reči jezika, zove se sintaksa jezika.

• Semantika jezika je skup pravila kojima se definiše značenje reči jezika.

• Gramatika - skup pravila koja opisuju sve validne (ispravne) konstrukcije prihvatljve u jeziku.

• Prirodni jezicima se može opisati bilo šta ali su su nejednoznačni i neprecizni u predstavljanju specifičnih informacija kao što su matematičke.

• Zato se izgrađuju veštački jezici u specifičnim oblastima

• U slučaju da je jedan od korisnika jezika – računar veštački jezik je programski jezik.

• Precizna definicija dopuštenih oblika i njihovog značenja omogućava izgradnju jezičkih procesora (prevodilaca i interpretera) – programa pomoću kojih se čovekova poruka prevodi na jezik ”razumljiv” mašini – mašinski jezik.

• ANSI definicija: – ”Programski jezik je jezik koji se koristi za pripremanje

računarskih programa”

Jezički procesori

• Analiziraju sintaksnu ispravnost programa na programskom jeziku i, ako je program ispravan, transformišu ga u binarni (mašinski) oblik koji može da se izvrši na računaru.

• Interpreteri – analiza i izvršavanje se obavljaju naizmenično

• Kompilatori – ceo program proanalizira i transformiše, pre nego što se

izvrši

Interpreter

Kompilator

1. Program P (u izvornom jeziku L) transformiˇse se u program P’ na izlaznom jeziku L’, pod kontrolom kompilatora. Dakle, ulazni podatak kompilatora je program P a rezultat rada kompilatora je program P’.

2. Dobijeni program P’ se interpretira, tj. pod kontrolom programa P’ ulazni podaci D programa P se transformišu u rezultat R programa P.

Leksički analizator

Sintaksni analizator

Semantički analizator

Generator međukoda

Optimizator međukoda

Generator koda

rukovalac tabelama

Obrađivač grešaka

Izvorni program

Prevedeni program

Karakterski skup i kodne sheme

• U računaru se različiti simboli spoljašnje azbuke kodiraju različitim kombinacijama nula i jedinica fiksne dužine, tzv. kodom fiksne dužine nad binarnom azbukom.

• Danas su u upotrebi kodne reči dužine 7 odnosno 8 bitova i 16 bitova (ukupno 65536 kodnih reči).

• Kodne reči u jednom kodu fiksne dužine nazivaju se karakteri

• Najrasprostranjeniji je 7-bitni kod koji je 1983. godine standardizovan međunarodnim (ISO – International Standard Organization) standardom.

• Najpoznatija je njegova nacionalna američka verzija koju je definisao ANSI – American National Standards Institute 1968. godine u dokumentu American Standard Code for Information Interchange po kome se ovaj kod i zove ASCII-kod.

HTML

• Jezik HTML se zasniva na eksplicitnom obeležavanju logičke strukture dokumenta. Obeležavanje se vrši pomoću etiketa (engl. tag) koje opisuju elemente logičke strukture teksta.

• Tekst dobija svoj grafički izgled u zavisnosti od navigatora koji je upotrebljen za njegovu vizuelizaciju.

• U zavisnosti od svojstava navigatora i njegove konfiguracije, jedan dokument obeležen u HTML-u može imati različite grafičke izglede.

Faze pri rešavanju zadataka na računaru

1. Specifikacija (šta program treba da uradi, kojom brzinom...)

2. Projektovanje (matematička formulacija problema, izbor metoda za rešavanje, opis algoritma)

3. Realizacija (pisanje (kodiranje), unošenje u memoriju i čuvanje, prevođenje i izvršavanje programa)

4. Testiranje5. Izrada dokumentacije6. Eksploatacija i održavanje

top related