fl
МИКРОКОНТРОЛЛЕРЫ
[}
А р хи текту р а
м и кр о ко н тр о л л е р а ATTINY15
А лександ р Черном ы рдин
г. М агнитогорск
E-mail:
ch av19 6 1 @ ra d io lig a .c o m
Как уже упоминалось, архитектура
микроконтроллеров ATMEL строится
на неких общих принципах, в том или
ином виде реализованных на всех мо-
делях микроконтроллеров. Начать не-
обходимо с того, что если в микрокон-
троллере КР1878ВЕ1 имеется всего
два адресных пространства - адрес-
ное пространство памяти программ и
адресное пространство ОЗУ и вне-
шних устройств, - то в микроконтрол-
лерах ATMEL таких адресных про-
странств целых четыре:
- адресное пространство памяти
программ;
- адресное пространство рабочих
регистров;
- адресное пространство внешних
устройств;
- адресное пространство ОЗУ.
В микроконтроллере ATTinyl 5 пос-
леднее из перечисленных адресных
пространств отсутствует. Может пока-
заться, что наличие такого большого
количество адресных пространств -
большой плюс архитектуры: ведь точ-
но по такому же принципу разделены
адресные пространства “серьезных”
процессоров, например микропроцес-
соров Intel. В действительности же
здесь в полную силу проявляет себя
принцип “что русскому хорошо, то нем-
цу - смерть”. Причин (и плюсов) раз-
деления адресных пространств на
“больших” процессорах, по большому
счету две:
- существенное ускорение работы
процессора при использовании регис-
тров, поскольку они не являются при-
надлежностью оперативной памяти, а
входят непосредственно в аппаратуру
процессора как составная часть. В со-
временных процессорах скорость до-
ступа к регистру может быть на один-
два порядка выше, чем к ячейке ОЗУ;
- необходимость защиты системы
в многопользовательских операцион-
ных системах от несанкционирован-
ных операций ввода/вывода - все опе-
рации ввода/вывода в таких процессо-
рах являются привилегированными и
НЕ МОГУТ выполняться из программ
пользователя, - только из операцион-
ной системы.
Ни одной из этих причин нет в мик-
роконтроллерах! Практически все ко-
манды программы выполняются в
микроконтроллерах за один такт
(лишь команды переходов и умноже-
ний выполняются дольше), поэтому
никакой особенной скорости работы
отдельное пространство регистров
для микроконтроллера не дает. Опе-
рации ввода/вывода тоже не требует-
ся защищать от несанкционированно-
го вмешательства - на микроконтрол-
лере “крутится” всего одна задача,
поэтому и защищать ее не от кого. А
вот минусов от такого разделения
намного больше - различные адрес-
ные пространства “непрозрачны” друг
для друга, поэтому для того, чтобы
просто передать информацию, напри-
мер, из порта в ячейку ОЗУ, в микро-
контроллере АТМЕ|_ требуется внача-
ле забрать информацию из порта в
регистр (команда ш), а затем пере-
слать ее в нужную ячейку ОЗУ (коман-
да эрт).
И т о г о
- две команды и один
дополнительный регистр! В микрокон-
троллере КР1878ВЕ1, где адресное
пространство области данных одно,
для такой операции требуется всего
одна команда без дополнительных
регистров. “Слепое” копирование ар-
хитектуры “серьезных” микропроцес-
соров на уровень микроконтроллеров
оборачивается серьезными же поте-
рями - не только в объеме памяти
программ (программа для АТМЕ1.,
имеющая одинаковую функциональ-
ность с программой для КР1878ВЕ1,
оказывается в среднем на 20.
..30%
больше по объему), но и, что гораздо
более существенно, - в скорости их
работы. Именно “непрозрачность” ад-
ресных пространств послужила при-
чиной появления в системе команд
микроконтроллеров АТМЕ1_ целого
“букета” дополнительных команд-па-
разитов, таких как
1П,
оЩ, 1рт, эрт,
нескольких разновидностей команд
проверки битов (вЫ, эЬг, сЫ, сЬг) - в
микроконтроллере КР1878ВЕ1 в таких
командах просто нет необходимости,
и он прекрасно обходится 52 команда-
ми там, где АТМЕ1. требуется“. .
.более
чем 90 мощных команд для работы с
данными”. К тому же все арифмети-
ческие операции в микроконтролле-
рах ATMEL могут выполняться толь-
ко над содержимым рабочих регист-
ров. Результат - для сложения двух
чисел иэ ОЗУ в микроконтроллерах
ATMEL требуется три команды, в
КР1878ВЕ1 - одна, а это - опять
объем памяти программ и скорость
работы. Любопытно, что в своей се-
рии 32-разрядных микроконтролле-
ров Atrnel от такого разделения адрес-
ных пространств отказался.
Итак, адресных пространств в мик-
роконтроллерах ATMEL, повторимся,
четыре.
Для микроконтроллера
ATTinyl 5 объем памяти программ -
512 команд (или 1 Кбайт, как пишет-
ся в документации). Число рабочих
регистров - 32. Число портов ввода/
вывода-до 64, из них обычно исполь-
зуется только малая часть. ОЗУ в мик-
роконтроллере ATTinyl 5 отсутствует.
Кроме этого, в микроконтроллере
присутствует ЭСППЗУ объемом 64
байта, доступное через соответству-
ющие регистры. Распределение ад-
ресного пространства внешних уст-
ройств приведено в
таблице 1
(обра-
тите внимание—шестнадцатиричные
константы при программировании
микроконтроллеров ATMEL задаются
в несколько иной форме - OxNN, а не
NNh).
Из анвлиза приведенной таблицы
можно составить и список внешних ус-
тройств микроконтроллера ATTinyl 5:
•АЦП
• Аналоговый компаратор
• Два 8-битных таймера
• Сторожевой таймер
• ЭСППЗУ
• Порт В
Остальные регистры, на связан-
ные с конкретными внешними устрой-
ствами, служат для общего управле-
ния микроконтроллером (в частности,
его системой прерываний).
Из анализа
таблицы 1
можно уви-
деть еще два существенных отличия
от микроконтроллера КР1878ВЕ1.
Первое отличие заключается в том,
что регистры каждого внешнего уст-
ройства в микроконтроллере АТПпу
II Радиолюбитель - 0 5 /2 0 0 7
предыдущая страница 40 Радиолюбитель 2007-05 читать онлайн следующая страница 42 Радиолюбитель 2007-05 читать онлайн Домой Выключить/включить текст