Графичен процесор

от Уикипедия, свободната енциклопедия
Направо към: навигация, търсене

Графичният процесор (на англ. ез. Graphics Processing Unit (GPU)) е специализиран процесор за обработка на графични изображения. Тъй като днешните компютри работят с голямо количество графични данни, обособяването на специализирано устройство за нейната по-ефективна обработка, значително повишава производителността им.

Графичният процесор може да бъде интегриран в дънната платка на компютъра или да бъде предоставен като дискретна графична единица — графична карта, съдържаща освен самия процесор и поддържащи схеми. GPU се използва във вградените (специализирани) системи, мобилните телефони, персоналните компютри, работните станции, и игралните конзоли.

Архитектура[редактиране | edit source]

Съвременните графични устройства са специализирани в управлението на компютърна графика и тяхната силно паралелна структура на изчисления ги прави много по-ефективни при боравенето с редица алгоритми, за разлика от централния процесор. В домашния компютър, видеокартата може да е отделен компонент, или вградена в дънната платка. Над 90% от новите стационарни и преносими компютри имат вградени видеокарти, които обикновено са далеч по-маломощни от тези, които са във вид на отделен компонент.

Изчислителни функции[редактиране | edit source]

Съвременните GPU ползват повечето си транзистори за изпълняването на изчисления, свързани с 3D компютърна графика. В началото се ползваха за ускоряване на задачи, свързани с интензивна употреба на паметта, като например налагането на картинка върху многоъгълник (полигон) (на английски: texture mapping) и възпроизвеждането на самите полигони; по-късно се добавиха и устройства за ускоряване на геометрични изчисления като ротация и транслация на върхове (на обекти) в различни координатни системи. Понеже повечето от изчисленията, извършвани от модерната видеокарта включват работа с матрици и вектори, все по-често инженери и учени изучават употребата на видеокартите за не-графични изчисления.

История[редактиране | edit source]

Графични ускорители[редактиране | edit source]

  • GPU, т.е. устройството, което обработва графиката (картинните изображения), е свързан с графичната карта процесор, който е предназначен за изчисляването на операции (математически действия) с плаваща запетая.
  • Графичният ускорител съдържа специално изработени за тази цел микрочипове, служещи за изпълнение на определени математически операции за възпроизвеждане на 3D-графика. Поради това ефективността на ускорителя зависи от ефективността на чиповете.
  • GPU-устройството изпълнява редица графични примитивни операции по такъв начин, че изпълнението им става значително по-бързо, отколкото директното им разчертаване на екрана с текущия централен процесор (CPU). Най-често срещаните математически операции, използвани в ранната 2D компютърна графика, включват растерни действия (комбинират се няколко bitmap шаблона), и операции за чертане на квадрати, триъгълници, кръгове, и дъги. Съвременните графични устройства поддържат 3D компютърна графика и обикновено включват функции за цифрово видео.

70-те години на XX-век[редактиране | edit source]

Чиповете ANTIC и CTIA осигуряваха хардуерен контрол върху смесена графика и текстови режими, позиционирането и изобразяването на т.нар. sprite-ове (двуизмерни, предварително възпроизведени картинки), и други ефекти за 8-битовите компютри на Атари. ANTIC чиповете бяха процесори със специална цел, и се ползваха за организиране на текстови и графични данни за видео-изхода. Проектантът на ANTIC чипа, Джей Майнър, впоследствие разработи графичния чип за Commodore Amiga.

80-те години на XX-век[редактиране | edit source]

Професионалният графичен контролер на IBM (IBM Professional Graphics Controller) е един от първите 2D/3D графични ускорители за IBM PC. Пуснат на пазара през 1984, 10 години преди хардуерното 3D ускорение да стане стандарт, неговите висока цена (тогавашни $4500), бавен процесор (модел 8088-2 работещ на 8 MHz), и липса на съвместимост с тогавашните търговски планове направиха невъзможен успеха на този контролер на масовия пазар.

Commodore Amiga е първият компютър на широкия пазар, който се отличаваше с това, което днес се приема за цялостен графичен ускорител, отнемайки на практика целия изчислителен товар от централния процесор за възпроизвеждането на всички видео-функции, включително чертане на линия, запълване на площ, графичен ко-процесор, и др. Преди това задачата по чертането върху дисплея падаше изцяло върху централния процесор.

90-те години на XX-век[редактиране | edit source]

През 1991, фирмата S3 Graphics представя първия 2D-ускорител, който е на единичен чип, а именно -- S3 86C911 (името идва от Porsche 911 като индикация за скока в производителността, който гарантира). Този чип роди множество имитации: към 1995, всички главни производители на графични чипове добавиха 2D-ускорение към своите видеокарти. По това време вече Windows- ускорителите (ускорители специално за Windows) надминаха по производителност по-скъпите ко-процесори (които могат да изпълняват и други функции).

В периода на 90-те години, 2D-ускорението продължи да се развива. Появиха се т.нар. API-та (програмен интерфейс за приложения) за различни задачи, като например WinG графичната библиотека за Windows 3.x, и по-късно техният DirectDraw интерфейс за хардуерно ускоряване на 2D игри с Windows 95 и по-късните версии на операционната система.

В началото и средата на 90-те, подпомогнатите от централния процесор 3D графики започваха да стават все по-често явление в компютърните и конзолните игри, което доведе до нарастване в търсенето на графични ускорители. В света на компютрите, забележителни неуспешни единични опити за евтини 3D графични чипове бяха S3 ViRGE, ATI Rage, и Matrox Mystique. Тези чипове в основата си бяха старо поколение 2D ускорители с добавени 3D възможности. Първоначално качествената 3D-графика беше възможна само с отделни карти, посветени изцяло за ускоряването на 3D функциите (и с липсващи всякакви 2D функции), примерно с Voodoo-картата на 3dfx. И все пак, с развиването на производствената технология, и трите функционалности — видео, 2D и 3D — бяха интегрирани в един чип. Чиповете Verite на Rendition бяха сред първите подобни чипове, постигнали успех.

От 2000 г. до днес[редактиране | edit source]

С появата на OpenGL API и подобната функционалност на DirectX, се появиха възможности за имитиране на осветеност, сенки, полупрозрачност, огледални ефекти, ефект на награпяване и отблясъци върху плосък полигон и други.

С нарастването на изчислителната мощ на графичните карти, нарасна и тяхната електрическа консумация. Високо-производителните видеокарти често потребяват повече енергия, отколкото текущите централни процесори.

В днешно време, паралелно-изчисляващите графични устройства (изчисляват различни операции едновременно) започнаха да отнемат от изчислителната работа на централния процесор, и вече се срещат т.нар. GPGPU (General Purpose GPU), които вършат работа и като централни процесори. Подобна технология намери широко приложение -- изследване за нефт, научни обработки на изображения, линейна алгебра, 3D реконструкции и дори за определяне на цените на борсата.

Компании, произвеждащи графични устройства[редактиране | edit source]

Много компании произвеждаха GPU устройства под редица търговски названия. През 2008, Intel, NVIDIA, и AMD/ATI бяха търговските лидери, с пазарен дял съответно 49,4%, 27,8%, и 20,6%. И все пак, в тези числа се включват изключително евтините, ниско-производителни вградени графични решения. Ако не ги броим, NVIDIA и AMD контролират почти 100% от пазара. Компаниите VIA Technologies/S3 Graphics и Matrox също произвеждат видеокарти.

Форми на устройството[редактиране | edit source]

Самостоятелни графични карти[редактиране | edit source]

Мощните видеокарти обикновено комуникират с дънната платка посредством разширителен слот, например чрез PCI Express (PCIe) или Accelerated Graphics Port (AGP), и могат да се подменят сравнително лесно, с уговорката, че дънната платка поддържа новата карта. Няколко видеокарти все още ползват PCI (Peripheral Component Interconnect) слотове, но нивото им на пренос на данни (bandwidth) е толкова ограничено, че обикновено се ползват само ако не е наличен друг слот. Самостоятелните видеокарти за лаптопи обикновено се свързват с дънната платка посредством нестандартен, и често — патентован — слот, поради тясното пространство в тях. Подобни слотове, все пак се определят като PCIe или AGP, в зависимост от логическия интерфейс.

Технологии като SLI от NVIDIA и CrossFire от ATI позволяват да се ползват няколко видеокарти за изчертаването на единствено изображение, което увеличава наличната графична мощ.

Вградени графични решения[редактиране | edit source]

Интегрираните графични решения представляват графични процесори, които ползват част от наличната системна RAM (Памет с Произволен Достъп) вместо специална видеопамет (предназначена за (и се намира във) видеокартата). Компютрите с вградени карти представляват 90% от всички новозакупени компютри. Подобни решения често се определяха като негодни за 3D игра, или за интензивни програми като Adobe Flash. И все пак, днешните вградени решения като например GMA X4500HD на Intel, Radeon HD 3200 на AMD, и GeForce 8200 на NVIDIA са мощни повече от достатъчно за 2D изображения от Adobe Flash или за 3D игри с не особено натоварваща графика. За високо-качествените игри обаче, все още е необходима самостоятелна графична карта. Някои съвременни дънни платки имат вградена видеокарта, но съдържат и разширителен слот за добавяне на самостоятелна карта.

Понеже GPU използва крайно интензивно паметта, може да се случи една вградена карта да се "съревновава" с централния процесор за и без това бавната системна RAM. Обикновено, системната памет има ниво на пренос на данни в рамките на 2-12.8 Gbit/s, а в същото време самостоятелните карти се радват на информационен дебит между 10 и 100 Gbit/s в зависимост от модела.

Хибридни решения[редактиране | edit source]

Този нов клас графични устройства се съревновават с вградените карти на пазара за евтини, стационарни компютри, и лаптопи.

Видеокарта с отворен код[редактиране | edit source]

Видеокартата с отворен код е хардуерен проект, който дава възможност същата тази видеокарта да бъде препрограмирана според нуждите на потребителя.

Външни препратки[редактиране | edit source]