[전자계산기구조] 스트로브(Strobe Pulse) & 핸드셰이킹(Handshaking)

[전자계산기구조] 스트로브(Strobe Pulse) & 핸드셰이킹(Handshaking)

비동기 데이터 전송

두 개의 독립적인 장치(ex : 기억장치, 입출력장치) 사이의 비동기적인 데이터 전송을 이루기 위해서는 데이터 전송시각을 알기 위한 제어 신호를 서로 교환하여 송수신 상태를 서로 맞춰야 한다.

동기를 맞추기 위한 제어 신호를 교환하는 방법에는 스트로브 펄스에 의한 방식과 핸드세이킹에 의한 방법이 있다.


스트로브 펄스(Strobe Pulse) 방식

데이터 버스와 한 개의 제어선을 이용
스트로브는 송신 장치나 수신 장치에 의하여 발생한다.
수신하는 장치에서 스트로브 펄스를 발생하여 송신부에게 데이터 전송을 요청합니다.

두 개의 독립적인 장치 사이의 비동기적인 데이터 전송을 이루기 위해 전송시각을 알리는 제어 신호를 스트로브 신호라 하며, 한개의 제어선을 통해 상호 교환

수신 장치는 스트로브 펄스를 발생시켜 송신부로 하여금 데이터를 제공하도록 알린다.
메모리와 CPU 사이에서 정보를 교환할 때 사용

전송을 시작한 송신장치는 수신장치가 데이터를 받았는지를 알 수 없다.

핸드셰이킹(Handshaking) 방식

컴퓨터와 주변장치간에 Data 전송을 할 때 입,출력의 준비나 완료를 나타내는 신호(RDY, ADK)가 필요한 비동기식 병렬 입,출력 시스템에 널리 쓰인다.
전송을 시작한 장치에 응답하는 제2의 제어 신호를 전송함으로써 스트로브 제어 방법보다는 높은 융통성과 신뢰성을 갖는다.
2~3개의 제어선을 이용

스풀링


버퍼링


출처

댓글

이 블로그의 인기 게시물

[Python] # -*- coding: utf-8 -*-를 쓰는 이유

[소프트웨어공학] NS(Nassi-Schneiderman) 차트

[컴퓨터네트워크] Telnet이란?