Графичен процесор
Графичният процесор (на английски: graphics processing unit, GPU) е специализиран микропроцесор за обработка на графични изображения. Тъй като съвременните компютри работят с голямо количество графични данни, обособяването на специализирано устройство за по-ефективната им обработка значително повишава производителността.
Графичният процесор може да бъде интегриран в дънната платка на компютъра или да бъде предоставен като отделно устройство – графична карта, съдържаща освен самия процесор и поддържащи схеми. GPU се използва във вградените (специализирани) системи, мобилните телефони, персоналните компютри, работните станции и игралните конзоли.
Архитектура[редактиране | редактиране на кода]
Съвременните графични устройства са специализирани в управлението на компютърна графика и тяхната силно паралелна структура на изчисления ги прави много по-ефективни при боравенето с редица алгоритми, за разлика от централния процесор. В домашния компютър видеокартата може да е отделен компонент или вградена в дънната платка. Над 90% от новите стационарни и преносими компютри имат вградени видеокарти, които обикновено са далеч по-маломощни от тези, които са във вид на отделен компонент.
Изчислителни функции[редактиране | редактиране на кода]
Съвременните GPU ползват повечето си транзистори за изпълняването на изчисления, свързани с 3D компютърна графика. В началото са се ползвали за ускоряване на задачи, свързани с интензивна употреба на паметта като например налагането на картинка върху многоъгълник (полигон) (на английски: texture mapping) и възпроизвеждането на самите полигони; по-късно се добавят и устройства за ускоряване на геометрични изчисления като ротация и транслация на върхове (на обекти) в различни координатни системи. Понеже повечето от изчисленията, извършвани от модерната видеокарта, включват работа с матрици и вектори, все по-често инженери и учени изучават употребата на видеокартите за неграфични изчисления.
История[редактиране | редактиране на кода]
Графични ускорители[редактиране | редактиране на кода]
- GPU, т.е. устройството, което обработва графиката (картинните изображения), е свързан с графичната карта микропроцесор, който е предназначен за изчисляването на операции (математически действия) с плаваща запетая.
- Графичният ускорител съдържа специално изработени за тази цел микрочипове, служещи за изпълнение на определени математически операции за възпроизвеждане на 3D-графика. Поради това ефективността на ускорителя зависи от ефективността на чиповете.
- GPU-устройството изпълнява редица графични примитивни операции по такъв начин, че изпълнението им става значително по-бързо, отколкото директното им разчертаване на екрана с текущия централен процесор (CPU). Най-често срещаните математически операции, използвани в ранната 2D компютърна графика, включват растерни действия (комбинират се няколко bitmap шаблона), и операции за чертане на квадрати, триъгълници, кръгове, и дъги. Съвременните графични устройства поддържат 3D компютърна графика и обикновено включват функции за цифрово видео.
70-те години на XX-век[редактиране | редактиране на кода]
Чиповете ANTIC и CTIA осигуряваха хардуерен контрол върху смесена графика и текстови режими, позиционирането и изобразяването на т.нар. sprite-ове (двуизмерни, предварително възпроизведени картинки), и други ефекти за 8-битовите компютри на Атари. ANTIC чиповете бяха процесори със специална цел, и се ползваха за организиране на текстови и графични данни за видео-изхода. Проектантът на ANTIC чипа, Джей Майнър, впоследствие разработи графичния чип за Commodore Amiga.
80-те години на XX-век[редактиране | редактиране на кода]
Професионалният графичен контролер на IBM (IBM Professional Graphics Controller) е един от първите 2D/3D графични ускорители за IBM PC. Пуснат на пазара през 1984, 10 години преди хардуерното 3D ускорение да стане стандарт, неговите висока цена (тогавашни $4500), бавен процесор (модел 8088 – 2 работещ на 8 MHz), и липса на съвместимост с тогавашните търговски планове направиха невъзможен успеха на този контролер на масовия пазар.
Commodore Amiga е първият компютър на широкия пазар, който се отличаваше с това, което днес се приема за цялостен графичен ускорител, отнемайки на практика целия изчислителен товар от централния процесор за възпроизвеждането на всички видео-функции, включително чертане на линия, запълване на площ, графичен ко-процесор, и др. Преди това задачата по чертането върху дисплея падаше изцяло върху централния процесор.
90-те години на XX-век[редактиране | редактиране на кода]
През 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 г. до днес[редактиране | редактиране на кода]
С появата на OpenGL API и подобната функционалност на DirectX, се появиха възможности за имитиране на осветеност, сенки, полупрозрачност, огледални ефекти, ефект на награпяване и отблясъци върху плосък полигон и други.
С нарастването на изчислителната мощ на графичните карти, нарасна и тяхната електрическа консумация. Високо-производителните видеокарти често потребяват повече енергия, отколкото текущите централни процесори.
В днешно време, паралелно-изчисляващите графични устройства (изчисляват различни операции едновременно) започнаха да отнемат от изчислителната работа на централния процесор, и вече се срещат т.нар. GPGPU (General Purpose GPU), които вършат работа и като централни процесори. Подобна технология намери широко приложение -- изследване за нефт, научни обработки на изображения, линейна алгебра, 3D реконструкции и дори за определяне на цените на борсата.
Компании, произвеждащи графични устройства[редактиране | редактиране на кода]
Много компании произвеждаха GPU устройства под редица търговски названия. През 2008, Intel, NVIDIA, и AMD/ATI бяха търговските лидери, с пазарен дял съответно 49,4%, 27,8%, и 20,6%. И все пак, в тези числа се включват изключително евтините, ниско-производителни вградени графични решения. Ако не ги броим, NVIDIA и AMD контролират почти 100% от пазара. Компаниите VIA Technologies/S3 Graphics и Matrox също произвеждат видеокарти.
Форми на устройството[редактиране | редактиране на кода]
Самостоятелни графични карти[редактиране | редактиране на кода]
Мощните видеокарти обикновено комуникират с дънната платка посредством разширителен слот, например чрез PCI Express (PCIe) или Accelerated Graphics Port (AGP), и могат да се подменят сравнително лесно, с уговорката, че дънната платка поддържа новата карта. Няколко видеокарти все още ползват PCI (Peripheral Component Interconnect) слотове, но нивото им на пренос на данни (bandwidth) е толкова ограничено, че обикновено се ползват само ако не е наличен друг слот. Самостоятелните видеокарти за лаптопи обикновено се свързват с дънната платка посредством нестандартен, и често – патентован – слот, поради тясното пространство в тях. Подобни слотове, все пак се определят като PCIe или AGP, в зависимост от логическия интерфейс.
Технологии като SLI от NVIDIA и CrossFire от ATI позволяват да се ползват няколко видеокарти за изчертаването на единствено изображение, което увеличава наличната графична мощ.
Вградени графични решения[редактиране | редактиране на кода]
Интегрираните графични решения представляват графични процесори, които ползват част от наличната системна 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 в зависимост от модела.
Хибридни решения[редактиране | редактиране на кода]
Този нов клас графични устройства се съревновават с вградените карти на пазара за евтини, стационарни компютри, и лаптопи.
Видеокарта с отворен код[редактиране | редактиране на кода]
Видеокартата с отворен код е хардуерен проект, който дава възможност същата тази видеокарта да бъде препрограмирана според нуждите на потребителя.
Външни препратки[редактиране | редактиране на кода]
- Оттук може да разберете нещо повече за отделните видео карти Архив на оригинала от 2008-04-10 в Wayback Machine.
- Оттук може да разберете повече за видеокартата с отворен код ((en))
- Видеокартата с три процесора
- Бърза видеокарта от AMD
- NVIDIA – What is a GPU?
- The GPU Gems book series
- - a Graphics Hardware History
- Toms Hardware GPU beginners' Guide
- General-Purpose Computation Using Graphics Hardware
- How GPUs work Архив на оригинала от 2009-04-16 в Wayback Machine.
- GPU Caps Viewer – Video card information utility
- OpenGPU-GPU Architecture(In Chinese)
|