Найти тему
IT. Как это работает?

Мультимедиа - стероид для семейства процессоров x86

Оглавление

Продолжаем рассматривать особенности, казалось бы, всем известной архитектуры процессоров x86. Предыдущие статьи тут:

Давайте перескочим сразу на конец 90-х годов прошлого века и кратко рассмотрим процессор Intel Pentium, в котором учитывалось последнее веяние времени. С некоторых пор пользователи домашних компьютеров начали активно потреблять мультимедийный контент. Посмотрите на скриншоты ниже и испытайте ностальгию.

Завсегдатаи домашних компьютеров конца 90-х годов: WinAmp, ACDSee, Adobe Photoshop
Завсегдатаи домашних компьютеров конца 90-х годов: WinAmp, ACDSee, Adobe Photoshop

На самом деле распаковка сжатой музыки (*.mp3), картинок (*.jpg) и применение фильтров к изображениям требуют большого количества вычислений и небывалая легкость, с которой это сейчас происходит связана прежде всего с возросшей производительностью новых членов семейства x86. Про сжатие изображений JPEG было в одной из ранних статей.

Intel Pentium MMX

Сразу хочется отметить возросший аппетит нового члена семейства. Данные и инструкции поступают в процессор из оперативной памяти уже не по 4, а по 8 байт (64 Bit Data Bus) за один раз и разделяются на свои выделенные блоки высокоскоростной кэш памяти (Code Cache, Data Cache) размером по 16 килобайт.

Архитектура процессора Pentium MMX
Архитектура процессора Pentium MMX

В этом процессоре применены параллельные вычислительные конвейеры (ALU U Pipeline, ALU V Pipeline). Это два одновременно работающих арифметико-логических устройства, имеющие собственные шины для доступа в кэш память данных.

Ускорение операций для работы с мультимедиа

Кроме модуля работы с числами в формате с плавающей точкой (Floating Point Unit) появляется модуль для работы с массивами аудио и видео данных (MMX Unit). Как мы уже видели в прошлых обзорах по основам обработки сигналов в этом деле очень важно уметь быстро и эффективно производить операции интегральной свертки. Теперь же сложения и умножения можно производить над группой чисел одновременно за одну операцию.

Векторная операция над массивами чисел (сложение)
Векторная операция над массивами чисел (сложение)

В каждый 64-разрядный регистр этого модуля можно было поместить восемь 8-битных целых чисел, четыре 16-битных, два 32-битных или воспользоваться всей длиной регистра целиком.

На настоящий период этот набор регистров и машинных инструкций для операций с этими регистрами является устаревшим, но остается в процессорах по сей день из-за все той же необходимости запускать давно написанные программы.

Что было дальше...

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

Ядра процессоров (Core) объединены кэшем третьего уровня (Shared L3 Cache)
Ядра процессоров (Core) объединены кэшем третьего уровня (Shared L3 Cache)

Регистры XMM это 128-битные структуры для хранения данных мультимедийных потоков и является улучшенной версией ранее рассмотренных регистров.

Со временем для улучшения производительности векторных операций на массивами чисел в состав ядер процессоров вошли регистры с разрядностью 256 и даже 512 бит. Если старое приложение использует ранее введенные инструкции и регистры, то ничто не мешает их использовать в более новых моделях процессора.

Набор регистров современного процессора семейства x86
Набор регистров современного процессора семейства x86

Как можно предположить, система команд такого монстра не может быть простой и понятной. Инструкции могут быть самого различного размера и их формат явно невозможно заучить. Однако, в силу различных обстоятельств эти процессоры стали неотъемлемой частью нашей жизни.

Мне кажется, после этой серии статей у многих должно появиться обоснованное сомнение в том как хорошо они знают ту архитектуру процессора, без которой жить уже практически невозможно. Лайк, если узнали что-то новое.

Поддержите статью лайком если понравилось и подпишитесь чтобы ничего не пропускать.

Также не обойдите вниманием канал на YouTube. Подписки и лайки будут приятным ответом от аудитории.