Topic MMX2 from CPU FAQ base


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


SU.HARDW.PC.CPU (2:5020/299) —————————————————————————————— SU.HARDW.PC.CPU From : Dimon Shvetsov 2:5020/470.27 Tue 12 Nov 96 21:15 Subj : MMX - с великого pазpешения!-) 1/2 ———————————————————————————————————————————————————————————————————————————————— С величайшего позволения вывожу сюда текст статьи. За ошибки не пинайте, отокpил, пока начальство не вычислило, даже вылизывать тщательно не было вpемени, так что что есть!-) Hо и это не мало... === Cut === MMX - новая технология от INTEL. (Hard'n'Soft 7/1996) 12 марта московское представительство фирмы Intel иа специальном семинаре для прессы сообщило об основных деталях новейшей технологии ММХ. (Логично предположить, что эта аббревиатура расшифровывается как MultiMedia eXtentions, однако представители компании Intel за все вре- мя семинара ни разу не расшифровали ММХ - ни так, ни как-либо иначе. А вдруг здесь есть какой-то скрытый смысл? - Прим. ред.). Одним из при- мечательных моментов этого семинара являлся уже тот факт, что предс- тавлял новую технологию руководитель московского филиала Лаборатории программных технологий Intel Алексей Одиноков. Хотя речь идет о расши- рении архитектуры процессоров семейства Intel, это событие, по мнению компании, представляет особый интерес именно для разработчиков прог- раммного обеспечения. Технология MMX подразумевает включение нового набора из 57 команд в архитектуру процессоров Intel, что представляет собой принципиальное новшество в ее развитии. Как известно, в первом процессоре серии х86 - знаменитой модели 8086, выпущенной в 1979 г., число команд было равно 170 Следующее же расширение произошло только в 1985 г. с появлением микропроцессора 386 (220 команд). С тех пор внутреннее развитие архи- тектуры процессоров шло постоянно, но с внешней стороны она оставалась для программиста все той же - система команд не менялась (в том числе, и в Pentium Pro). Конечно, на уровне команд процессора тоже происходи- ли многие важные изменения, и именно поэтому постоянно появлялись ва- рианты "оптимизации программ" под процессоры 386, 486 и т.д. о на уровне программирования, даже на ассемблере, все оставалось, в принци- пе, по-прежнему. Теперь, через 11 лет, Intel решила расширить систему команд процессора, и это является по многим причинам весьма знамена- тельным событием. Дополнительный набор команд предназначен в первую очередь для ре- ализации алгоритмов, характерных для обработки видео- и аудиоданных: фильтрации, преобразований Фурье, свертки и пр. Включение таких до- вольно специфических операций в универсальный процессор является приз- нанием того факта, что необходимость решать мультимедийные задачи ста- новится все более массовой, и что эти задачи будут сохранять свою ак- туальность в течение дпительного времени. При этом следует обратить внимание на то, что традицией Intel по-прежнему остается соблюдение совместимости моделей "снизу вверх". В какой-то степени, появление нового набора команд сравнимо с по- явлением встроенного математического сопроцессора. В этом плане надо отметить, что новый процессор Р55С, выпуск которого обещан в четвертом квартале 1996 г., должен просто заменить выпускаемый сейчас Pentium. Будет в полне логично, если Р55С будет называться, например, Penti- um-MMX. (Здесь уместна аналогия: 486SX и 486DX.) Затем точно также должны появится ММХ-модификации процессора Pentium Pro. Таким образом, можно предположить, что с появлением архитектуры MMX выпуск процессо- ров со старым набором в 220 команд должен просто постепенно прекра- титься. Хотя внешне набор расширений MMX выглядит довольно представитель- но, на самом деле он касается достаточно простых операций с целочис- ленными данными: сложения, умножения, логических операций. Кроме того, новый набор включает целый ряд специальных векторных операций типа подсчета суммы произведений пар чисел. При этом вычислительный эффект от применения MMX технологии в мультимедийном и коммуникационном ПО может оказаться весьма существенным. По оценкам Intel, на долю таких команд приходится не более 10% кода подобных программ, однако, учиты- вая то, что эти операции выполняются в очень больших циклах, доля та- ких фрагментов составляет до 90% общего времени исполнения программы. В результате, по предварительным данным, прирост производительности может достигать 50-400% в зависимости от конкретных приложений. Для временного хранения MMX-данных (новые типы данных, используе- мые в ММХ-командах) в процессоре будет применяться тот же набор 64-разрядных регистров, который ранее использовался для чисел с плава- ющей запятой. о в отличие от устройства обработки вещественных чисел, который использовал этот набор только в виде стека, для MMX-команд ре- гистры будут иметь статус общего назначения с прямой адресацией каждо- го регистра (более подробно об устройстве см. во врезке). Следствием использования общего набора регистров является то, что фрагменты обработки чисел с плавающей запятой и новых MMX-данных долж- ны быть довольно четко разделены в программе. Впрочем, это не очень сложно - обычно обработка целых и вещественных чисел достаточно изоли- рована друг от друга. Представители Intel пока не ответили на вопрос, насколько услож- нится конструкция процессора с появлением ММХ-команд. Критерием такого усложнения является, например, увеличение числа транзисторов на крис- талле, по которому можно спрогнозировать изменение стоимости изделия, его энергопотребление, и пр. о, судя по всему; степень этого усложне- ния будет не очень значительной (арифметический блок довольно простой, дополнительных регистров файлов не будет); по крайней мере, оно будет гораздо менее существенным по сравнению с разницей между 486DX и 486SX - т.е., с тем же математическим сопроцессором. Решающее слово - за разработчиками программ. Появление MMX не является каким-то неожиданным шагом Intel, оно вполне согласуется с общей стратегией компании по переносу специализи- рованных функций обработки с дополнительных плат на центральный про- цессор. Именно это является ключевым моментом в программе NSP (Native Signal Processing), которая была провозглашена компанией в прошлом го- ду (см. Hard'n'Soft #8 1995 г. Вообще говоря, ситуация немного стран- ная: об NSP представители Intel не говорят ни слова, хотя совершенно естественно, если бы MMX являлась второй фазой стратегии NSP. - Прим. ред.). Однако практическая реализация этой стратегии Intel почти пол- ностью зависит от активности участия в ней разработчиков ПО. Именно они должны обеспечить программную реализацию того, что раньше выполня- лось специальной аппаратурой. Следствием этого является заметное повы- шение интереса Intel к программистам, желание компании активизировать их деятельность в нужном для себя направлении. При этом, официально провозглашая, что у компании нет планов вторжения в сферу коммерческих программных средств (хотя оно уже началось с помощью, например, комп- лекса программ по администрированию сетей LANDesk), Intel постоянно расширяет разработку собственных вспомогательных средств для разработ- чиков ПО. Следует вспомнить, что компания Intel создала собственную Лабораторию программных технологий еще в 1991 году; в 1995 г. она име- ла уже более 600 сотрудников и несколько отделений в различных стра- нах. Однако успех программы NSP в целом и ММХ технологии в частности зависит от соответствующей переориентации огромного числа специализи- рованных программных пакетов. В этой связи Intel активизирует взаимо- отношения не только со своими традиционными стратегическими партнера- ми, такими, как Microsoft (одновременно налаживая сотрудничество с альтернативными крупными партнерами, например, Novell), но и со всеми независимыми разработчиками ПО. Именно этому посвящена еще одна объяв- ленная в прошлом году долговременная программа поддержки разработчиков ПО. Ее суть заключается в том, что Intel объявила свободный доступ к собственным программным технологиям не только для своих стратегических партнеров, но и дпя всех желающих. С учетом всего вышеизложенного, представление новой технологии ММХ именно сотрудниками Лаборатории программных технологий Intel выг- лядит вполне естественно. Точно так же вполне закономерно, что офици- альное объявление спецификаций ММХ произошло более чем за полгода до выхода самого процессора Р55С. Как сообщил Алексей Одиноков, уже в марте были готовы методические материалы по MMX-технологии. Соответс- твующий компакт-диск, Software Developer CDROM, разослан всем партне- рам компании по программе поддержки разработчиков. К этому же времени должны были появиться Microsoft Масго Assembler с MMX расширениями и, несколько позднее, подцерживающий ее Visual C++, однако о них на мо- мент написания статьи ничего слышно не было. Спедует отметить, что переход к использованию ММХ технологии для разработчиков программных продуктов может оказаться не слишком прос- тым. а первый взгляд, переделке кода должны быть подвержены только относительно небольшие фрагменты программ, на которые, тем не менее, приходится основная вычислительная нагрузка. о для эффективного ис- пользования параллельной обработки может потребоваться принципиальное изменение алгоритмов обработки (возможно, даже проведение специальных исследований для их выбора). Кроме того, совершенно очевидно, что про- изойдет некоторое усложнение программ за счет того, что они должны бу- дут поддерживать оба варианта обработки - с ММХ-архитектурой и без нее. Здесь вполне уместна аналогия с проблемой наличия/отсутствия соп- роцессоров, до сих пор практически все приложения поддерживают оба ва- рианта. И тем не менее, представляется вероятным, что разработчики ПО до- вольно быстро откликнутся на призыв Intel использовать MMX-технологию не только на словах (о ее поддержке заявило уже довольно большое число фирм: производителей ПК, мультимедийного оборудования и программного обеспечения), но и на деле. Практика показывает, ITO опаздывать с внедрением новых технологий просто опасно; к тому же это дает отличную возможность для достаточно простого выпуска новых версий программных продуктов. В прошлом году мы могли видеть наглядный пример такой ситу- ации в связи с выходом в свет Windows 95. Так или иначе, но Microsoft уже сообщила о решении включить под- держку MMX в свою новую межплатформенную видеотехнологию ActiveMovie, Direct3D API (см. статью "Персональные компьютеры наконец-то начнут.. работать" в этом номере Hard'n'Soft), сервисном наборе API для реаль- ного масштаба времени и трехмерной графики, а также компилятор C++. Около сорока производителей инструментальных средств и приложений, в том числе Macromedia, NuMega и PowerSoft, также выразили свое согласие поддержать новые расширения. Что скажут разработчики аппаратуры? Совершенно очевидно, что появление MMX технологии затрагивает ин- тересы разработчиков мультимедийных аппаратных средств, так как она должна отобрать у них часть выполняемых функций. о кажется, что здесь не должно быть особых конфликтов. По сути дела центральный процессор возьмет на себя реализацию только наиболее массовых мультимедийных ал- горитмов. Сложные же схемы обработки будут по-прежнему реализовываться специализированными средствами расширения. Практика показывает, что требования к видео- и аудиообработке растут довольно быстро, поэтому производители мультимедийного оборудования не останутся без дела. о при этом перенос массовых операций нижнего уровня на центральный про- цессор должен привести к снижению относительной стоимости этого допол- нительного оборудования. Таким образом, положительная реакция разра- ботчиков аппаратуры мультимедиа на ММХ технологию представляется до- вольно естественной. Что касается производителей процессоров архитектуры х86 (AMD, Cy- rix и пр.), то появление ММХ-технологии может явиться для них не очень приятным событием. Так, представитель AMD сообщил о введении мультиме- дийных расширений в будущие процесоры, но отказался дать какие-либо комментарии относительно соотношения их с ММХ. Реакция Cyrix более оп- ределенна. В процессор М2 встроена поддержка мультимедиа-функций. Од- нако похоже, что пока М2 не будет поддерживать специализированный на- бор команд мультимедиа, но зато будет позволять системе содержать большее количество дополнительных плат расширения. В последнее время довольно много говорят о том, что новые процессоры этих фирм по своим техническим и экономическим характеристикам по крайней мере не упупают новейшим моделям Intel. К тому же идет разговор о довольно значитель- ном увеличении их производственных мощностей. Короче говоря, AMD, Cy- rix и другие производители собираются усилить конкуренцию Intel или, по крайней мере, не отставать от него. Теперь же Intel предлагает своим конкурентам в области микропро- цессоров х86 новое направление в технологической гонке. То, что для современных ПК нужны некоторые специальные вычислительные устройства, было понятно уже давно Здесь было два варианта развития. либо создание отдельного мультимедиа-сопроцессора, либо включение этих функций в состав стандартной архитектуры. апример, компания NexGen выбрала пер- вый вариант - о разработке такого специального сопроцессора сообщалось еще в конце прошлого года. о Intel, как теперь видно, предпочел дви- нуться другим путем, и разработчикам клонов х86 придется решать для себя нелегкую задачу выбора стратегии дальнейшего развития архитекту- ры. Ведь если компьютерная индустрия в основной массе поддержит изме- нения в стандарте архитектуры, предложенные единоличным решением "старшего брата", то его конкурентам скорее всего придется последовать за ним. Совершенно очевидно, что в такой ситуации Intel сможет хотя бы на некоторое время опять увеличить отрыв от своих преследователей по микропроцессорам х86. Технология MMX: подробности. Компьютеры всегда работают быстрее, если есть специальное уст- ройство для решения какой-то проблемы. Intel пытается сделать процес- сор персонального компьютера главным и дпя мультимедиа. Действительно ли "поющие и танцующие" компьютеры находятся на пути к высокой произ- водительности? В настоящев аремя мультимедиа становится все более по- пулярной. К сожалению, скорость выполнения мультимедийных приложений зачастую оставляет желать лучшего. Звук, видео и трехмерная графика занимают очень много места и требуют для обработки мощных систем. In- tel утверждает, что эта проблема будет решена с применением технологии MMX (по утверждению Intel, эти буквы никак не расшифровываются, но, возможно, они означают MultiMedia eXtentions мультимедийные расшире- ния). Сущность технологии состоит в дополнении архитектуры процессора Pentium и появлении у него специальных команд для работы с мультиме- диа, что должно увеличить скорость работы мультимедиа-приложений и по- высить производительность системы в целом. MMX - первое существенное изменение в архитектуре процессоров семейства х86 со времени появления процессора 80386. Теперь у Pentium появятся 57 новых инструкций и 8 виртуальных регистров, с которыми эти инструкции будут работать. В многозэдачных операционных системах, таких как OS/2 и Win- dows95, при переключении с одной задачи на другую опврационная система сохраняет в памяти содержимое есех регистров процессора для того, что- бы при переключении восстановить их. Поэтому при появлении у процессо- ра новых регистров потребуются изменения в самих операционных систе- мах, что неизбежно приведет к проблемам совместимости. Компания Intel пошла по такому пути, который позволил избежать описанных проблем: но- вые инструкции процессора используют регистры арифметического устройс- тва, в которых обычно хранится дробная часть числа с плавающей точкой. овые инструкции, использующие эти 64-битные регистры, принад- лежат к типу SIMD (Single Instruction Multiple Data "одна инструкция, множественные данные"). Это означает, что процессор выполняет одну и ту же инструкцию параллельно для нескольких байт данных. Именно этот процесс выполнения одинаковых преобразований для больших потоков ин- формации и является основным при работе со звуком или видео (эти про- цедуры выполняются либо самой программой, либо специальными микросхе- мами обработки сигналов DSP, Digital Signal Processor). аложение фильтра на картинку или создание трехмерного объекта - это, на самом деле, не что иное, как выполнение одного и того же преобразования для каждой точки экрана. Традиционно эта процедура выполняется процессо- ром, последовательно, пиксел за пикселом новые же инструкции мо рабо- тать с несколькими единицами данных одновременно. овые инструкции используют четыре типа данных: упакованные бай- ты, упакованные слова, упакованные двойные слова и, наконец, упакован- ные четверные слова. Упакованные байты могут хранить восемь 8-битных пикселов одновременно, что может быть эффективно использовано при ра- боте с видеоизобраиением. Упакованные слова состоят из четырех 16-бит- ных слов этот тип данных удобно использовать в коммуникациях и при об- работке эвука. Упакованные двойные слова состоят из двух 32-битных двойных слов. аконец, самый большой вид данных - упакованные четвер- ные слова - подходят для операций, которые изменяют порядок входных данных (например,точек изображения на экране дисплея). Чтобы получить второй пиксел, нужно произвести сдвиг на восемь бит, пропуская, таким образом, первый. При работе обычного процессора после выполнения такой операции за следующим пикселом необходимо будет обращаться к памяти, но если использовать ММХ, следующие шесть пикселов сразу окажутся дос- тупными для обработки. Все новые инструкции разработаны для эффективной работы в мульти- медиа - приложениях. Они включают специальные операторы для работы с данными (например, fast multiply accumulаte), арифметические операторы для реальной обработки данных, инструкции пересылки для загрузки, плюс инструкции преобразования для работы с новыми типами данных и логичес- кие операции для сравнения данных (идеальные для видеоэффектов, типа появления духов на картинках в играх, или использования клавиши Chroma для вырезания одной картинки из другой при помощи маски). овые инс- трукции призваны заменить ту часть в старых программах, которая зани- малась обработкой мультимедийных данных и занимала по объему около 10-20% кода программы, а по времени выполнения - около 80%. Для того, чтобы ММХ-приложения могли работать на всех компьютерах, они должны содержать две версии кода для процессоров - с MMX и без. В этих целях программа может использовать команду CPU_ID (команда идентификации центрального процессора), чтобы определить, поддерживает данная систе- ма ММХ или нет, и загрузить соответствующий код. Все крупнейшие произ- водители программного и аппаратного обеспечения, включая Microsoft, уже объявили о поддержке нового стандарта. Применение новой технологии должно существенно повысит производительность персональных компьюте- ров. По утверждению Intel, скорость обработки изображений вырастет на 40%, видео на 50%, производительность систем распознавания речи уве- личится на 200%, а скорость программ, обрабатывающих звук, вырастет на 250%. Так, например, скорость выполнения обратного дискретного косину- соидального преобразования (Inverse Discrete Cosine Transform, IDCT), которое применяется при сжатии видеосигнала, с использованием MMX уве- личивается на 12%. Аналогично MMX ускоряет и другие процессы, исполь- зуемые в мультимедийных приложениях. Все новые инструкции имеют коды в заранее зарезервированном диапазоне, поэтому переход к новой техноло- гии не повлечет за собой существенных затрат на производство, и резко- го увеличения цен не произойдет. По заявлению Intel, первый процессор Pentium с поддержкой ММХ должен появиться к концу этого года. Следую- щая модель, работающая на частоте 166 МГц, имеющая кодовое обозначение Р55С, а также процессоры Pentium Pro с поддержкой ММХ, появятся в 1997 году. Постепенно все выпускаемые Intel процессоры будут соответство- вать стандарту ММХ. При этом Intel постоянно отмечает, что новая тех- нология не призвана заменить существующее аппаратное обеспечение, но делает РС более приспособленным для работы с мультимедиа. === Cut === See You! Dimon. [Team OS/2]. --- GEcho 1.02+ Hi! * Origin: /103.38 AKA /470.27 White Fang BBS! (2:5020/470.27)

Return to the main CPU FAQ page