2020년 2월 24일
버스 중재 (Bus Arbitration)
I. 버스 중재 (Bus Arbitration)의 개요
가. 버스 중재의 개념
- 버스 경합이 발생하였을 때, 각 버스 마스터가 미리 정해진 기준에 따라 순서대로 버스를 사용할 수 있게 해주는 기술
나. 버스 중재를 위한 구성 요소
- 버스 마스터: 시스템 버스에 연결된 컴퓨터의 기본 장치
- 버스 경합: 여러 버스 마스터가 동시에 시스템 버스 사용 요구 시 버스 경합이 발생
- 버스 중재기: 버스 중재를 수행하는 하드웨어 모듈
II. 버스 중재 방식
구분 | 버스 중재 방식 | 설명 |
---|---|---|
버스 중재기의 위치 | 중앙집중식 중재 방식 | – 단독 버스 중재기로, 여러 버스 마스터들이 생성하는 버스 요구 신호들은 버스 중재기가 단독으로 수신 – 버스 중재기는 중재 원칙에 따라 선택된 버스 마스터에게 버스를 사용할 수 있는 승인 신호 전달 |
분산식 중재 방식 | – 버스 마스터들에 각각 별도의 버스 중재기가 존재 – 버스 중재기 회로가 간단하여 동작속도 빠름 – 문제 발생 버스 중재기를 찾기 어렵고, 하나의 버스 중재기 고장이 전체에 영향 가능성 | |
제어 신호의 연결 형태 | 병렬 중재 방식 | – 버스 마스터가 독립적인 버스 요구 신호선을 통해 각 버스 요구 신호를 중재 회로로 입력 – 독립적으로 버스 사용 요구/사용 승인 신호 사용 |
직렬 중재 방식 | – 버스 요구선과 승인 신호 선이 각각 한 개씩 존재하여, 각 신호 선이 버스 마스터에 직렬로 접속 – 접속되는 버스 마스터의 순서에 의해 우선순위 결정 | |
우선순위 결정 방식 | 고정 우선순위 방식 | – 우선순위가 하드웨어로 고정되어 변경 불가 방식 |
가변 우선순위 방식 | – 우선순위가 버스 마스터의 상태에 따라 수시로 변경 | |
폴링 방식 | 하드웨어 폴링 방식 | – 버스 중재기가 각 버스 마스터들에 버스 사용 여부를 n개 폴링선을 사용하여 주기적으로 질의 |
소프트웨어 폴링 방식 | – 폴링의 순서와 과정을 소프트웨어로 수행 – 느리지만 하드웨어 방식에 비해 유연성 높음 |
- 각 분류 방식이 결합하여 조합되어 버스 중재 방식 사용
III. 조합 버스 중재 방식
방식 | 개념도 | 설명 |
---|---|---|
중앙 집중식 고정 우선순위 방식 | – 모든 버스 마스터는 중재기에 하드웨어로 연결 – 근접한 버스 마스터의 우선순위가 가장 높음 | |
분산식 고정 우선순위 방식 | – 버스 마스터가 독립된 중재회로 기반 동작 속도 빠름 – 고장 발생 시 찾는 방법이 복잡하고 전체에 영향 | |
중앙 집중식 직렬 중재방식 | – 버스 중재기에서 출력되는 BGNT 신호 선이 하나로 데이지 체인 형태로 직렬 연결 – 우선순위는 연결된 버스 마스터 순서대로 결정 | |
분산식 직렬 중재방식 | – 각 버스 마스터는 독립적으로 버스 중재기를 소유하며, 순환형 구조 – 데이지 체인 방식의 버스 승인 신호 (DBGNT)가 순환 승인 허가 – 하나의 중재기 결함 시 전체 중단 |
- BREQ: 버스 마스터가 시스템 버스에 사용권한을 요청
- BGNT: 시스템 버스가 CPU로부터 버스 사용권한을 허가 받아 버스 사용권한을 승인
- BBUSY: 이미 사용중인 버스를 다른 버스 마스터가 사용하려고 할 때 사용중이라는 신호