Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[35]

выполнения каждой пропэаммы и всего программного обеспечения независимо от того, использует ли оно фактически команды ММХ.

Другим усовершенствованием ММХ является расширение набора команд процессора 57 новыми командами, а также введение новой возможности выполнения команд, называемой одиночный ноток команд - множественный поток данных (Single Instruction - Multiple Data, SIMD).

В современных мультимедийных и сетевых приложениях часто используются циклы; хотя они занимают около 10% (или даже меньше) объема полного кода приложения, на их выполнение может уйти до 90% общего времени выполнения. Благодаря применению SIMD одна команда может осуществлять одну и ту же операцию над несколькими данными, подобно тому как преподаватель, читая лекцию, обращается ко всей аудитории, а не к каждому студенту в отдельности. Технология SIMD позволяет ускорить выполнение циклов при обработке графических, анимационных, видео-и аудиофайлов; в противном случае эти циклы отнимали бы время у процессора.

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

Такие компании, как AMD и Cyrix, лицензировали у Intel технологию ММХ и реализовали ее в собственных процессорах.

Инструкции SSE и SSE2

В феврале 1999 года Intel представила общественности процессор Pentium III, содержащий обновление технологии ММХ, получившей название SSE (Streaming SIMD Extensions - поточные расширения SIMD). До этого момента инструкции SSE носили имя Katmai New Instructions (KNI), так как первоначально они были включены в процессор Pentium III с кодовым именем Katmai. Процессоры Celeron 533А и выше, созданные на основе ядра Pentium III, тоже поддерживают инструкции SSE. Более ранние версии процессора Pentium II, а также Celeron 533 и ниже (созданные па основе ядра Pentium II) SSE не поддерживают.

Инструкции SSE содержат 70 новых команд для работы с графикой и звуком в дсполне-ние к существующим командам ММХ. Фактически этот набор инструкций кроме KNI имел еще и второе название - ММХ-2. Инструкции SSE позволяют выполнять операции с плавающей запятой, реализуемые в отдельном модуле процессора. В технологиях ММХ для этого использовалось стандартное устройство с плавающей запятой.

Инструкции SSE2, содержащие 144 дополнительные команды SIMD, были представлены в ноябре 2000 года вместе с процессором Pentium 4. В SSE2 были включены все инструкции предыдущих наборов ММХ и SSE.

Поточные расширения SIMD (SSE) содержат целый ряд новых команд для выполнения операций с плавающей запятой н целыми числами, а также команды управления кэшпамятью. Новые технологии SSE позволяют более эффективно работать с трехмерной графикой, потоками аудио- и видеоданных (DVD-воспроизведение), а также приложениями распознавания речи. В целом SSE обеспечивает следующие преимущества:

более высокое разрешение/качество при просмотре и обработке графических изображений;

улучшенное качество воспроизведения звуковых и видеофайлов в формате MPEG2, а также одновременное кодирование и декодирование формата MPEG2 в мультимедийных приложениях;

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


Инструкции SSE и SSE2 особенно эффективны при декодировании файлов формата MPEG2, который является стандартом сжатия звуковых и видеоданных, используемым в DVD. Следовательно, процессоры, оснащенные SSE, позволяют достичь максимальной скорости декодирования MPEG2 без использования дополнительных аппаратных средств (например, платы декодера MPEG2). Кроме того, процессоры, содержащие набор инструкций SSE, значительно превосходят предыдущие версии процессоров при распознавании речи.

Одним из основных преимуществ SSE по отношению к ММХ является поддержка операций SIMD с плавающей запятой, что очень важно при обработке трехмерных графических изображений. Технология SIMD, как и ММХ, позволяет выполнять сразу несколько операций при получении процессором одной команды. В частности, SSE поддерживает выполнение до четырех операций с плавающей запятой за цикл; одна инструкция может одновременно обрабатывать четыре блока данных. Для выполнения операций с плавающей запятой инструкции SSE могут использоваться вместе с командами ММХ без заметного снижения быстродействия. SSE также поддерживает упреждакпцую выборку данных (prefetching), которая представляет собой механизм предварительного считывания данных на кэш-памяти.

Обратите внимание; наилучший результат использования новых инструкций процессора обеспечивается только при их поддержке на уровне используемых приложений. Сегодня большинство компаний, занимающихся разработкой программною обеспечения, модифицировали приложения, связанные с обжботкой графики и звука, что позволило в более полной мере использовать возможности SSE. Например, графическое приложение Adobe Photoshop поддерживает инструкции SSE, что значительно повышает эффективность использования процессоров, оснащенных SSE. Поддержка инструкций SSE встроена в DirectX tt.l и в самые последние видео- и аудиодрайверы, поставляемые с операционными системами Windows 98 Second Edition, Windows Me, Windows NT 4.0 (с пакетом обновления 5 или более поздним) и Windows 2000.

Инструкции SSE являются расширением технологий ММХ, a SSE2 - расширением инструкций SSE. Таким образом, процессоры, поддерживающие SSE2, поддерживают также инструкции SSE, а процессоры, поддерживающие SSE, в свою очередь, поддерживают оригинальные команды ММХ. Это означает, что стандартные ММХ-приложеиия могут выполняться практически на любых системах.

Технологии 3DNow!, Enhanced 3DNow! и Professional 3DNow!

Технология 3DNow разработана компанией AMD в ответ на реализацию поддержки инструкций SSE в процессорах Intel. Впервые (май 1998 года) 3DNow реализована в процессорах AMD Кб, а дальнейшее развитие - Enhanced 3DNow - эта технология получила в процессорах Athlon и Duron. Новая технология Professional 3DNowI впервые появилась в процессорах Athlon XP. Компания AMD лицензировала технологию ММХ компании Intel и реализовала полноценную поддержку инструкций ММХ в процессорах Кб, Athlon и Duron. Не желая дополнительно лицензировать инструкции SSE, в AMD разработали новый набор расширений для инструкций ММХ, получивший название 3DNowl. Аналогично SSE/SSE2, технологии 3DNow!, Enhanced 3DNowl и Professional 3DNowl предназначены для ускорения обработки трехмерной графики, мультимедиа и других интенсивных вычислений.

Технология 3DNowI представляет собой набор из 21 инструкции S1MD, которые оперируют массивом данных в виде единичного элемента, В Enhanced 3DNowl добавлено еще 24 инструкции (19 инструкций SSE и пять DSP/коммуникационных инструкций), что составляет в итоге 45 инструкций. Будучи расширением ММХ, технология 3DNowl предоставляет функциональные возможности, аналогичные инструкциям SSE процессоров Pentium Ш и Celeron. Согласно данным компании AMD, технология 3DNowI расширяет возможности ММХ наравне с SSE, однако использует для этого меньшее количество инструкций и менее сложную архитектуру. Технологии обработки данных 3DNowI, Enhanced 3DNow! и Professional 3DNowl хотя и подобны SSE, но несовместимы на уровне инструкций, поэтому производители программного обеспечения должны предоставить возможность поддержки каждой из этих технологий в отдельности. Последняя версия 3DNow! - 3DNowI Professional! -


добавляет 51 инструкцию SSE к набору команд 3DNow! Enhanced, благодаря чему процессоры AMD в полной мере поддерживают все возможности SSE. К сожалению, это не относится к инструкциям SSE2, которые на данный момент поддерживаются только процессорами Pentium 4 и Celeron 4.

Технология 3DNow, как и SSE, поддерживает операции SIMD с плавающей запятой, а также позволяет выполнять до четырех операций с плавающей запятой за один цикл Инструкции 3DNow для операций с плавающей запятой могут использоваться вместе с ком;щдами ММХ без заметного снижения быстродействия. Поддерживается и упреждающая выборка данных - механизм предварительного считывания данных из кэш-памяти.

Наравне с SSE, инструкции 3DNow! в полной мере поддерживаются различными программными продуктами, в частности Windows Эх, Windows NT 4.0 и более новыми операционными системами Microsoft. В процессорах последнего поколения Athlon ХР и Athlon 64 реализована полноценная поддержка инструкций 55Езасчет применения технологии 3DNow! Professional.

Динамическое выполнение

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

Предсказание множественною перехода (ветвления). Предсказание потока выполнения программы через несколько ветвлений

Анализ потока команд. Назначение выполнения команд по мере готовности, независимо от их порядка в оригинальной программе.

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

Предсказание перехода

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

Анализ потока данных

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

Упреждающее выполнение

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



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19] [стр.20] [стр.21] [стр.22] [стр.23] [стр.24] [стр.25] [стр.26] [стр.27] [стр.28] [стр.29] [стр.30] [стр.31] [стр.32] [стр.33] [стр.34] [стр.35] [стр.36] [стр.37] [стр.38] [стр.39] [стр.40] [стр.41] [стр.42] [стр.43] [стр.44] [стр.45] [стр.46] [стр.47] [стр.48] [стр.49] [стр.50] [стр.51] [стр.52] [стр.53] [стр.54] [стр.55] [стр.56] [стр.57] [стр.58] [стр.59] [стр.60] [стр.61] [стр.62] [стр.63] [стр.64] [стр.65] [стр.66] [стр.67] [стр.68] [стр.69] [стр.70] [стр.71] [стр.72] [стр.73] [стр.74] [стр.75] [стр.76] [стр.77] [стр.78] [стр.79] [стр.80] [стр.81] [стр.82] [стр.83] [стр.84] [стр.85] [стр.86] [стр.87] [стр.88] [стр.89] [стр.90] [стр.91] [стр.92] [стр.93] [стр.94] [стр.95] [стр.96] [стр.97] [стр.98] [стр.99] [стр.100] [стр.101] [стр.102] [стр.103] [стр.104] [стр.105] [стр.106] [стр.107] [стр.108] [стр.109] [стр.110] [стр.111] [стр.112] [стр.113] [стр.114] [стр.115] [стр.116] [стр.117] [стр.118] [стр.119] [стр.120] [стр.121] [стр.122] [стр.123] [стр.124] [стр.125] [стр.126] [стр.127] [стр.128] [стр.129] [стр.130] [стр.131] [стр.132] [стр.133] [стр.134] [стр.135] [стр.136] [стр.137] [стр.138] [стр.139] [стр.140] [стр.141] [стр.142] [стр.143] [стр.144] [стр.145] [стр.146] [стр.147] [стр.148] [стр.149] [стр.150] [стр.151] [стр.152] [стр.153] [стр.154] [стр.155] [стр.156] [стр.157] [стр.158] [стр.159] [стр.160] [стр.161] [стр.162] [стр.163] [стр.164] [стр.165] [стр.166] [стр.167] [стр.168] [стр.169] [стр.170] [стр.171] [стр.172] [стр.173] [стр.174] [стр.175] [стр.176] [стр.177] [стр.178] [стр.179] [стр.180] [стр.181] [стр.182] [стр.183] [стр.184] [стр.185] [стр.186] [стр.187] [стр.188] [стр.189] [стр.190] [стр.191] [стр.192] [стр.193] [стр.194] [стр.195] [стр.196] [стр.197] [стр.198] [стр.199] [стр.200] [стр.201] [стр.202] [стр.203] [стр.204] [стр.205] [стр.206] [стр.207] [стр.208] [стр.209] [стр.210] [стр.211] [стр.212] [стр.213] [стр.214] [стр.215] [стр.216] [стр.217] [стр.218] [стр.219] [стр.220] [стр.221] [стр.222] [стр.223]