CPU이상은 CPU유니트에서 사용하고 있는 마이크로 컴퓨터가 정상적으로 동작하지 않는 경우에 발생하는 비정상 현상입니다.
CPU 유니트가 정상적으로 동작하고 있는지 여부는 watch dog timer라고 하는 타이머에 의해 체크되고 있습니다.
watch dog timer는 CPU가 정상적으로 동작하고 있을지를 체크하기 위한 방법의 하나입니다.
watch dog timer라고 하는 정상적인 처리 루틴에서는 타이머가 어느 일정한 시간 내에 명령에 의해 리셋되는 타이머를 기동시켜, 만약 일정 시간이 경과해도 타이머가 리셋되지 않은 경우는, (프로그램이 비정상인 처리 루틴에 들어갔다고 판단) 인터럽트를 발생시켜 이상을 검지하고 있습니다.
이것은 하드웨어의 이상을 검출하는 경우, 일반적으로 이용되고 있습니다.
예를 들면, 어느 명령을 실행해 100ms후에 다시 같은 명령을 실행하도록 프로그래밍해 두고, 실제 130 ms후에도 실행되지 않으면 하드웨어에 이상이 발생했다고 판단하여 정지시킵니다.
그 시간을 감시 하는 타이머를 watch dog timer 라고 하여, 지정된 시간이 되면 프로그램에 인터럽트 기능을 사용해 알려줍니다.
참고로, watch dog이란 집을 지키는 개란 뜻입니다.
|