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

     

     

     

     

     

         
     
    Конвеєр Р4
         

     

    Інформатика, програмування
    Курсова здавалася в грудні 2000р. в ОГУ, кафедра ПІ, ВМКСС Доповнення до моєї курсової: Про конвеєрі Р4 більш докладно (www.ixbt.ru) Intel Willamette. Перший погляд

    1999 став не дуже вдалим роком для Intel. І Direct RDRAM був сприйнятий індустрією без особливого ентузіазму, і VIA більш ніж вдало зіграла з своїм Apollo Pro133/133A. Що стосується процесорів, то не все було гладко і тут. AMD нарешті змогла повністю використовувати весь потенціал своїх інженерів і запропонувати процесор, що виводить її з ринкової ніші виробника недорогих процесорів рівня Low-End і трохи вище. Більше того, її Athlon, вийшов на півроку пізніше Pentium III, виявився вельми і вельми перспективним процесором в плані зростання тактової частоти. Ймовірно, наприкінці 2000 року процесори з цієї лінійки повинні досягти рівня порядку 1.4 Ггц. І це в той час, коли останнє дітище Intel, що вийшло цієї осені - Coppermine, виявилося куди менш розганяється і до кінця року, імовірно, повинне досягти швидкості близько лише 1 ГГц.

    Що повинен був зробити в такій ситуації Intel? Напевно, прискорити вихід свого наступного x86 ядра, останнього IA32 ядра для користувачів -- Willamette. Спочатку, термін виходу процесорів на цьому ядрі коливався десь між кінцем 2000 року і початком 2001. Відповідно, перша поява зразків чіпа очікувалося десь ближче до літа. І ось, у січні несподівано з'ясовується, що Intel вже отримав на руки перші чіп, а в квітні компанія має намір почати постачання зразків своїм особливо наближеним партнерам.

    Тим часом наближався лютий - місяць двох великих подій у світі процесорів, конференції ISSCC і форуму розробників Intel - IDF. Одним з найбільш очікуваних подій ISSCC була демонстрація 1 ГГц Willamette. Однак, нічого подібного не сталося - Intel продемонстрував там всього лише 1 ГГц Coppermine, знову поступившись першістю AMD з її 1.1 ГГц Athlon. Але зате як він відігрався на IDF! Там компанія, знову абсолютно несподівано, продемонструвала Willamette, що працює на частоті 1.5 Ггц. Вражає, що й казати. Цікаво, чи зміниться картина, якщо подивитися на неї більш пильно?

    Willamette повинен стати першим за довгі роки серйозної переробкою архітектури P6. Мабуть, за останні п'ять років, з моменту виходу Pentium Pro, в цій галузі не відбувалося нічого більш значного: асиметрична ядро, з блоками, що працюють на різних швидкостях, значно поліпшена версія суперскалярної механізму виконання інструкцій, новий кеш, що відслідковує порядок виконання інструкцій, перероблені блоки операцій з мультимедіа даними та числами з плаваючою комою, величезний набір нових інструкцій на всі випадки життя, абсолютно нова 100 МГц шина, що передає по 4 пакети даних за такт, що дає нам результуючу частоту 400 МГц, конвеєр виконання інструкцій з 20 кроків ... Хватит?

    А тепер спробуємо пройтися по пунктах. І почнемо з того, що власне дозволило нового процесора Intel досягти настільки високої тактової частоти -- конвеєра виконання інструкцій. Для початку врахуємо, один загальноприйнятий факт - чим довше конвеєр, тим легше нарощувати тактову частоту, але тим менше продуктивності виходить на кожен отриманий мегагерц. І навпаки. Чому так? Тому що, чим на більшу кількість стадій розрахований конвеєр, тим менше роботи припадає на кожний окремий такт, тим швидше цей самий такт виконується. Але! Припустимо, у нас є простий блок з декількох, пов'язаних один з одним операцій: 1) A = B + C2) D = A 1

    Тобто, операція 1 буде перебувати в кеші інструкцій стільки часу, скільки знадобиться для виконання операції 2. А вона буде виконуватися тим більше тактів, чим довше конвеєр. А до речі, якої довжини він у сьогоднішніх процесорів? Pentium III має конвеєр довжиною 12 (17 стадій FPU), Athlon - 10 стадій (15 стадій FPU), Alpha - 7 стадій (10 стадій FPU). Як бачимо на підставі цих даних, Willamette є абсолютним чемпіоном по довжині конвеєра, тобто, має саме менший час виконання такту, що дозволяє досягти максимальної тактової частоти, але й самі великі затримки для пов'язаних один з одним операцій (операції 2 доведеться чекати 20 тактів, поки не виконається до кінця операція 1).

    Втім, не все так просто. По-перше, в буфері завжди буде знаходитися певна кількість інструкцій, що не вимагають знання результату виконання попередніх (найпростіший приклад: A = 1 +2). Їх теж можна починати виконувати під час виконання операції 1 (у сьогоднішніх процесорах знаходиться декілька виконавчих модулів, які вміють працювати паралельно), щоб не було простою під час очікування, поки та пройде весь конвеєр і можна буде приступити до виконання операції 2.

    Інше питання, що чим довше конвеєр (і, відповідно, час виконання інструкцій), тим менша ймовірність, що в буфері вдасться знайти досить таких незалежних інструкцій, для того, щоб повністю завантажити виконавчі модулі під час її виконання операції 1. І тут важливу роль має обсяг цього буфера. Для інформації - у Pentium III він має об'єм 40 мікрооперацій, (один x86 інструкція в середньому становить приблизно півтори мікрооперацій). У Willamette його обсяг, за твердженням Intel, повинен значно зрости, результат очевидний.

    (До речі, про кеші. Передбачуваний обсяг кеша першого рівня Willamette - 256 Кбайт, в 8 (!) разів більше, ніж у Pentium III і в два рази більше, ніж у Athlon. Об'єм кеша другого рівня невідомий, але передбачається, що він буде менше 1 Мбайт - 512 Кбайт?).

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

    Одним з інструментів поліпшення продуктивності в цій галузі, стане одна новинка - кеш з упорядкуванням інструкцій. Його завданням буде бути зберігання інструкцій в тому порядку, в якому вони виконуються. Тобто, якщо перший інструкція, що знаходиться за адресою 100, виконує перехід на другий інструкцію, що знаходиться десь на адресу, ну, скажімо, 200, то в цьому кеші другого інструкція буде знаходитися саме в тому порядку, як вона виконується -- відразу безпосередньо за першим, і т.д. У результаті ми "забрали одного з слизьких місць, де міг помилитися алгоритм передбачення переходів.

    Ще один такий інструмент - Advanced Dynamic Execution. Так Intel називає поліпшену версію механізму суперскалярної позачергового виконання інструкцій, коли процесор жонглює інструкціями, порушуючи їх природну послідовність, з метою більш щільною завантаження виконавчих модулів -- цей пункт теж відноситься до витрат застосування довгого конвеєра і покликаний мінімізувати пов'язане з ним збільшення затримок виконання інструкцій.

    Це все, що стосується конвеєра Willamette. Цей фактор є досить важливим у визначенні продуктивності процесора, але не менш важливим є і продуктивність модулів, що безпосередньо виконують ті чи інші операції - з цілими числами, з числами з плаваючою комою, зі специфічними даними, коли одна інструкція оперує відразу декількома пакетами даних (SIMD).

    Тут враження двоякі: що стосується цілочисельних операцій, то тут все в повному порядку: у Willamette блок цілочисельних операцій працює на подвоєною швидкості щодо швидкості процесора - тобто, у випадку з показаних на IDF 1.5 Ггц чіпом, швидкість роботи його цілочисельних модулів складала 3 ГГц! (Знову ж таки, це результуюча частота - насправді швидкість залишається 1.5 Ггц, просто цей блок вміє виконувати обчислення не за повний такт, а за його половину. Тобто, фактично його швидкість подвоюється). "Модулів" - оскільки їх у Willamette два, відповідно, в самому ідеальному випадку виходить 4 операції з цілими числами за один такт роботи процесора.

    А от що стосується блоку для операцій з числами з плаваючою комою, то вийшла, тут картина, схоже, не вразила навіть сам Intel. Два таких модуля (проти трьох у Athlon) будуть забезпечувати для 1.4 ГГц процесора пікову продуктивність в операціях з плаваючою комою всього лише 1.4 GFLOPS, оскільки реальну обчислювальну роботу виконує тільки модуль - операції типу FADD, FMUL, і т.д., другі ж займається підсобною діяльністю - FMOVE, FSTORE. Тут треба зауважити, що для Athlon, якщо припустити, що на той час він буде мати ту ж тактову частоту - 1.4 ГГц (а підстави, принципі, є), цей показник буде дорівнює 2.8 GFLOPS.

    Загалом, Intel вирішив не зв'язуватися з x87 у своєму новому процесорі, зосередивши всю увагу на блоці, призначеному для роботи з SIMD (Single instruction - multiple data) інструкціями - 64-біт інструкціями, розрахованими на числа з плаваючою комою, і 128-біт цілочисельними інструкціями. Таких модулів у Willamette також два, один для реєстрових операцій і один - для арифметичних. За рахунок того, що це - SIMD, то в ідеалі можливі варіанти, коли за один такт виконується одна SIMD інструкція, що складається з чотирьох операцій. Разом: чотири операції, 1.4 ГГц - пікова продуктивність Willamette у випадку використання SIMD становить 5.6 GFLOPS! Це нагадаю, проти 2.8 GFLOPS x87 у 1.4 ГГц Athlon або ж 5.6 GFLOPS у випадку використання його SIMD блоку, що працює з набором 3DNow!.

    Так що не дивно, що Intel буде всіляко просувати новий SIMD набір інструкцій Wilamette (SSE2), як найкращий варіант для роботи з операціями з плаваючою точкою.

    У результаті ми стикаємося з двома можливими варіантами.

    Intel зможе переконати розробників програм використовувати SSE2, набір, що складається з 144 нових інструкцій:

    76 зовсім нових, що оперують з широким діапазоном даних (включаючи числа з плаваючою комою подвійної точності і цілі числа з 4 слів: і те, і те - 64 біт, якщо використовуються регістри XMM, і відбувається упаковка даних, то мова йде вже про 128-біт числах), частина інструкцій з цього набору дозволяє програма брати на себе контроль над механізмами кешування, завантаження та зберігання даних в регістрах процесора.

    68 розширених SIMD інструкцій для роботи з цілими числами. Якщо у Pentium II/III вони працювали тільки з 64-біт MMX регістрами, то в Willamette вони вже зможуть використовувати 128 біт регістри XMM цього процесора.

    Intel Якщо це вдасться, то Willamette в операціях з плаваючою точкою для кінця року буде виглядати цілком солідно.

    Якщо ж розробники програмного забезпечення не проявлять великого ентузіазму і продовжать використовувати старий добрий x87, то Willamette буде виглядати на числах з плаваючою точкою аж ніяк не так блискуче, практично не відрізняючись від Pentium III, що працює на тій же тактовою частотою.

    За дедалі більшого зростання продуктивності процесорів і підсистеми пам'яті, збільшення швидкості системної шини GTL + за останній рік всього лише на 33 МГц виглядає не дуже вражаюче. Та тут ще й поява нової платформи - IA64. Загалом, з виходом Willamette Intel вводить нову системну шину, яка мало того, що має значно збільшити пропускну здатність (тактова частота 100 МГц, навіть нижче, ніж в сьогоднішньої 133 МГц GTL +, але за рахунок передачі 4 пакетів за такт, результуюча виходить частота 400 МГц), вона ще й повинна стати сполучною ланкою між IA32 і IA64 - після Tehama, чіпсета під Willamette, її буде використовувати i870 - чіпсет, призначений як під IA32 Foster, так і під IA64 McKinley.

    Таким чином, плюси нової шини: значно зросла пропускна здатність - 3.2 Гбайт/с (400 МГц, 64 біт) проти 1,064 Гбайт/с (400 МГц, 64-біт) в сьогоднішньої 133 МГц GTL + (3.2 Гб/с - якраз рівно стільки, скільки буде здатний забезпечити двоканальний RDRAM, на який розрахований Tehama) і деяка перспективність у плані майбутнього.

    Мінуси: 4 пакети даних за один такт - це здорово, але тільки в тому випадку, коли вдасться їх надати до моменту виконання чергового такту. Інакше пропускна здатність шини використовуватиметься далеко не на повну міру. Загалом, 3.2 Гбайт/с - це в самому ідеальному випадку. Друге - сьогоднішні материнські плати для Willamette жодним чином не підходять. І навіть не тільки за рахунок використання нової системної шини, але хоча б за рахунок нового форм-фактора - Socket-462. Знову нова платформа, і ніякі перехідники тут вже не допоможуть.

    Ось такі от справи. Що ми маємо в результаті? Ми маємо процесор, створений у повній відповідності з принципом "купують мегагерци", оптимізований саме під нього, а не під максимальну продуктивність. У підсумку, згідно з попередніми даними, Willamette має продуктивність того ж рівня, що працює на одній частоті з ним Coppermine. Або Athlon. Таким чином, збільшення продуктивності нового процесора буде пов'язано виключно з його збільшилася швидкістю.

    Як передбачається, до кінця року нові процесори AMD підійдуть приблизно з тією ж швидкістю, на якій Intel має намір випустити Willamette. (І обидва вони вимагатимуть нові материнські плати). Як передбачається, продуктивність у них буде приблизно однаковою, тобто сьогоднішнє стан нестійкої рівноваги між Intel і AMD збережеться ще як мінімум до початку 2001 року.

    А далі? Willamette повинен стати останнім споживчим x86 процесором, тобто в 2001 році Intel почне його оптимізацію для подальшого підвищення швидкісних показників. І десь в тому районі в світ вийде новий x86 процесор AMD - SledgeHammer (K8). Грунтуючись на сьогоднішніх знаннях, виходить цікава картина - в наступному році Intel знову повинен опинитися в ролі наздоганяючого на ринку x86 процесорів середнього рівня. Якщо, звичайно, цей ринок на той час буде заслуговувати хоч будь-яких зусиль.

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

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