Загальні теоретичні відомості. Конвеєр являє собою процесор, розділений на P частин (шарів, рядків), виконуючих послідовно етапи кожної обчислювальної задачі (операції)
Конвеєр являє собою процесор, розділений на P частин (шарів, рядків), виконуючих послідовно етапи кожної обчислювальної задачі (операції). В той час як j -й шар процесора виконує j -й етап деякої k -ї задачі, (j-1) -й шар може виконувати (j-1) -й етап (k+1) -ї задачі, (j-2) -й шар може виконувати (j-2) -й етап (k+2) -ї задачі і так далі, тобто 1-й шар може у цей же час виконувати 1-й етап (i+j-1) -ї задачі (де j=2,...,P). Таким чином, кожна задача або операція виконується за P етапів при проходженні усіх P шарів конвеєрного процесора. В обчислювальних системах (ОС) з конвеєрним процесором може виконуватися одночасно декілька (P) операцій по перетворенню даних, що відповідає визначенню обчислюваної системі. Проте ці операції в будь-який момент часу обов’язково знаходяться на різних етапах виконання й у принципі не можуть починатися всі одночасно. Конвеєрні системи з роздільним керуванням, орієнтовані на паралелізм незалежних гілок (тип К1). На рис. 5.1 зображена конвеєрна система з роздільним керуванням. Вона складається з Р пристроїв керування (ПК) – по кількості шарів, на які розділений конвеєрний процесор. Принципово важливим є наявність Р роздільних вузлів формування адреси наступної інструкції. Можливо, що в кожного ПК є свої індексні та базові регістри, регістри ключів захисту та інші індивідуальні ланцюги. Частина ланцюгів може бути загальної для різних ПК (наприклад, формувач адреси операндів, дешифратор коду операцій), які використовуються усіма ПК по черзі. Ці загальні ланцюги на рисунку включені до складу шарів процесора. Пристрій керування приєднаний до шарів конвеєрного процесора через кільцевий комутатор. Комутатор улаштований так, що в 1-му такті роботи ОС до 1-го шару процесора підключено 1-й ПК, який починає виконувати свої задачі (операції); в 2-му такті 1-й ПК переключається на 2-й шар процесора, а до 1-го шару підключається 2-й ПК і т.д. У р -му такті 1-й ПК підключено до Р -го шару процесора, де завершується виконання 1-ї задачі (операції), до (Р-1) -го шару підключається 2-й ПК,..., до 1-го шару підключено Р -й ПК. Після закінчення 1-ї задачі (операції) 1-й ПК в (р+1) -му такті 1-й пристрій знову підключається до 1-го шару процесора, де починається виконання 2-ї задачі (операції) і т.д.
Рис. 5.1 Система, побудована зазначеним чином, аналогічна за своїми можливостями Р -процесорній системі типу М1 (з роздільним керуванням) і орієнтована на використання паралелізму незалежних гілок. Розглянутий конвеєрний процесор є багатофункціональним, тобто дозволяє виконувати одночасно різні операції. Проте при цьому тривалість такту роботи шарів процесора залежить від виконуваних операцій та буде визначатися часом виконання самої тривалої операції. Конвеєрні системи з загальним керуванням, орієнтовані на використання паралелізму суміжних операцій. Пристрій керування (рис. 5.2) один, але регістрів для збереження інструкцій (РгІ) стільки ж, скільки шарів є в процесорі. 1-ша інструкція програми зчитується в РгІ(1), та в 1-му шарі процесора починається виконання. В наступному такті 1-ша інструкція передається в РгІ(2), її виконання продовжує 2-й шар процесора, а до РгІ(1) зчитується 2-а інструкція програми та в 1-му шарі конвеєрного процесора починається її виконання і т.д. Конвеєрна система, побудована зазначеним чином, аналогічна багатопроцесорній системі М2 (із загальним керуванням). Будемо називати її ОС типу К2.
Рис. 5.2
Розглянутий конвеєрний процесор системи типу К2 теж є багатофункціональним. Будемо розрізняти динамічну та статичну перебудови процесора для виконання різних операцій. Динамічна перебудова конвеєра (тип К2.1) дозволяє виконувати різні операції одночасно в різних шарах конвеєра. Але так само, як і для систем типу К1, такт конвеєра в кожний момент часу буде визначатися часом виконання самої тривалої операції (у випадку використання конвеєра зі змінним тактом) або часом виконання самої тривалої з усіх операцій, на виконання якої орієнтовано даний багатофункціональний конвеєр (у випадку використання конвеєра з постійним тактом). У випадку статичної перебудови конвеєра (тип К2.2) на виконання нової операції необхідно дочекатися звільнення конвеєра від попередньої операції та тільки після цього завантажувати наступну операцію (якщо вона відрізняється від виконуваної). У випадку конвеєра з постійним тактом його тривалість дорівнює часу виконання найтривалішої операції, яка в принципі може бути виконана багатофункціональним конвеєром.
Вихідні дані: - арифметичний вираз (табл. 5.1). Номер варіанта визначається викладачем.
|