Подтвердить что ты не робот

Что означает "банк" для регистрации?

Чтение "Архитектуры ARM" в Википедии и найдено следующее утверждение:

Регистры R0-R7 одинаковы во всех режимах ЦП; они никогда накренился.

R13 и R14 объединены во всех привилегированных режимах ЦП, кроме системы Режим.

Что означает банковский регистр?

4b9b3361

Ответ 1

Регистрировать банкинг означает предоставление нескольких копий регистра по тому же адресу.

Взято из раздела 1.4.6 руки docs

Термин относится к решению проблемы, что сразу видно не все регистры.

Для каждого режима процессора существует другой банк регистров. Банковские регистры обеспечивают быстрое переключение контекста для обработки исключений процессора и привилегированных операций.

Если вы ищете более теоретические рассуждения, я рекомендую этот документ.
Изменить: гораздо более глубокий ответ, чем мой, представлен здесь

Ответ 2

Когда процессор входит в исключение, регистры с банковским кодом автоматически переключаются с помощью другого набора этих регистров.

Практически, процедура обработчика исключений не должна сохранять эти регистры в стеке, чтобы впоследствии их не сбрасывать (с помощью функций обработчика исключений). Процессор просто сохраняет безопасную копию этого набора; и восстановит исходный набор при возврате исключения.