| |
| |
| ХАРАКТЕРИСТИКА існуючої архітектури |
| |
| 1.1 Основні відмінності CISC і RISC архітектур |
| Двома основними архитектурами набору команд, що використовуються комп'ютерної |
| промисловістю на сучасному етапі розвитку обчислювальної техніки (у |
| відповідно до [2]) є архітектури CISC і RISC. Основоположником |
| CISC-архітектури можна вважати компанію IBM з її базової архітектурою/360, |
| ядро якої використовується з 1964 року і дійшла до наших днів, наприклад, у таких |
| сучасних мейнфреймах як IBM ES/9000.Лідером у розробці мікропроцесорів c |
| повним набором команд (CISC - Complete Instruction Set Computer) вважається |
| компанія Intel зі своєю серією x86 і Pentium. Ця архітектура є |
| практичним стандартом для ринку мікрокомп'ютерів. Для CISC-процесорів |
| характерно: порівняно невелике число регістрів загального призначення; велике |
| кількість машинних команд, деякі з яких навантажені семантично |
| аналогічно операторам високорівневих мов програмування і виконуються за |
| багато тактів; велика кількість методів адресації; велику кількість форматів |
| команд різної розрядності; переважання двоадресного формату команд; |
| наявність команд обробки типу регістр-пам'ять. |
| Основою архітектури сучасних робочих станцій і серверів є архітектура |
| комп'ютера зі скороченим набором команд (RISC - Reduced Instruction Set |
| Computer). Зародки цієї архітектури йдуть своїм корінням до комп'ютерів |
| CDC6600, розробники яких (Торнтон, Крей та ін) усвідомили важливість спрощення |
| набору команд для побудови швидких обчислювальних машин. Цю традицію |
| спрощення архітектури С. Крей з успіхом застосував при створенні широко відомою |
| серії суперкомп'ютерів компанії Cray Research. Проте остаточно поняття RISC |
| у сучасному його розумінні сформувався на базі трьох дослідних |
| проектів комп'ютерів: процесора 801 компанії IBM, процесора RISC університету |
| Берклі і процесора MIPS Стенфордського університету. |
| Серед інших особливостей RISC-архітектур слід відзначити наявність досить |
| великого реєстрового файлу (в типових RISC-процесорах реалізуються 32 або |
| більше число регістрів у порівнянні з 8 - 16 регістрами в CISC-архітектур), |
| що дозволяє більшого обсягу даних зберігатися в регістрах на процесорному |
| кристалі більший час і спрощує роботу компілятора з розподілу |
| регістрів під змінні. |
| | | | | | | Лис |
| | | | | |**** 7.0915.01.08 ПЗКП | т |
| | | | | | | |
| І | Лі | № докум. | Підпис. | Дат | | |
| з | ст | | | а | | |
| м | | | | | | | p>
| |
| Для обробки, як правило, використовуються трехадресние команди, що крім |
| спрощення дешифрації дає можливість зберігати більше число змінних в |
| регістрах без їх подальшої перезавантаження. |
| Розвиток архітектури RISC в значній мірі визначалося прогресом у |
| галузі створення оптимізують компіляторів. Саме сучасна техніка |
| компіляції дозволяє ефективно використовувати переваги більшого реєстрового |
| файлу, конвеєрної організації і більшої швидкості виконання команд. |
| Сучасні компілятори використовують також переваги іншій оптимізаційної |
| техніки для підвищення продуктивності, зазвичай застосовується в процесорах |
| RISC: реалізацію затриманих переходів і суперскалярної обробки, що дозволяє |
| в один і той же момент часу видавати на виконання кілька команд. |
| Слід відзначити, що в останні розробки компанії Intel (маються на увазі |
| Pentium і Pentium Pro), а також її послідовників-конкурентів (AMD R5, Cyrix |
| M1, NexGen Nx586 тощо) широко використовуються ідеї, реалізовані в |
| RISC-мікропроцесори, так що багато розходжень між CISC і RISC стираються. |
| Однак складність архітектури та системи команд x86 залишається і є головним |
| чинником, що обмежує продуктивність процесорів на її основі. |
| | | | | | | Лис |
| | | | | |**** 7.0915.01.08 ПЗКП | т |
| | | | | | | |
| І | Лі | № докум. | Підпис. | Дат | | |
| з | ст | | | а | | |
| м | | | | | | | p>
| |
| |
| Переваги і недоліки архітектури PA-RISC |
| компанії Hewlett Packard |
| |
| Основою розробки сучасних виробів Hewlett-Packard є архітектура |
| PA-RISC. Вона була розроблена компанією в 1986 році і з тих пір пройшла |
| кілька стадій свого розвитку завдяки успіхам інтегральної технології від |
| багатокристальні до однокристальної виконання. У вересні 1992 року компанія |
| Hewlett-Packard оголосила про створення свого суперскалярної процесора PA-7100, |
| який з тих пір став основою побудови сімейства робочих станцій HP 9000 |
| Series 700 і сімейства бізнес-серверів HP 9000 Series 800. В даний час |
| є 33 -, 50 - і 99 МГц реалізації кристала PA-7100. Крім того випущені |
| модифіковані, поліпшені за багатьма параметрами кристали PA-7100LC с |
| тактовою частотою 64, 80 і 100 МГц, і PA-7150 з тактовою частотою 125 МГц, а |
| також PA-7200 з тактовою частотою 90 і 100 МГц. Компанія активно розробляє |
| процесор наступного покоління HP 8000, які буде працювати з тактовою |
| частотою 200 МГц і забезпечувати рівень 360 одиниць SPECint92 і 550 одиниць |
| SPECfp92. Поява цього кристала очікується в 1996 році. Крім того, |
| Hewlett-Packard у співпраці з Intel планують створити новий процесор з |
| дуже довгим командним словом (VLIW-архітектура), який буде сумісний як |
| з сімейством Intel x86, так і сімейством PA-RISC. Випуск цього процесора |
| планується на 1998 рік. |
| |
| 1.3 Характеристика процесорів на основі архітектури PA-RISC |
| |
| 1.3.1 Характеристика та особливості процесора PA 7100 |
| |
| Особливістю архітектури PA-RISC є внекрістальная реалізація кеша, що |
| дозволяє реалізувати різні обсяги кеш-пам'яті та оптимізувати конструкцію |
| в залежності від умов застосування (малюнок 1.3.1). Зберігання команд і даних |
| здійснюється в роздільних кешах, причому процесор з'єднується з ними з |
| допомогою високошвидкісних 64-бітових шин. Кеш-пам'ять реалізується на |
| високошвидкісних кристалах статичної пам'яті (SRAM), синхронізація яких |
| здійснюється безпосередньо на тактовій частоті процесора. При тактовою |
| частоті 100 МГц кожен кеш має смугу пропускання 800 Мбайт/с при виконанні |
| операцій зчитування та 400 Мбайт/с при виконанні операцій запису. |
| Мікропроцесор апаратно підтримує різний об'єм кеш-пам'яті: кеш команд |
| може мати об'єм від 4 Кбайт до 1 Мбайт, кеш даних - від 4 Кбайт до 2 Мбайт. |
| | | | | | | Лис |
| | | | | |**** 7.0915.01.08 ПЗКП | т |
| | | | | | | |
| І | Лі | № докум. | Підпис. | Дат | | |
| з | ст | | | а | | |
| м | | | | | | | p>
| |
| |
| Щоб знизити коефіцієнт промахів застосовується механізм хешування адреси. В |
| обох кешах для підвищення надійності застосовуються додаткові контрольні |
| розряди, причому помилки кеша команд коректуються апаратними засобами. |
| |
| |
| |
| |
| ріс.1.3.1 Блок-схема процесора PA 7100 |
| |
| Процесор під'єднується до пам'яті і підсистеми введення/виводу за допомогою |
| синхронної шини. Процесор може працювати з трьома різними відносинами |
| внутрішньої і зовнішньої тактової частоти в залежності від частоти зовнішньої шини: |
| 1:1, 3:2 і 2:1. Це дозволяє використовувати в системах різні за швидкістю |
| мікросхеми пам'яті. |
| Конструктивно на кристалі PA-7100 розміщені: цілочисельний процесор, |
| процесор для обробки чисел з плаваючою точкою, пристрій управління кешем, |
| уніфікований буфер TLB, пристрій управління, а також ряд інтерфейсних |
| схем. Цілочисельний процесор включає АЛП, пристрій зсуву, суматор команд |
| переходу, схеми перевірки кодів умов, схеми обходу, універсальний регістровий |
| файл, регістри |
| | | | | | | Лис |
| | | | | |**** 7.0915.01.08 ПЗКП | т |
| | | | | | | |
| І | Лі | № докум. | Підпис. | Дат | | |
| з | ст | | | а | | |
| м | | | | | | | p>
| |
| |
| управління та регістри адресного конвеєра. Пристрій управління кеш-пам'яттю |
| містить регістри, що забезпечують перезавантаження кеш-пам'яті при виникненні |
| промахів і контроль когерентного стану пам'яті. Цей пристрій містить |
| також адресні регістри сегментів, буфер перетворення адреси TLB і апаратуру |
| хешування, що управляє перезавантаженням TLB. До складу процесора плаваючою точки |
| входять пристрій множення, арифметико-логічний пристрій, пристрій |
| поділу та добування квадратного кореня, регістровий файл і схеми "закороткому" |
| результату. Інтерфейсні пристрої включають всі необхідні схеми для зв'язку з |
| кеш-пам'яті команд і даних, а також з шиною даних. Узагальнений буфер TLB |
| містить 120 рядків асоціативної пам'яті фіксованого розміру і 16 рядків |
| змінного розміру. |
| Пристрій плаваючою точки реалізує арифметику з одинарною та подвійною точністю |
| у стандарті IEEE 754. Його пристрій множення використовується також для |
| виконання операцій цілочисельного множення. Пристрої поділу та обчислення |
| квадратного кореня працюють з подвоєною частотою процесора. |
| Арифметико-логічний пристрій виконує операції додавання, віднімання та |
| перетворення форматів даних. Регістровий файл складається з 28 64-бітових |
| регістрів, кожен з яких може використовуватися як два 32-бітових регістра |
| для виконання операцій з плаваючою точкою одинарної точності. Регістровий файл |
| має п'ять портів читання і три порти записи, які забезпечують одночасне |
| виконання операцій множення, додавання і завантаження/запису. |
| Конвеєр проектувався з метою максимального збільшення часу, необхідного |
| для виконання читання зовнішніх кристалів SRAM кеш-пам'яті даних. Це дозволяє |
| максимізувати частоту процесора при заданій швидкості SRAM. Всі команди |
| завантаження (LOAD) виконуються за один такт і вимагають тільки одного такту смуги |
| пропускання кеш-пам'яті даних. Оскільки кеші команд і даних розміщені на |
| різних шинах, в конвеєрі відсутні будь-які втрати, пов'язані з |
| конфліктами за зверненнями в кеш даних і кеш команд. |
| Процесор може в кожному такті видавати на виконання одну цілочисельну |
| команду та одну команду плаваючою точки. Смуга пропускання кеша команд |
| достатня для підтримки безперервної видачі двох команд у кожному такті. |
| Відсутні будь-які обмеження з вирівнювання або порядку проходження пари |
| команд, які виконуються разом. Крім того, відсутні втрати тактів, |
| пов'язаних з перемиканням з виконання двох команд на виконання однієї команди. |
| |
| | | | | | | Лис |
| | | | | |**** 7.0915.01.08 ПЗКП | т |
| | | | | | | |
| І | Лі | № докум. | Підпис. | Дат | | |
| з | ст | | | а | | |
| м | | | | | | | p>
| |
| |
| Спеціальна увага була приділена тому, щоб видача двох команд в одному такті |
| не приводила до обмеження тактової частоти. Щоб досягти цього, в кеші |
| команд був реалізований спеціально призначений для цього заздалегідь декодіруемий |
| біт, щоб відокремити команди цілочисельного пристрою від команд пристрої |
| плаваючою точки. Цей біт попереднього декодування команд мінімізує |
| час, необхідний для правильного поділу команд. |
| |
| Втрати, пов'язані з залежностями за даними і управління, в цьому конвеєрі |
| мінімальні. Команди завантаження виконуються за один такт, за винятком випадку, |
| коли наступна команда користується регістром-приймачем команди LOAD. Як |
| правило компілятор дозволяє обійти подібні втрати одного такту. Для |
| зменшення втрат, пов'язаних з командами умовного переходу, в процесорі |
| використовується алгоритм прогнозування напрямку передачі управління. Для |
| оптимізації продуктивності циклів передачі управління вперед за програмою |
| прогнозуються як невиполняемие переходи, а передачі управління тому за |
| програмі - як виконуються переходи. Правильно спрогнозовані умовні |
| переходи виконуються за один такт. |
| Кількість тактів, необхідний для запису слова чи подвійного слова командою |
| STORE зменшено з трьох до двох тактів. У більш ранніх реалізаціях архітектури |
| PA-RISC був необхідний один додатковий такт для читання тега кеша, щоб |
| гарантувати потрапляння, а також для того, щоб об'єднати старі дані |
| рядка кеш-пам'яті даних з записуваними даними. PA 7100 використовує окрему |
| шину адресного тега, щоб поєднати за часом читання тега з записом даних |
| попередньої команди STORE. Крім того, наявність окремих сигналів дозволу |
| запису для кожного слова рядка кеш-пам'яті усуває необхідність об'єднання |
| старих даних з новими, які надходять при виконанні команд запису слова або |
| подвійного слова. Цей алгоритм вимагає, щоб запис в мікросхеми SRAM |
| відбувалася тільки після того, коли буде визначено, що даний запис |
| супроводжується потраплянням в кеш і не викликає переривання. Це вимагає |
| додаткової ступені конвеєра між читанням тега і записом даних. Така |
| конвейеризації не призводить до додаткових втрат тактів, оскільки в |
| процесорі реалізовані спеціальні ланцюга обходу, що дозволяють направити |
| відкладені дані команди запису наступним командам завантаження або командам |
| STORE, записуючим тільки частину слова. Для даного процесора втрати конвеєра |
| для команд запису слова чи подвійного слова зведені до нуля, якщо безпосередньо |
| наступна |
| | | | | | | Лис |
| | | | | |**** 7.0915.01.08 ПЗКП | т |
| | | | | | | |
| І | Лі | № докум. | Підпис. | Дат | | |
| з | ст | | | а | | |
| м | | | | | | | p>
| |
| |
| команда не є командою завантаження або запису. В іншому разі втрати |
| дорівнюють одній такту. Втрати на запис частини слова можуть становити від нуля до |
| двох тактів. Моделювання показує, що переважна більшість команд |
| запису в дійсності працюють з однослівні або двухсловним форматом. |
| Всі операції з плаваючою точкою, за винятком команд поділу та обчислення |
| квадратного кореня, повністю конвейерізовани і мають двотактних затримку |
| виконання як в режимі з одинарною, так і з подвійною точністю. Процесор може |
| видавати на виконання незалежні команди з плаваючою точкою в кожному такті |
| при відсутності будь-яких втрат. Послідовні операції з залежностями з |
| регістрів призводять до втрати одного такту. Команди поділу та обчислення |
| квадратного кореня виконуються за 8 тактів при одиночній і за 15 тактів при |
| подвійної точності. Виконання команд не зупиняється через команд |
| поділу/обчислення квадратного кореня до тих пір, поки не буде потрібно регістр |
| результату або не буде видаватися наступна команда поділу/обчислення |
| квадратного кореня. |
| Процесор може виконувати паралельно одну цілочисельну команду та одну команду |
| з плаваючою точкою. При цьому "цілочисельними командами" вважаються і команди |
| завантаження і запису регістрів плаваючої крапки, а "команди плаваючою точки" |
| включають команди FMPYADD і FMPYSUB. Ці останні команди об'єднують операцію |
| множення з операціями додавання або віднімання відповідно, які |
| виконуються паралельно. Пікова продуктивність складає 200 MFLOPS для |
| послідовності команд FMPYADD, в яких суміжні команди незалежні по |
| регістрів. |
| Втрати для операцій плаваючою точки, що використовують попередню завантаження |
| операнда командою LOAD, складають один такт, якщо команди завантаження і плаваючою |
| арифметики є суміжними, і два такту, якщо вони видаються для виконання |
| одночасно. Для команди запису, що використовує результат операції з плаваючою |
| точкою, втрати відсутні, навіть якщо вони виконуються паралельно. |
| Втрати, що виникають при промахи в кеші даних, мінімізуються допомогою |
| застосування чотирьох різних методів: "попадання при промаху" для команд LOAD і |
| STORE, потоковий режим роботи з кешем даних, спеціальна кодування команд |
| запису, що дозволяє уникнути копіювання рядки, в якій стався промах, і |
| семафорні операції в кеш-пам'яті. Перше властивість дозволяє під час обробки |
| промаху в кеші даних виконувати будь-які типи інших команд. Для |
| | | | | | | Лис |
| | | | | |**** 7.0915.01.08 ПЗКП | т |
| | | | | | | |
| І | Лі | № докум. | Підпис. | Дат | | |
| з | ст | | | а | | |
| м | | | | | | | p>
| |
| |
| промахів, що виникають при виконанні команди LOAD, обробка наступних команд |
| може тривати до тих пір, поки регістр результату команди LOAD не |
| буде потрібно як регістра операнда для іншої команди. Компілятор може |
| використовувати цю властивість для попередньої вибірки в кеш необхідних даних |
| задовго до того моменту, коли вони дійсно потрібні. Для промахів, |
| що виникають при виконанні команди STORE, обробка наступних команд завантаження |
| або операцій запису в частині одного слова продовжується до тих пір, поки не |
| виникає звернень до рядка, в якій стався промах. Компілятор може |
| використовувати цю властивість дЩоб виконання команд на тлі запису результатів |
| попередніх обчислень. Під час затримки, пов'язаної з обробкою промаху, |
| інші команди LOAD та STORE, для яких відбувається попадання в кеш даних, |
| можуть виконуватися як і інші команди цілочисельний арифметики і плаваючою |
| точки. Протягом всього часу обробки промаху команди STORE, інші команди |
| запису в ту ж рядок кеш-пам'яті можуть відбуватися без додаткових втрат |
| часу. Для кожного слова у рядку кеш-пам'яті процесор має спеціальний |
| индикационного біт, що запобігає копіювання з пам'яті тих слів рядки, |
| які були записані командами STORE. Ця можливість застосовується до |
| цільночисельні і плаваючим операціях LOAD та STORE. |
| Виконання команд зупиняється, коли регістр-приймач команди LOAD, |
| виконується з помилкою, потрібно як операнда іншої команди. |
| Властивість "потокового" дозволяє продовжити виконання як тільки потрібне слово |
| або подвійне слово повертається із пам'яті. Таким чином, виконання команд |
| може продовжуватися як під час затримки, пов'язаної з обробкою промаху, так і |
| під час заповнення відповідного рядка при промаху. |
| При виконанні блокового копіювання даних у ряді випадків компілятор заздалегідь |
| знає, що запис має здійснюватися на повну рядок кеш-пам'яті. Для |
| оптимізації обробки таких ситуацій архітектура PA-RISC 1.1 визначає |
| спеціальну кодування команд запису ( "блочне копіювання"), яка |
| показує, що апаратури не потрібно здійснювати вибірку з пам'яті рядки, при |
| зверненні до якої може відбутися промах кеш-пам'яті. У цьому випадку час |
| звернення до кешу даних складається з часу, який потрібен для |
| копіювання в пам'ять старої рядка кеш-пам'яті за тією ж адресою в кеші (якщо він |
| "брудний") і часу, необхідного для запису нового тега кеша. У процесорі PA |
| 7100 така можливість реалізована як для привілейованих, так і для |
| непривілейованих команд. |
| | | | | | | Лис |
| | | | | |**** 7.0915.01.08 ПЗКП | т |
| | | | | | | |
| І | Лі | № докум. | Підпис. | Дат | | |
| з | ст | | | а | | |
| м | | | | | | | p>
| |
| |
| Остання поліпшення управління кешем даних пов'язано з реалізацією семафорні |
| операцій "завантаження з обнуленням" безпосередньо в кеш-пам'яті. Якщо СЕМАФОРНА |
| операція виконується на сервері, то втрати часу при її виконанні не перевищують |
| втрат звичайних операцій запису. Це не тільки скорочує конвеєрні втрати, але |
| і знижує трафік шини пам'яті. В архітектурі PA-RISC 1.1 передбачений також |
| інший тип спеціального кодування команд, який усуває вимога |
| синхронізації семафорні операцій з пристроями введення/виводу. |
| Управління кеш-пам'яті команд дозволяє при промаху продовжити виконання |
| команд відразу ж після надходження відсутньої в кеші команди з пам'яті. |
| 64-бітова магістраль даних, що використовується для заповнення блоків кеша команд, |
| відповідає максимальній смузі пропускання шини пам'яті 400 Мбайт/с |
| при тактовій частоті 100 МГц. |
| У процесорі передбачений також ряд заходів з мінімізації втрат, пов'язаних з |
| перетвореннями віртуальних адрес у фізичні. |
| Конструкція процесора забезпечує реалізацію двох способів побудови |
| багатопроцесорних систем. При першому способі кожен процесор під'єднується до |
| интерфейсному кристалу, який спостерігає за всіма транзакціями на шині |
| основної пам'яті. У такій системі всі функції з підтримання когерентного |
| стану кеш-пам'яті покладено на інтерфейсний кристал, який посилає |
| процесору відповідні транзакції. Кеш даних побудований на принципах |
| відкладеного зворотного копіювання і для кожного блоку кеш-пам'яті підтримуються |
| біти стану "приватний" (private), "брудний" (dirty) і "достовірний" (valid), |
| значення яких змінюються відповідно до транзакціями, які видає або |
| приймає процесор. |
| Другий спосіб організації багатопроцесорної системи дозволяє об'єднати два |
| процесора і контролер пам'яті і введення-виведення на одній і тій же локальній шині |
| пам'яті. У такій конфігурації не потрібно додаткових інтерфейсних |
| кристалів і вона сумісна з існуючою системою пам'яті. Когерентність |
| кеш-пам'яті забезпечується наглядом за локальною шиною пам'яті. Пересилання |
| рядків між кешами виконуються без участі контролера пам'яті і введення-виведення. |
| Така конфігурація забезпечує можливість побудови дуже дешевих |
| високопродуктивних багатопроцесорних систем. |
| Процесор підтримує ряд операцій, необхідних для поліпшення |
| | | | | | | Лис |
| | | | | |**** 7.0915.01.08 ПЗКП | т |
| | | | | | | |
| І | Лі | № докум. | Підпис. | Дат | | |
| з | ст | | | а | | |
| м | | | | | | | p>
| |
| |
| графічної продуктивності робочих станцій серії 700: блокові пересилання, |
| Z-буферизацію, інтерполяції кольорів і команди пересилання даних з плаваючою |
| точкою для обміну з простором введення/виводу. |
| Процесор побудований на базі технологічного процесу КМОП з проектними нормами |
| 0.8 мікрон, що забезпечує тактову частоту 100 МГц. |
| |
| 1.3.2 Характеристика та особливості процесора PA 7200 |
| |
| Процесор PA 7200 має ряд архітектурних вдосконалень порівняно з PA |
| 7100, головними з яких є додавання другого цілочисельного конвеєра, |
| побудова внутрікрістального допоміжного кеша даних та реалізація нового |
| 64-бітового інтерфейсу з шиною пам'яті. |
| Процесор PA 7200, як і його попередник, забезпечує суперскалярної режим |
| роботи з одночасною видачею до двох команд в одному такті. Всі команди |
| процесора можна розділити на три групи: цілочисельні операції, операції |
| завантаження/запису та операції з плаваючою точкою. PA 7200 здійснює |
| одночасну видачу двох команд, які належать різним групам, або двох |
| цілочисельних команд (завдяки наявності других цілочисельного конвеєра з АЛП |
| і додаткових портів читання і запису в реєстрових файлі). Команди переходу |
| виконуються в цілочисельне конвеєрі, причому ці переходи можуть складати |
| пару для одночасної видачі на виконання тільки з попередньою командою. |
| Підвищення тактової частоти процесора вимагає спрощення декодування команд на |
| етапі видачі. З цією метою попередня дешифрування потоку команд |
| здійснюється ще на етапі завантаження кеш-пам'яті. Для кожного подвійного слова |
| кеш-пам'ять команд включає 6 додаткових біт, що містять інформацію про |
| наявності залежностей за даними та конфліктів ресурсів, що істотно спрощує |
| видачу команд в суперскалярної режимі. |
| У процесорі PA 7200 реалізований ефективний алгоритм попередньої вибірки |
| команд, добре працює і на лінійних ділянках програм. |
| Як і в PA 7100 в процесорі реалізований інтерфейс із зовнішньою кеш-пам'яті даних, |
| що працює на тактовій частоті процесора з |
| | | | | | | Лис |
| | | | | |**** 7.0915.01.08 ПЗКП | т |
| | | | | | | |
| І | Лі | № докум. | Підпис. | Дат | | |
| з | ст | | | а | | |
| м | | | | | | | p>
| |
| |
| Однотактний часом очікування. Зовнішня кеш-пам'ять даних побудована за принципом |
| прямого відображення. Крім того, для підвищення ефективності на кристалі |
| процесора реалізований невеликий допоміжний кеш ємністю в 64 рядка. |
| Формування, перетворення адреси та звернення до основної та допоміжної |
| кеш-пам'яті даних виконується на двох щаблях конвеєра. Максимальна затримка |
| при виявленні попадання дорівнює одному такту. |
| Допоміжний внутрішній кеш містить 64 32-байтові рядка. При зверненні до |
| кеш-пам'яті здійснюється перевірка 65 тегiв: 64-х тегів допоміжного кеша та |
| одного тега зовнішнього кеша даних. При виявленні збігу дані |
| направляються на потрібне функціональний пристрій. |
| За відсутності необхідної рядка в кеш-пам'яті проводиться її завантаження з |
| основної пам'яті. При цьому рядок надходить до додаткових кеш, що в ряді |
| випадків дозволяє скоротити кількість перезавантажень зовнішньої кеш-пам'яті, |
| організованою за принципом прямого відображення. Архітектурою нового процесора |
| для команд завантаження/запису передбачено кодування спеціального ознаки |
| локального розміщення даних ( "spatial locality only"). При виконанні команд |
| завантаження, позначених цим ознакою, відбувається звичайне заповнення рядка |
| допоміжного кеша. Однак подальша запис рядка здійснюється |
| безпосередньо в основну пам'ять минаючи зовнішній кеш даних, що значно |
| підвищує ефективність роботи з великими масивами даних, для яких розміру |
| рядка кеш-пам'яті з прямим відображенням виявляється недостатньо. |
| Розширений набір команд процесора дозволяє реалізувати засоби |
| автоіндексаціі для підвищення ефективності роботи з масивами, а також |
| здійснювати попередню вибірку команд, що містяться у |
| допоміжний внутрішній кеш. Цей допоміжний кеш забезпечує |
| динамічне розширення ступеня асоціативності основний кеш-пам'яті, |
| побудованої на принципі прямого відображення, і є більш простим |
| альтернативним рішенням в порівнянні з множественно-асоціативної організацією. |
| |
| Процесор PA 7200 включає інтерфейс нової 64-бітової мультиплексний системної |
| шини Runway, що реалізує розщеплення транзакцій і підтримку протоколу |
| когерентності пам'яті. Цей інтерфейс включає буфера транзакцій, схеми |
| арбітражу та схеми управління співвідношеннями зовнішніх і внутрішніх тактових |
| частот. |
| | | | | | | Лис |
| | | | | |**** 7.0915.01.08 ПЗКП | т |
| | | | | | | |
| І | Лі | № докум. | Підпис. | Дат | | |
| з | ст | | | а | | |
| м | | | | | | | p>
| |
| |
| 1.3.3 Характеристика суперскалярної процесора PA 8000 |
| |
| Процесор PA-8000 був анонсований у березні 1995 року на конференції COMPCON 95. |
| Було оголошено, що показники його продуктивності будуть досягати 8.6 |
| одиниць SPECint95 і 15 одиниць SPECfp95 для операцій цільночисельні і речової |
| арифметики відповідно. В даний час цей дуже високий рівень |
| продуктивності підтверджений випробуваннями робочих станцій і серверів, |
| побудованих на базі цього процесора. |
| Процесор PA-8000 увібрав в себе всі відомі методи прискорення виконання |
| команд. У його основі лежить концепція "інтелектуального виконання", яка |
| базується на принципі позачергового виконання команд. Ця властивість дозволяє |
| PA-8000 досягати пікової суперскалярної продуктивності завдяки широкому |
| використання механізмів автоматичного вирішення конфліктів за даними та |
| управління апаратними засобами. Ці засоби добре доповнюють інші |
| архітектурні компоненти, закладені в структуру кристала: велике число |
| виконавчих функціональних пристроїв, засоби прогнозування напрямки |
| переходів і виконання команд за припущенням, оптимізована організація |
| кеш-пам'яті і високопродуктивний шинний інтерфейс. |
| Висока продуктивність PA-8000 багато в чому визначається наявністю великої |
| набору функціональних пристроїв, який включає в себе 10 виконавчих |
| пристроїв: два арифметико-логічних пристрої (АЛП) для виконання |
| цілочисельних операцій, два пристрої для виконання операцій зсуву/злиття |
| даних, два пристрої для виконання множення/додавання чисел з плаваючою |
| крапкою, два пристрої ділення/обчислення квадратного кореня і два пристрої |
| виконання операцій завантаження/запису. |
| Засоби позачергового виконання команд процесора PA-8000 забезпечують |
| апаратне планування завантаження конвеєрів і краще використання |
| функціональних пристроїв. У кожному такті на виконання можуть видаватися до |
| чотирьох команд, які надходять в 56-рядковий буфер переупорядочіванія. Цей |
| буфер дозволяє підтримувати постійну зайнятість функціональних пристроїв і |
| забезпечує ефективну мінімізацію конфліктів по ресурсах. конфліктів по |
| ресурсів. Кристал може аналізувати всі 56 командних рядків одночасно і |
| видавати в кожному такті по 4 вже готові до виконання команди в функціональні |
| пристрою. Це дозволяє процесору |
| | | | | | | Лис |
| | | | | |**** 7.0915.01.08 ПЗКП | т |
| | | | | | | |
| І | Лі | № докум. | Підпис. | Дат | | |
| з | ст | | | а | | |
| м | | | | | | | p>
| |
| автоматично виявляти паралелізм рівня виконання команд. |
| Суперскалярної процесор PA-8000 забезпечує повний набір засобів виконання |
| 64-бітових операцій, включаючи адресну арифметику, а також арифметику з |
| фіксованою та плаваючою точкою. При цьому кристал повністю зберігає |
| сумісність з 32-бітовими додатками. Це перший процесор, в якому |
| реалізована 64-бітова архітектура PA-RISC. Він зберігає повну сумісність з |
| попередніми і майбутніми реалізаціями PA-RISC. |
| Кристал виготовлений за 0.5-мікронній КМОП технології з напругою живлення 3.3 |
| Вольт і можна розраховувати на подальше зменшення розмірів елементів у |
| майбутньому. |
| |
| | | | | | | Лис |
| | | | | |**** 7.0915.01.08 ПЗКП | т |
| | | | | | | |
| І | Лі | № докум. | Підпис. | Дат | | |
| з | ст | | | а | | |
| м | | | | | | | p>
| |
| |
| 2. ОСОБЛИВОСТІ СЕРВЕРІВ КОМПАНІЇ HEWLETT-PACKARD на базі процесорів з |
| Архітектура PA-RISC |
| |
| |
| Компанія Hewlett-Packard була заснована в Каліфорнії в 1938 році з метою |
| створення електронного тестуючого та вимірювального обладнання. В даний |
| час компанія розробляє, виробляє, здійснює маркетинг і сервіс |
| систем для комерційних додатків, автоматизації виробничих процесів, |
| процесів розробки, тестування і вимірювань, а також аналітичні та |
| медичні інструменти і системи, периферійне обладнання, калькулятори і |
| компоненти для використання в широкому ряді галузей промисловості. Вона |
| продає понад 4500 виробів, що використовуються в промисловості, бізнесі, науці, |
| освіті, медицині та інженерії. |
| Основою розробки сучасних комп'ютерів Hewlett-Packard є архітектура |
| PA-RISC. Вона була розроблена компанією в 1986 році, і з тих пір, завдяки |
| успіхам інтегральної технології, пройшла кілька стадій свого розвитку від |
| багатокристальні до однокристальної виконання. Архітектура PA-RISC |
| розроблялася з урахуванням можливості побудови багатопроцесорних систем, |
| що реалізовані в старших моделях серверів. |
| 2.1 Сервери HP9000 класу D |
| У секторі ринку серверів робочих груп компанія HP представлена досить |
| широкої серією систем HP9000 класу D. Це серія систем з відносно низькою |
| вартістю, яка конкурує з серверами, побудованими на базі ПК. Ці |
| системи базуються на архітектурі процесорів PA-RISC (75 і 100 МГц PA-7100LC, |
| 100 і 120 МГц PA-7200, а також 160 МГц PA-8000) і працюють під управлінням |
| операційної системи HP-UNIX. |
| Моделі D200, D210 і D310 є (згідно [3]) однопроцесорні |
| системи. Моделі D250, D260, D270 і D350 можуть оснащуватися як одним, так і двома |
| процесорами. У своїх моделях D3XX HP підкреслює властивості забезпечення високої |
| готовності: можливість "гарячої" заміни внутрішніх дискових накопичувачів, |
| можливість організації дискового масиву RAID і наявність джерела |
| безперебійного живлення. Ці моделі мають також розширеними можливостями по |
| нарощування оперативної пам'яті і підсистеми введення/виводу. |
| | | | | | | Лис |
| | | | | |**** 7.0915.01.08 ПЗКП | т |
| | | | | | | |
| І | Лі | № докум. | Підпис. | Дат | | |
| з | ст | | | а | | |
| м | | | | | | | p>
| |
| У моделях D2XX є 5 гнізд розширення введення/виводу і 2 відсіку для встановлення |
| дискових накопичувачів з інтерфейсом SCSI-2. У моделях D3XX кількість гнізд |
| розширення введення/виводу розширено до 8, в 5 відсіках можуть встановлюватися |
| дискові накопичувачі з інтерфейсом Fast/Wide SCSI-2, які допускають заміну |
| без виключення живлення системи. |
| Старші моделі серії забезпечують можливість розширення оперативної ECC-пам'яті |
| до 1.5 Гбайт, при цьому коефіцієнт розшарування може збільшуватися до 12. |
| Максимальний обсяг дискового простору при використанні зовнішніх дискових |
| масивів може досягати 5.0 Тбайт. |
| 2.2 Сервери HP9000 класу K |
| Сервери HP9000 класу K являють собою системи середнього класу, |
| підтримують симетричну мультипроцесорні обробку (до 4 процесорів). |
| Також як і системи класу D вони базуються на архітектурі PA-RISC (120 МГц |
| PA-7200 з кеш-пам'яттю команд/даних першого рівня 256/256 Кбайт або 1/1 Мбайт, |
| а також 160 і 180 МГц PA-8000 з кеш-пам'яттю команд/даних першого рівня 1/1 |
| Мбайт, що працює на тактовій частоті процесора). |
| Конструкція серверів класу До забезпечує високу пропускну здатність |
| систем. Основними компонентами підтримання високої продуктивності є |
|?? істемная шина з пікової пропускною здатністю 960 Мбайт/с, велика |
| оперативна пам'ять з контролем і виправленням одиночних помилок (ECC) ємністю |
| до 4 Гбайт c 32-кратним розшаруванням, багатоканальна підсистема введення/виводу з |
| пропускною спроможністю до 288 Мбайт/с, стандартна високошвидкісна шина |
| Fast/Wide Differential SCSI-2, а також додаткові можливості по |
| підключенню високошвидкісних мереж і каналів типу FDDI, ATM і Fibre Channel. |
| У конструкції сервера передбачені 4 відсіку для встановлення дискових |
| накопичувачів, а за допомогою спеціальних стійок (кабінетів) розширення ємність |
| дискової пам'яті системи може бути доведена до 8.3 Тбайт. |
| | | | | | | Лис |
| | | | | |**** 7.0915.01.08 ПЗКП | т |
| | | | | | | |
| І | Лі | № докум. | Підпис. | Дат | | |
| з | ст | | | а | | |
| м | | | | | | | p>
| |
| |
| 2.3 Симетричні багатопроцесорні сервери HP9000 класу Т |
| Найпотужнішим і можливості розширення поруч корпоративних серверів компанії HP на базі ОС |
| UNIX є сімейство HP9000 класу T. Це наступне покоління серверів, |
| яке було розроблене компанією слідом за HP9000 model 870. На початку на ринку |
| з'явилися системи HP9000 T500, що допускають встановлення до 12 процесорів PA7100, |
| потім HP оголосила 14-процесорні системи T520, побудовані на базі процесора |
| 120 МГц PA7150. В даний час оголошені 12-процесорні системи Т600 на |
| базі процесора PA-8000, постачання яких повинні початися в 1997 році. |
| Існуючі системи (Т500 і Т520) допускають заміну старих процесорів на |
| процесори PA-8000. |
| Характерною особливістю архітектури серверів класу Т є велика ємність |
| кеш-пам'яті команд (1 Мбайт) і даних (1 Мбайт) у кожного процесора системи. |
| Сервери класу T використовують 64-бітову шину з розщепленням транзакцій, яка |
| підтримує до 14 процесорів, що працюють на частоті 120 МГц. Ефективність |
| цієї шини, як і шини Runway, становить 80%, що забезпечує у сталому |
| режимі пропускну здатність 768 Мбайт/с при пікової продуктивності 960 |
| Мбайт/с. |
| Сервери класу T можуть підтримувати до 8 каналів HP-PB (HP Precision Bus), |
| які працюють із швидкістю 32 Мбайт/с, проте в стійці основної системи |
| підтримується тільки один канал HP-PB. Для забезпечення повної конфігурації |
| підсистеми введення/виводу необхідне встановлення 7 стійок розширення, що займають |
| досить велику площу. Загальна пікова смуга пропускання підсистеми в/в у |
| повністю сконфігурованої 8-готелі, складає 256 Мбайт/с, що |
| менше смуги пропускання підсистеми в/в серверів класу К. Проте максимальна |
| ємність дискової пам'яті при використанні RAID-масивів досягає 20 Тбайт. |
| Зазначена двоярусна шинна структура сервера забезпечує оптимальний баланс |
| між вимогами процесорів і підсистеми введення/виводу, гарантуючи високу |
| пропускну здатність системи навіть при важкій робочого навантаження. Доступ |
| процесорів до основної пам'яті здійснюється за допомогою потужної системної шини |
| процесор-пам'ять, що підтримує когерентне стан кеш-пам'ятей всій |
| системи. У майбутніх системах планується 4-кратне зр