1 minute read

I/O 장치의 접속

- I/O 제어

    I/O 장치들은 매우 다양하고 동작을 제어하는 방법이 서로 다르며 데이터 전송 속도가 매우 느리고 CPU가 사용하는 데이터 형식의 길이가 서로 다른 경우가 많아서 직접 시스템 버스에 접속되지 못 함

    - I/O 제어기

        CPU와 I/O 장치들 간의 인터페이스 역할을 수행해주는 하드웨어 모듈

        - 기능

            I/O 장치의 제어와 타이밍 조정

            CPU와 통신 담당

            I/O 장치와의 통신 담당

            데이터 버퍼링 기능 수행

            오류 검출

    - 상태/제어 레지스터

        내부적으로 두 개의 레지스터들로 구성되지만 상태 레지스터는 읽기만 하고 제어 레지스터는 쓰기만 하기 때문에 주소는 하나만 지정

        상태 레지스터는 I/O 의 상태를 나타내는 레지스터

        제어 레지스터는 명령을 보낼 때 사용하는 레지스터

    - 데이터 레지스터

        쓰거나 읽을 데이터가 저장되는 공간

        - 데이터 버퍼

            I/O 장치로 보내질 데이터를 일시적으로 저장해두는 반도체 기억장치

    - 프로그래밍된 I/O

        CPU가 반복적으로 I/O 장치의 상태를 검사하면서 I/O 동작을 처리하는 방식

        별도의 하드웨어가 필요하지 않음

        CPU가 전적으로 개입해야 하기 때문에 그 동안에 다른 일 하지 못 함

- I/O 주소지정

    I/O 레지스터들을 통해 데이터 입/출력을 하기 위해서는 레지스터에 주소를 할당해야 함

    데이터 레지스터의 주소와 상태/제어 레지스터의 주소가 할당됨

    - 기억장치-사상 I/O

        I/O 제어기 내의 레지스터들에게 기억장치 주소 영역의 일부분을 할당하여 기억장치와 같은 방법으로 액세스 하는 방식

        기억 장치 액세스에 사용하는 명령어 그대로 사용 가능

        기억 장치 주소공간이 그만큼 줄어듦

    - 분리형 I/O

        I/O 장치의 주소 영역을 기억장치 주소와 별도로 가지는 것

        I/O 전용 명령어들을 이용하여 액세스함