Повышение продуктивності комп'ютерних систем

Тип работы:
Реферат
Предмет:
Информатика, программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

МІНІСТЕРСТВО СПІЛЬНОГО І ПРОФЕСІЙНОГО ОСВІТИ РФ

ОРЕНБУРГСКИЙ ДЕРЖАВНИЙ УНИВЕРСИТЕТ

Кафедра ПОВТАС

Реферат

Проблеми підвищення продуктивності обчислювальних систем та їх преодоления

|Выполнил: |Чукин В.В. | | |група 98повт-3 | |Перевірив: |Воронков А.Є. |

Оренбург 1999

|1. Немного історії. |3 | |2. Повышение продуктивності в комп’ютерних мережах. |6 | |3. Повышение продуктивності процесоров |8 | |4. ММХ-революция в мікропроцесорної еволюції. |9 | |5. Основные проблеми. |12 | |6. Одно з перспективних рішень. |12 | |7. Влияние архітектури мікропроцесорів для підвищення |14 | |продуктивності. | | |8. Список літератури. |26 |

Трохи истории.

Електронний комп’ютер було розроблено на 50-ті роки як пристрій для виробництва швидких обчислень. Тоді хто б замислювався її інформаційними додатками й зусилля розробників були направлені на основному для підвищення швидкодії комп’ютера. У 60-ті роки була спроба використовувати комп’ютер реалізації інформаційних операцій індексування і грунтовного аналізу тексту. З допомогою відповідного програмного забезпечення у пам’ять комп’ютера стали записувати тексти й шукати можливостей оперування із нею. У цей час є безліч фірм, які виробляють комп’ютери. Це, наприклад, Dell, Acer, IBM. З цією, хто професійно з комп’ютером не пов’язаний, розповімо дуже коротко про деякі принципи функціонування комп’ютера. Структурно комп’ютер складається з п’ятьох основних функціональних блоків, об'єднаних загальною завданням швидко виробляти арифметичні і логічні дії над числами. Характер діянь П. Лазаренка та їх послідовність визначаються програмою, що є належним чином організовану сукупність машинних операцій, званих командами. Керує роботою комп’ютера пристрій управління. Воно отримує команди з пам’яті, декодує їх і генерує необхідних їх виконання сигнали. Кожна команда у пам’яті перебувають розслідування щодо певному адресою, який вказується програмним лічильником, які у устрої пам’яті. Для запам’ятовування команд у пристрої управління є спеціальний регістр команд. Пристроїв введення та виведення служать для перетворення інформації із тих мов програмування і тих швидкостей, у яких працює комп’ютер, тих, які сприймає чоловік, або інша система, що з даним комп’ютером. Найважливішим функціональним блоком комп’ютера є процесор. У нашій країні отримали стала вельми поширеною процесори фірм Intel, AMD та інших. Команди від оператора надходять через пристрій входження у регістр інструкцій. За цією інструкціям блок управління виробляє команди для всіх функціональних блоків комп’ютера Система регістрів загального користування служить оперативної пам’яттю для вступників на вхід даних. Арифметичне пристрій виробляє арифметичні і логічні операції над надходять від регістру загального призначення даними. Про те, які саме слід виконувати функції, кажуть команди блоку управління. Адресний регістр забезпечує правильну адресацію даних у системі пам’яті, він також постачає кожну наступну інструкцію вказівками адрес пам’яті, де буде запам’ятовуватися. Однією з ключових функціональних блоків комп’ютера є програмний лічильник, чиє призначення полягає у відновленні кожної інструкцією, і часовому запам’ятовуванні її номери. Якщо записана програма піде на інший інструктивний номер, це й зміна буде зафіксовано програмним лічильником. Інформація звідси зміні надходить й у регістр інструкцій. При кожному такому кроці робочої програми відбувається звернення до програмного лічильника із запитом про виконання відповідної операції. Кожна осередок пам’яті комп’ютера запам’ятовує одне машинне слово. Можливості комп’ютера визначаються числом команд, що можна вводити на оперативну пам’ять. Максимальна ємність оперативної пам’яті в миникомпьютерах вбирається у зазвичай 32M слів, в суперкомп’ютерах ємність оперативної пам’яті сягає 1000M слів (M = 1 048 576). Різке зростання продуктивності миникомпьютеров при порівняно невеличкому подорожчання створило мегамини- чи супермини- комп’ютерів. Поява комп’ютерів нового класу пов’язані з успіхами в технології їх виготовлення, з розширенням їх функціональних можливостей. Так, збільшилася швидкість, і розширився набір команд центрального процесора, зросла пропускну здатність пристроїв вводу-виводу, розширено діапазон адрес, збільшився асортимент зовнішніх пристроїв. Водночас з’явилася створити для супермини- комп’ютерів багате програмне забезпечення, яке істотно відрізняється від математичного забезпечення типових миникомпьютеров. У той самий що час цей математичне забезпечення орієнтоване на інтерактивний режим роботи користувача з машиною, т. е. на безпосереднє спілкування. Значними виробниками програмного забезпечення можна считеть: Microsoft, Symantec, Borland, Microprose та інших. На початку 1970-х років американська фірма Intel запропонувала замість інтегрального модуля з жорсткою логікою розробити стандартний логічний блок, конкретне чиє призначення можна визначити саме його виготовлення, т. е. створити программируемую інтегральну схему. Так з’явився мікропроцесор — багатофункціональний цифровий микроэлектронный модуль з запрограмованої логікою, який зробив революцію у електроніці і техніці обробки інформації. Основою мікропроцесора є велика інтегральна схема, у якій відбуваються дедалі функціональні і обчислювальні операції. Мікропроцесор лежить в основі мікрокомп'ютера. У 1980-х р. основу майже всіх мікрокомп'ютерів становили однокристальные мікропроцесори, в яких одному кристалі виконані центральний процесор, пристрій пам’яті, пристрій вводу-виводу та інші логічні схеми. Кількість транзисторів однією кристалі досягало приблизно 70 тис. штук. Нині вже є монокристаллические мікросхеми із кількістю елементарних вентилів до 5 млн. штук, що основу до переходу до микрокомпьютерам наступного нової генерації. Виробництво мікрокомп'ютерів відбувається у наростаючому темпі. До першого поколінню персональних комп’ютерів американського виробництва ставляться комп’ютер TRS-80 з урахуванням мікропроцесора Z80 фірми Zilog, комп’ютер Apple — II фірми Apple Computer, комп’ютер PET фірми Commondore Int. з урахуванням мікропроцесора 6502 фірми MOS Technology. До другої поколінню належать комп’ютери IBM Personal Computer фірми IBM з мікропроцесором i8088, Rainbow-100 фірми DEC з урахуванням мікропроцесора Z80A/i8088. Мікрокомп'ютери другого покоління з 16-разрядным словом від своїх попередників включенням до комплект крім гнучких дисків також малогабаритних жорстких дисків великий ємності, графічних пристроїв, збільшеним обсягом оперативної пам’яті до 256 КБайт — 2 Мбайт. Інші покоління похідні від результатів цих. Характеристики персональних комп’ютерів постійно поліпшуються, й у час технічні характеристики й області застосування міні- і мікрокомп'ютерів перекриваються. Наприкінці 80-х років років існувала проблема відставання математичного озброєння комп’ютера з його фізичних можливостей. Натомість у справжнє час то цієї проблеми зазнала змін з точністю до навпаки. Тобто. сучасне програмне забезпечення здатне використовувати усі системні ресурси комп’ютера та у своїй вимагати ще більшого збільшення даних ресурсів. Нехай, наприклад, необхідно провести дані в комп’ютер. Цей процес відбувається слід з тестових перевірок, щоб у фізичної можливість здійснення цієї процедури. Тому робота починається сіло, що пристрій введення надсилає у комп’ютер сигнал, який би на готовність введення порції інформації. Натомість, комп’ютер повинен сповістити пристрій введення, т. е. оператора, у тому, що він закінчив обробку попередньої порції даних, і готовий до прийому наступній. Через війну того що відбувається обміну сигналами встановлюється режим, дозволяє вводити нову порцію даних. При виведення інформації з комп’ютера пристрій виведення має сповістити комп’ютер у тому, що його готове сприймати дані, т. е. надіслати комп’ютер так званий «сигнал зайнятості «. Комп’ютер почне видавати дані тільки після перевірки наявності такого сигналу. Натомість, комп’ютер повинен надіслати пристрій виведення сигнал готовності передавати дані і пристрій виведення має переконатися у наявності такого сигналу. Цей очевидний режим обміну інформацією між комп’ютером і периферійними пристроями має недолік — нераціональне використання часу, так як комп’ютер значну частину часу перебуває у режимі чекання. Тому розроблений економічніший режим обміну даними — введення та виведення по переривання. У цьому вся режимі виконання програми комп’ютером чергується з виконанням підпрограм введення і вывода.

Підвищення продуктивності в комп’ютерних сетях.

Бистре проникнення інформаційних технологій у комерцію, банківське справа, освіту й сферу розваг разом із неухильно дедалі більшого потужністю комп’ютерів, і ємністю пристроїв зберігання даних пред’являє дедалі більші вимоги до мереж зв’язку. На порядок денний виходять широкосмугові канали зв’язку. За прогнозами, потужність персональних комп’ютерів, і high-end- обчислювальних машин найближчі 15 років збільшиться більш ніж тисячу разів, й потреби у обсязі трафіку по опорним мереж зв’язку зростуть у десятки і в сотні разів. Ці тенденції стимулюють дослідження, у області високопродуктивних мережевих рішень. Найбільш швидкі лінії передачі - оптоволоконні - вимагають відповідні технології побудови швидких і гнучких мереж. Однією з цих технологій є тимчасове ущільнення каналів. Сучасні технології ATM і SDH вирішують завдання підвищення продуктивності мереж лише короткостроковій перспективі. Їх подальше розвиток супроводжується збільшенням труднощі й ціни електронного устаткування, примушуючи розробників звернути погляд убік оптичних технологій зв’язку. Зв’язок по оптоволокну — поки що єдиний спосіб задовольнити величезні потреби у швидкісної передачі даних. Головними технологіями, що дозволяє найповніше нині використовувати воістину величезні можливості волокна, є ущільнення каналів з поділом по спектру (WDM, чи спектральне ущільнення) і з тимчасовим поділом (OTDM, чи тимчасовий ущільнення). І те й інша технології важливі як підвищення швидкості передачі даних, але й прискорення комутації і маршрутизації. Вже розроблено потрібні кошти до вирішення цих завдань без використання електронних пристроїв. Отже, знімаються обмеження, накладываемые електронікою. Тимчасовий і спектральне ущільнення є взаємовиключними, хоча використання першого з декотрими видами волокон утруднено. Понад те, ці підходи може бути скомбіновані. Невеликий число OTDM-каналов то, можливо поєднано з допомогою WDM, збільшуючи ємність лінії. Уявімо, що ми мусимо встановити локальну мережу з великою пропускної здатністю, як кажуть, з заділом у майбутнє. Чим з'єднати між собою комп’ютери? Ще донедавна відповідь була очевидною — коаксиал чи вита пара (UTP) з третього по п’яту категорії. Якщо раніше йшлося про магістральних комунікаціях, прокладывалось оптичне скловолокно. З розвитком технології вибір розширився. З’явилася розширена 5-та категорія UTP, экранированная вита пара (так звана 6-та європейська категорія UTP). Знизилася вартість оптоволокна. Крім цього, над ринком кабельних сполук для локальних мереж виникла нова явище: пластикове, чи полімерне, оптичні волокна. По- английски воно називається Plastic Optical Fiber чи скорочено POF. Аналітики вважають, що POF має заповнити існуючу нішу між мідними проводами і стекловолокном за співвідношенням цена-производительность. Пластикове оптоволокно вже протягом кілька років виробляється у Японії та. Воно вживається висвітленню (як световодов), соціальній та робототехніці, в промисловості й автомобілях. Кількість мережевих застосувань POF, втім, поки що дуже невелика. Кілька американських компаній використовують POF як коротких (до 100 м) магістралей передачі. Нова розробка — POF з змінюваним в поперечному сечении показником заломлення (graded-index POF) — обіцяє збільшити пропускну спроможність пластичного волокна до 2 гигабит в секунду на дистанціях до 100 метрів. У яких відносинах перебуває POF зі склом і міддю з погляду технічних характеристик та його економічної вигоди? Пластикові световоды здатні працювати у найсуворіших температурних режимах, мислимих для сучасних мереж, — від -40њ до 85њC. Без шкоди оптичних характеристик можуть витримувати радіус вигину до 20 мм не ламаються навіть за радіусі вигину один мм. Така гнучкість дозволяє собі з легкістю прокладати POF там-таки, що й мідні дроти, пропускаючи световод через стіни і вентиляційні короби. Область застосування для POF видається дуже широкої. Крім локальних мереж у тому звичному розумінні, пластикові световоды можна використовувати як мережевий підстави літаків, комп’ютеризованих автомобілів, військового спорядження і обмундирування, і навіть скрізь, де неприпустимо виникнення електричних наведень і полей.

Підвищення продуктивності процессоров.

Говорити про перспективи розвитку обчислювальної техніки дуже складно. З одного боку, ми до божевільним, які мають аналогів історія людства темпів зростання її потужностей та проникненню в різноманітні царини життя людського суспільства З іншого боку, справді, навіть не хочеться вірити, що такі темпи зможуть зберегти так само високими. До двухтысячному року мікропроцесори досягнуть тактовою частоти 900 мегагерц, які продуктивність по iSPEC95 дорівнюватиме приблизно 60. До 2006 року частота підскочить до запланованих 4 ГГц, а продуктивність — до 500 (для порівняння: продуктивність сьогоднішнього Pentium Pro, працюючого на частоті 200 МГц, становить 5,1). Зростання продуктивності дійдуть двома шляхами: підвищенням частоти і рівня паралелізму в архітектурі процесора. Інтерес до швидкість і потужність зростатиме тоді, як і сьогоднішні докладання почнуть вводити відео, звук, анімацію, колір, тривимірні зображення тощо кошти, котрі мають зробити PC і програми простіше для использования.

ММХ-революция в мікропроцесорної эволюции.

8 січня 1997 року корпорація Intel анонсувала довгоочікуваний процесор Pentium., виконаний з допомогою технології MMX. Його офіційне уявлення біля СНД і більш Балтії минуло 22 січня о Москві, в кіноцентрі «Кодак Кіносвіт «. У цьому вся матеріалі представлені основні факти, супутні появі нову технологію від Intel. Новий процесор, що його випускає чотири модифікаціях, є найбільш продуктивний із усіх наявних сьогодні процесорів Pentium. Для настільних ПК, орієнтованих сегмент ринку споживчих товарів, процесори випускаються з робітниками частотами 166 і 200 МГц, а hi-end ноутбуків розроблено процесори з тактовими частотами 150 і 166 МГц. А ще обставина спостерігачі звертають найпильнішу увагу — за історичні підвалини корпорація представляє «ноутбучные «процесори разом з рішеннями для настільних систем.

Технология.

На думку корпорації анонсована у березні минулого року її технологія MMX є найбільш суттєве поліпшення архітектури процесорів Intel протягом останніх 10 років, від моменту появи 32-х разрядного Intel386. Розробка цій технології почалася близько тому у відповідь швидке розвиток обчислювальних систем, що з обробкою різних видів інформації. Провели дослідження кола програм для обробки зображень, MPEG відео, синтезу музики, стискування мови і її розпізнавання, ігрових, орієнтованих відеоконференції і багатьох інших. Вони виділялися підпрограми, найактивніше експлуатуючі обчислювальні потужності. Потім, вони були ретельно проаналізовані. У результаті такої аналізу виявили те спільне, що необхідне ефективного виконання різних категорій програм. Основою MMX є архітектура SIMD (Single Instraction Multiply Data — «одна інструкція над багатьма даними »). Суть її у тому, що ці вступають у процесор як 64-битных пакетів, які обробляються однієї командою. З іншого боку логіка процесора поповнилася 57 новими інструкціями, що підвищують продуктивність і під час найбільш типових циклів, притаманних додатків, використовують велике кількість аудіовізуальної інформації. Вісім 64-разрядных регістрів MMX фізично використовують самі регістри, що та операції з плаваючою точкою. З одного боку такий крок забезпечує повну сумісність з попередньої архітектурою Intel як наслідок, повну сумісність з широко використовуваними операційними системами і прикладних програмних забезпеченням. З іншого боку на переключення з виконання ММХ-инструкций, до дій з плаваючою коми процесору потрібно 50 тактів, що розглядається критиками як суттєвий мінус архітектури. Проте Intel з цим категорично не погоджується, стверджуючи, що це рішення оптимально і задовольняє виробників як програмного, і апаратного забезпечення. Нові процесори розроблено з урахуванням створеної Intel поліпшеною 0,35- микронной технології, що дозволяє отримати високу продуктивність при меншого споживання потужності. Процесорам містять по 4,5 млн. транзисторів й використовують два рівня напруги харчування. Для сумісності з компонентами процесор працюють при напрузі 3,3 У, але ядро процесора в версії для настільних ПК працює при напрузі 2,8 У, а версії для портативних ПК — при напрузі 2,45 В. Робота ядра при зниженому напрузі дозволяє знизити потужність розсіювання у нових процесорів рівня їх попередників без технології ММХ. При цьому максимальне розсіювання потужності випадку з процесором, які у настільних ПК, становить 15,7 Вт., а процесора, що у портативних ПК — 7,8 Вт. Отож категорично годі було встановлювати ММХ- процесори в старі, непридатні їм материнські плати! Експерти вважають, що розплата настане не відразу, але стійко процесори працювати ні, у своїй нагрівання вимірюватиметься просто неприпустимими величинами, що наприкінці кінців призведе до неминучої аварії. Тому залишається чекати процесорів Pentium Overdrive, виконаних знову технологій і наділених перетворювачами напруги, випуск яких розпочнеться вже у першій половині цього року. Відповідно до прогнозами фахівців Intel очікується подальшого зростання показників мікропроцесорів і з щільності інтеграції, і з швидкодії. Але цілком імовірно, що загальні підвищення продуктивності комп’ютерів кілька знизяться. Тут хотілося б вирізнити, що порівняння Pentium і Pentium Pro навіть сьогодні є трішки передчасно. За суттю, Pentium Pro був експериментальної не дуже вдалою моделлю (наприклад, ідея інтеграції на одному кристалі самого процесора кеш-пам'яті та його роботи з однієї тактовою частоті року виправдалася). Насправді, фактично робоча історія сімейства P6 починається лише тепер, після виходу Pentium II: він має відмінний потенціал зниження собівартості і водночас — підвищення частоти. Можливе повільність зростання продуктивності мікропроцесорів — явище досить зрозуміле. Річ у тім, що з погляду більшості обчислювальних завдань розмірність даних в 32 біта оптимальна. 16- розрядний процесор працював істотно швидше 8-разрядного, а 32- розрядний — і ще швидше. І ось перехід до 64-разрядной схемою вже навряд чи завдасть такої вже ж вагомий результат. Цілком можливо, що наступний Merced справді дуже випереджати Pentium II, але на 64- розрядних тестах.

Основні проблемы

Одну з фундаментальних проблем, яку треба розв’язувати: як справлятися зі зростаючою складністю вироби і чисельністю команди розробників? Щоб створити нове покоління продуктів, сьогодні й у майбутньому сотні осіб повинні сидіти працюватиме, як одна команда. Наступне перешкода: як гарантувати працездатність і сумісність? Якщо перевіряти все обчислювальні ситуації та всіх аспектів сумісності, кількість комбінацій наближатиметься до нескінченності. Зрозуміло, що мені знадобляться якісно інші способи, щоб справлятися з мікросхемами, що містять 350 мільйонів транзисторів. Третю групу проблем пов’язані з споживаної потужністю. Напруга харчування доведеться понизити до одного вольта, навіщо знадобиться внести багато нового континенту в микроархитектуру, соціальній та процес і забезпечення розробки. Нарешті, головним гальмом зростання продуктивності будуть внутрисхемные сполуки — до того часу доки вдасться відкрити матеріали з меншими опором і ємністю. У сучасному мікросхемі Pentium Pro міститься п’ять металізованих верств, завдяки чому скорочується відстань між компонентами і сигнали передаються швидше. У кодексі поколінні процесорів цих верств знадобиться вулицю значно більше. Історія свідчить, що технологія металізації розвивається повільно. Аби зробити процесор 2006 року, треба терміново розгортати нові исследования.

Один із перспективних решений.

Однією з шляхів підвищення продуктивності процесорів є новітня технологія виробництва мікросхем з урахуванням мідних провідників. Власне, про прорив у Cu-технологии виготовлення мікрочіпів компанія IBM заявила ще у вересні 1997 року. Але у попередні доти п’ять років напружених лабораторних досліджень, і випробувань браку подібних постійно повторюваних заявах вже не відчував. І ось наступні для цього жовтневі і листопадові події у світі великий напівпровідникової промисловості дала зрозуміти, що Велика мідна революція, схоже, відбулася, оскільки вийшов із лабораторій і тепер широко впроваджується у серійному устаткуванні напівпровідникової промисловості. Про переваги подвійний дамаської мідної технологии: Damascus Complete Copper, назва технологічної лінійки устаткування альянсу Lam і Novellus (і примкнувшей до них IPEC), — перед традиційної алюмінієвої. Попутно слід зазначити, що під назвою дамаським процес має досить слабке стосунок до металургії булатной стали. Схожого з-поміж них замало, крім, можливо, вдало знайденого гетерогенного поєднання різних мідних структур. Гомогенні плівки міді просто неможливо вписувалися у існуючі технологічні прийоми. І, природно, дуже схожа таємність, якої оточені технологічні режими і параметри отримання тієї слабкої й інший «дамаської «структури. Краща (ніж в алюмінію) провідність міді дозволяє виключити до 200 технологічних операцій (етапів) у виготовленні чіпа. Це дуже, якщо згадати, що ще десять тому чіп виготовлявся за 60 операцій, сьогодні виробництво мікропроцесора вимагає 800 і більше етапів. Працюючи в одній тактовою частоті, чіпи з мідними межсоединениями будуть споживати на 30% менше енергії, ніж «класичні «. З огляду на двох- триразове скорочення лінійних розмірів, достигаемое з допомогою міді, така економія виявиться у ще великих значеннях. Тут доречне уявити легкий і негорячий палмтоп (чи хэнд-хелд — як кому подобається) з процесором, рівним за проектною потужністю сьогоднішньому Pentium II, лише на частотах порядку 1 ГГц, з кэшем першого рівня під 1−2 Гбайт, з флеш- пам’яттю під 300−500 Мбайт і/або RAM-диском 1−2 Гбайт. Зазвичай середні видатки етап технологічного процесу у напівпровідникової промисловості мають тенденцію знижуватися на 25−30% кожен рік. Впровадження подвійного дамаського процесу лише на рівні внутрішньої розведення скоротить загальні видатки 30% разом, зберігаючи загальної тенденції скорочуватися, і далі, рік у рік. Для рівня 0,13 мкм і менше затримки в мідних провідниках вдвічі нижча, що вони можуть бути у таких (гіпотетичних, по більшу частину) структурах Al-SiO2. З іншого боку, в алюмінієвих тонких (ширина близько 0,25 мкм) провідниках щільність струму вже є, що відбувається электромиграция алюмінію, яка веде до отказам. Краща опірність цьому ефекту, характерна для міді, дозволяє досить легко подолати межа по ширині провідника. Тепер залишаються обмеження типу надто високій діелектричним проникності у SiO2 (між верствами металу лежить цей матеріал). З подоланням цієї і впровадженням більш досконалої літографії мідь застосовуватиметься до меж 0,13 мкм. Два основних відмінності подвійного дамаського мідного процесу виготовлення межсоединений від традиційної алюмінієвої технології полягають у наступному. По-перше, операцією, визначальною мінімальну ширину і крок розведення в разі Al, є травлення металу, а планаризация (вирівнювання оброблюваної поверхні чіпа за горизонталлю) кожного металевого рівня складає етапах заповнення проміжку і CMP (химико- механічної планаризации) диэлектрика. У процесі ж виготовлення мідної розведення етапом, визначальним мінімальну ширину і крок провідників, не травлення металу, ні тим більше просте травлення диэлектрика. Завдання планаризации виконують на етапах осадження і CMP міді. По-друге, подвійний дамаський процес має ще однією перевагою як перед звичайній дамаської технологією, і субтрактивным процесом, що застосовуються у час виготовлення алюмінієвої розведення, він дозволяє приблизно третину скоротити кількість технологічних этапов.

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

У важкій ситуації виявилися виробники мікропроцесорів наприкінці дев’яностих років. Скільки не збільшували вони продуктивність процесорів, потреб користувачів задовольнити було неможливо. А зупинитися — означало померти: переставши крутити педалі, впасти з велосипеда. Нарощувати тактову частоту день у день ставало дедалі складніше. Тоді розробники пішли іншим шляхом: оптимизировали виконавчі ланцюга, щоб більшість команд виповнювалося лише за такт мікропроцесора, запровадили нових інструкцій і векторні операції (технології MMX і 3Dnow!)… Сьогодні упевнено сказати, що RISC- і CISC-архитектуры вичерпали себе, досягнувши порівняної продуктивності. Але програмісти, як не помітивши цього, й досі продовжують «збільшити «програмне забезпечення: Windows 2000 буде побудовано на об'єктах COM і COM+. З точки зору розробників це добре, бо дозволить писати стійкіший і вільний від власних помилок програмний код, але з погляду мікропроцесора один лише виклик об'єкта COM+ розпадається на тисячі команд і дуже багато тактів. Без подальшого зростання обчислювальних потужностей впровадження цих технологій у повсякденному житті просто немислимо! Тому сьогодні з’являються многопроцессорные системи, зорієнтовані домашні і офісні комп’ютери. Вузьким місцем мікропроцесорів традиційних архітектур стала вибірка і декодування інструкцій. Справді, щодо одного кристалі неважко розмістити кілька незалежних функціональних пристроїв, але одне їх зможе обробляти потік команд. Чому? Дуже пересічно: виконувати таку інструкцію можна, лише цілком упевнившись, що їй не знадобиться результат роботи предыдущей.

СУПЕРСКАЛЯРНАЯ АРХИТЕКТУРА

Отже, що виконувати за такт можна й більше інструкції? Справді, що мені заважає одночасно виконувати щось вроде:

MOV AX, 1234h; Записати в регістр AX число 1234h MOV CX, DX; Записати в регістр CX значення регістру DX

Варто лише, щоб пристрій вибірки інструкцій дозволяло декодировать обидві команди за такт. Для RISC зі своїми фіксованою довжиною команд це взагалі становила жодних проблем (докладніше — у статті «RISC vs. CISC »). Складний набір інструкцій CISC доставив чимало головного болю розробникам, проте, ціною інженерних осявань і складних апаратних рішень, були побудовано мікропроцесори, які встигали декодировать дві і більше поширені інструкції за такт. Одне слово, побудова подібних декодерів був непереборної перепоною. Складність в тому, що зовсім в усіх команди можна виконувати паралельно. Например:

MOV AX, 1234h; Записати в регістр AX число 1234h ADD DX, AX; Скласти вміст регістру DX з регістром AX

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

MOV AX, 1234h ADD DX, 1234h

ми матимемо ідентичний результат, але обидві команди може бути виконані паралельно лише за такт процесора. Можна піти далі і затримати виконання першого інструкції до тих часів, поки значення регістру AX не знадобиться вочевидь. Якщо він і не знадобиться — ми заощадимо цілий такт! Ідеї про як і, на льоту, оптимізації коду породили суперскалярные мікропроцесори, тобто таких, де паралелізм команд року зазначений і відстежується процесором самостійно. Проте Intel знайшла подібні прийоми оптимізації занадто важкими для реалізації і вчинила упор зроблено на зміну порядку виконання команд. Так, последовательность

MOV AX, 1234h; Записати в регістр AX число 1234h ADD DX, AX; Скласти вміст регістру DX з регістром AX MOV CX, 666h; Записати в регістр CX число 666h ADD BX. CX; Скласти вміст регістру BX з регістром CX

Можна виконати й інші порядке:

MOV AX, 1234h; Записати в регістр AX число 1234h MOV CX, 666h; Записати в регістр CX число 666h ADD DX, AX; Скласти вміст регістру DX з регістром AX ADD BX. CX; Скласти вміст регістру BX з регістром CX

Тепер сусідні інструкції незалежні і може бути виконані паралельно. Отже, наведений раніше приклад то, можливо виконаний протягом двох такту замість чотирьох. Дуже непоганий шлях підвищення продуктивності, але, до жалю, очевидно тупиковий: вдосконаливши інтелектуальний «движок », можна знайти метод паралельного виконання чотирьох команд, але сумнівно, щоб існував чарівний спосіб усунення залежності між вісьмома і більш командами. RISC у цій ситуації опинилися у більш виграшному становищі. Обмежений набір регістрів CISC породжував проблеми аналогічно следующей:

MOV AX, 1234h; Записати в регістр AX число 1234h ADD DX, AX; Скласти вміст регістру DX з регістром AX MOV AX, 666h; Записати в регістр CX число 666h ADD BX. AX; Скласти вміст регістру BX з регістром AX

Нині вже неможливо одночасно виконати першу й третю рядки, проте цієї, начебто, здавалося б, нерозв’язною проблемі швидко знайшли гарне рішення. Насправді залежність між двома командами помилкова. Вочевидь (навіть машині), вони повинні використовуватися додаткові регістри. Але чому нас обмежує? Давайте перейменуємо регістри в AX~1 і AX~2 відповідно. Тоді одержимо наступний код:

MOV AX~1,1234h; Записати в регістр AX число 1234h ADD DX, AX~1; Скласти вміст регістру DX з регістром AX MOV AX~2,666h; Записати в регістр CX число 666h ADD BX, AX~2; Скласти вміст регістру BX з регістром AX

Зрозуміло, тепер ніяких проблеми з паралельним виконанням не виникне. Звісно ж, знадобиться більше регістрів! Але регістри дешеві (лише набір тригерів з 4−6 транзисторів), а й за швидкодія споживач гроші охоче заплатить. Проблемою є те, що додавання нових регістрів зажадає перекомпіляції всього наявного програмного забезпечення та адресації. Одним словом, призведе до несумісність із попередніми моделями. Комусь це, може, було критично, але тільки для Intel, якої зворотна сумісність потрібна обов’язково. І Intel знаходить блискуче рішення. Існуючі регістри при декодуванні команди проектуються не набагато більший набір внутрішніх. І щойно можна знайти помилкова залежність, черговий регістр перейменовується. Розрив в продуктивності між CISC і RISC знову утерян.

ПАРАЛЕЛІЗМ У МІКРОПРОЦЕСОРАХ RISC і CISC

Мікропроцесори PowerPC (RISC)

Процесор PowerPC було розроблено на результаті тісного співробітництва провідних виробників індустрії - IBM, Apple і Motorola. Він втілив в собі геній тисяч інженерів, тривалий час була лідером серед колег у відношенні цена/производительность. Суперскалярное RISC-ядро дозволяло за такт виконувати чотирьох команд завдяки чотирьом конвейерам вибірки та шість незалежним функціональним пристроям: трьом целочисленным АЛУ, блоку речовинної арифметики (обробному числа з плаваючою точкою), модулю чтениязаписи результатів і блоку переходів. Для паралельного виконання вибірка інструкцій має відповідати набору наявних пристроїв. Чотири целочисленные операції за такт не виконуватися, тоді як три целочисленные і жодна речовинна можуть. На підвищення продуктивності й підтримки ефективної завантаження функціональних блоків в PowerPC використовується динамічний пророцтво умовних переходів разом із випереджувальним виконанням коду на глибину до чотирьох передбачених переходів. У цьому результати своєї роботи команд записуються у проміжний кэш-буфер, який обнуляется у разі помилкового передбачення. Що таке динамічний пророцтво розгалужень? У мікропроцесорах PowerPC використаний простий та надійний механізм таблиці передісторії переходів (чи, кажучи гарним технічним мовою, BTH — Branch History Table). У кеш цієї таблиці заносяться адреси — й результати розгалуження. Якщо трапляється умовний перехід, що був занесли у таблицю, процесор вважає, що результати розгалуження буде той ж найбільш, й починає випереджаюче виконання відповідної галузі. Цей механізм дозволяє вгадувати напрям переходу у середньому 95 випадках із 100, що значно вище, ніж в CISC-микропроцессоров. Втім, та тіла умовних переходів в RISC «ох значно більше, та й перебувають вони здебільшого у циклах, тоді як і CISC вони иррегулярно розкидані на всьому коду і мають тісний зв’язок між обрабатываемыми зараз даними і напрямом розгалуження. Простіше кажучи, вони менш периодичны і передбачувані. Що внаслідок те, що самих умовних переходів значно менше, успішність чи невдалість пророцтв незначно віддзеркалюється в загальної продуктивності. PowerPC активно використовує технологію переупорядочения послідовності виконання команд. Першої-ліпшої хвилини можуть бути виконані чотири довільні інструкції з шестнадцатиэлементного буфера команд.

Мікропроцесор Pentium Pro

Висока продуктивність досягнуто значною мірою завдяки поліпшенню внутрішнього паралелізму архітектури процесора. Насамперед, це рознесена архітектура і динамічний виконання команд. Останнє становить собою випереджувальний виконання команд, пророцтво переходів і переупорядочение черги виконання інструкцій. З іншого боку, в Pentium широко використовується нехарактерна для RISC технологія перейменування регістрів усунення удаваної залежності (в RISC просто занадто багато регістрів, щоб у цій виникла істотна необхідність чи виявилося замало переупорядочения команд). Конвеєрів у Pentium Pro два. Проте це ще значить, що Pentium здатний виконати дві будь-які інструкції паралельно. З складності команд CISC того факту, кожна інструкція може задіяти довільне (читай: часом дуже великий) число функціональних пристроїв мікропроцесора, їх усіх довелося б дублювати. Через війну далеко ще не всякі інструкції виконуються паралельно. Для боротьби з иррегулярными переходами в Pentium використали значно більше складний проти RISC-системами статично- динамічний аналізатор умови розгалуження разом із детектором вкладених конструкцій (наприклад, вкладених циклів). Але цей механізм перешкодив досягти понад 80 відсотків угадываний. Очевидно, що з RISC-микропроцессоров паралелізм виражений більшою мірою, ніж в CISC. Фіксована (чи близька до неї) довжина інструкцій полегшила розробку многоконвейерных реалізацій. Прості інструкції окремо задіяли лише одне функціональне пристрій. Наприклад, типова CISC- операция:

ADD AX, [SI+BX+66h]

Необхідно розібрати складне полі адресації, аби зрозуміти, що це і є «SI+BX+66h », а чи не щось інше; скласти (тобто обчислити цей результат), потім завантажити вміст необхідної чарунки й, нарешті, знову скласти його з значенням регістру AX. Отже, до виконання інструкції за такт потрібно два арифметичних пристрої і один завантажник. Та й у такому разі всі дії їх необхідно виконувати послідовно. Тобто ОБЧИСЛЕННЯ АДРЕСИ, ЗАВАНТАЖЕННЯ, ОБЧИСЛЕННЯ РЕЗУЛЬТАТУ. І це ніякі дії неможливо знайти спарені. Хоч помри, але знадобиться три такту виконання, чи навіть одна з пристроїв має на подвоєною тактовою частоті. RISC здавалися приємнішим полігоном в просуванні паралельних обчислень в побутові комп’ютери. Річ у тому, що належить паралельним архитектурам, вже не сумнівався: лінійні (послідовні) обчислення наштовхнулися на нездоланні на сьогоднішньому етапі фізичні і технічні обмеження і до середини дев’яностих залишилися самі там, де продуктивність була некритична (скажімо, микрокалькуляторы, наручний годинник, апаратура визначення номери і др.).

ВИБІР ІНШОГО ПУТИ

Виробники CISC-архитектур недовго залишалися у тупику. Вони вирішили посилити паралелізм над виконанні команд, а обробці даних, запровадивши підтримку векторних операцій. Саме у цьому і є широковідома MMX-технология. Проте нова технологія не давала ніякого виграшу на старих додатках — не рятувала навіть перекомпиляция. Істотно спричинити швидкодія міг тільки принципову зміну ідеології програмування: перехід на векторні операції. Безсумнівний плюс — явний паралелізм лише у однієї інструкції там, де перший була потрібна сотня. Використання MMX дає до 60 відсотків приросту продуктивності додатків, маневрують графікою, звуком чи аналогічними обчисленнями і обробкою великих масивів чисел. AMD не відставала від конкурентів і активно просуває ринку свій варіант реалізації MMX — технологію 3DNow!, орієнтовану на обчислення, пов’язані з тривимірної графікою. Проте існували багато обмеження впровадження і розповсюдження цих технологій. Насамперед, векторні обчислення не типові для платформи PC. Вони потребують й не так підтримки з боку компіляторів (компиляторам що — просто новий набір інструкцій), скільки саме використовуваних програмістами алгоритмів і мов. Ні Сі, ні Паскаль, ні ті популярні мови орієнтовані на векторні операції. Понад те, орієнтовані ними і завдання, які вирішуються персональним комп’ютером. Більшість процесор зайнятий не наукомісткими обчисленнями, а «зусиль для господарству «: обмін з периферією, промальовування вікон, нескінченні виклики функцій і передачі численних параметрів з постійним контролем кордонів останніх. В усіх життєвих перелічених вище операціях операндами виступають саме скаляры, неможливо вектори. Звісно, графічні докладання прискорюють роботу, але не того рівня, як спеціалізовані графічні процесори. У цілому нині користь від MMX виявилася настільки сумнівною, що сьогодні лише поодинокі докладання використовують розширений набір команд. Набагато більшого можна було домогтися, примусивши компілятор розташовувати інструкції те щоб максимально збільшити можливість спарювання і розпаралелювання обчислень. Інакше кажучи, допомагати процесору в оптимізації. Насамперед, не використовувати складну адресацію і обмежити себе лише командами, які виконуються за такт, у своїй — не заважаючи виконання інших. Не приходимо ми добровільно до RISC-концепции, знову повертаючись до початку на черговому витку прогресу? До того ж правила оптимізації у сусідніх моделей процесорів (наприклад, Pentium 75, Pentium 100, Pentium 166 MMX, Pentium II) відрізняються дуже. Настільки, що код, оптимізований під один процесор, може виконуватися повільніше неоптимизированного — іншою. Воістину, «мартышкин працю «. Що ж це, у разі нового мікропроцесора перекомпілювати все програмне забезпечення наново? Постачатимете покупцю вихідні тексти з компілятором? Або намагатися на шкоду продуктивності знайти компромісний варіант? Причому будь-яке потрібне рішення було б наругою над самої концепцією суперскалярной архітектури: паралелізм розпізнає сам процесор, і його непотрібен допомоги з боку компілятора. Ось якби був чарівний спосіб не підлаштовуватися під логіку роботи процесора, а явно йому вказати зв’язок між командами… Саме так виникла архітектура VLIW. VLIW (процесори з довгою командним словом) Паралелізм був притаманний ще першим ламповим комп’ютерів. Тоді це будуть був єдиний шлях збільшення продуктивності. Потім, з удосконаленням технологій, про неї то забували, те, коли вставали технічні перешкоди нарощування продуктивності, згадували. Чому? І тому, що паралелізм — це… як це пом’якше висловитися? Ні, непогано, швидше за все — зайве складно і незвично, і пов’язане з труднощами з розробки компіляторів. Проте за межі другого тисячоліття комп’ютерна індустрія завела себе у глухий кут. Вважається, що із поправкою на іонний вітер і довжину хвилі випромінювача, який малює матрицю майбутнього кристала, разом із деякими іншими ефектами, неможливо (читай: технічно невиправдано складно) перейти поріг 0,1 мкм протягом найближчих десяти років, а випущені нині з 0,18-мкм технології мікропроцесори його вже з майже досягли. (Texas Instruments вже розроблено технологічний процес з проектними нормами 0,07 мкм. — Г.Б.) Також неможливо зменшення нескінченно напруги харчування. У будь-якому разі, він повинен перевищувати фоновий «шум », викликаний випадковими перескоками електронів, космічним випромінюванням і електромагнітними наведеннями. Менш проблематичним виглядає збільшення верств металізації. Технічно це неважко, а от економічно — невиправдано. Можливість шлюбу зростає експоненціально. Саме цим (високим відсотком шлюбу) насамперед і пояснюється значна вартість процесора Pentium Pro. То справді був глухий кут. Безвихідь, куди потрапили й CISC, і RISC. Жодна їх не була пристосована для паралельних обчислень, а суперскалярные архітектури не забезпечували належної продуктивності. Архітектура VLIW був відомий й раніше, хоча процесори її основі були мало поширені. Найвідоміші моделі випустили нині не існуючої фірмою Multiflow Computer. [6] У нашій країні за схожою архітектурі побудували суперкомп’ютер «Эльбрус-3 «. З мікропроцесорів, побудованих по VLIW-архитектуре, можна лише сімейство сигнальних чипів TMS320C6x фірми Texas Instruments. Ця архітектура стала б знаменитої, якби саме у неї не звернули увагу компанії HP і Intel розробки мікропроцесора нового покоління Merced. Тому є сенс подивитися на неї докладніше. Основний ідеєю VLIW була явна паралелізм, задаваемый лише на рівні команд. Те є у кожній команді було полі якому вказувалося зв’язок між інструкціями. Зазвичай, три команди об'єднувалися за одну слово, у якому були можливі такі варіанти виконання: — все три команди виконуються паралельно; - спочатку виконуються два команди, потім третя; - виконується одна команда, та був паралельно наступних два. Родзинка у цьому, які самі слова можна було упаковувати по три (або як — це залежало тільки від конкретної реалізації), і те що явно зазначена залежність між командами, можливо необмежено нарощувати число паралельно виконуваних інструкцій. Причому код міг без перекомпіляції ефективно працювати на сумісних процесорах з різними числом виконуючих пристроїв. Хоча звичайно обмежувалися дев’ятьма. Тобто трьох слів по три команди у кожному виконувалися за такт. Непоганий результат, вірно? Особливо якщо і, що RISC могли виконати трохи більше чотирьох команд, а CISC — взагалі двох, тоді як VLIW дев’ять (чи 16 = 4 по 4) інструкцій межа. Понад те: якщо суперскалярные архітектури лише окремі - вдалі - команди виконували паралельно, то VLIW — здебільшого. Тому продуктивність може підвищуватися вдесятеро при незначному апаратній ускладненні конструкції. У чому тоді камінь спотикання? Чому архітектура не вийшов із стін лабораторій і процесорів суперкомп’ютерів, якщо технічно у неї досяжним який ще вчора? Уся складність в компіляторах. Точніше — в распараллеливании інструкцій. Щоб паралельно виконувати дев’ять місяців і більш команд, необхідно розмістити так, щоб уникнути явною залежності. Тепер процесор нічого очікувати нам ні з ніж допомагати. Він лише літера в букву слідувати розпорядженням компілятора. Складність розробки якісних компіляторів значно перевищує складність розробки самих процесорів. З іншого боку, досі немає одного масового мови, орієнтованого на паралельні обчислення. Отже, якщо відкинути думка про вироблення нової мови як нереальну, доведеться йти в крайнього заходу вносити нововведення в існуючі мови. Втім, фірма Texas Instruments є гідний компілятор, який розроблявся дуже тривалий час й у сьогодні близький, а то й до досконалості, то крайнього заходу до товарному стану. Проте хороший результат можна лише за тісної взаємодії компілятора і програміста, інакше продуктивність згенерованого коду буде незначно перевершувати традиційну суперскалярную. Це і камінь спотикання шляху до широкому й швидкого впровадженню VLIW- процесорів. Merced буде виконано по VLIW-архитектуре на кшталт RISC-машин. Однак пригадаємо, що RISC — це ідеалізована архітектура. І тому запозичається не вона сама, а лише деякі з притаманних неї технологій. Це насамперед проста адресація і фіксований розмір операндов. Тільки таким чином можна забезпечити високошвидкісну вибірку інструкцій для паралельного їхнього виконання. А компактність коду сьогодні її вже мало кого хвилює. Адже навіть розмір кешу першого рівня деяких моделях доходить до півтора мегабайт. Це набагато більше, що колись — оперативної пам’яті! Інший властивій RISC рисою буде поділ інструкцій по категоріям: чтения/записи на згадку про і обчислювальних операцій. Це полегшить розпаралелювання обчислень. Зрозуміло, й створили набір регістрів заповідається бути солідним. У тому ж Merced самих лише цілочислових регістрів планується 128! Але, безсумнівно, є й світло типові CISC-черты: передусім, набір команд. Апаратна складність процесора не перепона, тому команд він підтримувати стільки, наскільки у розробників вистачить фантазії. Не обминуть стороною, і векторні операції, та багаті набір спеціалізованих інструкцій на кшталт низки Фур'є та інших. Втім, все-таки нова архітектура більше успадковує від RISC, ніж від CISC. І реалізується з урахуванням сучасних RISC-микропроцессоров. Проте Intel була б собою, якби відмовилася від сумісності з серією процесорів 80×86. Отже, сучасна реалізація VLIW-архитектуры успадковує концепції і RISC, і CISC.

1. internet 2. internet 3. Тижневик «Компютерра» (1998−1999)

ПоказатьСвернуть
Заполнить форму текущей работой