Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

і Архітектура ІА64 передбачає Інший підхід

Работа добавлена на сайт samzan.net:


49. Прогнозування розгалужень

Сучасні процесори сімейства х86 використовують прогнозування розгалужень. При наявності в програмі розгалуження вони намагаються прогнозувати, котра з умов розгалуження буде істинною, і починають виконувати відповідну послідовність команд. Якщо прогноз був невірний, то процесор повертається на початок розгалуження і виконує іншу гілку- Такі ситуації ведуть до втрати продуктивності.

Архітектура ІА-64 передбачає Інший підхід. Мають виконуватись одночасно дві послідовності команд розгалуження. Потім з'ясовується, котра з умов істинна, а результати іншої послідовності просто відкидаються. Задача забезпечення паралельного виконання розгалуження покладається на компілятор, котрий повинен розгалужувати команди відповідним чином. Коли компілятор приходить до висновку, що такий підхід неефективний, то процесор, то побудований на базі архітектури ІА-64, буде діяти як простий х86. Тому одна з основних функцій, яку має виконувати компілятор, є передбачення виконання послідовності інструкцій при розгалуженнях з певною ймовірністю. Саме цей метод має усувати переходи і складати послідовність виконуваних команд.

Компілятор архітектури ІА-64 веде пошук розгалужених Інструкцій у вихідному коді програми і намагається передбачити результат аналізу умови переходу, що проілюстровано на рис. 8.1.

Достовірність передбачень може бути неточною, тому компілятор в першу чергу обробляє найочевидніші варіанти. Коли компілятор приходить до висновку, що передбачення можливе, то всі інструкції кожного блоку розгалужень маркуються ідентифікаторами-посиланнями на регістри передбачення. Ці посилання називаються предикатами (predicate). Наприклад, компілятор може помітити всі інструкції, котрі виконуються за умови TRUE, предикатом Р1, а всі інструкції, котрі виконуються за умови FALSE - предикатом Р2. Для зберігання предикатів відповідно специфікацій ІА-64 в кожній інструкції відводиться поле довжиною в 6 біт. Воно дозволяє посилатися на один з 64 (2е) однобітових регістрів передбачення.

Всім командам, котрі виконуються по одній і тій же гілці, присвоюється одне і те ж значення предиката. Відповідно до цього значення компілятор обирає команди, котрі можуть виконуватись одночасно. При цьому компілятор враховує причинно*наслідкові зв'язки, а саме - команди, котрим потрібні результати виконання Інших інструкцій, вимушені чекати своєї черги.

На наступному етапі компілятор упаковує по три Інструкції в 128-розрядні пакети (bundle). Поле шаблона пакета визначає незалежні інструкції як і біжучому, так І в наступних пакетах. Такі інструкції процесор буде виконувати паралельно. Структура пакету і формат інструкцій процесорів архітектури ІА-64 представлені на рис. 8.2.

                            

            




1. Медична статистика
2. Реферат Техника и технология Выполнил Проверил
3. Проблемы повышения уровня и качества жизни населения Российской Федерации
4. HTML в Internet
5. ФУНКЦИИ СОЦИАЛЬНОГО КОНФЛИКТА Конфликт внут
6. Общественные отношения будучи элементом предмета отрасли трансформируется в правоотношение при возн
7. на тему- Основные методы получения и анализа лекарственных средств содержащих производные фурана
8. Причины функции и субъекты социальных конфликтов.html
9. Пояснительная записка2
10. социология происходит от лат
11. Принципы и гарантии законности
12. А тяжелее воздуха полёт которого главным образом осуществляется за счет подъёмной силы создаваемой одним
13. Лекция Классификация отходов и сфера их ОБРАЗОВАНИЯ 1
14. Планирование на предприятии городского хозяйства понятие, характеристика
15. Вариант 19 В задачах 19 найти неопределённые интегралы ответ проверить дифференцированием
16. Тема рефератаrdquo; Аспирант- Иванов И
17. Работа менеджера над собой1
18. медные горы Кальяо берег Куско пуп Титикака рудная скала Укаяли слияние и др
19. Южная Америка
20. Этапы становления Киевской Руси