Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab3.docx
Скачиваний:
0
Добавлен:
27.10.2018
Размер:
50.73 Кб
Скачать

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 мікрооперацій за цикл.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]