KR101051926B1 - 버스 시스템의 버스 중재 장치 및 방법 - Google Patents

버스 시스템의 버스 중재 장치 및 방법 Download PDF

Info

Publication number
KR101051926B1
KR101051926B1 KR1020090037074A KR20090037074A KR101051926B1 KR 101051926 B1 KR101051926 B1 KR 101051926B1 KR 1020090037074 A KR1020090037074 A KR 1020090037074A KR 20090037074 A KR20090037074 A KR 20090037074A KR 101051926 B1 KR101051926 B1 KR 101051926B1
Authority
KR
South Korea
Prior art keywords
bus
master
priority
occupancy
calculating
Prior art date
Application number
KR1020090037074A
Other languages
English (en)
Other versions
KR20100118312A (ko
Inventor
윤영섭
이국표
Original Assignee
인하대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인하대학교 산학협력단 filed Critical 인하대학교 산학협력단
Priority to KR1020090037074A priority Critical patent/KR101051926B1/ko
Publication of KR20100118312A publication Critical patent/KR20100118312A/ko
Application granted granted Critical
Publication of KR101051926B1 publication Critical patent/KR101051926B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/366Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a centralised polling arbiter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/372Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a time-dependent priority, e.g. individually loaded time counters or time slot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/4031Coupling between buses using bus bridges with arbitration

Abstract

본 발명은 마스터별 버스 점유율을 이용하여 마스터들의 버스 사용을 중재함으로써 데이터 전송 효율을 향상시킬 수 있는 버스 시스템의 버스 중재 장치 및 방법에 관한 것으로, 버스 시스템의 버스 중재 장치는 복수의 마스터 및 복수의 슬레이브를 포함하는 버스 시스템의 버스 중재 장치에 있어서, 상기 각 마스터의 버스 점유 횟수를 산출하는 카운터부; 상기 카운터부로부터 제공되는 상기 각 마스터의 버스 점유 횟수와 상기 각 마스터의 전체 버스 점유 횟수를 이용하여 상기 각 마스터의 버스 점유 비율을 산출하는 비율 산출부; 상기 비율 산출부로부터 제공되는 상기 각 마스터의 버스 점유 비율과 기준 점유 비율과의 차이 값을 산출하는 비교부; 상기 비교부로부터 제공되는 상기 차이 값을 이용하여 상기 각 마스터의 버스 사용 우선순위를 결정하는 우선순위 결정부; 및 상기 각 마스터의 버스 사용 요청에 응답하여 상기 우선순위 결정부에 의해 결정된 상기 각 마스터의 버스 사용 우선순위에 따라 상기 각 마스터의 버스 사용 권한 신호를 생성하여 해당 마스터의 버스 사용 권한을 부여하는 버스 중재부를 포함하여 구성되는 것을 특징으로 한다.
버스 중재, 마스터, 버스, 버스 점유율, 우선순위

Description

버스 시스템의 버스 중재 장치 및 방법{METHOD AND APPARATUS FOR ARBITRATING BUS OF BUS SYSTEM}
본 발명은 버스 시스템에 관한 것으로, 보다 구체적으로, 마스터별 버스 점유율을 이용하여 마스터들의 버스 사용을 중재함으로써 데이터 전송 효율을 향상시킬 수 있는 버스 시스템의 버스 중재 장치 및 방법에 관한 것이다.
반도체 제조 공정의 발달에 힘입어 서로 다른 기능을 수행하는 여러 컴포넌트들을 하나의 칩(Chip)에 집적시키는 SoC(System on Chip) 기술이 계발되어 회로설계에 널리 이용되고 있다. 이러한, SoC(System on Chip)는 시스템 설계와 구현 시 칩 크기와 설계비용을 점감시킴과 아울러, 구동 시 저전력 소모와 실시간 처리 능력 및 시스템의 유연성 면에서 향상된 성능을 제공할 수 있다.
SoC의 구성요소는 복수의 마스터(Master)와 아비터(Arbiter), 복수의 슬레이브(Slave) 및 마스터와 슬레이브 간의 데이터 송신을 위한 공용 버스(Shared Bus)로 이루어져 있다. 일반적으로 마스터는 프로세서(CPU), DMA(Direct Memory Access), DSP(digital signal processor)를 의미하며, 슬레이브는 SDRAM, SRAM과 같은 메모리와, USB(Universal Serial Bus) 및 UART(Universal Asynchronous Receiver Transmitter)와 같은 입력/출력 수단을 의미한다.
하나의 칩에 여러 가지의 기능이 집적화된 SoC 칩의 경우, 하나의 버스에 마스터, 아비터, 슬레이브 등이 연결된 버스 시스템이 필요하다. 다수의 마스터들이 하나의 버스를 이용하여 데이터를 송수신하고자 하는 경우, 동시에 데이터를 송수신할 수 없기 때문에 아비터로부터 버스 이용 허가 신호를 받은 마스터들이 순서대로 버스를 이용하게 된다.
다수의 마스터들이 하나의 버스를 동시에 이용하고자 하는 경우, 아비터에 의해 버스 이용 허가 신호를 받은 마스터들이 순서대로 버스를 이용하여 데이터를 슬레이브로 전송하거나, 슬레이브로부터 데이터를 수신하게 된다. 이를 위해, 아비터는 다수의 마스터들이 동시에 버스 이용을 요청할 때 우선 순위를 결정하게 되는데, 아비터의 우선 순위 결정 방식에 따라 칩의 성능이 달라지게 된다.
아비터에서 사용되는 우선 순위 결정 방식에는 고정된 우선 순위(Fixed Priority) 판단 방법과, 라운드 로빈 우선 순위(Round Robin Priority) 판단 방법이 있다.
고정된 우선 순위 판단 방법은 다수의 마스터들에 대해 미리 정해진 우선 순위에 따라 버스 사용권을 주는 방식이다. 즉, 각각의 마스터에 대해 우선 순위를 프로세서, DSP, DMA1, DMA2의 순서로 1, 2, 3, 4 순위를 순차적으로 정해 놓고, 마스터들이 동시에 접근했을 경우, 우선 순위가 높은 마스터에게 버스 사용권을 주게 된다.
이러한, 고정된 우선 순위 판단 방법은 마스터가 처리하게 될 데이터의 특성 의 고려 없이 단순히 마스터의 종류에 따라 우선 순위를 결정하기 때문에 데이터 처리 시간 측면에서 효율적이지 못하고, 우선 순위가 낮은 특정 마스터에 스타베이션(Starvation)이 발생될 수 있는 문제점이 있다.
라운드 로빈 우선 순위 판단 방법은 마스터의 버스 우선 순위를 시간에 따라서 다르게 변화시켜 버스 사용권을 골고루 주는 방식이다. 즉, 마스터에 일정시간을 할당하고, 할당된 시간이 지나면 그 마스터는 잠시 보류한 뒤 다른 마스터에게 버스 사용권을 주고, 해당 할당 시간이 지나면, 또 그 다음 마스터에게 버스 사용권을 주게 된다.
이러한, 라운드 로빈 우선 순위 판단 방법은 고정된 우선 순위 없이 마스터에 할당된 시간 정보를 참조하여 우선 순위를 정하기 때문에 빨리 처리해야 할 중요한 특정 마스터의 처리가 늦어지는 문제점이 있다.
따라서, 마스터의 특성을 고려하여 데이터 전송을 수행함과 아울러, 특정 마스터의 스타베이션의 발생을 방지함으로써 데이터 전송 효율을 향상시킬 수 있는 버스 시스템의 버스 중재 장치 및 방법이 요구된다.
본 발명은 상술한 문제점을 해결하기 위한 것으로서, 마스터별 버스 점유율을 이용하여 마스터들의 버스 사용을 중재함으로써 데이터 전송 효율을 향상시킬 수 있는 버스 시스템의 버스 중재 장치 및 방법을 제공하는 것을 기술적 과제로 한다.
상술한 기술적 과제를 달성하기 위한 본 발명의 버스 시스템의 버스 중재 장치는 복수의 마스터 및 복수의 슬레이브를 포함하는 버스 시스템의 버스 중재 장치에 있어서, 상기 각 마스터의 버스 점유 횟수를 산출하는 카운터부; 상기 카운터부로부터 제공되는 상기 각 마스터의 버스 점유 횟수와 상기 각 마스터의 전체 버스 점유 횟수를 이용하여 상기 각 마스터의 버스 점유 비율을 산출하는 비율 산출부; 상기 비율 산출부로부터 제공되는 상기 각 마스터의 버스 점유 비율과 기준 점유 비율과의 차이 값을 산출하는 비교부; 상기 비교부로부터 제공되는 상기 차이 값을 이용하여 상기 각 마스터의 버스 사용 우선순위를 결정하는 우선순위 결정부; 및 상기 각 마스터의 버스 사용 요청에 응답하여 상기 우선순위 결정부에 의해 결정된 상기 각 마스터의 버스 사용 우선순위에 따라 상기 각 마스터의 버스 사용 권한 신호를 생성하여 해당 마스터의 버스 사용 권한을 부여하는 버스 중재부를 포함하여 구성되는 것을 특징으로 한다.
상기 카운터부는 상기 버스 사용 권한 신호에 따른 상기 각 마스터의 버스 사용에 대응되는 클럭신호를 카운팅하여 상기 각 마스터의 버스 점유 횟수를 산출하는 복수의 카운터를 포함하여 구성되는 것을 특징으로 한다.
상기 우선순위 결정부는 상기 차이 값이 큰 순으로 상기 각 마스터의 우선순위를 결정하고, 상기 차이 값이 동일한 경우 상기 마스터의 종류에 따라 미리 설정된 우선순위에 기초하여 상기 각 마스터의 우선순위를 결정하는 것을 특징으로 한다.
상술한 기술적 과제를 달성하기 위한 본 발명의 버스 시스템의 버스 중재 방법은 복수의 마스터 및 복수의 슬레이브를 포함하는 버스 시스템의 버스 중재 방법에 있어서, 상기 각 마스터의 버스 점유 횟수를 산출하는 단계; 상기 카운터부로부터 제공되는 상기 각 마스터의 버스 점유 횟수를 이용하여 상기 각 마스터의 버스 점유 비율을 산출하는 단계; 상기 비율 산출부로부터 제공되는 상기 각 마스터의 버스 점유 비율과 기준 점유 비율과의 차이 값을 산출하는 단계; 상기 비교부로부터 제공되는 상기 차이 값을 이용하여 상기 각 마스터의 버스 사용 우선순위를 결정하는 단계; 및 상기 각 마스터의 버스 사용 요청에 응답하여 상기 결정된 각 마스터의 버스 사용 우선순위에 따라 상기 각 마스터의 버스 사용 권한 신호를 생성하여 해당 마스터의 버스 사용 권한을 부여하는 단계를 포함하여 이루어지는 것을 특징으로 한다.
상기 각 마스터의 버스 점유 횟수를 산출하는 단계는 상기 버스 사용 권한 신호에 따른 상기 각 마스터의 버스 사용에 대응되는 클럭신호를 카운팅하여 상기 각 마스터의 버스 점유 횟수를 산출하는 것을 특징으로 한다.
상술한 바와 같이 본 발명은 다음과 같은 효과가 있다.
첫째, 마스터별 버스 점유율에 따라 버스 사용의 우선순위를 결정하여 버스 사용을 중재함으로써 데이터 전송 효율을 향상시킬 수 있는 효과가 있다.
둘째, 각 마스터별 버스 점유율을 사용자가 설정하여 제어할 수 있으므로 사용자가 각 마스터의 데이터 전송을 효율적으로 관리할 수 있도록 할 수 있는 효과가 있다.
이하 첨부된 도면을 참조하여 본 발명의 실시 예에 대해 상세히 설명한다.
도 1은 본 발명의 실시 예에 따른 버스 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 본 발명에 따른 버스 시스템은 복수의 마스터(1201 내지 120n); 하나의 버스(130); 복수의 슬레이브(1401 내지 140n); 및 버스 중재 장치(150)를 포함한다.
복수의 마스터(1201 내지 120n) 각각이 복수의 슬레이브(1401 내지 140n) 각각에 접속하고자 하는 경우 즉, 각 마스터들(1201 내지 120n)이 슬레이브들(1401 내지 140n)로 데이터를 송신하거나, 슬레이브들(1401 내지 140n)로부터 데이터를 로딩하고자 하는 경우, 버스 중재 장치(150)에게 버스(130)의 이용을 요청하게 된다. 이때, 버스 중재 장치(150)는 각 마스터(1201 내지 120n)의 버스 점유율을 이용하여 각 마스터(1201 내지 120n)의 버스(130) 이용의 우선권을 결정하며, 각 마스터(1201 내지 120n)는 버스 중재 장치(150)로부터 버스(130)의 이용 승인에 따라 버스(130)를 통해 슬레이브들(1401 내지 140n)에 접속하게 된다. 이하의 본 발명에 따른 버스 시스템에서는 마스터 1 내지 마스터 4로 구성되는 것으로 가정하여 설명하기로 한다.
버스 중재 장치(150)는, 도 2에 도시된 바와 같이, 카운터부(200); 비율 산출부(210); 비교부(220); 우선순위 결정부(230); 및 버스 중재부(240)를 포함하여 구성될 수 있다.
카운터부(200)는 각 마스터들(1201 내지 120n)의 버스 점유(또는 사용) 신호(M[x])에 따라 클럭신호(HCLK)를 카운팅하여, 도 3에 도시된 바와 같이, 각 마스터들(1201 내지 120n)의 버스 점유 횟수를 산출한다. 이를 위해, 카운터부(200)는 각 마스터들(1201 내지 120n)의 버스 점유 횟수를 산출하기 위하여 각 마스터들(1201 내지 120n)에 대응되는 복수의 카운터를 포함하여 구성된다. 여기서, 각 마스터들(1201 내지 120n)의 버스 점유율은 각 마스터들(1201 내지 120n)의 버스 사용 요청 신호(Req[x])를 이용하여 산출할 수 있으나, 각 마스터들(1201 내지 120n)의 버스 사용 요청에 따른 버스 점유시 각 마스터들(1201 내지 120n) 마다 송수신하는 데이터 량이 달라질 수 있기 때문에 각 마스터들(1201 내지 120n)의 버스 점유율을 정확하게 산출하는데 한계가 있다. 이에 따라, 본 발명에서는 각 마스터들(1201 내지 120n)의 버스 사용시 클럭신호(HCLK)의 개수를 카운팅함으로써 각 마스터들(1201 내지 120n)의 버스 점유율을 보다 정확하게 산출하게 된다.
비율 산출부(210)는 카운터부(200)의 각 카운터로부터 제공되는 각 마스터들(1201 내지 120n)의 버스 점유 횟수를 이용하여 각 마스터들(1201 내지 120n)의 버스 점유 비율을 산출한다. 이때, 비율 산출부(210)는 도 3에 도시된 바와 같이, 카운터부(200)로부터 제공되는 각 마스터들(1201 내지 120n)의 버스 점유 횟수를 이용하여, 아래의 수학식 1을 통해, 각 마스터들(1201 내지 120n)의 버스 점유 비율을 산출한다. 이때, 비율 산출부(210)는 소수점 첫째 자리에서 반올림 연산을 수행할 수 있다.
버스 점유 비율 = M[x]/T×100
수학식 1에 있어서, M[x]은 마스터 x의 버스 점유 횟수를 나타내고, T는 마스터 1(M0), 마스터 2(M1), 마스터 3(M2), 마스터 4(M3) 각각의 버스 점유 횟수의 합을 나타낸다.
예를 들어, 도 3에 도시된 바와 같이, 마스터 1(M0)의 버스 점유 횟수가 "9", 마스터 2(M1)의 버스 점유 횟수가 "7", 마스터 3(M2)의 버스 점유 횟수가 "4", 마스터 4(M3)의 버스 점유 횟수가 "3"일 경우, 비율 산출부(210)는, 도 4에 도시된 바와 같이, 상기의 수학식 1을 통해 마스터 1(M0)의 버스 점유 비율을 "39", 마스터 2(M1)의 버스 점유 비율을 "31", 마스터 3(M2)의 버스 점유 비율을 "17", 마스터 4(M3)의 버스 점유 비율을 "13"으로 산출하여 비교부(220)에 제공한다.
비교부(220)는 비율 산출부(210)로부터 제공되는 각 마스터들(1201 내지 120n)의 버스 점유 비율을 기준 점유 비율과의 차이 값을 산출하여 우선순위 결정부(230)에 제공한다. 여기서, 기준 점유 비율은 사용자의 기준 점유 비율 설정 신 호(MBR)에 따라 설정되는 것으로, 이하에서는 마스터 1 내지 마스터 4 각각의 기준 점유 비율을 40:30:20:10으로 가정하기로 한다. 예를 들어, 비교부(220)는, 도 4에 도시된 바와 같이, 마스터 1(M0)의 버스 점유 비율이 "39", 마스터 2(M1)의 버스 점유 비율이 "31", 마스터 3(M2)의 버스 점유 비율이 "17", 마스터 4(M3)의 버스 점유 비율이 "13"일 경우, 비교부(220)는, 도 5에 도시된 바와 같이, 마스터 1(M0)에 대한 차이 값으로 "1", 마스터 2(M1)에 대한 차이 값으로 "-1", 마스터 3(M2)에 대한 차이 값으로 "3", 마스터 4(M3)에 대한 차이 값으로 "-3"을 산출하게 된다.
우선순위 결정부(230)는 비교부(220)로부터 제공되는 차이 값의 크기에 따라 각 마스터들(1201 내지 120n)의 우선순위를 결정하여 버스 중재부(240)에 제공한다. 이때, 우선순위 결정부(230)는 비교부(220)로부터 제공되는 차이 값이 큰 순으로 각 마스터들(1201 내지 120n)의 우선순위를 결정한다. 여기서, 비교부(220)로부터 제공되는 차이 값이 동일할 경우 우선순위 결정부(230)는 미리 설정된 마스터의 종류에 따라 우선순위를 결정하게 된다. 예를 들어, 도 5에 도시된 바와 같이, 마스터 1(M0)에 대한 차이 값이 "1", 마스터 2(M1)에 대한 차이 값이 "-1", 마스터 3(M2)에 대한 차이 값이 "3", 마스터 4(M3)에 대한 차이 값이 "-3"일 경우, 우선순위 결정부(230)는, 도 6에 도시된 바와 같이, 마스터 3(M2)을 제 1 우선순위, 마스터 1(M0)을 제 2 우선순위, 마스터 2(M1)를 제 3 우선순위, 마스터 4(M3)를 제 4 우선순위로 결정하게 된다. 이렇게 결정된 각 마스터들(1201 내지 120n)의 우선순위는 다음 사이클에 각 마스터들(1201 내지 120n)로부터 요청되는 버스 사용 요청시에 적용된다.
버스 중재부(240)는 각 마스터들(1201 내지 120n)에 버스 사용 요청(Req[x])에 응답하여 우선순위 결정부(230)로부터 제공되는 각 마스터들(1201 내지 120n)의 우선순위에 따라 버스 사용 권한 신호(Grant[x])를 생성하여 해당 마스터(1201 내지 120n)에 제공한다. 이때, 버스 중재부(240)는 복수의 마스터(1201 내지 120n) 중 하나의 마스터가 버스 사용을 요청할 경우에는 우선순위 결정부(230)로부터 제공되는 각 마스터들(1201 내지 120n)의 우선순위에 상관없이 버스 사용 요청한 마스터에 버스 사용 권한을 부여하고, 복수의 마스터(1201 내지 120n) 중 적어도 2개의 마스터가 버스 사용을 동시에 요청할 경우에는 우선순위 결정부(230)로부터 제공되는 각 마스터들(1201 내지 120n)의 우선순위에 따라 마스터들(1201 내지 120n)의 버스 사용 권한을 부여한다.
도 7a 내지 도 7d는 본 발명에 따른 버스 중재 장치에 있어서, 각 마스터의 버스 사용 요청 사이클에 대한 각 마스터의 버스 대역폭을 설명하기 위한 도면이다.
먼저, 도 7a는 마스터 1 내지 마스터 4 각각의 기준 점유 비율을 40:30:20:10으로 설정하여 마스터 1 내지 마스터 4의 버스 점유율을 측정한 그래프로써, 도 7a에서 알 수 있듯이, 마스터 1 내지 마스터 4의 버스 대역폭이 1000 사이클 이후에서 설정된 기준 점유 비율과 일치함을 알 수 있다.
마찬가지로, 도 7b는 마스터 1 내지 마스터 4 각각의 기준 점유 비율을 40:35:15:10으로 설정하여 마스터 1 내지 마스터 4의 버스 점유율을 측정한 그래프 로써, 도 7b에서 알 수 있듯이, 마스터 1 내지 마스터 4의 버스 대역폭이 1000 사이클 이후에서 설정된 기준 점유 비율과 일치함을 알 수 있다.
마찬가지로, 도 7c는 마스터 1 내지 마스터 4 각각의 기준 점유 비율을 40:30:15:15로 설정하여 마스터 1 내지 마스터 4의 버스 점유율을 측정한 그래프로써, 도 7c에서 알 수 있듯이, 마스터 1 내지 마스터 4의 버스 대역폭이 1000 사이클 이후에서 설정된 기준 점유 비율과 일치함을 알 수 있다.
마찬가지로, 도 7d는 마스터 1 내지 마스터 4 각각의 기준 점유 비율을 30:30:20:20로 설정하여 마스터 1 내지 마스터 4의 버스 점유율을 측정한 그래프로써, 도 7d에서 알 수 있듯이, 마스터 1 내지 마스터 4의 버스 대역폭이 1000 사이클 이후에서 설정된 기준 점유 비율과 일치함을 알 수 있다.
결과적으로, 본 발명은 복수의 마스터(1201 내지 120n) 각각의 버스 점유율에 따라 버스 사용의 우선순위를 결정하여 버스 사용을 중재함으로써 데이터 전송 효율을 향상시킴과 아울러 각 마스터(1201 내지 120n)의 버스 점유율을 사용자가 설정하여 제어할 수 있으므로 사용자가 각 마스터(1201 내지 120n)의 데이터 전송을 효율적으로 관리할 수 있도록 할 수 있다.
한편, 상술한 본 발명의 실시 예들에 따른 버스 중재 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터로 판독 가능한 기록 매체에 기록될 수 있다.  이때, 컴퓨터로 판독 가능한 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 한편, 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구 성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터로 판독 가능한 기록매체에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM, DVD와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
한편, 본 발명이 속하는 기술분야의 당업자는 상술한 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있음은 당 업자에게 자명하다.
그러므로, 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
도 1은 본 발명의 실시 예에 따른 버스 시스템을 설명하기 위한 도면.
도 2는 본 발명의 실시 예에 따른 버스 중재 장치를 설명하기 위한 도면.
도 3은 도 2의 카운터부에 의해 산출되는 각 마스터의 버스 점유 횟수를 나타내는 도면.
도 4는 도 2의 비율 산출부에 의해 산출되는 각 마스터의 버스 점유 비율을 나타내는 도면.
도 5는 도 2의 비교부에 의해 산출되는 각 마스터의 차이 값을 나타내는 도면.
도 6은 도 2의 우선순위 결정부에 의해 결정되는 각 마스터의 우선순위를 나타내는 도면.
도 7a 내지 도 7d는 본 발명에 따른 버스 중재 장치에 있어서, 각 마스터의 버스 사용 요청 사이클에 대한 각 마스터의 버스 대역폭을 설명하기 위한 도면.
< 도면의 주요 부분에 대한 부호설명 >
1201 내지 120n: 마스터 130: 버스
1401 내지 140n: 슬레이브 150: 버스 중재 장치
200: 카운터부 210: 비율 산출부
220: 비교부 230: 우선순위 결정부
240: 버스 중재부

Claims (5)

  1. 복수의 마스터 및 복수의 슬레이브를 포함하는 버스 시스템의 버스 중재 장치에 있어서,
    상기 각 마스터의 버스 점유 횟수를 산출하는 카운터부;
    상기 카운터부로부터 제공되는 상기 각 마스터의 버스 점유 횟수와 상기 각 마스터의 전체 버스 점유 횟수를 이용하여 상기 각 마스터의 버스 점유 비율을 산출하는 비율 산출부;
    상기 비율 산출부로부터 제공되는 상기 각 마스터의 버스 점유 비율과 기준 점유 비율과의 차이 값을 산출하는 비교부;
    상기 비교부로부터 제공되는 상기 차이 값을 이용하여 상기 각 마스터의 버스 사용 우선순위를 결정하는 우선순위 결정부; 및
    상기 각 마스터의 버스 사용 요청에 응답하여 상기 우선순위 결정부에 의해 결정된 상기 각 마스터의 버스 사용 우선순위에 따라 상기 각 마스터의 버스 사용 권한 신호를 생성하여 해당 마스터의 버스 사용 권한을 부여하는 버스 중재부를 포함하여 구성되며,
    상기 우선순위 결정부는 상기 차이 값이 큰 순으로 상기 각 마스터의 우선순위를 결정하고, 상기 차이 값이 동일한 경우 상기 마스터의 종류에 따라 미리 설정된 우선순위에 기초하여 상기 각 마스터의 우선순위를 결정하는 것을 특징으로 하는 버스 시스템의 버스 중재 장치.
  2. 제 1 항에 있어서,
    상기 카운터부는 상기 버스 사용 권한 신호에 따른 상기 각 마스터의 버스 사용에 대응되는 클럭신호를 카운팅하여 상기 각 마스터의 버스 점유 횟수를 산출 하는 복수의 카운터를 포함하여 구성되는 것을 특징으로 하는 버스 시스템의 버스 중재 장치.
  3. 삭제
  4. 복수의 마스터 및 복수의 슬레이브를 포함하는 버스 시스템의 버스 중재 방법에 있어서,
    상기 각 마스터의 버스 점유 횟수를 산출하는 단계;
    상기 산출된 각 마스터의 버스 점유 횟수를 이용하여 상기 각 마스터의 버스 점유 비율을 산출하는 단계;
    상기 산출된 각 마스터의 버스 점유 비율과 기준 점유 비율과의 차이 값을 산출하는 단계;
    상기 산출된 차이 값이 큰 순으로 상기 각 마스터의 우선순위를 결정하거나, 상기 산출된 차이 값이 동일한 경우 상기 마스터의 종류에 따라 미리 설정된 우선순위에 기초하여 상기 각 마스터의 우선순위를 결정하는 단계; 및
    상기 각 마스터의 버스 사용 요청에 응답하여 상기 결정된 각 마스터의 버스 사용 우선순위에 따라 상기 각 마스터의 버스 사용 권한 신호를 생성하여 해당 마스터의 버스 사용 권한을 부여하는 단계를 포함하여 이루어지는 것을 특징으로 하는 버스 시스템의 버스 중재 방법.
  5. 제 4 항에 있어서,
    상기 각 마스터의 버스 점유 횟수를 산출하는 단계는 상기 버스 사용 권한 신호에 따른 상기 각 마스터의 버스 사용에 대응되는 클럭신호를 카운팅하여 상기 각 마스터의 버스 점유 횟수를 산출하는 것을 특징으로 하는 버스 시스템의 버스 중재 방법.
KR1020090037074A 2009-04-28 2009-04-28 버스 시스템의 버스 중재 장치 및 방법 KR101051926B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090037074A KR101051926B1 (ko) 2009-04-28 2009-04-28 버스 시스템의 버스 중재 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090037074A KR101051926B1 (ko) 2009-04-28 2009-04-28 버스 시스템의 버스 중재 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20100118312A KR20100118312A (ko) 2010-11-05
KR101051926B1 true KR101051926B1 (ko) 2011-07-26

Family

ID=43404644

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090037074A KR101051926B1 (ko) 2009-04-28 2009-04-28 버스 시스템의 버스 중재 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101051926B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102012699B1 (ko) 2013-01-25 2019-08-21 삼성전자 주식회사 다중 버스 시스템 및 이를 포함하는 반도체 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050001799A (ko) * 2003-06-26 2005-01-07 삼성전자주식회사 동적으로 버스 점유 우선 순위를 정하는 버스 중재기 및그 버스 중재 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050001799A (ko) * 2003-06-26 2005-01-07 삼성전자주식회사 동적으로 버스 점유 우선 순위를 정하는 버스 중재기 및그 버스 중재 방법

Also Published As

Publication number Publication date
KR20100118312A (ko) 2010-11-05

Similar Documents

Publication Publication Date Title
EP3238083B1 (en) Mitigating traffic steering inefficiencies in distributed uncore fabric
TWI496005B (zh) 共享資源的仲裁方法及裝置
US9367498B2 (en) Resource request arbitration device, resource request arbitration system, resource request arbitration method, integrated circuit, and program
JP4974508B2 (ja) バスマスタ装置、バス調停装置及びバス調停方法
KR102605127B1 (ko) 계층적 대역폭 할당 버스 중재기
US9798686B2 (en) Slave side bus arbitration
WO2007004696A1 (ja) アクセス制御装置、アクセス制御集積回路、及びアクセス制御方法
US20080059674A1 (en) Apparatus and method for chained arbitration of a plurality of inputs
JP2006523902A (ja) ラウンド・ロビン資源アービトレーション方法とそのための装置
Shrivastava et al. Various arbitration algorithm for on-chip (AMBA) shared bus multi-processor SoC
JP4308578B2 (ja) 集積回路装置のバスアービター
US20040193767A1 (en) Method and apparatus for bus access allocation
US9830195B2 (en) Apparatus and method for controlling execution of processes in a parallel computing system
KR101051926B1 (ko) 버스 시스템의 버스 중재 장치 및 방법
Khanam et al. Design a low latency Arbiter for on chip Communication Architecture
Lin et al. A precise bandwidth control arbitration algorithm for hard real-time SoC buses
Noami et al. High priority arbitration for less burst data transactions for improved average waiting time of Multi-Processor Cores
US6889283B2 (en) Method and system to promote arbitration priority in a buffer queue
KR100973419B1 (ko) 버스 중재 방법 및 장치
KR101013769B1 (ko) 버스 중재방법 및 장치
US7130947B2 (en) Method of arbitration which allows requestors from multiple frequency domains
KR101041477B1 (ko) 버스 시스템의 버스 중재 장치 및 방법
Doifode et al. Dynamic lottery bus arbiter for shared bus system on chip: a design approach with VHDL
Doifode et al. Design and performance analysis of efficient bus arbitration schemes for on-chip shared bus multi-processor soc
JPH1125035A (ja) バス調停装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140612

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150626

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160602

Year of fee payment: 6