12강. 입력 및 출력
추천글 : 【논리설계】 논리설계 목차
1. 입출력장치의 구성 [본문]
2. 기억장치 vs 입출력장치 [본문]
3. 비동기 데이터 전송 방식 [본문]
4. 입출력 제어방식 [본문]
5. 메모리 인터리빙 [본문]
1. 입출력장치의 구성 [목차]
⑴ 입출력 제어장치 : 데이터 버퍼 레지스터, DMA 및 채널, CPU 등으로 구성
⑵ 입출력 인터페이스 (입출력 제어기)
① 입출력 장치는 CPU와 메모리를 연결해 주는 버스에 직접 연결될 수 없음
○ 이유 : 입출력 장치의 성격은 CPU나 메모리의 성격과 다름. 즉, 속도의 차이가 발생
○ 그 결과 입출력 장치들은 입출력 인터페이스를 통해 버스에 부착됨
② SCSI(Small Computer System Interface)
○ 애플 매킨토시, PC, 유닉스 시스템의 병렬 인터페이스 표준
○ 데이지 체인 제공
○ 체인의 양 끝은 반드시 터미네이터가 장착돼야 하며, 각 입출력 장치는 자신만의 유일한 주소(Target ID)를 가져야 함
③ USB(Universal Serial Bus)
○ 외부 직렬 버스 표준
○ 데이터 전송률 : 12 Mbps(USB 1.1), 400 Mbps(USB 2.0)
○ Plug-and-Play, Hot Plugging 지원
④ Firewire
○ IEEE 표준 1394에 의해 정의된 직렬 인터페이스
○ 데이터 전송률 : 400 Mbps(1394a), 800 Mbps(1394b)
○ 데이지 체인 또는 트리 연결 제공
○ Plug-and-Play, Hot Plugging 지원
○ 실시간 데이터 전송 기능 제공
⑶ 입출력 버스
① 주기억장치와 입출력장치 사이의 데이터 전송을 담당
② 데이터 버스, 주소 버스, 제어 버스로 구성
○ 데이터 버스
○ 주소 버스
○ 제어 버스 : CPU와 메모리 사이의 통신을 전달
⑷ 입출력장치의 종류
① 입력장치 : 키보드, 마우스, 스캐너, OMR, OCR, MICR, 바코드, 라이트펜, 터치 스크린, 디지타이저, CIM 등
○ CIM : computer input microfilm
② 출력장치 : 모니터, 프린터, 플로터, COM 등
○ COM : computer output microfilm
③ 보조기억장치 (입출력 겸용) : 자기 디스크, 자기 테이프, 자기드럼, 하드 디스크, 플로피 디스크 등
2. 기억장치 vs 입출력장치 [목차]
⑴ 동작속도 : ㎱ 단위 vs ㎳ 단위
⑵ 동작의 자율성 : 타율 vs 타율/자율
⑶ 정보의 단위 : Word vs Byte
⑷ 착오 발생률 : 적다 vs 많다
3. 비동기 데이터 전송 방식 [목차]
⑴ 스트로브 펄스(Strobe Pulse) 방식 : 비동기 시스템 간 데이터 전송
① 스트로브 신호 : 두 독립장치 사이의 비동기적 데이터 전송을 위해 전송시각을 알리는 제어신호
② 구성 : 데이터 버스, 한 개의 제어선
③ 방식 : 송신지 개시(스트로브 신호; 송신→수신), 수신지 개시(스트로브 신호; 송신←수신)
④ 단점 : 전송을 시작한 송신장치는 수신장치가 데이터를 받았느지 알 수 없음
⑵ 핸드셰이킹(Handshaking) 방식 : 비동기 시스템 간 데이터 전송
① 데이터 수신신호/준비신호를 사용하여 서로의 동작을 확인하면서 데이터를 전송
② 구성 : 데이터 버스, 스트로브 제어선, 데이터 수신신호/준비신호
③ 장점 : 스트로브 펄스 방식보다 높은 융통성과 신뢰성을 가짐
④ 병렬 입출력 데이터 전송방식의 기본으로 널리 사용
4. 입출력 제어 방식 [목차]
⑴ 폴링(Polling)
① CPU가 상태 Flag를 계속 조사하여 I/O 작업에 관여하는 방식
② CPU가 대부분의 일을 하므로 인터페이스는 MDR, Flag, 장치 번호 디코더로만 구성
⑵ Interrupt I/O
① 입출력 인터페이스가 CPU에게 인터럽트 신호를 입출력이 있음을 알리는 방식
② CPU가 계속 Flag를 검사하지 않아도 되기 때문에 폴링 방식보다 효율적
⑶ DMA(Direct Memory Access) I/O
① 구성 요소
○ 인터페이스 회로 : CPU와 입출력장치와의 통신 담당
○ MAR 및 주소 라인 : 기억장치의 위치지정을 위한 번지 기억 및 전송
○ Word Count Register : 전송되어야 할 워드의 수 기억
○ Control Register : 전송 방식 결정
○ Data Register : 전송에 사용할 자료나 주소를 임시로 기억하는 버퍼
② 전송 절차
○ 1st. CPU가 DMA 제어기에게 명령을 내림
○ 2nd. Bus Request : DMA 제어기가 CPU에게 버스 사용 요구
○ 3rd. Bus Grant : CPU가 DMA 제어기에게 버스 사용 허가
○ 4th. Data Transfer : DMA 제어기가 CPU와 독립적으로 자료 전송 수행
○ 5th. 2nd ~ 4th를 반복하다가 데이터 전송이 완료되면 Cycle Steal 신호를 보냄
③ Cycle Steal : DMA와 CPU가 동시에 주기억장치에 접근시 우선순위를 DMA에게 주는 방식
○ Interrupt : CPU의 사이클이 정지되지 않음, CPU의 상태 보존(PC의 값)이 필요
○ Cycle Steal : CPU의 사이클이 한 주기 정지, CPU의 상태 보존이 필요 없음
⑷ Channel I/O : DMA I/O의 확장
① DMA I/O의 비교
○ DMA : 한개의 Instruction에 의해 한 개의 Block만을 입출력함
○ Channel : 한 개의 Instruction에 의해 여러 개의 Block을 입출력함
② 채널의 종류
○ Selector Channel : 특정 1개의 고속 입출력장치와 입출력하기 위해 사용
○ Multiplexer Channel : 동시에 여러 저속 입출력장치와 입출력하기 위해 사용
○ Block Multiplexer Channel : 동시에 여러 고속 입출력장치와 입출력하기 위해 사용
⑸ 스풀링(Spooling)
① 각 사용자 프로그램이 입출력할 데이터를 디스크에 나중에 한꺼번에 입출력하는 방식
② 버퍼링과의 비교
○ 공통점 : 큐 방식의 입출력, 기억장치 및 입출력장치 간 속도차 해소
○ 저장위치 : 버퍼링은 주기억장치, 스풀링은 보조기억장치
○ 운영방식 : 버퍼링은 단일 작업, 스풀링은 다중 작업
○ 구현방식 : 버퍼링은 하드웨어, 스풀링은 소프트웨어
5. 메모리 인터리빙(Memory interleaving) [목차]
⑴ 독자적으로 데이터를 저장할 수 있는 기억장치 모듈을 여러 개 가진 기억장치
⑵ 주기억장치와 CPU의 속도 차이를 개선
⑶ 일반적으로 기억장치의 버스를 시분할하여 사용
입력 : 2017.08.28 16:33
'▶ 자연과학 > ▷ 논리설계' 카테고리의 다른 글
【논리설계】 1강. 수 체계와 코드 (2) | 2020.03.26 |
---|---|
【논리설계】 논리설계 목차 (15) | 2019.04.07 |
【논리설계】 11강. CPU (0) | 2016.12.10 |
【논리설계】 응용 : 곱셈기 (0) | 2016.11.27 |
【논리설계】 응용 : 덧셈기 (0) | 2016.11.27 |
최근댓글