Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Архітектура комп’ютера з доповненою системою команд




Основною вимогою до КДСК є забезпечення високої продуктивності при реалізації алгоритмів з великим обсягом обчислень в реальному масштабі часу. В КДСК ця вимога задовольняється завдяки використанню таких основних принципів:

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

- широкому використанню конвеєрного принципу обробки даних;

- використанню, крім традиційного АЛП, спеціалізованого операційного пристрою, який структурно орієнтований на виконання найуживаніших операцій

- використанню широкорозрядних блоків оперативної та постійної пам’яті великої ємності з можливістю її секціювання із забезпеченням незалежного доступу до секцій;

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

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

- введенню в систему команд спеціальних команд для виконання найуживаніших алгоритмів;

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

- короткому командному циклу

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

Типова структура комп’ютера з доповненою системою команд наведена на рис. 3.44. Видно, що тут використовується гарвардська архітектура, яка передбачає розподіл пам яті на пам ять даних і пам’ять програм, що дає змогу суміщати в часі вибірку і вико­нання команд. Такий розподіл шин дає змогу створити конвеєр виконання команд і під­вищити продуктивність КДСК. В багатьох комп’ютерах з доповненою системою команд, зокрема сім’ї ТМ5320, використовується модифікована гарвардська архітектура, яка до­пускає обмін інформацією між пам’яттю даних і пам’яттю команд створенням зв’язку між шиною даних і шиною команд (міст зв’язку шин на рис. 3.44).

 

 

Рис. 3.51. Типова структура комп’ютера з доповненою системою команд

 

3.7.5. Комп’ютери зі спеціалізованою системою команд

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

Одним із таких підходів є створення комп’ютерів із спеціалізованою (орієнтованою) системою команд (КОСК, англійський термін - ASISC - application-specific instruction-set computer). КОСК орієнтовані на використання в складних системах, які реалізуються у вигляді НВІС. Використання КОСК як компоненти системи на кристалі забезпечує її програмованість (бажану гнучкість процесу проектування) із збереженням основних переваг спеціалізованих архітектур - можливості підвищення продуктивності та змен­шення споживаної потужності. Таким чином, КОСК поєднують в собі переваги двох різ­них класів архітектур: універсальних та спеціалізованих. КОСК - це комп’ютери, система команд яких орієнтована на конкретне використання, наприклад, коміркові телефони, стиск зображень і т. д. Порівняно з КДСК, КОСК мають вищий рівень спеціалізації.

Зазвичай КОСК мають малий набір команд, який включає:

- набір стандартних арифметичних команд, команди роботи з пам’яттю та команди керування програмним потоком, які необхідні для конкретного використання;

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

Таким чином, критичні за швидкодією команди можуть бути виконані за мінімальну кількість машинних циклів (можливо за 1 простий цикл) без зберігання у пам’яті про­міжних результатів.

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

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

Можливі два варіанти формату команд - ортогональний та кодований. Ортогональ­ний формат складається з фіксованих незалежних керуючих полів. У випадку кодовано­го формату інтерпретація бітів команди як керуючих полів залежить від значення бітів формату. У випадку ортогонального формату команди розряди всередині керуючого поля можуть бути також закодовані для зменшення його розрядності.

Зазвичай КОСК мають 16- або 32-розрядний кодований формат команди. Приклад­на програма розміщується в пам’яті кристала. Формат команди вибирають узгодженим з розміром паралельного порту даних та стандартних блоків пам’яті, які використовують­ся для зберігання прикладної програми.

КОСК мають ефективну структуру основної та регістрової пам’яті, які забезпечу­ють високу швидкість обміну між різними блоками тракту даних і між трактом даних та пам’яттю. Такі комп’ютери мають один або два блоки пам’яті даних. Для збільшення продуктивності роботи таких комп’ютерів при їх побудові використовується гарвард­ська архітектура (розділення пам’яті даних та пам’яті програм).

Більшість КОСК використовують гетерогенну структуру регістрової пам’яті, що дозволяє зменшити кількість розрядів команди, збільшуючи швидкість обміну даними. Це означає, що спеціально організовані регістри та регістрові файли прямо під’єднані до спеціальних портів функціональних блоків. Функціональні блоки можуть вибира­ти операнди або записувати результати тільки в конкретні регістри. Між елементами комп’ютера є тільки ті зв’язки, які є корисними для ефективної реалізації заданого алгоритму.

Архітектура КОСК зазвичай має ряд особливостей, які відділяють її від інших архі­тектур і не були відображені в попередніх розділах. Далі наведено перелік особливостей існуючих КОСК:

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

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

- КОСК обробки мовних, відео- та аудіосигналів часто включають блоки бітових маніпуляцій. Більше того, ці комп’ютери підтримують кілька типів даних з фіксованою комою (наприклад: 2 різних типи 16-розрядних даних двох доповняльних кодів з різною інтерпретацією бінарних значень, 32-розрядний тип двох доповняльних кодів у акуму­ляторі та тип 8-розрядного цілого в процесорах формування адрес). Перетворення ти­пів даних підтримуються апаратурою тракту даних.

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

 

3.8. Короткий зміст розділу

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

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

Є три типи архітектур комп’ютера за типом адресованої пам’яті: стекова, акумуля­торна, та на основі регістрів загального призначення. Кожна має свої переваги і недолі­ки, які потрібно розглядати в контексті застосування запропонованої архітектури

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

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

 

3.9. Література для подальшого читання

Класифікація різних типів пам’яті залежно від способу доступу до даних наведена в [5]. В роботі [6] було запропоновано новий тип пам’яті, яка за способом доступу до даних належить до пам’яті з впорядкованим доступом. Принципи побудови та робо­ти пам’яті з довільним доступом детально розглянуті в літературі [8, 9]. Асоціативна пам’ять описана в [1].

Порядок виконання команд та формат команди описані в роботах [2, 3]. Системи ко­манд, адресація та формати команди розкриті детально в майже кожній книзі, яка стосу­ється архітектури комп’ютерної системи. Книги [21,22] найповніше охоплюють ці питання. Багато книг, як наприклад [10,11,15,18], присвячені архітектурі процесора х86 фірми Intel. Для тих, хто зацікавлений у вивченні серії 68000, пропонується література [20, 31].

Належне обговорення конвеєрної обробки команд надає [24]. В [16] подано цікавий короткий огляд конфліктів у конвеєрі. Історія конвеєрної обробки розкрита в [23]. Щоб одержати знання обмежень і проблем з конвеєрною обробкою, варто прочитати [ЗО].

Подивіться [11] для довершеного і зручного введення в сім’ю процесорів Intel. В [14] зроблено опис безадресної машини фірми Burroughs. [28] дає достатнє уявлення про се­рію IBM 360. В [12] наведено деталі про систему VAX, в якій об’єднана двоадресна архі­тектура з відпрацьованою системою команд. В [25] надано короткий огляд архітектури SPARC. В [19] зроблено цікавий огляд віртуальної машини Java.

Порівняння архітектур комп’ютерів із складною та спрощеною системою команд зробле­но в [21,22]. Тут же запропоновано архітектуру комп’ютера із спрощеною системою команд DLX. Архітектура комп’ютерів з доповненою системою команд розглянута в [4].

 

3.10. Література до розділу З

1. Искусственный интеллект: В 3-х книгах. Кн. 3. Программные и аппаратные средства: Спра­вочник/ Под ред. В. Н. Захарова, В Ф. Хорошевского. - М.: Радио и связь, 1990. - 191 с

2. Каган Б М. Электронные вычислительные машины и системы. - М.: Энергия, 1979. - 528 с

3. Каган Б М., Каневский М М. Цифровые вычислительные машины и системы М.: Энергия, 1974. - 680 с

4. Мельник А О. Програмовані процесори обробки сигналів. - Львів: Вид-тво Національного університету “Львівська політехніка”, 2000. 55 с

5. Угрюмов Е П. Цифровая схемотехника. - СПб.: БХВ - Санкт Петерберг, 2000. - 528 с

6. Мельник А О. Принципи побудови буферної сортувальної пам'яті. Вісник Державного уні­верситету “Львівська політехніка”. - “Комп’ютерна інженерія та інформаційні технології”, № 307, 1996.-С. 65-71.

7. Справочник по цифровой вычислительной технике. Б Н Малиновский и др - К.: Техніка, 1980. - 320 с

8. Шигин А Г., Дерюгин А А. Цифровые вычислительные машины (память ЦВМ). - М.: Энер­гия, 1975. - 536 с

9. Метлицький Б А., Каверзнев В В. Системы параллельной памяти. Теория, проектирование, применение. Под. ред. В И. Тихонова. - Л., 1989.

10. Abel, Peter. IBM PC Assembly Language and Programming, 5th ed„ Upper Saddle River, NJ: Pre­ntice Hall, 2001.

11. Brey, B. Intel Microprocessors 8086/8088, 80186/80188, 80286, 80386, 80486 Pentium, and Pent­ium Pro Processor, Pentium II, Pentium III, and Pentium IV: Architecture, Programming, and Interfacing, 6th ed., Englewood Cliffs, NJ: Prentice Hall, 2003.

12. Brunner, R.A. VAX Architecture Reference Manual, 2nd ed., Herndon, VA: Digital Press, 1991.

13. Burks, Alice, & Burks, Arthur. The First Electronic Computer: The Atanas off Story. Ann Arbor, MI: University of Michigan Press, 1988.

14. Hauck, E. A., & Dent, B. A. “Burroughs B6500/B7500 Stack Mechanism”, Proceedings ofAFIPS SJCC (1968), Vol. 32, pp. 245-251.

15. Jones, William. Assembly Language Progratnmingfor the IBM PC Family, 3rd ed., El Granada, CA: Scott/Jones Publishing, 2001.

Kaeli, D„ 8c Emma, P. “Branch History Table Prediction of Moving Target Branches Due to Subrouti­ne Returns”. Proceedings of the 18th Annual International Symposium on Computer Architecture, May 1991.

16. Lindholm, Tim, & Yellin, Frank. The Java Virtual Machine Specification. Onlineatjava.sun.com./ docs/books/vmspec/html/VMSpecTOC.cod.html.

17. Messmer, H. The Indispensable PC Hardvsare Book. Reading, MA: Addison-Wesley, 1993.

18. Meyer, J„ & Downing, T. Java Virtual Machine. Sebastopol, CA: O’Reilly & Associates, 1991.

19. Miller, M. A. The 6800 Family, Architecture Programming and Applications, 2nd ed., Columbus, OH: Charles E. Merrill, 1992.

20. D. Patterson, J. Hennessy. Computer Architecture. A Quantitative Approach. Morgan Kaufmann Publishers, Inc. 1996.

21. Patterson, D. A., & Hennessy, J. L. Computer Organization and Design, The Hardware/Software Interface, 2nd ed, San Mateo, CA: Morgan Kaufmann, 1997.

22. Rau, B. Ramakrishna, & Fisher, Joseph A. “Instruction-Level Parallel Processing: History, Over­view and Perspective”. Journal of Supercomputing 7 (1), Jan. 1993, pp. 9-50.

23. Sohi, G. “Instruction Issue Logic for High-Performance Interruptible, Multiple Functional Unit, Pipelined Computers”. IEEE Transactions on Computers, March 1990.

24. SPARC International, Inc., The SPARC Architecture Manual: Version 9, Upper Saddle River, NJ: Prentice Hall, 1994.

25. Stallings, W. Computer Organization and Architecture, 5th ed., New York, NY: Macmillan Publi­shing Company, 2000.

26. Stem, Nancy. From ENIAC to UNIVAC: An Appraisal of the Eckert-Mauchly Computers. Herndon, VA: Digital Press, 1981.

27. Struble, G. W. Assembler Language Programming: The IBM System/360 and 370, 2nd ed., Reading, MA: Addison-Wesley, 1975.

28. Tanenbaum, Andrew. Structured Computer Organization, 4th ed., Upper Saddle River, NJ: Pren­tice Hall, 1999.

29. Wall, David W. Limits of Instruction-Level Parallelism. DEC-WRL Research Report 93/6, Nov. 1993.

30. Wray, W. C., & Greenfield, J. D. Using Microprocessors and Microcomputers, the Motorola Family. Englewood Cliffs, NJ: Prentice Hall, 1994.

 




Поделиться с друзьями:


Дата добавления: 2014-11-06; Просмотров: 1901; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.052 сек.