입출력 (I/O)연결과 주소 지정
* 입출력 주소 지정
* 입출력 버스 할당
* 입출력 수행의 분류
입출력 주소 지정
* 컴퓨터 시스템에는 다양한 입출력(I/O)장치 및 통신 포트 등이 연결되어 있다
서로 구분하기 위해 각 입/출력 장치 또는 통신 포트에 고유한 주소를 할당한다
* 하나의 입출력 장치에 그 상태나 데이터의 입/출력 등 용도에 따라 다수의 주소 할당이 가능하다 (일반 저장 공간에 할당된 주소에 비해 입출력장치의 개수는 작기 때문이다)
* 메모리 맵 입출력 (memory mapped I/O) -> 메모리에 부여된 주소 공간의 일부를 입출력 주소 공간으로 활용
- 동일한 주소선과 제어선으로 입출력 관리 가능
- 시스템은 지정된 주소 값에 의해 데이터 저장 공간과 I/O장치구분
- 모든 CPU에 대해 구현이 가능하나, H/W적 (주소 값에 따라) 부류 접근 구현이 필요하다
* 입출력 맵 입출력 (I/O mapped I/O) -> 독립된 메모리 주소 공간과 입출력 주소 공간을 구분하여 할당한다
- 메모리와 입출력 주소를 구분하는 제어 선(M/10)을 사용
- 상호 구분되는 명령어(상호 동일한 주소일 경우)가 필요하다
- 제어 신호를 통해 메모리 / 입출력 장치에 접근이 가능하도록 H/W적 구현이 필요하다
※ 메모리 맵 입출력 (memory mapped I/O)은 모든 CPU에서 구현이 가능하나 입출력 맵 입출력 (I/O mapped I/O)의 경우 I/O용 별도의 명령어와 이를 위한 외부 제어선이 있는 CPU에서만 구현이 가능하다. 단, PC에서는 양자 모두 구현이 가능하다고 알려져있다
입출력 버스 할당
* 중앙 제어 버스 VS 분산 제어 버스
- 중앙제어 버스 시스템 -> 구현 및 관리가 용이하지만 제어기의 이상시 버스 중재 및 활용에 지대한 경함이 발생할 수 있다
- 분산 제어 버스 시스템 -> 버스상의 모든 장치가 제어 기능을 나누어 실행 한다
- I/O 버스는 주로 중앙 제어 버스 시스템을 적용한다
- 시스템 버스로는 분산제어 시스템을 선호한다
* 동적 중재 알고리즘
- 정적 우선 순위 알고리즘에 대해 시스템이 동작하고 있는 동안 장치들의 우선 위를 변경 시킬 필요가 있을 경우 적용 가능한 알고리즘을 동적우선 순위 알고리즘이라고 한다
- 시간 분할 (time slice) algorithm -> 연속적으로 주어지는 버스 시간을 고정된 길이의 시간 분할로 나누고 이를 라운드로빈(round-robin) 방식으로 각 프로세스에 할당, 버스에서의 위치에 관계없이 모든 요소들이 동등한 서비스를 받게 된다
- 폴링(polling)을 이용한 버스 시스템
> 폴(poll) 라인으로 버스 승인(grant) 신호를 대체하여 모든 장치에 연결한다
> 버스제어기는 이 신호를 이용하여 각 장치의 주소를 결정한다
> 지정된 순서에 따라 버스를 할당 받는다. 프로그램은 우선 순위 변경 가능하다
- LRU (Least recently used) algorithm
> 가장 오랫동안 버스 서비스를 사용하지 못한 장치에게 우선권을 부여한다
> 몇 번의 버스 사이클마다 LRU algorithm에 의해 각 장치의 우선순위가 계속 변경 된다
> 모든 프로세스가 버스에 접근 할 수 있는 기회를 동등하게 부여 받을 수 있다
- first-come & first-serve
> 버스 제어기는 각 프로세스의 버스 요구 도착 시간별 저장이 가능한 큐(queue)를 이용해 도착한 순서대로 서비스를 제공한다
- 회전 데이지 체인 (rotating daisy chain) 방식
> 모든 장치를 연결 (closed loof)하여 차례로 버스 서비스를 제공하는 방식이다
입출력 수행의 분류
* 동기 버스에 의한 수행
* 비동기 버스에 의한 수행
출처 : 제로베이스
'공부 Note > 컴퓨터 구조' 카테고리의 다른 글
Chapter 07 병렬 컴퓨터 구조와 성능 구조 (1) (0) | 2022.02.24 |
---|---|
Chapter 06 입출력 구조 (3) (0) | 2022.02.24 |
Chapter 06 입출력 구조 (1) (0) | 2022.02.24 |
Chapter 05 메모리 구조 (4) (0) | 2022.02.24 |
Chapter 05 메모리 구조 (3) (0) | 2022.02.24 |