Будет ли зарегистрирован банк с регистрацией ARM? - PullRequest
0 голосов
/ 16 октября 2018

Чтение Универсальный контроллер прерываний ARM В разделе 4.1.4 приведено пояснение ниже:

Банковское обслуживание регистра означает предоставление нескольких копий регистра по одному и тому же адресу.Свойства доступа к реестру определяют, к какой именно копии реестра обращаются.

Я немного запутался насчет at the same address.Например, если R12 и R12_fiq - это один и тот же регистр, как процессор будет гарантировать, что исходные данные в R12 не будут переопределены в режиме fiq.И нужно ли это гарантировать?

Я давно ищу в сети.Но бесполезно. Все связанные вопросы мне не помогают.

Я думаю, что ответ Бенуа в Что означает «банк» в реестре? это своего рода помощь, но яЯ не уверен.

Заранее спасибо.

------------ обновлено -----

Из-за ответа Домена,R8_usr и R8_fiq - это два разных регистра.Извините, что я не знаю, как голосовать за него.И я также заметил, что в ответе ensc упоминается слово «посвященный», возможно, он знает, что они разные.Но из-за моего плохого описания, он не подчеркивает это.

1 Ответ

0 голосов
/ 16 октября 2018

"GIC" и R12 не имеют много общего.GIC - это контроллер (используемый некоторыми, но не всеми процессорами ARM), доступ к которым осуществляется по адресам памяти.В зависимости от режима безопасности и / или узла ЦП один и тот же адрес может предоставлять представление для другого внутреннего регистра.

R12 - это регистр ЦП.Из соображений эффективности (например, чтобы избежать восстановления предыдущего значения при выходе из FIQ), режим FIQ имеет выделенный банк верхних регистров (r8 - r15).

Указатель стека (r13lr (r14) также может быть объединен, так что, например, режим IRQ может иметь свой собственный стек или сигнализировать определенные состояния в lr (например, выравнивание стека).

...