SIMD
Single instruction, multiple data (SIMD) er en av fire former for datamaskin-arkitekturer, i en klassifisering som ble foreslått av Michael J. Flynn i 1966.[1][2]
Single Instruction |
Multiple Instruction | |
---|---|---|
Single Data |
SISD | MISD |
Multiple Data |
SIMD | MIMD |
Den opprinnelige Von Neumann-modellen bestod av én enkelt mikroprosessor, med ett enkelt instruksjonssett, som utførte én instruksjon av gangen. Denne modellen tilhører SISD i Flynns taksonomi.
I SIMD-modellen har mikroprosessoren også ett instruksjonssett, men utfører flere instruksjoner samtidig.
SIMD ble realisert i 1982 i superdatamaskinen Cray X-MP kalt «vektor-prosessor». Cray X-MP arbeidet med to lange vektorer, hvor hver vektor adderte 100 tall samtidig.
I 1989 ble SIMD implementert i den grafiske enheten av RISC-prosessoren Intel i860. Arkitekturen i Intel i860 ble senere tatt i bruk i form av MMX i Intel Pentium MMX, som var den første SIMD-arkitekturen for hjemme-datamaskiner. Andre eksempler på bruken av SIMD i X86-arkitekturen er 3DNow!, SSE, SSE2, SSE3 og SSE4. Både Intel Pentium-II, Intel Pentium-III, Intel Pentium 4, så vel som AMD K6-2, AMD K6-III og AMD Athlon, AMD Athlon-XP og AMD K8 har benyttet SIMD til å akselerere utføringen av multimedia-beregninger.
SIMD ble også brukt for å akselerere utførelsen av grafikk i form av instruksjons-settet AltiVec i PowerPC (G4 i 1999, G5 i 2002 og POWER6 (8. juni 2007)).
Moderne superdatamaskiner består som regel av MIMD-mikroprosessorer, som hver enkelt utfører SIMD-instruksjoner.