SzA7. Az aritmetikai egységek felépítése III. Flashcards

(a lebegőpontos számok, jellemzőik, formátumok, tárolás, kódolás, kerekítések, kivételek kezelése, algebrai műveletek és megvalósításuk, az IEEE 754 szabvány, az ALU egyéb műveletei)

1
Q

Lebegőpontos műveletek és számábrázolás kialakulásának okai

A

A fixpontos ábrázolás hátrányai

  • viszonylag kicsi értelmezési tartomány integer esetén: -32768 -> +32767
  • tört számok pontatlan ábrázolása: pld.: 7/4 = 1
  • FP számokat ábrázolva 16 biten nagyobb számokat tudunk elérni
  • A radix egyezzen meg a mantisszánál használt számrendszer alapjával
  • az ábrázolás normalizált formátumban történik
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Lebegőpontos számábrázolás

A

1/r ≤M<1 (a törtpontot az első értékes számjegy elé helyezzük)
0/1 <= M < 1
1 / 2 <= M < 1 (rejtett bit)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Mitől függ a lebegőpontos számok értelmezési tartománya?

A

É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.)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Lebegőpontos számok pontossága

A

A pontosságot a mantissza bitjeinek száma határozza meg

Tegyük fel, hogy:
10-es számrendszer
M=4 helyiérték
karakterisztika = n (szabadon választott)

Számegyenesen ábrázolva:
FP = M * 10^(+-n)
Legnagyobb szám: 0.9999*10^(+-n)
Legkisebb szám: -0.9999*10^(+-n)
E feletti/alatti értékek a túlcsordulási régióban vannak.

Legkisebb ábrázolható szám: 0.1*10^(-n)
Legnagyobb negatív ábrázolható szám:
-0.1*10^(-n)
A 0-hoz ennél közelebbi számok az alulcsordulási régióba esnek.

Az architektúrának biztosítania kell ezek kezelését.
Előírások:
Túlcsordulásnál:
- kijelzi, majd beállítja a legnagyobb megengedett értéket VAGY előjeles végtelent jelez ki
Alulcsordulásnál:
- KIjelzi, majd 0-ra konvertál VAGY denormalizált számot jelez ki
Ha M=0, akkor a karakterisztika is legyen 0

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Rejtett bit használata lebegőpontos számoknál

A

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 bitet tudunk tárolni, a pontosság nő. Balra léptetünk, visszaolvasásnál kezelni kell -> vissza kell írni az egyest.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Őrző bitek lebegőpontos számoknál

A

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).

  1. rejtett bit balra léptetésekor egy értékes bitet tudunk beléptetni (helyreállítás).
  2. tároláskor kerekített értéket tárolhatunk
  3. normalizáláskor értékes biteket tudunk felhasználni
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Lebegőpontos számok kódolása

A
  • 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)
  • ma*rka
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Műveletek lebegőpontos számokkal

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Lebegőpontos műveletvégzés konkrét megvalósítása (Univerzális kombinált műveletvégző segítségével)

A

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ú

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Dedikált FP műveletvégzés

A

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)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Az IEEE 754 szabvány fogalma, fejezetei

A

Cél megkönnyíteni a különböző CPU-k esetén az adatszintű kompatibilitást és portabilitást.
Elvárás a rendszerszintű megoldás az FP számábrázolásra.

Fejezetei:

  • adattípus formátum
  • műveletek
  • kerekítések
  • kivételek ezelése

Kiterjesztett csak processzoron belül.

  • Szabványos
    • Egyszeres pontosságú
      • 32 bites (1 bit előjel, 8 bit kar., 23 bit Mant)
      • kisebb, gyorsabb
      • pontatlanabb
    • Kétszeres pontosságú
      • 64 bit (1 bit előjel, 11 bit kar., 52 bit Mant)
  • Kiterjesztett
    • Egyszeres pontosságú
      • min. 43 bit
    • Kétszeres pontossságú
      • min. 79 bit (64 + 15 őrzőbit)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

IEEE 754 műveletek

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

IEEE 754 pontosság

A

Legkisebb helyiértékű bit értékének felénél nem lehet nagyobb.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

IEEE 754 kerekítések

A

Kerekítés (4 megközelítés):

  1. legközelebbre való kerekítés
  2. -végtelen felé kerekítés intervallum algebra
  3. +végtelen felé kerekítés intervallum algebra
  4. 0-ra kerekítés (trunc/levágás)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

IEEE 754 kivételek

A

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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Az ALU egyéb műveletei

A
  • mind a 16, kétoperandusos logikai műveletre képes (pl.: OR, AND, XOR, NOT)
  • léptetés, invertálás, LOAD/STORE, összehasonlítás, feltételes ugrás
  • címszámítás (végrehajtási állapotban): a korai gépekben az általános célú műveletvégző végezte, azonban napjainkban tipikusan célhardver végzi
  • a karakteres műveletek tipikusan általános célú műveletvégzőben történnek