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