Файл: Мельник А. Архітектура комп\'ютера.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 24.12.2021

Просмотров: 6798

Скачиваний: 22

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

100



Команда 4




ВК

ДК

ВА

ВО

KB

ЗР






Команда 5





ВК

ДК

ВА

ВО

KB

ЗР





Команда 6






ВК

ДК

ВА

ВО

KB

ЗР




Команда 7







ВК

ДК

ВА

ВО

KB

ЗР



Команда 8








ВК

ДК

ВА

ВО

KB

ЗР


Команда 9









ВК

ДК

ВА

ВО

KB

ЗР

Часова діаграма в табл. 3.5 показує, що кожна команда виконується шляхом прохо­дження через 6 ярусів конвеєра. Разом з тим, не для кожної команди це потрібно Напри­клад, команда вибірки не вимагає виконання операції ЗО. Однак при її виконанні можна зробити шостий ярус конвеєра прозорим

Також на діаграмі показано, що всі стадії виконуються паралельно. В першу чергу тут прийнято, що не виникає конфліктів при зверненні до пам'яті. Наприклад, операції ВК, ВО та ЗО передбачають звернення до пам'яті. Діаграма допускає, що всі ці звернення можуть здійснюватись одночасно. Більшість систем пам'яті цього не допускають, тому звернення розносяться в часі. Іноді потрібне число може знаходитись в кеш пам'яті, а стадії ВО та ЗО відсутні. Тому конфлікти при зверненні до пам'яті не завжди сповільню­ють конвеєр

Декілька інших факторів обмежують ріст продуктивності за рахунок використання конвеєра

  • неоднаковість часу шести стадій виконання команди приводить до простою дея­ких з них, як це мало місце в двоярусному конвеєрі;

  • поява команди умовного переходу може звести нанівець декілька вибірок команд

  • подібною до команди умовного переходу є команда переривання

Табл. 3.6 відображає вплив умовного переходу при виконанні тих же операцій, що й в табл. 3.5.
















Таблиця 3.6

Номер такту

1

2

3

4

5

6

7

8

9

10

11

12

13

14

Команда 1

ВК

ДК

ВА

ВО

KB

ЗР









Команда 2


ВК

ДК

ВА

ВО

KB

ЗР








Команда 3



ВК

ДК

ВА

ВО

KB

ЗР







Команда 4




ВК

ДК

ВА

ВО








Команда 5





ВК

ДК

ВА








Команда 6






ВК

ДК








Команда 7







ВК








Команда15








ВК

ДК

ВА

ВО

KB

ЗР


Команда 16









ВК

ДК

ВА

ВО

KB

ЗР


Тут прийнято, що команда 3 є умовним переходом до команди 15. Поки команда З виконується, неможливо взнати, яка команда буде наступною. Конвеєр буде вибирати наступні команди (4,5,6,7) і виконувати їх. Наявність умовного переходу визначиться в кінці сьомого такту. Після цього конвеєр повинен звільнитись від непотрібних команд (очиститись). На 8 такті команда 15 поступить в конвеєр і дальше він почне заповнюва­тись знову. При цьому від 9 до 12 тактів не буде завершено виконання жодної команди. Це є розплата ефективністю за причини неможливості передбачити перехід.


101

На рис. 3.14 показано блок-схему виконання команди в шестиярусному конвеєрі з врахуванням переходів та переривань.

В шестиярусному конвеєрі команд появляється й інша проблема, якої не було в дво­ярусному конвеєрі. Стадія ВА може залежати від вмісту регістра, який змінюється по­передньою командою, що знаходиться в конвеєрі. З'являється новий конфлікт, для усу­нення якого необхідна відповідна логіка.

Таким чином, конфлікти конвеєра можуть бути трьох типів:

" Конфлікт ресурсів, наприклад, одночасна потреба доступу до пам'яті. Цей кон­флікт вирішується шляхом розділення доступу до ресурсу в часі, або шляхом введення додаткового ресурсу, наприклад, кількох блоків пам'яті.

  • Залежність між даними, коли результат виконання деякої команди, яка іще не завершена, є операндом для наступної команди. Для подолання даного конфлікту існує декілька шляхів. Це може бути введення „пустої" операції nop (яка не виконує дій, але дозволяє ліквідувати конфлікт), введення зв'язків між ярусами конвеєра, що прискорює доступ до потрібного операнда, а також застосування компілятора, здатного передбача­ти такого типу конфлікти та перевпорядковувати команди програми.

  • Наявність умовних переходів. В сучасних комп'ютерах для зменшення впливу на ефективність конвеєра цього конфлікту використовується спеціальна логіка передба­чення переходу, яка дозволяє знайти вітку, якою програма піде після переходу. Інший під­хід - виконання обох віток переходу до того часу, поки напрям переходу стане відомим.


102

В наступних розділах питання підвищення ефективності використання конвеєрної обробки буде розглянуто детальніше.

3.3. Формати команд комп'ютера

3.3.1. Класифікація архітектури комп'ютера за типом адресованої пам'яті

Як видно з рис. 3.1, крім коду операції до складу команди входить адресна частина. Цією частиною визначається місце знаходження даних, над якими виконується опера­ція, задана кодом операції. Даних може бути декілька, і, крім того, вони можуть знахо­дитись в основній пам'яті, в регістрах процесора чи в запам'ятовуючих елементах інших вузлів комп'ютера. Тому і формати команд в цих випадках будуть різними. Можна здій­снити класифікацію архітектури комп'ютера за типом адресованої пам'яті. Залежно від того, який тип пам'яті адресується, розрізняють наступні типи архітектур комп'ютера: стекова, акумуляторна, на основі регістрів загального призначення.

В стековій архітектурі (рис. 3.15) операнд завжди знаходиться в вершині стека - спе­ціальному регістрі пам'яті, з якого загружається в регістр процесора, або через нього результат операції загружається в пам'ять. Стек представляє собою пам'ять з детермі­нованою вибіркою, яка працює за принципом „останній прийшов - перший вийшов" (LIFO - Last In First Out). Стек виконує дві операції: push - вштовхування даних в стек, pop - виштовхування даних з стеку.

Інформація може бути занесеною в вершину стека з пам'яті або з регістра АЛП про­цесора. Перевага стекової архітектури - відсутність в команді адресної частини. З іншо­го боку, стекова архітектура не передбачає довільного доступу до комірок пам'яті, тому часто важко створити для неї ефективну програму. Крім того, стек не дозволяє підвищи­ти продуктивність комп'ютера за рахунок розпаралелення, оскільки наявна лише одна вершина стека.


103

Стекова архітектура була реалізована в наступних комп'ютерах: В5500, В6500 фірми Burroughs, HP2116P, НРЗ 000/70 фірми Hewlett-Packard, JEM l, JEM 2 фірми ajile Systems.

В акумуляторній архітектурі (рис. 3.16) операнд завжди знаходиться в акумуляторі - спеціальному регістрі процесора. В цей же регістр записується і результат операції. Оскільки адреса одного із операндів визначена, в команді достатньо вказати лише адре­су другого операнда. Перевага даної архітектури - короткі команди. Вона була реалізо­вана в комп'ютерах IBM 7090, DEC PDP-8 та інших.

Архітектура на основі регістрів загального призначення може мати такі різновид­ності як: архітектура типу пам'ять-пам'ять, регістр-пам'ять та регістр-регістр.

В архітектурі типу пам'ять-пам'ять (рис. 3.17) операнди поступають на вхідні ре­гістри АЛП процесора прямо з пам'яті. Результат операції також записується прямо в пам'ять. Оскільки час звернення до пам'яті є більшим часу звернення до регістрів, ця ар­хітектура характеризується низькою швидкодією. Прикладом таких комп'ютерів є сім'ї IBM System/370 та DEC VAX.