100HZ의 시간 동안 실행되는 x86머신 코드의 개수는 어느 정도 일까요?
글쓴이: criny333 / 작성시간: 토, 2014/07/12 - 2:22오전
버츄얼박스 내장 디버거를 이용해서 커널을 디버깅해보고 있는중인데,
머신코드 한줄씩 계속 실행 시키고 있는데 타이머 인터럽트 핸들러로 넘어가질 안네요...
pit 타이머를 100HZ로 설정해노은 상태입니다.
제 생각에는 100HZ라면 1초에 100번 cpu clock이 튄다는 뜻이고, 100번 정도 머신코드를 실행시키면 인터럽트가 걸려야 할것 같은데...
머신 코드를 200개 정도 실행시켜도 pit인터럽트가 발생을 안하네요...
커널 디버깅은 처음이고, 거의 사용하는 사람이 없는 버츄얼박스 내장 디버거를 이용하다보니 정보도 마니 부족하고 어려운게 많네요...
일반적으로 커널 디버거에서 인터럽트는 따로 명령어를 줘서 발생시켜야 하는 것인가요?
Forums:
계속 테스트 해보는 결과 인터럽트가 발생하기는
계속 테스트 해보는 결과 인터럽트가 발생하기는 하네요... 근데 타이머 인터럽트코드는 한 step씩 실행시키지 않고 iret 시까지 continue 해 버리네요............ 보통 다른 디버거들도 이런가요??
...
인텔 기준으로 요즘 대부분의 CPU가 3.0GHz 이상의 클럭을 지원합니다.
3.0GHz라는 얘기는 1초에 클럭이 30억번 발생한다는 얘기죠.
요즘 CPU는 하도 복잡해서 명령 하나가 작게는 1클럭 미만에서 크게는 수백 혹은 수천 클럭이 넘어갈 수도 있습니다만, 평균적으로 명령 하나가 1클럭이라고 간주하면 대략 자릿수는 맞을 것입니다.
그러면 100분의 1초를 보내려면 명령이 몇 개가 필요한지는 쉽게 계산이 되겠죠?
^^;;;;; 제가 완전히
^^;;;;; 제가 완전히 잘못생각했네요...
초등학생처럼 산수를 해버리다니...하하하.... 오밤중이라 생각이 굳었었나 봐요...
3천만개..........정도 수행되겠군요...
댓글 달기