Abstract
Generally in case of tablet PC's, the Windows 8 is used to support various functions or development convenience, however it cannot support real-time processing. In addition, existing commercial solutions and RTiK has a problem to support real-time processing due to impossibility of getting APIC timer count value which is used to generate timer interrupt separated from that of Windows. Thus, in this paper, we set the initial APIC count value using MSR_FSB_FREQ to support real-time processing on the Windows 8-based tablet PC's. Additionally, we deal with designing and implementing RTiK+ providing real-time processing to guarantee interrupt periods by controlling C-State which is used for low power techniques. To evaluate the performance of the proposed RTiK+, we measured the periods of generated real-time threads using RDTSC instructions which return the number of CPU clock ticks, and verified that RTiK+ operates correctly within the error ranges of 1ms.
태블릿 PC의 경우 개발의 편의성 및 다양한 기능을 제공하기 위해 모바일 운영체제인 윈도우 8을 사용하는데 윈도우 계열의 경우 실시간 처리를 보장하지 못하는 문제점이 있다. 또한 기존의 상용 솔루션과 RTiK 계열의 경우 윈도우와는 독립적인 타이머 인터럽트를 생성하기 위해 사용했던 로컬 APIC 타이머 카운트 값을 얻어 올 수 없기 때문에 실시간 처리 기능을 제공하기 어려운 문제점이 있다. 따라서 본 논문에서는 태블릿 PC의 윈도우 8환경에 실시간 처리 기능을 제공하기 위해 MSR_FSB_FREQ 레지스터를 이용하여 로컬 APIC 초기 카운트 값을 설정하였다. 또한 윈도우의 저전력 기법인 C-State를 제어함으로써 생성한 타이머 인터럽트의 주기성을 보장하여 실시간 처리 기능을 제공하는 RTiK+를 설계 및 구현하였다. 구현한 RTiK+의 성능 검증 및 평가를 위해 CPU 클럭 틱의 수를 반환하는 RDTSC 명령어를 사용하여 생성된 실시간 쓰레드의 주기를 측정하였고, 1ms 주기에서 오차범위 내에서 정상 동작함을 확인하였다.