Upload
others
View
10
Download
2
Embed Size (px)
Citation preview
2 . O S N O V N I P R I N C I P I R AČU N A L N E T E H N O L O G I J E
Građa računala
Temelji
Princip rada računala – temelj: Turingov teorijski model algoritmičkog strojaSlijedno interpretiranje simbolički opisane zadaće –algoritmeProblem: Kako prikazivati simbole?
2.1 Turingov stroj
Turingov stroj (1937. god.) – upravljačka jedinka koja može čitati i pisati simboličke podatke na vrpcu. Vrpca beskonačne duljine je podijeljena naspremnike. Svaki spremnik može sadržavati bilo koji konačan skup simbola.
Von Neumannov model
Računalo kao Turingov stroj
Računalo kao Turingov stroj koristi analogiju:
upravljačka jedinica procesor (CPU)
vrpca memorija (RAM)
Simbolički podaci se predstavljaju prekidačkom tehnologijom – nizom 0 i 1.
2.2. Binarni brojevni sustav
Binarni brojevni sustav je zasnovan na potencijama broja 2, a znamenke koje koristi su 0 i 1.
BINARNI BROJ (0,1) =“bit”
Nbkxbxxxx iki
iibk ∈−∈= ∑
≤≤
},1,...,0{,)...(0
)(21
za proizvoljnu bazu b – POZICIJSKI SUSTAV
Pretvorba brojevnih sustava
Pretvorba iz binarnog u dekadski brojevni sustav
Pretvorba iz dekadskog u binarni brojevni sustav
Zadaci
Pretvori slijedeće binarne brojeve u dekadske:a) 100101b) 1101001c) 1111011
Primjer 2.1:
Primjer 2.2:
Pretvori slijedeće decimalne brojeve u binarne:a) 201b) 19c) 1024
Prikaz negativnih cijelih brojeva
).12( do )12( od je bitova u prikazati može se koji brojevacijelih raspon Ukupni
'-'. odnosno ''predznak apredstavlj što 1 ili 0bit stojimjestu na
11
1
−
+
−
−
nn-
n
--n
b
Prikaz negativnih cijelih brojeva
1. Ekcesivna notacija
Ne podrazumijevaju svi bitovi u zapisu binarnog broja potenciju broja 2. Prvi bit (s desna) se koristi za predznak, a ostali za apsolutnu vrijednost tog broja. Pozitivni brojevi prikazuju se s početnim bitom 1, a negativni s 0. Brojevi su “simetrični” do na predznak s obzirom na 0.
Prikaz negativnih cijelih brojeva
1. Komplementarna notacija
2 su načina zapisa u ovoj notaciji:1. Komplement prema jedan - sve
znamenke nekog binarnog broja se komplementiraju tj. 0 prelazi u 1 i 1 u 0. Novodobiveni broj je binarni zapis negativnog predstavnika polaznog broja.
2. Dvostruki komplement – uz komplementaciju znamenki dodaje se još 1.
Zadaci
Odredite decimalnu vrijednost brojeva 10100011 i 00010110 u konvenciji predznaka.
Primjer 2.3:
Primjer 2.4:
Odredite 8-bitnu binarnu vrijednost broja -34 u komplementarnoj notaciji.
Decimalni zapis binarnog broja
Zapis
Racionalni broj R se zapisuje kao niz binarnih znamenki odijeljenih binarnom točkom.
Nqpb
bbbbbbbR qpp
∈=
= −−−−−
,,2
....... 210121
BIN->DEC
3125.1121202120212120210101.1011 43210123
==⋅+⋅+⋅+⋅+⋅+⋅+⋅+⋅= −−−−
Decimalni zapis binarnog broja
DEC->BIN
Na sličan način kao što se pretvara cijeli broj u binarni s iterativnim dijeljenjem broja 2, tako se pretvorba iz racionalnog broja u binarni ostvaruje iterativnim množenjem s brojem 2.
2
22
11-
2
11.1175.30.010.15.02
5.01b1.50.752:dio irazlomljen
113:dio cijeli75.0375.3
====⋅===⋅
=+=
− RbR
Decimalni zapis binarnog broja
Zadaci:
Riješite slijedeće primjere:a) iz bin u dec:
11.1111, 0.0011
b) iz dec u bin: 0.4715.635
Prikaz racionalnih brojeva
Racionalni brojevi se prikazuju u binarnom sustavu pomoću tzv. notacije pomičnog zareza ili pomične točke.
Prikaz racionalnih brojeva
Racionalni brojevi se prikazuju u binarnom sustavu pomoću tzv. notacije pomičnog zareza ili pomične točke.
Short (32-bit) format
Long (64-bit) format
Sign Exponent Significand
8 bits, bias = 127, –126 to 127
11 bits, bias = 1023, –1022 to 1023
52 bits for fractional part (plus hidden 1 in integer part)
23 bits for fractional part (plus hidden 1 in integer part)
Prikaz racionalnih brojeva
Primjer: Decimalni prikaz racionalnog broja 11100111 u dekadskom sustavu.
Kod dekodiranja prvo se izdvoji mantisa i postavlja se zarez na početku s lijeve strane.
11100111mantisaeksponent
predznak
,0111
Slijedeća 3 bita prikazuju eksponent u ekcesivnoj notaciji koji je jednak 2 što znači da pomičemo zarez 2 mjesta udenso pa imamo:
110=+(1*2 +0*1)
01,11
Binarna kombinacija ispred zareza definira cijeli broj 1, dok bitovi iza zareza prikazuju decimale po pravilu negativnih potencija od 2.
432101 12121212011,01 =⋅+⋅+⋅+⋅= −−
Zadaci
Odredite racionalnu vrijednost broja u 8-bitnom zapisu 01011001.
Primjer 2.5:
Binarna aritmetika
1. Binarno zbrajanje
primjer:Isto kao i decimalno zbrajanje, prijenos za (1+1)
Binarna aritmetika
Primjer zbrajanja 4-bitnog sloga sa zastavicom prijelaza (overflow flag)
Prilikom zbrajanja binarnih slogova potrebno je obratiti pozornost na ispravnost rezultata tj. prelazi li rezultat raspon dozvoljenih brojeva.overflow i underflow.
Binarna aritmetika
1. Binarno oduzimanje
primjer:
Oduzima se kao i kod decimalnog oduzimanja ili zbrajanjem dvojnog komplementarnog umanitelja.
Binarna aritmetika
1. Binarno množenje
primjer:
Kod binarnog množenja djelomičan umnožak pomiče se za jedno mjesto ulijevo pri svakom uzimanju idućeg množitelja.
Binarna aritmetika
1. Binarno dijeljenje
primjer:
Primjenom pravila binarnog oduzimanja i množenja može se obaviti binarno dijeljenje na isti način kao dijeljenje decimalnih brojeva.
Zadaci
Zadatak 2.1:
11000111 (-57)+11011101 (-35)
00111001 - 11011101
110100100
10100100 (-92)01011100
1001101 x 101 1101101 : 11 =
Prikaz simboličkih podataka
Osim brojčanih vrijednosti računalo nam prikazuje i simbole. U tu svrhu razvijen je ASCII standard za prikaz podataka u računalu.
ASCII (“American Standard Code for Information Interchange”) kodirana norma. Koristi 7-bitni slog za kodiranje velikih i malih slova, brojaka te pravopisnih, matematičkih i posebnih znakova. Prošireni ASCII obuhvaća 8-bitni slog i podrazumijeva 256 različitih simbola.
Prikaz simboličkih podataka
Prikaz simboličkih podataka
Prikaz simboličkih podataka
Prikaz simboličkih podataka
Binarne logičke operacije
Osim reprezentacije podataka za implementaciju algoritama potrebno je omogućiti, osim matematičkih operacija, operacije na simboličkim podacima, tj. logičke operacije koja se temelji na Booleovoj algebri.
Osnovne operacije: NOT, AND, OR, XOR, NAND, NILI
Binarne logičke operacije
Negacija varijable - invertor.
NE (NOT) operator
Element u logičkoj shemiTablica istinitosti
Binarne logičke operacije
Operator ukazuje na istinitost ukoliko su obje varijable istinite –logička vrata.
I (AND) operator
Element u logičkoj shemiTablica istinitosti
Binarne logičke operacije
Operator ukazuje na istinitost ukoliko je barem jedna varijabla istinita istinite.
ILI (OR) operator
Element u logičkoj shemiTablica istinitosti
Binarne logičke operacije
Operator kao kombinacija I i NE operatora.
NI (NAND) operator
Element u logičkoj shemiTablica istinitosti
Binarne logičke operacije
Operator kao kombinacija ILI i NE operatora.
NILI (NOR) operator
Element u logičkoj shemiTablica istinitosti
Binarne logičke operacije
Rezultat operacije je istinit ukoliko je barem jedan od operanda istinit, ali s tom razlikom da ne vrijedi slučaj kada su oba operanda istinita.
EX-ILI (XOR) operator
Element u logičkoj shemiTablica istinitosti
Binarne logičke operacije
Pomoću elementarnih Booleovih operacija načinite logičku shemu za XOR operator.
Zadatak
Binarne logičke operacije
Pomoću elementarnih Booleovih operacija načinite logičku shemu za A=>B operator.
Zadatak 2.2
Pomoću elementarnih Booleovih operacija načinite logičku shemu za A<=>B operator.
Zadatak 2.3
Pomoću elementarnih Booleovih operacija načinite logičku shemu za A ® B operator, gdje je (R) logička shema za uvjete :
Zadatak 2.4
A B A (R) B
0 0 0
0 1 0
1 0 1
1 1 1
Binarne logičke operacije
Napravite logičku shemu X=A+B*(NOT(C))
Zadatak 2.5
Napravite logičku shemu Y=NOT(NOT(A)*B+C*NON(D))
Zadatak 2.6
Binarne logičke operacije
Napravite logičku shemu Z=NOT(NOT(NOT(A)+B)*BC)
Zadatak 2.7
Napravite logičku shemu C=(A+B)*NOT(AB)
Zadatak 2.8
Primjena logičkih operacija
Kako predstaviti binarno zbrajanje kao rezultata logičkih operacija?
Zbrajanje
Ideja: stupac C predstavlja 1 bit za primjenu XOR operatora na operande, a 2 bit je operator I
rezultat prijenos
Prijenos ima utjecaj na višebitne slogove. Tada uzimamo u obzir “donos”.
Puni sumator
Polu sumator
Primjena logičkih operacija
Logička shema punog sumatora:
Zbrajanje
Primjena logičkih operacija
Takav 1-bitni puni sumator može se povezivati za višebitne binarne slogove.
Zbrajanje
Model 1-bitnog sumatora
Model 8-bitnog sumatora
Primjena logičkih operacija
Primjer zbrajanja punim sumatorom za slogove 10111+1010
Bistabili i registri
Za pamćenje i manipuliranje binarnih brojeva u računalu potrebni su sklopovi koji mogu bilježiti 2 stanja.
Osnove
Bistabili i registri
OsnoveBistabil, flip-flop, je sekvencijalni sklop digitalne elektronike koji može zapamtiti podatak veličine jedan bit. Elektronički gledano radi se o sklopu koji ima dva stabilna stanja (logičku 0 i 1). Bistabil obično ima dva ili tri ulaza na koje se dovode ulazni impulsi koje u ovom sklopu nazivamo okidni impulsi. Bistabil može imati jedan, dva ili tri ulaza i ima jedan ili dva izlaza. Ulazi se označavaju ovisno o vrsti bistabila, dok se izlazi označavaju s Q (logičko stanje bistabila) i (logički komplement izlaza Q). Promjena iz jednog stabilnog stanja u drugo naziva se okidanje bistabila.Bistabile možemo podijeliti u dvije osnovne skupine i to na asinkrone i sinkrone bistabile. Asinkroni bistabili imaju svojstvo da reagiraju na promjenu impulsa čim se pojavi na ulazu u sklop, što daje pogrešan rezultat kada se ulazni impulsi ne dovode istovremeno na ulaz. Sinkroni bistabil je verzija asinkronog koji ima dodatni ulaz (CLK, eng. clock) na koji se dovode sinkronizacijski impulsi konstantne frekvencije tako da bistabil mijenja stanje na promjenu okidnog impulsa.Bistabil su 1919. godine napravili William Eccles i F. W. Jordan i bio je izveden iz dvije elektronske cijevi koje su nakon izuma tranzistora 1947. godine zamijenjene istim.
Bistabili i registri
Za pamćenje i manipuliranje binarnih brojeva u računalu potrebni su sklopovi koji mogu bilježiti 2 stanja.
Osnove
Kontrolu mehaničke sklopke zamijenili su tranzistori dovođenjem napona na sklop.
Bistabili i registri
Binarna vrijednost koja se želi pohraniti na bistabil dovodi se na priključak D, na izlaznom priključku Q se očitava stanje bistabila i ulazni priključak POHRANITI se dovodi poseban upravljački signal
Osnove
Bistabil za pohranjivanje 1 bita Bistabil za pohranjivanje n bitova
Bistabili i registri
S-R bistabil ima 2 signala S (set) i R (reset) i izlaze Q i NOT(Q). Set znači postavi bistabil u stanje 1, a reset postavi bistabil u stanje 0.
S-R bistabil
S R Qn Qn+1
0 0 0 0
0 0 1 1
0 1 X 0
1 0 X 1
1 1 X neodređeno
Bistabili i registri
Odgovarajuća logička shema:
S-R bistabil
Bistabili i registri
JK bistabil se od SR bistabila razlikuje samo po tome što nema zabranjenih stanja, odnosno stanja u kojima su ulazi J i K logički isti daju na izlazu stanja koja ovise i o prethodnim stanjima bistabila. Kod JK bistabila se uvodi i treći CLK ulaz koji služi za sinkronizaciju.
J-K bistabil
J K Qn+1
0 0 Qn
0 1 0
1 0 1
1 1
Jednadžba stanja
Bistabili i registri
J-K bistabil
Ulazni signali J i K, s dodatnim signalom CLK.
Bistabili i registri
D bistabil
D bistabil je modifikacija SR bistabila koja se dobije tako da se ulazna varijabla spoji direktno na ulaz S, dok se na ulaz R dovede invertirani ulaz. D bistabil jednostavno samo upisuje (odnosno daje na izlazu) podatak koji mu je dan na ulazu, pa ga zbog toga možemo promatrati kao elementarnu česticu za memoriranje jednog bita, ili kao element za kašnjenje ukoliko uključimo i CLK ulaz. Upravo zbog ovih svojstava (eng. data, podatak i eng. delay, kašnjenje) bistabil je i dobio ime D bistabil.
D Qn+1
0 0
1 1
Qn + 1 = D
Bistabili i registri
T bistabil
T bistabil je verzija JK bistabila kod kojega su ulazi J i K međusobno spojeni tako da samo jedan logički ulaz T. T bistabil ima i još jedan CLK ulaz. Spojimo li ulaz T na logičku jedinicu dobivamo sklop koji mijenja logičko stanje na CLK impuls čime se na izlazu T bistabila dobiva niz impulsa dvostruko manje frekvencije od frekvencije CLK. Upravo zbog svojstva promjene stanja, eng. toggle, prebacivati, je i T bistabil dobio ime.Jednadžba stanja T bistabila:
Tablica stanja T bistabila:
T Qn+1
0 Qn
1
Bistabili i registri
Registri
Predstavljaju nanizane bistabile u cjelinu koji služe za pamćenje višebitnih podataka.
Registri
Prenošenje podataka između registara
Prijenos podataka s jednog bistabila na drugi vrši se korištenjem logičkih vrata (brane).
signal za prijenos podataka utječe na otvaranje brane
prijenos podataka preko jednog spoja i jedne brane
Registri
Prenošenje podataka između registara
Prijenos podataka s registara na drugi registar primjenom sabirnice i dovodnog signala.
vremenski odnosi prijenosa podataka
Registri
Dekoder
Za neko stanje na registru dekoder će bilježiti jedno stanje na svom vodu, odnosno bilježit će moguća stanja registra.
3-bitni registar s dekoderom realizacija dekodera s logičkim sklopovima
Realizacije bistabila
Pomačni registar
Sklop koji se sastoji od više D bistabila, koji imaju zajednički taktni ulaz, a spojeni su tako da je izlaz jednog doveden na ulaz drugog.
Osim pamćenja kodne riječi, osnovna funkcija je pomak bitova u lijevo ili udesno čime ostvarujemo množenje ili dijeljenje, te paralelno, serijska pretvorba.
Realizacije bistabila
Brojila
Sklop koji se sastoji od više T ili JK bistabila koji su povezani tako da njihovo slijedeće stanje ovisi samo o prethodnom (prijelaz u slijedeće stanje nastaje u trenutku nastupanja taktnog signala). Brojilo boji ukupan broj signala koji dođu na nj.
Vrsta generatora sekvence koji prolaskom kroz sva stanja na izlazu generira konačnu sekvencu kodnih kompleksija . Ima ulogu binarnog brojenja. Jedna od primjena je brojanje rednog broja instrukcija.
Realizacije bistabila
Memorija
Na registrima se bilježe podaci koje služe u obradi. Postoje i neki podaci koji se čuvaju za neko drugo vrijeme obrade. Takvi registri koji omogućuju trajno spremanje podataka zovemo memorija.
• svaki registar ima LOKACIJU• svaka lokacija mora imati ADRESU• sadržaj lokacije predstavlja podatak koji se pamti u memoriji.• ADRESNI REGISTAR – registar u kojem se bilježi adresa lokacije• REGISTAR MEMORIJSKIH PODATAKA –registar u kojem se prenose podaci iz memorije i obrnuto
memorija i pomoćni sklopovi
I S A – “ I N S T R U C T I O N S E T A R C H I T E C T U R E ”
Arhitektura skupa instrukcija
ISA hardware podrška
ISA predstavlja assembly jezik programator koji ima na raspologanjuprogramerski pristup prema sklopovlju i skup instrukcija koji upravljaju podacima.
Assembly jezik – funkcionalni ekvivalent strojnog jezika (nizovi 0 i 1 predstavljaju instrukcije i podatke – jezik razumljiv računalu)
1. Primjer:2. Program napisan u višem
jeziku se kompajlira u strojni kod koji se sprema na I/O
3. Prije izvršenja strojnog koda sadržaj se prenosi u memoriju.
4. Prilikom izvršenja programa instrukcije se donose u ALU iz memorije zajedno s podacima i obrađene informacije se dalje prosljeđuju na izlaze.
CPU
Procesor (engl. CPU) se sastoji od podatkovnog dijela i kontrolnog dijela.
Podjela procesora na 2 kategorije.
U današnjim računalima koristi se 32 bitni adresni prostor za adresiranja byteova.
Program counter (PC) i Instruction register (IR) su spojnica između kontrolnog dijela i podatkovnog dijela.PC sadrži adresu instrukcije koja se dohvaća iz memorije i potom stavlja u IR gdje se interpretira.
CPU
Koraci u izvršenju programa kontrolnog dijela – fetch-execute cycle
1) Dohvati slijedeću instrukciju koja se treba izvršiti iz memorije.
2) Dekodiraj opcode (kod operatora)3) Učitaj operande iz memorije, ako ih ima.4) Izvrši instrukciju i spremi rezultat.
CPU
Koraci u izvršenju programa podatkovnog dijela – datapath.
Podatkovni dio se sastoji od kolekcije registara zvanih datoteka registara (register file) koji služe za spremanje podataka (operanada).
ALU implementira različite binarne i unarne operacije (+,*,NOT,AND,OR)
Kontrolna jedinica bira operacije i operande koji će se izvršiti i gdje će ih proslijediti.
Shema procesora s modelima registara
Skup instrukcija
Skup instrukcija (Instruction set) – skup instrukcija koje procesor može izvršiti. Skup instrukcija ovisi o modelu procesora.
Compiler – program koji prevodi jezik više razine (C, Java, Pascal) u strojni jezik.Prevođenje jezika:
High-level jezik Assembly jezik Strojni jezik
compile vrijeme assembly vrijeme vrijeme izvršenja
Skup instrukcija na RISC modelu
Skup instrukcija razvijen na RISC modelu (podmodel SPARCa) s ARC memorijskim modelom
ARC instrukcijski skup:• CPU sadrži 32 32-bitna registra opće namjene, također PC i IR• Processor Status Register (PSR) sadrži informacije o stanju procesora, uključujući informacije o rezultatima aritmetičkih operacija (flags)• sve instrukcije su 32-bitne veličine• load-store stroj – omogućeno je samo dohvaćanje i spremanje u memoriji• ukupni broj instrukcija oko 200 u SPARC modelu
Skup instrukcija na RISC modelu
Skup instrukcija za prijenos podataka, ALU operacije, kontrolu
Skup instrukcija na RISC modelu
ARC Assembly sintaksa
Svaki assembly jezik ima svoju sintaksu. Primjer sintakse assemblyjezika SPARC modela:
Primjer:Dodavanje 12 sadržaju registra %r1 i spremanje na registar %r3
Skup instrukcija na RISC modelu
ARC format instrukcija
Instrukcijski format definiran assembly kodom u strojni jezik predstavljen je 32-bitnom instrukcijom.5 formata je određeno skupom instrukcija SETHI, Grananje, pozivi, Aritmetika, Memorija
Skup instrukcija na RISC modelu