Рассмотрим для примера портативный DVD-плеер. Размещенный в нем компьютер призван выполнять несколько функций:
1. Управление дешевым и ненадежным сервоприводом, регулирующим положение головки.
2. Преобразования аналогового сигнала в цифровую форму.
3. Коррекция ошибок.
4. Дешифрирование и управление правами.
5. Декомпрессия данных видеоформата MPEG-2.
6. Декомпрессия звуковых данных.
7. Кодирование выходных данных для воспроизведения в телевизионных системах NTSC, PAL или SECAM.
Все эти функции должны выполняться в реальном времени с соблюдением жестких требований по качеству обслуживания, энергопотреблению, отводу тепла, размерам, весу и стоимости.
Данные на DVD-носителях хранятся в виде длинной спирали (см., например, рис. 2.20). Головка воспроизведения должна следовать по спирали вращающегося диска. Цена таких устройств остается невысокой благодаря относительно простой механической конструкции и жесткому программному контролю положения головки. С головки поступает аналоговый сигнал, который перед обработкой необходимо преобразовать в цифровой формат. После оцифровки проводится интенсивная программная коррекция ошибок, которые возникают при прессовке дисков. Видеоданные сохраняются на носителе в формате MPEG-2, для декомпрессии которого требуются сложные вычисления типа преобразований Фурье. Аудиоданные сжимаются по психоакустической модели, которая не менее сложна в части декомпрессии. Наконец, аудио- и видеоданные должны быть приведены в форму, подходящую для вывода сигнала в телевизорах системы NTS С, PAL или SECAM — в зависимости от страны, в которой используется DVD-плеер. Естественно, программно решить все эти задачи в реальном времени на дешевом универсальном процессоре невозможно. Таким образом, нужен гетерогенный мультипроцессор с несколькими специализированными ядрами. Логическая схема DVD-плеера представлена на рис. 8.9.
Ядра, изображенные на рис. 8.9, различаются по функциональной специализации; каждое из них спроектировано с расчетом на достижение максимального результата при минимально возможной цене. К примеру, сжатый видеосигнал для DVD хранится в формате MPEG-2 (это аббревиатура разработавшей данный формат организации Motion Picture Experts Group — группа экспертов в области движущихся изображений). При сжатии каждый кадр разделяется на несколько блоков и в отношении каждого из них выполняются сложные преобразования. Кадр может полностью состоять из измененных блоков или из блоков, присутствующих в предыдущем кадре с указанием смещения (Ах, Ау) от текущего положения и измеренных пикселов. Программно подобные вычисления выполняются очень медленно, однако при наличии процессора декодирования MPEG-2 этот процесс значительно ускоряется. Аналогичным образом, декодирование и повторное кодирование композитного аудио-видеосигнала в соответ ствии с одним из стандартных телевизионных стандартов эффективнее проводить с помощью специализированного аппаратного процессора. В этом контексте совершенно естественно, что в DVD-плеерах и им подобных устройствах применяются гетерогенные мультипроцессоры с несколькими ядрами. В то же время, поскольку управляющий процессор представляет собой универсальное программируемое устройство, такую мультипроцессорную микросхему можно установить в близком в функциональном плане устройстве, например, в устройстве записи DVD.