Реферати українською » Информатика, программирование » Характеристики виконання команд


Реферат Характеристики виконання команд

Страница 1 из 2 | Следующая страница

Іркутський державний університет шляхів

Іркутськ 2010

Аналіз процесу виконання програм, написаних мовами високого рівня, створив передумови і розробити нових типів архітектури процесорів —RISC-архитектури. Її особливістю є використання скороченого набору машинних команд. Аналіз засвідчив» що передусім домінуючими у програмі є оператори присвоювання, що СРСР розвалився, основні зусилля вони мають доручити оптимізацію операцій передачі змінних. З іншого боку, програми зустрічається дуже багато умовних висловівXF і операторів циклуLOOP, що потребує розробки ефективного механізму управління,оптимизирующего конвеєрну організацію виконанняма-шинних команд. У той самий час аналіз форм адресації показав, що цілком імовірно домогтися високої продуктивності роботи процесора, розміщуючиоперанди в регістрах.

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

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

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

• Концепція сімейства машин. Ця концепція впровадили вперше фахівцями з IBM під час проектування сімействаS/360 в 1964 року. Їх пішли розробники зDEC зі своїми сімействомPDP-8. Концепція сімейства передбачає певне дистанціювання архітектури комп'ютера з його структурної і схемної реалізації. Споживачеві пропонується функціональний ряд комп'ютерів, різних за продуктивності і вартості, але вже мають однакову архітектуру.

•Микропрограммное управління. Цей принцип запропонований М.Уилксом (>M.V.Wiikes) 1951 року і було реалізовано у сімействі IBMS/360 в 1964 року.Микропрограммирование полегшує розробку й спрощує структуру устрою управління процесора, і навіть добре узгоджується з концепцією сімейства комп'ютерів.

• Застосування кеш-пам'яті. Реально вперше реалізовано моделі IBM 360/85 1968 року. Включення рівня, кеш-пам'яті в ієрархію пам'яті комп'ютера дозволило істотно підвищити його продуктивність.

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

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

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

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

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

• обмежена кількість щодо простих команд у традиційному наборі; .

• перенесення центру зусиль під час проектування на' оптимізацію конвеєра операцій.

У табл. 12.1 порівнюються параметри деяких RISC-систем,CISC-систем1 і систем зсуперскалярной архітектурою.

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

>1АббревиатураCISC означаєcomplexinstructionsetcomputer — комп'ютер з розширеним набором команд. — прим, перев.

Таблиця 12:1. Порівняльні характеристики процесорів зCISC-,RISC- ісуперскалярной архітектурою

>CISC-системи >RISC-системи >Суперскалярние системи
>Параметр IBM 370/168 >VAX 11/780 Intel 80486 >SPAEC

>MIPS

>R4000

Power

PC

>UltraSPARC

>MIPS

>R10000

Рік розробки 1973 1978 1989 1987 1991 1993 1996 1996
Кількість команд у традиційному наборі 208 308 235 69 94 225
Розмір команди (байт) 2-6 2-57 1-11 4 4 4 4 4
Кількість режимів адресації 4 22 11 1 1 2 1 1

Кількість

універсальних регістрів

16 16 8 40-520 82' 32 40-620 32
Розмір керуючої пам'яті (>Кбит) 420 480 246 _ _ _ _ _
Розмір кеш-пам'яті' (Кбайт) 64 64 8 32 128 16-32 32 64

Характеристики виконання команд

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

У у відповідь запити користувачів різних категорій розробляються дедалі нову мову програмування високого рівня (>ЯПВУ), що дозволяють на більш компактній формі представляти алгоритми, беруть він піклування про деталях реалізації обчислень і "часто підтримують природний багатьом завданьобъектно-ориентированний характер обробки інформації.

Та ба, підвищення рівня "інтелектуальності"ЯПВУ породжує проблему, відому зараз під назвою "семантичного розриву" — істотного розриву між операціями, описаними висловлюваннямиЯПВУ, і операціями, які підтримує лише на рівні машинного мови. Цей розрив проявляється у зниженні ефективності процесу виконання програми, зростанні розмірів машинного програмного коду і ускладненніпрограмм-компиляторов. Фахівці, зайняті розробкою архітектури комп'ютерів, поставили за мету усунути розрив. Причинами її виникнення багато хто називає зростання кількості машинних команд у традиційному наборі, велика різноманітність режимів адресації, прагнення апаратно реалізувати деякі операториЯПВУ. Прикладом останньої тенденції є машинна команда CASE в процесоріVAX. Використання розширених наборів команд переслідує такі цілі:

• спрощення компіляторів;

• підвищення ефективності виконання програми, оскільки складні послідовності операцій можна реалізувати лише на рівнімикрокоманд;

• підтримка дедалі об'ємніших і "інтелектуальних"ЯПВУ.

Останніми роками проводилося множин досліджень з виявлення закономірностей, процесу виконання машинного коду, . що формується після компіляції програм, написаних наЯПВУ. Результати цих досліджень послужили декому фахівців основою пошуку нового підходу — домагатися підвищення ефективності підтримкиЯПВУ не. з допомогою ускладнення, а, навпаки, з допомогою спрощення архітектури комп'ютера.

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

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

• Використовуваніоперанди — типиоперандов і частота їх використання їх у командах. Цю інформацію послужить для вибору безлічі режимів адресації.

• Послідовність виконання. Цю інформацію визначає структури управління процесором і конвеєра операції.

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

Операції

Аналізу частоти застосування операторів певних типів програми мовами високого рівня присвячено значна частина досліджень, основні результати яких наведені у табл. 4.9 (див. додаток 4А наприкінці глави 4). Як очевидно з цієї таблиці, дані, отримані для дослідження програм різного призначення, написаних на • поширених мовами, досить добре узгоджуються. Домінуюче становище у 'програмах займають оператори присвоювання, що на важливість простих коштів пересилки даних у традиційному наборі машинних команд. Наступними за частотою появи у програмах є умовні висловлювання на кшталтIF іLOOP. У машинних програмах ці висловлювання реалізуються командами порівняння і умовного переходу. Звідси випливає, що з проектуванні набору команд особливу увагу має приділятися командам управління ходом виконання програми. Результатів аналізу структур програм служать вихідної інформацією розробникові набору машинних команд процесора, вказуючи, які операції зустрічаються і під час програм частіше від інших, отже, оптимальна реалізацію яких команд дає найбільш суттєвий ефект. Слід зазначити, що оцінки, отримані під час аналізу текстів програм, не несуть інформації у тому, скільки часу реально витрачається у виконання програми для операцій тієї чи іншої типу. Щоб самому отримати оцінки динамічних параметрів, потрібно аналізувати процес виконаннястрансированной програми на машинному мовою й з'ясувати, які оператори в вихідному тексті програми призвели до у себе включення до виконувану машинну програму більшу частину команд.

Такий аналіз було виконано так. У дослідженніПаттерсона (>Patterson) [>РАТТ82-а], про яку ми вже згадували у розділі 4, тестові програми мовами З повагою таPascal булискомпилировани в машинні програми комп'ютерівVAX,PDP-11 і Motorola 68000. Потім у процесі виконання програм оцінювалося середня кількість машинних команд і інтерпретацій пам'яті при реалізації операторів - різних типів. Відповідні дані представлені на другий ж третьої колонках табл. 12.2. Вони мусили отримані при реєстрації частоти появи певних груп команд у виконання програми розвитку й, отже, відбивають динаміку виконання програми. Дані от у четвертій і п'ятої колонках табл. 12.2 представляють зважені статистичні оцінки й отримано так: кожне значення з другої і країни третьої колонок примножувалося кількості машинних команд, яке сформував компілятор при трансляції оператора відповідного типу в вихідної програмі. Потім результати були нормалізовані. Отже, кожен елемент от у четвертій і п'ятої колонках є відносну частоту появи, оператора певного типу в типовий програмі, узяту із, пропорційним кількості машинних команд, необхідні його реалізації в виконуваної програмі. У цій тим же принципом сформовані, і дані ушосте і сьомий колонках табл. 12, 2, але як вагових коефіцієнтів взято кількість інтерпретацій пам'яті при реалізації в машинної програмі оператора кожного типу.

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

Наголошую читачів те що, що ці в табл. 12.2 справедливі для наборів команд, типових для комп'ютерів 80-х.. Цілком можливо, що виконаний за тієї ж методиці аналіз для комп'ютерів з іншим набором машинних команд дасть кілька відмінні результати, але, тим щонайменше, ці дані .цілком репрезентативні всім комп'ютерів з розширеним набором команд (комп'ютерів зCISC-архитектурой). Отже» виходячи з них, можна шукати найефективніші шляху підтримки мов високого рівня наборі машинних команд.

Таблиця 12.2.Взвешенная відносна динамічна частота появи у програмах операторів мов вищого рівня

Динамічна частота появи >Взвешенная оцінка кількості машинних команд >Взвешенная оцінка кількості інтерпретацій пам'яті
>Pascal З >Pascal З >Pascal З
>Присваивание 45 38 13 14 15
(>ASSIGN)
Повернення на 5 3 42 32 83 26
початок циклу
(>LOOP)
Виклик 15 12 31 33 44 45
підпрограм
(>CALL)
Умовний 29 43 11 21 7 13
перехід (>IF)
Безумовний
перехід - 3 - - - -
(>GOTO)
Інші 6 1 3 1 2 1

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

У тієї самої роботіПаттерсона [>РАТТ82-а] розглядалася динамічна частота появи у програмах змінних різних класів (табл. 12.3). Статистичні параметри для програм, написаних

Страница 1 из 2 | Следующая страница

Схожі реферати:

Навігація