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

3.6 Регістр стану

Рис. 11. Регістр стану (а) та значення його прапорів (б)

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

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

3.7 Регістровий файл

3.3 Звертання до регістрового файлу

Частина регістрової пам'яті обсягом 32 байт, що містить 32 восьмирозрядні регістри загального призначення R0 … R31 (рис. 5,а), утворює надоперативну пам'ять даних. За змогою, її найдоцільніше використовувати в програмах з метою пришвидшити виконання команд, тому в МК AVR у всіх операціях з даними хоча б однією з комірок їх розташування є РЗП. РЗП керуються спільними сигналами і тому їх згруповано в т. з. регістровий файл (РФ). Адресуватися до РФ можна безпосередньо окремими розрядами слова команди, записаного до регістра команд РК (IR – Instruction Register). Решта розрядів цього регістра надходить до дешифратора команд ДК у блоці керування для формування керувальних сигналів.

Залежно від виконуваної команди відбувається адресування одного регістра або двох з 32 регістрів РФ одночасно (на рис. 12,а показано розподіл розрядів слова команди для другого випадку). Вибір потрібних регістрів здійснюється 5-розрядними дешифраторами DCА і DCВ, виходи яких об’єднуються зі входами дозволу регістрів 0, 1, …, 31 через елементи АБО. При цьому регістр, вибраний дешифратором DCА, з’єднується з шиною А, а дешифратором DCВ – з шиною В. Якщо ж потрібно вибрати лише одне слово даних, один з дешифраторів стробуванням переводиться до третього стану. Напрямок передачі даних – з регістра в шину чи, навпаки, із шини в регістр – задається керувальними сигналами читання Чт (Rd – Read) та запису Зп (Wr – Write).

Розглянутий тут спосіб адресування до РФ безпосередньою за номерами регістрів (див. рис. 3,в) у слові команди забезпечує максимальну швидкодію обробки 8-бітних даних. Але передбачено й інший спосіб звертання до РФ як до комірок ОЗП з молодшими номерами (див. рис. 3,б). Це підвищує ефективність роботи 8-розрядних МК, коли зменшується кількість пересилань між різними комірками ЗП даних, наприклад, під час реалізації алгоритмів обробки для 16-бітної арифметики.

Під час виконання команди, пов’язаній з обробкою інформації, будь-які регістри РФ є приступними операційному блокові ОБ як джерела даних, а по виконанні операції в ОБ її результат одразу ж завантажується до одного з регістрів, який був джерелом, тобто він стає приймачем. Такий регістр називається акумулятором. Отже, акумулятором може бути будь-який з регістрів РФ (за винятком декількох команд, що виконують операції з константами, для яких приступними є регістри R16 … R31 старшої половини РФ), що значно підвищує швидкодію МК. У цьому полягає відмінність МК AVR від інших МК, які містять окремий акумулятор, що є транзитним регістром під час виконання більшості операцій.

Крім зберігання даних, щоб пришвидшити виконання програми, у старших регістрах РФ можуть формуватися також адреси ЗП програм і ЗП даних. Такі 16-розрядні покажчики адреси, що утворюються з регістрових пар РФ, називаються індексними регістрами. У всіх МК AVR індексний регістр Z (рис. 5,б) складається з регістрів R30 (молодший байт МБ) і R31 (старший байт СБ), а в досконаліших типах МК можуть утворюватися також індексні регістри Y (МБ R28, СБ R29) та X (МБ R26, СБ R27). При цьому під час звертання до РФ як до комірок ОЗП адреси самого РФ приміщуються лише в молодші байти (бо для вибору одного з РЗП достатньо 5 біт), а старші байти автоматично очищуються.