Э. Таненбаум - Архитектура компьютера (1127755), страница 160
Текст из файла (страница 160)
Мультимедиа-процессоры Мех! рег1а Область обработки мультимедийной информации, значимость которой непрерывно возрастает, мы изучим на примере процессоров Хех(репа производства компании Р)п11рз — это семейство микросхем для различных тактовых частот. Хех1реиа представляет собой отдельный однокристальный гетерогенный мультипроцессор (см., например, процессор на рис. 8.9). Он содержит несколько ядер, включая управляющий Ъ'1Д тт'-процессор Тг1Мейа, и отдельные ядра для обработки изображений, звука и видео, а также для сетевых операций. Хех(реиа может использоваться и как самостоятельный центральный процессор для СР-, Рт'Р-, МРЗ-плеера, телеприемника, фото или видеокамеры, и т. д.
Кроме того, он может играть роль сопроцессора, предназначенного для обработки изображений и мультимедиа-потоков в составе персонального компьютера. В любой конфигурации процессор Хеюрепа работает под управлением собственной миниатюрной ОС реального времени. Хех)репа решает три задачи: захват входных данных и преобразование их в структуры памяти, обработка этих структур и, наконец, вывод данных в подходящей для подключенных устройств форме. Например, когда ПК используется в качестве РЪ'Р-плеера, сопроцессор Хех(репа может быть запрограммирован для считывания закодированного сжатого видеопотока с РЧР-диска, его декодирования, декомпрессии и вывода с подгонкой размера изображения под выводимое окно. После того как программа РЪ'Р-плеера загружается в Хех1рейа, все это делается в фоновом режиме, без привлечения центрального процессора.
Все поступающие данные сначала сохраняются в памяти для обработки, то есть между источниками и приемниками информации нет непосредственного совдинения. Под захватом входных данных подразумевается декодирование видео различ- Сопроцессоры 629 ных размеров и форматов (включая МРЕС-1, МРЕС-2 и МРЕС-4) и аудио (включая ААС, Ро1Ьу и МРЗ), а также сохранение декодированных данных в виде соответствующих структур в памяти для последуютцего вывода и обработки. Входные данные могут поступать с шины РС1, из сети ЕсЬегпес или через специальный вход (когда микрофон или стереосистема подключается непосредственно к микросхеме). На микросхеме Хехсрепа 456 выводов, некоторые из которых позволяют непосредственно принимать и передавать мультимедийные (и другие) потоки.
Процесс обработки данных контролируется центральным процессором ТпМес(са, который может быть запрограммирован для решения любой задачи. Типичными задачами являются улучшение четкости, яркости, контрастности и цветопередачи, масштабирование изображений, преобразование видеоформатов, шумоподавление. Обычно центральный процессор работает как генеральный подрядчик, делегируя большую часть работы специализированным ядрам микросхемы.
В функции вывода входят преобразование структур данных в форму, пригодную для принимающих устройств, объединение нескольких источников данных (видео, аудио, изображения, двухмерная графика), управление выходными устройствами. Как и ввод данных, вывод может осусцествляться через шину РС1, сеть Есйегпес или по отдельным проводам (подсоединенным, например, к колонкам или усилителю). Блок-схема процессора РХХ 1500 из семейства Хехсрепа приведена на рис. 8.14.
Другие процессоры этого семейства слегка отличаются, поэтому в дальнейшем под именем Хех(репа мы будем понимать именно процессор РХХ 1500. У процессора РХХ 1500 есть четыре основные секции, отвечающие за управление, ввод, обработку и вывод. Роль центрального процессора играет 32-разрядный ЧЕ1%'- процессор ТпМес11а, работающий на частоте 300 МГц. Функциональность процессора определяет программа, написанная обычно на С или С++. Если не считать двух кашей в центральном процессоре ТпМес(1а, на микросхеме Хехсрепа нет памяти.
Вместо этого имеется интерфейс для подключения от 8 до 256 Мбайт памяти РРВ ЯЖАМ вЂ” вполне обычной памяти для мультимедиа-приложений. На тактовой частоте 200 МГц пропускная способность памяти составляет 1,6 Гбит/с. Помимо интерфейса с памятью микросхема оснащена полнофункциональным РС1-интерфейсом на 8, 16 и 32 бит и частоте 33 МГц. При работе в качестве основного процессора внутри электронного устройства РС1-интерфейс может играть роль арбитра шины. Этот интерфейс может быть использован, например, для взаимодействия с РЧР-приводом. Возможность непосредственного подключения к сети ЕсЬегпес обеспечивается выделенным ядром, обслуживающим Есйегпес-соединения с скоростями 10 и 100 Мбит/с.
Соответственно, видеокамера, построенная на базе процессора Хех1репа, может напрямую транслировать цифровой видеопоток через ЕсЬегпес на удаленное устройство записи или вывода видео. Следующее ядро отвечает за загрузку, сброс, тактирование и некоторые другие функции. Если по определенному выводу приходит сигнал, инициируется сброс процессора. Ядро может быть также запрограммировано как контрольный таймер, позволяющий инициировать перезагрузку центрального процессора, если тот не откликается в течение установленного времени. В автономных устройствах перезагрузка может осуществляться с флэш-памяти.
630 Глава В. Параллельные компьютерные архитектуры Управление 'рф''" Маршрутизатор Тп мед!а "ст'мв' .. «»с71 !г» 'х,:г, Видеовход К ЗОВАМ, Интейфейс с памятью :а»'»пг Базовый вход РС1-интерфейс гык'.:"-*-"" Аудиовход Евгегпе! гг»пЯ и г и овои вхо ЗР Ввод 32 К шине РС! 8 аудио- каналов К Ейгегпет Кварцевый генератор на 27 МГц Цфр д Загрузка, сброс, ' йй тактирование ":.агтгее .Й фюзи- М!вс., !/О, 1кпегз ОНО-дЕШИФРатОР ';Гтг;,:П! Маршрутизатор декодер длины: и» мм Композитный 16 Вывод Обработка 32 Масштабирование ф ',' видеосигнал видео Базовый выход ' Обработка графики:::: ~~у 'Ф,"гз. " Аудиовыход Отладка .
", Цифровой выход ЗР 8 аудио- каналов ,1ТАВ Рис. 8.14. Гетерогенный однокристальный мультипроцессор мех!рег!а Ядро управляется кварцевым генератором с частотой 27 МГц, которая умножается на 64 и дает сигнал на частоте 1,728 ГГц, использующийся везде в процессоре.
Обычно центральный процессор работает на полной скорости, а остальные компоненты — на той скорости, которая необходима им для решения своих задач. Для экономии электроэнергии предусмотрена возможность снижения частоты. Кроме того, имеется режим сна, в котором отключаются большинство функций — это позволяет экономить заряд батарей в мобильных устройствах при простое. В этом ядре имеются также 16 «семафоров», которые могут применяться для синхронизации устройств. Когда семафору, имеющему нулевое значение, ядро присваивает ненулевое число, запись завершается успешно, иначе запись не удается, и остается неизменным старое значение семафора.
Запись нуля всегда происходит успешно. Так как в каждый момент времени только одно из ядер может задействовать шину, операции записи являются атомарными, а семафоры предоставляют все, что необходимо для исключения возможности одновременного использования шины несколькими ядрами. Чтобы получить доступ к ресурсу, ядро пытается записать ненулевое значение в определенный семафор. Если запись удалась, то ядро захватывает доступ к устройству, для освобождения которого в семафор записывается нуль.
Если захватить устройство не удалось, ядро периодически повторяет попытки. Таким образом, эти семафоры несколько отличаются от классических семафоров, рассматриваемых в главе 6. Сопроцессоры 631 Перейдем к секции ввода. Ядро видеовхода получает 10-разрядный цифровой вндеопоток, преобразует его при помощи алгоритма сглаживания в 8-разрядный и записывает во внешней памяти ЯЖАМ. В большинстве случаев входной поток цифрового видео представляет собой выходной сигнал внешнего аналого-цифрового преобразователя, которому подается аналоговый телевизионный сигнал, эфирный либо кабельный.
Ядро базового входа позволяет захватывать неструктурированные 32-разрядные данные, полученные из произвольного источника, и сохранять их в памяти 8ГЖАМ. Частота шины при этом составляет 100 МГц. Кроме того, ядро может захватывать структурированные данные с метками, обозначающими границы записей. Маршрутизатор, предшествующий двум ядрам видеовхода, разделяет входной сигнал и, кроме того, может осуществлять некоторые преобразования видеосигнала «на лету». Разделение требуется потому, что одни и те же внешние контакты используются и для видеовхода, и для базового входа. Ядро аудиовхода способно захватывать до 8 каналов стерео-музыки или голоса с точностью оцифровки 8, 16 илн 32 бит и частотой до 96 КГц, и сохранять аудиоданные в памяти 8ГЖАМ.
Кроме того, ядро может перед сохранением аудиоданных «на лету» выполнять декомпрессию сжатых форматов, смешивать каналы, менять частоту дискретизации и применять фильтры. Ядро цифрового входа 8Р позволяет получать цифровой аудиосигнал, соответствующий стандартам 8опу-Р)н11рз (1ЕС 1937). Цифровой аудиосигнал можно передавать от одного устройства к другому без потери качества. Обычно после того, как аудио-, видео- или любые другие данные получены, их необходимо обработать, за что и отвечает следующая секция процессора. Для защиты от копирования 1)УГ)-фильмы шифруются.