Поиск по базе сайта:
Рис 1 Верхній рівень структурної організації комп‘ютера icon

Рис 1 Верхній рівень структурної організації комп‘ютера




НазваРис 1 Верхній рівень структурної організації комп‘ютера
Сторінка2/4
Дата конвертації15.11.2012
Розмір0.53 Mb.
ТипДокументи
1   2   3   4
1. /AKC/БЛАНК_контролю_нау.doc
2. /AKC/КОНТРОЛЬНА_АКС.doc
3. /AKC/ЛЕКЦIф_м1/01_ЛЕКЦIЯ__1.doc
4. /AKC/ЛЕКЦIф_м1/02_ЛЕКЦIЯ__2.doc
5. /AKC/ЛЕКЦIф_м1/03_ЛЕКЦIЯ__3.doc
6. /AKC/ЛЕКЦIф_м1/04_ЛЕКЦIЯ__4.doc
7. /AKC/ЛЕКЦIф_м1/05_ЛЕКЦIЯ__5.doc
8. /AKC/ЛЕКЦIф_м1/06_ЛЕКЦIЯ__6.doc
9. /AKC/ЛЕКЦIф_м1/07_ЛЕКЦIЯ__7.doc
10. /AKC/ЛЕКЦIф_м1/ЛЕКЦIЯ__8_процесори/01_x86.doc
11. /AKC/ЛЕКЦIф_м1/ЛЕКЦIЯ__8_процесори/02_Поколiння_процесорiв_з_1_по_7.doc
12. /AKC/ЛЕКЦIф_м1/ЛЕКЦIЯ__8_процесори/03_Процесори_молодших_поколiнь.doc
13. /AKC/ЛЕКЦIф_м1/ЛЕКЦIЯ__8_процесори/04_Мiкропроцесори_шостого_поколiння.doc
14. /AKC/ЛЕКЦIф_м1/ЛЕКЦIЯ__8_процесори/05_Архiтектура_IA64.doc
15. /AKC/ЛЕКЦIф_м1/ЛЕКЦIЯ__8_процесори/06_Огляд_сучасних_процесорiв.doc
16. /AKC/ЛЕКЦIф_м1/ЛЕКЦIЯ__8_процесори/_00_ЛЕКЦIЯ__8.doc
17. /AKC/ЛЕКЦIф_м1/ЛЕКЦIЯ__8_процесори/_ПРОЦЕСОРИ_мат.doc
18. /AKC/ЛЕКЦIф_м1/ЛЕКЦIЯ__8_процесори/_Типи процесорiв.doc
19. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_10/10_01_ОРГАНIЗАЦ_ПАМ+.doc
20. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_10/10_02_ДИНАМIЧНА_ПАМ+.doc
21. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_10/10_03_ТАЙМIНГИ+.doc
22. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_10/10_а_ЛЕКЦIЯ_ОП.doc
23. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_10/10_б_ЛЕКЦIЯ_Таймiнги.doc
24. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_10/10_в_ЛЕКЦIЯ_Огляд_ОП.doc
25. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_11/11_00_Фiзична структура HDD.doc
26. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_11/11_01_НАКОПИЧУВАЧI_+.doc
27. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_11/11_02_ЛЕКЦIЯ_RAID_.doc
28. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_11/11_02_ПРИСТР_ЗБЕРЕЖ_ДАНИХ_1+.doc
29. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_11/11_03_IDE.doc
30. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_11/11_04_SCSI_.doc
31. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_12/12_01_ШИНИ_розширення.doc
32. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_12/12_01а_PCI.doc
33. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_12/12_01б_PCI_express.doc
34. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_13/13_00_Iнтерфейси.doc
35. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_13/13_01_СОМ.doc
36. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_13/13_02_LPT.doc
37. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_13/13_03+06_Iнтерфейси.doc
38. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_13/13_04_USB+FireWire.doc
39. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_13/13_05_Fibre Channel.doc
40. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_13/13_07_Bluetooth.doc
41. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_13/13_08_IrDa.doc
42. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_14/14_00_Вiдесистема.doc
43. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_14/14_00_вiдеоадаптер.doc
44. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_14/14_01_Аудио_ГУК_Р12.doc
45. /AKC/ПИТАННЯ+модуль2+акс.doc
46. /AKC/ПИТАННЯ_МОДУЛЬ_ь1+.doc
47. /AKC/тесты с ответами.doc
Національний авіаційний унуверситет
Завдання на контрольну роботу завданям курсової роботи з дисципліни «Архітектура комп’ютерних систем»
Тема 1 Класичні основи побудови еом. Покоління комп’ютерів
Тема 2 Основні архітектури кс
Тема: Системні ресурси Системними ресурсами
Тема: Системні ресурси. (продовження) Система переривань
Тема: Системні ресурси (продовження) Прямий доступ до пам'яті dma
1. Поняття системної плати
Тема організація введення-виведення І bios
X86 Intel 80x86
Архітектура і мікроархітектура процесорів. Покоління процесорів
Мікропроцесори фірми Intel молодших поколінь
Мікропроцесори шостого покоління
Архітектура ia-64
Arhitektura komp system
Рис 1 Верхній рівень структурної організації комп‘ютера
Зміст Введення
Тип процессора Микро-архитектура
Підсистеми пам'яті
Динамічне озп. Конструктивні особливості
Таймінги пам'яті поняття «таймінгів»
Тема 12. Класифікація запам’ятовуючих пристроїв. Типи оперативної пам’яті план лекції Поняття «пам’ять еом»
Тема 13. Таймінги
Arhitektura komp system
Тема 14. Фізична структура жорсткого диску
Жорсткі диски. Введення 2 Фізичний пристрій жорсткого диска 2
Raid-масиви початкового рівня Що таке raid?
Устройства хранения данных
Интерфейс ide ata/atapi и sата
Arhitektura komp system
8. pci/pci-x
Шини pci/pci-x
Шина pci express Шина pci express
Usb fireWire ps/2 ata (ide)/ атарі
Інтерфейс rs-232C — com-порт
Паралельний інтерфейс — lpt-порт
Універсальна послідовна шина
Usb (Universal Serial Bus універсальна послідовна шина) є промисловим стандартом розширення архітектури рс, орієнтованим на інтеграцію з телефонією І пристроями побутової електроніки. Версія 1
Fibre Channel Fibre Channel
Arhitektura komp system
Arhitektura komp system
Arhitektura komp system
Тема 11. Відеоадаптер
Img src= 44 html 2f3a33e
Питання до модуля №2
2) Основні компоненти машини фон Неймана 3) Які покоління комп’ютерів характеризуються децентралізацією управління процедурами вводу-виводу (системи переривання програм)
Які принципи програмно-керованих еом не використовувалися Нейманом

Рисунок 2.4 - Структурна схема спеціалізованого АЛП


Сучасні процесори мають суперскалярну архітектуру, що припускає можливість одночасного виконання більш однієї інструкції за один такт. Реалізація такої можливості потребувала побудови обробного блока ЦП на основі двох конвеєрів загального призначення для цілочисельних операцій (АЛП U і АЛП V) і конвеєрного блока з плаваючою крапкою (АЛП FP). Обидва пристрої для цілочисельних операцій структурно і функціонольно схожі, але АЛП V у порівнянні з головним АЛП U має деякі обмеження. На пристроях U i V процесор може виконувати до двох інструкцій за один такт.


Архітектура системи команд процесора

З точки зору програміста, під архітектурою процесора розуміється сумісність з певним набором команд (наприклад: процесори сумісні з командами Intel х86) їх структури (наприклад: систем адресації або організації регістровий пам'яті) і способу виконання (наприклад: лічильник команд). З точки зору спеціаліста по «залізу», архітектура процесора це певний набір властивостей і якостей, властивий цілого сімейства процесорів, як правило, випускається протягом багатьох років (інакше кажучи - «внутрішня конструкція», «організація» цих процесорів). Є різні класифікації архітектур процесорів, як з організації (наприклад по кількості і швидкості виконання команд: RISC, CISC), Так і призначенням (наприклад: спеціалізовані графічні).

Система команд - це угода про надані архітектурою засобах програмування, а саме: певних типи даних, інструкцій, системи регістрів, методів адресації, моделей пам\'яті, способів обробки переривань і винятків, методів введення та виведення.

Система команд представляється специфікацією відповідності мікрокоманд розділами кодів мікрооперацій, Які виконуються при виклику команди, які визначаються мікроархітектурою системи. (При цьому, на системах з різною (мікро) архітектурой може бути реалізована одна й та ж система команд. Наприклад, Intel Pentium і AMD Athlon мають майже ідентичні версії системи команд x86, Але мають радикально різний внутрішній дизайн.)

Базовими командами є, як правило, наступні:

Оптимальними в різних ситуаціях є різні способи побудови системи команд.

Якщо об'єднати найбільш часто використовується послідовність мікрооперацій під однією мікрокомандою, то треба буде забезпечувати менше мікрокоманд. Така побудова системи команд носить назву CISC (Complex Instruction Set Computer), в розпорядженні є невелике число складових команд.

З іншого боку, це об'єднання зменшує гнучкість системи команд. Варіант з найбільшою гнучкістю - наявність великої кількості близьких до елементарних операцій команд. Це RISC (Reduced Instruction Set Computer), в розпорядженні є усічені, прості команди.

Ще більшу гнучкість системи команд можна отримати використовуючи MISC підхід, побудований на зменшенні кількості команд до мінімального і спрощення обчислювального пристрою обробки цих команд.

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

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

Командою називають цифрову інформацію, що забезпечує виробітку в комп’ютері електронних сигналів, необхідних для виконання визначеної дії машини над заданими операндами.

Архітектура системи (набору) команд комп’ютера істотно впливає на апаратну платформу процесора і його продуктивність. Історично склалося, що спочатку були створені комп’ютери з CISC-архітектурою (CISC-Complete instruction Set Computer), тобто комп’ютери з повним набором команд. Розширення набору команд, збільшення числа засобів адресації, застосування складних команд призводило до збільшення довжини коду команди, зокрема, коду операції. Це викликало уповільнення процесу дешифрації коду операції в процесорі й інших процедур опрацювання команд. Для комп’ютерів ранніх поколінь CISC - архітектура знижувала основну характеристику – вартість/продуктивність.

Тому в процесі удосконалення технологічної бази комп’ютерів ( появі ВІС (великих інтегральних схем) і НВІС (надвеликих інтегральних схем)) сформувався альтернативний стосовно ускладнення архітектури процесорів напрямок, що використовує при створенні порівняно дешевих високопродуктивних процесорів архітектуру зі скороченим набором команд (RISC – Reduced Instruction Set Computer). Таким чином, до середини 90-х років два основних набори команд займали домінуюче положення при створенні нових моделей комп’ютерів – це машини з CISC і RISC архітектурою.

Подальше удосконалення елементної бази комп’ютерів і прагнення понизити характеристику вартість/продуктивність призвела до появи в середині 90-х років машин із дуже довгим командним словом (VLIW –Very Long Instruction Word). На рис. 2.5 показана схема класифікації комп’ютерів по використовуваній архітектурі набору команд.


Рисунок 2.5 – Класифікація комп’ютерів за архітектурою набору команд

Кожен процесор характеризується:
  • Набором виконуваних команд;
  • Швидкістю виконання команд в мільйонах операцій за секунду (mips);
  • Обсягом пам'яті, яка адресується;
  • Розмірами оброблюваних слів;
  • Розрядністю використовуваної шини.
Залежно від набору та порядку виконання команд процесори підрозділяються:
  • На класичні процесори CISC;
  • На процесори RISC зі скороченим набором команд;
  • На процесори MISC c мінімальним набором довгих команд;
  • На процесори VLIW з набором Наддовгими командами

CISC (англ.)

Complex Instruction Set Computing - Концепція проектування процесорів, Яка характеризується наступним набором властивостей:

  • Нефіксованим значенням довжини команди.

  • Виконання операцій, таких, як завантаження в пам'ять, арифметичні дії, кодується в одній інструкції.

  • Невеликим числом регістрів, кожен з яких виконує суворо визначену функцію.

Архітектури з на основі x86 команд (виключаючи сучасні Intel Pentium 4, Pentium D, Core, AMD Athlon, Phenom які є гібридними).

Найбільш поширена архітектура сучасних настільних, серверних і мобільних процесорів побудована з архітектури Intel x86 (або х86-64 у разі 64-розрядних процесорів). Формально, всі х86-процесори були CISC-процесорами, проте нові процесори, починаючи з Intel486DX, є CISC-процесорами з RISC-ядром. Вони безпосередньо перед виконанням перетворять CISC-інструкції процесорів x86 в більш простий набір внутрішніх інструкцій RISC.

У мікропроцесор вбудовується апаратний транслятор, що перетворює команди x86 в команди внутрішнього RISC-процесора. При цьому одна команда x86 може породжувати кілька RISC-команд (у випадку процесорів типу P6-до 4-х RISC команд в більшості випадків). Виконання команд відбувається на суперскалярної конвеєрі одночасно по кілька штук.

Основоположником CISC- архітектури можна вважати компанію ІВМ і з її базовою архітектурою ІВМ/360, ядро якої використовується з 1964 року і дійшло до наших днів, наприклад, у таких сучасних мейнфреймах як ІВМ ES/9000.

Лідером у розробці мікропроцесорів з повним набором команд вважається компанія Intel із своєю серією х86. Ця архітектура є домінуючою на сучасному ринку мікрокомп’ютерів. Для CISC- процесорів характерно:

- порівняно невелике число регістрів загального призначення ;

- велика кількість машинних команд (більш 200), деякі з яких навантаженні семантично, аналогічно операторам високорівневих мов програмування, і виконуються за велику кількість тактів;

широка номенклатура методів адресації.


RISC (англ.)

Reduced Instruction Set Computing - Обчислення зі скороченим набором команд.

Це концепція проектування процесорів, Яка на чільне ставить такий принцип: більш компактні і прості інструкції виконуються швидше. Проста архітектура дозволяє як здешевити процесор, так і підняти тактову частоту. Багато ранніх RISC-процесори навіть не мали команд множення і ділення. Ідея створення RISC процесорів прийшла після того, як в 1970-х роках вчені з IBM виявили, що багато хто з функціональних особливостей традиційних ЦПУ ігнорувалися програмістами

Характерні особливості RISC-процесорів:

  • Фіксована довжина машинних інструкцій (наприклад, 32 біти) і простий формат команди.

  • Одна інструкція виконує тільки одну операцію з пам'яттю - читання або запис. Операції виду «прочитати-змінити-записати» відсутні.

  • Велика кількість регістрів загального призначення (32 і більше).

Основою архітектури сучасних робочих станцій і серверів є RISC- архітектура комп’ютера, тобто архітектура комп’ютера зі скороченим набором команд. Початок цієї архітектури іде своїми коренями до комп’ютерів CDC6600, розроблювачі котрих (Торнтон, Крей та ін.) усвідомили важливість спрощення набору команд для побудови швидких обчислювальних машин. Проте RISC- архітектури сформувалося на базі трьох дослідницьких проектів комп’ютерів: процесора 801 компанії ІВМ, процесора RISC університету Берклі і процесора MIPS (Multimission Image Processing System) Стенфордського університету.

На початку 80-х років були виготовлені експериментальні зразки комп’ютерів із RISC-архітектура. Головними ідеями цих машин було відділення повільної пам’яті від високошвидкісних регістрів, використання регістрових вікон і ефективної реалізації конвеєрного опрацювання за допомогою ретельного планування компілятором завантаження процесора. Крім того, в архітектурі цих процесорів передбачалося відділення команд опрацювання від команд роботи з пам’яттю і робився упор на ефективне конвеєрне опрацювання. Система команд розроблялася таким чином, щоб виконання будь-якої команди займало невеличку кількість машинних тактів (переважно один). Сама логіка виконання команд із метою підвищення продуктивності орієнтувалася на апаратну, а не на мікропрограмну реалізацію. Щоб спростити логіку декодування інструкцій, використовувалися команди фіксованої довжини і фіксованого формату.

Серед інших особливостей RISC-архітектур слід зазначити наявність великої кількості регістрів. У типових RISC- процесорах реалізуються 32 і навіть більша кількість регістрів у порівнянні з 8-16 регістрами в CISC-архітектурах. Це дозволяє більшому обсягу даних зберігатися в регістрах на процесорному кристалі. Система команд RISC- архітектури передбачає використання трьохадресних команд, що крім спрощення дешифрації, дає можливість зберігати більше число даних у регістрах без їхнього наступного перезавантаження.

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

MISC (англ.)

Minimal Instruction Set Computer-- процесор, що працює з мінімальним набором довгих команд. Збільшення розрядності процесорів призвело до ідеї укладення кількох команд в одне велике слово. Це дозволило використовувати збільшену продуктивність комп'ютера і його можливість обробляти одночасно кілька потоків даних. Крім цього MISC використовує стекові модель обчислювального пристрою і основні команди роботи зі стеком Forth мови. MISC принцип може лежати в основі прошивки виконання Java і .Net програм, хоча за кількістю використовуваних команд вони порушують принцип MISC.

Процесори, що утворюють «комп'ютери з мінімальним набором команд» MISC, як і процесори RISC, характеризуються невеликим числом команд, які найчастіше зустрічаються. Разом з цим, принцип «дуже довгих машинних команд» VLIW забезпечує виконання групи несуперечливих команд за один цикл роботи процесора. Порядок виконання команд розподіляється таким чином, щоб максимально завантажити маршрути, по яких проходять потоки даних. Таким чином архітектура MISC об'єднала разом суперскалярної і VLIW концепції. Компоненти процесора прості і працюють з високими швидкостями. Система команд MISC настільки проста, що може розміститися на одній сторінці.


VLIW (англ.)

Very long instruction word - «Дуже довга машинна команда» - архітектура процесорів з декількома обчислювальними пристроями. Характеризується тим, що одна інструкція процесора містить кілька операцій, які повинні виконуватися паралельно.

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

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

VLIW можна вважати логічним продовженням ідеології RISC, Що розширює її на архітектури з декількома обчислювальними модулями. Так само, як в RISC, в інструкції явно вказується, що саме повинен робити кожен модуль процесора. Через це довжина інструкції може досягати 128 або навіть 256 біт.


Робочий цикл процесора

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

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

До непривілейованих відносяться команди, за якими виконуються арифметичні і логічні операції над даними, а також команда “Звернення до супервізору”. Привілейовані - це команди вводу-виводу, а також команди переключення режимів і діагностики. Ці команди використовуються системними програмістами, що займаються розробкою й удосконаленням операційних систем і систем програмування.

По характеру виконуваних інструкцій можна виділити основні групи команд.




Рисунок 2.6 - Класифікація команд за призначенням

Інструкції пересилки даних дозволяють передавати константи або змінні між регістрами і пам’яттю в різноманітних комбінаціях, але в пам’яті може знаходитись не більш одного операнда.

Операції зі стеком виконуються таким чином, що в залежності від поточного режиму при розміщенні в стеці слова стан регістра SP (покажчик стека) зменшується на число його байт (2 або 4), а при витягу - збільшується.

Стек являє собою безперервну область пам‘яті (стек – це область ОЗУ), яка адресуються регістрами ESP (вказівник стека). Особливість стеку заключається в тому, що дані в ньому розміщуються і викликаються по принципу “першим увійшов – останнім вийшов”. Дані розміщуються за допомогою інструкції PUSH, а викликаються по інструкції POP. За одну операцію можливо помістити чи викликати тільки слово (2 байта) чи подвійне слово (4 байта).

Стек використовується для таких цілей:

  • організації переривань, викликів та повернень;

  • тимчасового зберігання даних, коли під них не має сенсу виділяти фіксовані місця в пам‘яті;

  • передачі і поверненню параметрів при викликах процедур.

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

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

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





Рисунок 2.7 – Cпрощена схема робочого циклу процесора

На цьому рисунку прийнять такі позначення. Блок 1 – початкова вершина графа, відповідає початку процедури реалізації команд процесором. Умовна вершина 2 служить для розпізнавання стана процесора – “Обчислення” або “Чекання”. Виходи вершини 2 поступають на вершини 3 і 4. В умовній вершині 3 виконується перевірка наявності незамаскованих переривань. Вершина 4 відповідає процедурі Чекання запитів переривань. Процесор чекає приходу запиту переривань, після чого управління передається відповідній програмі, яка переводить процесор в стан Обчислення.

Коли процесор переходить у стан Обчислення, при наявності незамаскованих переривань відбувається вихід із нормального циклу (вихід Так блока 3) і виконується процедура обробки переривання.

Якщо в стані Обчислення відсутні запити переривання, управління передається в блок 5 – “Вибірка команди і формування адреси наступної команди в ЛчК”. Тривалість етапу вибірки команди складає t1. З цього блока починається послідовне виконання етапів робочого циклу процесора: вибірка чергової команди, дешифрація коду операції команди, формування виконавчих адрес операндів і вибірка їх із пам’яті, опрацювання операндів в операційному блоці і запам’ятовування результату.

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

У блоці 6 згідно з кодом операції відбувається розпізнавання її групи: основна команда, команда передачі управління, система або команда вводу-виводу.

Процес виконання основної команди починається в блоці 7, в якому відбувається формування виконавчих адрес операндів. Для виконання цього етапу виділяється t2 процесорного часу.

Блок 8 робочого циклу процесора відповідає етапу завантаження операндів в операційний блок, тривалість якого дорівнює t3.

У процесі виконання заданої командою операції формується ознака результату операцій, що використовується командами умовної передачі управління при організації розгалужень у програмах. Виконання операції (блок 9) і формування ознаки результату (блок 10) потребує t4 одиниць процесорного часу. Нарешті, тривалість етапу запам’ятовування результату (блок 11) дорівнює t5.

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

Виконання команд передачі управління здійснюється в блоках 12 і 13. У блоці 12 виконується перевірка заданої командою умови переходу. Якщо умова не виконується, то адреса наступної команди вже знаходиться в ЛчК і процесорі.

Конвеєрне опрацювання даних. Розроблювачі архітектури ком´ютерів здавна прибігали до методів проектування, відомими під загальною назвою “суміщення операцій” або конвеєрне опрацювання, при якому аппаратура комп´ютера в будь який момент часу виконує одночасно більш однієї операції. Конвеєрне опрацювання в загальному випадку засноване на поділі інструкції (операції), яка виконується на більш дрібні частини, називані ступінями, і виділені для кожної з них окремого блока апаратури. Так опрацювання будь-якої машинної команди можна розділити на декілька етапів (декілька ступенів), організовуючи передачу даних від одного етапу до наступного. При цьому конвеєрне опрацювання можна використовувати для суміщення етапів виконання різних команд, що потребують того ж самого ресурсу (наприклад, АЛП). При цьому зростає продуктивність процесора завдяки тому, що одночасно на різноманітних ступінях конвеєра виконуються декілька команд. Конвеєрне опрацювання такого роду широко застосовується у всіх сучасних швидкодіючих процесорах. На рисунку 2.7, де зображена схема робочого циклу процесора, блоки 5-11 відповідають етапам виконання основних команд. Якщо ці етапи виконуються послідовно в часі, то тривалість циклу можна визначити, сумуючи позначені на рисунку тривалості окремих етапів

tпосл = t1 + t2+ t3 + t4 +t5.

Тоді продуктивність процесора обчислюється

Рпосл = 1/tпосл = 1/(t1 + t2 + t3 + t4 + t5)команд/с.

У багатьох випадках процедура послідовного виконання етапів циклу не забезпечує необхідну продуктивність процесора. Щоб вирішити проблему підвищення продуктивності процесора, академік С.А.Лєбедєв запропонував принцип суміщення в часі окремих етапів робочого циклу. Принцип суміщення операцій був реалізований в ЕОМ М-20 у формі рівнобіжного в часі виконання операцій в АЛП в вибірки з пам´яті наступної команди.

Швидкість роботи процесора може бути підвищена за рахунок того, що для виконання кожного етапу команди передбачений окремий апаратурний блок. Якщо з'єднати ці блоки в обробну лінію так, щоб результат виконання в даному блоці деякого етапу передавався для реалізації чергового етапу на наступний блок, то утвориться конвеєр операцій (рис. 2.8). На рисунку зображені блоки виконання окремих станів команди для випадку, коли робочий цикл процесора складається з К етапів.




Позиції конвеєра

Рисунок 2.8 – Конвеєр операцій


У загальному випадку конвеєри команд бувають синхронними й асинхронними. Синхронний конвеєр працює в примусовому темпі; для виконання будь-якого етапу виділений один і той же час tТ - такт конвеєра.

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


tT = max{ti}, i = 1,…,k; ( 2.1 )


ti + ti+1 > tT, i = 1,…,k. ( 2.2 )




Рисунок 2.9 – Етапи виконання команд апаратурою процесора


Якщо для будь-яких суміжних етапів умова (2.2) не виконується, то ці етапи варто об'єднати в один етан або найбільше довгий етап розбити на декілька етапів. У останньому випадку необхідно вибрати нове значення tт і перевірити умову (2.2).

Для ілюстрації основних принципів конвеєрного опрацювання скористаємося найпростішою архітектурою процесора, що містить 32 цілочисельних регістра загального призначення (R0,...,R31), 32 регістра для уявлення чисел із плаваючою крапкою (F0....,FЗ1) і лічильник команд ЛчК. Будемо вважати, що набір основних команд процесора включає типові арифметичні і логічні операції, операції з плаваючою крапкою, операції пересилки даних, операції керування потоком команд і системні операції. У арифметичних командах використовується трьохадресний формат.

Виконання типової команди для RISС-процесора можна розбити на такі етапи:

ВК — вибірка команди з пам'яті;

ДК - дешифрація команди і вибірка операндів;

ВО - виконання операції;

ІП - ініціалізація звертання до пам'яті;

ЗР - запис результату.

Роботу конвеєра можна умовно уявити у вигляді зміщених у часу схем процесора (рис. 2.9). Цей рисунок відбиває суміщення в часі виконання різнома­нітних етапів команд. Проте частіше для уявлення роботи конвеєра викорис­товуються часові діаграми (таблиця 2.1), на котрих звичайно зображуються виконувані команди, номери тактів і етапи виконання команд.

У таблиці 2.1 показана діаграма виконання команд на 5-позиційному син­хронному конвеєрі. Після того як усі позиції конвеєра виявляться заповнени­ми, паралельно в часі опрацьовується стільки команд, скільки в конвеєрі об­робних блоків. Конвеєр характеризується коефіцієнтом суміщення операцій, що дорівнює кількості одночасно виконуваних етапів опрацювання команд.

Конвеєрне опрацювання команд збільшує пропускну спроможність процесора, але вона не скорочує час виконання окремої команди. У дійсності, вона навіть декілька збільшує час виконання кожної команди появою накладних витрат на конвеєризацію. Накладні витрати на організацію конвеєра виникають через затримку сигналів у конвеєрних блоках і через перекоси сигналів синхронізації. Конвеєрні блоки до тривалості такту добавляють час установки і затримку поширення сигналів між ними. Той факт, що час виконання кожної команди в конвеєрі не зменшується, накладає деякі обмеження на практичну довжину конвеєра. Частота синхронізації не може бути вище, а, отже, такт синхронізації не може бути менше, ніж час tT, необхідний для роботи найбільше повільного ступня конвеєра.


Таблиця 2.1 – Діаграма роботи найпростішого конвеєра

Номер команди

Номер такту




1

2

3

4

5

6

7

8

9

Команда і

ВК

ДК

ВО

ІП

ЗР













Команда і + 1




ВК

ДК

ВО

ІП

ЗР










Команда і + 2







ВК

ДК

ВО

ІП

ЗР







Команда і + 3










ВК

ДК

ВО

ІП

ЗР




Команда і + 4













ВК

ДК

ВО

ІП

ЗР


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

Рконв = 1/t. ( 2.3 )


ном

При послідовному виконанні k етапів робочого циклу час реалізації однієї команди:



У синхронному конвеєрі час, необхідний для виконання k етапів робочого циклу процесора складає k*tT . На рис. 2.10 показані витрати часу на виконання трьох команд при послідовному і конвеєрному виконанні етапів робочого циклу процесора.


260 нс

260 нс

260 нс

50

50

60

50

50

50

50

60

50

50

50

50

60

50

50

Команда 1

Команда 2

Команда 3

Послідовне виконання команд




65 нс

65 нс

65 нс

65 нс

65 нс

65 нс

65 нс

Команда 1

60 нс

60 нс

60 нс

60 нс

60 нс







Команда 2




60 нс

60 нс

60 нс

60 нс

60 нс




Команда 3







60 нс

60 нс

60 нс

60 нс

60 нс

Накладні витрати

5

5

5

5

5

5

5

Конвеєрне опрацювання

Рисунок 2.10 – Ефект конвеєризації при виконанні команд


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


Виконання програмного коду.


Програмний код – це послідовність команд, чи інструкцій, кожна із яких певним чином закодована і розміщена в цілому числі суміжних байт пам‘яті. Кожна інструкція обов‘язково має операційну частину, яка несе процесору інформацію про необхідні дії. Операндна частина, яка вказує процесору, де знаходяться операнди, може бути присутня в явному чи неявному вигляді і навіть бути відсутньою. Операндна частина описуватися від нуля до двох операндів, які приймають участь в даній інструкції (є інструкції, в які крім двох операндів задається ще і параметр інструкції). Довжина інструкції в сімействі х86 може бути від 1 до 12 байт і визначатися типом інструкції. Адреса (логічна) поточної інструкції (інструкції яка виконується в поточний момент) зберігається в спеціальному регістрі – вказівник інструкцій IP (Instruction Pointer), який відповідає лічильнику команд фон-неймановської машини. Після виконання лінійної інструкції цей вказівник збільшує своє значення на її довжину, тобто він вкаже на початок наступної інструкції. Лінійна інструкція не порушує порядок виконання, який визначається послідовністю розміщення інструкцій в пам‘яті (по зростанню адреси). Окрім лінійних інструкцій існують інструкції переходів і викликів процедур. Ці інструкції в явному чи в неявному вигляді мають інформацію про адресу наступної інструкції, яка буде виконуватися. Інструкції переходів і викликів можуть бути безумовними (не від чого не залежними) і умовними. Відбудеться чи ні умовний перехід (виклик) залежить від стану прапорців (ознак) на момент виконання інструкції. Якщо перехід (виклик) не відбувся, то виконується інструкція, яка розміщена в пам‘яті наступною за поточною. Виклик процедури є характерним тим, що перед ним процесор зберігає в стеку адресу наступної інструкції, і на цю адресу передається керування після завершення виконання процедури (ця адреса викликається із стеку при виконанні інструкції повернення). Перехід виконується без повернення.

Послідовність виконання інструкцій, яка призначена програмним кодом, може бути порушена під дією внутрішніх чи зовнішніх (відносно процесора) причин. До внутрішніх причин відносяться виключення (exceptions) – певні ситуації, які виникли при виконанні інструкцій. Наприклад ділення на нуль. Зовнішніми причинами зміни нормальної послідовності інструкцій є апаратні переривання – виклик процедур під дією електричних сигналів на спеціальні виведення процесора. У програміста є можливість примусити комп‘ютер (процесор) ігнорувати всі і деяку частину переривань. Джерелами апаратних переривань є контролери і адаптери периферійних пристроїв, генератори міток часу, системи керування живленням і інші підсистеми. Є ще програмні переривання, але вони не порушують послідовність інструкцій, яка зазначена програмістом. Тому перериваннями в чистому вигляді вони по суті не являються, а лише особливим способом виклику системних сервісів BIOS і операційної системи. І, нарешті, послідовність інструкцій може змінюватися по сигналу апаратного скидання чи ініціалізації процесора. З цього і починається робота комп‘ютера: процесор переводиться у вихідний стан і запускається в роботу.
1   2   3   4



Схожі:




База даних захищена авторським правом ©lib.exdat.com
При копіюванні матеріалу обов'язкове зазначення активного посилання відкритою для індексації.
звернутися до адміністрації