Mikä on liukulukuyksikkö?

Liukulukuyksikkö on tietokoneprosessorin toiminnallinen lohko, joka suorittaa liukulukuaritmeettisia toimintoja. Liukulukuyksikkö, joka tunnetaan myös lyhenteellä FPU, voi olla myös fyysisesti erillinen rinnakkaisprosessori. FPU käyttää yleensä tietoja samojen osoitetilojen kautta kuin muu prosessori ja sisältää yleensä omat rekisterinsä. Prosessori laskee FPU: n avulla trigonometriset, logaritmiset ja liukulukuaritmeettiset perusfunktiot. Se käyttää myös FPU: ta useiden kokonaislukujen ja liukulukuisten tietotyyppien lukujen lataamiseen, tallentamiseen ja vertaamiseen.

Monet prosessorit eivät sisällä liukulukuyksikköä. Useimmat Intel Corporationin ja Motorola Incorporatedin ennen 1980 -luvun loppua tuottamista mikroprosessoreista eivät sisällä esimerkiksi yhtä. Monilla RISC -prosessoreilla ja sulautetuilla ohjaimilla ei myöskään ole sellaista. Nämä sirut sisältävät aritmeettisen logiikkayksikön (ALU) kokonaislukuisten aritmeettisten ja bittikohtaisten logiikkatoimintojen suorittamiseksi. Liukulukulaskenta hoidetaan kuitenkin ulkoisen rinnakkaisprosessorin tai ohjelmistokirjaston avulla.

Useimmat prosessorit ja ohjelmistojärjestelmät toteuttavat IEEE (Institute of Electrical and Electronics Engineers) -standardin liukulukuoperaatioille. IEEE-754-standardi julkaistiin ensimmäisen kerran vuonna 1985 ja sitä laajennettiin vuonna 2008 sisältämään muita tietotyyppejä. Se määrittelee useita kokonaislukuja ja liukulukuja sisältäviä tietotyyppejä, joista jokaisella on oma tarkkuus, esitys ja numeerinen alue. Se määrittelee myös monia aritmeettisia toimintoja, pyöristysmenetelmiä ja poikkeusten, kuten jaon nollalla, käsittelyn. IEEE-liukuluku-standardi takaa samat tulokset riippumatta siitä, suorittaako matematiikka liukulukuyksikkö vai ei.

Liukulukuyksikkö voi suorittaa luku-, vähennys-, kerto- ja jakopalvelujen lisäksi monia muita toimintoja. Näitä ovat usein skaalaus, neliöjuuri ja logaritminen laskenta. Sini-, kosini- ja osittainen tangentti -trigonometriset funktiot ovat yleensä myös saatavilla. Kokonaislukuja ja liukulukuja voidaan verrata FPU: han ja muuttaa tarkkuudesta toiseen. Ne voidaan myös pyöristää kumpaankin suuntaan ja tallentaa suoraan suorittimen päämuistiin.

Grafiikkaprosessorin FPU voi sisältää usein toistuvia toimintoja, jotka ovat yhteisiä kolmiulotteiselle objektin kierto- tai animaatio-toiminnolle. Monet sulautetut ohjaimet on suunniteltu digitaaliseen signaalinkäsittelyyn (DSP) optimoiduilla prosessoreilla. Näitä voidaan käyttää ääni- ja viestintäsovelluksissa, ja ne voivat sisältää FPU: ita, jotka ovat hyviä esimerkiksi nopeissa Fourier -muunnoksissa (FFT). Salausprosessorit sisältävät usein FPU: n matematiikan raskaiden salausalgoritmien nopeaan laskentaan. Yleiset usean ytimen prosessorit voivat myös sisältää yhden liukulukuyksikön kutakin tavallista suoritinydintä varten.