수업/컴퓨터 구조

12,13 입출력시스템

MDanderson 2024. 10. 26. 00:07

1.입출력시스템의 개요

 

컴퓨터는 입출력시스템을 통해 외부 데이터를 중앙처리장치나 기억장치로 입력받거나 또는 외부로 출력

입출력시스템의 처리능력

   -입출력 시스템의 처리능력은 장치 자체의 특성, 다른 부분과의 연결 방법, 기억장치의 계층구조(하위계층-데이터처리속도늦음, 상위계층-빠름)  , 운영체제등에 따라 영향을 받음

   - 복잡한 상업용 데이터처리에서는 입출력 시스템의 처리능력이 전체 커퓨터 시스템의 성능에 절대적인 영향을 준다.

 

 

2. 입출력시스템의 구성요소

-기본 입출력시스템

키보드 입력장치와 모니터 출력장치를 가지고 있는 모든 컴퓨터 시스템에서 볼수있는 입출력시스템

입출력제어기가 없기 때문에 모든 입출력제어기능은 CPU에 둠

중앙처리장치가 입출력을 수행하기 떄문에 중앙처리장치에서 수행하는 프로그램의 수행이 지연되므로 비효율적인 시스템이다.

따라서 키보드나 모니터와 같은 속도가 느린 입출력장칭에만 사용한다.

 

입출력제어기 역할을 cpu에서 담당함

 

- 입출력 제어기가 사용된 입출력 시스템(기본입출력시스템+입출력제어기)

     - 입출력 제어기가 추가됨

 

CPU가 입출력의 수행에 개입함으로써 프로그램의 수행을 지연시키는 비효율성을 극복한 입출력 시스템이다

CPU가 입출력 제어기능을 수행하지 않고 CPU대신에 별도의 입출력제어기를 두어 입출력을 수행함.

 

 

 

2-1 입출력 장치

사용자와 컴퓨터 시스템과의 인터페이스

중앙처리 장치 또는 기억장치와 외부의 입출력 매체 사이에 정보를 전송

CPU나 기억장치에 비해 속도가 느리고, 처리하는 데이터의 단위도 다르며 오류의 발생률도 높으나 동작의 자율성을 보장할 수 있다. 

 

 

2-2입출력장치 제어기

입출력은 입출력장치와 주기억장치 사이의 정보 전달을 의미한다.

주기억장치와 입출력장치는 정보 전달시 동작 속도 ,정보의 단위, 동작의 자율성, 오류 발생률의 측면에서 다른 특성을 가진다.

이러한 특성의 차이 때문에 주기억장치와 입출력장치를 직접 연결하여 입출력을 수행할 수는 없다 (입출력관련 제어기가 필요함)

입출력에 필요한 입출력장치 고유의 기능만 다루는 제어기이다

입출력장치의 하드웨어 기능을 제어하는 목적이다. 

입출력장치를 구동시키는 작업을 수행하는 기기( 모터를 회전, 입출력 매체를 입출력위치에 정렬 등)

다른 모든 장치들이 논리회로로 되어있는 것과 달리 아날로그 회로를 포함한다.

입출력장치에 따라 입출력 장치에 포함된 것과 독립적인 입출력 장치 제어기가 있는 것이 있다. 

 

 

2-3 입출력제어기

입출력장치의 공통적인 기능을 다루는 제어기

입출력장치 인터페이스와 컴퓨터시스템사이에 데이터전송을 제어하는 장치.

입출력 제어기의 구현은 컴퓨터 시스템의 성능에 따라 매우 다양(중앙처리장치, DMA제어기 , 채널 혹은 채널제어기 , 입출력 프로세서, 입출력 컴퓨터 혹은 전단 프로세서등)

자체의 프로그램 수행능력을 갖고 있으며, 이는 CPU의 개입 없이 입출력이 자율적으로 행해지도록 하기 위함이다.

 

 

 

2-4 입출력장치 인터페이스

 

 

1)데이터 전송속도 차이의 해결방법

- 입출력장치와 CPU는 동작속도에 있어 큰 차이가 난다.

- 해결방법 : 두 장치 사이에 입출력 데이터 버퍼를 두고 이 버퍼의 상태를 나타내는 B와 D 플래그를 둔다.

B: 입출력장치의 사용여부

D :입출력버퍼의 상태를 나타냄

 

 

 

2)데이터 처리단위 차이의 해결방법

주기억장치에서 데이터 단위는 단어

입출력장치가 다루는 데이터 단위는 문자(1byte)

따라서 입출력장치인터페이스에 있는 입출력 데이터버퍼의 크기는 1바이트

입출력장치 인터페이스와 입출력제어기 사이의 데이터 전달: 병렬전송

데이터 전달방법

-직렬전송

   -비트별로 한 비트씩 직렬전송

   -주로 속도가 느린 키보드나 모니터와 같은 입출력장치에 사용

   - 데이터 전달회선의 수가 한개이면 되기 때문에 입출력장치 인터페이스와 입출력장치의 거리가 비교적 멀어도 회선 비용이 저렴

 

 

-병렬전송

   - 한 바이트를 한꺼번에 전송하므로 최소 8개의 데이터 전달 회선이 필요 (회선의 길이가 길면길수록 느리고 비용증가)

   - 입출력 장치와 그 인터페이스의 거리가 가까운 거리에만 사용

   - 디스크에 사용(거리를 짧게 하기위해 본체에 포함)

 

 

3) 에러율의 차이 해결방법

 -입력데이터에대한 오류검사 및 수정 방법

 

-패리티비트를이용

 

-오류검사/수정코드 방법

-데이터에 첨부해야하는 코드의 길이가 길기때문에 보통 입출력데이터에 사용하지않으며 주기억장치에 있는 정보에 이용된다.

 

 

13강

 

1.입출력버스

-입출력데이터사이에 정보가 이동되는 통로

 

컴퓨터시스템의 버스

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

 

버스에 연결된 장치는 주 장치와 종 장치로 구분한다

-주장치

  -데이터 전달 회선의 사용권을 획득하고 실제로 전송에 필요하 ㄴ제어를 하는 장치

-종장치

  -주장치의 요구에 따른 데이터 전달에 필요한 작업을 하는 장치

 

버스를 이용한 정보전달 방법

- 직렬전송 방식과 병렬전송 방식

- 입출력장치와의 데이터 전달은 주로 직렬전송 방식 사용

  

컴퓨터 시스템의 버스 종류

-중앙처리장치 내부버스

 -- ALU(산술논리연산장치) 와 레지스터간의 데이터 이동을 위한 버스

 

-주기억장치 버스

  -- 중앙처리장치와 주기억장치 사이의 버스

  -- 데이터버스 ,주소버스 ,제어버스로 구성된다.

 

-입출력 버스

  -- 입출력에만 이용되는 버스

데이터버스 ,주소버스 ,제어버스로 구성됨 

 

 

입출력버스회선의 종류

-입출력데이터버스

--입출력될 데이터가 이동되는 버스

 

-입출력주소 버스

--입출력제어기가 각 입출력장치에 부여된 장치번호를 입출력 인터페이스에 보내어 입출력을 하고자하는 장치를 선택하게 하는 버스

-- 비트수는 장치번호의 비트수와 같다.

 

-입출력 제어 버스

-- 입출력 개시 신호를 입출력 장치에 보내는 버스

  

 

입출력버스의 연결형태

 

입출력버스의 중재

-버스는 여러 장치가 하나의 데이터잔달회선을 시간에 따라 멀티플렉싱하여 사용

-- 만일 여러 장치들이 동시에 버스 사용을 요청하는 경우 경쟁이 발생(버스경합)

-- 이러한 경우 어떤 기준에 따라 순서대로 버스를 사용하게 해주는 버스 중재가 필요함

 

-버스사용의 중재기능을 가진 하드웨어 모듈을 버스 중재기라고 함

 -- 버스를 사용하려면 우선 중재기에 버스사용을 요청해야 하며 중재기에의하여 그 요청이 승인되어야만 사용할 수 있다.

 -- 어느 장치가 버스사용을 요청하려면 중재기에 버스요청 신호를 보내고 버스요청 신호를 보낸 장치가 사용을 허락받으려면 중재기로부터 버스허용 신호를 받아야한다. 버스허용신호를 받은 장치는 버스 사용권을 획득했기 때문에 버스사용중 신호를 중재기에 보내고 버스를 사용한다.

 

버스 중재에 사용되는 제어 신호

-버스 요청(BR)

-버스 허용(BG)

-버스 사용중( BB)

 

버스 중재 방법

버스 요청 신호 및 버스 허용신호의 연결 구조에 따라

1. 중앙집중식 병렬 중재

2. 직렬중재 혹은 데이지 체인

 

3. 폴링에 의한 중재

 

 

 

2.입출력 데이터 전송

데이터 전송 방식 

-2개의 독립된 장치가 버스를 이용하여 정보를 전달할 때 버스에 연결된 서로 다른 특성을 가지는 장치들 사이의 공통적인 전송 규칙

-동기식 전송

  - 서로 독립적인 두개의 장치가 같은 클럭신호에 따라 데이터의 전송

 

-비 동기식 전송

 -- 대부분 장치는 각각의 독립된 클럭을 가지고 데이터를 전송함

 

입출력장치는 자율적으로 동작하므로 중앙처리장치의 동작과 일치하지 않는다 => 비동기적 장치

 

 

비동기적인 장치사이에서의 데이터 전송

 - 데이터를 일방적으로 전송하면 수신측에서 데이터가 수신되지 않을 경우에도 수신된 것으로 착각할 수 있다.

-그러므로 제어선을 사용하여 상대편에게 신호를 보내주어 준비를 하도록 해야한다

- 즉 두 장치간 데이터전송을 하려면 데이터 전송 시점을 알리기 위한 제어 신호가 교환되어야 한다.

 

제어 신호 교환 방법

-스트로브 제어방식

-- 데이터 전송의 시간을 맞추기 위해 데이터 전송회선 이외에 스트로브 신호를 보내주기위한 하나의 제어회선을 더 갖는 방식 

-- 스트로브 신호 :데이터를 전송할 때 실제로 전송되는 것을 알려주기 위해 보내주는 신호

 

--즉 입출력장치는 CPU와 속도차이가 많이 나기 떄문에 자율적으로 동작시키고 CPU와는 동기화 될수없으며 시간 펄스도 자체적으로 가한다.

-- 따라서 독립된 2개 이상의 장치가 비동기적일 경우의 데이터전송은 데이터전송을 알리는 신호를 보내주어 데이터가 전송될 시간을 알려주어야한다 이때 보내는신호를 스트로브신호라 함

 

-핸드 셰이킹 방식

  --스트로브 신호방식의 단점을 보완

  -- 높은 신뢰성과 융통성을 갖는다.

  -- 송신측과 수신측 양쪽에서 상대편에게 제어신호를 보내주는 방법

  -- 즉 데이터의 전송을 제어하는 두개의 신호선을 가지고있다.

 

 

핸드셰이킹 제어방식의 특징

 - 송신장치와 수신장치가 동시에 동작해야한다

 - 어느 한쪽의 장치가 잘못되면 데이터전송이 이루어지지않기때문에 높은 신뢰성을 갖는다.

 - 만일 어떤 장치에서 잘못이 발생한 경우, 일정한 시간 동안 기다려서 완전한 전송이 이루어지지않으면 에러로 인하여 인터럽트를 발생시켜 에러를 검사하도록 한다.

  - 하나의 송신장치로 여러개의 수신장치로 데이터를 전송 할 수 있다. 

 

두 장치간 데이터 전송

병렬 전송

 - n비트의 정보가 n개의 회선을 통해서 동시에 전송되기 때문에 속도가 빨라 단거리,고속전송에 사용된다.

직렬 전송

 - 각 비트가 차례로 한 비트씩 한 회선에서 전송되기때문에 속도가 느리거나 비용이 저렴하다

 

데이터의 직렬전송

 

-동기적 전송

  - 두 장치가 공통의 클럭주기를 가진다.

  - 각 비트는 클럭펄스에 의한 속도로 계속 전송

  - 장기적 직렬전송시 각 장치는 같은 주기를 가진 각각의 클럭을 가진다.

  - 각 장치사이의 시간적인 보조를 맞추기 위해 동기 신호가 주기적으로 전송

 

-비동기적 전송

  -  데이터를 문자단위로 전송할때 시작비트와 정치비트를 삽입

  - 각 문자는 시작비트,데이터비트, 정지비트 세부분으로 구성되어 전송

 

비동기 직렬전송시 문자 검출 원리

 -데이터가 전송되지 않을때 회선은 1의 값을 유지한다.

- 문자 전송의 시작은 시작비트에의해 알수 있으며 이는 항상 0의 값을 갖는다.

 -문자는 시작 비트 뒤에 온다

 - 마지막 문자가 전송된 후에 정지비트는 회선을 최소한 1비트 이상 1의 값으로 유지시킴으로써 알아낸다.

 

 

 

 

 

 

 

 

 

 

 

'수업 > 컴퓨터 구조' 카테고리의 다른 글

10.11 기억장치  (4) 2024.10.12
8.9.중앙처리장치  (0) 2024.09.27
5.제어장치(1) 6.제어장치(2)  (0) 2024.09.13
명령어 형식  (0) 2024.09.05