SIMD

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 26 aprilie 2017; verificările necesită 5 modificări . Clasificare Flynn
  Un singur flux de
instrucțiuni
Fluxuri
de instrucțiuni multiple
Flux de date
unic (date unice)
SISD
(OKOD)
MISD
(MISD)
Fluxuri
de date multiple
SIMD
(JMD)
MIMD
(MKMD)

SIMD ( în engleză  single instruction, multiple data  - a single instruction stream, multiple data stream , OKMD ) este un principiu al calculului computerizat care permite paralelismul la nivel de date. Una dintre clasele de sisteme de calcul din clasificarea lui Flynn .

Calculatoarele SIMD constau dintr-un procesor de comandă (unitate de control), numit controler și mai multe unități de procesare a datelor, numite elemente de procesor. Modulul de control primește, analizează și execută comenzi. Dacă comanda conține date, controlorul trimite o comandă tuturor elementelor procesorului, iar această comandă este executată pe mai multe sau pe toate elementele procesorului. Fiecare element de procesare are propria sa memorie pentru stocarea datelor. Unul dintre avantajele acestei arhitecturi este că în acest caz logica calculelor este implementată mai eficient. Până la jumătate din instrucțiunile logice ale unui procesor convențional sunt legate de controlul execuției instrucțiunilor mașinii, iar restul sunt legate de lucrul cu memoria internă a procesorului și efectuarea de operații aritmetice. Într-un computer SIMD, controlul este efectuat de controler, iar „aritmetica” este dată elementelor procesorului.

Procesoarele vectoriale au folosit, de asemenea, principiul SIMD; vectorii de până la câteva mii de elemente pot fi procesați cu o singură instrucțiune.

Extensii SIMD ale diferitelor arhitecturi

Instrucțiuni SIMD scurte (64 sau 128 de biți) au început să apară în procesoarele de uz general în anii 1990. În diferite grade, următoarele arhitecturi de procesor acceptă extensii SIMD sau instrucțiuni SIMD:

Un grup de IBM, Sony, Toshiba a dezvoltat în comun coprocesorul SPU pentru procesorul celular , al cărui set de instrucțiuni folosea foarte mult SIMD. NXP (Philips) a dezvoltat mai multe procesoare Xetal SIMD , care aveau 320 de elemente de procesor care funcționau cu date pe 16 biți.

Acceleratoarele video moderne ( GPU ) se bazează de obicei pe arhitectura SIMD, care acceptă vectori cu lungimi de 128, 256 sau mai mulți biți.

Advanced Vector Extensions de la Intel oferă un set de instrucțiuni SIMD pentru procesarea datelor în virgulă mobilă în grupuri de 256 de biți. Coprocesoarele Intel MIC includ un set de instrucțiuni pe 512 biți.

procesoare compatibile x86

Vezi și