Mis on binaarne ja miks arvutid seda kasutavad?
Arvutid ei mõista sõnu ega numbreid, kuidas inimesed seda teevad. Kaasaegne tarkvara võimaldab lõppkasutajal seda ignoreerida, kuid arvuti madalaimal tasemel on kõik esindatud binaarse elektrilise signaaliga, mis registreerib ühes kahest olekust: sisse või välja. Keeruliste andmete mõttes peab teie arvuti kodeerima selle binaarseks.
Binaarne on baas 2-numbrite süsteem. Baas 2 tähendab, et on ainult kaks numbrit 1 ja 0, mis vastavad arvuti sisse- ja väljalülitatud olekutele. Tõenäoliselt olete tuttav baas 10-kümnendkohaga. Kümnendik kasutab kümmet numbrit, mis jäävad vahemikku 0 kuni 9, ja seejärel ümbritseb kahekohalised numbrid, kusjuures iga number on kümme korda suurem kui viimane (1, 10, 100 jne). Binaarne on sarnane, kusjuures iga number on väärt kaks korda rohkem kui viimane.
Binaarses arvestuses
Binaarses väärtuses on esimene number kümnendkohaga 1. Teine number on väärt 2, kolmas väärt 4, neljandal väärt 8 ja iga kord kaks korda. Nende lisamine annab numbri kümnendkohaga. Nii et,
1111 (binaarses) = 8 + 4 + 2 + 1 = 15 (kümnendkohaga)
Arvestades 0, annab see meile 16 võimalikku väärtust neljale binaarbittile. Liikuge 8-le bitile ja teil on 256 võimalikku väärtust. See võtab palju rohkem ruumi esindamiseks, kuna neljakohaline kümnendarv annab meile 10 000 võimalikku väärtust. See võib tunduda, et me läbime kogu selle probleemi, et meie loendamissüsteem uuesti leiutada, et muuta see kliendiks, kuid arvutid mõistavad binaarseid palju paremini, kui nad kümnendkohast aru saavad. Kindlasti võtab binaar rohkem ruumi, kuid riistvara on meid tagasi hoidnud. Ja mõnede asjade puhul, nagu loogika töötlemine, on binaar parem kui kümnend.
Seal on veel üks põhisüsteem, mida kasutatakse ka programmeerimisel: kuueteistkümnend. Kuigi arvutid ei käivitu kuueteistkümnendsüsteemis, kasutavad programmeerijad koodi kirjutamisel binaarsete aadresside kujutamist inimloetaval kujul. Seda seetõttu, et kaks heksadecimaalset numbrit võivad esindada tervet baiti, kaheksa numbrit binaarses. Hexadecimal kasutab 0-9 nagu kümnendarv, ja ka tähed A kuni F esindavad veel kuut numbrit.
Nii et miks arvutid kasutavad binaarseid?
Lühike vastus: riistvara ja füüsika seadused. Iga arv arvutis on elektriline signaal ja arvutamise algusaegadel oli elektrisignaale palju täpsem mõõta ja kontrollida. Veelgi mõttekam oli eristada ainult negatiivse laenguga riiki ja “väljalülitatud” riigi poolt esindatud positiivset laengut. Neile, kes ei ole kindel, miks „väljalülitamist“ kujutab endast positiivset laengut, on see sellepärast, et elektronidel on negatiivne laeng, rohkem elektroni on negatiivsema laenguga rohkem voolu.
Niisiis kasutasid varajase toa suurusega arvutid oma süsteemide ehitamiseks binaarseid seadmeid ja kuigi nad kasutasid palju vanemat, hämaramat riistvara, oleme säilitanud samad põhimõtted. Kaasaegsed arvutid kasutavad binäärse arvutamise teostamiseks transistorit. Siin on skeem selle kohta, milline on välitransistor (FET):
Sisuliselt võimaldab see voolu voolata allikast äravooluni, kui väravas on vool. See moodustab binaarse lüliti. Tootjad võivad ehitada need transistorid uskumatult väikesteks kuni 5 nanomeetrini või umbes kahele DNA ahelale. Nii toimivad kaasaegsed protsessorid ja isegi nad võivad kannatada probleemide vahel, mis eristavad sisse- ja väljalülitatud olekuid (kuigi see on peamiselt tingitud nende ebareaalsest molekulaarsest suurusest, sõltudes kvantmehaanika imelikust).
Aga miks ainult baas 2?
Nii et te võite mõelda, miks ainult 0 ja 1? Kas te ei saaks lihtsalt veel ühte numbrit lisada? ”Kuigi mõned neist pärinevad traditsioonidest, kuidas arvutid ehitatakse, tähendaks teise numbri lisamine, et me peame eristama eri tasemeid, mitte ainult„ välja “ja„ sisse , ”Aga ka nagu“ natuke ”ja“ palju ”.
Probleemiks on siin, kui soovisite kasutada mitut pingetaset, vajate lihtsat arvutuste tegemise viisi ning selle riistvara ei ole binaarse arvutamise asendaja. See on tõepoolest olemas; seda nimetatakse kolmekomponendiliseks arvutiks ja see on olnud juba alates 1950. aastatest, kuid see on päris palju seal, kus selle arendamine peatus. Kolmekordne loogika on nii tõhusam kui binaarne, kuid veel ei ole keegi binaarset transistorit tõhusalt asendav või vähemalt ei ole tehtud tööd nende arendamiseks samadel väikestel skaaladel kui binaarne.
Põhjus, miks me ei saa kolmekordset loogikat kasutada, langeb sellele, kuidas transistorid on laotud arvutisse, mida nimetatakse “väravateks”-ja kuidas neid kasutatakse matemaatika teostamiseks. Väravad võtavad kaks sisendit, teostavad neile operatsiooni ja tagastavad ühe väljundi.
See viib meid pika vastuseni: binaarne matemaatika on arvuti jaoks lihtsam kui midagi muud. Boole loogika kaardistab kergesti binaarsüsteemid, kusjuures True ja False on esindatud ja välja lülitatud. Teie arvuti väravad töötavad boole loogikal: nad võtavad kaks sisendit ja täidavad neile selliseid toiminguid nagu AND, OR, XOR jne. Kaks sisendit on lihtne hallata. Kui soovid iga võimaliku sisendi vastuseid graafiliselt kirjeldada, siis oleks see tõde tabel.
Binaarsel loogikal töötav kahekomponentne tõe tabel sisaldab nelja võimalikku väljundit iga põhioperatsiooni jaoks. Kuid kuna kolmekordsed väravad võtavad kolm sisendit, oleks kolmekordne tõde tabel 9 või rohkem. Kuigi kahesüsteemilises süsteemis on 16 võimalikku operaatorit (2 ^ 2 ^ 2), oleks kolmekordne süsteem 19 683 (3 ^ 3 ^ 3). Skaalamine muutub probleemiks, sest kui kolmekordne on tõhusam, on see ka eksponentsiaalselt keerulisem.
Kes teab? Tulevikus võiksime hakata nägema kolmekordseid arvuteid, kui me kahandame binaarsed piirid molekulaarsele tasemele. Praegu aga jätkab maailm binaarset tööd.
Pildi krediit: spainter_vfx / Shutterstock, Wikipedia, Wikipedia, Wikipedia, Wikipedia