E -mail: sinisa .minic @ pr.ac.rs Prof.dr S iniš a Minić...Centralna procesorska jedinica Ra č...

Preview:

Citation preview

Arhitektura i organizacija računara

Prof.dr Siniša Minić,E-mail: sinisa.minic@pr.ac.rs

Arhitektura i organizacija računara

• Arhitektura računara su oni njegovi atributi koji su vidljivi programeru— Skup instrukcija, broj bitova koji se koristi za

predstavljanje podataka, mehanizmi U/I, tehnike adresiranja.

— Primer: da li postoji instrukcija za množenje?• Organizacija računara je način kako se

implemetiraju ta svojstva— Upravljački signali, interfejsi, tehnologija

memorije.— Primer: Da li postoji hardverski množač ili se to

izvodi pomoću ponavljanog sabiranja?

Arhitektura i organizacija računara

• Celokupna porodica Intel x86 deli istu osnovnu arhitekturu

• Porodica IBM System/370 deli istu osnovnu arhitekturu

• To sobom donosi kompatibilnost koda— U najmanju ruku unazad

• Organizacija se razlikuje između različitih verzija

Struktura i funkcija računara

• Struktura je način na koji su komponente u međusobnom odnosu

• Funkcija je rad individualnih komponenata kao deo strukture

Funkcija računara

• Sve funkcije jednog računara su:— Obrada podataka (Data processing)— Skladištenje podataka (Data storage)— Prenos podataka (Data movement)— Upravljanje (Control)

Funkcionalni pogled na računarRadno okruženje

(izvor i odredište podataka)

Upravljačkimehanizam

Sredstvoskladištenjapodataka

Sredstvoobrade

podataka

Aparaturaprenosa

podataka

Operacije: (a) Prenos podataka

ObradaSkladištenje

Upravljanje

Prenos

Operacije: (b) Skladištenje

Prenos

Upravljanje

ObradaSkladištenje

Operacije: (c) Obrada iz/u skladište

Prenos

Upravljanje

ObradaSkladištenje

Operacije: (d) Obrada iz skladišta u U/I

Prenos

Upravljanje

ObradaSkladištenje

Najjednostavnija predstava računara

Periferij

ski uređ

ajiKomunikacione linije

RAČUNAR• Skladište• Obrada

Struktura računara – gornji nivo

Računar

Glavnamemorija

UlazIzlaz

Sistemskomeđu-

povezivanje

Periferijski uređaji

Komunikacionelinije

Centralnaprocesorska

jedinica

Računar

Struktura –Centralna procesorska jedinica

Računar Arithmeti-čka i logička

jedinica

Upravljačkajedinica

Unutrašnje međupovezivanje

CPJ

Registri

CPJ

CPJU/I

Memorija

Sistem.magist.

Struktura – Upravljačka jedinica

CPJ

Upravljačkamemorija

Registeri i dekoderi

upravljačke jedinice

Logikasekvenciranja

Upr.jed.

ALU

Registri

Unutr.mag.

Upravljačka jedinica

Zašto studirati arhitekturu i organizaciju računara?IEEE/ACM Computer Curricula 2001:• Računar leži u srcu računarstva i informatike. Bez

njega, većina računarskih disciplina danas bi bile grane teorijske matematike.

• Da bi se danas bio profesionalac u bilo kojoj oblasti računarstva, potrebno je da se na računar ne gleda kao na crnu kutiju koja računa pomoću čarobnog štapića.

• Svi studenti informatike bi trebalo da dođu do izvesnog razumevanja i znanja o funkcionalnim komponentama računarskog sistema, njihovim karakteristikama, performansama i međusobnim dejstvima.

Zašto studirati arhitekturu i organizaciju računara?IEEE/ACM Computer Curricula 2001:• Postoje i praktične implikacije.Studenti treba da

razumeju arhitekturu računara da bi strukturiraliprogram, tako da se on efikasnije izvršavao na stvarnoj mašini.

• U izboru sistema za upotrebu, oni bi trebalo da su sposobni da razumeju kompromise između raznih komponenata, kao što su brzina generatora takta CPU prema veličini memorije.

1. razlog za studiranje arhitekture i organizacije računara

Pretpostavite da diplomac ulazi u industriju i da se od njega traži da izabere računar sa najboljim odnosom cene i performanse za upotrebu u velikoj organizaciji. Razumevanje implikacija većeg trošenja za razne alternative, kao što su veća kešmemorija ili veća brzina procesorskoggeneratora takta, od suštinskog je značaja za donošenje odluke.

2. razlog za studiranje arhitekture i organizacije računara

Mnogi procesori se ne koriste u PC računarima ili serverima, nego u ugrađenim sistemima. Projektant može da programira procesor u jeziku C koji je ugrađen u nekom sistemu za rad u realnom vremenu ili većem sistemu, kao što je inteligentni kontroler elektronike u automobilu. Otklanjanje grešaka u sistemu može da zahteva upotrebu logičkog analizatora koji prikazuje odnos između zahteva za prekid iz senzora motora i koda na mašinskom nivou.

3. razlog za studiranje arhitekture i organizacije računara

Koncepti koji se koriste u arhitekturi računara nalaze primenu i u drugim kursevima. Posebno, način na koji računar obezbeđuje podršku arhitekture jezicima za programiranje i operativnom sistemu pojačava koncepte iz tih oblasti.

FIT-Nastava u oblastiorganizacije i arhitekture računara

• I godina studija: — OSNOVI RAČUNARSKE TEHNIKE

– Obrazovni cilj: Sticanje opštih znanja iz organizacije računara i računarskih sistema.

• II godina studija:— ARHITEKTURA RAČUNARA

– Obrazovni cilj: Sticanje opštih i specifičnih znanja iz naprednih arhitekture i organizacije računara. Rad sa jednim CISC mikrokontrolerom. Programiranje na asembleru.

• III godina studija: — MIKROPROCESORSKI SISTEMI

– Obrazovni cilj: Sticanje opštih i specifičnih znanja iz oblasti RISC mikrokontrolera.

Arhitektura računara• Sadržaj kursa:

— Uvod u arhitekturu i organizaciju računara. — Funkcija i međusobno povezivanje u računaru. — Unutrašnja memorija i skrivena (keš) memorija.— Spoljašnja memorija. — Ulaz/izlaz računara. — Podrška operativnog sistema. — Računarska aritmetika. — Skupovi instrukcija. — Struktura i funkcija centralne procesorske jedinice.

• Literatura— William Stallings: Organizacija i arhitektura računara: projekat u funkciji

performansi, CET, 2006.• Način formiranja ocene: 8 kolokvijuma iz teorije, 8 kolokvijum sa

zadacima, završni.ispit kolokvijum, ispit

Po završetku kursa:• Student razume računar kao sistem i osnove arhitekture i

organizacije računara. • Upoznat je sa dosadašnjim razvojem i glavnim trendovima u

arhitekturi računara. • Poznaje namenu, hijerarhijsku organizaciju i način funkcionisanja

memorijskog podsistema računara: skrivene (keš) memorije, unutrašnje i spoljašnjih memorija.

• Poznaje mehanizme i način rada ulazno/izlaznog podsistemaračunara: spoljašnjih uređaja, U/I modula, mehanizama prekida, U/I kanala i spoljašnjih interfejsa.

• Razume podršku operativnog sistema i osnovna rešenja u oblasti raspoređivanja procesa i upravljanja memorijom.

• Poznaje aritmetičko logičku jedinicu, predstavljanje brojeva i aritmetiku.

• Upoznat je sa karakteristikama i funkcijama skupova instrukcija i načinima adresiranja. Ima osnovna znanja o pisanju programa u asemblerskom jeziku.

• Poznaje strukturu i funkcije centralne procesorske jedinice.

Po završetku kursa:• Zna kako funkcionišu procesori sa protočnom obradom

instrukcija, procesori sa redukovanim skupom instrukcija (RISC), superskalarni procesori, procesori sa veoma dugom instrukcijskom reči (VLIW).

• Poznaje osnovne arhitekture računara za paralelnu obradu (vektorske procesore i multiprocesore).

• Zna razliku između arhitektura računara opšte namene i namenskih arhitektura.

• Upoznat je sa metodologijom za projektovanje i procenu performansi složenog namenskog multimikroprocesorskog računara.

Osnovi računarske

tehnike

Arhitektura računara

Diploma

FIT

PROFESIONALNI ŽIVOT

Razmak performanse logičkih kola i memorije

logika

memorija

Tipične brzine podataka U/I uređaja

Gigabit Ethernet

Grafički displej

Čvrsti disk

Ethernet

Optički disk

Skener

Laser.štampač

Disketa

Modem

Miš

Tastatura

Brzina podataka (b/s)

Performansa Intelovih mikroprocesora

Poboljšanja u arhitekturi čipaPovećanja brzine generatora takta

Hipervišenitna obrada (više jezgara)

Duža protočna obrada, dvrostruko brža

aritmetika

Keš pune brzine u 2 nivoa

MMX multi-medijska

proširenjaSpekulativno izvršavanje

van redosleda

Više instrukcija po ciklusu

Unutrašnja kešmemorijaProtočna

obrada instrukcijaTipi

čna m

aksim

alna p

erfo

rman

sa(m

ilioni

ope

racij

a u se

kund

i

Novi pristup – višestruka jezgra• Više procesora na jednom čipu

— Velika deljena keš memorija• Unutar procesora, povećanje performanse je

proporcionalno kvadratnom korenu povećanja u složenosti

• Ako softver može da upotrebi višestruke procesore, udvostručavanje broja procesora skoro udvostručava performansu

• Prema tome, treba koristiti 2 jednostavna procesora na čipu, a ne 1 složeniji procesor

• Sa 2 procesora, opravdane su veće keš memorije— Potrošnja električne energije logike memorije je manja od

potrošnje procesorske logike• Primer: IBM POWER4

— Dva jezgra zasnovana na PowerPC

Organizacija čipa POWER4

Činioci koji utiču na arhitekturu računara

Arhitektura računara

Kompatibilnost

Tehnologija

Aplikacije

Softver

Softver nije igrao skoro nikakvu ulogu u definisanju arhitekture pre sredine pedesetih godina!Namenske mašine prema mašinama opšte namene

Kompatibilnost• Od suštinskog značaja za prenosivost i konkurentnost

Njen značaj raste sa veličinom tržišta, ali je takođe i najregresivnija sila

• ISA (Instruction Set Architecture) kompatibilnostIsti asemblerski program može da se izvršava na bilo kom na gore kompatibilnom mo0delu računaraNekad IBM 360/370 ... Kasnije Intel x86

• Međutim, za razvoj SW sada se očekuje više od ISA kompatibilnosti

API (application program interface), skup rutina koje aplikativni program koristi za upravljanje izvršavanjem procedura od strane OS)

Ekonomika mikroprocesora• Projektovanje najsavremenijih mikroprocesora zahteva ogroman tim

Pentium ~ 300 inženjeraPentiumPro ~ 500 inženjera

• Ogromna ulaganja u proizvodne linije da bi se stvar isplatila, treba prodati 2 do 4 miliona

primeraka • Potrebna su stalna usavršavanja da bi se poboljšao prinos i brzina generatora takta

Cena pada na 1/10 u 2 do 3 godine• Brzi novi procesori traže i nove periferijske čipove(memorijske kontrolere, U/I) SKUPO!

Cena uvođenja nove ISA je preterano visoka, a prednost nije baš najjasnija!

Pogledi na arhitekturu računaraDizajner jezika / kompajlera

i sistemskog softveraDizajner

Arhitekture / hardvera

Potrebni su mu mehanizmi da podrže važne apstrakcije

Predlaže mehanizme i svojstva za performansu

Određuje strategiju kompi-lacije i nove apstrakcije jezika

Glavna briga računarskog arhitekte su odnos cena-performansa, performansa i efikasnost u

podršci široke klase softverskih sistema

Dekomponuje svaki meha-nizam u suštinske mikro-mehanizme i određuje im izvodljivost i isplativost

Preliminarni plan kursaUvod: opis, osnovna računarska arhitektura i organizacija, osnovne funkcije i glavne komponente računara, vonNeumannova arhitektura.

Memorijski sistem: hijerarhija memorije, skrivene (keš) memorije, virtuelne memorije, upravljanje memorijom.

Protočna obrada instrukcija: organizacija jedinica protočne obrade, hazardi, smanjivanje gubitaka usled grananja, strategije predvidjanja grananja.

RISC arhitekture: analiza izvršenja instrukcija koda koji generišu programi u jezicima visokog nivoa, prevodjenje za RISC arhitekture, glavne karakteristike RISC arhitektura.

Preliminarni plan kursa (nastavak)Superskalarne arhitekture: paralelizam na nivou instrukcije i mašine, hardverske tehnike za poboljšanje performanse, zavisnosti podataka, politike paralelnog izvršavanja instrukcija, ograničenja superskalarnogpristupa.

VLIW arhitekture: VLIW pristup – prednosti i ograničenja, prevođenje za VLIW arhitekture, arhitektura Merced (Itanium).

Arhitekture za paralelnu obradu: paralelni programi, klasifikacija računarskih arhitektura, performansa paralelnih arhitektura, mreža za međusobno povezivanje, nizovi procesora, multiprocesori, multiračunari, vektorski procesori.

Studija slučaja namenske arhitekture: multiprocesorski sistem za transakcionu obradu poruka u realnom vremenu (postavka problema,arhitektura i hardver, softver, simulacioni model, procena performansi)

RAČUNARSKA ARHITEKTURA(OSNOVNA PITANJA)

1. Von Neumannova arhitektura

2. Specifično za aplikaciju prema opštoj nameni

3. Predstavljanje podataka i instrukcija

4. Izvršavanje instrukcije

5. Šta je računar / računarski sistem

6. Upravljačka jedinica

7. Računarski sistem

8. Glavna i sekundarna memorija

9. Ulazno – izlazni uređaji

Šta je računar centralna jedinica?

Računar je mašina za obradu podataka koja radi automatski,

pod upravljanjem niza instrukcija(koji se zove program),

smeštenog u njenoj glavnoj memoriji.

Računar-centralna jedinica

Jedinica centralnog

procesora (CPU)

Glavna memorija

PodaciUpravljanje

• Računarski sistem se obično sastoji od centralne jedinice-računara u užem smislu i njegovih periferija

• Računarske periferije su ulazni uređaji, izlazni uređaji i sekundarne memorije

Računarski sistemIzlazniuređaj

Ulazniuređaj

Centralna jedinica

Sekundarna memorija

Šta je računarski sistem?Računarski sistem

Centralna jedinica (von Neumanovaarhitektura)

Jedinica centralnog

procesora (CPU)

Glavna memorija

Centralna jedinica

podaciupravljanjePrincipi

• I podaci i instrukcije su uskladišteni u glavnoj memoriji (koncept internog programa)

• Sadržaj memorije se može adresirati po lokaciji (bez obzira šta se nalazi u toj lokaciji);

• Instrukcije se izvršavaju sekvencijalno (jedna za drugom, u redosledu njihovih lokacija u memoriji) izuzev ako se redosled ne menja eksplicitno;

von Neumanova arhitektura

• Organizacija (arhitektura) računara:— jedinica centralnog procesora (CPU): sadrži upravljačku

jedinicu (CU), koja koordinira izvršavanje instrukcija, aritmetičko/logičku jedinicu (ALU), koja izvodi aritmetičke i logičke operacije i skup registara opšte i posebne namene;

— (glavna) memorija.

Jedinica centralnog

procesora (CPU)

Glavna memorija

Centralna jedinica

podaciupravljanje

von Neumannova arhitektura

• Von Neumannovi računari su računari opšte namene.

• oni mogu da reše veoma različite

probleme, zavisno od programa koji su dobili da izvršavaju!

• Ključni koncepti ovde su program i izvršenje programa.

poda

ci

Glavna memorija

instrukcije

CU

Registar

• Instrukcija kaže CPU da izvede jednu od svojih osnovnih operacija (aritmetičku ili logičku, prenos podataka iz glavne memorije, itd.

• Upravljačka jedinica (CU) interpretira (dekoduje) instrukciju koja treba da se izvrši i “kaže” drugim komponentama šta da rade.

• Primarna funkcija glavnog procesora (CPU) je da izvršava instrukcije koje se donose iz glavne memorije.

von Neumannova arhitektura

• CPU obuhvata skup registara, privremenih memorijskih uređaja koji se obično koriste da drže intenzivno korišćene podatke i međurezultate.

• Unutar računara, podaci i upravljačke informacije (instrukcije) predstavljaju se u binarnom formatu, koji koristi samo dva osnovna simbola: “0” i “1”.

• Dva osnovna simbola predstavljaju se elektronskim signalima.

Predstavljanje podataka

• Numerički podaci predstavljaju se koristeći binarni sistem, u kome su pozicionevrednosti stepeni od 2:

• Aritmetičko-logička jedinica (ALU) direktno sabira, oduzima, množi i deli binarne brojeve; nije potrebno da se oni prvo pretvore u decimalne brojeve.

Predstavljanje podataka

• CPU može da izvršava samo mašinske instrukcije.• Svaki računar ima skup specifičnih mašinskih

instrukcija koje CPU može da prepozna i izvršava.• Mašinska instrukcija se predstavlja kao niz bitova

(binarnih cifara). Ti bitovi treba da definišu:- šta treba da se uradi (kôd operacije);- na šta se operacija primenjuje (izvorni operandi);- gde odlazi rezultat (operand odredišta);- kako da se nastavi posle završetka operacije.

Mašinske instrukcije

• Predstava mašinske instrukcije je podeljena napolja; svako polje sadrži po jednu stavku specifikacije instrukcije (kôd operacije, operande, itd.); Tipično za Intel.

• polja se organizuju u skladu sa formatom instrukcije.

kôd operacije operand operand(memorija) (registar)

Mašinske instrukcije

Po jednoj klasifikaciji postoje četiri vrste mašinskih instrukcija:1. Prenos podataka između memorije i

registara CPU2. Aritmetičke i logičke operacije3. Upravljanje programom (ispitivanje i

grananje-skok)4. U/I prenos (a može se posmatrati i kao

vrsta 1. grupe, ubuduće)

Vrste mašinskih instrukcija

Postoje tri vrste mašinskih instrukcija:1. Prenos podataka

• između registara CPU• U/I prenos • između memorije i registara CPU

2. Aritmetičke i logičke operacije3. Upravljanje programom

Vrste mašinskih instrukcija

•Broj adresa•Načini adresiranja•Repertoar operacija Dizajn skupa•Pristup registrima instrukcija•Format instrukcije

Važni aspekti mašinskih instrukcija

Instrukcioni ciklus:

• Svaka instrukcija se izvršava u nizu koraka;

• Svi koraci koji odgovaraju jednoj instrukciji zajedno se zovu instrukcioni ciklus.

Pribavljanje instrukcije

Izvršenje instrukcije

Jednostavan izgled instrukcionog ciklusa:

Instrukcioni ciklus (nastavak):

Detaljniji izgled instrukcionog ciklusa

Pribavljanje instrukcije

Pribavljanjeoperanda

Izvršenje instrukcije

Dekodovanje

Izvršenje instrukcijaAdresa

Adresa Y

Adresa Z

Adresa X

Sledeće četiri instrukcije izvode Z:=(Y+X)*3

Prva instrukcija

instrukcije

poda

ci

Registar instrukcije Registar R3

CU

Glavna memorija

Druga instrukcija

instrukcije

poda

ci

Registar instrukcije Registar R3

CU

Glavna memorija

Treća instrukcija

instrukcije

poda

ci

Registar instrukcije Registar R3

CU

Glavna memorija

Četvrta instrukcija

instrukcije

poda

ci

Registar instrukcije Registar R3

CU

Glavna memorija

Komponente računara:Pogled sa gornjeg nivoa

Glavna memorija

InstrukcijaInstrukcijaInstrukcija

PodatakPodatakPodatakPodatak

Programski brojačInstrukcijski registarMemorijski adresni registarMemorijski bafer registarUlazno/Izlazni adresni registarUlazno/Izlazni bafer registar

Sistemska magistrala

Izvršna jedinica

U/I modul

Baferi

Računarski sistem

• CPU + glavna memorija čine “jezgro” računarskog sistema, odnosno centralnu jedinicu ili računar u užem smislu.

• Sekundarna memorija + U/I uređaji su tzv. periferali.

• Komunikacija između različitih sastavnih delova sistema se obično izvodi korišćenjem jedne ili više magistrala.

magistrala

U / I U / I U / I

Glavna memorija

Sekund. memorija

Upravljačka jedinica (CU)Sistemska magistrala

Upra

vljač

ka m

agist

rala

Magi

stra

lapo

data

ka

Adre

snam

agist

rala

Regi

stri

Unutrašnjamagistrala CPU

Upravljačka jedinica (CU)

• Kako se upravlja (sinhronizuje) elementima unutar jedinice centralnog procesora (CPU) i interfejsom sa spoljašnjim putanjama podataka, da bi se ispravno radilo?

Zadatak upravljačke jedinice (CU) je da izvodi to upravljanje

Upravljačka jedinica (CU)

• Tehnike za implementaciju upravljačke jedinice:1. Ožičeno upravljanje2. Mikroprogramirano upravljanje

Upravljačka jedinica

Interni upravljački signali centralnog procesoraUpravljački signali na sistemskoj magistraliSignali od sistemske magistraleOz

nake

stan

ja i u

slova

Generator takta

Memorije• Glavna memorija služi za skladištenje programa i podataka

sa kojima jedinica centralnog procesora (CPU) često radi.• Sekundarna memorija obezbeđuje skladištenje velikih

količina programa i podataka na duže vreme.• Pre nego što CPU može da radi sa podacima i programima

u sekundarnoj memoriji, oni prvo moraju da se učitaju u glavnu memoriju.

• Najvažnije karakteristike memorije (njena brzina, veličina i cena), najviše su ograničene tehnologijom upotrebljenom za njenu implementaciju.

• Tipično– Glavna memorija je brza i ograničene veličine;– Sekundarna memorija je relativno spora i veoma

velika.

Glavna memorija

jedna reč

jedan bit

Adresa 2Adresa 1Adresa 0

memorijskaupravljačka

jedinica

bafer za podatke

adre

sni b

afer

adre

sni d

ekod

er• Glavna memorija može da se posmatra kao skup ćelija, od kojih svaka može da se koristi za skladištenje po jedne reči.• Svakoj ćeliji pridružuje se jedinstvena adresa; adrese se numerišu

sekvencijalno: 0, 1, 2, ... .• Pored ćelija skladišta, postoji i memorijski adresni bafer registar (MAR, u

kome je adresa reči za učitavanje/upisivanje) i bafer za podatke (MBR, u kome su podaci za učitavanje/upisivanje), adresni dekoder i memorijska upravljačka jedinica.

Glavna memorija• Poluprovodničke memorije su najviše

korišćena tehnologija za implementaciju glavne memorije.

• Najčešća vrsta poluprovodničke memorije je memorija sa direktnim pristupom (RAM).

• Informacije uskladištene u poluprovodničkoj RAM memoriji će biti izgubljene kada se isključi napajanje električnom energijom.

Sekundarna memorija:čvrsti disk• Podaci se upisuju na površini čvrstog diska,

napravljenog od metala presvučenog magnetnim materijalom.

• Diskovi i pogon su obično izgradjeni zajedno u zaptivenom kućištu, radi zaštite diskova od zagadjivača kao što su čestice dima i prašine. Više diskova su obično naslagani na zajedničkoj pogonskoj osovini, a svaki disk ima sopstvenu glavu za čitanje /upisivanje.

• Glavne karakteristike:Direktan pristupBrz pristup

vreme pozicioniranja 10 msbrzina prenosa podataka 5 MB/s

Veliki kapacitet (više desetina GB)

• Podaci se upisuju na površini fleksibilnog diska, napravljenog od poliestera presvučenog magnetnim materijalom.

• Da bi se pristupilo podacima na disketi, mora da se koristi specijalan uređaj diskete, koji radi slično gramofonu.

• Glavne karakteristike:direktan pristup, jevtina, prenosiva, bila zgodna za upotrebu, više se praktično ne koristi

• Glavni standardi5,25 inča. Kapacitet 360 KB po disku3,5 inča. Kapacitet 1,44 MB po disku

(oko 700 stranica teksta A4)

Sekundarna memorija: disketa

• Magnetska traka se pravi od sloja plastike,presvučenog oksidom gvožđa.

• U radu koristi prinicip sličan kasetnom ili trakastom magnetofonu.

• Glavne karakteristike:sekvencijalan pristup (vreme pristupa oko 1 – 5 s), veliko skladište (50MB po traci), jevtina

• Često se koristi za izradu rezervnih kopija ili arhiviranje podataka.

Sekundarna memorija: magnetna traka

• CD-ROM. Površina diska je ištampana mikroskopskim šupljinama u kojima su zapisane digitalne informacije. Kada laser male snage osvetli površinu, jačina reflektovane svetlosti se menja kada naiđe na šupljinu. Promena se detektuje pomoću fotosenzora i pretvara u digitalni signal.

–veliki kapacitet: 775 MB po disku 500 disketa– jevtina replikacija i proizvodnja–prenosiv, samo za čitanje–dugo vreme pristupa (može da bude i pola

sekunde)

Optička memorija

• WORM (Write Once Read Many) CD. Laserski zrak umerene jačine u uređaju diska koristi se za štampanje uzorka šupljina.

–dobar za arhivsko skladište, daje stalan zapis za veliki obim podataka.

• Izbrisiv optički disk: kombinacija laserske tehnologije i tehnike magnetske površine.

–može više puta da se upisuje i prepisuje–velika pouzdanost i duži vek od magnetskih diskova.

Optička memorija

Ulazni - izlazni uređaji• Ulazni i izlazni uređaji omogućavaju ljudima da koriste računare.• Neki U / I uređaji rade kao interfejs između računarskog sistema i drugih

fizičkih sistema. Takav interfejs se obično sastoji od A/D i D /A pretvarača.Tipični ulazni uređaji

Ograničen rečnik, potreban SW za prepozavanje govora

Bez rukuLak za upotrebuGovorni ulaz

Samo bitmapirana grafikaBrz grafički ulazKopira slikeSkener

SporaUnošenje slika i skica slobodnom rukom

Grafički ulazGrafička tabla

Potrebna dosta obimna SW podrška

Kao gore, brzaZa računarske igre i upravljanje

Upravljačka palica

Potrebna dosta obimna SW podrška

Efikasan za ikone i izbor menija

Kreće se po stoluMiš

Treba dosta obiman SW da bi bilo višenamensko

Lako za upotrebuPokazuje na ekranSvetleće pero

Relativno spora, brzina zavisi od operatora

Efikasna za unos tekstaKao pisaća mašinaTastatura

NedostatciPrednostiKarakteristikeUređaj

Tipični izlazni uredjaji

Normalan govor

Pera do 1 m/s

Moguće20000redova/s

Oko 20redova/s

Do 200 karaktera/s

Do 6000 karaktera/s

Brzina

Ograničen opseg zvukova

Bez upotrebe očiju

Prirodan za određene aplikacijeGovorni izlaz

Velika i skupa mašina

Moguć izlaz velikih grafika

Grafika visokog kvalitetaPloter

Skup u eksploataciji(nekad bio)

Veoma brz, veliki obim štampe

Tekst i grafika visokog kvalitetaLaserski štampač

Slabiji kvalitet od laserskog

Mali, jevtinMehanički sličan gornjem; tačka se dobija izbacivanjem kapljice mastila.

Inkjetštampač

Slab kvalitet i brzinaJevtinVišenamenski: tekst i grafikaMatrični štampač

Velike verzije su vrlo bučne

Veliki obim štampe

Udarni štampač, veoma brzLinijski štampač

Bez trajne kopijeEfikasna za pregled teksta

Višenamenski: tekst i grafikaEkran računara

NedostaciPrednostiKarakteristikeUredjaj

Rezime• Računar = CPU + glavna memorija

Računarski sistem = Računar + periferali• CPU izvršava instrukcije uskladištene zajedno sa podacima u glavnoj

memoriji• Von Neumannovi računari su opštenamenski, programabilni računari.• Podaci i instrukcije se predstavljaju u binarnom formatu.• Mašinske instrukcije su specifične za svaki računar i organizovane su

prema odredjenom formatu instrukcija.• Instrukcija se izvršava kao niz koraka; to je ciklus instrukcije.• Program i podaci sa kojima se trenutno radi su uskladišteni u glavnoj

memoriji. Ona je organizovana kao skup skladišnih ćelija, od kojih svaka ima jedinstvenu adresu.

• Sekundarna memorija može da bude čvrsti disk, disketa, magnetska traka ili optički uredjaj.

• Ulazno-izlazni uređaji omogućavaju ljudima da razmenjuju infromacije sa računarom.

Šta je tema ovog kursa?Zanimaju nas neki napredni koncepti, tipični za savremene

mikroprocesore i računarske sisteme.

Od sledećih dostignuća potiču visoke performanse koje su dostigli današnji računari:

• Hijerahija memorija– keš memorija– virtuelna memorija– upravljanje memorijom

• Napredne strukture CPU i strategije izvršavanja instrukcija:– protočna obrada– RISC arhitekture– superskalarne arhitekture– VLIW arhitekture

• Arhitekture sistema za paralelnu obradu

ARHITEKTURA RAČUNARSKIH SISTEMA

Siniša Minić,Sinisa.minic@pr.ac.rs

BROJNI SISTEMI

BROJNI SISTEMI Brojni sistem je način zapisivanja brojeva i njihovog tumačenja. U upotrebi je pozicioni (položajni) brojevni sistem.To je sistem kod

kojeg položaj cifre (znamenke) u zapisu određuje njezinu vrednost. Svaki je brojni sistem određen vlastitim skupom cifara, a ukupan broj različitih cifara naziva se bazom bronog sistema. Baza brojnog sistema se obično zapisuje kao indeks nakon samog broja

(zapis 10210₁₀ značava da je broj 102 zapis u dekadnom brojnom sistemu;

zapis 101010001₂ označava broj zapisan u binarnom brojnom sistem u).

U svakom brojnom sistemu vredi da svaka cifra u nizu ima jedinstvenu težinsku vrednost. Težinska se vrednost svake cifre dobijena način da se osnova brojnog sistema potencira eksponentom čija vrednost zavisi o položaju cifre.

BROJEVNI SISTEM

OSNOVA CIFRE

BINARNI 2 0, 1

OKTALNI 8 0, 1, 2, 3, 4, 5, 6, 7

DEKADNI 10 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

HEKSADECIMALNI 16 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F(A=10, B=11, C=12, D=13, E=14, F=15)

PRETVARANJE IZ DEKADNOG U OSTALE BROJNE SISTEMEPRETVARANJE IZ DEKADNOG U OSTALE BROJNE SISTEME

•Pretvaranje iz dekadnog brojevnog sistema u ostale izvodi se deljenjem s osnovicom željenog sistema (deljenjem sa 2, 8 ili 16).

•Deli se sve dok celobrojni rezultat deljenja ne postane 0.

•Novi broj se dobija od ostataka deljenja počevši od zadnjeg ostatka.

Pretvaranje iz dekadnog u ostale brojne sistemePretvaranje iz dekadnog u ostale brojne sisteme

10110316113027

106015411=B16611097277541219

439 :16

439 :8

439 :2

10 2439 110110111

10 16439 1B7

10 8439 667

10011205010120

1050141411518315=F207411167

335:16

335:8

335:2

33510 = 1010011112

33510 = 5178

33510 = 14F16

Pretvaranje iz dekadnog u ostale brojne sistemePretvaranje iz dekadnog u ostale brojne sisteme

Pretvaranje iz binarnog, oktalnog i heksadecimalnog brojnog sistema u dekadni izvodi se množenjem.

Pretvaranje iz binarnog, oktalnog i heksadecimalnog brojnog sistema u dekadni izvodi se množenjem.

2 1 0

2 1 010 10439 4 10 3 10 9 1 100 10 10 4 3 9 439

87 6 54 3 2108 7 6 5 4 3 2 1 0

2

10

110110111 1 2 1 2 0 2 1 2 1 2 0 2 1 2 1 2 1 21 1 0 1 1 0 1 1 1256 128 32256 128 6

16 4 2 14 32 16 4 1

4398 2

2 1 0

2 1 08 106667 6 8 6 8 7 8 6 6 7 384 48 7 44 398 1

2 1 0

2 1 016 101B7 116 1116 716 1 11 7 256 176 7 46 16 1 3925

MESTO 0 1 2 3 4 5 6 7 8 9 10

SISTEM

2 1 2 4 8 16 32 64 128 256 512 1024

8 1 8 64 512 4096

10 1 10 100 1000

16 1 16 256 4096

TEŽINA POJEDINOG MESTAZAVISNO OD BROJNOG SISTEMA

PRETVARANJE IZ BINARNOG U OKTALNI I HEKSADECIMALNI BROJNI SISTEMPRETVARANJE IZ BINARNOG U OKTALNI I HEKSADECIMALNI BROJNI SISTEM

Iz poznatog izraza 23=81 možemo zaključiti kako svaki binarni broj od 3 cifre ima tačno 1 odgovarajući oktalni broj.

Takođe iz izraza 24=161 možemo zaključiti kako svaki

binarni broj od 4 cifre ima tačno 1 odgovarajući heksadecimalni broj.

Iz poznatog izraza 23=81 možemo zaključiti kako svaki binarni broj od 3 cifre ima tačno 1 odgovarajući oktalni broj.

Takođe iz izraza 24=161 možemo zaključiti kako svaki

binarni broj od 4 cifre ima tačno 1 odgovarajući heksadecimalni broj.

2 8 2 16000 0 0000 0001 1 0001 1010 2 0010 2011 3 0011 3100 4 0100 4101 5 0101 5110 6 0110 6111 7 0111 7

1000 81001 91010 10=A1011 11=B1100 12=C1101 13=D1110 14=E1111 15=F

• Pretvaranje iz binarnog u oktalni brojni sistem vrši se grupisanjem vrednosti u binarnom prikazu broja u trojke s desna na levo.

• Ako ukupan broj bitova nije deljiv sa tri, onda se dopisuje potreban broj vodećih nula.

• Pretvaranje iz binarnog u oktalni brojni sistem vrši se grupisanjem vrednosti u binarnom prikazu broja u trojke s desna na levo.

• Ako ukupan broj bitova nije deljiv sa tri, onda se dopisuje potreban broj vodećih nula.

22 811010110111 11010110111 3267

100100112 = 0100100112 = 2238

• Pretvaranje iz binarnog u heksadecimalni brojni sistem obavlja se grupisanjem vrednosti u binarnom prikazu broja u četvorke s desna na levo.

• Ako broj bitova nije deljiv sa četiri, onda se dopisuje potreban broj vodećih nula.

• Pretvaranje iz binarnog u heksadecimalni brojni sistem obavlja se grupisanjem vrednosti u binarnom prikazu broja u četvorke s desna na levo.

• Ako broj bitova nije deljiv sa četiri, onda se dopisuje potreban broj vodećih nula.

22 1611010110111 11010110111 6B7

100100112 = 100100112 = 9316

Pretvaranje iz oktalnog u heksadecimalni brojni sistem i obratno se obavlja preko binarnog brojnog sistema.

Pretvaranje iz oktalnog u heksadecimalni brojni sistem i obratno se obavlja preko binarnog brojnog sistema.

2 28 162035 10000011101 10000011101 41D0

2 216 86E9 11011101001 11011101001 33510

Pretvaranje: REALNI DEKADNI BROJ REALNI BINARNI BROJPretvaranje: REALNI DEKADNI BROJ REALNI BINARNI BROJ

Ako realni broj u dekadnom brojnom sistemu želimo pretvoriti u realni broj u binarnom sistemu, postupak je sledeći: dio ispred decimalne tačke delimo sa 2 (kao što je prethodno objašnjeno) a deo iza decimalne tačke množimo sa 2.

Ako realni broj u dekadnom brojnom sistemu želimo pretvoriti u realni broj u binarnom sistemu, postupak je sledeći: dio ispred decimalne tačke delimo sa 2 (kao što je prethodno objašnjeno) a deo iza decimalne tačke množimo sa 2.

:2

2

43 0.687521 1 1.375 110 1 0.75 0

5 0 1.5 12 1 1 11 0 00 1

10 243.6875 101011.1011 :2

2

25 .3512 1 0.7 0

6 0 1.4 13 0 0.8 01 1 1.6 10 1 1.2 1

0.4 00.8 01.6 1.... ...

21025.35 11001.010110

Pretvaranje: REALNI BINARNI BROJ REALNI DEKADNI BROJPretvaranje: REALNI BINARNI BROJ REALNI DEKADNI BROJ

54321 0 1 2 3 45 4 3 2 1 0 1 2 3 4

2

10

101011.1011 12 0 2 12 0 2 12 12 12 0 2 12 12

1 0 1 0 1 1 1 0 1 1

32 8 2 1 0.5 0.125 0.0

1 1 1 132 16 8 4 2 12 4

62543.

6

6875

8 1

U drugom slučaju nismo dobili početni broj (25.35) jer smo se zaustavili s izračunavanjem na petoj decimali iza tačke. Greška je 0.00625. Da smo računali na više decimala, greška bi bila manja ali nikada ne bi bila jednaka 0, tj. nemoguće je dobiti potpuno isti rezultat. Iz ovog se vidi da najčešće računanje s realnim brojevima nije apsolutno tačno nego uz neku grešku.

U drugom slučaju nismo dobili početni broj (25.35) jer smo se zaustavili s izračunavanjem na petoj decimali iza tačke. Greška je 0.00625. Da smo računali na više decimala, greška bi bila manja ali nikada ne bi bila jednaka 0, tj. nemoguće je dobiti potpuno isti rezultat. Iz ovog se vidi da najčešće računanje s realnim brojevima nije apsolutno tačno nego uz neku grešku.

4 3 2 1 0 1 2 3 4 5 64 3 0 2 4 5

2

10

11001.0 1 0 1 1 0 1 2 1 2 1 2 1 2 1 2 1 2

1 1 1 1 1 1

16 8 1 0.25 0.0625 0.031252

1 1 116 8 14 16 32

5.34375

U dekadnom brojnom sistemu negativni brojevi se predstavljaju znakom “-” (pozitivni znakom “+” ili se znak izostavlja) napisanim ispred cifara koje definišu apsolutnu vrednost broja.

U binarnom brojnom sistemu je ovakav način predstavljanja označenih brojeva nemoguć, jer računari mogu da prepoznaju samo dva znaka, a to su “0” i “1”. Samim tim je znakove “-” i “+” potrebno na neki način predstaviti pomoću “0” i ”1”.

Jedan od načina za zapis označenih brojeva u binarnom brojnom sistemu je pomoću znaka i apsolutne vrednosti.

U ovom zapisu, apsolutnoj vrijednosti broja se na vodećem mestu dodaje jedna cifra i to 0 ako je broj pozitivan i cifra 1 ako je broj negativan.

¸

7(10) = 111(2) ........... Neoznačen binarni broj

+7(10) = 0111(2) ....... Označen pozitivan binarni broj

-7(10) = 1111(2) ....... Označen negativan binarni broj

12(10) = 1100(2) ........ Neoznačen binarni broj

+12(10) = 01100(2) .... Označen pozitivan binarni broj

-12(10) = 11100(2) .... Označen negativan binarni broj

PREDSTAVLJANJE PODATAKAU komunikaciji sa računarom koriste se različiti oblici informacija: tekst, brojevi, slika, zvuk, video i animacija. Svi oblici se moraju predstaviti u obliku koji je razumljiv računaru.

Podaci se u računaru mogu memorisati i obrađivati jedino u binarnom obliku. Razlog zašto računari rade na binarnim principima je u tome što je većina komponenata računara bazirana na elektronskim elementima koje mogu razlikovati samo dva stanja: da li struje ima ili nema.

Na taj način ovi elementi omogućuju definisanje dva stanja svoga rada, koji odgovarajubinarnim ciframa "1" i "0" (latinski "bini" – po dva).

ILIUSTRACIJA DIGITALNOG NAČELA

PREDSTAVLJANJE PODATAKAOčito je da se binarni brojevi lako mogu zapisati i obrađivati u računaru, jer su njegove komponente prilagođene ovakvom radu. Međutim, podaci i programi koje računaru dajemo na ulazu obično nisu u ovom obliku. Čovjeku je lakše sa računarom komunicirati preko standardnih znakova koje upotrebljava u svakodnevnom obavljanju svojih zadataka. To su razna slova, cifre decimalnog brojnog sistema, kao i neki specijalni znaci: ( , ), ?, !, = „ itd. Da bi računar mogao da prihvati ove podatke, potrebno ih je kodirati. Kodiranje znači pretvaranje jednog skupa simbola u drugi skup.

PROCES KODIRANJA

KOD I KODIRANJE

Pretpostavka uspješnog komuniciranja računara u razmjeni ili obradi podataka je DOGOVOR o skupu znakova koji će se u radu s računarom koristiti kao i o binarnim kombinacijama za svaki od znakova. Dogovor se vremenom proširuje i dograđuje, a on je ili ozakonjeni standard države ili preporuka neke međunarodne organizacije.

Koja kombinacija nula i jedinica predstavlja koji znak definiše se tabelom koja se naziva KODKOD.

BCD kod Ukoliko svaku cifru dekadnog broja predstavimo u

binarnom obliku, dobijamo tzv. binarnobinarno kodiranikodiranidekadnidekadni brojbroj ili skraćeno BCD(BCD(Binary Coded DecimalBinary Coded Decimal)).

Dekadni broj 28Dekadni broj 28

BCD 0000 0010 0000 1000BCD 0000 0010 0000 1000

prvi bajt predstavlja cifru 2

drugi bajt predstavlja

cifru 8

BCD kod Osnovna mana ovog sistema je to što se jednim bajtom

može predstaviti samo 10 vrijednosti. To je nepakovani nepakovani BCD sistem.

Kod pakovanogpakovanog BCD sistema svaki polubajt (nibl) predstavlja posebnu cifru pa se jednim bajtom može predstaviti 100 različitih vrednosti.

Dekadni broj 28Dekadni broj 28

BCD 0010 1000BCD 0010 1000

cifra 2 cifra 8

BCD kod

Kako računar, osim s brojevima radi i sa slovima i drugim posebnim znakovima, potrebno je uzeti većibroj binarnih kombinacija. Osnova današnjihračunara je ASCII kod.

ASCII kod

ASCII kod je skraćenica od početnih slova rečenice 'AAmerican merican SStandard tandard CCode for ode for IInformation nformation IInterchangenterchange', što prevedeno znači: Američki standardni kod za razmjenu informacija. Tokom razvoja računara definisano je više varijanti ovoga koda.

To je osmo-bitni kôd (kôd čija je dužina 8 bita), koji omogućuje prikaz velikih i malih slova, specijalnih znakova (na primjer, *, +, =, ?, $, %, itd.), te upravljačkih znakova (na primjer, početak poruke, kraj poruke, novi red, itd.).

ASCII kod

Ukupno je sa osam bita moguće prikazati 256 (28=256) različitih znakova. Međutim, prvih 128 znakova je zaistastandardizovano, a preostalih 128 nije jedinstvenostandardizovano.

ASCII kod definiše 128 karaktera od koji su prvih 31 kontrolni karakteri koji se koriste za slanje dodatnih informacija o poslatim podacima.

ASCII kod 65 : veliko slovo AASCII kod 65 : veliko slovo A

ASCII kod 61: = ASCII kod 61: =

ASCII kod 101: malo slovo e ASCII kod 101: malo slovo e

ASCII kod

Pored ASCII koda postoje i drugi kodovi. Svaki korisnik može kreirati sopstveni kod, u kome će,

na primjer, slovu A biti dodijeljen broj 1. Ali u tom slučaju gubi se svaka kompatibilnost sa PC računarima.

Dio ASCII tabele

Decimalni broj Znak Decimalni broj Znak32 razmak 80 P33 ! 81 Q34 " 82 R35 # 83 S36 $ 84 T37 % 85 U38 & 86 V39 ' 87 w40 ( 88 X41 ) 89 Y42 * 90 Z43 + 91 [44 , 92 \45 - 93 ]46 . 94 ^

RAZLIKA IZMEĐU KODIRANJA I KONVERZIJE

Kod slova i specijalnih znakova konverzija uopšte ne postoji, pa ne postoji ni problem razlikovanja.

Prilikom konverzije kompletan decimalni broj posmatra se kao jedinstven (a ne cifra po cifra) i konvertuje se u binarni oblik. U računaru se binarne operacije provode samo nad binarnim brojevima nastalim konverzijom, a ne i nad binarnim kodovima.

PRIMJERI RAZLIKE IZMEĐU KODIRANJA I KONVERZIJE

Recommended