Пристрій керування
Пристрій керування процесором (англ. Control Unit) — компонент апаратного забезпечення центрального процесора комп'ютерів, що керує роботою та взаємодією функціональних вузлів ПК[1]. Являє собою скінченний дискретний автомат.
В архітектурі фон Неймана є невід'ємною частиною центрального процесора[2][3].
Структурно пристрій керування можна поділити на такі основні складові:
- дешифратор команд / операцій;
- регістровий файл (регістр команд);
- вузол обчислення поточної адреси, що виконується;
- лічильник команд.
При виконанні програми пристрій керування отримує чергову інструкцію (команду програми), стан регістра ознак результату виконання попередньої команди (регістра прапорів), стан керуючих входів (наприклад, сигналів переривань або готовності периферійних пристроїв) і на вихід видає послідовності імпульсів керування (міжрегістрових пересилками, адресацією і сигналами пересилань даних практично між всіма блоками комп'ютера — арифметико-логічним пристроєм, підсистемою введення / виводу, оперативною пам'яттю.
У більшості випадків для виконання команди / інструкції пристрій керування видає кілька керуючих імпульсів або їх комбінацій в послідовності, що визначається кодом поточної інструкції (команди). Після завершення видачі всіх імпульсів керування для виконання поточної команди зчитує код наступної команди і т.д.
Пристрій керування зазвичай синхронізується зовнішніми тактовими імпульсами, при цьому перехід скінченного автомата з одного стану в інший відбувається на кожному тактовому імпульсі або його фазі.
Послідовність станів пристрою керування відповідно до інструкцій може визначатись апаратно або мікропрограмно.
Пристрої керування, реалізовані апаратно, забезпечують зміну станів та сигнали автомата апаратними засобами. Як спрощену модель такого керування можна розглядати мікросхему постійної пам'яті, в якій записані дані, що визначають стан автомата відповідно до адреси ПЗП, причому, ці дані застосовуються також і для формування наступної адреси ПЗП (тобто, наступного стану). Подібні «автомати» використовуються при необхідності реалізації відносно простої логіки з числом керуючих сигналів до декількох сотень, крім того, мікросхеми постійної пам'яті можуть мати недостатню швидкодію. В більш складних випадках логіка автомата забезпечується окремими логічними вентилями, тригерами, лічильниками тощо (так звана жорстка, або фіксована логіка), що дозволяє створювати автомати з на порядки більшим числом керуючих сигналів.
Апаратне керування дозволяє істотно підвищити швидкість роботи автомата, але призводить до ускладнення його конструкції. Зміна логіки автомата досягається його фізичним чи структурним перепроектуванням / переробкою.
Мікропрограмне забезпечення дозволяє значно спростити пристрій керування, переклавши частину логіки автомата з обладнання на мікропрограми. Мікропрограмне керування було запропоновано в 1951 році британським вченим Морісом Вілксом.
Ідея мікропрограмного керування полягає у можливості керувати станами та сигналами автомата через спеціальний мікрокод, що складається з мікроінструкцій. При надходженні в пристрій керування нової інструкції (команди процесора) обладнання та мікрокод виконують дешифрування інструкції процесора і забезпечують її виконання відповідно до типу інструкції та попереднього стану пристрою керування.
Мікропрограми також забезпечують обробку переривань, коригування помилок та інші операції процесора, що характеризуються досить складною логікою.
Введення мікрокоду дозволило істотно зменшити складність пристрою керування. Обсяг мікрокоду на різних платформах може істотно відрізнятись залежно від того, яка частина логіки автомата реалізована через мікрокод.
- ↑ ЛЕКЦІЯ №1 - Архітектура ПЕОМ. sites.google.com. Архів оригіналу за 11 жовтня 2020. Процитовано 3 грудня 2020.
- ↑ Фон Нейман. First Draft of a Report on the EDVAC. 1945
- ↑ Ланский, Александр (4 липня 2019). Как работает процессор?. Tproger (ru-RU) . Архів оригіналу за 6 грудня 2020. Процитовано 4 грудня 2020.