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]

SIMD
Flynns taksonomi
  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.

Referanser rediger

  1. ^ Michael J. Flynn: Some Computer Organizations and Their Effectiveness, IEEE Trans. Comput., Vol. C-21, s. 948, 1972
  2. ^ Ralph Duncan: A Survey of Parallel Computer Architectures, IEEE Computer. februar 1990, s. 5-16.