반응형

1. 소프트웨어적인 방법 = 폴링(Polling)


  • 인터럽트 발생 시 높은 우선순위의 인터럽트 자원부터 인터럽트 요청 플래그를 검사하여, 우선순위가 가장 높은 인터럽트 자원을 찾아내 루틴을 수행하는 방식
  • 많은 인터럽트가 있을 경우, 모두 조사하는 데에 시간이 걸려 처리 속도가 느림
  • 회로가 간단함
  • 융통성이 있음
  • 별도의 하드웨어가 필요없어 경제적


2. 하드웨어적인 방법 = Vectored Interrupt


  • CPU와 인터럽트를 요청할 수 있는 장치 사이에 장치번호에 해당하는 버스를 직렬이나 병력로 연결하여 요청 장치의 번호를 CPU에게 알리는 방식
  • 인터럽트 벡터란, 인터럽트를 발생한 장치가 프로세서에게 분기할 곳에 대한 정보를 제공하는 것
  • 장치 판별을 위한 별도의 프로그램 루틴이 없어 응답 속도가 빠름
  • 회로가 복잡함
  • 융통성이 없음
  • 추가적인 하드웨어가 필요하므로 비경제적
1) 직렬(Serial) 우선순위 부여 방식 = 데이지체인(Daisy-chain)
- 인터럽트가 발행하는 모든 장치를 한 개의 회선에 직렬로 연결
- 우선순위가 높은 장치를 선두에 위치시키고 나머지를 우선순위에 따라 차례로 연결
- 호스트에 가까운 쪽에 높은 우선권을 두는 경우가 많음 

2) 병렬(Parallel) 우선순위 부여 방식
- 인터럽트가 발생하는 각 장치를 개별적인 회선으로 연결
- Mask Register의 비트 위치에 따라 우선순위 결정
- Mask Register는 우선순위가 높은 것이 서비스를 받고 있을 때, 우선순위 낮은 것을 비활성화 할 수 있음
- 우선순위가 높은 인터럽트는 낮은 인터럽트가 처리되는 중에도 우선적으로 처리됨

3. 요약정리

 

H/W

S/W

속도

빠름

느림

회로

복잡

간단

융통성

없음

있음

경제적

비경제적

경제적





반응형

+ Recent posts