2. Спеціальна частина
2.1 Cisc і risc архітектура процесора
Двома основними архітектурами набору команд, використовуваними комп'ютерної промисловістю на сучасному етапі розвитку обчислювальної техніки, є архітектури CISC і RISC. Основоположником CISC-архітектури - архітектури з повним набором команд (CISC - Complete Instruction Set Computer) можна вважати фірму IBM з її базовою архітектурою IBM / 360, ядро якої використовується з 1964 р. і дійшло до наших днів, наприклад, в таких сучасних мейнфреймах, як IBM ES / 9000.
Лідером у розробці мікропроцесорів з повним набором команд вважається компанія Intel з мікропроцесорами X 86 і Pentium. Це практично стандарт для ринку мікропроцесорів.
Простота архітектури RISC-процесора забезпечує його компактність, практична відсутність проблем з охолодженням кристала, чого немає в процесорах фірми Intel, наполегливо дотримується шляху розвитку архітектури CISC. Формування стратегії CISC-архітектури відбулося за рахунок технологічної можливості перенесення "центру тяжіння" обробки даних з програмного рівня системи на апаратний, так як основний шлях підвищення ефективності для CISC-комп'ютера бачився, в першу чергу, у спрощенні компіляторів та мінімізації виконуваного модуля. На сьогоднішній день CISC-процесори майже монопольно займають на комп'ютерному ринку сектор персональних комп'ютерів, однак RISC-процесорів немає рівних у секторі високопродуктивних серверів і робочих станцій.
Основні риси RISC-архітектури з аналогічними за характером рисами CISC-архітектури відображаються наступним чином (табл.1):
Таблиця 1.Основні риси архітектури
CISC-архітектура |
RISC-архітектура |
Багатобайтові команди |
Однобайтові команди |
Мала кількість регістрів |
Велика кількість регістрів |
Складні команди |
Прості команди |
Одна-менш команд за один цикл процесора |
Кілька команд за один цикл процесора |
Традиційно один виконавчий пристрій |
Кілька виконавчих пристроїв |
Одним з важливих переваг RISC-архітектури є висока швидкість арифметичних обчислень. RISC-процесори першими досягли планки найбільш поширеного стандарту IEEE 754, що встановлює 32-розрядний формат для представлення чисел з фіксованою точкою і 64-розрядний формат "повної точності" для чисел з плаваючою крапкою. Висока швидкість виконання арифметичних операцій в поєднанні з високою точністю обчислень забезпечує RISC-процесорів безумовне лідерство за швидкодією у порівнянні з CISC-процесорами.
Іншою особливістю RISC-процесорів є комплекс засобів, які забезпечують безупинну роботу арифметичних пристроїв: механізм динамічного прогнозування розгалужень, велика кількість оперативних регістрів, багаторівнева вбудована кеш-пам'ять.
Організація реєстрової структури - основне достоїнство і основна проблема RISC. Практично будь-яка реалізація RISC-архітектури використовує тримісні операції обробки, в яких результат і два операнда мають самостійну адресацію - R1: = R2, R3.Це дозволяє без істотних витрат часу вибрати операнди з адресованих оперативних регістрів і записати в регістр результат операції. Крім того, тримісні операції дають компілятору велику гнучкість в порівнянні з типовими двомісними операціями формату "регістр - пам'ять" архітектури CISC. У поєднанні з швидкодіючою арифметикою RISC-операції типу "регістр - регістр" стають дуже потужним засобом підвищення продуктивності процесора.
Разом з тим опора на регістри є ахіллесовою п'ятою RISC-архітектури. Проблема в тому, що в процесі виконання завдання RISC-система неодноразово змушена оновлювати вміст регістрів процесора, причому за мінімальний час, щоб не викликати тривалих простоїв арифметичного пристрою. Для CISC-систем подібної проблеми не існує, оскільки модифікація регістрів може відбуватися на тлі обробки команд формату "пам'ять - пам'ять".
Існують два підходи до вирішення проблеми модифікації регістрів в RISC-архітектурі: апаратний, запропонований у проектах RISC-1 і RISC-2, і програмний, розроблений фахівцями IВМ і Стенфордського університету. Принципова різниця між ними полягає в тому, що апаратне рішення засноване на прагненні зменшити час виклику процедур за рахунок установки додаткового обладнання процесора, тоді як програмне рішення базується на можливостях компілятора і є більш економічним з точки зору апаратури процесора.
