Микропроцессоры и микроконтроллеры

 
 
 
«Трудность работы с програмистом заключается в том, что вы не можете понять что он делает до тех пор пока не стало слишком поздно.»
Seymour Cray
Русский | Українська


Микропроцессоры и микроконтроллеры :: RISC-мікроконтролери сімейства AVR :: Архітектура ядра мікроконтролера

Архітектура ядра мікроконтролера

Ядро мікроконтролерів AVR виконане за вдосконаленою RISC-архітектури (enhanced RISC). Арифметика-логічне пристрій (АЛУ), що виконує всі обчислення, підключено безпосередньо до 32 робочим регістрах, об'єднаним в регістровий файл. Завдяки цьому АЛУ виконує одну операцію (читання вмісту регістрів, виконання операції та запис результату назад в регістровий фото) за один машинний цикл. Практично кожна з команд (за винятком команд, у яких одним з операндів є 16-розрядний адреса) займає одну комірку пам'яті програм.

rn

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

rn

Ще одним рішенням, спрямованим на підвищення швидкодії, є використання технології конвейерізаціі. Конвейерізація полягає в тому, що під час виконання поточної команди проводиться вибірка з пам'яті і дешіфрація коду наступної команди. Причому тривалість машинного циклу мікроконтролерів AVR складає всього один період тактового генератора.

rn

Структурна схема мікроконтролера ATmega16 представлена на рис 25.1.

rn

Файл регістрів швидкого доступу містить 32 8-розрядних робочих регістра загального призначення пов'язаних безпосередньо з ALU. За один тактовий цикл з файлу регістрів вибираються два операндів, виконується операція і результат знову повертається у файл регістрів.

rn

Шість із 32 регістрів можуть бути використані як три 16-розрядних регістра покажчика непрямої адресації адресного простору даних, що забезпечують ефективну обчислення адрес. Один з цих покажчиків адреси використовується, також, як покажчик адреси для функції безперервного перегляду таблиць. Ці 16-розрядні додаткові регістри позначаються як X-регістр,
Y-регістр і Z-регістр.

rn

На додаток до операцій з регістрах, регістровий файл може використовуватися і для звичайної адресації пам'яті. Це пояснюється тим, що файл регістрів розташовується по 32 молодшими адресами простору даних, і до них можна звертатися, як до звичайних комірок пам'яті.

rn

Простір пам'яті I /O містить 64 адреси периферійних функцій CPU таких як: регістри управління, таймери /лічильники, аналого-цифрові перетворювачі та інші I /O функції. До пам'яті I /O можна звертатися безпосередньо або як до осередкам простору пам'яті відповідним адресами файлу регістрів $ 20 - $ 5F.

rn

В процесі обробки переривань та викликів підпрограм адреса повернення лічильника команд (PC) зберігається в стек. Стек розміщується в SRAM даних. Всі користувальницькі програми в підпрограма повернення (перш, ніж підпрограми або переривання будуть виконуватися) повинні ініціалізувати покажчик стека (SP).

rn

AVR архітектура підтримує п'ять різних режимів адресації байт SRAM даних.

rn

Гнучкий модуль обробки переривань має в просторі I /O свій керуючий регістр з додатковим бітом дозволу глобального переривання в регістрі статусу. Всі переривання мають свої вектори переривання в таблиці векторів переривання, які розташовуються на початку пам'яті програм. Пріоритети переривань відповідають положенню векторів переривань - переривання з найменшим адресою вектора має найвищий пріоритет.

rn

Структурная схема мікроконтролера ATmega16

rn

Ріс.25.1. Структурна схема мікроконтролера ATmega16




Следующая статья >>
«Регістри вводу-виводу»