Регистры общего назначения обычно отображаются в память? - PullRequest
0 голосов
/ 13 сентября 2018

Я очень запутался с картами памяти и картами ввода-вывода.Регистры общего назначения, например, в ARM Architecture r0, r1 и т. Д., Как правило, отображаются в память?Пожалуйста, помогите.

1 Ответ

0 голосов
/ 13 сентября 2018

Нет, эти регистры находятся внутри фактического ЦП (или ядра ЦП для многоядерных ЦП). Вы не можете получить к ним доступ через память.

Регистр с отображением в памяти - это то, к чему вы обращаетесь через адрес или указатель (в языках с указателями). Устройства ввода / вывода часто имеют отображаемые в памяти регистры, в которые вы пишете или читаете с определенного адреса, чтобы установить или получить информацию или данные. Другими словами, к ним обращаются так же, как и к любой другой памяти (например, ОЗУ).


Как уже упоминалось в комментариях, существует do ЦП с отображенными в памяти регистрами ЦП. Почти все они были разработаны в 1970-х годах и, за исключением микроконтроллеров PIC (и, возможно, современных реализаций архитектуры 8051 ), стали частью истории. Вероятность того, что вы встретите основной процессор (за исключением PIC) с отображаемыми в память регистрами, сегодня невелика.

В частности, архитектура ARM не имеет регистры с отображением в памяти. Во всяком случае, не для основных регистров. Периферийные устройства, включая те, которые находятся на том же SoC, что и процессоры, - это другое дело.

...