입출력 구조 - 입출력(I/O) 연결과 주소 지정

패스트캠퍼스에서 컴퓨터 구조 강의 를 듣고 스스로 공부한 내용을 정리하고 있습니다.

입출력 주소 지정

컴퓨터 시스템에는 다양한 입출력 장치와 통신포트가 연결된다. 이를 서로 구분하기 위해서 각 입출력장치 또는 통신포트에 고유한 주소를 할당한다.

하나의 입출력 장치에 그 상태나 데이터의 입출력등 용도에 따라 다수의 주소 할당이 가능하다.

  • 일반 저장공간에 할당된 주소에 비해서 입출력 장치의 개수는 작기 때문!

메모리 맵 입출력

  • 메모리에 부여된 주소공간의 일부를 입출력 주소공간으로 활용하는 방법이다.

  • 기존 시스템과 동일한 주소선과 제어선을 사용하여 입출력 관리하는 것이 가능하다.

  • 시스템은 지정된 주소 값에 의해서 데이터 저장 공간과 I/O 장치를 구분하게 되고

  • 모든 CPU 에 대해서 구현이 가능하지만, 하드웨어적 주소값에 따라 접근 구현이 필요하다.

입출력 맵 입출력

  • 메모리 주소공간과 입출력 주소공간을 따로 분리

  • 메모리와 입출력 주소를 구분하는 제어선을 사용한다.

  • 상호 구분되는 명령어가 필요하다.

  • 제어신호를 통해서 메모리 / 입출력 장치에 접근이 가능하도록 하드웨어적 구현이 필요하다.

비교

  • 메모리 맵 입출력은 모든 CPU 에서 구현이 가능하지만 입출력 맵 입출력은 I/O 용 별도의 명령어와 이를 외부 제어선이 있는 CPU 에서만 구현이 가능하다.

    • PC 에서는 양자 모두 구현이 가능하다고 알려져 있다.

  • 결국 차이점은 메모리 주소공간과 입출력 주소공간을 같이 쓰느냐 vs. 따로 쓰느냐 에 따라서 둘이 구분된다.

입출력 버스 할당

중앙 제어 버스 vs. 분산 제어 버스

  • 중앙 제어 버스

    • 구현 및 관리가 용이

    • 중앙에서 관리하기 때문에 제어기에 이상이 발생할 경우, 버스 중재 및 활용에 결함이 발생할 수 있다.

  • 분산 제어 버스

    • 버스 상의 모든 장치가 제어 기능을 나누어서 실행한다.

    • I/O 버스는 주로 중앙제어버스 시스템을 적용하며

    • 시스템 버스로는 분산 제어버스 시스템을 선호한다.

동적 중재 알고리즘

  • 정적 우선순위 알고리즘에 대해서 시스템이 동작하고 있는 동안 장치들의 우선순위를 변경 시킬 필요가 있을 경우 적용 가능한 알고리즘을 동적우선순위 알고리즘이라고 한다.

    • 작업의 우선순위가 높은 것이 등장하는 등

  • 시간분할 알고리즘

    • 연속적으로 주어지는 버스 시간을 고정된 길이의 시간분할로 나누고 이를 라운드 로빈 방식으로 각 프로세스에 할당

    • 버스에서의 위치에 관계없이 모든 요소들이 동등한 서비스를 받게 된다.

  • 폴링 버스 시스템

    • 폴 라인으로 버스 승인 신호를 대체하여 모든 장치에 연결

    • 버스 제어기는 이신호를 이용하여 각 장치의 주소를 결정한다.

    • 지정된 순서에 따라서 버스를 할당받는다.

    • 프로그램으로 우선순위를 변경하는 것이 가능하다.

  • LRU : Least Recently Used

    • 가장 오랫동안 버스 서비스를 사용하지 못한 장치에게 우선권을 주여한다.

    • 몇 번의 버스 사이클마다 LRU 알고리즘에 의해 각 장치의 우선순위가 계속 변경된다.

    • 모든 프로세스가 버스에 접근할 수 있는 기회를 동등하게 부여받을 수 있다.

  • First come First served

    • 버스 제어기는 각 프로세스의 버스 요구 도착시간별 저장이 가능한 규를 이용해서 도착한 순서대로 서비스를 제공한다.

  • 회전 데이티 체인 방식

    • 모든 장치를 연결하여 차례로 버스 서비스를 제공하는 방식

입출력 수행의 분류

동기 버스에 의한 수행

비동기 버스에 의한 수행

Last updated