Організація віртуальної пам"яті в процесорах сімейства Nehalem
Intel сконцентрувалася на продуктивності загального кеша L2, який став кращим рішенням для архітектури, яка націлювалася, головним чином, на двоядерні конфігурації. Але у випадку з Nehalem інженери почали з нуля і прийшли до такого ж висновку, що і конкуренти: загальний кеш L2 не дуже добре підходить для «рідної» чотирьохядерний архітектури. Різні ядра можуть занадто часто «вимивати» дані… Читати ще >
Організація віртуальної пам"яті в процесорах сімейства Nehalem (реферат, курсова, диплом, контрольна)
Вступ Політика компанії Intel у відношенні до настільних процесорів полягає в щорічному поновленні продуктової лінійки. Це здійснюється двома способами — переходом на новий технологічний процес та зміною архітектури. В 2008 році підійшла черга зміни архітектури і Intel представила свою останню розробку — Nehalem.
Перед нами чергова революційна платформа, яка может підняти планку продуктивності на ще більший рівень. Nehalem — нова мікроархітектура для процесорів Bloomfield у виконанні LGA 1366, а також для процесорів Lynnfield у виконанні LGA 1156. Мікропроцесори продаються під торговою маркою Core i7 і Core i5.
Технологія обробки віртуальної пам’яті в процесорах розроблена для багатозадачних операційних систем. При використанні даної технології для кожної програми використовуються незалежні схеми адресації пам’яті, які відображаються тим або іншим способом на фізичні адреси в пам’яті ЕОМ. Дозволяє збільшити ефективність використання пам’яті декількома одночасно працюючими програмами, організувавши безліч незалежних адресних просторів і забезпечити захист пам’яті між різними додатками. Також дозволяє програмісту використовувати більше пам’яті, ніж встановлено в комп’ютері, за рахунок відкачування не використовуваних сторінок на вторинне сховище (див. Підкачка сторінок).
При використанні віртуальної пам’яті спрощується програмування, так як програмісту більше не потрібно враховувати обмеженість пам’яті, або погоджувати використання пам’яті з іншими додатками. Для програми виглядає доступним і безперервним все допустиме адресний простір, поза залежністю від наявності в ЕОМ відповідного обсягу ОЗУ.
Постановка завдання
Тема моєї курсової роботи «Організація віртуальної пам’яті в процесорах сімейства Nehalem». Мета курсової роботи — вдосконалення теоретичних знань.
Для більш детального розгляду цієї теми необхідно розглянути такі питання:
1. Архітектура Intel Core i (Nehalem) та її особливості
2. Технічні характеристики процесорів
2.1 Intel Core i3
2.2 Intel Core i5
2.3 Intel Core i7
3. Організація віртуальної пам’яті в процесорах Intel
1. Загальна частина
1.1 Архітектура Nehalem
Корпорація Intel уперше представила мікроархітектуру Nehalem в листопаді 2008 року. Процесори грунтувалися на мікроархітектурі Nehalem, вироблялися за технологією — 45 нм, містили 731 млн. транзисторів у ядрі, три рівня КЕШ-пам'яті (L3 КЕШ — 8 Мб, з технологією Smart Cache), вбудований контролер пам’яті, що підтримує пам’ять DDR3−800/1066 до 24 Гб, і встановлювалися в роз'єм LGA 1366. Працювали на тактовій частоті - 2,67−3,33 ГГц (з технологією Turbo Boost 2,93−3,6 ГГц), з шиною QPI.
У процесорах використовувалися технології та набори інструкцій: MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, Enhanced Intel SpeedStep Technology, Intel 64, XD bit, Intel VT-x, Hyper-threading, Turbo Boost, Smart Cache.
Це були перші процесори, створені на основі нової мікроархітектури Nehalem. В процесори було внесено цілий ряд принципових змін. По-перше, було розроблено нове обчислювальне ядро, що базується на обчислювальному ядрі Core, але з низкою змінених або оптимізованих блоків, і на новій системній шині, в сукупності дозволили ядер процесора безпосередньо обмінюватися даними між собою. При цьому максимальна пропускна здатність системної шини становила 25.6 Гб в секунду.
По-друге, в процесори був інтегрований трьохканальний контролер пам’яті, що дозволяє значно підняти продуктивність, за рахунок скорочення затримок, пов’язаних з роботою з пам’яттю.
По-третє, серйозної переробки піддалася КЕШ-пам'ять. В результаті, КЕШ-пам'ять другого рівня стала індивідуальною для кожного ядра, і її обсяг зменшився до 256 Кб, а КЕШ-пам'ять третього рівня стала загальною для всіх ядер, при цьому за допомогою технології Smart Cache розмір КЕШ-пам'яті третього рівня, відведеної конкретному ядру, змінювався, залежно від навантаження на ядро.
Був ще цілий ряд менш принципових змін. У сукупності всі інновації дозволили значно підняти продуктивність процесора навіть без зміни тактової частоти, яка також була немаленькою і досягала 3,33 ГГц, а з технологією Turbo Boost, що дозволяє короткочасно, при підвищенні навантаження на ядро, підвищувати тактову частоту, досягала 3,6 ГГц. В цій архітектурі були використані різні сучасні інновації, що забезпечують рекордне підвищення продуктивності, поліпшення енергозбереження та підвищення швидкодії при роботі в багатозадачному середовищі.
Розібравшись з тим, які технології забезпечують підвищення продуктивності процесорів Intel Core i7, можна переходити до знайомства зі структурною схемою (рисунок 2.1), на якій відображені логічні особливості обробки даних.
Рисунок 1.1.1 Архітектура Nehalem
Архітектура Intel Core передбачає симетричний декодер 4−4-4−4, тобто кожен з чотирьох каналів декодера може декодувати інструкції, що породжують до чотирьох мікрооперацій.
Більшість команд при декодуванні розбивається на дві-три мікрооперацій, однак зустрічаються і такі команди, для декодування яких потрібні були б десятки і навіть сотні мікрооперацій. Для цих цілей використовується спеціальна ROM-пам'ять (uCode ROM), в якій зберігаються програми, що складаються з послідовності мікрооперацій, причому кожна така програма відповідає одній декодованому інструкції.
Після процесу декодування команд починається етап їх виконання. Спочатку відбувається перейменування і розподіл додаткових регістрів процесора (Allocate & Rename), які не визначені архітектурою набору команд. Перейменування регістрів дозволяє домогтися їх безконфліктного існування.
На наступному етапі (Retirement Unit (ReOrder Buffer)) відбувається переупорядкування мікрооперацій не в порядку їх надходження (out of order) з тим, щоб згодом можна було реалізувати їх паралельне виконання на виконавчих блоках.
Далі відбувається планування та розподіл мікрооперацій за виконавчими блокам. Планувальник (Scheduler) формує черги мікрооперацій, в результаті чого мікрооперацій потрапляють на один з п’яти портів функціональних пристроїв (dispatch ports). Цей процес називається диспетчеризацією (Dispatch), а самі порти виконують функцію шлюзу до функціональних пристроїв.
Після того як мікрооперацій пройдуть порти диспетчеризації, вони завантажуються в блок регістрів для подальшого виконання.
В архітектурі Intel Core є три порти ALU для операцій з плаваючою комою (Float Point) (FMUL / FPMove, FADD / FPMove, Branch / FPMove), а також по одному порту для запису (Store) і вивантаження (Load) даних з пам’яті.
Крім арифметико-логічних та адресних функціональних пристроїв, в кожному процесорі є також пристрої завантаження і вивантаження (Store / Load), які здійснюють доступ до кешам даних і до оперативної пам’яті. Ці пристрої працюють асинхронно з іншими, і їх звичайно не зображують на блок-схемах.
Логічно дані пристрої зв’язані з пристроями обчислення адрес читання / запису (AGU). Пристрої завантаження і вивантаження конвеєризовані і можуть одночасно обслуговувати велику кількість запитів. Вони також здійснюють попередню вибірку з оперативної пам’яті (копіювання в кеші тих даних, використання яких очікується найближчим часом).
Процес безпосереднього виконання мікрооперацій у виконавчих пристроях відбувається на подальших ступенях конвеєра. Ефективна довжина конвеєра в архітектурі Intel Core становить 14 ступенів.
Нова технологія Turbo Boost дозволяє розподіляти продуктивність ПК в залежності від загрузки, та збільшувати тактову частоту процесору на 267 МГц від номінальної. Технологія автоматично збільшує тактову частоту процесора понад номінальною, якщо при цьому не перевищуються обмеження потужності, температури і струму в складі розрахункової потужності (TDP). Це призводить до збільшення продуктивності
Однопотокові і багатопоточних додатків. Фактично це технологія «саморазгона» процесора.
Доступність технології Turbo Boost не залежить від кількості активних ядер, проте залежить від наявності одного або кількох ядер, що працюють з потужністю нижче розрахункової. Час роботи системи в режимі Turbo Boost залежить від робочого навантаження, умов експлуатації та конструкції платформи.
1.2 Вбудований контролер пам’яті
Intel включає цілих три контролера пам’яті DDR3. Якщо встановити пам’ять DDR3−1333, яку Nehalem теж буде підтримувати, це дасть пропускну спроможність до 32 Гбайт / с в деяких конфігураціях. Але перевага вбудованого контролера пам’яті криється не тільки в пропускній спроможності. Він істотно знижує затримки доступу до пам’яті, що не менш важливо, враховуючи, що кожен доступ коштує кілька сотень тактів. У контексті настільного використання зниження затримок вбудованого контролера пам’яті можна вітати, однак повну перевагу від більш масштабованої архітектури буде помітно в многосокетних серверних конфігураціях. Раніше при додаванні CPU доступна пропускна спроможність залишалася колишньою, проте тепер кожен новий додатковий процесор збільшує пропускну спроможність, оскільки кожен CPU володіє власною пам’яттю.
Рисунок 1.2.1 Вбудований контролер памяті
Звичайно, чудес чекати не слід. Перед нами конфігурація Non Uniform Memory Access (NUMA), тобто доступ до пам’яті буде обходитися з тих чи інших накладним розцінками, залежно від того, де дані розташовуються в пам’яті. Зрозуміло, що доступ до локальної пам’яті буде проводитися з самими низькими затримками і самої високою пропускною здатністю, оскільки доступ до віддаленої пам’яті відбувається через проміжний інтерфейс QPI, що знижує продуктивність.
Вплив на продуктивність передбачити складно, оскільки все залежить від програми та операційної системи. Intel стверджує, що падіння продуктивності при віддаленому доступі по затримкам становить близько 70%, а пропускна здатність знижується в два рази в порівнянні з локальним доступом. За інформацією Intel, навіть при віддаленому доступі через інтерфейс QPI, затримки будуть нижче, ніж на попередніх поколіннях процесорів, де контролер знаходився на північному мосту. Однак це стосується тільки серверних додатків, які вже досить тривалий час розробляються з урахуванням конфігурацій NUMA.
1.3 Трирівнева ієрархія кеша
Intel сконцентрувалася на продуктивності загального кеша L2, який став кращим рішенням для архітектури, яка націлювалася, головним чином, на двоядерні конфігурації. Але у випадку з Nehalem інженери почали з нуля і прийшли до такого ж висновку, що і конкуренти: загальний кеш L2 не дуже добре підходить для «рідної» чотирьохядерний архітектури. Різні ядра можуть занадто часто «вимивати» дані, необхідні іншим ядрам, що призведе до занадто багатьом проблемам з внутрішніми шинами і арбітражем, намагаючись забезпечити всі чотири ядра достатньою пропускною спроможністю із збереженням затримок на досить низькому рівні. Щоб вирішити ці проблеми, інженери оснастили кожне ядро власним кешем L2. Оскільки він виділений на кожне ядро і відносно малий (256 кбайт), вийшло забезпечити кеш дуже високою продуктивністю; зокрема, затримки істотно покращилися в порівнянні з Penryn — з 15 тактів до, приблизно, 10 тактів.
Рисунок 1.3.1 Трирівнева ієрархія кеша Потім є величезна кеш-пам'ять третього рівня (8 Мбайт), що відповідає за зв’язок між ядрами. На перший погляд архітектура кеша Nehalem нагадує Barcelona, але робота кеша третього рівня дуже відрізняється від AMD — вона інклюзивна для всіх нижніх рівнів ієрархії кеша. Це означає, що якщо ядро спробує отримати доступ до даних, і вони відсутні в кеші L3, то немає необхідності шукати дані у власних кешах інших ядер — там їх немає. Навпаки, якщо дані присутні, чотири біта, пов’язані з кожним рядком кеш-пам'яті (один біт на ядро) показують, чи можуть дані потенційно присутнім (потенційно, але без гарантії) в нижньому кеші іншого ядра, і якщо так, то в якому.
Ця техніка дуже ефективна для забезпечення когерентності персональних кешей кожного ядра, оскільки вона зменшує потребу в обміні інформацією між ядрами. Є, звичайно, недолік у вигляді втрати частини кеш-пам'яті на дані, присутні в кешах інших рівнів. Втім, не все так страшно, оскільки кеші L1 і L2 відносно маленькі в порівнянні з кешем L3 — всі дані кешей L1 і L2 займають, максимум, 1,25 Мбайт в кеші L3 з доступних 8 Мбайт. Як і у випадку Barcelona, кеш третього рівня працює на інших частотах у порівнянні з самим чіпом. Отже, затримка доступу на даному рівні може мінятися, але вона повинна складати близько 40 тактів.
Єдині розчарування в новій ієрархії кеша Nehalem пов’язані з кешем L1. Пропускна здатність кешу інструкцій не була збільшена — як і раніше 16 байт на такт у порівнянні з 32 у Barcelona. Це може створити «вузьке місце» в серверно-орієнтованій архітектурі, оскільки 64-бітові інструкції крупніше, ніж 32-бітові, тим більше що у Nehalem на один декодер більше, ніж у Barcelona, що сильніше навантажує кеш. Що стосується кеша даних, його затримка була збільшена до чотирьох тактів в порівнянні з трьома в Conroe, полегшуючи роботу на високих тактових частотах.
1.4 TLB (Буфер асоціативної трансляції)
Вже багато років процесори працюють не з фізичними адресами пам’яті, а з віртуальними. Серед інших переваг такий підхід дозволяє виділяти програмі більше пам’яті, ніж є в комп’ютері, зберігаючи лише необхідні на даний момент дані у фізичній пам’яті, а все інше — на жорсткому диску. Це означає, що кожен доступ до пам’яті віртуальний адресу потрібно переводити в фізичну адресу, і для збереження відповідності доводиться використовувати величезну таблицю. Проблема в тому, що ця таблиця виходить настільки великий, що на чіпі її зберігати вже не виходить — вона розміщується в основній пам’яті, причому її можна навіть скидати на жорсткий диск (частина таблиці може бути відсутнім в пам’яті, будучи скинутої на HDD).
Якщо для кожної операції роботи з пам’яттю був би потрібний такий етап перекладу адрес, то все працювало б занадто повільно. Тому інженери повернулися до принципу фізичної адресації, додавши невелику кеш-пам'ять безпосередньо на процесор, яка зберігає відповідність для декількох недавно запитаних адрес. Кеш-пам'ять називається Translation Lookaside Buffer (TLB). Intel повністю переробила TLB в новій архітектурі. До цих пір Core 2 використав TLB першого рівня дуже маленького розміру (16 записів), але дуже швидкий і тільки для завантажень, а також більший кеш TLB другого рівня (256 записів), який відповідав за завантаження, відсутні в TLB L1, а також і запису.
Nehalem тепер оснастити повноцінним дворівневим TLB: кеш TLB першого рівня розділений для даних і інструкцій. Кеш TLB L1 для даних може зберігати 64 записи для маленьких сторінок (4K) або 32 записи для великих сторінок (2M/4M), а кеш TLB L1 для інструкцій може зберігати 128 записів для маленьких сторінок (як і у випадку Core2), а також сім для великих. Другий рівень складається з уніфікованого кеша, який може зберігати до 512 записів і працює тільки з маленькими сторінками. Мета такого поліпшення полягає в збільшенні продуктивності додатків, які використовують великі масиви даних. Як і у випадку дворівневої системи передбачення розгалужень, перед нами ще одне свідчення серверної орієнтації архітектури.
Давайте на час повернемося до SMT, оскільки ця технологія теж впливає на TLB. Кеш L1 TLB для даних і TLB L2 динамічно розподіляються між двома потоками. Навпаки, кеш L1 TLB для інструкцій статично розподіляється для малих сторінок, а виділений для великих сторінок повністю копіюється — це цілком зрозуміло, враховуючи його малий розмір (сім записів на потік).
1.5 Оптимізований доступ до пам’яті (Unaligned Memory Access)
В архітектурі Core доступ до пам’яті приводив до ряду обмежень по продуктивності. Процесор був оптимізований для доступу до адрес пам’яті, вирівняним по 64-байтним кордонів, тобто за розміром однієї строчки кеша. Для невирівняні даних доступ був не тільки повільний, але і виконання невирівняні інструкцій зчитування або запису було більш накладними, ніж у випадку вирівняних інструкцій, незалежно від реального вирівнювання даних пам’яті. Причина полягала в тому, що ці інструкції приводили до генерації декількох мікрооперацій на декодерах, що знижувало пропускну спроможність з даними типами інструкцій. У підсумку компілятори уникали генерувати інструкції подібного типу, підставляючи замість них послідовність інструкцій, які менш накладні.
Так, читання з пам’яті, при якому відбувався перехлест двох рядків кеша, сповільнювався приблизно на 12 тактів, в порівнянні з 10 тактами для запису. Інженери Intel оптимізували подібний тип звернень, щоб він виконувався швидше. Почнемо з того, що тепер немає падіння продуктивності при використанні невирівняні інструкцій читання / запису у випадках, коли дані вирівняні в пам’яті. В інших випадках Intel теж оптимізувала доступ, знизивши падіння продуктивності в порівнянні з архітектурою Core.
1.6 Більше блоків попередньої вибірки з більш ефективною роботою
віртуальний пам’ять intel процесор В архітектурі Conroe Intel особливо пишалася апаратними блоками передбачення. Як ви знаєте, блок пророкування — це механізм, який стежить за характером доступу до пам’яті і намагається передбачити, які дані будуть потрібні через кілька тактів. Мета полягає в тому, щоб випереджувальним чином завантажити дані в кеш, де вони будуть розташовуватися ближче до процесора, і разом з тим максимально використовувати доступну пропускну спроможність тоді, коли процесору вона не потрібна.
Дана технологія дає чудові результати з більшістю настільних додатків, але в серверній середовищі вона часто приводила до втрати продуктивності. Є кілька причин подібної неефективності. По-перше, доступи до пам’яті часто складніше передбачити в серверних застосуваннях. Доступ до бази даних, наприклад, аж ніяк не лінійний — якщо в пам’яті запитується небудь елемент даних, то це не означає, що наступним буде сусідній елемент. Це обмежує ефективність блоку попередньої вибірки. Але основною проблемою була пропускна здатність пам’яті в многосокетних конфігураціях. Як ми вже говорили раніше, вона вже була «вузьким місцем» для декількох процесорів, але, крім цього, блоки попередньої вибірки приводили до додаткового навантаження на цьому рівні. Якщо мікропроцесор не виконує доступ до пам’яті, то включалися блоки попередньої вибірки, намагаючись використовувати пропускну здатність, по їх припущенню, вільну. Однак блоки не могли знати, чи потрібна ця пропускна спроможність другому процесора. Це означало, що блоки попередньої вибірки могли «відбирати» у процесора пропускну здатність, яка і так була «вузьким місцем» в таких конфігураціях. Щоб вирішити цю проблему, Intel не знайшла нічого кращого, як відключити блоки попередньої вибірки в таких ситуаціях — навряд чи найоптимальніше рішення.
Як стверджує Intel, ця проблема вже вирішена, проте компанія не дає ніяких деталей з приводу роботи нових механізмів попередньої вибірки. Все, що компанія говорить: тепер не потрібно відключати блоки для серверних конфігурацій. Втім, навіть Intel нічого не змінила, переваги від нової організації пам’яті і, внаслідок цього, більша пропускна здатність повинні нівелювати негативний вплив блоків попередньої вибірки.
Conroe став серйозним фундаментом для нових процесорів, і Nehalem побудований якраз на ньому. Тут використовується така ж ефективна архітектура, але тепер вона набагато більш модульна і масштабована, що повинно гарантувати успіх в різних ринкових сегментах. Ми не говоримо про те, що Nehalem революціонізував архітектуру Core, але новий процесор революціонізував платформу Intel.
З усіма поліпшенням, зробленими на даному етапі (інтегрований контролер пам’яті, QPI), не дивно бачити, що зміни виконавчого ядра не такі значні. Але повернення Hyper-Threading можна вважати серйозною новиною, та й ряд невеликих оптимізацій теж повинні забезпечити помітний приріст продуктивності.
2. Технічні характеристики процесорів Intel (Nehalem)
2.1 Core i3
Core i3 (Clarkdale) — двоядерний процесор останнього покоління, призначений для настільних комп’ютерів початкового рівня. Вперше представлений 7 січня 2010 року. Встановлюється в роз'єм LGA1156. Виробляється за 32-нм технології.
Оснащений вбудованим двоканальним контролером оперативної пам’яті DDR3−1066/1333 з напругою до 1,6 В. Модулі, розраховані на більш високу напругу, не будуть працювати з цим чіпом і навіть можуть його пошкодити.
Забезпечений вбудованим контроллером PCI Express 2.0×16, завдяки якому графічний прискорювач може підключатися безпосередньо до процесора. Для з'єднання з набором системної логіки застосовується шина DMI (Digital Media Interface) c пропускною спроможністю 2 Гбайт / с.
В процесори Core i3 вбудовано графічне ядро GMA HD з дванадцятьма конвеєрами і тактовою частотою 733 Мгц.
Базова тактова частота для всіх моделей Core i3 — 133 МГц, номінальні частоти досягаються застосуванням множників.
Сумісні набори системної логіки: Intel H55 Express, H57 Express, P55 Express, Q57 Express.
2.1.1 Основні технічні характеристики CORE I3
— Мікроархітектура Nehalem
— Два ядра
— Кеш-пам'ять L1 — 64 Кбайт (32 Кбайт для даних і 32 Кбайт для інструкцій) для кожного ядра
— Кеш-пам'ять L2 — 256 Кбайт для кожного ядра
— Кеш-пам'ять L3 — 4 Мбайт, спільна для всіх ядер
— Вбудований двоканальний контролер оперативної пам’яті DDR3−1066/1333 МГц
— Вбудований контролер PCI Express 2.0×16
— Вбудований графічний адаптер з тактовою частотою 733 МГц
— Підтримка технології віртуалізації VT
— Підтримка 64-бітних інструкцій Intel EM64T
— Підтримка технології Hyper-Threading
— Набір інструкцій SSE 4.2
— Набір інструкцій AES-NIS
— Антивірусна технологія Execute Disable Bit
— Технологія динамічної зміни частоти Enhanced SpeedStep
Таблиця 2.1.2 МОДЕЛЬНИЙ РЯД
Індекс | Модель | Частота, ГГц | Ядер | HT | Видео | L3 | TDB, Вт | Макс_T ° С | Напруга, Вт | |
SLBMQ | I3−540 | 3,08 | 4Мб | 72,6 | 0,64−1,4 | |||||
SLBLR | I3−530 | 2,93 | 4Мб | 72,6 | 0,63−1,4 | |||||
2.2 Core i5
Core i5 (Clarkdale або Lynnfield) — двох або чотирьохядерний процесор останнього покоління, призначений для настільних комп’ютерів середнього рівня. Вперше представлений 8 вересня 2009 року. Встановлюється в роз'єм LGA1156. Двоядерні Clarkdale проводиться по 32-нм технології, чотирьохядерні Lynnfield — по 45-нм технології.
Оснащений вбудованим двоканальним контролером оперативної пам’яті DDR3−1066/1333 з напругою до 1,6 В. Модулі, розраховані на більш високу напругу, не будуть працювати з цим чіпом і навіть можуть його пошкодити.
Забезпечений вбудованим контроллером PCI Express 2.0×16, завдяки якому графічний прискорювач може підключатися безпосередньо до процесора. У моделях з вбудованим графічним ядром GMA HD до чіпу може підключатися одна відеокарта в режимі x16, в моделях без вбудованої графіки — дві відеокарти в режимі x8 кожна.
Для з'єднання з набором системної логіки застосовується шина DMI (Digital Media Interface) c пропускною спроможністю 2 Гбайт / с.
У двоядерних моделях (серія 6хх) вбудований графічний адаптер GMA HD і реалізована технологія Hyper-Threading, в чотирьохядерних (серія 7xx) графіки і Hyper-Threading немає. У моделях, номер яких закінчується на 1, тактова частота графіки становить 900 МГц, в моделях, номер яких закінчується на 0, графічне ядро працює на частоті 733 МГц.
У всіх Core i5 реалізована технологія автоматичного підвищення тактової частоти Turbo Boost в ресурсномістких завданнях.
Базова тактова частота для всіх моделей Core i5 — 133 МГц, номінальні частоти досягаються застосуванням множників.
Сумісні набори системної логіки: Intel H55 Express, H57 Express, P55 Express, Q57 Express.
2.2.1 основні технічні характеристики Core i5
— мікроархітектура Nehalem
— Два або чотири ядра
— Кеш-пам'ять L1 — 64 Кбайт (32 Кбайт для даних і 32 Кбайт для інструкцій) для кожного ядра
— Кеш-пам'ять L2 — 256 Кбайт для кожного ядра
— Кеш-пам'ять L3 — 4 або 8 Мбайт, спільна для всіх ядер
— Вбудований двоканальний контролер оперативної пам’яті DDR3−1066/1333 МГц
— Вбудований контролер PCI Express 2.0 (одна лінія x16 або дві x8 в моделях без інтегрованої графіки)
— Вбудований графічний адаптер з тактовою частотою 733 або 900 МГц
— Підтримка технології віртуалізації VT
— Підтримка 64-бітних інструкцій Intel EM64T
— Підтримка технології Hyper-Threading в двоядерних моделях
— Підтримка технології Turbo Boost
— Набір інструкцій SSE 4.2
— Набір інструкцій AES-NIS
— Антивірусна технологія Execute Disable Bit
— Технологія динамічної зміни частоти Enhanced SpeedStep
Таблиця 2.2.2 Модельный ряд
Індекс | Модель | Частота, ГГц | TurboBoost | Ядер | HT | Видео | L3 | TDB, Вт | Макс_T ° С | Напруга, Вт | |
SLBLH | I5−7505 | 2,40 | 3,2 | ; | ; | 76,7 | 0,65−1,4 | ||||
SLBLC | I5−750 | 2,66 | 3,2 | ; | ; | 72,7 | 0,65−1,4 | ||||
SLBTM | I5−680 | 3,6 | 3,86 | н.д | 0,65−1,4 | ||||||
SLBLT | I5−670 | 3,56 | 3,73 | 72,6 | 0,65−1,4 | ||||||
SLBNE | I5−661 | 3,33 | 3,6 | 69,8 | 0,65−1,4 | ||||||
SLBLV | I5−660 | 3,33 | 3,6 | 72,6 | 0,65−1,4 | ||||||
SLBLK | I5−650 | 3,20 | 3,46 | 72,6 | 0,65−1,4 | ||||||
2.3 Core i7
Core i7 (Bloomfield, Lynnfield або Gulftown) — чотирьох або шестиядерний процесор останнього покоління, призначений для настільних комп’ютерів вищого класу. Вперше представлений в листопаді 2008 року. Чотирьохядерні Bloomfield і Lynnfield проводиться по 45-нм технології, шестиядерні Lynnfield — по 32-нм технології.
Випускаються в двох модифікаціях: серія 9хх (для роз'єму LGA1366) з вбудованим трьохканальним контролером пам’яті і шиною QPI і серія 8xx (для роз'єму LGA1156) c двоканальним контролером пам’яті, вбудованим контролером PCI Express 2.0 і шиною DMI) Підтримується оперативна пам’ять DDR3−1066/1333 з напругою до 1,6 В. Модулі, розраховані на більш високу напругу, не будуть працювати з цим чіпом і навіть можуть його пошкодити.
Процесори для роз'єму LGA1366 оснащуються швидкісний шиною QPI, що працює на частоті 2,4 ГГц (до 4,8 Гбайт / с) в звичайних i7 і на частоті 3,2 ГГц (6,4 Гбайт / с) в модифікаціях Extreme (до них відносяться i7−965, i7−975 і i7−980X.
Чіпи для роз'єму LGA1156 забезпечені вбудованим контроллером PCI Express 2.0×16, завдяки якому графічний прискорювач може підключатися безпосередньо до процесора. Для з'єднання з набором системної логіки тут застосовується шина DMI (Digital Media Interface) c пропускною спроможністю 2 Гбайт / с.
У всіх Core i7 реалізовані технологія автоматичного підвищення тактової частоти Turbo Boost в ресурсномістких завданнях, а також технологія Hyper-Threading.
Базова тактова частота для всіх моделей Core i7 — 133 МГц, номінальні частоти досягаються застосуванням множників. У модифікаціях Core i7 Extreme множник розблоковано, що дозволяє безперешкодно підвищувати тактову частоту процесора.
Сумісні набори системної логіки: серія 8xx — Intel H55 Express, H57 Express, P55 Express, Q57 Express, серія 9xx — Intel X58 Express.
2.3.1 основні технічні характеристики Core i7
— Микроархитектура Nehalem
— Четыре или шесть ядер
— Кэш-память L1 — 64 Кбайт (32 Кбайт для данных и 32 Кбайт для инструкций) для каждого ядра
— Кэш-память L2 — 256 Кбайт для каждого ядра
— Кэш-память L3 — 8 или 12 Мбайт, общая для всех ядер
— Встроенный двухканальный (LGA1156) или трёхканальный (LGA1366) контроллер оперативной памяти DDR3−1066/1333 МГц
— Шина QPI, работающая на частоте 2,4 ГГц (4,8 Гбайт/с) или 3,2 ГГц (6,4 Гбайт/с) на моделях для LGA1366
— Шина DMI (2 Гбайта/с) на моделях для LGA1156
— Встроенный контроллер PCI Express 2.0 (одна линия x16 или две x8 в моделях без интегрированной графики) на моделях для LGA1156
— Поддержка технологии виртуализации VT
— Поддержка 64-битных инструкций Intel EM64T
— Поддержка технологии Hyper-Threading
— Поддержка технологии Turbo Boost
— Набор инструкций SSE 4.2
— Набор инструкций AES-NIS для модели i7−980X
— Антивирусная технология Execute Disable Bit
— Технология динамического изменения частоты Enhanced SpeedStep
Таблиця 2.3.2 модельний ряд
Індекс | Модель | Частота, ГГц | Turbo Boost | Ядер | Розьем | L3 | TDB, Вт | Макс_T ° С | Напруга, Вт | |
SLB | I7−983X | 3,33 | 3,6 | 67,9 | 0,8−1,375 | |||||
SLB | I7−975 | 3,33 | 3,6 | 67,9 | 0,8−1,375 | |||||
SLB | I7−965 | 3,2 | 3,46 | 67,9 | 0,8−1,375 | |||||
SLB | I7−960 | 3,20 | 3,46 | 67,9 | 0,8−1,375 | |||||
SLB | I7−950 | 3,06 | 3,32 | 67,9 | 0,8−1,375 | |||||
SLB | I7−940 | 2,93 | 3,2 | 67,9 | 0,8−1,375 | |||||
SLB | I7−930 | 2,8 | 3,06 | 67,9 | 0,8−1,375 | |||||
SLB | I7−920 | 2,66 | 2,93 | 67,9 | 0,8−1,375 | |||||
SLB | I7−870 | 2,93 | 3,6 | 72,7 | 0,64−1,4 | |||||
SLB | I7−860S | 2,53 | 3,46 | 76,7 | 0,65−1,4 | |||||
SLB | I7−860 | 2,8 | 3,46 | 72,7 | 0,65−1,4 | |||||
3. Організація віртуальної пам’яті
3.1 Технологія віртуалізації
Фірмова розробка компанії Intel, так само відома під ім'ям Апаратна віртуалізація, дозволяє запускати на одному фізичному комп’ютері (хості) декілька екземплярів операційних систем (гостьових ОС) в цілях забезпечення їх незалежності від апаратної платформи і емуляції декількох (віртуальних) машин на одній фізичній. Нова операційна Windows 7 версії Professional / Ultimate завдяки підтримці VT дозволяє запускати програми Windows XP в спеціальному режимі сумісності.
3.2 Організація віртуальної пам’яті
Глобальний підхід корпорації Intel до віртуалізації привів до створення декількох апаратних технологій підтримки на платформах, що спрощують віртуалізацію і роблять її більш надійною, а також нерідко дозволяють скоротити програмні витрати, пов’язані з віртуалізацією.
Вдосконалена технологія Intel ВІРТУАЛІЗАЦІЯ (Intel ВТ) передбачає апаратну підтримку управління таблицею сторінок, надаючи гостьової ОС більш простий доступ до апаратних засобів. При цьому скорочується число програмних запитів, перетворення яких диспетчером ВМ займає значні ресурси процесора.
3.3 Важливість віртуалізації системи введення/виводу
Підхід до віртуалізації пристроїв введення/виводу, заснований на використання ПЗ, забезпечує гнучкість в плані введення/виводу і прозорості апаратного забезпечення. Програмна віртуалізація пристроїв введення/виводу не дозволяє контролювати або відслідковувати прямий доступ пристроїв введення/виводу до фізичної пам’яті, що призводить до виникнення проблем при ізоляції віртуальних машин і призначених для них пристроїв введення/виводу. Однак апаратна підтримка у поєднанні з системним програмним забезпеченням може надати необхідні кошти для ізоляції операцій прямого доступу до пам’яті.
Апаратна підтримка віртуалізації пристроїв введення/виводу дозволяє системному програмному забезпеченню захищено призначати певні пристрої введення / виводу безпосередньо для віртуальних машин. Пряме призначення з апаратною підтримкою дозволяє позбутися від рівня емуляції VMM, що дозволяє підвищити пропускну спроможність віртуальної машини. Коли з’являться пристрої, які зможуть розподіляти свої ресурси між декількома віртуальними машинами, функція прямого призначення буде ще більше розширена, оскільки з’явиться можливість призначати більше число віртуальних машин для одного пристрою.
Технологія Intel VT-d забезпечує необхідну апаратну підтримку, щоб зробити віртуалізацію пристроїв введення/виводу більш безпечною, простою і надійною.
3.4 Опис технології віртуалізації ® Intel
Технологія Intel ® Virtualization Technology for Directed I / O (Intel ® VT-d) доповнює асортимент технологій віртуалізації Intel, що забезпечують апаратну підтримку рішень віртуалізації.
Апаратна підтримка Intel VT-d забезпечує можливість зміни адрес, що дозволяє контролювати і відслідковувати адреси DMA, а також дозволяє безпосередньо призначати пристрої введення / виводу під управлінням системного програмного забезпечення.
3.4.1 Зміна адрес та ізоляція
У технології Intel VT-d використовується зміна адрес DMA для обмеження доступу DMA до певних доменів, пов’язаним з фізичними областями пам’яті. Апаратна логіка зміни адрес DMA в наборі мікросхем розміщується між периферійними пристроями з підтримкою DMA і фізичної пам’яттю.
Архітектура Intel VT-d дозволяє системному програмному забезпеченню (VMM або операційній системі в Невіртуальна середовищах) створювати один або кілька захищених доменів DMA, що представляють собою ізольовані середовища, для яких виділені піднабору фізичної пам’яті (показання як кольорові галузі фізичної пам’яті на Малюнку 1). Захищений домен DMA може являти собою пам’ять, призначену віртуальній машині, або пам’ять DMA, виділену драйвером гостьової ОС, працюючим на віртуальній машині або на VMM. Системне програмне забезпечення призначає кожному пристрою вводу / виводу захищений домен. Весь доступ DMA з пристроїв введення / виводу перекладається на фізичні адреси вузла відповідно до призначеним влаштуванню доменом, запобігаючи доступ до пам’яті за меж призначеного домену. Зміна адрес дозволяє пристрою (і драйверу) працювати з адресами віртуальної машини замість адрес фізичної пам’яті.
Рисунок 3.4.1.1 Технологія — віртуалізація INTEL
Для підвищення продуктивності зміни адрес часто використовувані запису структури зміни адрес, наприклад, прив’язка пристроїв введення / виводу до захищених доменам і запису в таблиці перетворення адрес DMA зберігаються в кеш-пам'яті (Малюнок 3). Майбутні версії технології Intel VT-d також будуть підтримувати стандарт PCI-SIG ATS, який визначає засоби дозволу кешування перетворень адрес DMA в кінцевих пристроях.
Рисунок 3.4.1.2 Архітектура технології віртуалізації Intel
Технологія Intel VT-d перетворить адреси DMA пристроїв введення / виводу в адреси фізичних пристроїв у відповідності з призначеними доменами. Для підвищення продуктивності часто використовувані структури зберігаються в кеш-пам'яті.
3.4.2 Використання зміни адрес для прямого призначення
З програмної емуляцією пристроїв введення / виводу програмне забезпечення VMM контролює всі аспекти операцій введення / виводу, в тому числі високі витрати продуктивності платформ при значній пропускної спроможності введення / виводу. З використанням прямого призначення та технології Intel VT-d ці витрати можна видалити, підвищивши продуктивність платформи (Малюнок 4).
Коли віртуальна машина або гостьова ОС запускається поверх VMM, простір гостьових фізичних адрес (GPA) може не відповідати простору фізичних адрес вузла (HPA). Пристроїв із підтримкою DMA потрібно HPA для передачі даних у фізичну пам’ять і отримання даних з неї. Однак при використанні моделі прямого призначення пристрою контролюються драйверами гостьової ОС, які виділяють адреси GPA. З технологією Intel VT-d механізм зміни адрес DMA виконує необхідне перетворення між GPA і HPA. Оскільки VMM відома інформація про середовище, він надає таблиці перетворення механізму зміни адрес Intel VT-d, який виконує необхідне перетворення. При цьому дані поміщаються безпосередньо у відповідний гостьовий буфер. Це підвищує продуктивність системи, оскільки драйвер пристрою гостьової ОС і відповідні програмні прискорювачі безпосередньо керують пристроєм вводу / виводу без втручання VMM.
Рисунок 3.4.2.1 Використання зміни адрес для прямого призначення Пряме призначення і технологія Intel VT-d забезпечують підвищення продуктивності.
Технологія Intel VT дозволяє розгортати автономні віртуальні пристрої сторонніх виробників, щоб виконувати важливі завдання управління і безпеки для виконання таких операцій як глибока перевірка пакетів та забезпечення виконання політик на настільних ПК з процесорної технологією Intel ® vPro™. Ці відмовостійкі віртуальні пристрої забезпечують захищену стабільне середовище для виконання важливих завдань і включають все необхідне програмне забезпечення, що забезпечує зручність і ефективність.
Технологія Intel VT-d зі службами або розділами управління забезпечує ізольовану, контрольовану і захищене середовище для підтримки клієнтських платформ, гарантуючи захист пам’яті і оптимізацію вводу / виводу у віртуальних машинах. Наприклад, віртуальне мережне пристрій, що забезпечує захист від шкідливого мережевого трафіку, існує у власному віртуальному розділі. Системний VMM призначає йому захищений домен DMA поряд з мережевими адаптерами платформи. Користувальницький розділ і ОС бачать віртуальний мережевий адаптер, а мережний пристрій відстежує і фільтрує весь трафік і пересилає на віртуальний адаптер тільки дозволений трафік. Оскільки мережеві адаптери призначаються прямо, і обладнання Intel VT-d забезпечує перетворення адрес, VMM не знижує продуктивність мережевого пристрою, і продуктивність мережі залишається високою.
Висновок
Ми розглянули чергову революційну платформу, яка может підняти планку продуктивності на ще більший рівень. Nehalem — нова мікроархітектура для процесорів Bloomfield у виконанні LGA 1366, а також для процесорів Lynnfield у виконанні LGA 1156. Мікропроцесори продаються під торговою маркою Core i7 і Core i5.
Дізналися, що технологія обробки віртуальної пам’яті в процесорах розроблена для багатозадачних операційних систем. При використанні даної технології для кожної програми використовуються незалежні схеми адресації пам’яті, які відображаються тим або іншим способом на фізичні адреси в пам’яті ЕОМ. Дозволяє збільшити ефективність використання пам’яті декількома одночасно працюючими програмами, організувавши безліч незалежних адресних просторів і забезпечити захист пам’яті між різними додатками. Також дозволяє програмісту використовувати більше пам’яті, ніж встановлено в комп’ютері, за рахунок відкачування не використовуваних сторінок на вторинне сховище (див. Підкачка сторінок).
Ми дізналися, що при використанні віртуальної пам’яті спрощується програмування, так як програмісту більше не потрібно враховувати обмеженість пам’яті, або погоджувати використання пам’яті з іншими додатками. Для програми виглядає доступним і безперервним все допустиме адресний простір, поза залежністю від наявності в ЕОМ відповідного обсягу ОЗУ.
Література
Електроні ресурси
1. Нечай О. И. «Технічні характеристики процесорів» 2010.
2. Керри Джонс-Вано, Филиппу Ланке, Дэвиду Дж. Коупертвейту, Раджеша Санкарану, Кену Страндбергу, Роджеру Херрику «Технологія Intel ® Віртуалізація (Virtualization Technology)» 2009.
3. «Мій персональний комп’ютер. Архітектура Intel i (Nehalem)» 2011.