Professional Documents
Culture Documents
Курсова Робота- Шевчук А.І. - 205
Курсова Робота- Шевчук А.І. - 205
КУРСОВА РОБОТА
з дисципліни «Архітектура комп'ютерів»
на тему «Особливості будови комп’ютерів зі скороченим набором команд
(RISC - процесори)»
Виконав: студент 2 курсу, групи
205
Напряму підготовки :
123 «Комп’ютерна інженерія»
(шифр і назва напряму підготовки)
А. І. Шевчук____________________
(підпис, ініціали та прізвище)
_______________________________
(дата)
Керівник: Кандидат технічних наук,
старший викладач кафедри комп'ютерної
інженерії ФКН ЧНУ ім. Петра Могили
О. І. Христо____________________
(підпис, ініціали та прізвище)
_______________________________
(дата)
ЗМІСТ
ВСТУП......................................................................................................................4
ГЛАВА 1 МІКРОПРОЦЕСОР................................................................................5
1.1 Приклад роботи з процесором за допомогою асемблерного коду.....5
1.2 Функції процесора...................................................................................8
1.3 Види та характеристики процесорів......................................................8
1.4 Основні блоки процесора.....................................................................10
1.5 Арифметично-логічний пристрій (АЛП) базової моделі комп’ютера
у Proteus........................................................................................................11
ГЛАВА 2 ISA – АРХІТЕКТУРА СИСТЕМИ КОМАНД...................................15
2.1 Еволюція ISA.........................................................................................15
2.2 Класифікація архітектур ISA...............................................................18
2.3 Приклад роботи зі стеком на асемблері..............................................20
ГЛАВА 3 RISC.......................................................................................................22
3.1 Основні принципи RISC – архітектури...............................................23
3.2 Конвеєризація........................................................................................23
3.3 Архітектура завантаження/зберігання................................................25
3.4 Приклад використання інструкцій завантаження/зберігання на
асемблері......................................................................................................25
3.5 Велика кількість регістрів....................................................................27
3.6 MORS......................................................................................................28
3.7 Стиснутий набір інструкцій.................................................................29
3.8 Кеш пам`ять...........................................................................................30
3.9 Організація загальної шини та передача даних між регістрами у
Proteus...........................................................................................................31
ГЛАВА 4 CISC.......................................................................................................34
4.1 Гіпертредінг (апаратні потоки)............................................................35
4.2 Чим відрізняються мікрокоманди від мікрокоду?.............................36
4.3 Різниця мікрооперацій та RISC-інструкцій........................................37
4.4 У чому різниця між наборами команд RISC та CISC?......................38
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 3
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 4
ВСТУП
Ця робота досліджує розвиток в галузі архітектури процесорів, і
стосується вивчення їх особливостей, а саме архітектури RISC.
Актуальність роботи полягає в тому, що сучасне суспільство
неможливо уявити без смартфонів, які будуються на процесорах з
архітектурою скорочених наборів команд. Основним розвитком RISC
зайнялась компанія ARM, тобто Advanced RISC Machine – вдосконалена
RISC-машина.
Основні завдання – це збільшення швидкості роботи процесора за
рахунок спрощення інструкцій, щоб їх декодування було простішим, а час
виконання – меншим.
Об’єкт дослідження – процесори з архітектурою скорочених наборів
команд.
Предметом дослідження є продукти від компаній, які будують свої
процесори на базі RISC.
В якості джерел інформації для курсової були використані різні статті,
на тему філософії RISC та її порівнянням з архітектурою комплексних
наборів команд (CISC).
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 5
ГЛАВА 1
МІКРОПРОЦЕСОР
Спочатку необхідно розібратися, що таке мікропроцесор.
Процесор (мікропроцесор або центральний процесор) — це мозок
комп'ютера. Він читає інструкції з пам'яті, які вказують, що робити
комп'ютеру. Інструкції – це звичайні числа, які інтерпретуються спеціальним
чином.
У пам'яті немає нічого, що дозволяло б відрізнити звичайне число від
інструкції. Тому розробники операційних систем мають бути впевнені, що
інструкції та дані лежать там, де процесор очікує їх знайти.
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 6
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 7
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 8
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 9
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 10
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 11
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 12
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 13
1 0 0 0 B D=A+B Add
4 0 1 1 ~B D=A+(~B)+1 Subtract
5 1 0 0 0 D=A Transfer A
6 1 0 1 0 D=A+1 Increment A
7 1 1 0 1 D=A-1 Decrement A
8 1 1 1 1 D=A Transfer A
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 14
2 F3 = x F2←A Transfer A
3 F5 = y F3 ← B Transfer B
4 F6 = x @ y F4←A @ B Exclusive OR
5 F7 = x + y F5 ← A U B OR
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 15
ГЛАВА 2
ISA – АРХІТЕКТУРА СИСТЕМИ КОМАНД
Кількість інструкцій, які розуміє процесор – обмежена. У
програмуванні, як відомо, можна визначати власні функції. А машинні
команди не мають такої можливості.
Існує фіксована кількість команд, які розуміє процесор. І як програміст
їх не можна розширити.
У світі представлено безліч різних мікропроцесорів, і вони не
використовують однакового набору команд. Іншими словами, вони
інтерпретують цифри в інструкції по-різному.
Одна архітектура мікропроцесора трактує число 501012 як add r10, r12,
а інша архітектура як load r10, 12. Комбінація інструкцій, які розуміє
процесор, і регістрів, які йому доступні, називається архітектурою набору
команди
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 16
Рисунок 10. Одна з перших комерційних ЕОМ Ferranti Mark-1 (1952) в якій
застосовані індексні регістри.
Архітектури з реєстрами загального призначення – далі з’явилися
регістри загального призначення. Кожний з РЗП за функціями був рівний
акумуляторному регістру перших ЕОМ, що значно спрощувало розробку
програм та збільшувало швидкість роботи, так як тепер не було необхідності
зберігати посередні результати в ROM і весь час завантажувати звідти
потрібні дані. Поліпшення відбилося на наборі команд. У перших ЕОМ вони
були однооперандними, тепер же були змінені на двоадресні та триадресні.
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 17
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 18
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 19
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 20
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 21
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 22
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 23
ГЛАВА 3
RISC
В кінці 70-х років оперативна пам'ять стала дешевшати, компілятори
ставали кращими, а більшість програмістів переставали писати на асемблері.
Ці технологічні зміни й спровокували виникнення «філософії» RISC
(Reduced Instruction Set Computer – комп'ютер зі скороченим набором
інструкцій).
Спочатку люди аналізували програми та помітили, що більшість
складних інструкцій CISC не використовуються більшістю програмістів.
Розробники компіляторів вагалися у виборі правильної складної
інструкції. Натомість вони віддали перевагу використанню комбінації
кількох простих інструкцій для вирішення проблеми.
Ідея RISC полягає у заміні складних інструкцій на комбінацію простих.
Так не доведеться займатися складним налагодженням мікрокоду та
розробники компілятора зможуть вирішувати виникаючі проблеми.
Є розбіжності у тому, як розуміти слово скорочений (reduced) в
абревіатурі RISC. Люди думають, що скорочено кількість інструкцій. Але
правильніша інтерпретація — це зменшення складності команд.
Одним із аргументів RISC було те, що люди перестали писати
асемблерний код, тому виникла необхідність створити набір інструкцій,
зручний для компіляторів. Архітектура RISC оптимізована для компіляторів,
але не людей. Тому RISC-код може бути непростим для людини, і це може
принести безліч зайвої роботи та розчарувань.
Рисунок 17. IBM PC/RT або IBM 6150 series (1986) – персональний
комп'ютер на технології RISC.
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 24
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 25
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 26
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 27
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 28
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 29
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 30
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 31
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 32
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 33
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 34
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 35
ГЛАВА 4
CISC
RISC і CISC – філософії того, як потрібно проектувати процесори.
CISC – філософію складно визначити, оскільки мікросхеми, які
визначаються як CISC, дуже різноманітні. Однак у них можна назвати
загальні закономірності.
Наприкінці 1970 року, коли почалася розробка CISC-процесорів,
пам'ять була дуже дорогою. Компілятори також були погані, а люди писали
на асемблері.
Оскільки пам'ять була дорогою, люди шукали спосіб мінімізувати
використання пам'яті. Одне з таких рішень – використовувати складні
інструкції процесора, які роблять багато дій.
Це також допомогло програмістам на асемблері, оскільки вони змогли
писати простіші програми, адже завжди знайдеться інструкція, яка виконує
те, що потрібно.
Через якийсь час це стало складним. Проектування декодерів для таких
команд стало суттєвою проблемою. Спочатку її вирішили за допомогою
мікрокоду. У програмуванні код, що повторюється, виноситься в окремі
підпрограми (функції), які можна викликати безліч разів.
Ідея мікрокоду дуже близька до цього. Для кожної інструкції з набору
створюється підпрограма, яка складається з простих інструкцій та
зберігається у спеціальній пам'яті всередині мікропроцесора.
Таким чином процесор містить невеликий набір простих інструкцій, на
основі яких можна створити безліч складних інструкцій із набору команд за
допомогою додавання підпрограм у мікрокод.
Мікрокод зберігається в ROM-пам'яті (Read-Only Memory, тільки для
читання), яка значно дешевша за оперативну пам'ять. Отже, зменшення
використання оперативної пам'яті через збільшення використання постійної
пам'яті є вигідним компромісом.
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 36
Якийсь час усе виглядало дуже добре, але згодом почалися проблеми,
пов'язані із підпрограмами у мікрокоді. В них з'явилися помилки.
Виправлення помилки у мікрокоді в рази складніше, ніж у звичайній
програмі. Не можна отримати доступ до цього коду та протестувати його як
звичайну програму.
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 37
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 38
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 39
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 40
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 41
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 42
Спочатку отримуємо число парі DX: AX (0000: FFFF), потім у парі BX:
CX (0000: 0001). Далі виконується інструкція додавання AX та CX, тобто
65535 + 1 = 65536. Після додавання у парі DX:AX отримуємо 65536
(0001:0000), AX = 0000, DX = 0001. Таким чином при додаванні числа ми
зберегли перенос у старшому регістрі при та отримали коректний результат у
регістровій парі DX:AX.
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 43
ВИСНОВОК
В результаті написання курсової роботи було досліджено розвиток в
галузі архітектури процесорів. Також по завершенню роботи було виявлено
та опрацьовано особливості архітектури RISC.
Головні рисами архітектури RISC – це виконання інструкцій за один
машинний цикл, яка має бути як можна коротшою. Також всі команди мають
бути однакової довжини та користуватися мінімумом адресних форматів.
Запити до пам'яті мають здійснюватися лише при обробці операцій запису та
зчитування, видозміна операндів у пам'яті можлива тільки за допомогою
інструкції запису. А набір інструкцій повинен здійснювати підтримку
високорівневих мов програмування.
Отже, основними особливостями будови комп’ютерів зі скороченим
набором команд є:
фіксований розмір інструкцій;
команди розроблені для використання певних частин процесора
та оптимізовані для конвеєрної обробки;
робота з пам'яттю проводиться переважно за допомогою
спеціальних інструкцій, створених виключно для цього;
розширений обсяг регістрової пам'яті: від 32 до кількох сотень
регістрів загального призначення, що входять до складу
мікропроцесора.
Також із особливостей можна виділити концепцію конвеєризації. Вона
дозволила першим RISC-процесорам обігнати конкурентів у продуктивності.
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 44
СПИСОК РИСУНКІВ
Рисунок 1. Один із перших RISC-процесорів, розроблений підрозділом
Office Products Division компанії IBM на початку 1980-х...................................5
Рисунок 2. Intel 4004 – вважається першим у світі комерційно
доступним однокристальним мікропроцесором..................................................9
Рисунок 3. Спрощена схема операцій у мікропроцесорі.........................10
Рисунок 4. АЛП у Proteus, частина 1.........................................................11
Рисунок 5. АЛП у Proteus, частина 2.........................................................12
Рисунок 6. АЛП у Proteus, частина 3.........................................................13
Рисунок 7. АЛП у Proteus, частина 4.........................................................13
Рисунок 8. Типова триадресна команда. Такий формат мають команди
RISC-процесорів....................................................................................................14
Рисунок 9. Перша ЕОМ – Baby (1948), розроблена в Манчестерському
університеті, з акумуляторною архітектурою....................................................15
Рисунок 10. Одна з перших комерційних ЕОМ Ferranti Mark-1 (1952) в
якій застосовані індексні регістри.......................................................................15
Рисунок 11. Перша ЕОМ Ferranti Pegasus (1956) з концепцією регістрів
загального призначення........................................................................................16
Рисунок 12. Типовий представник CISC-архітектури – Motorola 680x0
.................................................................................................................................16
Рисунок 13. Діаграма стекової архітектура..............................................18
Рисунок 14. Діаграма акумуляторної архітектури...................................19
Рисунок 15. Архітектура «регістр-пам'ять» (а) та «регістр-регістр» (б)20
Рисунок 16. Приклад введених чисел, переміщених до стеку................21
Рисунок 17. IBM PC/RT або IBM 6150 series (1986) – персональний
комп'ютер на технології RISC..............................................................................23
Рисунок 18. Структурна схема конвеєризації..........................................25
Рисунок 19. Вигляд процесору Intel всередині. Ядра, контролер пам’яті,
загальний кеш третього рівня, та спеціальні функції ЦП, які не є частиною
процесорного ядра.................................................................................................31
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 45
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 46
2022р. Шевчук А. І.
Кафедра комп’ютерної інженерії 47
ДОДАТОК
1. Результат перевірки курсової роботи на унікальність. Повний звіт
додається у відповіді з курсовою.
2022р. Шевчук А. І.