- •1. Устройство процессора
- •2. Архитектура процессоров Pentium 4
- •2. Архитектура процессоров Pentium 4
- •3. Архитектура amd k7(Athlon)
- •4. Архитектура многоядерных процессоров
- •5. Процессоры ibm power
- •6. Семейство процессоров via
- •7. Семейство процессоров Transmeta
- •8. Форм-факторы системных плат
- •9. Схемотехника системной платы
- •10. Системная память
- •10.1 Динамическая и статическая память
- •10.2 Статическая память
- •10.3 Динамическая асинхронная память dram
- •10.4 Динамическая синхронная память sdram
- •10.5 Память ddr sdram
- •10.6 Память ddr2 sdram
- •10.7 Память ddr3 sdram
- •10.8 Память fb-dimm
- •10.9 Память dr dram
- •10.10 Микросхемы памяти
- •10.11 Модули памяти
- •10.12 Маркировка
- •11. Корпус
- •1. Внутренние интерфейсы
- •1.1 Системная шина gtl
- •1.2 Шина HyperTransport
- •1.3 Шина чипсета
- •1.4 Шина isa/eisa
- •1.5 Шина pci
- •1.6 Шина agp
- •1.7 Шина pci Express
- •1.8 Шина ata (ide)
- •1.9 Шина Serial ata
- •1.10 Шина scsi
- •1.11 Интерфейс acpi
- •2. Внешние интерфейсы
- •2.1 Шина сом
- •2.2 Интерфейс IrDa
- •2.3 Шина lpt
- •2.4 Шина usb
- •2.5 Шина FireWire
- •2.6 Порт Bluetooth
- •1. Графические ускорители
- •2 Устройство видеоадаптера
- •3. Технология sli
- •4. Программные интерфейсы
- •5.1 Вершинные шейдеры
- •5.2 Пиксельные шейдеры
- •6. Графический процессор
- •6.1 Первое поколение графических процессоров (1995-1997)
- •6.2 Второе поколение (1997-1999)
- •6.3 Поколение DirectX 7 (1999-2002)
- •6.4 Поколение DirectX 8
- •6.5 Поколение DirectX 9
- •6.6 Поколение DirectX 10
- •7. Телевизионные тюнеры
- •7.1 Устройство тв-тюнера
- •8. Устройство видеозахвата
- •9. Мониторы
- •9.1 Мониторы на элт(crt)
- •9.2 Параметры мониторов элт
- •9.3 Жк дисплеи
- •9.4 Технологии производства активных матриц
- •9.5 Параметры жк-дисплеев
- •11. Мультимедийные проекторы
- •1. Аудиосистема
- •2. Цифровая обработка звука
- •3. Пространственное звучание
- •4. Устройство звуковой карты.
- •5. Аппаратные средства обработки звука
- •5.1 Кодеки ас'97
- •5.2 Кодеки High Definition Audio
- •5.2 Кодеки High Definition Audio
- •5.3 Кодеки Realtek
- •5.4 Кодеки via
- •5.5 Кодеки nVidia
- •5.6 Кодеки c-Media
- •5.7 Кодеки Analog Devices
- •6. Интерфейс midi
3. Технология sli
Видеосистема ПК
Аббревиатура SLI расшифровывается как Scalable Link Interface (масштабируемый соединительный интерфейс). Технология nVidia SLI требует наличия двух одинаковых видеокарт с поддержкой SLI, системной платы, также поддерживающей SLI, переходника MIO, связывающего видеокарты, драйвера ForceWare соответствующей версии. Для запуска устаревших игр предусмотрен режим совместимости, когда задействуется лишь одна графическая карта. В режиме Split Frame Rendering (SFR) происходит разделение кадра на две части, за рендеринг каждой из которых отвечает отдельный видеоадаптер. При этом кадр разделяется динамически в зависимости от сложности сцены. Такой режим позволяет добиться максимальной производительности, так как нагрузка на каждую карту распределяется равномерно. Метод разделения называется Symmetric Multi-Rendering with Dynamic Load Balancing (SMR), то есть симметричный мультирендеринг с динамическим распределением нагрузки. В режиме Alternate Frame Rendering (AFR) происходит поочередный рендеринг кадров каждым видеоадаптером.
Учитывая высокую пропускную способность интерфейса PCI Express, можно было ограничиться передачей данных по этой шине, однако с целью минимизировать возможные задержки видеокарты SLI оснащаются интерфейсом MIO. Когда карты установлены в системную плату, оснащенную двумя слотами PCI Express xl6, их требуется соединить специальным переходником - небольшой текстолитовой платой, оснащенной двумя разъемами соответствующего типа. Для включения режима SLI и его корректной работы необходимо два условия: оба слота PCI Express xl6 должны поддерживать конфигурацию «16 линий + 8 линий», либо конфигурацию «8 линий + 8 линий»; чипсет должен поддерживаться драйверами ForceWare. В случае успешного запуска конфигурация SLI демонстрирует повышение производительности в некоторых играх до 80%.
4. Программные интерфейсы
Видеосистема ПК
Поскольку сердцем современного видеоадаптера является графический процессор, имеющий собственную систему команд, эффективное использование возможностей ЗD -ускорителя подразумевает понимание такой системы команд прикладными программами. Однако при широкой номенклатуре графических процессоров нельзя написать программу, которая бы одинаково эффективно работала с любой системой команд любого графического процессора. Поэтому и разработчики программ, и создатели графических процессоров нуждаются в универсальной «прокладке», обеспечивающей преобразование запросов программы в последовательность команд ЗD -ускорителя и программную реализацию отсутствующих в графическом процессоре аппаратных блоков. Роль такой «прокладки» играют специализированные прикладные программные библиотеки, или интерфейсы прикладного программирования (API — Application Program Interface). Использование API позволяет разработчикам программ делать их универсальными, абстрагируясь от низкоуровневых команд конкретного графического процессора. В настоящее время подавляющее большинство прикладных программ, работающих с трехмерными объектами, опираются на одну из двух типовых библиотек — OpenGL или DirectX.
4.1 OpenGL
Видеосистема ПК
В 1982 г. фирма Silicon Graphics в рабочей станции Silicon IRIS реализовала конвейер рендеринга, опирающийся на систему команд графической библиотеки IRIS GL. На основе библиотеки IRIS GL в 1992 г. был разработан и утвержден графический стандарт OpenGL (Open Graphics Library — открытая графическая библиотека). Программы, написанные с помощью OpenGL, можно переносить практически на любые платформы, будь то персональный компьютер или графическая станция, получая при этом одинаковый результат. Базовый набор OpenGL включает в себя около 150 различных команд, с помощью которых реализуют основные функции: определение объектов, указание их местоположения в трехмерном пространстве, установку других параметров (поворот, масштаб), изменение свойств объектов (цвет, текстура, материал), положение наблюдателя. Дополнительные библиотеки OpenGL (расширения) реализуют функции, отсутствующие в стандартной библиотеке. Например, библиотека GLAUX разработана фирмой Microsoft для применения OpenGL в операционной среде Windows. Разработчики видеоадаптеров создают собственные расширения OpenGL, учитывающие возможности конкретного графического процессора.
4.2 DirectX
Видеосистема ПК
Пока в природе не существовало API DirectX, большинство графических программ для персональных компьютеров работали под управлением операционной системы MS-DOS или напрямую с видеокартой. Разработчики программного обеспечения были вынуждены создавать различные драйверы для каждой разновидности видеоадаптеров, джойстиков, звуковых карт. В 1995 г. компания Microsoft представила первую версию библиотеки DirectX (тогда она называлась Game SDK). DirectX — это корпоративный стандарт, все права на который принадлежат компании Microsoft. И только Microsoft определяет, что включать в очередную версию API, а какие предложения игнорировать. Такой диктаторский подход позволил быстро привести к «единому знаменателю» игры и графические процессоры, избавил пользователей от большинства проблем с совместимостью программ и железа. С недавних пор и программы, и видеоадаптеры принято даже разделять на поколения согласно поддерживаемым версиям DirectX. API DirectX предназначен для: • программирования двухмерной графики (модуль DirectDraw); • создания трехмерной графики (модуль Direct3D); • работы со звуками и музыкой (модули DirectSound и DirectMusic); • поддержки устройств ввода (модуль Directlnput); • разработки сетевых игр (модуль DirectPlay). Таким образом, DirectX представляет собой набор из нескольких сравнительно независимых API, позволяющих разработчикам игр и других интерактивных приложений получать доступ к специфическим функциям аппаратного обеспечения, без необходимости написания аппаратно-зависимого программного кода. DirectX основан на наборе интерфейсов Component Object Model (компонентная модель объектов), а объекты СОМ могут описываться практически любыми языками программирования, например C/C++, Delphi и даже Basic. Популярность DirectX объясняется его способностью обеспечить все нужды разработчиков игр и железа: от создания трехмерной графики и пользовательского интерфейса ввода, до поддержки сетевых виртуальных миров.
5. 3D-конвейер
Видеосистема ПК
Современные графические процессоры для ПК работают с так называемой полигональной графикой, то есть любой объект представляется как набор плоских многоугольников, которые рано или поздно разбиваются на простейшие треугольники. Объект задается вершинами, определяющими ключевые точки, и полигонами, которые образованы линиями, соединяющими вершины. Цвет на полигоны накладывается по специальным алгоритмам закраски, как правило, с использованием заранее нарисованных плоских изображений (текстур). Задача графического процессора сводится к тому, чтобы нарисовать и закрасить как можно больше полигонов за единицу времени.
В профессиональных ЗD-ускорителях иногда используется другой способ построения трехмерных сцен — методом обратной трассировки лучей (Ray Tracing), который требует гораздо больших вычислительных ресурсов. Для отображения треугольников на плоскости используется метод так называемых однородных координат, опирающийся на матрицы преобразования и проектирования. Расчет положения любой точки трехмерной сцены на плоскости сводится к умножению вектора исходных координат на эти матрицы. Современный центральный процессор затрачивает на обработку одной точки около 10 тактов и за секунду просчитывает координаты десятка миллионов вершин. Таким образом, расчет геометрии сцены не составляет для современного центрального процессора особого труда.Проблемы начинаются при закраске полигонов и определении видимых поверхностей, то есть при сопоставлении глубины расположения полигонов относительно наблюдателя. Реалистичность изображения в трехмерной сцене во многом определяется качеством текстур — заранее нарисованных картинок, наложенных на полигоны. Для каждой вершины указываются ее координаты в плоскости изображения-текстуры. При расчете цвета конкретной точки полигона учитывается ее расположение относительно вершин треугольника и точке присваивается цвет, аналогичный цвету соответствующей точки текстуры. Для этого каждой точке экрана, попавшей в треугольник, нужно найти соответствие в текстурных координатах (это сравнительно затратный процесс) и провести так называемую выборку из текстуры —вычислить цвет текстуры в полученной точке. Последняя задача не слишком проста, поскольку часто расчетная точка попадает между пикселями изображения-текстуры. Поэтому расчеты получаются очень трудоемкими, особенно с учетом наложения нескольких текстур. Вдобавок текстуры в современных играх часто представлены изображениями высокого разрешения. В итоге сверхмощный центральный процессор даже при низком экранном разрешении способен обработать не более десятка кадров в секунду. Поэтому ускорители трехмерной графики в первую очередь были созданы для аппаратного ускорения закраски. Объекты в сцене, даже с наложенными текстурами, выглядят весьма уныло, если не учитывается их освещенность. Первые ускорители работать с источниками освещения не умели. Игровой движок заблаговременно рассчитывал освещенность элементов сцены и создавал соответствующие текстуры освещения (light maps). Уже просчитанные блики света отрисовывались как текстуры. В статических сценах такой «свет» выглядел неплохо, но в динамических сценах подвижный объект смотрелся одинаково на свету и в тени, что снижало реалистичность. Для улучшения реалистичности стали рассчитывать освещенность объекта методом Гуро: определив освещенность вершин полигонов, ее интерполировали на внутренние точки граней. Такой подход лег в основу графических процессоров с фиксированным конвейером (поколение DirectX 7), получивших аппаратный блок геометрических вычислений — Hardware Transform & Lightning (T&L). Однако требования к реалистичности сцены непрерывно росли, а метод интерполяции по всему полигону был не в состоянии правдоподобно передать фактуру поверхности. Кроме того, большинство трехмерных объектов строились из малого числа полигонов с целью экономии вычислительных ресурсов и потому страдали «кубизмом» в силу прямолинейности образующих полигоны линий и плоских граней. Эту проблему решили, применив метод расчета освещенности с учетом вектора нормали к поверхности, то есть вектора, перпендикулярного к поверхности в данной точке. Задав еще одну текстуру специального вида (определяющую нормали) и модифицировав алгоритм расчета цвета точки, сумели радикально улучшить внешний вид моделей. Подобный метод называют Bump Mapping. Для полноценной реализации он требует программирования пиксельных конвейеров — перехода от интерполяции и выборки из текстур к обработке формул расчета цвета каждого пикселя объекта (а не только вершин). Так впервые появились пиксельные шейдеры — комплекты команд, позволяющие программировать пиксельные конвейеры графического процессора. Видеоадаптеры, поддерживающие обработку шейдеров, появились в поколении DirectX 8. Как правило, программы -шейдеры пишут на специальной разновидности ассемблера, привязанного к конкретному графическому процессору. В последнее время появились языки программирования высокого уровня для создания шейдеров, например Microsoft High-Level Shader Language (HLSL)
