- •«Компьютерная графика»
- •1. Графический процессор. Структура графического процессора g80
- •2. Цифровой сигнальный процессор
- •3. Особенности архитектуры
- •4. Устройство цсп
- •5. Классификация цсп по архитектуре
- •6. Кластеры процессоров цифровой обработки
- •7. Аппаратно-программный комплекс vliw
- •9. Компоненты графической системы Windows
- •10. Компоненты режима ядра
- •11. Архитектура графической системы Windows (gdi)
- •12. Архитектура directx
- •13. Архитектура directdraw
- •14. Архитектура системы печати
- •15. Ве́кторная гра́фика
- •16. Растровое изображение
- •17. Цветовая модель rgb
- •18. Цветовая модель cmyk
- •19. Цветовая модель hsv и hsl
- •20. Цифровая обработка сигналов
- •21. Преобразования Фурье
- •22. Основы opengl
- •23. Графический конвейер OpenGl
- •24. Организация OpenGl. Сопутствующие api
- •25. Архитектура Windows Presentation Foundation
- •26. Организация шейдеров
- •27. Игровой движок
- •28. Графический движок
- •29. Воксел. Доксел
- •30. Спрайт
- •32. Графический ускоритель Intel gma
- •33. Графическое ядро Core i5
- •34. Целочисленный алгоритм Брезенхема
- •35. Алгоритм Брезенхема для генерации окружности
- •36. Буферы кадра
- •37. Точки и линии. Преобразование точек и линий
- •38. Полярная и декартовая система координат
- •39. Трехмерные преобразования
- •40. Трехмерный сдвиг. Трехмерные вращения.
- •41. Закраска Гуро
- •42. Закраска Фонга
7. Аппаратно-программный комплекс vliw
Архитектура VLIW представляет собой одну из последних реализаций концепции внутреннего параллелизма в микропроцессорах. Их быстродействие можно повысить двумя способами: увеличив либо тактовую частоту, либо количество операций, выполняемых за один такт. В первом случае требуется изобретение "быстрых" технологий (например, использование арсенида галлия или кремния на сапфире) и применение таких архитектурных решений, как глубинная конвейеризация (конвейеризация в пределах одного такта, когда в каждый момент времени задействован весь кристалл, а не отдельные его части). Для увеличения количества выполняемых за один цикл операций необходимо на одной микросхеме разместить множество функциональных модулей обработки и обеспечить надежное параллельное исполнение машинных инструкций, что дает возможность включить в работу все модули одновременно. Надежность в таком контексте означает, что результаты вычислений будут правильными.
Планирование порядка вычислений v довольно трудная задача, которую приходится решать при проектировании современного процессора. В суперскалярных процессорах (процессор с двумя и более конвейерами, что позволяет выполнять более одной команды за один такт в идеальных условиях) для распознавания зависимостей между машинными инструкциями применяется специальное довольно сложное аппаратное решение (в процессоре Pentium Pro, например, для этого используется буфер переупорядочивания инструкций, ROB v ReOrder Buffer). Однако размеры такого аппаратного планировщика при увеличении количества функциональных модулей обработки возрастают в геометрической прогрессии, что, в конце концов, может "съесть" весь кристалл процессора. Поэтому суперскалярные проекты "завязли" на отметке пять-шесть управляемых за цикл инструкций. При другом подходе можно передать все планирование программному обеспечению, как это делается в конструкциях с VLIW. "Умный" компилятор должен выискать в программе все инструкции, которые являются совершенно независимыми, собрать их вместе в очень длинные строки (длинные инструкции) и затем отправить на одновременное исполнение функциональными модулями, количество которых строго равно количеству операций в такой длинной инструкции. Очень длинные инструкции обычно имеют размер от 256bit до 1024bit. Размер полей, кодирующих операции для каждого функционального модуля, в такой метаинструкции намного меньше.
8. Transport-Triggered Architecture
9. Компоненты графической системы Windows
Интерфейс прикладных программ Windows - а проще говоря, Windows API - представляет собой громадный набор взаимосвязанных функций, предоставляющих различные услуги прикладным программам. С точки зрения программиста, Win32 API делится на несколько групп в соответствии с типом предоставляемых услуг.
Базовые функции Windows, обычно называемые сервисом ядра, - отладка, обработка ошибок, библиотеки динамической компоновки (DLL), процессы, потоки, файлы, ввод-вывод, межпроцессные взаимодействия, безопасность и т. д.
Функции пользовательского интерфейса, обычно называемые пользовательским сервисом, - управление окнами, очереди сообщений, диалоговые окна, элементы управления, стандартные элементы управления, стандартные диалоговые окна, ресурсы, пользовательский ввод, командный интерпретатор и т. д.
Графические и мультимедийные функции — управления цветом, DirectX, GDI, Video for Windows, Still Image, OpenGL, Windows Media и т. д.
Функции COM, OLE и ActiveX — COM (Component Object Model), автоматизация, Microsoft Transaction Server, OLE (Object Linking and Embedding) и т. д.
Функции баз данных и обмена сообщениями — DAO (Data Access Objects), SQL Server, MAPI (Messaging API) и т. д.
Сетевые и распределенные функции — Active Directory, очередь сообщений, сетевые средства, RPC, маршрутизация и удаленный доступ, сервер SNA (Systems Network Architecture), TAPI (Telephony API) и т. д.
Функции Интернета, интра- и экстрасетей — Internet Explorer, Microsoft Agent, NteShow, сценарии, Site Server и т. д.
Функции настройки и управления системой — конфигурация, настроила, управление системой и т. д.
Каждая группа функций поддерживается определенным набором компонентов операционной системы. К их числу относятся DLL платформенной подсистемы Win32, драйверы пользовательского режима, системные функции и драйверы режима ядра.
Группа графических и мультимедийных функций Win32 API очень велика. Графический прикладной интерфейс Win32 реализован на нескольких платформах — это Windows 95/98, WinCE, Windows NT и новая система Windows 2000. Раньше системы семейства NT отличались лучшей поддержкой GDI, поскольку в них использовались полноценные 32-разрядные реализации, а системы семейства Windows 95 обеспечивали лучшую поддержку игрового программирования. Однако новая операционная система Windows 2000 взяла все лучшее из обоих семейств. В Windows 2000 были внесены существенные изменения по поддержке аппаратного ускорения DirectX/OpenGL, появился новый интерфейс STI (Still Image), драйверы принтеров пользовательского режима и т. д.