Linux для начинающих: графическая подсистема. Графическая подсистема

UNIX не требователен к интерфейсу, когда речь идет об управлении системой. Типичный способ администрирования UNIX -сервера – удаленная работа по сети, причем (спасибо Internet ) удалиться от компьютера можно сколь угодно далеко, лишь бы связь была достаточно надежной для терминальной работы. Это означает, что все прочие возможности взаимодействия машины с человеком понимаются системой как ресурс , который следует распределять между пользовательскими задачами так же, как и оперативную память , дисковое пространство или, скажем, ресурсы подсистемы печати .

Напомним три задачи, которые решает операционная среда относительно ресурсов: унификация , разделение и учет доступа. С унификацией все более или менее понятно: на свете существует множество графических устройств, управление которыми на низком уровне – задача совсем не для пользователя, тем более что каждый вид устройства управляется по -своему. Низкоуровневые команды система должна взять на себя, а пользователю предоставить графические примитивы (вроде функции рисования линии), которые будут работать всегда одинаково.

Выходит, что пользователю этого ресурса недостаточно представлять графический адаптер как большую страницу видеопамяти, частично отображаемую на устройстве вывода – мониторе: ведь пользователю диска мало представлять его в виде массива секторов! Разница в том, что этого было бы недостаточно и самой системе, так что в UNIX введено понятие файловой системы , объекты которой значительно сложнее, чем "сектор" или " диск ". А что касается графики – у UNIX нет ни предпочтений, ни особых видов на эти способности машины. Значит, со стороны системы разумно организовать именно доступ к устройству , а требуемую объектную модель пусть реализует пользовательская задача.

Такая задача будет, конечно, отличаться от пользовательских утилит и программных продуктов. По своим правам она скорее будет сродни демонам. Она получит единоличный доступ к устройству, а по отношению к пользователю сама окажется операционной средой, организуя на свой лад унификацию, разделение и учет доступа к графическим ресурсам в объектной модели. Поэтому весь комплекс программ для работы с графическими устройствами принято называть графической подсистемой .

Неизбежно удвоение функций: система занимается аутентификацией и авторизацией – и графическая подсистема вынуждена делать то же самое, раз уж ей вменяется в обязанность "разделять". Более того, в отличие от той же файловой системы, само понятие разделения ресурса графического ввода или вывода представляется, мягко говоря, неочевидным. Как разделить между пользователями мышь ? экран монитора? Видимо, придется признать, что с этой стороны графической подсистемы находится один человек, а вот каким субъектам принадлежат программы , которые ею пользуются, графической подсистеме неизвестно. Об учете графических ресурсов говорить вообще странно, однако, как мы увидим в дальнейшем, некоторое рациональное зерно в этом есть, и подход UNIX позволяет его использовать.

Несмотря на то что в консоли работать можно (а иногда и нужно), большинство пользователей предпочитает графический интерфейс. Самый прагматичный подход, как водится, лежит где-то посередине. Для решения одних задач лучше подходит текстовый режим, других — многооконный. А предназначение системы — дать пользователю возможность выбирать между первым и вторым.

XWindow (именно Window, а не Windows: обратите на это внимание) — графическая среда для UNIX-систем. В ее основу легла клиент-серверная модель, только реализована она в пределах одной рабочей станции. Для передачи данных используется специальный протокол сетевой связи (X Network Protocol).

Первоначальный вариант XWindow был создан еще в 1987 г. Таким образом, считать, что Linux концепцией своего графического интерфейса только эксплуатирует идею, поданную Microsoft, неправильно. Другое дело, что корни Linux лежат очень глубоко, несмотря на то что эта ОС относительно молода. Традиции UNIX не позволяли навязывать пользователю какую-то одну концепцию, вследствие чего оконный режим востребован ровно настолько, насколько это соответствует реальным потребностям потребителя. Развитие свободного ПО идет по всем направлениям, поэтому успех какого-то одного не так бросается в глаза. Впрочем, именно многогранность и следует считать основным достоинством OpenSource.

Сама по себе система XWindow не является тем, что принято называть графическим интерфейсом пользователя. “Иксы” (так именуют XWindow в обиходе) — лишь его составная часть, которая не формирует изображение, а только предоставляет другим программам средства для работы с видеоподсистемой. X-сервер, запущенный “в чистом виде”, продемонстрирует пользователю серый экран, и на нем не будет ничего, кроме курсора мыши.

Кстати, этого более чем достаточно для работы одного приложения, нуждающегося в графическом интерфейсе. Например, довольно популярный в недавнем прошлом LiveCD MoviX вообще обходился без оконного менеджера (программы, отвечающей за отображение окон и предоставляющей пользователю механизм работы с ними), поскольку предназначался для запуска мультимедийного проигрывателя Mplayer и ни для чего более.

Аналогичный механизм можно использовать для организации рабочих мест сотрудников, которым не требуется разнообразное ПО. А заодно и убить второго зайца, значительно упростив работу подразделения техподдержки, ибо вероятность того, что пользователем случайно будет нажата не та кнопка и вызвана не та программа, минимизирована. Так что в некоторых случаях XWindow может выступать не как некий вспомогательный и незаметный инструмент, а как основной графический интерфейс. Но это скорее (и, видимо, к сожалению) исключение, а не правило.

В большинстве случаев

За настройку XWindow отвечает файл /etc/X11/xorg.conf. Он состоит из секций вида:

Section “Название секции”

Identifier “имя”

Каждая секция должна иметь уникальный идентификатор. Причем совершенно не обязательно наличие в файле всех возможных частей. Те, надобность в которых отсутствует, исключаются из его состава.

Секция ServerLayout содержит общую информацию о физических устройствах видеоподсистемы. Она имеет самый высокий приоритет — именно с нее система начинает анализ файла. В этой секции описывается оборудование, отвечающее за ввод информации и ее вывод.

В секции Files система ищет информацию о необходимых для работы XWindow файлах и путях к ним. Именно тут перечисляются все каталоги со шрифтами, используемыми в графическом режиме.

Секция Module предназначена для дополнительных подключаемых модулей, требуемых для нормального функционирования графической подсистемы. В частности, здесь расположены приказы загружать нужные шрифты.

Секция InputDevice содержит данные о порядке работы устройств ввода информации. Как правило, это клавиатура и мышь. Данный блок относится к категории часто редактируемых. Связано это с тем, что именно в нем описываются раскладки клавиатуры и способ их переключения, а не все дистрибутивы располагают удобным графическим инструментарием для изменения этих параметров.

А может быть, пользователям просто лень разбираться в баобабообразных меню, если речь идет о редактировании всего двух строк в одном-единственном файле. Судите сами. Если вдруг вы обнаружите, что точка с запятой находятся на цифровой панели клавиатуры, а не слева внизу от кнопки Enter, а раскладки переключаются не одновременным нажатием на Ctrl и Shift, а непонятно как, то самый простой путь — внести изменения в файл xorg.conf.

Нужная нам информация находится в секции InputDevice, описывающей устройство с идентификатором Keyboard0. Строки, указывающие, что в системе используются две раскладки — английская и русская (winkeys), переключение между которыми производится привычным для пользователя Windows способом, должны выглядеть так:

Option “XkbLayout” “us,ru(winkeys)”

Option “XkbOptions” “grp:ctrl_shift_toggle,grp_led:scroll”

Параметр led:scroll указывает, что индикатором переключения будет служить лампочка включения режима скроллинга, которая все равно не используется. А если вы считаете, что переключать раскладки двумя клавишами не очень удобно, то замените grp:ctrl_shift_toggle на caps_toggle, и доселе “лишняя” клавиша Caps Lock получит оправдание для своего существования.

Секция Device нужна для описания видеоадаптеров. Там явным образом указывается название используемого драйвера, поэтому самый простой способ получить информацию об этом модуле — посмотреть содержимое xorg.conf.

Например, на вашей машине установлена видеокарта nVidia и вы сомневаетесь, что система использует фирменный драйвер, поддерживающий трехмерную графику. Откройте конфигурационный файл и посмотрите параметр Driver секции Device. Если его значение — “nvidia”, то ваши сомнения напрасны, а если — “nv”, то они имеют под собой все основания.

В секции Monitor перечисляются характеристики монитора. При необходимости таких блоков может быть несколько, тем более что для показа режимов работы дисплея имеется другая секция. Она называется Screen, и в ней описываются настройки дисплея, работающего под управлением графического адаптера, идентификаторы которых указываются в строках Device и Monitor. Это хорошо видно из следующего примера:

Section “Screen”

Identifier “Screen0”

Device “Card0”

Monitor “Monitor0”

В данном случае задаются настройки графической подсистемы для видеокарты и монитора, обозначенных в секциях идентификаторами Card0 и Monitor0 соответственно. Раздел Screen устроен очень просто — в нем перечислены все разрешенные режимы работы.

Несмотря на простоту устройства конфигурационного файла, ряд дистрибутивов включают в себя графические инструменты для настройки XWindow. Таким образом, пользователю предоставляется еще одна степень свободы, ведь у таких утилит есть широкий круг поклонников, которые не собираются изменять своим привычкам.

Пользователям Linux XP следует запустить “Центр настройки”, где в разделе оборудования есть опция “Настройка видеосистемы”. В открывшемся окне ему предстоит выбрать модели видеоадаптера и дисплея. Со вторым всё довольно просто — достаточно знать тип монитора и поддерживаемые им разрешения. Конкретную модель указывать не нужно.

С видеокартой дела обстоят несколько сложнее. Выбирать из списка придется не по названию модели, а по имени драйвера. Что же делать пользователю, который не знает, как именно разработчики назвали модуль. Выход один: в общем случае внимательно просмотреть все предлагаемые программы и прочитать краткие пояснения к каждой из них.

Чтобы правильно выбрать драйвер видеокарты в центре управления Linux XP, недостаточно просто знать название модели

Традиционно функционально богатый инструмент предлагает пользователю дистрибутив SuSE. В центре управления YAST есть раздел “Оборудование”, где и можно найти соответствующую утилиту. Она позволит задать нужное разрешение экрана, раскладку клавиатуры и настроить некоторые дополнительные устройства — планшет и сенсорный дисплей. Для выбора драйвера графической платы пользователю придется воспользоваться программой обзора оборудования, также входящей в состав YAST.


SuSE традиционно предлагает пользователю инструмент настройки высокой функциональности

В дистрибутивах Fedora и ASPLinux конфигуратор графического режима находится в разделе “Администрирование”. Список поддерживаемых видеоадаптеров и мониторов достаточно широк — то, что пользователь найдет свою модель, практически гарантировано. В отдельной вкладке настраивается режим работы с двумя мониторами.


ASPLinux предлагает быстро сменить разрешение экрана

AltLinux также предлагает пользователю фирменный центр настройки, в котором есть инструмент для конфигурирования графического интерфейса. С его помощью можно сменить тип монитора, драйвер видеокарты, глубину цвета и разрешение экрана.


Центр настройки AltLinux позволяет сменить тип монитора и графического адаптера

Напоследок -- несколько важных замечаний. Существуют дистрибутивы, которые при неверной настройке графического режима сами пытаются загрузить заведомо работоспособную конфигурацию. Однако рассчитывать на это не следует. Лучше заранее принять необходимые меры предосторожности.

Во-первых, перед началом работы по настройке видеорежима сделайте резервную копию файла xorg.conf. Если что-то пойдет не так, как планировалось, то всегда можно будет восстановить предыдущую конфигурацию из консоли и запустить XWindow командой startx.

Во-вторых, если очень нужно запустить графический режим (хотя бы для того, чтобы выйти в Интернет и прочесть документацию), а перебрано уже с десяток моделей видеокарт и ни одна не подошла, то выбирайте универсальный драйвер vesa. Конечно, про оптимизацию XWindow в этом случае говорить не приходится, но что-то — это всё же лучше, чем совсем ничего.

В-третьих, большинство современных дистрибутивов автоматически создают конфигурационный файл, позволяющий получить если не оптимальные, то вполне приемлемые параметры графической подсистемы. А как известно, лучшее — враг хорошего. Не стоит сразу пытаться починить то, что и не ломалось.

Несмотря на то что в консоли работать можно (а иногда и нужно), большинство пользователей предпочитает графический интерфейс. Самый прагматичный подход, как водится, лежит где-то посередине. Для решения одних задач лучше подходит текстовый режим, других - многооконный. А предназначение системы - дать пользователю возможность выбирать между первым и вторым.

XWindow (именно Window, а не Windows: обратите на это внимание) - графическая среда для UNIX-систем. В ее основу легла клиент-серверная модель, только реализована она в пределах одной рабочей станции. Для передачи данных используется специальный протокол сетевой связи (X Network Protocol).

Первоначальный вариант XWindow был создан еще в 1987 г. Таким образом, считать, что Linux концепцией своего графического интерфейса только эксплуатирует идею, поданную Microsoft, неправильно. Другое дело, что корни Linux лежат очень глубоко, несмотря на то что эта ОС относительно молода. Традиции UNIX не позволяли навязывать пользователю какую-то одну концепцию, вследствие чего оконный режим востребован ровно настолько, насколько это соответствует реальным потребностям потребителя. Развитие свободного ПО идет по всем направлениям, поэтому успех какого-то одного не так бросается в глаза. Впрочем, именно многогранность и следует считать основным достоинством OpenSource.

Сама по себе система XWindow не является тем, что принято называть графическим интерфейсом пользователя. “Иксы” (так именуют XWindow в обиходе) - лишь его составная часть, которая не формирует изображение, а только предоставляет другим программам средства для работы с видеоподсистемой. X-сервер, запущенный “в чистом виде”, продемонстрирует пользователю серый экран, и на нем не будет ничего, кроме курсора мыши.

Кстати, этого более чем достаточно для работы одного приложения, нуждающегося в графическом интерфейсе. Например, довольно популярный в недавнем прошлом LiveCD MoviX вообще обходился без оконного менеджера (программы, отвечающей за отображение окон и предоставляющей пользователю механизм работы с ними), поскольку предназначался для запуска мультимедийного проигрывателя Mplayer и ни для чего более.

Аналогичный механизм можно использовать для организации рабочих мест сотрудников, которым не требуется разнообразное ПО. А заодно и убить второго зайца, значительно упростив работу подразделения техподдержки, ибо вероятность того, что пользователем случайно будет нажата не та кнопка и вызвана не та программа, минимизирована. Так что в некоторых случаях XWindow может выступать не как некий вспомогательный и незаметный инструмент, а как основной графический интерфейс. Но это скорее (и, видимо, к сожалению) исключение, а не правило. В большинстве случаев

За настройку XWindow отвечает файл /etc/X11/xorg.conf. Он состоит из секций вида:

Section “Название секции”

Identifier “имя”

Каждая секция должна иметь уникальный идентификатор. Причем совершенно не обязательно наличие в файле всех возможных частей. Те, надобность в которых отсутствует, исключаются из его состава.

Секция ServerLayout содержит общую информацию о физических устройствах видеоподсистемы. Она имеет самый высокий приоритет - именно с нее система начинает анализ файла. В этой секции описывается оборудование, отвечающее за ввод информации и ее вывод.

В секции Files система ищет информацию о необходимых для работы XWindow файлах и путях к ним. Именно тут перечисляются все каталоги со шрифтами, используемыми в графическом режиме.

Секция Module предназначена для дополнительных подключаемых модулей, требуемых для нормального функционирования графической подсистемы. В частности, здесь расположены приказы загружать нужные шрифты.

Секция InputDevice содержит данные о порядке работы устройств ввода информации. Как правило, это клавиатура и мышь. Данный блок относится к категории часто редактируемых. Связано это с тем, что именно в нем описываются раскладки клавиатуры и способ их переключения, а не все дистрибутивы располагают удобным графическим инструментарием для изменения этих параметров.

А может быть, пользователям просто лень разбираться в баобабообразных меню, если речь идет о редактировании всего двух строк в одном-единственном файле. Судите сами. Если вдруг вы обнаружите, что точка с запятой находятся на цифровой панели клавиатуры, а не слева внизу от кнопки Enter, а раскладки переключаются не одновременным нажатием на Ctrl и Shift, а непонятно как, то самый простой путь - внести изменения в файл xorg.conf.

Нужная нам информация находится в секции InputDevice, описывающей устройство с идентификатором Keyboard0. Строки, указывающие, что в системе используются две раскладки - английская и русская (winkeys), переключение между которыми производится привычным для пользователя Windows способом, должны выглядеть так:

Option “XkbLayout” “us,ru(winkeys)”

Option “XkbOptions” “grp:ctrl_shift_toggle,grp_led:scroll”

Параметр led:scroll указывает, что индикатором переключения будет служить лампочка включения режима скроллинга, которая все равно не используется. А если вы считаете, что переключать раскладки двумя клавишами не очень удобно, то замените grp:ctrl_shift_toggle на caps_toggle, и доселе “лишняя” клавиша Caps Lock получит оправдание для своего существования.

Секция Device нужна для описания видеоадаптеров. Там явным образом указывается название используемого драйвера, поэтому самый простой способ получить информацию об этом модуле - посмотреть содержимое xorg.conf.

Например, на вашей машине установлена видеокарта nVidia и вы сомневаетесь, что система использует фирменный драйвер, поддерживающий трехмерную графику. Откройте конфигурационный файл и посмотрите параметр Driver секции Device. Если его значение - “nvidia”, то ваши сомнения напрасны, а если - “nv”, то они имеют под собой все основания.

В секции Monitor перечисляются характеристики монитора. При необходимости таких блоков может быть несколько, тем более что для показа режимов работы дисплея имеется другая секция. Она называется Screen, и в ней описываются настройки дисплея, работающего под управлением графического адаптера, идентификаторы которых указываются в строках Device и Monitor. Это хорошо видно из следующего примера:

Section “Screen”

Identifier “Screen0”

Device “Card0”

Monitor “Monitor0”

В данном случае задаются настройки графической подсистемы для видеокарты и монитора, обозначенных в секциях идентификаторами Card0 и Monitor0 соответственно. Раздел Screen устроен очень просто - в нем перечислены все разрешенные режимы работы.

Несмотря на простоту устройства конфигурационного файла, ряд дистрибутивов включают в себя графические инструменты для настройки XWindow. Таким образом, пользователю предоставляется еще одна степень свободы, ведь у таких утилит есть широкий круг поклонников, которые не собираются изменять своим привычкам.

Пользователям Linux XP следует запустить “Центр настройки”, где в разделе оборудования есть опция “Настройка видеосистемы”. В открывшемся окне ему предстоит выбрать модели видеоадаптера и дисплея. Со вторым всё довольно просто - достаточно знать тип монитора и поддерживаемые им разрешения. Конкретную модель указывать не нужно.

С видеокартой дела обстоят несколько сложнее. Выбирать из списка придется не по названию модели, а по имени драйвера. Что же делать пользователю, который не знает, как именно разработчики назвали модуль. Выход один: в общем случае внимательно просмотреть все предлагаемые программы и прочитать краткие пояснения к каждой из них.

Традиционно функционально богатый инструмент предлагает пользователю дистрибутив SuSE. В центре управления YAST есть раздел “Оборудование”, где и можно найти соответствующую утилиту. Она позволит задать нужное разрешение экрана, раскладку клавиатуры и настроить некоторые дополнительные устройства - планшет и сенсорный дисплей. Для выбора драйвера графической платы пользователю придется воспользоваться программой обзора оборудования, также входящей в состав YAST.

В дистрибутивах Fedora и ASPLinux конфигуратор графического режима находится в разделе “Администрирование”. Список поддерживаемых видеоадаптеров и мониторов достаточно широк - то, что пользователь найдет свою модель, практически гарантировано. В отдельной вкладке настраивается режим работы с двумя мониторами.

AltLinux также предлагает пользователю фирменный центр настройки, в котором есть инструмент для конфигурирования графического интерфейса. С его помощью можно сменить тип монитора, драйвер видеокарты, глубину цвета и разрешение экрана.

Напоследок -- несколько важных замечаний. Существуют дистрибутивы, которые при неверной настройке графического режима сами пытаются загрузить заведомо работоспособную конфигурацию. Однако рассчитывать на это не следует. Лучше заранее принять необходимые меры предосторожности.

Во-первых, перед началом работы по настройке видеорежима сделайте резервную копию файла xorg.conf. Если что-то пойдет не так, как планировалось, то всегда можно будет восстановить предыдущую конфигурацию из консоли и запустить XWindow командой startx.

Во-вторых, если очень нужно запустить графический режим (хотя бы для того, чтобы выйти в Интернет и прочесть документацию), а перебрано уже с десяток моделей видеокарт и ни одна не подошла, то выбирайте универсальный драйвер vesa. Конечно, про оптимизацию XWindow в этом случае говорить не приходится, но что-то - это всё же лучше, чем совсем ничего.

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

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-1.jpg" alt="> 1. 2. 4. Графическая подсистема Видеоадаптер + монитор "> 1. 2. 4. Графическая подсистема Видеоадаптер + монитор Гр. С Расчет изображения для экрана 3 D-графика – сложные вычисления Специализированный процессор и память Ge. Force Radeon Несколько выходов

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-2.jpg" alt="> Видеока рта (известна также как графи ческая пла та, графи ческий ускори тель,"> Видеока рта (известна также как графи ческая пла та, графи ческий ускори тель, графи ческая ка рта, видеоада птер)(англ. videocard) - устройство, преобразующее изображение, находящееся в памяти компьютера, в видеосигнал для монитора. Обычно видеокарта является платой расширения и вставляется в разъём расширения, универсальный (PCI-Express, PCI, ISA, VLB, EISA, MCA) или специализированный (AGP), но бывает и встроенной (интегрированной) в системную плату (как в виде отдельного чипа, так и в качестве составляющей части северного моста чипсета или ЦПУ).

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-3.jpg" alt=">Видеокарта 1 Gb DDR-2 Palit память интерфейс память "> Видеокарта 1 Gb DDR-2 Palit память интерфейс память производитель (RTL) +DVI+TV Out процессор выходы

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-4.jpg" alt=">Видеокарта 1 Gb DDR-2 Palit (RTL) +DVI+TV Out">

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-5.jpg" alt="> Современные видеокарты не ограничиваются выводом изображения, они имеют встроенный графический микропроцессор, который"> Современные видеокарты не ограничиваются выводом изображения, они имеют встроенный графический микропроцессор, который может производить дополнительную обработку, разгружая от этих задач центральный процессор компьютера. Например, все современные видеокарты Nvidia и AMD (ATi) поддерживают приложения Open. GL на аппаратном уровне. В последнее время также имеет место тенденция использовать вычислительные способности графического процессора для решения неграфических задач.

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-6.jpg" alt="> Open. GL (Open Graphics Library - открытая графическая библиотека) для написания"> Open. GL (Open Graphics Library - открытая графическая библиотека) для написания приложений, использующих двумерную и трёхмерную компьютерную графику. Включает более 250 -ти функций для рисования сложных трёхмерных сцен из простых примитивов. Используется при создании компьютерных игр, САПР, виртуальной реальности, визуализации в научных исследованиях.

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-7.jpg" alt="> Пропускная способность видеоадаптеров может достигать 10 Гб/c. Собственная память адаптеров достигает от"> Пропускная способность видеоадаптеров может достигать 10 Гб/c. Собственная память адаптеров достигает от 64 Мб до 2 ГБ

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-8.jpg" alt="> Наиболее распространенные модели видеокарт – Ge. Force (n. Vidia) –"> Наиболее распространенные модели видеокарт – Ge. Force (n. Vidia) – Radeon(ATI)

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-10.jpg" alt="> Монитор является самым важным компонентом ПК для человека. Сейчас производятся мониторы"> Монитор является самым важным компонентом ПК для человека. Сейчас производятся мониторы плоскопанельные на жидких кристаллах ЖК (LCD) плазменных элементах(TFT) есть немного на ЭЛТ (CRT)

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-11.jpg" alt="> Наиболее важные характеристики монитора: размер – в дюймах по диагонали, "> Наиболее важные характеристики монитора: размер – в дюймах по диагонали, в ноутбуках – от 10 до 15 дюймов, для настольных - наиболее распространенные 15”, 17”, 19 и выше (20, 21 и 25). разрешение – количество выводимых точек изображения горизонталь-вертикаль 800*600, 1024*768, 1280*1024 кадровая частота – частота обновления изображения на экране. Для исключения дрожания рекомендуется 85 Гц. зерно (шаг) – расстояние между точками люминофора в ЭЛТ-дисплеях.

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-12.jpg" alt=">1. 2. 5. Внешняя память Внешний носитель: диск,"> 1. 2. 5. Внешняя память Внешний носитель: диск, флеш-карта Устройство = Привод + Носитель HDD CD DVD BD 1 Тб 700 Мб 8. 5 Гб 200 Гб ROM R RW ФАЙЛ

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-13.jpg" alt="> В настоящее время используются разные типы дисковых накопителей. Каждый из них"> В настоящее время используются разные типы дисковых накопителей. Каждый из них требует своего устройства чтения/записи – дисковода. Дисковод + диск = дисковое устройство.

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-14.jpg" alt="> В состав внешней памяти включаются: НЖМД – накопители на жёстких магнитных"> В состав внешней памяти включаются: НЖМД – накопители на жёстких магнитных дисках. НГМД – накопители на гибких магнитных дисках. НОД – накопители на оптических дисках (компакт-дисках CD-R, CD-RW, DVD). НМЛ – накопители на магнитной ленте (стримеры). Карты памяти. Flash-память

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-16.jpg" alt=">Жесткий диск (hard disc, винчестер) характеризуется: – большей надежностью хранения данных;"> Жесткий диск (hard disc, винчестер) характеризуется: – большей надежностью хранения данных; – большей емкостью (от нескольких сотен Мб до нескольких десятков, сотен Гб) натобарзар. иицамроф зи яаджак,) илиовс рбилак имищ. » имаретсеч

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-17.jpg" alt="> Обычно имеют имена C: , D: и т. д. "> Обычно имеют имена C: , D: и т. д. Состоят из нескольких алюминиевых пластин. Дорожки с одинаковым номером, находящиеся на разных пластинах, образуют вертикальный цилиндр с таким же номером. Информация записывается на обеих сторонах пластин. Иногда физический диск разбивается на разделы - логические диски - с целью более оптимального размещения информации на диске. Тогда имена виртуальных дисков принимают буквы латинского алфавита: C: , D: , E: , F: , . . .

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-18.jpg" alt=">Жёсткий диск HDD 400. 0 Gb SATA-II 300 Hitachi "> Жёсткий диск HDD 400. 0 Gb SATA-II 300 Hitachi интерфейс производитель 7200 rpm модель скорость вращения шпинделя

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-19.jpg" alt="> Фирмы, производящие жесткие диски Seagate Maxtor Quantum"> Фирмы, производящие жесткие диски Seagate Maxtor Quantum Fujitsu Для обеспечения совместимости винчестеров, разработаны стандарты. Распространенными являются стандарты интерфейсов IDE (Integrated Drive Electronics) или ATA и более продуктивные EIDE (Enhanced IDE) и SCSI (Small Computer System Interface).

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-20.jpg" alt="> Характеристики жестких дисков Скорость обращения дисков – накопители EIDE с частотой"> Характеристики жестких дисков Скорость обращения дисков – накопители EIDE с частотой обращения 4500 -7200 об/мин накопители SCSI - 7500 -10000 об/мин; Емкость кэш-памяти - от 64 Кбайт до 2 Мбайт; Среднее время доступа - время (в миллисекундах), на протяжении которого блок головок смещается с одного цилиндра на другой. (составляет приблизительно 10 -13 миллисекунд) Время задержки - время поиска нужного сектора; Скорость обмена - определяет объемы данных, которые могут быть переданы из накопителя к микропроцессору и в обратном направлении за определенные промежутки времени; колеблется в диапазоне 30 -60 Мбайт/с.

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-21.jpg" alt="> CD-ROM CD-ROM (англ. Compact Disc Read-Only Memory,"> CD-ROM CD-ROM (англ. Compact Disc Read-Only Memory, читается: «сиди -ром») - разновидность компакт-дисков с записанными на них данными, доступными только для чтения (read-only memory - память «только для чтения»). Позже были разработаны версии с возможностью как однократной записи (CD- R), так и многократной перезаписи (CD-RW) информации на диск. Дальнейшим развитием CD-ROM-дисков стали диски DVD-ROM.

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-22.jpg" alt=">Привод DVD RAM&DVD+R/RW & CDRW LITE-ON LH-20 A 1 S SATA "> Привод DVD RAM&DVD+R/RW & CDRW LITE-ON LH-20 A 1 S SATA производитель модель интерфейс

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-23.jpg" alt="> DVD DVD (ди-ви-ди, англ. Digital Versatile"> DVD DVD (ди-ви-ди, англ. Digital Versatile Disc - цифровой многоцелевой диск; также англ. Digital Video Disc - цифровой видеодиск) - носитель информации, выполненный в виде диска, внешне схожий с компакт-диском, однако имеющий возможность хранить бо льший объём информации за счёт использования лазера с меньшей длиной волны, чем для обычных компакт-дисков. DVD-привод - устройство чтения (и записи) таких носителей.

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-24.jpg" alt=">Привод BD-R/RE & DVD RAM&DVD±R/RW&CDRW SONY BWU-200 S SATA "> Привод BD-R/RE & DVD RAM&DVD±R/RW&CDRW SONY BWU-200 S SATA Blu-ray Disc

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-25.jpg" alt="> Blu-ray Disc Blu-ray Disc, BD (англ. blue ray -"> Blu-ray Disc Blu-ray Disc, BD (англ. blue ray - синий луч и disc - диск; написание blu вместо blue - намеренное) - формат оптического носителя, используемый для записи с повышенной плотностью и хранения цифровых данных, включая видео высокой чёткости. Стандарт Blu-ray был совместно разработан консорциумом BDA. Первый прототип нового носителя был представлен в октябре 2000 года. На данный момент доступны диски BD-R (одноразовая запись) и BD-RE (многоразовая запись), в разработке находится формат BD-ROM. Планируется, что их объём будет достигать 15 ГБ для двухслойного варианта.

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-26.jpg" alt=">Transcend Secure. Digital (SD) Memory Card 2 Gb "> Transcend Secure. Digital (SD) Memory Card 2 Gb тип накопителя

Internal="" usb="" src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-27.jpg" alt=">Gembird 3. 5"> Gembird 3. 5" 10 -in-1 Internal USB 2. 0 CF/MD/SM/MMC/RSMMC/SD/x. D/MS(/Pro/Duo) Card Reader/Writer

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-28.jpg" alt="> Картридер – устройство для чтения/записи информации на карты памяти. Картридеры отличаются по"> Картридер – устройство для чтения/записи информации на карты памяти. Картридеры отличаются по скоростным характеристикам чтения/записи информации. Картридеры бывают встроенными в системный блок или конструктивно независимые, подключаемые к системному блоку через USB-порт.

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-29.jpg" alt=">Флэш-память - особый вид энергонезависимой перезаписываемой полупроводниковой памяти. "> Флэш-память - особый вид энергонезависимой перезаписываемой полупроводниковой памяти. Энергонезависимая - не требующая дополнительной энергии для хранения данных (только для записи). Перезаписываемая - допускающая изменение (перезапись) данных. Полупроводниковая - не содержащая механически движущихся частей (как обычные жёсткие диски или CD), построенная на основе интегральных микросхем. Ячейка флэш-памяти не содержит конденсаторов, а состоит из одного транзистора особой архитектуры, который может хранить несколько бит информации.

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-30.jpg" alt="> Преимущества flash-памяти: – Способна выдерживать механические нагрузки в 5 -10 раз"> Преимущества flash-памяти: – Способна выдерживать механические нагрузки в 5 -10 раз превышающие предельно допустимые для обычных жёстких дисков. – Потребляет примерно в 10 -20 раз меньше энергии во время работы, чем жёсткие дискам и носители CD-ROM. – Компактнее большинства других механических носителей. – Информация, записанная на флэш-память, может храниться от 20 до 100 лет.

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-31.jpg" alt="> Впервые Flash-память была разработана компанией Toshiba в 1984 году. В 1988 году"> Впервые Flash-память была разработана компанией Toshiba в 1984 году. В 1988 году Intel разработала собственный вариант флэш -памяти. Название было дано компанией Toshiba во время разработки первых микросхем флэш- памяти как характеристика скорости стирания микросхемы флэш-памяти "in a flash" - в мгновение ока.

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-32.jpg" alt=">1. 2. 6. Устройства ввода беспроводные ">

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-33.jpg" alt="> Устройства ввода Клавиатуры Мыши Трэкболл"> Устройства ввода Клавиатуры Мыши Трэкболл Джойстик Сканер Графический планшет Сенсорный экран Световое перо Микрофон

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-34.jpg" alt=">Мыши фирмы A 4 Tech ">

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-35.jpg" alt=">Мыши - инфракрасные, радиомышь и радиомышь стандарта Blue-tooth устройство для определения "> Мыши - инфракрасные, радиомышь и радиомышь стандарта Blue-tooth устройство для определения относительных координат (смещения относительно предыдущего положения или направления) движения руки оператора. Относительные координаты передаются в компьютер и при помощи специальной программы могут вызывать перемещения курсора на экране.

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-36.jpg" alt=">Мышь, ставшая неизменным атрибутом компьютера, впервые появилась в 1964 году в Стэнфордском исследовательском"> Мышь, ставшая неизменным атрибутом компьютера, впервые появилась в 1964 году в Стэнфордском исследовательском институте. Человек, предложивший концепцию манипулятора, подобного современной мыши, - Дуглас Энгельбарт (Douglas Englebart) Прообразом первой мыши была деревянная коробочка, которая перемещалась по столу на колесиках, отсчитывая их обороты и развороты, эта информация вводилась в компьютер и управляла перемещением курсора на экране.

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-37.jpg" alt="> Мыши в настоящее время перешли от прорезиненных шариков к оптическим сенсорам."> Мыши в настоящее время перешли от прорезиненных шариков к оптическим сенсорам. Сенсор получает фотографии поверхности, процессор мыши сравнивает их между собой и определяет перемещение мыши, которое и передаёт компьютеру. Для сенсора требуется подсветка, которая обеспечивается светодиодом или лазером, причём последний вариант, как правило, даёт более высокую точность. У сенсора есть параметр - частота снимков в секунду. Есть ещё один параметр - число точек на дюйм (dpi), которое правильнее называть числом замеров на дюйм (cpi). Оно обозначает число замеров, которое мышь способна произвести во время перемещения на расстояние в один дюйм. Чем больше число замеров, тем точнее мышь может реагировать на движения, но тем быстрее будет двигаться курсор: большее число замеров требует меньшего физического перемещения для прохождения курсором такого же расстояния. Да, мышь становится точнее и отзывчивее, но и управлять ею сложнее. Для современных разрешений лучше придерживаться cpi в диапазоне от 800 до 1 000. Ещё один важный момент - эргономика.

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-39.jpg" alt="> Клавиатуры Устройство для ввода информации в память компьютера. Внутри"> Клавиатуры Устройство для ввода информации в память компьютера. Внутри расположена микросхема, клавиатура связана с системной платой, нажатие любой клавиши продуцирует сигнал (код символа в системе ASCII -16 - ричный порядковый номер символа в таблице), в памяти ЭВМ специальная программа по коду восстанавливает внешний вид нажатого символа и передает его изображение на монитор.

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-44.jpg" alt=">Клавиатура Keyset for Zboard ZBD 100/300 Series, накладка для игры Age of">

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-45.jpg" alt=">Клавиатура Keyset for Zboard ZBD 100/300 Series, накладка для игры Age of"> Клавиатура Keyset for Zboard ZBD 100/300 Series, накладка для игры Age of Empires III

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-46.jpg" alt=">Клавиатура Keyset for Zboard ZBD 100/300 Series, накладка для игры">

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-47.jpg" alt=">Клавиатура Keyset for Zboard ZBD 100/300 Series, накладка для игры"> Клавиатура Keyset for Zboard ZBD 100/300 Series, накладка для игры DOOM 3

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-48.jpg" alt=">Трэкбол – шаровой Джойстик Графический манипулятор "> Трэкбол – шаровой Джойстик Графический манипулятор планшет Сканэры Сенсорный экран

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-49.jpg" alt=">Световое перо ">

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-50.jpg" alt=">1. 2. 7. Звук в компьютере Зв "> 1. 2. 7. Звук в компьютере Зв Встроенный динамик Звуковая карта Микрофон, наушники Аудиосистема MIDI-устройства

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-51.jpg" alt="> Звук в компьютере ПК имеет встроенный динамик, способный подавать звуковые"> Звук в компьютере ПК имеет встроенный динамик, способный подавать звуковые сигналы. Для работы со звуком, в первую очередь, нужен специализированный микропроцессор с памятью – звуковая карта. Входы и выходы карты определяют, какие внешние устройства – колонки, микрофон, синтезатор и пр. можно будет использовать. Специальное программное обеспечение и память карты представляют широкий спектр возможностей для работы со звуком.

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-52.jpg" alt="> MIDI (англ. Musical Instrument Digital Interface - цифровой интерфейс музыкальных"> MIDI (англ. Musical Instrument Digital Interface - цифровой интерфейс музыкальных инструментов) - стандарт цифровой звукозаписи на формат обмена данными между электронными музыкальными инструментами.

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-53.jpg" alt=">Звуковая карта SB PCI Terratec Aureon 7. 1 производитель модель">

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-54.jpg" alt=">1. 2. 8. Устройства коммуникации Комм "> 1. 2. 8. Устройства коммуникации Комм Локальный ПК Мо. Дем Компьютерная сеть Сетевая карта

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-55.jpg" alt="> Устройства коммуникации Для использования ресурсов других компьютеров ПК должен быть подключен"> Устройства коммуникации Для использования ресурсов других компьютеров ПК должен быть подключен к компьютерной сети. Если компьютеры расположены недалеко друг от друга, так что их можно соединить кабелем, то имеется возможность создания локальной сети. Каждый ПК подключается к сети с помощью модема. Модем преобразует цифровую информацию в сигналы для телефонной линии (Модуляция) и обратно (ДЕМодуляция). По этим линиям и происходит пересылка. Таким способом организуется выход в Интернет.

Src="https://present5.com/presentation/3/175865261_223308851.pdf-img/175865261_223308851.pdf-57.jpg" alt=">Сетевая карта TRENDnet ">

Не будем в очередной раз вспоминать пословицу о том, что «все новое это», а просто попробуем логическим путем рассудить, к чему придут ускорители трехмерной графики в ближайшем и (даже) более-менее отдаленном времени. Рассуждать будем не просто, а по частям. Итак.

Внешние интерфейсы и вывод изображения

Нет сомнений, что через некоторое время все системы отображения (мониторы, проекторы и пр.) будут подсоединяться к ускорителю по цифровому интерфейсу. В начале это будут плоды эволюции специализированного интерфейса (DVI), но позже, вполне логично ожидать постепенное замещение специализированной цифровой последовательной шины ее аналогом общего назначения, например одним из потомков USB или FireWire. Почему я в этом уверен?

Во-первых, разрешение и тем более частота кадров отображающих устройств не будут расти столь же стремительно, как вычислительная мощь ускорителя. Этому есть несколько причин, первая из них - ограниченное разрешение глаза, для которого изображение с 3..4 тысячами точек по горизонтали уже воспринимается (при условии разглядывания целиком) как монолитное и бесконечно детализированное. Во-вторых, кадровая частота выше 150..200 смен изображений в секунду не имеет смысла даже при условии отсутствия сглаживания движущихся объектов: почти десятикратное превосходство над кинематографической частотой обеспечит сглаживание движения за счет инерции восприятия в глазу, который невольно будет накапливать, и усреднять по нескольку кадров подряд. Разумеется, возможны варианты - такие как панорамные и сферические дисплеи, или стереодисплеи, требующие две картинки для разных глаз, но все они, так или иначе, могут довольствоваться разрешением порядка десяти тысяч точек по горизонтали. Дальнейшее увеличение разрешения возможно, но не видится приоритетной задачей - гораздо больше сил (уже сейчас) тратится на повышение реалистичности картинки, чем на ее сглаживание.

Итак, медленный (относительно) рост разрешения и кадровой частоты позволит в скором времени обычным шинам общего назначения служить каналом для передачи информации на монитор и другие устройства отображения. Почему это важно? Потому что это очень удобно. Представьте себе, что в каждый из 6 USB портов вы можете подключить (при желании по дисплею). Представьте, что самый элементарный фотоаппарат или КПК может быть при желании подсоединен к проектору или монитору через тот же интерфейс, через который вы осуществляете синхронизацию и передачу данных на PC. И т.д. и т.п.

В более отдаленном времени возможность соединять «все-со-всем», пользуясь одними и теме же интерфейсами (+ открытые протоколы передачи данных разных форматов) откроет прекрасные перспективы, причем не только в области отображения визуальной информации…

Итак, у нашего ускорителя будущего появился первый более-менее четкий элемент - один или несколько универсальных внешних портов на основе скоростных последовательных шин. Кстати, им не обязательно находится на самой плате (модуле, карте) ускорителя, он может использовать для передачи изображения и порты системной платы - тем паче, что системная шина заведомо будет опережать по пропускной способности внешние универсальные интерфейсы периферии.

В этом же ключе, логично ожидать появление дисплеев и проекторов со встроенными радиоинтерфейсами (уже существуют первые модели проекторов с разновидностями 802.11). Очевидно что все будущие ПК, КПК, ноутбуки и прочие устройства будут включать в себя те или иные беспроводные интерфейсы и передача изображений на ближайший экран, без какого-либо проводного соединения очень удобна, как в бизнес, так и в бытовых или персональных применениях. Кстати, о дисплеях:

Дисплеи и другие системы отображения

Обсудим вопрос демонстрации передаваемых с ускорителя картинок. Во-первых, очевидно, что в ближайшем будущем практически все дисплеи станут плоскими и будут использовать ту или иную технологию плоских панелей. Пока мы не говорим о проекторах, но и они в большинстве своем используют в наше время не сканирующие вакуумные трубки, а работающие на просвет миниатюрные высокотемпературные ЖК матрицы или матрицы с массивами микромеханических зеркал. Разрешение и размер дисплеев подрастут, но ничего особенно нового здесь ждать не приходится - слишком большие панели не удобны и даже вредны - они занимают много места и их не просто транспортировать (вес, хрупкость). Поэтому, размеры более 20 дюймов по диагонали по-прежнему будут сопутствовать только специфическим нишам. Идеальным решением для больших размеров являются те или иные разновидности проекторов - в паре с очень компактными экранами они могут обеспечивать изображение разных размеров в достаточно широких пределах и при этом являются сами по себе вполне компактными устройствами.

Итак, персональный дисплей будущего это плоская панель размером от 17 до 20..24 дюймов с разрешением порядка 3..4 тысяч точек по горизонтали и предельной физической частотой обновления информации около 100 кадров в секунду. Далее, в игру вступают различные проекторы и составные панели. Первые получат более высокое разрешение и яркость, опять таки до 3..4 тысяч точек - что не только позволит полноценно отображать на них фильмы очень высокого качества, но и потребует новых стандартов для съемки, сжатия и передачи движущегося изображения - даже передовые HDTV стандарты далеки от таких цифр. Именно в этой области и произойдет наиболее значимый прогресс, в плане качества захвата, хранения и передачи картинки. Но мы не должны забывать, что основная тема данной статьи - трехмерная графика в будущем.

Во-вторых, очень широкое, если не повсеместное, распространение получат панели способные создавать объемное изображение без применения дополнительных средств, таких как специальные стерео очки. Здесь могут дать результат различные технологии. В отдаленном будущем вероятны голографические ЖК матрицы (я лично знаком с бывшими сокурсниками занятыми такими исследованиями для компании LG), способные воспроизводить больше характеристик захваченного потока света, чем традиционные системы и давать объемную, цветную(!) голографическую картинку. Такие решения потребуют существенно большего разрешения матрицы и специальной формы представления данных, а потому не следует ожидать их появления в коммерческих количествах в ближайшие пять лет. Возможны и какие либо гибридные решения, в которых дифракционные динамически настраиваемые структуры разводят свет от матрицы для правого и левого глаза, следя при этом за положением головы и обеспечивая оптимальную глубину зоны устойчивого восприятия стереоизображения. И, наконец, наиболее вероятные уже в ближайшее время системы с простым разделением изображения для правого и левого глаза, на основе одной ЖК панели. Такие системы уже доступны коммерчески. Очевидно, что в ближайшее время появятся реконфигурируемые матрицы, способные работать как в режиме разделения изображения на два глаза, так и в режиме обычной плоской матрицы с широкими углами обзора - чисто технически это не представляет никакой трудности.

Итак, дисплеи будущего станут тоньше и легче, и, вероятно, получат стереорежим, как обязательную опцию. Но, в области больших размеров и разрешений куда как более впечатляющие качественные и количественные скачки будут происходить в проекционных устройствах.

Системная шина, шина памяти и передача данных

То, что системные шины вскоре все станут последовательными, уж не является секретом для большинства читателей. Проприетарные соединения между компонентами чипсета, HT, PCI-Express и даже LPC четко продемонстрировали реализацию уже не новой тенденции на перевод всего и вся на последовательные сигнальные каналы. Однако давайте прикинем, как конкретно этот процесс отразится на ускорителях. В ближайшее время появятся ускорители с PCI-Express интерфейсом с пропускной способностью 16х - именно такой слот для графических и других высокопроизводительных PCI-Express карт будут иметь первые PC. Однако гибкая возможность масштабирования этой шины позволяет пойти далее.

Представьте себе, что в чип заранее встроены 32 канала PCI-Express с возможностью динамической конфигурации. Во-первых, как только появятся производительные рабочие станции (и чипсеты) со слотами конфигурации 32х, можно будет сделать профессиональную карту на основе того же чипа. Во-вторых, можно сделать серверный вариант карты с 8х (типичный серверный разъем), и в сервер может быть одновременно установлено несколько таких карт. И, наконец, при необходимости можно сделать многочиповое решение, просто соединив двое или несколько чипов тем или иным образом, с участием вторых 16 каналов.

Но это только начало. В будущем шины памяти также станут более интеллектуальными и последовательными. Это позволит не только проще масштабировать пропускную способность памяти, но и упростить разводку на плате, т.к. данные разных каналов могут передаваться не синхронно и, соответственно, длинна проводников не обязательно должна быть одинаковой. Это позволит повысить тактовую частоту и снизить стоимость разводки. Кроме того, уже знакомые нам по PCI-Express одиночные двунаправленные каналы могут действовать независимо друг от друга и в дуплексном режиме - т.е. основная проблема задержек при интенсивных обращениях ускорителя к памяти - проблема переключения из режима чтения в режим записи и проблема параллельных потоков данных будет красиво и естественно решена. В итоге, снизится необходимость в интенсивном кэшировании некоторых типов данных и освободившиеся ресурсы на чипе можно будет бросить на самое главного - буфер кадров, полностью разместив его на чипе и связав с блоками закраски очень широкой шиной. Впрочем, мы несколько забегаем вперед.

А теперь самое интересное - а, собственно, почему последовательная шина памяти и последовательная системная шина должны быть разными? Рано или поздно мы можем ожидать схожую, при желании совместимую, а возможно и просто четко совместимую сигнальную технологию, которая позволит просто снабдить чип 256-ю (или скорее 256+32+8 - догадайтесь почему;-)) высокоскоростными последовательными каналами и, в зависимости от воли разработчиков конкретного продукта, раздавать их на общение с системой (процессором и чипсетом), на общение с локальной памятью, на общение с другими чипами в многочиповом решении, а также на различные интерфейсы ввода и вывода, например, один канал можно отдать на чип захвата видеосигнала. Изначально каналы равноправны, и каждый из них, например, может занимать 4-ку соседних выводов чипа. Это позволит расположить прочие элементы на плате ускорителя так, как того пожелает душа разработчика, а затем, не особенно задумываясь, протянуть к ним каналы с ближайших выводов чипа.

Очевидно, что подобный подход - обширный массив одинаковых и гибко распределяемых каналов передачи данных, имеет и более глобальные перспективы. Рано или поздно (скорее рано - см. материалы по HT) и системная логика (чипсеты) и процессоры тоже придут к подобной схеме, позволив в итоге создавать совершенно фантастические топологии вычислительных систем, как наборов активных компонент, соединенных различными по числу каналов шинами - словно игрушки собранные из детского конструктора «Лего».

Архитектура и программируемость ускорителя

Происходящая унификация хорошо заметна. Например, вершинные и пиксельные блоки (далее процессоры) внутри ускорителя уже сейчас имеют унифицированную систему команд и схожую программную архитектуру (отличается число регистров, но не методы работы с ними). Но, еще до общей унификации, нас ждет появление третьего типа процессоров - процессор генерации вершин или, иначе, «тесселяции». И, соответственно новый тип шейдеров - тесселяционные шейдеры. Его место в графическом конвейере - перед вершинными процессором:


А так же, очень вероятно появление отдельного процессора для выборки, распаковки, фильтрации и генерации текстур.

Основная задача блока тесселяции, на основе гибкой программы (шейдера тесселяции, TS) создавать новые треугольники и вершины, и затем, передавать их вершинному шейдеру (VS) на уже привычную нам трансформацию и освещение. Этот подход позволит наиболее общим путем переложить на ускоритель построение примитивов более высокого порядка, нежели треугольники, например гладких сплайновых поверхностей. В первую очередь, наличие такого процессора позволит увеличить сложность сцен и реализовать адаптивную детализацию моделей и окружения без дополнительной нагрузки на центральный процессор и системный канал передачи данных. Например, хорошо известная разработчикам симуляторов задача построения ландшафта с адаптивной детализацией в данный момент не может быть решена эффективно только на ускорителе. Любые решения выглядят как компромисс, а с появлением тесселяционного процессора позволит генерировать адаптивное представление ландшафта на лету, не загружая системный процессор или шину.

Обратите внимание на зеленый блок - это процессор фильтрации, выборки и обработки текстур. На данный момент все нестандартные операции с текстурами, такие как специальные методы фильтрации или генерация процедурных текстур исполняются на уровне пиксельных шейдеров, а некоторые задачи, такие как распаковка сжатых форматов текстур реализованы только жестко аппаратно. Однако, гораздо эффективнее выделить для этого отдельный процессор и в будущем это будет сделано. Текстурные шейдеры (TxS) уже известные по программным пакетам реалистичной графики, будут отвечать за генерацию по запросу процедурных текстур, выборку, преобразование и модификацию значений обычных текстур, реализацию оптимальных методов сжатия и, самое главное, на специальные методы фильтрации, например продвинутую анизотропную, стохастическую или, очень важную для будущих приложений фильтрацию с учетом движения объекта для реализации эффективного и качественного сглаживания движущихся объектов.

Между процессорами расположены очереди данных, отмеченные на рисунке стрелками. Они позволяют накапливать (а по возможности и кэшировать для повторного использования) рассчитанные одним процессором для другого данные, и таким образом избежать задержек, позволив процессорам работать параллельно и в должной степени асинхронно. Именно наличие таких четких однонаправленных потоков данных позволяет эффективно распараллеливать задачи по построению изображения и одновременно именно этот факт накладывает на шейдеры существенные ограничения - например, они не могут иметь произвольный доступ к данным соседних примитивов или пикселей, т.к. они могут рассчитываться параллельно или еще не быть рассчитанными. Впрочем, обладая возможностью, так или иначе, записать поток данных с выхода шейдерного процессора и снова подав его на вход, мы можем (так сказать «в несколько проходов») реализовать более сложные алгоритмы, включая произвольный доступ, пускай и не самым удобоваримым путем.

На нашей схеме и процессор тесселяции и геометрический процессор, и пиксельный процессор могут получать данные у процессора выборки текстур, и тонкие черные стрелочки символизируют очередь запросов на получение таких данных. Например, при генерации ландшафта процессор тесселяции может таким образом получать доступ к карте высот, сохраненной в виде двумерной текстуры, а процессор трансформации может использовать текстуру как карту смешения (Displacement Map) вершин.


Перед нами графический ускоритель будущего. Основная концепция - набор из некоего числа одинаковых шейдерных процессоров (разумеется с неограниченной длинной программы, обширным набором команд включая динамическое управление исполнением команд - условия, циклы и подпрограммы). Во время построения изображения процессоры динамически соединяются между собой в некую топологию, например, так:


а между процессорами (кружки) организуются одно и двунаправленные асинхронные очереди данных, которыми фактически заведуют контроллеры потока (см. предыдущую схему). Каждый контроллер настраивается для того или иного метода хранения данных (стек, очередь, просто произвольный доступ) и получает в монопольное владение часть скоростной внутренней памяти (кэша) ускорителя или реализует доступ к потоку данных из внешней по отношению к чипу ускорителя локальной или системной памяти. Возможен и режим с произвольным, не потоковым доступом, но в реальных приложениях следует всячески избегать подобных настроек, ибо они способны существенно подорвать производительность в результате плохо оптимизируемых попыток доступа к внешней памяти. Однако, так или иначе, за счет интенсивного кэширования и использования предсказания паттернов доступа данная задача может быть решена на твердую «4», пусть и не в первом поколении таких ускорителей, открыв путь к более привычным программистам подходам, например, к произвольной индексации элементов массивов.

Итак, появляется множество возможностей. Не только альтернативные методы фильтрации, выбора и генерации вершин и пикселей, но и такие варианты как шейдер программирующий новый метод полноэкранного сглаживания, и даже шейдер отвечающий за динамическое перераспределение ресурсов (вычислительных и памяти) ускорителя, т.е. некая «операционная система». Понятно, что самому программисту крайне тяжело управлять всей коммуникацией блоков такого чипа, но это и не надо - этим будет заниматься API. Программист будет формулировать задачу в виде набора шейдеров различного назначения (фактически - функций на некоем языке программирования высокого уровня) и описания структур передаваемых и получаемых или параметров, а следовательно, и того, в каком порядке данные будут проходить через эти шейдеры. Остальное берет на себя API - DirectX или OpenGL будущего. API компилирует шейдерный код в машинные инструкции, оптимизирует их, настраивает взаимодействие очередей и блоков, распределяет кэш и другие ресурсы. Например, встает логичный вопрос - сколько процессоров отдать под шейдер А а сколько под шейдер Б, так, чтобы вся система была максимально сбалансирована и ни одного миллиметра силикона не простаивало без дела. Ответ на этот вопрос не однозначен. Можно грубо указывать важность шейдера в тех или иных единицах, еще при написании его на языке высокого уровня, а можно и создать API анализирующий по ходу построения кадров значения внутренних счетчиков производительности в чипе и динамически перераспределяющий процессоры по мере исполнения приложения каждую секунду или около того.

Представьте себе - играя в FPS, вы выходите к воде и больше процессоров отдается на пиксельные шейдеры, появляется детализированный монстр и чуть больше ресурсов уходит вершинным процессорам. Тонкая и кропотливая работа по балансу нагрузки на различные блоки ускорителей, реализуемая ныне во время программирования приложения путем достаточно утомительных итераций, проб и ошибок, будет автоматизирована на уровне API и железа!

Новые и улучшенные подходы к построению изображения

Разумеется, получив в свое распоряжение столь гибкую систему, мы не можем не обратить свой взгляд к альтернативным методам построения изображения. Новые примитивы, например объемные (3D) полигоны с заданным картой смещения рельефом (с точностью до одного пикселя!), шары или гладкие поверхности (на сей раз истинно гладкие, а не аппроксимированные треугольниками). И, конечно, мягкие тени: станет возможна трассировка лучей для расчета т.н. «глобального» освещения, в то время как закраска идет традиционным методом. Хотите? -Пожалуйста. Комбинированные методы с использованием Radiosity? - Нате. Да, и на худой конец, может быть легко реализована «стопроцентная» старая добрая обратная трассировка лучей. При условии, что сцена, пусть даже описанная примитивами достаточно высокого уровня, будет полностью размещена в локальной памяти ускорителя. Тогда она сможет интерпретироваться им практически без участия процессора.

Несомненно, важным видится сглаживание движущихся объектов. Именно оно отличает реалистичную кинематографическую графику от игровой аппаратной, и именно благодаря ему, мультфильмы с использованием компьютерных персонажей смотрятся при 25 кадрах в секунду куда как лучше, чем всем лучшие шутеры при 120. Подход к сглаживанию должен быть сбалансированным - грубая сила, выражаемая в расчете N кадров вместо одного и последующем их усреднении не допустима. Грамотное использование пиксельных, текстурных и специальных сглаживающих шейдеров вкупе с информацией о скорости каждой конкретной точки позволит создать очень аккуратно и качественно сглаженные движущиеся предметы, нарисовав при этом только одно (!) изображение за один проход. Ключ к этому - гибкая архитектура ускорителя описанная мной.

Толи еще будет, ой-ой-ой

Интересно, что вопросы питания, энергопотребления и теплорассеивания беспокоят конструкторов современных PC куда как сильнее вопросов надежности. Следует ожидать новых форм факторов для ускорителей, в виде некоего похожего на процессорный модуля (картриджа), такого, каким был в свое время процессор Pentium II или, например, такого, каким сконструирован ныне Itanium. Металлическая коробка, снизу контактный разъем, вертикальная установка оным на плату. Внутри, чип ускорителя и память. Интерфейсы перенесены на материнскую плату - все данные, включая захват видео и результирующую картинку, идут в цифровом виде по общей системной шине.

Итоги

  • Динамическое распределение ресурсов
  • Большой массив одинаковых по возможностям процессоров
  • Общий коммутатор
  • Большой набор контроллеров очередей и доступа к памяти
  • Только цифровые интерфейсы, все на основе массива последовательных шин общего назначения
  • Память, работающая напрямую с такими шинами
  • Устройства вывода с общими периферийными интерфейсами, а также беспроводными интерфейсами
  • Фокусировка на качестве, а не на разрешении или тем более кадровой частоте изображения
  • Стерео дисплеи.

Итак, ставка сделана, придет время, и я смогу ответить, насколько процентов я был прав, а насколько ошибался;-)

Ждать не так уж и долго.

Приложение

Вопрос, чем эта штука отличается от CPU?

Ответ 1 - ориентацией на эффективную параллельную обработку достаточно простых потоков данных, наличием специализации.

Ответ 2 - если рассуждать строго, то чем дальше, тем практически ничем.

Очень сложно сказать, кто первый придет к логической точке сращивания - или очередной CPU от Intel научится программно рассчитывать изображения уровня современных компьютерных мультфильмов (на что надо не так уж много - ~20 лет) или очередной ускоритель от NVIDIA или ATI научится исполнять Microsoft Windows или (на худой конец) один из клонов Linux. Может быть и такое.