2008년 7월 21일 월요일

ARM 프로세서 모드

프로세서 모드는 어떤 레지스터가 활성화 되고, cpsr 레지스터를 액세스 할 수 있는 권리를 갖게 될 지를 결정한다. 각 프로세서 모드는 특권 모드일 수도 있고 일반 모드일 수도 있다. 특권모드란 CPSR를 완전히 읽고 쓸 수 있는 모드를 말한다. 반면, 일반 모드에서는 cpsr의 제어 필드는 읽기만 가능하고, 상태 플래그는 읽고 쓰기가 모드 가능하다.
프로세서 모드에는 6개의 특권모드(abort, FIQ, IRQ, supervisor, system, undefined)와 하나의 일반모드(user),즉 전체적으로 7개의 모드가 있다.
프로세서는 메모리 액세스가 실패했을 경우, abort모드로 진입한다. FIQ와 IRQ모도는 ARM 프로세서에서 사용할 수 있는 2가지의 인터럽트 레벨을 위한 모드이다.
supervisor 모드는 프로세서에 리셋이 걸렸을 때에 진입하는 모드로, 일반적으로 운영체제 커널이 동작하는 모드이다. system 모드는 user 모드의 특수한 버전으로 cpsr을 완전히 읽고 쓸 수 있다. undefined 모드는 프로세서가 정의되지 않은 명령어나 지원되지 않은 명령어를 만났을 때에 진입하는 모드이고, user 모드는 프로그램과 어플리케이션을 위해 사용되는 모드이다.

댓글 없음: