KR20040029254A - 자원관리장치 - Google Patents

자원관리장치 Download PDF

Info

Publication number
KR20040029254A
KR20040029254A KR1020030067619A KR20030067619A KR20040029254A KR 20040029254 A KR20040029254 A KR 20040029254A KR 1020030067619 A KR1020030067619 A KR 1020030067619A KR 20030067619 A KR20030067619 A KR 20030067619A KR 20040029254 A KR20040029254 A KR 20040029254A
Authority
KR
South Korea
Prior art keywords
bus
access
adjustment
adjustment information
information
Prior art date
Application number
KR1020030067619A
Other languages
English (en)
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 마츠시타 덴끼 산교 가부시키가이샤
Publication of KR20040029254A publication Critical patent/KR20040029254A/ko

Links

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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • 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

Abstract

본 발명은 복수의 버스마스터 각각에 대하여 공유자원으로의 액세스에 관한 임의의 최저 대역폭을 보장하는 것이다.
복수의 버스(112, 113, 114)에 각각 적어도 1 개의 버스 마스터(101~105)를 접속하며, 각 버스(112~114)로부터 공유자원(119)으로의 액세스량을 조정하기 위한 버스 조정부(117)와, 당해 버스 조정부(117)에서의 조정처리를 위해, 버스 우선순위와, 각 버스(112~114)로부터 공유자원(119)으로의 액세스 대역폭을 확보하기 위한 액세스 최우선 패턴을, 버스 조정정보(116)로서 관리하기 위한 조정정보 관리부(121)와, 버스 조정부(117)에서 액세스권을 획득한 버스로부터 공유자원(119)으로의 액세스를 당해 공유자원(119)의 특성에 기초하여 제어하기 위한 자원제어부(118)를 구성한다.

Description

자원관리장치{RESOURCE MANAGEMENT DEVICE}
본 발명은 복수의 버스에 각각 적어도 1 개의 버스마스터가 접속되어 이루어지는 멀티 버스마스터이며 또 멀티 버스 구성의 데이터처리시스템에 있어서, 각 버스마스터로부터 공유자원으로의 액세스를 관리하기 위한 자원관리장치에 관한 것이다.
시스템LSI에 있어서 복수의 버스마스터가 공통버스를 통해 자원을 공유할 경우, 당해 자원으로의 액세스를 효율적으로 조정(調停)할 필요가 있다. 여기서 버스마스터는 마이크로프로세서, DSP(Digital Signal Processor), DMA(Direct Memory Access)제어기 등이며, 공유자원은 메모리, 주변 I/O(input/output)제어기 등이다.
종래예 1(일특개소 52-103935호 공보)의 기술에 의하면, 멀티프로세서 시스템에 있어서, 각 프로세서로부터 공유메모리로의 액세스를 허가하기 위해 주기적으로 액세스허가신호를 보내는 주사회로를 구성한다. 프로세스로부터 공유메모리로의 액세스요구신호와, 주사회로로부터의 액세스허가신호의 양자가 액티브일 경우에, 당해 프로세서는 공유메모리로의 액세스가 가능해진다. 이로써, 각 프로세서는 공유메모리에 공평하게 액세스하는 기회를 얻는다.
종래예 2(미국특허 제 6,070,205호 명세서)의 기술에 의하면, 복수 버스마스터간의 버스 사용권을 조정하는 시스템에 있어서, 일련의 우선순위 정보를 구비하여, 다음 주기에 버스 사용권을 획득하는 버스마스터를 당해 우선순위 정보에 따라 결정한다.
종래예 3(미국특허 제 5,931,924호 명세서)의 기술에 의하면, 데이터처리시스템에 있어서, 공유자원으로의 최우선 액세스권을 각 버스마스터에 무작위로 부여한다.
종래예 4(미국특허 제 5,948,089호 명세서)의 기술에 의하면, 동기 버스가 2 레벨의 조정스킴(scheme)을 가지며, 제 1 레벨의 조정은 프레임화된 시분할 다중 조정스킴이고, 제 2 레벨은 토큰전달(token passing) 기구를 이용하여 실현되며 또 공평하게 할당되는 라운드로빈(round robin) 스킴이다.
종래예 5(미국특허 제 5,533,205호 명세서)의 기술에 의하면, 멀티미디어 컴퓨터시스템에 있어서 필요한 데이터 전송속도로써의 버스 액세스를 보장하기 위해, 선택된 시간간격 동안에, 특정 프레젠테이션장치에 관련된 조정레벨 표시기의 순서를 일시적으로 변경한다.
멀티 버스마스터이며 멀티 버스 구성의 데이터처리시스템은, 복수의 버스 각각에 적어도 1 개의 버스마스터가 접속되어 구성된다. 이와 같은 복잡한 버스구조를 갖는 데이터처리시스템에 있어서 각 버스마스터로부터 공유자원으로의 액세스를 관리할 경우, 상기 종래예(1~5)의 기술로는 공유자원의 특성(예를 들어 메모리의 액세스특성)에 대응한 액세스를 실현할 수 없으며, 또 공유자원으로의 데이터전송량이란 관점에서 액세스 대역폭을 보장할 수 없다. 특히 공유자원으로의 액세스에 관한 임의 최저 대역폭을 보장하거나, 각 버스마스터가 공유자원에 액세스할 때의 레이턴시(latency)(대기시간, 또는 지연)를 액세스 상황에 따라 최적화하거나 하기가 어렵다.
본 발명의 목적은 멀티 버스마스터이며 멀티버스 구성의 데이터처리시스템에 있어서, 각 버스마스터에 대해 공유자원으로의 액세스에 관한 최저 대역폭을 보장할 수 있는 자원관리장치를 제공하는 데 있다.
본 발명의 또 다른 목적은 멀티 버스마스터이며 멀티버스 구성의 데이터처리시스템에 있어서, 각 버스마스터가 공유자원에 액세스할 때의 레이턴시를 작게 할 수 있는 자원관리장치를 제공하는 데 있다.
도 1은 본 발명의 제 1 실시예에 관한 자원관리장치의 구성을 나타내는 블록도.
도 2는 도 1 중 자원제어부의 상세 구성예를 나타내는 블록도.
도 3은 도 1 중 버스 조정정보를 표 형식의 정보로 한 예를 나타내는 도.
도 4는 도 1 중 버스 조정부가 도 3의 버스조정정보를 이용하여 조정을 실행하는 경우의 도.
도 5는 도 3의 버스 조정정보 중 액세스 최우선패턴의 변경예를 나타내는 도.
도 6은 도 3의 버스 조정정보 중 버스 우선순위의 변경예를 나타내는 도.
도 7은 도 3의 버스 조정정보 구성에 관한 변형예를 나타내는 도.
도 8은 본 발명의 제 2 실시예에 관한 자원관리장치 구성을 나타내는 블록도.
도 9는 도 8 중의 버스마스터 조정정보 및 버스 조정정보를 각각 표 형식의 정보로 한 예를 나타내는 도.
도 10은 도 8 중 그룹정보의 일례를 나타내는 도.
도 11은 도 10의 그룹정보를 고려한 버스마스터 조정정보 및 버스 조정정보의 일례를 나타내는 도.
도 12는 본 발명의 제 3 실시예에 관한 자원관리장치의 구성을 나타내는 블록도.
도 13은 도 12의 자원관리장치가 액세스 버스별로 대역폭을 보장하는 동작을 설명하기 위한 도.
도 14는 도 13에 대응한 버스마스터 조정정보의 일례를 나타내는 도.
도 15는 도 12의 자원관리장치가 액세스의 목적별로 대역폭을 보장하는 동작을 설명하기 위한 도.
도 16은 도 15에 대응한 버스마스터 조정정보의 일례를 나타내는 도.
도 17은 본 발명의 제 4 실시예에 관한 자원관리장치의 구성을 나타내는 블록도.
도 18은 도 17의 자원관리장치의 동작을 나타내는 흐름도.
도 19는 도 17의 자원관리장치에서 버스 조정정보에 다시행규칙을 적용하는 경우의 도.
도 20은 도 17의 자원관리장치에서 버스 조정정보에 연속규칙을 적용하는 경우의 도.
도 21은 도 17의 자원관리장치에서 버스 조정정보에 주기규칙을 적용하는 경우의 도.
도 22는 도 17의 자원관리장치에서 버스 조정정보에 일시규칙을 적용하는 경우의 도.
도 23은 도 17의 자원관리장치에서 버스 조정정보에 패턴설정규칙을 적용하는 경우의 도.
도 24는 도 17의 자원관리장치에서 버스마스터 조정정보에 연속규칙을 적용하는 경우의 도.
도 25는 도 17 자원관리장치의 확장 예를 나타내는 블록도.
* 도면의 주요 부분에 대한 부호의 설명 *
101~105, 701~705, 801~805 : 버스마스터
106, 108, 110, 706, 708, 710, 806, 808, 810 : 버스마스터 조정정보
107, 109, 111, 707, 709, 711, 807, 809, 811 : 버스마스터 조정부
112~114, 712~714, 812~814 : 버스
115, 715, 730, 815 : 자원관리부
116, 716, 731, 816 : 버스 조정정보
117, 717, 732, 817 : 버스 조정부
118, 718, 733, 818 : 자원제어부
119, 719, 734 : 공유자원
120, 820 : 학습부
121, 721, 821 : 조정정보 관리부
131 : 액세스제어부 132 : 버퍼메모리
724 : 그룹정보 725 : 모의실험부
상기 목적을 달성하기 위해 본 발명에서는, 복수의 버스 각각에 적어도 1 개의 버스마스터가 접속되며, 또 각 버스마스터가 상기 복수의 버스 중 어느 하나를 통해 적어도 1 개의 공유자원에 접속되어 이루어지는 데이터처리시스템의 자원관리장치에 있어서, 복수의 버스로부터 공유자원으로의 액세스량을 조정하기 위한 버스 조정부와, 당해 버스 조정부에서의 조정처리를 위해, 버스 우선순위와, 복수의 버스로부터 상기 공유자원으로의 액세스 대역폭을 확보하기 위한 액세스 최우선패턴을 버스 조정정보로서 관리하기 위한 조정정보 관리부와, 버스 조정부에서 액세스권을 획득한 버스로부터 공유자원으로의 액세스를 당해 공유자원의 특성에 기초하여 제어하기 위한 자원제어부를 구비하는 구성을 채용하기로 한다.
본 발명에 의하면, 버스선택의 기준이 될 버스 우선순위와, 자원 액세스 대역폭 확보의 시간 분해능을 단위시간으로 하는 액세스 최우선패턴이 버스 조정정보로서 준비된다. 이 버스 조정정보는 개개의 버스와는 독립되어 존재하므로, 액세스대역폭 확보의 단위시간은, 개개 버스의 버스 주기와 독립시켜 공유자원에 맞추어 설정할 수 있으며, 개개의 버스 주기의 영향을 받지 않는다.
액세스권을 획득한 버스로부터의 액세스는 그 자원 고유의 액세스효율로, 그 시간단위에 알맞는 액세스가 실행된다. 공유자원으로의 데이터 전송량은 자원별 액세스효율과 시간단위의 길이로 결정된다. 개개 버스의 전송능력은 각각의 버스 주기 길이나 데이터전송 폭 등에 의존하지만, 이와 같은 버스 각각의 전송능력과는 독립되어, 각각의 자원별로, 그 자원으로서의 고유 액세스효율에 따른 형태로써의 액세스 대역폭의 보장을 실행할 수 있다.
복수의 버스 중 어느 하나에 복수의 버스마스터가 접속된 경우에는, 이들 복수 버스마스터의 버스 사용권을 조정하기 위한 버스마스터 조정부를 추가로 구성한다. 조정정보 관리부는 이 버스마스터 조정부에서의 조정처리를 위해, 버스마스터 우선순위와, 복수의 버스마스터로부터 공유자원으로의 액세스 대역폭을 확보하기 위한 액세스 최우선패턴을 버스마스터 조정정보로서 관리하는 기능을 추가로 갖는다.
공유자원에 액세스할 때의 레이턴시를 작게 하기 위해서는, 조정정보 관리부가 버스 조정정보를 초기화한 후, 버스 조정부에 의한 소정 횟수 조정의 조정결과정보를 취득하고, 당해 조정결과정보를 기초로 공유자원으로의 액세스 상황을 해석하며, 또 당해 해석 결과에 기초하여 공유자원으로의 액세스 레이턴시가 작아지도록 버스 조정정보를 갱신하기 위해 조정정보 관리부에 지시를 내리기 위한 학습부를 추가로 구성한다.
상술한 목적 및 기타의 목적과 본 발명의 특징 및 이점은 첨부 도면과 관련한 다음의 상세한 설명을 통해 보다 분명해 질 것이다.
(실시예)
이하, 본 발명의 실시예에 대하여 도면을 이용하여 설명하기로 한다. 이하의 설명에 있어서 각 버스마스터는, 데이터액세스를 실행하기 위한 어드레스신호, 제어신호 등을 능동적으로 송출하는 기능을 갖는 것이다. 일반적으로 1 개의 기능블록은 버스접속을 위한 복수의 인터페이스를 구비하며, 몇 개는 버스마스터로서 기능하고, 몇 개는 버스슬레이브로서 기능한다. 예를 들어, 하버드 구조(Harvard architecture)의 프로세서는 명령용 버스마스터와, 데이터용 버스마스터를 갖는다.
(제 1 실시예)
도 1은 본 발명의 제 1 실시예에 관한 자원관리장치의 구성을 나타낸다. 도 1에서 101, 102, 103, 104, 105는 버스마스터, 112, 113, 114는 버스, 106, 108, 110은 버스마스터 조정정보, 107, 109, 111은 버스마스터 조정부, 115는 자원관리부, 116은 버스 조정정보, 117은 버스 조정부, 118은 자원제어부, 119는 공유자원, 121은 조정정보 관리부이다. 공유자원(119)은, 예를 들어 SDRAM(Synchronous Dynamic Random Access Memory) 등의 메모리, 또는 주변I/O 제어기이다.
각 버스마스터(101~105)는, 버스(112~114)를 통해 공유자원(119)에 액세스하기 위한 트랜잭션을 발생시킨다. 버스(112)는 버스마스터(101, 102)를 갖는 버스이다. 버스마스터 조정부(107)는 버스마스터 조정정보(106)를 기초로, 버스(112)에 접속된 버스마스터(101, 102)로부터의 액세스요구를 조정한다. 버스(113)는 버스마스터(103, 104)를 갖는 버스이다. 버스마스터 조정부(109)는 버스마스터 조정정보(108)를 기초로, 버스(113)에 접속된 버스마스터(103, 104)로부터의 액세스요구를 조정한다. 버스(114)는 버스마스터(105)를 갖는 버스이다. 버스마스터 조정부(111)는 버스마스터 조정정보(110)를 기초로, 버스(114)에 접속된 버스마스터(105)로부터의 액세스요구를 조정한다.
자원관리부(115)는 버스(112~114)로부터 공유자원(119)에 대한 액세스를 관리하도록, 버스 조정부(117)와 자원제어부(118)로 구성된다. 버스 조정부(117)는 버스(112~114)로부터 공유자원(119)에 대한 액세스를 버스 조정정보(116)에 기초하여 조정한다. 자원제어부(118)는 버스 조정부(117)에 의해 조정된 버스로부터의 액세스를 공유자원(119)에 전한다.
조정정보 관리부(121)는 버스마스터 조정정보(106, 108, 110), 버스 조정정보(116)를 각각 관리하며, 필요에 따라 이들을 버스마스터별 공유자원(119)으로의 액세스허가 비율 요구변경에 의해 갱신한다. 여기서, 이하의 설명에서는 버스마스터(101, 102, 103, 104, 105)를 적절하게 버스마스터(A, B, C, D, E)로 칭하며, 버스(112, 113, 114)를 적절하게 버스(0, 1, 2)로 칭한다.
이상 서술한 자원관리장치에 있어서, 각각의 버스마스터(A~E)가 공유자원(119)에 액세스할 경우, 공유자원(119)으로의 액세스를 희망하는 버스마스터는, 접속될 버스로의 액세스요구를 각각의 버스마스터 조정부(107, 109, 111)에 실행한다. 각각의 버스마스터 조정부(107, 109, 111)는 각각의 버스마스터 조정정보(106, 108, 110)에 기초하여, 요구해온 버스마스터 중 1 개에, 각각의 버스로의액세스허가를 부여한다. 각각의 버스(0, 1, 2)에서 액세스허가가 부여된 버스마스터는 각각의 버스를 통해, 자원제어부(118)로의 액세스요구를 버스 조정부(117)에 실행한다. 버스 조정부(117)는 버스 조정정보(116)에 기초하여, 요구해온 버스 중 1 개에, 자원제어부(118)로의 액세스요구를 부여한다. 액세스허가가 부여된 버스로의 액세스허가를 받은 버스마스터는 자원제어부(118)를 통해 공유자원(119)에 액세스할 수 있다.
도 2는 도 1 중 자원제어부(118)의 상세 구성예를 나타낸다. 도 2에 나타내는 바와 같이, 자원제어부(118)는 액세스제어부(131)와 버퍼메모리(132)를 구비한다. 액세스제어부(131)는, 버스 조정부(117)에서 공유자원(119)으로의 액세스가 허가된 버스의 프로토콜을 해석하고 또 당해 해석 결과에 기초하여, 당해 버스와 공유자원(119) 사이의 데이터전송을 제어한다. 버퍼메모리(132)는 전송데이터를 일시 기억한다. 액세스제어부(131)와 버퍼메모리(132)에 의해, 버스 동작클록과 공유자원(119) 동작클록과의 비동기 동작의 정합성을 조정하거나, 버스로부터의 비연속 데이터전송을 연속전송으로 변환(단발적인 액세스를 버스트액세스로 변환하는 등)하여 공유자원(119)으로의 효율적인 데이터전송을 가능하게 하거나 한다. 또 액세스제어부(131)는 버스 조정부(117)의 조정 상황과 버퍼메모리(132)의 상황을 판단하여, 공유자원(119)으로의 액세스를 대기시키거나, 버퍼메모리(132)에 축적된 데이터를 정해진 데이터량으로 공유자원(119)에 기입하거나, 공유자원(119)으로부터 버퍼메모리(132)에 연속전송으로 데이터를 저장하여 당해 버퍼메모리(132)로부터 정해진 데이터량을 버스로 전송하거나 한다.
도 3은 도 1 중의 버스 조정정보(116)를 표 형식의 정보로 한 예를 나타낸다. 본 실시예에 있어서, 버스마스터 조정정보(106, 108, 110)로서 임의의 우선순위 패턴을 가지며, 버스 조정정보(116)로서 도 3에 나타내는 표 형식 버스 조정정보(201)를 갖는 경우에 대하여 서술하기로 한다.
도 3의 버스 조정정보(201)에 있어서, 가장 왼쪽 열은 버스간의 고정적인 우선순위를 나타내며, 위쪽 행에 있는 버스일수록 높은 우선순위를 갖는다. 이는 상기 버스 우선순위에 해당한다. 다음 1 0 열은 버스간의 최우선순위를 나타내며, [1]로 표시되는 버스가 최우선순위를 갖는다. 이는 상기 액세스 최우선패턴에 해당한다. 각 열을 슬롯이라 부르며, 각 열의 제일 위쪽 수치를 슬롯번호라 부른다.
버스 조정부(117)는, 액세스 대역폭 확보의 시간분해능에 상당하는 일정기간별로 참조할 슬롯을 바꾸어 선택하고, 그 기간 동안에 수취한 버스로부터의 액세스요구에 대하여, 그 시점에서 참조되고 있는 슬롯의 정보를 기초로 조정을 행한다. 여기서 버스로부터의 액세스요구는 버스의 동작클록으로 실행되지만, 슬롯의 천이시간은 버스의 동작 주기와 독립시켜 설정할 수 있다. 슬롯의 선택은 슬롯번호 0에서 슬롯번호 9까지 차례로 절환하고, 다시 슬롯번호 0부터 되풀이한다. 버스 조정부(117)가 행하는 조정은, 상기 일정기간 동안에 수취한 액세스요구와, 참조하고 있는 슬롯 중의 값을 비교하여, 당해 슬롯에서 [1]로 표시된 버스로부터의 액세스요구가 있으면, 그 버스에 대하여 자원제어부(118)로의 액세스허가를 부여한다. [1]로 표시된 버스로부터의 액세스요구가 없으면, 상기 버스 우선순위에 따라, 액세스를 요구하고 있는 버스 중에서 가장 우선순위가 높은 버스에 대하여 액세스허가를 부여한다. 이들 조정을 기간별로 참조할 슬롯을 바꾸면서 되풀이한다. 버스 조정부(117)가 일정기간 동안에 액세스요구를 수취하지 않았을 경우는, 참조할 슬롯의 절환만을 행한다.
일정기간 설정방법의 예로서는, 공유자원(119)으로의 데이터전송량 단위로 설정하는 방법이나, 일정시간, 즉 일정클록 수로 절환하는 방법이 있다. 일정기간의 설정방법은 목적에 따라 변경할 수 있다.
도 4는 도 1 중의 버스 조정부(117)가 도 3의 버스 조정정보(201)를 이용하여 조정을 실행하는 경우를 나타낸다. 도 4에 있어서 301은 버스 조정부(117)가 각 슬롯을 참조하는 일정기간 내에 추가된 액세스요구, 302는 버스 조정부(117)가 각 슬롯을 참조하는 일정기간 내에서 액세스허가를 기다리고 있는 액세스요구, 303은 버스 조정부(117)가 각 슬롯을 참조하는 일정기간 내에 허가된 액세스요구를 나타낸다.
버스 조정부(117)가 슬롯 0을 참조하는 기간에, 버스(0, 1, 2)로부터 액세스요구를 수취했음을 301에서 알 수 있다. 버스 조정부(117)는 슬롯 0의 정보를 기초로, 최우선을 나타내는 [1]이 표시된 버스(0)에 대하여 액세스허가를 부여한다. 이것이 303에 표시된다.
슬롯 0의 기간에 허가를 받지 못한 버스(1, 2)는 허가를 부여받을 때까지 액세스요구를 계속하므로, 다음 슬롯 1의 기간에서는 302에 나타내는 조정대기 액세스요구로서 취급된다. 이 기간에서는 301에서 나타낸 바와 같이 새로 추가된 액세스요구는 없으므로, 버스 조정부(117)는 302에 나타내는 조정대기 버스(1, 2)에 대하여 조정을 행하고, 슬롯 1의 정보로부터 버스(1)에 대하여 액세스허가를 부여한다.
슬롯 2의 기간에서는 버스(2)와 버스(0)에 대하여 조정을 행하여, 버스(2)에 액세스허가를 부여한다. 이하, 마찬가지로 조정을 행함으로써, 각 일정기간에 각각의 버스에 대하여 액세스허가를 부여할 수 있다.
이상에서 서술한 버스 조정정보(201)를 이용한 경우, 각각의 버스는 [1]을 표시하는 슬롯 수만큼 자원제어부(118)를 통해 공유자원(119)에 액세스할 수 있다. 즉, 버스(0)는 슬롯 0, 3, 7에서 [1]을 표시하므로, 10 회의 조정 중 3 회는 액세스허가를 얻을 수 있으며, 버스(1)는 슬롯 1, 4, 5, 8, 9에서 [1]을 표시하므로, 10 회의 조정 중 5 회는 액세스허가를 얻을 수 있다. 또 버스(2)는 슬롯 2, 6에서 [1]을 표시하므로, 10 회의 조정 중 2 회는 액세스허가를 얻을 수 있다. 따라서 허가될 공유자원(119)으로의 전 액세스 중 몇 퍼센트를 각각의 버스가 획득 가능한가를 이 버스 조정정보(201)에 의해 지정할 수 있다. 즉 버스(0)는 30%, 버스(1)는 50%, 버스(2)는 20%의 액세스허가를 얻을 수 있다.
여기서, 버스 조정정보(201)의 내용인 버스 우선순위, 액세스 최우선패턴, 슬롯 수는 실시 환경에 따라 다르며, 각각의 실시 환경에 있어서 각 버스에서 보장하고 싶은 액세스허가의 비율에 기초하여 설정할 수 있다.
도 5 및 도 6은 도 3 버스 조정정보(201)의 변경예를 나타낸다. 본 자원관리장치의 동작 중에 각 버스로의 액세스허가 비율을 변경할 필요가 발생한 경우, 조정정보 관리부(121)가 도 5, 도 6에 나타내는 바와 같이 버스 조정정보(201)를 변경할 수 있다. 도 5의 버스 조정정보(401)에 의하면, 버스(0)는 40%, 버스(1)는 30%, 버스(2)는 30%의 액세스허가를 얻을 수 있다. 도 6의 버스 조정정보(501)에 의하면, 버스(0, 1, 2) 중 버스(2)에 가장 높은 우선순위가 부여된다.
도 7은 도 3 버스 조정정보(201)의 구성에 관한 변형예를 나타낸다. 도 7에 나타내는 바와 같이 각 버스의 판독, 기입 액세스별로 슬롯 정보를 갖는 버스 조정정보(601)를 가짐으로써, 각 버스의 판독, 기입 액세스별로 액세스허가의 비율을 설정할 수 있다. 여기서 액세스허가의 비율을 설정하는 버스로부터의 액세스타입은 실시 환경에 따라 다르며, 판독, 기입 액세스에 한정된 것은 아니다.
자원제어부(118)로의 1 회의 액세스허가를 얻을 때마다, 허가를 얻은 버스가 공유자원(119)에 어느 정도 액세스 가능한지는, 본 자원관리장치에서의 공유자원(119)의 사용목적에 따라 다르며, 이를 자원제어부(118)가 제어한다. 구체적인 예로서, 버스 조정부(117)가 1 개의 버스에 액세스허가를 부여하면, 자원제어부(118)는 그 버스에 대하여 일정 데이터량만 공유자원(119)에 액세스시킨다. 이에 의해, 상기 각 버스가 얻는 액세스허가의 비율과 합하면, 각 버스가 일정시간 동안에 공유자원(119)에 액세스할 수 있는 데이터량을 계산할 수 있다. 이로써 각 버스에 대하여 공유자원(119)으로의 액세스 대역폭을 보장할 수 있다. 기타, 일정주기 동안만 공유자원(119)에 액세스시키는 등, 자원제어부(118)가 제어를 행할 수 있으며, 이 자원제어부(118)의 동작에 의해 각 버스가 공유자원(119)에 어느 정도의 액세스가 가능한가를, 공유자원(119)의 사용목적에 맞추어 보장할 수 있다.
그리고 각 버스의 동작속도가 각각 다른 경우에 있어서도 마찬가지로, 각 버스가 공유자원(119)으로 어느 정도 액세스 가능한가를 보장할 수 있다.
자원제어부(118)는 버스 조정부(117)에 의한 조정으로 액세스권을 획득한 버스로부터 공유자원(119)으로의 액세스제어를 실행한다. 구체적으로는, 당해 버스로부터 공유자원(119)으로의 액세스 종별을 나타내는 버스트타입, 비트 폭, 판독액세스 또는 기입액세스 등의 버스 프로토콜을 판정하여, 미리 설정되는 1 조정 단위에서의 공유자원(119)으로의 액세스 데이터량 단위로, 버스 조정부(117)에 의한 조정으로 액세스권을 획득할 때마다, 당해 버스로부터 공유자원(119)으로의 액세스를 허가한다. 구체예로서, 버스로부터 공유자원(119)으로의 액세스가, 버스트크기 8, 비트 폭 32비트, 기입액세스로서, 자원제어부(118)로부터 공유자원(119)으로의 액세스 비트 폭을 32비트, 1 조정 단위에서의 공유자원(119)으로의 액세스 데이터량 단위를 16 바이트로 했을 경우에는, 32비트 4 버스트의 액세스를 2 회분 공유자원(119)에 대하여 실행한다.
이와 같이 버스 조정정보(116)를 기초로 버스 조정부(117)에 의해 복수의 버스로부터 공유자원(119)으로의 액세스를 조정하며, 자원제어부(118)에 의해 버스 프로토콜을 판정하여, 액세스허가별로 버스 조정부(117)에, 미리 정해진 액세스데이터량을 공유자원(119)에 액세스시킴으로써, 각 버스로부터 공유자원(119)으로의 액세스 대역폭을 정량적으로 보장하는 것이 가능해진다.
각 버스로부터 공유자원(119)으로의 액세스 대역폭은, 예를 들어 다음과 같이 하여 구해진다. 여기서 버스의 클록주파수(㎒)를 BCLK로 하고, 예를 들어 도 3에 나타낸 버스 조정정보(201)의 슬롯천이클록 수를 T로 하면, 슬롯천이시간(㎲)은T/BCLK로 된다. 또 버스 조정정보(201)의 슬롯 수를 TSLOT로 하며, 당해 버스에 대하여 버스 조정정보(201)에 설정할 최우선 비트설정 슬롯 수를 SSLOT로 하고, 1 조정별 당해 버스로부터 공유자원(119)으로의 액세스 데이터량(바이트단위)을 M으로 하면, 당해 버스로부터 공유자원(119)으로의 액세스보장 가능한 데이터 전송속도, 즉 대역폭(BW)(메가바이트/s)은,
BW=SSLOT ×M ×BCLK/(T ×TSLOT)
로 구해진다. 여기서 슬롯천이 클록수(T)는, 공유자원(119)의 특성(예를 들어 메모리종별이나 SDRAM의 액세스모드 종별)을 반영시킨 값으로 설정된다.
예를 들어 도 3의 버스 조정정보(201)에서의 각 행 내에서 [1]을 균등하게 나열시킴으로써, 같은 액세스 대역폭으로 평균적인 액세스 레이턴시를 각 버스에 대하여 보장할 수 있다. 또 [1]을 연속적으로 나열시킴으로써, 버스마스터로부터의 액세스가 주기적으로 집중한 경우에 액세스 지연을 적게 하는 것이 가능하다. 또 [1]을 무작위로 나열함으로써, 평균적인 액세스 지연을 실현하는 것도 가능하다.
(제 2 실시예)
도 8은 본 발명의 제 2 실시예에 관한 자원관리장치의 구성을 나타낸다. 도 8에서 701~719는 도 1의 101~119에 대응한다. 조정정보 관리부(721)는 그룹정보(724)를 기초로, 각각 버스마스터 조정정보(706, 708, 710), 버스 조정정보(716)를 관리하여, 버스마스터별 공유자원(719)으로의 액세스허가비율 요구변경에 의해 필요에 따라 갱신한다. 722는 버스마스터(701, 702)로 구성된 X그룹, 723은 버스마스터(702, 703, 704, 705)로 구성된 Y그룹, 724는 각 버스마스터의 그룹소속정보와, 각 버스마스터 그룹별 공유자원(719)으로의 액세스허가 비율 정보를 저장하는 그룹정보, 725는 모의실험부이다.
도 9는 도 8 중의 버스마스터 조정정보(706, 708) 및 버스 조정정보(716)를 각각 표형식의 정보로 한 예를 나타낸다. 버스 조정부(717)가 도 9의 버스 조정정보(921)를 이용하여 조정을 실행함으로써, 각 버스에 대하여 자원제어부(718)로의 액세스허가를 부여하는 비율 보장이 가능함은, 제 1 실시예의 경우와 마찬가지이다. 또 마찬가지로, 버스마스터 조정부(707, 709)가 각각 도 9에서의 버스마스터 조정정보(901, 911)를 이용함으로써, 각 버스마스터에 대하여 각각의 버스로의 액세스허가를 부여하는 비율을 보장할 수 있다. 구체적으로는, 버스 조정정보(921)에 의해 버스(0, 1, 2)는 922에 나타내는 바와 같이, 각각 20%, 50%, 30%의 비율로 자원제어부(718)로의 액세스허가가 보장된다. 또 버스마스터 조정정보(901)에 의해 버스마스터(A, B)는 902에 나타내는 바와 같이, 각각 50%, 50%의 비율로 버스(0)로의 액세스허가가 보장된다. 또한 버스마스터 조정정보(911)에 의해 버스마스터(C, D)는 912에 나타내는 바와 같이, 각각 40%, 60%의 비율로 버스(1)로의 액세스허가를 보장할 수 있다. 그리고 버스(2)에는 버스마스터(E)만이 접속되므로, 버스(2)로의 액세스허가는 버스마스터(E)가 100% 얻을 수 있다.
여기서 버스(0)가 자원제어부(718)에 행하는 액세스요구 중, 50%가 버스마스터(A)로부터, 나머지 50%가 버스마스터(B)로부터이므로, 버스(0)가 얻을 자원제어부(718)로의 20%의 액세스허가 중, 50%를 버스마스터(A)가 얻으며, 나머지 50%를 버스마스터(B)가 얻게 된다. 즉, 버스마스터(A, B)는 자원제어부(718)로의 액세스허가를 각각 10%씩 얻을 수 있다. 마찬가지로 버스마스터(C, D, E)는 자원제어부(718)로의 액세스허가를 각각 20%, 30%, 30%씩 얻을 수 있다.
또 제 1 실시예에서도 서술한 바와 같이, 자원제어부(718)로의 1 회의 액세스허가로, 공유자원(719)에 어느 정도 액세스할 수 있는가를 공유자원의 사용방법에 맞추어 설정 가능하므로, 예를 들어 1 회의 액세스허가에 대하여, 공유자원(719)으로의 일정 데이터량의 액세스를 시킬 수 있으며, 이 경우는 각 버스마스터에 대하여 공유자원(719)으로의 액세스 대역폭을 보장할 수 있다. 이상으로써, 각 버스마스터에 대하여, 공유자원(719)으로의 액세스허가 비율을 어느 정도 보장하고 싶은가가 결정되면, 버스 조정정보(921), 버스마스터 조정정보(901, 911)를 설정함으로써 이들의 비율을 보장할 수 있다.
다음으로 복수의 애플리케이션이 병렬로 실행되는 시스템에 있어서, 애플리케이션별로 공유자원(719)으로의 액세스 대역폭을 보장하고자 할 경우, 그룹정보(724)를 사용함으로써 액세스 대역폭의 보장이 가능해진다. 구체적인 예로서, 2 개의 애플리케이션(X, Y)이 병렬로 실행되는 경우를 생각한다. 애플리케이션(X)에서 사용될 버스마스터의 조합은 버스마스터(701, 702)이며, X그룹(722)으로 표시된다. 또 애플리케이션(Y)에서 사용될 버스마스터의 조합은 버스마스터(702, 703, 704, 705)이며, Y그룹(723)으로 표시된다.
도 10은 이 때의 그룹정보(723)의 일례를 나타낸다. 도 10에서, 931은 각 그룹에서 사용될 버스마스터의 조합과, 그 그룹에 할당될 공유자원(719)으로의 액세스허가를 각 버스마스터에 할당하는 비율을 나타낸다. 932는 각 그룹에 대한 공유자원(719)으로의 액세스허가 비율을 나타낸다. 931, 932를 기초로 하면, 버스마스터(A, B, C, D, E)에 대하여 할당되는 공유자원(719)으로의 액세스허가 비율은, 각각 10%, 30%, 16%, 24%, 20%가 된다. 각각의 버스마스터에 대한 공유자원(719)으로의 액세스허가 비율을 기초로, 전술한 방법으로 버스마스터 조정정보(706, 708, 710) 및 버스 조정정보(716)를 설정할 수 있다.
도 11은 도 10의 그룹정보(931, 932)를 고려한 버스마스터 조정정보(706, 708) 및 버스 조정정보(716)의 일례를 나타낸다. 도 11에서, 1001, 1011은 각각 버스마스터 조정정보(706, 708)에 대응하며, 1021은 버스 조정정보(716)에 대응한다. 1002, 1012는 버스마스터별 버스로의 액세스허가 비율이며, 1022는 버스별 공유자원(719)으로의 액세스허가 비율이다.
이상으로써, 그룹정보(724)를 이용함으로써 복수 애플리케이션이 병렬로 동작하는 경우라도, 애플리케이션별로 공유자원(719)으로의 액세스허가 비율을 보장할 수 있다. 또 동작할 애플리케이션이 변화한 경우에 있어서도, 그룹정보(724)를 변경함으로써, 애플리케이션별로 공유자원(719)으로의 액세스허가 비율을 변화시킬 수 있다.
시스템 상에서 동작시키는 애플리케이션을, 미리 모의실험부(725)에서 실행시켜 평가함으로써, 그 애플리케이션을 실행시키는데 최적의 그룹정보를 구하고, 이를 그룹정보(724)로서 설정함으로써, 그 애플리케이션을 동작시키는데 최적의 공유자원(719)으로의 액세스허가 비율을, 각 버스마스터에 대하여 보장할 수 있다.
(제 3 실시예)
도 12는 본 발명의 제 3 실시예에 관한 자원관리장치의 구성을 나타낸다. 도 12에서 도 8과 같은 번호의 부호는 제 2 실시예에서의 설명과 마찬가지이다. 730, 731, 732, 733, 734는, 715, 716, 717, 718, 719와 마찬가지 기능을 각각 갖는다. 즉 2 개의 공유자원을 갖는 자원관리장치의 블록도의 일례이다. 그리고 설명을 간단하게 하기 위해 2 개의 공유자원(719, 734)을 구비하는 자원관리장치의 블록도를 이용하지만 2 개에 한정되는 것이 아니며, 3 개 이상의 공유자원을 구비하는 자원관리장치에도 마찬가지로 적용 가능하다.
다음으로 도 13, 도 14를 이용하여, 각 버스마스터로부터 각 공유자원으로의 액세스에 대하여 액세스 버스별로 액세스 대역폭을 보장하기 위한 버스마스터 조정정보(706, 708, 710) 및 버스 조정정보(716, 731)의 설정방법을 설명하기로 한다.
도 13은 도 12의 자원관리장치가 액세스 버스별로 대역폭을 보장하는 동작을 하는 경우의 도이다. 도 13에서 1201은, 본 실시예 자원관리장치에서의 버스마스터로부터 공유자원으로의 액세스허가 비율을 나타낸다. 공유자원(719)으로의 버스마스터(A, B, C, D, E)로부터의 액세스는 9:12:6:9:20, 또 공유자원(734)으로의 액세스는 4: 2: 5: 20:15의 비율로 각각 허가된 것을 나타낸다.
액세스허가 비율(1201)에 기초하여 설정되는 버스마스터 조정정보(706, 708, 710) 내용의 일례를 각각 1202, 1203, 1204에 나타낸다. 1202에서는 버스(0)에 접속될 버스마스터로부터 공유자원으로의 경로별로 액세스허가 비율을 설정한다. 1203에서도, 마찬가지로 버스(1)에 접속될 버스마스터로부터 공유자원으로의 액세스경로별로 액세스허가 비율을 설정한다. 또 1204에서도, 버스(2)에 접속될 버스마스터로부터 공유자원으로의 액세스경로별로 액세스허가 비율을 설정한다.
다음으로 액세스허가 비율(1201)에 기초하여 설정되는 버스 조정정보(716, 731) 내용의 일례를 1205에 나타낸다. 1205에서는 공유자원별로, 공유자원에 접속된 버스로부터의 액세스허가 비율을 설정한다. 상기 설명한 버스마스터 조정정보(706, 708, 710) 및 버스 조정정보(716, 731)의 설정내용으로부터, 상기 버스마스터로부터 공유자원으로의 액세스허가 비율(1201)을 만족시킴을 쉽게 이해할 수 있다. 상기 설명한 바와 같이, 버스마스터 조정정보 및 버스 조정정보에, 버스마스터로부터 공유자원으로의 액세스경로별 액세스허가 비율을 설정함으로써, 버스마스터와 공유자원 사이의 액세스허가 비율이 명확하게 지정 가능해진다.
도 14는 도 13에 대응한 버스마스터 조정정보(706, 708, 710)의 일례를 나타낸다. 버스마스터 조정정보(706, 708, 710)의 예를, 각각 1301, 1302, 1303에 나타낸다. 설명은 도 3과 마찬가지이므로 생략한다.
다음에 도 15 및 도 16을 이용하여, 각 버스마스터로부터 각 공유자원으로의 액세스에 대하여 액세스의 목적별로 액세스 대역폭을 보장하기 위한 버스마스터 조정정보 및 버스 조정정보의 설정방법을 설명하기로 한다.
도 15는 도 12의 자원관리장치가 액세스의 목적별로 대역폭을 보장하는 동작을 하는 경우의 도이다. 도 15에서 1401은, 버스마스터로부터 공유자원(719)으로의 액세스목적별 액세스허가 비율을 나타낸다. 구체적으로 1401은, 버스마스터(A)가 프로세스(1)란 처리 목적을 위한 공유자원(719)으로의 액세스, 버스마스터(A)가 프로세스(2)란 처리 목적을 위해, 버스마스터(B)로부터, 버스마스터(C)로부터, 버스마스터(D)로부터, 버스마스터(E)로부터의 각각의 액세스허가 비율이, 9:9:12:15:15:40인 것을 나타낸다.
액세스허가 비율(1401)에 기초하여 설정되는 버스마스터 조정정보(706 및 708) 내용의 일례를 1402 및 1403에 나타낸다. 1402에서는 버스(0)에 접속되는 버스마스터로부터 공유자원으로의 액세스목적별로 액세스허가 비율을 설정한다. 1403에서도, 마찬가지로 버스(1)에 접속되는 버스마스터로부터 공유자원으로의 액세스목적별로 액세스허가 비율을 설정한다. 여기서는 프로세스란 처리 목적으로서 설명하지만, 기타 여러 가지 목적에 대해서도 마찬가지로 대응 가능하다.
다음으로 액세스허가 비율(1401)에 기초하여 설정되는 버스 조정정보(716) 내용의 일례를 1404에 나타낸다. 1404에서는 공유자원별로, 공유자원에 접속된 버스로부터의 액세스허가 비율을 설정한다. 상기 설명한 버스마스터 조정정보(706, 708) 및 버스 조정정보(715)의 설정내용으로부터, 상기 버스마스터로부터 공유자원으로의 액세스허가 비율(1401)을 만족시킴을 쉽게 이해할 수 있다. 상기 설명한 바와 같이, 버스마스터 조정정보 및 버스 조정정보에, 버스마스터로부터 공유자원으로의 액세스목적별 액세스허가 비율을 설정함으로써, 버스마스터와 공유자원 사이의 액세스허가 비율이 명확하게 지정 가능해진다.
도 16은 도 15에 대응한 버스마스터 조정정보(706)의 일례를 나타낸다. 버스마스터 조정정보(706)의 예를 1501에 나타낸다. 설명은 도 3과 마찬가지이므로 생략한다.
(제 4 실시예)
도 17은 본 발명의 제 4 실시예에 관한 자원관리장치의 구성을 나타낸다. 도 17의 구성은 도 1의 구성에 학습부(120)를 부가한 것이다. 학습부(120)는 버스마스터(101~105)의 액세스요구 빈도, 버스마스터(101~105)의 버스획득 빈도, 버스(112~114)로부터 공유자원(119)으로의 액세스 빈도, 버스(112~114)의 공유자원획득 빈도 등의 정보를 버스마스터 조정부(107, 109, 111), 버스 조정부(117)로부터 얻어 축적하고, 이들을 학습하여, 학습시점 이후의 버스마스터(101~105)로부터 공유자원(119)으로의 액세스가 최적으로 실행되도록 조정정보 관리부(121)에 지시를 한다. 조정정보 관리부(121)는 학습부(120)로부터 부여된 지시를 기초로, 임의의 버스 조정정보를 버스 조정정보(116)로서 설정하거나, 버스마스터 조정정보(106, 108, 110) 및 버스 조정정보(116)를 최적으로 갱신하거나 한다. 여기서, 이하의 설명에서도 버스마스터(101, 102, 103, 104, 105)를 적절하게 버스마스터(A, B, C, D, E)로 칭하며, 버스(112, 113, 114)를 적절하게 버스(0, 1, 2)로 칭한다.
도 18은 도 17 자원관리장치의 동작을 나타낸다. 단계(S0)는 조정정보 관리부(121)에 의한 버스마스터 조정정보(106, 108, 110) 및 버스 조정정보(116)의 초기화단계이다. 단계(S1)는 버스마스터 조정부(107, 109, 111) 및 버스 조정부(117)에 의한 조정단계이다. 단계(S2)는 버스마스터 조정부(107, 109, 111) 및 버스 조정부(117)로부터 얻어진 조정결과정보의 학습부(120)에 의한 해석 및 조정정보 관리부(121)로의 지시단계이다. 단계(S3)는 학습부(120)로부터의 지시에 기초하여, 조정정보 관리부(121)가 버스마스터 조정정보(106, 108, 110) 및 버스조정정보(116)를 갱신하는 단계이다. 단계(S3)의 종료 후, 단계(S1), 단계(S2)를 되풀이하고, 다시 단계(S3)로 돌아온다.
여기서 도 18의 흐름은, 본 장치에서의 동작이 종료될 때까지 계속해서 버스마스터 조정정보(106, 108, 110) 및 버스 조정정보(116)를 동적으로 갱신하는 것도 가능하지만, 상황에 따라 갱신단계(S3)를 중지시켜 해석만을 행하고, 그 후에 그 해석결과를 버스마스터 조정정보(106, 108, 110) 및 버스 조정정보(116)에 정적으로 반영시켜 기동하는 것도 가능하다. 또 해석단계(S2)에 의해 각종 정보의 갱신이 불필요하다고 판단된 경우에는, 해석단계(S2) 및 갱신단계(S3)를 중지시켜버려도 된다.
학습부(120)는 여러 가지 버스 조정정보 갱신설정규칙을 갖는다. 예를 들어,
(1) 다시행규칙 : 복수의 버스 조정정보로 시행한 결과로부터, 복수 버스의 평균 레이턴시가 가장 작아지는 버스 조정정보를 선택한다;
(2) 연속규칙 : 과거 30 회의 조정에서 어느 한 버스로부터 3 회 이상의 연속 액세스요구가 있었던 경우에는, 이 연속 액세스요구에 맞추도록 버스 조정정보를 갱신한다;
(3) 주기규칙 : 과거 30 회의 조정에서 복수 버스로부터 5 회 이상의 주기적인 액세스요구가 있었던 경우에는, 이 주기적인 액세스요구에 맞추도록 버스 조정정보를 갱신한다;
(4) 일시규칙 : 과거 30 회의 버스 우선순위에 의한 조정에서 어느 한 버스가 5 회 이상 연속적으로 액세스권을 획득한 경우에는, 당해 버스의 우선순위를,이후 10 회의 조정 동안만 가장 낮은 우선순위로 설정한다;
(5) 패턴설정규칙 : 버스 우선순위만에 따라 10 회의 조정을 실행시킨 후에, 당해 조정으로 액세스권을 획득한 버스의 순으로 액세스 최우선패턴을 설정한다;
는 것이다. 또 조정결과정보를 얻기 위한 조정기준횟수는 임의라도 되며, 이를 동적으로 바꾸어도 된다.
도 19는 버스 조정정보에 [다시행규칙]을 적용하는 경우의 예이다. 도 19에서 1601, 1603, 1605는 버스 조정정보, 1602, 1604, 1606은 액세스요구와 조정결과이다. 버스 조정정보(1601, 1603, 1605) 각각은, 도 3과 마찬가지의 표형식 정보이다.
도 19의 예에서는 공유자원(119)으로의 액세스요구가, 버스(0)에 대해서는 2연속요구, 3슬롯 요구없음, 2연속요구라는 시퀀스로, 버스(1)에 대해서는 1요구, 2슬롯 요구없음, 1요구, 1슬롯 요구없음, 1요구라는 시퀀스로, 버스(2)에 대해서는 2연속요구, 3슬롯 요구없음, 1요구라는 시퀀스로 각각 내려지는 것으로 한다. 이들 시퀀스에 따라 액세스요구가 내려졌을 경우의, 버스 조정정보(1601, 1603, 1605)에 기초한 액세스요구와 조정결과가 각각 1602, 1604, 1606에 나타내진다. 이들 액세스요구와 조정결과(1602, 1604, 1606)에 있어서 [0]은 당해 슬롯에서 액세스요구를 내지 않았음을 나타낸다. 밑줄 친 [1]은 당해 슬롯에서 액세스요구를 개시했음을 나타낸다. 동그라미 [1]은 당해 슬롯에서 액세스요구가 허가됐음을 나타낸다. 및줄 및 동그라미 [1]은 당해 슬롯에서 액세스요구가 개시되고 또 같은 슬롯에서 액세스요구가 허가됐음을 나타낸다. 밑줄 및 동그라미가 없는 [1]은 이전 슬롯으로부터액세스요구를 계속 보내고있음을 나타낸다.
액세스요구와 조정결과(1602, 1604, 1606)에서, 밑줄 친 [1]과 동그라미 없는 [1]은, 액세스요구를 내고있지만, 그 요구가 허가되지 않고 있음을 나타낸다. 액세스요구가 허가되지 않은 상태가 많으면 많을수록, 버스(0~2)의 평균 레이턴시가 커진다. 그래서 학습부(120)에 의해, 각 버스 조정정보(1601, 1603, 1605) 하에서의 액세스요구와 조정결과(1602, 1604, 1606)를 분석한 결과, 평균 레이턴시가 가장 작아지는 버스 조정정보를 선택하여, 조정정보 관리부(121)에 지시를 내린다.
도 19의 예에 의하면, 액세스요구와 조정결과에서의 밑줄 친 [1]과 동그라미 없는 [1]은, 1602에서는 7 개, 1604에서는 8 개, 1606에서는 8 개 각각 존재한다. 따라서 본 예에서는 버스 조정정보(1601, 1603, 1605) 중 버스 조정정보(1601)가 최적이며, 이것이 선택된다.
도 20은 버스 조정정보에 [연속규칙]을 적용하는 경우의 도이다. 도 20에서 1701은 갱신 전의 버스 조정정보이다. 1702는 버스 조정정보(1701)에 기초한 과거 30 회의 조정 결과, 학습부(120)가 버스 조정부(117)로부터 부여된 조정결과정보를 축적해둔 액세스요구와 조정결과이다. 1703은 갱신 후의 버스조정정보이다.
액세스요구와 조정결과(1702)에서, 버스(1)에서는 슬롯(0~7)에서 4 연속으로 액세스요구가 행해진 것을 확인할 수 있다. 여기서 연속 액세스요구란, 조정에 의해 액세스요구가 허가된 다음 슬롯에서, 다음의 액세스요구가 발행되고 있는 상태를 말한다. 또 슬롯(10~17)과 슬롯(20~27)에서도 슬롯(0~7)과 마찬가지로 4 연속으로 액세스요구가 행해지고 있다. 즉, 버스(1)는 과거 30 회의 조정에서 3 회 4 연속으로 액세스요구를 했음을 알 수 있다. 그래서 학습부(120)는 상기 연속규칙에 따라 버스 조정정보(116)를 갱신하도록, 조정정보 관리부(121)에 지시를 내린다. 도 20의 예에서, 버스 조정정보(116)는 조정정보 관리부(121)에 의해 버스 조정정보(1703)로 갱신된다.
도 21은 버스 조정정보에 [주기규칙]을 적용하는 경우의 예이다. 도 21에서 1801은 갱신 전의 버스 조정정보이다. 1802는, 버스 조정정보(1801)에 기초한 과거 30 회의 조정 결과, 학습부(120)가 버스 조정부(117)로부터 부여된 조정결과정보를 축적해둔 액세스요구와 조정결과이다. 1803은 갱신 후의 버스조정정보이다.
액세스요구와 조정결과(1802)에서, 슬롯(0~2)에서는 버스 0, 1, 2의 차례로 액세스요구를 했음을 확인할 수 있다. 또 슬롯(5~8), 슬롯(10~12), 슬롯(15~18), 슬롯(20~22), 슬롯(25~28)에서도 슬롯(0~2)과 마찬가지로 버스 0, 1, 2의 차례로 액세스요구를 했음을 확인할 수 있다. 즉, 액세스요구와 조정결과(1802)로부터, 과거 30 회의 조정결과정보에서 5 슬롯별로 버스 0, 1, 2의 차례로 액세스요구를 발행한 상태가 6 회 계속됨을 알 수 있다. 그래서 학습부(120)는 상기 주기규칙에 따라 버스 조정정보(116)를 갱신하도록, 조정정보 관리부(121)에 지시를 내린다. 도 21의 예에서, 버스 조정정보(116)는 조정정보 관리부(121)에 의해 버스 조정정보(1803)로 갱신된다.
도 22는 버스 조정정보에 [일시규칙]을 적용하는 경우의 예이다. 도 22에서 1901은 갱신 전의 버스 조정정보이다. 1902는, 버스 조정정보(1901)에 기초한 과거 30 회의 조정 결과, 학습부(120)가 버스 조정부(117)로부터 부여된 조정결과정보를축적해둔 액세스요구와 조정결과이다. 1903은 버스 조정정보 대신에 일시적으로 채용되는 버스 조정정보이다.
액세스요구와 조정결과(1902)에서, 슬롯(0, 1, 4, 10, 11, 14, 20, 21, 24)에서 버스(0, 1)로부터 액세스요구가 동시에 내려지며, 버스 조정정보(1901)에 버스 우선순위에 따라 조정된다. 이 조정의 결과, 이들 슬롯에서는 버스(0)에 액세스권이 부여된다. 도 22의 예에서는, 버스(0)와 버스(1)가 버스 우선순위로 조정될 때, 버스(1)에는 액세스권이 부여되지 않는다. 그래서 학습부(120)는 상기 일시규칙에 따라 버스 조정정보(116)를 갱신하도록, 조정정보 관리부(121)에 지시를 내린다. 도 22의 예에서, 버스 조정정보(116)는 조정정보 관리부(121)에 의해, 버스 1, 2, 0 순의 버스 우선순위를 지정하는 버스 조정정보(1903)로 갱신된다. 그 후, 버스 조정정보(1903)를 이용한 10 회의 조정이, 도시하지 않는 슬롯(30~39)에서 행해진 후, 버스 조정정보(116)는 원래의 버스 조정정보(1901)로 복귀된다.
도 23은 버스 조정정보에 [패턴설정규칙]을 적용하는 경우의 예이다. 도 23에서 2001은 버스 우선순위만이 설정된, 액세스 최우선패턴을 갖지 않는 버스 조정정보이다. 2002는, 버스 조정정보(2001)에 기초한 과거 10 회의 조정 결과, 학습부(120)가 버스 조정부(117)로부터 부여된 조정결과정보를 축적해둔 액세스요구와 조정결과이다. 2003은 갱신 후의 버스 조정정보이다.
액세스요구와 조정결과(2002)에서, 슬롯(0)에서는 버스(0)로부터만 액세스요구가 있다. 이 때, 버스 우선순위에 따라 버스(0)가 액세스권을 얻는다. 학습부(120)는 각 슬롯에서 액세스권을 획득한 버스를 기억해둔다. 그리고 전슬롯(0~9)에 대하여 버스 우선순위에 따른 조정을 행한 후, 당해 조정으로 액세스권을 획득한 버스의 순으로 버스 조정정보(116)의 액세스 최우선패턴을 설정한다. 도 23의 예에서, 설정된 버스 조정정보(116)는 버스 조정정보(2003)가 된다.
이상, 버스마스터 조정정보(106, 108, 110)에 관련된 설명은 생략하지만, 상기 버스 조정정보(116)와 마찬가지로 갱신 가능하다.
도 24는 버스마스터 조정정보에 [연속규칙]을 적용하는 경우의 도이다. 도 24에서 2101은 갱신 전의 버스마스터 조정정보이다. 2102는, 버스마스터 조정정보(2101)에 기초한 과거 30 회의 조정 결과, 학습부(120)가 버스마스터 조정부(117)로부터 부여된 조정결과정보를 축적해둔 액세스요구와 조정결과이다. 2103은 갱신 후의 버스마스터 조정정보이다.
액세스요구와 조정결과(2102)에서, 버스마스터(A)는 슬롯(0~5)에서 3연속으로 액세스요구를 발행했음을 확인할 수 있다. 또 슬롯(10~15)과 슬롯(20~25)에서도 슬롯(0~5)과 마찬가지로 3 연속으로 액세스요구가 행해지고 있다. 즉 버스마스터(A)는 과거 30 회의 조정에서 3 회 3 연속으로 액세스요구를 했음을 알 수 있다. 그래서 학습부(120)는 상기 연속규칙에 따라 버스마스터 조정정보(116)를 갱신하도록, 조정정보 관리부(121)에 지시를 한다. 도 24의 예에서, 버스마스터 조정정보(116)는 조정정보 관리부(121)에 의해, 버스마스터 조정정보(2103)로 갱신된다.
여기서, 도 17에서는 버스(0~2)의 3 개 버스를 이용했지만, 버스는 임의의 개수라도 된다. 또 버스(0, 1)에 대해서는 각각 2 개의 버스마스터를, 버스(2)에대해서는 1 개의 버스마스터를 각각 접속한 구성으로 했지만, 버스별 버스마스터 개수는 임의이며, 버스별로 버스마스터 개수가 달라도 된다. 또한 버스(0~2)에 대하여 1개의 공유자원(119)을 접속한 구성으로 했지만, 자원은 임의의 개수라도 되며, 버스별로 자원의 개수가 달라도 된다. 또 버스마스터와 공유자원이란 형태로 설명했지만, 버스마스터와 공유자원의 양쪽 기능을 갖는 회로블록도 마찬가지로 취급할 수 있다. 이 점들은 전술한 다른 실시예에서도 마찬가지이다. 또 버스마스터 조정부나 버스 조정부 각각이 개별적으로 학습부를 구비해도 된다.
도 25는 도 17 자원관리장치의 확장예를 나타낸다. 이 확장에 의하면, 도 17 중의 버스마스터(105)가 도 25의 구성으로 치환된다. 도 25 중의 801~818, 820, 821은, 각각 도 17 중의 101~118, 120, 121에 대응한다. 도 25 중의 버스(812, 813, 814), 즉 버스(3, 4, 5)는 도 17 중의 버스(0, 1, 2)에 대한 상위 버스이다. 즉, 전체적으로 다층구성의 버스형식으로 된다. 도 25 중의 버스마스터(801~805), 즉 상위 버스마스터(P, Q, R, S, T)는, 버스(3~5) 중 어느 하나와 버스(2)를 통해 도 17 중의 공유자원(119)에 액세스한다. 이 경우라도, 버스(0~5)로부터 공유자원(119)으로의 액세스 대역폭이 각각 보장 가능하다.
도 25 중의 자원제어부(818)는, 버스 조정부(817)에 의해 조정된 버스로부터의 액세스 프로토콜을, 버스(2)에 대한 액세스 프로토콜로 변환하는 기능을 갖는다. 이 자원제어부(818)는, 상위계층 버스의 트랜잭션을 최적화하는 기능을 갖는 것도 가능하다. 구체적으로는, 상위 버스마스터(P~T)로부터의 단발적인 액세스를 버스트액세스로 변환하는 등이 있어, 용이하게 실현 가능하다. 또 버스조정부(817)로부터 출력되는 트랜잭션의 프로토콜이 하위 버스(112~114) 트랜잭션의 프로토콜과 동일한 경우에는, 자원제어부(818)를 특별히 필요로 하지 않는다.
또 도 25에서는 1 개의 자원제어부(818)가 버스(2)에 대한 버스마스터가 되지만, 자원제어부(818)는 복수 개 있어도 되며, 1 개의 버스에 복수 개의 자원제어부(818)를 접속해도 된다. 동일 버스에 다른 버스마스터와 함께 자원제어부(818)를 접속하는 것도 가능하다.
이상 설명한 바와 같이 본 발명에 관한 자원관리장치는, 각 버스마스터에 대하여 공유자원으로의 액세스에 관한 임의의 최저 대역폭을 보장할 수 있으며, 또 각 버스마스터가 공유자원에 액세스할 때의 레이턴시를 작게 할 수 있으므로, 복수의 버스에 각각 적어도 1 개의 버스마스터가 접속되어 이루어지는 멀티 버스마스터이며 멀티버스 구성의 데이터처리시스템에 있어서 유용하다.
본 발명에 의하면, 멀티 버스마스터이며 멀티버스 구성인 데이터처리시스템에 있어서, 각 버스마스터에 대하여 공유자원으로의 액세스에 관한 임의의 최저 대역폭을 보장할 수 있으며, 또 각 버스마스터가 공유자원으로 액세스할 때의 레이턴시를 작게 할 수 있는 우수한 자원관리장치를 실현할 수 있다.

Claims (23)

  1. 복수의 버스 각각에 적어도 1 개의 버스마스터가 접속되며, 또 각 버스마스터가 상기 복수의 버스 중 어느 하나를 통해 적어도 1 개의 공유자원에 접속되어 이루어지는 데이터처리시스템에서의 자원관리장치이며,
    상기 복수의 버스로부터 상기 공유자원으로의 액세스량을 조정하기 위한 버스 조정부와,
    상기 버스 조정부에서의 조정처리를 위해, 버스 우선순위와, 상기 복수의 버스로부터 상기 공유자원으로의 액세스 대역폭을 확보하기 위한 액세스 최우선패턴을 버스 조정정보로서 관리하기 위한 조정정보 관리부와,
    상기 버스 조정부에서 액세스권을 획득한 버스로부터 상기 공유자원으로의 액세스를 당해 공유자원의 특성에 기초하여 제어하기 위한 자원제어부를 구비하는 것을 특징으로 하는 자원관리장치.
  2. 제 1 항에 있어서,
    상기 자원제어부는,
    상기 버스 조정부에서 액세스권을 획득한 버스의 데이터전송 프로토콜을 해석하며, 또 당해 해석 결과에 기초하여 당해 버스와 상기 공유자원 사이의 데이터전송 제어를 실행하는 액세스제어부와,
    상기 공유자원의 전송데이터를 일시기억하기 위한 버퍼메모리를 구비하는 것을 특징으로 하는 자원관리장치.
  3. 제 1 항에 있어서,
    상기 조정정보 관리부는, 상기 버스 조정정보의 버스 우선순위와 액세스 최우선패턴 중 적어도 한쪽을 갱신하는 기능을 갖는 것을 특징으로 하는 자원관리장치.
  4. 제 1 항에 있어서,
    상기 버스 조정정보는, 상기 공유자원으로의 액세스타입을 구별하여 구성되는 것을 특징으로 하는 자원관리장치.
  5. 제 1 항에 있어서,
    상기 복수의 버스 중 어느 하나에 접속된 버스마스터는, 복수의 상위 버스에 각각 적어도 1 개의 상위 버스마스터가 접속되어 이루어지는 구조를 갖는 것을 특징으로 하는 자원관리장치.
  6. 제 1 항에 있어서,
    상기 복수의 버스 중 어느 하나에 복수의 버스마스터가 접속되며, 또 당해 버스는 상기 복수 버스마스터의 버스 사용권을 조정하기 위한 버스마스터 조정부를 구비하고,
    상기 조정정보 관리부는, 상기 버스마스터 조정부에서의 조정처리를 위해, 버스마스터 우선순위와, 상기 복수의 버스마스터로부터 상기 공유자원으로의 액세스 대역폭을 확보하기 위한 액세스 최우선패턴을 버스마스터 조정정보로서 관리하는 기능을 추가로 갖는 것을 특징으로 하는 자원관리장치.
  7. 제 6 항에 있어서,
    상기 조정정보 관리부는, 상기 버스마스터의 상기 공유자원으로의 요구 액세스 대역폭을 상기 버스마스터 조정정보와 상기 버스 조정정보에 반영시키는 기능을 추가로 갖는 것을 특징으로 하는 자원관리장치.
  8. 제 6 항에 있어서,
    상기 액세스 최우선패턴에 의해, 최우선 순위를 각 버스마스터 또는 각 버스에 대하여 일정간격으로 할당하는 것을 특징으로 하는 자원관리장치.
  9. 제 6 항에 있어서,
    상기 액세스 최우선패턴에 의해, 최우선 순위를 각 버스마스터 또는 각 버스에 대하여 연속적으로 할당하는 것을 특징으로 하는 자원관리장치.
  10. 제 6 항에 있어서,
    상기 액세스 최우선패턴에 의해, 최우선 순위를 각 버스마스터 또는 각 버스에 대하여 무작위로 할당하는 것을 특징으로 하는 자원관리장치.
  11. 제 6 항에 있어서,
    상기 복수의 버스마스터가 연계되어 동작하는 그룹이 적어도 1 개 존재하며,
    상기 조정정보 관리부는, 각 그룹의 상기 버스마스터별 요구 자원액세스 대역폭을 갖는 그룹정보를 상기 버스마스터 조정정보 및 상기 버스 조정정보에 반영시키는 기능을 추가로 갖는 것을 특징으로 하는 자원관리장치.
  12. 제 6 항에 있어서,
    상기 데이터처리시스템의 동작을 모의실험하여, 상기 복수 버스마스터의 그룹소속정보와, 각 버스마스터 그룹별의 상기 공유자원으로의 액세스허가 비율 정보를 저장하는 그룹정보를 생성하는 모의실험부를 추가로 구비하는 것을 특징으로 하는 자원관리장치.
  13. 제 6 항에 있어서,
    상기 데이터처리시스템은, 복수의 공유자원을 구비하며,
    상기 조정정보 관리부는, 상기 복수의 버스마스터로부터 상기 복수 공유자원으로의 각각의 요구 액세스 대역폭을 상기 버스마스터 조정정보와 상기 버스 조정정보에 반영시키는 기능을 추가로 갖는 것을 특징으로 하는 자원관리장치.
  14. 제 6 항에 있어서,
    상기 조정정보 관리부는, 상기 복수의 버스마스터가 상기 공유자원에 액세스하는 목적별로 요구 액세스 대역폭을 상기 버스마스터 조정정보와 상기 버스 조정정보에 반영시키는 기능을 추가로 갖는 것을 특징으로 하는 자원관리장치.
  15. 제 1 항에 있어서,
    상기 조정정보 관리부가 상기 버스 조정정보를 초기화한 후, 상기 버스 조정부에 의한 소정 횟수 조정의 조정결과정보를 취득하고, 당해 조정결과정보를 기초로 상기 공유자원으로의 액세스 상황을 해석하며, 또 당해 해석 결과에 기초하여 상기 공유자원으로의 액세스 레이턴시가 작아지도록 상기 버스 조정정보를 갱신하기 위해 상기 조정정보 관리부에 지시를 하기 위한 학습부를 추가로 구비하는 것을 특징으로 하는 자원관리장치.
  16. 제 15 항에 있어서,
    상기 복수의 버스 중 어느 하나에 복수의 버스마스터가 접속되며, 또 당해 버스는 상기 복수 버스마스터의 버스 사용권을 조정하기 위한 버스마스터 조정부를 구비하고,
    상기 조정정보 관리부는, 상기 버스마스터 조정부에서의 조정처리를 위한 버스마스터 조정정보를 관리하는 기능을 추가로 가지며,
    상기 학습부는, 상기 조정정보 관리부가 상기 버스마스터 조정정보를 초기화한 후, 상기 버스마스터 조정부에 의한 소정 횟수의 조정에서의 조정결과정보를 취득하고, 당해 조정결과정보를 기초로 상기 복수의 버스마스터로부터 상기 공유자원으로의 액세스 상황을 해석하며, 또 당해 해석 결과에 기초하여, 상기 공유자원으로의 액세스 레이턴시가 작아지도록 상기 버스마스터 조정정보를 갱신하기 위해 상기 조정정보 관리부에 지시를 하는 기능을 추가로 갖는 것을 특징으로 하는 자원관리장치.
  17. 제 15 항에 있어서,
    상기 조정정보 관리부는, 상기 버스 조정정보의 버스 우선순위와 액세스 최우선패턴 중 적어도 한쪽을 갱신하는 기능을 갖는 것을 특징으로 하는 자원관리장치.
  18. 제 15 항에 있어서,
    상기 학습부는, 복수의 버스 조정정보로 시행한 결과로부터, 상기 복수 버스의 평균 레이턴시가 가장 작아지는 버스 조정정보를 선택하도록 상기 조정정보 관리부에 지시를 하는 기능을 갖는 것을 특징으로 하는 자원관리장치.
  19. 제 15 항에 있어서,
    상기 학습부는, 상기 소정 횟수의 조정에 있어서 상기 복수의 버스 중 어느 하나로부터 일정 횟수 이상의 연속 액세스요구가 있는 경우에는, 당해 연속 액세스요구에 맞추도록 상기 버스 조정정보를 갱신하기 위해 상기 조정정보 관리부에 지시를 하는 기능을 갖는 것을 특징으로 하는 자원관리장치.
  20. 제 15 항에 있어서,
    상기 학습부는, 상기 소정 횟수의 조정에 있어서 상기 복수의 버스로부터 일정 횟수 이상의 주기적인 액세스요구가 있는 경우에는, 당해 주기적인 액세스요구에 맞추도록 상기 버스 조정정보를 갱신하기 위해 상기 조정정보 관리부에 지시를 하는 기능을 갖는 것을 특징으로 하는 자원관리장치.
  21. 제 15 항에 있어서,
    상기 학습부는, 상기 소정 횟수의 조정에 있어서 상기 복수의 버스 중 어느 하나가 일정 횟수 이상 연속적으로 액세스권을 획득한 경우에는, 당해 버스의 우선순위를 일시적으로 내리도록 상기 조정정보 관리부에 지시를 하는 기능을 갖는 것을 특징으로 하는 자원관리장치.
  22. 제 15 항에 있어서,
    상기 학습부는, 상기 소정 횟수의 조정에 있어서 상기 버스 우선순위만을 따른 조정을 실행시킨 후에, 당해 조정으로 액세스권을 획득한 버스의 순으로 상기 액세스 최우선패턴을 설정하는 기능을 갖는 것을 특징으로 하는 자원관리장치.
  23. 제 15 항에 있어서,
    상기 복수의 버스 중 어느 하나에 접속된 버스마스터는, 복수의 상위 버스에 각각 적어도 1 개의 상위 버스마스터가 접속되어 이루어지는 구조를 갖는 것을 특징으로 하는 자원관리장치.
KR1020030067619A 2002-09-30 2003-09-30 자원관리장치 KR20040029254A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2002284770 2002-09-30
JPJP-P-2002-00284770 2002-09-30
JP2003014590 2003-01-23
JPJP-P-2003-00014590 2003-01-23

Publications (1)

Publication Number Publication Date
KR20040029254A true KR20040029254A (ko) 2004-04-06

Family

ID=31980646

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030067619A KR20040029254A (ko) 2002-09-30 2003-09-30 자원관리장치

Country Status (5)

Country Link
US (1) US7032046B2 (ko)
EP (1) EP1403773B1 (ko)
KR (1) KR20040029254A (ko)
DE (1) DE60314347T2 (ko)
TW (1) TW200415476A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100739716B1 (ko) * 2005-08-11 2007-07-13 삼성전자주식회사 공유 자원들의 네트워킹을 제어하는 방법 및 장치
KR20160112305A (ko) * 2015-03-18 2016-09-28 삼성전자주식회사 공유 리소스 액세스 중재 방법 및 이를 수행하기 위한 공유 리소스 액세스 중재 장치 및 공유 리소스 액세스 중재 시스템

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4182801B2 (ja) * 2003-04-24 2008-11-19 日本電気株式会社 マルチプロセサシステム
US8386648B1 (en) 2003-06-26 2013-02-26 Nvidia Corporation Hardware support system for accelerated disk I/O
US20050066097A1 (en) * 2003-09-04 2005-03-24 Matsushita Electric Industrial Co., Ltd. Resource management apparatus
US8683132B1 (en) 2003-09-29 2014-03-25 Nvidia Corporation Memory controller for sequentially prefetching data for a processor of a computer system
US8356142B1 (en) 2003-11-12 2013-01-15 Nvidia Corporation Memory controller for non-sequentially prefetching data for a processor of a computer system
US8700808B2 (en) * 2003-12-01 2014-04-15 Nvidia Corporation Hardware support system for accelerated disk I/O
JP4480427B2 (ja) * 2004-03-12 2010-06-16 パナソニック株式会社 リソース管理装置
CN100545825C (zh) * 2004-04-01 2009-09-30 松下电器产业株式会社 影像声音处理用集成电路及影像声音设备
US8356143B1 (en) 2004-10-22 2013-01-15 NVIDIA Corporatin Prefetch mechanism for bus master memory access
JP4907166B2 (ja) * 2005-01-12 2012-03-28 パナソニック株式会社 リソース管理装置
JP2006195714A (ja) * 2005-01-13 2006-07-27 Matsushita Electric Ind Co Ltd リソース管理装置
JP2006195867A (ja) * 2005-01-17 2006-07-27 Matsushita Electric Ind Co Ltd バス調停方法及び半導体装置
US7380035B1 (en) * 2005-03-24 2008-05-27 Xilinx, Inc. Soft injection rate control for buses or network-on-chip with TDMA capability
JP4485574B2 (ja) * 2005-07-06 2010-06-23 パナソニック株式会社 アクセス制御装置、アクセス制御集積回路、及びアクセス制御方法
JP2007018280A (ja) * 2005-07-07 2007-01-25 Oki Electric Ind Co Ltd バスシステムの制御方法及び制御回路
DE102006009034B3 (de) * 2006-02-27 2007-08-02 Infineon Technologies Ag Verfahren zum Betreiben eines Bussystems sowie Halbleiter-Bauelement, insbesondere Mikroprozessor- bzw. Mikrocontroller
KR100813256B1 (ko) * 2006-06-23 2008-03-13 삼성전자주식회사 버스 중재 장치 및 방법
US8104039B2 (en) * 2006-08-07 2012-01-24 International Business Machines Corporation Method for balancing resource sharing and application latency within a data processing system
JP2008071036A (ja) * 2006-09-13 2008-03-27 Matsushita Electric Ind Co Ltd リソース管理装置
US20080091866A1 (en) * 2006-10-12 2008-04-17 International Business Machines Corporation Maintaining forward progress in a shared L2 by detecting and breaking up requestor starvation
US8799538B2 (en) * 2008-04-17 2014-08-05 2236008 Ontario Inc. System for managing a cost-constrained resource
US8356128B2 (en) * 2008-09-16 2013-01-15 Nvidia Corporation Method and system of reducing latencies associated with resource allocation by using multiple arbiters
US8370552B2 (en) * 2008-10-14 2013-02-05 Nvidia Corporation Priority based bus arbiters avoiding deadlock and starvation on buses that support retrying of transactions
US8032678B2 (en) * 2008-11-05 2011-10-04 Mediatek Inc. Shared resource arbitration
JP5433676B2 (ja) 2009-02-24 2014-03-05 パナソニック株式会社 プロセッサ装置、マルチスレッドプロセッサ装置
US8698823B2 (en) * 2009-04-08 2014-04-15 Nvidia Corporation System and method for deadlock-free pipelining
US9098335B2 (en) * 2009-12-23 2015-08-04 Citrix Systems, Inc. Systems and methods for managing spillover limits in a multi-core system
US20120089759A1 (en) * 2010-10-08 2012-04-12 Qualcomm Incorporated Arbitrating Stream Transactions Based on Information Related to the Stream Transaction(s)
JP5776022B2 (ja) * 2011-04-13 2015-09-09 パナソニックIpマネジメント株式会社 制御装置
US8848577B2 (en) 2012-09-24 2014-09-30 Apple Inc. Bandwidth management
US9684633B2 (en) * 2013-01-24 2017-06-20 Samsung Electronics Co., Ltd. Adaptive service controller, system on chip and method of controlling the same
US9569385B2 (en) 2013-09-09 2017-02-14 Nvidia Corporation Memory transaction ordering
JP6385077B2 (ja) 2014-03-05 2018-09-05 ルネサスエレクトロニクス株式会社 半導体装置
US10397233B2 (en) * 2015-04-20 2019-08-27 Bomgar Corporation Method and apparatus for credential handling
CN106648440B (zh) * 2015-10-28 2020-07-24 华为技术有限公司 操作存储设备的控制方法和存储设备
US10073629B2 (en) 2016-12-13 2018-09-11 International Business Machines Corporation Memory transaction prioritization
US11144358B1 (en) 2018-12-06 2021-10-12 Pure Storage, Inc. Asynchronous arbitration of shared resources
US11556394B2 (en) * 2021-05-14 2023-01-17 Nxp B.V. System and method for controlling access to shared resource in system-on-chips

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS52103935A (en) 1976-02-26 1977-08-31 Mitsubishi Electric Corp Multiprocessor system
JP3528094B2 (ja) * 1994-02-09 2004-05-17 株式会社日立製作所 バス利用方法および記憶制御装置
US5533205A (en) * 1994-03-30 1996-07-02 International Business Machines Corporation Method and system for efficient bus allocation in a multimedia computer system
US5619661A (en) * 1995-06-05 1997-04-08 Vlsi Technology, Inc. Dynamic arbitration system and method
TW448363B (en) * 1997-02-17 2001-08-01 Ssd Co Ltd High speed processor system with bus arbitration
US5931924A (en) * 1997-04-14 1999-08-03 International Business Machines Corporation Method and system for controlling access to a shared resource that each requestor is concurrently assigned at least two pseudo-random priority weights
US5948089A (en) * 1997-09-05 1999-09-07 Sonics, Inc. Fully-pipelined fixed-latency communications system with a real time dynamic bandwidth allocation
US6073199A (en) * 1997-10-06 2000-06-06 Cisco Technology, Inc. History-based bus arbitration with hidden re-arbitration during wait cycles
US6138200A (en) * 1998-06-09 2000-10-24 International Business Machines Corporation System for allocating bus bandwidth by assigning priority for each bus duration time slot to application using bus frame and bus duration
JP2000047994A (ja) * 1998-07-27 2000-02-18 Fujitsu Ltd 情報処理装置
JP3419334B2 (ja) * 1999-01-14 2003-06-23 日本電気株式会社 データ処理装置および方法
US6654833B1 (en) * 1999-07-29 2003-11-25 Micron Technology, Inc. Bus arbitration
US7058740B2 (en) * 2001-03-08 2006-06-06 Sony Corporation Effective bus utilization using multiple buses and multiple bus controllers
US6892289B2 (en) * 2002-07-02 2005-05-10 Lsi Logic Corporation Methods and structure for using a memory model for efficient arbitration

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100739716B1 (ko) * 2005-08-11 2007-07-13 삼성전자주식회사 공유 자원들의 네트워킹을 제어하는 방법 및 장치
US8127030B2 (en) 2005-08-11 2012-02-28 Samsung Electronics Co., Ltd. Method and apparatus for controlling network of shared resources
KR20160112305A (ko) * 2015-03-18 2016-09-28 삼성전자주식회사 공유 리소스 액세스 중재 방법 및 이를 수행하기 위한 공유 리소스 액세스 중재 장치 및 공유 리소스 액세스 중재 시스템

Also Published As

Publication number Publication date
EP1403773A3 (en) 2005-12-07
DE60314347D1 (de) 2007-07-26
US20040073730A1 (en) 2004-04-15
US7032046B2 (en) 2006-04-18
DE60314347T2 (de) 2007-09-27
EP1403773B1 (en) 2007-06-13
TW200415476A (en) 2004-08-16
EP1403773A2 (en) 2004-03-31

Similar Documents

Publication Publication Date Title
KR20040029254A (ko) 자원관리장치
JP4480427B2 (ja) リソース管理装置
US6070205A (en) High-speed processor system having bus arbitration mechanism
US7533206B2 (en) Resource management device
US6393506B1 (en) Virtual channel bus and system architecture
US6145040A (en) Method and system for apportioning computer bus bandwidth
KR100932359B1 (ko) 고주파수 중재자를 통해 사이클마다 복수의 버스 중재를수행하는 스위치 매트릭스 시스템
US6119188A (en) Priority allocation in a bus interconnected discrete and/or integrated digital multi-module system
JPH0740250B2 (ja) データ・バスへのアクセスを制御する装置
JPH04260954A (ja) アービトレーション・システム及び方法
US20080276021A1 (en) Data transfer control apparatus
JP2004252960A (ja) メモリ制御装置
EP0901080A1 (en) Arbitration system
JPH0728758A (ja) ダイナミックタイムループ調停及び装置
JP2004246862A (ja) リソース管理装置
JP2001134542A (ja) 集合的メモリを共有する複数のプロセッサの配列
JP2001216279A (ja) リアルタイム・システム用時分割多重メモリーを用いた、複数のプロセッサーのインターフェース及び、同期化及びアービトレーション方法
KR20010102142A (ko) 공유 자원 중재 방법 및 장치
US7130947B2 (en) Method of arbitration which allows requestors from multiple frequency domains
JPH0210459A (ja) バス使用権決定方式
JP2011133940A (ja) アクセス調停装置、集積回路装置、電子機器、アクセス調停方法、及びプログラム
JP2007164713A (ja) リソース管理装置及びリソース管理方法
JP2006251875A (ja) バス調停装置及びバス調停方法
JPH07281942A (ja) 共有資源のアービトレーション方法
JPH07134689A (ja) バスアービトレーション装置

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid