728x90
반응형
입 · 출력장치의 구성
입 · 출력 제어장치
- 자료 전송 제어
- 데이터 버퍼 레지스터로 장치간 속도 차 조절
- 제어 신호의 변환과 오류 제어
- 종류 : DMA, 채널, 입 · 출력 프로세서, 입 · 출력 컴퓨터 등
입 · 출력 인터페이스
- 컴퓨터와 주변장치의 차이 해결
- 주변장치 및 CPU 메모리 간 동작 방식 차이
- 주변장치와 CPU간 전송 속도 차이
- 주변장치의 데이터 코드와 CPU 및 메모리 워드 형식 차이
- 주변장치들의 간섭 제어
- 전압레벨 차이
입 · 출력 버스
- 데이터 전송을 위해 모든 주변장치에 공동으로 연결
- 데이터 버스, 주소 버스, 제어 버스로 구성
기억장치와 입 · 출력장치의 동작
기억장치 : 처리 속도 nano(10^-9) 전자장치
입 · 출력장치 : 처리속도 mili(10^-3) 기계장치
비교 항목 | 입 · 출력장치 | 기억장치 |
동작의 속도 | 느리다 | 빠르다 |
동작의 자율성 | 타율/자율 | 타율 |
정보의 단위 | Byte(문자) | Word |
착오 발생률 | 많다 | 적다 |
스풀링(SPOOLING)
- Simultaneous Peripheral Operation On-Line 약자
- 프로그램이 입 · 출력할 데이터를 디스크에 모았다가 한꺼번에 입 · 출력함으로써 처리 속도 보완
- CPU와 입 · 출력장시 독립 동작으로 병행 작업을 통행 시스템 성능 향상
- 디스크 일부를 버퍼처럼 사용
스풀링과 버퍼링의 비교
버퍼링과의 차이
구분 | 버퍼링 | 스풀링 |
저장 위치 | 주기억장치 | 보조기억장치 |
운영 방식 | 단일 작업 | 다중 작업 |
구현 방식 | 하드웨어 | 소프트웨어 |
입 · 출력방식 | 큐 | 큐 |
입 · 출력 제어 방식
Programmed I/O |
- 상태 Flag를 조사하여 I/O완료시 MDR(MBR)과 AC 사이 전송을 CPU가 직접 처리 - CPU가 대부분을 담당, interface는 MDR, Flag, 장치번호 디코더로 구성 - CPU가 I/O 이외의 다른 작업을 할 수 없음 |
Interrupt I/O |
- 데이터 전송 준비 완료시 인터페이스가 컴퓨터에 알려 I/O 진행 - 인터페이스가 CPU에게 언터럽스 신호로 I/O 전송 - CPU의 비중이 줄어 Programmed I/O보다 효율적 |
DMA (Direct Memory Access)에 의한 I/O |
- 직접 주기억장치에 접근하여 Data Block을 입 · 출력 - CPU는 정보를 DMA에 알려 I/O 동작을 개시 후 더이상 관여하지 않음 - CPU부담 없음 - DMA 우선순위는 중앙처리장치보다 높음 - 인터럽트 신호로 CPU에게 I/O 종료 알림 - Cycle Steal 방식 이용 - CPU에서 DMA로의 자료 -- I/O 장치 주소 -- 데이터의 주기억장치 주소 -- DMA 시작 명령 -- I/O 자료 양 -- 입출력 결정 명령 - DMA 구성 요소 -- 인터페이스 회로 -- 주소 레지스터 및 주소 라인 -- 워드 카운트 레지스터 -- 제어 레지스터 -- 데이터 레지스터 - DMA의 전송 절차 1. CPU가 DMA제어기에 명령 2. DMA제어기가 CPU에게 버스 사용 요구 3. CPU가 버스 사용 허가 4. DMA 제어기가 주기억장치에서 데이터를 디스크로 전송 5. 2~4번 반복 중 데이터 전송 완료시 인터럽트 신호 |
Channel에 의한 I/O |
- I/O를 CPU 관여없이 제어 - DMA 방법으로 입출력 수행 - DMA 제어기 한계 극복 - 채널 제어기가 입출력 동작 처리 - CPU와는 독립적으로 동작 - 주기억 장치에 직접 접근 - I/O 장치가 제어장치로 채널과 연결 - I/O 채널은 CPU의 명령이 아닌 채널 내 명령 수행 - CPU와 인터럽트로 통신 - 채널의 종류 -- Selector Channel : 고속 입출력장치제어 -- Multiplexer Channel : 저속 입출력 장치 동시제어 -- Block Multiplexer Channel : 동시 여러 고속 입출력장치 제어 |
Cycle Steal
- 데이터 채널(DMA 제어기)과 CPU의 주기억장치 접근에 있어 우선순위 제어
- Interrupt와의 차이
Interrupt | Cycle Steal |
주기억장치 사이클 지속 | 주기억장치 사이클 한 주기 정지 |
CPU 상태 보존 필요 | CPU 상태 보존 불필요 |
728x90
반응형