Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
Arhitektura i organizacija računara
Prof.dr Siniša Minić,E-mail: [email protected]
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
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