Koprocesor – układ scalony, którego zadaniem jest odciążenie głównego procesora komputera (ang. Central Processing Unit - CPU) w wykonywaniu niektórych zadań, najczęściej o wyspecjalizowanym charakterze. Zadania takie koprocesor zwykle wykonuje szybciej niż procesor główny, a także, w niektórych przypadkach, może on działać równolegle do CPU, co ogólnie umożliwia zwiększenie mocy obliczeniowej (lub, bardziej ogólnie, prędkości) działania komputera.
Najczęściej spotykanymi koprocesorami są koprocesory arytmetyczne, które w większości współczesnych konstrukcji są zintegrowane z procesorem w jednym układzie scalonym (podobnie jak jednostki obsługujące bardziej skomplikowane obliczenia, np. instrukcje wektorowe).
Koprocesorami nazywane bywają również układy wspomagające tworzenie i przetwarzanie grafiki (głównie wektorowej oraz trójwymiarowej), czyli procesory graficzne (GPU), nazywane też dawniej akceleratorami lub wprost koprocesorami graficznymi. Współcześnie funkcje koprocesorów mogą także pełnić układy oparte na FPGA oraz NPU. Ponadto nazwa koprocesor czasami używana jest w stosunku do układów przetwarzających sygnały (DSP) i procesorów dźwiękowych pozwalających pozycjonować dźwięki w przestrzeni (karta Sound Blaster X-Fi).
Procesory ogólnego przeznaczenia jako koprocesory thumb|Płyta główna konsoli Sega Saturn. Układ w lewej dolnej części to MC680EC00 jako koprocesor do obsługi dźwięku. W niektórych systemach komputerowych funkcję koprocesora pełniły układy (procesory) ogólnego przeznaczenia (czyli takie, które były zwykle stosowane w komputerach jako procesory główne). W takim przypadku określenie koprocesor oznacza pełnioną przez układ funkcję, a nie rodzaj czy typ układu procesorowego.
Przykłady: procesory rodziny Intel 8088 były elementami kart dla komputerów Apple II, gdzie pełniły funkcję koprocesora procesory rodziny M68000 oraz różnego typu procesory RISC (takie jak MIPS R3000 czy SPARC) bywały stosowane m. in. w modułachnp. kartach przyspieszającychtzw. akceleratorach dla komputerów osobistych i stacji roboczych z wczesnymi procesorami rodziny x86, w tym również w komputerach PC pracujących w systemie DOS. niektóre konsole do gier, posiadające często architekturę wieloprocesorową, oprócz specjalizowanych układów służących do ściśle określonych celów (na przykład, przetwarzania grafiki), posiadają dodatkowo procesory ogólnego przeznaczenia stosowane do ściśle określonych zadań (na przykład obsługi niektórych urządzeń czy przetwarzania dźwięku); przykładami takich konsol są Sega Mega Drive, w której funkcję koprocesora pełni Zilog Z80, oraz Sega Saturn z (ko)procesorem MC68000, którego przeznaczeniem jest obsługa dźwięku.
Uwagi
Zobacz też jednostka arytmetyczno-logiczna
Przypisy
*