- •Конспект лекцій з дисципліни “Мікропроцесорні пристрої”
- •1 Основи теорії мікропроцесорних пристроїв
- •Класифікація мікропроцесорів. Варіанти архітектури
- •Базова структура мікропроцесорної системи
- •Основні характеристики мп
- •Типова структура мікропроцесора
- •Система команд мп і режими адресації
- •Організація передачі інформації в мпс. Інтерфейс
- •1.6.1 Способи передачі інформації
- •Методи обміну інформацією в мікропроцесорній системі
- •2 Мікроконтролери
- •Структура мк
- •Процесорне ядро мк
- •Резидентна пам'ять мк
- •Порти уведення/виводу
- •Таймери і процесори подій
- •Аналогово-цифрові й цифро-аналогові перетворювачі
- •Мінімізація споживання енергії в мп-системах
- •Моніторинг напруги живлення мк
- •Апаратні і програмні рішення по підвищенню надійності роботи мк
- •Контролери Intel mcs-51
- •3.1 Структурна організація Intel 8051
- •3.1.1 Арифметично-логічний пристрій
- •Зовнішня пам'ять
- •Пристрій керування і синхронізації
- •Програмна модель омк
- •Система команд Intel 8051
- •Арифметичні операції:
- •Логічні команди:
- •Бітові команди:
- •Периферійні присторої омк
- •Порти введення/виводу
- •Звертання до портів можливе тільки за прямою адресою.
- •Лічильники/таймери
- •Послідовний порт
- •Примітка
- •Мікроконтролер pic16f877
- •Характеристика мікроконтролера
- •Cтруктурна схема мікроконтролера pic16f877
- •Організація пам'яті
- •Пам’ять програм
- •Організація пам'яті даних
- •Регістр стану status
- •Лічильник команд
- •Порти введення/виводу
- •Регістри portа і trisa
- •Регістри portb і trisb
- •Регістри portc і trisc
- •Регістри portd і trisd
- •Регістри porte і trise
- •Таймери
- •Модуль таймера tmr0
- •Модуль таймера tmr1
- •Модуль таймера tmr2
- •Модуль 10-розрядного ацп
- •Adcon0 (адреса 1Fh)
- •Adcon1 (адреса 9Fh)
- •Переривання
- •Сторожовий таймер wdt
- •Біти конфігурації
- •Слово конфігурації (адреса 2007h)
- •Система команд
- •Література
Процесорне ядро мк
Процесорне ядро являє собою нерозривну єдність трьох складових його технічного рішення:
Архітектури центрального процесора із властивим їй набором регістрів для зберігання проміжних даних, організацією пам'яті й способами адресації операндів у просторі пам'яті, системою команд, що визначає набір можливих дій над операндами, організацією процесу вибірки й виконання команд.
Схемотехники втілення архітектури, що визначає послідовність переміщення даних по внутрішніх магістралях МК між регістрами, арифметично-логічним устроєм і комірками пам'яті, процес виконання кожної команди.
Технології виробництва напівпровідникової БІС МК, що дозволяє розмістити схему тієї або іншої складності на напівпровідниковому кристалі, визначає припустиму частоту перемикань у схемі й енергію споживання.
Ці три складові нерозривно зв'язані один з одним і в остаточному підсумку визначають найважливіший параметр процесорного ядра МК – його продуктивність.
Ядро сучасних 8-розрядних МК реалізує один із двох принципів побудови МП:
МП із CISC-архітектурою - МП із повною системою команд (Complicated Instruction Set Computer).
МП із RISC-архітектурою - МП зі скороченою системою команд (Reduced Instruction Set Computer).
У застосуванні до 8-розрядних МК мікропроцесор з CISC- архітектурою має одно-, дво- і трибайтовий (рідко чотирибайтовий) формати команд. Вибірка команди з пам'яті здійснюється побайтно протягом декількох циклів синхронізації МК. Час виконання кожної команди з урахуванням часу вибірки становить від 1 до 10 циклів. Тривалість циклу синхронізації дорівнює періоду частоти тактування внутрішніх магістралей fBUS. До МК із CISC-архітектурою відносяться сімейства НС05 і НС08 фірми Motorola, МК із ядром MCS-51, що було запропоновано фірмою Intel, а в цей час підтримується відразу декількома виробниками (Atmel, Philips, Dallas), МК сімейства З500 фірми Infineon і низка інших.
МП з RISC-архітектурою має формат команди фіксованої довжини (наприклад, 12 або 14 біт), вибірка команди з пам'яті і її виконання здійснюються за один цикл синхронізації МК. До МК із RISC-архітектурою відносяться МК AVR фірми Atmel, MK PIC фірми Microchip, МК фірми Scenix.
За визначенням МК із RISC-архітектурою повинні мати більш високу продуктивність у порівнянні з CISC МК при одній і тій самій частоті fBUS, тому що перші виконують кожну команду за один такт, а останні – за декілька. Однак на практиці питання про продуктивність є значно більш складним і майже завжди неоднозначним:
Зазначена в довідкових даних частота синхронізації звичайно відповідає частоті підключеного кварцового резонатора, fXCLK, у той час як тривалість циклу центрального процесора визначається частотою обміну по внутрішніх магістралях адреси й даних fBUS. Співвідношення fXCLK і fBUS індивідуально для кожного ядра МК. Так, для ядра Intel MCS-51 fXCLK / fBUS
=12, для ядра Motorola HC05 fXCLK / fBUS =2, для Microchip PIC16 fXCLK / fBUS
=4, для Scenix fXCLK / fBUS =1. У МК Motorola НС08 тактування здійснюється
з використанням множувача частоти й fBUS > fXCLK. Тому при оцінці продуктивності варто порівнювати тільки максимальну частоту тактування міжмодульних магістралей fBUS.
Продуктивність МП, і МК у тому числі, заведено оцінювати
кількістю операцій пересилання «регістр-регістр», які можуть бути виконані протягом однієї секунди. Для МК із RISC-архітектурою час виконання будь-якої операції становить 1/fBUS, отже, їхня продуктивність дорівнює fBUS оп/с. Наприклад, продуктивність PIC16 становить 5 млн оп/с, Scenix – 25 млн оп/с. У МК із CISC-архітектурою кількість циклів виконання операції «регістр-регістр» становить від 1 до 3, що знижує продуктивність.
Однак така оцінка продуктивності є загальною. Вона не враховує особливості алгоритмів керування, використовуваних у кожній конкретній області застосування. Так, при розробці швидкодіючих регуляторів основну увагу варто приділяти часу виконання операцій множення й ділення, які потрібні при реалізації рівнянь різних передатних функцій. А при реалізації кнопкової станції кабіни ліфта варто оцінювати час виконання тільки логічних функцій, які використовуються при опитуванні клавіатури й при генерації протоколу послідовного інтерфейсу зв'язку з контролером керування руху, що оптимізує переміщення між поверхами відразу декількох кабін ліфта. У завданнях оптимального керування за таблицями, які характерні для устроїв силової електроніки, на перший план виходить можливість швидкого перебору більших таблиць даних. Тому в критичних ситуаціях, пов'язаних з вимогами високої швидкодії, варто оцінювати продуктивність на основі тих операцій, які переважно використаються в алгоритмі керування й мають обмеження за часом виконання.
У завданнях керування об'єктом у реальному часі існує ще один дуже важливий фактор продуктивності, що ніяк не відображається кількістю операцій за секунду. Це час переходу на підпрограму переривання за запитом зовнішнього устрою або периферійного модуля. У процесі переходу на підпрограму переривання кожний МК повинен розпізнати запит на переривання, дочекатися завершення виконання поточної команди, зберегти значення програмного лічильника PC і деякі регістри центрального процесора в стеці, завантажити вектор переривання, виконати деякі допоміжні команди й лише потім почати виконання алгоритму обслуговування устрою, що викликало це переривання. Сумарний час переходу на підпрограму переривання визначається архітектурою процесорного ядра МК і частотою його тактирування.
