Режим супервизора предлагает вторую копию указателя стека.И пользовательский стек, и стек супервизора находятся в отдельных областях памяти.Указатель стека для текущей задачи будет указывать либо на режим супервизора, либо на режим пользователя.
USP - A7: указатель стека пользователя
SSP - A7: указатель стека супервизора
Каждый режим имеет указатель стека, поскольку каждый режим является автономным потоком кода - одиндля текущей задачи верхнего уровня, другой для ОС.Если они оба использовали один и тот же стек, существует вероятность, что операционная система может прервать стек, выделенный для пользовательского приложения.Другими словами.ОС может не знать, каковы пределы стека для поддержки какой-либо заданной функциональности операционной системы.
Гораздо безопаснее иметь два отдельных стека.Если в системе имеется только один stakc, операционная система должна самостоятельно настроить регистр указателя стека, чтобы обеспечить правильное использование различных областей памяти, т.е.память для ОС и память для задачи.