컴퓨터 구조와 논리회로
입력과 출력
KDY
2022. 11. 30. 12:48
728x90
입력 장치와 출력 장치의 종류
- 입력 장치의 종류
- 입력 장치는 문자, 기호, 소리, 동영상 데이터를 컴퓨터가 이해할 수 있는 2진 코드로
변환하여 주기억 장치에 저장하거나 CPU에 전달함 - 입력 장치 : 키보드
- 지시 장치 : 마우스, 트랙보르 터치패드, 포인팅 스틱, 조이스틱, 디지타이저
- 입력 장치는 문자, 기호, 소리, 동영상 데이터를 컴퓨터가 이해할 수 있는 2진 코드로
입출력 모듈의 연결
- 입출력 장치의 주소 지정
- 기억 장치 사상(Memory-Mapped)방식
- 입출력 장치와 주기억 장치가 하나의 주소 공간을 공유
- 기억 장치 주소 영역의 일부분을 입출력 장치의 주소 영역으로 할당하는 방식이라
기억 장치의 읽기/스기 신호를 입출력 장치의 읽기/쓰기 신호로 사용할 수 있음 - 프로그램에서 기억 장치 관련 명령어를 입출력 장치에 사용하므로 프로그래밍하기 용이
하다는 것이 장점 - 입출력 장치가 기억 장치 주소 영역을 사용하기 때문에 기억 장치만을 위한 주소 공간이
감소하는 단점도 있음.
- 기억 장치 사상(Memory-Mapped)방식
- 분리형 입출력(Isolated I/O 또는 I/O Mapped) 방식
- 입출력 장치의 주소 공간을 기억 장치의 주소 공간과 별개인 기억 장치에 할당
- 입출력 제어를 위한 별도의 입출력 명령어를 사용하기 때문에 별도의 입출력 장치에 대한
읽기/쓰기 신호가 필요 - 입출력 장치의 주소 공간은 기억 장치의 주소 공간과 별도로 지정이 가능하지만, 입출력 제어를
위해 입출력 장치 명령어만 사용할 수 있기 때문에 프로그래밍이 복잡해진다.
입출력 데이터 전송
- 스트로브 신호
- 송신 측에서 데이터를 전송할 때 전송된다는 것을 수신 측에 알려주기 위해 별도의 신호를
사용하는 것을 말함 - 이 신호를 전달하려면 데이터 버스 외에 추가 회선을 설치
- 스트로브 신호를 보내는 방법에는 송신 측에서 수신 측으로 보내는 방법과 수신 측에서
송신 측으로 보내는 방법이 있음. - 송신 측에서 수신 측으로 스트로브 신호를 보내는 방법은 다음과 같다.
- 송신 측에서 데이터를 전송할 때 전송된다는 것을 수신 측에 알려주기 위해 별도의 신호를
- 핸드셰이킹(HandShaking)
- 송신 측과 수신 측 모두 상대방에게 제어 신호를 보내어 데이터 전송을 알려주는 방법
- 데이터 버스 외에 양쪽에 제어 신호를 보내는 별도의 회선이 각각 있어야 함
CPU가 직접 입출력 장치를 제어하는 방식
- 입력 장치와 출력 장치를 직접 제어하는 가장 기본적인 방법으로, 데이터 전송뿐만 아니라
데이터 상태 검사 등의 모든 명령을 CPU가 직접 수행
- CPU가 제어하는 방식은 두 가지가 있다.
- 프로그램 입출력 방식 : CPU와 입출력 모듈 사이에 데이터가 교환된다.
- 인터럽트 구동 입출력 방식 : CPU가 입출력 명령을 보낸 다음 입출력 모듈이 그 일을
완료하고 인터럽트를 보낼 때까지 다른 명령을 수행함
직접 기억 장치 액세스를 이용한 입출력 제어 방식
- 주기억 장치와 입출력 모듈 간의 데이터 전송이 CPU를 경유하기 때문에 입출력 전송률이 제한되며,
CPU가 입출력 전송에 많은 시간을 소모 - 직접 기억 장치 액세스(DMA)는 대용량 데이터를 이동할 때 효과적인 기술로, 기억 장치와
입출력 모듈 간의 데이터 전송을 별도의 하드웨어인 DMA 제어기가 처리하고 CPU는 개입하지 않는 방식
- CPU는 입출력 동작의 시작과 마지막에만 관여함
입출력 프로세서를 이용한 입출력 제어 방식
- 입출력 처리를 전담하는 별도의 입출력 프로세서(I/O Processor, IOP)를 두어 CPU의 효율을 높이는
입출력 제어 방식 - 입출력 프로세서는 DMA 제어기의 기능을 향상한 것으로 입출력 명령을 실행할 수 있는 프로세서
- 데이터 블록을 임시 저장할 수 있는 지역 기억 장치(Local Memory)를 포함