Mis on ujukomaühik?

Ujukomaüksus on arvutiprotsessori funktsionaalne plokk, mis sooritab ujukoma aritmeetilisi toiminguid. Tuntud ka akronüümi FPU all, võib ujukomaseade olla ka füüsiliselt eraldiseisev kaasprotsessor. FPU pääseb andmetele tavaliselt juurde samade adresseerimisrežiimide kaudu nagu ülejäänud protsessor ja sisaldab üldjuhul oma registreid. Protsessor kasutab trigonomeetriliste, logaritmiliste ja põhiliste ujukoma aritmeetiliste funktsioonide arvutamiseks FPU-d. Samuti kasutab see FPU-d arvude laadimiseks, salvestamiseks ja võrdlemiseks mitmes täisarvu ja ujukoma andmetüübis.

Paljud protsessorid ei sisalda ujukomaseadet. Näiteks enamik Intel Corporationi ja Motorola Incorporatedi enne 1980. aastate lõppu toodetud mikroprotsessoreid ei sisalda seda. Paljudel vähendatud käsukomplekti andmetöötluse (RISC) protsessoritel ja manustatud kontrolleritel pole seda ka. Need kiibid sisaldavad aritmeetilise loogikaühikut (ALU), mis täidab põhilisi täisarvu aritmeetilisi ja bitipõhiseid loogikafunktsioone. Ujukoma matemaatikat haldab aga väline kaasprotsessor või tarkvarateek.

Enamik protsessoreid ja tarkvarasüsteeme rakendavad ujukomaoperatsioonide jaoks elektri- ja elektroonikainseneride instituudi (IEEE) standardit. IEEE-754 standard avaldati esmakordselt 1985. aastal ja seda laiendati 2008. aastal, et hõlmata täiendavaid andmetüüpe. See määratleb mitu täisarvu ja ujukoma andmetüüpi, millest igaühel on oma täpsus, esitus ja numbriline vahemik. Samuti määratleb see palju aritmeetilisi tehteid, ümardamismeetodeid ja erandite käsitlemist, nagu nulliga jagamine. Olenemata sellest, kas matemaatikat teostab ujukomaseade või mitte, tagab IEEE ujukomastandard identsed tulemused.

Lisaks liitmisele, lahutamisele, korrutamisele ja jagamisele saab ujukomaühikuga teha palju muid toiminguid. Need hõlmavad sageli skaleerimist, ruutjuure ja logaritmilisi arvutusi. Tavaliselt on ette nähtud ka siinus-, koosinus- ja osatangenstrigonomeetrilised funktsioonid. Täisarvu ja ujukoma numbreid saab võrrelda FPU-ga ja teisendada ühest täpsusest teise. Neid saab ka kummaski suunas ümardada ja salvestada otse protsessori põhimällu.

Graafikaprotsessori FPU võib sisaldada sageli korduvaid funktsioone, mis on ühised kolmemõõtmelise objekti pööramise või animatsiooni jaoks. Paljud sisseehitatud kontrollerid on konstrueeritud digitaalse signaalitöötluse (DSP) jaoks optimeeritud protsessoritega. Neid võib kasutada heli- ja siderakendustes ning need võivad sisaldada FPU-sid, mis on head näiteks kiiretes Fourier’ teisendustes (FFT). Krüptograafiaprotsessorid sisaldavad sageli FPU-d matemaatikat nõudvate krüpteerimisalgoritmide kiireks arvutamiseks. Üldised mitmetuumalised protsessorid võivad sisaldada ka ühte ujukomaühikut iga tavalise protsessori tuuma kohta.