테일 체이닝
·
ARM arch/Cortex-M
Tail-ChainingARM Cortex-M 프로세서에서 익셉션 간의 전환 시간을 줄이는 최적화 기능동작 원리 2개의 익셉션 (IRQ1, IRQ2)이 있고, 이 익셉션이 발생하면 실행되는 핸들러1, 핸들러2가 있다고 가정하자.또한 익셉션 우선순위는 IRQ1 > IRQ2 즉, IRQ1 익셉션이 우선 순위가 더 높다. 유저 스레드에서 실행중일때 IRQ1이 발생하면, 유저 스레드에서의 상태 (레지스터 내용)들을 전부 스택에 저장한다.이를, 스태킹(stacking)이라고 한다. 이후에 핸들러1이 실행될 것이다. 핸들러1이 실행되는 도중에, IRQ2가 발생한다.하지만, 우선순위는 IRQ1이 우선순위가 더 높기 때문에 처리가 보류(pending)된다.핸들러1이 끝나야 핸들러2가 실행될 수 있다. 핸들러1의 실행이..