KR100951126B1 - 버스 중재 방법 및 장치 - Google Patents

버스 중재 방법 및 장치 Download PDF

Info

Publication number
KR100951126B1
KR100951126B1 KR1020080014373A KR20080014373A KR100951126B1 KR 100951126 B1 KR100951126 B1 KR 100951126B1 KR 1020080014373 A KR1020080014373 A KR 1020080014373A KR 20080014373 A KR20080014373 A KR 20080014373A KR 100951126 B1 KR100951126 B1 KR 100951126B1
Authority
KR
South Korea
Prior art keywords
priority
master
bus
data
information
Prior art date
Application number
KR1020080014373A
Other languages
English (en)
Other versions
KR20090089043A (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 KR1020080014373A priority Critical patent/KR100951126B1/ko
Publication of KR20090089043A publication Critical patent/KR20090089043A/ko
Application granted granted Critical
Publication of KR100951126B1 publication Critical patent/KR100951126B1/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/3625Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a time dependent access
    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Abstract

마스터의 데이터 처리 방식에 따라 버스의 우선 순위를 판단할 수 있는 본 발명의 일 실시예에 따른 버스 중재 방법은 마스터로부터 버스를 통해 송수신할 데이터의 처리 방식에 대한 정보를 수신하는 단계; 및 상기 데이터의 처리 방식에 대한 정보에 따라 상기 마스터의 상기 버스의 사용에 대한 우선 순위를 판단하는 단계를 포함하는 것을 특징으로 한다.
Figure R1020080014373
아비터, 버스, 마스터

Description

버스 중재 방법 및 장치{Method and Apparatus for Arbitrating a Bus}
본 발명은 버스 중재 방법 및 장치에 관한 것으로서 보다 상세하게는 버스를 통해 송수신할 데이터의 처리 방식에 대한 정보에 따라 버스를 중재하는 방법 및 장치에 관한 것이다.
하나의 칩에 여러 가지의 기능이 집적화된 SoC칩의 경우, 1개의 버스에 마스터(Master), 아비터(Arbiter), 메모리 등이 연결된 버스 아키텍처가 필요하다. 다수의 마스터들이 버스를 이용해서 메모리 접근 등의 동작을 할 경우, 아비터로부터 우선 순위에 따른 버스 우선권을 부여 받아 데이터를 처리하게 된다.
도 1의 일반적인 메모리 접근을 위한 버스 아키텍처를 참조하면, 1개의 버스(102)에 복수의 마스터들(104,106), 아비터(108), 메모리(110)가 연결되어 있을 경우, 아비터(108)는 동시에 여러 마스터들(104,106)이 메모리(110)로의 접근을 위해 버스(102)의 사용을 요청할 때, 우선 순위를 결정해야 하기 때문에, 칩의 성능에 결정적인 영향을 미치게 된다.
버스의 우선권을 결정하기 위해서 아비터(108)의 여러 가지 우선 순위 판단 방법이 연구되어 왔는데, 대표적인 것이 도 2a의 고정된 우선 순위(Fixed Priority) 판단 방법과 도 2b의 라운드-로빈 우선 순위(Round-Robin Priority) 판단 방법이다.
도 2a 참조하면, 고정된 우선 순위 판단 방법은 각각의 마스터에 대해 우선 순위를 1, 2, 3, 4 등으로 정해 놓고, 마스터가 동시에 접근했을 경우, 우선순위가 높은 마스터에게 버스를 건네주게 된다.
그리고, 도 2b를 참조하면, 라운드-로빈 우선 순위 판단 방법은 마스터의 버스 우선 순위를 시간에 따라서 다르게 변화시켜서 골고루 버스 우선권을 주는 방식이다. 즉, 마스터에 일정시간을 할당하고, 할당된 시간이 지나면 그 마스터는 잠시 보류한 뒤 다른 마스터에게 버스 우선권을 주고, 해당 할당 시간이 지나면, 또 그 다음 마스터에게 버스 우선권을 주는 운영 방식이다.
그런데, 고정된 우선 순위 판단 방법의 경우, 마스터가 처리하게 될 데이터의 특성 등을 고려하지 않으며, 단순히 마스터의 종류에 따라 우선 순위를 결정하므로, 데이터 처리 시간 측면에서 효율적이지 않은 문제점이 있었다.
또한, 라운드-로빈 우선 순위 판단 방법의 경우, 고정된 우선 순위 없이 마스터에 할당된 시간 정보를 참조하여 우선 순위를 정하므로 빨리 처리해야 할 중요한 특정 데이터에 대한 처리가 늦어지는 문제점이 있다.
본 발명은 상술한 문제점을 해결하기 위한 것으로서, 1개의 버스를 공유하는 복수의 마스터들이 효율적으로 버스를 점유함으로써 데이터의 처리 시간을 줄일 수 있는 버스 중재 방법 및 장치를 제공하는 것을 기술적 과제로 한다.
또한, 본 발명은 신속한 처리를 요하는 특정 데이터에 대한 우선 순위를 높이는 버스 중재 방법 및 장치를 제공하는 것을 다른 기술적 과제로 한다.
상술한 목적을 달성하기 위한 본 발명의 일 측면에 따른 버스 중재 방법은 마스터로부터 버스를 통해 송수신할 데이터의 처리 방식에 대한 정보를 수신하는 단계; 및 상기 데이터의 처리 방식에 대한 정보에 따라 상기 마스터의 상기 버스의 사용에 대한 우선 순위를 판단하는 단계를 포함하는 것을 특징으로 한다.
상술한 목적을 달성하기 위한 본 발명의 일 측면에 따른 버스 중재 장치는 마스터로부터 버스를 통해 송수신할 데이터의 처리 방식에 대한 정보를 수신하는 데이터 처리 정보 수신부; 및 상기 데이터의 처리 방식에 대한 정보에 따라 상기 마스터의 상기 버스의 사용에 대한 우선 순위를 판단하는 우선 순위 판단부를 포함하는 것을 특징으로 한다.
상술한 바와 같이 본 발명에 따르면, 버스를 통해 송수신할 데이터의 처리 방식에 따라 우선 순위를 달리함으로써, 마스터의 데이터 처리 방식의 특성에 따라 발생하는 버스 사용의 비효율성을 제거하여 버스 아키텍처 전체의 데이터 처리 시간을 줄일 수 있는 버스 중재 방법 및 장치를 구현할 수 있는 효과가 있다.
또한, 본 발명에 따르면, 마스터의 종류뿐 아니라, 마스터가 버스를 사용하여 수행하는 데이터 처리 방식의 중요도에 따라 우선 순위를 부여함으로써, 중요한 특정 데이터의 처리를 빠르게 처리할 수 있는 버스 중재 방법 및 장치를 구현할 수 있는 다른 효과가 있다.
이하 첨부된 도면을 참조하여 본 발명의 실시예에 대해 상세히 설명한다.
도 3은 본 발명의 일 실시예에 따른 버스 중재 장치(아비터: Arbiter)를 나타낸 도면이다.
도시된 바와 같이, 본 발명의 일 실시예에 따른 버스 중재 장치(이하, ‘아비터’라 한다)는 데이터 처리 정보 수신부(302), 고정된 우선 순위 판단부(304), 라운드 로빈 우선 순위 판단부(306), 제1 우선 순위 판단부(308), 제2 우선 순위 판단부(310), 및 선택부(312)를 포함하며, 프로세서, DSP블럭, DMA블럭 등의 마스터(Master: 미도시)들이 메모리에 접근하는 경우, 버스 사용의 우선 순위를 결정한다.
데이터 처리 정보 수신부(302)는 마스터들로부터 마스터의 데이터의 처리 방식에 대한 정보를 수신한다. 여기서, 데이터는 아비터를 통해 우선권을 부여 받아 마스터들이 공유하는 버스를 통해 송수신하고 처리하게 될 데이터이다. 일 실시예에 있어서, 데이터의 처리 방식에 대한 정보는 버스트(Burst) 여부, 데이터 크기, 쓰기 데이터 여부, 및 버스 전송 방식 중 적어도 하나를 포함한다.
버스트 여부는 마스터들이 공유하는 버스를 통해 메모리에 접근하여 데이터를 메모리에 쓰는 경우, 메모리로부터 데이터를 읽는 경우, 또는 메모리에 명령을 송수신하는 경우에 데이터를 연속적으로 쓰거나 읽는지 또는 명령어를 연속적으로 송수신하는지에 대한 정보이다. 이하, 한번의 쓰기, 읽기 동작, 또는 특정 명령의 송수신 동작을 수행을 싱글(Single)이라 하고, 싱글의 반대되는 개념인 연속적인 해당 동작을 버스트라 하겠다.
데이터 크기는 버스를 통해 메모리와 송수신할 데이터의 크기로서, 데이터가 워드(Word) 단위인지, 바이트(Byte) 단위인지 등을 나타낸다.
쓰기 데이터 여부는 버스를 통해 전송하게 될 데이터가 메모리에 쓰여질 데이터인지 또는 쓰기 명령어인지에 대한 정보이다. 그리고, 버스 전송 방식은 데이터가 마스터와 메모리 사이에 특정 규칙을 가지고 전송되는 경우, 아비터가 그 특정 규칙을 식별할 수 있는 정보를 의미한다.
고정된 우선 순위 판단부(304)는 마스터들로부터 버스 사용 요청을 수신하면, 마스터의 종류에 따라 우선 순위를 판단한다. 여기서, 판단 방법으로서 고정된 우선 순위 판단 방법을 사용한다. 이하, “마스터 1”의 버스 사용 요청을 “BusReq_1”이라 하고, “마스터 2”의 버스 사용 요청을 “BusReq_2”라 하겠다.
고정된 우선 순위 판단부(304)는 마스터 1의 기 규정된 순위 점수가 마스터 2의 순위 점수보다 높고, 마스터 1 및 마스터 2로부터 버스 사용 요청을 수신한 경우, 마스터 1에게 먼저 버스 우선권을 부여하고, 마스터 1의 데이터 송수신이 끝난 후 마스터 2에게 버스 우선권을 부여한다.
라운드 로빈 우선 순위 판단부(306)는 BusReq_1 및 BusReq_2를 수신하면, 마스터에 할당된 시간 정보를 참조하여 우선 순위를 판단한다. 여기서, 판단 방법으로서 라운드-로빈 우선 순위 판단 방법을 사용한다.
라운드 로빈 우선 순위 판단부(306)는 BusReq_1 및 BusReq_2를 수신한 경우, 마스터 1에게 해당 할당 시간 동안 버스 우선권을 부여한 후, 할당 시간이 지나면, 마스터 2에게 버스 우선권을 부여한다. 우선권을 부여하는 순서는 마스터의 종류에 따라 달라진다.
제1 우선 순위 판단부(308)는 BusReq_1 및 BusReq_2를 수신하면, 마스터의 종류 및 데이터의 처리 방식에 대한 정보에 따라 우선 순위를 판단한다. 여기서, 데이터의 처리 방식에 대한 정보는 데이터 처리 정보 수신부(302)를 통해 획득한 것이고, 버스트 여부, 데이터 크기, 쓰기 데이터 여부, 및 버스 전송 방식 중 적어도 하나를 포함한다.
제1 우선 순위 판단부(308)는 고정된 우선 순위 판단 방법을 사용하여 마스터의 종류에 따라 일차적으로 우선 순위를 정한 후, 데이터의 처리 방식에 대한 정보에 따라 최종적인 마스터의 우선 순위를 결정한다.
제2 우선 순위 판단부(310)는 BusReq_1 및 BusReq_2를 수신하면, 마스터의 종류, 마스터에 할당된 시간 정보, 및 데이터의 처리 방식에 대한 정보에 따라 우선 순위를 판단한다. 여기서, 데이터의 처리 방식에 대한 정보는 데이터 처리 정보 수신부(302)를 통해 획득한 것이고, 버스트 여부, 데이터 크기, 쓰기 데이터 여부, 및 버스 전송 방식 중 적어도 하나를 포함한다.
제2 우선 순위 판단부(310)는 라운드-로빈 우선 순위 판단 방법을 사용하여 마스터의 종류 및 마스터에 할당된 시간 정보에 따라 일차적으로 우선 순위를 정한 후, 데이터의 처리 방식에 대한 정보에 따라 최종적인 마스터의 우선 순위를 결정 한다.
도 4a는 프로세서, DSP, DMA1, DMA2의 마스터가 버스 사용 요청을 한 경우, 제1 우선 순위 판단부(308)에 의해 판단된 우선 순위를 나타낸 도면이다.
도 4a를 참조하면, 데이터의 처리 방식에 대한 정보가 버스트 여부인 경우, 마스터들의 우선 순위를 나타내고 있다. 버스트 여부가 “싱글”과 “버스트”로 나뉘게 됨으로써, 우선 순위의 종류는 마스터 종류의 두 배로 증가되며, 만약 마스터가 4개라면 우선 순위 개수가 8개가 된다. 결국, 버스트 여부에 따른 우선순위 요인까지 포함시키게 됨으로 해서, 우선순위 결정을 다양화할 수 있다.
프로세서 또는 DSP는 싱글을 사용하는 경우, DMA1 또는 DMA2보다 우선 순위가 높다. 즉 마스터의 종류에 따라 일차적으로 우선 순위를 결정한다. 그러나, 프로세서 또는 DSP가 버스트를 사용하는 경우, 싱글을 사용하는 DMA1보다 우선 순위가 낮다. 따라서, 버스트 여부에 따라 최종적으로 우선 순위가 정해지게 된다.
도 4b는 프로세서, DSP, DMA1, 및 DMA2의 마스터가 버스 사용 요청을 한 경우, 제2 우선 순위 판단부(310)에 의해 판단된 우선 순위를 나타낸 도면이다.
도 4b를 참조하면, 데이터의 처리 방식에 대한 정보가 버스트 여부인 경우, 우선 순위를 나타내고 있다.
각 마스터들은 할당 시간 동안 우선 순위를 갖게 되는데, 그 순서는 프로세서, DSP, DMA1, DMA2의 순서이다. 즉, 마스터의 종류에 따라 일차적으로 순서가 결정된다. 그러나, 각 마스터의 버스트 사용 여부에 따라 세부적인 우선 순위가 바뀌게 된다. 따라서, 버스트 여부에 따라 최종적으로 순서가 정해지게 된다. 여기서, 프로세서는 싱글을 사용하는 경우에 버스트를 사용하는 경우 보다 먼저 우선권을 부여 받게 된다.
이하, 데이터의 처리 방식에 대한 정보가 버스트 여부일 경우, 도 5 내지 7을 통해 제1 우선 순위 판단부(308)의 구체적인 우선 순위 판단 방법을 살펴본다.
도 5를 참조하면, 본 발명의 일 실시예에 따라 버스트 여부를 우선 순위의 판단에 이용하는 아비터가 실제적으로 버스의 성능을 향상 시키는 예를 나타내 위해서 버스의 동기화(Synchronization) 현상을 도시하였다. 마스터 1에 의해서 M11 명령(502)이 1 사이클 수행되면, 4 사이클 후에는 반드시 마스터 2에서 M21 명령(504)이 4사이클 이루어 지는 시스템이 있다고 가정하며, 마스터 1과 마스터 2는 서로 동기화 관계에 있다고 말할 수 있다.
도 6a 및 도 6b는 이러한 도 5와 같은 동기화 관계에 있는 마스터 1과 마스터 2의 우선 순위에 따른 버스 성능의 차이를 나타내는 도면이다.
도 6a에서는 싱글을 사용하는 마스터 1의 우선 순위가 버스트를 사용하는 마스터 2보다 높은 경우로서, 시간 1구간에서 4구간을 제외하고 마스터 1 또는 마스터 2가 모든 시간에 효율적으로 버스를 점유하고 있다.
마스터 1에 의해서 M11 명령(602a)가 수행되면, 이에 동기화되어 4 사이클 후에 마스터 2에 의해 M21 명령(606a)가 수행되어야 하지만, 마스터 1의 M12 명령(604a)이 우선권을 가지므로 먼저 수행되고, 그 다음에 M21 명령(606a)이 수행된다. 전술한 과정은 후속의 M13 명령(608a)과 M22 명령(610a) 사이에서도 마찬가지로 반복된다.
반면에 도 6b에서는 싱글을 사용하는 마스터 1의 우선 순위가 버스트를 사용하는 마스터 2 보다 낮은 경우로서, 마스터 1의 명령들(602b,606b)이 수행된 후 마스터 2의 명령들(604b,608b)이 수행될 때까지, 반드시 4 사이클 동안 버스가 유휴상태를 유지한다.
결국, 도 6a의 경우와 도6b의 경우를 비교해보면, 마스터의 종류와 버스트 여부에 따라 아비터에서 판단되는 우선 순위에 의해 버스의 성능이 현격하게 차이가 나타남을 확인할 수 있다.
도 7a 및 도 7b는 마스터 1이 싱글과 버스트를 모두 사용하여 데이터 처리를 하는 경우를 나타내는 도면이다. 그리고, 도 7a 및 도 7b는 마스터 1의 명령이 싱글로 수행되는 경우, 4사이클 후에 마스터 2의 버스트 명령이 수행되는 것을 나타낸다.
도 7a는 마스터 1의 우선 순위가 마스터 2 보다 높은 경우로서, 마스터 2의 버스 점유비율이 현격하게 떨어짐을 알 수 있다.
도 7a에서, 마스터 1이 싱글 또는 버스트를 사용하는 모든 경우에 마스터 2보다 우선 순위가 높게 책정된다고 가정한다. 시간 0구간에서 M11 명령(702a)이 수행 되었지만, 이에 동기화된 마스터 2의 M21 명령(708a)은 우선 순위가 낮으므로, 마스터 1의 M12 명령(704a) 및 M13 명령(706a)가 수행된 이후에 수행되게 된다. M12 명령(704a)에 동기화된 마스터 2의 데이터 처리는 M14 명령(710a)의 수행이 끝난 후에야 시작될 수 있음을 쉽게 예상할 수 있다.
반면에, 도 7b는 버스트 여부가 싱글일 경우 또는 버스트일 경우, 각각 마스 터 1의 우선 순위를 다르게 책정한 것을 나타낸 도면이다.
도 7b에서는 싱글을 사용하는 마스터 1의 우선 순위가 가장 높고, 다음으로 버스트를 사용하는 마스터 2의 우선 순위가 높으며, 버스트를 사용하는 마스터 1의 우선 순위가 가장 낮은 경우를 가정한다.
도 7b를 참조하면, 마스터 1의 M11 명령(702b) 및 M12 명령(704b)에 상응하는 동기화 명령인 마스터 2의 M21 명령(706b) 및 M22 명령(708b)은 도 7a의 경우와 비교하여 빠르게 처리됨을 알 수 있다. 우선 순위가 제일 낮은 마스터 1의 M13 명령(710b)은 제일 나중에 수행되게 된다.
결국, 마스터 2의 버스트 명령(706b,708b)을 최우선적으로 처리하고자 한다면, 도 7b와 같이 버스트 여부에 따라 마스터 1의 우선순위를 결정하는 것이 마스터 2의 버스트 명령(706b,708b)을 최우선적으로 처리할 수 있는 가장 효율적인 방법임을 알 수 있다.
도 8은 마스터들의 데이터 처리 방식에 대한 정보가 버스트 여부, 데이터 크기, 및 쓰기 데이터 여부를 포함하는 경우, 마스터들에 대한 우선 순위 판단 결과를 나타내는 도면이다.
도시된 바와 같이, 버스를 통해 전송할 데이터가 쓰기 데이터인지 여부, 데이터의 크기가 바이트 또는 워드 단위 인지 여부, 또는 메모리와의 버스트 접근 여부에 따라 마스터들의 우선 순위가 변화할 수 있다.
다시 도 3을 참조하면, 선택부(312)는 고정된 우선 순위 판단부(304), 라운드 로빈 우선 순위 판단부(306), 제1 우선 순위 판단부(306), 및 제2 우선 순위 판 단부(308)의 마스터 1 및 마스터 2에 대한 우선 순위 판단 결과 중에서 1개의 판단 결과에 따른 우선권 부여 신호를 출력한다. 상기 우선권 부여 신호는 BusGrant_1 또는 BusGrant_2로서, BusGrant_1은 마스터 1에게 우선권을 부여한다는 신호이고, BusGrant_2는 마스터 2에게 우선권을 부여한다는 신호이다.
상기 4개의 우선 순위 판단 결과는 Mode 신호에 의해 선택된다. 일 예로, Mode 신호가 0인 경우, 고정된 우선 순위 판단부(304)의 판단 결과에 따라 우선권 부여 신호를 출력할 수 있고, Mode 신호가 3인 경우, 제2 우선 순위 판단부(308)의 판단 결과에 따라 우선권 부여 신호를 출력 할 수 있다.
도 9는 본 발명의 일 실시예에 따른 아비터의 버스 중재 방법을 나타낸 순서도이다.
먼저, 마스터들로부터 마스터의 데이터 처리 방식에 대한 정보를 수신한다(S902). 여기서, 데이터는 아비터가 관장하는 버스를 통해 전송할 데이터를 말한다.
일 실시예에 있어서, 데이터 처리 방식에 대한 정보는, 버스트 여부, 데이터 용량, 버스 전송 방식, 및 쓰기 데이터 여부 중 적어도 하나를 포함할 수 있다. 일 실시예에 있어서, 아비터가 관장하는 버스는 메모리 접근을 위한 버스일 수 있다.
다음으로, 아비터는 마스터들의 버스 점유에 대한 우선 순위를 마스터의 종류 또는 마스터에 할당된 시간 정보에 따라 1차적으로 판단한다(S904).
다음으로, 마스터의 데이터 처리 방식에 대한 정보에 따라 마스터들의 버스 점유에 대한 최종 우선 순위를 판단한다(S906).
본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다.
그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
도 1의 일반적인 메모리 접근을 위한 버스 아키텍처.
도 2a 및 도 2b는 일반적인 아비터의 우선 순위 판단 방법을 나타낸 도면.
도 3은 본 발명의 일 실시예에 따른 버스 중재 장치를 나타낸 도면.
도 4a 및 도 4b는 프로세서, DSP, DMA1, DMA2의 마스터가 버스 사용 요청을 한 경우, 마스터의 우선 순위를 나타낸 도면.
도 5는 본 발명의 일 실시예에 따라 버스트 여부를 이용하는 아비터가 실제적으로 버스의 성능을 향상 시키는 예를 나타낸 도면.
도 6a 및 도 6b는 마스터 1과 마스터 2의 우선 순위에 따른 버스 성능의 차이를 나타내는 도면.
도 7a 및 도 7b는 싱글과 버스트를 사용하는 마스터 1과 마스터 2의 우선 순위에 따른 버스 성능의 차이를 나타내는 도면.
도 8은 마스터들의 데이터 처리 방식에 대한 정보가 버스트 여부, 데이터 크기, 및 쓰기 데이터 여부를 포함하는 경우, 마스터들에 대한 우선 순위 판단 결과를 나타내는 도면.
도 9는 본 발명의 일 실시예에 따른 아비터의 버스 중재 방법을 나타낸 순서도.
<도면의 주요부분에 대한 부호의 설명>
302: 데이터 처리 정보 수신부 304: 고정된 우선 순위 판단부
306: 라운드 로빈 우선 순위 판단부 308: 제1 우선 순위 판단부
310: 제2 우선 순위 판단부 312: 선택부

Claims (5)

  1. 버스트 여부, 데이터 크기, 버스 전송 방식, 쓰기 데이터 여부 중 적어도 하나를 포함하는 데이터의 처리 방식에 대한 정보를 마스터로부터 버스를 통해 수신하는 단계; 및
    상기 데이터의 처리 방식에 대한 정보에 따라 상기 마스터의 상기 버스의 사용에 대한 우선 순위를 판단하는 단계;를 포함하고,
    상기 우선 순위의 판단은 상기 데이터의 처리 방식에 대한 정보와 함께 상기 마스터의 종류 또는 상기 마스터에 할당된 시간 정보를 더 고려하여 수행되는 것을 특징으로 하는 버스 중재 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 버스트 여부, 데이터 크기, 버스 전송 방식, 쓰기 데이터 여부 중 적어도 하나를 포함하는 데이터의 처리 방식에 대한 정보를 수신하는 데이터 처리 정보 수신부; 및
    상기 데이터의 처리 방식에 대한 정보에 따라 마스터의 버스 사용에 대한 우선 순위를 판단하는 우선 순위 판단부;를 포함하고,
    상기 우선 순위 판단부는,
    상기 데이터의 처리 방식에 대한 정보 및 상기 마스터의 종류에 따라 상기 버스 사용에 대한 우선 순위를 판단하는 제 1 우선 순위 판단부와, 상기 데이터의 처리 방식에 대한 정보 및 상기 마스터에 할당된 시간 정보에 따라 상기 버스 사용에 대한 우선 순위를 판단하는 제 2 우선 순위 판단부를 포함하는 것을 특징으로 하는 버스 중재 장치.
KR1020080014373A 2008-02-18 2008-02-18 버스 중재 방법 및 장치 KR100951126B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080014373A KR100951126B1 (ko) 2008-02-18 2008-02-18 버스 중재 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080014373A KR100951126B1 (ko) 2008-02-18 2008-02-18 버스 중재 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20090089043A KR20090089043A (ko) 2009-08-21
KR100951126B1 true KR100951126B1 (ko) 2010-04-07

Family

ID=41207409

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080014373A KR100951126B1 (ko) 2008-02-18 2008-02-18 버스 중재 방법 및 장치

Country Status (1)

Country Link
KR (1) KR100951126B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010084392A (ko) * 2000-02-25 2001-09-06 서평원 직접 메모리 액세스 제어 장치
KR20040042321A (ko) * 2002-11-14 2004-05-20 한국전자통신연구원 가중 파라메타를 이용한 직접 메모리 접근 제어기의 버스마스터 우선순위 결정방법
KR20060127400A (ko) * 2003-12-09 2006-12-12 톰슨 라이센싱 메모리 제어기
KR20070058561A (ko) * 2004-09-30 2007-06-08 프리스케일 세미컨덕터, 인크. 버스 액세스 철회를 갖는 데이터 프로세싱 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010084392A (ko) * 2000-02-25 2001-09-06 서평원 직접 메모리 액세스 제어 장치
KR20040042321A (ko) * 2002-11-14 2004-05-20 한국전자통신연구원 가중 파라메타를 이용한 직접 메모리 접근 제어기의 버스마스터 우선순위 결정방법
KR20060127400A (ko) * 2003-12-09 2006-12-12 톰슨 라이센싱 메모리 제어기
KR20070058561A (ko) * 2004-09-30 2007-06-08 프리스케일 세미컨덕터, 인크. 버스 액세스 철회를 갖는 데이터 프로세싱 시스템

Also Published As

Publication number Publication date
KR20090089043A (ko) 2009-08-21

Similar Documents

Publication Publication Date Title
JP6755935B2 (ja) 共有メモリコントローラおよびそれを使用する方法
US20020023186A1 (en) Bus system
US7640374B2 (en) Data transfer apparatus by direct memory access controller
US20120042105A1 (en) Bus arbitration apparatus
US8190801B2 (en) Interconnect logic for a data processing apparatus
CN101669096B (zh) 存储器访问控制装置
US20070156955A1 (en) Method and apparatus for queuing disk drive access requests
US7694040B2 (en) Method and apparatus of arranging priority queue and arbitrating for memory access requests
CN111143257A (zh) Ddr仲裁控制器、视频缓存装置及视频处理系统
CN110109847A (zh) Apb总线多个主设备的仲裁方法、系统及存储介质
US20070226391A1 (en) Data transfer control apparatus
KR20120029366A (ko) 트래픽 클래스들과 관련된 포트들을 갖는 다중 포트 메모리 제어기
CN112703489A (zh) 控制器、存储器件访问系统、电子设备和数据传输方法
EP2033102B1 (en) Method and apparatus for performing arbitration
KR101537034B1 (ko) 스트림 트랜잭션(들)에 관련된 정보에 기초한 스트림 트랜잭션들의 중재
US8185679B2 (en) Controlling bus access
US6804736B2 (en) Bus access arbitration based on workload
US10705985B1 (en) Integrated circuit with rate limiting
US8533377B2 (en) System and method for allocating transaction ID in a system with a plurality of processing modules
KR100951126B1 (ko) 버스 중재 방법 및 장치
KR101420290B1 (ko) 트랜잭션들을 그룹화하는 버스 중재기, 이를 포함하는 버스장치 및 시스템
KR100973419B1 (ko) 버스 중재 방법 및 장치
JP2006127022A (ja) バス制御装置
JP2004527024A (ja) 多重チャネルを有するデータメモリアクセス用のスケジューラ
US20210334230A1 (en) Method for accessing data bus, accessing system, and device

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: 20130215

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131217

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141204

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160113

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161220

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee