Часть полного текста документа:Введение 3 Технология SIMD 4 Краткое обозрение технологий SIMD 5 Технология MMX 5 SSE 5 SSE2 6 SSE3 6 Микроархитектура Intel NetBurst 7 Цели, для которых была разработана Микроархитектура Intel NetBurst 7 Обзор конвейера микроархитектуры Intel NetBurst 7 Блок начальной загрузки 8 Беспорядочное ядро 9 Секция изъятий 9 Обзор блока начальной загрузки конвейера 11 Предвыборка 11 Декодер 11 Исполнительный кэш трасс 11 Предсказание ветвей 11 Обзор исполнительного ядра 13 Задержка инструкций и производительность 13 Исполнительные блоки и выводные порты 13 Кэши 15 Предвыборка данных 16 Плюсы и минусы программной и аппаратной предвыборки 16 Загрузка и хранение 18 Управление хранением 18 Технология Hyper-Threading 19 Ресурсы процессора и технология Hyper-Threading 20 Реплицированные ресурсы 20 Разделенные ресурсы 20 Разделяемые ресурсы 20 Микроархитектура конвейера и технология НТ 21 Блок начальной загрузки конвейера 21 Исполнительное ядро 21 Извлечение 21 Список использованной литературы 22 Введение В этой работе проводиться обзор основных моментов необходимых для оптимизации программного обеспечения для текущего поколения процессоров основанных на технологии IA-32, таких как Intel Pentium 4, Intel Xeon и Intel Pentium M. Работа дает базу для понимания правильного подхода к кодированию для технологии IA-32. Ключевые моменты, повышающие производительность процессоров текущего поколения на базе IA-32: * Расширение инструкций SIMD поддерживающих технологию MMX, потоковые расширения инструкций SIMD (SSE), потоковые расширения инструкций SIMD второй редакции (SSE2) и потоковые расширения инструкций SIMD третьей редакции (SSE3) * Микроархитектуры позволяющие выполнение большего количества инструкций на высоких тактовых частотах, иерархия высокоскоростных КЭШей и возможность получать данные по высокоскоростной системной шине * Поддержка технологии Hyper Threading Процессоры Intel Pentium 4 и Intel Xeon построены на микроархитектуре NetBurst. Микроархитектура процессора Intel Pentium M основывается на балансе производительности и низкого энергопотребления. Технология SIMD Один из путей к увеличению производительности процессора - это использование технологии вычислений основанной на том, что одна команда оперирует многими данными (single-instruction, multiple data (SIMD)). Вычисления с помощью SIMD (рисунок 1) представлены в архитектуре IA-32 технологией MMX.Технология MMX позволяет вычислениям SIMD производиться над упакованными целыми числами в виде байтов, слов и двойных слов. Эти целые содержаться в наборе из восьми 64-битных регистрах называемых MMX регистрами (рисунок 2). В процессоре Intel Pentium III технология SIMD была расширена с помощью потоковых расширений SIMD (SSE). SSE позволяет производить вычисления SIMD над операндами, содержащими четыре упакованных элемента с плавающей точкой одинарной точности. Эти операнды могут храниться как в памяти, так и в одном из 128-битных регистров называемых XMM регистрами (рисунок 2). SSE также расширяет вычислительные способности SIMD, путем добавления дополнительных 64-битных MMX команд. Рисунок 1 показывает типичную схему вычислений SIMD. Два блока по четыре упакованных элемента данных (X1, X2, X3, X4 и Y1, Y2, Y3,Y4), обрабатываемых параллельно с помощью одной операцией над каждой парой элементов данных (X1 и Y1, X2 и Y2, X3 и Y3 и X4 и Y4). Результаты четырех параллельных вычислений сортируются в набор из четырех элементов данных. Рисунок 1. ............ |