Tietokone-lehti 2/2004

Mitä hyötyä 64 bitistä?

Kun pc-markkinat alkavat tänä vuonna siirtyä 64-bittiseen tekniikkaan, ilmassa on jälleen tuttu kysymys: mitä hyötyä siitä on? Samaa kysyttiin 15 vuotta sitten, kun siirtyminen 16-bittisestä maailmasta 32-bittiseen alkoi.

Yksinkertaistamalla voi sanoa, että siinä missä 32-bittinen prosessori käsittelee tietoa 32 bittiä kerrallaan, 64-bittinen prosessori työskentelee kaksi kertaa suurempien erien kanssa.

Lisää binaarisormia laskentaan

Selvää hyötyä saadaan laskutoimituksissa. Matemaattinen laskenta käyttää yleensä kaksinkertaisen tarkkuuden liukulukuja, joissa on noin 15 desimaalia. Kukin tällainen muuttuja vie kahdeksan tavua eli 64 bittiä, joista yksi käytetään etumerkkiin, 11 eksponenttiin ja 52 bittiä mantissaan.

Vanhempi 32-bittinen prosessori joutuu käsittelemään lukuja kahdessa erässä, joskin varsinaisen laskennan suorittavan matematiikkayksikön omat rekisterit ovat jo 486-prosessorin päivistä alkaen olleet 80-bittisiä. Uusi 64-bittinen prosessori selviää yhdellä operaatiolla.

Laajempi kokonaislukujen käsittelyalue helpottaa sellaisten sovellusten ohjelmointia, jotka käsittelevät yli kahden gigatavun tiedostoja. Esimerkiksi video- ja varmuuskopiointitiedostot ylittävät tämän rajan helposti.

Työtiedostojen kokorajoitukset johtuvat usein siitä, että ohjelmoija on käyttänyt etumerkillistä long integer -tyyppistä muuttujaa, jonka lukualue loppuu kahteen miljardiin. Se vastaa kahta gigatavua. Tätä suuremmat tiedosto-osoitteet on käsiteltävä hankalasti kahdessa osassa. Ongelmat poistuvat tekemällä sovelluksesta aidosti 64-bittisen.

Osa 64 bitin hyödyistä voi olla hyvinkin yllättäviä. Esimerkiksi unix-koneissa käytetty 32-bittinen aikamuuttuja kiepsahtaa ympäri aamuyöllä 19. tammikuuta 2038, ja jatkaa ajanlaskua 13. joulukuuta 1901 alkaen. Vanha tuttu y2k-ongelma pukeutuu siis uusiin vaatteisiin.

Ongelmalta vältytään kääntämällä ohjelmat hyvissä ajoin 64-bittisiksi, jolloin kalenteri jatkaa sujuvasti aina 4. joulukuuta vuoteen 4 292 277 026 596 asti. Siihen mennessä koko tunnettu maailmankaikkeus lienee romahtanut takaisin alkuräjähdystä edeltäneeseen tilaan.

Muistia, muistia, muistia...

Vaikka ensimmäinen pc-prosessori 8088 oli 16-bittinen, sen osoiteväylä oli 20-bittinen, mikä mahdollisti yhden megatavun keskusmuistin.

Nykyiset 386-, 486- ja Pentium-prosessorit käyttävät kaikki 32-bittistä osoiteväylää, mikä mahdollistaa neljän gigatavun keskusmuistin.

Uusimmissa Pentiumeissa on mahdollisuus neljän lisäbitin käyttöön, jolloin osoiteavaruus laajenee 36 bittiin. Järjestely on kuitenkin teknisesti kömpelö, ja sen suosio on jäänyt vähäiseksi.

Athlonin tämän hetkiset versiot tukevat enintään 40 bitin keskusmuistia (yksi teratavu eli 1024 gigatavua) ja 48 bitin virtuaalimuistia (256 teratavua). Silti arkkitehtuuriin on jätetty vielä laajennusvaraa tulevaisuutta varten.

Aidon 64-bittisen Itanium 2:n luvut ovat omaa luokkaansa: 50 bittiä keskusmuistia ja 64 bittiä virtuaalimuistia.

Mitä järkeä tällaisissa muistimäärissä on? Suuret tietokannat vaativat paljon tilaa, sillä itse kantojen lisäksi on ylläpidettävä erilaisia indeksejä. Tämän hetken suurimmat tietokannat lähentelevät kooltaan 30 teratavua, joten monen käyttäjän tietokantapalvelimissa mikään muistimäärä ei ole liian suuri.

Excelin rajat

Työasemakäytössä olisi mukavaa siirtää koko 60 minuutin digitaalivideokasetin sisältö keskusmuistiin editointia varten. Kasetin datamäärä on noin 16 gigatavua. Jotta muistia jäisi vielä työtilaksi ja peruutuspuskureille, tarvittaisiin keskusmuistia moninkertaisesti enemmän, vaikkapa sata gigatavua.

Eri asia sitten on, mihin koneeseen saisi asennettua 200 kappaletta 512 megatavun muistikampoja, ja mitä tällainen sadan gigatavun keskusmuisti tulisi maksamaan. Yhden gigatavun hinta on tänään noin 150 euroa.

Prosessorin bittimäärällä ei ole merkitystä, jos sovelluksen oma muistinhallinta rajoittaa työtilan kokoa. Näin on esimerkiksi Excelissä. Versio 2000 pystyy käyttämään enintään 64 ja versio 2002 enintään 128 megatavua työmuistia, olipa käyttöjärjestelmä ja keskusmuistin koko mitä tahansa.

Excel tarvitsee tilaa laskentakaavoille, grafiikalle, leikkaa-liimaa-muistille ja peruutustoiminnalleen. Kun rajat tulevat vastaan, niitä ei voi mitenkään kiertää. Ongelma on kiusallinen suurissa yrityksissä, jotka laativat valtavia laskentamalleja, tai käyttävät Exceliä suurten datamäärien analysointiin ja ristiintaulukointeihin.

Koska laskentamallin tallentaminen vie enemmän muistia kuin sen avaaminen, voi käydä jopa niin, ettei kerran avattua isoa laskentamallia pysty enää tallentamaan lainkaan.

Uudessa 2003-versiossa Excelin muistinhallinta on laitettu kokonaan uusiksi, vaikkei asiaa olekaan nostettu esiin ohjelman mainonnassa. Nyt Excelin laskentamallin koko voi ylittää jopa gigatavun. Siihen mahtuu isonkin yrityksen budjetti tai tutkijan keräämä 65536 rivin data-aineisto. Näissä tapauksissa ohjelmapäivitys siis kannattaa.

Kuten Excel osoittaa, 64-bittisyys ei itsessään auta, jos rajat tulevat vastaan aivan muualta.

<takaisin