Векторные команды. ММХ-технологии

Автор работы: Пользователь скрыл имя, 27 Декабря 2011 в 19:05, реферат

Описание

Векторные команды позволяют одной командой предписать выполнение некоторой операции (векторной операции) над элементами вектора (векторов), например поэлементное сложение векторов. Таким образом, векторная команда наряду с обеспечением содержательной операции над элементами вектора берет на себя и управление вычислительным циклом.

Содержание

Векторные команды ……………………………………………………………3-4

Технология ММ…………………………………………………………………5-9

Работа состоит из  1 файл

Организации ЭВМ и систем.doc

— 51.50 Кб (Скачать документ)

Московский  государственный университет

приборостроения и информатики

Сергиево-Посадский  филиал 
 
 
 

Реферат по Организации ЭВМ и систем

на тему: ”Векторные команды. ММХ-технологии ” 
 

                                                             
 
 

                                                         Выполнил:

                                        студент группы ИТ-4 1 курс(сокр)

                           Иванов Иван Игоревич

                                                         Проверил:

                             Бенда Игорь Мирославович 
 
 
 
 
 
 
 
 

2010 г

Оглавление

Векторные команды ……………………………………………………………3-4

Технология ММ…………………………………………………………………5-9 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Векторные команды 

Векторные команды  позволяют одной командой предписать выполнение некоторой операции (векторной операции) над элементами вектора (векторов), например поэлементное сложение векторов. Таким образом, векторная команда наряду с обеспечением содержательной операции над элементами вектора берет на себя и управление вычислительным циклом.

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

Организация конвейерной  обработки векторных команд в  многопроцессорных вычислительных системах с перестраиваемой структурой / / Управляющие системы и машины.

Назовем составным  векторным оператором ОСВ оператор, включающий некоторую последовательность векторных команд, выполняющих обработку  одноименных элементов нескольких векторов, и / или скалярных команд (в том числе команд управления), причем команды работают как над операндами оперативной памяти, так и над операндами векторных регистров; длина векторов и векторных регистров считается неограниченной.

Прототипом источников заявок в рассматриваемой модели являются устройства управления (УУ) МВС, выполняющие обработку программ задач или их фрагментов и обеспечивающие выполнение скалярных и векторных команд в процессорных блоках. Поток обращений каждого УУ формируется как объединение нескольких потоков заявок, причем некоторые из потоков являются независимыми между собой. Наличие такого суммарного потока в УУ является следствием параллелизма процессов обработки и выполнения команд: опережающего чтения из ОП команд обрабатываемой программы, независимого расчета адресов и чтения из ОП скалярных и векторных операндов, пересылки в ОП результатов параллельного выполнения команд в процессорных блоках, промежуточных обращений к ОП при обработке косвенных адресов и прочего.

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

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

Средства векторной  обработки каждого центрального процессора включают в себя конвейерное  арифметическое устройство и набор  из 16 векторных регистров по 128 32-битных элементов в каждом. Эти средства реализуют 171 векторную команду.

При функционировании реальных МВС и их подсистем обработки интенсивность генерации команд устройствами управления и интенсивность выполнения команд в решающем поле изменяются во времени в зависимости от типов обрабатываемых и выполняемых команд. Уже упоминалось, что длительности обработки векторной и скалярной команды (в пересчете на одну выполняемую в решающем поле операцию) существенно различны из-за различий во времени чтения программы, времени расчета адресов, различия в способах буферизации операндов и результатов и пр. Это приводит к скачкообразному изменению интенсивности генерации команд в УУ при переходе от обработки векторной команды к скалярным командам и наоборот.

Технологии MMX 

  Объявление компании Intel о начале массового производства процессоров Pentium c технологией MMX существенно меняет расстановку сил на рынке персональных компьютеров.

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

Анатомия MMX

   С точки  зрения программиста технология MMX представляет собой 57 новых  мощных инструкций, предназначенных в первую очередь для ускорения внутренних ресурсоемких циклов прикладных программ. Обычно эти циклы представляют собой достаточно компактные участки кода, составляющие всего несколько процентов от общего объема программы. В то же время при выполнении задачи они потребляют подавляющую часть ресурсов процессора. Инструкции MMX выполняют одно и то же действие над несколькими элементами данных, используя технологию Single Instruction Multiple Data (SIMD). Одновременно с новыми инструкциями вводятся восемь 64-разрядных регистров. Каждый из регистров может содержать либо одно 64-разрядное слово, либо 2 двойных слова, либо 4 слова, либо 8 байтов. Из сказанного становится понятно, что, например, байтовое сложение можно теперь выполнять пакетами по 8 байтов, что будет примерно в 8 раз быстрее. Но и это еще не все. Среди новых команд имеются такие нестандартные операции, как сложение и вычитание с насыщением, упаковка, распаковка, умножение со сложением, операции сравнения с образованием маски результата. Используя эти возможности, можно достигать еще большего роста производительности.

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

 На языке  С фрагмент кода будет выглядеть  следующим образом

sum = snd1 + snd2;

if (sum > 127) sum = 127;

if (sum < -128) sum = -128;

 После компиляции  этот участок кода превратится  в 7 инструкций процессора x86.

Если же воспользоваться  технологией MMX, то весь этот громоздкий код можно заменить одной-единственной инструкцией 

paddsb mm0,mm1, которая к тому же выполнит эту операцию сразу для пакета из 8 байтов данных. Нетрудно подсчитать, что для данного примера достигается ускорение выполнения примерно в 56 раз!

 Другой пример, где инструкции MMX могут дать значительный  выигрыш в производительности, - сложение двух изображений с использованием одного из цветов в качестве "прозрачной" маски.

   Эта стандартная  операция достаточно часто встречается  во многих графических приложениях.  Голубой цвет фона вокруг космического  корабля рассматривается как  прозрачный при сложении изображений.

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

   Возникает  вопрос - как существующие приложения  и существующая операционная  система будут сохранять значения  новых 8 регистров MMX, например, при  переключении задач, если они ничего об этом не знают? Оказывается, регистры МMX совмещены по расположению с регистрами плавающей точки. Благодаря такому решению регистры MMX полностью вписываются в существующую архитектуру.

Каким образом  и как скоро технология MMX повлияет на сложившийся массовый рынок персональных компьютеров? Рассмотрим эту ситуацию с начала с точки зрения оптимиста, а затем скептика. 

Перспективы

   Компании-разработчики  компьютерных игр восприняли  технологию MMX с нескрываемым энтузиазмом.  Она дает возможность в несколько раз сократить расходы на воспроизведение сложных звуковых эффектов, создавать сложные трехмерные миры с динамической освещенностью. Если до появления технологии MMX пользователь мог лицезреть любимые игры, как правило, в 256 цветах, то с появлением технологии MMX стандартом, очевидно, станет high color, то есть 65 тысяч цветов одновременно. Это придаст невиданный реализм трехмерным мирам с тенями, туманом и полупрозрачностью. В аркадах и стратегиях мягче станет вертикальная и горизонтальная прокрутка, высвободится дополнительное процессорное время, которое можно будет потратить на улучшение алгоритмов искусственного интеллекта.

 В выигрыше  окажутся все, кто так или  иначе связан с мультимедиа.  Так, например, компания Adobe объявила, что популярный пакет Photoshop за счет использования технологии MMX будет выполнять операции над изображениями от 2 до 6 раз быстрее, чем на аналогичных машинах без MMX. У любителей посмотреть качественные клипы и фильмы на компьютере раньше был лишь один выбор -- покупать аппаратный ускоритель MPEG. Теперь с этой функцией прекрасно справляется Pentium с MMX и обычной видеокартой. Более того, если обзавестись картой с телевизионным тюнером, можно одновременно работать, скажем, в Excel и смотреть сериал "Секретные материалы" в другом окне.

   Новая  технология даст толчок к практическому  внедрению систем распознавания  речи, поскольку затраты на обработку  речевого сигнала могут быть  снижены в несколько раз. Инструкции MMX прекрасно подходят для реализации  цифровых фильтров, дискретного преобразования Фурье, векторных и матричных операций. Наконец, в выигрыше окажутся сетевые приложения и приложения для Internet, написанные на Java.

Проблемы

   Сегодня  для того, чтобы полноценно использовать  инструкции MMX, необходимо низкоуровневое программирование на ассемблере. Едва ли все компании, занимающиеся разработкой программного обеспечения, готовы переквалифицировать своих программистов, понеся при этом дополнительные затраты.

  Потребуется  также определенное время на реализацию MMX в промышленных компиляторах. Не стоит забывать, что большинство инструкций MMX не имеет соответствующего адекватного представления в языках высокого уровня. Возможно, потребуются новые расширения языка С или даже создание нового языка. И только после появления компиляторов, использующих инструкции MMX, начнется реальное применение технологии. Таким образом, ситуация с MMX едва ли будет сильно отличаться от ситуации с первым 32-разрядным процессором 80386, когда 32-разрядная операционная система появилась спустя много лет.

Кроме того, практическому  применению MMX будут сильно мешать конфликты MMX и плавающей точки. Приложение не может одновременно использовать операции с плавающей точкой и MMX-операции. А это означает, что уровень  применения MMX в течение довольно длительного времени будет весьма незначительным, особенно в корпоративном секторе. 

Реальные  преимущества

   Доводы  как оптимиста, так и пессимиста  имеют свои резоны. Технология MMX явно добавляет хлопот компаниям-разработчикам  ПО. В то же время это не напрасные хлопоты, поскольку парк установленных компьютеров, в первую очередь в домашнем пользовании, непрерывно растет и технология MMX вполне может стать катализатором этого роста.

Информация о работе Векторные команды. ММХ-технологии