KR20070089264A - 버스 중재 시스템 및 버스 중재 방법 - Google Patents

버스 중재 시스템 및 버스 중재 방법 Download PDF

Info

Publication number
KR20070089264A
KR20070089264A KR1020060019033A KR20060019033A KR20070089264A KR 20070089264 A KR20070089264 A KR 20070089264A KR 1020060019033 A KR1020060019033 A KR 1020060019033A KR 20060019033 A KR20060019033 A KR 20060019033A KR 20070089264 A KR20070089264 A KR 20070089264A
Authority
KR
South Korea
Prior art keywords
master
bus
data
buffer
priority
Prior art date
Application number
KR1020060019033A
Other languages
English (en)
Other versions
KR100839494B1 (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 KR1020060019033A priority Critical patent/KR100839494B1/ko
Priority to US11/710,980 priority patent/US20070233923A1/en
Publication of KR20070089264A publication Critical patent/KR20070089264A/ko
Application granted granted Critical
Publication of KR100839494B1 publication Critical patent/KR100839494B1/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
    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04CSTRUCTURAL ELEMENTS; BUILDING MATERIALS
    • E04C2/00Building elements of relatively thin form for the construction of parts of buildings, e.g. sheet materials, slabs, or panels
    • E04C2/02Building elements of relatively thin form for the construction of parts of buildings, e.g. sheet materials, slabs, or panels characterised by specified materials
    • E04C2/10Building elements of relatively thin form for the construction of parts of buildings, e.g. sheet materials, slabs, or panels characterised by specified materials of wood, fibres, chips, vegetable stems, or the like; of plastics; of foamed products
    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04FFINISHING WORK ON BUILDINGS, e.g. STAIRS, FLOORS
    • E04F13/00Coverings or linings, e.g. for walls or ceilings
    • E04F13/07Coverings or linings, e.g. for walls or ceilings composed of covering or lining elements; Sub-structures therefor; Fastening means therefor
    • E04F13/08Coverings or linings, e.g. for walls or ceilings composed of covering or lining elements; Sub-structures therefor; Fastening means therefor composed of a plurality of similar covering or lining elements
    • E04F13/0866Coverings or linings, e.g. for walls or ceilings composed of covering or lining elements; Sub-structures therefor; Fastening means therefor composed of a plurality of similar covering or lining elements composed of several layers, e.g. sandwich panels or layered panels

Landscapes

  • Engineering & Computer Science (AREA)
  • Architecture (AREA)
  • Theoretical Computer Science (AREA)
  • Civil Engineering (AREA)
  • Structural Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Wood Science & Technology (AREA)
  • Bus Control (AREA)

Abstract

버스 중재 시스템 및 버스 중재 방법이 개시된다. 버스 중재 시스템은 적어도 하나 이상의 마스터에에 구비되고, 상기 마스터들의 버퍼의 데이터 큐 길이가 해당 마스터에 따라 기설정된 소정 임계 값 이상인 경우를 감지하여 제어 신호를 발생하는 버퍼 상태 감지부와, 상기 복수의 마스터들에 대해 소정의 우선 순위 기준에 따라 버스 사용을 중재하되, 최우선 순위를 가지는 제 1 마스터 및 상기 제 1 마스터를 제외한 버스 마스터 중 어느 하나인 제 2 마스터로부터 상기 제어 신호가 각각 입력되는 경우 상기 제 2 마스터에게 버스 사용을 허가하도록 선택적으로 우선 순위를 변경하는 버스 중재부를 포함한다. 따라서, 실시간으로 버스의 환경을 반영하여 기능 블록의 버스 점유율을 선택적으로 수정할 수 있으므로 버스 중재의 효율성이 증대된다.

Description

버스 중재 시스템 및 버스 중재 방법{METHOD AND SYSTEM FOR BUS ARBITRATION}
도 1은 본 발명의 일실시예에 따른 버스 조정 시스템을 설명하기 위한 도면이다.
도 2는 본 발명의 일실시예에 따른 각 버스 마스터의 구성을 간략하게 나타내는 블록도이다.
도 3은 본 발명의 일 실시예에 따른 버스 중재 시스템을 나타내는 블록도이다.
도 4는 본 발명의 일 실시예에 따른 버스 조정 방법을 나타내는 순서도이다.
도 5는 본 발명의 다른 실시예에 따른 버스 조정 방법을 나타내는 순서도이다.
* 도면의 주요 부분에 대한 부호의 설명 *
100 : 버스 중재기
200, 210, 220, 230 : 버스 마스터
300 : 버퍼부
310 : 버퍼 상태 감지부
본 발명은 복수의 버스 마스터들의 버스 사용 빈도를 제어할 수 있는 버스 중재 시스템 및 버스 중재 방법에 관한 것이다.
일반적으로, 다양한 기능 블록 사이에 제어신호와 데이터를 주고받기 위한 프로토콜로서 버스(bus) 시스템이 존재한다. 일반적인 버스 시스템은 다수 개의 마마스터(master)와 다수 개의 슬레이브(slave), 그리고 하나의 버스 중재기(bus arbiter)를 포함한다. 상기 마스터들은 상기 슬레이브에 속하는 기능 블록들 중에 어느 하나에 데이터를 쓰거나(write), 데이터를 읽기(read) 위하여 버스를 사용하여야 한다. 따라서, 버스를 사용하고자 하는 마스터는 버스 사용 요구가 있는 경우 상기 버스 중재기에 버스 사용을 요구하는 정보를 담고 있는 요구 신호(request signal)를 출력한다. 이에 따라 상기 버스 중재기는 버스에 접속된 다수 개의 버스 마스터들 사이에서의 버스 점유를 허가할 마스터를 선택하도록 중재(arbitation)를 수행한다.
상기 버스 중재는 각 버스 마스터에 할당된 우선 순위를 고려하여 우선 순위가 가장 높은 버스 마스터에 버스 점유를 허가하는 허가 신호(grant signal)를 출력한다. 상기 허가 신호에 따라, 각 마스터는 버스를 통해 상기 슬레이브에 데이터의 읽기나 쓰기 동작을 수행할 수 있다.
버스 마스터들에 우선 순위를 할당하는 방법은 고정 우선순위(fixed priority) 방식과 라운드 로빈(round-robin) 방식을 포함한다. 상기 고정 우선순위 방식은 각 버스 마스터들에게 미리 고정된 우선순위가 할당된다. 상기 라운드 로빈(round-robin) 방식은 우선 순위가 버스 마스터들에 대해 동일한 기회로 순환하는 방식으로, 일반적으로 하나의 리스트의 맨 위로부터 맨 아래로 가며 하나씩 선택하고, 다시 리스트의 맨 위로 되돌아가서 계속 진행하는 방법이다. 즉, 라운드 로빈 방식에서는, 어느 마스터에 허가 신호가 출력된 경우, 최고 우선 순위가 할당되었던 그 마스터는 최하위 순위를 할당받게 되고, 다음 순위의 마스터가 최고 순위로 변동된다.
따라서, 라운드 로빈 방식을 사용하는 버스 중재기에서는, 각 버스 마스터가 공평하게 버스를 할당받으므로, 소정의 버스 마스터가 우선적으로 버스를 사용해야 할 필요가 있는 경우라도 상기 소정의 버스 마스터는 우선적으로 버스를 사용하지 못하는 문제점이 있다. 즉, 버스로의 접근 빈도가 높은 마스터의 경우, 예를 들어, 주기적으로 데이터 전송을 해야 하는 영상 입력 장치나 디스플레이 장치의 경우에도 동일한 버스 점유율이 할당되므로 최적의 버스 중재가 제공되지 않을 수 있다.
또한, 고정 우선순위 방식을 사용하는 버스 중재기에서는, 우선 순위가 낮은 버스 마스터의 경우, 데이터 전송량이 갑작스럽게 과다 발생하는 경우 마스터간의 데이터 처리량에 따라 버스를 점유하지 못하여 데이터 유실이 발생하거나 버스를 영원히 사용하지 못하여 기아현상(Starvation)이 나타날 수 있다는 문제점이 있다. 즉, 버스 마스터 내부에 구비된 버퍼의 데이터 점유 상태를 실시간으로 반영하지 못함으로써 시스템 성능이 저하될 수 있다.
본 발명의 목적은 실시간으로 버스 환경을 반영하여 각 마스터의 우선 순위를 선택적으로 수정할 수 있는 버스 중재 시스템을 제공하는 것이다.
본 발명의 다른 목적은 실시간으로 버스 환경을 반영하여 각 마스터의 우선 순위를 선택적으로 수정할 수 있는 버스 중재 방법을 제공하는 것이다.
상기한 목적을 달성하기 위하여 본 발명의 일실시예에 따른 버스 중재 시스템은 적어도 하나 이상의 마스터에에 구비되고, 상기 마스터들의 버퍼의 데이터 큐 길이가 해당 마스터에 따라 기설정된 소정 임계 값 이상인 경우를 감지하여 제어 신호를 발생하는 버퍼 상태 감지부 및 상기 복수의 마스터들에 대해 소정의 우선 순위 기준에 따라 버스 사용을 중재하되, 최우선 순위를 가지는 제 1 마스터 및 상기 제 1 마스터를 제외한 버스 마스터 중 어느 하나인 제 2 마스터로부터 상기 제어 신호가 각각 입력되는 경우 상기 제 2 마스터에게 버스 사용을 허가하도록 선택적으로 우선 순위를 변경하는 버스 중재부를 포함한다.
예를 들어, 상기 제 1 마스터에 대해 소정의 제 1 임계 값이 기설정되고, 상기 제 1 임계 값은 상기 제 1 마스터의 버퍼에 데이터 언더플로우(data underflow)가 발생 위험을 알리는 데이터 량으로 설정된다. 또한, 상기 제 2 마스터에 대해 소정의 제 2 임계 값이 기설정되고, 상기 제 2 임계 값은 상기 제 2 마스터의 버퍼에 데이터 오버플로우(data overflow)가 발생될 위험을 알리는 데이터 량으로 설정된다. 상기 제 1 및 제 2 임계 값은 사용자에 의해 변경 가능하다.
상기 제 2 마스터는 상기 제 1 마스터를 제외한 버스 마스터 중 선택적으로 우선 순위가 변경 가능하도록 미리 지정될 수 있다. 또한, 상기 제 2 마스터는 선택적으로 우선 순위가 변경될 수 있는 둘 이상의 마스터를 포함하는 마스터 그룹 내에 속하는 것으로서 상기 마스터 그룹 내에서 가장 높은 우선 순위를 가지는 마스터일 수 있다.
본 발명의 다른 실시예에 따른 버스 중재 시스템은 전송 데이터를 데이터 태그 순서대로 저장하는 데이터 큐의 길이를 감지하여 제 1 임계 값 이상인 경우 플래그 신호를 발생하는 제 1 마스터, 상기 제 1 마스터 보다 높은 우선 순위를 가지고, 상기 플래그 신호에 응답하여 자신의 데이터 큐의 길이 정보를 출력하는 제 2 마스터 및 상기 제 2 마스터로부터 출력되는 데이터 큐의 길이 정보에 근거하여 선택적으로 상기 제 2 마스터의 우선 순위를 재조정하는 버스 중재부를 포함한다.
예를 들어, 상기 제 2 마스터는 버스에 연결된 모든 마스터들 중에서 가장 높은 우선 순위를 갖는다. 상기 제 2 마스터로부터 출력되는 데이터 큐의 길이 정보는 상기 제 2 마스터의 버퍼의 데이터 큐의 길이가 소정의 제 2 임계 값보다 큰지 여부를 포함한다. 상기 제 2 임계 값은 상기 제 2 마스터의 버퍼에 데이터 언더플로우(data underflow)의 발생 위험을 알리는 데이터 량으로 설정된다. 상기 제 1 임계 값은 상기 제 1 마스터의 버퍼에 데이터 오버플로우(data overflow)의 발생 위험을 알리는 데이터 량으로 설정된다. 또한, 상기 제 1 및 제 2 임계 값은 사용자에 의해 변경 가능하다. 상기 제 2 마스터의 버퍼의 데이터 큐의 길이가 상기 소정의 제 2 임계 값보다 큰 경우, 상기 제 1 마스터에게 버스 사용을 허가하도록 선 택적으로 우선 순위가 변경된다.
본 발명의 다른 목적을 달성하기 위한 버스 중재 방법은 상대적으로 낮은 우선 순위를 갖는 제 1 마스터의 버퍼의 데이터 큐 길이를 감지하는 단계, 상기 제 1 마스터의 버퍼의 데이터 큐 길이가 소정의 제 1 임계 값 이상인 경우 플래그 신호를 발생하는 단계 및 상기 플래그 신호에 응답하여, 상기 제 1 마스터 보다 높은 우선 순위를 가지는 제 2 마스터에 구비된 버퍼의 데이터 큐의 길이 정보에 근거하여 선택적으로 상기 제 1 마스터의 우선 순위를 재조정하는 단계를 포함한다.
이하 본 발명의 실시예들을 도면과 함께 설명하고자 한다.
도 1은 본 발명의 일실시예에 따른 버스 조정 시스템을 설명하기 위한 도면이다.
도 1의 버스 조정 시스템은 하나의 버스 중재기(100) 및 다수의 버스 마스터(200, 210, 220, 230)를 포함한다. 상기 버스 마스터는 디지털 영상 시스템의 경우, CPU(Central Processing Unit), JPEG/MPEG CODEC(Coder/Decoder), 디스플레이 장치, 카메라 인터페이스 등이 있을 수 있다. 상기 버스 마스터들은 메모리 컨트롤러와 같은 슬레이브와 버스를 통해 데이터 전송을 수행하기 위해 버스 사용을 요청하는 요구 신호(REQ1, REQ2, REQ3, REQ4)를 출력한다.
버스 마스터들은 서로 다른 우선 순위를 가질 수 있는데 이러한 서로 다른 우선 순위를 가지는 버스 마스터들에 대해서는 고정 우선 순위(fixed priority) 방식이 사용될 수 있고, 서로 동일한 우선 순위를 가지는 버스 마스터들에 대해서는 라운드 로빈(round robin) 방식이 사용될 수 있다. 또한, 각 마스터 블록마다 우선 순위를 유연성있게 프로그래밍 할 수 있는 프로그래머블 고정 우선 순위(programmable fixed priority)가 적용될 수 있다. 이러한 각 버스 마스터의 우선 순위는 외부 메모리 액세스 빈도 수에 따라 결정 될 수 있다.
예를 들어, 입력되는 영상 신호를 디지털 영상 데이터로 출력하는 카메라 인터페이스나, 영상을 사용자에게 출력하는 디스플레이 장치의 경우 공유 메모리에 액세스하여 데이터를 출력하기 위해 일정 주기 마다 버스 사용을 요청해야 한다. 즉, 상기 카메라 인터페이스나 디스플레이 장치의 경우 프레임(frame)의 기본 단위를 결정하는 동기 신호(Sync signal)에 따라서 동작이 수행되어야 하므로 버스 액세스 빈도수가 높다. 따라서 상기 디스플레이 장치나 카메라 인터페이스는 버스 액세스 빈도 수에 따라 최우선 순위가 할당될 수 있다. 그리고 영상 데이터의 처리를 위한 영상 코덱(Codec)과 같은 경우는 그 버스 접근 빈도가 상기 카메라 인터페이스나 디스플레이 장치보다 낮으므로 상기 디스플레이 장치나 카메라 인터페이스보다 후순위로 할당될 수 있다. 도 1의 버스 시스템이 디지털 영상 시스템에 적용되는 경우 주기적으로 데이터를 출력하기 위해 외부 메모리에 액세스하는 기능 블록이 존재하므로 고정 우선 순위 방식을 사용하는 것이 바람직하다.
도 1의 실시예에서, 각 마스터(200, 210, 220, 230)는 그 순서대로 우선 순위가 낮아지는 것으로 설정한다. 즉, 제 1 마스터(200)가 최우선 순위를 갖고 제 4 마스터(230)가 가장 낮은 우선 순위를 갖는다.
버스 중재기는 둘 이상의 버스 마스터의 버스 사용 요청 신호가 액티브되는 경우, 더 높은 우선 순위를 갖는 마스터에게 버스 접근 권한을 허용한다. 상기 버 스 중재기는 각 버스 마스터의 우선 순위 정보가 저장된 우선 순위 레지스터를 참조하여 버스 사용 요청 신호를 전송한 버스 마스터의 우선 순위를 판단할 수 있다. 예를 들어, 고정 우선 순위 방식을 적용하는 경우, 레지스터의 각 레지스터 주소에는 각 마스터가 우선 순위 순서에 대응되어 저장될 수 있다. 또는, 라운드 로빈 방식을 따를 경우, 상기 버스 중재기는 소정의 포인터 정보에 대응하는 버스 마스터가 최우선 순위를 갖도록 상기 우선 순위 레지스터에 저장된 우선 순위 정보를 변경할 수 있다. 상기 포인터 정보는 소정의 주기로 변할 수 있는데 예를 들어, 최고 우선 순위를 가진 버스 마스터에 버스 사용 허가 신호를 출력하는 때에 변동될 수 있다.
한편, 각 버스 마스터(200, 210, 220, 230)는 각각에 입출력되는 데이터를 저장하는 버퍼를 포함한다. 이 때, 상기 버퍼는 선입선출(First In First Out; FIFO)방식을 채용한 버퍼로서 구현될 수 있다. 즉, 상기 버퍼는 마스터의 입력 포트로부터 전송 데이터를 입력 받아 그 입력 순서에 따라 데이터를 정렬, 관리하고 먼저 저장된 데이터부터 순차적으로 리드하여 마스터의 출력 포트로 데이터를 전송한다.
도 1의 버스 시스템이 고정 우선 순위를 따른다고 하면, 상기 버스 중재기(100)는 각 버스 마스터로부터 요청 신호를 입력 받고 가장 높은 우선 순위를 가지는 상기 제 1 버스 마스터(200)에 버스 사용이 할당되어야 한다. 그러나, 본 발명에 의한 버스 조정 장치 및 버스 조정 방법에 의하면, 상기 제 2 내지 제 4 버스 마스터(210, 220, 230)의 각 버퍼의 저장 용량 상태가 체크된다. 그리고, 특정 마 스터의 버퍼가 사용된 양이 일정 수준 이상이라면, 버스 중재기는 상기 버퍼의 데이터 점유율이 일정 수준 이상인 후순위 버스 마스터가 신속히 버스를 사용하도록 그 우선 순위를 선택적으로 수정할 수 있다. 따라서, 상기 우선 순위가 수정된 버스 마스터는 버스 점유 허가 신호를 받고 버스를 사용하여 버퍼에 저장된 데이터를 슬레이브인 메모리 컨트롤러를 통해 외부 메모리에 쓸 수 있다. 상기 버퍼의 데이터 점유율을 체크하기 위해서, 현재 버퍼의 데이터 저장 상태를 지시하는 포인터 값이 참조될 수 있다.
도 1을 참조하면, 각 버스 마스터 내부에 구비된 버퍼의 데이터 점유 상태를 비교하였을 때, 제 4 버스 마스터(230)가 그 버퍼가 사용된 양이 일정 수준 이상이어서 저장 용량 공간이 부족한 상태이다. 따라서 상기 제 4 버스 마스터(230)가 버스를 점유하지 못한다면 제 4 버스 마스터가 'full' 상태가 되어 입력되는 데이터가 유실될 수 있다. 이 경우, 본 발명의 일 실시예에 의한 버스 조정 장치 및 버스 조정 방법에 의하면, 해당 마스터의 데이터 오버플로우(data overflow)를 방지하기 위해 우선 순위가 조정될 수 있다. 즉, 상기 제 4 버스 마스터의 데이터 오버플로우를 방지하기 위해 상기 제 4 버스 마스터가 선택적으로 우선 순위가 최우선 순위로 변경되어 버스 점유를 할당받을 수 있다. 상기 제 4 버스 마스터가 버스를 점유한 이후, 상기 제 4 버스 마스터의 우선 순위는 고정 우선 순위 방식에 의한 원래의 우선 순위로 환원된다.
상기 우선 순위의 수정은, 예를 들어, 최우선 순위를 부여할 버스 마스터에 대응되는 레지스터 주소를 가리키도록 포인터 정보를 제어함으로써 수행될 수 있 다. 예를 들어, 포인트 정보는 2비트로 구성된 디지털을 가지고, 각각의 디지털 값'00'은 제 1 마스터(200)에 대응되며 포인트 정보 '01', '10', '11'은 각각 제 2 내지 제 4 마스터(210, 220, 230)에 대응될 수 있다. 상기 포인트 정보는 고정 우선 순위 방식의 경우 일정한 값으로 고정되는 것이 일반적이다. 또한, 상기 포인터 정보는 외부에서 인가되는 신호일 수 있다.
상기 제 4 마스터가 선택적으로 우선 순위가 변경되는 경우는 최우선 순위를 가지는 마스터, 즉 제 1 버스 마스터가 버스 점유를 나중에 하더라도 무방한 상태를 조건으로 하는 것으로서, 만약 제 1 버스 마스터가 버스를 점유하지 못하는 경우 데이터 언더플로우(data underflow)가 발생할 수 있다면 우선 순위는 변경되지 않고 상기 제 1 버스 마스터가 버스를 점유하도록 한다. 예를 들어, 영상 처리 시스템의 경우, 외부 메모리를 액세스하여 영상 데이터를 리드하기 위한 리드 요청 신호는 버스 중재기에 의해 최고 우선권을 부여받고 영상 데이터를 쓰기 위해 메모리를 액세스하기 위한 라이트 요청 신호는 상기 리드 요청 신호 다음 순위의 우선권을 부여받는다.
예를 들어, 도 1의 버스 시스템이 영상 처리 시스템이고 상기 제 1 버스 마스터가 영상 입력 장치인 카메라 인터페이스에 해당하는 경우, 상기 카메라 인터페이스는 예컨대, 버스를 통해 외부 메모리에 액세스하여 상기 메모리에 저장된 복호화된(decoded) 영상 데이터를 읽어들이는 리드(read) 동작을 수행한다. 상기 리드된 데이터는 상기 카메라 인터페이스 내부의 버퍼에 쓰인 후 이를 소정 포맷의 데이터로 변환하기 위한 포맷변환부 등으로 전송된다. 또한, 상기 제 1 마스터가 디 스플레이 장치인 경우 버스를 통해 외부 메모리에 액세스하여 소정 프레임 단위로 영상 데이터를 읽어 사용자에게 액정 표시 장치(Liquid Crystal Display, LCD) 등을 통해 표시할 수 있다. 이와 같이, 주기적으로 데이터를 리드해야 하는 마스터의 경우 버퍼의 점유율이 일정 수준에 도달하지 않으면 출력할 데이터가 존재하지 않는 데이터 언더플로우가 발생할 수 있다.
예컨대, 도 1의 제 3 버스 마스터가 최우선 순위를 갖는 마스터라고 가정하면, 본 발명의 일실시예에 따른 버스 조정 장치 및 버스 조정 방법에 의하여 최우선 순위를 갖는 제 3 버스 마스터 및 제 4 버스 마스터의 버퍼의 저장 용량 상태가 각각 체크된다. 상기 제 3 마스터의 버퍼의 데이터 저장 상태는 'empty'로서 주기적으로 데이터를 출력해야하는 액정 표시 장치(Liquid Crystal Display Device)와 같은 표시 장치의 경우 출력할 데이터가 존재하지 않게 되어 데이터 언더플로우가 발생할 수 있다. 따라서, 이러한 경우에는 상기 제 4 버퍼의 데이터 점유율이 일정 수준 이상이라 하더라도, 우선 순위는 변동되지 않고 상기 제 3 마스터가 버스 점유 허가 신호를 받고 버스를 사용한다.
도 2는 본 발명의 일실시예에 따른 각 버스 마스터의 구성을 간략하게 나타내는 블록도이다. 도 2에는 본 발명에 따른 버스 사용 조정 장치 및 방법에 관한 부분만이 나타나있고 나머지 부분은 설명의 편의상 생략되어 있다.
도 2를 참조하면, 각 버스 마스터는 버퍼부(300) 및 버퍼 상태 감지부(310)를 포함한다. 상기 버퍼부(300)는 상기 버스 마스터로 수행되는 작업 대기열, 즉 데이터 큐를 포함한다. 즉, 상기 버퍼부(300)에 버스 마스터에 쓰여지거나 읽혀져 출력될 데이터를 임시 저장한다. 상기 버퍼 상태 감지부(310)는 상기 버퍼부(300)로부터 전송되는 포인터 정보에 따라 상기 버퍼부(300)의 데이터 큐의 크기를 감지하고 상기 버퍼의 데이터 큐의 크기가 기설정된 임계 값을 초과하는지 판단한다.
상기 버퍼의 데이터 큐의 크기가 미리 설정된 소정의 임계 값 이상이라고 판단되는 경우, 상기 버퍼 상태 감지부(310)는 임계 신호(THS)를 발생시켜서 이를 버스 중재기에 알린다.
만약, 최우선 순위 마스터가 아닌 후순위 마스터의 버퍼가 소정 임계 값을 초과하는 경우, 상기 후순위 마스터는 버퍼가 충분히 점유되어 있어 버스를 사용하여 데이터를 외부 메모리에 쓰지 않으면, 계속해서 입력되는 데이터가 유실되는 데이터 오버플로우가 일어날 가능성이 크다. 즉, 상기 임계 값은 후순위 버스 마스터의 경우, 버퍼의 데이터 점유율이 충분히 커서 오버플로우가 발생될 위험을 알리는 데이터열의 길이일 수 있다.
이 경우, 상기 최우선 순위 마스터의 버퍼의 데이터 큐의 길이에 따라 상기 후순위 마스터가 버스를 점유할 수 있는지 판단한다.
상기 최우선 순위 마스터의 버퍼 상태 감지부(310)는 버퍼의 데이터 큐의 길이가 미리 설정된 임계 값에 도달했는지 판단한다. 최우선 순위 버스 마스터의 임계 값은 상기 최우선 순위 버스 마스터의 데이터 언더플로우 위험 여부를 알리는 값으로서, 만약 상기 최우선 순위 마스터의 버퍼의 데이터 큐 길이가 상기 임계 값보다 작다면 버퍼의 데이터 점유율이 작아서 버스를 점유하지 못하는 경우 언더플로우가 발생할 가능성이 있다. 만약, 상기 최우선 순위 마스터의 버퍼의 데이터 큐 길이가 상기 임계 값보다 커서 데이터 점유율이 충분히 크다면 당장 버스를 점유하지 못해 외부 메모리로부터 데이터를 입력받지 못한다 하더라도 몇 프레임간 자신의 버퍼에 저장된 데이터를 출력할 수 있다고 판단될 수 있다. 즉, 상기 최우선 순위 마스터의 우선 순위를 변경하여 후순위 마스터에게 버스 점유를 할당하더라도 무방한 상태이다.
상기 최우선 순위 마스터의 버퍼의 데이터 큐의 길이가 상기 소정의 임계값에 도달했다고 판단되는 경우, 상기 최우선 순위 마스터는 상기 임계 신호(THS)를 발생한다.
상기 최우선 및 후순위 버스 마스터 각각에서 발생된 임계 신호(THS)는 버스 중재기에 제공되어 버스 사용 허가를 신속히 받아야 한다고 판단되는 상기 후순위 버스 마스터가 더 높은 우선 순위를 갖도록 버스 중재기를 제어한다.
상기 각 버스 마스터의 버퍼의 사이즈는 해당 버스 마스터의 버스 접근 빈도 및 데이터 처리량 등에 따라 다를 수 있으므로 상기 임계 값은 이러한 버퍼의 크기를 고려하여 미리 설정될 수 있다. 또한, 임계 값은 최적의 시스템 버스 사용 환경을 제공하기 위해 사용자에 의해 수정될 수 있다.
또한, 실시예에 따라, 상기 버스 마스터는 타이머(미도시)를 더 포함할 수 있다. 상기 타이머는 버스 마스터가 버스 사용 요청 신호 전송 후 버스에 액세스가 허용된 때까지의 시간을 타이밍하기 위해 사용된다. 다른 실시예에 따라, 소정 시간이 경과한 이후에도 버스 사용 허가 신호를 받지 못한 경우 인터럽트 신호를 발생하거나 우선 순위를 수정하는 등의 방법으로 해당 버스 마스터에게 버스 점유를 허가할 수 있다.
도 3은 본 발명의 일 실시예에 따른 버스 중재 시스템을 나타내는 블록도이다.
도 3을 참조하면, 상기 버스 중재 시스템은 최우선 순위를 가지는 제 1 마스터(400), 상기 제 1 미스터보다 낮은 우선 순위를 가지는 제 2 마스터(500) 및 버스 중재기(600)를 포함한다. 또한, 상기 제 1 및 제 2 마스터는 각각 데이터를 임시 저장하기 위한 버퍼(420)와 제 1 버퍼 상태 감지부(440), 버퍼(520)와 제 2 버퍼 상태 감지부(540)를 각각 포함한다.
상기 제 1 및 제 2 버퍼 상태 감지부(440, 540)는 각각 제 1 및 제 2 마스터의 버퍼의 데이터 큐의 길이를 감지하여 상기 버퍼의 데이터 큐의 길이가 소정 임계 값 이상이면 제 1 및 제 2 임계 신호(THS1, THS2)를 생성한다. 상세하게는, 상기 제 1 버퍼 상태 감지부(440)는 상기 제 1 마스터의 버퍼의 데이터의 대기열이 기설정된 임계 값(TL) 이상인지 판단하고, 상기 버퍼의 데이터 대기열을 나타내는 포인터 정보가 상기 임계 값(TL) 이상이라고 판단되는 경우 상기 제 1 임계 신호(THS1)를 발생한다. 상기 제 2 버퍼 상태 감지부(540)는 상기 제 2 마스터의 버퍼의 데이터의 대기열이 기설정된 임계 값(TH) 이상인지 판단하고, 상기 버퍼의 데이터 대기열을 나타내는 포인터 정보가 상기 임계 값(TH) 이상이라고 판단되는 경우 상기 제 1 임계 신호(THS1)를 발생한다.
예를 들어, 상기 제 1 마스터(400)가 카메라 인터페이스부이고 상기 제 2 마스터(500)가 코덱(Codec)인 디지털 영상 시스템의 경우, 상기 임계 값(TL)은 상기 카메라 인터페이스부의 버퍼 크기의 약 25%로 설정될 수 있고, 상기 임계 값(TH)은 상기 코덱의 버퍼 크기의 약 75%로 설정될 수 있다. 즉, 높은 우선 순위를 갖는 제 1 마스터의 상기 임계 값은 상기 제 1 마스터의 버퍼의 under-run과 같은 문제가 생길 염려가 없어 버스 사용 허가 신호를 비교적 나중에 받아도 무방한 상태라고 판단되는 경우를 상정하였을 때의 값이다. 또한, 상기 낮은 우선 순위의 제 2 마스터의 임계 값은 버스 사용 허가 신호를 신속히 받아야 하는 경우로서 버스에 대한 사용권을 얻지 못하는 경우 버퍼의 오버플로우가 발생할 우려가 있다고 판단되는 경우를 상정하였을 때의 값이다.
상기 각 버스 마스터의 임계 값을 결정하기 위한 버퍼의 점유율은 예시적일 뿐, 해당 버스 마스터의 버스 접근 빈도 및 데이터 처리량 등에 따라 다를 수 있음은 물론이다. 또한, 상기 임계 값은 최적의 시스템 버스 사용 환경을 제공하기 위해 사용자에 의해 수정될 수 있다.
이와 같은 경우, 상기 제 2 버스 마스터의 버퍼내 데이터 점유가 기설정된 임계 값(TH) 이상이라면 이는 상기 제 2 버스 마스터(500)의 버퍼가 충분히 점유되어 있어 데이터 오버플로우가 일어날 가능성이 큼을 나타낸다. 또한, 상기 제 1 버스 마스터(400)의 버퍼내 데이터 점유가 기설정된 임계 값(TL) 이상이라면 이는 상기 제 1 버스 마스터(400)가 당장 버스를 점유하지 못해 외부 메모리로부터 데이터를 입력받지 못한다 하더라도 다른 기능 블록에 출력할 데이터가 버퍼에 충분히 점유되어 있음을 나타낸다.
따라서, 상기 제 1 및 제 2 임계 신호(THS1, THS2)가 발생함에 따라, 상기 제 2 버스 마스터(500)가 높은 우선 순위를 갖는 상기 제 1 버스 마스터(400) 보다 버스 사용을 급하게 요하므로 상기 제 2 버스 마스터(500)에게 버스 사용을 허가하는 것이 바람직하다. 상기 버스 중재기(600)는 상기 제 1 및 제 2 버스 마스터(400, 500)로부터 입력되는 상기 제 1 및 제 2 제어 신호(THS1, THS2)에 근거하여 상기 제 2 버스 마스터(500)에게 최우선 순위를 할당한다.
따라서, 상기 제 2 버스 마스터(500)에게 버스 사용을 허가하는 허가 신호(Gnt)가 출력된다. 상기 제 2 버스 마스터(500)가 버스를 점유한 이후 상기 제 2 버스 마스터의 우선 순위는 다시 원래의 우선 순위로 환원된다.
본 발명의 일실시예에서, 상기 최우선 순위를 가지는 제 1 마스터(400)와 버퍼의 데이터 열의 길이가 비교되는 후순위의 제 2 마스터(500)는 복수의 마스터 블록 중에서, 시스템 설계 단계에서 본 발명에 의한 버스 조정 방법에 의해 우선 순위가 선택적으로 수정될 수 있도록 미리 선택된 마스터이다. 이렇게 본 발명에 의한 버스 조정 방법이 적용되는 마스터는 시스템-온-칩에 집적되는 복수의 기능 블록 중에서 하나 또는 그 이상일 수 있다. 예를 들어, 영상 재생 시스템의 경우, 가변적인 입력 데이터량에 의해 버퍼의 full 상태가 예상되는 코덱이나 이미지 변환부 등이 우선 순위가 선택적으로 수정 가능하도록 본 발명의 실시예들에 따른 버스 조정 방법이 적용될 수 있다.
도 4는 본 발명의 일 실시예에 따른 버스 조정 방법을 나타내는 순서도이다.
도 4를 참조하면, 본 발명에 의해 우선 순위가 변동 가능한 제 1 마스터의 버퍼의 데이터 큐의 길이(Q1)가 감지된다(단계 S10). 상기 제 1 마스터는 우선 순 위가 변동 가능하도록 미리 설정된 마스터일 수 있다. 상기 감지된 제 1 마스터의 버퍼의 데이터 큐의 길이(Q1)는 상기 제 1 마스터에 대해 기설정된 제 1 임계치(T1) 이상인지 확인된다(단계 S20).
상기 제 1 마스터의 버퍼의 데이터 큐의 길이(Q1)가 상기 제 1 임계치(T1) 이상이라고 판단되는 경우, 이는 버스 미점유시 상기 제 1 마스터의 데이터가 유실될 확률이 높다는 것을 의미한다. 이에 따라, 상기 최우선 순위를 갖는 제 2 마스터의 버퍼의 데이터 큐의 길이(Q2)가 상기 제 2 마스터에 대해 기설정된 제 2 임계치(T2) 이상인지 여부가 판단된다(단계 S40). 상기 제 2 마스터의 버퍼의 데이터 큐의 길이(Q2)가 제 2 임계치(T2) 이상인 경우, 이는 최우선 순위를 갖는 제 2 마스터가 데이터 언더플로우를 발생할 가능성이 낮다고 판단되므로, 버스 사용을 급하게 요하는 상기 제 1 마스터에게 버스 점유를 할당해도 무방한 상태라 할 수 있다. 따라서, 상기 제 1 마스터에게 최우선 순위가 할당되도록 상기 제 1 마스터의 우선 순위를 선택적으로 조정하여 상기 제 1 마스터가 버스를 점유하도록 한다(단계 S60).
만일 상기 최우선 순위를 갖는 제 2 마스터의 버퍼의 데이터 큐의 길이(Q2)가 제 2 임계치(T2) 이하라고 판단되는 경우, 상기 제 2 마스터가 버스를 점유하지 못할 때, 상기 제 2 마스터에 데이터 언더플로우가 발생할 위험이 있다고 판단된다. 따라서, 상기 제 1 마스터의 우선 순위는 변동하지 않고 상기 최우선 순위를 가지는 제 2 마스터에게 버스 점유가 할당된다(단계 S50).
상기 제 1 마스터의 데이터 큐의 길이가 상기 제 1 임계치(T1) 이하라면 해 당 마스터가 급하게 버스 사용을 요하지 않으므로 버스 요청 신호를 출력하는 마스터 중에서 고정 우선 방식 또는 라운드 로빈 방식 등에 의해 최우선 순위를 갖는 제 2 마스터에게 버스 점유가 허용된다(단계 S30).
도 5는 본 발명의 다른 실시예에 따른 버스 조정 방법을 나타내는 순서도이다.
도 5의 실시예는 본 발명에 의한 버스 중재 방법이 적용되는 버스 마스터가 두 개 이상 선택되는 경우에 관한 것이다. 즉, 도 5는 자신의 버퍼의 데이터 점유율이 미리 설정된 임계 값을 초과하는 경우 최우선 마스터보다 먼저 버스를 점유할 수 있도록 우선 순위가 선택적으로 변동 가능한 버스 마스터가 둘 이상인 경우의 버스 중재 방법을 설명하고 있다.
먼저, 하나의 버스에 연결된 다수의 마스터들은 일반적인 우선 순서 방식에 따라 버스 사용이 조정되는 제 1 마스터 그룹과, 본 발명에 의해 우선 순위가 선택적으로 변동될 수 있는 제 2 마스터 그룹으로 나뉠 수 있다(단계 S100). 디지털 영상 시스템을 예로써 하는 경우, 시스템의 효율적인 운영을 위해 모든 마스터들에는 고정된 우선 순위가 할당될 수 있고, 상기 제 2 마스터 그룹에 속한 마스터들 간에는 라운드 로빈 방식이 적용되어 각 마스터가 공평하게 우선 순위를 할당받을 수 있다(단계 S120).
즉, 예를 들어, 제 1 내지 제 5 마스터를 포함하는 버스 시스템에서, 상기 제 1 내지 제 5 마스터는 그 순서에 따라 제 1 내지 제 5 우선 순위가 할당되어 있을 수 있고, 제 2 내지 제 4 우선 순위를 각각 갖는 제 2 내지 제 4 버스 마스터 (M2, M3, M4)가 본 발명에 의해 선택적으로 우선 순위가 변동 가능한 버스 마스터로 설정 될 수 있다. 이 경우, 버스 중재 방향은, M1-> M2-> M3-> M4-> M5-> M1-> M3-> M4-> M2-> M5-> M1-> M4-> M2-> M3-> M5와 같이 된다.
이 때, 최우선 순위를 가진 마스터(M1)와 선택적으로 우선 순위 변경이 가능한 마스터(M2, M3, M4) 그룹 중 라운드 로빈 방식에 의해 현재 최우선 순위를 할당 받은 마스터, 예를 들어 마스터(M2)의 버퍼의 데이터 큐 길이가 체크된다(단계 S140).
이후, 상기 제 1 마스터(M1)의 버퍼의 데이터 큐 길이가 기설정된 소정 임계 값(Q1) 이상인지, 그리고 상기 제 2 마스터(M2)의 버퍼의 데이터 큐 길이가 기설정된 소정 임계값(Q2) 이상인지 판단된다(단계 S160). 상기 제 1 마스터(M1)의 버퍼의 데이터 큐 길이와 상기 제 2 마스터(M2)의 버퍼의 데이터 큐 길이가 각각 상기 소정 임계 값(Q1)과 임계값(Q2) 이상인 경우, 상기 제 2 마스터(M2)가 데이터 점유를 신속히 요하며 상기 제 1 마스터(M1)가 버스 사용 허가 신호를 비교적 나중에 받아도 무방한 상태라고 판단되므로, 상기 제 2 마스터(M2)가 버스를 점유하도록 조정된다(단계 S200). 상기 단계 (S160)의 결과가 '아니오'인 경우 즉, 상기 제 1 마스터(M1) 또는 제 2 마스터(M2) 중 적어도 어느 하나의 버퍼의 데이터 큐의 길이가 기설정된 소정 임계값(Q1 또는 Q2) 이하인 경우, 어느 마스터의 우선권도 변경되지 않고 상기 최우선 순위를 가지는 제 1 마스터(M1)이 버스를 점유한다(단계 S180).
본 발명은 컴퓨터로 판독 가능한 기록 매체에 컴퓨터에 의해 판독 가능 코드 로서 구현할 수 있다. 컴퓨터로 판독 가능한 기록 매체는 컴퓨터 시스템에 의해 판독 가능한 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 장치의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있다.
실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
상기와 같은 본 발명의 버스 중재기 및 버스 제어 방법에 의하면, 상기 서로 다른 마스터 간에 적용되는 고정 우선 순위 방식은 필요한 경우 수정될 수 있다. 즉, 상기 설명한 바와 같이 최우선 순위의 마스터와 하위 우선 순위의 마스터의 버퍼 저장 용량 상태를 체크하여 각각에 대해 설정된 소정 임계치를 초과하는 경우 우선 순위를 선택적으로 바꾸어 상기 하위 우선 순위의 마스터가 버스를 점유하도록 할 수 있다. 이와 같이, 버스의 환경을 실시간으로 반영하여 버스 중재를 수행함으로써 시스템 성능을 향상시킬 수 있다.

Claims (24)

  1. 적어도 하나 이상의 마스터에 구비되고, 상기 마스터들의 버퍼의 데이터 큐 길이가 해당 마스터에 따라 기설정된 소정 임계 값 이상인 경우를 감지하여 제어 신호를 발생하는 버퍼 상태 감지부; 및
    상기 복수의 마스터들에 대해 소정의 우선 순위 기준에 따라 버스 사용을 중재하되, 최우선 순위를 가지는 제 1 마스터 및 상기 제 1 마스터를 제외한 버스 마스터 중 어느 하나인 제 2 마스터로부터 상기 제어 신호가 각각 입력되는 경우 상기 제 2 마스터에게 버스 사용을 허가하도록 선택적으로 우선 순위를 변경하는 버스 중재부를 포함하는 버스 중재 시스템.
  2. 제1항에 있어서, 상기 제 1 마스터에 대해 소정의 제 1 임계 값이 기설정되고, 상기 제 1 임계 값은 상기 제 1 마스터의 버퍼에 데이터 언더플로우(data underflow)가 발생될 위험을 알리는 데이터 량으로 설정되는 것을 특징으로 하는 버스 중재 시스템.
  3. 제2항에 있어서, 상기 제 2 마스터에 대해 소정의 제 2 임계 값이 기설정되고, 상기 제 2 임계 값은 상기 제 2 마스터의 버퍼에 데이터 오버플로우(data overflow)가 발생될 위험을 알리는 데이터 량으로 설정되는 것을 특징으로 하는 버스 중재 시스템.
  4. 제3항에 있어서, 상기 제 1 및 제 2 임계 값은 사용자에 의해 변경 가능한 것을 특징으로 하는 버스 중재 시스템.
  5. 제1항에 있어서, 상기 제 2 마스터는 상기 제 1 마스터를 제외한 버스 마스터 중 선택적으로 우선 순위가 변경 가능하도록 미리 지정된 것을 특징으로 하는 버스 중재 시스템.
  6. 제5항에 있어서, 상기 제 2 마스터는 선택적으로 우선 순위가 변경될 수 있는 둘 이상의 마스터를 포함하는 마스터 그룹에 속하는 것으로서, 상기 마스터 그룹 내에서 가장 높은 우선 순위를 가지는 것을 특징으로 하는 버스 중재 시스템.
  7. 제6항에 있어서, 상기 제 2 마스터는 상기 마스터 그룹 내에서 라운드 로빈 방식에 의해 가장 높은 우선 순위를 가지는 것을 특징으로 하는 버스 중재 시스템.
  8. 제1항에 있어서, 상기 제 1 마스터는 카메라 인터페이스부 또는 디스플레이 장치인 것을 특징으로 하는 버스 중재 시스템.
  9. 제1항에 있어서, 상기 제 2 마스터는 코덱(codec) 또는 이미지 변환부인 것을 특징으로 하는 버스 중재 시스템.
  10. 전송 데이터를 데이터 태그 순서대로 저장하는 데이터 큐의 길이를 감지하여 제 1 임계 값 이상인 경우 플래그 신호를 발생하는 제 1 마스터;
    상기 제 1 마스터 보다 높은 우선 순위를 가지고, 상기 플래그 신호에 응답하여 자신의 데이터 큐의 길이 정보를 출력하는 제 2 마스터; 및
    상기 제 2 마스터로부터 출력되는 데이터 큐의 길이 정보에 근거하여 선택적으로 상기 제 2 마스터의 우선 순위를 재조정하는 버스 중재부를 포함하는 버스 중재 시스템.
  11. 제10항에 있어서, 상기 제 2 마스터는 버스에 연결된 모든 마스터들 중에서 가장 높은 우선 순위를 갖는 것을 특징으로 하는 버스 중재 시스템.
  12. 제10항에 있어서, 상기 제 2 마스터로부터 출력되는 데이터 큐의 길이 정보는 상기 제 2 마스터의 버퍼의 데이터 큐의 길이가 소정의 제 2 임계 값보다 큰지 여부를 포함하고 있는 것을 특징으로 하는 버스 중재 시스템.
  13. 제12항에 있어서, 상기 제 2 임계 값은 상기 제 2 마스터의 버퍼에 데이터 언더플로우(data underflow)가 발생될 위험을 알리는 데이터 량으로 설정되는 것을 특징으로 하는 버스 중재 시스템.
  14. 제12항에 있어서, 상기 제 1 임계 값은 상기 제 1 마스터의 버퍼에 데이터 오버플로우(data overflow)가 발생될 위험을 알리는 데이터 량으로 설정되는 것을 특징으로 하는 버스 중재 시스템.
  15. 제14항에 있어서, 상기 제 1 및 제 2 임계 값은 사용자에 의해 변경 가능한 것을 특징으로 하는 버스 중재 시스템.
  16. 제13항에 있어서, 상기 제 2 마스터의 버퍼의 데이터 큐의 길이가 상기 소정의 제 2 임계 값보다 큰 경우, 상기 제 1 마스터에게 버스 사용을 허가하도록 선택적으로 우선 순위를 변경하는 것을 특징으로 하는 버스 중재 시스템.
  17. 제10항에 있어서, 상기 제 2 마스터는 카메라 인터페이스부 또는 디스플레이 장치인 것을 특징으로 하는 버스 중재 시스템.
  18. 제10항에 있어서, 상기 제 1 마스터는 코덱(codec) 또는 이미지 변환부인 것을 특징으로 하는 버스 중재 시스템.
  19. 상대적으로 낮은 우선 순위를 갖는 제 1 마스터의 버퍼의 데이터 큐 길이를 감지하는 단계;
    상기 제 1 마스터의 버퍼의 데이터 큐 길이가 소정의 제 1 임계 값 이상인 경우 플래그 신호를 발생하는 단계; 및
    상기 플래그 신호에 응답하여, 상기 제 1 마스터 보다 높은 우선 순위를 가지는 제 2 마스터에 구비된 버퍼의 데이터 큐의 길이 정보에 근거하여 선택적으로 상기 제 1 마스터의 우선 순위를 재조정하는 단계를 포함하는 버스 중재 방법.
  20. 제19항에 있어서, 상기 제 2 마스터는 버스에 연결된 모든 마스터들 중에서 가장 높은 우선 순위를 갖는 것을 특징으로 하는 버스 중재 방법.
  21. 제19항에 있어서, 상기 제 1 임계 값은 상기 제 1 마스터의 버퍼에 데이터 오버플로우(data overflow)가 발생될 위험을 알리는 데이터 량으로 설정되는 것을 특징으로 하는 버스 중재 방법.
  22. 제19항에 있어서, 상기 제 2 마스터로부터 출력되는 데이터 큐의 길이 정보는 상기 제 2 마스터의 버퍼의 데이터 큐의 길이가 상기 제 2 마스터에 대해 기설정된 소정의 제 2 임계 값보다 큰지 여부를 포함하고 있는 것을 특징으로 하는 버스 중재 방법.
  23. 제22항에 있어서, 상기 제 2 임계 값은 상기 제 2 마스터의 버퍼에 데이터 언더플로우(data underflow)가 발생될 위험을 알리는 데이터 량으로 설정되는 것을 특징으로 하는 버스 중재 방법.
  24. 제22항에 있어서, 상기 제 2 마스터의 버퍼의 데이터 큐의 길이가 상기 소정의 제 2 임계 값보다 큰 경우, 상기 제 1 마스터에게 버스 사용을 허가하도록 선택적으로 우선 순위를 변경하는 것을 특징으로 하는 버스 중재 방법.
KR1020060019033A 2006-02-28 2006-02-28 버스 중재 시스템 및 버스 중재 방법 KR100839494B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060019033A KR100839494B1 (ko) 2006-02-28 2006-02-28 버스 중재 시스템 및 버스 중재 방법
US11/710,980 US20070233923A1 (en) 2006-02-28 2007-02-27 Bus arbitration system and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060019033A KR100839494B1 (ko) 2006-02-28 2006-02-28 버스 중재 시스템 및 버스 중재 방법

Publications (2)

Publication Number Publication Date
KR20070089264A true KR20070089264A (ko) 2007-08-31
KR100839494B1 KR100839494B1 (ko) 2008-06-19

Family

ID=38560781

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060019033A KR100839494B1 (ko) 2006-02-28 2006-02-28 버스 중재 시스템 및 버스 중재 방법

Country Status (2)

Country Link
US (1) US20070233923A1 (ko)
KR (1) KR100839494B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160112305A (ko) * 2015-03-18 2016-09-28 삼성전자주식회사 공유 리소스 액세스 중재 방법 및 이를 수행하기 위한 공유 리소스 액세스 중재 장치 및 공유 리소스 액세스 중재 시스템
KR20180090906A (ko) * 2017-02-03 2018-08-14 인팩일렉스 주식회사 다중 비동기식 데이터를 시리얼 통신으로 변환하기 위한 스케줄링 방법 및 시스템

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8270335B1 (en) * 2008-02-28 2012-09-18 Xilinx, Inc. Arbitration for time division multiple access using delta sigma modulation
GB0820920D0 (en) * 2008-11-14 2008-12-24 Wolfson Microelectronics Plc Codec apparatus
EP2457168B1 (en) * 2009-07-20 2018-09-26 NXP USA, Inc. Signal processing system, integrated circuit comprising buffer control logic and method therefor
GB2478795B (en) * 2010-03-19 2013-03-13 Imagination Tech Ltd Requests and data handling in a bus architecture
KR101861768B1 (ko) * 2011-09-16 2018-05-28 삼성전자주식회사 시스템 온칩, 이를 포함하는 전자 시스템, 및 그 동작 방법
US20140333779A1 (en) * 2013-05-13 2014-11-13 Electronics And Telecommunications Research Institute Apparatus for distributing bus traffic of multiple camera inputs of automotive system on chip and automotive system on chip using the same
KR102370733B1 (ko) * 2015-04-13 2022-03-08 에스케이하이닉스 주식회사 출력 커맨드들을 전송하는 컨트롤러 및 그것의 동작 방법
US10079650B2 (en) * 2015-12-04 2018-09-18 Infineon Technologies Ag Robust high speed sensor interface for remote sensors
KR101744785B1 (ko) * 2015-12-11 2017-06-08 현대오트론 주식회사 출력장치의 진단을 위한 시스템 및 방법
US10380060B2 (en) 2016-06-17 2019-08-13 Etron Technology, Inc. Low-pincount high-bandwidth memory and memory bus
CN107526534B (zh) * 2016-06-21 2020-09-18 伊姆西Ip控股有限责任公司 管理存储设备的输入输出(i/o)的方法和设备
KR20180074197A (ko) 2016-12-23 2018-07-03 삼성전자주식회사 버스 트래픽 컨트롤 장치 및 이를 갖는 버스 시스템
WO2019050534A1 (en) * 2017-09-08 2019-03-14 Etron Technology America, Inc. MEMORY BUS AND MEMORY WITH LARGE BAND WIDTH AND LOW NUMBER OF PINS
CN115080468B (zh) * 2022-05-12 2024-06-14 珠海全志科技股份有限公司 一种非阻塞的信息传输方法和装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0718773A1 (en) 1994-12-19 1996-06-26 Advanced Micro Devices, Inc. Bus access arbiter
US6330646B1 (en) * 1999-01-08 2001-12-11 Intel Corporation Arbitration mechanism for a computer system having a unified memory architecture
US20030095447A1 (en) * 2001-11-20 2003-05-22 Koninklijke Philips Electronics N.V. Shared memory controller for display processor
US6880028B2 (en) * 2002-03-18 2005-04-12 Sun Microsystems, Inc Dynamic request priority arbitration
KR100452640B1 (ko) * 2002-11-11 2004-10-14 한국전자통신연구원 데이터 패킷 수신 장치 및 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160112305A (ko) * 2015-03-18 2016-09-28 삼성전자주식회사 공유 리소스 액세스 중재 방법 및 이를 수행하기 위한 공유 리소스 액세스 중재 장치 및 공유 리소스 액세스 중재 시스템
US10545898B2 (en) 2015-03-18 2020-01-28 Samsung Electronics Co, Ltd. Shared resource access arbitration method, and shared resource access arbitration device and shared resource access arbitration system for performing same
KR20180090906A (ko) * 2017-02-03 2018-08-14 인팩일렉스 주식회사 다중 비동기식 데이터를 시리얼 통신으로 변환하기 위한 스케줄링 방법 및 시스템

Also Published As

Publication number Publication date
KR100839494B1 (ko) 2008-06-19
US20070233923A1 (en) 2007-10-04

Similar Documents

Publication Publication Date Title
KR100839494B1 (ko) 버스 중재 시스템 및 버스 중재 방법
JP4222251B2 (ja) バス調停装置およびバス調停方法
JP3699833B2 (ja) メモリアーキテクチャーのための優先符号化及び復号化
JP4778199B2 (ja) データ転送装置及びデータ転送方法
JP6057179B2 (ja) 資源要求調停装置、資源要求調停システム、資源要求調停方法、集積回路およびプログラム
US8145815B2 (en) Data processing system
CN105988968B (zh) 半导体装置
KR102106541B1 (ko) 공유 리소스 액세스 중재 방법 및 이를 수행하기 위한 공유 리소스 액세스 중재 장치 및 공유 리소스 액세스 중재 시스템
US7251702B2 (en) Network controller and method of controlling transmitting and receiving buffers of the same
KR960042385A (ko) 엘알유(lru)에 의한 중재기
US9223731B2 (en) Arbitration circuit and control method thereof
TW200400438A (en) Bus arbiter for integrated circuit systems
JP2005316609A (ja) バス調停装置およびバス調停方法
JP2008027245A (ja) メモリアクセス制御装置およびメモリアクセス制御方法
US6651128B1 (en) Systems and methods for arbitrating between asynchronous and isochronous data for access to data transport resources
KR100973419B1 (ko) 버스 중재 방법 및 장치
JP6036806B2 (ja) バスアクセス調停回路およびバスアクセス調停方法
KR101167245B1 (ko) 실시간으로 변경되는 중재 파라미터를 이용한 버스 중재 장치 및 중재 방법
US7747806B2 (en) Resource use management device, resource use management system, and control method for a resource use management device
KR20080079429A (ko) 단일메모리를 갖는 데이터처리시스템의 메모리 중재기 및그 중재 방법
JPH1139255A (ja) バス調停装置及びバス調停方法
JP5417305B2 (ja) 情報処理装置
JP4898527B2 (ja) リソース使用管理装置、リソース使用管理システム及びリソース使用管理装置の制御方法
JP2017162431A (ja) メモリ制御装置及び撮像装置
JPH1125035A (ja) バス調停装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee