ARM9기반의 소프트웨어 인터럽트의 중첩 호출 환경에서 매개 변수 이용 - 한길종 (The Graduate School, Ajou University, 2011)
본 논문에서는 ARM9기반에서 소프트웨어 인터럽트의 중첩 호출이 가능한 환경을 구현하고, 이 환경에서 매개 변수의 효율적인 전달 방법으로 일반적인 소프트웨어 인터럽트의 제한적인 사용방법을 개선하고자 한다. 소프트웨어 인터럽트는 강제로 소프트웨어적인 인터럽트를 발생하여 시스템 함수를 호출하거나 시스템 리소스를 사용하기 위해 이용되기 때문에 무분별한 접근들로부터 보호되어야 한다. 하지만, SWI 명령어의 제한된 사용방식으로 인해 효율적인 처리가 어렵거나 불가능하다. 본 논문에서는 이를 해결하기위해 ARM9기반에서 소프트웨어 인터럽트의 중첩 호출 환경을 구현하고, 이 환경에서 소프트웨어 인터럽트의 서비스 루틴에 매개 변수를 효율적으로 전달하는 스택 포인터 얻는 방식과 스택 포인터 전달 방식, 2가지 방식을 설계하고 구현하였다. 즉, 기존의 단일 호출방식에서 중첩 호출방식으로, 소프트웨어 인터럽트를 좀 더 유연하게 호출할 수 있도록 하였고, 두 가지 매개 변수 이용 방식에 대한 장·단점을 비교 및 분석하였다. 두 매개 변수 이용 방식의 가장 큰 차이점은 속도와 가독성이다. 비록 스택 포인터 얻는 방식이 호출하고 호출되는 두 함수의 프로토 타입을 동일하게 설계하여 전달하는 매개 변수와 전달 받은 함수의 인자를 일대일 정확하게 맵핑함으로써 가독성이 매우 뛰어나 설계 시, 매개 변수에 대한 접근 및 제어가 쉬운 장점을 보였지만, 스택 포인터 전달 방식은 전달된 스택 포인터 하나로 모든 매개 변수를 접근 및 제어함으로써 유연한 동작의 구현이 가능하고 속도적인 측면에서 유리함을 보였다.
학위논문(석사)--아주대학교 일반대학원 :전자공학과,2011. 2
Keywords: 소프트웨어 인터럽트; 중첩 호출; 매개변수 전달 방식