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

     

     

     

     

     

         
     
    Intel Pentium 4 3,06 ГГц з підтримкою технології Hyper-Threading
         

     

    Інформатика, програмування

    Міністерство загальної та професійної освіти РФ

    Камишинський технологічний інститут

    Філія Волгоградського державного технічного університету

    Реферат

    з дисципліни:

    Організація ЕОМ

    Intel Pentium 4 3,06 ГГц з підтримкою технології Hyper-Threading

    Виконали: студент групи квт003

    Вершков А. С

    Камишин, 2002

    План


    1. Введення ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 3
    2. SMP і Hyper-Threading ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 4
    3. Hyper-Threading: сумісність ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .6
    4. Hyper-Threading: навіщо вона потрібна ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 7
    5. Висновок ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 9

    1. Введення


    Здавалося б не так вже й давно вийшов Pentium 4 2,8 ГГц, але компанія Intelмабуть настільки горда здатністю свого нового процесорного ядра допостійному "розгону", що не дає нам спокою анонсами все нових і новихпроцесорів. Однак сьогоднішній процесор відрізняється від попередньої топовоїмоделі не тільки на 200 з невеликим мегагерц - те, про що давно мріялибагато користувачів, що нарешті сталося: технологія емуляції двохпроцесорів на одному процесорному ядрі, раніше колишня надбанням лишенаддорогих Xeon.
    Усі наступні моделі Pentium 4, починаючи з розглянутого, будутьволодіти підтримкою технології Hyper-Threading. Проте хтось може цілкомрезонно поцікавитися: «А навіщо мені двопроцесорний машина дома? Ідійсно - навіщо? Саме це я і постарався пояснити нижче. Отже:
    Hyper-Threading - що це таке і навіщо він може бути потрібен у звичайнихперсональних комп'ютерах?

    2. SMP і Hyper-Threading

    Як працює класична SMP (Symmetric Multi-Processor) - система з точкизору звичайної логіки? Не так вже й велика кількість користувачів, добресобі представляють як працює SMP-система, і в яких випадках відвикористання двох процесорів замість одного можна очікувати реальногозбільшення швидкодії, а в яких - ні.
    Отже, уявімо, що у нас є, наприклад, два процесори замість одного.
    Що це дає?
    Загалом-то нічого. Тому що на додаток до цього потрібна ще й операційнасистема, яка вміє задіяти ці два процесори. Ця система повинна бутиза визначенням багатозадачного (інакше ніякого сенсу в наявності двох CPUпросто бути не може), але крім цього, її ядро має вмітираспараллелівать обчислення на кілька CPU. Класичним прикладомбагатозадачного ОС, що цього робити не вміє, є всі ОС від
    Microsoft, звані зазвичай для стислості "Windows 9x" - 95, 95OSR2, 98,
    98SE, Me. Вони просто-напросто не можуть визначити наявність більш ніж одногопроцесора в системі.
    Підтримкою SMP мають ОС цього ж виробника, побудовані на ядрі NT:
    Windows NT 4, Windows 2000, Windows XP. Також цією підтримкою володіють всі
    ОС, засновані на ідеології Unix - усілякі Free-Net-BSD,комерційні Unix (такі як Solaris, HP-UX, AIX), і численнірізновиди Linux.
    Якщо ж два процесори все ж таки визначилися системою, то подальший механізмїх залучення в загальному досить простий. Якщо в даний момент часувиповнюється один додаток - то всі ресурси одного процесора будуть відданійому, другий же буде просто простоювати. Якщо додатків стало два - другийбуде віддано на виконання другого CPU, так що по ідеї швидкість виконанняперше не повинна зменшитися. Однак насправді все складніше.
    Що виконується користувальницький додаток може бути запущено всього одне, алекількість процесів (тобто фрагментів машинного коду, призначених длявиконання певної задачі) в багатозадачного ОС завжди набагато більше. Томунасправді другий CPU здатний трохи "допомогти" навіть одиночній завдання,взявши на себе обслуговування процесів, породжених операційною системою.
    Крім того, навіть один додаток може породжувати потоки (threads), якіза наявності декількох CPU можуть виконуватися на них окремо. Так,наприклад, надходять майже всі програми рендеринга - вони спеціальнописалися з урахуванням можливості роботи на багатопроцесорних системах. Томуу разі використання потоків виграш від SMP іноді досить вагою навіть у
    "Однозадачной" ситуації.
    По суті, потік відрізняється від процесу тільки двома речами - він по-першеніколи не породжується користувачем (процес може запустити як система,так і людина, в останньому випадку процес = додаток; поява потокуініціюється виключно запущеним процесом), і по-друге - потіквивантажується разом з батьківським процесом незалежно від свого бажання.
    Також не варто забувати, що в класичній SMP-системі обидва процесорапрацюють кожен зі своїм кешем і набором регістрів, але пам'ять у них спільна.
    Тому якщо два завдання одночасно працюють з ОЗУ, заважати вони один одномубудуть все одно, навіть якщо CPU у кожної свій.
    Ну і нарешті останнє: в реальності користувач має справу не з одним, нез двома, і навіть не з трьома процесами. На наведеному колажі (цедійсно колаж, тому що з скріншота Task Manager були вилучені всікористувацькі процеси, тобто програми, що запускаються "для роботи")добре видно, що "гола" Windows XP, сама по собі, не запустивши ще ніоднієї програми, вже породила 12 процесів, причому багато хто з них до тогож ще й багатопотокові, і загальна кількість потоків досягає двохсот восьмиштук!

    Тому розраховувати на те, що вдасться прийти до схеми "за власним CPUна кожну задачу "зовсім не доводиться, і перемикатися міжфрагментами коду процесори будуть все одно - і фізичні, і віртуальні.
    Втім, насправді все не так сумно - при грамотно написаному кодінічого в даний момент не робить процес (або потік) процесорногочасу практично не займає (це теж видно на колажі).

    Тепер, розібравшись з «фізичної» багатопроцесорні, перейдемо до Hyper-
    Threading. Фактично - це теж багатопроцесорні, тільки віртуальна.
    Бо процесор Pentium 4 насправді одна. А процесорів ОС бачить - два.
    Як це?

    Класичному "одноядерними" процесору додали ще один блок AS - IA-32
    Architectural State. Architectural State містить стан регістрів
    (загального призначення, які керують, APIC, службових). Фактично, AS # 1 плюсєдине фізичне ядро (блоки пророкування розгалужень, ALU, FPU, SIMD -блоки тощо) представляє собою один логічний процесор (LP1), а AS # 2плюс все те ж фізичне ядро - другий логічний процесор (LP2). УLP кожного є свій власний контролер переривань (APIC - Advanced
    Programmable Interrupt Controller) і набір регістрів. Для коректноговикористання регістрів двома LP існує спеціальна таблиця - RAT
    (Register Alias Table), згідно з даними в якому можна встановитивідповідність між регістрами загального призначення фізичного CPU. RAT уLP кожного своя. У результаті виходить схема, при якій на одному і томуж ядрі можуть вільно виконуватися два незалежних фрагмента коду тобто де -факто - багатопроцесорну систему!

    3. Hyper-Threading: сумісність

    Крім того, повертаючись до речей практичним і приземленим, хотілося бторкнутися ще один важливий аспект: не всі ОС, навіть підтримуютьбагатопроцесорні, можуть працювати з таким CPU як з двома. Пов'язано це зтаким "тонким" моментом, як початкове визначення кількості процесорівпри ініціалізації операційної системи. Intel прямо заявляє, що ОС безпідтримки ACPI другий логічний процесор побачити не зможуть. Крім того,
    BIOS системної плати також повинен вміти визначати наявність процесора зпідтримкою Hyper-Threading. Фактично, стосовно, наприклад, до
    Windows, це означає, що виявляється неприйнятною не тільки лінійка
    Windows 9x, але і Windows NT - остання зважаючи на відсутність підтримки ACPI НЕзможе працювати з одним новим Pentium 4 як з двома.
    Не дивлячись на заблоковану можливість роботи з двома фізичнимипроцесорами, з двома логічними, що отримуються за допомогою Hyper-Threading,зможе працювати Windows XP Home Edition.
    А Windows XP Professional, до речі, незважаючи на обмеження кількостіфізичних процесорів до двох, при двох встановлених CPU з підтримкою
    Hyper-Threading чесно "бачить" чотири.
    На жаль нові CPU з частотою більше 3 ГГц можуть вимагати замінисистемної плати.
    Навіть при номінальному збереженні все того ж процесорного роз'єму Socket
    478 Intel не вдалося залишити в недоторканності споживану потужність ітепловиділення нових процесорів. Збільшення споживання по струму пов'язано нетільки зі збільшенням частоти, але і з тим, що через очікуване використання
    "Віртуальної багатопроцесорності" навантаження на ядро в середньому зросте,отже, зросте й середня споживана потужність. "Старі"системні плати в деяких випадках можуть бути сумісні з новими CPU - алетільки якщо робилися "із запасом". Грубо кажучи, ті виробники, якіробили свої плати відповідно до рекомендацій самої Intel щодоспоживаної Pentium 4 потужності, опинилися в програші по відношенню до тих,хто трохи перестраховался.Но і це ще не все. Крім ОС, BIOS іелектроніки плати, з технологією Hyper-Threading повинен бути сумісний щеі чіпсет. Тому щасливими власниками двох процесорів за ціною одногозможуть стати тільки ті, чия системна плата заснована на одному з новихчіпсетів з підтримкою 533 МГц FSB: i850E, i845E, i845PE/GE.

    4. Hyper-Threading: навіщо вона потрібна

    Компанія Intel, якщо уважно подивитися, ніколи не відрізняласяабсолютною досконалістю своїх продуктів, більше того - варіації на ті жтеми від інших виробників часом виходили набагато більш цікавими іконцептуально стрункими. Проте, як виявилося, абсолютно все робитидосконалим і не потрібно - головне щоб чіп уособлював собою якусь ідею,і ідея ця припадала дуже вчасно і до місця. І ще - щоб її просто небуло в інших.
    Так було з Pentium, коли Intel протиставила досить продуктивному вцілочисельних операціях AMD Am5x86 потужний FPU. Так було з Pentium II,який отримав широку шину і швидкий кеш другого рівня, завдяки чомуза ним так і не змогли наздогнати всі процесори Socket 7. Так було і з
    Pentium 4, який протиставив всім іншим наявність підтримки SSE2 ішвидке зростання частоти - і теж де-факто виграв. Зараз Intel пропонує
    Hyper-Threading.
    Я думаю, що варто задуматися - чому виробник, відомийграмотністю своїх інженерів (ні слова про маркетологів) і величезнимисумами, які він витрачає на дослідження, пропонує цю технологію.
    Оголосити Hyper-Threading "черговий маркетингової штучкою", звичайно, простішепростого. Однак не варто забувати, що це технологія, вона вимагаєдосліджень, грошей на розробку, часу, сил. Чи не простіше було найняти заменшу суму ще одну сотню PR-менеджерів або зробити ще десяток гарнихрекламних роликів? Мабуть, не простіше. А значить, "що щось у цьому є".
    Слід спробувати зрозуміти навіть не те, що вийшло в результаті, а те,чим керувалися розробники IAG (Intel Architecture Group), колиприймали рішення - розробляти "цю цікаву думку" далі, абовідкласти на потім.
    Як не дивно, для того щоб зрозуміти як функціонує Hyper-Threading,цілком достатньо розуміти як працює будь-яка багатозадачна операційнасистема. І справді - адже виконує-таки якимось чином одинпроцесор одразу десятки завдань? Цей "секрет" всім вже давно відомий - наНасправді, звичайно одночасно все одно виконується тільки один (наоднопроцесорній системі) завдання, просто перемикання між шматками кодурізних завдань виконується настільки швидко, що створюється ілюзіяодночасної роботи великої кількості додатків.
    По суті, Hyper-Threading пропонує те ж саме, але реалізована апаратно,усередині самого CPU. Є деяка кількість різних виконуючих блоків
    (ALU, MMU, FPU, SIMD), і є два "одночасно" виконуваних фрагментакоду. Спеціальний блок відстежує, які команди з кожного фрагментанеобхідно виконати в даний момент, після чого перевіряє, завантажені чироботою всі виконуючі блоки процесора. Якщо один з них простоює, ісаме він може виконати цю команду - йому вона і передається. Природно,існує і механізм примусового посила команди на виконання - вІнакше один процес міг би захопити весь процесор (усівиконують блоки) і виконання другої ділянки коду (що виконується надруга "віртуальному CPU") було б перервано. Даний механізм (поки що) неє інтелектуальним тобто не здатний оперувати різнимипріоритетами, а просто чергує команди з двох різних ланцюжків у порядкуживої черги. Якщо, звичайно, не виникає ситуації, коли команди однієїланцюжки з виконуючим блокам ніде не конкурують з командами іншого. Уцьому випадку виходить дійсно на 100% паралельне виконання двохфрагментів коду.
    Найбільш очевидне слідство застосування технології Hyper-Threading - підвищеннякоефіцієнта корисної дії процесора. Дійсно - якщо одна зпрограм використовує в основному цілочисельну арифметику, а друга --виконує обчислення з плаваючою точкою, то під час виконання першого FPUпросто нічого не робить, а під час виконання другого - навпаки, нічого неробить ALU. Здавалося б, на цьому можна закінчити.
    Однак це ідеальний (з точки зору застосування Hyper-Threading) варіант.
    Слід розглянути й інший: обидві програми задіяні одні і ті ж блокипроцесора. Зрозуміло, що прискорити виконання в даному випадку доситьскладно - бо фізична кількість виконуючих блоків від "віртуалізації" незмінилося. А от не сповільниться Чи воно?
    У випадку з процесором без Hyper-Threading є просто "чесне"почергове виконання двох програм на одному ядрі з арбітром у виглядіопераційної системи, і загальний час їх роботи визначається:часом виконання коду програми № 1часом виконання коду програми № 2тимчасовими витратами на перемикання між фрагментами коду програм № 1 і
    № 2

    У випадку з Hyper-Threading схема стає трохи інший:час виконання програми № 1 на процесорі № 1 (віртуальному)час виконання програми № 2 на процесорі № 2 (віртуальному)час на перемикання однієї фізичної ядра (як набору необхідних обомпрограмами виконуючих блоків) між двома емуліруемимі "віртуальними CPU"

    Залишається визнати, що і тут Intel надходить цілком логічно: конкуруютьміж собою за швидкодією тільки пункти за номером три, і якщо в першійвипадку дія виконується програмно-апаратно (ОС управляєперемиканням між потоками, задіявши для цього функції процесора), тоу другому випадку є повністю апаратне рішення - процесор всеробить сам. Теоретично, апаратне рішення завжди виявляється швидшепрограмного.

    Також одним з найсерйозніших неприємних моментів є те, що Pentium 4доводиться мати справу з класичним x86-кодом, у якому активновикористовується пряме адресування осередків і навіть цілих масивів, що знаходяться замежами процесора - в ОЗУ. Та й взагалі більшість оброблюваних данихнайчастіше в ньому вони. Тому ділити між собою віртуальні CPU будутьне тільки регістри, але і загальну для обох процесорну шину, минаючи якудані в CPU потрапити просто не можуть.
    Проте тут є один тонкий момент: на сьогоднішній день "чесні"двопроцесорні системи на Pentium III і Xeon знаходяться в такій самійситуації! Тому що шина AGTL +, що дісталася у спадок всім сьогоднішнімпроцесорів Intel від знаменитого Pentium Pro (надалі її лишепіддавали модифікацій, але ідеологію практично не чіпали) - всього один,скільки б CPU не було встановлено в системі.
    Відійти від цієї схеми на x86 спробувала тільки AMD зі своїм Athlon MP - у
    AMD 760MP/760MPX від кожного процесора до північного мосту чіпсета йдеокрема шина. Втім, навіть у такому варіанті проблема відсувається НЕдуже далеко - так як шина пам'яті точно один - причому ось у цьому випадкувже скрізь.
    Але і навіть з цього взагалі-то не дуже приємного моменту Hyper-Threadingможе допомогти витягти якусь користь. Справа в тому, що по ідеї повинен будеспостерігатися істотний приріст продуктивності не тільки у випадку зкількома завданнями, що використовують різні функціональні блоки процесора,але і в тому випадку, якщо завдання по-різному працюють з даними, що знаходятьсяв ОЗУ. Якщо один додаток щось посилено вважає "усередині себе", іншеж - постійно підкачує дані з ОЗУ, то загальний час виконання їх уразі використання Hyper-Threading по ідеї має зменшитися навіть якщовони використовують однакові блоки виконання інструкцій - хоча б тому, щокоманди на читання даних з пам'яті зможуть оброблятися в той час, покинаше перше додаток буде щось рахувати.

    5. Висновок

    В черговий раз, на радість всього прогресивного людства, Intelвипустила новий Pentium 4, продуктивність к?? торого ще вище ніж упопереднього Pentium 4, і справа тут не тільки в зайвих двісті мегагерцах, аі в новій технології під назвою - Hyper-Threading
    Технологія Hyper-Threading з теоретичної точки зору виглядає доситьнепогано і відповідає реаліям сьогоднішнього дня. Вже досить рідко можназастати користувача з одним сиротливо відкритим вікном на екрані - всімхочеться одночасно і музику слухати, і по Internet бродити, і диски зулюбленими MP3 записувати, а може навіть, і пограти на цьому фоні в яку -небудь комп'ютерну гру.
    Hyper-Threading дозволяє збільшити коефіцієнт корисної діїпроцесора в певних ситуаціях. Зокрема - в ситуаціях, колиодночасно виконуються різнорідні за характером програми. Це звичайноплюс, але він не є всеосяжним і глобальним. Тому що ефект від
    Hyper-Threading спостерігається виключно в деяких випадках. Зрозуміло, щопоява CPU, здатного в два рази швидше робити все те, що робилосяраніше - це величезний прорив. Однак Intel не став ініціювати початокнової епохи змін, просто додавши своєму процесору можливість дещоробити швидше.
    Однак Hyper-Threading не можна назвати "паперовою" технологією, тому що припевних комбінаціях вона дає цілком відчутний ефект. Навіть набагатобільший ефект, ніж іноді спостерігається при порівнянні, наприклад, двохплатформ з одним процесором на різних чіпсетах. Хоча ефект цейспостерігається не завжди, і істотно залежить від стилю роботи користувача зкомп'ютером. Причому саме тут виявляється то що: Hyper-Threading - цеНЕ SMP. "Класичний SMP-стиль", де користувач розраховує на реакціюнастільки ж класичної "чесною" багатопроцесорної системи, тут не дастьбажаного результату.
    "Стиль Hyper-Threading" - це поєднання процесів "розважальних" або
    "Службових" з процесами "робочими". Користувач не отримає істотногоприскорення від CPU з підтримкою цієї технології в більшості класичнихбагатопроцесорних завдань, або якщо за звичкою буде запускати тільки однедодаток в один момент часу. Але він швидше за все отримає зменшеннявиконавчі багатьох фонових завдань, що виконуються в якості "додатка" дозвичайній роботі. Фактично, Intel просто ще раз нагадала всім нам, щоопераційні системи, у яких ми працюємо - багатозадачні. І запропонуваласпосіб прискорення - але не стільки одного якогось процесу самого по собі,скільки комплексу виконуваних одночасно додатків. Це цікавий ідосить затребуваний підхід.
    -----------------------< br>

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

     

     

     

     

     

     

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