JP4090883B2 - 異なるリソースアクセス方式を有するシステム統合エージェント - Google Patents

異なるリソースアクセス方式を有するシステム統合エージェント Download PDF

Info

Publication number
JP4090883B2
JP4090883B2 JP2002555294A JP2002555294A JP4090883B2 JP 4090883 B2 JP4090883 B2 JP 4090883B2 JP 2002555294 A JP2002555294 A JP 2002555294A JP 2002555294 A JP2002555294 A JP 2002555294A JP 4090883 B2 JP4090883 B2 JP 4090883B2
Authority
JP
Japan
Prior art keywords
data processing
access
request
data
shared resource
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Lifetime
Application number
JP2002555294A
Other languages
English (en)
Other versions
JP2004517413A (ja
Inventor
ロビン、ディディエ
カロリーナ、ミロ、ソローラ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips NV
Koninklijke Philips Electronics NV
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 Koninklijke Philips NV, Koninklijke Philips Electronics NV filed Critical Koninklijke Philips NV
Publication of JP2004517413A publication Critical patent/JP2004517413A/ja
Application granted granted Critical
Publication of JP4090883B2 publication Critical patent/JP4090883B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/372Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a time-dependent priority, e.g. individually loaded time counters or time slot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/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)

Description

【0001】
発明の背景
本発明は、共有リソースへのアクセスを管理する異なる方式を有するエージェントを収容するシステムに関する。通常、本発明は共通メモリへのアクセスを管理する異なる技法を有する複数のデータ・プロセッサを単一のシステムが使用できるように構成されている。そのようなシステムの非限定的な一例は、MPEGコーデック(Motion Picture Expert Groupにより定義された規格を実施するコーダ・デコーダ)である。
【0002】
複数のエージェントの間で共通のリソースを共用する必要があり、且つ一度に一つのエージェントのみがこの共用されるリソースにアクセス可能である各種のシステムが存在する。例えば幾つかのプロセッサが一つの共通メモリを共用するデータ処理装置が、この場合である。本明細書において、「エージェント」という用語は、モジュールおよびモジュールにより実施される処理の両方を指示するために使用される(与えられた一つのモジュールが複数の処理を実施すると、理解される)。
【0003】
個別のエージェントによる共用リソースへのアクセスを管理するために異なる方式が採用されてきた。幾つかのシステムは、タイムスロット・アクセス方式を採用し、これは所定期間の間、所定の時刻に各エージェントが共用リソースにアクセスし、エージェントが所定の順序で共用リソースに繰返しアクセスする。他のシステムが採用する方式では、エージェントがアクセスを必要とする時にアクセス要求をし、同時に複数の要求が発行された場合には、アービタがどちらのアクセス要求が受入れられるかを決定する。このアービタは、各エージェントがその必要に充分な時間共用リソースへアクセスできることを確実にするように設計された調整方式を実施する。これは通常各エージェントにより要求される「帯域幅」という用語で認められている。
【0004】
WO98/12645は、マイクロプロセッサ・チップ上に集積された幾つかの装置(中央処理装置(CPU)、データおよび命令のキャッシュ、画像コプロセッサなど)が共用バスを使用して、チップの外に位置する共通メモリ(同期DRAM)へアクセスするシステムにおけるバス調整の方法および装置について述べている。このシステムにおいては、バス・アクセスを要求する異なるエージェントへの帯域幅の重み付け割当てがあり、各装置がその必要とする帯域幅割当てを受けるのを確実にする調整方式を、アービタが実施する。
【0005】
図1は、タイムスロット・アクセス方式を使用するように設計されたモジュールの典型的な環境を図示し、この例においてモジュールはプロセッサPROCであり、また共用リソースはメモリMEMである。モジュールPROCは、インターフェイスINTを介して、メモリMEMにアクセスするようにされている。図1には一つのモジュールPROCのみ示されているが、一般に単一チップのIC1へ幾つかのそのようなモジュールが集積されることが理解される。さらにこの図ではチップ上にメモリ・インターフェイスが供給されているが、本発明はオフチップのメモリ・インターフェイスに関連して設計されるモジュールの再利用の場合にも適用できることが理解される。このインターフェイスINTは、モジュールPROCがメモリMEMへ、メモリ・アクセス方式に基いてアクセスできるようにしており、このメモリ・アクセス方式によればモジュールPROCのために所定のタイム・スロットが予約されていて、これによりデータをメモリMEMへ転送したり、そこからデータを受け取ったりする。
【0006】
インターフェイスINTは、構成可能であってすなわち特定のタイム・スロットへのモジュールへの割当てを変更できる。コントローラCONTが、制御データをインターフェイスINTに与えて、チップ上のそれぞれ異なるモジュールのためにメモリへアクセスするのにどのタイム・スロットを使用すべきかを規定する。コントローラCONTはまたモジュールPROCへ制御データを与えて、(インターフェイスINTの内部のバッファを介して)メモリMEMからデータを取り出したり、そこへデータを書き込んだりするための所定のタイム・スロットをそれに知らせるようにする。タイム・スロットへの処理モジュールの割当てが変更されることは比較的に頻度が少なく、従って構成の変更が要求された時にのみ制御データがインターフェイスと処理モジュールへ送られる。
【0007】
一般にチップ上の各処理モジュールは、同一の処理機能を繰り返し実施するが、しかし新しいデータに応用される。例えば図1のIC1がMPEGエンコーダのコアである場合、幾つかのプリセット機能が連続的なマクロ・ブロック上で繰り返し遂行されて、処理モジュールのグループにより一つの画像信号のフレームを作りあげる。IC1の内部のコントローラCONTが処理モジュールとインターフェイスへ、各種の所定のタイム・スロットがいつ起こるかを決定する基準として、同期信号(この例ではフレーム監視信号とマクロ・ブロック開始信号)を出力する。このコントローラはまたこのインターフェイスへアドレス・データを出力するが、このアドレス・データは、特定期間の間に与えられたモジュールにより処理されるべきマクロブロックまたはピクセルの行に関するデータが、メモリMEMのどこに記憶されるかを指示する。このアドレス・データは、一般に開始アドレス、およびアクセスすべき連続アドレス位置の数に関して定義される。ある場合には、モジュールによりなされる所与の要求に適用されるアドレス・データは、他のモジュールによりなされるある計算(同一物理装置の他の処理であり得る)の結果によって左右される。そのような場合にはコントローラが、計算を遂行するモジュールから結果に関するデータを受け取って、それに従ってアドレス・データを発生する。
【0008】
モジュールPROCに使用されるのと異なる速度でインターフェイスINTがデータを読み書きする場合は、モジュールPROCに専用のバッファBUFがインターフェイスとモジュールPROCの間に置かれて、このモジュールへ向けられたデータをメモリMEMから読み出して記憶する。この場合、所定の時間間隔でバッファとの間でデータを読み書きするように、モジュールPROCが配置されている。この場合読取動作の間に、該当データがバッファ内に存在することを示す確認信号をモジュールPROCがバッファから受信しないならば、後続の要求が確認される時までこのモジュールが機能停止される。
【0009】
図1のタイム・スロット・メモリ・アクセス方式では、前記所定期間内にメモリ・インターフェイス(またはある場合バッファへ)なされた要求を介して、所定のセット持続期間の間にデータを受信または出力するように、モジュールPROCが設計されている。
【0010】
図2は、複数のエージェントから発行される異なった要求の間を調整するアービタを含む典型的なシステムを図示する。再びこの例においても、これらのエージェントは、一つの共通メモリMEMを共有する処理モジュールPROC’であり、単一チップIC2上の単一エージェントのみが図2に図示されている。この場合インターフェイスINTが、アービタARBを組み込んでいて、これが与えられた時刻に有効な複数のアクセス要求のどちらが受入れられるを決定する調整方式を与える。この調整方式は、ラウンド・ロビン方式、または異なったモジュールへ割当てられる優先順位(恐らくは可変優先順位)に基いた、または他の公知の調整方式であり得る。受入れられたアクセス要求は、メモリ・インターフェイスMIFへ渡され、これがメモリMEMへの物理アクセスを処理してMEMとPROC’の間でデータの経路選択を処理する。
【0011】
このシステムでは、所与のモジュールによる要求の作成とこの要求に応えるアービタによるアクセス許可の間に、どれだけの時間が介在するかがあらかじめ知られている。従って各モジュールについて、このモジュールとインターフェイスの間にバッファBUF’が備えられている。この中間バッファは、異なるモジュールに専用の独立部を有する単一のメモリ(SRAM)を使用して実施される。
【0012】
図2の調整メモリ・アクセス方式において、このモジュールは、可変の時間と可変の持続期間でアクセス要求を発行し、また可変持続期間の不規則なインターバルでデータを受信および/または出力する。
【0013】
ある状況においては、異なるリソースアクセス方式のために設計された単一のシステム・モジュールを採用することが望ましい。例えばMPEGコーデックの状況においては、エンコーダ・チップとデコーダ・チップ(これらは集積回路)が別々に設計され、デコーダの異なる処理によりなされるアクセス要求の間を選択するアービタをデコーダ・チップが使用する一方で、エンコーダは、その構成要素の処理がメイン・メモリへ必要なアクセスを確実に得るために、タイム・スロット・アクセス管理方式を使用する。エンコーダ・チップとデコーダ・チップのために別々のメモリを使用できるが、これは明らかにコーデックのコストと複雑性を増加させる。両方のチップに共通の一つのメモリを使用することが好ましく、従ってこの共通メモリへのアクセスを管理する単一の方式を使用する必要がある。
【0014】
コストを削減するためには、異なる集積回路のアーキテクチャをできるだけ変更しないでおくことが望ましい。アプリオリ(a priori)にこれはタイム・スロット・メモリ・アクセス方式の使用に対して不利であるが、その理由は要求調整方式のために設計されたモジュールによりなされるアクセス要求のタイミングと持続に関してデータがすぐに利用可能になっていないからである。
【0015】
要求調整メモリ・アクセス方式は、メモリ・アクセスを要求する異なるモジュールの間でそれが効率的な帯域幅分割を供給するという利点を有する。しかしながら、タイム・スロット方式のために設計されたモジュールPROCへ要求調整方式を使用することには問題があり、その理由はモジュールPROCがそのためにプログラムされている周期的な間隔において、PROCのためのデータが使用可能であることを保証するのが困難だからである。
【0016】
より詳しくは、モジュールPROCが共通メモリとデータの読み書きを「期待する」インターバルの間、それは高い帯域幅のアクセスを必要とする。ある場合には、メモリがそのような高い帯域幅のアクセスのために単に設計され得ない(バスの属性が不適当である)。しかしながら、高い帯域幅アクセスが可能な場合でも、モジュールPROCからの要求が発行される時刻にすでに他のモジュールがこのメモリへアクセスしていて、このアクセスを割り込みできないかもしれない。この問題への一つの解決は、仲裁方式の設計をPROCからの要求に高い優先順位を与えるように変更することである。しかしながら、この解決法は、読取アクセスの間にモジュールPROCへデータがアンダーフローする危険を除去するのに充分でない。
【0017】
発明の概要
本発明の一つの目的は、共通の(共用)リソースへアクセスする異なったエージェントの要求の間を調整するアービタを採用するシステムに使用される、タイム・スロットリソースアクセス方式のため設計されたエージェントを可能にすることである。
【0018】
本発明のもう一つの目的は、共通リソースへアクセスするために異なったエージェントの要求の間を調整するアービタと、タイム・スロットリソースアクセス方式のために設計された少なくとも一つのエージェントを採用するシステムにおいて、コストを減少できるようにすることである。
【0019】
本発明は次の諸側面を考慮に入れる。先行要求発生器が、タイム・スロットリソースアクセス方式のために設計されたエージェントに結合されている。共通リソースからデータを受信するようにエージェントがプログラムされている期間に先立って、先行要求発生器がアクセス要求を発生して、共通リソースへのアクセスを管理するインターフェイスへこれらを発送する。この先行要求は、インターフェイスにより実施される調整方式に従って、エージェントがデータを要求する時期が到来する以前に、共通リソースへのアクセスを立ち上がらせる。先行要求の結果として、受信されるデータを一時的に記憶するために、インターフェイスとエージェントの間にバッファが配置される。データを取り込むようにエージェントがプログラムされている時期の間に、エージェントはバッファからデータを取りこむ。事前プログラムされた時点にエージェントによりなされる書込アクセス要求が、(オプションとしてバッファを介して)アービタへ単に転送される。
【0020】
タイム・スロット・リソース・アクセス方式にされたエージェントが、先行要求発生器とバッファが存在するおかげにより、要求・調整に基くシステム内に組込まれる。このエージェントは複数のエージェントの一つであり、それらのエージェントは全て、一つの集積回路上に供給されたタイム・スロット・アクセス方式に適合するこの場合に、ICアーキテクチャの変更への要求が最小限になる。このインターフェイスがオン・チップで供給されれば、必要なのはエージェントに関連する既存のインターフェイスの修正だけである。
【0021】
先行要求発生器は、好ましくはタイム・スロットリソースアクセス方式を構成および/または制御するために設計されたコントローラにより供給される、制御データおよび同期信号に基いて諸要求を発生するように配置される。制御データは少なくとも、タイム・スロットと共通リソース得のアクセスを要求するエージェントの間の関係を指示するデータを含む。単一の集積回路(IC)は、このタイプのコア・コントローラを備えた1セットのモジュールから成るコアを含むことがある。
【0022】
ある場合には、タイム・スロット・アクセス方式のために設計されたエージェントのアクセス要件のいくつかは予測できない。言い換えれば、アクセス要求のためにエージェントがプログラムされるタイム・スロットの直前にのみ、必要なアクセスの性質が(典型的には、読み取るべきアドレスに関して)知られるようになる。そのような場合に、予測可能なアクセス要求の実質上全てについて先行要求を発生するように先行要求発生器をプログラムし、予測不可能なアクセス要求を優先化するように調整方式を修正することが望ましい。
【0023】
本発明は、共通メモリへのアクセスが必要な処理モジュールを有するシステムへ応用される場合に特に重要である。この場合、タイム・スロット・メモリ・アクセス方式へされたモジュールに関連するコントローラが、各モジュールの読み書き動作に関するアドレス・データを供給するようにされることが多い。先行要求を発生するために、先行要求発生器は、コントローラから受信したアドレス・データを使用できる。他の場合には、処理モジュール自体がアドレス・データを発生できる。そのような場合には、アドレス・データが充分に早く発生されれば、先行要求発生器が他の処理モジュールから必要なアドレス・データを集める(予測可能な要求)。一般に、コア・コントローラまたは処理モジュールは、外部メモリの物理アドレスよりもむしろ論理アドレスに関するデータを発生する。それから論理アドレスと物理アドレスの間を変換する関連ユニットがコア・コントローラ/モジュールに結合される。
【0024】
本発明によるシステムと方法においては、全てのエージェントのアクセス要求が適確に満たされるために、異なるエージェントのアクセス要求が異なる優先順位を有する調整方式を採用することが好ましい。これを達成するために、好ましくは複数のレベルを含む階層的調整方式を使用し、時間制限された周期的なアクセス要求が階層内の上位レベルまで割当てられている。そのような階層的方式は、状態機械のカスケード・セットを使用して実施でき、階層内の下の状態機械からの出力が階層内の最高レベルに次ぐ状態マシーンへの入力として働く。階層内の各レベルでアクセス要求が競合して勝利した要求が、状態機械からの出力として働く。階層内の最高の状態機械からの出力は、調整で受入れられたエージェントのアクセス要求に対応する。こうしてこのアクセス要求が処理される(または処理待ちの受入れ要求の待ち行列内に配置される)。この調整方式はWO98/12645に記述された階層的調整方式上でモデル化できる。
【0025】
状態機械を使用する階層的方式をアービタが実施する本発明の実施例では、好ましくは状態機械の状態の過半数について固定優先順位が異なるアクセス要求へ割当てられる。しかしながら階層内の高いレベルに対応する状態機械が、そのレベルで競合する諸要求の間で事前に割当てられる優先順位が何も無い空き状態を確実に有するのが有利である。
【0026】
発明の好適な実施の形態の説明
最初に参照記号の使用について少し論評する。複数の図面を通じて類似の構成要素が同一の参照記号で記される。単一の図面内に異なる類似の構成要素が示される。その場合類似の構成要素を互いに他から識別するために参照記号へ番号が追加される。類似の構成要素の番号が連続変数である場合は、番号が括弧に入れられる。発明の説明と特許請求の範囲において適当ならば参照記号内の数字が省略される。
【0027】
タイム・スロット・メモリ・アクセス方式を採用するように設計されたエンコーダ、およびメモリ・アクセス要求の間を調整するアービタを採用するように設計されたデコーダからなる、MPEGコーデックの状況において、下記に本発明を説明する。しかしながら他の広く多様な状況において、本発明が適用できることを理解すべきである。一般的な形式の集積回路に対応するエンコーダを図1に図示し、また一般的な形式の集積回路に対応するデコーダを図2に示す。これらのエンコーダICとデコーダICは、もともと共通システム内でそれらを利用する目的なしに設計されたものと仮定している。共通システムへこれらのICを集積するには、構成要素のICの構成にいくらか変更が必要であるが、本発明はこれらICアーキテクチャへの変更を最小化できる。
【0028】
コーデックの構造と動作を説明する前に、個別のエンコーダICとデコーダICが元来設計・構成された特性に関して、いくらか注釈するのが有用である。
【0029】
この例では元来設計されたままのデコーダICが、メモリ・インターフェイスを介して外部のSDRAMへアクセスの要求をするようにされた一定数の処理を含むが、これらの要求のタイミングと持続はアプリオリに知られていない。これらの処理は、DISPLAY、OSD(オン・スクリーン・ディスプレイ)PIP(ピクチャー・イン・ピクチャー)INTERP、MC(動き補償)、VFW(ビデオFIFOライト)、VFR(ビデオFIFOリード)、AFW(オーディオFIFOライト)、IFR(オーディオFIFOリード)、AWRBW(オーディオ・ライト・バック・ライト)およびAWRBR(オーディオ・ライト・バック・リード)を含む。
【0030】
処理DISPLAYは、デコードされた画像の表示に関する。処理OSDは、表示されたデコード済み画像上に重ね合わせたグラフィック・データの表示に関する。処理PIPは、背景またはデコードされ処理された画像で示す静止画像の表示に関する。処理INTERPは、MPEGデコーディングの最後の部分に関し、画像の表示または参考画像としての使用または両方のために、SDRAMの中へロードされるデコード済み画像の供給に関する。処理MCは、動き補償に関し、MPEGビデオ・デコーディングの中の一ステップである。処理VFW、VFR、AFW、AFRは、デスクランブリング/デマルチプレクシング回路によりMPEGデータのストリームから抽出された、エンコード済みのオーディオ・データおよびビデオ・データの読取と書込に関する。処理AWRBWとAWRBRは、オーディオ・プロセッサからの中間結果の読取と書込に関する。これらの処理は、本出願人の先行のヨーロッパ特許出願第00203007号に議論されている。これらの処理の詳細は、モーション・ピクチャー・エキスパート・グループにより定義された異なる比較の中に与えられているが、全てこれらの詳細についての知識は、本発明の理解のために重要でないので、本書には更に説明はしない。
【0031】
デコーダICのメモリ・インターフェイスは、デコーダ処理要求をMMI対応の形式で、MMIへ送信するための要求ラッパー(wrapper)を含む。メモリ・インターフェイスはまた中間バッファBUFとして働くSRAMを含み、BFUは、問題の要求が調整で受入れられる時間まで、主メモリとMMIを介するデコーダ処理の間の途中で、要求にかかわるデータを記憶する。SRAMは幾つかのバッファ(FIFO)に分割され、これらのバッファはそれぞれの処理の各々について外部SDRAMからデータを受信する。中間バッファ内の適当なFIFOへデータを正確に経路選択させるために、デコーダDMAインターフェイス内にも各要求を対応するデータへ結合する装置(図示なし)が備えられる。この装置は、SRAM内の各処理のFIFOについて、ポインタとデータ・ストリームを管理する。
【0032】
エンコーダICは、タイム・スロット法ではたらくように構成可能なメモリ・アクセス・インターフェイスを含むように設計される。CPUはICのコントローラとして働き、エンコーダ内の種々な処理の間のメモリ帯域幅の分布を含むテーブルを、メモリ・インターフェイスへダウンロードする。この処理には、下記のものが含まれる:マクロブロック・プロセッサ(MBPカレント)により処理されるカレント・マクロブロック、オーディオ・エレメンタリ・ストリーム・イン(AESin)、ビデオ・エレメンタリ・ストリーム・イン(VESin)、オーディオ・エレメンタリ・ストリーム・アウト(AESout)、ビデオ・エレメンタリ・ストリーム・アウト(VESout)、マルチプレクサ・コマンド・イン(Muxcom_in)、マルチプレクサ・コマンド・アウト(Muxcom_out)、マクロブロック・プロセッサ・キャンディット(MBPcand、詳しくは、MBPcand1ないしMBPcand5)、マクロブロック・プロセッサ・ウイナー・カラー(MBPwincolor)、マクロブロック・プロセッサ・ライト・バック(MBP WR BK)、およびビデオ・フロント・エンド(VEFE)である。再びここでもこれら全ての詳細の知識は本発明の理解のために重要でないので、本書では更に説明しない。
【0033】
ダウンロード・テーブルは、エンコーダ内の異なる処理による異なる要求の開始時間に対応する。そのようなテーブルの一例を下記の図1に示す。理解すべきは、表1にリストされた異なる処理が必ずしも同一のマクロ・ブロックを含まないことである。(言い換えればMBPcandデータは、ここで記述されるMBk+1、現在処理中のマクロブロックに関するが、MBP_Wincolorデータは、4つのマクロブロックだけ以前のマクロブロック(すなわちMBk−3)に関する。そのうえ一般に処理VES_in、VES_out、AES_in、AES_out、Mux_Com_in、MUX_Com_OutおよびVEFは、マクロブロックに関してデータを処理せず、ピクセルの行のような他の単位に関してデータを処理する。
【表1】
Figure 0004090883
【0034】
表1の開始時間が図3a)に、それぞれの要求が開始するサイクル番号を参照して図示されている。図3a)において、異なる高さの棒(bar)は異なる処理から発生する要求の間の差を示すために使用される。また、同一タイプの入力および出力と出力情報との間の相違を示すために、図3a)に実線と点線の棒が使用されている。
【0035】
主要なエンコーダ処理およびデコーダ処理は、下記の表2にリストされているが、個別のエンコーダICとデコーダICがスタンド・アローンとして動作するとき(すなわちそれらがコーデック内に結合されていないとき)使用される帯域幅も同時に示されている。
【表2】
Figure 0004090883
【0036】
エンコーダICとデコーダICが一つの共通システムへ一体化されると、そこではメモリ・アクセスが要求調整により処理され、高い優先順位のエンコーダの要求を遅延することはできず、所与の処理のためのデータは所与の時刻に保証される。しかしながらそれでもデコーダ処理のために必要な帯域幅を保証する必要がある。
【0037】
図4は、本発明の好ましい実施例によるコーデックの主要な構成要素を図示し、上述のエンコーダICとデコーダICを一体化している。エンコーダ・チップおよびデコーダ・チップに加えて、コーデックには、SDRAMタイプのメモリ、システム全体を制御するシステムCPU、バス制御ユニット(BCU)、関連の周辺機器インターフェイス・バス(PI_bus)が含まれ、またエンコーダ処理とデコーダ処理のための諸要求とシステムCPUによる諸要求の間を調整するアービタP_ARBを含む主メモリインターフェイス(MMI)が含まれる。システムCPU、BCU、および関連のバスは、「システム領域」として知られるものを構成する。エンコーダ・チップとデコーダ・チップおよびMMIインターフェイスは、「信号領域」として知られるものを構成する。
【0038】
システムCPUは、エンコーダとデコーダを駆動して、アプリケーションを実行するために使用される。システムCPUは、SDRAMへの周期的なアクセスを遂行するが、SDRAMの周波数は、使用されるSDRAMのタイプによって異なるシステム・クロック周波数に基づいている。システム領域CPUからのメモリ・アクセス要求には、小さな待ち時間がある(つまり、要求の作成と要求の充足の間にほんの短い遅延が許容される)。こうして、システムCPUの要求は、最高の優先順位を持つべきであり、一層詳しくは、それは全ての信号領域の要求に取って代わるべきである。本発明の好ましい実施例において、信号領域処理アービタP_ARBは、システム領域CPUからのアクセス要求のために、信号領域の処理のためになされるSDRAMへのアクセスに割り込むようにされている。システムCPU要求が確認済みになると、割り込みの時点から信号領域処理要求を継続することができる。
【0039】
エンコーダ・チップおよびデコーダ・チップのダイレクト・メモリ・アクセス(DMA)が、信号領域アービタP_ARBへ接続される。DMAインターフェイスと信号領域インターフェイス(MMI)の間のデータ交換は、16メモリ・ワードのバーストを使用する(この例では、各メモリが32ビットを有する)。これに対して、異なるエンコーダ読み書き処理とエンコーダDMAインターフェイスの間のデータ交換は、要求ごとに8メモリ・ワードのバーストを伴う。
【0040】
アクセス要求は、例えばエンコーダまたはデコーダのDMAインターフェイスと信号領域アービタP_ARBの間、およびエンコーダまたはデコーダのインターフェイスと要求をするエンコーダ/デコーダ処理の間の要求信号と確認信号の交換を含む。一層詳しくは、エンコーダDMAインターフェイスの先行要求発生器が、先行読取要求(ant_read_req)をP_ARBへ送り、先行読取確認(ant_read_ack)を逆に受け取る。エンコーダDMAインターフェイス内の書込要求バッファが書込要求(wr_req)をP_ARBへ送信して、そこから書込確認(wr_ack)を逆に受け取る。デコーダDMAインターフェイスは、読取と書込の両方のタイプの要求(req)をP_ARBへ送り、認可(ack)を逆に受け取る。任意の便利な要求/確認プロトコルを使用できるし、信号領域内の種々な装置のペアの間で異なるプロトコルを使用できる。
【0041】
信号領域アービタP_ERBは、調整アルゴリズムに関して非常にフレキシブルであるが、その理由は異なる優先順位を有するように構成できる複数の状態機械を含むからである。上述のように最高の優先順位は、システム領域のCPUからの要求へ割当てられる。各状態機械は、固定の優先順位選択方式を実施するように構成されている。この方式はそれぞれの状態機械が特定の順序で状態を通過し、各状態内で最高の優先順位の要求を有する処理は、各処理へ充分な帯域幅が確実に割当てられるようにセットされる。
【0042】
図4を調べると、デコーダICのアーキテクチャが、コーデックへの一体化の結果として変更されていないのが分る。しかしながら、デコーダ処理により発生される要求は、図2のようにオンチップ・インターフェイス内のアービタによるのではなく、今やMMI内に位置するアービタ(P_ARB)により処理される。
【0043】
エンコーダICについて、コア・アーキテクチャ(コントローラCPUおよびプロセッサ)は実質上変更なしであるが、要求調整に基くメモリ・アクセス方式を使用するシステムへこのICを組込めるように、DMAインターフェイスのアーキテクチャの変更が要求される。より詳しくは、エンコーダ・モジュールにより関連データが要求されるときに先立って、処理アービタP_ARBへ読取要求を発生し、発送できるようにされた先行要求発生器ARGが、エンコーダDMAに備えられ、これにより要求されたデータをSDRAMから読み出して、内部バッファBUFへ記憶し、またエンコーダDMAインターフェイスに供給できるようにする。
【0044】
先行要求発生器が先行要求を発生できるために、異なるデコーダ処理が読取要求を発生する時間に関する情報と、データが読み取られるSDRAM内のアドレスに関する情報を利用可能になっていなければならない。マクロブロック処理動作を開始する以前に、エンコーダ・コア・コントローラが上述の構成表(表1の中に与えられた例)をARGへダウンロードし、これによりARGが、異なるエンコーダ・コア処理による読取要求のタイミングに関して通知される。この構成表はプログラム可能であって、処理ごとの要求の数についてのデータ、要求ごとにSDRAMから読み取られるデータのバーストの数、および各要求についての開始サイクル番号を含むが、表1に示す通りである。
【0045】
しかしながら異なる読取要求に関連するアドレス・データが、利用可能になる時間はさまざまである。あるエンコーダ読取要求についてのアドレス・データは、非常に遅く利用可能になるので、これらの要求が実質的に予言不可能になる。しかしながら、異なるマクロブロック・プロセッサ動作により発生する読取要求は、予言可能である。
【0046】
図3b)は、例えば表1に与えられた例のマクロブロック処理に関する異なるタイプのエンコーダ読取要求を予言できる時間を図示する。マクロブロックMBP4および同5のMBP候補に関する読取要求(フェッチ)に必要なアドレス・データは、先行するマクロブロックMBP -1が完了済みになった時にのみ利用可能であり、これはMBP_cand4とMBP_cand5のフェッチ要求がなされる時刻に先立つ3平均距離(3_MAD)時間だけ先行して起こることが理解される(1MADタイムは、エンコーダ・システムクロックの18サイクルに等しい)。MBP候補1、2、3の取り込みに関連するインターバルは、それぞれ3、4、5_MADタイムであり、MBP_wincol、AES/VES_outおよびVFE_outに関連するインターバルは、それぞれ5、9、9および9MAD時間である。ところで全てのエンコーダ処理読取要求が予測可能であるわけではない。
【0047】
本発明のこの実施例において、コア・コントローラは、Framerdy、MBPstartおよびMemstartを含む多数の同期信号を発生する。Framerdy信号は同期パルスであり、エンコーダ内のARGとモジュールの両方へ伝送されて、一つの画像信号のフレームの処理の開始を信号で知らせる。MBPstart信号は同期信号であり、エンコーダIC内のARGとマクロブロック処理モジュールの両方へ送信されて、フレーム内のマクロブロックの処理の開始を信号で知らせる。Memstart信号は同期パルスであって、MBPstartパルスに3_MAD時間先行して起こり、ARGへ送信されて、これによりARGが先行要求を発生する。ARGは、関連する処理により対応する読取要求がなされるのと同一の相対タイミングで先行要求を生成するが、しかしそれらの処理が要求する時刻よりも3_MAD時間だけ先行する。信号領域アービタP_ARBにより実施される調整方式は、関連の処理により要求される以前にデータが読まれて内部バッファ内に配置されることを確実に保証するのにこの先行が充分なようにされている。
【0048】
この実施例で、エンコーダICコア・コントローラからダウンロードされた構成テーブルに基く先行アクセス要求をARGが発生するが、それはコア・コントローラが、タイム・スロット・アクセスを使用する環境のために発生するものと同一である。しかしながら本発明は、この場合に限定されない。この参照ルック・アップ・テーブルはARGへ送信されて、先行アクセス要求を発生するための基礎として使用されるが、種々なものであり得る。例えばある先行アクセス要求と、同一処理のための対応する要求の発行との間のインターバルは、異なる処理について種々なものであり得るが、これらさまざまなアクセスのためにアドレス・データが利用可能になる期間についての相違を考慮に入れる。そのうえ、アドレス・データは遥かに先行して利用可能になるので、ルック・アップ・テーブルのゼロ・サイクルにおいてさえも、ARGは先行アクセス要求を発行できる。
【0049】
エンコーダ・コア・コントローラは、またARGおよびエンコーダ・モジュールに、種々な要求のための論理アドレス・データを供給する。この論理アドレス・データは、イメージ内のマクロ・ブロック(またはブロック)の位置を指示する。この論理アドレス・データは、ARG内部の変換回路により物理アドレスへ変換され、この変換回路は、同様にARG内部にあるレジスタに記憶されたパラメータに基く物理アドレス・データを発生するための計算を遂行する。ARGにより発生される物理アドレス・データは、開始アドレス、アクセス・タイプ、読み取るべきメモリ内のデータのバーストの数を指示する(読み取るべきアドレスが、SDRAM内で連続的でなければx座標およびy座標により表現され、ピクセルの行に関してSDRAMが組織されているときにマクロ・ブロックを処理する場合がその例である)。ARGは、論理アドレスと処理タイプから必要な物理アドレスを発生できる。処理タイプは、コア・コントローラから受信される論理アドレス信号のタイミングのおかげにより、内在的に知られる。構成テーブル(例えば表1)に含まれる情報は、読取るべきバーストの数に関して、データを演繹するために使用される。
【0050】
上記の説明は、エンコーダとデコーダの両方のDMAインターフェイスがSDRAM内の二つのバーストにアクセスするために、単一の要求と単一の関連アドレスを発生するものと仮定している(これら二つのバーストは、一般にデータの連続的なバーストに対応する)。しかしながら、実際には、異なるエンコーダおよびデコーダの処理に対して、SDRAM内のデータを関連させるのに使用するメモリのマッピングによっては、これが不可能な場合がある。例えばデコーダ・データに関するメモリ・マッピングでは、単一の要求を通じてアクセスされる一対のバーストがSDRAMの同一行であるが、二つの異なったバンク内にある場合である。そのような場合要求ごとに一つのアドレスで、これら二つのバーストをSDRAM内に読み書きさせるのに充分である。しかしながらこのエンコーダ・データに関するメモリ・マッピングは、異なったバンク内に記憶された二つの連続バーストについて同一行のアドレスの使用を許容しないであろう。
【0051】
上記の問題は、下記の複数の方法で解決される。
・ SDRAM内のエンコーダ・データのメモリ・マッピングは変更できる(しかしながらエンコーダ処理のためにメモリ・マッピングが最適化済みである場合は、これは望ましくない)。
・ SDRAMへ送られるアドレス内にオフセットを含ませることができる。その場合第1アドレスは第1バンク内に配置されたデータの位置を決定し、一方第2バンク内に配置されたデータのアドレスを指示するために、第1アドレスへオフセットが追加される。
・ 二つの関連アドレスを有する単一の要求により一対の要求を表現するために、二つの連続するエンコーダ要求とそのそれぞれのアドレスの間に結合を作ることができる。そのような解決法は、処理アービタ内の主状態機械により実施される調整方式の適応を必要とし、エンコーダ処理に割当てられた各状態を、バースト要求ごとに一つずつ、二つの連続した状態へ置換えなければならない。
【0052】
エンコーダ書込処理のために、所定のタイム・スロットで処理により発生された各書込要求が、エンコーダDMAインターフェイス内の書込要求バッファへ供給され、関連データがエンコーダDMAインターフェイス内のデータ・バッファBUFへロードされる。この書込要求から生まれる処理により、更なる動作は何も要求されない。それからエンコーダDMAインターフェイスは、P_ARBへ書込要求を発送する。書込処理がP_ARBにより実施される調整を勝ち得ると、確認信号(wr−ack)がエンコーダDMAインターフェイスへ送られ、データ・バッファ内にあるデータが、MMIインターフェイスを介してSDRAMメモリへ転送される。
【0053】
上述のようにERGにより発生された先行要求は、データをSDRAM内に読み込ませ、エンコーダDMAインターフェイス内の中間バッファへロードさせる。典型的に中間バッファは複数のFIFOとして組織されたSRAMであり、プロセスごとにその一つは読取FIFOであり、もう一つは書込FIFOである。ARGが処理アービタへ先行要求を送る(または書込要求バッファが書込要求を送る)とき、関連処理および関連アクセス・タイプに対応するFIFOへ信号が送られて、データ受信の準備完了の信号を得る。表1に示したタイミングにより、エンコーダ処理が読取要求を中間バッファへ送る時刻が来ると、エンコーダがタイム・スロット・システム内に実施済みであれば、使用されてきたメモリ・インターフェイスへ適当なアドレスを使用して、送る。このアドレスは、エンコーダDMAインターフェイス内で使用される中間バッファのために、適当なものではない。したがって、このバッファは、古いエンコーダICインターフェイスのアドレスと、問題の処理について中間バッファ内で使用される現在のアドレスとの間を、変換するアドレス・デコーダを含む。必要とされるアドレス変換は、要求タイミングから関連の処理が知られていれば簡単である。それから適当なFIFOを空にできる。
【0054】
エンコーダBMAインターフェイス内の中間読み書きデータ・バッファのFIFOは、データのオーバーフローが決して起こらないように、大きさを決められている。先行要求が発生される時刻、および調整方式の設計によりデータのオーバーフローが何も起こらないようにすることができる。
【0055】
さて図5と図6を参照して、P_ARBによる調整プログラムを説明する。図5に見えるように、処理アービタは階層に配置された複数の状態機械を含む。各状態機械について一連の状態が定義され、各状態について単一の要求が最高の優先順位を有するものと定義される。主状態機械の一定の状態は「空き状態」と定義されるが、その理由はこの状態機械が「空き状態」にあるとき、最高の優先順位と定義されるタイプの要求が何もないからである。そのような場合状態機械から出力に勝利した要求が何も示されない。異なる要求がそれぞれの状態機械内で競合して、階層内でより低い状態内の勝利した要求がそのとき階層内で、最高の次の状態機械における諸要求と競合する。
【0056】
一層詳しくは、処理アービタは、第1優先順位状態機械(図5で「主状態機械と指示」される)と、主状態機械からの勝利した要求と異なる他の要求の間で固定した優先順位選択を実施する装置を含む。図5から理解されるように、処理アービタ内の調整に勝利する要求は受入れられることを保証されていない。それは次に、SDRAMインターフェイス内に実施される調整方式内で、システムCPUから来る要求と競合しなければならない。SDRAMインターフェイス内に実施される調整方式は、システムCPUの要求へ最高の優先順位を割当てる。
【0057】
初期シミュレーションにより、信号領域処理アービタP_ARBを含む状態機械に関して開発されるべき一定の規則を使用可能になる。特に、第1優先順位状態機械から(例えばVES_out、AES_outのような)全ての非周期的で時間に制約されない処理を除去するのが有利であると決定される。これは、周期的処理の帯域幅のより良い共有と、第1優先順位状態機械内の空き状態の数の増加を導く。それからこの空き状態は、より低い優先順位が状態機械内で競合する勝利した要求により使用されるために利用可能である。時間に制約された一つの処理(MBP_Wincolor)を、第1優先順位状態機械から除去することも決定される。第1優先順位状態機械内でMBP_Wincolorが競合される時に、この要求タイプによるタイム・シェアリングが、充分に効率的でなかったことがシミュレーションにより示された。この要求タイプが第2優先順位状態機械への入力として使用され、第1優先順位状態機械内で空き領域が使用された時によりよい結果が得られた。
【0058】
こうして主状態機械は、最高優先順位および周期的エンコーダとデコーダの処理、および時間効率性を制御しなければならない大多数の処理を取扱う。この実施例において主状態機械により取扱われる要求タイプは、マクロブロック処理(すなわちMBP_current、MBP_Cand1−5、MBP_WR_BK)、エンコーダ・ビデオ・フロント・エンド処理、およびデコーダ内の下記の周期的処理を含む:DISPLAY、OSD、PIP、VFW、VFR、AFW0、AFW1、AFRおよびAWRBW。
【0059】
図6a)は、図5の主状態機械により、繰返し探査された54個の状態のシーケンスを示す。状態のフルセットを通過するために主状態機械に必要な時間は、メモリ周波数(この例では133MHz)によれば、約3MAD時間である。108MHzにおいては、主状態機械の約3ラウンド(サイクル)で、一つのマクロブロックを処理することを達成しなければならず、ピクセルの画像の一行を処理するために約9サイクルが必要である。図6a)に星をつけた状態は、1セットの要求の状態が、図6b)に図示した関連の状態機械により定義されるシーケンスによる最高優先順位を周期的に有する状態に対応する。言い換えれば、3つの連結された状態機械を使用する図5の主状態機械が実施されている。
【0060】
図5の主状態機械により実施される状態のシーケンスを設計するときは、下記の考慮点に留意する。
・ 状態機械は周期的(デコーダ)処理のためにサイクル的でなければならない。
・ エンコーダ・データは時間内の特定の時刻にエンコーダ処理をできなければならない。
・ 異なるエンコーダとデコーダの処理により要求される帯域幅が保証されなければならない。
【0061】
より詳しくは、所与の処理にいくつの状態を割当てるかを決定するときに、(下記の表3を参照して)下記の計算が遂行される。
1. 主処理について、全ての処理に要求される合計に対するこの処理により要求される帯域幅の比率が計算され(表3のコラム4を参照)、タイム・スロットの81%がエンコーダ処理に割当てられるが、タイム・スロットの18%のみがデコーダ処理に割当てられることが示される。
2. MBP候補のエンコーダ取り出しはタイム・スロットの約半分を取るので、状態の半分(ここでは27)が候補の取り出しに割当てられる。
3. 他の処理に割当てられるべき状態の理論的な数は、変換比率53.39%←→27状態により、帯域幅比率から与えられる(表3の第5コラムを参照)。
4. 各処理へ実際に割当てられる主状態機械の数は、エンコーダ処理により要求されるマクロブロックごとのタイム・スロットの数、およびデコーダ処理のための帯域幅が確実に達成されるために、丸め(rounding)により得られる。
【表3】
Figure 0004090883
【0062】
所与の状態で最高の優先順位を割当てる要求の選択は、種々なデコーダ処理の帯域幅要件の達成に影響する。例えば、DISPLAY処理またはデコーダ・ビデオ・フロントエンド処理については、主機械サイクルを通じて定期的に分配される状態において、これらの要求タイプが最高の優先順位を与えられる。これにより周期的アクセスと使用許可バッファ・サイズが減少する。異なるエンコーダ処理に必要とされるデータは、これらの処理に割当てられる主機械状態の数により保証される。例えば、主機械状態の半分がMBP候補取り出しヘ割当てられるので、いつでも要求を遂行でき、要求された候補データが主状態機械サイクルの終りに保証される。
【0063】
前記の初期シミュレーションはまた、より低い帯域幅を必要とする処理のために単一状態機械、すなわち単一の処理タイプからの要求が考慮される主状態機械を使用するのが好ましいことを示し、また所与の時刻にそれらが発生されれば、自動的に「勝利する」ことを示す。これらの単一状態機械の「勝利した」処理は時間の諸制約により1つの階層へ割当てられる。これは、第1優先状態機械の空き状態の一層効率的な使用を行なう。例えば図5に図示するように、MBP_Wincolor、VES_in、AES_in、VES_out、AES_out、MUXcom_out、およびエンコーダからのMUXcon_in要求、デコーダからのMC要求とINTERP要求を処理するために、そのような単一状態機械が使用される。ついでに言えば、MC処理とINTERP処理は、同一のパイプライン・ステージ上にないので、異なった優先順位を与えられる。その上、VES_out、AES_out、MUXcom_outは、VES_in、AES_in、MUXcom_inよりも低い優先順位を割当てられるが、それは、特定の時刻にエンコーダ内のマルチプレックス機能により要求される読取データに後者の3つの処理が対応するからである。
【0064】
本発明により採用された解決方法の有用性を評価するために、図4に図示するコーデック・アーキテクチャと、32ビット語のバーストでデータを転送する133MHzで動作するSDRAMを使用して、シミュレーションが遂行された。システムCPUがその50サイクル(133MHz)ごとにSDRAMを1回アクセスすることも前提とされた。各システムCPUアクセスは4メモリ・ワードのバーストを含む。これは、42.56Mbytes/sのCPU帯域幅を供給する。(ついでに言うと、これは、この例でサポートされるCPU帯域幅の限界を表す。40サイクルごとに一度のCPUアクセスを含むテストが示したのは、ビデオ・フロントエンド・バッファ内に収容されるべきデータの量が、100サイクルごとに632ビット語まで増加して、過度である考えられることである)。
【0065】
図4において、Xで輪に囲った諸信号を監視するために統計的モジュールが接続された。この統計的モジュールは、読み書き要求の発行と対応の確認信号を受信する時の間に介在する時間経過(待ち時間)を監視した。それはまた、(メモリ・ワードの関して)エンコーダDMAインターフェイス内に必要なデータ・バッファのサイズを推定する。この推定は下記を考慮に入れた。
・ 読取処理について:SDRAMインターフェイスからエンコーダDMAインターフェイスへの着信バースト、およびエンコーダDMAインターフェイスと関連エンコーダ読取処理の間の発信バースト。
・ 書込処理について:関連エンコーダ書込処理からエンコーダDMAインターフェイスへの着信バースト、およびエンコーダDMAインターフェイスからSDRAMインターフェイスへの出力バースト。
【0066】
各処理のために下記の2つのファイルが発生される。
1. 先行要求とその確認の間のマクロブロックごとに測定される待ち時間、およびマクロブロックごとに計算される最大サイズを含む第1ファイル。
2. 各マクロブロックのバッファの最大サイズ、各マクロブロック処理の終了におけるバッファを含む第2ファイル。
これら2つのファイルの内容をプロットすることにより、下記バッファのファイリングと空にする速度に関してグラフィックの指示を与えることができる。下記の表4は、エンコーダDMAバッファに要求される最大サイズ、および異なる処理によりなされるダブル・バースト要求の数に関するこのシミュレーションの結果を示す。
【表4】
Figure 0004090883
【0067】
デコーダ内のデータ・バッファの容量は小さい(1つまたは2つのバーストの幅)が、それはデコーダがタイム・スロットの振る舞いに基かないで、必要なときだけ要求するからである。
【0068】
このシミュレーションは、下記の図5に示す帯域幅をエンコーダ処理とデコーダ処理が要求することを示した。本発明の好ましい実施例による上述の調整アルゴリズムは、それぞれの処理にこの帯域幅を保証した。
【表5】
Figure 0004090883
【0069】
上記の説明は、ディジタル・ビデオ(カムコーダーで使用されるDV)、汎用ストリーム管理(VSM)周辺機器、第2CPUなどのような、デコーダにインプリメントされる幾つかの追加の処理のメモリ・アクセス要件を無視している。しかしながら、このシミュレーションの結果は、要求調整を含むシステムへタイム・スロット・メモリ・アクセスヘされたモジュールを組込むことを本発明が可能にすることを示す。(そのような追加のデコーダ処理が含まれる場合のように)、システム全体のグローバル帯域幅が重要である場合も、割り込み可能なバースト(それはエンコーダ処理の帯域幅要件の削減を可能にする)をエンコーダ・コアへ適合させることによって、やはりこれらの帯域幅の要件を本発明が保証できる。この適応は、異なるエンコーダ要求に関連する物理アドレス・パラメータ(ファースト・ワードのアドレス、取り込むべきワード数など)の変更を必要とする。
【0070】
本書に上記した図面とその説明は、本発明を限定するよりもむしろ説明する。前記の特許請求の範囲内に入る多くの改変があることは明らかである。特に、異なったメモリ・アクセス方式のために設計されたエンコーダICとデコーダICを含むコーデックに関して本発明を説明してきたが、共通リソースへアクセスするタイム・スロット方式と要求調整方式のために設計されたシステム集積モジュールに対して、一般に本発明を適用できる。
【0071】
特許請求の範囲に記されたいずれの言及も、特許請求の範囲を限定するものと解釈されてはならない。
【図面の簡単な説明】
本発明および本発明を有利に実施するために使用し得る追加的な特徴は、下記の図面を参照することによって、明らかに解明される。
【図1】 タイム・スロット・メモリ・アクセス方式により処理装置が共通メモリへのアクセスを共有する基本的な構成要素を図示するブロック図である。
【図2】 処理装置による共通メモリへのアクセスの要求が調整方式により管理されるシステムの基本的な構成要素を図示するブロック図である。
【図3】 タイム・スロット方式でメモリ・アクセスを処理するように設計された集積回路に統合されたMPEGエンコーダ内の種々な処理によりなされるメモリ・アクセス要求のタイミングを示す図であって、図3aは、それぞれの要求が開始するサイクル番号を示し、図3bは、各要求に関するアドレス・データが最初に使用可能になる時刻を示す。
【図4】 タイム・スロット方式でメモリ・アクセスを処理するように設計されたエンコーダICと、要求調整を介してメモリ・アクセスを処理するように設計されたデコーダを組込んだ、MPEGコーデックの主要構成要素を図示するブロック図である。
【図5】 図4のコーデックに含まれる処理アービタの一般的構造を図示するブロック図である。
【図6】 図5の処理アービタ内の主状態機械により探査される状態のシーケンスを図示する状態図であって、図6aは、主状態機械により周期的に探査される状態のシーケンスを示し、図6bは、図6aにおいて星印をつけた状態で示す処理群に関連する2つの状態機械により探査される状態のシーケンスを示す。
【符号の説明】
PROC プロセッサ
MEM メモリ
INT インターフェイス
CONT コントローラ
PROC’ 処理モジュール
MIF メモリインターフェイス
BUF’ バッファ
BCU バス制御ユニット
PI_bus 周辺機器インターフェイス・バス
MMI 主メモリインターフェイス
DMA ダイレクト・メモリ・アクセス
MMI 信号領域インターフェイス
P_ERB 信号領域アービタ
P_ARB アービタ
MBP マクロブロック

Claims (10)

  1. 複数のデータ処理エージェントを含み、且つ一度に1つのエージェントによりアクセス可能な共有リソースをアクセスするように構成したデータ処理装置であって、前記データ処理装置は:
    前記共有リソースヘのアクセスを管理するように構成したインターフェイスを含み、このインターフェイスは、前記共有リソースへのアクセスのために、複数のデータ処理エージェントにより発行される各要求の間で調整して、これによりどの要求が受け入れられるかを選択するように構成した要求調整手段を含み;
    前記データ処理エージェントの少なくとも一つが、タイムスロットアクセス方式に従って所定時間に前記共有リソースへのアクセスの要求を行うように構成されており;
    コントローラが前記データ処理エージェントの少なくとも一つと結合されており、前記コントローラは、前記データ処理エージェントの少なくとも一つが前記共有リソースへのアクセス要求を出力する所定時間を示す制御データを発生するように構成されており;
    各バッファが前記データ処理エージェントの少なくとも一つと結合されており;
    前記コントローラから制御データを受け取るように配置され、且つ前記所定時間よりも早い時間に、前記データ処理エージェントの少なくとも一つのための先行アクセス要求を発生して前記インターフェイスに供給するように構成された先行要求発生器が設けられ;
    前記インターフェイスは、前記データ処理エージェントの少なくとも一つのために前記先行要求発生器により発生された先行アクセス要求の結果として前記共有リソースから得られるデータが、前記データ処理エージェントと結合するバッファに書き込まれるように構成されており;
    前記データ処理エージェントの少なくとも一つが、これと結合された前記バッファへ前記所定時間にアクセスするように配置されていることを特徴とする、データ処理装置。
  2. 前記先行要求発生器が、前記コントローラによるアドレス・データ出力に基いて先行アクセス要求を発生するように構成されている、請求項1に記載のデータ処理装置。
  3. 異なるアクセス要求が異なる優先順位を有し、時間制約要求または周期的アクセス要求が高い優先順位に割当てられた調整方式を、前記要求調整手段が実施する、請求項1または請求項2に記載のデータ処理装置。
  4. 前記データ処理エージェントのいくつかにより要求される前記アクセスの性質が予測不可能であり、前記データ処理エージェントの幾つかを例外として、前記データ処理エージェントの全てについて先行アクセス要求を発生するように、前記先行要求発生器が構成され、且つ前記要求調整手段により実施される調整方式が、前記データ処理エージェントの幾つかからのアクセス要求に対する優先順位の高さに一致する、請求項3に記載のデータ処理装置。
  5. 異なるアクセス要求に固定優先順位が割当てられている複数の状態を有する一つ以上の状態機械を前記要求調整手段が含み、且つ少なくとも一つの前記状態機械が、アクセス要求が最も高い優先順位を有する予定のない空き状態を含む、請求項3または請求項4に記載のデータ処理装置。
  6. 前記共有リソースがメモリである、請求項1ないし請求項5のいずれかに記載のデータ処理装置。
  7. 集積回路として実施される、請求項1ないし請求項6のいずれかに記載のデータ処理装置。
  8. 請求項1ないし請求項7のいずれかに記載の前記データ処理装置および前記共有リソースを含むデータ処理システム。
  9. 前記共有リソースがメモリであり、且つ前記システムがMPEGコーダ・デコーダを構成する、請求項8に記載のデータ処理システム。
  10. 複数のデータ処理エージェントにより前記共有リソースへのアクセスを管理する方法であって、この共有リソースは一度に一つのデータ処理エージェントによりアクセス可能であり、前記共有リソースへのアクセスを管理するインターフェイスが供給され、前記インターフェイスは前記共有リソースへのアクセスのために複数のデータ処理エージェントにより発行される各要求の間で調整するように構成した要求調整手段を含み、これによりどの要求が受け入れられるかを選択し、且つ前記データ処理エージェントの少なくとも一つが、タイムスロットアクセス方式に従って所定時間に前記共有リソースへのアクセスの要求を行うように構成されており、前記方法は:
    前記データ処理エージェントの少なくとも一つに結合されたコントローラを設けるステップと、ここで前記コントローラは、データ処理エージェントの少なくとも一つの出力が前記共有リソースへのアクセスを要求する所定時間を示す制御データを発生するように構成されており;
    前記データ処理エージェントの少なくとも一つに結合される各バッファを設けるステップと;
    前記コントローラから制御データを受け取るように配置され、前記所定時間よりも早い時期に、前記データ処理エージェントの少なくとも一つのために先行アクセス要求を発生し、前記インターフェイスに供給するするように構成した先行要求発生器を設けるステップと;
    前記データ処理エージェントの少なくとも一つのために、前記先行要求発生器により発生された先行アクセス要求の結果として前記共有リソースから得られるデータを、前記一つのデータ処理エージェントに結合されたバッファに書き込ませるように前記インターフェイスを構成するステップと;
    前記所定時間に、前記データ処理エージェントの少なくとも一つがこれに結合したバッファへアクセスするように配置するステップと、を含んでなる方法。
JP2002555294A 2000-12-28 2001-12-12 異なるリソースアクセス方式を有するシステム統合エージェント Expired - Lifetime JP4090883B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP00403699 2000-12-28
PCT/IB2001/002537 WO2002054261A1 (en) 2000-12-28 2001-12-12 System integrating agents having different resource-accessing schemes

Publications (2)

Publication Number Publication Date
JP2004517413A JP2004517413A (ja) 2004-06-10
JP4090883B2 true JP4090883B2 (ja) 2008-05-28

Family

ID=8174010

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002555294A Expired - Lifetime JP4090883B2 (ja) 2000-12-28 2001-12-12 異なるリソースアクセス方式を有するシステム統合エージェント

Country Status (6)

Country Link
US (1) US6606691B2 (ja)
EP (1) EP1348163A1 (ja)
JP (1) JP4090883B2 (ja)
CN (1) CN1262934C (ja)
TW (1) TWI236588B (ja)
WO (1) WO2002054261A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7039772B1 (en) * 2002-02-22 2006-05-02 Teja Technologies, Inc. System, method, and computer program product for processing reflective state machines
JP3775318B2 (ja) * 2002-03-20 2006-05-17 セイコーエプソン株式会社 データ転送制御装置及び電子機器
JP3743509B2 (ja) * 2002-03-20 2006-02-08 セイコーエプソン株式会社 データ転送制御装置及び電子機器
US6920510B2 (en) * 2002-06-05 2005-07-19 Lsi Logic Corporation Time sharing a single port memory among a plurality of ports
US7143224B2 (en) * 2003-05-09 2006-11-28 Stmicroelectronics, Inc. Smart card for performing advance operations to enhance performance and related system, integrated circuit, and methods
US7093082B2 (en) * 2003-06-11 2006-08-15 Matsushita Electric Industrial Co., Ltd Microprogrammable SDRAM memory interface controller
CN1300703C (zh) * 2003-11-05 2007-02-14 松下电器产业株式会社 调节电路及其具有它的功能处理电路
JP4436367B2 (ja) * 2004-06-24 2010-03-24 パナソニック株式会社 低バンド幅で局所集中アクセスを保証する調停装置、調停方法、及び調停装置を含む動画処理装置
US20090037635A1 (en) * 2006-03-17 2009-02-05 Shanghai Magima Digital Information Co., Ltd. Bus arbitration device
US7930456B1 (en) * 2006-12-23 2011-04-19 Emc Corporation Data packet arbitration system
JP4924970B2 (ja) * 2007-07-27 2012-04-25 パナソニック株式会社 データ処理システム
US8695002B2 (en) * 2009-10-20 2014-04-08 Lantiq Deutschland Gmbh Multi-threaded processors and multi-processor systems comprising shared resources
CN104581172A (zh) * 2014-12-08 2015-04-29 北京中星微电子有限公司 一种实现svc宏块级算法的硬件结构
FR3057081B1 (fr) * 2016-10-05 2019-11-08 Airbus Operations Processeur comprenant une pluralite de coeurs de calcul
CN109189701B (zh) * 2018-08-20 2020-12-29 深圳忆联信息系统有限公司 一种针对嵌入式存储接口数据传输的方法及其系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES294176Y (es) 1985-05-17 1987-08-16 Regie Nationale Des Usines Renault Tuerca con zona elastica integrada
US5574868A (en) 1993-05-14 1996-11-12 Intel Corporation Bus grant prediction technique for a split transaction bus in a multiprocessor computer system
US5768644A (en) 1993-07-16 1998-06-16 Nikon Corporation Apparatus for preventing mirror bounce in camera
US5758105A (en) 1995-12-04 1998-05-26 International Business Machines Corporation Method and apparatus for bus arbitration between isochronous and non-isochronous devices
US6385678B2 (en) 1996-09-19 2002-05-07 Trimedia Technologies, Inc. Method and apparatus for bus arbitration with weighted bandwidth allocation
US5768544A (en) * 1996-09-26 1998-06-16 Intel Corporation Deterministic latency characterization and mitigation
US6314499B1 (en) * 1997-11-14 2001-11-06 Lucent Technologies Inc. Non-preemptive memory locking mechanism in a shared resource system

Also Published As

Publication number Publication date
TWI236588B (en) 2005-07-21
JP2004517413A (ja) 2004-06-10
CN1426560A (zh) 2003-06-25
EP1348163A1 (en) 2003-10-01
US6606691B2 (en) 2003-08-12
CN1262934C (zh) 2006-07-05
WO2002054261A1 (en) 2002-07-11
US20020152360A1 (en) 2002-10-17

Similar Documents

Publication Publication Date Title
JP4090883B2 (ja) 異なるリソースアクセス方式を有するシステム統合エージェント
JP4480427B2 (ja) リソース管理装置
US8095744B2 (en) Device for controlling access from a plurality of masters to shared memory composed of a plurality of banks each having a plurality of pages
JP4210303B2 (ja) デジタル・カメラにおけるメモリ・アクセス帯域幅割付けおよびレイテンシ制御
US20090300324A1 (en) Array type processor and data processing system
WO1999013405A1 (en) A fully-pipelined fixed-latency communications system with a real-time dynamic bandwidth allocation
JP2006195823A (ja) Dma装置
JP7436953B2 (ja) メモリ制御装置、メモリ制御方法及び画像形成装置
JP5707911B2 (ja) データ転送制御装置
KR100395383B1 (ko) 데이터 전송 장치
US6415367B1 (en) Apparatus for reducing asynchronous service latency in a time slot-based memory arbitration scheme
US6363461B1 (en) Apparatus for memory resource arbitration based on dedicated time slot allocation
US20040044809A1 (en) DMA controller and DMA transfer method
US6412049B1 (en) Method for minimizing CPU memory latency while transferring streaming data
JP2002027477A (ja) Mpeg画像処理装置およびそのデータ転送方法
WO1997029432A1 (en) Apparatus for programmably defining the access latency
JP4335327B2 (ja) 調停装置および方法
EP2783286A1 (en) Data processing system and method of controlling access to a shared memory unit
JP3206656B2 (ja) バス上でのプリフェッチ装置およびプリフェッチ方法
JP2004199564A (ja) マイクロプロセッサ
JP2004094970A (ja) データ転送装置
JP2007058424A (ja) メモリアクセス制御装置
JP2004062333A (ja) 画像処理装置
JP2000207355A (ja) デ―タ転送制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070507

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070511

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070806

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070828

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071214

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080110

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080201

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080227

R150 Certificate of patent or registration of utility model

Ref document number: 4090883

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110307

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110307

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110307

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110307

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120307

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120307

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130307

Year of fee payment: 5

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130307

Year of fee payment: 5

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130307

Year of fee payment: 5

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130307

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140307

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term