kategória | ||||||||||
| ||||||||||
| ||
|
||||||||||
Az aritmetikai egységek felépítése III. (a fixpontos osztás algoritmusai; a fixpontos multimédia (a raszteres képfeldolgozás és a hangfeldolgozás) probléma-felvetése és megoldása)
Osztás
X=A/B
Hagyományos osztás:
150/48
150 I Konklúzió: Minden kivonás elött
-48 komparálunk (összehasonlítunk), ezért lassú.
102 II
-48 3,1.
54 III
-48
60 I
-48
120 I
-48
72 II
Visszatérés a nullán át csak az elöjel flag-et vizsgálva:
150
-48
102 I
-48
54 II
-48
6 III
-48
-42 kiírja a gyüjtöt (3,)
+48 hozzáadja a maradékhoz az osztót (-42+48)
60 tízszerezi (6×10=60) és folytatja
-48
12
-48
-36 kiírja a gyüjtöt (,1).
+48
Itt minden kivonás automatikus (nincs komparálás, ami lassú). Mivel nem kell minden kivonás elött komparálni, csak a gyors elöjel flag vizsgálatot végezzük, a két felesleges müvelet (hozzáadás +48 és szorzás) ellenére gyorsabb.
Visszatérés nélküli osztás:
11/6
11 I 1,8
-6
5 10. lépés kiírja a gyüjtöt
-6
-10 9. lépés szorozza 10-zel
+6
-4 8. lépés
+6
+20 I
-6
14 II
-6
8 III
-6
2 10. lépés
-6
-40 9. lépés
Fixpontos multimédia feldolgozás
A probléma felvetése:
A, Hangfeldolgozás:
analóg jel
digitális jelfeldolgozásához digitalizálni kell analóg digitális (A-D) konverter
Amplitúdó vagy felbontás:
A leképezendö hanghullám minimális és maximális értékhez hozzárendeljük az értelmezési tartományunk minimális és maximális értéket.
8 bit 256 pontos felbontás
16 bit 65536 pontos felbontás (a mai gyakorlat)
Mintavétel:
Példán keresztül: Egy 50kHz-es mintavétel azt jelenti, hogy másodpercenként 50000 mintát veszünk az adott hullámból (minden egyes mintánál az amplitúdó értékét tároljuk el).
Mai példák:
Alkalmazás kHz
a) Telefon 8
b) Audio CD 44
c) DVD 48
d) DVD (minöségi) 96
Egy másodperc hanganyag tárolási igénye audio CD, 16 bites felbontás, sztereó esetén:
44000 minta×2 byte felbontás×2 a sztereó miatt = 176000 byte/sec ~ 170 kbyte/sec
Percenként: 60×170 ~ 10Mbyte/min
Feladat: Nagy tömegü fixpontos adat
tárolása
továbbítása
feldolgozása
B, Pixeles képfeldolgozás:
A fénykép és a festmények analóg formátumúak, hiszen a fények, árnyékok és színek folyamatos átvitelével írhatók le.
A képeket digitalizálnunk kell.
Felbontás:
A képeket képpontokra (pixel) bontjuk. Minél sürübb a rácsszerkezet, annál jobb minöségü képet kapunk a digitalizálás során. Minél kisebb egy pixel, annál jobb a leképezés. Pl.: 800×600; 1280×1024
Pixelek vagy képpontok:
Minden szín leírható három szín
összetételeként, tehát minden pixelhez három darab színkódot kellene
hozzárendelni, de helyette ezeket egyetlen vektorrá kódolták.
Pl.: 000 → 0, 001 → 1, 010 → 2 .
A pixelek lehetséges értékei:
1 bit: fekete-fehér, sötét-világos
1 byte: 256 féle színt írhatunk le
2 byte: 65536 féle szín (high-color)
3 byte: 224 féle szín (true-color) (az emberi szem ennyit nem tud megkülönböztetni, azért jó a sok szín, mert a számítógép ezt is tudja értelmezni)
4 byte: a negyedik byte az úgynevezett alfa csatorna, az effektek jelzésére szolgál (pl.: átlátszóság mértéke)
Egy kép tárolásához szükséges memóriaterület:
|
egy byte |
két byte |
800×600 |
480000 byte |
960000 byte |
1280×1024 |
1,3 Mbyte |
2.6 Mbyte |
A képfeldolgozás feladata: Nagy tömegü fixpontos adat tárolása, továbbítása, feldolgozása.
Megoldás:
Tárolás, továbbítás hatékony tömörítéssel.
Feldolgozás:
Probléma: a 3 perces számot 3 perc alatt le kell tudni játszani
Hagyományos feldolgozás:
pl.: 2 kép összeadása a 800×600-as felbontás mellett
1. Az 1. kép 1. byte-ját betöltjük az AC-ba.
2. A 2. kép 1. byte-ját hozzáadjuk az AC-hoz, az eredmény az AC-ban keletkezik.
3.
Az AC tartalmát lementjük az
eredmény memóriaterületre.
Ez a ciklus 480000-szor fut le. (minden bájtra)
Megoldás SIMD módszerrel (single instruction, multiple data):
Több adattal ugyanazt az utasítást hajtja végre, ~ 8-szoros gyorsítást eredményez, 60000-szer fut le a ciklus.
A |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+B |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
|
|
8 db
A gyakorlatban kétféle megoldás:
multimédia segédprocesszor
az általános célú processzorba beleintegrálják a multimédia feldolgozó egységét.
Az Intel MMX kiterjeszés:
a) 1997-ben jelent meg
b) Matrix Math Extension (Multimedia Extention)
c) Logikai architektúra:
1. Pakolt adattípusok bevezetése
a. Ezek mindegyike 64 bites, ami megegyezik a processzor belsö sínjének szélességével.
b.
Fajtái:
pakolt byte: 8 db 8 bites = 64 bit,
pakolt félszó: 4 db 16 bites = 64 bit,
pakolt szó: 2 db 32 bites = 64 bit.
2.
Új utasítások bevezetése
A négy aritmetikai müvelet (+,-,×,÷) és a logikai müveletek mindhárom
új adattípushoz.
d) Fizikai architektúra:
1. Az Intel nem akart új regisztereket bevezetni az új adattípusokhoz, hanem a 80 bites lebegöpontos regisztereket használja a 64 bites pakolt adattípusok feldolgozására.
2. Egy évre rá az MMX müveletvégzöket 2-re növelték, így a ciklusok száma 30000-re csökkent.
Találat: 403