- •1.Суть динамічного виконання:
- •2.Який кеш мають процесори Pentium II та Pentium Pro.
- •3.Скільки стадій має цілочисельний конвеєр процесора Pentium Pro, на які блоки він поділяється? Яке призначення блоків?
- •4.Особливості передбачення розгалужень в процесорі Pentium Pro. Суть динамічного та статистичного передбачення?
- •5. Декодування команд. В чому різниця між декодерами d0, d1, d2?
- •6. Суть перейменування регістрів?
- •7. Особливості позачергового виконання.
- •8.Механізм завершення та впорядкування інструкцій.
- •9.Види та особливості промахів в кеші.
- •10.Суть оптимізації розгалужень, доступу до пам‘яті і кешу та декодування.
- •11.Особливості оптимізації для процесораPentiumPro.
5. Декодування команд. В чому різниця між декодерами d0, d1, d2?
До складу процесора входять три декодера (дешифратора), що позначаються D0, D1 і D2. Вони перетворюють команди архітектури Intel в мікрооперації. Декодериздатні працювати паралельно.
Декодери процесора Pentium Pro можуть декодувати до 3 IA команд за цикл.
Декодер D0 може обробляти будь-які команди і генерувати до чотирьох мікрооперацій за такт. Декодери D1 і D2 можуть обробляти тільки команди, що перетворюються в однумікрооперацію.
Декодер D0 обробляє першу команду отриманого 16-байтного блоку. Паралельно з D0 декодери D1 і D2 обробляють по однійз двох наступних команд при умові, що кожна з цих команд перетворюється в однумікрооперацію.
Якщо D0 обробляє складну команду, D1 і D2 простоюють.
Потрібно пам'ятати про те, що немає прямої залежності між кількістю згенерованих мікрооперацій і довжиною команди.
6. Суть перейменування регістрів?
Процесор перетворює звернення до зовнішніх регістрів архітектури Intel (IA) в звернення до внутрішніх регістрів.
Механізм перейменування полегшує позачергове виконання команд, усуваючи помилкову залежність, що виникає при використанні одних і тих же регістрів різними командами, і дозволяє використати більш широкий набір внутрішніх регістрів. Перейменування регістрів невидиме для програмного забезпечення, так що в програмі неможливо явно перейменовувати регістри.
Після перейменування регістрівмікрооперації розподіляються по пристроях виконання. Інформація про розподіл і про вихідну позицію мікрооперації в коді, а також результати виконання мікрооперації зберігаються в буфері перестановок до завершення мікрооперації.
7. Особливості позачергового виконання.
У процесі послідовного виконання команд навіть ті команди, які не залежать від попередніх, повинні чекати дозволу залежності, що міститься в попередніх командах.
При позачерговому виконанні мікрооперації, що не містять залежності, виконуються відразу післязвільнення необхідних пристроїв виконання, без урахування початкового порядку команд в програмі.
Тільки мікрооперації, що містять залежність, очікують доступності необхідних даних. Це одназ причин, по яких ефективність доступу в кеш і основну пам'ять грає важливу роль у позачерговому виконанні.
Процесор Pentium Pro може дати широку область дії для виконання. Це дає процесору можливість мати багатократні, послідовні переходи в конвеєрі в той же час на різних стадіях виконання.
8.Механізм завершення та впорядкування інструкцій.
У процесі завершення по порядку попередні результати позачергового виконання команд стають остаточними.
Коли чергова мікрооперація (в порядку початкової послідовної програми) готова до завершення, виконуються наступні дії:
- Результати зберігаються в регістри архітектури Intel (IA), вказані в командах машинного коду.
- Якщо треба, дані записуються в кеш або в пам'ять. Так вони стають доступними для операцій читання.
- Команда видаляється з буфера перестановок.
Такий порядок завершення дозволяє зберегти семантику коду.
Зауваження: за один такт можуть завершуватися до чотирьох мікрооперацій. Всі команди, що ввійшли в конвеєр внаслідок невірного прогнозу розгалуження, відкидаються і не проходять через етап завершення.
Вилучення є процесом забирання результатів спекулятивного виконання мікрооперацій при незмінній архітектурі. Мікрооперації може бути складений розклад для вилучення, якщо тільки вона є на маршруті конкретного виконання, при чому немає переходів між мікрооперацією і вилученням. Процесор Pentium Pro може вилучити до 3 мікрооперацій за цикл.