Автор работы: Пользователь скрыл имя, 26 Октября 2014 в 23:25, реферат
Видеока́рта — электронное устройство, преобразующее графический образ, хранящийся, как содержимое памяти компьютера (или самого адаптера), в форму, пригодную для дальнейшего вывода на экран монитора. Первые мониторы, построенные на электронно-лучевых трубках, работали по телевизионному принципу сканирования экрана электронным лучом, и для отображения требовался видеосигнал, генерируемый видеокартой.
Высокая вычислительная мощность GPU объясняется особенностями архитектуры. Если современные CPU содержат несколько ядер (на большинстве современных систем от 2 до 6, по состоянию на 2012 г.), графический процессор изначально создавался как многоядерная структура, в которой количество ядер может достигать сотен. Разница в архитектуре обусловливает и разницу в принципах работы. Если архитектура CPU предполагает последовательную обработку информации, то GPU исторически предназначался для обработки компьютерной графики, поэтому рассчитан на массивно параллельные вычисления.
Каждая из этих двух архитектур имеет свои достоинства. CPU лучше работает с последовательными задачами. При большом объеме обрабатываемой информации очевидное преимущество имеет GPU. Условие только одно — в задаче должен наблюдаться параллелизм.
Методы технической реализации стереоэффекта включают использование в комбинации со специальным дисплеем поляризованных или затворных очков, синхронизированных с дисплеем, анаглифических фильтров в комбинации со специально адаптированным изображением.
Существует также относительно новый класс стереодисплеев, не требующих использования дополнительных устройств, но имеющих массу ограничений. В частности, это конечное и очень небольшое количество ракурсов, в которых стереоизображение сохраняет чёткость. Стереодисплеи, выполненные на базе технологии New Sight x3d, обеспечивают восемь ракурсов, Philips WOWvx — девять ракурсов. В октябре 2008 года компания Philips представила прототип стереодисплея с разрешением 3840×2160 точек и с рекордными 46 ракурсами «безопасного» просмотра. Вскоре после этого, однако, Philips объявил о приостановке разработок и исследований в области стереодисплеев.
Ещё одна проблема стереодисплеев — это малая величина зоны «комфортного просмотра» (диапазон расстояний от зрителя до дисплея, в котором изображение сохраняет четкость). В среднем она ограничена диапазоном от 3 до 10 метров.
Стереодисплеи сами по себе не имеют прямого отношения к трёхмерной графике. Путаница возникает вследствие использования в западных СМИ термина 3D в отношении как графики, так и устройств, эксплуатирующих стереоэффект, и некорректности перевода при публикации в российских изданиях заимствованных материалов.
Существует также технология WOWvx, с помощью которой можно получить эффект 3D без использования специальных очков. Используется технология лентикулярных линз, которая дает возможность большому количеству зрителей широкую свободу движения без потери восприятия эффекта 3D. Слой прозрачных линз закрепляется перед жидкокристаллическим дисплеем. Этот слой направляет разные картинки каждому глазу. Мозг, обрабатывая комбинацию этих картинок создает эффект объемного изображения. Прозрачность линзового слоя обеспечивает полную яркость, четкий контраст и качественную цветопередачу картинки.
Существует технология отображения трехмерного видео на светодиодных экранах.
Одним из первых графических адаптеров для IBM PC стал MDA (Monochrome Display Adapter) в 1981 году. Он работал только в текстовом режиме с разрешением 80×25 символов (физически 720×350 точек) и поддерживал пять атрибутов текста: обычный, яркий, инверсный, подчёркнутый и мигающий. Никакой цветовой или графической информации он передавать не мог, и то, какого цвета будут буквы, определялось моделью использовавшегося монитора. Обычно они были чёрно-белыми, янтарными или изумрудными. Фирма Hercules в 1982 году выпустила дальнейшее развитие адаптера MDA7, видеоадаптер HGC8 (Hercules Graphics Controller — графический адаптер Геркулес), который имел графическое разрешение 720×348 точек и поддерживал две графические страницы. Но он всё ещё не позволял работать с цветом.
Первой цветной видеокартой стала CGA (Color Graphics Adapter), выпущенная IBM и ставшая основой для последующих стандартов видеокарт. Она могла работать либо в текстовом режиме с разрешениями 40×25 знакомест и 80×25 знакомест (матрица символа — 8×8), либо в графическом с разрешениями 320×200 точек или 640×200 точек. В текстовых режимах доступно 256 атрибутов символа — 16 цветов символа и 16 цветов фона (либо 8 цветов фона и атрибут мигания), в графическом режиме 320×200 было доступно четыре палитры по четыре цвета каждая, режим высокого разрешения 640×200 был монохромным. В развитие этой карты появился EGA9 (Enhanced Graphics Adapter) — улучшенный графический адаптер, с расширенной до 64 цветов палитрой, и промежуточным буфером. Было улучшено разрешение до 640×350, в результате добавился текстовый режим 80×43 при матрице символа 8×8. Для режима 80×25 использовалась большая матрица — 8×14, одновременно можно было использовать 16 цветов, цветовая палитра была расширена до 64 цветов. Графический режим также позволял использовать при разрешении 640×350 16 цветов из палитры в 64 цвета. Был совместим с CGA и MDA.
Стоит заметить, что интерфейсы с монитором всех этих типов видеоадаптеров были цифровые, MDA и HGC передавали только светится или не светится точка и дополнительный сигнал яркости для атрибута текста «яркий», аналогично CGA по трём каналам (красный, зелёный, синий) передавал основной видеосигнал, и мог дополнительно передавать сигнал яркости (всего получалось 16 цветов), EGA имел по две линии передачи на каждый из основных цветов, то есть каждый основной цвет мог отображаться с полной яркостью, 2/3 или 1/3 от полной яркости, что и давало в сумме максимум 64 цвета.
В ранних моделях компьютеров от IBM PS/2, появляется новый графический адаптер MCGA (Multicolor Graphics Adapter — многоцветный графический адаптер). Текстовое разрешение было поднято до 640x400, что позволило использовать режим 80x50 при матрице 8x8, а для режима 80x25 использовать матрицу 8x16. Количество цветов увеличено до 262144 (64 уровня яркости по каждому цвету), для совместимости с EGA в текстовых режимах была введена таблица цветов, через которую выполнялось преобразование 64-цветного пространства EGA в цветовое пространство MCGA. Появился режим 320x200x256, где каждый пиксел на экране кодировался соответствующим байтом в видеопамяти, никаких битовых плоскостей не было, соответственно с EGA осталась совместимость только по текстовым режимам, совместимость с CGA была полная. Из-за огромного количества яркостей основных цветов возникла необходимость использования уже аналогового цветового сигнала, частота строчной развертки составляла уже 31,5 кГц.
Потом IBM пошла ещё дальше и сделала VGA (Video Graphics Array — графический видео массив), это расширение MCGA, совместимое с EGA и введённое в средних моделях PS/2. Это фактический стандарт видеоадаптера с конца 80-х годов. Добавлены: текстовое разрешение 720x400 для эмуляции MDA и графический режим 640x480 с доступом через битовые плоскости. Режим 640x480 замечателен тем, что в нём используется квадратный пиксел, то есть соотношение числа пикселов по горизонтали и вертикали совпадает со стандартным соотношением сторон экрана — 4:3. Дальше появился IBM 8514/a с разрешениями 640x480x256 и 1024x768x256, и IBM XGA с текстовым режимом 132x25 (1056x400) и увеличенной глубиной цвета (640x480x65K).
С 1991 года появилось понятие SVGA (Super VGA — «сверх» VGA) — расширение VGA с добавлением более высоких режимов и дополнительного сервиса, например возможности поставить произвольную частоту кадров. Число одновременно отображаемых цветов увеличивается до 65 536 (High Color, 16 бит) и 16 777 216 (True Color, 24 бита), появляются дополнительные текстовые режимы. Из сервисных функций появляется поддержка VBE (VESA BIOS10 Extention — расширение BIOS стандарта VESA). SVGA воспринимается как фактический стандарт видеоадаптера где-то с середины 1992 года, после принятия ассоциацией VESA стандарта VBE версии 1.0. До того момента практически все видеоадаптеры SVGA11 были несовместимы между собой.
Графический пользовательский интерфейс, появившийся во многих операционных системах, стимулировал новый этап развития видеоадаптеров. Появляется понятие «графический ускоритель» (graphics accelerator). Это видеоадаптеры, которые производят выполнение некоторых графических функций на аппаратном уровне. К числу этих функций относятся: перемещение больших блоков изображения из одного участка экрана в другой (например, при перемещении окна), заливка участков изображения, рисование линий, дуг, шрифтов, поддержка аппаратного курсора и т. п. Прямым толчком к развитию столь специализированного устройства явилось то, что графический пользовательский интерфейс, несомненно, удобен, но его использование требует от центрального процессора немалых вычислительных ресурсов, и современный графический ускоритель как раз и призван снять с него львиную долю вычислений по окончательному выводу изображения на экран.
Пример домашнего компьютера не-IBM — ZX Spectrum, имеет свою историю развития видеорежимов.
Процитируем Джека Донгарра, директора Инновационной вычислительной лаборатории Университета штата Теннеси: "GPU уже достигли той точки развития, когда многие приложения реального мира могут с легкостью выполняться на них, причем быстрее, чем на многоядерных системах.Будущие вычислительные архитектуры станут гибридными системами с графическими процессорами, состоящими из параллельных ядер и работающими в связке с многоядерными CPU". Но как GPU достигли этой самой точки? Для ответа на данный вопрос рассмотрим историю развития устройств в области обработки графики.
В конце 1980-х возникновение графических операционных систем семейства Windows дает толчок для появления процессоров нового типа. В начале 1990-х годов обрели популярность ускорители двумерной графики. Эти ускорители были спроектированы для операций с растровыми изображениями, тем самым, делая работу с графической операционной системой более комфортной. В те былые времена, когда видеоадаптеры, специализировались в основном на ускорении вывода 2D-графики. В то время считалось, что обработка трехмерных данных просто не целесообразна. Отметим, что данной тенденции не придерживалась компания Silicon Graphics, которая старалась вывести трехмерную графику на различные рынки, в том числе приложения для военных, правительства, эффекты в кино, визуализация научных данных. Результатом её трудов стало открытие данной компанией программного интерфейса к своему оборудованию. В 1992 году компания выпустила библиотеку OpenGL.
Большой скачок в развитии графических ускорителей произошел в середине 90-х годов в ответ на возрастающее потребление вычислительных ресурсов компьютерными играми. Данные видеокарты являлись специализированными процессорами для ускорения операций с трехмерной графикой и предназначались для построения двумерных изображений трехмерных сцен в режиме реального времени. Для ускорения операций использовались аппаратная реализация алгоритмов, в том числе отсечения невидимых поверхностей при помощи буфера глубины, и аппаратное распараллеливание. Ускорители принимали на вход описание трехмерной сцены в виде массивов вершин и треугольников, а также параметры наблюдателя, и строили по ним на экране двумерное изображение сцены для этого наблюдателя. Поддерживалось отсечение невидимых граней, задание цвета вершин и интерполяционная закраска, а также текстуры объектов и вычисление освещенности без учета теней. Тени можно было добавить при помощи алгоритмов расчета теней на ускоритель, таких как теневые карты или теневые объемы. Из-за увеличения спроса на трехмерную графику и взаимной конкуренции такие компании NVIDIA, ATI Technologies, 3dfx Interactive, начали выпускать доступные по цене графические ускорители. Данный факт закрепил за трехмерной графикой ведущее место на рынке перспективных технологий.
Сам термин GPU впервые был использован в августе 1999 года в отношении главного чипа видеокарты модели nVidia GeForce 256, основная функция которого заключалась в ускорении вывода трехмерной графики. Впервые вычисление геометрических преобразований и освещения сцены стало возможно проводить на самом графическом процессоре. Дальнейший прорыв принадлежит также компании NVIDIA, которая выпустила серия GeForce 3 в 2001 году. В данной серии появилась микросхема, в которой был реализован всем известный ныне, а тогда еще новый стандарт Microsoft DirectX 8.0. Данный стандарт добавил возможности программирования к GPU. Изначально фиксированный алгоритм вычисления освещенности и преобразования координат вершин был заменен на алгоритм, задаваемый пользователем. Затем появилась возможность писать программы для вычисления цвета пиксела на экране. По этой причине программы для GPU стали называть шейдерами12, от английского shade — закрашивать. Первые шейдеры писались на ассемблере GPU, их длина не превосходила20 команд, не было поддержки команд переходов, а вычисления производились в формате с фиксированной точкой. По мере роста популярности использования шейдеров появлялись высокоуровневые шейдерные языки, например, Cg от NVidia и HLSL от Microsoft, увеличивалась максимальная длина шейдера. В 2003 году на GPU впервые появилась поддержка вычислений с 32-разрядной точностью. В качестве основного интерфейса программирования выделился Direct3D,первым обеспечивший поддержку шейдеров. Обозначились основные производители дискретных графических процессоров: компании ATI и NVidia. Появились первые приложения, использующие GPUдля высокопроизводительных вычислений, начало складываться направление GPGPU. GPGPU (General-Purpose computing on Graphic Processing Units) — использование графических процессоров для решения произвольных вычислительных задач. Для программирования GPU предложен подход потокового программирования13.
Дальнейшее развитие GPU характеризуются расширенными возможностями программирования. Появляются операции ветвления и циклов, что позволяет создавать более сложные шейдеры. Поддержка32-битных вычислений с плавающей точкой становится повсеместной, что способствует активному росту направления GPGPU. OpenGL в версии 2.0добавляет поддержку высокоуровневого шейдерного языка GLSL.Производительность GPU на реальных задачах достигает сотен гигафлопс. В более поздних представителях третьего поколения появляется поддержка целочисленных операций, а также операций с двойной точностью. Появляются специализированные средства,позволяющее взаимодействовать с GPU напрямую, минуя уровень интерфейса программирования трехмерной графики (CUDA NVIDIA, CTM ATI).
Информация о работе Видеокарта, GPU, построение 3D - изображения