본문 바로가기

Contact English

【논리설계】 12강. 입력 및 출력

 

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