SzA7. Az aritmetikai egységek felépítése III. Flashcards
A fixpontos ábrázolás hátrányai
• viszonylag szűk értelmezési tartomány integer esetén: 16 bit -> -32768-tól +32768-ig
• törtszámok pontatlan ábrázolása: pl.: 7/4=1
kép33
FP ábrázolás
Normalizált:
1/r<=M<1 (a törtpontot az első értékes számjegy elé helyezzük)
0/1<=M<1
½ <=M<1 (rejtett bit)
pl.: 123,456100
-> nem normalizált, NORMALIZÁLÁS: a tizedespontot az első értékes számjegy elé
mozgatjuk -> 0,1234567103
Kettes számrendszerben pl.: 100112^1
-> 0,100112^6
Mitől függ a lebegőpontos számok értelmezési tartománya?
Értelmezési tartomány függ:
• karakterisztika számára rendelkezésre álló bitek számától
• radixtól -> a számrendszerre jellemző szám (tipikusan a radix = 2 a kettes számrendszer
miatt.)
Lebegőpontos számok pontossága
Pontosság: mantissza bitjeinek számától függ
kép34
0,0000009
• nem tudjuk ábrázolni a számot => alulcsordulás!
• alulcsordulási flag jelez és a denormalizált számok ábrázolását engedélyezi
0,999999n-1
• +n= oo lesz, mert értelmezettek a végtelennel végzett számítások oo+3=oo
• túlcsordulási flag jelez és denormalizált számok ábrázolását engedélyez
2-es számrendszerben például 8 bit esetén (11111111=255) fenntartják a +végtelen.
Maximálisan ábrázolható szám 0,910-1
A 0 körüli számok: amennyiben a mantissza csupa 0, elvárás az architektúrától, hogy a karakterisztika
is 0 legyen.
Rejtett bit használata lebegőpontos számoknál
Pontosság javítás rejtett bit használatával (kettes számrendszerben vagyunk) ½ <=m<1. A
normalizálás miatt a pont után mindig 1-es áll. A memóriában történő tárolás után ezt az egyest nem
tároljuk, így eggyel több bájtot tudunk tárolni, a pontosság nő. Balra léptetünk, visszaolvasásnál
kezelni kell -> vissza kell írni az egyest.
Őrző bitek lebegőpontos számoknál
A pontosságot őrzik. A lebegőpontos regiszterek mind a mantissza része, mind a lebegő pontos
műveletvégző hossza 4-15 bittel hosszabb, mint a tárolt formátum (pl.: 32+11).
Felhasználása:
1. rejtett bit kiírásakor egy értékes bitet tudunk beléptetni (helyreállítás).
2. kerekítést segíti a több bit
3. normalizálás 0,000
Lebegőpontos számok kódolása
• Mantissza: kettes komplemens formában ábrázolunk ezért minden aritmetikai művelet
elvégezhető vele
• karakterisztika kódolása tipikusan többletes kód (csak + és – műveletek és léptetés)
• mˇa*r^kˇa
Összeadás lebegőpontos számokkal
A kitevőket megvizsgáljuk: csak azonos kitevőjű számok adhatók össze. Amennyiben a kitevők nem
egyenlők, akkor a kisebb kitevőjű szám mantisszájának törtpontját balra léptetjük, és közben
inkrementáljuk a karakterisztika értékét. A ciklus addig fut, amíg a kitevők meg nem egyeznek.
Mantisszákat összeadjuk, karakterisztikákat változatlanul hagyjuk. Normalizálás szükség esetén (első értékes jegy elé tesszük a pontot).
kép35
A mantisszát gyorsítani kell!
Lebegőpontos műveletvégzés konkrét megvalósítása (Univerzális kombinált műveletvégző segítségével)
Műveletvégző (ALU) parciálása (részekre bontásával), vezérlés bonyolultabb. Szervezési megoldás:
egymás után mantisszát és a karakterisztikát külön regiszterekbe tároljuk, és a végén újra egyesítjük -
> ez lassú.
Dedikált FP műveletvégzés
kép36
Dedikált jellemzői:
• Míg a mantissza egységnek szorozni/osztani is kell tudni, a karakterisztika egységnek elég
összeadni/kivonni, ezért az utóbbi egyszerűbb
• A mantissza és a karakterisztika egység párhuzamosan is működhet (ekkor a mantissza
egység jelenti a szűk keresztmetszetet a szorzás/osztás miatt, tehát azt kell igen gyors
végrehajtásúra tervezni)
Az IEEE 754 szabvány fogalma, fejezetei
Rendszerszintű megoldás.
Fejezetei:
• adattípus formátum
• műveletek
• kerekítések
• kivételek kezelése
kép37
Kiterjesztett csak processzoron belül.
Szabványos az operatív táron, illetve a háttértáron való tárolásra szolgáló formátum.
A szabványost szigorúbb szabályokkal rögzítették.
A kiterjesztett esetén maximális szabadságot biztosítottak a gyártóknak CPU-n belül.
Egyszeres pontosságú gyorsabb, kis memóriaigényű, de kevésbé ad pontos eredményt.
32 bites formátum. Értelmezési tartománya nagyobb a fixpontoséhoz képest.
Kiterjesztett formátum esetén legalább 79 bit. (64 + 15 (őrzőbit))
kép38
IEEE 754 műveletek
Műveletek: • 4 aritmetikai művelet • maradékképzés • négyzetgyökvonás • bináris, decimális konverzió • végtelennel való műveletvégzés • kivételek kezelése
IEEE 754 pontosság
Pontosság:
Legkisebb helyiértékű bit értékének felénél nem lehet nagyobb.
IEEE 754 kerekítések
Kerekítés (4 megközelítés):
- legközelebbre való kerekítés
- -végtelen felé kerekítés intervallum algebra
- +végtelen felé kerekítés intervallum algebra
- 0-ra kerekítés (trunc/levágás)
IEEE 754 kivételek
A kivételek felbukkanása megszakítást eredményez. • Overflow • Underflow • 0-val való osztás • Négyzetgyökvonás negatív számból