Bitti

Wikipedia
Loikkaa: valikkoon, hakuun

Bitti (engl. bit eli binary digit, ’binäärinumero’) on informaatioteoriassa informaation määrän mitta ja tietotekniikassa tiedon tai tietovuon pienin käsiteltävä osa. Bitistä voidaan käyttää lyhennettä b[1] – jota ei pidä sekoittaa tavun (engl. byte) lyhenteeseen B – mutta toisinaan käytetään merkintää bit.

Yhdellä bitillä on kaksi mahdollista, toisensa poissulkevaa tilaa, joita tyypillisesti merkitään nollalla ja ykkösellä. Kahdella bitillä voidaan esittää neljä vaihtoehtoista tilaa (00, 01, 10, 11), ja useampia bittejä käytettäessä kasvaa vaihtoehtoisten tilojen määrä eksponentiaalisesti. Tämä suhde voidaan esittää kaavalla tilojen määrä = 2bitit:

  • 1 bitti = 21 = 2 tilaa
  • 2 bittiä = 22 = 4 tilaa
  • 4 bittiä = 24 = 16 tilaa
  • 8 bittiä = 28 = 256 tilaa
  • 16 bittiä = 216 = 65 536 tilaa
  • 32 bittiä = 232 = 4 294 967 296 tilaa
  • 64 bittiä = 264 = 18 446 744 073 709 551 616 tilaa

Jos halutaan koodata kaikki Suomen asukkaat yksikäsitteisesti, tarvitaan siis jokaista suomalaista kohti vähintään 23-bittinen koodi (n. 8 miljoonaa vaihtoehtoa).

Spekuloiduissa kvanttitietokoneissa käytetään bittien asemesta kubitteja. Kun bitti voi olla vain joko tilassa 0 tai 1, niin kubitti voi samanaikaisesti olla molemmissa tiloissa eli näiden tilojen superpositiossa.

Tavu koostui aikaisemmin vaihtelevasta määrästä bittejä, mutta nykyään sen koko on vakiintunut kahdeksaan bittiin.

Bittimäärä yksikkönä[muokkaa | muokkaa wikitekstiä]

Bittiä ja sen kerrannaisia voidaan käyttää tietomäärän yksikköinä seuraavasti:

  • kilobitti (kbit) = 1 000 eli 103 bittiä (tuhat)
  • megabitti (Mbit) = 1 000 000 eli 106 bittiä (miljoona)
  • gigabitti (Gbit) = 1 000 000 000 eli 109 bittiä (miljardi)
  • terabitti (Tbit) = 1 000 000 000 000 eli 1012 bittiä (biljoona)

Toisinaan näillä bittimäärillä tarkoitetaan kuitenkin vastaavia kahden potensseja (kilobitti 1024 bittiä). Lyhenteinä esiintyy myös muotoja tyyliin Mb, jolla tarkoitetaan megabittiä, mutta se sekaantuu helposti megatavuun - MB. Bittimääriä sekuntia kohti käytetään etenkin tiedonsiirtonopeuksista puhuttaessa (bit/s).

Bittisyys käsitteenä[muokkaa | muokkaa wikitekstiä]

Bittisyydestä puhuttaessa tarkoitetaan yleensä sitä, kuinka monesta bitistä koostuvissa palasissa tietoa käsitellään. Käsitteen vaihtelevat ja epäjohdonmukaiset käyttötavat aiheuttavat kuitenkin usein sekaannuksia.

Binääriluvun bittisyys tarkoittaa yksinkertaisesti sitä, kuinka monesta bitistä (eli binäärinumerosta 1 tai 0) luku koostuu: 8-bittisellä binääriluvulla voi ilmaista 256 mahdollista arvoa, esimerkiksi kokonaislukujen 0–255 vastineet.

Muistipaikan tai väylän bittisyys viittaa siihen, kuinka monta bittiä siihen mahtuu rinnakkain. Jos jossain laitteessa on esimerkiksi 32-bittinen dataväylä, pystyy muistin ja suorittimen välillä siirtämään korkeintaan 32 bittiä leveän sarjan kerrallaan. 64 bittiä pitkä tieto on tällaisessa koneessa siirrettävä kahdessa palasessa.

Suorittimet[muokkaa | muokkaa wikitekstiä]

Tietokoneen tai suorittimen bittisyydellä tarkoitetaan useimmiten joko dataväylän tai yleisrekisterien leveyttä:

  • MOS 6502 on 8-bittinen suoritin, koska sen dataväylä ja useimmat rekisterit ovat 8-bittisiä. 6502:ta käyttäviä laitteita sanotaan myös 8-bittisiksi.
  • Myös Zilog Z80 on varsin yksiselitteisesti 8-bittinen suoritin, vaikka siinä on myös 16-bittisiä rekistereitä ja se kykenee joihinkin 16-bittisiin laskutoimituksiin. Sen dataväylä on kuitenkin 8-bittinen.
  • IBM PC:tä ei koskaan sanottu 8-bittiseksi koneeksi, vaikka sen suorittimena oli Intel 8088, jonka dataväylä on 8-bittinen. Sen kaikki rekisterit ovat kuitenkin 16-bittisiä.
  • Motorola 68000:aa käyttäviä 1980-luvun tietokoneita on perinteisesti sanottu 16-bittisiksi, koska 68000:n dataväylä on 16-bittinen. Sen rekisterit ovat kuitenkin 32 bitin levyisiä, ja se suorittaa laskutoimitukset 32-bittisinä. 68000:aa onkin sanottu joskus 16-bittiseksi, joskus 32-bittiseksi, joskus 16/32-bittiseksi ja joskus "sisäisesti 32- mutta ulkoisesti 16-bittiseksi". Toisinaan sitä on sanottu jopa 24-bittiseksi, koska sen osoiteväylä on 24-bittinen.
  • Intel Pentiumissa on 64-bittinen dataväylä mutta 32-bittiset yleisrekisterit. Sitä ei kuitenkaan ole juuri koskaan sanottu 64-bittiseksi suorittimeksi. Se on 32-bittinen, koska sen käskykanta-arkkitehtuuri on sama kuin 32-bittisessä 386-suorittimessa.
  • AMD Athlon 64 on 64-bittinen, koska se käyttää ns. 64-bittistä X86-arkkitehtuuria eli X86-64:ää, jossa mm. yleisrekisterit ja muistiosoitus on laajennettu 64-bittisiksi. X86-64:een kuuluu toisaalta myös joitakin 128-bittisiä rekistereitä (SSE).

Monissa suoritinperheissä on käytettävissä useita muunnelmia samasta konekielestä tai muuten vain erilaisia toimintatiloja, joissa ajettava koodi poikkeaa toisistaan. Näihin tiloihin viitataan yleensä "bittisyyksien" avulla, ja käsitteen merkitys vaihtelee huomattavasti suoritinarkkitehtuurista toiseen:

  • X86-suorittimet (kuten 8086 ja 286) olivat alkujaan 16-bittisiä. 32-bittisen 386:n ilmestyttyä alettiin "32-bittisiä ominaisuuksia" käyttäviä ohjelmia sanoa 32-bittisiksi ja vanhempia 286-yhteensopivia ohjelmia 16-bittisiksi.
  • X86-käyttöjärjestelmistä puhuttaessa kuulee joskus käytettävän ilmausta "aidosti 32-bittinen". Tämä tarkoittaa sitä ettei käyttöjärjestelmä aja normaalitilanteessa lainkaan 286-yhteensopivaa koodia.
  • ARM on alusta alkaen 32-bittinen suoritinarkkitehtuuri. Joskus puhutaan kuitenkin "16-bittisestä ARM-koodista", mikä tarkoittaa niin sanotussa thumb-tilassa ajettavaa koodia, jossa yksittäisen konekäskyn pituus on 16 bittiä normaalin 32:n sijaan. Thumb-tilassakin rekisterien pituudet ja laskutoimitukset ovat kuitenkin 32-bittisiä, vain käskyt ovat lyhyempiä.

Pelikonsolit[muokkaa | muokkaa wikitekstiä]

Pelikonsolit jaotellaan usein harhaanjohtavasti teknologiasukupolviin "bittisyyden" mukaan. Jaottelu on kuitenkin lähinnä markkinointipuhetta, sillä bittisyydet voivat viitata hyvinkin erilaisiin asioihin. Usein laitteesta on tarkoituksellisesti etsitty markkinointikäyttöä varten leveimmät rekisterit tai väylät ja julistettu sen perusteella tietty "bittisyys".

  • 8-, 16- ja 32-bittisillä konsoleilla bittisyys viittaa lähes aina suorittimeen samoin kuin tavallisillakin tietokoneilla.
  • 64-bittisiä pelikonsoleita ovat mm. Nintendo 64 ja Atari Jaguar. N64:ssä on 64-bittinen suoritin, R4300. Jaguarissa puolestaan on useita suorittimia, joista osa on 32-bittisiä ja osa 64-bittisiä.
  • Sega Dreamcast oli ensimmäinen "128-bittinen" pelikonsoli. Sen kaksi suoritinta ovat kuitenkin molemmat 32-bittisiä, joskin keskussuorittimessa, SH-4:ssä, on joitakin 128-bittisiä rekistereitä ja muutama lähinnä 3D-laskennassa käyttökelpoinen 128-bittinen laskuoperaatio. Samalla periaatteella myös useimpia nykyisiä PC:itä voisi sanoa 128-bittisiksi.

Grafiikka[muokkaa | muokkaa wikitekstiä]

Tietokonegrafiikassa värien "bittisyys" viittaa yleensä värisyvyyteen eli siihen, kuinka monta bittiä yhden pikselin tallentamiseen käytetään. Esimerkiksi 8-bittisellä värisyvyydellä voi kullakin pikselillä olla 256 mahdollista väriä, kun taas 16-bittisillä väreillä mahdollisia värejä on 65536. Nykyisin yleisin käytössä oleva värisyvyys on 24 bittiä, mikä mahdollistaa kaikkiaan 16 777 216 väriä.

Näytönohjainten tapauksessa bittisyydellä tarkoitettiin aiemmin usein suurinta mahdollista värisyvyyttä, mutta nykyisin yleisemmin sisäisen muistiväylän leveyttä. Joskus näkee kuitenkin harhaanjohtavia mainoslauseita, kuten ”256-bittinen 3D-grafiikka”,lähde? vaikka väylän leveys ei vaikuta grafiikan luonteeseen mitenkään.

Äänentoisto[muokkaa | muokkaa wikitekstiä]

Digitaalisessa äänentoistossa bittisyydellä tarkoitetaan yleensä yksittäisen ääninäytteen erottelutarkkuutta. Esimerkiksi CD-levyllä kukin ääninäyte vie tilaa 16 bittiä, joten mahdollisia signaalin tasoja on 65 536.

Salaus[muokkaa | muokkaa wikitekstiä]

Kryptografiassa bittisyys viittaa yleensä salausalgoritmissa käytetyn avaimen pituuteen. Mitä pitempi avain on, sitä vaikeampaa salausta on yleensä murtaa.

Lähteet[muokkaa | muokkaa wikitekstiä]

  • Jaakohuhta, Hannu: Tietotekniikan sanakirja. Helsinki: Readme.fi, 2011. ISBN 978-952-220-456-1. (suomeksi)(englanniksi)

Viitteet[muokkaa | muokkaa wikitekstiä]