Сопроцессор управления системой (CP15) управляет работой всех системных механизмов, таких, как кэш-память или виртуальная память. Некоторые механизмы имеют также другие средства управления; например виртуальная память управляется также с помощью таблиц переадресации.
CP15 является неотъемлемой частью любого процессора, начиная с версии ARMv6. В более ранних процессора он необязателен. Точное описание возможностей, предоставляемых CP15 конкретной модели процессора, содержится в справочном руководстве на эту модель; здесь описывается общая структура и функции сопроцессора управления системой, определяемые спецификацией на архитектуру ARM.
CP15 содержит шестнадцать 32-разрядных регистров, описанных в отдельных подразделах. На самом деле, однако, каждый регистр может быть группой регистров, поэтому для обращения к конкретному регистру применяется двухкомпонентный адрес: номер группы и номер регистра в группе. В том случае, если в группе содержится всего один регистр, его внутригрупповой номер всегда будет равен нулю.
Основным, но не единственным средством доступа к ним являются инструкции MCR и MRC. В версиях до ARMv6 они являются привилегированными и не могут быть выполнены в режиме пользователя. В версиях, начиная с ARMv6, они могут использоваться и в пользовательском режиме, но для ограниченного круга задач, связанных с барьерами памяти.
Назначение регистров и их групп частично зависит от оснащённости процессора различными дополнительными средствами, например, устройством управления памятью или устройством защиты памяти.
- Регистр управления системой SCTLR
- Регистр базового адреса векторов VBAR
- Регистр базового адреса векторов монитора MVBAR
- Регистр конфигурации безопасности SCR