Методи та засоби підвищення ефективності процесора комп'ютера з простою системою команд
Аналіз та розробка складу системи команд, методів адресації пам'яті та формату команд процесора комп'ютера з простою системою команд. Необхідність розробки методів зменшення кількості конфліктних ситуацій, що виникають в конвеєрі команд процесора.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | автореферат |
Язык | украинский |
Дата добавления | 26.08.2015 |
Размер файла | 347,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Національний університет “Львівська політехніка”
УДК 004.2
Методи та засоби підвищення ефективності процесора комп'ютера з простою системою команд
05.13.05 - Комп'ютерні системи та компоненти
Автореферат дисертації на здобуття наукового ступеня
кандидата технічних наук
Кицун Геннадій Васильович
Львів 2009
Дисертацією є рукопис
Роботу виконано у Національному університеті “Львівська політехніка” Міністерства освіти і науки України
Науковий керівник - доктор технічних наук, професор Мельник Анатолій Олексійович, завідувач кафедри “Електронні обчислювальні машини” Національного університету “Львівська політехніка”
Офіційні опоненти - доктор технічних наук, професор Саченко Анатолій Олексійович, завідувач кафедри “Інформаційно-обчислювальні системи та управління” Тернопільського національного економічного університету
доктор технічних наук, професор Поморова Оксана Вікторівна, професор кафедри “Системне програмування” факультету комп'ютерних систем та програмування Хмельницького національного університету
Захист відбудеться 3 липня 2009 р. о 1630 годині на засіданні спеціалізованої вченої ради Д 35.052.08 у Національному університеті “Львівська політехніка” (79013, Львів-13, вул. С. Бандери,12, ауд. 226 головного корпусу).
Із дисертацією можна ознайомитися у бібліотеці Національного університету “Львівська політехніка” (79013, Львів, вул. Професорська,1)
Автореферат розіслано 2 червня 2009 р.
Вчений секретар спеціалізованої
вченої ради, д.т.н., проф. Я.Т. Луцик
Загальна характеристика роботи
Актуальність теми. На сьогоднішній день актуальною задачею залишається підвищення продуктивності комп'ютера, яка вирішується як збільшенням тактової частоти роботи процесора комп'ютера, так і шляхом покращення його архітектури. Саме покращення архітектури є основним шляхом підвищення продуктивності комп'ютера.
До 1985 року, коли було створено нову архітектуру комп'ютера з простою системою команд (RISC), використовувались комп'ютери зі складною системою команд (CISC). В архітектурі RISC було використано нові методи підвищення продуктивності комп'ютера: однотипність виконання команд опрацювання даних, реалізація команд опрацювання даних лише у формі “регістр-регістр”, виконання обмінів із пам'яттю даних лише за допомогою команд читання/запису, використання у системі команд відносно небагато операцій та способів адресації, високий рівень конвеєризації виконання команд, велика кількість регістрів, застосування багатьох рівнів ієрархії пам'яті.
Значний внесок у розвиток архітектури комп'ютера зробили закордонні вчені: Г. Амдаль, Д. Атанасов, С. Крей, Д. Нейман, Д. Паттерсон, Р. Томасуло, Д. Хеннессі; вітчизняні вчені: В. Глушков, Ю. Капітонова, А. Летичевський, Г. Луцький, Б. Маліновський, А. Мельник, Г. Пухов, К. Самофалов, а також російські вчені: В. Бурцев, М. Карцев, С. Лєбєдєв.
Базовим елементом комп'ютера є процесор, характеристики якого мають визначальний вплив на характеристики комп'ютера. Розглянувши універсальні комп'ютери фірми Intel, можемо побачити, що з переходом на архітектуру RISC та випуском на ринок процесора Intel Pentium Pro у 1995 році структура процесора майже не зазнавала змін. До сьогоднішнього дня завдяки прогресу інтегрального виробництва зросла ємність кеш-пам'яті, збільшився набір команд, покращилось енергоспоживання, а нарощування тактової частоти процесорів не дає суттєвого приросту їхньої продуктивності. Тому розробники процесорів проводять дослідження і займаються розробкою в галузі багатопроцесорної організації на кристалі, не вдаючись при цьому в деталі структури самого процесора, від якої найбільше залежить його продуктивність.
Основними проблемами, які на сьогодні постали перед розробниками комп'ютерів, є: узгодження роботи повільної основної пам'яті та швидкого процесора; зменшення кількості звернень процесора до основної пам'яті; складність збільшення ємності регістрового файлу процесора для зберігання даних через обмеження в розрядності і специфіці команд; суттєве збільшення розрядності команд для вказання більшої кількості операндів у регістровому файлі; довгі конвеєри команд, що стають вкрай неефективними при виконанні команд умовних та безумовних переходів, що за певних умов призводить до необхідності повного перезавантаження конвеєра, а чим більше ярусів має конвеєр команд, тим більше часу для цього необхідно; конфлікти за даними, які виникають у випадках, коли існують залежності між даними в різних командах, які знаходяться в конвеєрі команд; структурні конфлікти, які виникають внаслідок одночасного запиту на використання одного ресурсу декількома командами. Вирішення вищеназваних проблем, тобто підвищення ефективності процесора комп'ютера з простою системою команд, дозволить суттєво збільшити його продуктивність.
Із вищесказаного випливає актуальна задача з розробки нових і вдосконалення існуючих методів та засобів підвищення ефективності процесора комп'ютера з простою системою команд.
Зв'язок роботи з науковими програмами, планами, темами. Дисертаційна робота виконувалась згідно з планами науково-дослідних робіт кафедри “Електронні обчислювальні машини” Національного університету “Львівська політехніка” протягом 2000 - 2009 років. Дисертаційна робота безпосередньо пов'язана з держбюджетними НДР: ДБ/17.ЕС “Розробка нових принципів побудови вимірювально-обчислювальних мереж з елементами самоорганізації для екологічного моніторингу”, 2000-2001 рр. (номер державної реєстрації 0100U000530), ДБ/17.МЕЛЬ “Інтелектуальні реконфігуровані нарощувані вимірювально-обчислювальні мережі екологічного моніторингу: принципи структурної самоорганізації та функціонування”, 2002 - 2003 рр. (номер державної реєстрації 0102U001163), ДБ/АВАГ “Конфігуровані вимірювально-обчислювальні мережі інтелектуальних автономних агентів для вирішення задач моніторингу навколишнього середовища”, 2004-2006 рр. (номер державної реєстрації 0104U002284).
Мета і задачі дослідження. Метою дисертаційної роботи є розробка методів та засобів підвищення ефективності процесора комп'ютера з простою системою команд шляхом вдосконалення його структури та організації функціонування, формату команд та методів адресації, зменшення кількості конфліктних ситуацій в конвеєрі команд та частоти звернень до основної пам'яті.
Відповідно до поставленої мети в рамках дисертаційної роботи розв'язуються наступні задачі:
1. Аналіз існуючих типів архітектури комп'ютера.
2. Аналіз та розробка складу системи команд, методів адресації пам'яті та формату команд процесора комп'ютера з простою системою команд.
3. Розробка скалярної і конвеєрної моделі процесора та принципів його взаємодії з основною пам'яттю.
4. Спрощення формату команди та процесу її декодування.
5. Зменшення частоти звернень до основної пам'яті.
6. Розробка методів зменшення кількості конфліктних ситуацій, що виникають в конвеєрі команд процесора.
7. Розробка системи тестування для спроектованого процесора.
Об'єкт дослідження - архітектура універсального комп'ютера.
Предмет дослідження - принципи побудови та організації функціонування процесора комп'ютера з простою системою команд.
Методи досліджень. При виконанні поставлених у дисертаційній роботі задач використано підходи та методи формально-логічного аналізу, структурно-функціонального моделювання, обчислювальної математики, теорії проектування комп'ютерних систем, теорії проектування надвеликих інтегральних схем, теорії цифрових автоматів, цифрової схемотехніки, моделювання алгоритмів. процесор адресація комп'ютер пам'ять
Наукова новизна роботи.
1. Вперше використано програмний лічильник для адресації даних у регістровому файлі процесора, що виключило потребу задання адреси операнда в адресній частині команди і тим самим дозволило її скоротити в 3 рази, а також пришвидшити зчитування операндів та зменшити кількість конфліктних ситуацій, що виникають у конвеєрі команд.
2. Вперше введено в ієрархію пам'яті комп'ютера нульовий рівень кеш-пам'яті команд із адресним простором регістрового файлу процесора, що дозволило в поєднанні з розробленими правилами роботи оптимізуючого компілятора та методом взаємодії процесора з основною пам'яттю, який передбачає фіксацію факту завантаження блоку команд у фоновому режимі, спростити та в 2 рази прискорити пошук, а також у понад 3 рази прискорити подання команд на виконання.
3. Вперше введено керування зміною значення програмного лічильника шляхом аналізу станів керуючих сигналів з кеш-пам'яті та внутрішніх станів регістрового файлу процесора, що дозволяє затримувати виконання нових операцій у конвеєрі команд, на відміну від використання порожніх операцій при простоях в існуючих процесорах, і тим самим зменшити завантаженість процесора та вплив конфліктів на його продуктивність, а також знизити споживану ним потужність.
4. Розроблено нові формати команд для 32-розрядного процесора, які, порівняно з форматом команд 32-розрядного типового процесора комп'ютера з простою системою команд, мають коротшу адресну частину триадресної команди типу регістр-регістр, що дозволило за рахунок використання вивільнених полів команди збільшити в 32 рази кількість адресованих регістрів в регістровому файлі процесора та кількість одночасно виконуваних операцій з одної до двох та підвищити його продуктивність не менше ніж в 2 рази.
5. Розроблено новий метод зберігання в регістровому файлі декількох операндів для виконання різнотипних команд за однією адресою, що в поєднанні з вдосконаленням його структури та розробленим новим методом видачі результатів з регістрового файлу, дозволяє спростити декодування команд, збільшити кількість виконуваних процесором операцій та паралельно виконуваних команд, збільшити потенційну кількість комірок регістрового файлу та самих регістрових файлів і регістрових вікон, змінювати порядок видачі операндів, не змінюючи місце їх розташування.
Практичне значення одержаних результатів.
1. Розроблені методи та засоби підвищення ефективності процесора комп'ютера з простою системою команд можуть бути використані при побудові високопродуктивних універсальних комп'ютерів.
2. Розроблені методи і засоби повної та часткової ліквідації конфліктів у конвеєрі команд процесора можуть бути використані в конвеєрах команд існуючих та розроблюваних універсальних комп'ютерів.
3. Розроблена модель регістрового файлу та запропонований метод запису опрацьованих результатів в основну пам'ять можуть бути використані при побудові універсальних процесорів.
4. Модель конвеєрного процесора комп'ютера з простою системою команд та система його тестування може бути використана для відпрацювання варіантів його практичної реалізації.
Впровадження результатів роботи. Теоретичні та практичні результати роботи впроваджено при виконанні науково-дослідних робіт по темах ДБ/17.ЕС “Розробка нових принципів побудови вимірювально-обчислювальних мереж з елементами самоорганізації для екологічного моніторингу”, 2000-2001 рр., ДБ/17.МЕЛЬ “Інтелектуальні реконфігуровані нарощувані вимірювально-обчислювальні мережі екологічного моніторингу: принципи структурної самоорганізації та функціонування”, 2002 - 2003 рр., ДБ/АВАГ “Конфігуровані вимірювально-обчислювальні мережі інтелектуальних автономних агентів для вирішення задач моніторингу навколишнього середовища”, 2004-2006 рр., в Національному університеті “Львівська політехніка”, у роботах, що проводились на підприємстві “Інтрон” (м. Львів), а також у навчальному процесі кафедри ЕОМ Національного університету “Львівська політехніка” в рамках предметів “Моделювання комп'ютерних систем” та “Проектування комп'ютерних систем та мереж”. Дані про впровадження підтверджено відповідними актами.
Особистий внесок здобувача. Основний зміст роботи, всі теоретичні та практичні розробки, висновки та рекомендації виконані автором особисто. В друкованих працях, опублікованих у співавторстві, здобувачу належать: [4] - на основі аналізу сучасних форматів команд запропоновано вдосконалення формату команди та розроблено нові формати команд для зміненої структури процесора; [10] - сформовано вимоги щодо внутрішньої організації структури процесора та набору його команд.
Апробація результатів дисертації. Основні положення й результати дисертаційної роботи доповідались й обговорювались на: 4th International Scientific Conference for Students and Young Scientists “Telecommunication in XXI Century” (Poland, Kielce, 2004); 2-nd International Conference “Advanced Computer System and Networks: Design and Application” (Lviv, 2005); 2-й міжвузівській науково-технічній конференції науково-педагогічних працівників “Проблеми та перспективи розвитку економіки і підприємництва та комп'ютерних технологій в Україні” (Львів, 2007); ІІІ Міжнародній науковій конференції студентів, аспірантів і молодих вчених “Комп'ютерний моніторинг та інформаційні технології” (Донецьк, 2007); 3-rd International Conference “Advanced Computer Systems and Networks: Design and Application” (Lviv, 2007); 2-й Міжнародній конференції молодих науковців “Комп'ютерні науки та інженерія” (Львів, 2007); 3-й міжвузівській науково-технічній конференції науково-педагогічних працівників “Проблеми та перспективи розвитку економіки і підприємництва та комп'ютерних технологій в Україні” (Львів, 2008); Third International Scientific-Technical Conference “Dependable systems, services and technologies” (Кіровоград, 2008).
Публікації. За результатами виконаних досліджень опубліковано 11 робіт загальним обсягом 43 сторінки, з них 5 статей у фахових наукових журналах та збірниках, 6 матеріалів доповідей у збірниках міжнародних науково-технічних конференцій.
Структура та обсяг дисертації. Дисертаційна робота складається зі вступу, чотирьох розділів, висновків, списку використаних джерел (160 позицій), 4 додатків на 70 сторінках. У праці подано 66 рисунків, 35 таблиць. Повний обсяг роботи - 245 сторінок, з них 156 сторінок основного тексту.
Основний зміст
У вступі обґрунтовано актуальність теми дисертаційної роботи, сформульовано мету та основні завдання, визначено наукову новизну та практичне значення отриманих результатів. Наведено відомості про зв'язок роботи з науковими темами, а також про апробацію роботи, особистий внесок дисертанта, публікації, обсяг та структуру дисертації.
Перший розділ присвячений дослідженню, систематизації та аналізу найпоширеніших типів архітектури комп'ютера; аналізу існуючих методів та засобів підвищення продуктивності центрального процесора комп'ютера, визначенню проблем та постановці задач дисертації.
Розглянуто задачу підвищення продуктивності комп'ютера як його основної характеристики. Показано, що основний вплив на підвищення продуктивності комп'ютера мають архітектурні рішення, в першу чергу на рівні процесора. В роботі поставлено задачу підвищити продуктивність комп'ютера шляхом підвищення ефективності процесора комп'ютера з простою системою команд, де під підвищенням ефективності розуміють збільшення внеску в загальну продуктивність процесора таких складових архітектури, як формат команди, методи адресації, склад системи команд, структура функціональних вузлів та організація обміну даними.
Проведено аналіз різних форматів команд комп'ютера та виявлено, що практично будь-яка реалізація архітектури з простою системою команд та створеної на її основі (VLIW та EPIC) використовує тримісні операції опрацювання, в яких результат і два операнди мають самостійну адресацію, що призводить до суттєвого пригальмовування процесу опрацювання складних типів даних (структур і масивів) та підпрограм через надмірно часте звернення до основної пам'яті та через неможливість побудови достатньо великого за розміром регістрового файлу. Також досліджено переваги та недоліки існуючих архітектурних рішень у комп'ютері з простою системою команд.
Проведено дослідження набору операцій та системи команд існуючих комп'ютерів із метою пришвидшити виконання найпоширеніших операцій. Також проведено дослідження впливу конвеєризації на продуктивність процесора та проаналізовано можливі варіанти побудови конвеєра команд, в результаті чого виявлено, що конвеєризація дає суттєвий приріст продуктивності, але в процесі роботи найпростішого конвеєра команд виникає низка нерозв'язаних конфліктних ситуацій.
Досліджено можливі методи тестування коректності виконання команд процесора. Встановлено, що метод вибіркового перебору є кращим для перевірки працездатності моделі процесора. Коректність роботи перевіреної команди дає підстави стверджувати (але не гарантувати) коректність роботи усіх команд, що належать до цього типу.
У другому розділі досліджено вплив архітектурних рішень на ефективність процесора, а саме: використання програмного лічильника для адресації даних у регістровому файлі процесора; використання запропоновано формату команд процесора; досліджено введення пристрою випереджаючої вибірки адрес для взаємодії з пам'яттю даних; досліджено вплив розроблених методів видачі та зберігання результатів у регістровому файлі, зберігання двох опрацьованих результатів за однією адресою в регістровому файлі процесора, а також вибраних та удосконалених методів адресації пам'яті; досліджено виконання команд у процесорі на основі вибраного для експерименту поділу командного циклу на шість фаз.
Основою розроблених у дисертації методів та архітектурних рішень є спосіб опрацювання інформації з часовим плануванням обчислювального процесу, запропонований професором Мельником А.О.
Метод зміни значення програмного лічильника. Програмний лічильник вказує на адресу розміщення операндів у регістровому файлі процесора для поточної команди. Відповідно, значення програмного лічильника можна використовувати у всіх командах, що спрощує процес декодування та формат команди. Природне обчислення наступної адреси програмного лічильника відбувається його інкрементуванням після аналізу стану завантаження критичних даних та команд з основної пам'яті до регістрового файлу процесора та обчислюється за формулою:
(1)
де ; n - розрядність програмного лічильника; PC(t) - значення програмного лічильника; IR(t) - вміст регістра команд; Offset - адреса зміщення; IM - пам'ять команд; Jump - команда безумовного переходу; JumpХ - команда умовного переходу, де Х - умова переходу; m - розрядність коду операцій; ALU - обчислене значення з АЛП; RF - регістровий файл; DM - пам'ять даних; Addr - цільова адреса в пам'яті; вираз в трикутних дужках “” вказує розряди команди.
Метод зберігання декількох операндів за однією адресою в регістровому файлі. Якщо при надходженні адреси зберігання в пам'яті ознак регістрового файлу відсутня ознака присутності даних молодшого модуля пам'яті за відповідною адресою, тоді дані, які завантажуються до регістрового файлу, зберігаються в молодшому модулі і встановлюється ознака присутності даних; якщо ознаку присутності даних вже встановлено, тоді дані, які завантажуються до регістрового файлу, зберігаються в старшому модулі і встановлюється ознака присутності даних.
Метод вибору операндів із регістрового файлу процесора. На відміну від існуючих методів вибору операндів із регістрового файлу процесора, який полягає в аналізі адресної частини заданої процесору команди, на основі якого визначаються дві адреси регістрів, в запропонованому методі відбувається аналіз вмісту програмного лічильника (формула 2), значення якого є адресою операндів у регістровому файлі (рис. 1).
(2)
де AO - адреса операнду; [PC] - вміст програмного лічильника; m - номер модуля регістрової пам'яті в регістровому файлі (m = 1,2,3…n); n - розрядність програмного лічильника, причому n = (Log2N), де N - кількість можливих адресованих комірок у регістрових модулях пам'яті; вираз у трикутних дужках “” вказує розряди програмного лічильника.
В ході досліджень також розроблено метод копіювання вмісту комірки всередині регістрового файлу та метод видачі результатів із регістрового файлу.
В результаті цих нововведень змінюється структура регістрового файлу процесора: до неї додається схема контролю за вхідними та вихідними потоками даних і схема зміни послідовності видачі операндів.
Рис. 1 Організація процесу вибору операндів та команд з пам'яті
Формати команд процесора. За результатами досліджень запропоновано використати удосконалені та доповнені формати команд (рис. 2).
Відмінність вказаних форматів команд від існуючих полягає в тому, що в їх адресній частині (окрім команд для пересилання даних) відсутні адреси операндів-джерел, які вказують на дані, що необхідні для виконання поточної операції.
6 |
10 |
16 |
|||
І-тип |
КОП |
АРП |
Безпосередній операнд |
||
6 |
10 |
6 |
10 |
||
R-тип |
КОП |
АРП1 |
КОП |
АРП2 |
|
6 |
26 |
||||
J-тип |
КОП |
Зміщення |
|||
6 |
10 |
10 |
6 |
||
M-тип |
КОП |
АРД(АРП1) |
АРП(АРП2) |
Функц. |
Рис. 2 Розроблені формати команд процесора
Тут КОП - код операції, РП - адреса регістра призначення, АРД - адреса регістра джерела, Функц. - поле розширення функціональності, І-тип - команда для операцій з безпосереднім операндом, R-тип - команда для операцій типу регістр-регістр, J-тип - команда для роботи з операціями безумовного переходу, M-тип - команда для пересилання даних всередині регістрового файлу або для розмноження результату опрацювання.
Метод запису опрацьованих результатів в основну пам'ять. При аналізі запропонованих методів, розглянутих вище, виявлено можливість виконання операції, заданої в команді, та запису результату її опрацювання до основної пам'яті в одній команді. Для цього в роботі запропоновано використовувати додатковий регістр передвибірки (РГ) (рис. 3) для зберігання адрес доступу до пам'яті даних. При зверненні до пам'яті даних процесора в регістрі РГ окремо зберігаються остання адреса запису даних у пам'ять та адреса зчитування даних із пам'яті. Тоді при наступному зверненні до пам'яті даних, якщо зміна значення адреси не є великим числом, зникає необхідність зберігати її в регістрах загального призначення та додатково обчислювати в АЛП цільової адреси, що дозволяє спростити метод обчислення ефективної адреси в пам'яті даних і прискорити запис обчисленого результату до основної пам'яті.
Рис. 3 Використання регістру передвибірки для визначення цільової адреси
Як приклад скалярну структуру процесора поділено на шість ярусів та досліджено алгоритм виконання команди в процесорі.
У третьому розділі розроблено структури та принципи функціонування основних вузлів процесора із запропонованими нововведеннями, а також спроектовано їх інтерфейси. Розроблено мікродії роботи кожного ярусу розробленої конвеєрної шестифазної структури процесора. Запропоновано правила для оптимізуючого компілятора процесора, які враховують основні особливості розробленого процесора. Показано шляхи зменшення конфліктних ситуацій (структурних, за даними, по управлінню) в конвеєрі команд процесора при застосуванні запропонованих у другому та третьому розділах архітектурних рішень.
Для оцінки запропонованих методів та дослідження їх ефективності була вибрано та вдосконалено архітектуру комп'ютера DLX. Запропонована конвеєрна структура процесора складається з шести ярусів (рис. 4): 1. Формування наступної адреси для вибору команди з пам'яті команд та для вибору даних з регістрового файлу (перша фаза виконання команди із назвою АС (Address Сomputation)); 2. Вибір за вказаною адресою команди з пам'яті команд (друга фаза виконання команди із назвою IF (Instruction Fetch)); 3. Декодування команди (третя фаза виконання команди із назвою ID (Instruction Decoding)); 4. Вибір операнда(ів) з регістрового файлу (четверта фаза виконання команди із назвою CO (Choice Operand)); 5. Комутація вибраних операндів на відповідні операційні пристрої та виконання над ними відповідної команди (п'ята фаза виконання команди із назвою SE (Select and Execution)); 6. Завантаження операнда з основної пам'яті та його пересилання для зберігання до регістрового файлу або зберігання обчисленого результату в основній пам'яті комп'ютера (шоста фаза виконання команди із назвою LS (Load and Store). Апаратура кожного ярусу реалізує притаманні їй мікрооперації (мікродії), які розробляються в дисертаційній роботі.
Розроблено та досліджено відповідні структури окремих функціональних вузлів процесора та спроектовано їх інтерфейси, що дає змогу реалізувати їх надалі.
В дисертаційній роботі запропоновано правила для оптимізуючого компілятора, які враховують основні особливості розроблених методів та засобів підвищення ефективності процесора та дозволяють збільшити кількість паралельно виконуваних команд, зменшити простої процесора, підвищити продуктивність, оптимізувати роботу з операціями переходів, зменшити вплив конфліктних ситуацій у конвеєрі команд.
За рахунок удосконелених та нових методів та засобів усунено залежності за даними, зменшено вплив структурних конфліктів та конфліктів управління в конвеєрі команд процесора.
Рис. 4 Конвеєрна структура процесора
У четвертому розділі на основі структур, запропонованих у другому та третьому розділах, виконано синтез, дослідження та розробку системи тестування моделі процесора, описаної мовою опису апаратних засобів VHDL. Також розроблено метод взаємодії процесора та основної пам'яті через модифіковану багаторівневу кеш-пам'ять, метод розбиття програми на блоки, метод організації регістрових вікон у регістровому файлі та метод зберігання в регістровому файлі процесора потенційно потрібної інформації.
Метод взаємодії процесора та основної пам'яті через модифіковану багаторівневу кеш-пам'ять. На основі досліджень принципів взаємодії процесора та основної пам'яті запропоновано удосконалену структуру багаторівневої кеш-пам'яті комп'ютера (рис. 5).
В даній структурі використовується нульовий рівень ієрархії кеш-пам'яті, яка містить тільки пам'ять команд та контролер пам'яті команд, який фіксує активний робочий блок та дозволяє видати значення комірки кеш-пам'яті нульового рівня без додаткових затримок на пошук команди. Розмір кеш-пам'яті нульового рівня співрозмірний з адресним простором регістрового файлу процесора. З основної пам'яті за вказаною програмним лічильником адресою в кеш-пам'ять нульового рівня паралельно завантажується К (К=1,2,..., залежно від пропускної здатності шини) команд, які розташовані за наступними адресами, щодо вказаної. Контролер кеш-пам'яті фіксує факт завантаження команд у регістрі ознак наявності даних. Після завантаження одного блоку завантажуються наступні блоки до кеш-пам'яті першого рівня, в якій інформація зберігається блоками, що збігаються з розміром кеш-пам'яті команд нульового рівня. Якщо блок повністю завантажений, в контролері фіксується відповідний прапорець його завантаження.
Рис. 5 Запропонована структура ієрархії кеш-пам'яті
На основі запропонованого методу розроблено алгоритми зчитування команд з кеш-пам'яті, а також запису та зчитування даних в кеш-пам'ять та з кеш-пам'яті даних.
Розбиття програми на блоки фіксованої довжини виконано на основі методу блокової організації програм компілятором для опрацювання в конвеєрі команд процесора. В межах блоку аналізу, реорганізації та оптимізації компілятора виділяються області планування (послідовності команд, які мають не більше однієї мітки переходу (на початку) та не більше одного переходу (в кінці). Далі проходить етап реорганізації коду, що спрямований на розширення лінійних ланок коду та розширення областей планування до розміру регістрового файлу та комірок кеш-пам'яті нульового рівня. Проходить етап збільшення паралелізму в межах виділених областей (перетворення циклів, побудова функцій, скасування залежностей за даними). Завершальна стадія відповідає за планування команд у межах виділених областей. Відбувається локальне планування (в межах лінійних ланок) та глобальне (в межах розширених ланок), де використовується переміщення команд між лінійними ланками для зберігання коректності програми.
Метод зберігання в регістровому файлі потенційно потрібної інформації. При аналізі програми в разі потреби в результаті обчислень у подальшій роботі процесора забезпечується дублювання цього результату за відповідною адресою, яка вказується в адресній частині команди, або в додатковій команді копіювання результатів. При виконанні команд умовного переходу немає необхідності зупиняти конвеєр, якщо результат опрацьованих команд буде потрібний при поверненні. В такому випадку оптимізуючий компілятор визначає адресу повернення з підпрограм завчасно, відповідно всі команди, які знаходяться в конвеєрі на момент обчислення переходу, будуть успішно виконані. Адреса повернення має бути збільшена на кілька значень, якщо дані, які були отримані до моменту здійснення переходу, необхідні в процесі подальшої роботи процесора. Якщо ж дані, які були отримані до моменту здійснення переходу, стали неактуальними, то після повернення адреса повернення повинна отримати наступне значення, відмінне від адреси команди умовного переходу.
З метою автоматизації процесу тестування створено систему тестування всіх ярусів конвеєра процесора, яка шляхом почергового тестування ярусів конвеєра дає змогу переконатися у коректності роботи процесора загалом та поданої команди зокрема. Система тестування процесора передбачає як тестування коректності виконання команд у послідовному режимі (послідовна перевірка коректності роботи однієї тестової команди послідовно на всіх ярусах конвеєра), так і в конвеєрному режимі (коли тестові команди подаються з кожним тактом сигналу синхронізації).
Проведено синтез процесора на програмованих логічних пристроях фірм Altera, Actel та Xillinx. Результати експериментальної оцінки наведено в табл.1.
В дисертаційній роботі проведено дослідження моделі процесора на задачах опрацювання масивів даних як таких, які найкраще відображають процес безпосередньої взаємодії з основною пам'яттю. При дослідженнях не було враховано обмеження на кількість регістрів в існуючій моделі процесора DLX. В розробленому процесорі враховано всі обмеження. Результати досліджень наведено в табл. 2.
Таблиця 1
Результати синтезу процесора
Назва блоку |
Тип ПЛІС |
Кількість логічних елементів |
Тактова частота (МГц) |
|
AC |
AlteraAPEX20KE |
29 |
418,5 |
|
AlteraStratixII |
28 |
790,3 |
||
IF |
AlteraAPEX20KE |
146 |
344,2 |
|
AlteraStratixII |
59 |
1156,1 |
||
ID |
AlteraAPEX20KE |
437 |
314,7 |
|
AlteraStratixII |
124 |
956,2 |
||
CO |
AlteraStratixII |
56994 |
600 |
|
Actel Axcelerator |
55963 |
340 |
||
SE |
AlteraAPEX20KE |
938 |
294,1 |
|
AlteraStratixII |
758 |
828,3 |
||
LS |
AlteraAPEX20KE |
106 |
673 |
|
Всього |
?70000 |
?600 |
Таблиця 2
Порівняльні результати виконання тестових задач на процесорі DLX та на розробленому процесорі
№ задачі |
Тестова задача |
Кількість операцій |
||
Процесор DLX |
Розроблений процесор |
|||
Знаходження суми |
||||
1. |
10 елементів масиву |
19 |
11 |
|
2. |
1000 елементів масиву |
1998 |
1001 |
|
Знаходження мінімального або максимального значення методом перебору |
||||
3. |
у впорядкованому масиві з 10 елементів |
37 |
11 |
|
4. |
у впорядкованому масиві з 1000 елементів |
3997 |
1001 |
|
5. |
у не впорядкованому масиві з 10 елементів |
73 |
11 |
|
6. |
у не впорядкованому масиві з 1000 елементів |
7993 |
1001 |
|
Сортування масиву методом перебору |
||||
7. |
впорядкованого з 10 елементів |
120 |
63 |
|
8. |
не впорядкованого з 10 елементів |
450 |
63 |
|
9. |
впорядкованого з 100 елементів |
11456 |
5058 |
|
10. |
не впорядкованого з 100 елементів |
45976 |
5058 |
Отримані результати показали, що запропоновані методи та засоби майже на порядок збільшують продуктивність процесора при роботі з складними типами даних.
У додатках наведено документи, що підтверджують впровадження результатів наукових досліджень за темою дисертації, приведено VHDL опис компонент та часові діаграми роботи функціональних вузлів процесора.
Рис. 6 Порівняння продуктивності процесора DLX та розробленого процесора на тестових задачах
ОСНОВНІ РЕЗУЛЬТАТИ І ВИСНОВКИ
У дисертаційній роботі розв'язано наукову задачу дослідження методів та засобів підвищення ефективності процесора комп'ютера з простою системою команд. При цьому отримано такі результати:
1. Розроблено новий метод вибору операндів з регістрового файлу процесора, який базується на використанні програмного лічильника для адресації даних у регістровому файлі для поточної команди. Також розроблено метод зміни значення програмного лічильника, який базується на аналізі стану завантаження критичних команд та даних з основної пам'яті до регістрового файлу, який дозволяє “призупинити” виконання нових операцій у конвеєрі команд, на відміну від використання порожніх операцій “NOP”, які процесор змушений виконувати постійно при простоях в існуючих процесорах. Використання цих методів призводить до зменшення оперативного навантаження на процесор та зниження споживаної потужності процесором; в 2 рази спрощується декодування команди та прискорюється вибір операндів із регістрового файлу процесора, так як адреса розміщення операндів у регістровій пам'яті процесора визначається за допомогою програмного лічильника; зменшується кількість конфліктних ситуацій, що виникають в конвеєрі команд, так як робота процесора виконується за алгоритмом, який заздалегіть задає компілятор.
2. Розроблено новий метод взаємодії процесора та основної пам'яті через модифіковану багаторівневу кеш-пам'ять. Введено нульовий рівень кеш-пам'яті, який має лише кеш-пам'ять команд, ємність якої співрозмірна з адресним простором регістрового файлу процесора. Це дозволяє спростити структуру кеш-пам'яті в нульовому рівні ієрархії, де присутня лише схема декодування адреси та регістр ознак наявності команд. На першому рівні ієрархії також спрощується структура кеш-пам'яті команд та пошук команд за рахунок блокової організації; пришвидшується процес завантаження команд у процесорі.
3. Запропоновані формати команд процесора порівняно з форматом команд процесора DLX дозволяють: на 2/3 (10 розрядів з 15) скоротити адресну частину 3-ох адресної команди типу R; на 1/2 (5 розрядів з 10) скоротити адресну частину 2-ох адресної команди типу І; таке скорочення дозволяє виконати 2 операції над даними в командах типу R, використовуючи 11 функціональних розрядів; збільшити кількість регістрів у регістровому файлі процесора.
4. Розроблено новий метод запису опрацьованих результатів в основну пам'ять через введений пристрій випереджаючої вибірки адрес, принцип роботи якого полягає у зберіганні адрес запису та читання при зверненні до основної пам'яті, що дозволяє: спростити звернення до складних структур даних, які розміщені в основній пам'яті; використовувати операцію завантаження/ зберігання разом з іншою операцією в одній команді, якщо діапазон зміни адрес не є великим, за рахунок чого в 2 рази підвищується продуктивність; в 2 рази спростити метод обчислення ефективної адреси призначення для зберігання результатів виконання в основній пам'яті.
5. Для розроблених скалярної та конвеєрної структур процесора проведено проектування та дослідження структур функціональних вузлів та їх інтерфейсів, що дозволяє їх подальшу реалізацію.
6. Досліджені результати моделі процесора вказують на значний виграш (в 1,73 - 9 разів) у продуктивності порівняно з аналогами відповідної розрядності.
СПИСОК ПРАЦЬ ЗА ТЕМОЮ ДИСЕРТАЦІЇ
1. Кицун Г.В. Методи та засоби зменшення конфліктів в конвеєрі команд інформаційного тракту універсального комп'ютера // Вісті академії інженерних наук України, К.: Відкритий міжнародний університет розвитку людини “Україна”, 2008. №3(37). С. 19 - 24.
2. Кицун Г.В. Система тестування інформаційного тракту універсального комп'ютера // Науковий журнал “Технічні науки” - Хмельницький: Хмельницький національний університет, 2008. №4. С. 91 - 95
3. Кицун Г.В. Вибір методів адресації пам'яті універсального комп'ютера // Вісник “Комп'ютерні системи та мережі”. Львів: Національний університет “Львівська політехніка”, 2007. № 603. С. 59 - 64.
4. Мельник А.О. Модифікація формату команд універсального комп'ютера / А.О. Мельник, Г.В. Кицун // Збірник наукових праць К.: ІПМЕ НАНУ, 2007. № 43. С. 120 - 125.
5. Кицун Г.В. Архітектура інтелектуального агента // Вісник “Комп'ютерні системи та мережі”. Львів: Національний університет “Львівська політехніка”, 2006. № 573. С. 96 - 103.
6. Кицун Г.В. Визначення параметрів блоків при компіляції програм для обробки в інформаційному тракті удосконаленого універсального комп'ютера // Збірник матеріалів ІІІ міжвузівської науково-технічної конференції науково-педагогічних працівників “Проблеми та перспективи розвитку економіки і підприємництва та комп'ютерних технологій в Україні” - Львів: Національний університет “Львівська політехніка”, 2008. С. 214.
7. Кицун Г.В. Питання вибору системи команд універсального комп'ютера // матеріали 2-ої міжнародної конференції молодих науковців “Комп'ютерні науки та інженерія” - Львів: Національний університет “Львівська політехніка”, 2007. С. 91 - 93.
8. Hennadiy Kytsun The perfected universal computer memory addresses modes // Proceedings of 3rd International Conference “Advanced Computer Systems and Networks: Design and Application”. Lviv: Lviv Polytechnic National University, 2007. P. 48 - 49.
9. Кицун Г.В. Синтез арифметико-логічного пристрою процесора універсального комп'ютера на ПЛІС // матеріали ІІІ міжнародної наукової конференції студентів, аспірантів і молодих вчених “Комп'ютерний моніторинг та інформаційні технології”. Донецьк: Донецький національний технічний університет, 2007.
10. Мельник А.О. Вимоги до побудови процесора перспективного комп'ютера / А.О. Мельник, Г.В. Кицун // Збірник матеріалів ІІ міжвузівської науково-технічної конференції науково-педагогічних працівників “Проблеми та перспективи розвитку економіки і підприємництва та комп'ютерних технологій в Україні” - Львів: Національний університет “Львівська політехніка”, 2007. С. 222.
11. Hennadiy Kytsun Pipeline Reed-Solomon processor // Proceedings of 4th International Scientific Conference for Students and Young Scientists “Telecommunication in XXI Century”. Kielce: IT press, 2004. P. 23.
АНОТАЦІЯ
Кицун Г.В. Методи та засоби підвищення ефективності процесора комп'ютера з простою системою команд. - Рукопис.
Дисертація на здобуття наукового ступеня кандидата технічних наук за спеціальністю 05.13.05 - комп'ютерні системи та компоненти. - Національний університет “Львівська політехніка”, Львів, 2009.
Дисертація присвячена питанням розробки нових та вдосконалення існуючих методів та засобів підвищення ефективності процесора комп'ютера з простою системою команд. В дисертації вперше запропоновано використовувати програмний лічильник для адресації даних в регістровому файлі процесора та керувати зміною його значення шляхом аналізу станів керуючих сигналів з кеш-пам'яті та станів регістрового файлу процесора, ввести в ієрархію пам'яті комп'ютера нульовий рівень кеш-пам'яті команд з адресним простором регістрового файлу процесора. Також розроблено нові формати команд для 32-розрядного процесора та вперше запропоновано метод зберігання декількох операндів за однією адресою в регістровому файлі для виконання різнотипних команд. Ефективність запропонованих рішень обґрунтовано теоретично і підтверджено практично.
Ключові слова: архітектура комп'ютера, комп'ютер з простою системою команд, процесор, програмний лічильник, регістровий файл, кеш-пам'ять.
SUMMARY
Kytsun H.V. Methods and tools of the reduced instruction set computer processor efficiency increasing. - Manuscript.
Thesis for the Ph.D. (candidate of science) degree on speciality 05.13.05 - Computing systems and components. - Lviv Polytechnic National University, Lviv, 2009.
The dissertation is dedicated to the questions of development of new and improvement of existing methods and tools, that will increase an efficiency of the processors, used in the Reduced Instructions Set Computers. For the first time, it is proposed in the dissertation to use a Program Counter for the data addressing in the register file of the processor, and to manage the change of its value by analyzing of the states of the control signals from the cache memory, and of the states of the register file of processor. It is also proposed to employ into the computer memory hierarchy a zero-level instruction cache memory, which will be addressed at the same address space as the register file of processor. New instructions formats for a 32-bit processor are developed and, for the first time, the method of several operands storage under the one address in a register file for polytypic instructions execution is proposed. An efficiency of the proposed improvements has been justified in theory and confirmed at the practice.
Keywords: computer architecture, computer with the reduced instructions set, processor, program counter, register file, cache memory.
АННОТАЦИЯ
Кицун Г.В. Методы и средства повышения эффективности процессора компьютера с простой системой команд. - Рукопись.
Диссертация на получение научной степени кандидата технических наук за специальностью 05.13.05 - компьютерные системы и компоненты. - Национальный университет “Львовская политехника”, Львов, 2009.
Диссертация посвящена вопросом разработки новых и усовершенствованию существующих методов и средств повышения эффективности процессора компьютера с простой системой команд. В диссертационной работе разработан новый метод выбора операндов из регистрового файла процессора, который базируется на использовании программного счетчика для адресации данных в регистровом файле для текущей команды. Также разработан метод изменения значения программного счетчика, который базируется на анализе состояния загрузки критических команд и данных из основной памяти к регистровому файлу, который позволяет “приостановить” выполнение новых операций в конвейере команд, в отличие от использования пустых операций “NOP”. Использование этих методов приводит к уменьшению оперативной нагрузки на процессор и снижение потребляемой мощности процессором; в 2 раза упрощается декодирование команды и ускоряется выбор операндов из регистрового файла процессора, так как адрес размещения операндов в регистровой памяти процессора определяется с помощью программного счетчика; уменьшается количество конфликтных ситуаций, которые возникают в конвейере команд, так как работа процессора выполняется по заранее заданному алгоритму, который задает компилятор.
Разработан новый метод взаимодействия процессора и основной памяти через модифицированную многоуровневую кэш-память. Введен нулевой уровень кэш-памяти, который имеет кэш-память команд, емкость которой сопоставима с адресным пространством регистрового файла процессора, что позволяет: упростить структуру кэш-памяти в нулевом уровне иерархии, где присутствует только схема декодирования адреса и регистр признаков наличия команд. На первом уровне иерархии упрощается структура кэш-памяти команд и поиск команд за счет блочной организации; ускоряется процесс загрузки команд в процессоре. Предложеные форматы команд процессора по сравнению с форматом команд процессора DLX позволяют: на 2/3 (10 разрядов с 15) сократить адресную часть 3-ох адресной команды типа R; на 1/2 (5 разрядов с 10) сократить адресную часть 2-ох адресной команды типа І; такое сокращение дает возможность выполнить 2 операции над данными в командах типа R, используя функциональные 11 разрядов; увеличить количество регистров в регистровом файле процессора.
Разработан новый метод записи результатов в основную память через введенное устройство опережающей выборки адресов, принцип работы которого заключается в хранении адресов записи и чтения при обращении к основной памяти, что позволяет: упростить обращение к сложным структурам данных, которые размещены в основной памяти; использовать операцию загрузки/сохранения вместе с другой операцией в одной команде, за счет чего в 2 раза повышается производительность; в 2 раза упростить метод вычисления эффективного адреса назначения для сохранения результатов выполнения в основной памяти.
Для разработанных скалярной и конвейерной структур процессора разработаны и исследованы соответствующие структуры отдельных функциональных узлов и их интерфейсы, что дает возможность их последующей реализации. Также исследованы результаты модели процессора указывают на значительный выигрыш (в 1,73 - 9 раз) в производительности по сравнению с аналогами соответствующей разрядности. Эффективность предложенных решений обоснованна теоретически и подтверждена практически.
Ключевые слова: архитектура компьютера, компьютер с простой системой команд, процессор, программный счетчик, регистровый файл, кэш-память.
Размещено на Allbest.ru
...Подобные документы
Мова асемблер для кожного типу комп'ютера своя. Асемблер орієнтований саме на специфіку комп'ютера або на специфіку процесора. Мікропроцесори, що належать до різних сімейств, мають свої системи команд. Система команд МП ІA 32 - режими адресації.
лекция [36,2 K], добавлен 13.04.2008Схема суперскалярної організації процесора. Вплив залежності між даними на роботу суперскалярного процесора. Апаратний паралелізм – це міра здатності процесора отримувати переваги із паралелізму на рівні команд. Запуск команд у суперскалярному процесорі.
реферат [34,9 K], добавлен 08.09.2011Розподіл адресного простору пам’яті. Визначення формату команди. Формати команд і алгоритм функціонування мікрокомп’ютера. Програмно-мікропрограмна модель мікрокомп’ютера. Структурна схема мікрокомп’ютера. Закодована мікропрограма мікрокомп’ютера.
курсовая работа [1,4 M], добавлен 30.08.2014Отримання показників процесора за допомогою програми EVEREST Ultimate 2006. Приклад отриманих характеристик: властивості ЦП, виробник та завантаження. Набори команд та інструкцій, з якими працює процесор. Властивості та виробник графічного процесора.
лабораторная работа [19,5 K], добавлен 16.12.2010Команди умовних і безумовних переходів в програмах, скорочення накладних витрат переходу, черга команд і технологія розгалуження із суміщенням. Основи конвеєризації, конвеєрна обробка команд у комп'ютері та збільшення пропускної здатності процесора.
реферат [39,5 K], добавлен 19.06.2010Загальна структура комп'ютера, архітектура процесора типу Intel 8086. Принцип роботи пам'яті, її види (постійна та оперативна). Основи програмування на мові асемблер та її синтаксис. Особливості використання позначок, кодів команд, операндів і директив.
лабораторная работа [36,0 K], добавлен 27.02.2013Реалізація програми на мові асемблера для процесора i8086. Регістрова структура процесора. Використання сегментних регістрів для апаратної підтримки найпростішої моделі сегментованої пам'яті. Формування арифметичних прапорців. Система команд процесора.
контрольная работа [240,5 K], добавлен 27.02.2013Основні принципи дії та архітектура прототипних варіантів CISC-комп'ютера. Інструкції асемблерної мови і принцип трансляції асемблерної програми у машинний код. Розробка тестової програми. Перевірка правильності роботи реалізованих команд у прикладах.
курсовая работа [446,1 K], добавлен 03.02.2011Концепція суперскалярної організації процесорів. Ознаки повноцінного суперскалярного процесора в моделі Pentium Pro. Етапи протікання процесу виконання програми в Pentium II. Вузли добування і розшифровки команд. Конвеєр обробки команд розгалуження.
реферат [59,8 K], добавлен 08.09.2011Типы команд, синтаксис ассемблера и код операции, по которому транслируется команда. Команды вычисления и непосредственной пересылки данных между регистрами. Поле для определения операции вычисления. Управление последовательностью выполнения программы.
реферат [29,1 K], добавлен 13.11.2009Трансп’ютер - мікрокомп'ютер із власною внутрішньою пам'яттю й каналами для з'єднання з іншими трансп’ютерами. Структура центрального процесора. Система команд трансп’ютера і їхнє виконання. Організація пам'яті трансп’ютера, диспетчеризація процесів.
реферат [140,8 K], добавлен 30.03.2011Експонентний розвиток комп'ютерної техніки. Будова сучасного комп'ютера, призначення основних елементів. Будова центрального процесора. Оперативная пам'ять та материнська плата. Будова звукової карти. Характеристика жорсткого диска. Склад чипсету.
презентация [1,4 M], добавлен 25.02.2010Дослідження особливостей роботи графічної бібліотеки OpenGL з метою використання її в комп'ютерному моделюванні. Розгляд синтаксису команд та програмного коду команд. Методи максимально реалістичного моделювання горіння вогню. Лістинг програми на мові С.
курсовая работа [182,0 K], добавлен 22.12.2010Значення операційної системи - програми, яка завантажується при включенні комп'ютера. Компоненти Windows, передача параметрів у мові С++. Системні ресурси та принципи їх роботи. Розробка алгоритму програми емуляції роботи командного процесора ОС.
курсовая работа [37,5 K], добавлен 18.06.2010Изучение базовых команд ПК на базе МП i286 и их форматов. Изучение прямых способов адресации данных. Наработка практических навыков работы с командами. Разработка регистровой модели выполнения операций передачи данных. Программа реализации команд.
контрольная работа [42,2 K], добавлен 12.03.2011Історія появи перших обчислювальних машин. Пам'ять як один із основних елементів комп'ютера, що дозволяє йому нормально функціонувати. Значення внутрішньої пам'яті комп'ютера з позиції зберігання інформації. Аналіз зовнішньої пам’яті та її модернізація.
реферат [24,4 K], добавлен 27.12.2011Типы системной памяти. ОЗУ (оперативное запоминающее устройство), ПЗУ (постоянное запоминающее устройство), "энергонезависимая память" (CMOS). Процессор. Основные шины. Адресные данные. Совокупность всех возможных команд - система команд процессора.
контрольная работа [24,3 K], добавлен 30.03.2009Функциональная схема микропроцессора Intel 8086 (i8086). Формирование физического адреса памяти, выборка команд из памяти и запись их в очередь команд. Система команд процессора. Суть защищенного режима, переход из защищенного режима в реальный режим.
практическая работа [93,3 K], добавлен 24.03.2013Аналіз етапів шифрування тексту. Програмно-апаратна характеристика комп’ютера. Створення кнопкової форми в Delphi. Розробка і опис алгоритму. Діаграма прецедентів проектованої системи. Інструкція роботи користувача з системою. Керівництво програміста.
курсовая работа [999,1 K], добавлен 03.12.2014Архітектурні особливості процесора ARM9E. Набори інструкцій ARM i Thumb. Порівняння компіляторів за швидкістю роботи та обсягом згенерованого коду. Операційні системи, які підтримує процесор ARM9E. Розміри коду підпрограм для ARM та Thumb станів.
курсовая работа [522,6 K], добавлен 08.09.2011