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