Полтавський Військовий Інститут Зв’язку
Кафедра схемотехніки радіоелектронних систем
ЛЕКЦІЯ
Мікропроцесорні системи.
Контролери в телекомунікаціях.
Мікроконтролери RISC архітектури.
Полтава – 2006
Навчальна література:
1. Мікропроцесорна техніка: Підручник/ Ю.І. Якименко та інш. – К.: ІВЦ Політехніка; Кондор, 2004. с. 379-395.
2. Схемотехніка електронних систем: У з кн. Кн. 3. Мікропроцесори та мікро контролери: Підручник/ В.І. Бойко, А.М. Гуржій, В.Я. Жуйков та ін. – 2-е вид. – К: Вища шк., 2004. с. 338 – 356 с.
ВСТУП
CISC МК характеризуються досить розвиненою системою команд, наприклад, МК серії і80х51 мають 111 команд. Однак аналіз програм показав, що 20% з них використовується в 80% випадків, а дешифратор команд займає більше 70% площі кристалу. Команди достатньо складні і виконуються за різний час. Тому у розробників виникла ідея скоротити кількість команд, надати їм єдиний формат і зменшити площу кристала, тобто використати RISC(Reduced Instruction Set Computer) архітектуру.
Особливістю МК, виконаних за RISC архітектурою, є те, що всі команди виконуються за один-три такти, тоді як у CISC контролерах – за один-три машинних цикли, кожний з яких складається з кількох тактів, наприклад для і80х51 – з 12 тактів. Тому RISC контролері мають значно більшу швидкодію. Однак повніша система команд CISC контролерів у деяких випадках сприяє економії часу виконання певних фрагментів програми та економії пам’яті програм.
1. Особливості МК RISC архітектури
У процесорах з RISC-архітектурою набір команд, що виконуються, скорочений до мінімуму. До МК із RISC-процесором відносяться МК AVR фірми Atmel, МК PIC16 і PIC17(Peripheral Interface Controller) фірми Microchip і інші.
RISC МК мають наступні характерні риси.
1. Всі команди мають формат фіксованої довжини (наприклад, 12, 14 або 16 біт).
2. Вибірка команди з пам'яті і її виконання здійснюється за один цикл (такт) синхронізації, що ілюструється рис. 1.
3.Система команд процесора припускає можливість рівноправного використання всіх регістрів процесора. У МК із RISC-процесором усі регістри (часто й акумулятор) розташовуються по адресах, що явно задаються. Це забезпечує додаткову гнучкість при виконанні ряду операцій.
На перший погляд, МК із RISC-процесором повинні мати більш високу продуктивність у порівнянні з CISC МК при одній і тій же тактовій частоті внутрішньої магістралі ВКМ. Однак на практиці питання про продуктивність більш складне і неоднозначне.
По-перше, оцінка продуктивності МК за часом виконання команд різних систем (RISC і CISC) не зовсім коректна. Звичайно продуктивність МП і МК прийнято оцінювати числом операцій пересилання «регістр-регістр», що можуть бути виконані протягом однієї секунди. У МК із CISC-процесором час виконання операції «регістр-регістр» складає від 1 до 3 циклів, що, здавалося б, уступає продуктивності МК із RISC-процесором. Однак прагнення до скорочення формату командRISC-процесора приводить до змушеного обмеження числа доступних в одній команді регістрів. Так, наприклад, системою командМКPIC16 передбачена можливість пересилання результату операції тільки в один із двох регістрів — регістр-джерело операнда або робочий регістр. Таким чином, операція пересилання вмісту одного з доступних регістрів в іншій (не джерело операнда і не робочий) потребує використання двох команд. Така необхідність часто виникає при пересиланні вмісту одного з регістрів загального призначення (РЗП) в один з портів МК. У той же час, у системі команд більшості CISC-процесорів присутні команди пересилання вмісту РЗП в один з портів введення-виведення. Тобто більш складна система команд іноді дозволяє реалізувати більш ефективний спосіб виконання операції.
По-друге, оцінка продуктивності МК по швидкості пересилання «регістр-регістр» не враховує особливостей конкретного реалізованого алгоритму керування. Так, при розробці швидкодіючих пристроїв автоматизованого керування основну увагу варто приділяти часу виконання операцій множенняі розподілу при реалізації рівнянь різних передаточних функцій. А при реалізації пульта дистанційного керування побутовою технікою варто оцінювати час виконання логічних функцій, що використовуються при опитуванні клавіатури і генерації послідовної кодової посилки керування. Тому в критичних ситуаціях, що вимагають високої швидкодії, варто оцінювати продуктивність на множині тих операцій, що переважно використовуються в алгоритмі керування і мають обмеження за часом виконання.
По-третє, необхідно ще враховувати, що зазначені в довідкових даних на МК частоти синхронізації звичайно відповідають частоті кварцового резонатора, що підключається, у той час як тривалість циклу центрального процесора визначається частотою обміну по ВКМ. Співвідношення цих частот індивідуально для кожного МК і повинно бути прийняте в розрахунок при порівнянні продуктивності різних моделей контролерів.
2. Однокристальні AVR-мікроконтролери
АрхітектуруRISC МК розглянемо на прикладі AT90S 2313. Це малопотужний восьмирозрядний КМОП МК, заснований на розширеній AVR RISC-архітектурі. Він належить до сім’ї AVR-МК загального призначення і створений дослідницьким центром фірми Atmel Corp. (Норвегія). Взагалі у номенклатуру групи AT90S входять пристрої з ПЗП від 1 до 8 Кбайт, з різною перефірією, кількість виводів від 8 до 48. Всього випускається три сім’ї AVR-МК – Tiny, Classic, Mega. МК Tiny – найдешевші і мають найпростішу структуру, Mega – найпотужніші, а Classic – займають проміжне положення між ними.
Цей МК сімейства Classic виробляється за технологією високощільної енергонезалежної пам'яті компанії Atmel. Вбудована внутрішньосистемноперепрограмована флеш-пам’ять дозволяє перепрограмувати пам'ять програм безпосередньо усередині системи через послідовний інтерфейс SPI за допомогою простого програматора або за допомогою автономної програми в завантажувальному секторі. Завантажувальна програма може використовувати будь-який інтерфейс для завантаження прикладної програми у флеш-пам’ять. Програма в завантажувальному секторі продовжує роботу в процесі відновлення прикладної секції флэш-памяти, тим самим підтримуючи двохопераційність: читання під час запису. За рахунок об’єднання восьмирозрядного. RISC ЦП з внутрішньосистемносамопрограмованою флеш-пам’яттю в одній мікросхемі, МК дозволяє досягти високого ступеня гнучкості й ефективної вартості при проектуванні більшості додатків вбудованого керування.
Основні характеристики МК AT90S 2313
– 133 інструкцій, більшість з яких виконуються за один машинний цикл;
- Продуктивність: 1 млн. операцій у секунду/Мгц, що дозволяє проектувальникам систем оптимізувати співвідношення енергоспоживання і швидкодії.
– Вбудований пристрій множення виконує множення за 2 машинних цикли.
- Енергонезалежна пам'ять програм 1Кбайт х 16.
– Зносостійкість перепрограмованої флеш-пам’яті: 1000 циклів запис/стирання.
– Зносостійкість EEPROM (128 байт): 100000 циклів запис/стирання.
– Вбудований статичний ОЗП ємністю 128 байт.
–Можливість адресації зовнішньої пам'яті розміром до 64 кбайт.
– Програмований захист коду програми.
– Інтерфейс SPI для внутрішньо системного програмування
- Два 16-розрядних таймера-лічильника.
– 8 каналів 8-розрядного аналогово-цифрового перетворення.
– Послідовний інтерфейс, орієнтований на передачу даних у байтному форматі.
– Програмований сторожовий таймер з вбудованим генератором.
– Вбудований аналоговий компаратор.
Основні риси архітектури МК AT90S 2313
Взаємодія ядра та периферійних пристроїв МК AT90S 2313 зображена на рис. 2. Основна функція ядра ЦП полягає в гарантуванні коректності виконання програми. Крім цього, ЦП повинний мати можливість адресуватися до різних видів пам'яті, виконувати обчислення, керувати периферійними пристроями й обробляти переривання.
Рис. 2. Функціональна схема архітектури AVR.
З метою досягнення максимальної продуктивності і паралельності виконання операцій в AVR-МК використовується Гарвардська архітектура з роздільними пам'яттю і шинами програм і даних. Команди в пам'яті програм виконуються з однорівневою конвеєризацією. У процесі виконання однієї інструкції наступна попередньо зчитується з пам'яті програм. Дана концепція дозволяє виконувати одну інструкцію за один машинний цикл.
Регістровий файл зі швидким доступом містить 32 x 8-розрядних робочих регістрів загального призначення з однотактовим циклом доступу. Завдяки цьому досягнута однотактність роботи АЛП (див. рис. 3). При звичайній роботі в АЛП спочатку з регістрового файлу завантажується два операнда, потім виконується операція, а після результат відправляється назад у регістровий файл і все це відбувається за один машинний цикл. Шість регістрів з 32 можуть використовуватися як три 16-розрядних регістра непрямої адреси для ефективної адресації в межах пам'яті даних. Один з цих покажчиків адреси може також використовуватися як покажчик адреси для доступу до таблиці перетворення у флеш-пам’яті програм. Дані 16-разр. регістри називаються X-регістр, Y-регістр і Z-регістр.