개발자꿈나무
입출력장치 본문
입출력장치
- 입출력장치
- 컴퓨터의 CPU가 외부에서 정보를 받아들이는 과정을 입력, 외부 정보를 받아들이는 장치를 입력장치라고 함
- 컴퓨터의 CPU가 외부로 정보를 내보내는 과정을 출력, 정보를 내보내는 장치를 출력장치라고 함 - 입출력 장치의 동작
- 중앙처리장치 또는 주기억장치와 외부의 입출력 매체 사이에 정보를 전송
- 중앙처리장치 또는 주기억장치에 비해 동작 속도가 매우 느림
- 중앙처리장치 또는 주기억장치와 정보를 처리하는 단위가 다름
- 에러가 발생할 확률이 매우 높음
- 각각의 동작에 대해 자율성을 보장할 수 있음
입출력 모듈
- 입출력 모듈
- 입출력 장치는 종류가 다양하므로 전송 데이터 길이, 전송 데이터 형식, 전송 속도 등이 서로 다르기에 이를 제어하는 장치를 입출력 모듈 (I/O module)이라고 함
- 주변장치들은 컴퓨터 내부의 CPU, 주기억장치에 비해 속도가 매우 느려 직접적인 통신이 불가능, 이를 해결해주는 것이 입출력 모듈 - 입출력 장치의 주소 지정
- 입출력 모듈에는 여러 개의 입출력 장치가 연결되어 있으므로, 각 장치들을 구분할 수 있도록 고유의 번호 또는 주소가 지정되어 있음
- 기억장치-사상 방식 (memory-mapped)
- 입출력장치와 주기억장치는 하나의 주소 공간을 공유
- 동일한 신호와 명령어를 기억장치와 입출력장치에 사용하므로 프로그래밍하기 쉬움
- 입출력장치가 기억장치 주소 영역을 사용하므로 기억장치만을 위한 주소 공간이 감소 - 분리형 입출력 방식 (isolated I/O mapped)
- 입출력장치의 주소 공간을 기억장치 주소 공간과 별도의 기억장치에 할당하는 방식
- 입출력 제어를 위한 별도의 입출력 명령어를 사용하므로 프로그래밍이 복잡해짐
입출력 제어 기법
- CPU가 직접 제어하는 입출력 제어 방식
- 가장 기본적인 방법으로 데이터 전송과 데이터 상태 검사 등의 모든 명령을 중앙처리장치가 직접 수행
- 프로그램 입출력 방식
- 중앙처리장치가 프로그램을 수행하는 도중에 입출력과 관련된 명령을 만나면 해당 입출력 모듈에 명령을 보내 그 명령을 실행
- 중앙처리장치는 입출력이 시작되면 그것이 종료될 때까지 계속 개입을 해야함
- 입출력 모듈이 데이터를 수신 또는 송신할 준비가 될 때까지 중앙처리장치가 기다려야하는 단점이 있음 - 인터럽트 - 구동 입출력 방식
- 중앙처리장치에서 입출력 명령을 받은 입출력 모듈이 동작을 수행하는 동안 중앙처리장치는 다른 프로그램을 처리
1. 중앙처리장치가 입출력 모듈로 읽기 명령을 보냄
2. 입출력 모듈은 주변장치에서 데이터를 읽고, 중앙처리장치는 다른 일 수행
3. 입출력 모듈이 중앙처리장치로 인터럽트 신호를 보냄
4. 중앙처리장치가 입력된 데이터를 요구
5. 입출력 모듈이 중앙처리장치로 데이터 전송
- 직접 기억장치 액세스(DMA)를 이용한 입출력 제어 방식
- Direct Memory Access 방식은 대용량의 데이터를 이동시킬 때 효과적
- 기억장치와 입출력 모듈 간의 데이터 전송을 DMA 제어기가 처리하고 중앙처리장치는 개입하지 않도록 함
- 중앙처리장치는 DMA에 명령을 보낸 후에 다른 일을 계속할 수 있으며 DMA 제어기가 모든 입출력 동작 담당
- DMA 제어기는 중앙처리장치를 거치지 않고 한 번에 한 단어씩 모든 데이터를 기억장치로 전송
- 중앙처리장치는 전송의 시작과 마지막에만 입출력 동작에 관여
1. 중앙처리 장치가 DMA로 다음 정보(입출력장치의 주소, 연산 지정자, 데이터가 읽혀지거나 쓰여질 주기억장치 영역의 시작 주소, 전송될 데이터 워드의 개수)를 포함한 명령을 전송
2. DMA 제어기는 중앙처리장치로 버스 요구 신호를 전송
3. 중앙처리장치는 DMA 제어기로 버스 승인 신호를 전송
4. 중앙처리장치의 개입 없이 DMA 제어기가 주기억장치에 데이터를 읽거나 씀
5. 전송할 데이터가 남아있으면 2 ~ 4 단계 반복
6. 모든 데이터의 전송이 완료되면 중앙처리장치로 INTR 신호 전송 - 채널에 의한 입출력
- 채널 : 데이터 처리의 고속성을 위해 CPU의 계속적인 간섭 없이 직접 입출력 장치와 기억장치 사이에서 자료를 주고받을 수 있도록 하는 입출력 전용 장치
- 가장 고성능 입출력 방식으로 채널 제어기는 자기 자신의 채널 프로그램이 있으므로 여러 개의 블록을 입출력할 수 있음
- 데이터 전송회로를 갖고 CPU와 독립하여 동작하며 입출력처리에 대한 명령을 해독하여 실행하는 작용도 갖고 있음
- 채널은 입출력 명령 해독, CPU와 독립적(비동기적)으로 수행, 각 입출력 장치에 명령 지시, 명령의 실행을 제어하는 기능을 가짐
728x90
'CS > 전자계산기구조론' 카테고리의 다른 글
10진 연산 - 팩, 언팩 (2) | 2024.02.06 |
---|---|
병렬처리 (2) | 2024.01.25 |
기억장치 - 가상메모리, RAID (3) | 2024.01.24 |
기억장치 - 캐시 메모리 (0) | 2024.01.23 |
기억장치 - 주기억장치 (2) | 2024.01.23 |