Bitti

Wikipediasta
(Ohjattu sivulta 32-bittinen)
Siirry navigaatioon Siirry hakuun
Tämä artikkeli kertoo tietotekniikan käsitteestä. Bitti on kunta Italiassa.

Bitti (engl. bit, sanoista binary digitbinäärinen numero’) 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 asemasta 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 1 024 bittiä).

Lyhenteinä esiintyy myös muotoja tyyliin kb, Mb, joilla tarkoitetaan kilo- ja megabittiä, mutta huolimattomasti luettuna tai kirjoitettuna esim. Mb voi sekaantua megatavuun (MB).

Kymmenkantaisen ja kaksikantaisen "kilon" eron selkeyttämiseksi, IEC julkaisi vuonna 1999 standardin, jossa kahden potensseihin perustuville etuliitteille on määritelty omat, yksiselitteiset, nimet:

  • kibi = 1 024 eli 210 bittiä
  • mebi = 1 048 576 eli 220 bittiä
  • gibi = 1 073 741 824 eli 230 bittiä
  • tebi = 1 099 511 627 776 eli 240 bittiä
  • pebi = 1 125 899 906 842 624 eli 250 bittiä
  • exbi = 1 152 921 504 606 846 976 eli 260 bittiä
  • zebi = 1 180 591 620 717 411 303 424 eli 270 bittiä
  • yobi = 1 208 925 819 614 629 174 706 176 eli 280 bittiä

Näiden virallisten ns. binaaristen etuliitteiden käyttö ei kuitenkaan toistaiseksi ole levinnyt kovinkaan laajalle.

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.

Binaariluvun bittisyys tarkoittaa yksinkertaisesti sitä, kuinka monesta bitistä (eli binaarinumerosta 1 tai 0) luku koostuu: 8-bittisellä binaariluvulla 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.

Tietokoneen tai suorittimen yhteydessä bittisyydellä viitataan paljonko tietoa voidaan kerralla hakea, sekä paljonko muistia se voi osoittaa.[2]

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 ulkoinen 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 ulkoinen 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 (IA-32) on sama kuin 32-bittisessä 386-suorittimessa.
  • AMD Athlon 64 on 64-bittinen, koska se käyttää 64-bittistä X86-64-arkkitehtuuria, 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ä.

Ennen 16- ja 32-bittisten arkkitehtuurien yleistymistä 24- ja 48-bittiset tietokoneet olivat tavallisia useilta eri valmistajilta.[3]

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.

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 65 536. Nykyisin yleinen käytössä oleva värisyvyys on 24 bittiä, mikä mahdollistaa kaikkiaan 16 777 216 väriä. 32-bittisessä RGBA-värimallissa lisäbitit ovat alfakanavan käytössä, jolloin lisäbitit käytetään läpinäkyvyystietoon.

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.

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

  • Jaakohuhta, Hannu: Tietotekniikan sanakirja. Helsinki: Readme.fi, 2011. ISBN 978-952-220-456-1 (suomeksi)(englanniksi)
  1. Lyhenneluettelo, Kotus
  2. Gordon Bell: Rise and Fall of Minicomputers ethw.org. Viitattu 22.1.2020. (englanniksi)
  3. Real Machines with 24-bit and 48-bit words quadibloc.com. Viitattu 28.8.2020. (englanniksi)