Technische Universiteit Delft
SIMD
door M&C
Promotie van dhr. A. Shahbahrami: "Avoiding Conversion and
Rearrangment Overhead in SIMD Architectures"
15 september 2008 | 15:00 uur
plaats: Aula TU Delft
De heer A. Shahbahrami | Master of Science in Computer Engineering,
Iran
promotor | Prof.dr. K.G.W. Goossens (EWI)
coprom. | Dr. B.H.H. Juurlink (UHD-EWI)
Avoiding Conversion and Rearrangment Overhead in SIMD Architectures
In deze dissertatie wordt een vernuftige SIMD uitbreiding, genaamd
geModificeerde MMX (MMMX), voor multimedia berekeningen gepresenteerd.
De MMX architectuur is verbeterd door toevoeging van de vergrote
deelwoorden techniek en de matrix registerstructuur techniek. De
vergrote deelwoorden techniek gebruikt SIMD registers die breder zijn
dan het formaat waarin de data in het geheugen wordt opgeslagen. Het
gebruikt 32 bits meer voor elk 64-bits register. De vergrote
deelwoorden techniek vermijdt het converteren van data types en
verhoogt het parallellisme in SIMD architecturen. Dit is omdat het
promoveren van deelwoorden voordat ze gebruikt worden in berekeningen,
en het degraderen van het resultaat voordat het kan worden opgeslagen,
kosten met zich meebrengt. De matrix registerstructuur staat toe dat
data die is opgeslagen in aaneenliggend geheugen in een kolom van de
registerstructuur kan worden geladen. Een kolom komt overeen met de
corresponderende deelwoorden van de verschillende registers. Met
andere woorden, deze techniek staat toe dat de registerstructuur zowel
rij- als kolomsgewijs gelezen en geschreven kan worden. Het is
bruikbaar voor matrix operaties die gebruikelijk zijn in media
toepassingen. Daarnaast worden in dit werk nieuwe en algenene SIMD
instructies onderzocht die bedoeld zijn voor multimedia toepassingen.
Toepassingsspecifieke instructies worden niet beschouwd. Speciale
instructies worden gesynthetiseerd door een aantal algemene
instructies. De prestatie van de MMMX architectuur wordt vergeleken
met de prestatie van de MMX/SSE architectuur voor verschillende
multimedia toepassingen en toepassingskernen gebruikmakend van de
sim-outorder simulator, die onderdeel is van de SimpleScalar
simulatieomgeving. Daarnaast worden drie zaken bediscussieerd die
gerelateerd zijn aan het efficient implementeren van de 2D Discrete
Wavelet Transform (DWT) op processoren voor algemene doeleinden, met
name de Pentium 4. Deze zijn 64K aliasing, cache mis vanwege conflict,
en vectorisatie SIMD.
64K aliasing is een verschijnsel dat kan voorkomen in de Pentium 4 en
welke de prestatie aanzienlijk kan verminderen. Het vindt plaats als
twee of meer data elementen, wiens adressen een veelvoud van 64K
verschillen, tegelijkertijd in de cache moeten worden opgeslagen. Er
is ook vaak een cache mis vanwege conflict in de implementatie van het
verticale filter van de DWT als de filter lengte het aantal cache
paden overschrijdt. In deze dissertatie worden technieken voorgesteld
om 64K aliasing te voorkomen en de effecten van een cache mis vanwege
conflict te verminderen. Verder wordt de prestatie van de 2D DWT
verbeterd door data parallellisme middels SIMD instructies te
exploiteren, die ondersteund worden door de meeste algemene
processoren.
Laatst gewijzigd: 28 augustus 2008