SIMD

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 26. dubna 2017; kontroly vyžadují 5 úprav . Flynnova klasifikace
  Jediný instrukční proud
Vícenásobné toky
instrukcí
Jeden datový tok
(jediná data)
SISD
(OKOD)
MISD
(MISD)
Více datových toků
SIMD
(JMD)
MIMD
(MKMD)

SIMD ( anglicky  single instrukce, multiple data  - jeden instrukční tok, vícenásobný datový tok , OKMD ) je princip počítačového počítání, který umožňuje paralelismus na datové úrovni. Jedna z tříd výpočetních systémů ve Flynnově klasifikaci .

Počítače SIMD se skládají z jednoho příkazového procesoru (řídicí jednotky), nazývaného kontrolér, a několika jednotek pro zpracování dat, nazývaných procesorové prvky. Řídicí modul přijímá, analyzuje a provádí příkazy. Pokud příkaz obsahuje data, řadič odešle příkaz všem procesorovým prvkům a tento příkaz se provede na několika nebo všech procesorových prvcích. Každý procesní prvek má svou vlastní paměť pro ukládání dat. Jednou z výhod této architektury je, že v tomto případě je logika výpočtů implementována efektivněji. Až polovina logických instrukcí běžného procesoru souvisí s řízením provádění strojových instrukcí a zbytek souvisí s prací s vnitřní pamětí procesoru a prováděním aritmetických operací. V počítači SIMD je řízení prováděno řadičem a "aritmetika" je dána procesorovým prvkům.

Také vektorové procesory využívaly princip SIMD, jednou instrukcí bylo možné zpracovat vektory o velikosti až několika tisíc prvků.

SIMD rozšíření různých architektur

Krátké SIMD instrukce (64 nebo 128 bitů) se začaly objevovat v procesorech pro všeobecné použití v 90. letech. Následující architektury procesorů v různé míře podporují rozšíření SIMD nebo instrukce SIMD:

Skupina IBM, Sony a Toshiba společně vyvinula SPU koprocesor pro Cell Processor , jehož instrukční sada silně používala SIMD. NXP (Philips) vyvinul několik Xetal SIMD procesorů , které měly 320 procesorových prvků, které pracovaly s 16bitovými daty.

Moderní video akcelerátory ( GPU ) jsou obvykle založeny na architektuře SIMD a podporují vektory o délkách 128, 256 nebo více bitů.

Intel Advanced Vector Extensions poskytuje sadu instrukcí SIMD pro zpracování dat s pohyblivou řádovou čárkou ve skupinách po 256 bitech. Koprocesory Intel MIC obsahují 512bitovou instrukční sadu.

x86 -kompatibilní procesory

Viz také