KR20030070853A - 기능 시스템, 기능 시스템 관리 방법, 데이터 처리 장치및 기능 시스템용 컴퓨터 프로그램 제품 - Google Patents

기능 시스템, 기능 시스템 관리 방법, 데이터 처리 장치및 기능 시스템용 컴퓨터 프로그램 제품 Download PDF

Info

Publication number
KR20030070853A
KR20030070853A KR10-2003-0011987A KR20030011987A KR20030070853A KR 20030070853 A KR20030070853 A KR 20030070853A KR 20030011987 A KR20030011987 A KR 20030011987A KR 20030070853 A KR20030070853 A KR 20030070853A
Authority
KR
South Korea
Prior art keywords
access
functions
priority
accessibility
shared
Prior art date
Application number
KR10-2003-0011987A
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 KR20030070853A publication Critical patent/KR20030070853A/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/18Handling requests for interconnection or transfer for access to memory bus based on 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 공유 자원(RSRC)을 액세스하는 복수 세트의 기능(F, F')으로 이루어지는 기능 시스템에 관한 것으로, 그 시스템은 기능(F, F')이 공유 자원(RSRC)을 액세스 할 수 있는 기준인 중재용 우선권 순위에 의해서 규정되는 적어도 하나의 상태(Ⅰ)를 포함하는 액세스 방안(AS)을 구현하도록 배열된 인터페이스(INT)를 포함하며, 상태(Ⅰ)은 적어도 두 기능(F)의 적어도 한 세트에 대하여, 판독 모드(F_R)에서의 액세스 가능성 및 기록 모드(F_W)에서의 액세스 가능성이 서로 다른 우선권 레벨을 갖고, 판독 모드에서의 액세스 가능성이 기록 모드에서의 액세스 가능성의 우선권 레벨보다 높은 연속적인 우선권 레벨을 갖는 것을 특징으로 한다.

Description

기능 시스템, 기능 시스템 관리 방법, 데이터 처리 장치 및 기능 시스템용 컴퓨터 프로그램 제품{ACCESS TO A COLLECTIVE RESOURCE}
본 발명은 복수 세트의 기능에 의한 공유 자원으로의 액세스에 관한 것이다. 특히, 본 발명은 우선권 순위로 공유 자원에 액세스하는 방안에 관한 것이다. 실제, 본 발명은 공유 자원에 액세스하는 복수 세트의 기능으로 이루어지는 기능 시스템에 관한 것이다. 본 발명은 예를 들어, 공유 메모리에 액세스하는 몇 개의 프로세서로 이루어지는 데이터 처리 장치에 적용할 수 있다. 그러한 장치의 예로서는 MPEG(MEPG은 Moving Picture Expert Group의 약어임) 디코더를 들 수 있다.
인터페이스에 의해서 공유 자원으로의 액세스를 관리할 수 있다. 인터페이스는 공유 자원에 액세스 할 수 있는 기능에 따른 액세스 방안을 이용한다.
하나의 가능한 액세스 방안은 우선권 순위에 특징을 둔 것이다. 기능은 공유 자원을 액세스한다는 요구를 해야한다. 인터페이스는 모든 요구를 수집한다. 현재 요구한 기능 중에서, 가장 우선권이 높은 기능이 공유 자원을 액세스할 수 있게 한다. 세 개의 기능 A, B 및 C로 이루어지는 기능 시스템에 대해 다시 한번 생각해본다. 우선권 순서는 A, B, C일 것이다. 이 경우, 기능 A는, 현재 기능 B 또는 C로부터의 요구가 있다는 사실과는 별개로 공유 자원에 액세스할 것이다. 기능 B는, 현재 기능 A로부터의 요구가 없다면 자원으로 액세스할 것이다. 기능 C는, 현재 기능 A 또는 B로부터 요구가 없다면 자원으로 액세스 할 것이다. 그와 같은 액세스 방안은 이후 우선권 액세스 방안으로서 참조될 것이다.
우선권 액세스 방안은 제1081603-A1호로 공개된 유럽 특허 출원에서 개시된다. 실제로, 각 기능은 정확히 구현될 수 있게 공유 자원에 흡족한 액세스를 할 수 있어야 한다. 공유 자원에 대한 소정 기능의 액세스는, 먼저, 공유 자원에 의해서 제공되는 액세스 수용 능력, 그리고 두 번째로, 적용되는 액세스 방안의 두가지 요인에 의해서 결정된다.
실제, 공유 자원이 상대적으로 높은 액세스 수용 능력을 제공할 수 있으면, 각 기능에 대해 충분한 액세스를 보장할 수 있다. 그러나, 일반적으로 공유 자원에 의해서 제공되는 액세스 수용 능력(대역, 속도)이 클수록, 공유 자원에 대한 비용이 높아진다.
기능의 액세스에 대한 요구는 시간에 따라서 달라질 것이다. 다른 기능이 다른 기간에는 공유 자원으로의 액세스를 강력히 요구하지 않으면서 소정 기간 동안에는 간절히 필요로 할 수도 있다. 우선권 액세스 방안은 요구받은 즉시 공유 방안으로의 액세스를 제공한다. 따라서, 이 방안은 융통성을 제공하여 공유 자원을 보다 효율적으로 이용할 수 있다.
우선권 액세스 방안은, 액세스 모델이 소정 기능에 대해 각기 할당되는 몇 개의 시간 간격으로 이루어지는 고정 액세스 방안과 비교하여, 공유 자원에 대한 액세스 수용 능력을 실질적으로 보다 적게 요구한다. 그 결과, 우선권 액세스 방안은 실제 공유 자원에 대한 비용을 절감한다.
그러나, 우선권 액세스 방안은 본 발명에서 고려하는 필연적인 문제점이 있다. 보통, 각 기능이 공유 자원에 충분히 액세스하는지의 여부를 체크하고 소정 기능이 다음 요구가 이어지는 임계 시기 내에 액세스하는지의 여부를 체크하기는 어려울 것이다. 소정 우선권 액세스 방안이 정확한 기능을 제공하는지의 여부를 체크하는 데는 통계학적 특징의 시뮬레이션에 대한 복잡한 계산이 불가피하다. 이 것은 그 자체로 개선 비용을 어느 정도 상승시킨다.
다음 예는 우선권 방안으로 발생될 수 있는 차단 문제를 나타낸다. 우선권 순서대로 A, B 및 C의 세 기능이 있다. 소정의 순간에, 기능 A는 공유 자원을 액세스 한다. 이 액세스 중에, 기능 B 및 C가 요구한다. 기능 A에 의한 액세스가 완료되면, 기능 B가 공유 자원으로 액세스할 것이다. 기능 C로부터의 요구는 대기 상태로 남아 있다. 공유 자원에 대한 기능 B의 액세스 중에 기능 A가 요구한다. 이 것은 기능 A에 의해서 데이터가 처리된 다음, 공유 자원에 기입하기 위해 소정 처리 시간 후에 송신되는 경우에 종종 있다. 기능 B에 의한 액세스가 완료되면, 기능 A는 다시 공유 자원에 액세스할 것이다. 이것이 지속되어, 기능 B의 액세스중에 기능 A가 요구하고, 다시 반대로 기능 A의 액세스 중에 기능 B가 요구하면, 공유 자원에 대한 기능 C의 액세스는 사실상 차단된다. 이 차단은 기능 A 또는 B, 또는 둘 다가 그들의 요구 빈도를 낮출 때까지 지속될 것이다.
또한, 그러한 차단과 관련하여, 기능 A가 먼저 그의 작업을 완료한 후 기능 B가 그의 작업을 완료하고, 기능 C가 공유 자원으로 액세스 할 때는 거기에 제공되는 전체 대역을 사용할 위치에 있지 않을 것이다. 결과적으로 이들 세 기능에 대해 이용 가능한 액세스가 적절히 배분되지 못한다.
본 발명의 한 가지 목적은, 공유 자원의 효율적인 이용 및 그에 따른 자원 절감을 가능하게 하는 것이다.
도 1은 본 발명에 따른 신호 처리 장치를 도시한 도면,
도 2는 상기 장치의 메모리 인터페이스의 일반적인 기능 수행을 도시한 도면,
도 3은 상기 장치의 신호 처리 유닛을 도시한 도면,
도 4는 상기 장치의 메모리 인터페이스를 도시한 도면,
도 5는 유닛의 판독 모드에서의 액세스를 도시한 도면,
도 6 및 도 7은 본 발명에 따라 상이한 프로세스에 의한 공유 메모리로의 액세스를 관리하기 위한 중재의 두 실시예를 도시한 도면,
도 8a 및 8b는 도 7에 도시된 중재기의 본 발명에 따른 실시예 2에서 구현되는 공유 메모리의 액세스 중재를 도시한 도면,
도 9는 본 발명의 기본 특성을 도시한 도면.
도면의 주요 부분에 대한 부호의 설명
SDRAM : 공유 메모리
INT : 메모리 인터페이스
BM : 공유 버스
BBR1, BBR2, BBR3 : 사설 판독 버스
BBW1, BBW2, BBW3 : 사설 기록 버스
B1, B2, B3 : 데이터 처리 유닛
본 발명(도 9)에 따르면, 서론에서 규정된 바와 같은 시스템은, 기능(F, F')이 공유 자원(RSRC)을 액세스 할 수 있는 기준인 중재용 우선권 순위에 의해서 규정되는 적어도 하나의 상태(Ⅰ)를 포함하는 액세스 방안(AS)을 구현하도록 배열된 인터페이스(INT)를 포함하며, 상태(Ⅰ)은 적어도 두 개의 기능(F)의 적어도 한 세트에 대해, 판독 모드(F_R)에서의 액세스 가능성 및 기록 모드(F_W)에서의 액세스 가능성이 서로 다른 우선권 레벨을 갖고, 판독 모드에서의 액세스 가능성은 기록 모드에서의 액세스 가능성의 우선권 레벨보다 높은 연속적인 우선권을 갖는 것을 특징으로 한다.
따라서, 본 발명은 판독 및 기록시 기능이 상이한 작용을 할 것이라는 것을보장한다. 이것은 기능의 기능 수행을 중재할 수 있게 하고, 특히 데이터 처리의 지속 기간에 이용하여 액세스를 배분할 수 있게 한다. 이것은 판독 모드에서의 우선권 레벨이 기록 모드에서의 우선권 레벨보다 높기 때문에, 기능은 각기 처리될 데이터를 수신하고 나서, 공유 자원에 기록하기 위한 소정 처리 데이터를 출력한다. 따라서, 본 발명은 기능이 처리될 데이터를 가능한한 연속적이고 병렬로 가지게 할 수 있고, 처리 데이터의 출력이 한정되어 기록 모드에서의 공유 자원으로의 액세스에 의해 조절되므로, 기능이 그들의 액세스를 보다 공평하게 이용하게 할 수 있다.
바람직한 실시예에 있어서, 몇 개의 상태(Ⅰ)가 진행되며, 상태(Ⅰ)은 우선권 순위에 의해서 규정되며, 적어도 하나의 우선권 레벨이 우선권 순위에서 몇 개의 상태(Ⅰ)에 대해 동일한 우선권을 공유하는 기능의 서브 세트에 속하는 기능 중 하나에 대한 액세스 가능성으로 선정된다. 따라서, 바람직한 실시예에서는, 몇몇 상태(Ⅰ)을 통하여 실행되는 동안, 하나의 동일한 우선권 레벨이, 기능의 서브세트의 기록 모드에서의 액세스 가능성들 사이에서, 공유되는 기록 모드에서의 액세스 가능성을 선정할 수 있다. 이것은 기능이 어떠한 차단도 야기하지 않고 병렬로 작업을 수행할 수 있게 한다. 인터페이스가, 액세스 가능성이 우선권 순위에 따라 중재에서의 기능의 서브 세트의 기능 중 하나로 제공되는 상태(Ⅰ)로부터 다음 상태로 점프할 때, 액세스 가능성이 상기 서브세트의 다른 기능으로 제공되는 것이 바람직하다. 따라서, 공동 우선권 레벨을 갖는 서브세트의 기능이 액세스 하든지 하지 않든지 간에, 서브 세트의 다음 기능이 어떤 차단도 없이 액세스 가능성을 이용할 수 있다. 그 결과, 본 발명은 메모리를 효율적으로 이용할 수 있다. 결과적으로 이것은 고정 액세스 방안과 비교해서 공유 자원의 액세스 용량을 절감할 수 있게 한다. 따라서, 본 발명은 고정 액세스 방안과 비교하여 비용을 절감할 수 있다.
이하, 도면에 도시된 실시예를 예로 들어 더 설명하지만, 본 발명은 이것으로 한정되지 않는다.
참조 부호에 관해 몇가지 말하면 다음과 같다. 유사한 구성 요소는 모든 도면에서 동일한 참조 문자로 표시한다. 몇몇 유사한 구성 요소는 하나의 도면에 표시한다. 이 경우, 유사한 구성 요소를 구분하기 위해서 참조 문자에 숫자와 접미사를 부가한다. 숫자와 접미사는 편의상 생략될 수도 있다. 이것은 상세한 설명 및 특허청구범위에 적용된다.
도 1은 데이터 처리 장치를 도시한 도면이다. 그 장치는 공유 자원 SDRAM, 메모리 인터페이스 INT 및 3개의 데이터 처리 유닛 B1, B2 및 B3으로 이루어진다. 이후 나머지 상세한 설명에서 "유닛"이라 칭한다. 각 유닛 B는 사설 판독 버스 BBR 및 사설 기록 버스 BBW를 통해서 메모리 인터페이스 INT에 접속된다. 각 사설 판독 버스 BBR 및 각 사설 기록 버스 BBW는 소정 유닛 B에 할당된다. 메모리 인터페이스 INT는 공유 버스 BM을 통해서 공유 메모리 SDRAM에 접속된다. 공유 메모리 SDRAM이 외부 회로인 반면, 유닛 B, 사설 판독 버스 BBR, 사설 기록 버스 BBW 및 메모리 인터페이스 INT는 단일 집적 회로의 일부로 형성될 수 있다.
데이터 처리 장치 기능은 전체적으로 다음과 같다. 일반적인 규칙으로서,유닛 B는 요구에 의해 공유 메모리 SDRAM에 저장되는 처리될 데이터를 수신한다. 이들 데이터가 처리된 후, 유닛 B는 메모리 인터페이스 INT를 통해서 처리된 데이터를 SDRAM으로 전송한다. 메모리 인터페이스는 여러 유닛 B에 의한 공유 메모리 SDRAM으로의 액세스를 조절한다.
메모리 인터페이스 INT는 2개의 기본 기능을 갖는다. 먼저, 공유 메모리 SDRAM으로의 액세스와 관련하여 여러 유닛 B 사이에서 중재한다. 기록 모드 또는 판독 모드에서, 한번에 단 하나의 유닛 B만이 공유 메모리 SDRAM를 액세스할 수 있다. 이것은 유닛 B가 버스트 모드에서만 메모리를 액세스 할 수 있다는 의미이다. 둘째로, 판독의 경우, 메모리 인터페이스 INT는 공유 메모리 SDRAM으로부터 도래하는 데이터 버스트를 실질적으로 균일한 데이터 흐름으로 변환하여, 소정 유닛 B에게 제공한다. 이 데이터 흐름은 유닛 B와 관련된 사설 판독 버스 BBR을 통해서 이송된다. 기록의 경우, 메모리 인터페이스 INT는 소정 유닛 B로부터 도래하는 실질적으로 정규 데이터 흐름을 공유 메모리 SDRAM에 기록하기 위한 데이터 버스트로 변환한다.
도 2에는 유닛 B1이 유닛 B3에 대해 우선권을 갖는 유닛 B2에 대해 우선권을 갖는 단순 우선권 액세스 방안에서의 메모리 인터페이스 INT의 기능 수행이 도시되어 있다. 이 방안은 본 기술 분야에서 현재 이루어지고 있는 것과 일치한다. T(BM)는 공유 메모리 SDRAM와 메모리 인터페이스 INT 사이의 공유 버스 BM 상에서의 데이터 왕래를 나타낸다. T(BBR1), T(BBR2) 및 T(BBR3)는 각기 메모리 인터페이스 INT와 유닛 B1, B2 및 B3 사이의 사설 판독 버스 BBR1, BBR2, 및 BBR3 상의데이터 왕래를 나타낸다. T(BBW1), T(BBW2) 및 T(BBW3)는 각기 메모리 인터페이스 INT와 유닛 B1, B2 및 B3 사이의 사설 기록 버스 BBW1, BBW2, 및 BBW3 상의 데이터 왕래를 나타낸다.
데이터 왕래 T(BM)은 데이터 버스트 DB로 이루어진다. 각 데이터 버스트 DB는 기록 모드 또는 판독 모드에서 유닛 B에 의한 공유 메모리 SDRAM으로의 액세스에 대응한다.
DB 다음의 괄호 내의 참조 부호는 버스트의 데이터가 속해있는 유닛 B를 나타내고, 또한 기록(W) 또는 판독(R)의 액세스 유형을 나타낸다. 예를 들어, DB1(B1/R)은 데이터 버스트 DB1이 B1에 의한 판독 모드에서의 공유 메모리 SDRAM으로의 액세스에 관한 것이라는 것을 나타낸다.
도 2는 메모리 인터페이스 INT가, 소정 유닛 B에 속하고 공유 메모리 SDRAM으로부터 도래한 데이터 버스트의 "균일함(smoothing)"을 이루는 것을 나타내고 있다. 이 도면은 또한 반대로 메모리 인터페이스 INT가 공유 메모리 SDRAM내의 이들 데이터를 기록하기 위해서 유닛 B로부터 도래한 데이터를 적절한 시간에 버스트(데이터를 구성함)로 집중시키는 것도 나타내고 있다. 사설 판독 버스 BBR 및 사설 기록 버스 BBW를 통한 데이터 왕래는 비교적 낮은 레이트를 갖는다. 결과적으로 이것은 사설 판독 버스 BBR 및 사설 기록 버스 BW가 상대적으로 적은 대역을 점유하게 함으로써, 이들 버스가 비교적 크지 않은 폭을 갖게 할 수 있다. 이와 관련하여, 버스의 크기는 그 버스에 의한 데이터 전송에 포함되는 비트 수에 대응할 필요가 없다는 점에 유의해야 한다. 예를 들어, 16 비트로 구성된 데이터 항목은 스스로 4비트의 워드로 분할된다. 따라서, 4비트 크기를 갖는 버스를 통해서 이 데이터 항목을 연속적인 4워드의 형태로 전송할 수 있다.
도 3에는 유닛 B가 도시되어 있다. 유닛 B는 프로세서 P 및 전역 어드레싱 회로 AGA로 이루어져 있다. 프로세서 P는 논리적 요구 LRQ를 생성한다. 유닛 B는 영상 데이터를 처리하고, 논리적 요구 LRQ는 예를 들어 현재 화상에서의 소정 라인 상의 픽셀에 대해 요구될 것이다. 전역 어드레싱 회로 AGA는 논리적 요구 LRQ를 물리적 요구 PRQ로 변경한다. 물리적 요구 PRQ는 요구된 데이터가 저장되는 물리적 어드레스를 공유 메모리 SDRAM에서 규정한다. 물리적 요구 PRQ는, 개시 어드레스, 이 어드레스로부터 탐색될 어드레스의 수, 그리고 어쩌면 데이터가 탐색될 때 제공될 방안의 형태를 가질 수 있다. 그 형태에서 규정될 수 있는 방안은, 판독될 연속적인 어드레스의 수, 스킵될 어드레스의 수, "판독 및 점프"의 반복 회수로 규정될 수 있다. AGA는 변환 파라미터가 논리적 요구 LRQ의 물리적 요구 PRQ로의 변환을 규정할 수 있도록 프로그램 가능하게 될 수 있다. 이것에 의해서 공유 메모리 SDRAM에서의 데이터의 저장에 융통성을 갖게 된다.
도 4에는 메모리 인터페이스 INT가 도시되어 있다. 메모리 인터페이스 INT는 중재기 ARB, 액세스 인터페이스 SIF, 버퍼 디바이스 BUF 및 매크로커맨드 어드레싱 회로 AGB로 이루어진다. 각 유닛 B에 대해 하나의 매크로 어드레싱 회로가 있다.
메모리 인터페이스 INT의 내부 기능은 전체적으로 다음과 같다. 각 매크로커맨드 어드레싱 회로 AGB는 매크로 커맨드와 관련된 유닛 B로부터 물리적 요구를분리한다. 매크로커맨드는 메모리 내의 소정 라인으로의 액세스에 대한 요구를 나타낸다. 매크로커맨드가 중재기 ARB에 제공되기 전에, 매크로커맨드 어드레싱 회로 AGB는 버퍼 디바이스 BUF에 충분한 여유가 있는지의 여부를 체크한다. 이 것을 위해 맨 먼저 매크로커맨드를 버퍼 디바이스 BUF로 제공한다. 버퍼 디바이스 BUF가 매크로커맨드에 의해서 규정된 수의 데이터를 저장하기 위한 여유가 있다고 확인하면, 매크로커맨드 어드레싱 회로 AGB는 중재기 ARB로 매크로커맨드를 제공한다. 중재기 ARB는 여러 매크로커맨드 어드레싱 회로 AGB로부터 도래한 매크로커맨드를 수집하여, 액세스 인터페이스 SIF로 전송하기 위한 매크로커맨드를 선택한다. 이 선택은 후술하는 중재 방안에 따라 이루어진다. 액세스 인터페이스 SIF는 수신된 순서대로, 중재기 ARB로부터 도래하는 매크로커맨드를 처리한다. 따라서, 액세스 인터페이스 SIF는 공유 메모리 SDRAM으로 액세스하게 하고, 액세스는 현재 처리되는 매크로커맨드에 의해서 규정된다. 따라서, 매크로커맨드에는 다음 정보가 포함된다.
- 액세스될 제 1 어드레스
- 복수 그룹의 어드레스 내의 제 1 어드레스에 이어 액세스될 어드레스의 수(Y-1)
- 연속적인 두 그룹의 어드레스 사이에서 스킵될 어드레스의 수(Z)
- 제 1 그룹 외에 액세스될 어드레스 그룹의 수(X-1)
- 판독 또는 기록의 액세스 유형
비트 레벨의 매크로커맨드의 일예는 다음과 같다. 공유 메모리 SDRAM에 저장된 데이터는 32비트폭이고, 공유 메모리 SDRAM은 최대 256Mbit의 크기를 갖는다고 가정한다. 이것은 어드레스가 23비트로 표현될 수 있음을 의미한다. 또한, 어드레스가 최대 16 어드레스의 크기로 제한된다고 가정한다. 그와 같은 제한은 잠재적 관점으로부터 바람직하다. 따라서, X-1 및 Y-1은 최대 15개이고, 결과적으로 4비트로 코딩될 수 있다. 결국, 라인에는 공유 메모리 SDRAM의 구성에 따라 최대 512개의 어드레스가 포함된다. 그 결과 스킵될 어드레스의 수는 511을 초과하지 못하므로 이 수는 9비트로 코딩될 수 있다. 따라서, 매크로커맨드는 23+2×4+9+1=41비트의 크기를 갖는다. 어드레스는 비트 40 내지 18, 액세스 유형은 비트 17, 판독될 워드의 수(Y-1)는 비트 16 내지 13, 스킵될 워드의 수(Z)는 12 내지 4, 그리고 워드 그룹의 수(X-1)은 비트 3 내지 0 상에 코딩될 수 있다.
메모리 인터페이스의 액세스 인터페이스, 메모리 인터페이스의 버퍼 디바이스 및, 판독 및 기록용 버퍼 디바이스의 예는 주지되어 있으며 예를 들어 이전 특허 공개 공보에 개시되어 있다.
도 5에는 판독 모드에서의 소정 유닛 B에 의한 공유 메모리 SDRAM으로의 액세스를 위한 절차가 도시되어 있다. 수평 범위는 시간을 나타낸다. 이 도면의 수직 범위는 동작이 일어나는 여러 기능 요소를 나타낸다. 이 도면에는 화살표가 포함된다. 이들 화살표는 인터페이스 메모리 SRAM으로의 액세스를 위한 절차 내의 여러 단계 S를 나타낸다.
S1 = 전역 어드레싱 회로 AGA로 논리적 요구 LRQ를 제공한다. 논리적 요구 LRQ는 데이터의 서브세트, 예를 들어, 처리될 복수의 데이터 세트(예를 들어, 화상) 내의 발광 픽셀을 지정한다.
S2 = 전역 어드레싱 회로 AGA는 논리적 요구 LRQ를 물리적 요구 PRQ로 변환한다.
S3 = 전역 어드레싱 회로 AGA는 매크로커맨드 어드레싱 회로 AGB로 물리적 요구 LRQ를 제공한다.
S4 = 매크로커맨드 어드레싱 회로 AGB는 물리적 요구 PRQ를 매크로커맨드로 변환한다.
S5 = 매크로커맨드 어드레싱 회로 AGB는 물리적 요구 PRQ로부터 얻어진 매크로커맨드의 선두를 버퍼 디바이스 BUF로 제공한다.
S6 = 버퍼 디바이스 BUF는 매크로커맨드에 의해서 지정된 데이터의 수를 저장할 여유가 있는지의 여부를 체크한다.
S7 = 버퍼 디바이스 BUF는 여유가 있다("승인")고 매크로커맨드 어드레싱 회로 AGB로 확인해준다.
S8 = 소정 지연량을 나타낸다.
S9 = 매크로커맨드 어드레싱 회로 AGB는 매크로커맨드를 중재기 ARB로 제공한다.
S10 = 중재기 ARB는 유닛에 의한 공유 메모리 SDRAM으로의 모든 액세스에 효과적인 중재 방안에 따라 공유 메모리 SDRAM으로의 액세스에 대한 요구로서 매크로커맨드를 처리한다. 본 발명은 이 중재 도면의 구조에 관한 것이다.
S11 = 중재기 ARB가 매크로커맨드를 액세스 인터페이스 SIF로 제공한다.
S11a = 중재기 ARB는 매크로커맨드가 액세스 인터페이스 SIF로 전달되어 있다("승인")는 것을 버퍼 디바이스 BUF로 알린다.
S12 = 매크로커맨드는 우선 이전에 수신된 매크로커맨드를 처리하는 액세스 인터페이스에서 대기한다.
S13 = 액세스 인터페이스 SIF는 매크로 커맨드에 근거하여 공유 메모리 SDRAM용 제어 신호를 생성한다. 이들 제어 신호는 매크로커맨드에 의해서 지정된 어드레스에서 데이터가 연속적으로 판독되는 효과가 있다.
S14 = SDRAM의 연속적으로 판독된 데이터는 버퍼 디바이스 BUF로 전송된다.
S15 = 데이터는 버퍼 디바이스 BUF에 임시로 저장된다.
S16 = 버퍼 디바이스 bUF는 데이터를 실질적으로 정규 방법으로 프로세서에 전송한다.
단계 S5-S15는 단계 S1에서 이루어진 논리적 요구 다음의 각 매크로커맨드에 대해 반복된다.
이후의 단계는 도 5에 도시되어 있지 않다. 단계 S1 이후, 전역 어드레싱 회로 AGA는 확인 신호("승인")를 프로세서 P로 전송한다. 이 신호는 논리적 요구 LRQ가 접수되어 처리될 것이라는 것을 나타낸다. 확인 신호에 응답하여, 프로세서 P는 새로운 논리적 요구를 생성하고 새로운 명령이 있을때까지 그것을 유지한다. 매크로커맨드 어드레싱 회로 AGB가 논리적 요구 LRQ 다음의 최종 매크로커맨드를 제공하면, 논리적 요구 LRQ의 처리가 완료된다. 이 경우, 매크로커맨드 어드레싱 회로 AGB는 논리적 요구 LRQ의 처리가 완료된 다음을 나타내는 확인 신호("승인")를 전역 어드레싱 회로 AGA에 제공한다. 이에 응답하여, 전역 어드레싱 회로 AGA는 단계 S1에서 이루어진 논리적 요구 LRQ의처리와 마찬가지로 새로운 논리적 요구 LRQ의 처리를 개시할 것이다. 즉, 과정이 반복된다. 기록 모드에서, 액세스 절차는 S13 및 S14를 제외하고는 유사하고, 여기에서 데이터는 판독되는 대신에 기록되며, 또한 매크로커맨드는 판독 모드형으로 액세스가 이루어지는 대신에 기록 모드형으로 액세스가 이루어지는 점을 제외하고는 유사하다.
서론 문단에서 설명한 바와 같은 기능 시스템에 있어서, 공유 자원으로 액세스하는 기능의 몇몇 종류를 구별할 수 있다.
두 종류의 주요 기능이 있다. 먼저, 데이터를 판독하거나 저장할 때 잠복되기(두 액세스 사이의 대기) 쉬운 기능으로, 이들 기능은 어떤 액세스도 하지 않을 때 정지한다(CPU의 경우). 이들 기능은 일반적으로 판독 모드에서 액세스를 획득할 수 있으며, 사설 판독 버스 BBR 및 사설 기록 버스 BBW를 통해서 메모리 인터페이스 INT에 접속된다. 두 번째로, 어느 데이터가 제공될 필요가 있는지 그리고 이들 데이터가 어디에 위치하는 지를 알 수 있는 기능으로, 이들 기능은 이들 기능이 잠복되지 않도록 버퍼를 포함하는 유닛에 의해서 수행된다. 이들 나중의 비잠복성 기능에는 공유 자원으로의 액세스를 획득하는 소정 대역에 따라 두 종류의 기능이 있다. 먼저, 대개 판독 모드나 기록 모드에서 액세스를 획득하며, 판독 모드에서의 단일 사설 버스 BBR 또는 기록 모드에서의 단일 사설 버스 BBW에 의해 공유 자원으로 자주 접속되는, 임계 기능은 오랫동안 데이터를 대기할 수 없다. 이것은 표시 기능을 갖는 경우 예를 들어, 메모리 내의 픽셀을 판독하여 그것들이 기능 시스템의 출력에서 표시되는 경우이다. 만일 데이터가 정시에 액세스될 수 없으면, 픽셀이 표시 될 수 없어 시스템에는 중대한 에러가 발생된다. 다음에, 비임계 기능은, 일반적으로 판독 모드에서의 메모리로부터 기록 모드에서의 메모리로의, 둘 사이에서 처리되는 데이터에 대하여 작동한다. 일반적으로, 이들 기능은 사설 판독 버스 BBR 및 사설 기록 버스 BBW를 통해서 메모리 인터페이스 INT에 접속된다. 이들 기능은 예를 들어 디코딩에 관련되며, 여기에서 디코더는 이미지를 매 40초마다 디코딩할 것이다. 그러한 기능의 기능 수행이 도 3에 점선으로 표시되어 있다. 비임계 프로세스는 실제 데이터가 처리되는 내부 파이프라인 IPL의 일종을 나타낸다. 이들 프로세스는 그들의 파이프라인이 영구히 채워져 데이터가 없는 어떤 "버블(bubble)"도 포함하지 않을 때 효율적으로 이루어진다. 이들 여러 종류의 유닛이 상이한 주파수와 정칙(regularities)을 갖는 공유 자원으로의 액세스를 가질 필요가 있다는 것을 쉽게 알 수 있을 것이다. 잠복하기 쉬운 유닛과 임계 유닛에 의한 액세스를 중재하기 위한 액세스 방안이 이미 존재한다. 그러한 액세스 방안은 예를 들어 본 출원인에 의해서 출원된 유럽 특허 출원 제 EP1081603-A1호의 공개공보에 제안되어 있다. 최근 출원에서 제안된 방안은 본 발명과 쉽게 결합될 수 있다. 즉, 최상위 우선권을 갖는 기능에 대해서 이용되는 그 출원에서 제안된 방안과 낮은 우선권을 갖는 기능에 대해 본 발명에서 제안된 방안은 쉽게 결합될 수 있다. 본 발명은 우선권 유형 전체에 걸친 액세스 방안의 범위 내에서 적합하다. 그러한 액세스 방안은 잠복하기 쉬운 기능과 임계 기능을 우선권의 순위 내에서 최상위 우선권을 갖는 레벨에 배치한다. 되도록 이전에 정해진 바와 같이, 우선권 기능의액세스는 특허 출원 EP1081603-A1에 따른 방안에 따라 조절된다. 그 다음 최하위 우선권을 갖는 레벨에 비임계 기능이 온다. 본 발명의 목적은 차단 및, 아무 기능도 공유 자원에 액세스 하지 않고 그에 따라 공유 자원의 액세스 가능성이 잘못 이용되는 동안의 "버블"의 존재를 억제하기 위해서 메모리의 사용을 조절하는 것이다. 이들 상황은 자유스런 메모리 액세스로부터 이득을 얻을 수 있는 최하위 레벨을 갖는 우선권 레벨이 없는 동안에 최하위 우선권 레벨에서 나타난다. 따라서, 특히 본 발명은 그의 기능 수행이 최적화를 벗어나서 설정되는 비임계 유닛의 경우에 관련된다.
예를 들어, 3개의 비임계 프로세스 B1, B2, B2가 3개의 최하위 레벨을 공유하는 단일 우선권 액세스 방안과 관련하여, 다음 상황이 발생할 것이다.
B1이 먼저 그의 작업을 완료한 후, B2가 그의 작업을 완료하여, 결국 B3만이 거기에 제공되는 모든 액세스로부터 불이익을 당한다. 이를 방지하기 위해서, 시간에 대하여 그들의 액세스가 최대 가능 범위로 배분되도록 3개의 프로세스가 거의 병렬로 작업하여 동시에 그들의 작업이 완료되어야 할 것이다. 이 경우, 3개의 프로세스 B1, B2 및 B3는 전체 잔여 대역을 취할수 있어야 한다. 이것은 조건에 대한 제약이 적어, 조합된 비임계 유닛이 잔여 대역을 이용할 수 있는 시스템이 B3만 잔여 대역을 사용해야하는 시스템 보다 저렴하기 때문이다. 이것은 본 발명에서 프로세스가 판독 모드 및 기록 모드에서 상이한 작용을 하도록 제안하여 해소하려고 하는 형태의 상황이다.
본 발명은 상술한 여러 프로세스 P에 의한 SDRAM으로의 액세스를 관리하기위한 중재기 ARB를 이용한다. 중재기는 모든 프로세스 P로부터의 액세스 요구를 수집하여 그들 중 하나를 선택한다. 선택된 요구는 이 요구를 생성한 프로세스가 SDRAM에 32비트 워드 16개를 기록이나 판독할 수 있게 한다. 이 SDRAM으로의 액세스 후에, 중재기는 다른 요구 등을 선택한다.
도 6 및 도 7에는 본 발명에 따라 여러 프로세스에 의한 공유 메모리로의 액세스를 관리하는 중재기의 두 실시예가 도시되어 있다. 본 발명에 따르면, 기능 시스템은 기능이 공유 자원을 액세스 할 수 있는 기준인 중재용 우선권 순위에 의해서 규정되는 적어도 하나의 상태를 포함하는 액세스 방안을 구현하도록 배열된 인터페이스를 포함하고, 그 상태는 적어도 두 기능의 적어도 한 세트에 대해, 판독 모드에서의 액세스 가능성과 기록 모드에서의 액세스 가능성이 서로 다른 우선권 레벨을 갖고, 판독 모드에서의 액세스의 가능성이 기록 모드에서의 액세스의 가능성의 우선권 레벨보다 높은 연속적인 우선권 레벨을 갖는 것을 특징으로 한다.
따라서, 본 발명은 기능이 판독 모드와 기록 모드에서 서로 다른 작용을 할 것이라고 보증한다. 이것은 기능의 기능 수행을 조정할 수 있고 특히 데이터 처리 기간을 이용하여 액세스를 배분할 수 있게 한다. 이 데이터 처리 기간은 데이터를 판독하는 기능이 그것을 처리하는 동안 판독 모드에서의 액세스와 기록 모드에서의 액세스 사이의 시간 경과인 것이 효과적이다. 판독 모드에서의 우선권 레벨이 기록 모드에서의 우선권 레벨 보다 높은 본 발명에 따르면, 기능은 각기 처리돌 데이터를 수신하고 나서, 공유 자원으로 기록하기 위한 소정 처리 데이터를 출력한다. 그 결과 본 발명은 기능들이 처리될 데이터를 가능한한 연속적이고 병렬로 갖게 할수 있어, 처리된 데이터의 출력이 한정되어 결과적으로 기록 모드에서의 공유 자원으로의 액세스를 조절하므로, 기능들이 그들의 액세스를 보다 공평하게 이용할 수 있게 한다. 본 발명은 공유 자원으로의 비임계 기능의 액세를 제어하는데 특히 유용하다.
도 6에 도시된 본 발명의 실시예 1은 1 내지 M+5의 M+5개(M은 2 이상의 수임)의 입력을 갖는 고정 우선권 선택기 FPS로 이루어지는 중재기를 이용한다. 프로세스 P1-PN-1의 SDRAM으로의 액세스 요구는 종래의 우선권 순위, 예를 들어 이전의 특허 공보에서 제아된 바와 같은 최적화된 관리 방법에 따라서 관리된다. 두 프로세스 P 사이의 대시(-)는, 이들 두 프로세스 P의 참조 부호 사이에 포함되는 참조 부호를 갖는 모든 프로세스를 의미한다. P1-PN-1은 잠복성 프로세스 또는 임계성 프로세스인 것이 바람직하다. 각 우선권 레벨에 대한 요구의 존재를 동시에 테스트하여, 요구 및 최상위 레벨을 갖는 하나를 선택함으로써 중재 단계가 구현된다. 따라서, 우선권에 따라, 중재기는 프로세스 중에서 프로세스 P1-PN-1을 선택한다. 만일 이들 프로세스 중 요구한 프로세스가 하나도 없다면, 즉, 중재기로 어떤 매크로커맨드도 제공하지 않았다면(여기서는, 본 발명에 따라 우선권이 주어진 적어도 두 기능의 복수 세트로 규정하는 세 개의 PN, PN+1, PN+2가 있음), 판독 모드의 액세스 유형을 갖는 매크로커맨드로 이양된다. 이들 3개의 프로세스는 적어도 두 기능의 복수의 세트로 구성된다. 이어서, 기록 모드에서 요구가 이루어지는 비임계 프로세스가 이양된다. 이것은 비임계 프로세스 PN, PN+1, PN+2의 참조부호와 인접하게 글자 R 및 W로 도 6에 도시된다. 세트 "PN_R" 및 "PN_W"는 기능의 두 서브세트로 규정된다. 따라서, 기록 모드 및 판독 모드에서의 액세스의 가능성은 서로 다른 우선권 레벨을 갖는다는 점에 유의해야할 것이다. 3개의 프로세스 PN, PN+1, PN+2의 기록 모드에서의 우선권 레벨은 3개의 프로세스의 판독 모드에서의 우선권 레벨 다음의 일반적인 우선권 레벨 순위로 삽입된다. 이 특성은 본 발명에 필수적이다. 판독 모드에서의 매크로커맨드가 그들의 파이프라인에 여유가 있을 때에만 프로세스에 의해서 생성될 수 있기 때문에, 본 발명은 상기 처리 내에 차단을 야기시키지 않는다. 다음에 선택된 요구는 SIF로 전송된다. 도 2에 도시된 메모리로의 액세스 방안이 어떻게 변경될 것인 지를 알 수 있을 것이다. 우선 프로세스는 하나의 프로세스가 판독 모드에서 액세스 한 후 다른 프로세스가 판독 모드에서 액세스하고 나서, 하나의 프로세스가 기록 모드에서 액세스 한 다음 다른 프로세스가 기록 모드에서 액세스할 것이다. 그러나, 본 실시예는 여전히 차단을 야기할 수 있고, 메모리 액세스가 이용중인 모든 경우를 방지할 수 있게 할 수 있는 것은 아니다. 이것은 나중 실시예에서 사용된 엄밀한 우선권 순위가 제 3 프로세스의 기록 모드에서의 액세스를 막는 차단을 야기할 수도 있기 때문이다. 따라서, 이 최종 실시예는 적어도 두 기능의 세트의 프로세스가 그들의 작업을 동시에 종료할 수 있게 만드는 것은 아니다.
도 7에 도시된 바람직한 실시예는 1 내지 M+3의 M+3개(여기에서 M은 2 이상의 수)개의 입력을 갖는 고정 우선권 선택기 FPS와 프로세스 선택기 MPS로 이루어지는 중재기를 이용한다. 프로세스 P1-PN-1의 SDRAM으로의 액세스에 대한 요구는 일반적인 우선권 순위로 관리되거나 예를 들어 이전 특허 공보에 개시된 바와 같이최적화된 관리 방법에 따라 관리된다. 이들 프로세스 P1-PN-1은 잠복성 프로세스 또는 임계 프로세스인 것이 바람직하다. 각 우선권 레벨에 대해 요구가 존재하는지 동시에 테스트하여, 요구 및 최상위 레벨을 갖는 것을 적절히 선택함으로써 중재 단계가 구현된다. 이것은 고정 우선권 선택기 FPS의 입력 상에 요구들이(존재한다면) 동시에 제공되기 때문이다. 따라서, 우선, 중재기는 이들 프로세스 중에서 P1-PN-1을 선택한다. 만일 이들 프로세스중에 요구를 갖는 것이 없다면, 즉, 중재기로 매크로커맨드가 제공되지 않는다면(여기에는, 본 발명에 따라 우선권이 주어진 적어도 두 기능의 복수 세트로 규정하는 세 개의 PN, PN+1, PN+2가 있음), 기록 모드의 액세스 유형을 갖는 매크로 커맨드로 이양한다. 이것은 프로세스 PN, PN+1, PN+2와 붙어 있는 글자 R 및 W로 도 7에 도시되어 있다. 세트 PN_R 및 PN_W는 기능의 서브세트를 규정한다. 도 7에 도시된 실시예에 있어서, 기록 모드에서 3개의 비임계 프로세스에 대해 하나의 우선권 레벨 M+3만이 할당된다. 한편, 기능 PN_W의 서브세트는 동일한 우선권 레벨 M+3를 서로 공유한다. 이 우선권 레벨은 프로세스 PN-PN+2의 SDRAM으로의 기록 모드에서의 액세스 요구를 수신하는 프로세스 선택기 MPS에서 선택된 프로세스로 부여된다. 이들 프로세스 중에서 프로세스 P를 선택한다. 이 선택은 이후 보다 상세히 설명될 방안에 따라 처리된다. 만일 선택된 프로세스 P가 기록 모드에서 요구되었다면, 이 요구는 고정 선택기 FPS의 입력 M+3으로 전송될 것이다. 그렇지 않으면 이 중재기용 입력으로 전송될 요구가 없다. 따라서, 보다 높은 우선권 레벨을 갖는 프로세스 중 요구를 생성한 우선권 레벨이 없고, 3개의 비임계 프로세스 중에서 판독 모드에서 요구를 생성한 것이 없고, 요구를 생성한 프로세스 선택기 MPS에 의해서 선택된 프로세스 P 요구를 생성했으면, 이 요구가 선택될 것이다. 만일 그와 같은 요구가 없으면, 액세스의 가능성이 이용되지 않는다. 중재기가 우선권 레벨 M+3으로의 액세스의 가능성을 제안하는 모든 경우에, 액세스가 있는지의 여부에 관계없이, 서브세트 PN_W-PN+2_W로부터 다른 프로세스를 선택하기 위해서 프로세스 선택기 MPS 내의 프로세스 선택이 변경된다. 따라서, 여기에서 몇 개의 상태(Ⅰ)가 진행되며, 상태(Ⅰ)은 중재용 우선권의 순위에 의해서 규정되고, 적어도 하나의 우선권 레벨이 몇 개의 상태(Ⅰ)에 대해 동일한 우선권 레벨(여기에서는 M+3)을 공유하는 기능들의 서브세트(여기서는, PN_W-PN+2_W)에 속하는 기능들 중 하나에 대한 액세스의 가능성을 할당한다. 이것은 각 중재에 대해, P1 내지 PN-1, PN_R 내지 PN+2_R로 이루어지는 우선권 순위 및 PN_W 내지 PN+2_W 내에서 선택된 프로세스에 대응하는 상태(Ⅰ)가 부가될 수 있기 때문이다. 따라서, 프로세스 PN_W 내지 PN+2_W의 각각은 몇 개의 상태(Ⅰ)을 진행하는 동안 교대로 선택되며, 기록 모드에서 프로세스의 "순회"를 완료하기 위해 진행하는 상태(Ⅰ)의 수는 우선권 레벨 M+3으로 제안되는 액세스의 빈도에 달려있다. 이것은 레벨 M+3으로 제안되는 액세스의 빈도가 선택기 MPS 내의 선택의 변경 빈도를 결정하기 때문이다. 그러나, 이 공유된 우선권 레벨도 판독 모드에서 프로세스의 액세스 가능성과 함께 그룹화하기 위한 효과가 적은 상황에 직면할 수 있다.
본 실시예는 이전 실시예보다 보다 적은 우선권 레벨로 중재할 수 있어, 보다 빠르고 보다 간단한 효과가 있다. 또한, 본 실시예는 어떠한 차단도 유발하지않고 병렬로 기록 모드에서 기능이 작업할 수 있도록 함으로써 공유 자원으로의 액세스 이용을 최적화할 수 있는 효과가 있다. 이것은 나중의 효과적인 실시예에 따르면, 비임계 기능이 그들의 작업을 동시에 완료할 수 있기 때문이다.
본 실시예에서는, 도 8a 및 도 8b에 보다 상세히 도시된 프로세스 선택기의 동작에 대해 보다 구체적으로 설명한다.
바람직한 실시예에 있어서, 동일한 우선권 레벨 M+3은, 몇 개의 상태(Ⅰ)이 진행되는 중에, 기능 PN_W 내지 PN+2_W의 서브세트의 기록 모드에서의 액세스 가능성들 사이에서 공유되는 기록 모드에서의 액세스 가능성으로 구성된다. 도 8a에는 프로세스 선택기 MPS의 기능 수행의 가능성이 도시되어 있다. 레지스터 REG는 상태 Ⅰ에 대한 각 중재에서 고려되며, 여기에서 프로세스 선택기 MPS 내의 프로세스 PN-PN+2로 이루어지는 적어도 두 기능의 복수 세트에 공통되는 우선권 레벨 M+3이 논의된다. 레지스터의 각 값에 대해 기능, 여기에서, PN_W, PN+1_W 또는 PN+2_W이 대응된다. 이 레지스터는, 병렬 및/또는 배수로 기능을 확인하길 원하는 방법의 수에 따라서, 1비트, 2비트, 3비트 또는 그 이상으로 구현될 수 있으며, 여기에서, 레지스터의 값의 완전한 "순회"에 대해 나타나는 부여된 프로세스에 주의하기 바란다. 따라서, 도 8a에는 레지스터 값 1 내지 5의 5개가 원 형태로 도시되어 있다. 본 발명에 따르면 기록 모드에서 상태당 한 개의 비임계 프로세스만이 유의되지만, 몇 개의 연속적인 상태는 기록 모드에서 동일한 비임계 프로세스를 가질 수 있어 중재 시에 유의된다. 이것은 각 상태의 변경시 레지스터가 증가되는 것이 아니라 관련된 우선권 레벨이 액세스 가능성을 가질때만 증가되기 때문이다. 이들 값은하나의 주기 다음에 다른 주기에 걸쳐서 실행된다. 각 값은 프로세스 중 하나의 선택을 나타낸다. 기록 모드에서의 여러 프로세스 사이의 액세스의 상대적 배분은 이 레지스터의 구조를 통해서도 제어될 수 있다. 이것은 3개의 프로세스 PN_W, PN+1_W 및 PN+2_W가 서로 우선권 레벨 M+3을 공유하고, 그들의 기록 버스 상의 대역이 각기 40Mbytes/s, 20Mbytes/s 및 40Mbytes/s이라고 가정하면, 프로세스 PN_W 및 PN+2_W에 대해 대역의 2/5를 제공하고 PN+1_W에 대해 1/5를 제공하는 것이 유용하기 때문이다. 이 배분은 도 8a에 도시되어 있으며, 여기에서 레지스터는 PN_W에 대해 2개, PN+2_W에 대해 2개, 그리고 PN+1_W에 대해 1개의 5개의 상이한 값을 취할 수 있다. 이 배분의 부가적인 효과는, 프로세스중 하나(예를 들어, PN+1)가 액세스를 요구하지 않는 경우, 비임계 프로세스에 대해 이용할 수 있는 대역은 당연히 반반씩 PN 및 PN+2에 배분된다. 만일 PN이 액세스를 요구하지 않으면, PN+1에 대해 1/3 그리고 PN+2에 대해 2/3로 배분될 것이다. 이것은 MPS에서 선택된 프로세스가 액세스하지 않아도, 레지스터값이 증가되기 때문이다. 따라서, 여기에서 레지스터는 3비트로 사용되는 것이 바람직하다. 도 8a에서 한 주기에 걸쳐서 실행되는데 요구되는 상태 (Ⅰ)의 수는, 기록 모드에서의 비임계 기능의 액세스 빈도, 즉, 본 실시예에서 우선권 레벨 M+3에 대해 요구되는 빈도에 달려 있다.
도 8b에는 선택기 MPS 내에서 선택되는 과정 및 도 8a 내의 한 상태에서 다른 상태로 이동하는 과정이 보다 구체적으로 도시되어 있다. 이 도면에서, 프로세스 P1 내지 PN-1의 액세스는 최상위 우선권 레벨이 선택되는 단순한 우선권 순위로 관리된다고 간주한다. 단계 SA1은 상태 Ⅰ에서 상태 Ⅰ+1로 점프한 후에 이루어지는 제 1 단계이다. 따라서, 단계 SA1에서는, 현재 상태 Ⅰ에서의 중재용 고정 우선권 선택기 FPS가 우선권 레벨 PRIOR[Ⅰ]를 선택한다. 우선권 레벨 1 내지 M+2에 대해 적어도 하나의 요구가 존재하면, 가장 적은 수에 대응하는 우선권 레벨이 선택되거나 그렇지 않으면 디폴트값으로 선택되는 레벨 M+3의 우선권 레벨이 선택된다. 단계 SA2에서, 우선권 레벨이 M+3과 비교된다. 우선권 레벨이 M+3과 다르면, 메모리로의 액세스는 단계 SA5에서 매크로커맨드 MC로 이양된 다음, 그 다음 상태 Ⅰ+1이, 도 8b에 도시된 반복되는 방법을 수반하는 새로운 중재를 위한 단계 SA6으로 넘어간다. 우선권 레벨이 M+3과 같으면, 단계 SA3은 현재 상태 Ⅰ에 대한 레지스트 REG[Ⅰ]의 값을 주목하고, 레지스터 값에 대응하는 프로세스가 매크로커맨드 MC를 갖고 있는지의 여부를 확인한다. 프로세스가 매크로커맨드 MC를 갖고 있으면, 액세스는 단계 SA5에서 우선권 레벨 PRIOR[Ⅰ]에 대응하는 이 매크로커맨드 MC로 이양되고, 레지스터 REG의 값이 단계 SA4에서 J+1에 5가 증가되며, 시스템은 단계 SA6에서 다음 사태 Ⅰ+1로 진행된다. 프로세스가 매크로커맨드를 갖고 있지 않으면, 레지스터는 단계 SA4에서 J=1에 5만큼 증가되어, 다음 상태에서 액세스가 다른 프로세스로 제공되고, 시스템은 단계 SA6에서 다음 상태 Ⅰ+1로 진행된다.
본 바람직한 실시예에서 제안된 중재에 따르면, 모든 프로세스(잠복성 프로세스, 임계 프로세스 및 비임계 프로세스)에서 사용되는 평균 대역의 합이 가능 대역보다 적고, 모든 비임계 프로세스용 피크 대역(순시 대역)이 가능 대역보다 큰 경우, 공유 자원을 최대로 이용할 수 있다.
바람직한 실시예에서, 본 발명은 무효 액세스 가능성이 없고, 항상 비임계프로세스가 자유롭게 액세스 가능성을 가질 준비가 되어 있고, 모든 비임계 프로세스는 동시에 그들의 작업을 완료할 수 있으며, 비임계 기능의 파이프라인은 항상 가득 채워지는 효과가 있다.
도 9에는 "본 발명의 요약" 부분에 개시된 바와 같은 본 발명의 기본 특성이 도시되어 있다. 기능 시스템은 공유 자원(RSRC)을 액세스하는 복수의 기능 F, F'으로 이루어진다. 이 시스템은 적어도 하나의 상태(Ⅰ)로 이루어지며, 이 상태 (Ⅰ)는 기능(F, F')이 공유 자원(RSRC)을 액세스할 수 있도록 중재하기 위한 우선권 순위에 의해 규정되며, 상태 (Ⅰ)은 적어도 두 기능(F)의 적어도 한세트에 대하여, 판독 모드 F_R에서의 액세스 가능성과 기록 모드 F_W에서의 액세스 가능성은 서로 다른 우선권 레벨을 가지며, 판독 모드에서의 액세스 가능성이 기록 모드에서의 액세스 가능성의 우선권 레벨보다 높은 연속된 우선권을 갖는 것을 특징으로 한다.
도 1 내지 도 8을 참조해서 상술한 데이터 처리 디바이스는, 도 9에 도시된 기본 특성을 구현한 일예이다. 도 9에 도시된 공유 자원 RSRC는 도 1에 도시된 공유 메모리 SDRAM의 형태로 구현된다. 도 9에 도시된 기능 F, F'는 도 1에 도시된 유닛 B의 형태로 구현된다. 도 1에 도시된 메모리 인터페이스 INT는 도 8a 및 8b에 도시된 액세스 방법을 구현한다. 이 액세스 방안은 도 8a에 도시된 레지스터 값을 거쳐서 실행되는 다양한 복수의 상태를 특징으로 한다. 매크로커맨드를 이용하는 액세스 가능성의 범위는 16개의 메모리 어드레스이다. 각 상태는 중재가 수행되는 우선권 순위를 규정하며, 이 중재에 따라 유닛 B가 공유 메모리 SDRAM를 액세스할 수 있다. 이 우선권 순위는, 도 6에 존재하는 모든 상태 (Ⅰ)에서 동일해지거나, 또는 액세스 가능성이 최하위 우선권 레벨로 승인된 각 경우(도 7에 도시됨)에 변경될 수 있다.
본 발명은 MPEG 디코더 및 이미지를 처리하여 표시하는 기타 회로로 이루어지는 집적 회로에 적용될 수 있다. 그러한 집적 회로에 있어서 기능의 등가물인 여러 프로세스가 발생된다. SDRAM형 공유 메모리(이후, SDRAM이라 칭함)를 액세스하는 여러 프로세스 P가 있다.
P1 : DISP(Display)
P2 : OSD(On Screen Display)
P3 : BCKGND(Background)
p4 : CCIR656
P5 : VMIX(Video Mixer)
P6 : AUDIOFIFO(Audio FIFO Read and Write)
P7 : AUDIOBUF(Audio Buffer Read and Write)
P8 : VFW(Video FIFO Write)
P9 : VFR(Video FIFO Read)
P10 : MC(Motion Compensation)
P11 : DMU
P12 : INTERP
프로세스 P1(DISP)은 디코딩된 화상의 표시에 관한 것이다. 프로세스 P2(OSD)는 표시된 디코딩 화상 위에 겹쳐서 표시되는 그래픽 데이터의 표시에 관한것이다. 프로세스 P3(BCKGND)은 스크린 배경 위나 디코딩되어 처리된 화상과 함께 투명한 곳에 고정된 이미지를 표시하는 데 관련된 것이다. 프로세스 P4(CCIR656)는 미리 인코딩된 화상을 수신하여 그것을 메모리에 저장할 수 있게 하는 집적 회로의 입력에 관한 것이다. 이들 화상이 프로세스 P1(DISP)에 의한 MPEG 디코딩으로부터 얻어진 화상 대신에 표시될 수 있다. 프로세스 P5(VMLX)는 프로세스 P1(DISP), P2(OSD) 및 P3(BCKGND)로부터 도래하는 세 데이터 흐름의 혼합과 관련된 것이다. 프로세스 P8(VFW), P9(VFR) 및 P6(AUDIOFIFO)은 언스크램블링/디멀티플렉싱 디바이스에 의한 MPEG 데이터 흐름으로부터 추출된, 인코딩된 영상 및 음성 데이터의 기록 및 판독에 관련된 것이다. 프로세스 P7(AUDIOBUF)은 음성 프로세서의 중재 결과의 기록 및 판독에 관한 것이다. 프로세스 P10(MC)은 MPEG 영상 디코딩에서 소정 단계를 이루는 움직임 보정에 관한 것이다. 프로세스 P11(DMU)은 하나 이상의 데이터 블록의 움직임 또는 필터링과 같은 SDRAM 내의 데이터에 대한 비교적 복잡한 처리를 하는데 제공되는 가속 디바이스에 관한 것이다. 프로세스 P12(INTERP)는 SDRAM 내에 기록될 디코딩된 화상을 표시하거나 또는 참조 화상으로서 이용하거나 또는 그 둘다를 위해서 제공되는 MPEC 디코딩의 최종부와 관련된 것이다. 프로세스 P8 내지 P12는 중요한 것이 아니며, 공유 자원으로의 그들의 액세스는 본 발명에 따라 관리될 수 있다. 제 1 프로세스 P1 내지 P7이 액세스 방안에서 일반적인 우선권 순위 내에 있고 그 다음 M=8이 있으면, 프로세스 P8 내지 P12의 판독 모드에서의 액세스는 우선권 레벨 8 내지 12 상에 있고, 그 다음에 프로세스 P8 내지 P12의 기록 모드에서의 액세스는 도 8a에 존재하는 바와 같이 주기적으로 분포된 우선권 레벨 13과 함께 그룹화 된다.
도면을 참조한 상술한 설명은 예를 들어 설명한 것으로서, 본 발명을 제한하는 것은 아니다. 첨부된 특허청구범위의 범주 내에서 여러 가지 대안이 있음은 명백하다. 이와 관련하여 끝으로 몇 가지를 말하면 다음과 같다.
본 발명은 소정의 기능 시스템에 적용될 수 있다. 도 1에는 본 발명이 데이터 처리 디바이스에 적용되는 데 따른 한가지 실시예만이 도시되어 있다. 또한, 예를 들어, 중앙 서버와 복수의 단말로 구성되는 통신 시스템에 본 발명이 적용될 수도 있다. 본 발명은 단말에 의한 중앙 서버로의 액세스를 효과적으로 관리하기 위해 적용될 수 있다.
물리적 개체(하드웨어의 품목) 또는 소프트웨어 또는 그 두가지의 조합으로 기능을 구현할 수 있는 여러 가지 방법이 있다. 이와 관련하여, 도면은 큰 개요이며, 각 도면은 단지 하나의 실시예를 나타낸다. 따라서, 도면에는 분리된 유닛의 형태로 여러 가지 기능이 도시되어 있지만, 몇 개의 기능을 수행하는 하나의 하드웨어 개체나 소프트웨어 항목을 배제하는 것은 아니다. 소정 기능이 복수의 물리적 개체의 세트나 소프트웨어 항복에 의해서 수행될 수 있다는 점을 배제하지 않는다.
예를 들어, 도 4에 도시된 메모리 인터페이스는, 서로 조합되어, 공유 메모리로의 액세스를 제어하고 메모리 인터페이스에 포함된 메모리를 제어하는 여러 유닛으로 이루어진다. 사실상 이들 유닛은 적절히 프로그래밍된 컴퓨터 회로로 구현될 수 있다. 프로그래밍 메모리에 포함되는 복수 세트의 명령어는 도 1 내지 8을참조하여 위에서 설명한 여러 동작을 컴퓨터가 수행하게 할 수 있게 한다. 복수 세트의 명령어는 예를 들어 명령어의 세트가 포함되는 디스크와 같은 데이터 운반 수단을 판독함으로써 프로그래밍 메모리에 로딩될 수 있다. 판독은, 예를 들어 인터넷과 같은 통신 네트워크에 의해서 수행될 수 있다. 이 경우 서비스 공급자는 관련 분야에 이용할 수 있는 명령어 세트를 만들 것이다.
특허청구범위의 괄호 내의 참조 부호는 제안적으로 해설될 수 없다. "포함하다"는 어구는 특허청구범위에 기재된 다른 구성 요소나 단계의 존재를 배제하지 않는다. 구성 요소나 단계 앞의 "하나" "소정" 등의 어구는 이들 요소나 단계가 복수개 존재할 수 있음을 배제하지 않는다.
본 발명에 따르면, 공유 자원을 효율적으로 이용할 수 있어, 자원을 절감할 수 있게 된다.

Claims (7)

  1. 공유 자원(RSRC)을 액세스하는 복수 세트의 기능(F, F')을 포함하는 기능 시스템에 있어서,
    기능(F, F')이 공유 자원을 액세스 할 수 있는 기준인 중재용 우선권 순위에 의해서 규정되는 적어도 하나의 상태(Ⅰ)를 포함하는 액세스 방안(AS)을 구현하도록 배열된 인터페이스(INT)를 포함하되,
    상기 상태(Ⅰ)은, 적어도 두 기능(F)의 적어도 한 세트에 대하여, 판독 모드(F_R)에서의 액세스 가능성과 기록 모드(F_W)에서의 액세스 가능성이 상이한 우선권 레벨을 가지며, 판독 모드에서의 액세스 가능성이 기록 모드에서의 액세스 가능성의 우선권보다 높은 연속적인 우선권 레벨을 갖는 것을 특징으로 하는 기능 시스템.
  2. 제 1 항에 있어서,
    몇 개의 상태(Ⅰ)이 진행되며, 상태(Ⅰ)은 적어도 하나의 우선권 레벨이 몇몇 상태(Ⅰ)에 대해 동일한 우선권을 공유하는 기능(F_W)의 서브세트에 속하는 기능 중 하나에 대해 공유 자원으로의 액세스의 가능성을 선정하는 우선권 순위에 의해서 규정되는 것을 특징으로 하는 기능 시스템.
  3. 제 2 항에 있어서,
    몇 개의 상태(Ⅰ)이 진행되는 중에, 적어도 하나의 동일한 우선권 레벨이 기능 F의 세트의 기록 모드에서의 액세스 가능성 사이에서 공유되는 것을 특징으로 하는 기능 시스템.
  4. 제 3 항에 있어서,
    기능 세트에 속하는 소정 기능으로 액세스의 기능성이 기록모드에서 제공되는 상태로부터 다음 상태로 인터페이스가 점프할 때, 적어도 하나의 다음 상태에 대해 기록 모드에서의 상기 액세스 가능성이 기능 세트 내의 다른 기능으로 제공되는 것을 특징으로 하는 기능 시스템.
  5. 복수 세트의 기능들(F, F')과 상기 기능들(F, F')이 액세스하기 위한 공유 자원(RSRC)를 포함하는 기능 시스템을 관리하는 방법에 있어서,
    적어도 두 기능(F)의 적어도 한 세트에 대하여, 상이한 우선권 레벨에 따라 판독 모드(F_R)에서의 액세스 가능성과 기록 모드(F_W)에서의 액세스 가능성을 관리하는 단계를 포함하되, 판독 모드에서의 상기 액세스 가능성은 기록 모드에서의 상기 액세스 가능성의 우선권 레벨보다 높은 연속적인 우선권 레벨을 갖는 것을 특징으로 하는 기능 시스템 관리 방법.
  6. 공유 메모리(MEM)로 액세스하기 위한 복수 세트의 프로세서(P)를 포함하는 데이터 처리 장치에 있어서,
    상기 프로세서(P)가 공유 자원(RSRC)을 액세스할 수 있는 기준인 중재용 우선권 순위에 의해서 규정되는 적어도 하나의 상태(Ⅰ)를 포함하는 액세스 방안(AS)을 구현하도록 배열된 메모리 인터페이스(INT)를 포함하되,
    상기 상태(Ⅰ)은, 적어도 두 프로세서(P)의 적어도 한 세트에 대하여, 판독 모드에서의 액세스 가능성과 기록 모드에서의 액세스 가능성이 두 상이한 우선권 레벨을 갖고, 판독 모드에서의 액세스 가능성은 기록 모드에서의 액세스 가능성의 우선권 레벨보다 높은 연속적인 우선권 레벨을 구비하는 것을 특징으로 하는 데이터 처리 장치.
  7. 복수 세트의 기능(F, F')과 상기 기능(F, F')이 액세스하기 위한 공유 자원(RSRC)을 포함하는 기능 시스템에 대한 컴퓨터 프로그램 제품에 있어서,
    상기 컴퓨터 프로그램 제품은, 기능 시스템에 로딩될 때, 상기 기능 시스템이 청구항 5에서 청구된 방법을 구현하도록 하는 복수 세트의 명령어를 포함하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
KR10-2003-0011987A 2002-02-26 2003-02-26 기능 시스템, 기능 시스템 관리 방법, 데이터 처리 장치및 기능 시스템용 컴퓨터 프로그램 제품 KR20030070853A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR02/02398 2002-02-26
FR0202398 2002-02-26

Publications (1)

Publication Number Publication Date
KR20030070853A true KR20030070853A (ko) 2003-09-02

Family

ID=27676072

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0011987A KR20030070853A (ko) 2002-02-26 2003-02-26 기능 시스템, 기능 시스템 관리 방법, 데이터 처리 장치및 기능 시스템용 컴퓨터 프로그램 제품

Country Status (6)

Country Link
US (1) US7689781B2 (ko)
EP (1) EP1341093B1 (ko)
JP (1) JP2003280932A (ko)
KR (1) KR20030070853A (ko)
CN (1) CN100378697C (ko)
AT (1) ATE555443T1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5146284B2 (ja) * 2008-11-27 2013-02-20 株式会社リコー データ転送装置及びデータ転送方法
KR101915944B1 (ko) * 2017-05-08 2018-11-08 주식회사 애포샤 클러스터 시스템에서의 클라이언트 요청 처리 방법, 상기 클라이언트 요청에 따른 입출력 처리 방법 및 장치

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6257050A (ja) 1985-09-06 1987-03-12 Nippon Signal Co Ltd:The 共有メモリ装置
JPS6461846A (en) 1987-09-02 1989-03-08 Fujitsu Ltd Priority control system
US5450564A (en) * 1990-05-04 1995-09-12 Unisys Corporation Method and apparatus for cache memory access with separate fetch and store queues
US5136582A (en) * 1990-05-29 1992-08-04 Advanced Micro Devices, Inc. Memory management system and method for network controller
JPH04344372A (ja) * 1991-05-22 1992-11-30 Hitachi Ltd ディジタル信号記録再生装置
JPH07200386A (ja) * 1993-12-28 1995-08-04 Toshiba Corp 共有メモリのアクセス制御装置および画像形成装置
JPH08221311A (ja) * 1994-12-22 1996-08-30 Sun Microsyst Inc スーパースカラプロセッサにおけるロードバッファ及びストアバッファの優先順位の動的切換え
US5649157A (en) * 1995-03-30 1997-07-15 Hewlett-Packard Co. Memory controller with priority queues
US6092158A (en) * 1997-06-13 2000-07-18 Intel Corporation Method and apparatus for arbitrating between command streams
JP4335327B2 (ja) 1997-12-11 2009-09-30 パナソニック株式会社 調停装置および方法
US5948081A (en) * 1997-12-22 1999-09-07 Compaq Computer Corporation System for flushing queued memory write request corresponding to a queued read request and all prior write requests with counter indicating requests to be flushed
JP2000040061A (ja) * 1998-05-20 2000-02-08 Oki Data Corp バス使用権調停システム
FR2797971A1 (fr) 1999-08-31 2001-03-02 Koninkl Philips Electronics Nv Acces a une ressource collective
US20040172631A1 (en) * 2001-06-20 2004-09-02 Howard James E Concurrent-multitasking processor

Also Published As

Publication number Publication date
US7689781B2 (en) 2010-03-30
CN1441361A (zh) 2003-09-10
ATE555443T1 (de) 2012-05-15
CN100378697C (zh) 2008-04-02
EP1341093A1 (fr) 2003-09-03
EP1341093B1 (fr) 2012-04-25
US20030233338A1 (en) 2003-12-18
JP2003280932A (ja) 2003-10-03

Similar Documents

Publication Publication Date Title
KR100422781B1 (ko) 통합 메모리 아키텍처에서 중재하기 위한 방법 및 장치
US6385678B2 (en) Method and apparatus for bus arbitration with weighted bandwidth allocation
US6286083B1 (en) Computer system with adaptive memory arbitration scheme
KR100265263B1 (ko) 프로그램가능 공용 메모리 시스템 및 방법
US7818503B2 (en) Method and apparatus for memory utilization
US7191273B2 (en) Method and apparatus for scheduling a resource to meet quality-of-service restrictions
US5506968A (en) Terminating access of an agent to a shared resource when a timer, started after a low latency agent requests access, reaches a predetermined value
JP2004531830A (ja) キャッシュメモリバーストサイクル中にバスアービトレーションを制御するためのシステム及び方法
US20040088450A1 (en) Memory transaction ordering
JP4531223B2 (ja) 集合的メモリを共有する複数のプロセッサを備えたデータ処理装置
KR100803114B1 (ko) 메모리 중재 방법 및 시스템
US6279066B1 (en) System for negotiating access to a shared resource by arbitration logic in a shared resource negotiator
JP3260456B2 (ja) コンピュータシステムおよびそれに適した集積回路並びに要求選択回路
KR20030070853A (ko) 기능 시스템, 기능 시스템 관리 방법, 데이터 처리 장치및 기능 시스템용 컴퓨터 프로그램 제품
GB2258069A (en) High speed computer graphics bus
US20050138251A1 (en) Arbitration of asynchronous and isochronous requests
KR100678784B1 (ko) 기능 시스템 및 그의 관리 방법, 데이터 처리 시스템 및 컴퓨터 판독 가능 저장 매체
CN101196835B (zh) 用于在线程之间通信的方法和装置
US9892088B2 (en) Data processing system and method of controlling access to a shared memory unit
JP2009037639A (ja) ストリーミングidメソッドによるdmac発行メカニズム
US6785795B1 (en) Data processing device for use in cooperation with a memory
US6504549B1 (en) Apparatus to arbitrate among clients requesting memory access in a video system and method thereof
JPH11175464A (ja) 調停装置および方法
US6542159B1 (en) Apparatus to control memory accesses in a video system and method thereof
US20030046506A1 (en) Dynamic access control of a function to a collective resource

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application