Основні риси архітектури МК AT90S 2313

Взаємодія ядра та периферійних пристроїв МК AT90S 2313 зображена на рис. 2. Основна функція ядра ЦП полягає в гарантуванні коректності виконання програми. Крім цього, ЦП повинний мати можливість адресуватися до різних видів пам'яті, виконувати обчислення, керувати периферійними пристроями й обробляти переривання.

Рис. 2. Функціональна схема архітектури AVR.

 

З метою досягнення максимальної продуктивності і паралельності виконання операцій в AVR -МК використовується Гарвардська архітектура з роздільними пам'яттю і шинами програм і даних. Команди в пам'яті програм виконуються з однорівневою конвеєризацією. У процесі виконання однієї інструкції наступна попередньо зчитується з пам'яті програм. Дана концепція дозволяє виконувати одну інструкцію за один машинний цикл.

Регістровий файл зі швидким доступом містить 32 x 8-розрядних робочих регістрів загального призначення з однотактовим циклом доступу. Завдяки цьому досягнута однотактність роботи АЛП (див. рис. 3). При звичайній роботі в АЛП спочатку з регістрового файлу завантажується два операнда, потім виконується операція, а після результат відправляється назад у регістровий файл і все це відбувається за один машинний цикл. Шість регістрів з 32 можуть використовуватися як три 16-розрядних регістра непрямої адреси для ефективної адресації в межах пам'яті даних. Один з цих покажчиків адреси може також використовуватися як покажчик адреси для доступу до таблиці перетворення у флеш-пам’яті програм. Дані 16-разр. регістри називаються X -регістр, Y -регістр і Z -регістр.


Рис. 3. Однотактність роботи АЛП.

 

АЛП підтримує арифметичні і логічні операції між регістрами, а також між константою і регістром. Крім того, АЛП підтримує дії з одним регістром. Після виконання арифметичної операції регістр статусу (прапорів) обновлюється для відображення результату виконання операції. Прапори цього регістра в більшості випадків дозволяють відмовитися від використання інструкцій порівняння, роблячи код програми більш компактним і швидким. Крім того, архітектурою МК підтримуються операції множення зі знаком і без знака і дробовим форматом.

Для розгалуження програми підтримуються інструкції умовних і безумовних переходів і викликів процедур, що дозволяють безпосередньо адресуватися в межах адресного простору. Більшість інструкцій являють собою одне 16-розрядне слово. Кожна адреса пам'яті програм містить 16- або 32-розрядну інструкцію. Пам’ять програм розділена на два сектори: сектор програми початкового завантаження і сектор прикладної програми. Обидва сектори мають роздільні біти захисту від запису і читання/запису. Оскільки всі AVR-інструкції є 16 або 32-розрядними, флеш-пам’ять організована як 1 кбайт х 16. Програмний лічильник РС у МК є 16-розрядним, тому дозволяє адресувати до 64 кбайт пам'яті програм.

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

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

МК містить 128 байт пам'яті даних типу EEPROM.

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

Простір пам'яті введення - виведення містить 32 адреси з безпосередньою адресацією або може адресуватися як пам'ять даних.

Таймери-лічильники МК призначені для точного завдання часових інтервалів, генерації прямокутних імпульсів і виміру часових характеристик імпульсних сигналів.

 

Рис. 4. Часова діаграма доступу до вбудованого статичного ОЗП даних.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: