Presentation is loading. Please wait.

Presentation is loading. Please wait.

제17강 입출력시스템 2.

Similar presentations


Presentation on theme: "제17강 입출력시스템 2."— Presentation transcript:

1 제17강 입출력시스템 2

2 강의내용 입출력 버스의 개요 입출력 버스의 구성 입출력 버스의 중재 방법 입출력 데이터의 전송 입출력 데이터의 전송 방법

3 입출력 버스 개 요 컴퓨터 시스템의 버스 중앙처리장치, 주기억장치, 각종 입출력장치, 네트워크로
개 요 컴퓨터 시스템의 버스 중앙처리장치, 주기억장치, 각종 입출력장치, 네트워크로 연결된 다른 컴퓨터들 사이에 정보가 교환될 수 있는 통신 회선을 의미

4 입출력 버스 버스회선 버스회선의 구성 주장치 종장치 주소 회선 데이터 회선 제어 회선 데이터 이동을 위하여 주장치와 종장치
사이의 읽기(R)나 쓰기(W)의 제어신호와 상태정보를 보내는 데 이용된다. - 양방향 회선 주장치 종장치 주소 회선 주장치가 버스에 연결시키고자 하는 종장치의 주소를 보내는 데에만 이용 - 단방향 회선 제어회선 주소회선 데이터 회선 데이터회선 주장치와 종장치사이의 데이터 전달 - 양방향 회선

5 입출력 버스 컴퓨터 시스템의 버스 종류 중앙처리장치 내부버스 주기억장치 버스 입출력 버스
- ALU와 레지스터간의 데이터 이동을 위한 버스 주기억장치 버스 - CPU와 주기억장치사이의 버스 - 데이터, 주소, 제어버스로 구성 입출력 버스 - 입출력에만 이용되는 버스

6 입출력 버스 입출력버스 회선의 종류 입출력 데이터 버스 입출력 주소버스 입출력 제어 버스 - 입출력될 데이터가 이동되는 버스
- 입출력 제어기가 각 입출력장치에 부여된 장치번호를 입출력 인터페이스에 보내어 입출력을 하고자 하는 장치를 선택하게 하는 버스 입출력 제어 버스 - 입출력 개시(start input output) 신호를 입출력 장치에 보낸다.

7 입출력 버스 구 성 도 입출력버스의 연결 입출력 버스의 한 쪽에는 입출력 장치 인 터페이스가 연결되어 있으며, 다른 한 쪽
에는 입출력 제어기가 연결되어 있다. 주기억장치와 입출력 장치를 연결 - 주기억장치 버스와 입출력 버스를 연결 - 그러나 데이터 버스의 비트 수가 한 바이 트인 입출력 버스와 데이터 버스의 비트 수가 한 단어인 주기억 장치 버스는 직접 연결시킬 수는 없다. - 따라서 입출력 제어기를 사용하여 연결

8 입출력 버스의 연결형태 독립 입출력버스 주기억장치-입출력 공용버스 주기억장치 버스와 입출력 버스를
구분하지 않고, 주기억장치 버스를 입출력 버스로도 사용하는 형태 주기억장치 버스와 입출력 버스를 구분하여 사용하는 형태

9 입출력 버스의 중재 버스 중재 버스는 여러 장치가 하나의 데이터 전달회선을 시간에 따라 멀티플렉싱하여 사용하는 것이다.
만일 여러 장치들이 동시에 버스사용을 요청하는 경우 경쟁이 발생한다.( 버스경합(bus contention)) 이러한 경우 어떤 기준에 따라 순서대로 버스를 사용하게 해주는 버스중재(bus arbitration)가 필요. 버스 사용의 중재기능을 가진 하드웨어 모듈을 버스 중재기(bus arbiter)라 한다. 버스를 사용하려면 우선 중재기에 버스 사용을 요청해야 되며, 중재기에 의하여 그 요청이 승인되어야만 사용할 수 있다.

10 입출력 버스의 중재 방법 버스 사용( 버스 중재에 사용되는 제어신호 ) 버스 중재방법
- 어느 장치가 버스사용을 요청하려면 중재기에 버스 요청 (BR: Bus Request)신호를 보내고, - 버스 요청 신호를 보낸 장치가 사용을 허락 받으려면 버스 중재기로 부터 버스허용(BG : Bus Grant)신호를 받아야 한다. - 버스 허용 신호를 받은 장치는 버스 사용권을 획득했기 때문에 버스사용 중 (BB : Bus Busy)신호를 버스 중재기 에 보내고 버스를 사용한다.

11 입출력 버스의 중재 방법 버스요청 신호 및 버스허용 신호의 연결 구조에 따라 ① 중앙 집중식 병렬 중재
(centralized parallel arbitration) ② 직렬 중재 혹은 데이지 체인 (daisy chain arbitration) ③ 폴링에 의한 중재 (polling arbitration)

12 입출력 버스의 중재 방법 입출력 버스의 중재 방법 구 성 도 중앙집중식 병렬 중재 한 버스에 하나의 중재기를 사용하는 방식
모든 장치들은 독립된 버스 요청과 버스 허용 회선에 의하여 중재기에 연결 중재기 내에 장치들의 우선순위를 정하는 논리회로가 있어야 한다. 높은 우선순위의 장치가 버스사용을 독점 하는 것을 방지할 수 있는 알고리즘이 구현되어 있어야 버스 사용의 공평성을 유지할 수 있다. BR(bus request): 어느 장치가 버스 사용을 요청할 때 중재기 에 보내는 신호 BG(bus grant): 버스 중재기가 버스 요청 신호를 보낸 장치에 게 사용을 허락하는 신호 BB(bus busy): 버스 허용 신호를 받은 장치가 버스 중재기 에게 버스 사용 중이라는 신호로서, 이 신호를 보내고 버스를 사용한다.

13 입출력 버스의 중재 방법 구 성 도 데이지 체인 버스중재 직렬 중재 방식 중재기가 버스요청을 인식하면 버스 허용
신호를 출력하는데, 이 신호는 어느 특정 장치에 보내는 것이 아니라 버스 중재기 에 제일 가까운 곳에 있는 장치에 보내지 며, 그 장치가 버스 요청을 하지 않았을 경 우에는 다음으로 가까운 장치에 보내지는 방법으로 모든 장치에 보내진다. 즉, 버스 중재기에 가까운 순으로 우선순위 가 주어진다 중재기의 버스 사용 우선순위는 버스 중재 기 내부에서 결정하는 것이 아니라 외부에 있는 데이지 체인 하드웨어에 의하여 결정 된다.

14 입출력 버스의 중재 방법 구 성 도 폴링에 의한 버스중재 하나의 폴링 회선이 버스 중재기에서 부터 각 장치들에 공통되게 연결
버스 중재기가 버스 요청을 인식하면 어느 장치 가 요청했는가를 파악하기 위하여 폴링선을 이 용하여 폴링 계수(polling count)를 한다. 여기서 폴링계수를 한다는 것은 각 장치들에 고유하게 부여된 번호를 일정한 순서에 의하여 폴링선에 보낸다는 의미이다. 장치들은 폴링선에 나타난 장치번호를 디코드 하여 자기의 장치 번호와 일치하고, 자신이 요 청했다면 버스 사용 중(BB)번호를 중재기에 보 내고 버스를 사용한다. 각 장치의 우선순위를 임의로 변경시킬 수 있는 장점이 있으나, 폴링이 각 장치마다 순차적으로 이루어지기 때문에 버스 사용권을 부여 받는 절 차가 길어지는 단점이 있다.

15 입출력 데이터 전송 동기화 비 동기화 동작과 일치하지 않는다. – 비동기적 장치
- 서로 독립적인 두 개의 장치가 같은 클럭 신호에 따라 데이터의 전송이 일어난다면 이 두 개의 장치는 ‘동기화 되어 있다’ 라고 한다. 비 동기화 - 대부분의 장치는 각각 독립된 클럭을 가지고 데이터를 전송하게 되므로 각 장치는 서로 다른 클럭 신호에 따라서 동작하게 된다. 이러한 것을 ‘비동기화 되어 있다’ 라고 한다. 입출력장치는 자율적으로 동작하므로 중앙처리장치의 동작과 일치하지 않는다. – 비동기적 장치

16 입출력 데이터 전송 - 데이터를 일방적으로 전송하면 수신측에서 데이터가 수신되지 않을 비동기적인 장치 사이에서의 데이터 전송
경우에도 수신된 것으로 착각할 수 있다. - 그러므로 제어선을 사용하여 상대편에게 신호를 보내주어 준비를 하도록 해야 한다. - 즉, 두 장치간의 데이터 전송을 하려면 데이터의 전송되는 시점을 알리기 위한 제어 신호가 교환되어야 한다. 제어신호 교환방법 - 스트로브 제어(strobe control) 방식 - 핸드셰이킹(handshaking) 방식

17 입출력 데이터 전송 비동기적 데이터 전송방식 스트로브 제어방식
스트로브 신호 : 데이터를 전송할 때 실제로 전송되는 것을 알려주기 위해 보내주는 신호 즉, 입출력장치는 중앙처리장치와 속도차이가 많이 나기 때문에 자율적으로 동작시키고, 중앙처리장치와는 동기화 될 수 없으며, 시간 펄스도 자체적으로 가한다. 따라서, 독립된 2 개 이상의 장치가 비동기적일 경우의 데이터 전송은 데이터 전송을 알리는 신호를 보내주어 데이터가 전송될 시간을 알려 주어야 한다. 이때 사용되는 신호를 스트로브 신호라 한다. 구성형태 : 데이터 전송의 시간을 맞추기 위해 데이터 전송 회선 이외에 스트로브 신호를 보내주기 위한 하나의 제어 회선을 더 갖는다 스트로브 신호를 보내는 방법 - 송신측에서 수신측으로 보내는 방법 - 수신측에서 송신측으로 보내는 방법

18 입출력 데이터 전송 스트로브 제어방식의 동작원리 신호 전송원리 송신측에서 데이터를 전송하기 위해
송신측에서 수신측으로 보내는 방법 신호 전송원리 송신측에서 데이터를 전송하기 위해 먼저 데이터 버스에 데이터를 안정적 으로 올려놓은 다음, 조금 후에 데이터 버스에 전송할 데이터가 있다는 스트 로브 신호를 보낸다. 그러면 수신측에서 스트로브 신호를 보고 수신하도록 한다. 이 때 데이터 버스의 데이터는 수신 장치에서 데이터를 받아 들일만큼 충 분한 시간 동안 활성화 되어 있어야만 한다.

19 입출력 데이터 전송 스트로브 제어방식의 동작원리 신호 전송원리 수신측에서 송신측으로 데이터 전송을 스트로브 제어방식의 단점
수신측에서 송신측으로 보내는 방법 신호 전송원리 수신측에서 송신측으로 데이터 전송을 요구하는 스트로브 신호를 보내서 데이 터 전송이 이루어진다. 이 때 수신측이 스트로브 신호를 먼저 보 내면 송신측은 전송할 데이터를 데이터 버스에 올린다. 스트로브 제어방식의 단점 - 송신측에서 전송한 데이터를 수신측에서 확실하게 수신하였는지 알 수 없다. - 수신측에서 스트로브 신호를 해도 데이터 가 정확히 데이터 버스에 실렸는지 알 수 없다.

20 입출력 데이터 전송 비동기적 데이터 전송방식 핸드셰이킹 방식 스트로브 신호 방식의 단점을 보완해 줄 수 있는 방식
높은 신뢰성과 융통성을 갖는다. 송신측과 수신측 양쪽에서 상대편에게 제어신호를 보내주는 방법 즉, 데이터의 전송을 제어하는 두 개의 신호 선을 가지고 있다.

21 입출력 데이터 전송 핸드셰이킹 제어방식의 동작원리 송신개시 전송 신호 전송원리

22 입출력 데이터 전송 핸드셰이킹 제어방식의 동작원리 수신개시 전송 신호 전송원리

23 입출력 데이터 전송 비동기적 데이터 전송방식 핸드셰이킹 방식 송신장치와 수신장치가 동시에 동작해야 한다.
어느 한 쪽의 장치가 잘못되면 데이터의 전송이 이루어지지 않기 때문에 높은 신뢰성을 갖는다. 만일 어떤 장치에서 잘못이 발생한 경우, 일정한 시간 동안 기다려서 완전한 전송이 이루어지지 않으면 에러로 인정하여 인터럽트를 발생시켜 에러를 검사하도록 한다. 하나의 송신장치에서 여러 개의 수신장치로 데이터를 전송할 수도 있다.

24 다음 강의 <제18강 입출력시스템 3>
수고하셨습니다. 다음 강의 <제18강 입출력시스템 3>


Download ppt "제17강 입출력시스템 2."

Similar presentations


Ads by Google