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