Страница 1 из 3
Вопросы по архитектуре микроконтроллеров AVR
Добавлено: Вс сен 05, 2021 20:27:23
Kalisnik
- Я правильно понимаю, что "Рабочие регистры" - это внутренняя память ЦПУ МК? И АЛУ непосредственно может работать только с рабочими регистрами? А рабочие регистры уже обмениваются информацией с ОЗУ (SRAM)?
- Физически, рабочие регистры - это часть общей ОЗУ? Или это отдельная ОЗУ в ЦПУ МК?
Re: Вопросы по архитектуре микроконтроллеров AVR
Добавлено: Вс сен 05, 2021 20:35:16
COKPOWEHEU
Рабочие регистры это рабочие регистры, 32 ячейки памяти ядра, ни с какой другой памятью они не связаны.
Но есть специальные команды вроде ld, st, lds, sts специально для пересылки ОЗУ-регистры и lpm/spm для флеш-регистр r0.
Регистры это НЕ часть ОЗУ, но доступ к ним через операции работы с памятью возможен. Физически они устроены по-другому.
Re: Вопросы по архитектуре микроконтроллеров AVR
Добавлено: Вс сен 05, 2021 20:37:53
Аlex
https://yandex.ru/search/?lr=166645&cli ... 1%80%D0%B0
Просто море информации. Хотите, чтобы её за Вас прочитали и тут пересказали ?

Re: Вопросы по архитектуре микроконтроллеров AVR
Добавлено: Вс сен 05, 2021 20:41:56
Kalisnik
Аlex, нет. Хочу обсуждать ее вместе. Так запоминается легче и чаще всего раскрываются какие-то сложные для понимания нюансы. Это запрещено?
Re: Вопросы по архитектуре микроконтроллеров AVR
Добавлено: Вс сен 05, 2021 20:46:00
Starichok51
я считаю, что это часть общего ОЗУ.
например, в МК АТмега8 рабочие регистры и прочие служебные регистры занимают адреса с 0х00 до 0х5F.
ОЗУ пользователя начинается с адреса 0х60.
и команды обращения к оперативной памяти (lds и sts) работают со всеми регистрами также, как с ячейками SRAM.
и в даташите все регистры и SRAM изображены на общей диаграмме со сплошной адресацией от нуля до "потолка" SRAM.
ВСЕ регистры еще имеют собственное название "Регистровый файл".
Re: Вопросы по архитектуре микроконтроллеров AVR
Добавлено: Вс сен 05, 2021 21:07:34
Аlex
[uquote="Kalisnik",url="/forum/viewtopic.php?p=4087024#p4087024"]Аlex, нет. Хочу обсуждать ее вместе.[/uquote] Что тут обсуждать ?
Ответ на заданный Вами вопрос ищется за 10 секунд в интернете. Полагаю, поиск на все остальные вопросы займёт времени не более, чем на этот.
Добавлено after 1 minute 52 seconds:
Starichok51, вопрос был про физическое расположение РОН и SRAM. Физически, это разные области. Адресация тут не при чём.
Re: Вопросы по архитектуре микроконтроллеров AVR
Добавлено: Вс сен 05, 2021 21:40:12
Starichok51
возможно, я не правильно понял вопрос.
Re: Вопросы по архитектуре микроконтроллеров AVR
Добавлено: Вс сен 05, 2021 21:56:57
Kalisnik
Аlex писал(а):Что тут обсуждать ?
Да мы уже обсуждаем.
Вопрос был не только про физическую память. Вопрос был еще про то, может ли АЛУ МК напрямую работать с другой памятью напрямую, кроме "Регистрового файла"? Т.е. правильно ли, что биты данных для любых арифметических и логических операций в ЦПУ берутся только из "Регистрового файла"?
Добавлено after 7 minutes 21 second:
Т.е. я хочу понять для чего были реализованы РОН. Почему, например, для этих целей не использовать ячейки памяти SRAM?
Добавлено after 1 minute 49 seconds:
Может они работают быстрее? Что-то типа буфера ЦПУ?
Re: Вопросы по архитектуре микроконтроллеров AVR
Добавлено: Вс сен 05, 2021 22:10:18
COKPOWEHEU
[uquote="Starichok51",url="/forum/viewtopic.php?p=4087029#p4087029"]я считаю, что это часть общего ОЗУ.[/uquote]
Это не так. Регистры
отображаются на память, но не являются ей. В контроллерах постарше на память отображается вообще все: и регистры периферии (РОН кстати уже не отображаются), и флешка, и внешняя память, и даже виртуальные устройства.
может ли АЛУ МК напрямую работать с другой памятью напрямую
Именно AVR нет, но есть другие ядра вроде PIC, которые умеют складывать РОН с оперативкой.
Добавлено after 1 minute 35 seconds:
[uquote="Kalisnik",url="/forum/viewtopic.php?p=4087098#p4087098"]Может они работают быстрее? Что-то типа буфера ЦПУ?[/uquote]
Вместо чтения литературы угадать пытаетесь? Это очень неэффективный способ.
Даже разработка своего ядра эффективнее.
Re: Вопросы по архитектуре микроконтроллеров AVR
Добавлено: Вс сен 05, 2021 22:13:43
Kalisnik
COKPOWEHEU писал(а):Вместо чтения литературы угадать пытаетесь?
Нет, делаю все параллельно. Если что-то непонятно, задаю вопрос здесь.
Re: Вопросы по архитектуре микроконтроллеров AVR
Добавлено: Пн сен 06, 2021 08:35:08
Starichok51
Kalisnik, подавляющее число команд (инструкций) в AVR состоит из одного слова (2 байта).
и в одном слове невозможно сделать такое множество комбинаций из нулей и единиц, чтобы АЛУ работало и с РОН и с ОЗУ "полномасштабно".
для работы с ОЗУ команды состоят уже из двух слов - нужно еще указать в команде адрес ячейки ОЗУ.
понятно, что команда из двух слов выполняется в 2 раза медленнее, чем команда из одного слова. то есть, работа с ОЗУ медленнее, чем с РОН.
а адрес ячейки ОЗУ занимает заметно больше 1 байта. и оставшихся бит в первом байте команды недостаточно, чтобы создать большой набор операций с ячейками ОЗУ.
поэтому для работы с ОЗУ существуют только команды различных вариантов пересылки между РОН и конкретной ячейкой.
Re: Вопросы по архитектуре микроконтроллеров AVR
Добавлено: Пн сен 06, 2021 10:05:29
parovoZZ
РОН-ы? Они всегда относились к периферии. А где расположены - зависит от МК. В последних МК AVR вообще всё находится в едином адресном пространстве, что делает работу с ними в разы приятнее.
Теперь запись в EEPROM выглядит так:
Код: Выделить всё
void EEPROM_write_word (uint8_t eeprom_adr, uint16_t* eeprom_data)
{
uint16_t* eeprom;
eeprom = (uint16_t*)(EEPROM_START + eeprom_adr);
*eeprom = *eeprom_data;
while (NVMCTRL.STATUS & NVMCTRL_EEBUSY_bm);
CCP = CCP_SPM_gc;
NVMCTRL.CTRLA = NVMCTRL_CMD_PAGEERASEWRITE_gc;
}
Аналогично можно "чиркануть" во flash.
Штудируйте даташит - там вся информация есть.
Re: Вопросы по архитектуре микроконтроллеров AVR
Добавлено: Пн сен 06, 2021 10:41:01
Kalisnik
Starichok51, спасибо. Теперь стало понятнее.
Re: Вопросы по архитектуре микроконтроллеров AVR
Добавлено: Пн сен 06, 2021 19:42:49
Dimon456
Для начало стоило бы разобраться что такое АЛУ, и что входит в состав АЛУ, а уж потом приплетать сюда ОЗУ flash и EEPROM.
parovoZZ писал(а):РОН-ы? Они всегда относились к периферии.
Ни когда они не относились к периферии.
parovoZZ писал(а):Штудируйте даташит - там вся информация есть.
Начните хотя бы с КР1830ВЕ31.
Re: Вопросы по архитектуре микроконтроллеров AVR
Добавлено: Пн сен 06, 2021 23:10:32
parovoZZ
Даже в даташите показано, что РОН-ы не входят в состав АЛУ. Хоть они и связаны напрямую, но таки они отдельно.
Re: Вопросы по архитектуре микроконтроллеров AVR
Добавлено: Вт сен 07, 2021 08:18:01
Starichok51
а никто тут и не говорил такую глупость, что РОН входят в состав АЛУ.
Re: Вопросы по архитектуре микроконтроллеров AVR
Добавлено: Вт сен 07, 2021 08:48:04
astrahard
А еще, AVR нехорош тем, что большинство инструкций не работают с регистрами 0-15, только с регистрами 16-31. Видимо потому, что Flash, для ускорения работы, сделана 16 разрядной и, поделена на страницы 16 байт. Вообщем архитектура очень примитивна, а периферия и контроллер прерываний изобилует грубыми ляпами.
Re: Вопросы по архитектуре микроконтроллеров AVR
Добавлено: Вт сен 07, 2021 09:15:40
slav0n
а Си так вообще пофиг где РОНы находятся
Re: Вопросы по архитектуре микроконтроллеров AVR
Добавлено: Вт сен 07, 2021 10:13:36
astrahard
Си то пофиг (а быстродействие уменьшается) но, вот прерывания от ШИМ теряются, если их больше одного запрограммировать. Например, установлены прерывания по переполнению и по совпадению. Прерывание по переполнению не вызывается вовсе, если установлено прерывание по совпадению. Все писалось на Си. Интересно, это ляп периферии или ляп контроллера прерываний? Вектора то разные.
Re: Вопросы по архитектуре микроконтроллеров AVR
Добавлено: Вт сен 07, 2021 11:30:17
slav0n
а что говорит даташит?