Автор работы: Пользователь скрыл имя, 27 Декабря 2011 в 19:05, реферат
Векторные команды позволяют одной командой предписать выполнение некоторой операции (векторной операции) над элементами вектора (векторов), например поэлементное сложение векторов. Таким образом, векторная команда наряду с обеспечением содержательной операции над элементами вектора берет на себя и управление вычислительным циклом.
Векторные команды ……………………………………………………………3-4
Технология ММ…………………………………………………………………5-9
Московский государственный университет
приборостроения и информатики
Сергиево-Посадский
филиал
Реферат по Организации ЭВМ и систем
на тему:
”Векторные команды. ММХ-технологии ”
Иванов Иван Игоревич
Бенда Игорь Мирославович
2010 г
Оглавление
Векторные команды ……………………………………………………………3-4
Технология ММ……………………………………………
Векторные
команды
Векторные команды позволяют одной командой предписать выполнение некоторой операции (векторной операции) над элементами вектора (векторов), например поэлементное сложение векторов. Таким образом, векторная команда наряду с обеспечением содержательной операции над элементами вектора берет на себя и управление вычислительным циклом.
Наличие векторных команд способствует повышению быстродействия процессора за счет уменьшения потерь времени на организацию вычислительного цикла.
Организация конвейерной
обработки векторных команд в
многопроцессорных
Назовем составным
векторным оператором ОСВ оператор,
включающий некоторую последовательность
векторных команд, выполняющих обработку
одноименных элементов
Прототипом источников заявок в рассматриваемой модели являются устройства управления (УУ) МВС, выполняющие обработку программ задач или их фрагментов и обеспечивающие выполнение скалярных и векторных команд в процессорных блоках. Поток обращений каждого УУ формируется как объединение нескольких потоков заявок, причем некоторые из потоков являются независимыми между собой. Наличие такого суммарного потока в УУ является следствием параллелизма процессов обработки и выполнения команд: опережающего чтения из ОП команд обрабатываемой программы, независимого расчета адресов и чтения из ОП скалярных и векторных операндов, пересылки в ОП результатов параллельного выполнения команд в процессорных блоках, промежуточных обращений к ОП при обработке косвенных адресов и прочего.
Однако для аналитической оценки вероятностей загрузки УУ и РП при указанных условиях необходимо знать соотношение между числом операций, выполняемых в РП по векторным командам, и числом скалярных команд в каждой версии выполнения каждой программы, что в общем случае непредсказуемо.
В сравнении с этим задача управления векторными вычислениями упрощается уже за счет того, что расчет адресов, считывание операндов и выполнение операции для каждого элемента вектора обычно не зависят от результатов обработки других элементов того же вектора, входящих в ту же векторную команду. По этой причине расчет адресов векторных операндов легко поддается распараллеливанию аппаратными средствами, а использование аппарата составных векторных операторов позволяет резко сократить число обменов УУ с ОП.
Средства векторной обработки каждого центрального процессора включают в себя конвейерное арифметическое устройство и набор из 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 вырастает не менее, чем в два раза.
Возникает
вопрос - как существующие приложения
и существующая операционная
система будут сохранять
Каким образом
и как скоро технология MMX повлияет
на сложившийся массовый рынок персональных
компьютеров? Рассмотрим эту ситуацию
с начала с точки зрения оптимиста, а затем
скептика.
Перспективы
Компании-разработчики компьютерных игр восприняли технологию MMX с нескрываемым энтузиазмом. Она дает возможность в несколько раз сократить расходы на воспроизведение сложных звуковых эффектов, создавать сложные трехмерные миры с динамической освещенностью. Если до появления технологии MMX пользователь мог лицезреть любимые игры, как правило, в 256 цветах, то с появлением технологии MMX стандартом, очевидно, станет high color, то есть 65 тысяч цветов одновременно. Это придаст невиданный реализм трехмерным мирам с тенями, туманом и полупрозрачностью. В аркадах и стратегиях мягче станет вертикальная и горизонтальная прокрутка, высвободится дополнительное процессорное время, которое можно будет потратить на улучшение алгоритмов искусственного интеллекта.
В выигрыше окажутся все, кто так или иначе связан с мультимедиа. Так, например, компания Adobe объявила, что популярный пакет Photoshop за счет использования технологии MMX будет выполнять операции над изображениями от 2 до 6 раз быстрее, чем на аналогичных машинах без MMX. У любителей посмотреть качественные клипы и фильмы на компьютере раньше был лишь один выбор -- покупать аппаратный ускоритель MPEG. Теперь с этой функцией прекрасно справляется Pentium с MMX и обычной видеокартой. Более того, если обзавестись картой с телевизионным тюнером, можно одновременно работать, скажем, в Excel и смотреть сериал "Секретные материалы" в другом окне.
Новая
технология даст толчок к
Проблемы
Сегодня для того, чтобы полноценно использовать инструкции MMX, необходимо низкоуровневое программирование на ассемблере. Едва ли все компании, занимающиеся разработкой программного обеспечения, готовы переквалифицировать своих программистов, понеся при этом дополнительные затраты.
Потребуется также определенное время на реализацию MMX в промышленных компиляторах. Не стоит забывать, что большинство инструкций MMX не имеет соответствующего адекватного представления в языках высокого уровня. Возможно, потребуются новые расширения языка С или даже создание нового языка. И только после появления компиляторов, использующих инструкции MMX, начнется реальное применение технологии. Таким образом, ситуация с MMX едва ли будет сильно отличаться от ситуации с первым 32-разрядным процессором 80386, когда 32-разрядная операционная система появилась спустя много лет.
Кроме того, практическому
применению MMX будут сильно мешать конфликты
MMX и плавающей точки. Приложение
не может одновременно использовать
операции с плавающей точкой и MMX-операции.
А это означает, что уровень
применения MMX в течение довольно длительного
времени будет весьма незначительным,
особенно в корпоративном секторе.
Реальные преимущества
Доводы
как оптимиста, так и