Lebegőpontos számítási egység

Egy lebegőpontos egység ( UVF angolul floating-point unit , FPU) egy processzor része , amelyet kifejezetten a lebegőpontos számokkal végzett műveletek végrehajtására terveztek .

Tevékenységek

Minden processzor tartalmaz legalább összeadást , kivonást és szorzást . Az IEEE 754 szabvány által a 2008-as felülvizsgálatban megkövetelt egyesített multiplikátor-összeadási műveletet egyre inkább megvalósítják. Nagyon hasznos bizonyos algoritmusok felgyorsításához. A legtöbb processzor magában foglalja a felosztást és a négyzetgyökeret is , de ezek a műveletek a szoftverben is hatékonyan megvalósíthatók, akárcsak az Itanium .

Egyes rendszerek bonyolultabb számításokat is képesek elvégezni, például exponenciálisokat vagy trigonometrikus függvényeket (például koszinuszokat ), de egyes területeken nem túl pontosan. Leggyakrabban a processzor mikrokód segítségével emulálja ezeket a műveleteket. Ez a firmware lassabb, mint a vezetékezés, de sokkal gazdaságosabb, kevésbé energiát elvezető és mindenekelőtt kevésbé összetett. Példaként említhetem, hogy a Pentiumnak firmware úszó egysége volt. Azt is észrevehetjük, hogy a mikrokódtábla hiányos kitöltése volt a híres hiba oka .

Az olyan lebegőpontos műveletek, mint az összeadás és a szorzás, általában csővezetékesek , de a bonyolultabb műveletek, például az osztás, nem biztos, hogy vannak.

Egyes rendszerek akár egy vagy több áramkörrel is rendelkezhetnek lebegőpontos felosztásra.

Társprocesszorok

Az 1990-es évek közepéig normális volt, hogy az FPU teljesen elkülönült a személyi számítógépek processzorától. Ezt az FPU-t aztán a számítógép alaplapjának egy külön nyílásába helyezték. Opcionális és drága lehetőség volt, csak akkor vásárolták meg, ha az FPU-t igénylő alkalmazások felgyorsításához vagy engedélyezéséhez szükséges. Így a következőket osztották meg társprocesszorok formájában:

Nem minden alkalmazás tudta kihasználni ezeket a társprocesszorokat. Vektoros illusztráció alkalmazások, mint a CorelDraw , bár fogyaszt sok trigonometrikus függvények, nem nem használja a lebegőpontos, de zseniális közelítések dolgozik egész értékeket (mivel minden esetben soha nem próbálja meg a címet, pontosabban, mint a pixel képernyő). A kanadai kiadó a dokumentációjában is világosan meghatározta, hogy nem szabad a termék felgyorsítását lebegő társprocesszor megvásárlásával megkísérelni. Más szoftverekhez (például a 3D Studio Max ) FPU szükséges, amely a korabeli számítógépek professzionális verzióiban érhető el. Az FPU nélküli számítógépek FPU emulátort használhatnak a szoftver futtatásához, de nagyon gyenge teljesítménnyel.

Manapság az FPU-kat a személyi számítógépes processzorok tartalmazzák, az integráció mértéke csaknem nulla költség mellett teszi lehetővé, míg a kézi (vagy segített) vezetékezés többe kerül, mint egy áramkör benyomása, ami mindent integrál a kezdetektől fogva.

Megjegyzések és hivatkozások

  1. (in) Marius Cornea "  szoftver implementáció osztály és négyzetgyök műveletek Intel Itanium processzorok  " on dl.acm.org ,2004(megtekintés : 2018. december 14. ) .
  2. (in) Marius Cornea "  FSIN dokumentáció javítása az" Intel 64 és IA-32-architektúrák Software Developer kézikönyv "  " , a software.intel.com ,2014. október 9(megtekintve 2018. december 14. )
  3. SPARCstation 1 , a nezetic.info oldalon.