2 minute read

버스 중재

- 버스 경합

    두 개 이상의 버스 마스터들이 동시에 버스 사용을 위해 경쟁하는 상황

- 버스 중재

    버스 경합이 발생한 후 버스 마스터들 중 한 개 씩 선택하여 순서대로 버스를 사용할 수 있게 해주는 동작

    - 버스 중재기

        버스 중재 기능을 수행하는 하드웨어 모듈

    - 버스 중재 방식

        시스템 성능에 많은 영향을 줌

        기능상 중요도가 높은 버스 마스터가 버스 우선 사용 권한 줘야 함

        모든 마스터들이 동등한 우선순위 가진 시스템이면 공정하게 사용할 수 있도록 해야함

        특정 마스터가 매우 오랫동안 버스를 사용하지 못 하게 되는 기근 현상 일어나지 않도록 해야 함

        - 분류

            제어 신호들의 연결 구조와 버스 중재기의 위치에 따라 분류됨

            - 병렬 중재 방식

                 각 버스 마스터가 독립적인 버스 요구 신호를 버스 중재기로 보내며 별도의 버스 승인 신호를 받는 방식

            - 직렬 중재 방식

                 버스 요구 신호와 버스승인 신호가 하나씩 있으며 각 신호 선이 모든 버스 마스터들 간에 직렬로 접속되는 방식

            - 중앙 집중식 중재 방식

                한 개의 버스 중재기가 모든 버스 중재 기능을 수행하는 방식

            - 분산식 중재 방식

                버스 중재 동작이 각 버스 마스터가 별도로 가지고 있는 버스 중재기들에 의해 이루어지는 방식

            - 병렬 중재 방식
                - 중앙식 고정-우선순위 방식

                    각 버스 마스터가 자신의 버스 요구 선을 가지고 있으며, 이들은 모두 하나의 버스 중재기로 접속됨

                    버스 중재기는 한 개 또는 그 이상의 요구 신호를 받아서 그 중에서 우선 순위가 가장 높음 마스터의 버스 승인 신호만 세트 함

                    어떤 버스 마스터가 버스를 사용하고 있는 신호인 BBUSY 를 이용하여 다른 마스터가 버스를 사용하지 못 하도록 막아야 함

                - 분산식 고정-우선순위 방식

                    모든 버스 마스터들이 중재기를 한 개씩 가지고 있음

                    각 버스 마스터의 중재기는 자신보다 더 높은 우선순위를 가진 버스 마스터들의 버스 요구 신호들을 입력받아 검사하고 어느 것도 버스 사용 요구 하지 않은 경우에만 자신의 버스 승인 신호 세트

                    중앙 집중식에 비하여 중재 회로가 간단

                    고장난 중재기를 찾아내기 복잡

                    한 중재기가 고장이 전체 시스템의 동작에 영향 줄 수 있음

                - 가변 우선순위 방식

                    버스 사용 우선순위를 계속 변경시켜서 버스 사용 기회의 불균등이나 기근 현상을 방지해줌

                    회로 구현이 더 어려움

                    - 회전 우선선위

                        버스 승인을 받은 버스 마스터의 우선순위가 가장 낮아지고 그 다음 마스터가 최상위 우선순위를 가지도록 하는 방법

                    - 임의 우선순위

                        각 중재 동작이 끝나 때 마다 난수 발생기로 각 마스터들의 우선 순위를 임으로 정하는 것

                    - 동등 우선순위

                        모든 마스터들이 동등한 우선순위를 가지는 것

                        비동기식 버스 시스템에서만 사용할 수 있음

                    - 최소-최근 사용

                        최근 가장 오랫동안 버스를 사용하지 않은 버스 마스터에게 최상위 우선순위를 할당하는 방식

            - 직렬 중재 방식
                - 중앙집중식 직렬 중재 방식

                    하나의 중재 신호선에 의해 모든 버스 마스터들이 연결되어 있는 데이지 체인의 형태를 이룸

                    마스터들의 우선 순위는 버스 중재기를 시작점으로 하여 승인 신호선이 연결된 순서대로 정해짐

                - 분산식 직렬 중재 방식

                    각 버스 마스터가 자신의 중재기를 가짐

                    데이지-체인 버스 승인 신호 선이 버스 중재기들을 순환형으로 접속한 형태로 구성됨

                    순환형 구조라서 각 마스터의 우선순위가 계속 변함

            - 폴링 방식

                버스 중재기가 각 마스터들이 버스 사용을 원하는지를 주기적으로 검사하여 버스 승인 여부를 결정함

                - 하드웨어 폴링 방식

                    버스 중재기 내의 고정된 하드웨어에 의하여 모든 폴링 동작들과 중재 기능이 수행됨

                    버스 중재기와 각 버스 마스터 사이에 폴링 동작을 위한 별도의 폴링 선이 존재함

                - 소프트웨어 폴링 방식

                    버스 중재기에 프로그램을 실행할 수 있는 간단한 프로세서가 포함되어 있음

                    융통성이 높지만 중재에 소요되는 시간이 비교적 김