RISC использует только гарвардскую архитектуру.
Архитектура AVR содержит два основных вида памяти:
● Память данных;
● Память программ.
Кроме того, микросхема ATtiny2313 имеет EEPROM-память для долговременного хранения данных. Все три вида памяти представляют собой непрерывные области с линейно возрастающими адресами.
Системная перепрограммируемая Flash-память программ.
Микросхема содержит 2 Кбайт встроенной перепрограммируемой памяти для хранения программ. Так как все команды, используемые в AVR, имеют размер 16 или 32 бита, память организована как 1Kx16.
Память данных SRAM.
Всего адресное пространство ОЗУсодержит 224 ячейки, которые заняты:
➢ Файлом регистров общего назначения;
➢ Дополнительными регистрами ввода-вывода;
➢ Внутренней памятью данных.
Первые 32 ячейкисовмещены с файлом РОН. Следующие 64 ячейки – стандартная область, где располагаются все регистры ввода-вывода. И лишь оставшиеся 128 ячеек составляют внутреннюю память данных.
Регистры R26-R31 (X, Y, Z) служат указателями адреса при всех операция с косвенной адресацией.
К регистры R0-R31 можно также обращаться непосредственно по адресу в адресном пространстве (0x00-0x31) R0==0x00,R20==0x20.
При прямой адресацииуказывается полный адрес байта данных.
При косвенной адресациисо смещением можно охватить до 63 ячеек, начиная с текущего базового адреса, на который указывает содержимое регистра Y или Z.
При использовании косвенной адресации с автоматическим преддекрементом и автоматическим постдекрементом после каждой операции чтения (записи) памяти изменяется адрес, записанный в регистр X, Y или Z.
|
|
Для всех способов адресации доступны все 32 регистра общего назначения, 64 регистра ввода-вывода и 128 байтов памяти данных SRAM.
Память данных EEPROM.
Микросхема ATtiny2313 содержит 128 байтов EEPROM-памяти.Она организована как отдельное адресное пространство для хранения данных, в котором каждый байт может быть отдельно прочитан или записан.
Регистры общего назначения. Особенности применения. Индексные регистры X, Y, Z.
Файл регистров оптимизирован для набора AVR RISC-инструкций. Для того, чтобы достичь требуемой производительности и гибкости, файл регистров поддерживает следующие схемы ввода-вывода:
➢ Вывод одного 8-разрядного операнда и ввод одного 8-разрядного результата вычислений
➢ Вывод двух 8-разрядных операндов и ввод одного 8-разрядного результата вычислений
➢ Вывод двух 8-разрядных операндов и ввод одного 16-разрядного результата вычислений
➢ Вывод одного 16-разрядного операнда и ввод одного 16-разрядного результата вычислений
Большинство инструкций, оперирующих файлом регистров, имеет прямой доступ ко всем его регистраторам, и большинство из них выполняются за один такт.
|
|
Регистры R26-R31, кроме своего основного назначения, имеют дополнительную функцию. Эти регистраторы могут служить 16-битными указателями адреса для операций, использующих косвенную адресацию. В разных командах, использующих косвенную адресацию, эти регистры могут быть использованы как источники постоянного адреса, как адресный регистр с автоматическим приращением адреса и как регистр с автоматическим уменьшением адреса.
Индексный регистр Z. Организация доступа к памяти программ (подробно опишите данный режим адресации).
Память программ микроконтроллеров AVR имеет 16-разрядную организацию. Доступ к данным в памяти программ осуществляется с помощью команды lpm и индексного регистра Z. При этом старшие 15 разрядов содержимого регистра определяют адрес 16-разрядного слова, а младший разряд определяет, какой из байтов слова будет прочитан: 0 – младший байт, 1 – старший байт.
Единственным "мостом" от памяти программ к памяти данных служит команда LPM – она загружает в регистр r0 содержимое старшей или младшей половины ячейки памяти, чей адрес содержится в старших 15 разрядах регистра Z. Младший разряд Z при этом выбирает загрузку младшего (Z.0==0) или старшего (Z.0==1) байта из слова.
ldi r31,HIGH(0x0241*2)
ldi r30,LOW(0x0241*2) ;в регистр r0 заносится младший байт из ячейки
lpm ;памяти программ с адресом 0x241
Дата добавления: 2018-06-01; просмотров: 272; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!