Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры ЭВМ.docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
930.66 Кб
Скачать

18. Технология ммх, sse.

MMX (Multimedia Extensions) — коммерческое название дополнительного набора инструкций, выполняющих характерные для процессов кодирования/декодирования потоковых аудио/видео данных действия за одну машинную инструкцию.

Технология MMX разработана для ускорения мультимедиа и коммуникационных программ. Она включает в себя новые команды и типы данных, что позволяет создавать приложения нового уровня. Технология основана на параллельной обработке данных. При этом сохраняется полная совместимость с сущ-ми ОС и ПО. ММХ-технологии поддерживает новую арифметику, называемую арифметикой с насыщением. Наибольший эффект от использования ММХ-технологии может быть достигнут в алгоритмах со следующими характеристиками:

  • малый размер данных (8-битные графические пиксели, 16-битные звуковые данные);

  • короткие, часто повторяющиеся циклы;

  • частые умножения и накопления.

В основе ММХ лежит принцип SIMD (Single Instruction Multiple Data), т.е. одной командой можно обработать сразу несколько единиц инфо. Технология ММХ основана на отображении регистров ММХ на регистры FPU. Главным образом это сделано для сохранения с существующим ПО.

Набор MMX-команд состоит из команд пересылки данных, упаковки/распаковки, сложения/вычитания, умножения, сдвига, сравнения и поразрядных логических. Команды упаковки и сложения/вычитания могут работать в двух режимах: обычном, когда переполнение разрядной сетки вызывает "заворачивание" (wraparound) значения результата, и специальном, когда оно приводит к ограничению (clipping) результата до минимально или максимально допустимого значения. Режим ограничения в терминологии Intel называется Saturation (насыщение) - в нем особенно удобно выполнять смешивание цветов изображение или амплитуд звуковых сигналов, поскольку при обычном переполнении результат не имеет никакого смысла.

SSE-это набор инструкций, разработанный Intel и впервые представленный в процессорах серии PentiumIII .

Технология SSE позволяла преодолеть 2 основные проблемы MMX — при использовании MMX невозможно было одновременно использовать инструкции сопроцессора, так как его регистры были общими с регистрами MMX, и возможность MMX работать только с целыми числами.

SSE включает в архитектуру процессора восемь 128-битных регистров и набор инструкций, работающих со скалярными и упакованными типами данных.

Преимущество в производительности достигается в том случае, когда необходимо произвести одну и ту же последовательность действий над разными данными. В таком случае блоком SSE осуществляется распараллеливание вычислительного процесса между данными.

Особенности

  • 8 (в x86-64 - 16)128-битных регистров XMM.

  • 32-битный (в x86-64 - 64) регистр флагов (MXCSR).

  • 128-битный упакованный тип данных с плавающей точкой одинарной точности.

  • Инструкции над вещественными числами одинарной точности.

  • Инструкции явной предвыборки данных, контроля кэширования данных и контроля порядка операций сохранения.

19. Конвейерные суперскалярные процессоры.

Принципы конвейерной технологии. Разработчики архитектуры компьютеров издавна прибегали к методам проектирования, известным под общим названием "совмещение операций", при одновременно более одной базовой операции. Этот общий метод включает два понятия: параллелизм и конвейеризацию. Хотя у них много общего, эти термины отражают два совершенно различных подхода. При параллелизме совмещение операций достигается путем воспроизведения в нескольких копиях аппаратной структуры. Высокая производительность достигается за счет одновременной работы всех элементов структур, осуществляющих решение различных частей задачи.

Конвейерная архитектура (pipelining) была введена в центральный процессор с целью повышения быстродействия. Обычно для выполнения каждой команды требуется осуществить некоторое количество однотипных операций, например: выборка команды из ОЗУ, дешифрация команды, адресация операнда в ОЗУ, выборка операнда из ОЗУ, выполнение команды, запись результата в ОЗУ. Каждую из этих операций сопоставляют одной ступени конвейера. Например, конвейер микропроцессора с архитектурой MIPS-I содержит четыре стадии:

получение и декодирование инструкции (Fetch)

адресация и выборка операнда из ОЗУ (Memory access)

выполнение арифметических операций (Arithmetic Operation)

сохранение результата операции (Store)

Если предположить, что каждая ступень конвейера тратит единицу времени на свою работу, то выполнение команды на конвейере длиной в n ступеней займёт n единиц времени.

В современных процессорах параллельно могут работать несколько конвейеров, так что производительность процессора можно оценивать темпом выхода выполненных инструкций со всех его конвейеров. Для достижения максимальной производительности процессора — обеспечения полной загрузки конвейеров — программа должна составляться с учетом микроархитектурных особенностей процессора. Конвейеры процессоров Р6 с суперконвейерной архитектурой (superpipelined) имеют большее число ступеней (10–12).

Процессоры архитектуры P6 состоят из четырёх основных подсистем:

  • Подсистема упорядоченной предварительной обработки  — отвечает за выборку и декодирование инструкций в порядке, предусмотренном программой, и предсказывает переходы.

  • Ядро исполнения с изменением последовательности  — отвечает за исполнение микроопераций в оптимальном порядке и организует взаимодействие исполнительных устройств.

  • Подсистема упорядоченного завершения— выдаёт результаты исполнения в порядке, предусмотренном программой.

  • Подсистема памяти — обеспечивает взаимодействие процессора с оперативной памятью.