Kaj je enota s plavajočo vejico?

Enota s plavajočo vejico je funkcionalni blok računalniškega procesorja, ki izvaja aritmetične operacije s plavajočo vejico. Enota s plavajočo vejico, znana tudi pod kratico FPU, je lahko tudi fizično ločen koprocesor. FPU običajno dostopa do podatkov prek istih načinov naslavljanja kot preostali procesor in na splošno vključuje lastne registre. Procesor uporablja FPU za izračun trigonometričnih, logaritmičnih in osnovnih aritmetičnih funkcij s plavajočo vejico. Uporablja tudi FPU za nalaganje, shranjevanje in primerjavo števil v več vrstah podatkov s celo število in plavajočo vejico.

Mnogi procesorji ne vključujejo enote s plavajočo vejico. Večina mikroprocesorjev, ki sta jih proizvajali Intel Corporation in Motorola Incorporated pred poznimi 1980. leti, na primer ne vključuje enega. Številni procesorji in vgrajeni krmilniki za računalništvo z zmanjšanim naborom navodil (RISC) ga tudi nimajo. Ti čipi vključujejo aritmetično logično enoto (ALU) za izvajanje osnovnih celoštevilskih aritmetičnih in bitnih logičnih funkcij. Vendar pa matematiko s plavajočo vejico obdeluje zunanji koprocesor ali programska knjižnica.

Večina procesorjev in programskih sistemov izvaja standard Inštituta za elektrotehniko in elektroniko (IEEE) za operacije s plavajočo vejico. Standard IEEE-754 je bil prvič izdan leta 1985 in razširjen leta 2008, da vključuje dodatne vrste podatkov. Opredeljuje več celih in s plavajočo vejico podatkovnih tipov, vsak s svojo natančnostjo, predstavitvijo in številskim obsegom. Opredeljuje tudi številne aritmetične operacije, metode zaokroževanja in ravnanje z izjemami, kot je deljenje z ničlo. Ne glede na to, ali matematiko izvaja enota s plavajočo vejico ali ne, standard IEEE s plavajočo vejico zagotavlja enake rezultate.

Poleg seštevanja, odštevanja, množenja in deljenja lahko enota s plavajočo vejico izvaja številne druge operacije. Ti pogosto vključujejo skaliranje, kvadratni koren in logaritemske izračune. Običajno so na voljo tudi sinusne, kosinusne in delne tangentne trigonometrične funkcije. Celoštevilna števila in števila s plavajočo vejico je mogoče primerjati s FPU in jih pretvoriti iz ene natančnosti v drugo. Prav tako jih je mogoče zaokrožiti v obe smeri in shraniti neposredno v glavni pomnilnik procesorja.

FPU grafičnega procesorja lahko vključuje pogosto ponavljajoče se funkcije, ki so skupne tridimenzionalnemu vrtenju ali animaciji objektov. Številni vgrajeni krmilniki so zasnovani s procesorji, optimiziranimi za digitalno obdelavo signalov (DSP). Te se lahko uporabljajo v avdio in komunikacijskih aplikacijah in lahko vsebujejo FPU, ki so na primer dobri pri hitrih Fourierovih transformacijah (FFT). Kriptografski procesorji pogosto vključujejo FPU za hitro računanje matematično težkih algoritmov šifriranja. Splošni večjedrni procesorji lahko vključujejo tudi eno enoto s plavajočo vejico za vsako navadno procesorsko jedro.