Э. Таненбаум - Архитектура компьютера (1127755), страница 161
Текст из файла (страница 161)
Г)УП-дешифратор выполняет дешифрированне, чтобы получить исходное видео в формате МРЕС-2. Де-. шифрирование является операцией типа память-память, когда входные данные поступают из одного буфера, а результат записывается в другой. Декодер длины продолжает начатое предыдущим ядром декодирование, позволяя избавиться от последствий кодирования с переменной длиной слова, характерного для формата МРЕС-2 (и МРЕС-1). В результате удается получить наполовину распакованные данные, которые затем передаются ядру обработки формата МРЕС (в Тг1Мег11а оно реализовано программно), где происходит окончательное декодирование. Причина такого разделения в том, что процесс декодирования с переменной длиной слова (основанный на декодировании Хаффмана и групповом декодировании) не слишком эффективно использует возможности Тг1Мег)1а, поэтому было сочтено разумным потратить несколько квадратных миллиметров кремния на аппаратную реализацию этого алгоритма.
В результате эти две операции позволяют получить в памяти полную пиксельную карту. Пиксельная карта может быть представлена в одном из трех основных форматов, каждый из которых имеет три илн четыре варианта, различающиеся параметрами. В первом формате, который называется индексированным цветом, используется кодовая таблица цветов (Со1ог Еоо1г Пр ТаЫе, САНТ). Непосредственно в этой таблице хранятся 24-разрядные значения цветов, дополненные 8-разрядной маской альфа-канала. В формате КСВ, в котором работает монитор, отдельно указываются интенсивности каналов красного, зеленого и синего 632 Глава 8.
Параллельные компьютерные архитектуры цветов. Формат У(1'т' соответствует способу кодирования телевизионных сигналов. В этом формате, вместо того чтобы непосредственно кодировать красную, зеленую и синюю составляющие, в камере делается преобразование, дающее. в результате один канал яркости и два канала цветности. Система позволяет выделять под канал яркости большую часть полосы пропускания, что дает лучшую устойчивость к шумам при передаче. Формат У()Ъ' имеет смысл применять в приложениях, имеющих отношение к телевидению и телевизионному сигналу. Благодаря тому, что изображение представляется только в нескольких форматах с их вариантами, каждое из ядер процессора «понимает» результаты работы других ядер.
Ядро масштабирования видео с максимальной скоростью 120 млн пикселов в секунду получает и выполняет задания по масштабированию, среди которых можно отметить; + устранение эффекта «гребенки»; + горизонтальное и вертикальное масштабирование; + линейное и нелинейное преобразование размера кадра; + преобразования между разными цветовыми форматами; + построение гистограммы яркости; + устранение мерцания. В широковещательном телевидении имеет место так называемый эффект «гребенки», возникающий при оцифровке аналогового телевизионного сигнала, когда для каждого кадра, состоящего из 525 строк (625 для форматов РАЕ и БЕСАМ), сначала передаются все четные строки, а потом — все нечетные.
После устранения эффекта «гребенки» получается более качественное изображение с прогрессивной разверткой (ргоягезз(уе зсап), когда строки передаются или обрабатываются в их истинном порядке, а частота обновления кадров вдвое больше (29,97 кадров в секунду для ЫТБС и 25 кадров в секунду для РАЕ и БЕСАМ), чем при чресстрочной развертке (1пгег1асеп зсап). Путем горизонтального и вертикального масштабирования можно уменьшать или увеличивать размер изображения, возможно, после обрезки. В стандартном телевидении используется кадр с отношением ширина/высота, равным 4/3, а для широкоэкранного телевидения это отношение равно 16/9, что лучше соответствует отношению 3/2, характерному для кадра 35-миллиметровой кинопленки. Ядро масштабирования позволяет менять формат кадра по линейному или нелинейному алгоритму.
Кроме того, оно может преобразовывать друг в друга разные форматы представления цвета (индексированные цвета, ВСВ и у()Ъ'), а также строить гистограмму яркости, которая может быть полезной для повышения качества изображения на выходе. Наконец, могут выполняться определенные преобразования для устранения мерцания. Ядро обработки графики строит изображения двухмерных объектов по их описаниям.
Кроме того, оно может заполнять цветом замкнутые области и выполнять графические операции поблочной пересылки данных (Ъ|гЫт), которые сводятся к тому, что соответствующие пиксельные карты объединяются с помощью функций А%Э, ОЯ, ХОВ или других булевых функций. Сопроцессоры 633 Отдельных ядер для обработки аудиоданных нет.
Для хранения звука требуется так мало данных, что они вполне могут обрабатываться программно, что и происходит в центральном процессоре ТпМец1а. Кроме того, во многих приложениях обрабатывать звук вообще не требуется, за исключением, возможно, изменений формата. Ядро отладки призвано помочь разработчикам отлаживать программное и аппаратное обеспечение процессора. Это ядро предоставляет интерфейс для средств .1ТАО 11о1пс Тезс Ас11оп Сгопр — объединенная рабочая группа по автоматизации тестирования), как определено в стандарте 1ЕЕЕ 1149.1.
Секция вывода отвечает за считывание обработанных данных из памяти и их вывод. Ядро композитного видеосигнала нормализует и смешивает перед выводом одну или несколько пиксельных структур данных. Индексированные цвета «деиндексируются» в реальные пикселы «на лету», а для несовместимых форматов ядро композитного видеосигнала выполняет предварительное преобразование. Кроме того, это ядро при необходимости производит коррекцию яркости и контрастности, поддерживает функцию хроматического ключа, когда изображение актера, снимающегося на однородном синем фоне, затем отделяется от фона и помещается поверх сцены, взятой из другого источника.
Аналогичным образом можно создавать анимацию, в которой анимированный персонаж на переднем плане двигается поверх неподвижного или равномерно прокручивающегося фона. Окончательный результат работы ядра, конечно же. преобразуется в требуемый видео или телевизионный формат (ХТВС, РАЕ или 8ЕСАМ), содержащий, в том числе, вертикальные и горизонтальные синхроимпульсы. Ожидается, что большинство систем, создаваемых на базе процессора Хехй репа, смогут автоматически распознавать все три телевизионных формата, так как для этого не требуется никаких дополнительных затрат, и устройства можно будет без изменений продавать по всему миру.
Аналогично, поддержка телевидения высокой четкости (Н181т Пейпй1оп Те1е ч'1з1оп, Нь)ТУ) требует всего лишь незначительного усложнения программного кода, который должен преобразовывать видеоданные в структуры памяти и обратно. Ядро базового выхода выполняет только передачу данных по 8, 16 или 32 бит за цикл с частотой 100 МГц, что дает максимальную пропускную способность в 3,2 Гбит/с. Подключив выход одного процессора Хех1репа ко входу другого, можно передавать между ними файлы со скоростью большей, чем позволяет О18аЫ Е1ЬегпеГ (1 Гбит/с).
Кроме того, на этом интерфейсе центральный процессор может программно формировать любые необходимые сигналы. Выходной маршрутизатор определяет, выход какого из двух ядер должен выводиться на контакты процессора, а также может выполнять некоторые дополнительные действия. Среди ннх обновление с частотой 60 Гц ТРТ-панелей, имеющих разрешение до 1280 х 760 пикселов, а также телевизионных изображений с чересстрочной или прогрессивной разверткой. Ядро аудиовыхода может генерировать до 8 стереоканалов звука с точностью до 32 бит и частотой дискретизации до 96 кГц. Обычно этот выход управляет внешним цифроаналоговым преобразователем.
Цифровой выход 8Р может подключаться к устройствам, поддерживающим стандарт цифрового звука 8опуР)п11рз. 634 Глава 8. Параллельные компьютерные архитектуры Последнее оставшееся ядро отвечает за ввод и вывод сигналов общего назначения. 16 контактов этого ядра можно использовать по любому назначению, например, их можно соединять с кнопками, переключателями, светодиодами и программно с ними работать.
Кроме того, эти контакты можно использовать для среднескоростных (20 Мбайт/с) программно управляемых сетевых протоколов. Также в этом ядре есть разнообразные таймеры, счетчики и обработчики событий. В целом можно сказать, что процессор Хех1репа обладает огромными вычислительными мощностями для аудиовизуальных приложений и, как и сетевые процессоры, может снять значительную часть нагрузки с центрального процессора. Вычислительные мощности этого сопроцессора даже еще больше, чем кажутся на первый взгляд, так как все ядра могут работать одновременно друг с другом и с центральным процессором.
После изучения й)ех1рег1а становятся более понятными возможности сопроцессоров, особенно построенных на базе гетерогенных мультипроцессорных микросхем. Аналогичный, но ориентированный не на мультимедиа, а на телефонию процессор рассматривается в [1511 Криптопроцессоры Безопасность, а особенно сетевая безопасность, является еще одной (уже третьей) областью, в которой широко используются сопроцессоры. Когда между клиентом и сервером устанавливается соединение, обычно требуется их взаимная аутентификация. По установленному таким образом безопасному (шифруемому) соединению можно безопасно передавать данные и не думать о злоумышленниках, прослушивающих линию. Проблема здесь в том, что безопасность обеспечивается средствами криптографии, а эта область требует весьма объемных вычислений.
В криптографии сейчас распространены два основных подхода к защите данных шифрование с симметричным ключом и шифрование с открытым ключом. Первый основан на очень тщательном перемешивании битов (как будто сообщение помещают в некий электронный миксер). В основе второго подхода лежит умножение и возведение в степень больших чисел (1024-разрядных), что требует исключительно болыпих временнйх затрат.
Многими компаниями выпущены криптографические сопроцессоры, позволяющие шифровать данные для их безопасной передачи и потом расшифровывать их. Зачастую они представляют собой карты расширения, вставляемые в РС1-разъем. Благодаря специальному аппаратному обеспечению, эти процессорь| могут выполнять необходимые криптографические вычисления намного быстрее, чем центральный процессор. К сожалению, более детальное изучение криптографических процессоров потребовало бы уделить немало времени самой криптографии, что выходит за рамки темы этой книги.
Дополнительную информацию можно найти в 152, 1321. Мул ьтипроцессоры Мы выяснили, как ввести в однопроцессорную систему параллелизм, добавив в нее сопроцессор. Следующий шаг — объединение нескольких полноценных процессоров в одну большую систему. Такие системы с несколькими централь- Мультипроцессоры 636 ными процессорами можно разделить на мультипроцессоры и мультикомпьютеры. Сначала, разобравшись со значением этих терминов, мы изучим мультипроцессоры, а вслед за ними — мультикомпьютеры.