1 Процессоры семейства Intel® XScale®. Разработка эффективных приложений Василий Басов Intel Vasily.Basov@intel.com.

Презентация:



Advertisements
Похожие презентации
Инструменты компании Интел для разработки программного обеспечения. Дмитрий Тараканов Инженер по программному обеспечению ISDEF 2004, 17 сентября 2004.
Advertisements

Характеристики ядра процессора Регистры –Количество –Типы регистров Общего назначения Адресные Регистры флагов Вычислительные устройства –ALU: Fixed-point.
Архитектура микропроцессоров И ее эволюция. Процессор и память: Команды и данные.
Лекция 1 Раздел 1 Windows Phone Темы раздела 3 Windows Phone Устройство на платформе Windows Phone 4.
Разработка параллельных приложений для многоядерных систем С.В. Ковальчук НИИ Наукоемких компьютерных технологий, СПбГУ ИТМО.
Оптимизация циклов Юрий Долгов, Дмитрий Шкурко. Optimization of applications for Intel* platforms Оптимизация Уменьшение требований к ресурсам Времени.
Процессоры История платформы процессоров на архитектуре х86 Презентация: Бурдина Алексея Группы: 331.
2 из 21 Введение в Cache-oblivious алгоритмы: –Определение Cache-oblivious алгоритмов. –Модель памяти компьютера. –Cache-oblivious модель –Примеры сache-oblivious.
Архитектуры с параллелизмом на уровне команд. Два класса Суперскалярные процессоры Процессоры с длинным командным словом.
Help: настройка Visual Studio.Net для создания консоль-приложения на основе Intel C++ с применением OpenMP. Инструменты «Практическое параллельное программирование.
Разработка программного обеспечения для сигнальных процессоров TMS320C64xx в IDE Code Composer Studio Часть I. Основные возможности среды разработки CCS.
1. a=? b=? c=? {int a, b, c; a=(b=2+3)/2 - 4+(c=5%2); printf("%d %d %d \n", a, b, c); }
Ползать или летать? Анализатор производительности VTune Performance Analyzer 7.1. Харченко Евгений Intel, Нижний Новгород.
Нижегородский государственный университет им. Н.И.Лобачевского Факультет Вычислительной математики и кибернетики Об одном подходе к решению задачи поиска.
Проект выполнили Алёшин И.В. Волков А.Н. Золотарёв С.А. Учитель информатики Малыхин С.А. Prezentacii.com.
Организация ЭВМ и систем Кафедра Параллельных вычислений (ИВМиМГ) Маркова Валентина Петровна, Киреев Сергей Евгеньевич,
Современные микропроцессоры Тенденции развития. Рассматриваемые процессоры Intel Itanium 2 Intel Core 2 Duo IBM Cell.
Предоставляет доступ к множеству современных технологий, таким как: Многопоточность Микропотоки Встроенный ассемблер UNICODE Обфускация Улучшает продуктивность.
Процессоры История платформы х 86. Intel i386, AMD Am386 Поддержка защищенного режима параллельная работа некоторых блоков Шины данных и адреса 32 бит.
Нижегородский государственный университет им. Н.И.Лобачевского Факультет Вычислительной математики и кибернетики Лекция 4 Векторные расширения Intel Xeon.
Транксрипт:

1 Процессоры семейства Intel® XScale®. Разработка эффективных приложений Василий Басов Intel

2 Процессоры XScale® - планы выпуска XScale® - обзор архитектуры –Программная модель –Top5 советов по оптимизации Инструменты разработчика –Среда разработки –Intel®: Компиляторы, библиотеки, VTune –Железо для разработчиков Программы поддержки разработчиков от Intel®

3 Рынок для процессоров XScale® Bulverde Applications Processors Bulverde Applications Processors Value Budget Performance PDAsPhones Premium

4 График выпуска процессоров для КПК Q4Q3 Q2 Q1Q4Q3 Q2 Q1 Leadership PDA $300 - $450 Value PDA < $150 Premium PDA $150 - $300 PXA MHz PXA MHz PXA MHz PXA MHz Bulverde 520MHz Bulverde 312MHz Bulverde 520MHz Bulverde 416MHz PXA255/ MHz PXA2621/ MHz PXA255/ MHz PXA MHz PXA MHz PXA MHz Garson GPRS/EGPRS* modem Communicator > $

5 График выпуска процессоров для смартфонов Q4Q3 Q2 Q1Q4Q3 Q2 Q1 Value Phone < $100 Leadership Phone $250 - $450 Premium Phone $100 - $250 Bulverde 312 MHz Bulverde 520MHz Garson GPRS/EGPRS* modem Communi-cator $450 Full-Featured OS Multimedia on RTOS PXA255/PXA MHz Garson GPRS/EGPRS* PXA261/ MHz PXA800F 104MHz GPRS/EGRPS* PXA800F 312 MHz GPRS/EGPRS* PXA MHz

6 Процессоры XScale® - планы выпуска XScale® - обзор архитектуры –Программная модель –Top5 советов по оптимизации Инструменты разработчика –Среда разработки –Intel®: Компиляторы, библиотеки, VTune –Железо для разработчиков Программы поддержки разработчиков от Intel®

7 Архитектура XScale®

8 XScale® vs. P4 Feature Pentium(r) 4 Processor (Prescott)XScale (Bulverde) Architecture25+ stage OOO7 stage in-order Frequency3.2 GHz400MHz (520MHz) L1 Data Cache8KByte (16 KByte)32KByte+2KB L1 Instruction Cache12k uops32KByte L1 Cache Controlprefetchprefetch, lock, line flush L2 Cache512 KByte (1MByte)- BTB control-lock, flush SIMD instructionsMMX, SSE, SSE2 (PNI)5 MPT (43 Wireless MMX)

9 Intel® Media Processing Technology Умножение/суммирование с 40- битным результатом Реализовано на CP accum 039 accum + + * *

10 Intel® Wireless MMX Technology 16 SIMD регистров Условное исполнение всех инструкций WADDBUSNEwr0, wr1, wr2

11 Среда разработки *Другие наименования и товарные знаки являются собственностью своих законных владельцев.

12 Компилятор Intel® C++ Intel предоставляет: Подключение Plug & Play Полную интеграцию в Platform Builder for Microsoft* Windows* CE и eMbedded* Visual C++* Переключение между компиляторами Intel and Microsoft* без изменения исходного кода *Другие наименования и товарные знаки являются собственностью своих законных владельцев.

13 int get_leading_zeroes (int i) { int count; __asm { clz r0,r0 }... return count; } Ассемблер Компилятор пропускает код ассемблера в приложение ASM Компилятор C/C++ Inline ASM Код ассемблера Машинный код Микроархитектура Intel® XScale Inline ассемблер

14 Встроенные (intrinsic) функции Ассемблер Компилятор C/C++ Компилятор заменяет intrinsic функции высокоэффектив- ным ассемблерным кодом Intrinsic функция Код ассемблера Машинный код Микроархитектура Intel XScale® int count_leading_zeros(int i) { int temp1, temp2; temp2 = i; if (temp2 == 0) temp1 = 32; else { temp1 = 0; while ( temp2 > 0 ){ temp2

15 VTune Performance Analyzer

16 VTune Performance Analyzer

17 Top5 полезных советов 1.Используйте компилятор Intel! –Лучшиe run-time библиотеки –векторизация и оптимизация –Помогите компилятору! 2.Используйте VTune для анализа производительности и поиска узких мест! 3.Оптимизируйте использование кэша! –Кэш-промах стоит ~150 циклов (>500 if a TLB miss) –Используйте preload() (works on ARM, too) –Advanced: XScale имеет дополнительный mini cache и позволяет замораживать данные в кэше 4.Ручная оптимизация критических мест –Используйте DSP-расширения, iMPT, WMMX –Оптимизируйте ветвления –Оптимизируйте циклы 5.Используйте оптимизированные IPP/GPP библиотеки 0. Исправте ошибки перед тем как начинать оптимизацию