Шановні українці! Матеріал був перекладений з російської мови. Тому можуть бути незначні помикли...
Архітектура мікропроцесорного ядра мікроконтролерів AVR -
Архітектура AVR була оптимізована так, щоб з'єднати гідності Гарвардської і Прінстонської (Фон Неймана) архітектури для досягнення дуже швидкого і ефективного виконання програм. Така організація забезпечує високу ефективність процесора при обробці даних.
Основною ідеєю всіх RISC (Reduced Instruction Set Computer), як відомо, є збільшення швидкодії за рахунок скорочення кількості операцій обміну з пам'яттю програм. Для цього кожну команду прагнуть вмістити в одну комірку пам'яті програм. При обмеженою розрядності комірки пам'яті це неминуче призводить до скорочення набору команд мікропроцесора.
У мікроконтролерів AVR-згідно з цим принципом практично всі команди (крім тих, у яких одним з операндів є 16-розрядний адреса) також упаковані в одну комірку пам'яті програм. Але зробити це вдалося не за рахунок скорочення кількості команд процесора, а шляхом розширення комірки пам'яті програм до 16 розрядів. Таке рішення є причиною багатства системи команд AVR порівняно з іншими RISC-мікроконтролера.
Організація пам'яті AVR виконана за схемою Гарвардського типу, в якій розділені не тільки адресні простору пам'яті програм і пам'яті даних, але також і шини доступу до них. Для більш глибокого розуміння архітектури наведемо дві схеми (див. мал. 2.1 і рис. 2.2).
Вся програмна пам'ять мікроконтролерів AVR-виконана за технологією FLASH і розміщена на кристалі. Вона являє собою послідовність 16-розрядних осередків і має ємність від 512 слів до 64K слів в залежності від типу кристала.
Поділ шин доступу (мал. 2.2). до FLASH пам'яті і SRAM пам'яті дає можливість мати шини даних для пам'яті даних і пам'яті програм різної розрядності, а також використовувати технологію конвеєризації. Конвеєризація полягає в тому, що під час виконання поточної команди програмний код наступної вже вибирається з пам'яті і дешифрируется.
Рис. 2.2. Структурна схема архітектури процесора сімейства AVR.
Для порівняння згадаємо, що у мікроконтролерів сімейства MCS-51 вибірка коду команди і її виконання здійснюються послідовно, що займає один машинний цикл, який триває 12 періодів кварцового резонатора.
У разі використання конвеєра наведену тривалість машинного циклу можна скоротити. Наприклад, у PIC-мікроконтролерів фірми Microchip за рахунок використання конвеєра вдалося зменшити тривалість машинного циклу до 4 періодів кварцового резонатора. Тривалість машинного циклу AVR становить один період кварцового резонатора. Таким чином, AVR здатні забезпечити задану продуктивність при більш низькій тактовій частоті. Саме ця особливість архітектури і дозволяє мікроконтролерів AVR-мати найкраще співвідношення енергоспоживання/продуктивність, оскільки споживання КМОП мікросхем, як відомо, визначається їх робочою частотою [9,11].