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.
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.
seturi de instrucțiuni procesor x86 | |
---|---|
Intel | |
AMD | |
Cyrix |
Tehnologii de procesoare digitale | |||||||||
---|---|---|---|---|---|---|---|---|---|
Arhitectură | |||||||||
Arhitectura set de instrucțiuni | |||||||||
cuvânt mașină | |||||||||
Paralelism |
| ||||||||
Implementări | |||||||||
Componente | |||||||||
Gestionare a energiei |