Центральний процесор

Центральний процесор, ЦП (англ. Central processing unit, CPU) — функціональна частина комп'ютера, що призначена для інтерпретації команд.

Сучасний мікропроцесор Intel Core i7 2600K Socket LGA1155, вигляд зверху
Стійка центрального процесора EDVAC
Вид з середини на стійку центрального процесора PDP-8-1
Плата з процесорами SPARC64, на платі також змонтовані банки оперативної пам'яті та система охолодження
Внутрішня будова мікропроцесора 80486dx2

Функції

Архітектура процесора

Архітектура системи команд

З погляду програмістів, під архітектурою процесора мається на увазі його здатність виконувати певний набір машинних кодів. Більшість сучасних десктопних процесорів відносяться до сімейства x86, або Intel-сумісних процесорів архітектури IA32 (архітектура 32-бітових процесорів Intel). Її основа була закладена компанією Intel в процесорі i80386, проте в подальших поколіннях процесорів вона була доповнена і розширена як самою Intel (введені нові набори команд MMX, SSE, SSE2 і SSE3), так і сторонніми виробниками (набори команд EMMX, 3DNow! і Extended 3DNow!, розроблені компанією AMD).

Мікроархітектура

Розробники комп'ютерного устаткування вкладають в поняття «Архітектура процесора» основні принципи внутрішньої організації конкретних сімейств процесорів. Наприклад, архітектура процесорів Intel Pentium позначалася як Р5, процесорів Pentium II і Pentium III Р6, а Pentium 4 відносилися до архітектури NetBurst. Після того, як компанія Intel закрила архітектуру Р5 для сторонніх виробників, її основний конкурент — компанія AMD розробляла власні архітектури K5, K6, К7 (для процесорів Athlon і Athlon XP), і К8 (для Athlon 64).

Ядро

В рамках однієї і тієї ж архітектури різні процесори можуть досить сильно відрізнятися один від одного. І відмінності ці утілюються в різноманітних процесорних ядрах, що мають певний набір суворо обумовлених характеристик. Найчастіше ці відмінності втілюються в різних частотах системної шини (FSB), розмірах кешу другого рівня, підтримці тих або інших нових систем команд або технологічних процесах, за якими виготовляються процесори. Нерідко зміна ядра в одному і тому ж сімействі процесорів спричиняє за собою заміну процесорного роз'єму (сокет, англ. socket), з чого витікають питання подальшої сумісності материнських плат. Проте в процесі вдосконалення ядра виробникам доводиться вносити до нього незначні зміни, які не можуть претендувати на «власне ім'я». Такі зміни називаються ревізіями (англ. stepping) ядра і, найчастіше, позначаються цифро-буквеними комбінаціями. Проте в нових ревізіях одного і того ж ядра можуть зустрічатися досить помітні нововведення. Так, компанія Intel ввела підтримку 64-бітової архітектури EM64T в окремі процесори сімейства Pentium 4 саме в процесі зміни ревізії.

32-бітові та 64-бітові процесори

64-бітові процесори простіше і ефективніше адресують великі обсяги пам'яті (понад 4 гігабайти), що є перевагою у разі їх використання у високопродуктивних серверах, для роботи великих баз даних, програм класу CAD/CAE, а також програм для роботи з цифровим контентом[джерело?].

Паралелізм

В інформатиці, Паралелізмом (англ. Concurrency), або багатозадачністю називається властивість систем, коли декілька процесів обчислення відбуваються водночас, і можливо, взаємодіють один з одним.

Конвеєр команд

Конвеєр команд — апаратна структура в обчислювальних пристроях ЕОМ, призначена для прискорення виконання машинних команд шляхом суміщення певних стадій їх виконання в часі.

Багатоядерні процесори

Перший багатоядерний процесор створила Rockwell у 1984 році, об'єднавши два ядра R6502[1].

В 2005 році з'явились перші двоядерні мікропроцесори архітектури x86 — Intel Pentium D та AMD Athlon 64 X2. До того часу класичні одноядерні CPU певною мірою вичерпали резерви зростання продуктивності за рахунок підвищення робочої частоти. Каменем спотикання стало не тільки дуже високе тепловиділення процесорів, що працюють на високих частотах, але і проблеми з їхньою стабільністю. Отже, екстенсивний шлях розвитку процесорів вичерпався[джерело?] і виробникам довелося освоювати новий, інтенсивний шлях підвищення продуктивності продукції.

Будова

Intel Core i7 2600K Socket LGA1155, вигляд знизу

Внутрішні спільно працюючі пристрої

Моделі процесорів включають такі спільно працюючі пристрої:

  • Пристрій керування (англ. control unit). Здійснює координацію роботи всіх інших пристроїв, виконує функції керування пристроями, керує обчисленнями в комп'ютері.
    • Дешифратор інструкцій (команд). Аналізує інструкції з метою визначення операцій, що відповідають інструкції, виділення операндів і адрес, за якими розміщуються операнди. В системах з конвеєром команд дешифратор здійснює дешифрування наступної команди одночасно з виконанням поточної (для завантаження усіх виконавчих пристроїв) і може дешифрувати одночасно декілька інструкцій, наприклад, для готовності здійснити перехід відповідно до результату, який найближчим часом буде отриманий з конвеєра.
  • Арифметико-логічний пристрій (АЛП). Так називається пристрій для цілочислових операцій. Арифметичні операції, такі як додавання, множення і ділення, а також логічні операції (OR, AND, ASL, ROL і ін.) обробляються за допомогою АЛП. Ці операції складають переважну більшість програмних кодів у більшості програм. Всі операції в АЛП обробляються в регістрах — спеціально відведених чарунках АЛП. У процесорі може бути декілька АЛП. Кожен здатний виконувати арифметичні або логічні операції незалежно від інших, що дозволяє виконувати декілька операцій одночасно. Арифметико-логічний пристрій виконує арифметичні і логічні дії. Логічні операції поділяються на дві прості операції: «Так» і «Ні» («1» і «0»). Звичайно, ці два пристрої виділяються суто умовно, конструктивно вони не розділені.
  • AGU (Address Generation Unit) — пристрій генерації адрес. Це пристрій не менш важливий, ніж АЛП, тому що він відповідає за коректну адресацію при завантаженні або збереженні даних.
  • Математичний співпроцесор (FPU). Процесор може містити декілька математичних співпроцесорів. Кожний з них здатний виконувати, щонайменше, одну операцію з рухомою комою, незалежно від того, що роблять інші АЛП. Метод конвеєрної обробки даних дозволяє одному математичному співпроцесорові виконувати декілька операцій одночасно. Співпроцесор підтримує високоточні обчислення як цілочислені, так і з рухомою комою і, крім того, містить набір корисних констант, що прискорюють обчислення. Співпроцесор працює паралельно з центральним процесором, забезпечуючи, таким чином, високу продуктивність.

Пам'ять

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

Кеш першого рівня (L1 cache). Кеш-пам'ять, що знаходиться усередині процесора. Вона швидша за всі інші типи пам'яті, але менша за обсягом. Зберігає нещодавно використану інформацію, яка знову може бути використана при виконанні коротких програмних циклів.

Кеш другого рівня (L2 cache). Також знаходиться усередині процесора. Інформація, що зберігається в ній, використовується рідше, ніж інформація, що зберігається в кеш-пам'яті першого рівня, проте обсяг пам'яті у ній більший. Також у наш час[коли?] в процесорах використовується кеш третього рівня.

  • Оперативна пам'ять. Набагато більша за обсягом, ніж кеш-пам'ять, і значно менш швидкодіюча.
  • Регістри — це внутрішня пам'ять процесора. Являють собою ряд спеціалізованих додаткових комірок пам'яті, а також є внутрішніми носіями інформації мікропроцесора. Регістр є пристроєм тимчасового зберігання даних, числа або команди і використовується з метою полегшення арифметичних, логічних і пересильних операцій. Основним елементом регістра є електронна схема, яку називають тригером, що здатна зберігати одну двійкову цифру (розряд).

Деякі важливі регістри мають свої назви, наприклад:

  • суматор — регістр АЛП, що бере участь у виконанні кожної операції;
  • лічильник команд — регістр УП, вміст якого відповідає адресі чергової виконуваної команди, служить для автоматичної вибірки програми з послідовних комірок пам'яті;
  • регістр команд — регістр УП для збереження коду команди на період часу, що необхідний для її виконання. Частина його розрядів використовується для збереження коду операції, інші — для збереження кодів адрес операндів.

Шини

Шина — це канал пересилання даних, який використовується спільно різними блоками системи. Шина може являти собою набір провідних ліній у друкованій платі, проводи, припаяні до виводів роз'ємів, у які вставляються друковані плати, або плоский кабель. Інформація передається по шині у виді груп бітів. До складу шини для кожного біта слова може бути передбачена окрема лінія (паралельна шина), або всі біти слова можуть послідовно в часі використовувати одну лінію (послідовна шина).

За функціональним призначенням можуть бути виділені шини:

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

Буфер цілей розгалуження

BTB (Branch Target Buffer). Це таблиця, в якій знаходяться всі адреси, куди буде або може бути зроблений перехід.

Див. також

Джерела

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.