Ця стаття не містить . (січень 2018) |
Цикл команд (іноді називається циклом вибірка-декодування-виконання) є основним операційним процесом комп'ютера. Це процес, за допомогою якого комп'ютер отримує команду програми з пам'яті, визначає, які дії виконуються командою, і виконує ці дії. Цей цикл повторюється безперервно центральним процесором комп'ютера (ЦП), від початкового завантаження, і до вимикання машини.
У простих процесорах команди у циклі виконуються послідовно, кожна команда обробляється до початку наступної. У більшості сучасних процесорів цикли команд, натомість виконуються одночасно, і часто паралельно, з використанням конвеєра інструкцій: наступна команда починає оброблятися до завершення попередньої інструкції. Таке виконання уможливлене розбиттям циклу на окремі етапи.
Компоненти
- Лічильник команд (також відомий як PC, «program counter»)
- Регістр процесора, що вказує на адресу інструкції, що виконуватиметься наступною
- [en] (MAR)
- Зберігає адресу блоку пам'яті для читання або запису.
- [en] (MDR)
- Двосторонній регістр, який зберігає дані, завантажені з пам'яті і готові до обробки процесором, або дані, які буде записано до пам'яті. (Він також відомий як буферний регістр пам'яті, MBR).)
- Регістр команд (IR)
- У цьому регістрі зберігається команда, щойно отримана з пам'яті.
- Пристрій керування процесором (CU, Control Unit)
- Здійснює декодування інструкції, що знаходиться в IR. Під час декодування вибираються ресурсіи машини (наприклад, регістри джерел даних і результату) і арифметична чи логічна операція, а також координується активація цих ресурсів.
- Арифметико-логічний пристрій (ALU)
- Виконує математичні та логічні операції.
- Математичний співпроцесор (FPU)
- Виконання операцій з рухомою комою.
Кроки
Процесор кожного комп'ютера може мати різні цикли на основі різних наборів команд, але він буде аналогічним наступному:
- Вибірка інструкції: Команда зчитується з адреси пам'яті, яка в даний час зберігається в лічильнику інструкцій (PC), і зберігається в регістрі команд (IR). Після завершення операції вибірки PC вказує на адресу інструкції, яка буде зчитуватися в наступному циклі.
- Декодування інструкції: На цьому етапі кодована інструкція, присутня в регістрі команд (IR), інтерпретується за допомогою декодера.
- Читання результативної адреси: У разі інструкції пам'яті (прямої або непрямої) фаза виконання запускається наступним тактовим імпульсом. Якщо команда має непряму адресу, результативна адреса зчитується з основної пам'яті, як і дані, що підлягають обробці (вони записуються в регістри даних). У випадку прямої інструкції, на даному етапі робиться нічого. Якщо це інструкція вводу-виводу, або проста регістрова інструкція, вона виконується негайно.
- Виконання команди: Блок керування процесором CPU передає декодовану інформацію у вигляді послідовності сигналів керування до відповідних функціональних блоків процесора для виконання потрібних дій (таких як: читання значень з регістрів, передавання їх до АЛП для виконання математичних або логічних обчислень, і запис результату назад в регістр). Якщо АЛП задіяний, він може встановлювати ознаки (такі, як переповнення), що також використовуються блоком керування. Результат, згенерований операцією, зберігається в оперативній пам'яті, або надсилається на пристрій виведення. Виходячи з даних, отриманих від АЛП, лічильник команд може бути оновлений іншою адресою, з якої буде зчитуватись наступна інструкція.
Потім цикл повторюється.
Цикл ініціалізації
Ініціалізація процесора починається після подачі на нього напруги живлення. Найперше значення лічильника команд індивідуальне для кожної архітектури ЕОМ (наприклад, процесори архітектури IA-32 починають виконання з адреси 0xfffffff0
). Зазвичай перші команди виконуються з області BIOS чи firmware, що записані у постійній пам'яті. BIOS ініціалізує апаратуру машини і переходить до завантаження операційної системи.
Вибірка інструкції
Крок 1 циклу — вибірка інструкції. Він є однаковим для всіх команд:
- ЦП посилає лічильник команд PC в MAR і посилає команду читання на шину керування
- У відповідь на команду читання (з адресою, рівною PC), пам'ять виставляє затребувані дані на шину даних
- Процесор копіює дані з шини даних в свій MDR
- Процесор копіює дані з MDR в регістр команд (IR)
- PC збільшується так, що він вказує на наступну команду в пам'яті. На цьому етапі виконується підготовка ЦП до наступного циклу.
Розшифровка інструкції
Крок 2 з циклу команд називається циклом розшифровки. Процес декодування дозволяє процесору визначити, скільки операндів потрібно зчитати з пам'яті, щоб виконати команду. Код операції, зчитаний з пам'яті, декодується для подальших кроків і переміщується у відповідні регістри. Декодування здійснюється блоком керування.
Читання результативної адреси
Крок 3 оцінює, що це за операція. У випадку операції з пам'яттю перевіряється, чи є вона прямою або непрямою:
- Пряма інструкція пам'яті - Нічого не робиться.
- Непряма інструкція пам'яті - результативна адреса зчитується з пам'яті.
Якщо це проста регістрова інструкція або команда вводу/виводу, процесор виконує її негайно.
Виконання інструкції
Крок 4 є етапом виконання функції, яку задає інструкція. Якщо команда кодує арифметичну чи логічну дію, використовується АЛП. Це єдиний етап циклу інструкції, протягом якого виконується «корисна» з точки зору кінцевого користувача робота. Все інше — накладні витрати, потрібні, для забезпечення функціонування ЦП.
Див. також
Це незавершена стаття про апаратне забезпечення. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Cya stattya ne mistit posilan na dzherela Vi mozhete dopomogti polipshiti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Material bez dzherel mozhe buti piddano sumnivu ta vilucheno sichen 2018 Cikl komand inodi nazivayetsya ciklom vibirka dekoduvannya vikonannya ye osnovnim operacijnim procesom komp yutera Ce proces za dopomogoyu yakogo komp yuter otrimuye komandu programi z pam yati viznachaye yaki diyi vikonuyutsya komandoyu i vikonuye ci diyi Cej cikl povtoryuyetsya bezperervno centralnim procesorom komp yutera CP vid pochatkovogo zavantazhennya i do vimikannya mashini Shema ciklu komand U prostih procesorah komandi u cikli vikonuyutsya poslidovno kozhna komanda obroblyayetsya do pochatku nastupnoyi U bilshosti suchasnih procesoriv cikli komand natomist vikonuyutsya odnochasno i chasto paralelno z vikoristannyam konveyera instrukcij nastupna komanda pochinaye obroblyatisya do zavershennya poperednoyi instrukciyi Take vikonannya umozhlivlene rozbittyam ciklu na okremi etapi KomponentiLichilnik komand takozh vidomij yak PC program counter Registr procesora sho vkazuye na adresu instrukciyi sho vikonuvatimetsya nastupnoyu en MAR Zberigaye adresu bloku pam yati dlya chitannya abo zapisu en MDR Dvostoronnij registr yakij zberigaye dani zavantazheni z pam yati i gotovi do obrobki procesorom abo dani yaki bude zapisano do pam yati Vin takozh vidomij yak bufernij registr pam yati MBR Registr komand IR U comu registri zberigayetsya komanda shojno otrimana z pam yati Pristrij keruvannya procesorom CU Control Unit Zdijsnyuye dekoduvannya instrukciyi sho znahoditsya v IR Pid chas dekoduvannya vibirayutsya resursii mashini napriklad registri dzherel danih i rezultatu i arifmetichna chi logichna operaciya a takozh koordinuyetsya aktivaciya cih resursiv Arifmetiko logichnij pristrij ALU Vikonuye matematichni ta logichni operaciyi Matematichnij spivprocesor FPU Vikonannya operacij z ruhomoyu komoyu KrokiProcesor kozhnogo komp yutera mozhe mati rizni cikli na osnovi riznih naboriv komand ale vin bude analogichnim nastupnomu Vibirka instrukciyi Komanda zchituyetsya z adresi pam yati yaka v danij chas zberigayetsya v lichilniku instrukcij PC i zberigayetsya v registri komand IR Pislya zavershennya operaciyi vibirki PC vkazuye na adresu instrukciyi yaka bude zchituvatisya v nastupnomu cikli Dekoduvannya instrukciyi Na comu etapi kodovana instrukciya prisutnya v registri komand IR interpretuyetsya za dopomogoyu dekodera Chitannya rezultativnoyi adresi U razi instrukciyi pam yati pryamoyi abo nepryamoyi faza vikonannya zapuskayetsya nastupnim taktovim impulsom Yaksho komanda maye nepryamu adresu rezultativna adresa zchituyetsya z osnovnoyi pam yati yak i dani sho pidlyagayut obrobci voni zapisuyutsya v registri danih U vipadku pryamoyi instrukciyi na danomu etapi robitsya nichogo Yaksho ce instrukciya vvodu vivodu abo prosta registrova instrukciya vona vikonuyetsya negajno Vikonannya komandi Blok keruvannya procesorom CPU peredaye dekodovanu informaciyu u viglyadi poslidovnosti signaliv keruvannya do vidpovidnih funkcionalnih blokiv procesora dlya vikonannya potribnih dij takih yak chitannya znachen z registriv peredavannya yih do ALP dlya vikonannya matematichnih abo logichnih obchislen i zapis rezultatu nazad v registr Yaksho ALP zadiyanij vin mozhe vstanovlyuvati oznaki taki yak perepovnennya sho takozh vikoristovuyutsya blokom keruvannya Rezultat zgenerovanij operaciyeyu zberigayetsya v operativnij pam yati abo nadsilayetsya na pristrij vivedennya Vihodyachi z danih otrimanih vid ALP lichilnik komand mozhe buti onovlenij inshoyu adresoyu z yakoyi bude zchituvatis nastupna instrukciya Potim cikl povtoryuyetsya Cikl inicializaciyi Inicializaciya procesora pochinayetsya pislya podachi na nogo naprugi zhivlennya Najpershe znachennya lichilnika komand individualne dlya kozhnoyi arhitekturi EOM napriklad procesori arhitekturi IA 32 pochinayut vikonannya z adresi 0xfffffff0 Zazvichaj pershi komandi vikonuyutsya z oblasti BIOS chi firmware sho zapisani u postijnij pam yati BIOS inicializuye aparaturu mashini i perehodit do zavantazhennya operacijnoyi sistemi Vibirka instrukciyi Krok 1 ciklu vibirka instrukciyi Vin ye odnakovim dlya vsih komand CP posilaye lichilnik komand PC v MAR i posilaye komandu chitannya na shinu keruvannya U vidpovid na komandu chitannya z adresoyu rivnoyu PC pam yat vistavlyaye zatrebuvani dani na shinu danih Procesor kopiyuye dani z shini danih v svij MDR Procesor kopiyuye dani z MDR v registr komand IR PC zbilshuyetsya tak sho vin vkazuye na nastupnu komandu v pam yati Na comu etapi vikonuyetsya pidgotovka CP do nastupnogo ciklu Rozshifrovka instrukciyi Krok 2 z ciklu komand nazivayetsya ciklom rozshifrovki Proces dekoduvannya dozvolyaye procesoru viznachiti skilki operandiv potribno zchitati z pam yati shob vikonati komandu Kod operaciyi zchitanij z pam yati dekoduyetsya dlya podalshih krokiv i peremishuyetsya u vidpovidni registri Dekoduvannya zdijsnyuyetsya blokom keruvannya Chitannya rezultativnoyi adresi Krok 3 ocinyuye sho ce za operaciya U vipadku operaciyi z pam yattyu pereviryayetsya chi ye vona pryamoyu abo nepryamoyu Pryama instrukciya pam yati Nichogo ne robitsya Nepryama instrukciya pam yati rezultativna adresa zchituyetsya z pam yati Yaksho ce prosta registrova instrukciya abo komanda vvodu vivodu procesor vikonuye yiyi negajno Vikonannya instrukciyi Krok 4 ye etapom vikonannya funkciyi yaku zadaye instrukciya Yaksho komanda koduye arifmetichnu chi logichnu diyu vikoristovuyetsya ALP Ce yedinij etap ciklu instrukciyi protyagom yakogo vikonuyetsya korisna z tochki zoru kincevogo koristuvacha robota Vse inshe nakladni vitrati potribni dlya zabezpechennya funkcionuvannya CP Div takozhVitiskalna bagatozadachnist Konveyer komand Cikl programuvannya Ce nezavershena stattya pro aparatne zabezpechennya Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi