Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Принципи організації паралелізму виконання машинних команд в процесорах

Реферат Принципи організації паралелізму виконання машинних команд в процесорах





авання команди умовного розгалуження;

- перевірка виконання умови переходу;

- обчислення адреси переходу;

- передача управління у разі перехода.

На кожному етапі використовуються спеціальні прийоми підвищення продуктивності [1].

1. Для швидкого декодування застосовуються або додаткові біти в полі команди, або преддекодірованіе команд при їх вибірці з кеш-пам'яті команд.

2. Часто, коли команда вже обрана з кеш-пам'яті команд, умова переходу ще обчислено. Щоб не затримувати потік команд, в даному випадку використовується пророкування переходу по однієї з кількох можливих схем. p> Механізм передбачення переходів виконує дві основні функції - пророкування програмного адреси інструкції, на яку проводиться перехід (для всіх інструкцій переходу), і пророкування напрямки розгалуження (для інструкцій умовного переходу). Обидва передбачення повинні бути виконані завчасно - раніше, ніж почнеться декодування і обробка інструкції переходу - для того, щоб вибірка нового блоку інструкцій була проведена без втрат зайвих тактів або з мінімальними втратами.

Необхідність передбачення адреси В«цільовоїВ» інструкції викликана тим, що ця адреса може бути витягнутий з x86-інструкції переходу і обчислений тільки на фінальній стадії декодування, з великою затримкою. Більше того, навіть просте виділення інструкцій змінної довжини з ліченого блоку і пошук серед них інструкцій переходу займе якийсь час. Тому в процесорах архітектури x86 пророкування виробляють з цілого блоку, без розбиття його на складові інструкції.

У сучасних процесорах для передбачення адреси переходу зазвичай використовують спеціальну таблицю адрес переходів BTB (Branch Target Buffer). Ця таблиця влаштована подібно кешу і містить адреси інструкцій, на які раніше вироблялися переходи. Наприклад, в процесорі P-III таблиця BTB має розмір 512 елементів і організована у вигляді 128 наборів з асоціативністю 4. Для адресації набору використовуються молодші розряди адреси 16-байтового блоку інструкцій. Якщо в цьому блоці є інструкції переходу, і якщо ці інструкції відпрацьовували раніше, то алгоритм передбачення може дуже швидко знайти адресу цільової інструкції в таблиці BTB і почати зчитування блоку, що містить цю інструкцію. Адреси цільових інструкцій поміщаються в BTB в момент відставки відповідних інструкцій переходу.

В інших сучасних процесорах розмір таблиці BTB досягає 2048 елементів (K8) і 4096 елементів (P-4). Організація даної підсистеми в процесорі K8 дещо відрізняється від класичної і грунтується на попередній розмітці блоків інструкцій в так званих масивах селекторів перед приміщенням їх в I-кеш. Ці селектори прив'язані до положення інструкцій в I-кеші і при їх витіснення звідти зберігаються в L2-кеші (у так званих ECC-бітах, що призначаються для корекції помилок). Елементи таблиці BTB також прив'язані до положення інструкцій в I-кеші і губляться при їх витіснення. Це дещо знижує ефективність передбачення адрес переходів в процесорі K8.

Для передбачення напрямки умовного переходу використовується інший механізм, заснований на вивченні поведінки переходів в програмі в процесі її виконання (свого роду В«збір статистики В»). Цей механізм враховує як локальне поведінка конкретної інструкції переходу (наприклад, В«як правило, переходитьВ», В«як правило, не переходить В»), так і глобальні закономірності (В« чергується за певним законом В»тощо). Історія поведінки інструкцій умовного переходу записується в спеціальних структурах, зазвичай званих В«таблицями історії переходівВ» (Branch History Table, BHT). Сучасні механізми передбачення переходів забезпечують правильне передбачення більш ніж в 90 відсотках випадків.

Перерахуємо деякі механізми, використовувані в новому процесорі P8, що має найбільш досконалу систему передбачення переходів:

- поєднання локального та глобального механізмів для передбачення В«звичайнихВ» інструкцій переходу з урахуванням історії їх поведінки;

- статичний провісник для інструкцій, відбувається перехід в перший раз, заснований на емпіричних закономірностях (наприклад, В«Перехід назадВ» зазвичай передбачається як досконалий, оскільки може означати перехід по циклу, а В«перехід впередВ» - Як недосконалий);

- провісник коротких циклів, що розпізнає такі переходи і визначальний число ітерацій циклу (дозволяє правильно передбачити момент виходу з циклу);

- провісник непрямих переходів, що визначає цільові адреси для різних виконань інструкції переходу (з урахуванням можливого чергування цих адрес);

провісник цільових адрес для інструкцій виходу з підпрограми, що використовує слабкий апаратний стек для запам'ятовування адрес повернення (Return Address Stack) для ефективної відпрацювання інструкцій Call - Return. p> В інших процесорах компанії Intel використовується тільки частина перерахованих механізмів. Ці механізми удосконалюються з кожним новим поколінням про...


Назад | сторінка 15 з 23 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Розробка посадових інструкцій персоналу організації
  • Реферат на тему: Види і зміст тематичних інструкцій
  • Реферат на тему: Порядок розробки та затвердження правил та інструкцій з охорони праці
  • Реферат на тему: Регламентація діяльності персоналу: аналіз посадових інструкцій на прикладі ...
  • Реферат на тему: Синтаксичний распознаватель арифметичного оператора умовного переходу мови ...