Uvod
There are 10 types of people in this world ....
Jedno od najčešćih pitanja koje postavljaju polaznici kurseva programiranja i informatike je: "zašto se u računarskim sistemima, za unutrašnje proračune, koristi binarni brojevni sistem" (ili malo drugačije - "zašto računari ne koriste dekadne brojeve")?
Dekadni brojevni sistem (na koji smo naviknuti od najranijeg uzrasta), pripada takozvanim pozicionim brojevnim sistemima, u kojima praktična vrednost cifre (odnosno "težina"), zavisi od pozicije cifre u broju. *
Dekadni brojevni sistem (kao takav), prilagođen je ljudima (i smatra se da je, od početka, bio povezan sa brojem prstiju na ljudskim šakama).
Binarni brojevni sistem je takođe pozicioni brojevni sistem ....

.... ali nije prilagođen ljudima - već računarima, i stoga se vraćamo na početno pitanje: šta je to što binarni brojevni sistem čini "logičnim" i (praktično) - "prirodnim" izborom, za upotrebu u računarskim sistemima?
Predstavljanje brojeva na računarima (uopšteno)
Računari funkcionišu kao sistemi međusobno povezanih logičkih kola, elektronskih sklopova na čijem izlazu se pojavljuje električni napon u zavisnosti od napona na ulazu.
Pojava napona na izlazu logičkog kola očitava se kao logička jedinica (naravno - pod uslovom da je vrednost napona dostigla ili prestigla granicu koja se očitava kao "logička jedinica"), dok se izostanak napona očitava kao logička nula.
U praktičnom smislu - u pitanju su (dve) cifre binarnog brojevnog sistema: 0 i 1.
Međutim, u svemu navedenom, vodi se računa samo o tome da li se napon na izlazu ('uopšte') pojavio, ali se ne vodi računa o konkretnoj vrednosti napona (što bi, teoretski, moglo da omogući kodiranje i ostalih cifara, odnosno, direktno korišćenje dekadnog brojevnog sistema preko deset prepoznatih nivoa napona).
Ipak - sve je to samo 'teorija' (a ne ideja koja zapravo može pokrenuti masovnu proizvodnju dekadnih računara koji su široko dostupni).
U praksi, moramo se prvo osvrnuti na to da su i sadašnji (binarni) računari - veoma kompleksni uređaji, koje je teško projektovati i izrađivati.
S tim u vezi, ako bismo usvojili "novi model računara" i novi postupak izrade, računari (koji su, već sada, veoma kompleksni i prilično problematični za projektovanje i izradu), postali bi višestruko kompleksniji, nesagledivo problematičniji i mnogo (mnogo!) skuplji - pa nije teško zaključiti da takav model "dekadnog računara" nije: ni praktičan, ni popularan!
Detaljnija analiza
Za čitaoce koje tematika zanima više, možemo dodatno proširiti diskusiju, osvrtom na najočigledniji problem koji bi se javio u (potencijalnoj) proizvodnji dekadnih računara, a to je - pregrevanje komponenti, međutim, da se redom upoznamo i sa ostalim neophodnim 'tehnikalijama' ....
Logička kola, koja smo ranije pomenuli, sačinjena su (uglavnom) od poluprovodnika, i u pitanju su materijali koji omogućavaju da se napon na izlazu pojavljuje samo u slučaju da je napon na ulazu veći od određene vrednosti (za razliku od izolatora, koji nikako ne provode struju, ili provodnika, koji bezuslovno provode struju).
Međutim, što su naponi veći - veće je i zagrevanje logičkih kola.
Dakle .... budući da niste još davno 'zbrisali' (da biste se 'spasili' od razmatranja koja se tiču "nepostojećih računara", "poluprovodnika" i sl), pretpostavljamo da vas zanima na koji način i u kojoj meri se, sa povećanjem napona, povećava i zagrevanje komponenti ....
Kada se napon duplira, električna snaga koja se u određenom elektronskom uređaju razvija, ne duplira se - već se zapravo učetvorostručuje, a što se tiče našeg "teoretskog modela 'dekadnog računara'", postavlja se i pitanje: koliko bi (zapravo) bilo potrebno povećavati napon za očitavanje svake sledeće cifre?!
Pogledajmo usput i nekoliko formula koje će doprineti boljem razumevanju pojava koje smo opisali u prethodnom pasusu.
U električnim kolima, snaga se računa kao: P = U * I
, gde je P
snaga, U
je napon, a I
jačina struje.
Jačina struje se računa kao: I = U / R
, gde je R
otpor u električnom kolu, pa je onda jasno da se snaga može izraziti i kao: P = U2 / R
("snaga raste sa kvadratom napona").
Sada dolazi trenutak da 'vratimo poluprovodnike u diskusiju' ....
Ako se uzme da je, za "dodavanje jedne cifre", napon potrebno povećati za iznos koji u logičkim kolima predstavlja razliku između logičke nule i logičke jedinice (okvirno: u današnje vreme, napon logičke jedinice iznosi oko 1.0V), jasno je da bi se snaga učetvorostručila dodavanjem samo jedne cifre!
Dodavanje preostalih sedam cifara bi povećalo maksimalni napon devet puta (9x) u odnosu na prvobitni (cifra '9' očitavala bi se pri naponu od ~9V), a potrošnja bi bila povećana ~osamdesetostruko, odnosno preciznije - 81x! (snagu koja bi se razvijala u takvim okolnostima, nismo hteli da "pominjemo naglas", ali, lako možete sami izračunati da je u pitanju snaga koja već 'nalikuje' snazi koja se razvija na grejnim uređajima u domaćinstvima).
Pošto je u pitanju fiktivni model (i nismo sigurni koliko bismo tačno morali da povećavamo napone zarad prepoznavanja ostalih cifara), mogli bismo da pretpostavimo da je dodavanje jednog Volta za svaku cifru previše i "da se nađemo na pola puta" (to jest, mogli bismo da "prepolovimo" napon od 9V za cifru 9, a da ostale napone "rasporedimo" proporcionalno), što znači da bi se snaga na kraju uvećala "samo" 20-30 puta (intuicija sugeriše da ne bi moglo "bolje od toga").
Međutim, "prepolovljavanje" napona ne bi mnogo pomoglo, jer uvećanje potrošnje od 20-30x - u najmanju ruku nije zanemarljivo (ili - "samo").
Budući da današnji računari ionako funkcionišu (veoma) blizu gornje temperaturne granice izdržljivosti poluprovodnika (što je verovatno lepše nego da kažemo - "zabrinjavajuće blizu"), nije teško shvatiti da bi višestruko povećanje radne temperature dovodilo do trenutnog otkazivanja računarskih sklopova - ili bi nesagledivo povećalo složenost i cenu uređaja za rashlađivanje računarskih komponenti.
Stoga .... ostajemo pri upotrebi dva naponska stanja: "nema napona" (0) i "ima napona" (1), a to je upravo ono što odgovara binarnom brojevnom sistemu (koji koristi cifre 0 i 1).