Talisman

"Те, кто при создании современных высокопроизводительных и дешевых аппаратных и программных систем (для обработки изображений и графики) делает ставку лишь на улучшения в технологиях CPU и на высоко интегрированные решениях типа СБИС (VLSI, very large-scale integration), на самом деле, недостаточно внимательно относятся к сущности реально действующих в промышленности фундаментальных сил".

– Это еще в 1996 году на SIGGRAPH заявил представитель Microsoft, рассказывая об архитектуре Talisman.



О каких фундаментальных силах компьютерного рынка говорил представитель Microsoft, мы можем догадаться. Это несложно. И действительно, если посмотреть на стратегию Intel, легко заметить, как красной нитью просматривается стремление первой, самой_любимой_корпорации предложить рынку все решения собственного производства. Сначала появилась технология MMX, затем SSE (KNI), AMR, чипсеты для системных плат с интегрированным видео. По стопам Intel двигается и сильнейший конкурент — AMD. А что же Microsoft? Гигант софтверного рынка не довольствуется только программным обеспечением. Если посмотреть новости за последние пару лет, то можно заметить, что под маркой Microsoft появляются и аппаратные решения. Не говоря уже о том, что ни одна современная спецификация для PC не обходится без участия Microsoft, а в области цифрового TV по запросу через Интернет вторая_самая_любимая занимает ведущее положение. Сразу в памяти всплывают упоминания о таинственной архитектуре Talisman, элементы которой уже используются в некоторых решениях третьих производителей. Так что же это такое — Talisman? Для начала расскажем немного истории.

Первые x86 совместимые компьютеры были очень слабы в области графики. Соответственно, свободный сегмент рынка 2D/3D графики и CAD систем был захвачен конкурентами: Silicon Graphics, Intergraph и Apollo Computers. Правда, и разработки от Intel конкуренты не использовали, а значит, и операционные системы от Microsoft интереса не представляли. Но два гиганта не могли смириться с таким положением вещей, и постепенно возможности платформы Intel в тандеме с программным обеспечением от Microsoft стали обеспечивать поддержку работы с графикой. Сначала появилась поддержка работы с графикой в операционной системе, затем стали появляться специализированные чипы, а потом и графические акселераторы. С течением времени потребности пользователей в возможности поддержки компьютерами обработки видео и звука все больше возрастали. Если рынок требует чего-то, как правило, рынок это получает. Появление устройств CD-ROM в компьютерах дало сильный толчок в развитии мультимедиа. Появление WWW сделало существование компьютеров без поддержки мультимедиа и коммуникационных возможностей никому ненужным.

Проблема была в том, что рост вычислительных мощностей процессоров от Intel все равно не успевал за потребностями пользователей в области графики и мультимедиа. Причем сама Intel была виновата в этом лишь отчасти. Дело в том, что сильнейшим тормозом развития поддержки мультимедиа и графики в PC системах была постоянная необходимость поддержки полной обратной совместимости со старыми процессорами, операционными системами и приложениями. Хорошим решением было бы отказаться от груза архитектуры x86 и начать все с чистого листа. Поддержка обработки мультимедиа приложений была самым больным местом для Intel, но и отказаться от обратной совместимости корпорация не решилась. Как мы знаем, в ближайших планах на 2-3 года, Intel так и не собирается отказываться от этой совместимости, а будет параллельно поддерживать две архитектуры. Но самое неприятное для Intel было то, что с мультимедиа приложениями отлично, а главное очень дешево, справляются DSP (Digital Signal Processor). Упускать такой рынок было бы непростительной ошибкой, возможно, даже непоправимой. И в недрах Intel родился новый стратегический план.

Летом 1995 года Intel объявила о создании инициативы NSP (Native Signal Processor), которая в паре со специализированным API должна была решить проблему поддержки обработки графики и мультимедиа процессорами корпорации. Intel исходила из того, что некоторые части мультимедиа приложений могут выполняться с помощью центрального процессора (CPU), поэтому почему бы не возложить такие задачи на него? Процесс переноса операций, выполняемых специализированными DSP на CPU получил название NSP или, говоря иными словами, NSP — это вариант программного DSP от Intel. Изначально, в качестве первого кандидата на реализацию через NSP, Intel выбрала поддержку сложных, выполняемых в реальном времени приложений обработки цифрового звука (например, игры). Для реализации функций Native Audio (т.е. обработки звуковых процессов с использованием CPU) Intel использовала IA-SPOX, на чье ядро, работающее в реальном времени, была возложена обязанность управления звуковой частью NSP. Для разработчиков Intel предложила специальный API, с помощью которого можно было создавать приложения, использующие возможности IA-SPOX. Потом очередь дошла до графики и видео.

IA-SPOX представляет собой операционную систему реального времени (RTOS) для DSP, адаптированную для платформы x86 и запускаемую под Windows. Фактически Intel портировала широко распространенную RTOS SPOX от Spectron Microsystems с многозадачным ядром, работающим в реальном времени, специально рассчитанным для управления встроенными DSPприложениями. На самом деле, адаптацию SPOX под Windows осуществила сама компания Spectron. Сначала появилась реализация для Windows 3.X, а затем и для Windows 95. В настоящее время операционная система IA-SPOX принадлежит Texas Instruments.

IA-SPOX работает под Windows 95 за счет использования VxD, устанавливаемых в кольцо 0, и фактически встраиваясь в виде первичного сервиса распределения прерываний, т.е. IA-SPOX предшествует всем задачам Windows 95. Заметим, что сначала DirectX работал на уровне кольца 3, лишь впоследствии интерфейсы Microsoft стали работать на уровне кольца 0. Spectron Microsystems создала программный сопроцессор реального времени для Windows95, IA-SPOX-RTC, специально ориентированный на приложения PC, такие, как управление и контроль в реальном времени. IA-SPOX-RTC дает возможность приложениям Windows 95 получить быстрый и надежный доступ к процессору Pentium без длительных и непредсказуемых задержек по времени, которые обычны для Windows 95. IA-SPOX-RTC обеспечивает полноценную многозадачную среду в реальном времени, которая работает в качестве программного сопроцессора реального времени для Windows 95. Внедрение NSP гарантировало бы Intel возможность контроля за ключевыми API, что дало бы дополнительные преимущества над конкурирующими процессорами от AMD и Cyrix. Ядро IA-SPOX загружалось до Windows95 и обеспечивало поддержку большинства функций интерфейса DirectX (прежде всего DirectVideo и DirectDraw).

В качестве главного аргумента в пользу NSP Intel выдвигала тезис о том, что для поддержки мультимедиа функций, таких, как проигрывание звука и видео, нет необходимости в специализированных DSP и операционной системе, которая бы обеспечивала их работоспособность, а всю работу будет выполнять CPU, разумеется, от Intel, в паре с интерфейсами, взаимодействующими с приложениями через IA-SPOX. Более того, пользователь даже сэкономит, так как не надо будет ничего дополнительно покупать. Конечно, Intel лукавит, так как покупать надо, прежде всего процессор, который стоит гораздо больше (в 2 и более раз), чем карта на основе специализированного DSP. Позднее Intel модифицировала свой тезис, заявив: поставьте в систему Pentium II (III), а все остальное мы эмулируем. Но рынок все расставил и расставляет на свои места.

Прежде всего планы Intel никоим образом не устраивали Microsoft. Империя нанесла ответный удар и победила. Гнев Microsoft немедленно пал на Intel, подобно гневу ветхозаветного бога. В своем яростном ответе Microsoft по существу приказала разработчикам программного обеспечения использовать только их новое семейство интерфейсов DirectX, которое заменило ядро реального времени IA-SPOX на высокоэффективные драйверы. Изначально интерфейсы DirectX были частью комплекта разработчика игрового программного обеспечения (Game SDK) для Windows95 и включали в себя DirectDraw, DirectSound, DirectPlay и DirectInput.

С помощью DirectX Microsoft ловко разрубила гордиев узел, который так запутала Intel. Microsoft понимала, что рано или поздно, но ей придется решать проблему с ограниченной поддержкой мультимедиа в PC. И даже больше, чем Intel, Microsoft также понимала, что должна обеспечить обратную совместимость со своими операционными системами и приложениями. В итоге Гейтс с друзьями четко изложил свое видение того, как сохранить привилегированное положение своей операционной системы и при этом удовлетворить потребности пользователей в мультимедиа. Так появились на свет интерфейсы DirectX. Эти API представляют собой объектно-ориентированную аппаратно независимую мультимедиа структуру. Очень важной частью DirectX стал API Direct3D, появившийся несколько позже, который содержал программный механизм воспроизведения (software rendering engine) и обеспечивал возможность работы со сложной 3D графикой. Direct3D может выполнять свою работу, используя вычислительные мощности CPU, т.е. с помощью программной эмуляции необходимой аппаратной части (работа через HEL, Hardware Emulation Layer), или он может использовать любое доступное аппаратное обеспечение, поддерживающее мультимедиа функции (через HAL, аппаратно независимый уровень Hardware Abstraction Layer).

С появлением DirectX маркетинговая война завершилась в пользу Microsoft, результатом (довольно предсказуемым) шумихи вокруг NSP API стал тихий отказ Intel от поддержки IA-SPOX для PC и уход в тень для зализывания полученных ран. Поэтому в ответ на фиаско NSP API на свет появился новый процессор Intel P55C с поддержкой MMX, т.е. с поддержкой мультимедиа (несмотря на то, что Intel не любит это признавать). Intel MMX представляет собой весьма умный дизайн. Никаких новых регистров, деструктивных для ОС, не было встроено. Также не появилось никаких новых API, которые могли бы привести в бешенство Microsoft. Вместо этого для MMX задействуются имеющиеся в Pentium 80-разрядные вещественные регистры, из которых восемь под псевдонимами стали использоваться мультимедиа приложениями. Другими словами, теперь вещественные (FP) регистры используются сразу на двух работах. Вещественные 80-разрядные регистры логически разделяются на 64-битные операнды. Эти 64-разрядные, рассчитанные только для MMX, операнды могут использоваться несколькими способами. Они могут содержать:

  • Восемь упакованных байтов
  • Четыре упакованных 16-разрядных слова
  • Два упакованных 32-разрядных слова
  • Или, наконец, одно 64-разрядное учетверенное слово

Кроме того, для использования этих FP регистров Intel создала 57 новых MMX инструкций. С помощью инструкции CPU-ID приложение может проверить наличие в системе процессора P55C MMX и на лету изменить порядок выполнения команд. Когда ваше приложение использует MMX мультимедиа возможности и затем переключается на использование операций с плавающей точкой, регистры сначала освобождаются для новых вещественных операций (EMMS: Empty MMX State). В многозадачных системах с приоритетом, таких, как Win95 и NT, такое переключение управляется операционной системой, поэтому приложение не обязано иметь возможность осуществлять контекстное переключение. Но эти операции с вещественными числами и MMX не могут выполняться одновременно одним приложением без существенного ущерба производительности, т.к. для контекстного переключения требуется большое количество CPU циклов, а именно 50 циклов.

Однако, с практической точки зрения, контекстное переключение не является большой проблемой, т.к., что хорошо известно Intel, большинство мультимедиа операций обычно представляют собой:

  • Маленькие, часто повторяющиеся циклы
  • Частые умножения и сложения
  • Алгоритмы с интенсивными вычислениями
  • Операции с высоким параллелизмом

MMX использует классическую технику параллельных обработок, известную под именем SIMD (single instruction, multiple data operation). Эта техника позволяет использовать одну инструкцию для операций над множеством данных. Но главное при параллельных вычислениях — это не аппаратная часть, а компиляторы. А создать высокопроизводительный алгоритм для параллельных вычислений очень сложно. Соответственно, без хороших компиляторов SIMD или любая другая архитектура параллельных вычислений будет не более чем просто рекламным пусканием пыли в глаза. Кстати, для MMX Intel изначально не предоставила ни одного SIMD компилятора. Вместо этого Intel заявила, что разработка этого жизненно важного программного обеспечения возложена на другие компании, такие как Microsoft и Watcom. Если Watcom в итоге создала C++ компилятор с поддержкой MMX, то для Microsoft поддержка MMX не настолько важна, и в итоге компилятор от Microsoft тоже появился, но достаточно посредственный. Вместо хорошего компилятора Microsoft предложила разработчикам программного обеспечения новый API Direct3D (работающий через HAL), который использовал лишь минимальные преимущества дополнительных 57 MMX инструкций.

Теперь понятно, почему все обещания о том, что новые MMX инструкции заставят работать приложений с модифицированным кодом на 100% быстрее при использовании P55C, оказались неправдой. На практике, простое увеличение кэша L1 с 16 Кб до 32 Кб дало прирост производительности на не MMX приложениях от 5% до 20%, а если приложение использовало MMX инструкции, достигался прирост производительности еще на 10%-20%, и все.

По стопам Intel, с целью улучшить мультимедиа возможности компьютеров за счет CPU, пошла и AMD, предложив в 1998 году свой набор инструкций 3Dnow!. По сути, упор был сделан на обработку инструкций для воспроизведения 3D графики. На практике, появились патчи для игр и драйверы для графических акселераторов с поддержкой 3DNow! инструкций, но выигрыш оказался минимальным (5-10%). Все та же нехватка хороших компиляторов дает о себе знать. Microsoft встроила поддержку 3DNow! в DirectX.

Недавно Intel анонсировал новое семейство процессоров — Pentium III, в которых реализована поддержка SSE, т.е. Streaming SIMD Execution. Как видно из названия, обещается потоковая обработка SIMD инструкций. К SSE Intel готовилась более основательно, чем к MMX, посмотрим, что из этого выйдет. Пока же нам представили всего четыре игрушки и один синтетический тест. А инструкции MMX присутствуют во всех современных процессорах Intel, вплоть до Xeon, но особых преимуществ от них нет.

Станет ли появление Pentium III с поддержкой SSE значительным событием? Пока говорить рано. В свое время Pentium MMX представлял собой очень значительное улучшение в x86 архитектуре со времен i386. В Pentium MMX (P55C) было введено параллельное вычисление, мультимедиа расширение с обратной совместимостью с программным обеспечением, увеличен размер L1 кэша. Кроме улучшений наблюдалась минимальная поддержка MMX со стороны Microsoft и жестокая борьба двух компаний за первенство в расширении и улучшении мультимедиа возможностей PC.

Итак, о стратегии и действиях Intel (и AMD) мы представление имеем. За подробностями относительно SSE и 3DNow! рекомендуем обратиться к разделу "Процессоры".

Какую стратегию выбрала Microsoft? Microsoft предложила свою собственную инициативу, выбрала в качестве названия имя Talisman. Кстати, первое кодовое имя было "Touchstone", т.е. "пробный камень", и состав разработчиков не разглашался полностью, точнее, не называлось только имя Microsoft, а фигурировали названия четырех компаний: Silicon Engineering, Cirrus Logic, Samsung Semiconductor и Fujitsu Microelectronics. Лишь после SIGGRAPH'96 все узнали новое название — Talisman — и имя главного партнера - Microsoft.

Идея Talisman базируется на создании аппаратной части для интерфейсов DirectX. В 1996 году на SIGGRAPH Microsoft представила на всеобщее обозрение бумагу, описывающую проект создания аппаратной части для DirectX/HAL. Эта бумага называлась: "Talisman: технология 3D графики реального времени для PC", а подготовили этот документ Джей Торборг (Jay Torborg) и Джеймс Т. Каджийя (James T. Kajiya). Эта бумага была посвящена новым программным/аппаратным способам создания 2D/3D графики, а также поддержке воспроизведения расширенного 3D звука, декодирования Dolby Surround звука, MPEG-2 и т.д. В конце концов, в августе 1996 года Microsoft официально объявила о новой инициативе Talisman, целью которой стало создание референс дизайна для промышленного производства. Этот референс дизайн вместе с технологическими описаниями должен будет использоваться для интеграции в системные платы или для реализации в виде отдельных PCI устройств аппаратных ускорителей графики, видео и звука.

Talisman разрабатывалась с учетом использования мультимедиа возможностей CPU, если таковые доступны. В планы Microsoft входило создание нового класса Talisman-PCI карт, правда, этот процесс оказался непростым. Microsoft начала новый джихад против Intel, потому что сердцем аппаратного обеспечения Talisman стал - сюрприз, сюрприз — DSP процессор! То, чему Intel так хотела закрыть дорогу в PC. Как было заявлено в бумаге на SIGGRAPH'96, этот "Медиа DSP процессор реализует видео кодек, обработку звука и предварительную обработку графики (трансформации, освещение и т.д.)". В дополнение к этому должны существовать несколько других "специализированных VLSI устройств и серийно выпускаемых компонентов" на этой новой PCI карте. И, наконец, Media DAC на этой PCI карте будет включать в себя поддержку USB канала для подключения джойстиков и подобных устройств, а также поддержку IEEE1394 (aka "FireWire") с ее возможностью прокачки данных со скоростью до 400 Мбит/сек по шине.

Несмотря на то, что Microsoft заявила о том, что CPU будет все еще играть существенную роль в этой новой мультимедиа вселенной, вполне вероятно, что эти определяемые Microsoft, контролируемые Microsoft PCI карты смогут управлять большей частью мультимедиа устройств в вашем PC. А какое место Talisman оставляет для Intel? Скорее всего, место будет аналогичным тому, какое занимала IBM со своей OS/2 до того момента, как Microsoft надавила кнопку Win-only, если Гейтс вновь выберет подобный путь развития. Правда, пока положение Intel является очень прочным. Более того, Intel вышла на рынок 2D/3D графических чипсетов, предложила новую инициативу AMR, в общем, всеми путями укрепляет и расширяет свое присутствие на рынке мультимедиа. Появление Pentium III с поддержкой SSE должно еще более укрепить позиции Intel. Но Microsoft вряд ли так просто откажется от борьбы за право определять мультимедиа судьбу PC. По крайней мере, Talisman создавался с целью доминировать, а не быть одним из многих. Напомним, что Microsoft очень гибко реагирует на все нововведения производителей CPU, встраивая поддержку их мультимедиа расширений в свой набор DirectX.

В бумаге, описывающей Talisman, Microsoft решительно разделяет общепринятую архитектуру PC, в которой все еще доминирует Intel, на две большие части: ширина полосы пропускания памяти и общие временные задержки системы, которые являются критичными для производительности. Microsoft приводит следующие цифры: для вывода графики в разрешении 640x480x8 бит при 75 Hz частоте вертикальной развертки требуется передавать данные со скоростью 23 Мб/сек. В разрешении 1024x768x24 бит при частоте обновления экрана в 75 Hz данные должны передаваться со скоростью 169 Мб/сек. Прибавьте к этому z-буферизацию, необходимость загрузки различных текстур и т.д., и величина требуемой ширины полосы пропускания может вырасти до 12000 Мб/сек. Напомним, что поддерживаемый в системных чипсетах AGP x2 обеспечивает скорость передачи данных 528 Мб/сек, соответственно, использование AGP x4 увеличит верхний предел до 1.2 Гб/сек. А если использовать технологии сжатия текстур, типа S3TC, то ограничения можно обойти. А если еще использовать память Rambus, то… но пока все новинки только в проектах. Как, впрочем, и Talisman является скорее стратегическим планом, нежели жесткой спецификацией для производства. Понятно, что когда речь идет о PCI платах, сделанных по технологии Talisman, подразумевается, что платы могут быть и AGP.

Напомним, что Microsoft не собирается изобретать все с нуля, наоборот, и история компании это хорошо показывает: парни из Редмонда всегда славились умением выбирать все лучшее и применять это для своей пользы и, конечно, во благо пользователей. В принципе, появление чипсетов системных плат с поддержкой AGP x4 и памяти Rambus ожидается уже осенью этого года. Но зато и база для карт Talisman становится еще более мощной. Кстати, для сравнения, специализированная графическая станция от Silicon Graphics RE2 имеет полосу пропускания шины памяти 10000 Мб/сек, и по этому поводу в бумаге о Talisman сказано: "Пройдет немного времени, и ничто не сможет превзойти акселераторы 3D графики PC" (Хотя, можно заметить, что превзойти не сможет ничто, кроме маркетинговой тактики Microsoft в стиле рапторов).

Сегодня Microsoft совершенно адекватно оценивает текущее состояние рынка памяти для PC, большие объемы системной памяти сегодня вполне доступны по цене, однако пока нет оснований ожидать, что объемы в ближайшее время будут резко увеличены, равно как нет оснований для резкого падения цен. В общем, рынок памяти можно считать стабильно развивающимся (память имеет все более высокие рабочие частоты и скорости передачи данных, растет плотность чипов) и не препятствующим развитию мультимедиа. А тогда, в 1996 году на SIGGRAPH, Microsoft неверно оценила перспективы развития рынка памяти, считая, что использование больших объемов системной памяти будет слишком дорого обходиться, ширины полосы пропускания будет совершенно недостаточно, а задержки по времени будут просто неприемлемы. Жизнь показала, что и Microsoft иногда ошибается.

Но Microsoft не была бы собой, если бы не делала надлежащих выводов из своих ошибок и не обладала способностью делать верные прогнозы. Что мы видим в отношении интерфейса и типа памяти в референс дизайне Talisman карт? Мы видим Rambus DRAM. Да, если принять во внимание, что Intel считает Rambus памятью следующего поколения PC на ближайшие лет пять, то начинаешь испытывать уважение к стратегам Microsoft. Кстати, Microsoft имеет лицензии на Rambus, которые были своевременно куплены, причем раньше, чем это сделала Intel. Но если Microsoft, купив лицензию и пакет акций, обеспечила себе гарантированный доступ к результатам разработок, то Intel активно включилась в эти разработки. Результаты совместной деятельности Intel и Rambus мы можем наблюдать уже сегодня по пресс-релизам и разделу "Коротко", а осенью мы должны стать свидетелями массового перехода на DRDRAM.

Напомним вкратце, что дает использование памяти Rambus. Это, прежде всего, высокоскоростная память, работающая на частотах от 600 МГц и выше, память, имеющая возможность прокачивать пакеты данных неограниченной длины. Память, имеющая малое время задержек за счет применения кэширования и выполнения параллельных операций работы с блоками памяти. По планам Intel, уже осенью мы сможем оснастить свои системы памятью DRDRAM, работающей на внутренней частоте 800 МГц и обеспечивающие передачу данных со скоростью 1.6 Гб/сек. Кстати, тогда же мы получим возможность использовать AGP x4.

Но вернемся к технологии Talisman, в референс спецификации которой предлагается использовать 4Мб RDRAM и два 600 МГц 8-разрядных Rambus канала. Такая конфигурация потенциально обеспечивает скорость передачи данных на уровне 1.2 Гб/сек. В этой памяти Rambus хранятся данные во время обработки графики. Эти данные Talisman логически разделяет на "куски" (chunks) по 32х32 бита. Формат 32х32 бита также очень удобно подходит для использования пакетных режимов Rambus, и при этом время на поиск данных в страницах, которые состоят из блоков памяти, не влияет на общую пропускную способность памяти.

Метод использования 32х32 "кусков", предлагаемый Microsoft, радикально отличается от традиционного 3D конвейера, в котором все изображение и все связанные с ним данные должны передаваться в едином потоке и загружаться для рендеринга. Подобные графические данные обычно занимают огромное пространство в системной памяти, плюс необходимо обеспечить доступ к этим данным. Вместо этого Microsoft предлагает использовать объектно-ориентированный механизм DirectX. Мы можем разделить все объекты изображения на куски по 32х32 пикселя, а затем поместить каждый объект, состоящий из кусков, на соответствующий уровень изображения. Мы можем иметь множество уровней изображения, а каждый уровень содержит множество кусков объектов, из которых состоит изображение. Таким образом, каждый уровень изображения может управляться индивидуально через интерфейсы DirectDraw и Direct3D.

Все вычисления для вывода графики могут производиться на основе иерархии объектов и границ. Как следствие такого дизайна, Talisman не использует кадровый буфер традиционным образом; "Вместо этого множество уровней изображения составляются вместе со скоростью воспроизведения видеоизображения на экране (читай — частота обновления экрана) для создания выходного видеосигнала".

Заметим, что VideoLogic/NEC используют технологию разбиения изображения на "куски", это т.н. tile-архитектура, благодаря которой создатели чипов серии PowerVR отказались от использования Z-буфера, разделив изображения на небольшие участки 32 на 32 пикселя, для каждого из которых проверяется видимость всех попадающих в него треугольников (а точнее, бесконечных плоскостей). Такое решение обеспечивает увеличение скорости закраски полигонов (fill rate) вне зависимости от ширины полосы пропускания памяти за счет простого увеличения числа обрабатывающих элементов. Другим преимуществом такого подхода является отсутствие необходимости в использовании классического кадрового буфера, в результате чего вся локальная видео память используется под хранение текстур. Кстати, скорость вывода графики при увеличении разрешения практически не уменьшается, в отличие от ускорителей, построенных по классической схеме "кадровый буфер плюс Z-буфер", но при этом производительность напрямую зависит от мощности процессора, проводящего сортировку полигонов.

Talisman является зависимой от времени системой обработки изображений. Например, если ничего не происходит в пределах конкретного куска объекта изображения в течение времени, за которое выводятся несколько кадров на экран, то этот объект просто не обновляется. Если вы скажете, что подобная схема временно-зависимой обработки похожа на технику компрессии MPEG-2, применяемую для DVD видео, вы будете правы. Microsoft заявляет, что за счет использования временно-зависимых техник трансформация уровней изображения может быть осуществлена значительно быстрее (в 10-20 раз быстрее), чем если бы вы непрерывно заново рассчитывали геометрию. Кроме этого, после того, как каждый кусок 32х32 последовательно воспроизведен, Talisman использует алгоритм компрессии изображений, похожий на применяемый в JPEG. Правда, обычно Microsoft называет эту компрессию типа JPEG своим собственным именем "TREC". И наконец, текстуры, которые являются причиной самых сильных расходов памяти, также сжимаются подобным способом и хранятся в локальной графической памяти, в данном случае — в памяти Rambus. В связи с тем, что Microsoft лицензировала технологию сжатия текстур S3TC у S3, вполне очевидно, что именно этот алгоритм будет в дальнейшем использоваться для компрессии текстур.

Если изобразить в виде схемы, как референс аппаратная часть Talisman осуществляет обработку и вывод изображений, мы получим примерно следующее:

  • Предварительная обработка изображений производится DSP, который функционирует под управлением ядра от Microsoft, работающего в режиме реального времени (разумеется, не под управлением IA-SPOX).
  • DSP преобразует 3D объекты в 2D вид.
  • Полученные данные разделяются на куски размером 32х32, а затем соотносятся с конкретной частью изображения, в отличие от метода сортировки огромного списка видимых полигонов.
  • Затем происходит обработка 2D изображений, сжатие JPEG/TREC, после чего разделенные на куски данные передаются в Rambus DRAM.
  • Затем начинает действовать Polygon Object Processor (POP — процессор, обрабатывающий полигоны в виде объектов) — основной процессор рендеринга. POP является VLSI чипом, который осуществляет выборку и декомпрессию кусков данных из чипов памяти Rambus. POP осуществляет обычные функции рендеринга, такие, как установка освещения, наложение текстур на полигоны, закраска полигонов, удаление невидимых поверхностей и сглаживание на уровне пикселей кусков изображения до пересылки данных обратно в память и т.д. Данные о полигонах считываются и преобразуются в координаты внутри текущего куска. Необходимые текстурные блоки запрашиваются из памяти и в случае необходимости декомпрессируются. POP содержит сложную схему конвейеризации для компенсации задержек, возникающих при получении текстурных данных из памяти и их декомпрессии с целью исключения простаивания конвейера рендеринга. Текстуры совмещаются с данными изображения с использованием продвинутых техник фильтрации (анизотропная фильтрация), а удаление невидимых поверхностей осуществляется с использованием расположенного в чипе Z-буфера. Наложение теней осуществляется в режиме реального времени с помощью встроенного Pixel Engine.
  • Так как буфер кадров как таковой не используется, повторно обработанные данные об объекте помещаются чипом POP обратно в память Rambus. Предполагалось, что первые POP чипы смогут воспроизводить 40 млн. пикселей в секунду с использованием анизотропной фильтрации и сглаживания при текстурировании.
  • Тем временем другой VLSI чип, Image Layer Compositor (ILC — составитель уровней изображения), постоянно сканируя обработанные POP данные, строит сцену, т.е. составляет изображение из отдельных объектов, причем за один проход сканируется 32 линии. (Первые варианты VLSI чипов, реализующих функции POP и ILC, сделали компании Silicon Engineering и Cirrus Logic). ILC перемещает выбранные пиксели в strip buffer, в котором и происходит составление сцены из линий. До помещения в композитный буфер (strip buffer) ILC выполняет аффинные преобразования над выбранными из памяти кусками изображения, обработанными POP. И вновь данные, получаемые из памяти, декомпрессируются в режиме реального времени с использованием конвейера, аналогичного используемому в POP, с целью избежания простоев из-за задержек на декомпрессию и выборку. Нетрудно заметить, что ILC и POP имеют одинаковую архитектуру, что сокращает время, требуемое на разработку чипов. ILC управляет процессами масштабирования, фильтрации на уровне пикселей до записи в композитный буфер результирующего пикселя наряду с альфа коэффициентом для каждого пикселя. Композитный буфер является двойным и содержит компоненты, состоящие из 32 линий каждый. Альфа-коэффициент дает возможность для накопления значений непрозрачности для каждого пикселя, обеспечивая правильное сглаживание и прозрачность. Несмотря на то, что функции рендеринга, выполняемые ILC, гораздо проще тех, что выполняются POP, все они выполняются на скорости отображения с использованием четырех параллельных пиксельных каналов, обеспечивающих декомпрессию и составление изображений со скоростью 320 млн. пикселей в секунду и с тактовой частотой 80 МГц.
  • Одновременно ILC проверяет, переместился ли объект по сравнению с предыдущей построенной сценой, т.е. по сравнению с последним кадром, выведенным на экран. Сравнение происходит на основе данных о глубине и прозрачности, начиная с уровня изображения, которое ближе всего к наблюдателю, т.е. к экрану. Благодаря этому уровни изображения не совмещаются до тех пор, пока они не попадут в strip buffer, в котором происходит составление сцены, и уже оттуда данные попадают в RAMDAC, а оттуда — на экран монитора.
  • Если объект переместился, тогда ILC применяет аффинные преобразования, при этом все операции производятся над полигонами, и в результате создается иллюзия настоящего 3D движения.

Заметим, что все три VLSI компонента Talisman могут быть реализованы в одном чипе. Впрочем, впоследствии так и было сделано.

Нетрудно отметить, что архитектура Talisman работает с графикой совершенно не так, как это осуществляется в других методах. Вместо того, чтобы перемещать данные в кадровый буфер, Talisman может составлять сцену, например, из изображений вашего рабочего стола, вашего компьютера и доски объявлений, т.е. оперируя объектами. Отдельные изображения соединяются вместе в процессе составления в strip buffer. Обычные технологии для работы с графикой требуют полного обновления и регенерации всей сцены, для чего интенсивно используется работа с памятью. Однако Talisman не требует обновления всей сцены, заново регенерируется лишь та часть сцены, которая изменилась по сравнению с предыдущим кадром. Понятно, что скорость обработки графики таким методом может быть существенно выше. Это одно из главных преимуществ Talisman в области обработки 3D графики.

Такие преимущества обеспечиваются за счет использования решения, позволяющего эффективно и экономно использовать ресурсы памяти, это "chunking", т.е. разделение изображения на куски, а затем компрессия этих кусков и раздельная обработка каждого куска в отдельности. В результате, Talisman обеспечивает возможность осуществления многопроходного рендеринга для получения таких эффектов, как отражения и тени в реальном времени.

Итак, архитектура Talisman для обработки графики состоит из четырех ключевых компонентов: Image Layer Compositor (композитор уровней изображения), Compression (компрессия), Chunking (разделение изображения на куски) и Multipass Rendering (многопроходный рендеринг, т.е. воспроизведение изображения за несколько проходов). Как было описано выше, использование ILC позволяет несколько раз задействовать одни и те же неизменяемые элементы сцены в нескольких кадрах, что существенно снижает загрузку основного движка воспроизведения, позволяя сфокусироваться на обеспечении высокого качества изображений. Концепция кадрового буфера полностью изменена — вместо хранения и отображения целого кадра отображается серия компонентов или линий. Отображаемые данные для каждого компонента передаются, трансформируются и совмещаются в двойном композитном буфере (strip buffer). Применение двойного композитного буфера дает следующее: когда отображается один компонент изображения из основного strip буфера, во втором буфере происходит составление второго компонента. Поверхности масштабируются, преобразуются, вращаются и искажаются при записи в композитный буфер при использовании 24-битной точности на пиксель, плюс коэффициент прозрачности 8-бит. Все это позволяет использовать одну и ту же исходную поверхность в таком количестве кадров, насколько это возможно, и до тех пор, пока не возникнет необходимость воспроизвести эту поверхность полностью заново.

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

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

Конечным результатом использования программно/аппаратной архитектуры обработки изображений Talisman, по заявлению Microsoft, является то, что преодолеваются ограничения, накладываемые шириной полосы пропускания памяти и скоростью работы процессора обработки графики. В тоже время карты, реализующие технологию Talisman, смогут обеспечить пользователю возможность работы с разрешением 1280х1024 и выше при частоте обновления экрана 75 Гц и при 24-битном представлении цвета (во всех разрешениях). Понятно, что для 96 года это были крутые цифры, сегодня же следует ожидать изменений в сторону увеличения разрешений. Заметим, что еще на SIGGRAPH'96 в бумаге по Talisman говорилось о том, что карты, реализующие эту технологию, будут иметь возможность воспроизведения сцены, состоящей из 20000-30000 полигонов, а ведь даже современные игры далеко не все имеют сцены такой сложности. При этом одним из главных факторов в пользу Talisman называлась стоимость карт, на 1996 год цена карты с параметрами, которые и сегодня были бы далеко не последними, называлась в районе $500 для конечного пользователя при $200-300 затрат на компоненты, для того времени цена очень невысокая, если не сказать — низкая.

Ну, хорошо, а в чем проблема? Почему же до сих пор мы не увидели карт, реализующих поддержку Talisman? Тут несколько факторов. Во-первых, стоит сразу оговорится, что в той или иной степени, но на рынке уже появлялись продукты, в разной степени реализующие технологию Talisman. Дело в том, что многим компаниям пришлось существенно пересмотреть свои планы по развитию аппаратной и программной части. Просто проигнорировать инициативу лидера в области программного обеспечения было нельзя. Многие компании пошли по пути частичного лицензирования Talisman и в том или ином виде реализовывают эту технологию в своих продуктах. Одним из ярких примеров являются компании VideoLogic, Chromatic Research, Cirrus Logic.

Далее, Microsoft сама не занималась производством аппаратной части, перекладывая это бремя на своих партнеров, но часть партнеров ушли с рынка, другие частично потеряли свои позиции, частично не очень удачно действуют на этом рынке. Достаточно вспомнить Cirrus Logic и Trident: первая компания ушла с рынка мультимедиа, вторая еще работает, но пока без серьезных успехов. Плюс, не стоит забывать о главном конкуренте Microsoft в области мультимедиа — Intel. Тут стоит отдать Intel должное, так как корпорация времени зря не теряла и развивала наступление по всем фронтам. Вспомним введение AGP, главная задача которого — снижение стоимости карт за счет использования для хранения текстур не ограниченной локальной памяти видео карты, а системной памяти компьютера, объемы которой, как правило, больше. Лицензирование технологии Rambus и активное продвижение этого типа памяти в качестве системной, а, значит, в перспективе проблем с пропускной способностью не будет, особенно с учетом AGP Mode x4. Совсем недавняя инициатива AMR, которая, по сути, резервирует место на системной плате для модема и звуковой карты. В результате Intel говорит производителям периферии и OEM: зачем вам PCI карта, реализующая технологию Talisman, которая может выводить графику, видео, звук, а также выполнять роль модема, USB хаба и IEE1394 порта? Ведь можно давно делать деньги, производя отдельно AGP видео/графический акселератор, отдельно PCI звуковой ускоритель, отдельно PCI модем, а для недорогих решений используйте AMR и интегрированное видео.

Фактически Intel развивала и развивает наступление по аппаратному фронту, но не забывала и про поддержку программную. Теперь к выходу Pentium III с поддержкой SSE Intel уже не полагается на то, что Microsoft будет помогать. Теперь уже Intel работает с разработчиками приложений напрямую, причем ориентируется не только на ОС от Microsoft. В принципе, нам, как пользователям, все это на руку. Чем сильнее конкуренция, тем все более мощные, универсальные и качественные решения нам предлагаются, но главное — по все более разумной цене.

А что же Microsoft? А Microsoft, в общем-то, не сильно переживает. Пока, по крайней мере. Дело в том, что Microsoft всегда славилась умением выбирать лучшее из доступного. AGP придумали? Хорошо, приживется, будем использовать. Ведь идеология AGP ничуть не противоречит идеологии Talisman. AMR предлагаете? Посмотрим, что из этого получится. Но главный козырь в руках Microsoft — это операционные системы и DirectX. Напомним, что на смену DirectX идет Fahrenheit, а точнее, на смену графической части. Это уже кроссплатформенность, а не только x86. Правда, Fahrenheit ориентирован именно на графику, поэтому DirectX как таковой никуда не исчезнет, ведь кроме DirectDraw и Direct3D есть еще масса интерфейсов: DirectSound, DirectSound3D, DirectMusic, DirectPlay и т.д. По сути, Talisman состоит из двух частей: программной (сегодня это DirectX) и аппаратной. После полного внедрения WDM мультимедиа архитектура для Windows будет иметь следующий вид:

Нетрудно заметить, что связь приложения с аппаратной частью обеспечивается с помощью интерфейсов DirectX, OpenGL и WDM (Windows Driver Model) , которая получит широкое применение в Windows 2000.

Заметим, что в текущей архитектуре интерфейс OpenGL использует собственный драйвер (ICD или MCD) на уровне HAL/DDI.

Фактически, Talisman существует, надо только собрать единое целое из мозаики решений. С другой стороны, DirectX, а точнее, Direct3D еще далек от совершенства, поэтому торопиться Microsoft некуда. К слову, изначально Talisman представлял собой именно стратегию, типа генерального плана по созданию универсального мультимедиа решения. Одной из важнейших целей Talisman была обрисовать разработчикам и производителем путь, по которому нужно двигаться, если они хотят дружить с Microsoft. Нетрудно заметить, что с этой задачей Talisman уже справился, достаточно посмотреть на современные приложения — все они поддерживают D3D.

Самый интересный вопрос, возникающий в связи с Talisman, это какие же чипы будут заниматься обработкой графики? Мы знаем мнение Intel по этому поводу в виде MMX и SSE, мы знаем решение AMD в виде 3DNow!, но мы знаем и все ограничения этих технологий. Без аппаратного ускорителя графики в виде чипа, интегрированного в системную плату, чипсет системной платы или отдельный видеоадаптер PCI/AGP эти технологии не смогут обеспечить требуемый уровень производительности и поддержку всех необходимых функций. Скорее, они могут рассматриваться в виде сил поддержки. Microsoft возлагает свои надежды на DSP решения. Применение DSP вместо использования CPU со специальными расширениями типа SSE остается более дешевым, а главное — производительным решением. Пусть CPU занимается своим основным делом, а избыток мощностей мы будем использовать в помощь специализированному DSP. Работы некоторых производителей чипов и DSP в направлении создания продуктов, реализующих технологию Talisman, уже достаточно долго ведутся и небезуспешно.

В качестве реального примера эффективности DSP рассмотрим игровую приставку Nintendo 64, внутри которой установлен 64-разрядный RISC процессор MIPS R4300i от SGI, работающий на частоте 93.75 MHz. Этот процессор R4300i также поддерживает 64-разрядный сопроцессор FPU. Кроме этого, поддерживается MIPS сопроцессор, т.н. Reality Co-Processor (RCP), работающий на частоте 62.5 MHz. Эти два MIPS чипа, производимые компанией NEC по лицензии SGI, напрямую взаимодействуют друг с другом без какой-либо промежуточной логики. Плюс к этому, R4300i имеет встроенный кэш: 16 Кб для инструкций и 8 Кб для данных. На самом деле, RCP состоит из двух чипов, встроенных в один силикон. Одна часть — это DSP ядро, выполняющее около 450-500 миллионов операций в секунду, другая часть называется "Pixel Engine". Этот Pixel Engine производит все операции, связанные с закраской полигонов, операции трансформации, текстурирование и т.д. Pixel Engine может полностью обрабатывать около 500 тысяч полигонов в секунду. И, что самое интересное, в качестве шины памяти и самой памяти используется вариант Rambus DRAM с пропускной способностью 500 Mb/сек. Итак, перед нами действующий (и действующий очень хорошо) продукт, в котором реализовано решение, очень напоминающее архитектуру Talisman.

Среди компаний, занимающихся созданием специальных DSP для поддержки Talisman, можно назвать Philips Electronics North America, Samsung Electronics совместно с 3DO, Fujitsu Microelectronics.

Samsung разработала MSP-1 (Media Signal Processor). MSP-1 содержит RISC ядро ARM-7, дополненное процессором, обрабатывающим вещественные векторы и целый набор движков со специальными функциями. MSP-1 может управлять декодированием MPEG-2 звуковых и аудиопотоков, а также реализовывать функцию модема. При этом около половины мощности MSP остается для обработки 3D графики. В результате становится возможным использование приложений, совмещающих в себе 3D графику, видео и коммуникационные возможности.

Одним из самых первых законченных решений стал DSP от Philips. Philips, используя наработки Samsung, создала TriMedia DSP, который использует технику VLIW (Very Long Instruction Word). Знакомый термин, не так ли? Да-да, все еще ждут появления Merced или конкурентов, а DSP с использованием таких инструкций уже есть. Подобно архитектуре SIMD, применяемой в MMX и 3DNow!, метод VLIW также зависит от наличия хорошего компилятора. Но в этом случае Philips, в отличие от истории Intel с MMX, потратила достаточно времени и денег, чтобы создать все необходимое для разработчиков программное обеспечение, включая компилятор.

Philips официально анонсировала планы по созданию TriMedia еще в ноябре 1996 года. Получившийся в результате чип назвали TM-1 (TriMedia-1). TM-1 работает на частоте 400 МГц, а его внутренняя шина способна прокачивать 400 Мб данных в секунду. Благодаря этим параметрам чип TM-1 способен выполнять 4 миллиона операций в секунду (все спецификации основаны на исполнении C кода). TM-1 может одновременно управлять несколькими типами медиа данных, заниматься обработкой графики, а также поддерживает стандарты Dolby Digital, MPEG, H.320 и H.324 для видеоконференций. Неправда ли, впечатляющие возможности? Только вот где же карты на основе этого DSP? Ах да, они появились, но только для компьютеров от Apple в виде PCI карт. Это было в 1997 году и прошло незамеченным из-за проблем у самой Apple и ограниченных объемов поставок.

Немного позднее Philips начала разрабатывать новую и совершенно независимую версию TM-1, получившую имя TM-MS (TriMedia-Microsoft) специально для поддержки архитектуры Talisman. TM-MS чип одновременно совмещает в себе медиа процессор и процессор обработки полигонов. В разработке процессора для обработки полигонов принимали значительное участие инженеры из Silicon Engineering и Cirrus Logic, т.е. те же компании, которые также создали два специализированных Talisman VLSI чипа: POP и ILC. Такая совмещенная архитектура имеет встроенный движок расположения полигонов в 3D пространстве, разгружая тем самым от задач по расчету геометрии и освещения CPU. Но, разумеется, это сказывается на масштабируемости, так как мощности процессоров растут. С другой стороны, на CPU можно переложит другие задачи. В общем, решение на сегодня довольно стандартное.

Кстати, Apple специально портировала на TriMedia процессор свой объектно-ориентированный (и хорошо разрекламированный) интерфейс QuickDraw3D. Главным преимуществом QuickDraw3D над Direct3D от MS является возможность переноса на другие платформы и, в частности, возможность использования под Windows. С другой стороны, Microsoft не сидит сложа руки. Во-первых, Гейтс и компания прикупили акций Apple, во-вторых, на смену DirectX идет Fahrenheit. В свете этого, отсутствие в массовых объемах на рынке карт, реализующих технологию Talisman можно объяснить проблемами с разработками и тщательной подготовкой к решающему удару. Логично предположить, что Talisman будет переориентирован на более прогрессивный набор интерфейсов Fahrenheit. Более того, есть все основания предполагать, что Microsoft серьезно займется аппаратным обеспечением для PC. Скорее всего, будет создана новая компания или куплено пару независимых производителей. Так как Microsoft участвует в разработки всех промышленных стандартов, доступ к необходимым технологиям имеется, маркетингового опыта команде Гейтса не занимать, да и опыт производства и продажи под своей маркой непрограммных продуктов тоже имеется, достаточно вспомнить мышки, джойстики и акустические системы. Время покажет, что получится в итоге.

И все же, если говорить прямо, что же такого особенного в технологии Talisman, за исключением планов Microsoft прибрать к рукам мультимедиа рынок и обеспечить Intel несколько бессонных ночей?

На самом деле, даже у Microsoft бывают неприятности, не считая разбирательств в FTC. Например, компания Cirrus Logic, которая сделала собственный Talisman чип, вышла из игры, в результате чего Microsoft пришлось перенести сроки создания референс карты Escalante, построенной на базе четырех чипов и реализующей архитектуру Talisman.

3D ядро для Escalante разрабатывала компания Silicon Engineering, имеющая 15 летний опыт в этой области. Референс дизайн Escalante d был полностью завершен, и любая заинтересованная компания могла его лицензировать у Microsoft.

Тем не менее, на смену Cirrus Logic пришли другие компании, например, Trident. А такие разработчики 3D графических чипов, как S3 и ATI, лицензировали некоторые части архитектуры Talisman, ориентированные только на 3D графику. Кстати, ATI купила все разработки Chromatic Research, чей чип Mapct2 представлял собой DSP, обрабатывающий 2D/3D графику, декодирующий MPEG-2 видео и при этом использующий интерфейс и память от Rambus. Так что не исключено, что ATI более серьезно займется разработками в области Talisman решений. Более того, еще в прошлом году Fujitsu официально анонсировала одночиповое решение Marquis 2000, реализующее архитектуру Talisman. Правда, дальше анонса пока дело не пошло, хотя было обещано, что производители графических карт получат семплы в конце 1998/начале 1999 года. С другой стороны, в названии чипа присутствует цифра 2000, так что вполне вероятно, что первые карты, построенные на основе архитектуры Talisman, мы увидим не ранее 2000 года, тогда же появится и Windows2000, и первый интерфейс проекта Fahrenheit.

Кстати, так как появились одночиповые решения, реализующие архитектуру Talisman, Microsoft пересмотрела и референс дизайн карты Escalante, при этом стоимость такого решения оценивается уже в пределах менее $100. А ведь известно, что цена является одним из важных факторов, влияющих на успех продукта. Прибавьте к этому то, что Talisman карты будут занимать не только 3D/2D графикой, но также обеспечивать декодирование MPEG-2 видео и AC-3 звука, воспроизведение 3D звука, читай — поддержка DS3D и расширений, не исключено, что будет реализована поддержка MPEG-4, и в результате мы получаем совершенно новый и очень привлекательный продукт.

Разработчики, использующие интерфейсы DirectX, могут быть уверены, что создаваемые приложения изначально совместимы с Talisman. По заявлению самой же Microsoft, компания не пытается сделать деньги на Talisman, деньги Microsoft делает и будет делать на программном обеспечении, которое отвечает потребностям рынка. Главная цель Talisman, по мнению самой Microsoft, это избавление от проблем с аппаратной частью, что обеспечит возможность создавать любое желаемое программное обеспечение, например, 3D Windows.

Итак, можно констатировать, что технологические решения, заложенные в архитектуру Talisman, до сих пор не потеряли актуальность. Многие части Talisman воплощены в реальных продуктах. Более того, процесс исследований и разработок продолжается, и не исключено, что мы еще увидим продукты с пометкой "Talisman Ready". Есть все основания предполагать, что с выходом Fahrenheit технология Talisman не прекратит своего существования, так как по своей сути это стратегический план и рекомендации по дизайну, а не жестко установленные рамки. Фактически, идеология Talisman направлена на создание соответствующей аппаратной части для интерфейсов от Microsoft, обеспечивающих взаимодействие с приложениями. Если приложение использует API от Microsoft, то применение аппаратной части, соответствующей спецификациям Talisman, гарантирует полную совместимость и работоспособность. Более того, то, что многие разработчики аппаратной части лицензировали частично или полностью Talisman, но при этом не афишируют этого, говорит лишь о гибкости политики Microsoft и подтверждает, что главной целью компании Гейтса является укрепление своих позиций в области программного обеспечения, а аппаратное поприще пока рассматривается как второстепенное направление. Ну что же, своих целей на текущем периоде Microsoft явно достигла. Набор интерфейсов DirectX является доминирующим при использовании и создании приложений в среде Windows.

Что касается цели данного материала, то, прежде всего, мы стремились предоставить информацию о стратегии Microsoft в области развития мультимедиа возможностей PC. Термин "Talisman" периодически встречается в компьютерной прессе, теперь мы знаем его значение и знаем планы Microsoft на ближайшие годы.

Использованы материалы Microsoft и The VXM Network




12 апреля 1999 Г.

Talisman

Talisman

"Те, кто при создании современных высокопроизводительных и дешевых аппаратных и программных систем (для обработки изображений и графики) делает ставку лишь на улучшения в технологиях CPU и на высоко интегрированные решениях типа СБИС (VLSI, very large-scale integration), на самом деле, недостаточно внимательно относятся к сущности реально действующих в промышленности фундаментальных сил".

– Это еще в 1996 году на SIGGRAPH заявил представитель Microsoft, рассказывая об архитектуре Talisman.



О каких фундаментальных силах компьютерного рынка говорил представитель Microsoft, мы можем догадаться. Это несложно. И действительно, если посмотреть на стратегию Intel, легко заметить, как красной нитью просматривается стремление первой, самой_любимой_корпорации предложить рынку все решения собственного производства. Сначала появилась технология MMX, затем SSE (KNI), AMR, чипсеты для системных плат с интегрированным видео. По стопам Intel двигается и сильнейший конкурент — AMD. А что же Microsoft? Гигант софтверного рынка не довольствуется только программным обеспечением. Если посмотреть новости за последние пару лет, то можно заметить, что под маркой Microsoft появляются и аппаратные решения. Не говоря уже о том, что ни одна современная спецификация для PC не обходится без участия Microsoft, а в области цифрового TV по запросу через Интернет вторая_самая_любимая занимает ведущее положение. Сразу в памяти всплывают упоминания о таинственной архитектуре Talisman, элементы которой уже используются в некоторых решениях третьих производителей. Так что же это такое — Talisman? Для начала расскажем немного истории.

Первые x86 совместимые компьютеры были очень слабы в области графики. Соответственно, свободный сегмент рынка 2D/3D графики и CAD систем был захвачен конкурентами: Silicon Graphics, Intergraph и Apollo Computers. Правда, и разработки от Intel конкуренты не использовали, а значит, и операционные системы от Microsoft интереса не представляли. Но два гиганта не могли смириться с таким положением вещей, и постепенно возможности платформы Intel в тандеме с программным обеспечением от Microsoft стали обеспечивать поддержку работы с графикой. Сначала появилась поддержка работы с графикой в операционной системе, затем стали появляться специализированные чипы, а потом и графические акселераторы. С течением времени потребности пользователей в возможности поддержки компьютерами обработки видео и звука все больше возрастали. Если рынок требует чего-то, как правило, рынок это получает. Появление устройств CD-ROM в компьютерах дало сильный толчок в развитии мультимедиа. Появление WWW сделало существование компьютеров без поддержки мультимедиа и коммуникационных возможностей никому ненужным.

Проблема была в том, что рост вычислительных мощностей процессоров от Intel все равно не успевал за потребностями пользователей в области графики и мультимедиа. Причем сама Intel была виновата в этом лишь отчасти. Дело в том, что сильнейшим тормозом развития поддержки мультимедиа и графики в PC системах была постоянная необходимость поддержки полной обратной совместимости со старыми процессорами, операционными системами и приложениями. Хорошим решением было бы отказаться от груза архитектуры x86 и начать все с чистого листа. Поддержка обработки мультимедиа приложений была самым больным местом для Intel, но и отказаться от обратной совместимости корпорация не решилась. Как мы знаем, в ближайших планах на 2-3 года, Intel так и не собирается отказываться от этой совместимости, а будет параллельно поддерживать две архитектуры. Но самое неприятное для Intel было то, что с мультимедиа приложениями отлично, а главное очень дешево, справляются DSP (Digital Signal Processor). Упускать такой рынок было бы непростительной ошибкой, возможно, даже непоправимой. И в недрах Intel родился новый стратегический план.

Летом 1995 года Intel объявила о создании инициативы NSP (Native Signal Processor), которая в паре со специализированным API должна была решить проблему поддержки обработки графики и мультимедиа процессорами корпорации. Intel исходила из того, что некоторые части мультимедиа приложений могут выполняться с помощью центрального процессора (CPU), поэтому почему бы не возложить такие задачи на него? Процесс переноса операций, выполняемых специализированными DSP на CPU получил название NSP или, говоря иными словами, NSP — это вариант программного DSP от Intel. Изначально, в качестве первого кандидата на реализацию через NSP, Intel выбрала поддержку сложных, выполняемых в реальном времени приложений обработки цифрового звука (например, игры). Для реализации функций Native Audio (т.е. обработки звуковых процессов с использованием CPU) Intel использовала IA-SPOX, на чье ядро, работающее в реальном времени, была возложена обязанность управления звуковой частью NSP. Для разработчиков Intel предложила специальный API, с помощью которого можно было создавать приложения, использующие возможности IA-SPOX. Потом очередь дошла до графики и видео.

IA-SPOX представляет собой операционную систему реального времени (RTOS) для DSP, адаптированную для платформы x86 и запускаемую под Windows. Фактически Intel портировала широко распространенную RTOS SPOX от Spectron Microsystems с многозадачным ядром, работающим в реальном времени, специально рассчитанным для управления встроенными DSPприложениями. На самом деле, адаптацию SPOX под Windows осуществила сама компания Spectron. Сначала появилась реализация для Windows 3.X, а затем и для Windows 95. В настоящее время операционная система IA-SPOX принадлежит Texas Instruments.

IA-SPOX работает под Windows 95 за счет использования VxD, устанавливаемых в кольцо 0, и фактически встраиваясь в виде первичного сервиса распределения прерываний, т.е. IA-SPOX предшествует всем задачам Windows 95. Заметим, что сначала DirectX работал на уровне кольца 3, лишь впоследствии интерфейсы Microsoft стали работать на уровне кольца 0. Spectron Microsystems создала программный сопроцессор реального времени для Windows95, IA-SPOX-RTC, специально ориентированный на приложения PC, такие, как управление и контроль в реальном времени. IA-SPOX-RTC дает возможность приложениям Windows 95 получить быстрый и надежный доступ к процессору Pentium без длительных и непредсказуемых задержек по времени, которые обычны для Windows 95. IA-SPOX-RTC обеспечивает полноценную многозадачную среду в реальном времени, которая работает в качестве программного сопроцессора реального времени для Windows 95. Внедрение NSP гарантировало бы Intel возможность контроля за ключевыми API, что дало бы дополнительные преимущества над конкурирующими процессорами от AMD и Cyrix. Ядро IA-SPOX загружалось до Windows95 и обеспечивало поддержку большинства функций интерфейса DirectX (прежде всего DirectVideo и DirectDraw).

В качестве главного аргумента в пользу NSP Intel выдвигала тезис о том, что для поддержки мультимедиа функций, таких, как проигрывание звука и видео, нет необходимости в специализированных DSP и операционной системе, которая бы обеспечивала их работоспособность, а всю работу будет выполнять CPU, разумеется, от Intel, в паре с интерфейсами, взаимодействующими с приложениями через IA-SPOX. Более того, пользователь даже сэкономит, так как не надо будет ничего дополнительно покупать. Конечно, Intel лукавит, так как покупать надо, прежде всего процессор, который стоит гораздо больше (в 2 и более раз), чем карта на основе специализированного DSP. Позднее Intel модифицировала свой тезис, заявив: поставьте в систему Pentium II (III), а все остальное мы эмулируем. Но рынок все расставил и расставляет на свои места.

Прежде всего планы Intel никоим образом не устраивали Microsoft. Империя нанесла ответный удар и победила. Гнев Microsoft немедленно пал на Intel, подобно гневу ветхозаветного бога. В своем яростном ответе Microsoft по существу приказала разработчикам программного обеспечения использовать только их новое семейство интерфейсов DirectX, которое заменило ядро реального времени IA-SPOX на высокоэффективные драйверы. Изначально интерфейсы DirectX были частью комплекта разработчика игрового программного обеспечения (Game SDK) для Windows95 и включали в себя DirectDraw, DirectSound, DirectPlay и DirectInput.

С помощью DirectX Microsoft ловко разрубила гордиев узел, который так запутала Intel. Microsoft понимала, что рано или поздно, но ей придется решать проблему с ограниченной поддержкой мультимедиа в PC. И даже больше, чем Intel, Microsoft также понимала, что должна обеспечить обратную совместимость со своими операционными системами и приложениями. В итоге Гейтс с друзьями четко изложил свое видение того, как сохранить привилегированное положение своей операционной системы и при этом удовлетворить потребности пользователей в мультимедиа. Так появились на свет интерфейсы DirectX. Эти API представляют собой объектно-ориентированную аппаратно независимую мультимедиа структуру. Очень важной частью DirectX стал API Direct3D, появившийся несколько позже, который содержал программный механизм воспроизведения (software rendering engine) и обеспечивал возможность работы со сложной 3D графикой. Direct3D может выполнять свою работу, используя вычислительные мощности CPU, т.е. с помощью программной эмуляции необходимой аппаратной части (работа через HEL, Hardware Emulation Layer), или он может использовать любое доступное аппаратное обеспечение, поддерживающее мультимедиа функции (через HAL, аппаратно независимый уровень Hardware Abstraction Layer).

С появлением DirectX маркетинговая война завершилась в пользу Microsoft, результатом (довольно предсказуемым) шумихи вокруг NSP API стал тихий отказ Intel от поддержки IA-SPOX для PC и уход в тень для зализывания полученных ран. Поэтому в ответ на фиаско NSP API на свет появился новый процессор Intel P55C с поддержкой MMX, т.е. с поддержкой мультимедиа (несмотря на то, что Intel не любит это признавать). Intel MMX представляет собой весьма умный дизайн. Никаких новых регистров, деструктивных для ОС, не было встроено. Также не появилось никаких новых API, которые могли бы привести в бешенство Microsoft. Вместо этого для MMX задействуются имеющиеся в Pentium 80-разрядные вещественные регистры, из которых восемь под псевдонимами стали использоваться мультимедиа приложениями. Другими словами, теперь вещественные (FP) регистры используются сразу на двух работах. Вещественные 80-разрядные регистры логически разделяются на 64-битные операнды. Эти 64-разрядные, рассчитанные только для MMX, операнды могут использоваться несколькими способами. Они могут содержать:

  • Восемь упакованных байтов
  • Четыре упакованных 16-разрядных слова
  • Два упакованных 32-разрядных слова
  • Или, наконец, одно 64-разрядное учетверенное слово

Кроме того, для использования этих FP регистров Intel создала 57 новых MMX инструкций. С помощью инструкции CPU-ID приложение может проверить наличие в системе процессора P55C MMX и на лету изменить порядок выполнения команд. Когда ваше приложение использует MMX мультимедиа возможности и затем переключается на использование операций с плавающей точкой, регистры сначала освобождаются для новых вещественных операций (EMMS: Empty MMX State). В многозадачных системах с приоритетом, таких, как Win95 и NT, такое переключение управляется операционной системой, поэтому приложение не обязано иметь возможность осуществлять контекстное переключение. Но эти операции с вещественными числами и MMX не могут выполняться одновременно одним приложением без существенного ущерба производительности, т.к. для контекстного переключения требуется большое количество CPU циклов, а именно 50 циклов.

Однако, с практической точки зрения, контекстное переключение не является большой проблемой, т.к., что хорошо известно Intel, большинство мультимедиа операций обычно представляют собой:

  • Маленькие, часто повторяющиеся циклы
  • Частые умножения и сложения
  • Алгоритмы с интенсивными вычислениями
  • Операции с высоким параллелизмом

MMX использует классическую технику параллельных обработок, известную под именем SIMD (single instruction, multiple data operation). Эта техника позволяет использовать одну инструкцию для операций над множеством данных. Но главное при параллельных вычислениях — это не аппаратная часть, а компиляторы. А создать высокопроизводительный алгоритм для параллельных вычислений очень сложно. Соответственно, без хороших компиляторов SIMD или любая другая архитектура параллельных вычислений будет не более чем просто рекламным пусканием пыли в глаза. Кстати, для MMX Intel изначально не предоставила ни одного SIMD компилятора. Вместо этого Intel заявила, что разработка этого жизненно важного программного обеспечения возложена на другие компании, такие как Microsoft и Watcom. Если Watcom в итоге создала C++ компилятор с поддержкой MMX, то для Microsoft поддержка MMX не настолько важна, и в итоге компилятор от Microsoft тоже появился, но достаточно посредственный. Вместо хорошего компилятора Microsoft предложила разработчикам программного обеспечения новый API Direct3D (работающий через HAL), который использовал лишь минимальные преимущества дополнительных 57 MMX инструкций.

Теперь понятно, почему все обещания о том, что новые MMX инструкции заставят работать приложений с модифицированным кодом на 100% быстрее при использовании P55C, оказались неправдой. На практике, простое увеличение кэша L1 с 16 Кб до 32 Кб дало прирост производительности на не MMX приложениях от 5% до 20%, а если приложение использовало MMX инструкции, достигался прирост производительности еще на 10%-20%, и все.

По стопам Intel, с целью улучшить мультимедиа возможности компьютеров за счет CPU, пошла и AMD, предложив в 1998 году свой набор инструкций 3Dnow!. По сути, упор был сделан на обработку инструкций для воспроизведения 3D графики. На практике, появились патчи для игр и драйверы для графических акселераторов с поддержкой 3DNow! инструкций, но выигрыш оказался минимальным (5-10%). Все та же нехватка хороших компиляторов дает о себе знать. Microsoft встроила поддержку 3DNow! в DirectX.

Недавно Intel анонсировал новое семейство процессоров — Pentium III, в которых реализована поддержка SSE, т.е. Streaming SIMD Execution. Как видно из названия, обещается потоковая обработка SIMD инструкций. К SSE Intel готовилась более основательно, чем к MMX, посмотрим, что из этого выйдет. Пока же нам представили всего четыре игрушки и один синтетический тест. А инструкции MMX присутствуют во всех современных процессорах Intel, вплоть до Xeon, но особых преимуществ от них нет.

Станет ли появление Pentium III с поддержкой SSE значительным событием? Пока говорить рано. В свое время Pentium MMX представлял собой очень значительное улучшение в x86 архитектуре со времен i386. В Pentium MMX (P55C) было введено параллельное вычисление, мультимедиа расширение с обратной совместимостью с программным обеспечением, увеличен размер L1 кэша. Кроме улучшений наблюдалась минимальная поддержка MMX со стороны Microsoft и жестокая борьба двух компаний за первенство в расширении и улучшении мультимедиа возможностей PC.

Итак, о стратегии и действиях Intel (и AMD) мы представление имеем. За подробностями относительно SSE и 3DNow! рекомендуем обратиться к разделу "Процессоры".

Какую стратегию выбрала Microsoft? Microsoft предложила свою собственную инициативу, выбрала в качестве названия имя Talisman. Кстати, первое кодовое имя было "Touchstone", т.е. "пробный камень", и состав разработчиков не разглашался полностью, точнее, не называлось только имя Microsoft, а фигурировали названия четырех компаний: Silicon Engineering, Cirrus Logic, Samsung Semiconductor и Fujitsu Microelectronics. Лишь после SIGGRAPH'96 все узнали новое название — Talisman — и имя главного партнера - Microsoft.

Идея Talisman базируется на создании аппаратной части для интерфейсов DirectX. В 1996 году на SIGGRAPH Microsoft представила на всеобщее обозрение бумагу, описывающую проект создания аппаратной части для DirectX/HAL. Эта бумага называлась: "Talisman: технология 3D графики реального времени для PC", а подготовили этот документ Джей Торборг (Jay Torborg) и Джеймс Т. Каджийя (James T. Kajiya). Эта бумага была посвящена новым программным/аппаратным способам создания 2D/3D графики, а также поддержке воспроизведения расширенного 3D звука, декодирования Dolby Surround звука, MPEG-2 и т.д. В конце концов, в августе 1996 года Microsoft официально объявила о новой инициативе Talisman, целью которой стало создание референс дизайна для промышленного производства. Этот референс дизайн вместе с технологическими описаниями должен будет использоваться для интеграции в системные платы или для реализации в виде отдельных PCI устройств аппаратных ускорителей графики, видео и звука.

Talisman разрабатывалась с учетом использования мультимедиа возможностей CPU, если таковые доступны. В планы Microsoft входило создание нового класса Talisman-PCI карт, правда, этот процесс оказался непростым. Microsoft начала новый джихад против Intel, потому что сердцем аппаратного обеспечения Talisman стал - сюрприз, сюрприз — DSP процессор! То, чему Intel так хотела закрыть дорогу в PC. Как было заявлено в бумаге на SIGGRAPH'96, этот "Медиа DSP процессор реализует видео кодек, обработку звука и предварительную обработку графики (трансформации, освещение и т.д.)". В дополнение к этому должны существовать несколько других "специализированных VLSI устройств и серийно выпускаемых компонентов" на этой новой PCI карте. И, наконец, Media DAC на этой PCI карте будет включать в себя поддержку USB канала для подключения джойстиков и подобных устройств, а также поддержку IEEE1394 (aka "FireWire") с ее возможностью прокачки данных со скоростью до 400 Мбит/сек по шине.

Несмотря на то, что Microsoft заявила о том, что CPU будет все еще играть существенную роль в этой новой мультимедиа вселенной, вполне вероятно, что эти определяемые Microsoft, контролируемые Microsoft PCI карты смогут управлять большей частью мультимедиа устройств в вашем PC. А какое место Talisman оставляет для Intel? Скорее всего, место будет аналогичным тому, какое занимала IBM со своей OS/2 до того момента, как Microsoft надавила кнопку Win-only, если Гейтс вновь выберет подобный путь развития. Правда, пока положение Intel является очень прочным. Более того, Intel вышла на рынок 2D/3D графических чипсетов, предложила новую инициативу AMR, в общем, всеми путями укрепляет и расширяет свое присутствие на рынке мультимедиа. Появление Pentium III с поддержкой SSE должно еще более укрепить позиции Intel. Но Microsoft вряд ли так просто откажется от борьбы за право определять мультимедиа судьбу PC. По крайней мере, Talisman создавался с целью доминировать, а не быть одним из многих. Напомним, что Microsoft очень гибко реагирует на все нововведения производителей CPU, встраивая поддержку их мультимедиа расширений в свой набор DirectX.

В бумаге, описывающей Talisman, Microsoft решительно разделяет общепринятую архитектуру PC, в которой все еще доминирует Intel, на две большие части: ширина полосы пропускания памяти и общие временные задержки системы, которые являются критичными для производительности. Microsoft приводит следующие цифры: для вывода графики в разрешении 640x480x8 бит при 75 Hz частоте вертикальной развертки требуется передавать данные со скоростью 23 Мб/сек. В разрешении 1024x768x24 бит при частоте обновления экрана в 75 Hz данные должны передаваться со скоростью 169 Мб/сек. Прибавьте к этому z-буферизацию, необходимость загрузки различных текстур и т.д., и величина требуемой ширины полосы пропускания может вырасти до 12000 Мб/сек. Напомним, что поддерживаемый в системных чипсетах AGP x2 обеспечивает скорость передачи данных 528 Мб/сек, соответственно, использование AGP x4 увеличит верхний предел до 1.2 Гб/сек. А если использовать технологии сжатия текстур, типа S3TC, то ограничения можно обойти. А если еще использовать память Rambus, то… но пока все новинки только в проектах. Как, впрочем, и Talisman является скорее стратегическим планом, нежели жесткой спецификацией для производства. Понятно, что когда речь идет о PCI платах, сделанных по технологии Talisman, подразумевается, что платы могут быть и AGP.

Напомним, что Microsoft не собирается изобретать все с нуля, наоборот, и история компании это хорошо показывает: парни из Редмонда всегда славились умением выбирать все лучшее и применять это для своей пользы и, конечно, во благо пользователей. В принципе, появление чипсетов системных плат с поддержкой AGP x4 и памяти Rambus ожидается уже осенью этого года. Но зато и база для карт Talisman становится еще более мощной. Кстати, для сравнения, специализированная графическая станция от Silicon Graphics RE2 имеет полосу пропускания шины памяти 10000 Мб/сек, и по этому поводу в бумаге о Talisman сказано: "Пройдет немного времени, и ничто не сможет превзойти акселераторы 3D графики PC" (Хотя, можно заметить, что превзойти не сможет ничто, кроме маркетинговой тактики Microsoft в стиле рапторов).

Сегодня Microsoft совершенно адекватно оценивает текущее состояние рынка памяти для PC, большие объемы системной памяти сегодня вполне доступны по цене, однако пока нет оснований ожидать, что объемы в ближайшее время будут резко увеличены, равно как нет оснований для резкого падения цен. В общем, рынок памяти можно считать стабильно развивающимся (память имеет все более высокие рабочие частоты и скорости передачи данных, растет плотность чипов) и не препятствующим развитию мультимедиа. А тогда, в 1996 году на SIGGRAPH, Microsoft неверно оценила перспективы развития рынка памяти, считая, что использование больших объемов системной памяти будет слишком дорого обходиться, ширины полосы пропускания будет совершенно недостаточно, а задержки по времени будут просто неприемлемы. Жизнь показала, что и Microsoft иногда ошибается.

Но Microsoft не была бы собой, если бы не делала надлежащих выводов из своих ошибок и не обладала способностью делать верные прогнозы. Что мы видим в отношении интерфейса и типа памяти в референс дизайне Talisman карт? Мы видим Rambus DRAM. Да, если принять во внимание, что Intel считает Rambus памятью следующего поколения PC на ближайшие лет пять, то начинаешь испытывать уважение к стратегам Microsoft. Кстати, Microsoft имеет лицензии на Rambus, которые были своевременно куплены, причем раньше, чем это сделала Intel. Но если Microsoft, купив лицензию и пакет акций, обеспечила себе гарантированный доступ к результатам разработок, то Intel активно включилась в эти разработки. Результаты совместной деятельности Intel и Rambus мы можем наблюдать уже сегодня по пресс-релизам и разделу "Коротко", а осенью мы должны стать свидетелями массового перехода на DRDRAM.

Напомним вкратце, что дает использование памяти Rambus. Это, прежде всего, высокоскоростная память, работающая на частотах от 600 МГц и выше, память, имеющая возможность прокачивать пакеты данных неограниченной длины. Память, имеющая малое время задержек за счет применения кэширования и выполнения параллельных операций работы с блоками памяти. По планам Intel, уже осенью мы сможем оснастить свои системы памятью DRDRAM, работающей на внутренней частоте 800 МГц и обеспечивающие передачу данных со скоростью 1.6 Гб/сек. Кстати, тогда же мы получим возможность использовать AGP x4.

Но вернемся к технологии Talisman, в референс спецификации которой предлагается использовать 4Мб RDRAM и два 600 МГц 8-разрядных Rambus канала. Такая конфигурация потенциально обеспечивает скорость передачи данных на уровне 1.2 Гб/сек. В этой памяти Rambus хранятся данные во время обработки графики. Эти данные Talisman логически разделяет на "куски" (chunks) по 32х32 бита. Формат 32х32 бита также очень удобно подходит для использования пакетных режимов Rambus, и при этом время на поиск данных в страницах, которые состоят из блоков памяти, не влияет на общую пропускную способность памяти.

Метод использования 32х32 "кусков", предлагаемый Microsoft, радикально отличается от традиционного 3D конвейера, в котором все изображение и все связанные с ним данные должны передаваться в едином потоке и загружаться для рендеринга. Подобные графические данные обычно занимают огромное пространство в системной памяти, плюс необходимо обеспечить доступ к этим данным. Вместо этого Microsoft предлагает использовать объектно-ориентированный механизм DirectX. Мы можем разделить все объекты изображения на куски по 32х32 пикселя, а затем поместить каждый объект, состоящий из кусков, на соответствующий уровень изображения. Мы можем иметь множество уровней изображения, а каждый уровень содержит множество кусков объектов, из которых состоит изображение. Таким образом, каждый уровень изображения может управляться индивидуально через интерфейсы DirectDraw и Direct3D.

Все вычисления для вывода графики могут производиться на основе иерархии объектов и границ. Как следствие такого дизайна, Talisman не использует кадровый буфер традиционным образом; "Вместо этого множество уровней изображения составляются вместе со скоростью воспроизведения видеоизображения на экране (читай — частота обновления экрана) для создания выходного видеосигнала".

Заметим, что VideoLogic/NEC используют технологию разбиения изображения на "куски", это т.н. tile-архитектура, благодаря которой создатели чипов серии PowerVR отказались от использования Z-буфера, разделив изображения на небольшие участки 32 на 32 пикселя, для каждого из которых проверяется видимость всех попадающих в него треугольников (а точнее, бесконечных плоскостей). Такое решение обеспечивает увеличение скорости закраски полигонов (fill rate) вне зависимости от ширины полосы пропускания памяти за счет простого увеличения числа обрабатывающих элементов. Другим преимуществом такого подхода является отсутствие необходимости в использовании классического кадрового буфера, в результате чего вся локальная видео память используется под хранение текстур. Кстати, скорость вывода графики при увеличении разрешения практически не уменьшается, в отличие от ускорителей, построенных по классической схеме "кадровый буфер плюс Z-буфер", но при этом производительность напрямую зависит от мощности процессора, проводящего сортировку полигонов.

Talisman является зависимой от времени системой обработки изображений. Например, если ничего не происходит в пределах конкретного куска объекта изображения в течение времени, за которое выводятся несколько кадров на экран, то этот объект просто не обновляется. Если вы скажете, что подобная схема временно-зависимой обработки похожа на технику компрессии MPEG-2, применяемую для DVD видео, вы будете правы. Microsoft заявляет, что за счет использования временно-зависимых техник трансформация уровней изображения может быть осуществлена значительно быстрее (в 10-20 раз быстрее), чем если бы вы непрерывно заново рассчитывали геометрию. Кроме этого, после того, как каждый кусок 32х32 последовательно воспроизведен, Talisman использует алгоритм компрессии изображений, похожий на применяемый в JPEG. Правда, обычно Microsoft называет эту компрессию типа JPEG своим собственным именем "TREC". И наконец, текстуры, которые являются причиной самых сильных расходов памяти, также сжимаются подобным способом и хранятся в локальной графической памяти, в данном случае — в памяти Rambus. В связи с тем, что Microsoft лицензировала технологию сжатия текстур S3TC у S3, вполне очевидно, что именно этот алгоритм будет в дальнейшем использоваться для компрессии текстур.

Если изобразить в виде схемы, как референс аппаратная часть Talisman осуществляет обработку и вывод изображений, мы получим примерно следующее:

  • Предварительная обработка изображений производится DSP, который функционирует под управлением ядра от Microsoft, работающего в режиме реального времени (разумеется, не под управлением IA-SPOX).
  • DSP преобразует 3D объекты в 2D вид.
  • Полученные данные разделяются на куски размером 32х32, а затем соотносятся с конкретной частью изображения, в отличие от метода сортировки огромного списка видимых полигонов.
  • Затем происходит обработка 2D изображений, сжатие JPEG/TREC, после чего разделенные на куски данные передаются в Rambus DRAM.
  • Затем начинает действовать Polygon Object Processor (POP — процессор, обрабатывающий полигоны в виде объектов) — основной процессор рендеринга. POP является VLSI чипом, который осуществляет выборку и декомпрессию кусков данных из чипов памяти Rambus. POP осуществляет обычные функции рендеринга, такие, как установка освещения, наложение текстур на полигоны, закраска полигонов, удаление невидимых поверхностей и сглаживание на уровне пикселей кусков изображения до пересылки данных обратно в память и т.д. Данные о полигонах считываются и преобразуются в координаты внутри текущего куска. Необходимые текстурные блоки запрашиваются из памяти и в случае необходимости декомпрессируются. POP содержит сложную схему конвейеризации для компенсации задержек, возникающих при получении текстурных данных из памяти и их декомпрессии с целью исключения простаивания конвейера рендеринга. Текстуры совмещаются с данными изображения с использованием продвинутых техник фильтрации (анизотропная фильтрация), а удаление невидимых поверхностей осуществляется с использованием расположенного в чипе Z-буфера. Наложение теней осуществляется в режиме реального времени с помощью встроенного Pixel Engine.
  • Так как буфер кадров как таковой не используется, повторно обработанные данные об объекте помещаются чипом POP обратно в память Rambus. Предполагалось, что первые POP чипы смогут воспроизводить 40 млн. пикселей в секунду с использованием анизотропной фильтрации и сглаживания при текстурировании.
  • Тем временем другой VLSI чип, Image Layer Compositor (ILC — составитель уровней изображения), постоянно сканируя обработанные POP данные, строит сцену, т.е. составляет изображение из отдельных объектов, причем за один проход сканируется 32 линии. (Первые варианты VLSI чипов, реализующих функции POP и ILC, сделали компании Silicon Engineering и Cirrus Logic). ILC перемещает выбранные пиксели в strip buffer, в котором и происходит составление сцены из линий. До помещения в композитный буфер (strip buffer) ILC выполняет аффинные преобразования над выбранными из памяти кусками изображения, обработанными POP. И вновь данные, получаемые из памяти, декомпрессируются в режиме реального времени с использованием конвейера, аналогичного используемому в POP, с целью избежания простоев из-за задержек на декомпрессию и выборку. Нетрудно заметить, что ILC и POP имеют одинаковую архитектуру, что сокращает время, требуемое на разработку чипов. ILC управляет процессами масштабирования, фильтрации на уровне пикселей до записи в композитный буфер результирующего пикселя наряду с альфа коэффициентом для каждого пикселя. Композитный буфер является двойным и содержит компоненты, состоящие из 32 линий каждый. Альфа-коэффициент дает возможность для накопления значений непрозрачности для каждого пикселя, обеспечивая правильное сглаживание и прозрачность. Несмотря на то, что функции рендеринга, выполняемые ILC, гораздо проще тех, что выполняются POP, все они выполняются на скорости отображения с использованием четырех параллельных пиксельных каналов, обеспечивающих декомпрессию и составление изображений со скоростью 320 млн. пикселей в секунду и с тактовой частотой 80 МГц.
  • Одновременно ILC проверяет, переместился ли объект по сравнению с предыдущей построенной сценой, т.е. по сравнению с последним кадром, выведенным на экран. Сравнение происходит на основе данных о глубине и прозрачности, начиная с уровня изображения, которое ближе всего к наблюдателю, т.е. к экрану. Благодаря этому уровни изображения не совмещаются до тех пор, пока они не попадут в strip buffer, в котором происходит составление сцены, и уже оттуда данные попадают в RAMDAC, а оттуда — на экран монитора.
  • Если объект переместился, тогда ILC применяет аффинные преобразования, при этом все операции производятся над полигонами, и в результате создается иллюзия настоящего 3D движения.

Заметим, что все три VLSI компонента Talisman могут быть реализованы в одном чипе. Впрочем, впоследствии так и было сделано.

Нетрудно отметить, что архитектура Talisman работает с графикой совершенно не так, как это осуществляется в других методах. Вместо того, чтобы перемещать данные в кадровый буфер, Talisman может составлять сцену, например, из изображений вашего рабочего стола, вашего компьютера и доски объявлений, т.е. оперируя объектами. Отдельные изображения соединяются вместе в процессе составления в strip buffer. Обычные технологии для работы с графикой требуют полного обновления и регенерации всей сцены, для чего интенсивно используется работа с памятью. Однако Talisman не требует обновления всей сцены, заново регенерируется лишь та часть сцены, которая изменилась по сравнению с предыдущим кадром. Понятно, что скорость обработки графики таким методом может быть существенно выше. Это одно из главных преимуществ Talisman в области обработки 3D графики.

Такие преимущества обеспечиваются за счет использования решения, позволяющего эффективно и экономно использовать ресурсы памяти, это "chunking", т.е. разделение изображения на куски, а затем компрессия этих кусков и раздельная обработка каждого куска в отдельности. В результате, Talisman обеспечивает возможность осуществления многопроходного рендеринга для получения таких эффектов, как отражения и тени в реальном времени.

Итак, архитектура Talisman для обработки графики состоит из четырех ключевых компонентов: Image Layer Compositor (композитор уровней изображения), Compression (компрессия), Chunking (разделение изображения на куски) и Multipass Rendering (многопроходный рендеринг, т.е. воспроизведение изображения за несколько проходов). Как было описано выше, использование ILC позволяет несколько раз задействовать одни и те же неизменяемые элементы сцены в нескольких кадрах, что существенно снижает загрузку основного движка воспроизведения, позволяя сфокусироваться на обеспечении высокого качества изображений. Концепция кадрового буфера полностью изменена — вместо хранения и отображения целого кадра отображается серия компонентов или линий. Отображаемые данные для каждого компонента передаются, трансформируются и совмещаются в двойном композитном буфере (strip buffer). Применение двойного композитного буфера дает следующее: когда отображается один компонент изображения из основного strip буфера, во втором буфере происходит составление второго компонента. Поверхности масштабируются, преобразуются, вращаются и искажаются при записи в композитный буфер при использовании 24-битной точности на пиксель, плюс коэффициент прозрачности 8-бит. Все это позволяет использовать одну и ту же исходную поверхность в таком количестве кадров, насколько это возможно, и до тех пор, пока не возникнет необходимость воспроизвести эту поверхность полностью заново.

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

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

Конечным результатом использования программно/аппаратной архитектуры обработки изображений Talisman, по заявлению Microsoft, является то, что преодолеваются ограничения, накладываемые шириной полосы пропускания памяти и скоростью работы процессора обработки графики. В тоже время карты, реализующие технологию Talisman, смогут обеспечить пользователю возможность работы с разрешением 1280х1024 и выше при частоте обновления экрана 75 Гц и при 24-битном представлении цвета (во всех разрешениях). Понятно, что для 96 года это были крутые цифры, сегодня же следует ожидать изменений в сторону увеличения разрешений. Заметим, что еще на SIGGRAPH'96 в бумаге по Talisman говорилось о том, что карты, реализующие эту технологию, будут иметь возможность воспроизведения сцены, состоящей из 20000-30000 полигонов, а ведь даже современные игры далеко не все имеют сцены такой сложности. При этом одним из главных факторов в пользу Talisman называлась стоимость карт, на 1996 год цена карты с параметрами, которые и сегодня были бы далеко не последними, называлась в районе $500 для конечного пользователя при $200-300 затрат на компоненты, для того времени цена очень невысокая, если не сказать — низкая.

Ну, хорошо, а в чем проблема? Почему же до сих пор мы не увидели карт, реализующих поддержку Talisman? Тут несколько факторов. Во-первых, стоит сразу оговорится, что в той или иной степени, но на рынке уже появлялись продукты, в разной степени реализующие технологию Talisman. Дело в том, что многим компаниям пришлось существенно пересмотреть свои планы по развитию аппаратной и программной части. Просто проигнорировать инициативу лидера в области программного обеспечения было нельзя. Многие компании пошли по пути частичного лицензирования Talisman и в том или ином виде реализовывают эту технологию в своих продуктах. Одним из ярких примеров являются компании VideoLogic, Chromatic Research, Cirrus Logic.

Далее, Microsoft сама не занималась производством аппаратной части, перекладывая это бремя на своих партнеров, но часть партнеров ушли с рынка, другие частично потеряли свои позиции, частично не очень удачно действуют на этом рынке. Достаточно вспомнить Cirrus Logic и Trident: первая компания ушла с рынка мультимедиа, вторая еще работает, но пока без серьезных успехов. Плюс, не стоит забывать о главном конкуренте Microsoft в области мультимедиа — Intel. Тут стоит отдать Intel должное, так как корпорация времени зря не теряла и развивала наступление по всем фронтам. Вспомним введение AGP, главная задача которого — снижение стоимости карт за счет использования для хранения текстур не ограниченной локальной памяти видео карты, а системной памяти компьютера, объемы которой, как правило, больше. Лицензирование технологии Rambus и активное продвижение этого типа памяти в качестве системной, а, значит, в перспективе проблем с пропускной способностью не будет, особенно с учетом AGP Mode x4. Совсем недавняя инициатива AMR, которая, по сути, резервирует место на системной плате для модема и звуковой карты. В результате Intel говорит производителям периферии и OEM: зачем вам PCI карта, реализующая технологию Talisman, которая может выводить графику, видео, звук, а также выполнять роль модема, USB хаба и IEE1394 порта? Ведь можно давно делать деньги, производя отдельно AGP видео/графический акселератор, отдельно PCI звуковой ускоритель, отдельно PCI модем, а для недорогих решений используйте AMR и интегрированное видео.

Фактически Intel развивала и развивает наступление по аппаратному фронту, но не забывала и про поддержку программную. Теперь к выходу Pentium III с поддержкой SSE Intel уже не полагается на то, что Microsoft будет помогать. Теперь уже Intel работает с разработчиками приложений напрямую, причем ориентируется не только на ОС от Microsoft. В принципе, нам, как пользователям, все это на руку. Чем сильнее конкуренция, тем все более мощные, универсальные и качественные решения нам предлагаются, но главное — по все более разумной цене.

А что же Microsoft? А Microsoft, в общем-то, не сильно переживает. Пока, по крайней мере. Дело в том, что Microsoft всегда славилась умением выбирать лучшее из доступного. AGP придумали? Хорошо, приживется, будем использовать. Ведь идеология AGP ничуть не противоречит идеологии Talisman. AMR предлагаете? Посмотрим, что из этого получится. Но главный козырь в руках Microsoft — это операционные системы и DirectX. Напомним, что на смену DirectX идет Fahrenheit, а точнее, на смену графической части. Это уже кроссплатформенность, а не только x86. Правда, Fahrenheit ориентирован именно на графику, поэтому DirectX как таковой никуда не исчезнет, ведь кроме DirectDraw и Direct3D есть еще масса интерфейсов: DirectSound, DirectSound3D, DirectMusic, DirectPlay и т.д. По сути, Talisman состоит из двух частей: программной (сегодня это DirectX) и аппаратной. После полного внедрения WDM мультимедиа архитектура для Windows будет иметь следующий вид:

Нетрудно заметить, что связь приложения с аппаратной частью обеспечивается с помощью интерфейсов DirectX, OpenGL и WDM (Windows Driver Model) , которая получит широкое применение в Windows 2000.

Заметим, что в текущей архитектуре интерфейс OpenGL использует собственный драйвер (ICD или MCD) на уровне HAL/DDI.

Фактически, Talisman существует, надо только собрать единое целое из мозаики решений. С другой стороны, DirectX, а точнее, Direct3D еще далек от совершенства, поэтому торопиться Microsoft некуда. К слову, изначально Talisman представлял собой именно стратегию, типа генерального плана по созданию универсального мультимедиа решения. Одной из важнейших целей Talisman была обрисовать разработчикам и производителем путь, по которому нужно двигаться, если они хотят дружить с Microsoft. Нетрудно заметить, что с этой задачей Talisman уже справился, достаточно посмотреть на современные приложения — все они поддерживают D3D.

Самый интересный вопрос, возникающий в связи с Talisman, это какие же чипы будут заниматься обработкой графики? Мы знаем мнение Intel по этому поводу в виде MMX и SSE, мы знаем решение AMD в виде 3DNow!, но мы знаем и все ограничения этих технологий. Без аппаратного ускорителя графики в виде чипа, интегрированного в системную плату, чипсет системной платы или отдельный видеоадаптер PCI/AGP эти технологии не смогут обеспечить требуемый уровень производительности и поддержку всех необходимых функций. Скорее, они могут рассматриваться в виде сил поддержки. Microsoft возлагает свои надежды на DSP решения. Применение DSP вместо использования CPU со специальными расширениями типа SSE остается более дешевым, а главное — производительным решением. Пусть CPU занимается своим основным делом, а избыток мощностей мы будем использовать в помощь специализированному DSP. Работы некоторых производителей чипов и DSP в направлении создания продуктов, реализующих технологию Talisman, уже достаточно долго ведутся и небезуспешно.

В качестве реального примера эффективности DSP рассмотрим игровую приставку Nintendo 64, внутри которой установлен 64-разрядный RISC процессор MIPS R4300i от SGI, работающий на частоте 93.75 MHz. Этот процессор R4300i также поддерживает 64-разрядный сопроцессор FPU. Кроме этого, поддерживается MIPS сопроцессор, т.н. Reality Co-Processor (RCP), работающий на частоте 62.5 MHz. Эти два MIPS чипа, производимые компанией NEC по лицензии SGI, напрямую взаимодействуют друг с другом без какой-либо промежуточной логики. Плюс к этому, R4300i имеет встроенный кэш: 16 Кб для инструкций и 8 Кб для данных. На самом деле, RCP состоит из двух чипов, встроенных в один силикон. Одна часть — это DSP ядро, выполняющее около 450-500 миллионов операций в секунду, другая часть называется "Pixel Engine". Этот Pixel Engine производит все операции, связанные с закраской полигонов, операции трансформации, текстурирование и т.д. Pixel Engine может полностью обрабатывать около 500 тысяч полигонов в секунду. И, что самое интересное, в качестве шины памяти и самой памяти используется вариант Rambus DRAM с пропускной способностью 500 Mb/сек. Итак, перед нами действующий (и действующий очень хорошо) продукт, в котором реализовано решение, очень напоминающее архитектуру Talisman.

Среди компаний, занимающихся созданием специальных DSP для поддержки Talisman, можно назвать Philips Electronics North America, Samsung Electronics совместно с 3DO, Fujitsu Microelectronics.

Samsung разработала MSP-1 (Media Signal Processor). MSP-1 содержит RISC ядро ARM-7, дополненное процессором, обрабатывающим вещественные векторы и целый набор движков со специальными функциями. MSP-1 может управлять декодированием MPEG-2 звуковых и аудиопотоков, а также реализовывать функцию модема. При этом около половины мощности MSP остается для обработки 3D графики. В результате становится возможным использование приложений, совмещающих в себе 3D графику, видео и коммуникационные возможности.

Одним из самых первых законченных решений стал DSP от Philips. Philips, используя наработки Samsung, создала TriMedia DSP, который использует технику VLIW (Very Long Instruction Word). Знакомый термин, не так ли? Да-да, все еще ждут появления Merced или конкурентов, а DSP с использованием таких инструкций уже есть. Подобно архитектуре SIMD, применяемой в MMX и 3DNow!, метод VLIW также зависит от наличия хорошего компилятора. Но в этом случае Philips, в отличие от истории Intel с MMX, потратила достаточно времени и денег, чтобы создать все необходимое для разработчиков программное обеспечение, включая компилятор.

Philips официально анонсировала планы по созданию TriMedia еще в ноябре 1996 года. Получившийся в результате чип назвали TM-1 (TriMedia-1). TM-1 работает на частоте 400 МГц, а его внутренняя шина способна прокачивать 400 Мб данных в секунду. Благодаря этим параметрам чип TM-1 способен выполнять 4 миллиона операций в секунду (все спецификации основаны на исполнении C кода). TM-1 может одновременно управлять несколькими типами медиа данных, заниматься обработкой графики, а также поддерживает стандарты Dolby Digital, MPEG, H.320 и H.324 для видеоконференций. Неправда ли, впечатляющие возможности? Только вот где же карты на основе этого DSP? Ах да, они появились, но только для компьютеров от Apple в виде PCI карт. Это было в 1997 году и прошло незамеченным из-за проблем у самой Apple и ограниченных объемов поставок.

Немного позднее Philips начала разрабатывать новую и совершенно независимую версию TM-1, получившую имя TM-MS (TriMedia-Microsoft) специально для поддержки архитектуры Talisman. TM-MS чип одновременно совмещает в себе медиа процессор и процессор обработки полигонов. В разработке процессора для обработки полигонов принимали значительное участие инженеры из Silicon Engineering и Cirrus Logic, т.е. те же компании, которые также создали два специализированных Talisman VLSI чипа: POP и ILC. Такая совмещенная архитектура имеет встроенный движок расположения полигонов в 3D пространстве, разгружая тем самым от задач по расчету геометрии и освещения CPU. Но, разумеется, это сказывается на масштабируемости, так как мощности процессоров растут. С другой стороны, на CPU можно переложит другие задачи. В общем, решение на сегодня довольно стандартное.

Кстати, Apple специально портировала на TriMedia процессор свой объектно-ориентированный (и хорошо разрекламированный) интерфейс QuickDraw3D. Главным преимуществом QuickDraw3D над Direct3D от MS является возможность переноса на другие платформы и, в частности, возможность использования под Windows. С другой стороны, Microsoft не сидит сложа руки. Во-первых, Гейтс и компания прикупили акций Apple, во-вторых, на смену DirectX идет Fahrenheit. В свете этого, отсутствие в массовых объемах на рынке карт, реализующих технологию Talisman можно объяснить проблемами с разработками и тщательной подготовкой к решающему удару. Логично предположить, что Talisman будет переориентирован на более прогрессивный набор интерфейсов Fahrenheit. Более того, есть все основания предполагать, что Microsoft серьезно займется аппаратным обеспечением для PC. Скорее всего, будет создана новая компания или куплено пару независимых производителей. Так как Microsoft участвует в разработки всех промышленных стандартов, доступ к необходимым технологиям имеется, маркетингового опыта команде Гейтса не занимать, да и опыт производства и продажи под своей маркой непрограммных продуктов тоже имеется, достаточно вспомнить мышки, джойстики и акустические системы. Время покажет, что получится в итоге.

И все же, если говорить прямо, что же такого особенного в технологии Talisman, за исключением планов Microsoft прибрать к рукам мультимедиа рынок и обеспечить Intel несколько бессонных ночей?

На самом деле, даже у Microsoft бывают неприятности, не считая разбирательств в FTC. Например, компания Cirrus Logic, которая сделала собственный Talisman чип, вышла из игры, в результате чего Microsoft пришлось перенести сроки создания референс карты Escalante, построенной на базе четырех чипов и реализующей архитектуру Talisman.

3D ядро для Escalante разрабатывала компания Silicon Engineering, имеющая 15 летний опыт в этой области. Референс дизайн Escalante d был полностью завершен, и любая заинтересованная компания могла его лицензировать у Microsoft.

Тем не менее, на смену Cirrus Logic пришли другие компании, например, Trident. А такие разработчики 3D графических чипов, как S3 и ATI, лицензировали некоторые части архитектуры Talisman, ориентированные только на 3D графику. Кстати, ATI купила все разработки Chromatic Research, чей чип Mapct2 представлял собой DSP, обрабатывающий 2D/3D графику, декодирующий MPEG-2 видео и при этом использующий интерфейс и память от Rambus. Так что не исключено, что ATI более серьезно займется разработками в области Talisman решений. Более того, еще в прошлом году Fujitsu официально анонсировала одночиповое решение Marquis 2000, реализующее архитектуру Talisman. Правда, дальше анонса пока дело не пошло, хотя было обещано, что производители графических карт получат семплы в конце 1998/начале 1999 года. С другой стороны, в названии чипа присутствует цифра 2000, так что вполне вероятно, что первые карты, построенные на основе архитектуры Talisman, мы увидим не ранее 2000 года, тогда же появится и Windows2000, и первый интерфейс проекта Fahrenheit.

Кстати, так как появились одночиповые решения, реализующие архитектуру Talisman, Microsoft пересмотрела и референс дизайн карты Escalante, при этом стоимость такого решения оценивается уже в пределах менее $100. А ведь известно, что цена является одним из важных факторов, влияющих на успех продукта. Прибавьте к этому то, что Talisman карты будут занимать не только 3D/2D графикой, но также обеспечивать декодирование MPEG-2 видео и AC-3 звука, воспроизведение 3D звука, читай — поддержка DS3D и расширений, не исключено, что будет реализована поддержка MPEG-4, и в результате мы получаем совершенно новый и очень привлекательный продукт.

Разработчики, использующие интерфейсы DirectX, могут быть уверены, что создаваемые приложения изначально совместимы с Talisman. По заявлению самой же Microsoft, компания не пытается сделать деньги на Talisman, деньги Microsoft делает и будет делать на программном обеспечении, которое отвечает потребностям рынка. Главная цель Talisman, по мнению самой Microsoft, это избавление от проблем с аппаратной частью, что обеспечит возможность создавать любое желаемое программное обеспечение, например, 3D Windows.

Итак, можно констатировать, что технологические решения, заложенные в архитектуру Talisman, до сих пор не потеряли актуальность. Многие части Talisman воплощены в реальных продуктах. Более того, процесс исследований и разработок продолжается, и не исключено, что мы еще увидим продукты с пометкой "Talisman Ready". Есть все основания предполагать, что с выходом Fahrenheit технология Talisman не прекратит своего существования, так как по своей сути это стратегический план и рекомендации по дизайну, а не жестко установленные рамки. Фактически, идеология Talisman направлена на создание соответствующей аппаратной части для интерфейсов от Microsoft, обеспечивающих взаимодействие с приложениями. Если приложение использует API от Microsoft, то применение аппаратной части, соответствующей спецификациям Talisman, гарантирует полную совместимость и работоспособность. Более того, то, что многие разработчики аппаратной части лицензировали частично или полностью Talisman, но при этом не афишируют этого, говорит лишь о гибкости политики Microsoft и подтверждает, что главной целью компании Гейтса является укрепление своих позиций в области программного обеспечения, а аппаратное поприще пока рассматривается как второстепенное направление. Ну что же, своих целей на текущем периоде Microsoft явно достигла. Набор интерфейсов DirectX является доминирующим при использовании и создании приложений в среде Windows.

Что касается цели данного материала, то, прежде всего, мы стремились предоставить информацию о стратегии Microsoft в области развития мультимедиа возможностей PC. Термин "Talisman" периодически встречается в компьютерной прессе, теперь мы знаем его значение и знаем планы Microsoft на ближайшие годы.

Использованы материалы Microsoft и The VXM Network