Основні операції кожного з таких елементів мікропроцесора: блоку управління, блоку обробки даних

Лекція №29

Тема лекції: Основні операції кожного з таких елементів мікропроцесора: блоку управління, блоку обробки даних.

План лекції

1. Пристрій управління

2. Організація обробки даних

Література

1. Опадчий Ю.Ф. Аналоговая и цифровая электроника – 2000. ст. 693-720.

Зміст лекції

1. Пристрій управління

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

У загальному випадку ЦПУ формує управляючі сигнали для реалізації наступних функцій:

  • вибірки з пам'яті коду чергової команди;
  • розшифровки коду операції і ознак вибраної команди;
  • вибірки операндів і виконання машинної операції;
  • забезпечення переривань при виконанні команд;
  • формування адреси наступної команди;
  • обліку станів інших пристроїв машини;
  • ініціалізації роботи контроллерів (каналів) уведення-виведення;
  • організації контролю працездатності ЕОМ.

До основних характеристик ЦУУ слід віднести:

  • принцип формування і розгортання тимчасової послідовності управляючих сигналів;
  • спосіб побудови циклу роботи ЦУУ і ЕОМ в цілому;
  • загальна організація управління ЕОМ;
  • спосіб синхронізації вузлів і блоків ЕОМ.

За принципом формування і розгортання тимчасової послідовності УС розрізняють ЦПУ:

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

За способом побудови робочого циклу розрізняють ЦПУ:

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

За способом синхронізації роботи ЕОМ залежно від числа тактів в циклі виконання команди розрізняють ЦПУ:

  • з постійним числом тактів;
  • із змінним числом тактів.

У мікропрограмі робочого циклу виділяють загальну і спеціальну частини. До загальної частини відносяться мікрокоманди, виконувані в циклі будь-якої команди: вибірка команди, аналіз запитів на переривання, формування адреси наступної команди, аналіз стану процесора. Ці мікрокоманди виконуються за постійне число тактів.

До спеціальної частини відносяться мікрокоманди, по яких виробляються управляючі сигнали залежно від змісту операційної частини виконуваної команди. В цьому випадку кількість тактів буде змінним для різних команд. В сучасних ЕОМ з різною структурою команд, що використовуються, число тактів залежить від формату вибираної команди, структури її адресної частини і довжини операндів.

По загальній організації управління може бути:

  • централізованим. Блок управління ЦПУ виробляє всі УС мікрооперацій для всіх команд, виконуваних процесором;
  • змішаним. Застосовуються в процесорах, операційні і інші пристрої яких мають власні вузли місцевого управління. Тоді блок управління ЦПУ, крім сигналів мікрооперацій, виробляє так само сигнали для блоків місцевого управління.

За принципом організації циклів розрізняють ЦПУ:

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

Управляючий пристрій з жорсткою логікою (апаратний тип) – є логічною схемою, вірніше сукупність логічних схем, що виробляють розподілених в часі функціональних керівників сигнали. Змінити логіку роботи біля таких управляючих автоматів можна, тільки переробивши схему. Безліч станів таких управляючих автоматів задається набором елементів (елементів пам'яті), що запам'ятовують, а функції переходів і виходів – реалізуються набором логічних елементів. При синтезі таких управляючих автоматів застосовуються закони алгебри логіки. Синтез комбінаційної схеми (КС) автомата відбувається у декілька етапів.

  • побудова таблиці істинності;
  • побудова функцій переходів і виходів;
  • мінімізація функцій переходів і виходів;
  • побудова схеми в необхідному елементному базисі.

Стан лічильника тактів, що входить в структурну схему автомата з жорсткою логікою, є номером такту від 1 до N. DC тактів формує на i-ом виході одиничний сигнал при i-ом стані лічильника тактів, тобто під час i-ого такту. DC коду операції виробляє одиничний сигнал на j-ом виході, якщо виконується j-ая команда. Логічні схеми утворення функціональних сигналів порушують формувачі функціональних керівників сигналів для виконання вимагаються в даному такті мікрооперацій.

2. Організація обробки даних

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

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

Ще однією важливою процедурою обробки даних є підпрограма. Для виконання цієї процедури в командах управління є спеціальні команди: "call А16" - виклик підпрограми і "ret" - повернення з підпрограми. При виклику підпрограми робота основної програми тимчасово припиняється, виконуються команди підпрограми, потім робота основної програми продовжується. Підпрограми звичайно застосовують для реалізації тих, що повторюються в різних частинах основної програми функцій.

Коректне продовження роботи припиненої програми вимагає відновлення даних в певних регістрах мікропроцесора. Цей набір даних, необхідних для роботи програми, прийнято називати вектором стану програми. В загальному випадку компонентами вектора стану є:

  • адреса чергової команди в програмному лічильнику;
  • регістр прапорів, оскільки прапори можуть змінитися при виконанні підпрограми;
  • акумулятор, його вміст практично завжди змінюється при виконанні підпрограми;
  • регістри блоку РОН, вміст регістрів також може змінитися при виконанні підпрограми.

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

Очевидно, що підпрограма, що викликається, також вимагає формування свого вектора стану. Вектор стану підпрограми, що викликається, прийнято називати вектором переривання. Оскільки підпрограма тільки починає працювати з моменту виклику, у векторі переривання звичайно указують тільки початкову адресу підпрограми, що викликається, для програмного лічильника.

Таким чином, процедура використовування підпрограми включає наступні операції: зупинка виконання і збереження вектора полягання програми, завантаження вектора переривання і виконання підпрограми по вектору переривання, відновлення вектора стану і продовження роботи програми. Виконання всіх цих операцій підтримується системою команд мікропроцесора.

Команда виклику підпрограми "call А16" проводить автоматичне збереження в стеку поточної адреси команди з програмного лічильника мікропроцесора і завантаження адреси А16 вектора переривання в програмний лічильник, а команда завершення переривання "ret" - таке ж автоматичне відновлення адреси в програмному лічильнику із стека. Через такий алгоритм виклику і завершення переривання задача збереження і відновлення решти компонентів вектора стану програми звичайно розв'язується в підпрограмі переривання. Підпрограма повинна починатися із збереження в стеку вмісту тих регістрів мікропроцесора, які використовуватимуться при її роботі. А перед командою повернення з підпрограми (ret) повинне виконуватися відновлення вмісту цих же регістрів із стека. Коди підпрограми можуть берегтися в будь-якій області адресного простору пам'яті мікропроцесорної системи.

Процедура переривання з викликом підпрограми також має велике значення в операціях уведення-виведення даних і організації взаємодії з периферійними пристроями. Для реалізації переривань по запитах периферійних пристроїв передбачені спеціальні сигнали шини управління мікропроцесорної системи.

Основні операції кожного з таких елементів мікропроцесора: блоку управління, блоку обробки даних