ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Порівняння архітектури POWER з іншими RISC архітектурою .
         

     

    Комп'ютерні науки
    Порівняння архітектури POWER з іншими RISC архітектурою.
    Аркадьєв Олександр, Буторин Махмуд, гр. 339.
    Архітектура POWER
     1. Еволюція архітектури POWER у напрямку архітектури PowerPC
     2. PowerPC 601
     3. Процесор PowerPC 603
    Опис архітектури та принципів роботи мікропроцесорів сімейства PowerPC
     1. Загальні відомості
     2. Архітектура і робота процесора.
     2.1 Потік команд.
     2.2 Черга команд і пристрій розподілу.
     2.3 Пристрій обробки переходів.
     2.4 Пристрій завершення команд.
     2.5 Пристрої виконання.
     2.5.1 Пристрої виконання цілочисельних команд (IU).
     2.5.2 Пристрій виконання команд з плаваючою крапкою (FPU)
     2.5.3 Пристрій завантаження/запису (LSU).
     2.5.4 Пристрій системних регістрів (SRU).
     2.6 Пристрій керування пам'яттю (MMU)
     2.7 Вбудовані кеші команд і даних.
     3. Системний інтерфейс. Схема висновків процесора.
     3.1 Шини адреси і даних функціонують окремо. Використовуються два види доступів до пам'яті і
     пересилання даних.
     3.2 Групи висновків процесора 750.
     4. Регістри і програмна модель PowerPC.
     4.1 Регістри PowerPC.
     4.2 Система команд PowerPC.
    Архітектура POWER
    Архітектура POWER у багатьох відношеннях являє собою традиційну RISC-архітектуру. Вона дотримується найбільш важливих відмінних рис RISC: фіксованої довжини команд, архітектури регістр-регістр, простих способів адресації, простих (які не потребують інтерпретації) команд, великого реєстрового файлу і трехоперандного (неруйнівного) формату команд. Однак архітектура POWER має також декілька додаткових властивостей, які відрізняють її від інших RISC-архітектур.
    По-перше, набір команд був заснований на ідеї суперскалярної обробки. У базовій архітектурі команди розподіляються по трьом незалежним виконавчим пристроям: влаштування переходів, пристрою з фіксованою точкою і пристрою з плаваючою точкою. Команди можуть направлятися в кожне з цих пристроїв одночасно, де вони можуть виконуватися одночасно і закінчуватися не в порядку надходження. Для збільшення рівня паралелізму, який може бути досягнутий на практиці, архітектура набору команд визначає для кожного з пристроїв незалежний набір регістрів. Це мінімізує зв'язку та синхронізацію, необхідні між пристроями, дозволяючи тим самим виконавчим пристроям налаштовуватися на динамічну суміш команд. Будь-яка зв'язок з даними, вимагають між пристроями, повинна аналізуватися компілятором, що може її ефективно спланувати. Слід зазначити, що це тільки концептуальна модель. Будь-який конкретний процесор з архітектурою POWER може розглядати будь-яке з концептуальних пристроїв як безліч виконавчих пристроїв для підтримки додаткового паралелізму команд. Але існування моделі призводить до узгодженої розробки набору команд, що природно підтримує ступінь паралелізму принаймні рівну трьом.
    По-друге, архітектура POWER розширена кількома "змішаними" командами для скорочення часів виконання. Можливо єдиним недоліком технології RISC в порівнянні з CISC, є те, що іноді вона використовує більшу кількість команд для виконання одного і того ж завдання. Було виявлено, що в багатьох випадках збільшення розміру коду можна уникнути шляхом невеликого розширення набору команд, що зовсім не означає повернення до складних командам, подібним командам CISC. Наприклад, значна частина збільшення програмного коду була виявлена в кодах прологу і епілогу, пов'язаних зі збереженням та відновленням регістрів під час виклику процедури. Щоб усунути цей чинник IBM ввела команди "груповий завантаження і запису", які забезпечують пересилання декількох регістрів в/з пам'яті за допомогою єдиної команди. Угоди про зв'язки, що використовуються компіляторами POWER, розглядають завдання планування, колективні бібліотеки і динамічне зв'язування як простий, єдиний механізм. Це було зроблено за допомогою непрямої адресації за допомогою таблиці змісту (TOC - Table Of Contents), яка модифікується під час завантаження. Команди групової завантаження і записи були важливим елементом цих угод про зв'язки.
    Іншим прикладом змішаних команд є можливість модифікації базового регістра знову обчислених ефективним адресою при виконанні операцій завантаження або записи (аналог автоінкрементним адресації). Ці команди усувають необхідність виконання додаткових команд додавання, які в іншому випадку потрібні були б для інкрементірованія індексу при зверненнях до масивів. Хоча це змішана операція, вона не заважає роботі традиційного RISC-конвеєра, оскільки модифікований адреса вже обчислений і порт запису реєстрового файлу під час очікування операції з пам'яттю вільний.
    Архітектура POWER забезпечує також декілька інших способів скорочення часу виконання команд такі як: великий набір команд для маніпуляції бітовими полями, змішані команди множення-складання з плаваючою точкою, встановлення регістра умов як побічний ефект нормального виконання команди і команди завантаження і запису рядків (які працюють з довільно вирівняними рядками байтів).
    Третім фактором, який відрізняє архітектуру POWER від багатьох інших RISC-архітектур, є відсутність механізму "затриманих переходів". Зазвичай цей механізм забезпечує виконання команди, наступної за командою умовного переходу, перед виконанням самого переходу. Цей механізм ефективно працював у ранніх RISC-машинах для заповнення "бульбашки", що з'являється при оцінці умов для вибору напрямку переходу та вибірки нового потоку команд. Однак у більш просунутих, суперскалярні машинах, цей механізм може виявитися неефективним, оскільки один такт затримки команди переходу може призвести до появи кількох "бульбашок", які не можуть бути покриті за допомогою одного архітектурного слота затримки. Майже всі такі машини, щоб усунути вплив цих "бульбашок", змушені вводити додаткове устаткування (наприклад, кеш-пам'ять адрес переходів). У таких машинах механізм затриманих переходів стає не тільки мало ефективним, а й привносить значну складність в логіку обробки послідовності команд. Замість цього архітектура переходів POWER була організована для підтримки методики "попереднього перегляду умовних переходів" (branch-lockahead) і методики "згортання переходів" (branch-folding).
    Методика реалізації умовних переходів, яка використовується в архітектурі POWER, є четвертим унікальну властивість у порівнянні з іншими RISC-процесорами. Архітектура POWER визначає розширені властивості регістра умов. Проблема архітектур з традиційним регістром умов полягає в тому, що встановлення бітів умов як побічного ефекту виконання команди, ставить серйозні обмеження на можливість компілятора змінити порядок проходження команд. Крім того, регістр умов являє собою єдиний архітектурний ресурс, що створює серйозну вузьке горло в машині, яка паралельно виконує кілька команд або виконує команди не в порядку їх появи в програмі. Деякі RISC-архітектури оминають цю проблему шляхом повного виключення зі свого складу регістра умов і вимагають установки коду умов за допомогою команд порівняння в універсальний регістр, або шляхом включення операції порівняння в саму команду переходу. Останній підхід потенційно перевантажує конвеєр команд при виконанні переходу. Тому архітектура POWER замість того, щоб виправляти проблеми, пов'язані з традиційним підходом до регістру умов, пропонує: a) наявність спеціального біта в коді операції кожної команди, що робить модифікацію регістра умов додатковою можливістю, і тим самим відновлює здатність компілятора реорганізувати код, і b ) кілька (вісім) регістрів умов для того, щоб обійти проблему єдиного ресурсу і забезпечити більшу кількість імен регістра умов так, що компілятор може мати і розподілити ресурси регістра умов, як він це робить для універсальних регістрів.
    Іншою причиною вибору моделі розширеного регістра умов є те, що вона узгоджується з організацією машини у вигляді незалежних виконавчих пристроїв. Концептуально регістр умов є локальним по відношенню до влаштування переходів. Отже, для оцінки напрямки виконання умовного переходу не обов'язково звертатися до універсального реєстрового файлу (який є локальним для пристрою з фіксованою крапкою). Для того ступеня, з якою компілятор може заздалегідь спланувати модифікацію коду умови (та/або завантажити заздалегідь регістри адреси переходу), апаратура може заздалегідь переглянути і згорнути умовні переходи, виділяючи їх з потоку команд. Це дозволяє звільнити в конвеєрі тимчасової слот (такт) видачі команди, звичайно зайнятий командою переходу, і дає можливість диспетчеру команд створювати безперервний лінійний потік команд для обчислювальних виконавчих пристроїв.
    Перша реалізація архітектури POWER з'явилася на ринку в 1990 році. З того часу компанія IBM представила на ринок ще дві версії процесорів POWER2 і POWER2 +, що забезпечують підтримку кеш-пам'яті другого рівня і мають розширений набір команд.
    За даними IBM процесор POWER вимагає менше одного такту для виконання однієї команди в порівнянні з приблизно 1.25 такту у процесора Motorola 68040, 1.45 такту у процесора SPARC, 1.8 такту у Intel i486DX і 1.8 такту Hewlett-Packard PA-RISC. Тактова частота архітектурного ряду в залежності від моделі змінюється від 25 МГц до 62 МГц.
    Процесори POWER працюють на частоті 33, 41.6, 45, 50 та 62.5 МГЦ. Архітектура POWER включає роздільну кеш-пам'ять команд та даних (за винятком робочих станцій і серверів робочих груп початкового рівня, які мають однокристальних реалізацію процесора POWER і загальну кеш-пам'ять команд і даних), 64 - або 128-бітову шину пам'яті і 52-бітовий віртуальну адресу. Вона також має інтегрований процесор плаваючою точки і таким чином добре підходить для додатків з інтенсивними обчисленнями, типовими для технічного середовища, хоча поточна стратегія RS/6000 націлена як на комерційні, так і на технічні програми. RS/6000 показує хорошу продуктивність на плаваючою точці: 134.6 SPECp92 для POWERstation/Powerserver 580. Це менше, ніж рівень моделей Hewlett-Packard 9000 Series 800 G/H/I-50, які досягають рівня 150 SPECfp92.
    Для реалізації швидкої обробки введення/виводу в архітектурі POWER використовується шина Micro Channel, що має пропускну здатність 40 або 80 Мбайт/сек. Шина Micro Channel включає 64-бітову шину даних і забезпечує підтримку роботи декількох головних адаптерів шини. Така підтримка дозволяє мережевим контролерам, відеоадаптера та іншим інтелектуальним пристроям передавати інформацію по шині незалежно від основного процесора, що знижує навантаження на процесор і відповідно збільшує системну продуктивність.
    Багатокристальні набір POWER2 складається з восьми полузаказних мікросхем (пристроїв):
    * Блок кеш-пам'яті команд (ICU) - 32 Кбайт, має два порти з 128-бітовими шинами;
    * Блок пристроїв цілочисельний арифметики (FXU) - містить два цілочисельних конвеєра і два блоки регістрів загального призначення (за 32 32-бітових регістра). Виконує всі цільночисельні і логічні операції, а також всі операції звернення до пам'яті;
    * Блок пристроїв плаваючою точки (FPU) - містить два конвеєра для виконання операцій з плаваючою точкою подвійної точності, а також 54 64-бітових регістра плаваючою точки;
    * Чотири блоку кеш-пам'яті даних - максимальний об'єм кеш-пам'яті першого рівня становить 256 Кбайт. Кожен блок має два порти. Пристрій також реалізує ряд функцій виявлення і корекції помилок при взаємодії з системою пам'яті;
    * Блок управління пам'яттю (MMU).
    Набір кристалів POWER2 містить порядку 23 мільйонів транзисторів на площі 1217 квадратних мм і виготовлений за технологією КМОП з проектними нормами 0.45 мікрон. Розсіюється потужність на частоті 66.5 МГц складає 65 Вт.
    Продуктивність процесора POWER2 в порівнянні з POWER значно підвищено: при тактовій частоті 71.5 МГц вона досягає 131 SPECint92 та 274 SPECfp92.
    1. Еволюція архітектури POWER у напрямку архітектури PowerPC
    Компанія IBM поширює вплив архітектури POWER в напрямку малих систем за допомогою платформи PowerPC. Архітектура POWER у цій формі може забезпечувати рівень продуктивності і масштабованість, що перевищують можливості сучасних персональних комп'ютерів. PowerPC базується на платформі RS/6000 в дешевій конфігурації. В архітектурному плані основні відмінності цих двох розробок полягають лише в тому, що системи PowerPC використовують однокристальних реалізацію архітектури POWER, що виготовляється компанією Motorola, в той час як більшість систем RS/6000 використовують багатокристальні реалізацію. Є кілька варіацій процесора PowerPC, що забезпечують потреби портативних виробів і настільних робочих станцій, але це не виключає можливість застосування цих процесорів у великих системах. Першим на ринку був оголошений процесор 601, призначений для використання в настільних робочих станціях компаній IBM і Apple. За ним пішли кристали 603 для портативних і настільних систем початкового рівня та 604 для високопродуктивних настільних систем. Нарешті, процесор 620 розроблений спеціально для серверних конфігурацій і очікується, що зі свого 64-бітової організацією він забезпечить виключно високий рівень продуктивності.
    При розробці архітектури PowerPC для задоволення потреб трьох різних компаній (Apple, IBM і Motorola) при збереженні сумісності з RS/6000, в архітектурі POWER було зроблено декілька змін у наступних напрямках:
    * Спрощення архітектури з метою її пристосування її для реалізації дешевих однокристальних процесорів;
    * Усунення команд, які можуть стати перешкодою підвищення тактової частоти;
    * Усунення архітектурних перешкод суперскалярної обробці і позачергового виконання команд;
    * Додавання властивостей, необхідних для підтримки симетричної багатопроцесорної обробки;
    * Додавання нових властивостей, які вважаються необхідними для майбутніх прикладних програм;
    * Чітке визначення лінії розділу між "архітектурою" і "реалізацією";
    * Забезпечення тривалого часу життя архітектури шляхом її розширення до 64-бітової.
    Архітектура PowerPC підтримує ту ж саму базову модель програмування і призначення кодів операцій команд, що й архітектура POWER. У тих місцях, де були зроблені зміни, які потенційно могли перешкоджати процесорів PowerPC виконувати існуючі двійкові коди RS/6000, були розставлені "пастки", що забезпечують переривання і емуляцію за допомогою програмного забезпечення. Такі зміни вводилися, природно, тільки в тих випадках, якщо відповідна можливість або використовувалася не дуже часто в кодах прикладних програм, або була ізольована в бібліотечних програмах, які можна просто замінити.
    2. PowerPC 601
    Перший мікропроцесор PowerPC, PowerPC 601, в даний час випускається як компанією IBM, так і компанією Motorola. Він являє собою процесор середнього класу і призначений для використання в настільних обчислювальних системах малої та середньої вартості. Він був розроблений в якості перехідної моделі від архітектури POWER до архітектури PowerPC і реалізує можливості обох архітектур. При цьому двійкові коди RS/6000 виконуються на ньому без змін, що дало додатковий час розробникам компіляторів для освоєння архітектури PowerPC, а також розробникам прикладних систем, які повинні переконфігурувати свої програми, щоб повністю використати можливості архітектури PowerPC.
    Процесор 601 базувався на однокристальної процесорі IBM, який був розроблений до моменту створення альянсу трьох провідних фірм. Але в порівнянні зі своїм попередником, PowerPC 601 зазнав серйозні зміни в бік підвищення продуктивності і зниження вартості. Наприклад, до його складу було включено більш складний пристрій переходів, розширені можливостями мультипроцесорної роботи, включаючи інтерфейс шини високопродуктивного процесора 88110 компанії Motorola. У Power 601 реалізована суперскалярна обробка, що дозволяє видавати на виконання в кожному такті 3 команди, можливо не в порядку їх розташування в програмному коді.
    3. Процесор PowerPC 603
    PowerPC 603 є першим мікропроцесором в сімействі PowerPC, який повністю підтримує архітектуру PowerPC (малюнок 5.20). Він включає п'ять функціо?? альних пристроїв: влаштування переходів, цілочисельне пристрій, пристрій плаваючою точки, пристрій завантаження/запису і пристрій системних регістрів, а також дві, розташованих на кристалі кеш-пам'яті для команд і даних, ємністю по 8 Кбайт. Оскільки PowerPC 603 - суперскалярної мікропроцесор, він може видавати в ці виконавчі пристрої і завершувати виконання до трьох команд у кожному такті. Для збільшення продуктивності PowerPC 603 допускає позачергове виконання команд. Крім того він забезпечує програмовані режими зниження споживаної потужності, які дають розробникам систем гнучкість реалізації різних технологій управління живленням.
    При обробці в процесорі команди розподіляються по п'яти виконавчим пристроям в заданому програмою порядку. Якщо відсутні залежності по операнда, виконання відбувається негайно. Цілочисельне пристрій виконує більшість команд за один такт. Пристрій плаваючою точки має конвеєрну організацію і виконує операції з плаваючою точкою як з одинарною, так і з подвійною точністю. Команди умовних переходів обробляється в пристрої переходів. Якщо умови переходу доступні, то рішення про направлення переходу приймається негайно, в іншому разі виконання наступних команд триває за припущенням (спекулятивно). Команди, що модифікують стан регістрів управління процесором, виконуються пристроєм системних регістрів. Нарешті, пересилання даних між кеш-пам'яті даних, з одного боку, і регістрами загального призначення і регістрами плаваючої крапки, з іншого боку, обробляються пристроєм завантаження/запису.
    У разі промаху при зверненні до кеш-пам'яті, звернення до основної пам'яті здійснюється за допомогою 64-бітової високопродуктивної шини, подібної шині мікропроцесора MC88110. Для максимізації пропускної спроможності і, як наслідок, збільшення загальної продуктивності кеш-пам'ять взаємодіє з основною пам'яттю головним чином за допомогою групових операцій, які дозволяють заповнити рядок кеш-пам'яті за одну транзакцію.
    Опис архітектури та принципів роботи мікропроцесорів сімейства PowerPC

    1. Загальні відомості
    Сімейство RISC-процесорів PowerPC в даний час складається з наступних моделей: EC603e, 603e, 604e, 740, 750 (виробляються фірмами Motorola і IBM).
     У даній роботі архітектура і робота мікропроцесорів PowerPC розглядається на базі процесора PowerPC 750. Повну документація з архітектури та програмування всіх процесорів доступна на сайтах Motorola і IBM.
    750 реалізує 32-розрядну архітектуру PowerPC, яка надає 32-розрядну адресацію, обробку цілочисельних даних (8, 16, 32 розряди), даних з плаваючою точкою (32 і 64 розряду).
    Процесор 750 складається з наступних пристроїв виконання:
    · Пристрій з плаваючою крапкою (FPU)
    · Пристрій обробки переходів (BPU)
    · Пристрій системних регістрів (SRU)
    · Пристрій завантаження/запису (LSU)
    · Два цілочисельних пристрої (IUs): IU1 - виконує всі команди IU2 - виконує всі команди, крім множення і ділення
    750 є суперскалярні процесором: можлива вибірка чотирьох команд з кешу і виконання шести команд за один такт. Більшість цілочисельних команд виконується за один такт. Виконання команд з плаваючою точкою розбиваються на три сходинки. Одна команда з ПТ займає один щабель, таким чином одночасно FPU може виконувати три команди з плаваючою точкою (32-розрядні операнди). Додавання 64-розрядних операндів виконується за три такти, множення і множення-складання за чотири.
    750 має незалежний вбудований восьмиканальний, 32 Кб, фізично адресуються кеш команд і даних, а також незалежні пристрої керування пам'яттю команд і даних (memory management unit, MMU). Кожне MMU має асоціативний буфер TLB (DTLB і ITLB) для збереження адрес недавно використаних сторінок. Архітектурою PowerPC також визначається наявність таблиць трансляції адрес блоків пам'яті (block address translation array, IBAT і DBAT), Детальніше робота пам'яті описана у відповідному розділі.
    Кеш L2 реалізований у вигляді вбудованих пам'яті тегів і зовнішньої пам'яті SRAM. Доступ до зовнішньої SRAM відбувається через порт кеша L2, який підтримує один банк пам'яті до 1 Мб SRAM.
    750 має 32-розрядну адресну шину та 64-розрядну шину даних. Зовнішні пристрої отримують системні ресурси через пристрій зовнішнього центрального арбітра. У 750 використовується MEI (modified/exclusive/invalid) протокол для синхронізації кешу і пам'яті та запобігання помилок при зверненні до кешу.

    2. Архітектура і робота процесора.

    2.1 Потік команд.
    Як видно з малюнка, пристрій керування потоком команд складається з пристрою послідовної вибірки (fetcher), черги з шести команд (instruction queue, IQ), пристрої розподілу команд і пристрої обробки переходів (BPU).
    Воно визначає адресу наступної команди для вибірки за інформацією з пристрою вибірки і BPU.
    Команда завантажується з кеша команд у чергу команд. BPU витягує команди переходу з послідовного завантажувача. Команди переходу, які не можуть бути оброблені негайно, змальовано за допомогою спеціальних алгоритмів динамічного або статичного (визначено архітектурою) передбачення переходів.
    Команди переходу, які не впливають на LR або CTR (регістри, що містять адреси переходів), видаляються з потоку команд.
    Команди з передвіщеної гілки не завершуються, поки перехід не оброблений напевно, зберігаючи програмну модель послідовного виконання. Якщо перехід був неправильним, пристрій виконання знищує всі передбачені шляхи команд і вибирає команди з правильної гілки.
    2.2 Черга команд і пристрій розподілу.
    Черга команд (IQ) містить шість команд і може бути завантажена чотирма командами за такт. Пристрій вибірки намагається завантажити команди на всі вільні місця в черзі. Всі команди розподіляються до відповідних пристроїв виконання (IU1, IU2, FPU, LSU, SRU) з двох верхніх позицій у черзі з максимальною швидкістю дві за такт. Пристрій розподілу перевіряє залежності регістрів джерела і приймача, визначає чи вільна місце в черзі завершення команд, і розподіляє послідовні команди за призначенням.
    2.3 Пристрій обробки переходів.
    BPU отримує команди переходу з пристрою вибірки і робить попереджуючий пошук умовних гілок для їх раннього передбачення, досягаючи попадання в більшості випадків.
    Команди безумовного переходу або з відомим умовою можуть бути передбачені відразу. Для переходів з невизначеними умовами використовується динамічне чи статичне прогноз. Команди з передвіщеної гілки виконуються, але не завершуються і не записують результати до підтвердження коректності переходу.
    Динамічне передбачення використовує таблицю історії переходів (BHT) з 512 записів, кеш який містить по 2 біти, що визначають 4 рівня ймовірності переходу. Коли динамічне пророкування заборонено перехід вибирається виходячи з біта в коді команди для передбачення умовних переходів.
    Коли перехід зроблений (або передбачений), команди з інших гілок видаляються і завантажуються команди з потрібної гілки. BTIC - кеш на 64 елемента, що містить команди з останніх переходів. Коли команди знаходяться в BTIC, вони зчитуються на наступному такті, інакше через один такт.
    BPU містить суматор для обчислення адрес переходів і використовує три регістр - регістр зв'язку (LR), регістр-лічильник (CTR) і CR. BPU обчислює точку повернення з процедури і зберігає результат у LR певних команд переходу. Також в регістрах LR і CTR містять адреси для деяких команд обробки переходів. Через використання спеціальних регістрів обробка команд переходів незалежна від виконання цілочисельних команд і команд з пт
    2.4 Пристрій завершення команд.
    У точці розподілу команд, порядок виконання команд підтримується призначення команді місця в черзі завершення на 6 місць. Пристрій завершення відстежує команди від розподілу через пристрої виконання і повертає результати в порядку виконання команд у програмі з 2 нижніх місць у черзі виконання.
    Команда не може бути відправлена на виконання, якщо немає місця в черзі завершення. Команди переходу, не модифікуючі CTR і LR видаляються з потоку команд і не займають місця в черзі завершення. Команди, що модифікують CTR і LR займають місце в черзі, але не надсилаються на виконання.
    Завершення команди полягає в запису результатів в регістри (GPR, FPR, LR і CTR).
    Завершені команди видаляються з черги завершення.
    2.5 Пристрої виконання.
    2.5.1 Пристрої виконання цілочисельних команд (IU).
    Кожне IU складається з трьох однотактових подустройств - швидкий суматор/компаратор, обробки логічних операцій і виконання зрушень і циклічних зрушень. Тільки одне подустройство може виконувати команду в кожний момент часу.
    2.5.2 Пристрій виконання команд з плаваючою крапкою (FPU)
    FPU виконує операції одинарної точності (32 розряду) за один прохід, що складається з трьох тактів. Операнди беруться з регістрів FPR або буфера перейменування FPR. Результати записуються в буфер перейменування регістрів і доступні для наступних команд. Команди надходять в FPU в порядку розподілу пристроєм керування командами.
    FPU містить масив для множення-складання одинарної точності і контрольний регістр (FPSCR). Масив множення-складання 750 дозволяє ефективно виконувати команди множення і множення-складання. FPU є конвеєрним, так що за один такт видається один оброблена команда. Для підтримки команд з ПТ надаються 32 64-розрядних регістра. Зупинки, викликані конфліктами при записі в FPR мінімізуються 6 регістрами перейменування з пт 750 записує вміст регістрів перейменування при виході команди з пристрою завершення.
    750 підтримує всі формати з ПТ стандарту IEEE 754 (нормалізовані, ненормалізованние, NaN, нуль, нескінченність).
    2.5.3 Пристрій завантаження/запису (LSU).
    LSU виконує всі команди завантаження і збереження і надає інтерфейс пересилання даних між GPR, FPR, і підсистем кеш/пам'ять.
    Команди завантаження і запису виконуються в порядку програми; однак деякі звернення в пам'ять можуть відбуватися поза чергою команд. Команди синхронізації можуть бути використані для зміни порядку команд. Максимум одна операція завантаження з кеша поза чергою може бути виконана за такт, з двухтактовой затримкою завантаження з кеша. Дані з кеша зберігаються в регістрах перейменування до їх запису в GPR або FPR. Збереження не може виконуватися без черги і операції збереження знаходяться в черзі збереження до дозволу на запис. 750 виконує команди збереження максимум одну за такт із загальною трехтактовой затримкою записи в кеш.
     
    2.5.4 Пристрій системних регістрів (SRU).
    SRU виконує різні команди системного рівня, такі як логічні операції з регістром умови та команди роботи з регістрами спеціального призначення. Команди, що виконуються SRU, зберігаються в ньому і обробляються після виконання всіх попередніх команд.
    2.6 Пристрій керування пам'яттю (MMU).
    MMU підтримує до 4 Петабайт (252) віртуальної пам'яті і до 4 Гігабайт (232) фізичної пам'яті для команд і даних зі сторінками по 4 Кб і сегментами по 256 Мб. MMU контролює привілеї доступу, розбиваючи пам'ять на блоки і сторінки. Взагалі, механізм перетворення адрес полягає в перетворенні ефективного адреси в проміжний віртуальний виходячи з сегментної інформації і потім у фізичний за таблицями сторінок. Дескриптори сегментів, які використовуються для створення проміжного внутрішнього адреси, зберігаються як вбудовані 32-розрядні сегментні регістри.
    У 750 реалізовано 2 буфера TLB, так що доступ до TLB для команд і даних може проводитися незалежно.

    Механізм перетворення адрес блоків (block address translation, BAT) - програмно-контрольований масив доступних перетворень адрес блоків. Механізм BAT управляє перетворенням блоків до 256 Мб з 32-розрядного ефективного адресного простору у фізичне. Використовуються для перетворення адрес, не часто змінюють своє відображення. Елементами масиву BAT є пари BAT-регістрів, доступних в режимі супервізора. У 750 є окремі механізми BAT для команд і даних (4 IBAT і 4 DBAT).
     LSU та пристрій для управління потоком команд обчислюють ефективні адреси даних і команд. MMU перетворить ефективні адреси у фізичні для доступу до пам'яті.
     750 підтримує наступні режими перетворення адрес:
    · Реальний (real addressing) - фізична адреса збігається з ефективним.
    · Сторінковий (page address translation) - перетворить адреси сторінок (4 Кб)
    · Блочний (block address translation) - перетворює базові адреси блоків (від 128 Кб до 256 Мб)
    Якщо працює перетворення адрес, MMU перетворить старші біти ефективного адреси в фізичний. Якщо адреса знайдений в масиві BAT, то фізичну адресу видається відразу, інакше 32-бітний ефективний адреса розширюється в 52-бітний віртуальний заміщенням 24 старших бітів на сегментний регістр, що адресуються 4 старшими бітами ЕА. 52-розрядні віртуальні адреси розділені на 4 Кб сторінки, які відображаються у фізичні.
    Молодші біти адреси однакові і використовуються для обчислення індексу в масиві тегів кеша. Після перетворення адрес MMU посилає фізичну адресу в кеш і дані зчитуються. Якщо кеш не використовується або даних в ньому немає, то не перетворені молодші біти з'єднуються з перетвореними старшими в 32-розрядний фізичну адресу, який використовується для доступу до зовнішньої пам'яті.

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

    У 750 реалізовані окремі 32 Кб кеші для команд і даних (Гарвардська архітектура). Обидва кешу восьмиканального частково асоціативні. За архітектурі PowerPC кеші адресуються фізично, реальну адресу зберігається в директорії кешу. Обидва кешу організовані в блоки по 32 байти. Блок кеша - блок пам'яті, для якого описано стан когерентності. Для кожного банку даних кеша використовується алгоритм PLRU (pseudo least-recently-used) заміни даних (алгоритм викладено в документації). Когерентність даних глобальної пам'яті і даних в кеші провадиться за протоколом MEI процедурою спостереження (snooping) по шині когерентності. Стани когерентності для кеша даних: Modified (Exclusive) (M), Exclusive (Unmodified) (E), Invalid (I). Для кеша команд: Invalid (INV), Valid (VAL). Кожен кеш можна зробити недійсним (invalidate) установкою відповідних бітів у спеціальних регістрах (HID0).
    При непопадання в кеш, блоки заповнюються за 4 проходу по 64 біта. Подвійні слова одночасно записуються в кеш і в запитуюча пристрій, мінімізуючи затримки.
    Обидва кешу тісно пов'язані з пристроєм шини інтерфейсу (bus interface unit, BUI). BUI отримує запити від кешей і виконує ці операції у відповідності з протоколом 60х. BUI надає черги адрес, логіку пріоритетів і логіку контролю шини.
    Кеш даних надає буфери для збереження і завантаження операцій шини. Всі дані з відповідних адресних черг поміщені в кеш даних. У кеші даних також проводиться збереження тегів, необхідних для когерентності з пам'яттю і заміщення блоків кеша функціями PLRU.
    Кеш даних організовано в 128 банків з 8 блоків. Кожен блок містить 32 байти, 2 біти стану та адресний тег. Кожен блок кешу містить 8 послідовних слів з пам'яті, що завантажуються з кордону у 8 слів (тобто біти ЕА [27-31] рівні 0): таким чином блок кеша ніколи не перетинає кордон сторінки. Чи не вирівняні звернення через кордон сторінки можуть спричинити зменшення продуктивності. Під час завантаження даних кеш не блокується для зовнішніх доступів до повного завантаження.

    Протягом такту кеш даних надає для зчитування в LSU подвійне слово. Як і кеш команд, кеш даних може бути зроблений недійсним (invalidated) весь або по блоках. Дані кешу робляться недоступними і недійсними скиданням HID0 [DCE] і установкою HID0 [DCFI], кеш даних може бути заблокований установкою HID0 [DLOCK]. Теги кешу мають один порт, тому од?? овременная завантаження/збереження й звернення для когерентності кешу викликають конфлікт, при цьому LSU внутрішньо блокується на один такт для запису блоку даних у 8 слів в буфер зворотного запису.
    Кеш команд також складається з 128 банків з 8 блоків. Кожен блок складається з 32 байтів, 1 біта стану та адресного тега. За один цикл кеш команд надає до 4 команд у чергу команд. У кеші команд підтримуються тільки стану вірно/невірно (valid/invalid) для даних. Кеш команд не відслідковується, тому якщо змінюється пам'ять, дані якої містяться в кеші, програма повинна повідомляти про це пристрою вибірки команд. Кеш команд може бути зроблений недійсним весь або по блоках. Доступ до кешу забороняється і кеш робиться недійсним скиданням HID0 [ICE] і установкою HID0 [ICFI], кеш блокується установкою HID0 [ILOCK].
    У 750 реалізований також кеш команд переходів (branch target instruction cache, BTIC). У BTIC зберігаються зустрілися в програмі команди переходів/циклів. Якщо команда знаходиться в BTIC вона надходить у чергу команд на такт швидше, ніж з кеша команд.
    3. Системний інтерфейс. Схема висновків процесора.

    3.1 Шини адреси і даних функціонують окремо. Використовуються два види доступів до пам'яті і пересилання даних:
    · Однотактовая (single-beat) пересилання - пересилання 8, 16, 24, 32 або 64 бітів за такт шини. Використовується при некешіруемих доступи в пам'ять.
    · Четирехтактовая пакетна (four-beat burst) пересилання даних - використовується для читання блоків кеша. Так як кеші першого рівня зі зворотним записом, то пакетні доступи до пам'яті використовуються найбільш часто.
    Доступ до системної шини дається через механізм внутрішнього арбітражу.
    Зазвичай доступи до пам'яті слабо впорядковані - послідовності команд завантаження/запису не обов'язково виконувати в порядку їх слідування - тобто можна максимізувати ефективність використання шини без втрати когерентності. 750 дозволяє виконувати операції завантаження/запису не в порядку розташування у черзі команд (якщо немає залежностей між ними і немає випадків некешіруемих доступів).
     
     
    3.2 Процесор 750 мають такі групи висновків:
    · Арбітраж шини адрес
    1. BR (Bus Request) Output - запит операцій на шині адреси
    2. BG (Bus Grant) Input - дозвіл операцій на шині адреси
    3. ABB (Address Bus Busy) Output - вказує, що 750 є майстром шини. Input - вказує на зайнятість шини.
    · Старт передачі адреси - показує, що майстер шини (bus master) почав транзакцію на шині адреси.
    1. TS (Transfer Start) Output - вказує, що 750 почав транзакцію і шина адреси і атрибути вірні. Input - інший майстер шини почав транзакцію і шина адреси та ат-рібути доступні для стеження.
    · Передачі адреси - включає в себе шину адреси і сигнали парності адреси для про-верки.
    1. A [0-31] (Address Bus) Output - фізичну адресу даних для пересилання. Input - фі-зіческій адреса для операції стеження (snooping).
    2. AP [0-3] (Address Bus Parity) Output - парність для кожних 4 байт адреси. Input - чет-ність для кожних 4 байт адреси для операції стеження.
    · Атрибути пересилання - показують розмір пересилання, чи є пакетної, прямий записом або бескешевой.
         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status