Tavujärjestys

Kohteesta Wikipedia
Loikkaa: valikkoon, hakuun
Big-endian
Little-endian

Tavujärjestys (engl. byte order) tietokoneessa tarkoittaa sitä, missä järjestyksessä tietokoneen suoritin käsittelee suurempia kuin yhden tavun pituisia kokonaisuuksia.

Esimerkiksi neljästä 8-bittisestä tavusta muodostuva 32-bittinen sana voidaan tallentaa tietokoneen muistiin useilla eri tavoilla (asian havainnollistamiseksi eri tavuihin kuuluvat bitit on tässä merkitty kirjaimin A–D, joista A edustaa suurinta eli eniten merkitsevää tavua).

Big endian[muokkaa | muokkaa wikitekstiä]

Big endian -muodossa sanan merkitsevimmät bitit tallentuvat ensin eli alempiin muistiosoitteisiin:

AAAAAAAABBBBBBBBCCCCCCCCDDDDDDDD

Tämä vastaa normaalisti käyttämiämme lukujärjestelmiä, joissa suurin eli eniten merkitsevä arvo ilmoitetaan ensimmäisenä (esimerkiksi luvussa 256 numero 2 edustaa satoja, joten se on merkitsevämpi kuin kymmeniä edustava numero 5, joka puolestaan merkitsee enemmän kuin ykkösiä edustava numero 6). Tällaista tavujärjestystä käyttävät monien tietokonevalmistajien suorittimet, ja se on myös Internetissä käytettävän IP-protokollan otsikkotiedoissa käytetty tavujärjestys (engl. network byte order).

Little endian[muokkaa | muokkaa wikitekstiä]

Little endian -muodossa sanan vähiten merkitsevät tavut tallentuvat ensin:

DDDDDDDDCCCCCCCCBBBBBBBBAAAAAAAA

Tämän voi rinnastaa tyypilliseen suomalaiseen tapaan esittää päivämäärät järjestyksessä, jossa ensin ilmoitetaan päivä, sitten kuukausi ja lopulta vuosiluku. Tällaista tavujärjestystä käyttävät Intelin suorittimet, PDP-11, VAX ja useat sulautetut järjestelmät.

Tavujärjestys on oleellista tietää käsiteltäessä binäärimuodossa olevia tiedostoja. Unicoden myötä sama tarve on tullut esiin myös tekstitiedostoissa.

Bi-endian[muokkaa | muokkaa wikitekstiä]

Bi-endian suoritin voi toimia kummassakin moodissa. Tämä on tietyissä suorittimissa mahdollista asettaa suorittimen resetoinnin yhteydessä. Esimerkki bi-endian suorittimesta on ARM.

ISO 9660 tiedostojärjestelmässä useampitavuiset arvot ovat tallennettu kummassakin (little, big) tavujärjestyksessä joten tätä voidaan kutsua myös bi-endian tavujärjestykseksi.[1][2]

Middle-endian[muokkaa | muokkaa wikitekstiä]

Middle-endian on yleistermi muille vaihtoehdoille. Esimerkiksi PDP-11:sta ohjelmakääntäjä tallentaa 32-bittiset arvot vaihtamalla 16-bittisten puoliskojen järjestystä ennakoidusta little-endian muodosta. Tälle on myös nimitys PDP-endian.[3] Esimerkiksi jos little- ja big-endian muodoissa "ABCD" ja "DCBA" ovat normaaleja niin PDP-muodossa arvo olisi "BADC".[3]

Lähteet[muokkaa | muokkaa wikitekstiä]

  1. ISO Disk Image File Format Sustainability of Digital Formats Planning for Library of Congress Collections. Viitattu 1.2.2017.
  2. The ISO 9660 File System Viitattu 1.2.2017.
  3. a b PDP-endian Viitattu 1.2.2017.