Апаратне і програмне керування розгоном
Тестування стабільності роботи
Особливості розгону процесорів AMD і INTEL
1.Принцип роботи
Центральний процесор (ЦП), або CPU, або процесор ПК - це спеціальний чіп, який виконує всі основні обчислювальні операції і здійснює обробку інформації. Процесор ПК виконує програмний код - послідовність команд (інструкцій), кожна з яких закодована і розміщена в пам'яті.
Існує два типи інструкцій:
Незважаючи на те, що послідовність виконання інструкцій чітко пропонується командним кодом, вона може бути порушена винятками і переривань. Винятки - це особливі ситуації, що виникають при виконанні інструкцій (управляються ОС). Апаратні переривання є виклики процедур по електричним сигналам в спеціальних контактах процесора. Джерелами апаратних переривань є, наприклад, контролери пристроїв, системи управління живленням. Крім того, послідовність інструкцій може змінюватися за сигналом перезапуску процесора.
Логіка і арифметика
При виконанні інструкції процесор витягує із зазначених в ній місць (реєстр, пам'ять, константа) два довічних числа, а результат дії над ними записує на місце одного з них. Процесор виконує арифметичні функції (додавання, віднімання, множення, ділення) над цілочисельними даними (знаковими і беззнаковими, двійковими і двійково-десятковими).
Робота над числами з плаваючою точкою (у вигляді мантиси і порядку) покладається на математичний співпроцесор. Це набір 80 - бітних регістрів і арифметичний пристрій, яке крім чотирьох арифметичних дій обчислює значення квадратного кореня, логарифмів, ступенів чисел і тригонометричних функцій.
Архітектура і мікроархітектура
Архітектура процесора ПК визначається набором команд, регістрами і структурою даних, а мікроархітектура - схемотехнічна реалізація його архітектури. Нові мікроархітектури створювалися з метою отримання високопродуктивних процесорів, наприклад Intel NetBurst в процесорах Pentium IV, або P6 в старіших процесорах.
Виконавчі блоки процесора (для обробки цілих чисел і чисел з плаваючою комою) повинні безперервно отримувати необхідні команди. У мікроархітектурі Intel NetBurst застосовано кілька новинок, які забезпечують постійне завантаження виконавчих блоків. Серед них - системна шина з частотою 400 МГц, кеш - пам'ять L2 з поліпшеною передачею даних (Advanced Transfer Cache), кеш - пам'ять L1 з відстеженням виконання і зменшеним часом затримки для даних, покращене динамічну дію.
2. Принцип обчислень
Конструкторний процесор являє собою пластину кремнію з декількома сотнями контактів, на якій розміщується кілька мільйонів транзисторів. Кількість контактів визначається роз'ємом материнської плати. Транзистори і контакти розміщені в корпусі, на який встановлюється радіатор з вентилятором (ця конструкція називається кольором, від англ. Сooler - охолоджувач).
Принцип роботи процесора полягає в наступному. Дані, з якими працює процесор, розміщуються в його регістрах (пам'ятьпроцесора) або мікрокоманді, в оперативній пам'яті ПК. Якщо інформація зберігається в пристроях зовнішньої пам'яті, наприклад на жорсткому диску, вона повинна бути зчитана в оперативну пам'ять, з неї - в кеш процесора, а вже потім в регістри процесора. Мікрокоманд процесора заносять числа в його регістри, обробляють їх, а потім видають результат, наприклад в оперативну пам'ять. Щоб скласти цілі числа 5 і 3, в процесор, крім них, надходить команда «скласти числа». На виході виходить результат - ціле число 8.
3. Шини процесора
В основу архітектури сучасних ПК покладено магістральної - модульний принцип. Модульна архітектура передбачає магістральний (шинний) принцип обміну інформацією між пристроями за допомогою наступних шин:
Фізично шини являють собою багатопровідні лінії.
По цій шині дані, наприклад лічені з оперативної пам'яті блоки інформації, можуть бути передані процесору, а потім після обробки відправлені назад в оперативну пам'ять для тимчасового зберігання. Основна характеристика шини даних розрядність, яка визначається розрядністю процесора (кількістю двійкових розрядів, що обробляються за один такт). Чим вище розрядність, тим більше пропускна здатність. Процесори x486 мали 32 - розрядні шини даних, Pentium - 64 - розрядні, а Pentium III - подвійні 64 - розрядні.
По шині управління передаються сигнали, що визначають характер обміну інформацією. Сигнали управління визначають, яку операцію потрібно виконувати, синхронізують обмін інформацією між пристроями і т. Д.
Майже весь час роботи процесора пов'язано з оперативною пам'яттю, з якої витягуються і в яку заносяться дані (операнди), повинні стати предметом обробки. Тому робота розбивається на кілька етапів, а їх результати зберігаються. Для цих ланцюгів використовується власна пам'ять процесора (регістри).
Всі дії по обробці даних в процесорі виконуються командами, поданими в певному форматі - комбінації розміру всіх полів і їх розташування в команді. Команда ділиться на дві області:
- область коду операції (вказує, що взагалі необхідно робити);
Перші процесорні регістри могли зберігати лише 4 - бітні числа. Потім з'явилися 8 і 16 - бітних процесорів, з появою процесора x386 був реалізований 32 бітний режим, що дозволило працювати з числами розмірністю понад два мільярди.
Це статична пам'ять (Statiс RAM - SRAM), яка, на відміну від динамічної пам'яті, не вимагає періодичної регенерації (відновлення). Час доступу у цій пам'яті не більше 2 нс. т. е. вона може синхронно працювати з процесором на частоті 500 МГц і більше. Контролер кеш - пам'яті знаходиться в чіпі північного моста чіпсета материнської плати.
У x386 процесорах кеш пам'ять об'ємом 128 Кб розташовувалася на материнській платі. Починаючи з процесорів x486, з'явився додатковий кеш в процесорі, що працює на його частоті, - кеш першого рівня (Level I - LI). На материнській платі встановлюється кеш другого рівня (L2). У більшості сучасних процесорів кеш LI і L2 вбудовані в ядро процесора. Причому якщо в Pentium II і Pentium III кеш другого рівня працює на половинній частоті процесора, то у Celeron, AMD K6 - III, Athlon і Pentium IV - на частоті процесора, що позитивно позначається на продуктивності.
7. Технології розширення команд процесора
Першою такою виділеної технологією можна вважати MultiMedia eXtension (MMX) - розширення базового набору команд процесора (57 команд для обробки графіки і звуку). Однією командою можна обробляти безліч даних, що істотно підвищує продуктивність (SIMD - Single Instruction, Many Data - одна команда, багато даних).
При роботі з ММХ - командами дані зберігаються в регістрах співпроцесора, що означає неможливість виконання операції з плаваючою комою при одночасному виконанні ММХ - програми. Крім того, ММХ - команди призначені тільки для роботи з цілими числами.
З технології SIMD вийшли дві конкуруючі системи для потокової обробки даних.
Так, в процесори AMD K6 - 2, крім блоку ММХ - команд, був доданий блок 3D Now. відповідальний за обробку тривимірних зображень. У нього включено 27 нових команд для обробки чисел з плаваючою комою, і, на відміну від ММХ, 3D Now! Не підтримує роботу з процесором.
В процесорах Pentium III з'явився універсальний мультимедійний прискорювач, який працює за принципом SIMD, але не залежить від ядра. Це стало можливо завдяки новому блоку SSE (Streaming SIMD Extensions - потокове SIMD - розширення). У нього входять 70 команд, що оперують 8 спеціальними 128 - бітними регістрами. SSE дозволяє виконувати одночасні операції над вмістом двох регістрів.
До недавнього часу підвищення швидкості роботи процесорів пов'язували виключно зі збільшенням їх тактової частоти і розміру кеша. Але одночасне виконання декількох потоків також призводить до зростання швидкості роботи процесора, причому більш суттєвого. Саме в обробці декількох потоків полягає суть нової технології Hyper - Threading.
Щось подібне многопоточности пропонує і нова технологія від компанії Intel під назвою Hyper - Threading. З'явилася вона у відповідь на проблему неповного використання виконавчих блоків процесора. Hyper - Threading - це назва технології одночасної багатопоточності (Simultaneous Multi - Threading - SMT). Один фізичний процесор, по суті, емулює ОС як два логічних. У процесорі з Hyper - Threading кожен логічний процесор має свій набір регістрів (включаючи і окремий лічильник команд), а щоб не ускладнювати технологію, в ній не реалізується одночасне виконання деяких команд в двох потоках.
9. Класичний потік команд процесора
Коли команди витягуються з кеша (або оперативної пам'яті), їх необхідно декодувати і відправити на виконання. Ці операції (отримання команд, декодування і відправка на виконання) виконуються на препроцесорів. З препроцесора вони направляються на постпроцесор, де і виконуються. Після цього результат потрапляє назад в кеш (оперативну пам'ять).
Як видно, весь процес обробки команди складається з чотирьох кроків, що і визначає так званий 4 - ступінчастий процес (конвеєр).
1. Витяг з кешу (оперативної пам'яті).
2. Декодування (розбирання команди).
3. Виконання команди (застосування дій).
4. Запис в кеш (оперативну пам'ять).
Кожну з цих ступенів команда повинна проходити рівно за один такт. Тому чим швидше кожна із ступенів виконує свої функції, тим швидше працює весь процесор і тим вище його тактова частота. Виконання всіх цих чотирьох команд визначає цикл. Більшість процесорів дійсно виконують команди за один цикл, але існують складні команди, для яких потрібно кілька циклів. При виконанні складних команд різні пристрої задіють власні виконавчі конвеєри, тим самим, додаючи ще кілька ступенів до основного конвеєру процесора. Кількість ступенів визначає глибину конвеєра.
10. Потік команд процесора
На відміну від класичного варіанта, коли весь конвеєр складається з чотирьох ступенів, в більшості сучасних процесорів конвеєр розбивається на сім і більше щаблів (гіперконвейерной обробка), для чого потрібна вища тактова частота.
Технологія гіперконвейерой обробки передбачає подвоєння довжини конвеєра в порівнянні з попередньою мікроархітектури Р6. наприклад, один з основних елементів конвеєра блок пророкування розгалужень і відновлення роботи - розбитий на 20 тактів.
У Pentium IV на ступені виконання використовується менша кількість функціональних блоків процесора. Але кожен з них має більш довгим і більш коротким конвеєром. Процесор Pentium IV може одночасно виконувати на різних щаблях по 126 інструкцій. Крім того, в Pentium IV кеш першого рівня розділений і його кеш команд знаходиться фактично на препроцесорів. Він називається кешем з відстеженням (trace cache) і впливає і на конвеєр, і на основний потік команд. Ця кеш - пам'ять містить декодувати команди х86 (мікрокоманд), що усуває затримку на розшифровку кодів команд. Виконавчі пристрої процесора отримують безперервний потік команд, а загальний час відновлення роботи при неправильному прогнозі розгалуження істотно скорочується.
У процесорах з мікроархітектури х86, таких як Pentium III або Athlon, команди надходять в декодер з кешу команд, де вони розбиваються на менші частини (мікрокоманд). Ці мікрокоманд застосовуються при позачерговому виконанні команд, виконавчий пристрій виконує їх планування, виконання та скидання. Таке розбиття має місце, коли процесор виконує інструкцію.