밥벌이/운영체제
입.출력 동작의 처리 기법
middleware
2011. 5. 5. 21:27
반응형
-
프로그램 I/O(Programmed I/O)
- CPU가 프로그램 수행 도중 입.출력과 관련된 명령어를 입.출력 모듈에게 보냄으로써 그 명령어를 수행
-
출력 명령어제어, 검사, 읽기, 쓰기 등
-
입.출력 주소 지정프로세서, 기억 장치, 입.출력 모듈 사이에는 메모리-사상 I/O(Memory-mapped I/O) 방식과 분리형 I/O(Isolated I/O 또는 I/O mapped) 방식의 2가지 주소 지정 방식이 있음
메모리-사상 I/O |
|
분리형 I/O |
|
▶ 주소 지정 방식 별 비교
-
인터럽트-구동 I/O(Interrupt-driven I/O)
- 프로그램 I/O 방식에서는 입.출력 모듈이 데이터를 수신 또는 송신할 준비가 될 때가지 프로세서가 기다려야 하는 단점이 있으나, 인터럽트-구동 I/O 방식에서는 프로세서로부터 입.출력 명령어를 받은 입.출력 모듈이 동작을 수행하는 동안 프로세서가 다른 프로그램을 처리할 수 있음
-
인터럽트-구동 I/O방식에서는 입.출력 모듈이 입.출력 명령어 수행을 완료하였을 때 프로세서에게 인터럽트 신호를 보내 알리게 되며, 프로세서는 다시 원래의 프로그램 수행을 계속하게 됨
-
DMA(Direct Memory Access)
- 데이터 전송에 CPU가 개입하는 문제를 해결
- Hardwired Controller가 CPU 대신 입.출력을 담당
- 주기억 장치와 입.출력 장치 간의 직접 데이터를 전송하는 기법
-
시스템 버스 상에 모듈이 하나 추가되고, 사이클 스틸링(Cycle stealing)을 수행
-
사이클 스틸링[Cycle stealing]
- 입.출력 채널과 CPU가 동시에 주기억 장치를 접근 할 때 입.출력 채널에게 우선 순위를 높게 해 주는 것
- 일반적으로 입.출력 채널은 적은 양의 사이클을 필요로 하기 때문에 채널의 우선순위를 높여주면 입.출력 장비의 효율이 높아지게 됨
-
반응형