PowerPC - микропроцессорная RISC-архитектура
План
Особливості архітектури POWER компанії IBM і POWERPC компаній Motorola, Apple і IBM
Архітектура POWER
Еволюція архітектури POWER у напрямі архітектури POWERPC
POWERPC 601
Процесор POWERPC 603
POWERPC 604
POWERPC 620
Особливості архітектури POWER компанії IBM і POWERPC компаній Motorola, Apple і IBM
Як вже було відмічено, одним з розробників фундаментальної концепції RISC-архітектури був Джон Кук з Дослідницького центру IBM ім. Уотсона, який в середині 70-х проводив дослідження в цьому напрямі і побудував мінікомп'ютер IBM 801, який так ніколи і не з'явився на ринку. Подальший розвиток цих ідей в компанії IBM знайшов віддзеркалення при розробці архітектуру POWER в кінці 80-х. Архітектура POWER (і її піднапрями POWER2 і POWERPC) в даний час є основою сімейства робочих станцій і серверів RISC System /6000 компанії IBM.
Розвиток архітектури IBM 801 у напрямі POWER йшов в наступних напрямах: втілення концепції суперскалярної обробки, поліпшення архітектури як цільового об'єкту компіляторів, скорочення довжини конвеєра і часу виконання команд і, нарешті, пріоритетна орієнтація на ефективне виконання операцій з плаваючою крапкою.
Архітектура POWER
Архітектура POWER у багатьох відношеннях є традиційною RISC-архітектуру. Вона дотримується найбільш важливих відмітних особливостей RISC: фіксованої довжини команд, архітектура регістр-регістр, простих способів адресації, простих (що не вимагають інтерпретації) команд, великого регістрового файлу і трехоперандного (неруйнівного) формату команд. Проте архітектура POWER має також декілька додаткових властивостей, які відрізняють її від іншої RISC-архітектур.
По-перше, набір команд був заснований на ідеї суперскалярної обробки. У базовій архітектурі команди розподіляються по трьом незалежним виконавчим пристроям: пристрою переходів, пристрою з фіксованою крапкою і пристрою з плаваючою крапкою
По-друге, архітектура POWER розширена декількома "змішаними" командами для скорочення часів виконання. Можливо єдиним недоліком технології RISC в порівнянні з CISC, є те, що іноді вона використовує більшу кількість команд для виконання одного і того ж завдання. Було виявлено, що у багатьох випадках збільшення розміру коди можна уникнути шляхом невеликого розширення набору команд, яке зовсім не означає повернення до складних команд, подібних команд CISC. Наприклад, значна частина збільшення програмної коди була виявлена в кодах