上冻的美味 上冻的水果
Центральний процесор | |
![]() | |
Коротка назва |
CPU ? ЦП ![]() |
---|---|
З'?дну?ться з |
роз'?м процесора (socket) ![]() |
![]() | |
![]() ![]() | |
![]() ![]() |
![]() | Цю статтю потр?бно повн?стю переписати в?дпов?дно до стандарт?в якост? В?к?пед??. (лютий 2020) |




Центральний процесор (ЦП) (англ. central processing unit, CPU), також званий головним процесором або просто процесором, ? основним процесором у певному комп'ютер?.[1][2] Його електронн? схеми виконують ?нструкц?? комп'ютерно? програми, так? як арифметичн?, лог?чн?, керувальн? операц?? та операц?? введення/виведення (I/O).[3][4][5] Ця роль в?др?зня?ться в?д рол? зовн?шн?х компонент?в, таких як основна пам'ять ? схеми вводу-виводу,[6] та спец?ал?зованих сп?впроцесор?в, таких як граф?чн? процесори (GPU).
Форма, дизайн ? реал?зац?я процесор?в зм?нювалися з часом, але ?хня фундаментальна робота залиша?ться майже незм?нною.[7] Основними компонентами процесора ? арифметико-лог?чний блок (АЛБ), який викону? арифметичн? та лог?чн? операц??, процесорн? рег?стри, як? подають операнди до АЛБ ? збер?гають результати операц?й АЛБ, ? блок керування, який орган?зову? виб?рку (з пам'ят?), декодування ? виконання (?нструкц?й), керуючи скоординованою роботою АЛБ, рег?стр?в та ?нших компонент?в. Сучасн? процесори в?дводять багато нап?впров?дниково? площ? п?д кеш-пам'ять ? паралел?зм на р?вн? ?нструкц?й для п?двищення продуктивност?, а також п?д режими роботи процесора для п?дтримки операц?йних систем ? в?ртуал?зац??.
Б?льш?сть сучасних ЦП реал?зован? на м?кропроцесорах з ?нтегральною схемою (?С), з одним або дек?лькома ЦП на одн?й м?кросхем? ?С. М?кропроцесорн? м?кросхеми з дек?лькома процесорами називаються багатоядерними процесорами.[8] Окрем? ф?зичн? процесори, як? називаються ядрами процесора, також можуть бути багатопотоковими для п?дтримки багатопоточност? на р?вн? ЦП.[9]
IC, що м?стить центральний процесор, також може м?стити пам'ять, перифер?йн? ?нтерфейси та ?нш? компоненти комп'ютера;[10] так? ?нтегрован? пристро? по-?ншому називають м?кроконтролерами або системами на кристал? (SoC).
- обробка даних по задан?й програм? шляхом виконання арифметичних ? лог?чних операц?й;
- програмне керування роботою пристро?в комп'ютера.
З погляду програм?ст?в, п?д арх?тектурою процесора ма?ться на уваз? його здатн?сть виконувати певний наб?р машинних код?в. Б?льш?сть сучасних десктопних процесор?в в?дносяться до с?мейства 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, K7 (для процесор?в Athlon ? Athlon XP), ? К8 (для Athlon 64).
В рамках одн??? й т??? ж арх?тектури р?зн? процесори можуть досить сильно в?др?знятися один в?д одного. ? в?дм?нност? ц? ут?люються в р?зноман?тних процесорних ядрах, що мають певний наб?р суворо обумовлених характеристик. Найчаст?ше ц? в?дм?нност? вт?люються в р?зних частотах системно? шини (FSB), розм?рах кешу другого р?вня, п?дтримц? тих або ?нших нових систем команд або технолог?чних процесах, за якими виготовляються процесори. Нер?дко зм?на ядра в одному ? тому ж с?мейств? процесор?в призводити до зам?ни процесорного роз'?му (сокет, англ. socket), з чого вит?кають питання подальшо? сум?сност? материнських плат. Проте в процес? вдосконалення ядра виробникам доводиться вносити до нього незначн? зм?ни, як? не можуть претендувати на ?власне ?м'я?. Так? зм?ни називаються рев?з?ями (англ. stepping) ядра ?, найчаст?ше, позначаються цифро-буквеними комб?нац?ями. Проте в нових рев?з?ях одного ? того ж ядра можуть зустр?чатися досить пом?тн? нововведення. Так, компан?я Intel ввела п?дтримку 64-б?тово? арх?тектури EM64T в окрем? процесори с?мейства Pentium 4 саме в процес? зм?ни рев?з??.
![]() | Цей розд?л потребу? доповнення. (лютий 2020) |
64-б?тов? процесори прост?ше ? ефективн?ше адресують велик? обсяги пам'ят? (понад 4 г?габайти), що ? перевагою у раз? ?х використання у високопродуктивних серверах, для роботи великих баз даних, програм класу CAD/CAE, а також програм для роботи з цифровим контентом[джерело?].
В ?нформатиц?, Паралел?змом (англ. Concurrency), або багатозадачн?стю назива?ться властив?сть систем, коли дек?лька процес?в обчислення в?дбуваються водночас, ? можливо, вза?мод?ють один з одним.
Конве?р команд — апаратна структура в обчислювальних пристроях ЕОМ, призначена для прискорення виконання машинних команд шляхом сум?щення певних стад?й ?х виконання в час?.
![]() | Частина ?нформац?? в ц?й статт? застар?ла.(березень 2019) |
Перший багатоядерний процесор створила Rockwell[en] у 1984 роц?, об'?днавши два ядра R6502[11].
В 2005 роц? з'явились перш? двоядерн? м?кропроцесори арх?тектури x86 — Intel Pentium D та AMD Athlon 64 X2. До того часу класичн? одноядерн? CPU певною м?рою вичерпали резерви зростання продуктивност? за рахунок п?двищення робочо? частоти. Каменем спотикання стало не т?льки дуже високе тепловид?лення процесор?в, що працюють на високих частотах, але ? проблеми з ?хньою стаб?льн?стю. Отже, екстенсивний шлях розвитку процесор?в вичерпався[джерело?] ? виробникам довелося освоювати новий, ?нтенсивний шлях п?двищення продуктивност? продукц??.

Модел? процесор?в включають так? сп?льно працююч? пристро?:
- Пристр?й керування (англ. control unit). Зд?йсню? координац?ю роботи вс?х ?нших пристро?в, викону? функц?? керування пристроями, керу? обчисленнями в комп'ютер?.
- Дешифратор ?нструкц?й (команд). Анал?зу? ?нструкц?? з метою визначення операц?й, що в?дпов?дають ?нструкц??, вид?лення операнд?в ? адрес, за якими розм?щуються операнди. В системах з конве?ром команд дешифратор зд?йсню? дешифрування наступно? команди одночасно з виконанням поточно? (для завантаження ус?х виконавчих пристро?в) ? може дешифрувати одночасно дек?лька ?нструкц?й, наприклад, для готовност? зд?йснити перех?д в?дпов?дно до результату, який найближчим часом буде отриманий з конве?ра.
- Арифметико-лог?чний пристр?й (АЛП). Так назива?ться пристр?й для ц?лочислових операц?й. Арифметичн? операц??, так? як додавання, множення ? д?лення, а також лог?чн? операц?? (OR, AND, ASL, ROL ? ?н.) обробляються за допомогою АЛП. Ц? операц?? складають переважну б?льш?сть програмних код?в у б?льшост? програм. Вс? операц?? в АЛП обробляються в рег?страх — спец?ально в?дведених чарунках АЛП. У процесор? може бути дек?лька АЛП. Кожен здатний виконувати арифметичн? або лог?чн? операц?? незалежно в?д ?нших, що дозволя? виконувати дек?лька операц?й одночасно. Арифметико-лог?чний пристр?й викону? арифметичн? й лог?чн? д??. Лог?чн? операц?? под?ляються на дв? прост? операц??: ?Так? ? ?Н?? (?1? ? ?0?). Звичайно, ц? два пристро? вид?ляються суто умовно, конструктивно вони не розд?лен?.
- AGU (Address Generation Unit) — пристр?й генерац?? адрес. Це пристр?й не менш важливий, н?ж АЛП, тому що в?н в?дпов?да? за коректну адресац?ю при завантаженн? або збереженн? даних.
- Математичний сп?впроцесор (FPU). Процесор може м?стити дек?лька математичних сп?впроцесор?в. Кожний з них здатний виконувати, щонайменше, одну операц?ю з рухомою комою, незалежно в?д того, що роблять ?нш? АЛП. Метод конве?рно? обробки даних дозволя? одному математичному сп?впроцесоров? виконувати дек?лька операц?й одночасно. Сп?впроцесор п?дтриму? високоточн? обчислення як ц?лочислен?, так ? з рухомою комою ?, кр?м того, м?стить наб?р корисних констант, що прискорюють обчислення. Сп?впроцесор працю? паралельно з центральним процесором, забезпечуючи, таким чином, високу продуктивн?сть.
- Кеш-пам'ять. Особлива високошвидк?сна пам'ять процесора. Кеш використову?ться як буфер для прискорення обм?ну даними м?ж процесором ? оперативною пам'яттю, а також для збереження коп?й ?нструкц?й ? даних, що недавно використовувалися процесором. Значення з кеш-пам'ят? витягаються прямо, без звертання до основно? пам'ят?.
Кеш першого р?вня (L1 cache). Кеш-пам'ять, що знаходиться усередин? процесора. Вона швидша за вс? ?нш? типи пам'ят?, але менша за обсягом. Збер?га? нещодавно використану ?нформац?ю, яка знову може бути використана при виконанн? коротких програмних цикл?в.
Кеш другого р?вня (L2 cache). Також знаходиться усередин? процесора. ?нформац?я, що збер?га?ться в н?й, використову?ться р?дше, н?ж ?нформац?я, що збер?га?ться в кеш-пам'ят? першого р?вня, проте обсяг пам'ят? у н?й б?льший. Також у наш час[коли?] в процесорах використову?ться кеш третього р?вня.
- Оперативна пам'ять. Набагато б?льша за обсягом, н?ж кеш-пам'ять, ? значно менш швидкод?юча.
- Рег?стри — це внутр?шня пам'ять процесора. Являють собою ряд спец?ал?зованих додаткових ком?рок пам'ят?, а також ? внутр?шн?ми нос?ями ?нформац?? м?кропроцесора. Рег?стр ? пристро?м тимчасового збер?гання даних, числа або команди та використову?ться з метою полегшення арифметичних, лог?чних ? пересильних операц?й. Основним елементом рег?стра ? електронна схема, яку називають тригером, що здатна збер?гати одну дв?йкову цифру (розряд).
Деяк? важлив? рег?стри мають сво? назви, наприклад:
- суматор — рег?стр АЛП, що бере участь у виконанн? кожно? операц??;
- л?чильник команд — рег?стр УП, вм?ст якого в?дпов?да? адрес? чергово? виконувано? команди, служить для автоматично? виб?рки програми з посл?довних ком?рок пам'ят?;
- рег?стр команд — рег?стр УП для збереження коду команди на пер?од часу, що необх?дний для ?? виконання. Частина його розряд?в використову?ться для збереження коду операц??, ?нш? — для збереження код?в адрес операнд?в.
Шина — це канал пересилання даних, який використову?ться сп?льно р?зними блоками системи. Шина може являти собою наб?р пров?дних л?н?й у друкован?й плат?, проводи, припаян? до вивод?в роз'?м?в, у як? вставляються друкован? плати, або плоский кабель. ?нформац?я переда?ться по шин? у вид? груп б?т?в. До складу шини для кожного б?та слова може бути передбачена окрема л?н?я (паралельна шина), або вс? б?ти слова можуть посл?довно в час? використовувати одну л?н?ю (посл?довна шина).
За функц?ональним призначенням можуть бути вид?лен? шини:
- Шина даних. Служить для пересилання даних м?ж процесором ? пам'яттю або процесором ? пристроями введення-виведення. Ц? дан? можуть являти собою як команди процесора, так ? ?нформац?ю, що в?н посила? в порти введення-виведення або прийма? зв?дти.
- Шина адрес. Використову?ться ЦП для вибору необх?дно? ком?рки пам'ят? або пристрою введення-виведення шляхом установки на шин? конкретно? адреси, що в?дпов?да? одн?й з ком?рок пам'ят? або одному з елемент?в введення-виведення, що входять у систему.
- Шина керування. По н?й передаються сигнали керування, призначен? пам'ят? та пристроям введення-виведення. Ц? сигнали вказують напрямок передач? даних (у процесор або з нього).
BTB (Branch Target Buffer). Це таблиця, в як?й знаходяться вс? адреси, куди буде або може бути зроблений перех?д.
Цей розд?л не м?стить посилань на джерела. |
Виконання того чи ?ншого алгоритму можливо при наявност? процесора та пристро?в, в яких збер?га?ться програма — сукупн?сть команд (правил), що виконуються в посл?довност?, задан?й алгоритмом. Команди вибираються з пам'ят? в посл?довност?, що зада?ться процесором. Процесор визнача? адреси елемент?в пам'ят?, в яких збер?гаються необх?дн? дан?. Дан? передаються в процесор, де перетворюються зг?дно з командами, ? результати операц?? передаються знову в пам'ять.
Будь-яка обчислювальна система працю? разом з рядом зовн?шн?х пристро?в, одержуючи в?д них необх?дну ?нформац?ю та передаючи ?ншу. Для зв'язку з зовн?шн?ми пристроями ?сну? ?нтерфейс (англ. interface) — комплекс пристро?в, правил та техн?чних засоб?в, що регламентують та забезпечують обм?н ?нформац??ю м?ж центральним процесором (включаючи пам'ять) та зовн?шн?ми пристроями. Головними в ?нтерфейс? ? шини, або, як ?х ще часто називають, маг?страл?. Маг?страль — це сукупн?сть пров?дник?в, для яких строго нормован? лог?чн? р?вн? ?0? та ?1?. Потужн?сть сигнал?в на шинах ма? бути достатньою для живлення необх?дно? к?лькост? при?днаних до них пристро?в. Для забезпечення ц??? потужност? використовуються спец?альн? ?нтегральн? схеми — шинн? п?дсилювач? (ШП).
За призначенням, шини под?ляються на три типи:
- адресн?;
- даних;
- керування.
?нколи дв? шини сум?щують шляхом мультиплексування, що дещо знижу? ?х швидкод?ю, але набагато зменшу? к?льк?сть вивод?в м?кросхем.
Цей розд?л не м?стить посилань на джерела. |
Найнижчим р?внем, який дозволя? описувати роботу цифрових пристро?в — це р?вн? лог?чних стан?в ?х вход?в та виход?в — таблиц? стан?в.
Наступним р?внем ? спос?б описання — це мова значень вх?дних та вих?дних сигнал?в, що складають мову м?крокоманд. Сукупн?сть адрес та керуючих сигнал?в називаються м?крокомандою.
Трет?й р?вень формал?зац?? описання роботи процесора — це мова команд — тобто строга посл?довн?сть м?крокоманд, що запису?ться в пам'ят? процесора. Тобто, команда, це слово, або наб?р сл?в, як? дешифруються в посл?довн?сть м?крокоманд. Зв?дси вит?ка?, що будь-який процесор ма? строго ф?ксований ? обмежений наб?р команд, який ? характерним для цього процесора. Будь-яка м?крокоманда характеризу?ться сво?м форматом. П?д форматом м?крокоманди розум??ться ?? протяжн?сть та призначення кожного б?та або ?х групи. Команди, також мають св?й ф?ксований формат. (Протяжн?сть м?крокоманди — це стандартна для цього процесора к?льк?сть б?т в слов?). В залежност? в?д протяжност? команди, вона може складатися з одного, двох, та трьох сл?в.
Формат пам'ят? комп'ютера також т?сно пов'язаний з довжиною слова. Тому при збер?ганн? таких команд в?дпов?дно використову?ться адресний прост?р та пам'ять. Якщо, наприклад, команда склада?ться з трьох сл?в, а використову?ться з посл?довною адресац??ю, то для збер?гання тако? команди використовуються три посл?довн? адреси. Для того, щоб таку команду вибрати з пам'ят?, необх?дно мати спец?альн? засоби, щоб забезпечити ?? представлення як ?дине ц?ле.
Структура команд повн?стю залежить в?д структури ЦП, але незалежно в?д типу процесора прийнято вважати, що односл?вн? команди повн?стю складаються з коду операц??. Двосл?вн? команди складаються з коду операц?? та односл?вного операнда. Трисл?вн? команди також складаються з двох частин: перша частина — код операц??, а друга — адреса, або двосл?вний операнд.
Типи команд, що використовуються, т?сно пов'язан? з внутр?шньою орган?зац??ю та алгоритмом функц?ювання м?кропрограмного автомата процесора, та внутр?шньою системою синхрон?зац??. Комп'ютер функц?ону? синхронно з частотою тактових сигнал?в зовн?шнього генератора. В залежност? в?д типу центрального процесора використову?ться одно- або двофазна синхрон?зац?я. Незалежно в?д цього в м?кропроцесорних системах використовуються тривал?ш? ?нтервали часу, н?ж тактовий ?нтервал зовн?шнього генератора.[джерело?]
Одним з таких ?нтервал?в ? машинний цикл — це ?нтервал, протягом якого процесор зверта?ться до пам'ят? або пристрою вводу-виводу. Машинний цикл (МЦ) здеб?льшого склада? т?льки частину циклу команди. На початку кожного МЦ на одному з виход?в процесора з'явля?ться сигнал синхрон?зац??, в?н переда?ться по л?н?? шини керування в пам'ять або пристро? вводу-виводу ? ?спов?ща?? про початок нового МЦ, в результат? чого досяга?ться узгодження в час? зовн?шн?х пристро?в з роботою центрального процесора.
Цикл команди — це ?нтервал часу, необх?дний для виб?рки з пам'ят? команди, та ?? виконання. В?н склада?ться з 1-5 машинних цикл?в. ?хн? конкретне число залежить в?д складност? операц??, яка викону?ться в ц?й команд? та дор?вню? числу звернень м?кропроцесора до пам'ят?. Тривал?сть виконання команди визнача?ться к?льк?стю такт?в в цикл? команди та тривал?стю такту.
Протягом циклу команди, що д?литься на дв? фази, робота ЦП викону?ться в так?й посл?довност?. Пристр?й керування зада? початок чергового циклу шляхом формування сигналу, по якому число, що знаходиться в л?чильнику команд, в?дправля?ться в буферний рег?стр адреси й через нього направля?ться для дешифрац?? особливим пристро?м — дешифратором. П?сля приходу в?д процесора сигналу керування готовий з елемента пам'ят?, що знаходиться по вказан?й адрес?, зчиту?ться слово команди, яке пода?ться по шин? даних в буферний рег?стр даних, а пот?м в пристр?й керування, де дешифру?ться з допомогою кода операц??. Ця посл?довн?сть операц?й назива?ться фазою виб?рки. За нею сл?ду? виконавча фаза, в як?й пристр?й керування форму? посл?довн?сть сигнал?в, необх?дних для виконання команди. За цей час число, що знаходиться в л?чильнику команд, зб?льшу?ться на 1 (якщо довжина команди ? 1) ? форму?ться адреса команди, що сто?ть сл?дом за тою, що викону?ться. Вона збер?га?ться в л?чильнику до приходу сигналу, що зада? початок чергового циклу команди.
Окр?м адреси елемента в якому збер?га?ться необх?дний байт в?д процесора до пам'ят? поступа? сигнал по шин? керування, який визнача? характер операц?? — запис, або зчитування. Виконання вказаних операц?й проходить протягом ?нтервалу часу, що назива?ться часом доступу. По зак?нченн? цього ?нтервалу в?д пам'ят? в процесор пода?ться сигнал готовност?, який ? сигналом початку прийому, або, в?дпов?дно, передач? сигнал?в в пам'ять. До одержання сигналу готовност? процесор перебува? в стан? оч?кування. ?нтервал часу м?ж ?мпульсами звернення до зовн?шн?х пристро?в та одержання в?д них в?дпов?д? назива?ться циклом оч?кування.[джерело?]
Якщо, наприклад, цикл команди розглядати в?дпов?дно до команди вводу даних, то перш? два машинних цикли будуть в?дноситись до фази виб?рки, а трет?й — до фази виконання команди. В ус?х машинних циклах переда?ться адреса, але в кожному цикл? адреса належить сво?му адресату, в першому — це адреса елемента, де збер?га?ться код операц??, в другому — адреса порту, що збер?га? байт даних, в третьому — адреса акумулятора[джерело?] процесора, куди повинен поступити байт даних з порту.
- ↑ Team, YCT Expert. Engineering Drawing & Basic Science (англ.). Youth Competition Times. с. 425.
- ↑ Nagpal, D. P. (2008). Computer Fundamentals (англ.). S. Chand Publishing. с. 33. ISBN 978-81-219-2388-0.
- ↑ What is processor (CPU)? A definition from WhatIs.com. WhatIs (англ.). Процитовано 15 березня 2024.
- ↑ Chesalov, Alexander (12 кв?тня 2023). The fourth industrial revolution glossarium: over 1500 of the hottest terms you will use to create the future (англ.). Litres. ISBN 978-5-04-541163-9.
- ↑ Jagare, Ulrika (19 кв?тня 2022). Operating AI: Bridging the Gap Between Technology and Business (англ.). John Wiley & Sons. ISBN 978-1-119-83321-5.
- ↑ Kuck, David (1978). Computers and Computations, Vol 1. John Wiley & Sons, Inc. с. 12. ISBN 978-0471027164.
- ↑ Prabhat, Team (13 кв?тня 2023). Ultimate Guide to SSC CGL Combined Graduate Level Tier-I & Tier II Prelims & Mains (with Latest Solved Question Papers) Guide Book English: Bestseller Book by Team Prabhat: Ultimate Guide to SSC CGL Combined Graduate Level Tier-I & Tier II Prelims & Mains (with Latest Solved Question Papers) Guide Book English (англ.). Prabhat Prakashan. с. 95. ISBN 978-93-5488-527-3.
- ↑ What is a multicore processor and how does it work?. Data Center (англ.). Процитовано 15 березня 2024.
- ↑ Willhalm, Thomas; Dementiev, Roman; Fay, Patrick (18 грудня 2014). Intel Performance Counter Monitor – A better way to measure CPU utilization. software.intel.com. Арх?в ориг?налу за 22 лютого 2017. Процитовано 17 лютого 2015.
- ↑ Herres, David (6 жовтня 2020). Oscilloscopes: A Manual for Students, Engineers, and Scientists (англ.). Springer Nature. с. 130. ISBN 978-3-030-53885-9.
- ↑ Rockwell R65C00/21 DUAL CMOS MICROCOMPUTER AND R65C29 DUAL CMOS MICROPROCESSOR (PDF) (англ.). Арх?в ориг?налу (PDF) за 11 червня 2016. Процитовано 3 с?чня 2017.