하드웨어 인터럽트와 소프트웨어 인터럽트
글쓴이: 불량도ㅐㅈㅣ / 작성시간: 토, 2005/07/30 - 7:50오후
하드웨어 인터럽트를 발생했을때,
PIC(8259A) 칩에 핀에 할당된 것에 따라 인터럽트 신호를 CPU가 받으면, INTA(Low Active) 신호를 다시 보내잖아요.
그러면 소프트워에 인터럽트가 발생하면,
어떤 상황이 일어나는지 알고 싶습니다.
CPU안에 Call Gate 혹은 Trap Gate에서 어떤한 작동이 일어나는지 아니면
다른 하드워에 장치가 그 신호를 어떻게 인식하는지 알고 싶습니다.
마지막으로 소프트웨어 인터럽트는 System Call만 뜻하는 것인가요?
Forums:
하드웨어에서 인터럽트가 들어오면....다른 어떤 작업을 하고 있더라도
하드웨어에서 인터럽트가 들어오면....
다른 어떤 작업을 하고 있더라도... 인터럽트 벡터에서 해당 인터럽트에 대한 핸들러를 찾아서 수행합니다..
이벤트 핸들러를 마치고 나면 원래 자리로 돌아가죠...
잘은 모르지만... 소프트웨어 적으로 인터럽트를 구현했다면 busy-waiting 을 이용하지 않을까 싶군요
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
http://mytears.org ~(~_~)~
나 한줄기 바람처럼..
int 명령으로 발생하는 것이 소프트웨어 인터럽트입니다.외부에서 때리
int 명령으로 발생하는 것이 소프트웨어 인터럽트입니다.
외부에서 때리게 되면 그게 하드웨어 인터럽트고요.
소프트웨어 인터럽트는 어드레스를 INT 테이블에서
가져오는 거 빼고는 call 명령과 별반 차이 없습니다.
중복해서 부르는것도 가능하고요.
하드웨어 인터럽트는 8259a에 들어오면서 IRQ번호가
INT 번호로 변환된 뒤 CPU로 통보됩니다. 이걸 세팅하는
코드를 예전에 가지고 있었는데 지금은 잊어버렸네요. :cry:
Written By the Black Knight of Destruction
댓글 달기