Co to jest koprocesor?

click fraud protection

W sercu każdego komputera znajdziesz procesor. The Jednostka centralna jest krytycznym sprzętem. Uruchamia system operacyjny i wszystkie programy na twoim komputerze. Procesory są zaprojektowane jako procesory ogólnego przeznaczenia. Ze swej natury powinny sobie radzić ze wszystkim.

Jednak procesory nie są zbyt dobre w niektórych typach obciążeń, ponieważ ich ogólnego przeznaczenia sprzętu nie można zoptymalizować pod kątem określonych zadań bez utraty jego ogólnego przeznaczenia. Albo stać się beznadziejnie dużymi, złożonymi i drogimi. Ponadto każdy procesor będzie w stanie obsłużyć tylko tyle danych i przetwarzania naraz. Koprocesor to druga jednostka przetwarzania zaprojektowana specjalnie do realizacji jednego lub obu tych scenariuszy.

Koprocesor to po prostu druga jednostka przetwarzająca w komputerze. W niektórych scenariuszach może to być podwójny fizyczny procesor na tej samej płycie głównej, co w niektórych serwerach. W scenariuszach obliczeń o wysokiej wydajności i superkomputerów te koprocesory ogólnego przeznaczenia można również znaleźć na dodatkowych kartach PCIe. Koprocesor często koncentruje się na określonym zadaniu, a nie na procesorze ogólnego przeznaczenia. Te procesory przeznaczone do zadań można podłączyć bezpośrednio do płyty głównej lub umieścić na osobnej płycie-córce, takiej jak dodatkowa karta PCIe.

Pierwsze koprocesory

Pierwsze koprocesory były stosunkowo proste. Zostały zaprojektowane do obsługi wejść/wyjść lub wejść i wyjść dla komputerów typu mainframe. Problem polegał na tym, że przetwarzanie I/O było bardzo czasochłonnym zadaniem dla procesora. Właściwe zadanie przetwarzania było jednak stosunkowo proste. Wyprodukowanie procesora, który to obsłuży, było więc na tyle tanie. Podczas gdy koprocesor efektywnie pobierał I/O, CPU musiał generować proste parametry I/O, zwalniać czas procesora i zwiększać wydajność systemu.

Oryginalny IBM PC zawierał opcjonalny koprocesor arytmetyczny zmiennoprzecinkowy. Współczesne procesory wykonywały tego rodzaju obliczenia w oprogramowaniu, które było powolne, ale wystarczająco funkcjonalne w rzadkich przypadkach, gdy było to potrzebne większości użytkowników. Jednak projektowanie wspomagane komputerowo lub systemy CAD stale używały tego rodzaju matematyki. Dzięki rozdzieleniu arytmetyki zmiennoprzecinkowej na koprocesor nie tylko zwiększono prędkości w razie potrzeby, dzięki do akceleracji sprzętowej, ale użytkownicy, którzy jej nie potrzebowali, mogliby zaoszczędzić pieniądze, kupując system bez koprocesor.

Ostatecznie te proste koprocesory miały swoje funkcje zintegrowane z architekturą CPU. Jest to częściowo naturalny wynik ciągłego rozwoju procesora, ale wiąże się również z trudnościami w kontynuowaniu prostej synchronizacji w miarę wzrostu szybkości zegara procesora. Chociaż te procesory i koprocesory działały wystarczająco dobrze przy 75 MHz, występowałyby ogromne opóźnienia czasowe, zużycie energii i problemy z zakłóceniami częstotliwości radiowych na dzisiejszych częstotliwościach GHz. Problemy te wymusiły bardziej złożone systemy sygnalizacji między procesorami a nowoczesnymi koprocesorami.

GPU

GPU lub jednostka przetwarzania grafiki to prawdopodobnie najbardziej znana forma koprocesora. Zostały zaprojektowane tak, aby były zoptymalizowane pod kątem wysoce równoległego obciążenia związanego z renderowaniem grafiki. Procesory mogą wykonywać to zadanie w oprogramowaniu lub ze zintegrowanym układem graficznym. Aby jednak zaoferować wysoką wydajność nowoczesnych procesorów graficznych, musiałyby zintegrować całą matrycę GPU z kością procesora.

To znacznie zwiększyłoby koszt i złożoność procesora, a także znacznie zwiększyłoby produkcję ciepła. Zintegrowane układy graficzne zajmują już sporo miejsca na kości procesora. Mogą zmniejszyć ogólną prędkość procesora ze względu na ich moc cieplną.

Karta dźwiękowa

Historycznie procesory mogły przetwarzać sygnały audio, ale nie były w tym fantastyczne. Powstałe artefakty dźwiękowe i zakłócenia statyczne doprowadziły do ​​powstania kart dźwiękowych. Zapewniłyby one wejścia i wyjścia audio oraz realizowałyby przetwarzanie dźwięku na samej karcie dźwiękowej. To znacznie zwiększyło izolację sygnału i jakość wyjścia dźwięku. Chociaż niektóre karty dźwiękowe są nadal dostępne, są one całkowicie niepotrzebne w nowoczesnych komputerach jako zintegrowane przetwarzanie dźwięku bezpośrednio na płytach głównych. Procesory są znacznie lepsze niż w czasach rozkwitu kart dźwiękowych.

NPU

Stosunkowo nowym typem koprocesora jest NPU lub jednostka przetwarzania neuronowego. Są one przeznaczone do wykonywania lub przyspieszania obciążeń AI. NPU na wysokim poziomie są dość podobne do procesorów graficznych, tylko z optymalizacją specyficzną dla obciążeń AI. Ponieważ wydajność obciążenia AI staje się coraz bardziej czymś, z czego zwykli użytkownicy korzystają na smartfonach i komputerach, prawdopodobnie staną się one bardziej powszechne.

Zintegrowane koprocesory

Nowoczesne procesory integrują wiele form koprocesora bezpośrednio z ogólną matrycą lub architekturą procesora. Można to łatwo zauważyć dzięki zintegrowanym układom graficznym wytrawionym w tym samym krzemie, co reszta procesora. Jednak rzeczywiste przetwarzanie nie jest wykonywane przez rdzenie procesora. W procesorach AMD Ryzen istnieje również osobna kość I/O, która obsługuje komunikację między chipletami a resztą komputera. Niektóre nowoczesne urządzenia mobilne są również wyposażone w NPU do przetwarzania AI.

Wniosek

Koprocesor to drugorzędny, trzeciorzędny, czwartorzędowy itp. procesor w urządzeniu komputerowym, w którym procesor jest procesorem głównym. Nie ma ograniczeń co do liczby koprocesorów w systemie. Jednak wsparcie dla oprogramowania/sprzętu, rozpraszanie ciepła, przestrzeń fizyczna i koszty będą odgrywać pewną rolę.

Koprocesor obsługuje zadania dla procesora, które zwiększają ogólną wydajność zarówno w przypadku konkretnego zadania, wykonując je w zoptymalizowanym mody, a także w innych zadaniach, negując potrzebę marnowania przez procesor mocy obliczeniowej na wykonywanie zadania w niezoptymalizowanym moda. Z biegiem czasu wiele koprocesorów zostaje zintegrowanych z procesorami wraz z postępem technologicznym. Jednak ograniczenia mocy i temperatury ograniczają to w niektórych scenariuszach.