Ноу Інти, лекція, технологія powerpc

RISC-процесор AS / 400 для комерційних розрахунків

IMPI була переважно архітектурою пам'ять - пам'ять. За допомогою однієї команди дані могли бути обрані з пам'яті, змінені процесором і записані назад. Зазвичай, інтерактивні додатки обробки транзакцій переміщують багато даних, але змінюють лише їх малу частину. Розглянемо типову операцію поновлення інвентарному описі.

Описана операція може вважатися окремою транзакцією, або бути частиною більш великої транзакції. У будь-якому випадку, ми маємо справу з обробкою транзакцій. Крім того, цей додаток інтерактивно, так як їм управляє людина за терміналом (приймальник замовлення). Цій людині дуже важливо отримати відповідь швидко. Отже, для створення інтерактивної системи обробки транзакцій абсолютно необхідний процесор. який в змозі переміщати великі обсяги даних і виконувати операції в короткий час. AS / 400 відмінно підходить для додатків такого типу.

Протягом багатьох років ми досліджували тисячі комерційних додатків, написаних для AS / 400 та інших багатокористувацьких систем Рочестера. Всі вони мають ряд загальних характеристик. Розглянемо деякі з них.

Порівняємо додаток даного типу з типовим додатком для інженерних або наукових розрахунків, що виконується на спеціалізованій робочої станції. Останні часто називають обчислювальними (compute-intensive). так як вони виконують великі обсяги обчислень з відносно малими обсягами даних. Зазвичай, такі додатки мають малі робочі набори команд з великим числом компактних циклів обчислень з плаваючою точкою. Ввод- висновок в них частіше послідовний, а не прямий. Сеймур Крей показав, що для додатків такого типу найкращим буде процесор. який обробляє дані тільки в регістрах, як RISC -Процесор.

Комерційні програми по -колишньому переважають, серед програм, написаних для AS / 400. Але з'являється все більше високопродуктивних обчислювач них додатків, що пов'язано з переходом до моделі клієнт-сервер. У цій моделі додаток розбивається між ПК або мережний комп'ютером СК (клієнт) і AS / 400 (сервер). Серверні додатки орієнтовані на збільшення числа операцій, в порівнянні з інтерактивними додатками. Додатки майбутнього, ймовірно, зажадають ще більшої обчислювальної потужності.

З моменту своєї появи архітектура IMPI неодноразово розширювалася і модифікувалася. Але навіть і з урахуванням цих змін її не можна визнати придатною для виконання великого обсягу обчислень. Більшості фахівців в Рочестері було ясно, що для задоволення майбутніх потреб в обчислювальній потужності необхідне введення характеристик RISC -Процесор.

У той час RISC -Процесор були, як правило, 32-розрядними (тобто ширина трактів даних і регістрів процесора дорівнює всього лише 32 бітам). Більшість мало і 64-розрядні регістри з плаваючою точкою, але цілочисельні регістри - ті, які використовуються для комерційних розрахунків, - мали тільки 32 розряду. А так як RISC - процесор перед обробкою даних повинен спочатку завантажити їх в свої регістри, то при великих обсягах даних 32-розрядна ширина швидко стає недоліком. Архітектури CISC. такі як IMPI. можуть виконувати команди пам'ять - пам'ять. обробляючи дані без завантаження їх в регістри, таким чином, це вузьке місце тут фактично обходиться.

Не можна було не брати до уваги і обсяг микрокода, який довелося б змінити. Почавши з IMPI. ми змогли б мінімізувати ці зміни.

Отже, було прийнято рішення: взяти IMPI. розширити його до 64 біт і додати обчислювальні операції. властиві RISC. Нам треба було створити перший гібридний процесор CISC / RISC. призначений виключно для комерційних обчислень. Ми назвали його C- RISC - "Commercial- RISC".

Технологія PowerPC для AS / 400

Кюлер не міг зрозуміти, чому обидві його основні лабораторії одночасно займаються розробкою нових RISC-процесорів. Лабораторія в Остіні працювала над специфікацією PowerPC. а лабораторія в Рочестері - над C-RISC. Кюлер був переконаний в необхідності об'єднати зусилля двох цих дослідних центрів, а також в тому, що PowerPC підійде і тим, і іншим. Він став з'ясовувати, чому Рочестер не може використовувати цей процесор.

Ми покірно їздили в Армонк (Armonk), штат Нью-Йорк, де спробували пояснити відмінності між процесорами для комерційних і наукових розрахунків. Кюлер не заперечував успіхи Рочестера, але і не приймав наші доводи. Він вимагав додаткові дані в обгрунтування нашої позиції. "Невже RS / 6000 не може виконувати і комерційні обчислення?" - питав він. Нарешті, приблизно після третього візиту в Армонк нам вдалося його переконати.

Фахівці Рочестера знали, про що говорять. Вони розуміли як робити процесори для комерційних обчислень, і чим ці процесори відрізнялися від призначених для технічних розрахунків. І все ж Кюлер наполіг, щоб через 90 днів ми повернулися до нього з відповідями на два питання: "Як змінити архітектуру PowerPC. Щоб вона підійшла для AS / 400?" і "Скільки буде коштувати переклад AS / 400 на цю нову архітектуру?". Тим самим Кюлер дав нам можливість впливати на проект PowerPC. Він також виявив бажання фінансувати будь-які додаткові витрати. пов'язані з переходом на новий процесор.

Успіх проекту багато в чому залежав від Рочестерського команди, чиї інженери були в числі найкращих. Завдання було не з легких. Спочатку здавалося, що вимоги AS / 400 прямо протилежні задачам PowerPC. Потім виникло відчуття, що в результаті злиття цих двох архітектур Рочестер втратить можливість створювати процесори, оптимізовані для комерційних розрахунків. Годі й казати, як гарячі були суперечки!

Було вирішено розпочати з архітектури PowerPC в тому вигляді, як вона була визначена на той момент. До неї слід було додати розширення, необхідні для AS / 400. В результаті повинно було статися щось нове, заздалегідь назване, на відміну від базової архітектури PowerPC. Amazon.

За координацію проекту відповідав Дерріл Солі (Darryl Solie). Він знаходився в тісному контакті з обома групами розробників в Остіні і Рочестері і забезпечував взаємодію між ними. Проектувальники Рочестера багато чому навчилися у інженерів інших підрозділів IBM і Motorola. Рівні продуктивності процесорів, які спершу здавалися недосяжними, раптово ставали можливими. В результаті, зараз в Рочестері створюються одні з найшвидших процесорів в світі. Наша лабораторія відповідає всередині IBM за розробку нових 64-розрядних процесорів для комерційних обчислень.

Всякий раз, коли виникали тертя, виникали суперечки, і хто-небудь починав стверджувати, що порочна ідея в цілому, в справу втручався Білл Берг (Bill Berg). Спокійно, дипломатично і швидко переконував нас в тому, що ми - на правильному шляху, і що тільки ми можемо пройти його до кінця. Пізніше Білл сприяв тому, щоб переконати розробників використовувати при створенні програмного забезпечення нової операційної системи об'єктно-орієнтовані технології.

Архітектура PowerPC повинна була працювати як в 32-розрядному, так і в 64-розрядному режимах. Всі 64-розрядні версії PowerPC повинні були мати і 32-розрядний підмножина. Ми зосередилися тільки на 64-розрядному режимі, практично не змінивши 32-розрядний підмножина.

У міру розробки нової архітектури ми могли попередньо оцінити її вартість. Робота велася напружено і була завершена за 90 днів, але результати не надто вражали.

Багато з необхідних нам архітектурних змін було б важко внести в ранні версії процесорів PowerPC. розроблені в Сомерсеті. Процесори пізніх моделей AS / 400 повинні були обробляти дуже великі обсяги даних, і для потрібної продуктивності були потрібні дуже широкі шини даних. Ми навіть не намагалися нічого додавати в конструкції процесорів PowerPC 601, 603 або 604, так як вони підтримували тільки 32-розрядний режим. Було також вкрай сумнівно, чи зможемо ми вдосконалити перший розроблений в Сомерсеті 64-розрядний процесор (його остаточна назва ѕ 620), так як щільність упаковки елементів на цьому кристалі була недостатня для того, щоб зробити його придатним для наших моделей - довелося б розробити Багатокристальний версію архітектури.

Навіть відносно молодших моделей AS / 400 у нас не було повної ясності. Деякий час ми припускали застосувати вдосконалений варіант 620, який ми назвали 621, але в кінці кінців вирішили, що простіше всього розробляти процесори для AS / 400 всередині IBM.

Одночасно з нами розробники RS / 6000 також прийшли до висновку, що не зможуть використовувати ранні версії процесорів PowerPC в своїх старших моделях. Для молодших моделей підходив однокристальний процесор розроблений в Сомерсеті, але для більш високопродуктивних моделей був потрібний багатокристальні процесор. Крім того, наші колеги хотіли включити в свій проект деякі комерційно вигідні можливості технічних обчислень, а саме, NIC (numerically intensive computing), більшість з яких відсутні в звичайному PowerPC. Також було додано більше конвеєрів і нові обчислювальні команди. Створене в результаті розширення первісної архітектури POWER отримало назву POWER2.

Спочатку архітектори AS / 400 і RS / 6000 хотіли добитися загальної конструкції процесорів, вирішивши включити в архітектуру Amazon всі необхідні для них розширення. Ми планували створити один процесор. який міг би підтримувати специфічні вимоги обох систем.

У перших загальних процесора PowerPC. призначеного як для AS / 400, так і для RS / 6000, було кілька назв. Розробники RS / 6000 часто називали його POWER3, або PowerPC 630. Ми дали йому внутрішнє ім'я Belatrix. Беллатрикс - це зірка в сузір'ї Оріона. Мало хто знає, що її називають також зіркою Амазонки (Amazon Star). Belatrix повинен був стати зіркою архітектури Amazon.

Як і багато попередніх проекти, проект Belatrix був занадто амбітним і всеохоплюючим і не мав успіху. Ми вирішили, що доцільніше мати кілька версій процесорів PowerPC. оптимізованих для різних обчислювальних середовищ. Кожен процесор PowerPC повинен був реалізовувати базовий набір команд і функцій, а також підтримувати необов'язкові розширення.

В області програмного забезпечення ситуація з PowerPC була набагато гірше, в порівнянні з тим, що ми обіцяли Кюлеру. Все прикладне та системне програмне забезпечення, яке працювало поверх MI, було захищене завдяки незалежній від технології архітектурі AS / 400. Однак, оскільки PowerPC сильно відрізняється від IMPI. то мікрокод, розташований нижче MI, було необхідно переробити під новий процесор. Це нелегке завдання, незважаючи на те, що частина її можна було здійснити за допомогою автоматизованих засобів. Тим часом наші програмісти повинні були займатися випуском нових версій AS / 400. Ми підрахували, що для роботи з RISC -Процесор потрібно найняти кілька сотень нових системних програмістів.

Як уже згадувалося, спочатку ми планували тільки 64-розрядний режим процесора. Зрештою, AS / 400 не використовує 32-розрядний режим, та й ніхто більше не збирався використовувати ранні 32-розрядні процесори, так що реалізовувати цю архітектуру в повному обсязі, як нам здавалося, не мало сенсу. Але приблизно через рік, коли стало ясно, що AS / 400 необхідно підтримувати все прикладне програмне забезпечення. написане для процесорів PowerPC. це рішення було змінено. Оскільки велика частина таких програм написана для 32-розрядних процесорів, то і нам довелося включити в усі свої процесори 32-розрядний підмножина. Це також повинно було забезпечити можливість використовувати наші нові PowerPC на інших системах IBM.

Одночасно активізувалася робота по перенесенню микрокода AS / 400 на нові процесори. Це була можливість ревізії нутрощів операційної системи AS / 400, чого не робилося з моменту розробки System / 38. Оскільки ми збиралися перекроювати самі основи, то було вирішено йти до кінця і використовувати новітні об'єктно-орієнтовані методології програмування. Ми планували отримати найсучаснішу операційну систему.

Перш ніж перейти до більш докладного розгляду архітектури PowerPC. хочу нагадати про нашу "перцевої" системі рейтингу. Частина, що залишилася цієї лекції - лише для тих, кому потрібні додаткові подробиці. Зверніть увагу, що коли ми почнемо обговорення реалізації процесора, матеріал стане ще "гостріше". Якщо "спробувавши цієї інформації Ви знайдете її" занадто ", просто перегорніть книгу, поки не дійдете до тих розділів, де менше спецій.