Ключові винесення
- Складність набору інструкцій: RISC (обчислення зі скороченим набором інструкцій) і CISC (обчислення зі складним набором інструкцій) представляють дві різні філософії в розробці комп’ютерних архітектур. RISC зосереджується на простих інструкціях, які можна виконати протягом одного тактового циклу, тоді як CISC містить складні інструкції, для виконання яких може знадобитися кілька тактових циклів, але з кожною інструкцією досягається більше.
- Продуктивність та ефективність: Архітектури RISC, як правило, мають більшу кількість регістрів і витрачають більше транзисторів на регістри, а не на складні інструкції, що забезпечує більший паралелізм і потенційно вищу продуктивність у певних ситуаціях. Архітектури CISC із їх складнішими інструкціями можуть виконувати складніші завдання з меншою кількістю інструкцій, що потенційно призводить до більш ефективного використання пам’яті.
- Застосування та приклади: Архітектури RISC зазвичай використовуються в системах, де тепло- та енергоефективність є вирішальними, наприклад у мобільних пристроях і вбудованих системах. Яскраві приклади включають процесори ARM. Архітектури CISC, подібні до тих, які можна побачити в серії x86 від Intel, використовуються в настільних і серверних середовищах, де необхідна обчислювальна потужність і здатність обробляти складні інструкції можуть бути критичними.
Що таке RISC?
RISC означає комп’ютер зі скороченим набором інструкцій. Це тип архітектури комп’ютера, який зосереджується на простоті та ефективності в розробці набору інструкцій процесора. В архітектурі RISC набір інструкцій навмисно зберігається невеликим і простим, складається з обмеженої кількості інструкцій, які можуть бути виконані за один такт. Ця філософія дизайну відрізняється від комп’ютерів зі складним набором інструкцій (CISC), які мають більші та складніші набори інструкцій.
Процесори RISC мають зменшену кількість інструкцій, приблизно від 30 до 200, які оптимізовані для конкретних завдань. Кожна інструкція виконує просту операцію, а складні операції будуються шляхом поєднання кількох простіших інструкцій. Процесори RISC дотримуються архітектури завантаження/зберігання, де дані завантажуються з пам’яті в регістри, маніпулюються ними в регістрах, а потім зберігаються назад у пам’ять. Арифметичні та логічні операції в основному виконуються в регістрах.
Що таке CISC?
CISC означає Complex Instruction Set Computer. Це відноситься до типу комп’ютерної архітектури, яка наголошує на великому наборі інструкцій різної складності. В архітектурі CISC інструкції можуть виконувати складні операції та отримувати прямий доступ до пам’яті. Ці інструкції мають змінну довжину і можуть зайняти кілька тактів для виконання.
Процесори CISC розроблені для обробки складних інструкцій і мінімізації кількості інструкцій, необхідних для виконання завдання. Вони забезпечують широкий набір режимів адресації та підтримку мов високого рівня, що дозволяє програмістам писати більш компактний код. Приклади архітектур CISC включають сімейство процесорів x86, наприклад Pentium від Intel і Ryzen від AMD.
Різниця між RISC і CISC
- Архітектури RISC мають спрощений і оптимізований набір інструкцій, що складається з невеликої кількості простих інструкцій. Навпаки, архітектури CISC мають більший і складніший набір інструкцій з інструкціями, які можуть виконувати більш складні операції.
- Процесори RISC виконують інструкції за один такт, що робить час їх виконання більш передбачуваним. Процесори CISC, з іншого боку, можуть потребувати кількох тактових циклів для виконання інструкцій, і час виконання може змінюватися залежно від складності інструкції.
- Архітектури RISC використовують архітектуру завантаження/зберігання, де всі інструкції обробки даних працюють з даними, що зберігаються в регістрах, а доступ до пам’яті обмежений конкретними інструкціями завантаження та збереження. Архітектури CISC дозволяють інструкціям отримувати прямий доступ до пам’яті, зменшуючи потребу в явних інструкціях завантаження/збереження.
- Архітектури RISC розроблені з простою та регулярною структурою конвеєра, де кожен етап конвеєра виконує певне завдання. Це забезпечує спрощення конвеєрної обробки та більшу пропускну здатність інструкцій. Архітектури CISC з їх складнішими інструкціями можуть мати довші конвеєри та зіткнутися з проблемами досягнення ефективної конвеєрної обробки.
- Архітектури RISC мають тенденцію генерувати код, який є більш компактним і ефективним. Спрощений набір інструкцій і зосередженість на оптимізації звичайних операцій сприяють зменшенню розміру коду. Архітектури CISC, з іншого боку, можуть виконувати складні операції в одній інструкції, що потенційно зменшує кількість необхідних інструкцій, але призводить до більшого розміру коду.
Порівняння між RISC і CISC
Параметри порівняння | RISC | CISC |
---|---|---|
Кодування інструкцій | Інструкції фіксованої довжини | Інструкції змінної довжини |
Реєстрація використання | Наголошується на широкому використанні реєстрів | Більше покладається на доступ до пам'яті |
Складність блоку управління | Проста конструкція блоку управління | Комплексна конструкція блоку керування |
Продуктивність на ват | Як правило, більш енергоефективний | Може споживати більше енергії для складних інструкцій |
Час розробки | Швидший розвиток завдяки простішій архітектурі | Довший час розробки через складність |
- https://dl.acm.org/doi/abs/10.1145/250015.250016
- https://link.springer.com/chapter/10.1007/978-3-540-93799-9_4
Останнє оновлення: 21 серпня 2023 р
Сандіп Бхандарі отримав ступінь бакалавра комп’ютерної техніки в Університеті Тапар (2006). Має 20 років досвіду роботи в технологічній сфері. Він має великий інтерес до різних технічних галузей, включаючи системи баз даних, комп'ютерні мережі та програмування. Ви можете прочитати більше про нього на його біо сторінка.