Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ekzamen_z_arkhitekturi.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.08 Mб
Скачать
    1. Процесорна шипа, шина нам 'яті. Структурна схема процесорної шини, шини пам 'яті, agp шини.

Структура процесорної шини Процесор обмінюється даними з оперативною пам’яттю по процесорній шині, яка має порівняно високу швидкодію. Типова процесорна шина має такі складові частини: * шина адреси. По цій шині передається адреса комірки пам’яті, з якої потрібно зчитати або до якої потрібно записати інформацію. Розрядність шини адреси визначає кількість комірок оперативної пам’яті, до яких може звертатися процесор. Кажуть, що процесор може адресувати таку кількість пам’яті. Так, якщо шина адреси має розрядність 20 біт, то процесор може адресувати 220 байтів (1 мегабайт) пам’яті; * шина даних, по якій передаються дані. Розрядність цієї шини визначає кількість байтів, які можуть бути одночасно передані по шині. Це, в свою чергу, істотно впливає на швидкість роботи процесора; * керуюча шина, призначена для передачі керуючих сигналів. Операнди та основні режими адресації. Як уже зазначалося, операнди команд (тобто дані, над якими виконуються операції) вказуються в самій команді. Коли процесор зчитує ім'я команди, він може визначити за цим ім'ям кількість і тип операндів. В залежності від типу операндів розрізняють такі основні режими адресації: * безпосередня. Значення операндів безпосередньо вказуються в самій команді; * пряма; в команді вказується адреса комірки пам'яті, в якій зберігається потрібне дане; * регістрова; в команді вказується назва регістру процесора, в якому зберігається значення операнду; * непряма; в команді вказується ім'я регістру процесора, але в ньому зберігається не саме значення операнду, а адреса комірки пам'яті, з якої його потрібно вибрати. Етапи виконання команд Традиційно виділяють три етапи виконання кожної команди: вибірка команди; декодування команди; безпосереднє виконання. На початку вибірки чергової команди її адреса міститься в програмному лічильнику. Ця адреса пересилається до регістру адреси пам'яті, а керуючий пристрій надсилає до оперативної пам'яті сигнал зчитування. Інформація, яка зчитується з оперативної пам'яті, пересилається до регістру даних пам'яті, а звідти - до регістру команд та універсальних регістрів. З конструктивних міркувань хоча б один операнд команди, яка здійснює арифметичні операції, як правило, повинен знаходитись в регістрах процесора, а не в оперативній пам'яті. Декодування - це перетворення двійкових кодів команд та операндів на послідовність електричних імпульсів, які є необхідними для виконання команди апаратними засобами. Розрізняють апаратне та мікропрограмне декодування. В останньому випадку мова йде про використання мікрокоду - набору правил, відповідно до яких здійснюється декодування. Мікрокод по суті являє собою мову програмування, але це є дуже специфічна мова, рівень якої є ще нижчим, ніж рівень машинної мови. Мікрокод є недоступним для програміста і є прерогативою розробників процесора. Нарешті, на етапі безпосереднього виконання декодована команда реалізується апаратними засобами. Після завершення виконання команди відповідним чином змінюється вміст програмного лічильника (він вказує на наступну команду). Під час виконання команди стан процесора може змінитися, що відображається в регістрі станів процесора. Можна виділяти ще як мінімум два етапи виконання команди: кодування результату та його запис до оперативної пам'яті. Адресність та її вплив на формат команд Адресністю команди називається кількість її операндів. Адресність команди завжди відома процесорові, і тому він вибирає з пам'яті рівно стільки операндів, скільки потрібно. Відповідно до цього можна говорити і про адресність машини. Приклад. Нехай перед проектувальником деякого гіпотетичного процесора стоїть задача: реалізувати команду, яка могла б виконувати операцію додавання двох чисел. Нехай він може вибирати між одно-, дво- і триадресним варіантом реалізації. Для простоти викладення ми вважаємо, що всі операнди цієї команди повинні зберігатися в регістрах процесора.Триадресний варіант. Тут все просто: триадресна команда SUM3 R1,R2,R3 вимагає, щоб перший доданок містився в одному регістрі (наприклад, R3), другий доданок - в іншому (R2), а результат залишався в третьому (R1).Двоадресний варіант. Маємо двоадресну команду SUM2 R1,R2 Проблема полягає в тому, що ми працюємо з трьома числами (два доданки і результат), а регістрів, які використовуються в якості операндів, всього два. Типове рішення таке: доданки містяться в обох регістрах, а результат виконання команди залишається в одному з них. Це призведе до того, що один з доданків буде затертий та втрачений (якщо, звичайно, він не був попередньо збережений в якомусь іншому місці).Як приклади двоадресних команд, що входять до системи команд процесора Intel, можна навести ADD (додавання), SUB (віднімання) та інші.Одноадресний варіант. Можливе таке рішення: один з доданків одноадресної команди SUM1 R1 міститься в єдиному регістрі R1; там же залишається результат. Що стосується другого доданка, то він повинен бути взятим за замовченням з деякого іншого регістру, причому проектувальник повинен заздалегідь визначити, з якого саме.Як приклади одноадресних команд, що входять до системи команд процесора Intel, можна навести MUL (множення), DIV (ділення) та інші. Звичайно, якщо дані зберігаються не в регістрах процесора, а в оперативній пам'яті, арифметичній операції повинні передувати команди пересилання, які пересилають операнди з оперативної пам'яті до регістрів процесора. Часові співвідношення при виконанні різних операцій Співвідношення часу, яке витрачається на виконання різних операцій, залежить від особливостей конкретного процесора. Взагалі кажучи, швидкість виконання кожної операції залежить від таких основних факторів: * де знаходяться операнди: в регістрах процесора чи в оперативній пам'яті; операції над даними, що містяться в регістрах, виконуються швидше; * тип даних: операції з фіксованою точкою виконуються, взагалі кажучи, значно швидше, ніж з плаваючою. * тип операцій. Найтиповіше співвідношення є таким: найшвидше виконуються прості логічні операції, які відповідають основним булевим функціям; далі в порядку спадання швидкості: додавання і віднімання; множення; ділення. З огляду на це існує ряд практичних рекомендацій для прискорення обчислень. Наприклад, замість виразу 2а рекомендується обчислювати рівний йому вираз a+a, замість a/3 (повільне ділення) писати 0.3333a (більш швидке множення і т.п). Операції зсуву Множення і ділення на ступені двійки можна значно прискорити за рахунок використання значно більш швидких операцій зсуву на певну кількість двійкових розрядів. В процесорі реалізовані спеціальні обчислювальні елементи, які виконують зсув. Множення числа на 2b відповідає зсуву на b розрядів вліво, ділення на 2b - зсуву на b розрядів вправо. Це правило аналогічно загальновідомому правилу "зсуву десяткової точки" при множенні і діленні десяткових чисел на 10, 100 і т.п. AGP (від англ Accelerated Graphics Port, прискорений графічний порт) — розроблена в 1997 році компанією Intel, спеціалізована 32-бітова системна шина для відеокарти. З'явилася одночасно з чипсетами для процесораIntel Pentium MMX чипсет MVP3, MVP5 з Super Socket 7. Основним завданням розробників було збільшення продуктивності та зменшення вартості відеокарти, за рахунок зменшення кількості вбудованої відеопам'яті. За задумом «Intel», великі обсяги відеопам'яті для AGP-карт були б не потрібні, оскільки технологія передбачала високошвидкісний доступ до загальної пам'яті.

Її відмінності від попередниці, шини PCI:

  • робота на тактовій частоті 66 МГц;

  • збільшена пропускна здатність;

  • режим роботи з пам'яттю DMA і DME;

  • поділ запитів на операцію і передачу даних;

  • можливість використання відеокарт з енергоспоживанням більшим, ніж PCI

Перша версія (специфікація AGP 1.0) AGP 1x використовується рідко, оскільки не забезпечує необхідної швидкості роботи з пам'яттю в режимі DME, відразу ж при проектуванні була додана можливість посилати 2 блоки даних за один такт, це 2х AGP. У1998 році вийшла друга версія (специфікація AGP 2.0) — AGP 4x, яка могла пересилати вже 4 блоки за один такт і володіла пропускною спроможністю майже 1 ГБ/с. Рівень напруги замість звичайних 3,3 В був знижений до 1,5 В. Шина AGP 8x (специфікація AGP 3.0) передає вже 8 блоків за один такт, таким чином, пропускна здатність шини досягає 2 ГБ/с. Також у стандарті була закладена можливість використання двох відеокарт (аналогічно ATI CrossFireNVIDIA SLI), однак ця можливість не була використана виробниками. Сучасні відеокарти вимагають великої потужності, понад 40 Вт, яку шина AGP дати не може, так з'явилася специфікація AGP Pro з додатковими роз'ємами живлення.

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