Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Кофанов_ЦП, ч. 2 (КЛ_ел.варіант).docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
3.69 Mб
Скачать

3 Архітектура ядра мк avr

3.1 Склад і принцип дії мк

AVR із вдосконаленою RISC архітектурою (продуктивність майже в 10 разів вища, ніж у СISC). Гарвардська архітектура (рис. 4): окремі пам'ять і шини для програм та даних (слово команди – 16 розрядів, даних – 8 розрядів).

Рис. 4. Структура ядра МК AVR

3.2 Конвеєр команд

Програма виконується на часових інтервалах, які задаються послідовністю синхроімпульсів Clk, що від генератора тактових імпульсів ГТІ (див. рис. 4) надходить до входів лічильника команд РС, регістра команд IR та інших пристроїв. Часовий інтервал, протягом якого відбувається одне звертання до ЗП програм, або ЗП даних, або пристроїв вводу-виводу, називають машинним циклом. У МК AVR кожний цикл займає один такт – інтервал між позитивними фронтами синхроімпульсів Clk (рис. 5,а).

Кількість машинних циклів, потрібна для виконання команди, залежить від її типу. На обробку більшості команд, що містять одне слово, потрібно два машинні цикли: у першому такті Т1 здійснюється вибірка команди, а в другому такті Т2 – її виконання (див. рис. 5,а). Проте з метою підвищити швидкодію в МК AVR застосовано дворівневий конвеєр виконання програми – команда, вибрана в попередньому такті Т1, виконується в поточному такті Т2, а вибрана в поточному такті Т2 перебуває в черзі на виконання. Отже, в одному й тому самому такті одночасно відбувається виконання однієї і вибірка іншої команди. (Існують також МП із багаторівневим конвеєром, коли утворюється черга з кількох команд).

Рис. 5. Конвеєр команд (а) і стадії виконання операції в АЛП (б)

Функціонування конвеєрного виконання команд полягає в наступному. З надходженням тактового імпульсу Clk до входу лічильника команд РС (рис. 6) утворюється адреса чергової команди і зберігається на його вихідній шині протягом такту, наприклад, Т1. За цей час дешифратором адреси (див. рис. ) здійснюється вибірка цієї команди – на вихідній шині ЗП програм утримується 16-розрядне слово команди з адресою РС. За позитивним перепадом наступного синхроімпульсу Clk в такті Т2 це слово записується до регістра команд IR і дешифрується, внаслідок чого команда виконується. Одночасно цим самим перепадом синхроімпульсу Clk зміст лічильника РС збільшується на одиницю і відбувається вибірка другої команди. Так само в наступному такті Т3 відбувається одночасне виконання другої команди і вибірка третьої команди із ЗП програм і т. д. Таким чином, завдяки конвеєру фактично час виконання команди становить один машинний цикл.

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

3.3 Адресний простір МК (Програмно приступні ресурси МК)

МК, як і МПС взагалі, здійснює будь-яке завдання шляхом послідовного в часі виконання необхідних для цього дій, тобто за певним алгоритмом. За цим алгоритмом має бути складена програма, що розбиває завдання на окремі достатньо прості команди.

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

За цими адресами МП звертається до комірок під час виконання програми й обміну даними. Сукупність адрес комірок ЗП програм і ЗП даних утворює адресні простори відповідно програм і даних. У МПС з архітектурою Гарвардського типу (за якою виконано схеми сучасних МК AVR) звертання до ЗП програм і ЗП даних здійснюється окремими шинами та адресні простори програм і даних розділено.

Адресний простір МК AVR зображено на рис. 7 узагальнено мапою пам'яті, де знаком $ позначено, що адреси (номери) комірок пам'яті подано в шістнадцятковій системі. Як видно, весь простір складається з трьох частин.

ЗП програм (РПЗП типу Flash-пам'яті), призначений для зберігання команд, у різних моделях МК AVR містить від 512 до 64 k = 65 536 комірок (1 k = 210 = = 1024). Для наочності на рис. 3,а виділено частини адресного простору ЗП програм з 1 k комірок (0 … 1023; 1024 … 2047; 2048 … 3071; …).

Адресний простір ЗП даних (типу SRAM – статичний ОЗП) в узагальненому вигляді складається з чотирьох частин (рис. 7,б) із суцільною нумерацією комірок $0000 … $FFFF (з доступом до 64 k = 65 536 комірок комірок). Проте реально приступний обсяг адресного простору залежить від моделі МК AVR. У всіх моделях є простір регістрової пам'яті обсягом 96 комірок, призначений для адресування до 32 регістрів загального призначення (РЗП) і 64 регістрів вводу-виводу (РВВ). При цьому 32 РЗП, що утворюють регістровий файл РФ, реально існують у всіх моделях, а з простору 64 РВВ використовується частина залежно від моделі МК. Регістрова пам'ять обсягом 96 комірок (рис. 3,в) має також інший адресний простір з окремою нумерацією регістрів РФ і РВВ. Проте практично програміст користується номерами R0 … R31 регістрів РФ і символічними іменами РВВ, такими як PORTB, DDRB, PINB. тощо. Наступні дві частини адресного простору ЗП даних (див. рис. 3,б) становить внутрішній ОЗП (є не у всіх типах МК) та в деяких моделях передбачена можливість розширення пам'яті даних за допомогою зовнішнього ОЗП. (Комірки: 16 р. та 8 р.)

Рис. 7. Адресний простір МК: пам'яті програм (а), оперативної пам'яті

загалом (б) і регістрової пам'яті з окремою нумерацією регістрів (в),

енергонезалежної пам'яті (г)

Для зберігання даних і частин програм, які можуть змінюватися під час налаштовування і експлуатації системи, в окремих типах МК вбудовано також енергонезалежний EEPROM (РПЗПЕС) зі своїм адресним простором (рис. 3,г).

Рис. 12. Загальна схема звертання до регістрового файлу (а)

і формат слова даних (б)