JP2002196975A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JP2002196975A
JP2002196975A JP2001321185A JP2001321185A JP2002196975A JP 2002196975 A JP2002196975 A JP 2002196975A JP 2001321185 A JP2001321185 A JP 2001321185A JP 2001321185 A JP2001321185 A JP 2001321185A JP 2002196975 A JP2002196975 A JP 2002196975A
Authority
JP
Japan
Prior art keywords
data
bus
bit
master device
memory
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.)
Pending
Application number
JP2001321185A
Other languages
English (en)
Inventor
康介 ▲よし▼岡
Kosuke Yoshioka
Tokuzo Kiyohara
督三 清原
Kozo Kimura
浩三 木村
Tetsuji Mochida
哲司 持田
Toshiyuki Ochiai
利之 落合
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2001321185A priority Critical patent/JP2002196975A/ja
Publication of JP2002196975A publication Critical patent/JP2002196975A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

(57)【要約】 【課題】 将来におけるメディア処理毎のバンド幅の割
り当て変更に対処できるよう、高い汎用性を有するデー
タ処理装置を提供する。 【解決手段】メモリデバイスに含まれる複数領域のそれ
ぞれについての使用状況が書込済み、未使用の何れであ
るかを示す使用状況情報を記憶しており、何れかのマス
タデバイスがメモリデバイスへのデータ書き込みを要求
しようとした場合、その使用状況情報が未使用に設定さ
れている領域のアドレスを当該マスタデバイスに通知す
るアドレスサーバを備える。マスタデバイスはアドレス
サーバに空領域のエントリアドレスを問い合わせれば、
その未使用領域のアドレスを特定することができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のデータ転送
要求を効率よく処理するデータ処理装置に関する。
【0002】
【従来の技術】近年、DVD再生装置やデジタル衛星放送
の受信装置といった様々なタイプのマルチメディア関連
製品が民生機器市場に登場しており、それらを開発する
メーカ間の競争もし烈になりつつある。このような背景
にあって、信号処理の応用分野に携わる設計者は、複数
のメディア処理の並列化を効率良く行う汎用信号処理プ
ロセッサの開発に様々な苦心を払っている。複数メディ
ア処理の並列化に苦心が払われるのは、上記のような製
品の開発において、ビデオ、オーディオのデータが多重
化されたMPEGストリームに加えて、コンピュ−タ・グラ
フィックス等のデータを如何に効率良く同時処理するか
が、これらの製品の市場的価値を大きく左右するからで
ある。ここでメディア処理には、ビデオ復号処理、オー
ディオ復号処理、ビデオ出力処理、コンピュ−タ・グラ
フィックス描画処理等を始めとする様々なものがある。
【0003】このようなメディア処理では、その他のデ
ータ処理と比較して、統計的に複数の独立したDMA転送
を同時に実行する機会が非常に多いという特徴と、また
それぞれのDMA転送の処理の種類によってバンド幅が異
なるという特徴とが顕著に現れるので、その効率化に様
々な注意が必要となる。ここでDMA(Direct Memory Acce
ss)とは中央処理装置(CPU)の介在無しに複数マスタデバ
イスとメモリとの間で転送を行なうことをいう。
【0004】上記のメディア処理の一例において各マス
タデバイスは、ビデオ復号処理、オーディオ復号処理、
ビデオ出力処理、コンピュ−タ・グラフィックス描画処
理等の何れかを実現するアプリケーションプログラム
と、このプログラムを動作させるハードウェアとからな
り、またメディア処理の一例において上記メモリは、こ
れらアプリケーションプログラムが利用するビデオデー
タ、オーディオデータ、コンピュ−タ・グラフィックス
データを格納するものである。
【0005】更にDMA転送のバンド幅とは、各マスタデ
バイス、メモリの読み書きポートのビット幅と、マスタ
デバイス、メモリの動作周波数との間の積により表現さ
れる単位である。大凡の値を例示すると、ビデオ復号処
理のアプリケーションプログラムは、動き補償時に参照
画像のDMA転送を行う必要があり、このDMA転送は800Mby
te/sというオーダのバンド幅を要求する。また、オーデ
ィオデータ、コンピュ−タ・グラフィックスデータ用の
アプリケーションプログラムは、50Mbyte/sというオー
ダのバンド幅を要求するものであり、ビデオ出力処理の
アプリケーションプログラムは、「128Mbyte/s×プレー
ン数」というオーダーのバンド幅を要求する。このよう
にバンド幅の必要数が個々のメディア処理において異な
るのは、処理すべきデータサイズやデータ復号負荷の軽
さ・重さがそれぞれのメディア処理においてバラバラだ
からである。
【0006】以降、一般のDMA転送を行うDMA転送システ
ムと、メディア処理特有の改良が施されたDMA転送シス
テムとを対比して説明する。前者のシステム構成図を図
29に示し、後者のシステム構成図を図30に示す。図
29においてデータ処理装置はメモリ51、メモリコン
トローラ52、アービター53、バス54、マスタデバ
イス45、46、47から構成される。
【0007】マスタデバイス45、46、47は、メデ
ィア処理に係るアプリケーションプログラムを動作させ
ている。各アプリケーションプログラムがDMA転送を要
求した場合、メモリコントローラ52に対してバスリク
エストを発行する。バスリクエストが発行されると、ア
ービター53はマスタデバイス45、マスタデバイス4
6、マスタデバイス47間の調停を行い、調停の結果、
マスタデバイス45、マスタデバイス46、マスタデバ
イス47の何れかの一つに使用権を付与する。バス使用
権を獲得出来なかったものは、データの転送開始を待
ち、使用権が付与された後、データ転送を開始する。
【0008】上述した通りメディア処理にはそれぞれの
アプリケーションプログラムに最適なバンド幅を割り当
てる必要があり、このようなバンド幅割り当て技術に
は、バスを複数に分割することにより得られたビット幅
をマスタデバイス45〜マスタデバイス47のそれぞれ
に割り当てる方法がある。例えばメモリ51の読み書き
ポート及びバスのビット幅が128bitである場合、これを
64bit−32bit−32bitに分割して、これらを各アプリケ
ーションプログラムが動作しているマスタデバイス45
〜マスタデバイス47のそれぞれに割り当てるのであ
る。図30は、ビット幅分割により実現されたバンド幅
割り当て技術の一例を示す図である。図30において12
8bitのバスを64bit、32bit、32bitに分割し、分割によ
り得られたそれぞれのビット幅をマスタデバイス45〜
マスタデバイス47に割り当てている。
【0009】この際、メモリ51内の読み書きポートを
バスの分割幅に応じて分割すると共に、メモリコントロ
ーラはパラレルにメモリ内部のアクセス制御を行う。即
ち、64bit、32bit、32bitのデータをパラレルにメモリ
内部から読み出し、64bit、32bit、32bitのデータをパ
ラレルにメモリ内部に書き込む。このようなアクセス制
御の並列化を行うためには、64bit、32bit、32bitデー
タの同時アクセスを行うための制御回路(図中の「64bi
t access controll」「32bit access controll」「32bi
t access controll」)をメモリコントローラ内に設け
ねばならないが、このビット幅を分割する方法では、バ
スが分割されることによりマスタデバイス45〜マスタ
デバイス47間の競合は生じず、メモリバスのバスロッ
クが発生することはない。
【0010】ここでマスタデバイス45は、映像復号処
理を行うものと想定しており、64bitというビット幅を
割り当てている。このようにマスタデバイス45により
高いビット幅を割り当てているのは、映像復号処理は他
のメディア処理より高いバンド幅を必要としているため
である。つまりメディア処理では、リアルタイム性を維
持するのに足りる充分なバンド幅が互いに異なるので、
このビット幅を分割する方法では、各アプリケーション
プログラムが必要とするバンド幅に応じて、ビット幅の
分割比率を決定せねばならない。
【0011】最後に上記データ処理装置に用いられるべ
きメモリデバイスについて説明する。上述した信号処理
応用分野は、より大容量で高いバンド幅を有するメモリ
デバイスを要求しており、このような需要にこたえるた
め、半導体プロセスおよび実装技術において様々な技術
革新がなされている。その結果、電子部品市場には高性
能なメモリデバイスが続々と登場しており、そのモデル
チェンジも極めて頻繁に行われている。ここでメモリデ
バイスには、SDRAM,RAMBUS仕様のメモリ等がある。Sync
hronus Dynamic Random Access Memory(SDRAM)とはデー
タのバースト転送を実現し、DRAMと比較して転送能力を
向上させたメモリである。RAMBUS仕様のメモリとは、バ
スとのインターフェイスの仕様が実装方法を含めて厳密
に規定されたメモリでありSDRAMよりも高いバンド幅を
得ることを可能としており、かかるメモリには、D-RDRA
Mと呼ばれるものがある。またデータ処理装置と比較的
大容量のDRAMとを同一の半導体チップ上に搭載するよう
半導体プロセスを行うこと(一般にオンチップ化といわ
れる)も可能となってきている。
【0012】このように多くのメモリデバイスが登場
し、そのモデルチェンジも頻繁であれば、メモリアーキ
テクチャをどのように設計するかという判断に設計者は
戸惑うことになる。このような判断を行うにあたって大
きな要因はやはりバンド幅と製造コストであるが、デー
タ処理装置の将来性を考慮した設計を行うことも必要で
ある。将来性を考慮したメモリアーキテクチャの設計と
は、様々なハードウェアスぺックを有するメモリデバイ
スを採用することができるようにメモリアーキテクチャ
を汎用化しておくことである。
【0013】
【発明が解決しようとする課題】ところで第1に説明し
たビット幅を分割して最適なバンド幅を割り当てる方法
は、マスタデバイス45〜マスタデバイス47に対して
のそれぞれに割り当てているビット幅を増やしたり、減
らしたりしようとすると、そのようなビット幅の割当変
更が装置全体の設計変更にまで波及するという第1の問
題点を有している。
【0014】バンド幅の割当変更は、ある装置に設けら
れているデータ処理装置を他の装置に転用する場合等に
必要となる。このような転用は、MPEGストリームの復号
という共通の機能を有する複数製品を並行開発する場合
に、しばしば見受けられるものである。ここで以下に示
すような状況を想定してデータ処理装置の転用について
説明する。図30に示したデータ処理装置はMPEGストリ
ームの復号装置であり、このMPEGストリームの復号装置
は、それまで光ディスクの再生装置に搭載されることを
前提にして開発されたものとする。また本装置は当初は
ディスク再生装置への搭載が前提であったが、メーカー
の商品開発戦略上の都合により、この復号装置をデジタ
ル衛星放送等の受信装置等の他の装置に転用することが
命じられたものとする。以上の理由で復号装置の転用が
命じられると当該装置の設計者は、再生装置特有のメデ
ィア処理に割り当てているビット幅を受信装置特有のメ
ディア処理に割り当てる対処等を行わねばならないが、
この対処を行なおうとすると、従来のデータ処理装置で
はバスの再配線(1)や、メモリデバイスの読み書きポー
トの設計し直し(2)、マスタデバイス45〜マスタデバ
イス47の読み書きポートの設計し直し(3)、メモリコ
ントローラの設計し直し(4)等を考慮する必要がある。
【0015】例えば、図30の一例においてメモリコン
トローラは、64bit、32bit、32bitのデータをパラレル
にメモリ内部から読み出すと共に、64bit、32bit、32bi
tのデータをパラレルにメモリ内部に書き込むような制
御を行うが、マスタデバイス45〜マスタデバイス47
に対してのビット幅の割り当てを64bit、24bit、8bitに
変更しようとした場合、メモリコントローラは、64bi
t、24bit、8bitのデータをパラレルにメモリ内部から読
み出すと共に、64bit、24bit、8bitのデータをパラレル
にメモリ内部に書き込むような制御を行わねばならない
ので図30に示したメモリコントローラの制御を根本的
に設計し直す必要がある。また、マスタデバイス46〜
マスタデバイス47のインターフェイスのビット幅変更
が発生するので、これらを別のものに置き換えねばなら
ず、またマスタデバイス46〜マスタデバイス47のイ
ンターフェイスとバスとの配線接続も新たにやり直さね
ばならない。
【0016】このような(1)から(4)までの配線やり直し
や再設計を行うことは、設計者にとって多大な負担とな
り、設計者は各メディア処理に異なるバンド幅を割り当
てることに、データ処理装置を再設計にする際に等しい
労力を払わねばならない。また第2に説明したように、
データ処理装置は様々なメモリデバイスの採用が可能な
ようにメモリアーキテクチャを設計しておくことが望ま
しいが、一般に接続すべきメモリデバイスにはその最大
性能を発揮することができる動作周波数が有り、従来の
データ処理装置の動作周波数は、そのような最大性能を
発揮できる値に設定されているので、メモリデバイスを
他のものに置き換えようとする場合、その新たなメモリ
デバイスの最大性能を発揮できる値にデータ処理装置側
の動作周波数を再設定しなければならないという問題点
がある。即ち、データ処理装置の製造コスト、メモリの
容量等の観点から複数メモリデバイスのうち何れか一つ
を採用したが後日の仕様変更によりメモリデバイスを別
のものに置き換えねばならない場合、メモリデバイスの
変更の度にデータ処理装置の動作周波数を変更せねばな
らないので、設計者に大きな負担が強いられるという問
題点がある。
【0017】加えて、データ処理装置を実装した半導体
チップにメモリをオンチップ化した場合は、オンチップ
化されたメモリ及びメモリデバイスの何れか一方は、最
大性能を発揮することができないという別の問題点があ
る。メモリコントローラ52−マスタデバイス45〜マ
スタデバイス47と、メモリ51とを同一チップに実装
した場合、これらを同一の動作周波数で動作させる必要
がある。この場合、メモリデバイスの最大性能を発揮さ
せる動作周波数と、オンチップ化されたメモリの最大性
能を発揮させる動作周波数とが異なることも充分有り得
る。この場合、何れか一方側の最大性能を発揮させる動
作周波数でデータ処理装置を動作させれば、他方側は最
大性能を発揮することができない。更に映像関連のメデ
ィア処理では、ディスプレィ装置の動作周波数に基づい
てデータ処理装置の動作周波数を設定するのが望ましい
が、このようにディスプレィ装置の動作周波数に基づい
てデータ処理装置の動作周波数を設定すれば、今度はメ
モリデバイスの最大性能を発揮することができなくなっ
てしまう。
【0018】上記第1の目的を達成するために本発明
は、将来におけるメディア処理毎のバンド幅の割り当て
変更に対処できるよう、高い汎用性を有するデータ処理
装置を提供することである。上記第2の目的を達成する
ために本発明は、将来におけるメモリデバイスの置き換
えや、メモリのオンチップ化に対処できるよう、高い汎
用性を有するデータ処理装置を提供することである。
【0019】
【課題を解決するための手段】上記第1の目的は、2つ
のポイントを有しており、そのうち一方のポイントにて
メモリデバイスと接続されるメモリバスと、それぞれが
2つ以上のポイントを有しており、そのうち1つ以上のポ
イントにて各マスタデバイスと接続される複数のローカ
ルバスと、メモリデバイスに対するデータ読み出し、及
び、メモリデバイスに対するデータ書き込みを行い、各
ローカルバス上では、各マスタデバイスが要求する転送
レートにてデータ転送を行わせ、メモリバス上では、メ
モリデバイスが要求する転送レートにてデータ転送を行
わせる転送コントローラと、メモリバスの他方のポイン
ト、及び、各ローカルバスの1つのポイントにて接続さ
れた複数のバッファであり、メモリバスと、ローカルバ
スとの間の転送レートの相違を吸収するよう、データの
入出力を行う複数のローカルバッファ手段とを備えるデ
ータ処理装置により達成される。
【0020】上記第2の目的は、一方のポートが前記メ
モリデバイスの読み書きポートに接続していて、他方の
ポートが前記複数のローカルバッファ手段に接続してお
り、メモリデバイスにおける動作周波数とデータ処理装
置内部における動作周波数との相違を吸収するよう、メ
モリバスと複数のローカルバッファ手段との間でデータ
の入出力を行うデュアルポートメモリデバイスを備える
データ処理装置により達成される。
【0021】
【発明の実施の形態】以下データ処理装置の実施の形態
について図面を参照しながら説明する。尚、データ処理
装置の諸機能をまとめて説明しようとすると、説明が著
しく複雑になる恐れがあるので、複数の実施形態におい
てデータ処理装置の諸機能を段階的に説明してゆくこと
する。
【0022】(第1実施形態)第1実施形態は、少ない
労力で複数のマスタデバイスに対してのバンド幅の割り
当てを変更できるように構成されたデータ処理装置に関
する。データ処理装置を図1に示す。図1に示すよう
に、データ処理装置は、ワンチップのLSIであり、外部
メモリデバイス2と共にマルチメディア関連製品に組み
まれて利用される。このような「ビット幅割当変更作業
の簡易」という要旨を持って構成されたデータ処理装置
を図2に示す。図2の構成図は、データ処理装置の構成
要素のうち、上記の要旨に必要なもののみを図示してお
り、このような要旨と関係無い構成要素については、そ
の図示を省略している。図2において一点鎖線で示す枠
は、データ処理装置としてワンチップ化される部位を示
している。図2において、データ処理装置は、メモリコ
ントローラ3と、マスタデバイス4と、マスタデバイス
5と、マスタデバイス6と、ローカルメモリ7と、ロー
カルメモリ8と、ローカルメモリ9と、バス10と、バ
ス11と、バス12と、ローカルバッファ13と、ロー
カルバッファ14と、ローカルバッファ15と、アービ
ター16と、ローカルコントローラ17と、ローカルコ
ントローラ18と、ローカルコントローラ19と、接続
回路20、21、22とを備え、128bitバス1を介して
外部メモリデバイス2と接続されている。
【0023】本実施形態及び以降の実施形態において各
マスタデバイスが要求する転送レート(バンド幅)は、
バスのビット幅と、各マスタデバイスが要求する使用頻
度とによって左右される。即ち、ビット幅が同一のバス
が2つあり、一方のバスにおいてマスタデバイスは、高
い頻度でデータ転送を要求し、他方のバスにおいてマス
タデバイスは、低い頻度でデータ転送を要求する場合、
「前者のマスタデバイスが要求する転送レートは、後者
のマスタデバイスが要求する転送レートより高い」こと
を意味する(尚、以降の説明にあたっては、説明の簡略
化を図るため、各マスタデバイスについての使用頻度に
ついては特に考慮せず、各マスタデバイスが要求する転
送レートを、読み書きポートのビット幅のみで表現する
ものとする。)。
【0024】また、メディア処理を行うにあたって、各
読み書きポートのビット幅には最適な値が存在するが、
これらを具体的に例示して説明を行うと説明が煩雑化す
る恐れがあるので、以降では、バス1、バス10、バス
11、バス12のビット幅及びバンド幅を128bit、64bi
t、32bit、32bitと仮定して説明を行う。またローカル
バッファ13、ローカルコントローラ17、接続回路2
0は、マスタデバイス4に対応づけられた周辺回路なの
で、以降の説明では、これらを『マスタデバイス4の周
辺回路』と総称する。同様に、ローカルバッファ14、
ローカルコントローラ18、接続回路21は、『マスタ
デバイス5の周辺回路』と総称し、ローカルバッファ1
5、ローカルコントローラ19、接続回路22を、『マ
スタデバイス6の周辺回路』と総称する。
【0025】128bitバス1は、外部メモリデバイス2
と、ローカルバッファ13−ローカルバッファ14−ロ
ーカルバッファ15との間のデータ転送を行う。本実施
形態において外部メモリデバイス2の読み書きポートの
ビット幅は128bitであり、ローカルバッファ13〜ロー
カルバッファ15の一方側の読み書きポートのビット幅
が128bitなので、128bitバス1におけるデータ転送は12
8bitの転送レートで行われる。
【0026】図3はバス1と外部メモリデバイス2の入
出力との関係を示すタイミングチャートである。バス1
におけるデータ転送は、本図の第3段目に示している。
本図におけるData(Ptr.4)は、マスタデバイス4がメモ
リからの読み出し又はメモリへの書き込みを要求した12
8bitのデータであり、Data(Ptr.5)、Data(Ptr.6)はそれ
ぞれ、マスタデバイス5、マスタデバイス6がメモリか
らの読み出し又はメモリへの書き込みを要求した128bit
のデータである。
【0027】本図を参照するとサイクルc1,c3,c5,c7,c9
においてData(Ptr.4)が転送され、サイクルc2,c6,c10に
おいてData(Ptr.5)、サイクルc4,c8においてData(Ptr.
6)が転送されていることがわかる。これは、Data(Ptr.
4)は2サイクルに1回の割合で転送されており、Data(Pt
r.5)、Data(Ptr.6)は4サイクルに1回の割合で転送され
ていることを示す。本図に示すようにバス1は、マスタ
デバイス4〜マスタデバイス6についてのデータを時分
割で転送しているのである。
【0028】外部メモリデバイス2は、マスタデバイス
4、マスタデバイス5、マスタデバイス6が用いるべき
ワークエリアと、128bitの読み書きポートとを有してお
り、メモリコントローラ3から読出コマンドと、読出先
アドレスと、読み出すべきデータ長とが指示されると、
そのデータをバス1に出力する。一方メモリコントロー
ラ3から書込コマンドと、書込先アドレスとが指示され
ると、バス1に出力されたデータをその書込先アドレス
に書き込む。
【0029】メモリコントローラ3は、外部メモリデバ
イス2からのデータ読み出し制御と、外部メモリデバイ
ス2に対してのデータ書き込み制御とを行う。メモリコ
ントローラ3によるデータ読み出し制御は、読出先アド
レスと、読出コマンドと、読み出すべきデータ長とを外
部メモリデバイス2に対して発行して、当該読出先アド
レス以降に共に格納されているデータを外部メモリデバ
イス2からバス1に読み出させることにより行われる。
また書き込み制御は、書込先アドレスと、書込コマンド
と、書き込むべきデータ長とを外部メモリデバイス2に
対して発行して、バス1に転送されているデータを外部
メモリデバイス2において当該書込先アドレス以降に書
き込ませることにより行われる。メモリコントローラ3
によるこれらのデータ読出制御/データ書込制御は、マ
スタデバイス4〜マスタデバイス6からの読出要求/書
込要求に従って行われる。そのため、メモリコントロー
ラ3は複数のポインタと、インクリメンタとを有してい
る。複数のポインタのそれぞれは、マスタデバイス4、
マスタデバイス5、マスタデバイス6のそれぞれに対応
づけられ、マスタデバイス4〜マスタデバイス5から発
せられた読出先/書込先アドレスを格納している。ま
た、インクリメンタは、マスタデバイス4〜マスタデバ
イス6のうち何れかのものについての読出コマンド及び
書込コマンドを発行すると、該当するマスタデバイスに
対応したポインタに格納されているアドレスをインクリ
メントする。
【0030】続いてマスタデバイス4〜マスタデバイス
6についての読出要求/書込要求をどのようなタイミン
グで外部メモリデバイス2に対して行うかを図3のタイ
ミングチャートを参照しながら説明する。本図の第1段
目は外部メモリデバイス2に対してのアドレス出力を示
し、第2段目は外部メモリデバイス2からのデータ出力
を示す。これらを参照すると、Data(Ptr.4)は2サイクル
に1回の割合で転送せねばならず、Data(Ptr.5)、Data(P
tr.6)は4サイクルに1回の割合で転送せねばならないの
で、メモリコントローラ3はサイクルc0,c2,c4,c6,c8,c
10においてアドレスPtr.4についての読出先アドレスと
読出コマンドとを外部メモリデバイス2に出力してお
り、サイクルc1,c5,c9においてアドレスPtr.5について
の読出先アドレスと読出コマンドとを出力している。ま
たサイクルc3,c7においてアドレスPtr.6についての読出
先アドレスと読出コマンドとを出力している。
【0031】マスタデバイス4は、ローカルメモリ7
と、64bitの読み書きポートとを備え、メモリコントロ
ーラ3に対してデータの読み出し/書き込みを要求する
アクセスコマンドを発行する。データ読み出しを要求す
る際、外部メモリデバイス2に格納されているデータの
読み出しを要求する旨を示すアクセスコマンドをメモリ
コントローラ3に発行し、外部メモリデバイス2−バス
1−ローカルバッファ13−バス10を介して、当該デ
ータが転送されてくるのを待つ。データが転送されてく
ると当該データを順次取り込みローカルメモリ7に格納
してゆく。
【0032】データ書き込みを要求する際、外部メモリ
デバイス2にデータの書き込みを要求する旨を示すアク
セスコマンドをメモリコントローラ3に発行し、外部メ
モリデバイス2に書き込むべきデータをローカルメモリ
7からバス10に順次出力する。出力されたデータは、
バス10−ローカルバッファ13−バス1を介して順次
外部メモリデバイス2に書き込まれてゆく。
【0033】マスタデバイス5は、ローカルメモリ8
と、32bitの読み書きポートとを備え、マスタデバイス
4同様、メモリコントローラ3に対してデータの読み出
し/書き込みを要求する。マスタデバイス4との差違
は、データの読み出し/書き込みを行う際のデータ転送
経路である。即ち、マスタデバイス4が外部メモリデバ
イス2−バス1−ローカルバッファ13−バス10の経
路でデータの読み出し/書き込みを行うのに対して、マ
スタデバイス5は、外部メモリデバイス2−バス1−ロ
ーカルバッファ14−バス11の経路でデータの読み出
し/書き込みを行う。
【0034】マスタデバイス6は、ローカルメモリ9
と、32bitの読み書きポートとを備え、マスタデバイス
4同様、メモリコントローラ3に対してデータの読み出
し/書き込みを要求する。マスタデバイス4との差違
は、データの読み出し/書き込みを行う際のデータ転送
経路である。即ち、マスタデバイス4が外部メモリデバ
イス2−バス1−ローカルバッファ13−バス10の経
路データの読み出し/書き込みを行うのに対して、マス
タデバイス6は、外部メモリデバイス2−バス1−ロー
カルバッファ15−バス12の経路データの読み出し/
書き込みを行う。
【0035】バス10は、マスタデバイス4の読み書き
ポートと、ローカルバッファ13の他方側読み書きポー
トとに接続されたバスである。バス11は、マスタデバ
イス5の読み書きポートと、ローカルバッファ14の他
方側読み書きポートとに接続されたバスである。バス1
2は、マスタデバイス6の読み書きポートと、ローカル
バッファ15の他方側読み書きポートとに接続されたバ
スである。
【0036】ローカルバッファ13は、一方側の読み書
きポートに128bitバス1が接続され、他方側の読み書き
ポートに接続回路20を介してバス10が接続されたバ
ッファであり、外部メモリデバイス2が128bitの読み書
きポートにてバス1に出力したデータを取り込み、これ
をバス10を用いて転送させる。逆に、バス10に転送
されているデータを取り込み、これをバス1に出力す
る。ここでローカルバッファ13における他方側読み書
きポートのビット幅は最大128bitであるが、接続回路2
0を介することにより、他方側読み書きポートのビット
幅がマスタデバイス4の読み書きポートと同一のビット
幅、即ち、64bitに設定されている。このようにマスタ
デバイス4の読み書きポートが64bitであり、ローカル
バッファ13の読み書きポートが64bitに設定されてい
るので、バス10における転送は64bitの転送レートに
て行われる。
【0037】続いてローカルバッファ13の入出力につ
いて図4及び図5を参照しながら説明する。図4は、ロ
ーカルバッファ13が外部メモリデバイス2へとデータ
を出力する際の動作タイミングを示すタイミングチャー
トであり、図5は、ローカルバッファ13が外部メモリ
デバイス2から読み出されたデータを入力する際の動作
タイミングを示すタイミングチャートである。
【0038】図4を参照して、先ずローカルバッファ1
3から外部メモリデバイス2へのデータ書き込み時の処
理について説明する。サイクルc2では、バス10におい
て64bitにて転送されているデータ"データd0,1をローカ
ルバッファ13は取り込み、続いてサイクルc3ではバス
10において64bitにて転送されているデータ"データd
2,3をローカルバッファ13は取り込む。このようにし
て取り込んだデータd0,1,2,3をサイクルc4においてバス
1に転送する。
【0039】サイクルc3においてメモリコントローラ3
はマスタデバイス4のための書込先Ptr.4を出力してい
るので、サイクルc4においてバス1に転送されているデ
ータd0,1,2,3がその書込先に書き込まれることになる。
同様にサイクルc4では、バス10において転送されてい
るデータd4,5を、サイクルc5ではデータ"データd6,7を
ローカルバッファ13は取り込む。このようにして取り
込んだデータd4,5,6,7をサイクルc6においてバス1に転
送すると、データd4,5,6,7がその書込先アドレスPtr.4
に書き込まれる。
【0040】続いて図5を参照して、外部メモリデバイ
ス2からローカルバッファ13へのデータ読み出し時の
処理について説明する。サイクルc3ではメモリコントロ
ーラ3はマスタデバイス4のための読出先アドレスPtr.
4を出力しているので、サイクルc4においてデータd0,1,
2,3がバス1に転送される。サイクルc4において、ロー
カルバッファ13はバス1において128bitにて転送され
ているデータd0,1,2,3をローカルバッファ13は取り込
む。続いてサイクルc5では、このようにして取り込んだ
データd0,1,2,3のうち、データd0,1をサイクルc5におい
てバス10に転送し、データd2,3をサイクルc6において
バス10に転送する。
【0041】サイクルc5においてメモリコントローラ3
はマスタデバイス4のための読出先Ptr.4を出力してい
るので、バス1にはその読出先に格納されているデータ
d4,5,6,7が転送されている。サイクルc6においてローカ
ルバッファ13は、バス1において転送されているデー
タ"データd4,5,6,7を取り込む。このようにして取り込
んだデータd4,5,6,7のうち、データd4,5をサイクルc7に
おいてバス10に転送し、サイクルc8においてデータd
6,7をバス10に転送する。
【0042】以上のようにローカルバッファ13からバ
ス1へのデータ出力及びバス1からローカルバッファ1
3へのデータ取り込みには2サイクルを要することがわ
かる。Data(Ptr.4)を2サイクルに1回の割合でバス1に
転送させるようメモリコントローラ3がメモリアクセス
を行っていたのは、ローカルバッファ13におけるデー
タ出力及びデータ取込に2サイクルを要するからであ
る。これらのローカルバッファ13における入出力によ
り、バス1の転送速度とバス10の転送速度との速度差
が吸収されていることがわかる。
【0043】ローカルバッファ14、ローカルバッファ
15は、一方側の読み書きポートに128bitバス1が接続
され、他方側の読み書きポートに接続回路21、接続回
路22を介してバス11、バス12が接続されたバッフ
ァであり、外部メモリデバイス2がバス1に出力したデ
ータを取り込み、これをバス11、バス12を用いて転
送させる。逆に、バス11、バス12に転送されている
データを取り込み、これをバス1に出力する。ここでロ
ーカルバッファ14、ローカルバッファ15における他
方側読み書きポートのビット幅は最大128bitであるが、
接続回路21、接続回路22を介することにより、他方
側読み書きポートのビット幅がマスタデバイス5、マス
タデバイス6の読み書きポートと同一のビット幅、即
ち、32bitに設定されている。このようにマスタデバイ
ス5、マスタデバイス6の読み書きポートは32bitに設
定済みであり、ローカルバッファ14、ローカルバッフ
ァ15の読み書きポートが32bitに設定されているの
で、バス11、バス12における転送は32bitの転送レ
ートにて行われる。
【0044】続いて図6及び図7を参照しながらローカ
ルバッファ14の入出力のタイミングについて説明す
る。図6は、ローカルバッファ14が外部メモリデバイ
ス2にデータを書き込む際の動作タイミングを示すタイ
ミングチャートであり、図7は、ローカルバッファ14
が外部メモリデバイス2からデータを読み出す際の動作
タイミングを示すタイミングチャートである。
【0045】先ず図6を参照して、ローカルバッファ1
4から外部メモリデバイス2へのデータ書き込み時の処
理について説明する。サイクルc2では、バス11におい
て32bitにて転送されているデータd0を取り込み、サイ
クルc3では、データd1を取り込む。同様にサイクルc4,c
5では、データd2,d3を取り込んでゆく。以上のようにし
て取り込んだデータd0,1,2,3をサイクルc6においてバス
1に転送する。
【0046】サイクルc5ではメモリコントローラ3はマ
スタデバイス4のための書込先"Ptr.5"を出力している
ので、サイクルc6においてバス1に転送されているデー
タd0,1,2,3がその書込先"Ptr.5"に書き込まれることに
なる。同様にサイクルc6,c7では、バス11において転
送されているデータd4,5を、サイクルc8,9ではデータd
6,7をローカルバッファ14は取り込む。このようにし
て取り込んだデータd4,5,6,7をサイクルc10においてバ
ス1に転送すると、データd4,5,6,7がその書込先アドレ
スPtr.5に書き込まれる。
【0047】次に図7を参照して、外部メモリデバイス
2からローカルバッファ14へのデータ読み出し時の処
理について説明する。サイクルc3ではメモリコントロー
ラ3はマスタデバイス5のための読出先"Ptr.5"を出力
しているので、サイクルc4において、そのデータd0,1,
2,3がバス1に転送される。サイクルc4では、バス1に
おいて128bitにて転送されているデータ"データd0,1,2,
3をローカルバッファ14は取り込む。続いてサイクルc
5では、このようにして取り込んだデータd0,1,2,3のう
ち、データd0をバス11に転送し、サイクルc6では、デ
ータd1を転送する。サイクルc7ではデータd2を、サイク
ルc8ではデータd3をそれぞれ出力する。
【0048】サイクルc7ではメモリコントローラ3はマ
スタデバイス4のための読出先"Ptr.5"を出力している
ので、サイクルc8においてデータd4,5,6,7がバス1に転
送される。ローカルバッファ14はこのように転送され
たデータd4,5,6,7を取り込む。続いてサイクルc9では、
このようにして取り込んだデータd4,5,6,7のうち、デー
タd4をバス11に転送し、サイクルc10では、データd5
を転送する。サイクルc11ではデータd6を、サイクルc12
ではデータd7をそれぞれ出力する。
【0049】以上のようにローカルバッファ14からバ
ス1へのデータ出力及びバス1からローカルバッファ1
4へのデータ取り込みには4サイクルを要することがわ
かる。Data(Ptr.5)を4サイクルに1回の割合でバス1に
転送させるようメモリコントローラ3がメモリアクセス
を行っていたのは、ローカルバッファ14におけるデー
タ出力及びデータ取込に4サイクルを要するからであ
る。これらのローカルバッファ14における入出力によ
り、バス1の転送速度とバス11の転送速度との速度差
を吸収されていることがわかる。
【0050】アービター16は、バス1の使用について
の競合が複数のマスタデバイス間で発生した場合にバス
1の使用に関しての調停を行う。調停の結果、バス1を
使用すべきと認定したマスタデバイスに対してアクノリ
ッジ信号を出力する。一方、バスの使用が否認されたも
のに対してはアクノリッジ信号をインアクティブに設定
するか、あるいは、ホールド信号を出力する。これによ
って、バッファへの書き込み、又は、バッファからの読
み出しが遅延することになり、バス転送が遅延する。
【0051】尚、既に述べた通り本実施形態では、4サ
イクルのうち、2サイクルをData(Ptr.4)のデータ転送に
割り当てていて、残り2サイクルのうち、1サイクルずつ
Data(Ptr.5)のデータ転送、Data(Ptr.6)のデータ転送に
割り当てているので、マスタデバイス4〜マスタデバイ
ス6のうち何れのものもバス1の使用を待つことは実効
的にはない。
【0052】ローカルコントローラ17は、バス1に転
送されているデータと、バス10に転送されているデー
タとの入出力を行うようローカルバッファ13を制御す
る。メモリへのデータ書き込みを行う際、ローカルコン
トローラ17は、ローカルバッファ13の内部領域を指
示するライトポインタを有しており、バス10に転送さ
れている64bitデータをライトポインタにて指示されて
いるローカルバッファ13の領域に格納させる。出力
後、ライトポインタを64bitだけインクリメントさせ
て、次の64bit分をインクリメントされたライトポイン
タに指示されている領域に格納させる。このようなライ
トポインタの更新と、64bit単位のデータ格納とをバス
10に出力された全てのデータについて繰り返せば、ロ
ーカルバッファ13に128bitデータが格納されたことに
なる。このように128bitデータを格納した後、バス1に
出力する。128bitを外部メモリデバイス2に送り出した
後、次の64bitデータがバス10に転送されてくるのを
待ち、転送されてくれば同様の手順を繰り返す。
【0053】またローカルコントローラ17は、メモリ
からのデータ読み出しを行う際、バス1に転送されてい
るデータをローカルバッファ13に格納すると共に、バ
ッファへ読み出された128bitデータのうち、リードポイ
ンタにて指示されている部分から64bit分をバス10に
出力させる。出力後、リードポインタを64bitだけイン
クリメントして、次の64bit分をバス10に出力させ
る。このようなリードポインタの更新と、64bit単位の
データ出力とをローカルバッファ13に読み出された全
てのデータについて繰り返せば、ローカルバッファ13
のデータは全てマスタデバイス4に送り出されたことに
なる。128bitデータをマスタデバイス4に送り出した
後、次の128bitデータがバス1に転送されてくるのを待
ち、転送されてくれば同様の手順を繰り返す。
【0054】ローカルコントローラ18、19は、64bi
tと32bitとの違いはあるが、ローカルコントローラ17
と同様にバス1に転送されているデータと、バス11〜
バス12に転送されているデータとの入出力を行うよう
ローカルバッファ14〜ローカルバッファ15を制御す
る。接続回路20、21、22は、ローカルバッファ1
3〜ローカルバッファ15と、バス10〜バス12とを
それぞれ接続する。接続回路20〜22はその回路構成
が共通化されており、バス10〜バス12のそれぞれに
ついて将来、読み書きポートのビット幅を変更すべき要
望が生じても、複数セレクタの入出力を設定することに
より簡易に読み書きポートのビット幅を変更できるよう
にしている。上記のように接続回路20〜接続回路22
は、ローカルバッファ13〜ローカルバッファ15の読
み書きポートのビット幅をそれぞれマスタデバイス4〜
マスタデバイス6の読み書きポートのビット幅と同一の
ビット幅に設定しているが、これらのビット幅の設定
は、接続回路20〜接続回路22が具備している複数セ
レクタの入出力を設定することより切り換えることがで
きる。
【0055】更に、現状のバンド幅ではバス1にバスロ
ックが発生する可能性がある場合、より広いバンド幅を
有するインターフェイスを有する外部メモリデバイス2
に置き換え、バス1のビット幅を広くすることにより、
マスタデバイス4〜マスタデバイス6、バス10〜バス
12に変更を加えなくても簡易にバスロックを防ぐこと
が出来るという効果がある。
【0056】以上のように本実施形態によれば、外部メ
モリデバイス2にバス1を接続すると共に、マスタデバ
イス4〜マスタデバイス6のそれぞれにバス10〜バス
12を接続しており、ローカルバッファ13〜ローカル
バッファ15はこれらのバスの入出力を行うので、マス
タデバイス4〜マスタデバイス6に割り当てるべきバン
ド幅を変更したい場合は、マスタデバイス4〜マスタデ
バイス6及びバス10〜バス12、ローカルバッファ1
3〜ローカルバッファ15の一方側の読み書きポートを
変更すれば良いので外部メモリデバイス2、メモリコン
トローラ3、バス1を再設計する必要はない。外部メモ
リデバイス2−メモリコントローラ3−バス1の変更を
伴わずにマスタデバイス4〜マスタデバイス6における
バンド幅の割り当てを変更することができるので、将来
バンド幅を変更する必要が生じても、設計者は大きな労
力を払うことはない。
【0057】(第1実施形態の応用例)本応用例は、32
bitバッファ61〜32bitバッファ64、バス10〜バス
12、接続回路20〜22を共通化する場合の回路構成
を提案するものである。図8は、32bitバッファ61〜3
2bitバッファ64、バス10〜バス12、接続回路20
〜22の回路構成を共通化する場合の回路構成を示す図
である。図8において、32bitバス57、32bitバス5
8、32bitバス59、32bitバス60は、バス10〜バス
12を構成するものであり、32bitバッファ61〜32bit
バッファ64は何れも128bitバッファ13〜128bitバッ
ファ15を構成するものである。4入力-1出力セレクタ
65、2入力-1出力セレクタ66、ゲート67、ゲート
68、セレクタ71、セレクタ72、セレクタ73、セ
レクタ74は何れも接続回路20〜接続回路22を構成
するものである。図9(a)は図8に示したセレクタの
うち32bitバッファ61〜32bitバッファ64から32bit
バス57〜32bitバス60への読み出し時に用いられる
もののみを図示した図であり、図9(b)は図8に示し
たセレクタのうち32bitバス57〜32bitバス60から32
bitバッファ61〜32bitバッファ64への書き込み時に
用いられるもののみを図示した図である。
【0058】32bitバス57、32bitバス58、32bitバ
ス59、32bitバス60は、それぞれ32bitのビット幅を
有するバスであり、マスタデバイス4〜マスタデバイス
6のそれぞれと接続されている。64bitでデータ転送を
行う場合、32bitバス57〜32bitバス58が転送に用い
られ、32bitでデータ転送を行う場合、32bitバス57の
みが転送に用いられる。
【0059】32bitバッファ61、32bitバッファ62、
32bitバッファ63、32bitバッファ64は、32bitのデ
ータを保持するバッファであり、32bitバッファ61〜3
2bitバッファ64の全てを併せてバス128bitのデータを
保持する。4入力-1出力セレクタ65、2入力-1出力セレ
クタ66、ゲート67、ゲート68、セレクタ71、セ
レクタ72、セレクタ73、セレクタ74は、32bitバ
ス57〜32bitバス60における転送を、32bit、64bi
t、128bitのうち何れかのビット幅で行うよう、入出力
の選択切り換えを行う。
【0060】これらのセレクタ、ゲートについての入出
力の対応表を図10(a)、図10(b)に図示する。
図10(a)はビット幅と、4入力-1出力セレクタ65
〜ゲート68が選択する接続線との対応を示す図であ
る。ビット幅が32bitの欄を参照すると、4入力-1出力セ
レクタ65についての欄のみ接続線A、接続線B、接続線
C、接続線Dと記述されていることがわかる。これは、32
bitの転送レートの場合、4入力-1出力セレクタ65が、
接続線A〜接続線Dを介して第1〜第4番目の32bitデー
タを、バス57上に転送することを示している。
【0061】ビット幅が64bitの欄を参照すると、4入力
-1出力セレクタ65についての欄に接続線A、接続線Cと
記述され、2入力-1出力セレクタ66についての欄のみ
接続線B、接続線Dと記述されていることがわかる。これ
は、64bitの転送レートの場合、接続線A、接続線Cを介
して第1、第3番目の32bitデータをバス57上に転送
し、接続線B、接続線Dを介して第2、第4番目の32bit
データをバス58上に転送することを示している。
【0062】ビット幅が128bitの欄を参照すると、4入
力-1出力セレクタ65についての欄に接続線A、2入力-1
出力セレクタ66についての欄に接続線B、ゲート67
についての欄に接続線C、ゲート68についての欄に接
続線Dと記述されていることがわかる。これは、128bit
の転送レートの場合、接続線A、接続線B、接続線C、接
続線Dを介して第1〜第4番目の32bitデータをバス5
7、バス58、バス59、バス60上に転送することを
示している。
【0063】続いて図9(a)に示した4入力-1出力セ
レクタ65、2入力-1出力セレクタ66、ゲート67、
ゲート68の入出力について順次説明する。4入力-1出
力セレクタ65は、接続線A、接続線B、接続線C、接続
線Dを選択的にバス57に出力することにより、32bitバ
ッファ61〜32bitバッファ64に格納されているデー
タを順次バス57に転送させる。
【0064】尚、以降の説明において、128bitデータの
部分ビットであって、上位mビット目から上位nビットま
でに位置するものをビット[m:n]という単位にて称呼す
る。図11(a)は、ビット幅が32bitである場合のタ
イミングチャートである。転送レートが32bitのみであ
る場合、データ転送をバス57のみで行う必要がある。
そのため図11(a)のサイクルc11において4入力-1出
力セレクタ65は、第1番目の32bitデータを出力する
ため接続線Aを選択出力する。続くサイクルc12において
4入力-1出力セレクタ65は、第2番目の32bitデータを
出力するため接続線Bを選択出力し、サイクルc13におい
て第3番目の32bitデータを出力するため接続線Cを選択
出力する。4入力-1出力セレクタ65は、サイクルc14に
おいて第4番目の32bitデータを出力するため接続線Dを
選択出力する。
【0065】図11(b)は、ビット幅が64bitである
場合のタイミングチャートである。転送レートが64bit
である場合、データ転送は、バス57とバス58とを同
時に用いることにより実行される。そのため4入力-1出
力セレクタ65は、図11(b)のサイクルc11におい
て第1番目の64bitデータの上位32bitを出力するため接
続線Aを選択出力する。次のサイクルc12において4入力-
1出力セレクタ65は、第2番目の64bitデータの上位32
bitデータを出力するため接続線Cを選択出力する。
【0066】図11(c)は、転送レートが128bitであ
る場合のタイミングチャートである。転送レートが128b
itである場合、データ転送は、バス57とバス58とバ
ス59と、バス60を同時に用いることにより実行され
る。そのため4入力-1出力セレクタ65は、サイクルc11
において1サイクルを費やして、32bitバッファ61に格
納されているデータをバス57に転送させるよう、接続
線Aのデータを出力する。
【0067】2入力-1出力セレクタ66は、接続線B、接
続線Dを選択的にバス57に出力することにより、32bit
バッファ62、32bitバッファ64に格納されているデ
ータを順次バス57に転送させる。図11(b)に示す
ように転送レートが64bitである場合、データ転送は、
バス57とバス58とを同時に用いることにより実行さ
れる。そのため2入力-1出力セレクタ66は、サイクルc
11において第1番目の64bitデータの下位32bitデータを
出力するため接続線Bを選択出力する。次のサイクルc12
において2入力-1出力セレクタ66は、第2番目の64bit
データの下位32bitデータを出力するため接続線Dを選択
出力する。転送レートが128bitである場合、データ転送
は、バス57とバス58とバス59とバス60とを同時
に用いることにより実行される。そのため2入力-1出力
セレクタ66は、図11(c)に示すようにサイクルc1
1において128bitデータにおけるビット[95:64]を出力す
るため接続線Bを選択出力する。
【0068】ゲート67は、接続線Cを介して32bitバッ
ファ63に格納されているデータを順次バス59に転送
させる。図11(c)に示すように転送レートが128bit
である場合、データ転送は、バス57とバス58とバス
59とバス60とを同時に用いることにより実行され
る。そのためゲート67は、サイクルc11において128bi
tデータのビット[63:32]を出力するため接続線Cを選択
出力する。
【0069】ゲート68は、接続線Dに転送されている
データを選択的にバス60に出力することにより、32bi
tバッファ64に格納されているデータを順次バス60
に転送させる。転送レートが128bitである場合、データ
転送は、バス57とバス58とバス59とバス60とを
同時に用いることにより実行される。そのため図11
(c)に示すように、ゲート68は、サイクルc11にお
いて128bitデータのビット[31:0]を出力するため接続線
Dを選択出力する。
【0070】続いて図9(b)に示したセレクタ71、
セレクタ72、セレクタ73、セレクタ74のそれぞれ
について説明する。図10(b)は、ビット幅と、第1
〜第4番目のデータが転送してくる接続線との組み合わ
せにおいてセレクタ71〜セレクタ74がどの接続線の
選択出力するかを示す図である。
【0071】転送レートが32bitである場合、データ転
送はバス57を用いてのみ行われるため、転送レートが
32bitの欄を参照すると、第1、第2、第3、第4番目
の32bitデータは、全て接続線Eと記述されていることが
わかる。これは、32bitの転送レートの場合、第1〜第
4番目の32bitデータは、接続線Eを介して32bitバッフ
ァ61、32bitバッファ62、32bitバッファ63、32bi
tバッファ64に取り込まれることを示している。
【0072】転送レートが64bitである場合、データ転
送は、上位32ビットをバス57、下位32ビットをバス5
8を用いて行われるため、転送レートが64bitの欄を参
照すると、第1、第2番目の64bitデータの上位32bitは
接続線Eと記述され、第1、第2番目の64bitデータの下
位32bitは、接続線Fと記述されていることがわかる。こ
れは、64bitの転送レートの場合、第1番目の64bitデー
タは、接続線E、接続線Fを介して32bitバッファ61、3
2bitバッファ62に取り込まれ、第2番目の64bitデー
タは、接続線E,接続線Fを介して32bitバッファ63、32
bitバッファ64に取り込まれることを示している。
【0073】転送レートが128bitである場合、データ転
送は、バス57、58、59、60を同時に用いて行わ
れるため、転送レートが128bitの欄を参照すると、128b
itデータのビット[127:96]は接続線Eと記述され、128bi
tデータの[95:64]は接続線F、128bitデータのビット[6
3:32]は接続線G、128bitデータのビット[31:0]は接続線
Hと記述されていることがわかる。これは、128bitの転
送レートの場合、128bitデータは、接続線E、接続線F、
接続線G、接続線Hを介してそれぞれ32bitバッファ61
〜32bitバッファ64に取り込まれることを示してい
る。
【0074】セレクタ71は、バス57〜バス60によ
り転送されてくる128bitのデータのうち、バス57上で
転送されてくる第1番目のものを32bitバッファ61に
取り込む。図12(a)は、バス57上に第1番目の32
bitデータ、第2番目の32bitデータ、第3番目の32bit
データ、第4番目の32bitデータが転送されてくる場合
を示すタイミングチャートである。本図においてセレク
タ71は、第1番目の32bitデータのみを32bitバッファ
61に取り込んでいることがわかる。図12(b)は、
バス57上に第1番目の64bitデータの上位32bit、第2
番目の64bitデータの上位32bitが転送されており、バス
58上に第1番目の64bitデータの下位32bit、第2番目
の64bitデータの下位32bitが転送されてくる場合を示す
タイミングチャートである。本図においてもセレクタ7
1は、バス57により転送される第1番目の64bitデー
タの上位32bitデータみを32bitバッファ61に取り込ん
でいることがわかる。図12(c)は、バス57上に12
8bitデータのビット[127:96]が転送されており、バス5
8上に128bitデータのビット[95:64]、バス59上に128
bitデータのビット[63:32]、バス60上に128bitデータ
のビット[31:0]が転送されてくる場合を示すタイミング
チャートである。本図においてもセレクタ71は、32bi
tバス57により転送される128bitデータの[127:96]の
みを32bitバッファ61に取り込んでいることがわか
る。
【0075】2入力-1出力セレクタ72は、バス57〜
バス60により転送されてくる128bitのデータのうち、
ビット[95:64]を32bitバッファ62に取り込むよう、接
続線E、接続線Fを選択し、バッファ62へと出力する。
図12(a)では、2番目の32bitを接続線Eを介して32b
itバッファ62へ、図12(b)では、1番目の64bitデ
ータの下位32bitを接続線Fを介して32bitバッファ62
へ、図12(c)では、128bitデータの[95:64]を接続
線Fを介して32bitバッファ62に取り込む。
【0076】セレクタ73は、バス57〜バス60によ
り転送されてくる128bitのデータのうち、ビット[63:3
2]に相当するデータを32bitバッファ63に取り込むよ
う、接続線E,Gを選択し、32bitバッファ63に出力す
る。図12(c)においてセレクタ73は、バス59に
転送されている128bitデータのビット[63:32]を接続線G
を介して32bitバッファ63に取り込んでいることがわ
かる。
【0077】セレクタ74は、バス57〜バス60によ
り転送されてくる128bitのデータのうち、ビット[31:0]
に相当するデータを32bitバッファ64に取り込むよ
う、接続線E、接続線F、接続線Hを選択的し、32bitバッ
ファ64に出力する。図12(c)では、セレクタ74
は、バス60に転送されている128bitデータのビット[3
1:0]を接続線Hを介して32bitバッファ64に取り込んで
いることがわかる。
【0078】尚、本応用例において、32bitバッファ6
1、32bitバッファ62、32bitバッファ63、32bitバ
ッファ64のビット幅は全て32bitであるので、転送レ
ート(ビット幅)は32bitデータの整数倍単位で変更可
能であったが、これらのバッファが全て8bitであれば、
転送レート(ビット幅)が8bitの整数倍単位で変更可能
となり、これらのバッファが全て16bitであれば、転送
レート(ビット幅)は16bitの整数倍単位で変更可能と
なる。このように、バッファ61〜64のビット幅は、
各マスタデバイスについての転送レートをどのように設
定するかに応じて、設定すればよい。
【0079】(第2実施形態)第1実施形態では、マス
タデバイス4〜マスタデバイス6のそれぞれにバス10
〜バス12のそれぞれを1対1の割合で設けていたが、第
2実施形態では、バス10に複数のマスタデバイスを設
けた実施形態である。図13は、複数マスタデバイスが
バス10に設けられたデータ処理装置を示す図である。
本図においてバス10にはマスタデバイス4の他にマス
タデバイス24が設けられている。
【0080】マスタデバイス24は、マスタデバイス4
と同一のバンド幅でDMA転送を要求するアプリケーショ
ンプログラムが動作しており、外部メモリデバイス2を
アクセスする際、ローカルコントローラ17にDMA転送
要求を出力する。アービター25は、マスタデバイス
4、マスタデバイス24がDMA転送要求を出力すると、
これらのDMA転送要求についての調停を行い、マスタデ
バイス4、マスタデバイス24の何れか一方にマスタデ
バイスにアクノリッジ信号を通達することによりバス1
0のアクセス権を付与する。アクセス権を得たマスタデ
バイス4、マスタデバイス24は、第1実施形態と同様
に外部メモリデバイス2に対してのDMA転送を行う。一
方、アクセス権を獲得することができなかったものに対
しては、アクノリッジ信号をインアクティブに設定する
か、あるいは、ホールド信号を出力する。これによって
バスへの転送を遅延する。また、マスタデバイス4とマ
スタデバイス24とのバス10のアクセス権を全バス制
御用のアービター25により決定する代わりに、個々の
バス(ここではバス10)制御専用のアービターを設
け、そのアービターにより上記アクセス権制御を行う機
構でも、同様の効果が得られ、且つアービターの機構を
簡単なものにすることができる。
【0081】以上のように本実施形態によれば、オーデ
ィオデータ、副映像、OSD等、サブシステムという系統
に分類されるメディア処理を行う複数のマスタデバイス
については、それら複数のマスタデバイスを1つのバス
10とローカルバッファ13とに対応づけるので、サブ
システムに属するメディア処理が多数存在する場合でも
システムを簡易化することができる。
【0082】(第3実施形態)第3実施形態は、データ
処理装置と、外部メモリデバイス2との非同期制御を実
現する実施形態である。ここでデータ処理装置と、外部
メモリデバイス2との非同期制御が求められるのは、以
下の理由による。即ち、マスタデバイス4〜マスタデバ
イス6がメディア処理を行う場合、データ処理装置はデ
ィスプレィ装置との同期制御を実現する必要があるの
で、データ処理装置内のマスタデバイス4〜マスタデバ
イス6、メモリコントローラ3、ローカルコントローラ
17〜ローカルコントローラ19はディスプレィ装置の
表示期間に基づいた動作周波数で、動作せねばならな
い。これに対して外部メモリデバイス2は、そのハード
ウェアスぺックにおいて最適な動作周波数が決められて
いるので、その動作周波数で動作せねばならない。この
ようにデータ処理装置と、外部メモリデバイス2とはそ
の動作に最適な動作周波数が異なるので、非同期制御が
必要なのである。
【0083】非同期制御が可能なデータ処理装置の構成
を図14に示す。図14において新規なのはデュアルポ
ートメモリ26が設けられている点である。デュアルポ
ートメモリ26は、一方のポートが外部メモリデバイス
2と接続していて、他方のポートがローカルバッファ1
3〜ローカルバッファ15に接続しており、外部メモリ
デバイス2から読み出されたデータ、及び、ローカルバ
ッファ13〜ローカルバッファ15から出力されたデー
タを格納している。
【0084】第3実施形態においてマスタデバイス4〜
マスタデバイス6は、二段階の読出要求を経て、外部メ
モリデバイス2のデータを得る。第1段階目は、外部メ
モリデバイス2からデュアルポートメモリ26への読み
出しである。この際、マスタデバイス4〜マスタデバイ
ス6は読出要求をローカルコントローラ17〜19を介
してメモリコントローラ3に出力し、外部メモリデバイ
ス2からデュアルポートメモリ26へのデータ読み出し
をメモリコントローラ3に行わせる。第2段階目は、デ
ュアルポートメモリ26からローカルバッファ13〜ロ
ーカルバッファ15を介したDMAマスタ4〜6への読み
出しである。デュアルポートメモリ26に必要なデータ
が読み出された段階でローカルコントローラ17〜19
に対してメモリコントローラ3から読出アクノリッジ信
号が出力されるので、ローカルコントローラ17〜19
はこのアクノリッジ信号を受け取った際に、第1実施形
態と同様に、デュアルポートメモリ26からローカルバ
ッファ13〜ローカルバッファ15を介してマスタデバ
イス4〜マスタデバイス6へとデータ転送を行う。
【0085】一方マスタデバイス4〜マスタデバイス6
は、二段階の書込要求を経て、外部メモリデバイス2に
データを書き込む。第1段階目の書込要求は、第1実施
形態と同様の書き込みであり、マスタデバイス4〜マス
タデバイス6は、対応するバスのローカルコントローラ
の制御の元、書き込むべきデータをローカルバッファ1
3〜ローカルバッファ15を介してデュアルポートメモ
リ26に書き込む。第2段階目は、デュアルポートメモ
リ26から外部メモリデバイス2への書込要求であり、
メモリコントローラ3に対してローカルコントローラ1
7〜19が書き込みを要求する。
【0086】第3実施形態においてメモリコントローラ
3は、マスタデバイス4〜マスタデバイス6から外部メ
モリデバイス2からのデータ読出が要求されると、デュ
アルポートメモリ26の読み書きポートの取得リクエス
トを発行し、取得できた段階で外部メモリデバイス2に
対して読みだしコマンドを発行する。これにより、外部
メモリデバイス2からデュアルポートメモリ26へとデ
ータを読み出させる。メモリコントローラ3はデータ読
みだしが完了するのを待ち、デュアルポートメモリ26
に必要なデータが読み出された段階でローカルコントロ
ーラ17〜19に対して読みだしアクノリッジ信号を返
す。またメモリコントローラ3は、マスタデバイス4〜
マスタデバイス6からデータ書込が要求され、外部メモ
リデバイス2に書き込むべきデータがデュアルポートメ
モリ26に蓄積すると、データが蓄積した段階で外部メ
モリデバイス2に対して書込コマンドを発行する。これ
により、デュアルポートメモリ26から外部メモリデバ
イス2へのデータ書き込みが行われる。
【0087】第3実施形態においてローカルコントロー
ラ17〜19は、読出要求がなされた後、外部メモリデ
バイス2から読み出されたデータがデュアルポートメモ
リ26に蓄積された段階で、デュアルポートメモリ26
に蓄積されたデータをローカルバッファ13〜ローカル
バッファ15に出力する。書込要求がなされると書き込
むべきデータがローカルバッファ13〜ローカルバッフ
ァ15にたまった段階でデュアルポートメモリ26の読
み書きポートの取得要求を発行し、読み書きポートが取
得できた段階でローカルバッファ13〜ローカルバッフ
ァ15からデュアルポートメモリ26へのデータ書き込
みを行なう。
【0088】以上のように本実施形態によれば、デュア
ルポートメモリの一方側のポートをメモリデバイスと接
続し、他方側のポートを前記複数のバッファに接続する
ことによりメモリデバイスと内部メモリ間のデータ転送
における非同期制御を実現することができ、外部メモリ
デバイス2とデータ処理装置とをそれぞれ固有の動作周
波数で動作させることができる。これにより、外部メモ
リデバイス2を、動作周波数が異なるメモリデバイスに
変更したとしても、外部メモリデバイス2と装置内部と
の間のデータ転送は、変更前と同様に行えばよい。
【0089】また、内部メモリ(オンチップメモリ)が増
設された場合であっても、外部のメモリデバイスと、増
設された内部メモリとのデータ転送は、外部のメモリデ
バイスと、既存の内部メモリとのデータ転送と同様に実
現すればよい。外部メモリデバイス2の変更のみなら
ず、内部メモリの増設も容易に行えるので、メモリアー
キテクチャを設計する上での自由度が高まるという効果
がある。
【0090】(第4実施形態) 第4実施形態は、デュ
アルポートメモリ100を介して、マスタデバイスと外
部メモリデバイス2との間のデータ転送をエントリーコ
ントローラ113に統合管理させる場合の改良に関す
る。図15は、第4実施形態の係るデータ処理装置の構
成を示す図である。本図に示すように、データ処理装置
は、デュアルポートメモリ100(データユニット10
1、タグユニット102)、マスタデバイス103、マ
スタデバイス104、マスタデバイス105、ローカル
バッファ106、ローカルバッファ107、ローカルバ
ッファ108、ローカルコントローラ109、ローカル
コントローラ110、ローカルコントローラ111、ア
ービター112、エントリーコントローラ113、リー
ドリクエストキュー114、ライトリクエストキュー1
15、メモリコントローラ116、リードウェイトキュ
ー117、リードアクノウレッジキュー118、リード
アクノウレッジキュー119、リードアクノウレッジキ
ュー120、アドレス選択回路121、アドレス選択回
路122からなる。
【0091】デュアルポートメモリ100は、データユ
ニット101と、タグユニット102とからなる。デー
タユニット101は、2つのバンク領域101a,bからな
り、各バンク領域101a,bは、16バイトのエントリー
領域を512個配置してなる。このエントリー領域の中に
は、外部メモリデバイス2−マスタデバイス103、1
04、105間の入出力バッファに割り当てられている
もの(FIFO領域といい、デュアルポートメモリ100に
おいて計24個存在する)と、マスタデバイスがワークエ
リアとして用いることができるものとがある。各エント
リー領域には、エントリーアドレスEntr_Addrが付与さ
れており、各エントリー領域は、このエントリーアドレ
スEntr_Addrを用いることによりアクセスされる(2つの
バンク領域に存在するエントリー領域は、共通のエント
リーアドレスEntr_Addrを用いてアクセスされる。)。
また、24個のFIFO領域のうち8個のFIFO領域は、外部メ
モリデバイス2からの読み出し用、16個のFIFO領域は、
外部メモリデバイス2への書き込み用に割り当てられて
いる。各エントリー領域は、1Byteのメモリセルを16個
含んでおり、計16バイトのデータを格納することができ
る。
【0092】タグユニット102も、512個のエントリ
ーからなり、各エントリーは、データユニット101の
各エントリー領域と1対1に対応づけられている。タグユ
ニット102の各エントリーには、外部メモリデバイス
2における外部アドレスExt_Addr(読出先アドレス、又
は、書込先アドレス)と、その外部アドレスExt_Addrに
対するアクセスを要求したマスタデバイス103につい
ての識別情報とが格納されている。タグユニット102
の各エントリーには、1対1に対応するデータユニット1
01のエントリー領域と同一のエントリーアドレスEntr
_Addrが付与されており、外部メモリデバイス2とデュ
アルポートメモリ100との間のデータ転送を行う際の
デュアルポートメモリ100のアクセス先の指定は、こ
のエントリーアドレスEntr_Addrを用いることにより行
われる。
【0093】マスタデバイス103、104、105
は、アクセスコマンドを発行する。このアクセスコマン
ドは、外部メモリデバイス2からマスタデバイス10
3、104、105へのデータ読み出し、又は、マスタ
デバイス103、104、105から外部メモリデバイ
ス2へのデータ書き込みを要求するものであり、これら
のデータ読み出し、又は、データ書き込みは、デュアル
ポートメモリ100におけるFIFO領域と外部メモリデバ
イス2との間のデータ転送と、デュアルポートメモリ1
00におけるFIFO領域とマスタデバイス103、10
4、105との間のデータ転送とにより実現される。こ
れらのデータ読み出し、又は、データ書き込みは、何れ
も、デュアルポートメモリ100におけるFIFO領域を中
継点にしているので、マスタデバイス103、104、
105は、デュアルポートメモリ100内に空きのFIFO
領域が存在することが明らかな場合のみ、アクセスコマ
ンドの発行を行う。デュアルポートメモリ100におけ
る空きFIFO領域の有無については、エントリーコントロ
ーラ113により発せられる使用状況情報に示されてい
るので、マスタデバイス103、104、105は、エ
ントリーコントローラ113により発せられる使用状況
情報を監視し、デュアルポートメモリ100内に空きの
FIFO領域が存在する場合のみ、アクセスコマンドの発行
を行う。この使用状況情報に空きのFIFO領域が存在しな
い旨が示されている場合、マスタデバイス103、10
4、105は空きのFIFO領域が現れるのを待ち、空きの
FIFO領域がデュアルポートメモリ100に現れてからア
クセスコマンドを発行する。
【0094】ローカルバッファ106、107、108
は、各マスタデバイスに対応づけられたバッファであ
り、外部メモリデバイス2から読み出されたデータrdat
aの入出力と、外部メモリデバイス2に書き込むべきデ
ータwdataの入出力とに用いられる。このバッファを用
いることにより、デュアルポートメモリ100へのバス
幅16バイトとマスタデバイス103、104、105の
バス幅との違いを吸収できる。またこのバッファをダブ
ルバッファとし、マスタデバイス103、104、10
5とのアクセスとデュアルポートメモリ100とのアク
セスを並列処理可能とすることにより、データ転送の高
速化を図ることができる。それゆえ、たとえ、一部のマ
スタデバイスが、高い転送レートのデータ転送を要求し
たとしても、そのような転送速度を満たすようなデータ
入出力を行うことができる。
【0095】ローカルコントローラ109、110、1
11は、マスタデバイス103、104、105のそれ
ぞれに対応づけられており、マスタデバイス103、1
04、105についてのローカルバッファ106、10
7、108と、デュアルポートメモリ100におけるFI
FO領域との間において、外部メモリデバイス2に書き込
むべきデータwdata、又は、外部メモリデバイス2から
読み出されたデータrdataについてのデータ転送を行
う。
【0096】外部メモリデバイス2へのデータ書き込み
を行う場合についての詳細は以下の通りである。即ち、
マスタデバイス103、104、105により監視され
ている使用状況情報には、デュアルポートメモリ100
における空きのFIFO領域についてのエントリーアドレス
Entr_Addrが示されているので、ローカルコントローラ
109、110、111は、この使用状況情報を参照し
て、空きのFIFO領域の所在を特定することにより、外部
メモリデバイス2に書き込むべきデータwdataを、一旦F
IFO領域に蓄積させる。
【0097】外部メモリデバイス2からのデータ読み出
しを行う場合についての詳細は以下の通りである。即
ち、外部メモリデバイス2からデュアルポートメモリ1
00へと転送されたデータを、ローカルバッファ10
6、107、108まで読み出すには、デュアルポート
メモリ100のうち、どのFIFO領域に当該データが読み
出されたかをローカルコントローラ109、110、1
11は知得せねばならない。そのようなアドレス、即
ち、読出先アドレスは、メモリコントローラ116から
発せられる読出完了通知に含まれており、その読出完了
通知は、メモリコントローラ116により発行され、リ
ードウェイトキュー117を介してリードアクノウレッ
ジキュー118、119、120に格納される。ローカ
ルコントローラ109、110、111は、この読出完
了通知からエントリーアドレスEntr_Addrを取り出する
ことにより、外部メモリデバイス2から読み出されたデ
ータrdataがデュアルポートメモリ100においてどこ
に格納されているかを知ることができる。そうして、外
部メモリデバイス2から読み出されたデータrdataの所
在を知れば、マスタデバイス103、104、105の
それぞれに対応するローカルバッファ106、107、
108と、読出完了通知に含まれるエントリーアドレス
Entr_Addrに対応するFIFO領域との間において、外部メ
モリデバイス2から読み出されたデータrdataのデータ
転送を行うことにより、マスタデバイス103、10
4、105にデータを引き渡すことができる。
【0098】アービター112は、マスタデバイス10
3、104、105間において、デュアルポートメモリ
100についての利用調停を行う。アービター112が
かかる調停を行うのは以下の理由による。即ち、外部メ
モリデバイス2からマスタデバイスへのデータ読み出
し、及び、マスタデバイスから外部メモリデバイス2へ
のデータ書き込みは、何れもデュアルポートメモリ10
0を中継点にして行われることは上述した通りである。
そうすると、デュアルポートメモリ100と、ローカル
バッファ106、107、108との間は、最もデータ
転送が集中することなる。そこで本実施形態では、各マ
スタデバイスがデュアルポートメモリ100を利用する
にあたって、何れのマスタデバイスにデュアルポートメ
モリ100の利用を許可させるかの決定権をアービター
112に与えており、複数のマスタデバイスからアクセ
スコマンドが発せられた場合、アービター112は、そ
れら複数のマスタデバイスのうち何れかのマスタデバイ
ス103、104、105に対して、デュアルポートメ
モリ100を介したデータ転送を許可し、その他のマス
タデバイス103、104、105に対して、デュアル
ポートメモリ100を介したデータ転送を許可しない。
これにより、1つのデュアルポートメモリ100を介し
たデータ転送が効率良く行われることなる。
【0099】エントリーコントローラ113は、FIFO領
域のうち、データ格納に既に使用されているもの(使用
中であるもの)、データ格納に使用されていないもの
(未使用であるもの)を個別に示すビット列(カレント
ステートビット列)を有しており、カレントステートビ
ット列における全てのビットがオン"1"に設定されてい
れば、空きのFIFO領域が存在しない旨の使用状況情報を
各マスタデバイスに通知する。それと共に、ビット列に
おいて何れかのビットがオフ"0"に設定されていれば、
そのビットに対応するエントリーアドレスEntr_Addrを
使用状況情報として各マスタデバイスに通知する。図1
6は、カレントステートビット列の一例を示す図であ
る。本図において、カレントステートビット列は32bit
データのビット列であり、本カレントステートビット列
における0〜5ビット目は、エントリーアドレスEntr_Add
r00〜エントリーアドレスEntr_Addr05に対応しており、
6〜31ビット目は、エントリーアドレスEntr_Addr06〜エ
ントリーアドレスEntr_Addr31に対応している。このエ
ントリーアドレスEntr_Addr00〜エントリーアドレスEnt
r_Addr05に対応する0〜5ビット目が、図16においては
全てオン"1"に設定されているので、エントリーアドレ
スEntr_Addr00〜エントリーアドレスEntr_Addr05のFIFO
領域が使用中である。このエントリーアドレスEntr_Add
r06〜エントリーアドレスEntr_Addr31に対応する6〜31
ビット目が、図16においては全てオフ"0"に設定され
ているので、エントリーアドレスEntr_Addr06〜エント
リーアドレスEntr_Addr31のFIFO領域が未使用である。
このように図16の一例では、エントリーアドレスEntr
_Addr06〜エントリーアドレスEntr_Addr31のエントリー
領域が未使用であることがに示されているので、エント
リーコントローラ113はカレントステートビット列に
示される空きのエントリーアドレスのうち、最先のもの
(本図の一例においては、エントリーアドレスEntr_Add
r06)を使用状況情報として各マスタデバイスに通知す
る。
【0100】未使用のFIFO領域をマスタデバイス103
に割り当てる処理の詳細は以下の通りである。出力され
た使用状況情報をマスタデバイス103が参照して、マ
スタデバイス103がアクセスコマンドの発行を行った
ものとする。そうしてアクセスコマンドの発行を行った
マスタデバイス103に対して、デュアルポートメモリ
100を介したデータ転送がアービター112により許
可されれば、エントリーコントローラ113は、エント
リーアドレスEntr_Addrを転送先、又は、転送元とした
データ転送を行わせるよう、このエントリーアドレスEn
tr_Addrを含むリクエストデータ(読出リクエスト、書
込リクエストの種別がある)をリードリクエストキュー
114、ライトリクエストキュー115に格納する。こ
こで、本実施形態におけるリクエストデータが、どのよ
うな様式であり、これを用いたデータ転送がどのように
行われるかについて説明する。本実施形態におけるリク
エストデータ(読出リクエスト、書込リクエストがあ
る)がアクセスコマンドと異なるのは、デュアルポート
メモリ100におけるエントリーアドレスEntr_Addrを
含んでいる点である。上述したように、このエントリー
アドレスEntr_Addrにて指示されるタグ領域には、外部
メモリデバイス2においてアクセス先となる外部アドレ
スExt_Addrが格納されているので、メモリコントローラ
116は、リクエストデータに含まれるエントリーアド
レスEntr_Addrと、そのエントリーアドレスが示すタグ
領域に格納されている外部アドレスとの間で、データ転
送を行うことにより、外部メモリデバイス2からデュア
ルポートメモリ100へのデータ読み出し、又は、デュ
アルポートメモリ100から外部メモリデバイス2への
データ書き込みを実現する。
【0101】リクエストデータは、エントリーコントロ
ーラ113にて作成され、発行されるが、それらは、発
行された順に従って、読出リクエスト、書込リクエスト
に分別されてリードリクエストキュー114、ライトリ
クエストキュー115に複数蓄積される。リクエストデ
ータをメモリコントローラ116に発行すれば、エント
リーコントローラ113はカレントステートビット列に
おいて、通知されたエントリー領域に割り当てられたビ
ットを使用中に設定する。一方、通知されているエント
リーアドレスEntr_Addrにより特定されるタグ領域に、
マスタデバイス103から発行された外部アドレスExt_
Addrを格納させる。以上の処理により、マスタデバイス
103に割り当てられたFIFO領域が、デュアルポートメ
モリ100から読み出されたデータrdataの格納用、外
部メモリデバイス2に書き込むべきデータwdataの格納
用に割り当てられることなる。
【0102】FIFO領域を未使用に開放する処理の詳細は
以下の通りである。例えば読出リクエストの発行後、外
部メモリデバイス2からFIFO領域へとデータが読み出さ
れれば、エントリーコントローラ113は、FIFO領域に
おけるデータがデュアルポートメモリ100からマスタ
デバイスへと転送されるのを待つ。かかる転送が行われ
れば、そのFIFO領域に、当該データを格納しておく必要
はないので、エントリーコントローラ113は、カレン
トステートビット列においてそのFIFO領域に対応するビ
ットを使用中から未使用に変更する。
【0103】書込リクエストの発行後、マスタデバイス
103からFIFO領域にデータが書き込まれれば、エント
リーコントローラ113は、FIFO領域におけるデータが
デュアルポートメモリ100から外部メモリデバイス2
へと転送されるのを待ち、かかる転送が行われれば、エ
ントリーコントローラ113は、カレントステートビッ
ト列においてそのFIFO領域に対応するビットを使用中か
ら未使用に変更する。
【0104】以上のようにカレントステートビット列に
おける各ビットを更新することにより、各FIFO領域の使
用状況が、リアルタイムにカレントステートビットに反
映されることなる。尚、上述したように、複数のFIFO領
域は、読み出し用、書き込み用にそれぞれに割り当てら
れているので、マスタデバイス103に空領域を割り当
てるにあたって、エントリーコントローラ113は、ア
クセスコマンドが外部メモリデバイス2からの読み出し
を要求するものか、外部メモリデバイス2への書き込み
を要求するものかを考慮した、FIFO領域の割り当てを行
う。
【0105】外部メモリデバイス2からのデータ読み出
しを要求する旨のアクセスコマンドをマスタデバイスが
発行した場合、エントリーコントローラ113は、デー
タ読出用に割り当てられたFIFO領域から、当該データ転
送において入出力に用いるべきFIFO領域を選んで、その
エントリーアドレスEntr_Addrをマスタデバイスに出力
する。また、外部メモリデバイス2へのデータ書き込み
を要求する旨のアクセスコマンドをマスタデバイスが発
行した場合、データ書込用に割り当てられたFIFO領域か
ら、当該データ転送において入出力に用いるべきFIFO領
域を選んで、そのエントリーアドレスEntr_Addrをマス
タデバイスに出力する。
【0106】このように、FIFO領域を、外部メモリデバ
イス2からのデータ読み出し用、外部メモリデバイス2
へのデータ書き込み用に分けることにより、外部メモリ
デバイス2からのデータ読み出し及び外部メモリデバイ
ス2へのデータ書き込みのうち、何れか一方が集中した
場合においても、他方の処理が遅延することを防止する
ことができる。
【0107】メモリコントローラ116は、リードリク
エストキュー114、ライトリクエストキュー115に
蓄積された複数のリクエストデータを1つずつ取り出し
て、デュアルポートメモリ100−外部メモリデバイス
2間のデータ転送を行う。外部メモリデバイス2−デュ
アルポートメモリ100間のデータ転送が外部メモリデ
バイス2からのデータ読み出しである場合、メモリコン
トローラ116は、リクエストデータをリードウェイト
キュー117に格納する。そして、メモリコントローラ
116は、外部メモリデバイス2からリードデータが出
力されるのを待ち、リードデータが出力され、それをデ
ュアルポートメモリ100のデータユニット101に格
納すると、リードウェイトキュー117に格納されてい
るリクエストデータをリードアクノウレッジキュー11
8、119、120に出力する。
【0108】リードアクノウレッジキュー118、11
9、120は、リードウェイトキュー117から出力さ
れるリクエストデータのうち、各マスタデバイスに対応
するものを、各マスタデバイス毎に格納する。各マスタ
デバイス毎のリクエストデータが各リードアクノウレッ
ジキュー118、119、120に格納されれば、ロー
カルコントローラ109、110、111は、かって読
出コマンドを発行することにより要求した外部メモリデ
バイス2−デュアルポートメモリ100間のデータ読み
出しが、既に完了していることを知ることができる。こ
うして転送完了を知ったローカルコントローラ109、
110、111が、デュアルポートメモリ100からマ
スタデバイス103、104、105へのデータ読み出
しを要求する旨の読出コマンドを発行し、上述したよう
なデュアルポートメモリ100−ローカルバッファ10
6、107、108間のデータ転送を行えば、デュアル
ポートメモリ100に格納されているデータが順次各マ
スタデバイスに引き渡されることなる。
【0109】アドレス選択回路121は、アクセスコマ
ンドにおいてアクセス先としてマスタデバイス103、
104、105から発行される外部アドレスExt_Addrを
選択的に出力する。アービター112により要求が許可
されたマスタデバイス103が、外部メモリデバイス2
−デュアルポートメモリ100間のデータ転送を要求し
ている場合、アドレス選択回路121は、当該マスタデ
バイス103により出力される外部アドレスExt_Addrを
タグ領域に格納させるよう、マスタデバイス103によ
り出力された外部アドレスExt_Addrをタグ領域に出力す
る。アービター112により要求が許可されたマスタデ
バイス103が、マスタデバイス103−デュアルポー
トメモリ100間のデータ転送を要求している場合、デ
ータユニット101−マスタデバイス間のデータ転送を
行わせるべく、マスタデバイスから出力されたエントリ
ーアドレスEntr_Addrをデータユニット101に出力す
る。
【0110】アドレス選択回路122は、デュアルポー
トメモリ100−外部メモリデバイス2間のデータ転送
を行う場合は、エントリーコントローラ113から出力
されるエントリーアドレスEntr_Addrをデータユニット
101、タグユニット102に出力する。一方、デュア
ルポートメモリ100−マスタデバイス103、10
4、105間のデータ転送を行う場合は、アドレス選択
回路121を介してマスタデバイス103、104、1
05から出力されるエントリーアドレスEntr_Addrをデ
ュアルポートメモリ100のデータユニット101に出
力する。
【0111】以上のように本実施形態によれば、デュア
ルポートメモリ100を介して、マスタデバイス103
−外部メモリデバイス2間のデータ転送を行うことがで
きる。 (第5実施形態) 第5実施形態では、外部メモリデバ
イス2とマスタデバイス103〜105との間の入出力
に用いられていたデュアルポートメモリ100を、マス
タデバイス103、104、105のワークエリアとし
て利用させる場合の改良に関する。図17は、第5実施
形態に係るデータ処理装置を示す図である。
【0112】デュアルポートメモリ100をワークエリ
アとして利用するため、第5実施形態に係るマスタデバ
イス103、104、105は、ワークエリアとして用
いられるエントリー領域テーブル123、124、12
5保持している。具体的には、本テーブルは、ワークエ
リアについてのエントリーアドレスEntr_Addrと、その
ワークエリアが割り当てられたマスタデバイスの識別情
報Idとを対応づけている。
【0113】また第4実施形態におけるアクセスコマン
ドは、外部メモリデバイス2からのデータ読み出し、又
は、外部メモリデバイス2へのデータ書き込みを要求す
るものであったが、第5実施形態におけるアクセスコマ
ンドは、デュアルポートメモリ100からマスタデバイ
ス103へのデータ読み出し、又は、マスタデバイス1
03からデュアルポートメモリ100へのデータ書き込
みを要求するコマンド、即ち、デュアルポートメモリ1
00に対するデータ読み出し、又は、データ書き込みを
要求するコマンドであり、第5実施形態に係るマスタデ
バイス103は、こうしたデュアルポートメモリ100
に対するアクセスコマンドをアービター112に対して
発行する。そのため、図17では、各マスタデバイスか
らは、エントリーアドレスEntr_Addrが発行されるもの
として記載されている。
【0114】第5実施形態に係るアービター112は、
マスタデバイス103、104、105によりデュアル
ポートメモリ100に対してのアクセスを要求するアク
セスコマンドが発行されれば、第4実施形態同様、デュ
アルポートメモリ100に対するデータ転送を、当該マ
スタデバイス103に対して許可するか、否かを判定す
る。
【0115】第5実施形態に係るローカルコントローラ
109、110、111は、マスタデバイス103〜1
05によりデュアルポートメモリ100に対するアクセ
スコマンドが発行され、デュアルポートメモリ100に
対するデータ転送が、アービター112により許可され
れば、当該アクセスコマンドにより指示されたエントリ
ー領域と、マスタデバイス103〜105との間のデー
タ転送を行う。これにより、マスタデバイス103〜1
05からエントリー領域へのデータ書き込み、又は、エ
ントリー領域からマスタデバイス103〜105へのデ
ータ読み出しが実現される。
【0116】例えば、あるマスタデバイス103が自装
置に割り当てられたエントリー領域xに対して所定のデ
ータを書き込む旨のアクセスコマンドを発行し、別のマ
スタデバイス104が、そのエントリー領域xに書き込
まれたデータを読み出す旨のアクセスコマンドを発行し
たとする。このように2つのマスタデバイス103,10
4が、エントリー領域に対するデータ書き込み、データ
読み出しを行えば、マスタデバイス103、104は、
エントリー領域xを介して、データを受け渡しを行うこ
とができる。
【0117】以上のように本実施形態によれば、マスタ
デバイスとデュアルポートメモリ100との間のデータ
読み出し、データ書き込みを行うことにより、マスタデ
バイス103、104間のデータの受け渡しが可能とな
り、マスタデバイス同士の連携作業が推進される。 (第6実施形態)外部メモリデバイス2−デュアルポー
トメモリ100間のDMA転送を、各マスタデバイスが自
由に実行することができるようにした改良に関する。第
6実施形態に係るデータ処理装置の構成を図18に示
す。
【0118】図18において、データ処理装置には、DM
Aコントローラ126が備えられており、第6実施形態
において、マスタデバイス103、104、105は、
外部メモリデバイス2−デュアルポートメモリ100間
のDMA転送を行う旨のDMAコマンドをDMAコントローラに
出力し、DMAコマンドと共にDMAアドレスをDMAコントロ
ーラ126に発行する。ここでDMAアドレスは、転送元
及び転送先となるエントリーアドレスEntr_Addr、外部
アドレスExt_Addrを示す。DMAコントローラは、DMA転送
を要求するアクセスコマンド(DMAコマンドという)が
発行されると、このアクセスコマンドにおいて、転送元
及び転送先として指定されているエントリーアドレスEn
tr_Addr、外部アドレスExt_Addrを保持すると共に、他
のアクセスコマンドの場合と同様、このDMAコマンドに
おけるデータ転送の許可をアービター112に求める。
デュアルポートメモリ100に対してのアクセスがアー
ビター112に許可されれば、アクセスコマンドにて指
定されたエントリーアドレスEntr_Addrに対応するタグ
領域に、アクセスコマンドにて指定された外部アドレス
Ext_Addrを格納させ、かつ当該エントリーアドレスExtr
_Addrを転送方向に併せて、リードリクエストキュー1
14若しくはライトリクエストキュー115に格納する
ことにより、エントリーアドレスEntr_Addrにより指示
されたエントリー領域と、外部アドレスExt_Addrにより
示される外部領域との間のデータ転送をメモリコントロ
ーラ116に行わせる。
【0119】メモリコントローラ116は、第4実施形
態と同様、外部メモリデバイス2とデュアルポートメモ
リ100との間のデータ転送を行う。このようなデータ
転送が行われれば、メモリコントローラ116は、要求
されたデータ転送が完了した旨の通知DMA_doneを各マス
タデバイスに出力して、DMAコマンドが遂行されたこと
を各マスタデバイスに知らせる。
【0120】以上のように本実施形態によれば、マスタ
デバイス103〜105はマスタデバイス103〜10
5−外部メモリデバイス2間のデータ転送と同様、外部
メモリデバイス2−デュアルポートメモリ100間のデ
ータ転送をDMAコントローラに命じることができるの
で、外部メモリデバイス2から読み出すべきデータを先
行的にデュアルポートメモリ100に格納しておくこと
ができ、マスタデバイスの外部メモリからのデータ読み
出しを高速に行うことができる。
【0121】(第7実施形態) 第7実施形態は、ある
マスタデバイスに対するデュアルポートメモリ100の
利用許可を、調整させることができるアービター112
を提供する改良に関する。第7実施形態に係るアービタ
ー112の構成を図19に示す。図19に示すように、
アービター112は、リングレジスタ131、シフト制
御部132、調停部133、格納制御部134からな
る。
【0122】リングレジスタ131は、リング状に接続
されているn個のレジスタからなり、各レジスタには、
各マスタデバイスについての識別情報が格納されてい
る。シフト制御部132は、nサイクルにおいて、n個の
レジスタに格納されているn個の識別情報のそれぞれを
カレント情報として特定するよう、n個のレジスタのそ
れぞれに格納されている識別情報を巡回シフトさせる。
【0123】調停部133は、nサイクルのうち、マス
タデバイスxについての識別情報がカレント情報として
特定されているサイクルにおいて、当該マスタデバイス
xによりアクセスコマンドが発行された場合、当該マス
タデバイスxに対して、デュアルポートメモリ100内
のエントリー領域を介したデータ転送を許可する。一方
調停部133は、マスタデバイスxについての識別情報x
がカレント情報であり、マスタデバイスxがカレントと
して特定されているサイクルにおいて、当該マスタデバ
イスxがアクセスコマンドを発行していない場合は、マ
スタデバイスxより優先順位が低いマスタデバイスのう
ち、優先順位が最も高いものであって、アクセスコマン
ドを発行したものに対して、データ転送を許可する。
【0124】更にマスタデバイスxがアクセスコマンド
を発行せず、マスタデバイスxより優先順位が低いマス
タデバイスもアクセスコマンドを発行していない場合、
マスタデバイスxより優先順位が高いマスタデバイスの
うち、優先順位が最も高いものであって、アクセスコマ
ンドを発行したものに対して、データ転送を許可する。
例えば、カレントが優先順位=3のマスタデバイスxであ
る場合、優先順位=3のマスタデバイスxがアクセスコマ
ンドを発すれば、このマスタデバイスxに対するデュア
ルポートメモリ100を介したデータ転送を許可する。
一方、このマスタデバイスxがアクセスコマンドを発し
ていないが、優先順位=4,5,6,7というように、優先順位
=3より優先順位が低いマスタデバイスがアクセスコマン
ドを発している場合、これらのマスタデバイスのうち、
最も優先順位が高いマスタデバイス(この場合なら、優
先順位=4のマスタデバイスとなる)に対して、デュアル
ポートメモリ100を介したデータ転送を許可する。更
に、当該マスタデバイスx及びマスタデバイスxより優先
順位が低いマスタデバイスはアクセスコマンドを発行し
ていないが、優先順位=1,2というように、優先順位=3よ
り優先順位が高いマスタデバイスがアクセスコマンドを
発行している場合、これらのマスタデバイスのうち、優
先順位が最も高いマスタデバイス(この場合なら、優先
順位=1のマスタデバイスとなる)にデュアルポートメモ
リ100を介したデータ転送を許可する。
【0125】格納制御部134は、複数マスタデバイス
のうち、特定のマスタデバイス(マスタデバイスxとす
る)についてのデータ転送を、n回につきm回(mは、n>m
を満たす整数)の割合で許可させたい場合、図20に示
すように、前記n個のレジスタのうち、m個のレジスタに
マスタデバイスxについての識別情報xを格納させる。こ
こで識別情報xは、n個のレジスタのうち、m個のものに
格納されており、識別情報xは、nサイクルのうち、mサ
イクルにおいて、カレント情報として特定されるので、
マスタデバイスxによるデュアルポートメモリ100の
アクセスは、nサイクルにつきmサイクル(n>m)の割合で
許可される。よって、マスタデバイスxによるメモリア
クセス頻度は調整されることなる。
【0126】以上のように本実施形態によれば、あるマ
スタデバイスに対してnサイクルにつきmサイクル(n>m)
の割合で許可させるという頻度調整を行うことができる
ので、アクセス頻度を自由に設定することができる。
尚、本実施形態において、どのマスタデバイスについて
の識別情報がカレント情報になろうと、特定のマスタデ
バイスについては、そのマスタデバイスからアクセスコ
マンドが発行され次第、デュアルポートメモリ100を
介したデータ転送を許可しても良い。
【0127】(第8実施形態) 第8実施形態は、デー
タ処理装置を複数のメディア処理を行うメディアコアプ
ロセッサとして実施する場合の実施形態である。図21
は、第8実施形態における外部メモリデバイス2のメモ
リ割り当てを示す図である。本図において、外部メモリ
デバイス2上には、符号化ストリームバッファ領域19
8、画像フレーム領域199が割り当てられている。
【0128】符号化ストリームバッファ領域198は、
外部から入力されてきたMPEGストリームを未復号のまま
蓄積しておくための領域である。ここでMPEGストリーム
とは、複数のエレメンタリーストリームを含むビットス
トリームである。エレメンタリーストリームには、動画
ストリームと、音声ストリームとがある。動画ストリー
ムは、複数のマクロブロック(MB)からなる。動画ストリ
ームは、このマクロブロックを符号化単位として、画像
間の時間的相関性に基づいて情報圧縮されている。また
復号時にもこのマクロブロックを復号化単位としてフレ
ーム間予測方式の動き補償が行われる。マクロブロック
は、横16×縦16の画素データからなる。ここで横16×縦
16の画素データは、横8×縦8の輝度データからなる輝度
ブロックY0,Y1,Y2,Y3を有しており、横8×縦8の青色差
データからなる青色差ブロックCbと、横8×縦8の赤色差
データからなる赤色差ブロックCrとを含む。
【0129】画像フレーム領域199は、動画ストリー
ムを復号することにより得られた画素データや静止画像
データ、OSDピクセルデータが格納されている。図22
は、第9実施形態に係るデータ処理装置に内部構成を示
す図である。図22において、マスタデバイスは10個実
装されており、各マスタデバイスは、ビデオ復号処理、
オーディオ復号処理、ビデオ出力処理、コンピュ−タ・
グラフィックス描画処理等を始めとする様々なメディア
処理を実行する。
【0130】各マスタデバイスがメディア処理を行うに
あたって、外部メモリデバイス2は、MPEGストリームの
復号処理を始め、各種処理の作業用に用いられる。続い
て、メディアコアプロセッサとしての処理を行う場合に
おけるデータ処理装置の内部構成について説明する。図
22に示すようにデータ処理装置は、ストリームユニッ
ト201、I/Oバッファ202、Setupプロセッサ20
3、ビットストリームFIFO204、VLD205、TE20
6、POUA207、POUB208、POUC209、オーディオ
ユニット210、IOP211、VBM212、ビデオユニッ
ト213、HOSTユニット214、RE215、FILTER21
6からなる。これらの構成要素のうち、マスタデバイス
であるものについては、マスタデバイス名(master0,1,
2,3,4・・・・・8,9)を付して示している。また本図では、ロ
ーカルバッファ106、ローカルコントローラ109、
リードアクノウレッジキュー118等を1つのマスタ周
辺回路として表記している。尚、データ処理装置の内部
構成のうち、デュアルポートメモリ100とマスタデバ
イスとの間の接続関係を省略すると、データ処理装置の
内部構成は、図23のように表される。本図からも明ら
かであるように、外部メモリデバイス2及びデュアルポ
ートメモリ100は、マスタデバイスmaster0,1,2,3,4・
・・・・8,9によるアクセスが集中することなる、以降、メ
ディアコアプロセッサとして機能するデータ処理装置の
構成要素について説明する。
【0131】ストリームユニット201は、記録媒体や
通信媒体からMPEGストリームが取り出されてメディアコ
アプロセッサに入力されてくると、MPEGストリームを動
画ストリーム、音声ストリームに分離してI/Oバッファ
202に書き込む。Setupプロセッサ(Setup)203は、
マスタデバイス(master7)であり、MPEGストリームに多
重化されている音声ストリームを復号して、非圧縮の音
声データをマスタ周辺回路及びデュアルポートメモリ1
00を介して外部メモリデバイス2に書き込む。音声ス
トリームは、IOP211により順次ビットストリームFIF
O204に供給され、Setupプロセッサ203は、このビ
ットストリームFIFO204から音声ストリームを取り出
して、音声ストリームの復号を行う。
【0132】可変符号長デコード部(VLD)205は、動
画ストリームからマクロブロックMBを取り出して、マク
ロブロックMBに含まれている4つの輝度ブロックY0,Y1,
Y2,Y3と、2つの色差ブロックCb,Crとに対して可変符号
長デコードを行う。動画ストリームは、IOP211によ
り順次ビットストリームFIFO204に供給され、VLD2
05は、このビットストリームFIFO204から動画スト
リームを取り出して、動画ストリームの復号を行う。
【0133】トランスフォームエンジン部(TE)206
は、マスタデバイス(master3)であり、VLD205により
可変符号長デコードがなされた4つの輝度ブロックY0,Y
1,Y2,Y3と、2つの色差ブロックCb,Crとに対して逆量子
化及び逆離散余弦変換を行い、その結果をマスタ周辺回
路及びデュアルポートメモリ100を介して外部メモリ
デバイス2に書き込む。
【0134】ピクセルオペレーションユニットA(POUA)
207は、逆量子化及び逆離散余弦変換がなされた4つ
の輝度ブロックY0,Y1,Y2,Y3と、2つの色差ブロックCb,C
rとが外部メモリデバイス2に書き込まれると、これら4
つの輝度ブロックY0,Y1,Y2,Y3と、2つの色差ブロックC
b,Crとを外部メモリデバイス2から読み出し、併せて、
これに対応する参照画像を外部メモリデバイス2におけ
る画像フレーム領域199から読み出す。その後、参照
画像に対してハーフペル処理を行い、その結果を平均化
したものに、逆量子化及び逆離散余弦変換がなされた4
つの輝度ブロックY0,Y1,Y2,Y3と、2つの色差ブロックC
b,Crとを足し合わせる(以上の処理は動き補償と呼ばれ
る。)。その後、動き補償の結果をマスタ周辺回路及び
デュアルポートメモリ100を介して外部メモリデバイ
ス2の画像フレーム領域199に書き込ませる。
【0135】また、POUA207は、オンスクリーンディ
スプレイ(OSD)の描画処理を行う。OSDとは、操作者の指
示に従って動画像上にオーバレイされる文字フォントや
コンピュ−タグラフィックスであり、現在時刻を表示す
るためのカウンタや、『再生』『停止』『録画』等、デ
ータ処理装置現在行っている処理内容を表示画面上に表
示する際に用いられる。POUA207が行うのは、デュア
ルポートメモリ100とマスタデバイスとの間のデータ
転送であり、外部メモリデバイス2とデュアルポートメ
モリ100との間のデータ転送は、POUC209に委ねて
いる。
【0136】ピクセルオペレーションユニットB(POUB)
208は、画像に対するフィルタリング処理を行い、拡
大・縮小加工を施すマスタデバイス(master2)であり、デ
ュアルポートメモリ100とマスタデバイスとの間のデ
ータ転送を行う。POUA207同様、外部メモリデバイス
2とデュアルポートメモリ100との間のデータ転送
は、POUC209に委ねている。
【0137】ピクセルオペレーションユニットC(POUC)
209は、第7実施形態に示したDMAコマンドを出力す
ることにより、外部メモリデバイス2とデュアルポート
メモリ100との間の入出力を行うマスタデバイス(mas
ter0)である。オーディオユニット210は、I/Oバッフ
ァ202に格納された音声データを順次再生出力する。
【0138】I/Oプロセッサ(IOP)211は、以下に示す
3つの転送処理を行うマスタデバイスである。1つ目の転
送処理は、ストリームユニット201から順次入力さ
れ、I/Oバッファ202に順次蓄積されるMPEGストリー
ムをマスタ周辺回路及びデュアルポートメモリ100を
介して外部メモリデバイス2の符号化ストリームバッフ
ァ領域198に書き込むというものである。2つ目の転
送処理は、Setupプロセッサ203及びVLD205による
復号処理の進捗に応じて、ビットストリームFIFO204
に動画ストリーム、音声ストリームを供給する処理であ
る。即ち、IOP211は、ビットストリームFIFO204
に格納されている動画ストリーム及び音声ストリームが
Setupプロセッサ203及びVLD205によりどれだけ復
号されたかを監視する。所定量だけ復号されれば、その
所定量のMPEGストリームを補うよう、外部メモリデバイ
ス2から動画ストリーム及び音声ストリームを読み出し
て、ビットストリームFIFO204に供給する。これによ
り、ビットストリームFIFO204のアンダーフローが避
けられることになり、Setupプロセッサ203及びVLD2
05による復号処理は、中断することなく、継続するこ
となる。
【0139】3つ目の転送処理は、Setupプロセッサ20
3の復号処理により順次外部メモリデバイス2に書き込
まれた非圧縮の音声データをデュアルポートメモリ10
0及びマスタ周辺回路を介して読み出して、I/Oバッフ
ァ202に供給する処理である。このように非圧縮の音
声データが順次I/Oバッファ202に供給されれば、そ
れら音声データはオーディオユニット210により順次
再生出力されることなる。
【0140】ビデオユニット(VU)213は、マスタデバ
イス(master4)であり、外部メモリデバイス2の画像フ
レーム領域199から2,3ライン分の画素データを読み
出して、ビデオバッファメモリ(VBM)212に格納し、V
BM212に読み出された2,3ライン分の画素データを映
像信号に変換して外部に接続されたテレビ受像器等のデ
ィスプレィ装置に出力するという処理を行う。
【0141】ホストユニット(HOST)214は、データ処
理装置に接続されたホストマイコンからの指示に応じた
制御を、データ処理装置内部で行うためのマスタデバイ
ス(master5)である。レンダリングエンジン(RE)215
は、コンピュ−タ・グラフィックスにおけるレンダリン
グ処理を行うマスタデバイス(master9)であり、データ
処理装置に専用LSIが接続された場合に制御を行う。
【0142】フィルタ(FILTER)216は、静止画データ
の拡大縮小処理を行う。RE同様、データ処理装置に専用
LSIが接続された場合に制御を行うマスタデバイス(mast
er6)である。以上で、データ処理装置の構成要素につい
ての説明を終え、続いて、メディアコアプロセッサとし
ての処理を行うデータ処理装置において、9つのマスタ
デバイスにおけるデュアルポートメモリ100のアクセ
スを、どのように調停するかについて説明する。図24
は、複数のマスタデバイスに対する優先順位がどのよう
に設定されているかを示す図である。本図によると、マ
スタデバイスについての優先順位は、順位1:POUA20
7、順位2:POUB208、順位3:TE206、順位4:
VU213、順位5:HOSTユニット、順位6:FILTER21
6、順位7:Setupプロセッサ203、順位8:IOP21
1、順位9:RE215というように設定されていること
がわかる。これらの優先順位は、各マスタデバイスに付
与された"1","2","3","4"・・・・・・といった数値と同一で
ある。アービター112は、これらマスタデバイスに付
与された優先順位を参照しながら、第9実施形態に示し
た手順にて、マスタデバイスの何れかに、デュアルポー
トメモリ100を介したデータ転送を許可する。
【0143】第7実施形態で説明したように、シフトレ
ジスタのそれぞれに各マスタデバイスの識別情報を何個
格納するかにより、各マスタデバイスが許可される回数
が調整されるので、各レジスタに各マスタデバイスの識
別情報を格納することにより、各マスタデバイスが許可
される回数を規定している。図24におけるレジスタ欄
は、22個のレジスタのそれぞれに、どのマスタデバイス
の識別情報が格納されているかを示している。本図で
は、22個のレジスタにおいて、11個のレジスタにPOUA2
07の識別情報"1"が格納され、2個のレジスタにはPOUB
208の識別情報"2"が、2個のレジスタにTE206の識
別情報"3"が、2個のレジスタにVU213の識別情報"4"
をそれぞれ格納されている。このように、11個のレジス
タにPOUA207の識別情報"1"が格納されているので、P
OUA207についてのデータ転送は、22サイクルのう
ち、最大11回許可されることなる。POUB208は、22サ
イクルのうち最大2回、TEは、最大2回、VUは、最大2回
許可されることなる。
【0144】よって、各マスタデバイスは、以下に示す
割合で、デュアルポートメモリ100を介したデータ転
送が許可されることなる。 POUA:POUB:TE:VU:FILTER:SETUP:IOP:RE=11:2:2:2:1:1:
1:1:1 以上のように本実施形態によれば、メディア処理を行う
各マスタデバイスは、マスタ周辺回路を介してデュアル
ポートメモリ100に接続されているので、これらのマ
スタデバイスにおける読み書きポートのビット幅を改変
するような必要が生じても、そのような改変を容易に行
うことができる。
【0145】(第9実施形態)デュアルポートメモリ1
00に1バイト=9ビットのメモリセルを使用する場合
の改良に関する。図25は、第9実施形態におけるエン
トリー領域の構成を示す図である。本図に示すように、
第9実施形態において、16バイトのエントリー領域は、
1Byte=9bitのメモリセルを16個配置してなる。こうした
1バイト=9bitのメモリメモリセルを用いれば、以下に示
すような、(1)符号付き8bitデータの受け渡しと、(2)符
号無し8bitデータの受け渡しとを高速に行うことができ
る。
【0146】(1)符号付き8bitデータの受け渡し 1バイト=符号付き8ビットに設定された際、9ビット目
は、符号ビットとして用いられる。図26(a)は、1
バイト=符号付き8ビットに設定された場合のメモリセ
ルのビット割り当てを示す図である。ここでデータ処理
装置に存在する複数のマスタデバイスのうち、一方のマ
スタデバイスがMPEG復号処理における逆量子化コサイン
変換(IDCT)を行うTE206であり、また他方のマスタデ
バイスがMPEG復号処理における動き補償処理を行うPOUA
207であるものとする。IDCTの処理結果は、符号付き
8バイトデータとして表現されるので、これら2つのマス
タデバイスは、符号付き8bitデータの受け渡しを行わね
ばならない。ここでデュアルポートメモリ100は、1
バイト=9ビットのメモリセルにて構成されているの
で、IDCTを行う側のTE206が符号付き8バイトデータ
をデュアルポートメモリ100に書き込み、動き補償を
行う側のPOUA207がそのように書き込まれた符号付き
8バイトデータをデュアルポートメモリ100から読み
出して利用すると、符号付き8バイトデータの引き渡し
は、これら2つのマスタデバイス間において、高速に行
われることなる。
【0147】(2)符号無し8bitデータの受け渡し 1バイト=符号無し8ビットに設定された際、9ビット
目は、マスクビットとして用いられる。図26(b)
は、1バイト=符号無し8ビットに設定された場合のメ
モリセルのビット割り当てを示す図である。ここで、デ
ュアルポートメモリ100から外部メモリデバイス2へ
のデータ書き込みを行う場合、エントリー領域に含まれ
る32バイトのデータのうち、外部メモリデバイス2に書
き込むべき1バイトデータは、その9ビット目に位置する
マスクビットをオフ"0"に設定する。一方、外部メモリ
デバイス2への書き込みを禁止させたい1バイトデータ
は、その9ビット目に位置するマスクビットをオン"1"に
設定する。
【0148】デュアルポートメモリ100から外部メモ
リデバイス2への書き込み時において、マスクビットが
オフ"0"に設定された1バイトデータは外部メモリデバイ
ス2に書き込まれる。一方、マスクビットがオン"1"に
設定された1バイトデータは外部メモリデバイス2に書
き込まれず、外部メモリデバイス2の元の値が維持され
ることなる。図27は、マスクビットの設定時におい
て、外部メモリデバイス2がどのように書き込まれるか
を示す図である。本図の下段は、領域(1)〜(5)からなる
エントリー領域を示している。このうち、領域(1)(3)
(5)を構成する1バイトデータは、マスクビットが1に設
定され、領域(2)(4)を構成する1バイトデータは、マス
クビットが0に設定されているものとする。そうする
と、外部メモリデバイス2のうち、領域(2)(4)に対応す
る部分は、エントリー領域の内容により上書きされる
が、領域(1)(3)(5)に対応する部分は、エントリー領域
を用いた上書きから除外され、元の値を維持することな
る。
【0149】各1バイトデータを外部メモリデバイス2
に書き込むか否かはマスクビットを用いて設定されるの
で、マスクビットは、画像に文字パターンを合成するよ
うな用途に応用することができる。ここで外部メモリデ
バイス2に一画面分の画像データが格納されているもの
とする。外部メモリデバイス2に格納された画像データ
を文字パターンと合成させるには、マスタデバイスはい
わゆるRead & Modify& Writeを行わねばならない。即
ち、各マスタデバイスは、外部メモリデバイス2に格納
された画像データを一旦読み出し(Read)、それを取り込
んでから、文字パターンと合成する処理を行い(Modif
y)、文字パターンを合成した後、外部メモリデバイス2
に書き戻す(Write)という処理を行わねばならない。こ
の際、各マスタデバイスは、外部メモリデバイス2に格
納された画像データの読み出しと、読み出された画像デ
ータの書き込みという2つの処理を行わねばならないの
で、処理負荷は、大きくなってしまう。
【0150】そこで、マスクビットを利用すれば、外部
メモリデバイス2に格納された画像データと、文字パタ
ーンとの合成を以下のように簡易に行うことができる。
文字パターンと画像データとの合成を行うにあたって、
デュアルポートメモリ100には、文字データを格納し
ておく。この文字データは、背景部と、ストローク部と
からなる。ここで、デュアルポートメモリ100に格納
されている1バイトデータのうち、文字の背景部に該当
するものには、マスクビットがオン"1"の設定を、1バイ
トデータのうち、文字のストローク部分に該当するもの
には、マスクビットがオフ"0"の設定を行う。
【0151】マスクビットがこのように設定された状態
で、デュアルポートメモリ100から外部メモリデバイ
ス2へのデータ書き込みが行われれば、外部メモリデバ
イス2の画像のうち、文字のストローク部分に該当する
部分が、デュアルポートメモリ100に格納されている
データを用いて上書きされ、外部メモリデバイス2の画
像のうち、文字の背景部分に該当する部分は、デュアル
ポートメモリ100に格納されたデータを用いた上書き
から除外される。マスクビットを設定した上で、デュア
ルポートメモリ100に格納された文字パターンを外部
メモリデバイス2に格納されている画像データに書き込
むことにより、画像と文字とが合成された合成画像を容
易に得ることができる。
【0152】上記実施形態に基づいて説明してきたが、
現状において最善の効果が期待できるシステム例として
提示したに過ぎない。本発明はその要旨を逸脱しない範
囲で変更実施することができる。代表的な変更実施の形
態として、以下(a)(b)(c)・・・・のものがある。 (a)図22に示したデュアルポートメモリ100のタ
グ領域に、図28に示すデータを格納しておいてもよ
い。ここでは1つのコマンドが2つのタグ領域から構成さ
れる際の例を示している。図28における22ビットに位
置するTag2Validは、1つのコマンドのうち、2つ目のタ
グ情報が有効か否かを示すフラグである。23ビット目に
位置するMBアクセスビットは、マクロブロックの格納用
であるか否かを示す符号である。24ビット目におけるdo
ne bitは、マスタデバイスが要求した転送の最後のデー
タか否かを示す符号である。25ビット目におけるDMAモ
ードビットは、メモリ間転送が外部メモリデバイス2−
デュアルポートメモリ100間のデータ転送であるか、
外部メモリデバイス2−マスタデバイス間のデータ転送
であるかを示す。26ビット目における16B/32Bアクセス
フラグは、1つのエントリー領域を構成する2つのバンク
領域のうち、片方(16バイト分)が有効であるか、両方(3
2バイト分)が有効であるかを示す。27ビット目のTag1Va
lidは、1つのコマンドのうち、1つ目のタグ情報が有効
か否かを示すフラグである。28ビットから30ビットまで
はマスタデバイスIDであり、31ビットにおけるPOU DMA
MODEフラグは、POU DMA MODEがオン"1"されているか否
かを示す符号である。
【0153】(b)各マスタデバイスに制御バスに接続
させて、マスタデバイス間の情報交換を行わせてもよ
い。制御バスは、各マスタデバイスが所定の取り決めに
従ってデータ書き込み時のエントリアドレスを互いに通
知する際、当該エントリアドレスを伝送させるためのバ
スである。複数のマスタデバイスのうち少なくとも1つ
以上が、外部メモリデバイス2へのデータ書き込みを要
求した場合、外部メモリデバイス2においてデータが書
き込まれた領域の先頭部を示すエントリアドレスを制御
バスに伝送させ、複数のマスタデバイスのうち他のもの
は、制御バスに伝送されたエントリアドレス以降に格納
されているデータの読み出しを要求する。
【0154】複数のマスタデバイスのうち少なくとも1
つ以上が、外部メモリデバイス2へのデータ書き込みを
要求した場合、外部メモリデバイス2においてデータが
書き込まれた領域の終端部を示す終了アドレスを制御バ
スに伝送させ、複数のマスタデバイスのうち他のもの
は、制御バスに伝送された終了アドレスの次のアドレス
からのデータ書き込みを要求する。
【0155】(c)第3実施形態において外部メモリデ
バイス2における使用状況の統合管理を行うメモリアド
レスサーバを設けてもよい。メモリアドレスサーバは、
アドレステーブルを有しており、外部メモリデバイス2
内の各メモリの使用状況を1Kbitのブロックを最小単位
として管理している。外部メモリデバイス2においてブ
ロックがn個存在するものとすると、メモリサイズが1Kb
it×nブロックとなる。その一方アドレステーブルは、2
bit×nのサイズとなる。アドレステーブルにおける2bit
は、外部メモリデバイス2におけるブロックの使用状況
を示している。ここで外部メモリデバイス2におけるブ
ロックが未使用なら、アドレステーブルにおける2bitは
「00」となる。ブロックが書込中ならアドレステーブル
における2bitは「01」、ブロックが書込済みならアドレ
ステーブルにおける2bitは「10」となる。ブロックが未
使用であるが、その使用が予約されている場合、アドレ
ステーブルにおける2bitは「11」となる。
【0156】何れかのマスタデバイスが外部メモリデバ
イス2へのデータ書き込みを要求しようとした場合、そ
の使用状況が未使用に設定されている領域のアドレスを
当該マスタデバイスに通知し、何れかのマスタデバイス
の要求に従って外部メモリデバイス2にデータが書き込
まれた場合、その領域に対応する使用状況を書込済みに
更新する。前記複数のマスタデバイスのうち少なくとも
1つ以上が、外部メモリデバイス2上の複数の領域のう
ち何れかのものの使用状況を未使用に解放する旨を要求
した場合、メモリアドレスサーバは、何れかのマスタデ
バイスの要求に従って、その領域に対応する使用状況を
未使用に更新する。各マスタデバイスが、上記のような
アクセスコマンドの発行を行えば、外部メモリデバイス
2の利用効率を向上させることができる。
【0157】(d)第3実施形態において、デュアルポ
ートメモリ26に対してのアクセスを1つのマスタデバ
イスが統合して行ってもよい。本実施形態においてマス
タデバイス4は、外部メモリデバイス2からのデータ読
み出しの際、外部メモリデバイス2において自身に割り
当てられた領域からデュアルポートメモリ26へのデー
タ読み出しを行うともに、マスタデバイス5〜マスタデ
バイス6に割り当てられた領域からデュアルポートメモ
リ26へのデータ読み出しを行う。このようなデータ読
み出しにより、デュアルポートメモリ26上にはマスタ
デバイス4〜マスタデバイス6のデータが全て読み出さ
れたことになる。マスタデバイス5〜マスタデバイス6
は、エントリ情報に示されている領域から自身のローカ
ルメモリ8〜ローカルメモリ9へのDMA転送を行うこと
により、外部メモリデバイス2から読み出されたデータ
を取得する。
【0158】外部メモリデバイス2へのデータ書き込み
の際、マスタデバイス4はローカルメモリ7からデュア
ルポートメモリ26において自身に割り当てられた領域
へのデータ書き込みを行い、それと共にデュアルポート
メモリ26上のマスタデバイス5〜マスタデバイス6に
ついてのエントリ情報をマスタデバイス5〜マスタデバ
イス6に通知する。以降マスタデバイス4は、デュアル
ポートメモリ26においてマスタデバイス4〜マスタデ
バイス6用のデータが書き込まれている領域から、外部
メモリデバイス2においてマスタデバイス4〜マスタデ
バイス6用に割り当てられている領域へのDMA転送を行
う。これにより外部メモリデバイス2にはマスタデバイ
ス4〜マスタデバイス6用のデータが書き込まれること
になる。
【0159】
【発明の効果】以上説明したように本発明に係るデータ
処理装置によれば、複数のマスタデバイスと、1つのメ
モリデバイスとに接続され、メモリデバイスと、各マス
タデバイスとの間のデータ転送を行うデータ処理装置で
あって、2つのポイントを有しており、そのうち一方の
ポイントにてメモリデバイスと接続されるメモリバス
と、それぞれが2つ以上のポイントを有しており、その
うち1つ以上のポイントにて各マスタデバイスと接続さ
れる複数のローカルバスと、メモリデバイスに対するデ
ータ読み出し、及び、メモリデバイスに対するデータ書
き込みを行い、各ローカルバス上では、各マスタデバイ
スが要求する転送レートにてデータ転送を行わせ、メモ
リバス上では、メモリデバイスが要求する転送レートに
てデータ転送を行わせる転送コントローラと、メモリバ
スの他方のポイント、及び、各ローカルバスの1つのポ
イントにて接続された複数のバッファであり、メモリバ
スと、ローカルバスとの間の転送レートの相違を吸収す
るよう、データの入出力を行う複数のローカルバッファ
手段とを備えているので、設計者が各マスタデバイスに
割り当てるべきバンド幅の変更を望んだ場合、ローカル
バスが要求する転送レートを変更すれば良いのでデータ
処理装置全体を再設計する必要はない。メモリデバイス
−ローカルバス側の変更を伴わずに各マスタデバイスに
対してのバンド幅の割り当てを変更することができるの
で、将来データ処理装置の何れかの箇所についてバンド
幅を変更する必要が生じても、設計者は大きな労力を払
うことはない。具体的にいうと、本発明に係るデータ処
理装置がMPEGストリームの復号装置であり、メーカーの
商品開発戦略上の都合により、このMPEGストリームの復
号装置をデジタル衛星放送等の受信装置等の他の装置に
転用することが命じられた場合、複数のマスタデバイ
ス、複数のローカルバス側を再設計すればよく、メモリ
デバイス、ローカルバス側には何の改良を加えなくても
よい。各マスタデバイスにどのようにビット幅が割り当
てられようとも、この変更は複数のローカルバスに対し
て行えばよく、ビット幅の変更前後でも同じメモリデバ
イスに対するメモリ制御を変更する必要は無いので、各
マスタデバイスに対してのバンド幅割当変更を簡易に行
うことができる。
【0160】ここで、前記ローカルバスには、3つ以上
のポイントを有しているものがあり、このうち2つ以上
のポイントには、2つ以上のマスタデバイスが接続され
ており、これら2つ以上のポイントにて接続されたマス
タデバイスにおいてデータ読み出し要求又はメモリデバ
イスへのデータ書き込み要求が競合した場合、 前記マ
スタデバイスは、アービターによる調停の結果、要求が
否認されたマスタデバイスについてのローカルバスにお
けるデータ転送を停止してもよい。オーディオデータ、
副映像、OSD等、サブシステムという系統に分類される
メディア処理を行う複数のマスタデバイスについて、メ
モリデバイスの読み出し要求及びメモリデバイスの書き
込み要求が競合した場合、ローカルバス及びローカルバ
スの一方でのデータ転送を停止させれば良いので、デー
タ処理装置全体の転送効率を低下させずに、調停を行う
ことができる。
【0161】上記第2の目的は、前記メモリデバイスに
はデータ処理装置の動作周波数と異なる動作周波数の同
期クロック信号が供給されており、前記データ処理装置
は更に、一方のポートが前記メモリデバイスの読み書き
ポートに接続していて、他方のポートが前記複数のロー
カルバッファ手段に接続しており、メモリデバイスにお
ける動作周波数とデータ処理装置内部における動作周波
数との相違を吸収するよう、メモリバスと複数のローカ
ルバッファ手段との間でデータの入出力を行うデュアル
ポートメモリデバイスを備えるデータ処理装置により達
成される。メモリデバイスと内部メモリ間のデータ転送
における非同期制御を実現することができ、メモリデバ
イスとデータ処理装置とをそれぞれ固有の動作周波数で
動作させることができる。従って、メモリデバイスの性
能を最大限に発揮できる動作周波数がデータ処理装置に
とって最適な動作周波数と異なる場合に、メモリデバイ
ス及びデータ処理装置を最適な動作周波数で動作させる
ことができる。
【0162】また上記構成において、前記複数のマスタ
デバイスには1つの制御バスが接続されており、複数の
マスタデバイスのうち少なくとも1つ以上が、メモリデ
バイスからのデータ書き込みを要求し、その結果、メモ
リデバイスにおいてデータが書き込まれた場合、その領
域の先頭部を示すエントリアドレスを制御バスに伝送さ
せ、複数のマスタデバイスのうち少なくとも他のもの
は、制御バスに伝送されたエントリアドレス以降に格納
されているデータの読み出しを要求しても良い。あるマ
スタデバイスがメモリデバイスに書き込んだデータを他
のマスタデバイスが利用することができる。
【0163】また上記構成において、前記複数のマスタ
デバイスには制御バスが接続されており、複数のマスタ
デバイスのうち少なくとも1つ以上が、メモリデバイス
へのデータ書き込みを要求した場合、メモリデバイスに
おいてデータが書き込まれた領域の終端部を示す終了ア
ドレスを制御バスに伝送させ、複数のマスタデバイスの
うち他のものは、制御バスに伝送された終了アドレスの
次のアドレスからのデータ書き込みを要求しても良い。
直前にデータ書き込みを行ったマスタデバイスの書き込
み終了アドレスを制御バスを通じて他のマスタデバイス
に転送し、他のマスタデバイスは通知された終了アドレ
スの次アドレス以降をデータの書込先に用いることがで
きる。これによりメモリデバイスの書込先領域を固定化
する場合と比較して、メモリデバイスの利用効率を向上
させることができる。
【0164】また上記構成において、メモリデバイスに
含まれる複数領域のそれぞれについての使用状況が書込
済み、未使用の何れであるかを示す使用状況情報を記憶
しており、何れかのマスタデバイスがメモリデバイスへ
のデータ書き込みを要求しようとした場合、その使用状
況情報が未使用に設定されている領域のアドレスを当該
マスタデバイスに通知するアドレスサーバを備えていて
もよい。メモリデバイスにおける領域の使用状況がエン
トリテーブルに管理されているので、メモリへの書き込
みを要求するマスタデバイスはアドレスサーバに空領域
のエントリアドレスを問い合わせれば、その書込先アド
レスを特定することができる。マスタデバイスのそれぞ
れが空領域を探索しなくても良いので、データ処理装置
全体の処理効率を向上させることができる。
【図面の簡単な説明】
【図1】ワンチップLSIであるデータ処理装置が外部メ
モリデバイス2と共にマルチメディア関連製品に組みま
れて利用される場合を想定した図である。
【図2】データ処理装置の第1の実施形態を説明するも
のである。
【図3】外部メモリデバイス2−バス1間のデータ転送
を示すタイミングチャートである。
【図4】ローカルバッファ13が外部メモリデバイス2
にデータを書き込む際の動作タイミングを示すタイミン
グチャートである。
【図5】ローカルバッファ13が外部メモリデバイス2
からデータを読み出す際の動作タイミングを示すタイミ
ングチャートである。
【図6】ローカルバッファ14が外部メモリデバイス2
にデータを書き込む際の動作タイミングを示すタイミン
グチャートである
【図7】ローカルバッファ14が外部メモリデバイス2
からデータを読み出す際の動作タイミングを示すタイミ
ングチャートである。
【図8】ローカルバッファ13〜ローカルバッファ15
とバス10〜バス12との間に設けられている回路を共
通化する場合の構成を示す図である。
【図9】(a)図8に示したセレクタのうち32bitバッ
ファ61〜32bitバッファ64から32bitバス57〜32bi
tバス60への読み出し時に用いられるもののみを図示
した図である。(b)図8に示したセレクタのうち32bi
tバス57〜32bitバス60から32bitバッファ61〜32b
itバッファ64への書き込み時に用いられるもののみを
図示した図である。
【図10】(a)バス10のビット幅と、4入力-1出力
セレクタ65〜ゲート68が選択する接続線との対応を
示す図である。 (b)バス10のビット幅と、第1〜第4番目のデータ
が転送してくる接続線との組み合わせにおいてセレクタ
71〜セレクタ74がどの接続線の選択出力するかを示
す図である。
【図11】(a)転送レートが32bitである場合のタイ
ミングチャートである。 (b)転送レートが64bitである場合のタイミングチャ
ートである。 (c)転送レートが128bitである場合のタイミングチャ
ートである。
【図12】(a)転送レートが32bitである場合のタイ
ミングチャートである。 (b)転送レートが64bitである場合のタイミングチャ
ートである。 (c)転送レートが128bitである場合のタイミングチャ
ートである。
【図13】複数マスタデバイスがバス10に設けられた
データ処理装置を示す図である。
【図14】デュアルポートメモリ26が設けられたデー
タ処理装置を示す図である。
【図15】第4実施形態の係るデータ処理装置の構成を
示す図である。
【図16】カレントステートビット列の一例を示す図で
ある。
【図17】第5実施形態に係るデータ処理装置の構成を
示す図である。
【図18】第6実施形態に係るデータ処理装置の構成を
示す図である。
【図19】第7実施形態におけるアービター112の構
成を示す図である。
【図20】前記n個のレジスタのうち、m個のレジスタに
マスタデバイスxについての識別情報xを格納させるた場
合の一例を示す図である。
【図21】第8実施形態における外部メモリデバイス2
のメモリ割り当てを示す図である。
【図22】第9実施形態に係るデータ処理装置に内部構
成を示す図である。
【図23】デュアルポートメモリ100とマスタデバイ
スとの間の接続関係を省略して示したデータ処理装置の
内部構成を示す図である。
【図24】複数のマスタデバイスに対する優先順位がど
のように設定されているかを示す図である。
【図25】第9実施形態におけるエントリー領域の構成
を示す図である。
【図26】(a)1バイト=符号付き8ビットに設定さ
れた場合のメモリセルのビット割り当てを示す図であ
る。 (b)1バイト=符号無し8ビットに設定された場合の
メモリセルのビット割り当てを示す図である。
【図27】マスクビットの設定時において、外部メモリ
デバイス2がどのように書き込まれるかを示す図であ
る。
【図28】図22に示したデュアルポートメモリ100
のタグ領域に、格納すべきデータを示す図である。
【図29】一般のDMA転送を行うDMA転送システムを示す
構成図である。
【図30】ビット幅分割により実現されたバンド幅割り
当て技術の一例を示す図である。
【符号の説明】
1 バス 2 メモリデバイス 3 メモリコントローラ 4 DMAマスタ 5 DMAマスタ 6 DMAマスタ 7 ローカルメモリ 8 ローカルメモリ 9 ローカルメモリ 10 バス 11 バス 12 バス 13 バッファ 14 バッファ 15 バッファ 16 アービター 17〜19 メモリI/Fコントローラ 20〜22 接続回路 24 DMAマスタ 25 アービター 26 デュアルポートメモリ 27 制御バス 28 メモリエントリサーバ 100 デュアルポートメモリ 101 データユニット 102 タグユニット 103〜105 マスタデバイス 106〜108 ローカルバッファ 109〜111 ローカルコントローラ 112 アービター 113 エントリーコントローラ 114 リードリクエストキュー 115 ライトリクエストキュー 116 メモリコントローラ 117 リードウェイトキュー 118〜120 リードアクノウレッジキュー 121、122 アドレス選択回路 123〜125 エントリー領域テーブル 126 DMAコントローラ 198 符号化ストリームバッファ領域 199 画像フレーム領域 201 ストリームユニット 202 I/Oバッファ 203 Setupプロセッサ 204 ビットストリームFIFO 205 VLD 206 TE 207 POUA 208 POUB 209 POUC 210 オーディオユニット 211 I/Oプロセッサ 212 VBM 213 ビデオユニット 214 HOSTユニット 215 RE 216 FILTER
───────────────────────────────────────────────────── フロントページの続き (72)発明者 木村 浩三 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 (72)発明者 持田 哲司 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 (72)発明者 落合 利之 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 Fターム(参考) 5B060 AA14 CB01 MB02 5B061 BA01 BB16 DD12 FF01 FF05 GG04 5B077 AA18 BA07 BB03 DD11 DD22

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 複数のマスタデバイスと、1つのメモリ
    デバイスとに接続され、メモリデバイスと、各マスタデ
    バイスとの間のデータ転送を行うデータ処理装置であっ
    て、 メモリデバイスに含まれる複数領域のそれぞれについて
    の使用状況が書込済み、未使用の何れであるかを示す使
    用状況情報を記憶しており、何れかのマスタデバイスが
    メモリデバイスへのデータ書き込みを要求しようとした
    場合、その使用状況情報が未使用に設定されている領域
    のアドレスを当該マスタデバイスに通知するアドレスサ
    ーバを備えることを特徴とするデータ処理装置。
  2. 【請求項2】 前記アドレスサーバは、 何れかのマスタデバイスの要求に従ってメモリデバイス
    にデータが書き込まれた場合、その領域に対応する使用
    状況情報を書込済みに更新する第1更新部を備えること
    を特徴とする請求項1記載のデータ処理装置。
  3. 【請求項3】 前記複数のマスタデバイスのうち少なく
    とも1つ以上が、 メモリデバイス上の複数の領域のうち、データを読み出
    した後の領域についての使用状況を未使用に解放する旨
    を要求し、 前記第1更新部は、 そのマスタデバイスの要求に従って、その領域に対応す
    る使用状況情報を未使用に更新することを特徴とする請
    求項2記載のデータ処理装置。
JP2001321185A 1999-07-12 2001-10-18 データ処理装置 Pending JP2002196975A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001321185A JP2002196975A (ja) 1999-07-12 2001-10-18 データ処理装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP11-198000 1999-07-12
JP19800099 1999-07-12
JP2001321185A JP2002196975A (ja) 1999-07-12 2001-10-18 データ処理装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2000211401A Division JP3327900B2 (ja) 1999-07-12 2000-07-12 データ処理装置

Publications (1)

Publication Number Publication Date
JP2002196975A true JP2002196975A (ja) 2002-07-12

Family

ID=26510712

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001321185A Pending JP2002196975A (ja) 1999-07-12 2001-10-18 データ処理装置

Country Status (1)

Country Link
JP (1) JP2002196975A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005096162A1 (ja) * 2004-03-18 2005-10-13 Matsushita Electric Industrial Co., Ltd. アービトレーション方法及び装置
JP2007529833A (ja) * 2004-07-15 2007-10-25 株式会社ソニー・コンピュータエンタテインメント アウト・オブ・オーダーのdmaコマンドキューにおけるコマンド順序の設定に関する技術
JP2012059252A (ja) * 2010-09-07 2012-03-22 Internatl Business Mach Corp <Ibm> 共用データ・バスに対する階層的バッファ・システムのための方法、集積回路デバイス、およびプロセッサ・デバイス

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005096162A1 (ja) * 2004-03-18 2005-10-13 Matsushita Electric Industrial Co., Ltd. アービトレーション方法及び装置
US7328292B2 (en) 2004-03-18 2008-02-05 Matsushita Electric Industrial Co., Ltd. Arbitration method and device
JP2007529833A (ja) * 2004-07-15 2007-10-25 株式会社ソニー・コンピュータエンタテインメント アウト・オブ・オーダーのdmaコマンドキューにおけるコマンド順序の設定に関する技術
JP2012059252A (ja) * 2010-09-07 2012-03-22 Internatl Business Mach Corp <Ibm> 共用データ・バスに対する階層的バッファ・システムのための方法、集積回路デバイス、およびプロセッサ・デバイス

Similar Documents

Publication Publication Date Title
US6041400A (en) Distributed extensible processing architecture for digital signal processing applications
US5799209A (en) Multi-port internally cached DRAM system utilizing independent serial interfaces and buffers arbitratively connected under a dynamic configuration
US7533196B2 (en) Semiconductor integrated circuit device
JP2002506251A (ja) 共有メモリを有するマルチプロセッサ装置
KR20010029924A (ko) 데이터 처리장치
JP2009296169A (ja) 動画像復号装置および符号化装置
JP3327900B2 (ja) データ処理装置
JP2002196975A (ja) データ処理装置
US8612664B2 (en) Memory management process and apparatus for the same
JP4728083B2 (ja) メディア処理装置
KR100489719B1 (ko) 특수 메모리 장치
JP2002049577A (ja) データ処理装置
US9372817B2 (en) High perfomance DMA controller for video processors
JPH08314793A (ja) メモリアクセス制御方法および該方法を適用した半導体集積回路および画像復号装置
JP5379223B2 (ja) 情報処理装置
JP2004326228A (ja) 並列演算処理装置
JPH113324A (ja) メモリ内蔵のデータ処理装置及び処理システム
JPH11266447A (ja) 集積回路及び集積化方法
US6901487B2 (en) Device for processing data by means of a plurality of processors
JP2002312233A (ja) 信号処理装置
JPH10322643A (ja) 画像データ処理方法及び装置
KR100469284B1 (ko) 디지털 티브이의 버퍼 뱅크 제어 장치
JP4376876B2 (ja) 半導体集積回路装置
CN101552915A (zh) 视频yuv数据的dma传输方法、装置及dma控制器
JP2000207355A (ja) デ―タ転送制御装置