”Kaikki on ykkösiä ja nollia.” Ihmiset sanovat näin, kun he tekevät vitsiä tai sarkastista huomautusta. Kun kyse on tietokoneiden ajattelusta, se on todella totta. Ja laitteistotasolla ei ole muuta. Prosessori, muisti, erilaiset tallennusmuodot, USB-, HDMI- ja verkkoliitännät sekä kaikki muu kännykässä, tabletissa, kannettavassa tietokoneessa tai pöytäkoneessa käytetään vain ykkösiä ja nollia. Tavut mahdollistavat ykkösten ja nollien ryhmittelyn. Ne ovat siis suuri apu niiden järjestyksessä pitämisessä. Katsotaanpa, miten ne tekevät sen.

Bytes ovat tietokoneeseen tallennettujen ja käytettyjen tietojen ja ohjelmien mittayksikkö. Vaikka tavu on ollut olemassa jo pitkään tietokoneiden historiassa ja sillä on ollut useita eri muotoja, sen nykyinen 8-bittinen pituus on vakiintunut. Tavut ovat joko yksittäin tai vierekkäisinä ryhminä yleisesti hyväksytty yleisin tapa järjestää tietokoneen bitit.

Mikä on bitti? Bitti on binääriluku, eli sillä voi olla vain kaksi arvoa. Tietokoneissa bitin kaksi arvoa voivat olla nolla (0) ja yksi (1). Siinä kaikki, ei muita vaihtoehtoja. Tavu on vain kahdeksan binääribittiä, jotka yhdessä edustavat binäärilukuja. Erilaisten koodausjärjestelmien avulla luvut voivat edustaa monenlaisia muita asioita, kuten merkkejä, joilla kirjoitamme.

Alla olevassa taulukossa on esitetty yksi Big-Endian-tavu, jossa näkyvät tämän tavun yksittäiset bitit ja niihin liittyvät kahden potenssit. Kaikki datan tavut ovat Big-Endian-muodossa. On muitakin tavuja, kuten ohjelmakoodia, joissa endiaanimuotoilua ei sovelleta. Kunkin kaksoispotenssin desimaaliarvot näytetään kunkin bitin yhteydessä viitteeksi. Kuvittele, että bittien 3 ja 4 välissä on viiva, jossa tavu on jaettu neljään bittiryhmään, joita kutsutaan nimellä Nibbles. Little-Endian on hyvin yleisesti käytetty tavuformaatti. Pysy kuulolla, kun kuulet lisää Endianista. Jos olet utelias nimestä, tee haku (etymology of endian).

Yksi Big-Endian-byte:

Bit0 Bit1 Bit2 Bit3 Bit4 Bit5 Bit6 Bit7
Power of 2 27 26 25 24 23 22 21 21
Desimaaliarvo 128 64 32 16 8 8 4 2 1

Jokaiseen tavun nibbleen mahtuu nelibittinen binääriluku seuraavan taulukon mukaisesti. Jos jokin bitti on asetettu arvoon ”1”, kyseinen kahden potenssi lisää nibblen arvoon. Jos bitin arvoksi on asetettu ”0”, kyseinen kahden potenssi ei lisää nibblen arvoa. Kahden nibbelin tavu voi sisältää kaksinumeroisen heksadesimaaliluvun. Tietokone voi käyttää oikeastaan vain bittejä. Ohjelmoijat ja tietokonelaitteita kehittävät insinöörit käyttävät heksadesimaalilukua, jotta bittien käsittely olisi helpompaa. Alla olevassa taulukossa merkitsevin bitti on vasemmalla 20, 21, 22, 23

Yksi suurnibble:

Binary
Number
Hexidecimal
Value
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
1100 C
1101 D
1110 E
111111 F

Minä selitän Ison-Endian alkaen yhden tavun kaaviosta. Tämän kehyksen lopussa olevat pidemmät viivat ovat tavun rajoja, joten jos piirtäisit vierekkäisten tavujen ryhmän, olisi selvää, missä yksi tavu loppui ja toinen alkoi. Pienet viivat jakavat kehyksen yksittäisiin paikkoihin, joissa kukin kahdeksasta bitistä voidaan esittää. Keskellä oleva keskimmäinen viiva jakaa tavun kahteen yhtä suureen neljän bitin osaan, jotka ovat nibblet. Nibbeleillä on myös pitkä ja monipuolinen historia. En ole koskaan nähnyt, että niitä olisi standardoitu. Nykyinen vakiintunut näkemys on kuitenkin se, että nibblet ovat neljän bitin ryhmiä, kuten olen esittänyt ne alla. Kaikki nämä viivat ovat olemassa vain, kun ihmiset piirtävät tavuja. Viivoja ei ole olemassa tietokoneessa.

Ylä-Nibble ja Ala-Nibble ovat merkintöjä, kuten niitä käytettäisiin Big-Endian tavussa. Big-Endianissa merkitsevin numero on numeron vasemmassa päässä. Lower Nibble on siis tavun numeron vähiten merkitsevä puolikas. Vastaavasti vähiten merkitsevä bitti on oikealla LSBit (yleensä LSB) tarkoittaa Least Significant Bit (vähiten merkitsevä bitti). Ja merkitsevin bitti on vasemmalla. Vasemmalla oleva Upper Nibble on numeron merkitsevin puolikas. MSBit (yleensä merkitään MSB) on merkitsevin bitti. Tämä on sama kuin se, miten kirjoitamme desimaaliluvut siten, että merkitsevin numero on vasemmalla. Tätä kutsutaan iso-loppuiseksi, koska luvun ”iso pää” tulee ensin.

Koska tavuun mahtuu kaksi heksadesimaalilukua, tavuun mahtuu heksadesimaalilukuja 00:n ja FF:n väliltä (0:sta 255:een desimaalilukuna) Jos siis käytät tavuja ihmisen luettavissa olevan kielen merkkien esittämiseen, annat jokaiselle merkille, välimerkeille jne. numeron. (Tämä on vain yksi tavujen käyttötapa. Tavuja käytetään myös ohjelmakoodina, jota tietokoneesi ajaa, numeroina erilaisille tiedoille, joita sinulla saattaa olla, ja kaikkeen muuhun, mikä asuu tietokoneen suorittimessa, muistissa, tallennustilassa tai erilaisissa väylissä ja liitäntäporteissa zoomattaessa.

Kuten käy ilmi, on olemassa kaksi yleisesti käytettyä tavuformaattia. Edellisissä esimerkeissä on käytetty pikku-englantilaista. Sen ominaisuutena on, että merkitsevin numero on vasemmalla ja vähiten merkitsevä numero oikealla.

On olemassa myös formaatti nimeltä Little-Endian. Kuten arvata saattaa, se on vastakohta Big-Endianille, jossa vähiten merkitsevä numero on vasemmalla ja merkitsevin numero oikealla. Tämä on vastakohta sille, miten me kirjoitamme desimaalilukuja. Little-Endian-muotoa ei käytetä bittien järjestykseen tavussa, mutta sitä käytetään tavujen järjestykseen suuremmassa rakenteessa. Esimerkiksi: Kahden tavun Little-Endian Word -sanaan sisältyvässä suuressa luvussa vähiten merkitsevä tavu olisi vasemmalla. Jos kahden tavun luku olisi iso-ndiaaninen, merkitsevin tavu olisi oikealla. Pikku-Endiä käytetään vain pitkien monitavuisten lukujen yhteydessä asettamaan tavujen merkitsevyysjärjestys suuremmassa tietorakenteessa.

Sekä Big- että Little-tavujärjestyksen käytölle on syynsä, mutta ne eivät kuulu tämän artikkelin piiriin. Little-järjestystä käytetään kuitenkin yleensä mikroprosessoreissa. Useimmissa tietokoneissa olevat x86-64-prosessorit käyttävät Little-Endian tavujärjestystä. Myöhemmissä sukupolvissa on tosin erikoisohjeita, jotka mahdollistavat Big-Endian-formaatin rajoitetun käytön. Big-Endian-byteformaattia käytetään laajalti verkoissa ja erityisesti isoissa Z-tietokoneissa. Nyt et ole välttämättä rajoittunut vain jompaankumpaan. Uudemmat ARM-prosessorit voivat käyttää kumpaakin Endian-formaattia. Laitteita, kuten mikroprosessoreita, jotka voivat käyttää sekä Big-Endian- että Little Endian-tavujärjestystä, kutsutaan joskus Bi-Endian-tavuiksi.

Joskus numeron tallentamiseen tarvitaan todellakin enemmän kuin yksi tavu. Tätä varten on olemassa pidempiä formaatteja, jotka koostuvat useammasta tavusta. Esim: x86-64-prosessoreissa on sanoja, jotka ovat 16 bittiä tai 2 tavua, jotka sattuvat olemaan rivissä vierekkäin niin sanotusti päästä päähän. Niillä on myös Double Words (32 bittiä tai 4 tavua) ja Quad Words (64 bittiä tai 8 tavua). Nämä ovat vain esimerkkejä prosessorilaitteiston tarjoamista tietomuodoista.

Kielillä työskentelevillä ohjelmoijilla on paljon muitakin tapoja järjestää bitit ja tavut. Kun ohjelma on valmis, kääntäjä tai muu mekanismi muuntaa tavan, jolla ohjelman bitit ja tavut on järjestetty datamuodoiksi, joita prosessorilaitteisto voi käsitellä.

Like Loading…

Articles

Vastaa

Sähköpostiosoitettasi ei julkaista.