Блоки X-Fi
Вся вычислительная мощность X-Fi разделена между пятью основными блоками: SRC (преобразование частоты сэмплирования, 7310 MIPS, 70%), Filter (наложение фильтров, 200 MIPS, 1,9%), Mixer (аппаратный микшер, 1210 MIPS, 11,7%), Tank ("Бак", 440 MIPS, 4,3%) и DSP (цифровая обработка сигнала, 1180 MIPS, 11,4%).
Преобразование SRC представляет собой весьма ресурсоемкий процесс. Компания применила двойственный подход: SRC-преобразование выполняется как при помощи аппаратного блока, так и с использованием программируемых функций. Выглядит разумно: в результате мы имеем мощь аппаратного пересчета плюс некоторую гибкую программируемую функциональность. Более того, ядро X-Fi способно оперировать не на какой-либо фиксированной частоте (48 кГц у Live!/Audigy), а на двух - 44,1 и 48 кГц. Ядро автоматически переключается на более приемлемый режим работы, хотя есть возможность жестко его зафиксировать.
Итак, учитывая два режима работы ядра X-Fi и аппаратный блок пересчета одной частоты в другую, можно надеяться, что старая проблема наконец решена. Creative Labs заявляет: в аппаратуре такой мощности итоговая производительность звуковых карт может быть ограничена лишь преобразователями ADC/DAC ("аналог-цифра" и "цифра-аналог" соответственно). По всей видимости, продукты высокого уровня на основе X-Fi будут оснащены мощными качественными преобразователями, а среднего и нижнего уровня - более дешевыми и массовыми, поэтому нынешние ухищрения с унифицированными драйверами от Creative, которые зачастую используются с самыми древними SB Live!, могут оказаться бесполезными.
Блок фильтрации предназначен для наложения сотен различных гибких цифровых фильтров, необходимых для пространственного моделирования среды звучания, позиционирования источников звука, синтезирования музыки и прочих типичных для звуковых чипсетов от Creative Labs задач. Этот блок предельно оптимизирован на аппаратном уровне для выполнения своих функций, поэтому вычислительная мощность его сравнительно невелика - 200 MIPS.
X- Fi реализует архитектуру нового типа, которую Creative Labs назвала Audio Ring ("звуковое кольцо"). Ключевым элементом архитектуры можно назвать блок микширования X-Fi - он масштабирует, суммирует и перенаправляет 4096 каналов Audio Ring. Кроме того, микшер выполняет связующую роль для внутренних точек синтезатора, ревербератора, эквалайзера, эффект-процессора и динамического процессора. Мгновенное оперирование 4096 звуковыми каналами есть задача далеко не тривиальная, поэтому микшеру выделено 1210 MIPS от всех имеющихся вычислительных ресурсов.
Интересно происхождение названия еще одного модуля X-Fi - Tank, или Tank Engine. Блок занимается наложением различных эффектов на базе задержек сигнала (например, отражение, реверберация, хор и т. д.). Было время, когда высококачественные линии задержек реализовывались при помощи поверхностных акустических волн в баке (Tank) с ртутью с использованием преобразователей на основе громкоговорителя и микрофона.
Имея 440 MIPS вычислительной мощности, Tank-модуль способен выполнять огромное количество операций вычисления адреса, которые в ином случае были бы возложены на центральный процессор ПК или модуль цифровой обработки сигнала DSP. Производя эти вычисления локально, X-Fi автоматически не зависит от потенциально возможных "пробок" в длинном конвейере основного процессора. При интенсивной обработке звука в таком случае могут появиться щелчки, остановки и прочие звуковые артефакты.
Удачно и "музыкально" назван блок цифровой обработки сигнала - Quartet DSP. Помимо "оркестровой" функции здесь отражена и способность DSP оперировать одновременно четырьмя аппаратными потоками. Quartet DSP это, по сути, настоящий SIMD-процессор (Single Instruction, Multiple Data, одна инструкция, множественные данные), который, по замыслу разработчиков, должен наиболее эффективно поддерживать стереосигнал и комплексные типы данных. Набор инструкций Quartet поддерживает типы данных с фиксированной и плавающей точкой и спроектирован для эффективной временной и частотной обработки сигнала.
Quartet DSP обладает вычислительной мощностью 1200 MFLOPS (сюда не входят операции вычисления адреса или перемещения данных), и инженеры Creative Labs считают, что специализированная архитектура этого блока позволит добиться производительности, близкой к пиковой, чего не сможет сделать "общеупотребительный" центральный процессор ПК. Так, Quartet способен использовать результат одной инструкции как входной операнд другой инструкции без "заторов" в конвейере или принудительного перемещения данных. Стоит сказать, что интегрированные на системные платы аудиорешения и карты на базе VIA Envy 24 не имеют DSP-блоков вообще.