Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекція 11.doc
Скачиваний:
6
Добавлен:
11.02.2016
Размер:
2.73 Mб
Скачать

5.4. Архитектурные особенности микропроцессора.

Продуктивність комп’ютера вимірюється числом машинних команд, що виконуються за одну секунду. Саме рівень мікроархітектури розв’язує задачу реалізації системи команд машини. На цьому рівні йдеться про управління суматорами, регістрами, окремими розрядами регістрової пам’яті, вентилями, сигналами синхронізації та інше. Реалізація цього рівня архітектури може бути чисто апаратною, або через мікропрограмування. Мікропрограмування будується на тих самих основних принципах, що і класичне програмування, але оперує з більш низьким по ієрархії рівнем апаратного забезпечення і крім того суттєво враховуває часові відношення щодо взаємодії апаратури.

При розробці мікроархітектури необхідно враховувати цілий ряд важливих характеристик комп’ютера: продуктивність, вартість, надійність, енергоспоживання, фізичні розміри та інш. Ці вимоги характерні для всіх рівнів архітектури, але саме на рівні мікроархітектури існують найбільші можливості для пошуку оптимальних компромісів.

Найбільш показовим є конфлікт і пошук оптимального рішення між продуктивністю і вартістю. Існує три основних підходи, що дозволяють збільшити продуктивність виконання операцій:

  1. Скорочення кількості циклів, необхідних для використання команди.

  2. Скорочення циклів

  3. Одночасне використання декількох операцій.

Перший підхід зазвичай реалізується за рахунок ускладнення апаратної реалізації потужних команд, наприклад апаратної реалізації операції множення за один цикл.

  • 8086 і 8088. У цих процесорах на виконання однієї команди йде приблизно 12 тактів.

  • 286 і 386. Ці процесори зменшили час на виконання команд приблизно до 4,5 тактів.

  • Процесор 486 і велика частина Intel-сумісних процесорів четвертого покоління, таких, як AMD 5x86, зменшили цей параметр до 2 тактів.

  • Серія Pentium, Кб. Архітектура процесорів Pentium і інших Intel-сумісних процесорів п'ятого покоління, створених в AMD і Cyrix, включаюча двійні конвейєри команд і інші удосконалення, забезпечила виконання однієї або двох команд за один такт.

  • Pentium Pro, Pentium П/Ш/Celeron і Athlon/Duron. Процесори класу Р6, а також другі процесори шостого покоління, створені компаніями AMD і Cyrix, дозволяють виконати мінімум три команди за один такт.

Скорочення циклів вдається досягнути в основному за рахунок фізичної швидкодії електронних компонент, про що говорилося вище. Цей підхід пов'язаний з удосконаленням технології інтегральних схем і на сьогоднішній день практично вичерпаний.

Одночасне виконання декількох операцій – самий продуктивний підхід. Він дає змогу значно підвищити швидкість роботи комп’ютера. Навіть просте перекриття виклику і виконання команди досить ефективне. Взагалі ідея паралелізму є основною в побудові сучасних швидкісних комп’ютерів.

На одній чаші терезів знаходиться швидкодія, на другій – вартість. Точна оцінка вартості і відношення швидкодія/вартість задача дуже непроста і в значній мірі залежить від призначення пристроїв. Наприклад, були розроблені тисячі (!) варіантів двійкових суматорів різної швидкодії і вартості і вибір конкретного суматора залежить від умов його використання.

Таким чином, подальше зростання швидкодії буде проводиться В основному за рахунок структурних засобів. Одним з таких засобів є конвейєрна обробка даних, яка дозволяє виконувати декілька команд одночасно (Рис. 5.4).

С1

1

2

3

4

5

6

7

8

9

С2

1

2

3

4

5

6

7

8

С3

1

2

3

4

5

6

7

С4

1

2

3

4

5

6

....

С5

1

2

3

4

5

1

2

3

4

5

6

7

8

9

t (машинні цикли)

Рис.5.4

С1–С5 – блоки обробки інформації. Впродовж цикла 1 С1 працює над командою 1. Впродовж цикла 2 С2 працює над декодуванням команди 1, в той же самий час С1 визиває команду 2 і так далі. В решті решт паралельно обробляється п’ять команд .

Некоторые современные процессоры имеютболее 30 ступеней в конвейере, что увеличивает производительность процессора, однако приводит к большому времени простоя (например, в случае ошибки в предсказании условного перехода). Не существует единого мнения по поводу оптимальной длины конвейера: различные программы могут иметь существенно различные требования.

Один конвейєр – добре, а два – ще краще. Одна з можливих схем процесора з двома конвейєрами наведена на Рис.5.5.

Рис. 5.5

Щоб виконуватись паралельно, дві команди не повинні конфліктувати із-за ресурсів (наприклад, регістрів) і жодна з них не повинна залежить від результату виконання другої. Конфлікти усуваються за рахунок допоміжної апаратури. Процесор 80486 має один такий п’ятиступінчастий конвейєр, а Pentium – два.

Подальше збільшення конвеєрів технічно можливо, але потребує громіздкої апаратури. Замість цього використовують інший підхід – один конвеєр з великою кількістю функціональних блоків ( Рис.5.6). Таку структуру, яка одержала назву суперскалярної архітектури, має, наприклад, Pentium 4.

Рис.5.6

Тут вы можете оставить комментарий к выбранному абзацу или сообщить об ошибке.

Оставленные комментарии видны всем.

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