Взаимодействие графического и центрального процессоров
Графический процессор не имеет средств прямого взаимодействия с устройствами ввода-вывода (кроме монитора), а также доступа к оперативной памяти компьютера. Поэтому управление графическим процессором осуществляется только через центральный процессор. Схема взаимодействия центрального и графического процессоров приведена на рис. 1.3.

Рис. 1.3. Схема взаимодействия CPU и GPU с памятью и между собой
Графические ускорители подключаются к системной плате персонального компьютера через высокоскоростную шину данных (в настоящее время PCI-Express). Посредством этой шины центральный процессор получает доступ к видеопамяти, а также к некоторым разделам кеш-памяти, расположенной на самом графическом процессоре. Через эту же шину CPU загружает в графический процессор программу и запускает ее.
Перед запуском программы, исполняемой на GPU, центральный процессор передает графическому процессору данные двух видов:
- • значения констант, используемых в программе;
- • один или несколько больших массивов данных для потоковой обработки.
К константам необходим постоянный и быстрый доступ, поэтому они записываются в кеш-память (или регистры), расположенную на кристалле графического процессора. Массивы данных часто бывают настолько велики, что целиком в кеш-память не помещаются. Однако при простейшей потоковой обработке каждый из элементов массивов данных используется только один раз. Так что для хранения этих массивов предназначена видеопамять (общая память), представляющая собой отдельные микросхемы на плате графического ускорителя. Она работает медленнее кеш-памяти и регистров, зато имеет больший объем, до нескольких гигабайтов.
Результаты своей работы графический процессор может сразу записывать в раздел видеопамяти, называемый буфером кадра, откуда они передаются на монитор. Но существует также возможность вообще не отображать расчет на экране, а копировать результаты из видеопамяти в оперативную память компьютера, где они становятся доступными для дальнейшей обработки центральным процессором. На этом и основано использование графических процессоров для вычислений общего назначения, не связанных с обработкой графики.
На схеме (рис. 1.3) указаны также типы программ, которые исполняются центральным и графическим процессорами на различных этапах обработки данных. Такие программы будут далее подробно рассмотрены.