Огляд сучасних процесорів
Загальні відомості
Центральний процесор (CPU), також відомий як центральний процесор, [1] апаратних всередині комп'ютера, який здійснює інструкцій комп'ютерної програми шляхом виконання основних арифметичних, логічних і операцій введення / виводу в системи. Термін був у використанні в комп'ютерній індустрії принаймні з початку 1960-х. [2] Форма, проектування та впровадження процесорів змінилися протягом своєї історії, але їх основної операції залишається майже таким самим.
Комп'ютер може мати більше одного процесора, це називається багатопроцесорної обробки. Деякі інтегральні схеми (ІС) може містити кілька процесорів на одному чіпі, а ті, ІС називаються багатоядерними процесорами.
Два типових компонентів процесора є арифметико-логічний пристрій (АЛП), який виконує арифметичні і логічні операції, і блок управління (БУ), який витягує інструкції з пам'яті і декодує і виконує їх, звертаючись до АЛУ коли це необхідно.
Не всі обчислювальні системи спираються на центральний процесор. Процесор масиву або вектора процесор має кілька паралельних обчислювальних елементів, ні з ким не вважаються одиниці "Центр". У розподіленої моделі обчислень, проблеми вирішуються розподілена сукупність взаємопов'язаних процесорів.
Цей термін іноді неправильно використовується людьми, які не фахівці з комп'ютерів, щоб звернутися до обсаджених Основна частина настільних комп'ютерів містять материнські плати, процесори, жорсткі диски і т.д., тобто, не монітор або клавіатуру.
Історія виникнення
Принцип роботи
Фундаментальні роботи більшості процесорів, незалежно від фізичної форми вони приймають, це виконати послідовність інструкцій, званих зберігається програма. Програма представляє собою послідовність чисел, які зберігаються в якомусь пам'яті комп'ютера. Є чотири кроки, що майже всі процесори використовують у своїй роботі: вибірка, декодування, виконання і зворотного запису.
Першим кроком вибірки, включає отримання інструкції (який представлений ряд або послідовність чисел) з пам'яті програми. Розташування в пам'яті програми визначається програмний лічильник (PC), в якому зберігається номер, що ідентифікує поточну позицію в програмі. Після того, як команда витягується, ПК збільшується на довжину командному слові з точки зору запам'ятовуючих пристроях. Часто інструкції для вибірки повинна бути отримана з відносно повільної пам'яті, в результаті чого процесор для блокування під час очікування інструкції повинні бути повернені. Це питання значною мірою розглядаються в сучасних процесорах кеші і трубопровідного архітектур (див. нижче).
Інструкція, що процесор вибирає з пам'яті використовується для визначення того, що процесор робити. На етапі декодування, інструкція розбита на частини, які мають істотне значення для інших частин процесора. Спосіб, в якому чисельне значення інструкція інтерпретується визначається інструкцій процесора набір архітектури (ISA). Часто, одна група номерів в інструкції, званий код операції, який вказує операцію виконати. Інші частини числа зазвичай містять інформацію, необхідну для цієї команди, такі як операнди для операції додавання. Такі Операнди можуть бути надані в якості постійного значення (звані безпосереднє значення), або як місце, щоб знайти певний параметр: регістр або адреса пам'яті, а визначається деяким режиму адресації. У більш ранніх конструкцій частин процесор відповідає за декодування команд були незмінні пристроїв. Проте, в більш абстрактною і складною процесорів і МСА, мікропрограму часто використовується для надання допомоги в перекладі інструкцій у різних сигналів конфігурації процесора. Це мікропрограми іноді перезаписуваний так що він може бути модифікований, щоб змінити спосіб процесор декодує інструкції навіть після того, як був проведений.
Після вибірки і декодування кроків, виконати етап виконується. Під час цього етапу різних частин процесора з'єднані таким чином вони можуть виконати потрібну операцію. Якщо, наприклад, операція складання було запропоновано, арифметико-логічний пристрій (АЛП) буде пов'язана з безліччю входів і безліччю виходів. Входи забезпечують номери, які будуть додані, а виходи будуть містити кінцеву суму. ALU містить схему для виконання простих арифметичних і логічних операцій над входами (такі як додавання і бітові операції). Якщо операція складання дає результат занадто великий для CPU у зверненні, прапор арифметичного переповнення в регістрі прапорів також можуть бути встановлені.
Останнім кроком, зворотного запису, просто "записує назад" результати виконання кроку до тієї чи іншій формі пам'яті. Дуже часто результати записуються в деяких внутрішніх регістрів процесора для швидкого доступу подальшими інструкціями. В інших випадках результати можуть бути записані повільніше, але дешевше і більше, основний пам'яті. Деякі типи інструкцій маніпулювати програмного лічильника, а не безпосередньо виробляти даних результату. Як правило, вони називаються «стрибки» і сприяти поведінці, як цикли, умовні виконання програми (за допомогою умовного переходу), а функції в програмах. Багато інструкції буде також змінити стан цифри у «прапорів» зареєструйтесь. Ці прапори можуть бути використані, щоб впливати на поведінку програми, так як вони часто показують результати різних операцій. Наприклад, один тип "порівняти" інструкції розглядаються два значення і встановлює число в регістрі прапорів відповідно до якого одна більше. Цей прапор можна було б використовувати більш пізнім оператора переходу, щоб визначити хід виконання програми.
Після виконання команди і зворотного запису отриманих даних, весь процес повторюється з наступного циклу інструкції зазвичай вибірки наступного в послідовності інструкцій через збільшене значення в лічильник команд. Якщо завершеною команди був стрибок, лічильник програми будуть модифіковані, щоб містити адресу інструкції, яка була підскочив до, і виконання програми продовжується у нормальному режимі. У складніших процесорів, ніж описаний тут, кілька команд можуть бути обрані, декодуються і виконуватися одночасно. У цьому розділі описується те, що зазвичай називають "класичним трубопроводу RISC", яка насправді є досить поширеною серед простих процесорів, використовуваних в багатьох електронних пристроях (часто званий мікроконтролера). Це в значній мірі ігнорує важливу роль кеш процесора, і, отже, доступ етап трубопроводу.