Полтавський Військовий Інститут Зв’язку
Кафедра схемотехніки радіоелектронних систем
ЗАТВЕРДЖУЮ
Начальник кафедри № 3
полковник ____________О.І. Тиртишніков
“___” _______________2006 р.
ЛЕКЦІЯ
з навчальної дисципліни
напрям підготовки 0924 «Телекомунікації»
Розділ № 2.Мікропроцесорні системи.
Змістовий модуль № 7Підвищення продуктивності
мікропроцесорних систем.
Тема № 10.Підвищення продуктивності мікропроцесорних систем.
Заняття: № 1.Багатоядерні МП та багатопроцесорні МПС.
Лекція обговорена і схвалена на засіданні
предметно-методичної комісії
Протокол № ____ від ________
Полтава – 2006
Навчальна література.
1. Мікропроцесорна техніка: Підручник/ Ю.І. Якименко та інш. – К.: ІВЦ Політехніка; Кондор, 2004. с. 235-240.
2. Кравчук С.О., Шохін В.О. Основи комп’ютерної техніки: Компоненти, системи, мережі: Навч. Посіб. – К.: ІВЦ Політехніка; Каравела, 2005. с. 85-86, 287-290.
ВСТУП
Цілком зрозуміло, що постійне розширення та ускладнення кола задач, що вирішуються за допомогою засобів обчислювальної техніки – як універсальних, так і спеціалізованих – потребує постійного підвищення продуктивності (швидкодії) МП і МПС різноманітного призначення. До основних напрямків підвищення продуктивності МП та МПС можна віднести наступне:
1. Вдосконалення існуючих архітектур МП та МПС, сучасної елементної бази обчислювальної техніки.
2. Розробка принципово нових архітектур МП та МПС, що базуються на нетрадиційних методах організації обчислень та використанні нової елементної бази.
В даної лекції розглядаються методи та способи підвищення продуктивності МП та МПС, що можуть бути віднесені до першого напрямку. Загальні відомості про принципово нові архітектури МП та МПС, що базуються на нетрадиційних методах організації обчислень та використанні нової елементної бази, будуть розглянути на наступної лекції.
Вдосконалення сучасної кремній-напівпровідникової елементної бази обчислювальної техніки відбувається, головним чином, у напрямку зменшення розмірів базових транзисторних ключів, що надає можливість підвищення ступеню інтеграції мікросхем та підвищення тактової частоти вузлів МП та МПС.
1. Основні напрями вдосконалення архітектури сучасних
обчислювальних систем
Для виділення напрямків розвитку існуючих архітектур МП та МПС, нагадаємо їх узагальнену класифікацію.
Узагальнена класифікація обчислювальних систем за архітектурними ознаками. базується на поняттях потоку команд – I та потоку даних – D в обчислювальній структурі. При цьому розрізняють: одинарний потік – S; множинний потік - M.
SISD -- одинарний потік команд і одинарний потік даних. Управління здійснює одинарна послідовність команд, кожна з яких забезпечує виконання однієї операції і далі передає управління наступній команді.
MISD -- множинний потік команд і одинарний потік даних. Має також назву конвеєра обробки даних. Вона становить ланцюжок послідовно сполучених процесорів (мікропроцесорів), що управляються паралельним потоком команд. На вхід конвеєра з пам’яті подається одинарний потік даних.
SIMD -- одинарний потік команд і множинний потік даних. Процесор таких машин має матричну структуру, в вузлах якої включена велика кількість порівняно простих швидкодіючих процесорних елементів. Одинарний потік команд виробляє один загальний пристрій управління. При цьому всі процесорні елементи виконують одночасно одну і ту ж команду, але над різними операндами, які доставляються з пам’яті множинним потоком.
МIMD -- множинні потоки команд і даних. До таких структур відносяться багатопроцесорні і багатомашинні обчислювальні системи. Гнучкість MIMD структур дозволяє організувати сумісну роботу ЕОМ або процесорів за розпаралеленою програмою при рішенні одного складного завдання або роздільну роботу всіх ЕОМ при одночасному рішенні безлічі завдань поза незалежним програмам.
Як розглядалося раніше, гарвардська архітектура, порівняно з нейманівською, має більші потенціальні можливості з точки зору підвищення продуктивності, тому і стала базовою для побудови МП і МПС, що працюють у реальному масштабі часу – мікроконтролерів та процесорів цифрових сигналів. Але нейманівська, або класична, архітектура є більш гнучкою, тому універсальні МП та ПЕОМ будуються переважно на її основі.
Очевидно, що з точки зору узагальненої класифікації, і нейманівська, і гарвардська архітектури, що розглядалися у попередніх темах – це різновиди найпростішої SISD- архітектури.
Неважко помітити, що всі інші, більш складні архітектури, так чи інакше, базуються на конвеєризації та розпаралелюванні обчислень – як на рівні МП, та к і на рівні МПС. Це – основні напрями підвищення продуктивності всіх сучасних обчислювальних систем.
Крім конвеєризації та розпаралелювання обчислень, у сучасних МП та МПС застосовується ще велика кількість архітектурних (та технологічних) рішень, що сприяють підвищенню їх швидкодії:
1. Поступовий перехід від паралельних системних та зовнішніх інтерфейсів до послідовних (наприклад, шини PCIExpress та USB у ПК). Як вже розглядалося раніше, це пов’язано с тим, що зі збільшенням тактової частоти порушується синхронізація сигналів, що передаються по окремим лініям паралельної шини.
2. Застосування RISK- ядра у універсальних МП.
Нагадаємо, що CISC- архітектура (повна система команд -- Complicated Instruction Set Computer) більш підходить для побудови універсальних МП, але RISC-архітектура (скорочена система команд -- Reduced Instruction Set Computer) забезпечує, у багатьох випадках, більшу швидкодію МП за рахунок можливості більш глибокої конвеєризації обчислень. Тому сучасні універсальні МП, залишаючись для користувача CISC – процесорами, часто мають RISC –ядро.
3. Інтеграція більшості контролерів периферійних та комунікаційних пристроїв безпосередньо у складі системних плат ПК (аудіо, відео, мережеві контролері, модеми та ін.). Така інтеграція зменшує час проходження сигналів між окремими компонентами обчислювальної системи, що позитивно впливає на загальну швидкодію системи.
4. Збільшення розрядності МП (внутрішньої та зовнішньої шин даних). Зрозуміло, що збільшення розрядності ШД, наприклад, з 32 до 64 розрядів, дозволяє передавати удвічі більший обсяг інформації за той самий інтервал часу.
5. Широке застосування багаторівневої кеш- пам’яті.
Збільшення ємності пам'яті МПС зумовлює зниження швидкодії операцій обміну інформацією між процесором та модулем пам'яті. Навіть за час звернення до пам'яті, що дорівнює 70 нс, неможливо отримати потрібну інформацію за один тактовий цикл шини. Це призводить до потреби виконання тактів очікування у процесі роботи процесора для того, щоб час звернення до пам'яті був узгоджений із часом виконання команди у процесорі. Підвищення швидкодії обміну інформацією можливе через реалізацію додаткової пам'яті порівняно невеликої ємності, звернення до якої відбувається на тактовій частоті процесора. Така пам'ять отримала назву кеш-пам 'яті або буферної пам 'яті. Кеш-пам'ять реалізується на основі ВІС ОЗП статичного типу. Інформаційна ємність та принцип організації кеш-пам'яті є одними з основних чинників, що визначають продуктивність роботи МПС.
Кеш-пам'ять використовують не тільки для обміну даними між МП і ОЗП, але й для обміну між ОЗП і зовнішніми накопичувачами. В основу роботи кеш-пам'яті покладено принципи часової і просторової локальностей програм.
Принцип часової локальності полягає в тому, що під час зчитування будь-яких даних із пам'яті існує висока ймовірність звернення програми протягом деякого невеликого проміжку часу знову до них.
Принцип просторової локальності ґрунтується на високій імовірності того, що програма через деякий невеликий проміжок часу звернеться до комірки пам'яті, наступної за тією, до якої вона зверталася перед цим.
Згідно з принципом часової локальності інформацію у кеш-пам'яті доцільно зберігати протягом деякого часу, а принцип просторової локальності вказує на доцільність розміщення у кеш-пам'яті вмісту декількох сусідніх комірок, тобто певного блоку інформації. Лінійні ділянки програм (без переходів) у більшості випадків не перевищують 3-5 команд, тому недоцільно використовувати блоки інформації, ємність яких перевищує ємність пам'яті, потрібну для зберігання 3-5 команд. Як правило, інформація з основної пам'яті завантажується у кеш-пам'ять блоками по 2-4слова і зберігається там деякий час.
Під час звернення процесора до пам'яті спочатку перевіряють наявність у кеш-пам'яті даних, які запитують, і якщо їх немає, здійснюють завантаження у кеш-пам'ять потрібної інформації. Правильна організація роботи кеш-пам'яті забезпечує підвищення швидкодії системи, оскільки у більшості випадків відбувається звернення процесора до кеш-пам'яті, а не до більш повільної основної оперативної пам'яті.
В сучасних МП кеш-пам'ять команд та даних розділені для попередження конфліктів при одночасної їх вибірки. Крім того, кеш-пам'ять будується за ієрархічним, багаторівневим принципом. Наприклад, МП PentiumIV і Xeon кеш-пам'ять трьох рівнів.
Кеш-пам'ять першого рівня L1 називають також внутрішньою кеш-пам'яттю. Це найбільш швидкодіюча, але й найменша за ємністю кеш-пам'ять. Цю пам'ять розділено на два блоки: кеш-пам'ять даних і кеш-пам'ять команд (по 8... 16 кбайт).
Кеш-пам'ять команд L1, названа в останніх моделях PentiumIVкеш-пам'яттю трасування виконання ETC (ExecutionTraceCache), містить мікрокоманди, декодовані вузлом завантаження-дешифрування в блоці оброблення команд.