SIMD to sposób wykonywania obliczeń, w którym jedna instrukcja działa równocześnie na wielu elementach danych. W praktyce w procesorach ogólnego przeznaczenia (np. x86) realizuje się to przez specjalne instrukcje oraz rejestry wektorowe.
W kontekście podanym w odpowiedziach chodzi o rozszerzenia SSE, które wykorzystują 128-bitowe rejestry (wektorowe). Dzięki nim procesor może wykonywać operacje na "paczkach" danych, np. kilku liczbach całkowitych jednocześnie albo kilku wartościach zmiennoprzecinkowych o mniejszej szerokości. Dlatego poprawna odpowiedź wiąże blok SIMD z zestawem 128-bitowych rejestrów używanych przy wykonywaniu instrukcji SSE.
Dlaczego pozostałe odpowiedzi są błędne?
- "Zestaw 256 bitowych rejestrów…" – 256 bit kojarzy się z nowszymi rozszerzeniami (np. AVX), ale pytanie/odpowiedzi odnoszą SIMD do SSE, gdzie typowe są rejestry 128-bit. Dodatkowo opis ogranicza się do liczb stałopozycyjnych, a SIMD obejmuje też inne typy danych.
- "Jednostka zmiennoprzecinkowa (koprocesor)" – FPU odpowiada za obliczenia zmiennoprzecinkowe, ale nie jest tym samym co SIMD. SIMD to równoległość danych i zestawy instrukcji/rejestrów wektorowych; FPU może istnieć niezależnie od mechanizmów SIMD.
- "Moduł realizujący wyłącznie operacje graficzne" – to opis bliższy układom GPU. Blok SIMD w CPU nie jest "tylko do grafiki"; jest wykorzystywany szerzej: multimedia, kompresja, szyfrowanie, obliczenia numeryczne.
Wskazówka egzaminacyjna: jeśli w odpowiedziach pojawiają się nazwy SSE oraz szerokości rejestrów, zwykle chodzi o identyfikację rejestrów wektorowych i instrukcji SIMD, a nie o FPU ani GPU.