Transcript ORT1_06_PR3
OSNOVI RAČUNARSKE
TEHNIKE 1
MATEMATIČKE
OSNOVE RAČUNARA
2
Binarni brojevi
Oznake
za dužinu binarnog podatka u
računarskom sistemu
1
bit = 0 ili 1 (najmanji podatak)
1 nibble = 4 bit-a = jedna tetrada
1 byte = 8 bit-a = dve HEX cifre
1 word = 16 bit-a, 32 bit-a, ...60 bit-a,
U zapisu binarnog broja prvi sleva je bit najveće
težine, a prvi zdesna bit najmanje težine
Most
Significant
MSB
Bit
LSB
List
Significant
Bit
Binarni brojevi
8
- bitni binarni broj je jednobajtni
podatak
8
x = b7 b6…b1 b0
28 = 256 različitih podataka (brojeva)
- bitni podatak može da bude:
Neoznačen (unsigned) bajt
256 pozitivnih brojeva
x(10) = 27 b7 + 26 b6 + ... + 21 b1 + 20 b0
Označen (signed) bajt
ukupno 256 pozitivnih i negativnih brojeva
x(10) = - 27 b7 + 26 b6 + ... + 21 b1 + 20 b0
Binarni brojevi
Procesor
ne razlikuje označen i neoznačen
podatak
Programer odlučuje:
da
li se koristi označen ili neoznačen binarni
podatak
koje će aritmetičke operacije da primeni nad
binarnim podacima
koje će kontrolne bite da koristi za tumačenje
rezultata aritmetičke operacije
Binarni brojevi
Posle
svake aritmetičke operacije u ALU
procesor postavlja ili briše kontrolne bite u
registru stanja (zastavice, flag-ovi) čija vrednost
može da bude 1 ili 0
C (Carry) = 1 označava da postoji prenos bita
najveće težine
N (Negative) = 1 označava je rezulatat negativan
broj kada su podaci označeni brojevi
V (oVerflow) = 1 signalizira da je rezultat van
opsega (-128 do +127) ako su ulazni podaci
označeni brojevi
Z (Zero) = 1 signalizira da je rezultat aritmetičke
operacije 0
Osnovne aritmetičke operacije
Osnovna
aritmetička operacija u
računarskim sistemima je sabiranje
Pravila binarnog sabiranja:
0+0=0 1+0=1
0 + 1 = 1 1 + 1 = 10 1 = prenos (carry)
1 + 1 + 1 = 11 1 = prenos (carry)
Oduzimanje se svodi na sabiranje:
X–Y=X+(-Y)
pri čemu je (- Y) kodovana negativna
vrednost
Predstavljanja negativnih brojeva
Negativni
brojevi mogu da se koduju
primenom
Direktnog
koda
Komplementa
Direktan
MSB
kod
sadrži bit znaka, a ostali biti daju
apsolutnu vrednost
MSB = 1 broj je negativan
MSB = 0 broj je pozitivan
Ne dobija se tačan rezultat pri sabiranju X+(Y)
Predstavljanja negativnih brojeva
Primena komplementa
U binarnom brojnom sistemu (S = 2) mogu
da se definišu :
Komplement jedinice (prvi komplement)
Invertovanjem svake cifre polaznog
binarnog broja ( 0 1 i 1 0 )
Komplement dvojke (drugi komplement)
Uvećavanjem vrednosti prvog
komplementa za 1
Predstavljanja negativnih brojeva
Prvi
komplement
Negativan broj
(-Y) se predstavlja kao prvi
komplement binarnog zapisa
Kada se pri sabiranju X+(-Y) na MSB mestu
pojavi prenos (C, carry) rezultat se koriguje
dodavanjem prenosa na LSB
Postoji razlika u prvom komplementu
pozitivne i negativne nule
pozitivna 0 (00000000)
negativna 0 (11111111)
Predstavljanja negativnih brojeva
Drugi
komplement
Negativan broj
(-Y) se predstavlja kao drugi
komplement binarnog zapisa
Praktično jedini način predstavljanja
negativnog broja u računarskom sistemu.
Kada se pri sabiranju X+(-Y) na MSB mestu
pojavi prenos ignoriše se (odseca se), ali ostaje
zapisan u flegu (C, carry)
Drugi komplement pozitivne i negativne nule je
isti (00000000)
Format zapisa binarnih brojeva
Svaka
binarna cifra u zapisu
x = bR bR-1 …b1 b0 , b-1…b-P
ima svoje određeno mesto u mašinskoj
reči razred
Broj je sa nepokretnom decimalnom
tačkom ako je jednom određen položaj
decimalne tačke u odnosu na razrede isti
za sve brojeve u mašinskom jeziku
Informaciju
o položaju decimalne tačke čuva
programer
Položaj decimalne tačke se ne upisuje u memoriju
Format zapisa binarnih brojeva
zapisa je dužina binarnog zapisa
(broj bita) i položaj decimalne tačke
Formatom je određen broj cifara ispred i iza
decimalne tačke
Format
cifara ispred decimalne tačke definiše opseg
brojeva koji mogu da se predstave tim formatom
Broj cifara iza decimalne tačke definiše tačnost sa
kojom se prikazuju brojevi
Broj
Dužina
zapisa je fiksna i određena hardverom
računara
Programer
pravi kompromis između tačnosti i
opsega
Tačnost i opseg se menjaju promenom formata
Format zapisa binarnih brojeva
Neoznačeni
brojevi sa nepokretnom
decimalnom tačkom:
QN-R,R
N - R = broj cifara ispred decimalne tačke
R = broj cifara iza decimalne tačke (radix)
N = ukupan broj bita (dužina zapisa)
R
= N zapis je normalizovan
(0 broj < 1)
R = 0 zapis je celobrojan
Format zapisa binarnih brojeva
Označeni
brojevi sa nepokretnom
decimalnom tačkom:
QSN-R,R
N - R = broj cifara ispred decimalne tačke
R = broj cifara iza decimalne tačke (radix)
N = ukupan broj bita (dužina zapisa)
R
= N zapis je normalizovan
(0 broj < 1)
R = 0 zapis je celobrojan
Format zapisa binarnih brojeva
Mogu
da se sabiraju ili oduzimaju samo
brojevi u istom formatu
Decimalna vrednost osmobitnog zapisa
neoznačenog broja u formatu Q8-R,R :
x(10) = 2-R • ( b7 • 128 + b6 • 64 + ... + b1 • 2 + b0 )
Decimalna
vrednost osmobitnog zapisa
označenog broja u formatu QS8-R,R
x(10) = 2-R • ( -b7 • 128 + b6 • 64 + ... + b1 • 2 + b0 )
Format zapisa binarnih brojeva
Istom
binarnom zapisu u zavisnosti od
formata mogu da odgovaraju različite
decimalne brojne vrednosti:
00001011(2)
11(10)
= 5.5(10) (= 11/21)
2.75(10) (= 11/22)
Q8,0
Q7,1
Q6,2
decimalna brojna vrednost može da
ima više različitih binarnih zapisa:
Ista
000010112
5.5(10) = 000101102
001011002
Q7,1
Q6,2
Q5,3
Format zapisa binarnih brojeva
Pri
izboru formata treba obezbediti
dovoljan broj bita ispred decimalne tačke
za celobrojni deo
maksimalan broj bita iza decimalne tačke
za razlomljeni deo (zbog veće tačnosti)
Promena formata se svodi na množenje ili
deljenje binarne vrednosti sa 2N:
Pomeranje
(šiftovanje) decimalne tačke za N
mesta ulevo je deljenje sa 2N
Pomeranje (šiftovanje) decimalne tačke za N
mesta udesno je množenje sa 2N
Format zapisa binarnih brojeva
Format
čuvanja u memoriji
Polurečni format: dva n – bitna binarna broja u
jednom N – bitnom registru (n = N / 2)
Z xn-2
x0 Z xn-2
x0
Jednorečni
format: jedan N - bitni broj u jednom
N - bitnom registru
Z xN-2
Dvorečni
Z
x0
format: jedan broj u dva registra
reč veće težine
Viši bajt sa znakom
reč manje težine
Neoznačen niži bajt