- Физически, рабочие регистры - это часть общей ОЗУ? Или это отдельная ОЗУ в ЦПУ МК?
Вопросы по архитектуре микроконтроллеров AVR
- Сообщения: 430
- Зарегистрирован: Вс апр 18, 2021 15:43:55
- Я правильно понимаю, что "Рабочие регистры" - это внутренняя память ЦПУ МК? И АЛУ непосредственно может работать только с рабочими регистрами? А рабочие регистры уже обмениваются информацией с ОЗУ (SRAM)?
- Физически, рабочие регистры - это часть общей ОЗУ? Или это отдельная ОЗУ в ЦПУ МК?
- Физически, рабочие регистры - это часть общей ОЗУ? Или это отдельная ОЗУ в ЦПУ МК?
- Реклама
- Сообщения: 1525
- Зарегистрирован: Чт июн 10, 2010 20:11:19
Рабочие регистры это рабочие регистры, 32 ячейки памяти ядра, ни с какой другой памятью они не связаны.
Но есть специальные команды вроде ld, st, lds, sts специально для пересылки ОЗУ-регистры и lpm/spm для флеш-регистр r0.
Регистры это НЕ часть ОЗУ, но доступ к ним через операции работы с памятью возможен. Физически они устроены по-другому.
Но есть специальные команды вроде ld, st, lds, sts специально для пересылки ОЗУ-регистры и lpm/spm для флеш-регистр r0.
Регистры это НЕ часть ОЗУ, но доступ к ним через операции работы с памятью возможен. Физически они устроены по-другому.
https://yandex.ru/search/?lr=166645&cli ... 1%80%D0%B0
Просто море информации. Хотите, чтобы её за Вас прочитали и тут пересказали ?
Просто море информации. Хотите, чтобы её за Вас прочитали и тут пересказали ?
- Сообщения: 430
- Зарегистрирован: Вс апр 18, 2021 15:43:55
Аlex, нет. Хочу обсуждать ее вместе. Так запоминается легче и чаще всего раскрываются какие-то сложные для понимания нюансы. Это запрещено?
я считаю, что это часть общего ОЗУ.
например, в МК АТмега8 рабочие регистры и прочие служебные регистры занимают адреса с 0х00 до 0х5F.
ОЗУ пользователя начинается с адреса 0х60.
и команды обращения к оперативной памяти (lds и sts) работают со всеми регистрами также, как с ячейками SRAM.
и в даташите все регистры и SRAM изображены на общей диаграмме со сплошной адресацией от нуля до "потолка" SRAM.
ВСЕ регистры еще имеют собственное название "Регистровый файл".
например, в МК АТмега8 рабочие регистры и прочие служебные регистры занимают адреса с 0х00 до 0х5F.
ОЗУ пользователя начинается с адреса 0х60.
и команды обращения к оперативной памяти (lds и sts) работают со всеми регистрами также, как с ячейками SRAM.
и в даташите все регистры и SRAM изображены на общей диаграмме со сплошной адресацией от нуля до "потолка" SRAM.
ВСЕ регистры еще имеют собственное название "Регистровый файл".
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
- Реклама
[uquote="Kalisnik",url="/forum/viewtopic.php?p=4087024#p4087024"]Аlex, нет. Хочу обсуждать ее вместе.[/uquote] Что тут обсуждать ?
Ответ на заданный Вами вопрос ищется за 10 секунд в интернете. Полагаю, поиск на все остальные вопросы займёт времени не более, чем на этот.
Добавлено after 1 minute 52 seconds:
Starichok51, вопрос был про физическое расположение РОН и SRAM. Физически, это разные области. Адресация тут не при чём.
Ответ на заданный Вами вопрос ищется за 10 секунд в интернете. Полагаю, поиск на все остальные вопросы займёт времени не более, чем на этот.
Добавлено after 1 minute 52 seconds:
Starichok51, вопрос был про физическое расположение РОН и SRAM. Физически, это разные области. Адресация тут не при чём.
возможно, я не правильно понял вопрос.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
- Сообщения: 430
- Зарегистрирован: Вс апр 18, 2021 15:43:55
Да мы уже обсуждаем.Аlex писал(а):Что тут обсуждать ?
Вопрос был не только про физическую память. Вопрос был еще про то, может ли АЛУ МК напрямую работать с другой памятью напрямую, кроме "Регистрового файла"? Т.е. правильно ли, что биты данных для любых арифметических и логических операций в ЦПУ берутся только из "Регистрового файла"?
Добавлено after 7 minutes 21 second:
Т.е. я хочу понять для чего были реализованы РОН. Почему, например, для этих целей не использовать ячейки памяти SRAM?
Добавлено after 1 minute 49 seconds:
Может они работают быстрее? Что-то типа буфера ЦПУ?
- Сообщения: 1525
- Зарегистрирован: Чт июн 10, 2010 20:11:19
[uquote="Starichok51",url="/forum/viewtopic.php?p=4087029#p4087029"]я считаю, что это часть общего ОЗУ.[/uquote]
Это не так. Регистры отображаются на память, но не являются ей. В контроллерах постарше на память отображается вообще все: и регистры периферии (РОН кстати уже не отображаются), и флешка, и внешняя память, и даже виртуальные устройства.
Добавлено after 1 minute 35 seconds:
[uquote="Kalisnik",url="/forum/viewtopic.php?p=4087098#p4087098"]Может они работают быстрее? Что-то типа буфера ЦПУ?[/uquote]
Вместо чтения литературы угадать пытаетесь? Это очень неэффективный способ.
Даже разработка своего ядра эффективнее.
Это не так. Регистры отображаются на память, но не являются ей. В контроллерах постарше на память отображается вообще все: и регистры периферии (РОН кстати уже не отображаются), и флешка, и внешняя память, и даже виртуальные устройства.
Именно AVR нет, но есть другие ядра вроде PIC, которые умеют складывать РОН с оперативкой.может ли АЛУ МК напрямую работать с другой памятью напрямую
Добавлено after 1 minute 35 seconds:
[uquote="Kalisnik",url="/forum/viewtopic.php?p=4087098#p4087098"]Может они работают быстрее? Что-то типа буфера ЦПУ?[/uquote]
Вместо чтения литературы угадать пытаетесь? Это очень неэффективный способ.
Даже разработка своего ядра эффективнее.
- Сообщения: 430
- Зарегистрирован: Вс апр 18, 2021 15:43:55
Нет, делаю все параллельно. Если что-то непонятно, задаю вопрос здесь.COKPOWEHEU писал(а):Вместо чтения литературы угадать пытаетесь?
Kalisnik, подавляющее число команд (инструкций) в AVR состоит из одного слова (2 байта).
и в одном слове невозможно сделать такое множество комбинаций из нулей и единиц, чтобы АЛУ работало и с РОН и с ОЗУ "полномасштабно".
для работы с ОЗУ команды состоят уже из двух слов - нужно еще указать в команде адрес ячейки ОЗУ.
понятно, что команда из двух слов выполняется в 2 раза медленнее, чем команда из одного слова. то есть, работа с ОЗУ медленнее, чем с РОН.
а адрес ячейки ОЗУ занимает заметно больше 1 байта. и оставшихся бит в первом байте команды недостаточно, чтобы создать большой набор операций с ячейками ОЗУ.
поэтому для работы с ОЗУ существуют только команды различных вариантов пересылки между РОН и конкретной ячейкой.
и в одном слове невозможно сделать такое множество комбинаций из нулей и единиц, чтобы АЛУ работало и с РОН и с ОЗУ "полномасштабно".
для работы с ОЗУ команды состоят уже из двух слов - нужно еще указать в команде адрес ячейки ОЗУ.
понятно, что команда из двух слов выполняется в 2 раза медленнее, чем команда из одного слова. то есть, работа с ОЗУ медленнее, чем с РОН.
а адрес ячейки ОЗУ занимает заметно больше 1 байта. и оставшихся бит в первом байте команды недостаточно, чтобы создать большой набор операций с ячейками ОЗУ.
поэтому для работы с ОЗУ существуют только команды различных вариантов пересылки между РОН и конкретной ячейкой.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
- Сообщения: 1759
- Зарегистрирован: Пт июн 01, 2018 07:28:45
РОН-ы? Они всегда относились к периферии. А где расположены - зависит от МК. В последних МК AVR вообще всё находится в едином адресном пространстве, что делает работу с ними в разы приятнее.
Теперь запись в EEPROM выглядит так:
Аналогично можно "чиркануть" во flash.
Штудируйте даташит - там вся информация есть.
Теперь запись в 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;
}Штудируйте даташит - там вся информация есть.
- Сообщения: 430
- Зарегистрирован: Вс апр 18, 2021 15:43:55
- Сообщения: 1849
- Зарегистрирован: Вс дек 25, 2016 08:34:54
Для начало стоило бы разобраться что такое АЛУ, и что входит в состав АЛУ, а уж потом приплетать сюда ОЗУ flash и EEPROM.
Ни когда они не относились к периферии.parovoZZ писал(а):РОН-ы? Они всегда относились к периферии.
Начните хотя бы с КР1830ВЕ31.parovoZZ писал(а):Штудируйте даташит - там вся информация есть.
- Сообщения: 1759
- Зарегистрирован: Пт июн 01, 2018 07:28:45
Даже в даташите показано, что РОН-ы не входят в состав АЛУ. Хоть они и связаны напрямую, но таки они отдельно.
а никто тут и не говорил такую глупость, что РОН входят в состав АЛУ.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
- Сообщения: 1405
- Зарегистрирован: Чт фев 19, 2015 12:41:04
А еще, AVR нехорош тем, что большинство инструкций не работают с регистрами 0-15, только с регистрами 16-31. Видимо потому, что Flash, для ускорения работы, сделана 16 разрядной и, поделена на страницы 16 байт. Вообщем архитектура очень примитивна, а периферия и контроллер прерываний изобилует грубыми ляпами.
"Every profession is a conspiracy against the uninitiated" (B. Shaw)
"A textbook can be defined as a book unsuitable for reading" (B. Shaw)
Tautology is humor in "this" place (Vigo Carpathian)
"A textbook can be defined as a book unsuitable for reading" (B. Shaw)
Tautology is humor in "this" place (Vigo Carpathian)
а Си так вообще пофиг где РОНы находятся
ohmycode!
primuss3.com
primuss3.com
- Сообщения: 1405
- Зарегистрирован: Чт фев 19, 2015 12:41:04
Си то пофиг (а быстродействие уменьшается) но, вот прерывания от ШИМ теряются, если их больше одного запрограммировать. Например, установлены прерывания по переполнению и по совпадению. Прерывание по переполнению не вызывается вовсе, если установлено прерывание по совпадению. Все писалось на Си. Интересно, это ляп периферии или ляп контроллера прерываний? Вектора то разные.
"Every profession is a conspiracy against the uninitiated" (B. Shaw)
"A textbook can be defined as a book unsuitable for reading" (B. Shaw)
Tautology is humor in "this" place (Vigo Carpathian)
"A textbook can be defined as a book unsuitable for reading" (B. Shaw)
Tautology is humor in "this" place (Vigo Carpathian)
а что говорит даташит?
ohmycode!
primuss3.com
primuss3.com


