반응형
1. 소프트웨어적인 방법 = 폴링(Polling)
- 인터럽트 발생 시 높은 우선순위의 인터럽트 자원부터 인터럽트 요청 플래그를 검사하여, 우선순위가 가장 높은 인터럽트 자원을 찾아내 루틴을 수행하는 방식
- 많은 인터럽트가 있을 경우, 모두 조사하는 데에 시간이 걸려 처리 속도가 느림
- 회로가 간단함
- 융통성이 있음
- 별도의 하드웨어가 필요없어 경제적
2. 하드웨어적인 방법 = Vectored Interrupt
- CPU와 인터럽트를 요청할 수 있는 장치 사이에 장치번호에 해당하는 버스를 직렬이나 병력로 연결하여 요청 장치의 번호를 CPU에게 알리는 방식
- 인터럽트 벡터란, 인터럽트를 발생한 장치가 프로세서에게 분기할 곳에 대한 정보를 제공하는 것
- 장치 판별을 위한 별도의 프로그램 루틴이 없어 응답 속도가 빠름
- 회로가 복잡함
- 융통성이 없음
- 추가적인 하드웨어가 필요하므로 비경제적
1) 직렬(Serial) 우선순위 부여 방식 = 데이지체인(Daisy-chain)
- 인터럽트가 발행하는 모든 장치를 한 개의 회선에 직렬로 연결
- 우선순위가 높은 장치를 선두에 위치시키고 나머지를 우선순위에 따라 차례로 연결
- 호스트에 가까운 쪽에 높은 우선권을 두는 경우가 많음
2) 병렬(Parallel) 우선순위 부여 방식
- 인터럽트가 발생하는 각 장치를 개별적인 회선으로 연결
- Mask Register의 비트 위치에 따라 우선순위 결정
- Mask Register는 우선순위가 높은 것이 서비스를 받고 있을 때, 우선순위 낮은 것을 비활성화 할 수 있음
- 우선순위가 높은 인터럽트는 낮은 인터럽트가 처리되는 중에도 우선적으로 처리됨
3. 요약정리
|
H/W |
S/W |
속도 |
빠름 |
느림 |
회로 |
복잡 |
간단 |
융통성 |
없음 |
있음 |
경제적 |
비경제적 |
경제적 |
반응형
'Study > Computer' 카테고리의 다른 글
[바이트오더] 빅엔디언, 리틀엔디언 (1) | 2019.04.13 |
---|---|
[입출력] I/O 제어 방식 (0) | 2019.02.10 |
[Interrupt] 인터럽트 정의 및 종류 (0) | 2019.01.19 |
폰노이만 아키텍처 VS 하버드 아키텍처 (0) | 2019.01.17 |
[프로세서] CISC & RISC 특징 (0) | 2019.01.16 |