Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VPKS_v2_UKR_new.doc
Скачиваний:
21
Добавлен:
11.09.2019
Размер:
2.31 Mб
Скачать

2. Обробка багатотактних операцій і механізми обходів у довгих конвеєрах

У розглянутому нами конвеєрі стадія виконання команди (EX) становила всього один такт, що цілком прийнятно для цілочисельних операцій. Однак для більшості операцій плаваючої крапки було б непрактично вимагати, щоб всі вони виконувалися за один або навіть за два такти. Це привело б до істотного збільшення такту синхронізації конвеєра, або до непомірного збільшення кількості встаткування (обсягу логічних схем) для реалізації пристроїв плаваючої крапки. Найпростіше представити, що команди плаваючої крапки використають той же самий конвеєр, що й цілочисельні команди, але із двома важливими змінами. По-перше, такт EX може повторюватися багаторазово стільки разів, скільки необхідно для виконання операції. По-друге, у процесорі може бути кілька функціональних пристроїв, що реалізують операції плаваючої крапки. При цьому можуть виникати припинення конвеєра, якщо видана для виконання команда або викликає структурний конфлікт по функціональному пристрої, що вона використовує, або існує конфлікт за даними.

Нехай, в нашій реалізації процесора є чотири окремих функціональних пристрої:

  1. Основний цілочисельний пристрій.

  2. Пристрій множення цілочисельних операндів і операндів із плаваючою крапкою.

  3. Пристрій додавання із плаваючою крапкою.

  4. Пристрій розподілу цілочисельних операндів і операндів із плаваючою крапкою.

Рис. 2. Конвеєр з додатковими функціональними пристроями

Цылочисельний пристрій обробляє всі команди завантаження й запису на згадку при роботі із двома наборами регістрів (цілочисельних із плаваючою крапкою), всі цылочисельні операції (за винятком команд множення і розподілу) і всі команди переходів. Якщо припустити, що стадії виконання інших функціональних пристроїв неконвеєрні, то рис. 2 показує структуру такого конвеєра. Оскільки стадія EX є неконвеєрної, ніяка команда, що використає функціональний пристрій, не може бути видана для виконання доти, поки попередня команда не покине щабель EX. Більше того, якщо команда не може надійти на щабель EX, весь конвеєр за цією командою буде припинений.

У дійсності проміжні результати можливо не використаються циклічно щаблем EX, як це показано на рис. 2, і щабель EX має затримки тривалістю більше одного такту. Ми можемо узагальнити структуру конвеєра плаваючої крапки, допустивши конвеєризацію деяких щаблів і паралельне виконання декількох операцій. Щоб описати роботу такого конвеєра, ми повинні визначити затримки функціональних пристроїв, а також швидкість ініціацій або швидкість повторення операцій. Це швидкість, з якої нові операції даного типу можуть надходити у функціональний пристрій. Наприклад, припустимо, що мають місце наступні затримки функціональних пристроїв і швидкості повторення операцій:

Функціональний пристрій

Затримка/швидкість повторення

Цілочисельне АЛУ

11

Додавання із ПК

42

Множення із ПК (і цілочисельне)

63

Розподіл із ПТ (і цілочисельне)

1515

На рис. 3 представлена структура подібного конвеєра. Її реалізація вимагає введення конвеєрної регістрової станції EX1/EX2 і модифікації зв'язків між регістрами ID/EX і EX/MEM.

Рис. 3. Конвеєр з багатоступінчастими функціональними пристроями

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