Поиск по базе сайта:
Зміст Введення icon

Зміст Введення




НазваЗміст Введення
Сторінка1/8
Дата конвертації15.11.2012
Розмір1.02 Mb.
ТипДокументи
  1   2   3   4   5   6   7   8
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) Які покоління комп’ютерів характеризуються децентралізацією управління процедурами вводу-виводу (системи переривання програм)
Які принципи програмно-керованих еом не використовувалися Нейманом

Зміст

  1. Введення………………………………………………………………………………3

  2. Архітектура Процесора…………………………………………………………..3

  3. Елементи Архітектури Процесора…………………………………………….4

    1. Тактова Частота……………………………………………………….4

    2. Шина даних…………………………………………………………….5

    3. Внутрішня шина і регістри процесора…………………5

    4. Шина Адреси…………………………………………………………….6

    5. Конвеєрне виконання…………………………………………………….7

    6. Передбачення розгалужень……………………………………………..7

    7. Аналіз потоку команд…………………………………………………………….7

    8. Попереджуючу виконання………………………………………………………..8

    9. Співпроцесор…………………………………………………………………….8

    10. Кеш-пам'ять…………………………………………………………………….9

    11. Технологія виготовлення………………………………………………….11

  4. Частота,множник,режими роботи процесора…………………………….12

  5. Режими роботи процесора……………………………………………………….13

    1. Реальний режим……………………………………………………………….13

    2. Захищений режим…………………………………………………………….14

    3. Віртуальний режим…………………………………………………………..14

  6. Історія процесорів Intel…………………………………………………………….15

    1. Intel 8086………………………………………………………………………..15

    2. Intel 80286………………………………………………………………………..15

    3. Intel 386………………………………………………………………………….16

    4. Intel 486………………………………………………………………………….17

    5. Intel Pentium Intel Pentium Pro…………………………………………..17-18

    6. Pentium II і Pentium III……………………………………………………..19

    7. Celeron і Xeon……………………………………………………………..20

    8. Pentium IV……………………………………………………………………22

    9. Pentium M……………………………………………………………………23

    10. Core 2 Duo…………………………………………………………………25

  7. AMD…………………………………………………………………………………..26

    1. 286……………………………………………………………………………27

    2. 386……………………………………………………………………………27

    3. 486……………………………………………………………………………28

    4. K5,K6,K7……………………………………………………………………29-31

    5. Athlon,Thunderbidr………………………………………………………31

    6. Duron I Sempron………………………………………………………….32

    7. K8…………………………………………………………………………..33

    8. Athlon 64x2, Phenom…………………………………………………35

  8. Програми для тестування процесора………………………………36-39

  9. Висновки………………………………………………………………………40



Введення

Процесор, або більш повно — мікропроцесор, який також часто називають ЦПП (CPU — central processing unit) є центральним компонентом комп'ютера. Це розум, який прямо або опосередковано керує усім, що відбувається усередині комп'ютера.

Коли фон Нейман уперше запропонував зберігати послідовність інструкцій, так звані програми, у тій самій пам'яті, що й дані, це була дійсно новаторська ідея. Опублікована вона в «First Draft of a Report on the EDVAC» у 1945 p. Цей звіт описував комп'ютер, що складається з чотирьох основних частин: центрального арифметичного пристрою, центрального керуючого пристрою, пам'яті й засобів введення-виведення.

Сьогодні майже всі процесори мають фон-нейманівську архітектуру.

Кожен мікропроцесор має певну кількість елементів пам'яті, що називаються регістрами, арифметично-логічний пристрій (АЛП) і пристрій керування.

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

В АЛП здійснюється арифметична й логічна обробка даних.

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

Архітектура процесора

Термін "архітектура процесора" в даний час не має однозначного тлумачення. З погляду програмістів, під архітектурою процесора мається на увазі його здатність виконувати певний набір машинних кодів. Більшість сучасних десктопних процесорів відносяться до сімейства x86, або Intel-сумісних процесорів архітектури IA32 (архітектура 32-бітових процесорів Intel). Її основа була закладена компанією Intel в процесорі i80386, проте в подальших поколіннях процесорів вона була доповнена і розширена як самою Intel (введені нові набори команд MMX, SSE, SSE2 і SSE3), так і сторонніми виробниками (набори команд EMMX, 3DNow! і Extended 3DNow!, розроблені компанією AMD).

Проте розробники комп'ютерного устаткування вкладають в поняття "Архітектура процесора" (іноді, щоб остаточно не заплутатися, використовується термін "мікроархітектура") дещо інший смисл. Із їхньої точки зору, архітектура процесора відображає основні принципи внутрішньої організації конкретних сімейств процесорів. Наприклад, архітектура процесорів Intel Pentium позначалася як Р5, процесорів Pentium II і Pentium III - Р6, а популярні в недавньому минулому Pentium 4 відносилися до архітектури NetBurst. Після того, як компанія Intel закрила архітектуру Р5 для сторонніх виробників, її основний конкурент - компанія AMD була вимушена розробити власну архітектуру - К7 для процесорів Athlon і Athlon XP, і К8 для Athlon 64.

Елементи архітектури процесора

Тактова частота

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

Але тактова частота не єдиний чинник, що визначає продуктивність процесора. Адже кількість тактів, що витрачається на виконання команд теж можна міняти. І якщо перші х86 процесори на виконання однієї команди витрачали в середньому близько 12 тактів, в 286 і 386 цей показник в середньому складав близько 4,5 тактів, в 486 - близько 2 тактів, то в сучасних процесорах в середньому виконується одна команда за такт (процесор Pentium) і навіть декілька в процесорах сімейства Pentium IV (за рахунок паралельного виконання команд).

Різна кількість тактів, що витрачається процесорами на виконання команд, утрудняє їх порівняння з використанням тільки тактової частоти. Середня кількість операцій виконувана за один такт роботи процесора прийнято називати продуктивністю. Як ви вже напевно здогадалися теоретично порівнювати два процесори потрібно розглядаючи швидкодію і тактову частоту роботи в сукупності: чим менше тактів витрачає в середньому процесор на виконання команди, тим вище його ефективність (продуктивність) навіть при незмінній тактовій частоті. Наприклад: 486 процесор (в середньому 2 такти на команду) на частоті 133 Мгц працює навіть повільніше, ніж процесор Pentium (в середньому 1 такт на команду) на частоті 75МГц. Оцінювати реальну продуктивність процесора порівняно з іншими вельми непросто, і потрібно розуміти, що таке порівняння багато в чому залежить від того завдання, яке процесор вирішує.

Тактові частоти сучасних процесорів лежать в діапазоні від 1,5 ГГц до 3 ГГц і більш.

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

Шина даних процесора

Однією з найзагальніших характеристик процесора є розрядність його шини даних і шини адреси. (Пригадаєте, що таке шина).

Коли говорять про шину процесора, зазвичай мають зважаючи на шину даних, яка є набором з'єднань, для передачі і прийому даних. Чим більше сигналів одночасно поступає на шину, тим більше даних по ній передається за певний інтервал часу, і тим швидше вона працює. Розрядність шини даних подібна до кількості смуг автомагістралі - ніж більше смуг, тим більше потік машин, чим ширше шина даних, тим більше даних за однакові проміжки часу по ній передається. У процесорі 286 для прийому і передачі двійкових даних використовується 16 з'єднань, тому їх шина даних вважається 16-розрядною. В 32-х розрядних процесорів (наприклад, 486), таких з'єднань удвічі більше, тому за одиницю часу вони передають і отримують удвічі більше даних, чим 16-і розрядні процесори - зрозуміло, ефективність вища. Сучасні процесори (починаючи з Pentium) мають 64-х розрядну шину даних, тому вони можуть передавати в системну пам'ять по 64 біта за один такт. Така реалізація дозволяє прискорити обмін даними між швидким процесором і відносно повільним ОЗУ при незмінній робочій частоті останнього за рахунок підвищення пропускної спроможності шини даних (пригадаєте, що таке пропускна спроможність шини).

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


Внутрішня шина і регістри процесора


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


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


Регістр - це по суті елемент пам'яті усередині процесора, наприклад, процесор може складати числа, записані в двох різних регістрах, а результат записувати в третій регістр. Розрядність регістрів описує розрядність оброблюваних процесором даних. Розрядність регістрів визначає також характеристики програмного забезпечення і команд, що виконуються процесором. Наприклад, процесори з 32-розрядними внутрішніми регістрами можуть виконувати 32-розрядні команди, які обробляють дані 32-розрядними порціями, а процесори з 16-розрядними регістрами цього робити не можуть.

Практично у всіх сучасних процесорах для РС внутрішні регістри є 32-розрядними (виключення Itanium від Intel і Hammer від AMD). У деяких старих процесорах розрядність внутрішньої шини даних (а шина складається з ліній передачі даних і регістрів), більше, ніж розрядність зовнішньої шини даних, тій, яку ми з Вами вже обговорювали (яка пов'язує процесор з оперативною пам'яттю). Зазвичай такі процесори є дешевшими варіантами своїх старших побратимів. Така архітектура (внутрішня шина і регістри удвічі ширше зовнішньою) дозволяє проектувати і створювати, наприклад, недорогі 16-розрядні материнські плати, встановлюючи в них 32-розрядні процесори, забезпечуючи таким чином 32-розрядну сумісність процесора при 16 розрядному обміні з пам'яттю. Але такий спосіб здешевлення системи залишився у минулому і в даний час абсолютно не застосовується.

У сучасних процесорах все йде навпаки: зовнішня шина даних, як ми вже говорили, 64-розрядна, а регістри і внутрішня шина процесора як і раніше 32-розрядні. Дивна ситуація, чи не так? Але дивною вона здається лише до того моменту, як ми взнаємо, що в сучасному процесорі (наприклад, Pentium) для обробки інформації, що поступає по зовнішній 64-розрядній шині даних, існує два оброблювальних її (інформацію) 32-розрядних блоку, званих конвеєрами. Такий процесор нагадує два об'єднаних в одному корпусі 32-розрядних процесора, а 64-розрядна зовнішня шина даних дозволяє швидше наповнити регістри процесора. Така архітектура, що застосовує для обробки даних, що поступили, декілька конвеєрів, називається суперскалярною і застосовується сьогодні у всіх сучасних процесорах

Шина адреси

Шина даних є набором провідників, по яких передається адреса елементу пам'яті, в яку або з якої пересилаються дані. По кожному провідникові передається один біт адреси, відповідний одній цифрі в адресі. Збільшення кількості провідників (розрядів шини) використовуваних для формування адреси, дозволяє збільшити кількість вічок, що адресуються. Розрядність шини адреси визначає максимальний об'єм пам'яті, що адресується процесором. У комп'ютерах застосовується, як Ви знаєте, двійкова системи числення. Якщо, наприклад, розрядність шини адреси склала б всього один біт (один дріт для передачі даних), то по цьому дроту можна було б передати всього два значення (логічний нуль - немає напруги, логічна одиниця - є напруга) і таким чином можна було б адресуватися до двох елементів пам'яті. Такий би процесор підтримував обмін лише з двома байтами оперативної пам'яті! Використання два біт для завдання адреси дозволило б адресуватися вже до 4-м байтам пам'яті (00, 01, 10, 11 на шині - на чотири різні адреси можна вказати). Взагалі, кількість різних значень, що приймається n-разрядным двійковим числом рівне 2 в мірі n. Відповідно, при ширині шини адреси n біт, кількість різних елементів пам'яті, до яких можна адресуватися складає 2 в мірі n, тому говорять, що процесор підтримує 2 в мірі n байт оперативної пам'яті, або говорять, що адресний простір процесора дорівнює 2 в мірі n байт. Наприклад: процесор 8086 мав адресну шину 20 біт. Тоді він міг адресувати {2 в мірі 20=1048576} байт оперативної пам'яті, тобто 1 Мбайт. Таким чином, максимальний об'єм оперативної пам'яті, підтримуваної процесором 8086 складає 1 Мбайт. 286-ой процесор мав адресну шину рівну 24 бітам, адресуючи таким чином вже 16 Мбайт (звернете увагу: кожен новий біт в шині адреси, збільшує об'єм пам'яті, що адресується, удвічі, це природно, якщо пригадати формулу Об'єм пам'яті = 2 в мірі розрядність шини). Сучасні процесори мають адресну шину рівною 36 біт, що відповідає підтримуваній оперативній пам'яті об'ємом 64 Гбайт!

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

Конвеєрне виконання

Сучасні процесори обробляють дані конвеєрним способом, тобто одночасно в процесорі на різних стадіях відбувається виконання декількох команд - одна команда практично близька до виконання, інша - в середині процесу виконання, третя лише входить на конвеєр і так далі Таким чином удається значно підвищити продуктивність, оскільки всі частини процесора одночасно задіються, і кожна частина процесора виконує свій маленьких об'єм роботи. При цьому вводять поняття "Кількість стадій конвеєра" - число елементарних завдань на яких розбивається виконання команди. При цьому якщо стадій мало, то недостатньо повно використовуються всі частини процесора одночасно (страждає продуктивність), а якщо стадій багато, то збільшуються затримки в процесі виконання (теж страждає продуктивність). Таким чином існує деяка оптимальна кількість стадій конвеєра, при якому процесор показує найвищу продуктивність. При цьому виникає проблема, пов'язана з виконання команд галуження (умовних переходів): якщо в процесор поступила команда галуження, то відповідь на питання про те, які наступні команди мають бути виконані буде відомий ЛИШЕ після того, як виконатися команда галуження, але доки вона не виконана, на конвеєр могли б поступити інші команди, які б поступово виконувалися! Виходить, що доки не буде виконана команда галуження, конвеєр повинен простоювати! Відповіддю на це стало динамічного виконання команд.

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

Передбачення розгалужень (branch prediction)

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

Аналіз потоку команд (out-of-order execution)

Цей засіб аналізує і планує виконання команд в оптимальній послідовності, незалежно від їх первинного порядку в програмі. Властивий RISC-архитектуре, даний метод тепер реалізується і для процесорів х86. При цьому змінюється порядок внутрішніх маніпуляцій даними, а зовнішні (шинні) операції введення-виводу і запису в пам'ять виконуються, звичайно ж, в порядку, наказаному програмним кодом. Проте ця здатність процесора найбільшою мірою може блокуватися недосконалістю програмної коди (особливо 16-бітових застосувань), якщо він генерується без врахування можливості зміни порядку виконання інструкцій. Процесор розглядає команди, з яких складається виконувана програма, і визначає, чи доступні вони для обробки або ж залежать від інших команд, які слід виконати заздалегідь. Потім процесор визначає оптимальну послідовність обробки і виконує команди найбільш ефективним способом.

Попереджуюче виконання (data forwarding)

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

Кількість стадій в конвеєрах сучасних процесорів 10-20, динамічного виконання підтримується обов'язково!

Співпроцесор

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

В той же час Intel для все своїх процесорів розробляє так званий співпроцесор - кристал, який теж уміє виконувати команди, але не х86, а інші, і підтримуваний співпроцесором набір команд (званий х87) орієнтований на роботу з числами з плаваючою комою, таким чином, він (співпроцесор) перераховані вище завдання якраз і покликаний вирішувати. На зорі розвитку РС вважалося, що співпроцесор потрібний невеликій кількості користувачів (дійсно, навіщо користувачеві текстового редактора математичні обчислення) і встановлювався в систему додатково; за бажання користувач міг окремо придбати співпроцесор і встановити його в спеціальне гніздо на материнській платі. Сьогодні ситуація повністю змінилася. Сьогодні співпроцесор потрібний абсолютно всім користувачам: "у наше століття мультимедіа" коли комп'ютер все більше і більше здатний обробляти реалістичну 3-х мірну графіку, математичні розрахунки стають невід'ємним атрибутом будь-яке мультимедіа додатка (наприклад, сучасної гри). Тому досить давно співпроцесор стали встановлювати разом з процесором на один кристал. Дійсно, раз співпроцесор все одно потрібний всім користувачам, то його розумно вбудувати в процесор, а не виготовляти окремо: зрозуміло, це буде дешевше.

На зорі розвитку РС вважалося, що співпроцесор потрібний невеликій кількості користувачів (дійсно, навіщо користувачеві текстового редактора математичні обчислення) і встановлювався в систему додатково; за бажання користувач міг окремо придбати співпроцесор і встановити його в спеціальне гніздо на материнській платі. Сьогодні ситуація повністю змінилася. Сьогодні співпроцесор потрібний абсолютно всім користувачам: "у наше століття мультимедіа" коли комп'ютер все більше і більше здатний обробляти реалістичну 3-х мірну графіку, математичні розрахунки стають невід'ємним атрибутом будь-яке мультимедіа додатка (наприклад, сучасної гри). Тому досить давно співпроцесор стали встановлювати разом з процесором на один кристал. Дійсно, раз співпроцесор все одно потрібний всім користувачам, то його розумно вбудувати в процесор, а не виготовляти окремо: зрозуміло, це буде дешевше.

Таким чином, сучасний процесор підтримує два основні набори команд: х86 і х87. Чи можуть виробники процесорів відмовитися від цих наборів команд? Немає! Тоді система, що вийшла, вже не буде програмно сумісна з РС, оскільки програмне забезпечення, написане для РС на такому процесорі, вже не працюватиме! Підтримка цих два наборів команд - застава програмної сумісності. А чи можуть виробники процесорів створювати і додавати в процесор нові набори команд? Звичайно. Але що потрібне для того, щоб програми стали працювати ефективніше на процесорі з новим набором команд? Чи буде в старого застосування, яке проектували ще до розробки нового набору команд якісь переваги від виконання на процесорі з новим набором команд? Немає! Адже програма - це не що інше, як послідовність команд процесору. Якщо в програмі немає жодної нової команди (а звідки їй там взятися, якщо у момент написання програми нових команд ще не придумали), то природно жодної користі з того, що процесор може виконувати нові команди, старе застосування не витягуватиме. Тому, коли в процесор додають новий набір команд, потрібно розуміти, що доки розробники програмного забезпечення не почнуть писати програми з врахуванням нового набору команд ЖОДНОЇ користі від нього не буде. А старим програмам від нового набору команд вже ніколи не буде користі (хіба що автори перепишуть стару програму з врахуванням нового набору команд).

Кеш - пам'ять

До найважливіших параметрів процесора відноситься так звана кеш-пам'ять. Уявимо собі, як відбувається обмін інформацією між процесором і пам'яттю. В більшості випадків оперативна пам'ять не задовольняє потребам сучасних процесорів в плані пропускної спроможності за даними, т.к працює на значно нижчих частотах. Сучасний процесор працює на частотах до 3 ГГц. Природно, що при обміні з пам'яттю процесор досить довгий час чекатиме приходу нових порцій даних і таким чином простоювати. Для того, щоб цього уникнути, між пам'яттю і процесором встановлюють додатково невеликий об'єм дуже швидкої пам'яті, що працює без затримок на частоті процесора. Така пам'ять і називається кеш - пам'ять. У сучасному процесорі вбудована деяка кількість такої пам'яті (32 - 512 Кб) і ця пам'ять забезпечує зниження простоїв процесора при операціях з оперативною пам'яттю. Та кеш - пам'ять, яка встановлена безпосередньо в кристалі процесора, називається кеш - пам'яттю першого рівня (або L1, Level1).

У перекладі слово кеш (cache) означає «таємний склад», «тайник» («заначка»). Таємниця цього складу полягає в його «прозорості» - для програми він не є додатковою областю пам'яті, що адресується. Кеш є додатковим швидкодіючим сховищем копій блоків інформації з основної пам'яті, вірогідність звернення до яких найближчим часом велика. Кеш не може зберігати копію всієї основної пам'яті, оскільки його об'єм у багато разів менше основної пам'яті. Він зберігає лише обмежену кількість блоків даних і каталог (cache directory) - список їх поточної відповідності областям основної пам'яті. Крім того, кэшироваться може не вся пам'ять, доступна процесору.

При кожному зверненні до пам'яті контроллер кеш-пам'яті по каталогу перевіряє, чи є дійсна копія даних, що зажадалися, в кеші. Якщо вона там є, то це випадок кеш-попадання (cache hit), і дані беруться з кеш-пам'яті. Якщо дійсної копії там немає, це випадок кеш-промаху (cache miss), і дані беруться з основної пам'яті. Відповідно до алгоритму кешування блок даних, лічений з основної пам'яті, за певних умов замістить один з блоків кеша. Від інтелектуальності алгоритму заміщення залежить відсоток попадань і, отже, ефективність кешування. Пошук блоку в списку повинен вироблятися досить швидкий, аби «задумливістю» в ухваленні рішення не звести нанівець виграш від вживання швидкодіючої пам'яті. Звернення до основної пам'яті може починатися одночасно з пошуком в каталозі, а в разі попадання - уриватися (архітектура Look aside). Це економить час, але зайві звернення до основної пам'яті ведуть до збільшення енергоспоживання. Інший варіант: звернення до зовнішньої пам'яті починається лише після фіксації промаху (архітектура Look Through), при цьому втрачається принаймні один такт процесора, зате економиться енергія.

У сучасних комп'ютерах кеш зазвичай будується за дворівневою схемою. Первинний кеш (L1 Cache) вбудований у всі процесори класу 486 і старше; це внутрішній кеш . Об'єм цього кеша невеликий (8-32 Кбайт). Для підвищення продуктивності для даних і команд часто використовується роздільний кеш (так звана Гарвардська архітектура - протилежність Прінстонськой, що використовує загальну пам'ять для команд і даних). Вторинний кеш (L2 Cache) для процесорів 486 і Pentium є зовнішнім (встановлюється на системній платі), а в Р6 розташовується в одній упаковці з ядром і підключається до спеціальної внутрішньої шини процесора. Детальніше про те, що вигідніше - кеш L2 усередині процесора або на материнській платі, і як від кількості кеша залежить продуктивність системи, ми ще неодноразово поговоримо.

Кеш-контроллер повинні забезпечувати когерентність (coherency) - узгодженість даних кеш-пам'яті обох рівнів з даними в основній пам'яті, за тієї умови, що звернення до цих даних може вироблятися не лише процесором, але і іншими активними (busmaster) адаптерами, підключеними до шин (PCI, VLB, ISA і т. д.). Слід також врахувати, що процесорів може бути декілька, і в кожного може бути свій внутрішній кеш. Контроллер кеша оперує рядками (cache line) фіксованої довжини. Рядок може зберігати копію блоку основної пам'яті, розмір якого, природно, збігається з довжиною рядка. З кожним рядком кеша пов'язана інформація про адресу скопійованого в неї блоку основної пам'яті і про її стан. Рядок може бути дійсним (valid) - це означає, що у нинішній момент часу вона достовірно відображає відповідний блок основної пам'яті, або недійсною. Інформація про те який саме блок займає даний рядок (тобто старша частина адреси або номер сторінки), і про її стан називається тегом (tag) і зберігається в пов'язаному з даним рядком елементі спеціальної пам'яті тегов (tag RAM) . У операціях обміну з основною пам'яттю зазвичай рядок бере участь цілком (несекторированный кеш), для процесорів 486 і старше довжина рядка збігається з об'ємом даних, передаваних за один пакетний цикл (для 486 це 4х4=16 байт, для Pentium 4х8=32 байт). Можливий і варіант секторированного (sectored) кеша, при якому один рядок містить декілька суміжних вічок - секторів, розмір яких відповідає мінімальній порції обміну даних кеша з основною пам'яттю. При цьому в записі каталога, відповідному кожному рядку, повинні ранитися біти дійсності для кожного сектора даного рядка. Секторірованіє дозволяє економити пам'ять, необхідну для поранення каталога при збільшенні об'єму кеша, оскільки більша кількість біт каталога відводиться під тег і вигідно використовувати додаткові біти дійсності, чим збільшувати глибину індексу (кількість елементів) каталога.

Рядки кеша під відображення блоку пам'яті виділяються при промахах операцій читання, в Р6 рядки заповнюються і при записі. Запис блоку, що не має копії в кеші, виробляється в основну пам'ять (для підвищення швидкодії запис може вироблятися через буфер відкладеного запису). Поведінка кеш-контроллера при операції запису в пам'ять, коли копія області, що зажадалася, знаходиться в деякому рядку кеша, визначається його алгоритмом, або політикою запису (Write Policy). Існують дві основних політики запису даних з кеша в основну пам'ять: крізний запис WT (Write Through) і зворотний запис WB (Write Back) .

Політика WT передбачає виконання кожної операції запису (навіть однобайтною), що потрапляє в кэшированный блок, одночасно і в рядок кеша, і в основну пам'ять. При цьому процесору при кожній операції запису доведеться виконувати відносно тривалий запис в основну пам'ять. Алгоритм досить простий в реалізації і легко забезпечує цілісність даних за рахунок постійного збігу копій даних в кеші і основній пам'яті. Для нього не потрібно зберігати ознаки присутності і модифицированности - цілком достатньо лише інформації тега (при цьому вважається, що будь-який рядок завжди відображає який-небудь блок, а який саме - вказує тег). Але ця простота обертається низькою ефективністю запису. Існують варіанти цього алгоритму із застосуванням відкладеного буферированной запису, при якому дані в основну пам'ять переписуються через FIFO-буфер під час вільних тактів шини.

Політика WB дозволяє зменшити кількість операцій запису на шині основної пам'яті. Якщо блок пам'яті, в який повинен вироблятися запис, відображує в кеші, то фізичний запис спочатку буде вироблений в цей дійсний рядок кеша, і вона буде відмічена як брудна (dirty), або модифікована, тобто що вимагає вивантаження в основну пам'ять. Лише після цього вивантаження (записи в основну пам'ять) рядок стане чистим (clean), і її можна буде використовувати для кешування інших блоків без втрати цілісності даних. У основну пам'ять дані переписуються лише цілим рядком. Це вивантаження контроллером може відкладатися до настання крайньої необхідності (звернення до кэшированной пам'яті іншим абонентом, заміщення в кеші новими даними) або виконуватися у вільний час після модифікації всього рядка.

Технологія виготовлення

Під технологією виготовлення розуміють розмір елементів в кристалі процесора. Коли про процесор говорять, що він виготовлений за допомогою певного технологічного процесу, наприклад 0,25 мкмПо-перше, чим дрібніше технологія, тим меншу площу займає ядро процесора і тим більше самих кристалів може виготовити виробник з однієї кремнієвої пластини. Тобто, процесор, виготовлений за дрібнішою технологією, має нижчу собівартість, чим процесор, виготовлений із застосуванням крупнішого техпроцесса і, таким чином, його роздрібна ціна для користувача буде нижча. Але цим не обмежуються достоїнства дрібних техпроцессов. Далі, процесор, зроблений за дрібнішою технологією, може працювати на вищих частотах (якщо ви вивчали фізику, то розумієте чому, якщо немає - доведеться вірити на слово :)). Отже, зростання частоти процесора можливе лише в рамках існуючого техпроцесса, потім потрібно переходити на новий, дрібніший. І це ще не все. Чим дрібніше елементи процесора, тим меншої напруги живлення вимагає кристал.

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

Технологія виготовлення сучасних процесорів - 0,13 мкм.

розмір одного окремо взятого транзистора в кристалі процесора рівний 0,25 мкм. У чому перевага використання дрібнішого технологічного процесу? Таких переваг цілий ряд.

  1   2   3   4   5   6   7   8




Схожі:




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