Hva er en flytende enhet?
En flytende punktenhet er en funksjonell blokk av en datamaskinprosessor som utfører flytende punkt aritmetiske operasjoner. Også kjent med forkortelsen FPU, kan en flytende punkt enhet også være en fysisk separat co-prosessor. En FPU får vanligvis tilgang til data via de samme adresseringsmodusene som resten av prosessoren og inkluderer vanligvis egne registre. En prosessor bruker en FPU for å beregne trigonometriske, logaritmiske og grunnleggende flytende punkt aritmetiske funksjoner. Den bruker også en FPU for å laste, lagre og sammenligne tall i flere heltall- og flytepunktdatatyper.
Mange prosessorer inkluderer ikke en flytende punktenhet. De fleste av mikroprosessorene produsert av Intel Corporation og Motorola Incorporated før slutten av 1980-tallet inkluderer ikke en. Mange prosessorer med redusert instruksjonssett (RISC) og innebygde kontrollere har heller ikke en. Disse brikkene inkluderer en aritmetisk logisk enhet (ALU) for å utføre grunnleggende heltall aritmetiske og bitvis logiske funksjoner. Flytende matematikk håndteres imidlertid av en ekstern co-prosessor eller et programvarebibliotek.
De fleste prosessorer og programvaresystemer implementerer Institute of Electrical and Electronics Engineers (IEEE) -standard for flytende punktoperasjoner. IEEE-754-standarden ble først utgitt i 1985 og utvidet i 2008 til å omfatte flere datatyper. Den definerer flere heltall- og flytende punktdatatyper, hver med sin egen presisjon, representasjon og numeriske rekkevidde. Den definerer også mange aritmetiske operasjoner, metoder for avrunding og håndtering av unntak som en divisjon med null. Enten matematikken utføres av en flytende punktenhet eller ikke, garanterer IEEE flytepunktstandard identiske resultater.
Foruten tillegg, subtraksjon, multiplikasjon og deling, kan en flytende punktenhet utføre mange andre operasjoner. Disse inkluderer ofte skalering, kvadratrot og logaritmiske beregninger. Sine, kosinus og delvis tangent trigonometriske funksjoner er vanligvis også gitt. Heltall- og flytende punktnumre kan sammenlignes med FPU og konverteres fra en presisjon til en annen. De kan også avrundes i begge retninger og lagres direkte i prosessorens hovedminne.
FPUen til en grafikkprosessor kan inneholde ofte gjentatte funksjoner som er vanlige for tredimensjonal objektrotasjon eller animasjon. Mange innebygde kontrollere er designet med prosessorer som er optimalisert for digital signalbehandling (DSP). Disse kan brukes i lyd- og kommunikasjonsapplikasjoner og kan inneholde FPUer, som for eksempel er gode til raske Fourier-transformasjoner (FFT). Kryptografiprosessorer inkluderer ofte en FPU for høyhastighetsberegning av matematisk tunge krypteringsalgoritmer. Generelle flerkjerneprosessorer kan også inkludere en flytende punktenhet for hver vanlige prosessorkjerner.