JP3327900B2 - Data processing device - Google Patents

Data processing device

Info

Publication number
JP3327900B2
JP3327900B2 JP2000211401A JP2000211401A JP3327900B2 JP 3327900 B2 JP3327900 B2 JP 3327900B2 JP 2000211401 A JP2000211401 A JP 2000211401A JP 2000211401 A JP2000211401 A JP 2000211401A JP 3327900 B2 JP3327900 B2 JP 3327900B2
Authority
JP
Japan
Prior art keywords
data
bus
memory
bit
master device
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 - Fee Related
Application number
JP2000211401A
Other languages
Japanese (ja)
Other versions
JP2001084215A (en
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2000211401A priority Critical patent/JP3327900B2/en
Publication of JP2001084215A publication Critical patent/JP2001084215A/en
Application granted granted Critical
Publication of JP3327900B2 publication Critical patent/JP3327900B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、複数のデータ転送
要求を効率よく処理するデータ処理装置に関する。
The present invention relates to a data processing device for efficiently processing a plurality of data transfer requests.

【0002】[0002]

【従来の技術】近年、DVD再生装置やデジタル衛星放送
の受信装置といった様々なタイプのマルチメディア関連
製品が民生機器市場に登場しており、それらを開発する
メーカ間の競争もし烈になりつつある。このような背景
にあって、信号処理の応用分野に携わる設計者は、複数
のメディア処理の並列化を効率良く行う汎用信号処理プ
ロセッサの開発に様々な苦心を払っている。複数メディ
ア処理の並列化に苦心が払われるのは、上記のような製
品の開発において、ビデオ、オーディオのデータが多重
化されたMPEGストリームに加えて、コンピュ−タ・グラ
フィックス等のデータを如何に効率良く同時処理するか
が、これらの製品の市場的価値を大きく左右するからで
ある。ここでメディア処理には、ビデオ復号処理、オー
ディオ復号処理、ビデオ出力処理、コンピュ−タ・グラ
フィックス描画処理等を始めとする様々なものがある。
2. Description of the Related Art In recent years, various types of multimedia-related products such as DVD playback devices and digital satellite broadcast receiving devices have appeared on the consumer electronics market, and competition between manufacturers developing them has been intensifying. . Against this background, designers engaged in signal processing application fields are making various efforts to develop general-purpose signal processors that efficiently perform parallel processing of a plurality of media processes. The difficulty in parallelizing multi-media processing is that in the development of such products, in addition to MPEG streams in which video and audio data are multiplexed, data such as computer graphics is also used. This is because whether the products are processed simultaneously efficiently greatly affects the market value of these products. Here, there are various types of media processing such as video decoding processing, audio decoding processing, video output processing, computer graphics drawing processing, and the like.

【0003】このようなメディア処理では、その他のデ
ータ処理と比較して、統計的に複数の独立したDMA転送
を同時に実行する機会が非常に多いという特徴と、また
それぞれのDMA転送の処理の種類によってバンド幅が異
なるという特徴とが顕著に現れるので、その効率化に様
々な注意が必要となる。ここでDMA(Direct Memory Acce
ss)とは中央処理装置(CPU)の介在無しに複数マスタデバ
イスとメモリとの間で転送を行なうことをいう。
[0003] Such media processing is characterized by the fact that there are very many opportunities to execute a plurality of independent DMA transfers at the same time statistically as compared with other data processing, and the type of processing of each DMA transfer. The characteristic that the bandwidth is different depending on the type is noticeable. Here, DMA (Direct Memory Acce
ss) means that data is transferred between a plurality of master devices and a memory without the intervention of a central processing unit (CPU).

【0004】上記のメディア処理の一例において各マス
タデバイスは、ビデオ復号処理、オーディオ復号処理、
ビデオ出力処理、コンピュ−タ・グラフィックス描画処
理等の何れかを実現するアプリケーションプログラム
と、このプログラムを動作させるハードウェアとからな
り、またメディア処理の一例において上記メモリは、こ
れらアプリケーションプログラムが利用するビデオデー
タ、オーディオデータ、コンピュ−タ・グラフィックス
データを格納するものである。
In one example of the above-mentioned media processing, each master device performs video decoding processing, audio decoding processing,
An application program for implementing any of video output processing, computer graphics drawing processing, and the like, and hardware for operating this program. In an example of media processing, the memory is used by these application programs. It stores video data, audio data, and computer graphics data.

【0005】更にDMA転送のバンド幅とは、各マスタデ
バイス、メモリの読み書きポートのビット幅と、マスタ
デバイス、メモリの動作周波数との間の積により表現さ
れる単位である。大凡の値を例示すると、ビデオ復号処
理のアプリケーションプログラムは、動き補償時に参照
画像のDMA転送を行う必要があり、このDMA転送は800Mby
te/sというオーダのバンド幅を要求する。また、オーデ
ィオデータ、コンピュ−タ・グラフィックスデータ用の
アプリケーションプログラムは、50Mbyte/sというオー
ダのバンド幅を要求するものであり、ビデオ出力処理の
アプリケーションプログラムは、「128Mbyte/s×プレー
ン数」というオーダーのバンド幅を要求する。このよう
にバンド幅の必要数が個々のメディア処理において異な
るのは、処理すべきデータサイズやデータ復号負荷の軽
さ・重さがそれぞれのメディア処理においてバラバラだ
からである。
The bandwidth of the DMA transfer is a unit expressed by a product between the bit width of each master device and the read / write port of the memory and the operating frequency of the master device and the memory. As an example of an approximate value, the application program of the video decoding process needs to perform the DMA transfer of the reference image at the time of motion compensation.
Requires a bandwidth on the order of te / s. An application program for audio data and computer / graphics data requires a bandwidth of the order of 50 Mbyte / s, and an application program for video output processing is called “128 Mbyte / s × number of planes”. Request bandwidth on order. The reason why the required number of bandwidths differs in each media processing is that the data size to be processed and the lightness and weight of the data decoding load are different in each media processing.

【0006】以降、一般のDMA転送を行うDMA転送システ
ムと、メディア処理特有の改良が施されたDMA転送シス
テムとを対比して説明する。前者のシステム構成図を図
29に示し、後者のシステム構成図を図30に示す。図
29においてデータ処理装置はメモリ51、メモリコン
トローラ52、アービター53、バス54、マスタデバ
イス45、46、47から構成される。
Hereinafter, a description will be given of a comparison between a DMA transfer system that performs general DMA transfer and a DMA transfer system that has been improved specifically for media processing. The former system configuration diagram is shown in FIG. 29, and the latter system configuration diagram is shown in FIG. 29, the data processing device includes a memory 51, a memory controller 52, an arbiter 53, a bus 54, and master devices 45, 46, and 47.

【0007】マスタデバイス45、46、47は、メデ
ィア処理に係るアプリケーションプログラムを動作させ
ている。各アプリケーションプログラムがDMA転送を要
求した場合、メモリコントローラ52に対してバスリク
エストを発行する。バスリクエストが発行されると、ア
ービター53はマスタデバイス45、マスタデバイス4
6、マスタデバイス47間の調停を行い、調停の結果、
マスタデバイス45、マスタデバイス46、マスタデバ
イス47の何れかの一つに使用権を付与する。バス使用
権を獲得出来なかったものは、データの転送開始を待
ち、使用権が付与された後、データ転送を開始する。
[0007] The master devices 45, 46, 47 operate application programs for media processing. When each application program requests a DMA transfer, it issues a bus request to the memory controller 52. When the bus request is issued, the arbiter 53 sends the master device 45 and the master device 4
6. Arbitration between the master devices 47 is performed, and as a result of the arbitration,
The use right is assigned to any one of the master device 45, the master device 46, and the master device 47. If the right to use the bus cannot be obtained, it waits for the start of data transfer, and after the right to use is given, starts data transfer.

【0008】上述した通りメディア処理にはそれぞれの
アプリケーションプログラムに最適なバンド幅を割り当
てる必要があり、このようなバンド幅割り当て技術に
は、バスを複数に分割することにより得られたビット幅
をマスタデバイス45〜マスタデバイス47のそれぞれ
に割り当てる方法がある。例えばメモリ51の読み書き
ポート及びバスのビット幅が128bitである場合、これを
64bit−32bit−32bitに分割して、これらを各アプリケ
ーションプログラムが動作しているマスタデバイス45
〜マスタデバイス47のそれぞれに割り当てるのであ
る。図30は、ビット幅分割により実現されたバンド幅
割り当て技術の一例を示す図である。図30において12
8bitのバスを64bit、32bit、32bitに分割し、分割によ
り得られたそれぞれのビット幅をマスタデバイス45〜
マスタデバイス47に割り当てている。
As described above, it is necessary to allocate an optimum bandwidth to each application program for media processing. In such a bandwidth allocation technique, a bit width obtained by dividing a bus into a plurality of buses is used as a master. There is a method of assigning each of the devices 45 to the master device 47. For example, when the bit width of the read / write port and bus of the memory 51 is 128 bits,
It is divided into 64 bits-32 bits-32 bits, and these are divided into master devices 45 on which each application program operates.
To the master device 47. FIG. 30 is a diagram illustrating an example of a bandwidth allocation technique realized by bit width division. In FIG. 30, 12
The 8-bit bus is divided into 64 bits, 32 bits, and 32 bits, and the bit widths obtained by the division are divided into master devices 45 to 45.
Assigned to the master device 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間の競合は生じず、メモリバスのバスロッ
クが発生することはない。
At this time, the read / write port in the memory 51 is divided according to the division width of the bus, and the memory controller performs access control inside the memory in parallel. That is, 64-bit, 32-bit, and 32-bit data are read from the memory in parallel, and 64-bit, 32-bit, and 32-bit data are written in the memory in parallel. In order to parallelize such access control, a control circuit (“64bi” in the figure) for simultaneously accessing 64 bits, 32 bits, and 32 bits data
t access controll, 32bit access controll, 32bi
t access controll) must be provided in the memory controller, but in this method of dividing the bit width, the division of the bus does not cause contention between the master device 45 and the master device 47, and the bus lock of the memory bus does not occur. Does not occur.

【0010】ここでマスタデバイス45は、映像復号処
理を行うものと想定しており、64bitというビット幅を
割り当てている。このようにマスタデバイス45により
高いビット幅を割り当てているのは、映像復号処理は他
のメディア処理より高いバンド幅を必要としているため
である。つまりメディア処理では、リアルタイム性を維
持するのに足りる充分なバンド幅が互いに異なるので、
このビット幅を分割する方法では、各アプリケーション
プログラムが必要とするバンド幅に応じて、ビット幅の
分割比率を決定せねばならない。
Here, it is assumed that the master device 45 performs a video decoding process, and allocates a bit width of 64 bits. The reason why the higher bit width is assigned to the master device 45 is that the video decoding process requires a higher bandwidth than other media processes. In other words, in the media processing, the bandwidths enough to maintain the real-time property are different from each other,
In this method of dividing the bit width, the division ratio of the bit width must be determined according to the bandwidth required by each application program.

【0011】最後に上記データ処理装置に用いられるべ
きメモリデバイスについて説明する。上述した信号処理
応用分野は、より大容量で高いバンド幅を有するメモリ
デバイスを要求しており、このような需要にこたえるた
め、半導体プロセスおよび実装技術において様々な技術
革新がなされている。その結果、電子部品市場には高性
能なメモリデバイスが続々と登場しており、そのモデル
チェンジも極めて頻繁に行われている。ここでメモリデ
バイスには、SDRAM,RAMBUS仕様のメモリ等がある。Sync
hronus Dynamic Random Access Memory(SDRAM)とはデー
タのバースト転送を実現し、DRAMと比較して転送能力を
向上させたメモリである。RAMBUS仕様のメモリとは、バ
スとのインターフェイスの仕様が実装方法を含めて厳密
に規定されたメモリでありSDRAMよりも高いバンド幅を
得ることを可能としており、かかるメモリには、D-RDRA
Mと呼ばれるものがある。またデータ処理装置と比較的
大容量のDRAMとを同一の半導体チップ上に搭載するよう
半導体プロセスを行うこと(一般にオンチップ化といわ
れる)も可能となってきている。
Finally, a memory device to be used in the data processing device will be described. The above-mentioned signal processing application fields require memory devices having a larger capacity and a higher bandwidth, and various technical innovations have been made in semiconductor processes and packaging technologies in order to meet such demands. As a result, high-performance memory devices are appearing in the electronic component market one after another, and model changes are being made very frequently. Here, examples of the memory device include SDRAM and RAMBUS specification memory. Sync
The hronus Dynamic Random Access Memory (SDRAM) is a memory that realizes burst transfer of data and has improved transfer capability as compared with DRAM. The RAMBUS specification memory is a memory in which the specification of the interface with the bus is strictly specified including the mounting method, and it is possible to obtain a higher bandwidth than SDRAM.
There is something called M. In addition, it has become possible to perform a semiconductor process so that a data processing device and a relatively large-capacity DRAM are mounted on the same semiconductor chip (generally referred to as on-chip).

【0012】このように多くのメモリデバイスが登場
し、そのモデルチェンジも頻繁であれば、メモリアーキ
テクチャをどのように設計するかという判断に設計者は
戸惑うことになる。このような判断を行うにあたって大
きな要因はやはりバンド幅と製造コストであるが、デー
タ処理装置の将来性を考慮した設計を行うことも必要で
ある。将来性を考慮したメモリアーキテクチャの設計と
は、様々なハードウェアスぺックを有するメモリデバイ
スを採用することができるようにメモリアーキテクチャ
を汎用化しておくことである。
If a large number of memory devices have appeared and model changes are frequent, the designer will be confused by how to design the memory architecture. The major factors in making such a determination are the bandwidth and the manufacturing cost, but it is also necessary to design the data processing device in consideration of its future potential. The design of a memory architecture in consideration of the future is to generalize the memory architecture so that memory devices having various hardware specifications can be adopted.

【0013】[0013]

【発明が解決しようとする課題】ところで第1に説明し
たビット幅を分割して最適なバンド幅を割り当てる方法
は、マスタデバイス45〜マスタデバイス47に対して
のそれぞれに割り当てているビット幅を増やしたり、減
らしたりしようとすると、そのようなビット幅の割当変
更が装置全体の設計変更にまで波及するという第1の問
題点を有している。
The first method of dividing the bit width and allocating the optimum bandwidth is to increase the bit width allocated to each of the master device 45 to the master device 47. In order to reduce or reduce the bit width, there is a first problem that such a change in the allocation of the bit width spreads to a change in the design of the entire device.

【0014】バンド幅の割当変更は、ある装置に設けら
れているデータ処理装置を他の装置に転用する場合等に
必要となる。このような転用は、MPEGストリームの復号
という共通の機能を有する複数製品を並行開発する場合
に、しばしば見受けられるものである。ここで以下に示
すような状況を想定してデータ処理装置の転用について
説明する。図30に示したデータ処理装置はMPEGストリ
ームの復号装置であり、このMPEGストリームの復号装置
は、それまで光ディスクの再生装置に搭載されることを
前提にして開発されたものとする。また本装置は当初は
ディスク再生装置への搭載が前提であったが、メーカー
の商品開発戦略上の都合により、この復号装置をデジタ
ル衛星放送等の受信装置等の他の装置に転用することが
命じられたものとする。以上の理由で復号装置の転用が
命じられると当該装置の設計者は、再生装置特有のメデ
ィア処理に割り当てているビット幅を受信装置特有のメ
ディア処理に割り当てる対処等を行わねばならないが、
この対処を行なおうとすると、従来のデータ処理装置で
はバスの再配線(1)や、メモリデバイスの読み書きポー
トの設計し直し(2)、マスタデバイス45〜マスタデバ
イス47の読み書きポートの設計し直し(3)、メモリコ
ントローラの設計し直し(4)等を考慮する必要がある。
The change of the bandwidth allocation is necessary when a data processing device provided in a certain device is diverted to another device. Such diversion is often found when developing a plurality of products having a common function of decoding an MPEG stream in parallel. Here, diversion of the data processing device will be described assuming the following situation. The data processing device shown in FIG. 30 is an MPEG stream decoding device, and it is assumed that the MPEG stream decoding device has been developed on the premise that it is mounted on a playback device of an optical disk until then. This device was originally intended to be mounted on a disc playback device, but due to the product development strategy of the manufacturer, this decoding device may be diverted to other devices such as a receiver for digital satellite broadcasting. Shall be ordered. When the diversion of the decoding device is ordered for the above reasons, the designer of the device has to take measures such as allocating the bit width allocated to the media processing specific to the reproducing apparatus to the media processing specific to the receiving apparatus.
In order to deal with this, in the conventional data processing device, rewiring of the bus (1), redesign of the read / write port of the memory device (2), and redesign of the read / write port of the master device 45 to the master device 47 are performed. It is necessary to consider (3) and redesign of the memory controller (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のイ
ンターフェイスとバスとの配線接続も新たにやり直さね
ばならない。
For example, in the example shown in FIG. 30, the memory controller reads out 64-bit, 32-bit, and 32-bit data in parallel from the memory, and reads the 64-bit, 32-bit, and 32-bi data.
Control is performed such that the data of t is written in the memory in parallel.
If you try to change the bit width allocation to 64 bits, 24 bits, or 8 bits, the memory controller
Since it is necessary to read out t, 24 bit, and 8 bit data from the memory in parallel, and to write 64 bit, 24 bit, and 8 bit data in the memory in parallel, the control of the memory controller shown in FIG. Need to be redesigned. In addition, the master device 46 to
Since the bit width of the interface of the master device 47 changes, these must be replaced with another one, and the wiring connection between the interfaces of the master device 46 to the master device 47 and the bus must be newly performed.

【0016】このような(1)から(4)までの配線やり直し
や再設計を行うことは、設計者にとって多大な負担とな
り、設計者は各メディア処理に異なるバンド幅を割り当
てることに、データ処理装置を再設計にする際に等しい
労力を払わねばならない。また第2に説明したように、
データ処理装置は様々なメモリデバイスの採用が可能な
ようにメモリアーキテクチャを設計しておくことが望ま
しいが、一般に接続すべきメモリデバイスにはその最大
性能を発揮することができる動作周波数が有り、従来の
データ処理装置の動作周波数は、そのような最大性能を
発揮できる値に設定されているので、メモリデバイスを
他のものに置き換えようとする場合、その新たなメモリ
デバイスの最大性能を発揮できる値にデータ処理装置側
の動作周波数を再設定しなければならないという問題点
がある。即ち、データ処理装置の製造コスト、メモリの
容量等の観点から複数メモリデバイスのうち何れか一つ
を採用したが後日の仕様変更によりメモリデバイスを別
のものに置き換えねばならない場合、メモリデバイスの
変更の度にデータ処理装置の動作周波数を変更せねばな
らないので、設計者に大きな負担が強いられるという問
題点がある。
The rewiring and redesign of (1) to (4) impose a heavy burden on the designer, and the designer has to assign different bandwidths to each media processing. Equal effort must be paid in redesigning the device. Also, as explained second,
It is desirable to design the memory architecture of the data processing device so that various memory devices can be adopted, but generally the memory devices to be connected have operating frequencies that can exhibit their maximum performance. The operating frequency of the data processing device is set to a value that can exhibit such maximum performance, so when replacing a memory device with another one, the value that can exhibit the maximum performance of the new memory device However, there is a problem that the operating frequency of the data processing device must be reset. In other words, if one of a plurality of memory devices is adopted from the viewpoint of the manufacturing cost of the data processing device, the capacity of the memory, etc. Since the operating frequency of the data processing device must be changed every time, there is a problem that a heavy load is imposed on the designer.

【0017】加えて、データ処理装置を実装した半導体
チップにメモリをオンチップ化した場合は、オンチップ
化されたメモリ及びメモリデバイスの何れか一方は、最
大性能を発揮することができないという別の問題点があ
る。メモリコントローラ52−マスタデバイス45〜マ
スタデバイス47と、メモリ51とを同一チップに実装
した場合、これらを同一の動作周波数で動作させる必要
がある。この場合、メモリデバイスの最大性能を発揮さ
せる動作周波数と、オンチップ化されたメモリの最大性
能を発揮させる動作周波数とが異なることも充分有り得
る。この場合、何れか一方側の最大性能を発揮させる動
作周波数でデータ処理装置を動作させれば、他方側は最
大性能を発揮することができない。更に映像関連のメデ
ィア処理では、ディスプレィ装置の動作周波数に基づい
てデータ処理装置の動作周波数を設定するのが望ましい
が、このようにディスプレィ装置の動作周波数に基づい
てデータ処理装置の動作周波数を設定すれば、今度はメ
モリデバイスの最大性能を発揮することができなくなっ
てしまう。
In addition, when a memory is formed on a semiconductor chip on which a data processing device is mounted, one of the on-chip memory and the memory device cannot provide the maximum performance. There is a problem. When the memory controller 52-the master device 45 to the master device 47 and the memory 51 are mounted on the same chip, they need to be operated at the same operating frequency. In this case, it is quite possible that the operating frequency at which the maximum performance of the memory device is exhibited is different from the operating frequency at which the maximum performance of the on-chip memory is exhibited. In this case, if the data processing device is operated at an operating frequency at which the maximum performance of one of the two sides is exhibited, the other side cannot exhibit the maximum performance. Further, in video-related media processing, it is desirable to set the operating frequency of the data processing device based on the operating frequency of the display device, but in this way, the operating frequency of the data processing device is set based on the operating frequency of the display device. In this case, the maximum performance of the memory device cannot be exhibited.

【0018】上記第1の目的を達成するために本発明
は、将来におけるメディア処理毎のバンド幅の割り当て
変更に対処できるよう、高い汎用性を有するデータ処理
装置を提供することである。上記第2の目的を達成する
ために本発明は、将来におけるメモリデバイスの置き換
えや、メモリのオンチップ化に対処できるよう、高い汎
用性を有するデータ処理装置を提供することである。
In order to achieve the first object, an object of the present invention is to provide a data processing apparatus having high versatility so as to cope with a change in bandwidth allocation for each media processing in the future. An object of the present invention to achieve the second object is to provide a highly versatile data processing apparatus that can deal with future replacement of memory devices and on-chip memory.

【0019】上記第1、第2の目的は、複数のマスタデ
バイスと、1つのメモリデバイスとに接続され、メモリ
デバイスと、各マスタデバイスとの間のデータ転送を行
うデータ処理装置であって、2つのポイントを有してお
り、そのうち一方のポイントにてメモリデバイスと接続
されるメモリバスと、それぞれが2つ以上のポイントを
有しており、そのうち1つ以上のポイントにて各マスタ
デバイスと接続される複数のローカルバスと、メモリデ
バイスに対するデータ読み出し、及び、メモリデバイス
に対するデータ書き込みを行い、各ローカルバス上で
は、各マスタデバイスが要求する転送レートにてデータ
転送を行わせ、メモリバス上では、メモリデバイスが要
求する転送レートにてデータ転送を行わせる転送コント
ローラと、メモリバスの他方のポイント、及び、各ロー
カルバスの1つのポイントにて接続された複数のバッフ
ァを有し、メモリバスと、ローカルバスとの間の転送レ
ートの相違を吸収するよう、データの入出力を行う複数
のローカルバッファ手段とを備え、各ローカルバッファ
手段は何れも同一構成であり、異なるビット幅のローカ
ルバスを接続可能であり、前記メモリデバイスにはデー
タ処理装置の動作周波数と異なる動作周波数の同期クロ
ック信号が供給されており、前記データ処理装置は更
に、一方のポートがメモリバスを介して前記メモリデバ
イスの読み書きポートに接続していて、他方のポートが
前記複数のローカルバッファ手段に接続しており、メモ
リデバイスにおける動作周波数とデータ処理装置内部に
おける動作周波数との相違を吸収するよう、メモリバス
と複数のローカルバッファ手段との間でデータの入出力
を行うデュアルポートメモリデバイスを備えることを特
徴とするデータ処理装置により達成される。
The first and second objects are to provide a plurality of master data.
Device and one memory device
Transfer data between the device and each master device.
Data processing device that has two points.
Connected to a memory device at one point
Memory buses, each with two or more points
Have at least one of each master
Multiple local buses connected to devices and memory
Data read from device and memory device
Write data to each local bus
Is the data at the transfer rate required by each master device.
Transfer, and a memory device is required on the memory bus.
Transfer controller that performs data transfer at the transfer rate required.
Roller and the other point of the memory bus and each row
Multiple buffs connected at one point in Calvas
And a transfer level between the memory bus and the local bus.
Multiple data input / output to absorb differences
Local buffer means, each local buffer
All means have the same configuration, and local
Bus can be connected, and the memory device
Synchronous clock with an operating frequency different from the operating frequency of the
Signal is supplied and the data processing device is updated.
One port is connected to the memory device via a memory bus.
Connected to the read / write port of the
Connected to the plurality of local buffer means,
Operating frequency in re-device and inside data processing device
Memory bus to absorb the difference from the operating frequency
Input / output of data between the server and multiple local buffer means
Features a dual-port memory device that performs
This is achieved by a data processing device.

【0020】上記第2の目的は、一方のポートが前記メ
モリデバイスの読み書きポートに接続していて、他方の
ポートが前記複数のローカルバッファ手段に接続してお
り、メモリデバイスにおける動作周波数とデータ処理装
置内部における動作周波数との相違を吸収するよう、メ
モリバスと複数のローカルバッファ手段との間でデータ
の入出力を行うデュアルポートメモリデバイスを備える
データ処理装置により達成される。
The second object is that one port is connected to the read / write port of the memory device and the other port is connected to the plurality of local buffer means, and the operating frequency and data processing in the memory device The present invention is achieved by a data processing apparatus including a dual-port memory device for inputting and outputting data between a memory bus and a plurality of local buffer means so as to absorb a difference in operating frequency inside the apparatus.

【0021】[0021]

【発明の実施の形態】以下データ処理装置の実施の形態
について図面を参照しながら説明する。尚、データ処理
装置の諸機能をまとめて説明しようとすると、説明が著
しく複雑になる恐れがあるので、複数の実施形態におい
てデータ処理装置の諸機能を段階的に説明してゆくこと
する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments of a data processing apparatus will be described below with reference to the drawings. Note that if the functions of the data processing apparatus are described together, the description may be significantly complicated. Therefore, the functions of the data processing apparatus will be described step by step in a plurality of embodiments.

【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と接続されている。
(First Embodiment) The first embodiment relates to a data processing apparatus configured so that the allocation of bandwidth to a plurality of master devices can be changed with little effort. FIG. 1 shows a data processing device. As shown in FIG. 1, the data processing device is a one-chip LSI, and is used by being assembled into a multimedia-related product together with the external memory device 2. FIG. 2 shows a data processing apparatus configured with the gist of "simple bit width allocation change work". The configuration diagram of FIG. 2 illustrates only the components necessary for the above-described gist among the components of the data processing device, and the illustration of the components that are not related to such a gist is omitted. In FIG. 2, a frame indicated by a one-dot chain line indicates a part that is made into one chip as a data processing device. 2, the data processing device includes a memory controller 3, a master device 4, a master device 5, a master device 6, a local memory 7, a local memory 8, a local memory 9, a bus 10, and a bus 11 , A local buffer 13, a local buffer 14, a local buffer 15, an arbiter 16, a local controller 17, a local controller 18, a local controller 19, and connection circuits 20, 21, and 22. , A 128-bit bus 1 and an external memory device 2.

【0023】本実施形態及び以降の実施形態において各
マスタデバイスが要求する転送レート(バンド幅)は、
バスのビット幅と、各マスタデバイスが要求する使用頻
度とによって左右される。即ち、ビット幅が同一のバス
が2つあり、一方のバスにおいてマスタデバイスは、高
い頻度でデータ転送を要求し、他方のバスにおいてマス
タデバイスは、低い頻度でデータ転送を要求する場合、
「前者のマスタデバイスが要求する転送レートは、後者
のマスタデバイスが要求する転送レートより高い」こと
を意味する(尚、以降の説明にあたっては、説明の簡略
化を図るため、各マスタデバイスについての使用頻度に
ついては特に考慮せず、各マスタデバイスが要求する転
送レートを、読み書きポートのビット幅のみで表現する
ものとする。)。
In this embodiment and the following embodiments, the transfer rate (bandwidth) required by each master device is as follows:
It depends on the bit width of the bus and the frequency of use required by each master device. That is, when there are two buses having the same bit width, the master device requests data transfer with high frequency on one bus, and the master device requests data transfer with low frequency on the other bus.
This means that “the transfer rate requested by the former master device is higher than the transfer rate requested by the latter master device”. The transfer frequency required by each master device is expressed only by the bit width of the read / write port without considering the frequency of use.)

【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の周辺回路』と総称する。
In performing media processing, there is an optimum value for the bit width of each read / write port.
Since the description may be complicated if these are concretely illustrated, the bit width and the bandwidth of the bus 1, the bus 10, the bus 11, and the bus 12 are set to 128 bits and 64 bits.
The description will be made assuming that t, 32 bits, and 32 bits are used. The local buffer 13, the local controller 17, the connection circuit 2
Since 0 is a peripheral circuit associated with the master device 4, these are collectively referred to as “peripheral circuits of the master device 4” in the following description. Similarly, the local buffer 14,
The local controller 18 and the connection circuit 21 are collectively called “peripheral circuits of the master device 5”
5, the local controller 19 and the connection circuit 22 are collectively referred to as "peripheral circuits of the master device 6".

【0025】128bitバス1は、外部メモリデバイス2
と、ローカルバッファ13−ローカルバッファ14−ロ
ーカルバッファ15との間のデータ転送を行う。本実施
形態において外部メモリデバイス2の読み書きポートの
ビット幅は128bitであり、ローカルバッファ13〜ロー
カルバッファ15の一方側の読み書きポートのビット幅
が128bitなので、128bitバス1におけるデータ転送は12
8bitの転送レートで行われる。
The 128-bit bus 1 is connected to the external memory device 2
And data transfer between the local buffer 13-the local buffer 14-the local buffer 15. In the present embodiment, the bit width of the read / write port of the external memory device 2 is 128 bits, and the bit width of the read / write port on one side of the local buffers 13 to 15 is 128 bits.
It is performed at an 8-bit transfer rate.

【0026】図3はバス1と外部メモリデバイス2の入
出力との関係を示すタイミングチャートである。バス1
におけるデータ転送は、本図の第3段目に示している。
本図におけるData(Ptr.4)は、マスタデバイス4がメモ
リからの読み出し又はメモリへの書き込みを要求した12
8bitのデータであり、Data(Ptr.5)、Data(Ptr.6)はそれ
ぞれ、マスタデバイス5、マスタデバイス6がメモリか
らの読み出し又はメモリへの書き込みを要求した128bit
のデータである。
FIG. 3 is a timing chart showing the relationship between the bus 1 and the input / output of the external memory device 2. Bus 1
Is shown in the third row of FIG.
Data (Ptr. 4) in the figure indicates that the master device 4 has requested to read from or write to the memory.
Data (Ptr. 5) and Data (Ptr. 6) are 128-bit data requested by the master device 5 and the master device 6 to read from or write to the memory, respectively.
Data.

【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についてのデータを時分
割で転送しているのである。
Referring to this figure, the cycles c1, c3, c5, c7, c9
Data (Ptr.4) is transferred in the cycle c2, c6, c10, Data (Ptr.5) in cycle c4, c8, Data (Ptr.4).
It can be seen that 6) has been transferred. This is Data (Ptr.
4) is transferred once every two cycles, and Data (Pt
r.5) and Data (Ptr.6) indicate that data is transferred once every four cycles. As shown in the figure, the bus 1 transfers data for the master device 4 to the master device 6 in a time-division manner.

【0028】外部メモリデバイス2は、マスタデバイス
4、マスタデバイス5、マスタデバイス6が用いるべき
ワークエリアと、128bitの読み書きポートとを有してお
り、メモリコントローラ3から読出コマンドと、読出先
アドレスと、読み出すべきデータ長とが指示されると、
そのデータをバス1に出力する。一方メモリコントロー
ラ3から書込コマンドと、書込先アドレスとが指示され
ると、バス1に出力されたデータをその書込先アドレス
に書き込む。
The external memory device 2 has a work area to be used by the master device 4, the master device 5, and the master device 6 and a 128-bit read / write port. When the data length to be read is specified,
The data is output to the bus 1. On the other hand, when a write command and a write destination address are specified from the memory controller 3, the data output to the bus 1 is written to the write destination address.

【0029】メモリコントローラ3は、外部メモリデバ
イス2からのデータ読み出し制御と、外部メモリデバイ
ス2に対してのデータ書き込み制御とを行う。メモリコ
ントローラ3によるデータ読み出し制御は、読出先アド
レスと、読出コマンドと、読み出すべきデータ長とを外
部メモリデバイス2に対して発行して、当該読出先アド
レス以降に共に格納されているデータを外部メモリデバ
イス2からバス1に読み出させることにより行われる。
また書き込み制御は、書込先アドレスと、書込コマンド
と、書き込むべきデータ長とを外部メモリデバイス2に
対して発行して、バス1に転送されているデータを外部
メモリデバイス2において当該書込先アドレス以降に書
き込ませることにより行われる。メモリコントローラ3
によるこれらのデータ読出制御/データ書込制御は、マ
スタデバイス4〜マスタデバイス6からの読出要求/書
込要求に従って行われる。そのため、メモリコントロー
ラ3は複数のポインタと、インクリメンタとを有してい
る。複数のポインタのそれぞれは、マスタデバイス4、
マスタデバイス5、マスタデバイス6のそれぞれに対応
づけられ、マスタデバイス4〜マスタデバイス5から発
せられた読出先/書込先アドレスを格納している。ま
た、インクリメンタは、マスタデバイス4〜マスタデバ
イス6のうち何れかのものについての読出コマンド及び
書込コマンドを発行すると、該当するマスタデバイスに
対応したポインタに格納されているアドレスをインクリ
メントする。
The memory controller 3 controls data reading from the external memory device 2 and data writing to the external memory device 2. The data read control by the memory controller 3 issues a read destination address, a read command, and a data length to be read to the external memory device 2 and transmits data stored together with the read destination address and thereafter to the external memory device. This is performed by reading data from the device 2 to the bus 1.
In the write control, a write destination address, a write command, and a data length to be written are issued to the external memory device 2, and the data transferred to the bus 1 is written in the external memory device 2. This is performed by writing data after the destination address. Memory controller 3
Are performed in accordance with read requests / write requests from master devices 4 to 6. Therefore, the memory controller 3 has a plurality of pointers and an incrementer. Each of the plurality of pointers is a master device 4,
The master device 5 and the master device 6 are associated with each other and store read destination / write destination addresses issued from the master devices 4 to 5. When the incrementer issues a read command and a write command for any one of the master devices 4 to 6, the incrementer increments the address stored in the pointer corresponding to the master device.

【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についての読出
先アドレスと読出コマンドとを出力している。
Next, the timing at which the read request / write request for the master device 4 to the master device 6 is issued to the external memory device 2 will be described with reference to the timing chart of FIG. The first tier in this figure shows the address output to the external memory device 2, and the second tier shows the data output from the external memory device 2. Referring to these, Data (Ptr. 4) must be transferred once every two cycles, and Data (Ptr. 5), Data (Ptr.
tr.6) must be transferred once every four cycles, so the memory controller 3 uses the cycle c0, c2, c4, c6, c8, c
At 10, the read destination address and the read command for the address Ptr. 4 are output to the external memory device 2, and the read destination address and the read command for the address Ptr. 5 are output at cycles c 1, c 5, and c 9. I have. In cycles c3 and c7, a read destination address and a read command for address Ptr.6 are output.

【0031】マスタデバイス4は、ローカルメモリ7
と、64bitの読み書きポートとを備え、メモリコントロ
ーラ3に対してデータの読み出し/書き込みを要求する
アクセスコマンドを発行する。データ読み出しを要求す
る際、外部メモリデバイス2に格納されているデータの
読み出しを要求する旨を示すアクセスコマンドをメモリ
コントローラ3に発行し、外部メモリデバイス2−バス
1−ローカルバッファ13−バス10を介して、当該デ
ータが転送されてくるのを待つ。データが転送されてく
ると当該データを順次取り込みローカルメモリ7に格納
してゆく。
The master device 4 has a local memory 7
And a 64-bit read / write port, and issues an access command requesting data read / write to the memory controller 3. When a data read is requested, an access command indicating a request to read data stored in the external memory device 2 is issued to the memory controller 3, and the external memory device 2-bus 1-local buffer 13-bus 10 And wait for the data to be transferred. When the data is transferred, the data is sequentially fetched and stored in the local memory 7.

【0032】データ書き込みを要求する際、外部メモリ
デバイス2にデータの書き込みを要求する旨を示すアク
セスコマンドをメモリコントローラ3に発行し、外部メ
モリデバイス2に書き込むべきデータをローカルメモリ
7からバス10に順次出力する。出力されたデータは、
バス10−ローカルバッファ13−バス1を介して順次
外部メモリデバイス2に書き込まれてゆく。
When requesting data writing, an access command indicating that data writing is requested to the external memory device 2 is issued to the memory controller 3, and data to be written to the external memory device 2 is transferred from the local memory 7 to the bus 10. Output sequentially. The output data is
The data is sequentially written to the external memory device 2 via the bus 10, the local buffer 13, and the bus 1.

【0033】マスタデバイス5は、ローカルメモリ8
と、32bitの読み書きポートとを備え、マスタデバイス
4同様、メモリコントローラ3に対してデータの読み出
し/書き込みを要求する。マスタデバイス4との差違
は、データの読み出し/書き込みを行う際のデータ転送
経路である。即ち、マスタデバイス4が外部メモリデバ
イス2−バス1−ローカルバッファ13−バス10の経
路でデータの読み出し/書き込みを行うのに対して、マ
スタデバイス5は、外部メモリデバイス2−バス1−ロ
ーカルバッファ14−バス11の経路でデータの読み出
し/書き込みを行う。
The master device 5 has a local memory 8
And a 32-bit read / write port, and requests the memory controller 3 to read / write data like the master device 4. The difference from the master device 4 is a data transfer path when reading / writing data. That is, while the master device 4 reads / writes data on the path of the external memory device 2-bus 1-local buffer 13-bus 10, the master device 5 receives the external memory device 2-bus 1-local buffer Data read / write is performed through the path of 14-bus 11.

【0034】マスタデバイス6は、ローカルメモリ9
と、32bitの読み書きポートとを備え、マスタデバイス
4同様、メモリコントローラ3に対してデータの読み出
し/書き込みを要求する。マスタデバイス4との差違
は、データの読み出し/書き込みを行う際のデータ転送
経路である。即ち、マスタデバイス4が外部メモリデバ
イス2−バス1−ローカルバッファ13−バス10の経
路データの読み出し/書き込みを行うのに対して、マス
タデバイス6は、外部メモリデバイス2−バス1−ロー
カルバッファ15−バス12の経路データの読み出し/
書き込みを行う。
The master device 6 has a local memory 9
And a 32-bit read / write port, and requests the memory controller 3 to read / write data like the master device 4. The difference from the master device 4 is a data transfer path when reading / writing data. That is, the master device 4 reads / writes the route data of the external memory device 2-bus 1-local buffer 13-bus 10 while the master device 6 reads / writes the external memory device 2-bus 1-local buffer 15 Reading of path data of the bus 12 /
Write.

【0035】バス10は、マスタデバイス4の読み書き
ポートと、ローカルバッファ13の他方側読み書きポー
トとに接続されたバスである。バス11は、マスタデバ
イス5の読み書きポートと、ローカルバッファ14の他
方側読み書きポートとに接続されたバスである。バス1
2は、マスタデバイス6の読み書きポートと、ローカル
バッファ15の他方側読み書きポートとに接続されたバ
スである。
The bus 10 is a bus connected to the read / write port of the master device 4 and the other side read / write port of the local buffer 13. The bus 11 is a bus connected to the read / write port of the master device 5 and the other side read / write port of the local buffer 14. Bus 1
Reference numeral 2 denotes a bus connected to the read / write port of the master device 6 and the other side read / write port of the local buffer 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の転送レートに
て行われる。
The local buffer 13 is a buffer in which a 128-bit bus 1 is connected to a read / write port on one side and a bus 10 is connected to a read / write port on the other side via a connection circuit 20. The data output to the bus 1 is fetched at the read / write port, and transferred using the bus 10. Conversely, it takes in the data transferred to the bus 10 and outputs it to the bus 1. Here, the bit width of the other side read / write port in the local buffer 13 is 128 bits at the maximum, but the connection circuit 2
Through 0, the bit width of the other side read / write port is set to the same bit width as the read / write port of the master device 4, that is, 64 bits. Since the read / write port of the master device 4 is 64 bits and the read / write port of the local buffer 13 is set to 64 bits, the transfer on the bus 10 is performed at a transfer rate of 64 bits.

【0037】続いてローカルバッファ13の入出力につ
いて図4及び図5を参照しながら説明する。図4は、ロ
ーカルバッファ13が外部メモリデバイス2へとデータ
を出力する際の動作タイミングを示すタイミングチャー
トであり、図5は、ローカルバッファ13が外部メモリ
デバイス2から読み出されたデータを入力する際の動作
タイミングを示すタイミングチャートである。
Next, the input / output of the local buffer 13 will be described with reference to FIGS. FIG. 4 is a timing chart showing an operation timing when the local buffer 13 outputs data to the external memory device 2, and FIG. 6 is a timing chart showing the operation timing at the time.

【0038】図4を参照して、先ずローカルバッファ1
3から外部メモリデバイス2へのデータ書き込み時の処
理について説明する。サイクルc2では、バス10におい
て64bitにて転送されているデータ"データd0,1をローカ
ルバッファ13は取り込み、続いてサイクルc3ではバス
10において64bitにて転送されているデータ"データd
2,3をローカルバッファ13は取り込む。このようにし
て取り込んだデータd0,1,2,3をサイクルc4においてバス
1に転送する。
Referring to FIG. 4, first, local buffer 1
Next, a process at the time of writing data from the memory device 3 to the external memory device 2 will be described. In the cycle c2, the data "data d0,1" transferred at 64 bits on the bus 10 is captured by the local buffer 13, and subsequently, at the cycle c3, the data "data d transferred at 64 bits on the bus 10".
The local buffer 13 takes in 2 and 3. The data d0, 1, 2, and 3 thus fetched are transferred to the bus 1 in cycle c4.

【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
に書き込まれる。
In the cycle c3, the memory controller 3
Outputs the write destination Ptr.4 for the master device 4, so that the data d0, 1, 2, and 3 transferred to the bus 1 in the cycle c4 are written to the write destination.
Similarly, in the cycle c4, the data d4,5 transferred on the bus 10 is captured, and in the cycle c5, the data "data d6,7" is captured by the local buffer 13. When the data is transferred to the bus 1 in the cycle c6, the data d4, 5, 6, 7 are transferred to the write destination address Ptr.
Is written to.

【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に転送する。
Next, a process for reading data from the external memory device 2 to the local buffer 13 will be described with reference to FIG. In cycle c3, the memory controller 3 sets the read destination address Ptr.
4 is output, data d0,1,
A few are transferred to bus 1. In a cycle c4, the local buffer 13 takes in the data d0, 1, 2, and 3 transferred in 128 bits on the bus 1. Subsequently, in cycle c5, of the data d0,1,2,3 thus fetched, data d0,1 is transferred to bus 10 in cycle c5, and data d2,3 is transferred to bus 10 in cycle c6. .

【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に転送する。
In cycle c5, the memory controller 3
Outputs the read destination Ptr.4 for the master device 4, so that the bus 1 stores the data stored in the read destination.
d4,5,6,7 have been transferred. In cycle c6, the local buffer 13 takes in the data "data d4, 5, 6, 7 transferred on the bus 1. Among the data d4, 5, 6, 7 thus taken, the data d4, 5 The data is transferred to the bus 10 in cycle c7, and the data d is transferred in cycle c8.
6 and 7 are transferred to the bus 10.

【0042】以上のようにローカルバッファ13からバ
ス1へのデータ出力及びバス1からローカルバッファ1
3へのデータ取り込みには2サイクルを要することがわ
かる。Data(Ptr.4)を2サイクルに1回の割合でバス1に
転送させるようメモリコントローラ3がメモリアクセス
を行っていたのは、ローカルバッファ13におけるデー
タ出力及びデータ取込に2サイクルを要するからであ
る。これらのローカルバッファ13における入出力によ
り、バス1の転送速度とバス10の転送速度との速度差
が吸収されていることがわかる。
As described above, data output from the local buffer 13 to the bus 1 and data output from the bus 1 to the local buffer 1
It can be seen that it takes two cycles to fetch data into 3. The reason that the memory controller 3 performs memory access so that Data (Ptr. 4) is transferred to the bus 1 once every two cycles is because two cycles are required for data output and data fetch in the local buffer 13. It is. It can be seen that the difference between the transfer speed of the bus 1 and the transfer speed of the bus 10 is absorbed by the input and output of the local buffer 13.

【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の転送レ
ートにて行われる。
In the local buffer 14 and the local buffer 15, the 128-bit bus 1 is connected to the read / write port on one side, and the bus 11 and the bus 12 are connected to the read / write port on the other side via the connection circuit 21 and the connection circuit 22. The buffer is a buffer that captures data output from the external memory device 2 to the bus 1 and transfers the data using the bus 11 and the bus 12. Conversely, it takes in the data transferred to the bus 11 and the bus 12 and outputs it to the bus 1. Here, the bit width of the other side read / write port in the local buffer 14 and the local buffer 15 is up to 128 bits,
Through the connection circuit 21 and the connection circuit 22, the bit width of the read / write port on the other side is set to the same bit width as the read / write port of the master device 5 and the master device 6, that is, 32 bits. As described above, the read / write ports of the master device 5 and the master device 6 have already been set to 32 bits, and the read / write ports of the local buffers 14 and 15 have been set to 32 bits. It is performed at the transfer rate.

【0044】続いて図6及び図7を参照しながらローカ
ルバッファ14の入出力のタイミングについて説明す
る。図6は、ローカルバッファ14が外部メモリデバイ
ス2にデータを書き込む際の動作タイミングを示すタイ
ミングチャートであり、図7は、ローカルバッファ14
が外部メモリデバイス2からデータを読み出す際の動作
タイミングを示すタイミングチャートである。
Next, the input / output timing of the local buffer 14 will be described with reference to FIGS. FIG. 6 is a timing chart showing the operation timing when the local buffer 14 writes data to the external memory device 2. FIG.
5 is a timing chart showing operation timing when data is read from the external memory device 2.

【0045】先ず図6を参照して、ローカルバッファ1
4から外部メモリデバイス2へのデータ書き込み時の処
理について説明する。サイクルc2では、バス11におい
て32bitにて転送されているデータd0を取り込み、サイ
クルc3では、データd1を取り込む。同様にサイクルc4,c
5では、データd2,d3を取り込んでゆく。以上のようにし
て取り込んだデータd0,1,2,3をサイクルc6においてバス
1に転送する。
Referring first to FIG.
4 will be described when data is written to the external memory device 2. In cycle c2, data d0 transferred in 32 bits on the bus 11 is fetched, and in cycle c3, data d1 is fetched. Similarly, cycle c4, c
At 5, data d2 and d3 are fetched. The data d0, 1, 2, 3 fetched as described above are transferred to the bus 1 in cycle c6.

【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に書き込まれる。
In the cycle c5, the memory controller 3 outputs the write destination "Ptr.5" for the master device 4, so that the data d0, 1, 2, 3 transferred to the bus 1 in the cycle c6. The data is written to the write destination "Ptr.5". Similarly, in the cycles c6 and c7, the data d4 and d5 transferred on the bus 11 are used.
The local buffer 14 fetches 6,7. When the data d4, 5, 6, 7 thus fetched are transferred to the bus 1 in cycle c10, the data d4, 5, 6, 7 are written to the write destination address Ptr.

【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をそれぞれ出力する。
Next, a process for reading data from the external memory device 2 to the local buffer 14 will be described with reference to FIG. In the cycle c3, the memory controller 3 outputs the read destination “Ptr.5” for the master device 5, so in the cycle c4, the data d0,1,
A few are transferred to bus 1. In the cycle c4, the data “data d0, 1, 2,.
3 is taken into the local buffer 14. Then cycle c
In 5, the data d0 among the data d0, 1, 2, and 3 thus fetched is transferred to the bus 11, and in cycle c6, the data d1 is transferred. Data d2 is output in cycle c7, and data d3 is output in cycle c8.

【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をそれぞれ出力する。
Since the memory controller 3 outputs the read destination "Ptr. 5" for the master device 4 in cycle c7, the data d4, 5, 6, 7 are transferred to the bus 1 in cycle c8. The local buffer 14 takes in the data d4, 5, 6, 7 thus transferred. Then, in cycle c9,
The data d4 among the data d4, 5, 6, and 7 thus acquired is transferred to the bus 11, and in cycle c10, the data d5
To transfer. In cycle c11, data d6 is written, and in cycle c12
Then, data d7 is output.

【0049】以上のようにローカルバッファ14からバ
ス1へのデータ出力及びバス1からローカルバッファ1
4へのデータ取り込みには4サイクルを要することがわ
かる。Data(Ptr.5)を4サイクルに1回の割合でバス1に
転送させるようメモリコントローラ3がメモリアクセス
を行っていたのは、ローカルバッファ14におけるデー
タ出力及びデータ取込に4サイクルを要するからであ
る。これらのローカルバッファ14における入出力によ
り、バス1の転送速度とバス11の転送速度との速度差
を吸収されていることがわかる。
As described above, data output from the local buffer 14 to the bus 1 and data output from the bus 1 to the local buffer 1
It can be seen that it takes four cycles to take in data into 4. The reason that the memory controller 3 performs memory access so that Data (Ptr. 5) is transferred to the bus 1 once every four cycles is because four cycles are required for data output and data fetch in the local buffer 14. It is. It can be seen that the difference between the transfer speed of the bus 1 and the transfer speed of the bus 11 is absorbed by the input and output of the local buffer 14.

【0050】アービター16は、バス1の使用について
の競合が複数のマスタデバイス間で発生した場合にバス
1の使用に関しての調停を行う。調停の結果、バス1を
使用すべきと認定したマスタデバイスに対してアクノリ
ッジ信号を出力する。一方、バスの使用が否認されたも
のに対してはアクノリッジ信号をインアクティブに設定
するか、あるいは、ホールド信号を出力する。これによ
って、バッファへの書き込み、又は、バッファからの読
み出しが遅延することになり、バス転送が遅延する。
The arbiter 16 arbitrates the use of the bus 1 when a conflict regarding the use of the bus 1 occurs between a plurality of master devices. As a result of the arbitration, an acknowledgment signal is output to the master device that is determined to use the bus 1. On the other hand, when the use of the bus is denied, the acknowledge signal is set to inactive or a hold signal is output. As a result, writing to the buffer or reading from the buffer is delayed, and bus transfer is delayed.

【0051】尚、既に述べた通り本実施形態では、4サ
イクルのうち、2サイクルをData(Ptr.4)のデータ転送に
割り当てていて、残り2サイクルのうち、1サイクルずつ
Data(Ptr.5)のデータ転送、Data(Ptr.6)のデータ転送に
割り当てているので、マスタデバイス4〜マスタデバイ
ス6のうち何れのものもバス1の使用を待つことは実効
的にはない。
As described above, in the present embodiment, two of the four cycles are allocated to the data transfer of Data (Ptr. 4), and one of the remaining two cycles is one cycle.
Since data (Ptr.5) data transfer and Data (Ptr.6) data transfer are assigned, it is effective for any of the master devices 4 to 6 to wait for the use of the bus 1. Absent.

【0052】ローカルコントローラ17は、バス1に転
送されているデータと、バス10に転送されているデー
タとの入出力を行うようローカルバッファ13を制御す
る。メモリへのデータ書き込みを行う際、ローカルコン
トローラ17は、ローカルバッファ13の内部領域を指
示するライトポインタを有しており、バス10に転送さ
れている64bitデータをライトポインタにて指示されて
いるローカルバッファ13の領域に格納させる。出力
後、ライトポインタを64bitだけインクリメントさせ
て、次の64bit分をインクリメントされたライトポイン
タに指示されている領域に格納させる。このようなライ
トポインタの更新と、64bit単位のデータ格納とをバス
10に出力された全てのデータについて繰り返せば、ロ
ーカルバッファ13に128bitデータが格納されたことに
なる。このように128bitデータを格納した後、バス1に
出力する。128bitを外部メモリデバイス2に送り出した
後、次の64bitデータがバス10に転送されてくるのを
待ち、転送されてくれば同様の手順を繰り返す。
The local controller 17 controls the local buffer 13 to input / output data transferred to the bus 1 and data transferred to the bus 10. When writing data to the memory, the local controller 17 has a write pointer that points to the internal area of the local buffer 13, and transfers the 64-bit data transferred to the bus 10 to the local pointer indicated by the write pointer. The data is stored in the area of the buffer 13. After the output, the write pointer is incremented by 64 bits, and the next 64 bits are stored in the area indicated by the incremented write pointer. If such updating of the write pointer and storage of data in units of 64 bits are repeated for all data output to the bus 10, 128 bits of data are stored in the local buffer 13. After storing the 128-bit data in this manner, the data is output to the bus 1. After sending out 128 bits to the external memory device 2, it waits for the next 64 bits of data to be transferred to the bus 10, and if it is transferred, repeats the same procedure.

【0053】またローカルコントローラ17は、メモリ
からのデータ読み出しを行う際、バス1に転送されてい
るデータをローカルバッファ13に格納すると共に、バ
ッファへ読み出された128bitデータのうち、リードポイ
ンタにて指示されている部分から64bit分をバス10に
出力させる。出力後、リードポインタを64bitだけイン
クリメントして、次の64bit分をバス10に出力させ
る。このようなリードポインタの更新と、64bit単位の
データ出力とをローカルバッファ13に読み出された全
てのデータについて繰り返せば、ローカルバッファ13
のデータは全てマスタデバイス4に送り出されたことに
なる。128bitデータをマスタデバイス4に送り出した
後、次の128bitデータがバス1に転送されてくるのを待
ち、転送されてくれば同様の手順を繰り返す。
When reading data from the memory, the local controller 17 stores the data transferred to the bus 1 in the local buffer 13 and uses the read pointer of the 128-bit data read to the buffer. 64 bits from the designated portion are output to the bus 10. After the output, the read pointer is incremented by 64 bits, and the next 64 bits are output to the bus 10. If such updating of the read pointer and output of data in 64-bit units are repeated for all data read to the local buffer 13, the local buffer 13
Are transmitted to the master device 4. After sending out the 128-bit data to the master device 4, the process waits for the next 128-bit data to be transferred to the bus 1, and repeats the same procedure if it is transferred.

【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が具備している複数セ
レクタの入出力を設定することより切り換えることがで
きる。
The local controllers 18, 19 are 64 bi
Although there is a difference between t and 32bit, the local controller 17
Similarly, the data transferred to the bus 1 and the buses 11 to
The local buffer 14 to the local buffer 15 are controlled so as to perform input / output with data transferred to the bus 12. The connection circuits 20, 21, and 22 are connected to the local buffer 1
3 to the local buffer 15 and the buses 10 to 12, respectively. The connection circuits 20 to 22 have a common circuit configuration. Even if there is a need to change the bit width of the read / write port for each of the buses 10 to 12, it is necessary to set the input / output of a plurality of selectors. Thus, the bit width of the read / write port can be easily changed. As described above, the connection circuits 20 to 22
Indicates the bit width of the read / write port of the local buffer 13 to the local buffer 15, respectively.
The bit width is set to be the same as the bit width of the read / write port of the master device 6. These bit widths are set by setting the input / output of a plurality of selectors provided in the connection circuits 20 to 22. More switching is possible.

【0055】更に、現状のバンド幅ではバス1にバスロ
ックが発生する可能性がある場合、より広いバンド幅を
有するインターフェイスを有する外部メモリデバイス2
に置き換え、バス1のビット幅を広くすることにより、
マスタデバイス4〜マスタデバイス6、バス10〜バス
12に変更を加えなくても簡易にバスロックを防ぐこと
が出来るという効果がある。
Further, if there is a possibility that a bus lock may occur on the bus 1 with the current bandwidth, the external memory device 2 having an interface having a wider bandwidth is required.
By increasing the bit width of bus 1,
There is an effect that the bus lock can be easily prevented without changing the master device 4 to the master device 6 and the bus 10 to the bus 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における
バンド幅の割り当てを変更することができるので、将来
バンド幅を変更する必要が生じても、設計者は大きな労
力を払うことはない。
As described above, according to the present embodiment, the bus 1 is connected to the external memory device 2 and the buses 10 to 12 are connected to the master device 4 to the master device 6, respectively. Since the local buffer 15 performs input / output of these buses, if it is desired to change the bandwidth to be allocated to the master device 4 to the master device 6, the master device 4 to the master device 6 and the bus 10 to the bus 12, the local buffer 1
Since it is only necessary to change the read / write port on one side of the local buffer 15, the external memory device 2, the memory controller 3, and the bus 1 do not need to be redesigned. Since the allocation of the bandwidth in the master device 4 to the master device 6 can be changed without changing the external memory device 2-the memory controller 3-the bus 1, even if the bandwidth needs to be changed in the future, the design can be made. Does not pay much effort.

【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への書き込み時に
用いられるもののみを図示した図である。
(Application Example of First Embodiment) In this application example, 32
This proposes a circuit configuration when the bit buffers 61 to 32 bits, the buses 10 to 12, and the connection circuits 20 to 22 are shared. FIG. 8 shows 32-bit buffers 61 to 3
2 bit buffer 64, bus 10 to bus 12, connection circuit 20
It is a figure which shows the circuit structure at the time of sharing the circuit structure of No.-22. In FIG. 8, a 32-bit bus 57, a 32-bit bus 5
The 8, 32 bit bus 59 and the 32 bit bus 60 constitute the bus 10 to the bus 12, and have 32 bit buffers 61 to 32 bit.
Each of the buffers 64 constitutes a 128-bit buffer 13 to a 128-bit buffer 15. The four-input / one-output selector 65, the two-input / one-output selector 66, the gate 67, the gate 68, the selector 71, the selector 72, the selector 73, and the selector 74 all constitute the connection circuits 20 to 22. FIG. 9A is a diagram illustrating the selectors shown in FIG.
FIG. 9B shows only those used when reading to the bus 57 to 32 bit bus 60. FIG. 9B shows the selectors shown in FIG.
FIG. 7 is a diagram illustrating only those used when writing to the bit buffers 61 to 32 bits buffer 64;

【0058】32bitバス57、32bitバス58、32bitバ
ス59、32bitバス60は、それぞれ32bitのビット幅を
有するバスであり、マスタデバイス4〜マスタデバイス
6のそれぞれと接続されている。64bitでデータ転送を
行う場合、32bitバス57〜32bitバス58が転送に用い
られ、32bitでデータ転送を行う場合、32bitバス57の
みが転送に用いられる。
The 32-bit bus 57, the 32-bit bus 58, the 32-bit bus 59, and the 32-bit bus 60 are buses having a bit width of 32 bits, respectively, and are connected to the master devices 4 to 6, respectively. When data transfer is performed by 64 bits, the 32-bit bus 57 to 32 bit bus 58 is used for transfer. When data transfer is performed by 32 bits, only the 32-bit bus 57 is used for transfer.

【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のうち何れかのビット幅で行うよう、入出力
の選択切り換えを行う。
A 32-bit buffer 61, a 32-bit buffer 62,
The 32-bit buffer 63 and the 32-bit buffer 64 are buffers for holding 32-bit data, and are 32-bit buffers 61 to 3.
The entire 2-bit buffer 64 holds 128-bit bus data. The four-input / one-output selector 65, the two-input / one-output selector 66, the gate 67, the gate 68, the selector 71, the selector 72, the selector 73, and the selector 74 transfer data on the 32-bit bus 57 to the 32-bit bus 60 by 32 bits and 64 bits.
Input / output selection switching is performed so as to be performed with any bit width of t and 128 bits.

【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上に転送することを示している。
FIGS. 10 (a) and 10 (b) show input / output correspondence tables for these selectors and gates.
FIG. 10A shows the bit width and the 4-input / 1-output selector 65.
FIG. 7 is a diagram showing correspondence with connection lines selected by a gate 68. Referring to the column with a bit width of 32 bits, only the connection line A, connection line B, connection line
It can be seen that C and connection line D are described. This is 32
In the case of a bit transfer rate, the 4-input / 1-output selector 65
This indicates that the first to fourth 32-bit data are transferred onto the bus 57 via the connection lines A to D.

【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上に転送することを示している。
Referring to the column with a bit width of 64 bits, 4 inputs
It can be seen that the connection line A and the connection line C are described in the column for the -1 output selector 65, and the connection line B and the connection line D are described only in the column for the 2-input-1 output selector 66. This means that in the case of a transfer rate of 64 bits, the first and third 32-bit data are transferred onto the bus 57 via the connection lines A and C, and the second and third data are transferred via the connection lines B and D. 4th 32bit
It shows that data is transferred onto the bus 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上に転送することを
示している。
Referring to the column with a bit width of 128 bits, the connection line A, 2 input-1
In the column for the output selector 66, the connection line B and the gate 67
It can be seen that the connection line C is described in the column for (1) and the connection line D is described in the column for the gate 68. This is 128bit
, The first to fourth 32-bit data are transferred to the bus 5 via the connection line A, the connection line B, the connection line C, and the connection line D.
7, bus 58, bus 59, and bus 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に転送させる。
Subsequently, the four-input / one-output selector 65, the two-input / one-output selector 66, the gate 67,
The input and output of the gate 68 will be sequentially described. The 4-input / 1-output selector 65 selectively outputs the connection line A, the connection line B, the connection line C, and the connection line D to the bus 57 so that the data stored in the 32 bit buffers 61 to 32 bit buffer 64 can be stored. The data is sequentially transferred to the bus 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を
選択出力する。
In the following description, the partial bits of the 128-bit data, which are located from the m-th high-order bit to the n-th high-order bit, are referred to in units of bits [m: n]. FIG. 11A is a timing chart when the bit width is 32 bits. When the transfer rate is only 32 bits, data transfer needs to be performed only by the bus 57.
Therefore, in the cycle c11 of FIG. 11A, the 4-input / 1-output selector 65 selects and outputs the connection line A to output the first 32-bit data. In the following cycle c12
The 4-input / 1-output selector 65 selects and outputs the connection line B for outputting the second 32-bit data, and selectively outputs the connection line C for outputting the third 32-bit data in the cycle c13. The 4-input / 1-output selector 65 selectively outputs the connection line D to output the fourth 32-bit data in the cycle c14.

【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を選択出力する。
FIG. 11B is a timing chart when the bit width is 64 bits. 64bit transfer rate
, The data transfer is performed by using the bus 57 and the bus 58 simultaneously. Therefore, the 4-input / 1-output selector 65 selectively outputs the connection line A to output the upper 32 bits of the first 64-bit data in the cycle c11 in FIG. 11B. 4 inputs in the next cycle c12-
The one output selector 65 selects the upper 32 bits of the second 64 bit data.
Selectively output connection line C to output bit data.

【0066】図11(c)は、転送レートが128bitであ
る場合のタイミングチャートである。転送レートが128b
itである場合、データ転送は、バス57とバス58とバ
ス59と、バス60を同時に用いることにより実行され
る。そのため4入力-1出力セレクタ65は、サイクルc11
において1サイクルを費やして、32bitバッファ61に格
納されているデータをバス57に転送させるよう、接続
線Aのデータを出力する。
FIG. 11C is a timing chart when the transfer rate is 128 bits. Transfer rate 128b
In the case of it, the data transfer is performed by using the bus 57, the bus 58, the bus 59, and the bus 60 at the same time. Therefore, the 4-input / 1-output selector 65 sets the cycle c11
, The data of the connection line A is output so that the data stored in the 32-bit buffer 61 is transferred to the bus 57 by spending one cycle.

【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を選択出力する。
The two-input / one-output selector 66 selectively outputs the connection line B and the connection line D to the bus 57, thereby forming a 32-bit signal.
The data stored in the buffer 62 and the 32-bit buffer 64 are sequentially transferred to the bus 57. When the transfer rate is 64 bits as shown in FIG.
This is executed by using the bus 57 and the bus 58 simultaneously. Therefore, the 2-input / 1-output selector 66 sets the cycle c
In step 11, the connection line B is selectively output to output the lower 32 bits of the first 64 bits. Next cycle c12
In the 2 input-1 output selector 66, the second 64 bit
Select and output the connection line D to output the lower 32 bits of data. When the transfer rate is 128 bits, the data transfer is performed by using the bus 57, the bus 58, the bus 59, and the bus 60 simultaneously. Therefore, the 2-input / 1-output selector 66 sets the cycle c1 as shown in FIG.
In step 1, the connection line B is selectively output to output bits [95:64] of the 128-bit data.

【0068】ゲート67は、接続線Cを介して32bitバッ
ファ63に格納されているデータを順次バス59に転送
させる。図11(c)に示すように転送レートが128bit
である場合、データ転送は、バス57とバス58とバス
59とバス60とを同時に用いることにより実行され
る。そのためゲート67は、サイクルc11において128bi
tデータのビット[63:32]を出力するため接続線Cを選択
出力する。
The gate 67 sequentially transfers the data stored in the 32-bit buffer 63 to the bus 59 via the connection line C. The transfer rate is 128 bits as shown in FIG.
, The data transfer is performed by using the bus 57, the bus 58, the bus 59, and the bus 60 at the same time. For this reason, the gate 67 sets 128bi in cycle c11.
Select and output connection line C to output bits [63:32] of t data.

【0069】ゲート68は、接続線Dに転送されている
データを選択的にバス60に出力することにより、32bi
tバッファ64に格納されているデータを順次バス60
に転送させる。転送レートが128bitである場合、データ
転送は、バス57とバス58とバス59とバス60とを
同時に用いることにより実行される。そのため図11
(c)に示すように、ゲート68は、サイクルc11にお
いて128bitデータのビット[31:0]を出力するため接続線
Dを選択出力する。
The gate 68 selectively outputs the data transferred to the connection line D to the bus 60, and
The data stored in the t buffer 64 is sequentially transferred to the bus 60.
To transfer. When the transfer rate is 128 bits, the data transfer is performed by using the bus 57, the bus 58, the bus 59, and the bus 60 simultaneously. Therefore, FIG.
As shown in (c), the gate 68 outputs a connection line for outputting bits [31: 0] of 128-bit data in cycle c11.
Select and output D.

【0070】続いて図9(b)に示したセレクタ71、
セレクタ72、セレクタ73、セレクタ74のそれぞれ
について説明する。図10(b)は、ビット幅と、第1
〜第4番目のデータが転送してくる接続線との組み合わ
せにおいてセレクタ71〜セレクタ74がどの接続線の
選択出力するかを示す図である。
Subsequently, the selector 71 shown in FIG.
Each of the selector 72, the selector 73, and the selector 74 will be described. FIG. 10B shows the bit width and the first
FIG. 21 is a diagram showing which connection lines are selectively output by selectors 71 to 74 in combination with connection lines to which the fourth data is transferred.

【0071】転送レートが32bitである場合、データ転
送はバス57を用いてのみ行われるため、転送レートが
32bitの欄を参照すると、第1、第2、第3、第4番目
の32bitデータは、全て接続線Eと記述されていることが
わかる。これは、32bitの転送レートの場合、第1〜第
4番目の32bitデータは、接続線Eを介して32bitバッフ
ァ61、32bitバッファ62、32bitバッファ63、32bi
tバッファ64に取り込まれることを示している。
When the transfer rate is 32 bits, since the data transfer is performed only using the bus 57, the transfer rate is
Referring to the 32-bit column, it can be seen that the first, second, third, and fourth 32-bit data are all described as connection lines E. This means that in the case of a 32-bit transfer rate, the first to fourth 32-bit data are transferred to the 32-bit buffer 61, the 32-bit buffer 62, the 32-bit buffer 63, and the 32-bit buffer via the connection line E.
This indicates that the data is taken into the t buffer 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に取り込まれることを示している。
When the transfer rate is 64 bits, the data transfer is performed using the upper 32 bits on the bus 57 and the lower 32 bits on the bus 5.
8, the upper 32 bits of the first and second 64 bit data are described as connection lines E, and the lower 32 bits of the first and second 64 bit data are referred to in the column of the transfer rate of 64 bit. Is described as a connection line F. This means that, when the transfer rate is 64 bits, the first 64-bit data is transferred to the 32-bit buffers 61 and 3 via the connection lines E and F.
The second 64-bit data is taken into the 2-bit buffer 62, and the second 64-bit data is supplied to the 32-bit buffers 63 and 32 via the connection lines E and F.
This indicates that the data is taken into the bit buffer 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に取り込まれることを示してい
る。
When the transfer rate is 128 bits, the data transfer is performed simultaneously using the buses 57, 58, 59, and 60.
Bits [127: 96] of the it data are described as connection line E, and
t [95:64] of data is connection line F, bit [6
3:32] is connection line G, and bits [31: 0] of 128-bit data are connection line
It is understood that H is described. This means that if the transfer rate is 128 bits, the 128-bit data is
32 bit buffer 61 via connection line G and connection line H respectively
3232 bit buffer 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に取り込んでいることがわか
る。
The selector 71 takes the first data transferred on the bus 57 out of the 128-bit data transferred from the buses 57 to 60 into the 32-bit buffer 61. FIG. 12A shows the first 32
bit data, 2nd 32bit data, 3rd 32bit
It is a timing chart which shows the case where data and the 4th 32-bit data are transferred. In this figure, it can be seen that the selector 71 takes in only the first 32-bit data into the 32-bit buffer 61. FIG. 12 (b)
The upper 32 bits of the first 64-bit data and the second
6 is a timing chart showing a case where the upper 32 bits of the 64th data are transferred, and the lower 32 bits of the first 64 bit data and the lower 32 bits of the second 64 bit data are transferred on the bus 58. Also in this figure, the selector 7
1 indicates that only the upper 32-bit data of the first 64-bit data transferred by the bus 57 is taken into the 32-bit buffer 61. FIG. 12C shows a state in which the 12
Bits [127: 96] of the 8-bit data are transferred, and bus 5
8 bits [95:64] on 128, 128 bits on bus 59
6 is a timing chart showing a case where bits [63:32] of bit data and bits [31: 0] of 128-bit data are transferred onto a bus 60. Also in this figure, the selector 71
It can be seen that only [127: 96] of the 128-bit data transferred by the t bus 57 is taken into the 32-bit buffer 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に取り込む。
The two-input / one-output selector 72 is connected to the bus 57 to
Of the 128-bit data transferred by the bus 60,
The connection line E and the connection line F are selected so that the bits [95:64] are taken into the 32-bit buffer 62, and are output to the buffer 62.
In FIG. 12A, the second 32 bits are transferred to the 32b via the connection line E.
In FIG. 12B, the lower 32 bits of the first 64-bit data are transferred to the it buffer 62 via the connection line F in the 32-bit buffer 62.
In FIG. 12C, [95:64] of the 128-bit data is taken into the 32-bit buffer 62 via the connection line F.

【0076】セレクタ73は、バス57〜バス60によ
り転送されてくる128bitのデータのうち、ビット[63:3
2]に相当するデータを32bitバッファ63に取り込むよ
う、接続線E,Gを選択し、32bitバッファ63に出力す
る。図12(c)においてセレクタ73は、バス59に
転送されている128bitデータのビット[63:32]を接続線G
を介して32bitバッファ63に取り込んでいることがわ
かる。
The selector 73 selects the bits [63: 3] of the 128-bit data transferred through the buses 57 to 60.
The connection lines E and G are selected so that the data corresponding to [2] is taken into the 32-bit buffer 63, and is output to the 32-bit buffer 63. 12C, the selector 73 converts the bits [63:32] of the 128-bit data transferred to the bus 59 to the connection line G.
It can be seen that the data is taken into the 32-bit buffer 63 via the.

【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に取り込んで
いることがわかる。
The selector 74 selects the bits [31: 0] of the 128-bit data transferred through the buses 57 to 60.
The connection line E, the connection line F, and the connection line H are selected so that the data corresponding to the above is taken into the 32-bit buffer 64 and output to the 32-bit buffer 64. In FIG. 12C, the selector 74
Is the bit [3] of the 128-bit data transferred to the bus 60.
1: 0] is taken into the 32-bit buffer 64 via the connection line H.

【0078】尚、本応用例において、32bitバッファ6
1、32bitバッファ62、32bitバッファ63、32bitバ
ッファ64のビット幅は全て32bitであるので、転送レ
ート(ビット幅)は32bitデータの整数倍単位で変更可
能であったが、これらのバッファが全て8bitであれば、
転送レート(ビット幅)が8bitの整数倍単位で変更可能
となり、これらのバッファが全て16bitであれば、転送
レート(ビット幅)は16bitの整数倍単位で変更可能と
なる。このように、バッファ61〜64のビット幅は、
各マスタデバイスについての転送レートをどのように設
定するかに応じて、設定すればよい。
In this application example, the 32-bit buffer 6
Since the bit widths of the 1, 32 bit buffer 62, 32 bit buffer 63, and 32 bit buffer 64 are all 32 bits, the transfer rate (bit width) can be changed in integer multiples of 32 bit data. If,
The transfer rate (bit width) can be changed in integral multiples of 8 bits. If all of these buffers are 16 bits, the transfer rate (bit width) can be changed in integral multiples of 16 bits. Thus, the bit width of the buffers 61 to 64 is
What is necessary is just to set according to how to set the transfer rate about each master device.

【0079】(第2実施形態)第1実施形態では、マス
タデバイス4〜マスタデバイス6のそれぞれにバス10
〜バス12のそれぞれを1対1の割合で設けていたが、第
2実施形態では、バス10に複数のマスタデバイスを設
けた実施形態である。図13は、複数マスタデバイスが
バス10に設けられたデータ処理装置を示す図である。
本図においてバス10にはマスタデバイス4の他にマス
タデバイス24が設けられている。
(Second Embodiment) In the first embodiment, each of the master device 4 to the master device 6 has a bus 10
Although each of the buses 12 is provided in a one-to-one ratio, the second embodiment is an embodiment in which a plurality of master devices are provided on the bus 10. FIG. 13 is a diagram illustrating a data processing device in which a plurality of master devices are provided on the bus 10.
In the figure, a master device 24 is provided on the bus 10 in addition to the master device 4.

【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)制御専用のアービターを設
け、そのアービターにより上記アクセス権制御を行う機
構でも、同様の効果が得られ、且つアービターの機構を
簡単なものにすることができる。
The master device 24 is the master device 4
An application program that requests a DMA transfer with the same bandwidth as that described above is operating, and outputs a DMA transfer request to the local controller 17 when accessing the external memory device 2. When the master device 4 and the master device 24 output the DMA transfer request, the arbiter 25
Arbitration of these DMA transfer requests is performed, and an acknowledgment signal is sent to the master device to one of the master device 4 and the master device 24 so that the bus 1 is transmitted.
0 access right is granted. The master device 4 and the master device 24 that have obtained the access right perform the DMA transfer to the external memory device 2 as in the first embodiment. On the other hand, when the access right cannot be acquired, the acknowledgment signal is set to inactive or a hold signal is output. This delays the transfer to the bus. Instead of determining the access right of the bus 10 between the master device 4 and the master device 24 by the arbiter 25 for controlling all the buses, an arbiter dedicated to controlling each bus (here, the bus 10) is provided, and the arbiter is used by the arbiter. The same effect can be obtained with the mechanism for controlling the access right, and the arbiter mechanism can be simplified.

【0081】以上のように本実施形態によれば、オーデ
ィオデータ、副映像、OSD等、サブシステムという系統
に分類されるメディア処理を行う複数のマスタデバイス
については、それら複数のマスタデバイスを1つのバス
10とローカルバッファ13とに対応づけるので、サブ
システムに属するメディア処理が多数存在する場合でも
システムを簡易化することができる。
As described above, according to the present embodiment, for a plurality of master devices that perform media processing classified into subsystems, such as audio data, sub-pictures, OSDs, etc. Since the bus 10 and the local buffer 13 are associated with each other, the system can be simplified even when there are many media processes belonging to the subsystem.

【0082】(第3実施形態)第3実施形態は、データ
処理装置と、外部メモリデバイス2との非同期制御を実
現する実施形態である。ここでデータ処理装置と、外部
メモリデバイス2との非同期制御が求められるのは、以
下の理由による。即ち、マスタデバイス4〜マスタデバ
イス6がメディア処理を行う場合、データ処理装置はデ
ィスプレィ装置との同期制御を実現する必要があるの
で、データ処理装置内のマスタデバイス4〜マスタデバ
イス6、メモリコントローラ3、ローカルコントローラ
17〜ローカルコントローラ19はディスプレィ装置の
表示期間に基づいた動作周波数で、動作せねばならな
い。これに対して外部メモリデバイス2は、そのハード
ウェアスぺックにおいて最適な動作周波数が決められて
いるので、その動作周波数で動作せねばならない。この
ようにデータ処理装置と、外部メモリデバイス2とはそ
の動作に最適な動作周波数が異なるので、非同期制御が
必要なのである。
(Third Embodiment) The third embodiment is an embodiment for realizing asynchronous control between the data processing device and the external memory device 2. Here, the asynchronous control between the data processing device and the external memory device 2 is required for the following reason. That is, when the master device 4 to the master device 6 perform media processing, the data processing device needs to realize synchronous control with the display device. , The local controller 17 to the local controller 19 must operate at an operating frequency based on the display period of the display device. On the other hand, the external memory device 2 must operate at the operating frequency because the optimal operating frequency is determined in the hardware specification. As described above, since the data processor and the external memory device 2 have different operation frequencies optimal for their operations, asynchronous control is required.

【0083】非同期制御が可能なデータ処理装置の構成
を図14に示す。図14において新規なのはデュアルポ
ートメモリ26が設けられている点である。デュアルポ
ートメモリ26は、一方のポートが外部メモリデバイス
2と接続していて、他方のポートがローカルバッファ1
3〜ローカルバッファ15に接続しており、外部メモリ
デバイス2から読み出されたデータ、及び、ローカルバ
ッファ13〜ローカルバッファ15から出力されたデー
タを格納している。
FIG. 14 shows the configuration of a data processing device capable of asynchronous control. What is new in FIG. 14 is that a dual port memory 26 is provided. The dual port memory 26 has one port connected to the external memory device 2 and the other port connected to the local buffer 1.
3 to the local buffer 15, and stores data read from the external memory device 2 and data output from the local buffers 13 to 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へとデータ転送を行う。
In the third embodiment, the master devices 4 to
The master device 6 obtains the data of the external memory device 2 through a two-stage read request. The first stage is reading from the external memory device 2 to the dual port memory 26. At this time, the master device 4 to the master device 6 output a read request to the memory controller 3 via the local controllers 17 to 19, and cause the memory controller 3 to read data from the external memory device 2 to the dual port memory 26. The second stage is reading from the dual port memory 26 to the DMA masters 4 to 6 via the local buffers 13 to 15. When necessary data is read from the dual port memory 26, the local controllers 17 to 19
, A read acknowledge signal is output from the memory controller 3 to the local controllers 17 to 19.
, Upon receiving this acknowledge signal, performs data transfer from the dual port memory 26 to the master device 4 to the master device 6 via the local buffer 13 to the local buffer 15 as in the first embodiment.

【0085】一方マスタデバイス4〜マスタデバイス6
は、二段階の書込要求を経て、外部メモリデバイス2に
データを書き込む。第1段階目の書込要求は、第1実施
形態と同様の書き込みであり、マスタデバイス4〜マス
タデバイス6は、対応するバスのローカルコントローラ
の制御の元、書き込むべきデータをローカルバッファ1
3〜ローカルバッファ15を介してデュアルポートメモ
リ26に書き込む。第2段階目は、デュアルポートメモ
リ26から外部メモリデバイス2への書込要求であり、
メモリコントローラ3に対してローカルコントローラ1
7〜19が書き込みを要求する。
On the other hand, master device 4 to master device 6
Writes data to the external memory device 2 through a two-step write request. The first stage write request is the same write as in the first embodiment, and the master device 4 to the master device 6 store data to be written under the control of the local controller of the corresponding bus in the local buffer 1.
3 to write to the dual port memory 26 via the local buffer 15. The second stage is a write request from the dual port memory 26 to the external memory device 2,
Local controller 1 for memory controller 3
7 to 19 request writing.

【0086】第3実施形態においてメモリコントローラ
3は、マスタデバイス4〜マスタデバイス6から外部メ
モリデバイス2からのデータ読出が要求されると、デュ
アルポートメモリ26の読み書きポートの取得リクエス
トを発行し、取得できた段階で外部メモリデバイス2に
対して読みだしコマンドを発行する。これにより、外部
メモリデバイス2からデュアルポートメモリ26へとデ
ータを読み出させる。メモリコントローラ3はデータ読
みだしが完了するのを待ち、デュアルポートメモリ26
に必要なデータが読み出された段階でローカルコントロ
ーラ17〜19に対して読みだしアクノリッジ信号を返
す。またメモリコントローラ3は、マスタデバイス4〜
マスタデバイス6からデータ書込が要求され、外部メモ
リデバイス2に書き込むべきデータがデュアルポートメ
モリ26に蓄積すると、データが蓄積した段階で外部メ
モリデバイス2に対して書込コマンドを発行する。これ
により、デュアルポートメモリ26から外部メモリデバ
イス2へのデータ書き込みが行われる。
In the third embodiment, when a request to read data from the external memory device 2 is issued from the master device 4 to the master device 6, the memory controller 3 issues a request to acquire a read / write port of the dual port memory 26 and acquires the data. At this stage, a read command is issued to the external memory device 2. Thus, data is read from the external memory device 2 to the dual port memory 26. The memory controller 3 waits for the data reading to be completed, and
When the necessary data is read out, a read acknowledge signal is returned to the local controllers 17 to 19. Further, the memory controller 3 includes the master devices 4 to
When data writing is requested from the master device 6 and data to be written to the external memory device 2 is accumulated in the dual port memory 26, a write command is issued to the external memory device 2 when the data is accumulated. Thereby, data writing from the dual port memory 26 to the external memory device 2 is performed.

【0087】第3実施形態においてローカルコントロー
ラ17〜19は、読出要求がなされた後、外部メモリデ
バイス2から読み出されたデータがデュアルポートメモ
リ26に蓄積された段階で、デュアルポートメモリ26
に蓄積されたデータをローカルバッファ13〜ローカル
バッファ15に出力する。書込要求がなされると書き込
むべきデータがローカルバッファ13〜ローカルバッフ
ァ15にたまった段階でデュアルポートメモリ26の読
み書きポートの取得要求を発行し、読み書きポートが取
得できた段階でローカルバッファ13〜ローカルバッフ
ァ15からデュアルポートメモリ26へのデータ書き込
みを行なう。
In the third embodiment, when data read from the external memory device 2 is stored in the dual port memory 26 after the read request is issued, the local controllers 17 to 19
Is output to the local buffers 13 to 15. When a write request is made, a request to acquire a read / write port of the dual port memory 26 is issued when data to be written has accumulated in the local buffers 13 to 15, and when a read / write port has been acquired, the local buffer 13 to the local buffer are acquired. Data is written from the buffer 15 to the dual port memory 26.

【0088】以上のように本実施形態によれば、デュア
ルポートメモリの一方側のポートをメモリデバイスと接
続し、他方側のポートを前記複数のバッファに接続する
ことによりメモリデバイスと内部メモリ間のデータ転送
における非同期制御を実現することができ、外部メモリ
デバイス2とデータ処理装置とをそれぞれ固有の動作周
波数で動作させることができる。これにより、外部メモ
リデバイス2を、動作周波数が異なるメモリデバイスに
変更したとしても、外部メモリデバイス2と装置内部と
の間のデータ転送は、変更前と同様に行えばよい。
As described above, according to the present embodiment, one port of the dual port memory is connected to the memory device, and the other port is connected to the plurality of buffers, so that the memory device and the internal memory can be connected. Asynchronous control in data transfer can be realized, and the external memory device 2 and the data processing device can operate at their own operating frequencies. Thus, even if the external memory device 2 is changed to a memory device having a different operating frequency, data transfer between the external memory device 2 and the inside of the apparatus may be performed in the same manner as before the change.

【0089】また、内部メモリ(オンチップメモリ)が増
設された場合であっても、外部のメモリデバイスと、増
設された内部メモリとのデータ転送は、外部のメモリデ
バイスと、既存の内部メモリとのデータ転送と同様に実
現すればよい。外部メモリデバイス2の変更のみなら
ず、内部メモリの増設も容易に行えるので、メモリアー
キテクチャを設計する上での自由度が高まるという効果
がある。
Even when an internal memory (on-chip memory) is added, data transfer between the external memory device and the added internal memory is performed between the external memory device and the existing internal memory. May be realized in the same manner as the data transfer of the above. Since not only the external memory device 2 can be changed but also the internal memory can be easily added, there is an effect that the degree of freedom in designing the memory architecture is increased.

【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からなる。
(Fourth Embodiment) The fourth embodiment relates to an improvement in the case where the entry controller 113 integrally manages the data transfer between the master device and the external memory device 2 via the dual port memory 100. FIG. 15 is a diagram illustrating a configuration of a data processing device according to the fourth embodiment. As shown in the figure, the data processing device includes a dual port memory 100 (data unit 10).
1, tag unit 102), master device 103, master device 104, master device 105, local buffer 106, local buffer 107, local buffer 108, local controller 109, local controller 110, local controller 111, arbiter 112, entry controller 113, Read request queue 114, write request queue 1
15, a read wait queue 117, a read acknowledgment queue 118, a read acknowledgment queue 119, a read acknowledgment queue 120, an address selection circuit 121, and an address selection circuit 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バイトのデータを格納することができ
る。
The dual port memory 100 includes a data unit 101 and a tag unit 102. The data unit 101 includes two bank areas 101a and 101b, and each of the bank areas 101a and 101b includes 512 entry areas of 16 bytes. In this entry area, the external memory device 2-master device 103, 1
There are ones assigned to input / output buffers between the memory devices 04 and 105 (called a FIFO area, a total of 24 in the dual-port memory 100), and ones that the master device can use as a work area. Each entry area is provided with an entry address Entr_Addr, and each entry area is accessed by using this entry address Entr_Addr (entry areas existing in two bank areas use a common entry address Entr_Addr. Is accessed.)
Eight of the twenty-four FIFO areas are for reading from the external memory device 2, and the sixteen FIFO areas are for reading.
Allocated for writing to the external memory device 2. Each entry area includes 16 1-byte memory cells, and can store a total of 16 bytes of data.

【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を用いることにより行
われる。
The tag unit 102 also has 512 entries, and each entry is associated with each entry area of the data unit 101 on a one-to-one basis. Each entry of the tag unit 102 stores the external address Ext_Addr (read destination address or write destination address) in the external memory device 2 and identification information of the master device 103 that has requested access to the external address Ext_Addr. Have been. Tag unit 102
Each entry has a one-to-one data unit 1
Entry address Entr same as entry area 01
_Addr is assigned, and the designation of the access destination of the dual port memory 100 when performing data transfer between the external memory device 2 and the dual port memory 100 is performed by using the entry address 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に現れてからア
クセスコマンドを発行する。
Master devices 103, 104, 105
Issues an access command. This access command is transmitted from the external memory device 2 to the master device 10.
3, 104 or 105, or write data from the master device 103, 104, 105 to the external memory device 2. The data read or data write is performed by the dual port memory 100. Data transfer between the FIFO area and the external memory device 2 and the dual port memory 1
00 FIFO area and master device 103, 10
4 and 105. Since any of these data reading or data writing uses the FIFO area in the dual port memory 100 as a relay point, the master devices 103, 104,
105 is an empty FIFO in the dual port memory 100
Only when it is clear that an area exists, an access command is issued. Since the presence / absence of an empty FIFO area in the dual port memory 100 is indicated in the usage information issued by the entry controller 113, the master devices 103, 104, and 105 monitor the usage information issued by the entry controller 113. Free in dual port memory 100
The access command is issued only when the FIFO area exists. If the use status information indicates that there is no empty FIFO area, the master device 103, 10
4 and 105 wait for an empty FIFO area to appear, and
After the FIFO area appears in the dual port memory 100, an access command is issued.

【0094】ローカルバッファ106、107、108
は、各マスタデバイスに対応づけられたバッファであ
り、外部メモリデバイス2から読み出されたデータrdat
aの入出力と、外部メモリデバイス2に書き込むべきデ
ータwdataの入出力とに用いられる。このバッファを用
いることにより、デュアルポートメモリ100へのバス
幅16バイトとマスタデバイス103、104、105の
バス幅との違いを吸収できる。またこのバッファをダブ
ルバッファとし、マスタデバイス103、104、10
5とのアクセスとデュアルポートメモリ100とのアク
セスを並列処理可能とすることにより、データ転送の高
速化を図ることができる。それゆえ、たとえ、一部のマ
スタデバイスが、高い転送レートのデータ転送を要求し
たとしても、そのような転送速度を満たすようなデータ
入出力を行うことができる。
Local buffers 106, 107, 108
Is a buffer associated with each master device, and data rdat read from the external memory device 2.
It is used for input / output of a and input / output of data wdata to be written to the external memory device 2. By using this buffer, the difference between the bus width of 16 bytes for the dual port memory 100 and the bus width of the master devices 103, 104 and 105 can be absorbed. This buffer is a double buffer, and the master devices 103, 104, 10
5 can be performed in parallel with the access to the dual port memory 100, so that the speed of data transfer can be increased. Therefore, even if some master devices request data transfer at a high transfer rate, data input / output that satisfies such a transfer rate can be performed.

【0095】ローカルコントローラ109、110、1
11は、マスタデバイス103、104、105のそれ
ぞれに対応づけられており、マスタデバイス103、1
04、105についてのローカルバッファ106、10
7、108と、デュアルポートメモリ100におけるFI
FO領域との間において、外部メモリデバイス2に書き込
むべきデータwdata、又は、外部メモリデバイス2から
読み出されたデータrdataについてのデータ転送を行
う。
The local controllers 109, 110, 1
Reference numeral 11 is associated with each of the master devices 103, 104, and 105.
Local buffers 106, 10 for 04, 105
7, 108 and FI in the dual port memory 100
Between the FO area, data wdata to be written to the external memory device 2 or data rdata read from the external memory device 2 is transferred.

【0096】外部メモリデバイス2へのデータ書き込み
を行う場合についての詳細は以下の通りである。即ち、
マスタデバイス103、104、105により監視され
ている使用状況情報には、デュアルポートメモリ100
における空きのFIFO領域についてのエントリーアドレス
Entr_Addrが示されているので、ローカルコントローラ
109、110、111は、この使用状況情報を参照し
て、空きのFIFO領域の所在を特定することにより、外部
メモリデバイス2に書き込むべきデータwdataを、一旦F
IFO領域に蓄積させる。
The details of writing data to the external memory device 2 are as follows. That is,
The usage status information monitored by the master devices 103, 104, and 105 includes the dual port memory 100
Address of empty FIFO area in
Since the Entr_Addr is indicated, the local controllers 109, 110, and 111 refer to the usage information to specify the location of the empty FIFO area, thereby temporarily storing the data wdata to be written to the external memory device 2. F
Store it in the IFO area.

【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にデータを引き渡すことができる。
The details of reading data from the external memory device 2 are as follows. That is, from the external memory device 2 to the dual port memory 1
00 is transferred to the local buffer 10.
In order to read out data up to 6, 107, and 108, the local controller 109, 110, 1
11 must know. Such an address, that is, a read destination address is included in a read completion notification issued from the memory controller 116, and the read completion notification is issued by the memory controller 116 and read acknowledgment via the read wait queue 117. The data is stored in the queues 118, 119, and 120. The local controllers 109, 110, and 111 can know where the data rdata read from the external memory device 2 is stored in the dual port memory 100 by extracting the entry address Entr_Addr from the read completion notification. . Then, if the location of the data rdata read from the external memory device 2 is known, the local buffers 106, 107,
108 and the entry address included in the read completion notification
By transferring data rdata read from the external memory device 2 to and from the FIFO area corresponding to Entr_Addr, the master device 103, 10
4. Data can be delivered to 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を介し
たデータ転送が効率良く行われることなる。
The arbiter 112 is the master device 10
The use arbitration of the dual port memory 100 is performed between 3, 104, and 105. The arbiter 112 performs such arbitration for the following reason. That is, data read from the external memory device 2 to the master device and data write from the master device to the external memory device 2 are both performed in the dual port memory 10.
As described above, the process is performed with 0 as a relay point.
Then, the data transfer is concentrated most between the dual port memory 100 and the local buffers 106, 107, and 108. Therefore, in the present embodiment, when each master device uses the dual-port memory 100, the arbiter 112 is given the right to determine which master device is permitted to use the dual-port memory 100. When the access command is issued, the arbiter 112 allows any one of the plurality of master devices 103, 104, and 105 to transfer data via the dual-port memory 100, and Data transfer via the dual port memory 100 is not permitted to 103, 104, and 105.
Thus, data transfer via one dual port memory 100 is performed efficiently.

【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)を使用状況情報として各マスタデバイスに通知す
る。
The entry controller 113 is a bit string that individually indicates a FIFO area that has already been used for data storage (one that is being used) and one that has not been used for data storage (one that is unused). (Current state bit string), and if all the bits in the current state bit string are set to “1”, the use status information indicating that there is no empty FIFO area is notified to each master device. At the same time, if any bit in the bit string is set to off "0",
The entry address Entr_Addr corresponding to the bit is notified to each master device as use status information. FIG.
FIG. 6 is a diagram showing an example of a current state bit string. In this figure, the current state bit string is 32 bits
A bit string of data, and the 0th to 5th bits in the current state bit string are the entry address Entr_Add
r00 to entry address Entr_Addr05,
The 6th to 31st bits correspond to entry addresses Entr_Addr06 to entry address Entr_Addr31. This entry address Entr_Addr00 to entry address Ent
Since the 0th to 5th bits corresponding to r_Addr05 are all set to ON “1” in FIG. 16, the FIFOs of the entry addresses Entr_Addr00 to Entr_Addr05 are used.
The area is in use. This entry address Entr_Add
r06 to 6 to 31 corresponding to the entry address Entr_Addr31
Since the bits are all set to off "0" in FIG. 16, the FIFO areas of the entry addresses Entr_Addr06 to Entr_Addr31 are not used.
Thus, in the example of FIG. 16, the entry address Entr
Since the entry area of _Addr06 to entry address Entr_Addr31 is indicated as being unused, the entry controller 113 selects the first one of the empty entry addresses indicated in the current state bit string (in the example of FIG. , Entry address Entr_Add
r06) is notified to each master device as use status information.

【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への
データ書き込みを実現する。
An unused FIFO area is assigned to the master device 103.
The details of the processing to be assigned to are as follows. It is assumed that the master device 103 has issued the access command with reference to the output usage status information. If the arbiter 112 permits data transfer via the dual port memory 100 to the master device 103 which has issued the access command, the entry controller 113 transfers the entry address Entr_Addr to the transfer destination or the transfer destination. This entry address En is used to perform the original data transfer.
Request data including tr_Addr (there are types of read request and write request) is stored in the read request queue 114 and the write request queue 115. Here, a description will be given of the format of the request data in the present embodiment and how the data transfer using the request data is performed. The request data (there is a read request and a write request) in this embodiment differs from the access command in that the request data includes the entry address Entr_Addr in the dual port memory 100. As described above, in the tag area specified by the entry address Entr_Addr, the external address Ext_Addr to be accessed in the external memory device 2 is stored. By performing data transfer between the Entr_Addr and the external address stored in the tag area indicated by the entry address, data can be read from the external memory device 2 to the dual port memory 100 or read from the dual port memory 100. Data writing to the external memory device 2 is realized.

【0101】リクエストデータは、エントリーコントロ
ーラ113にて作成され、発行されるが、それらは、発
行された順に従って、読出リクエスト、書込リクエスト
に分別されてリードリクエストキュー114、ライトリ
クエストキュー115に複数蓄積される。リクエストデ
ータをメモリコントローラ116に発行すれば、エント
リーコントローラ113はカレントステートビット列に
おいて、通知されたエントリー領域に割り当てられたビ
ットを使用中に設定する。一方、通知されているエント
リーアドレスEntr_Addrにより特定されるタグ領域に、
マスタデバイス103から発行された外部アドレスExt_
Addrを格納させる。以上の処理により、マスタデバイス
103に割り当てられたFIFO領域が、デュアルポートメ
モリ100から読み出されたデータrdataの格納用、外
部メモリデバイス2に書き込むべきデータwdataの格納
用に割り当てられることなる。
The request data is created and issued by the entry controller 113, and is divided into a read request and a write request according to the order in which the request data is issued. Stored. When the request data is issued to the memory controller 116, the entry controller 113 sets, in the current state bit string, the bit allocated to the notified entry area in use. On the other hand, in the tag area specified by the notified entry address Entr_Addr,
External address Ext_ issued from master device 103
Addr is stored. By the above processing, the FIFO area allocated to the master device 103 is allocated for storing the data rdata read from the dual port memory 100 and for storing the data wdata to be written to the external memory device 2.

【0102】FIFO領域を未使用に開放する処理の詳細は
以下の通りである。例えば読出リクエストの発行後、外
部メモリデバイス2からFIFO領域へとデータが読み出さ
れれば、エントリーコントローラ113は、FIFO領域に
おけるデータがデュアルポートメモリ100からマスタ
デバイスへと転送されるのを待つ。かかる転送が行われ
れば、そのFIFO領域に、当該データを格納しておく必要
はないので、エントリーコントローラ113は、カレン
トステートビット列においてそのFIFO領域に対応するビ
ットを使用中から未使用に変更する。
The details of the processing for releasing the FIFO area to unused are as follows. For example, if data is read from the external memory device 2 to the FIFO area after issuing the read request, the entry controller 113 waits for data in the FIFO area to be transferred from the dual port memory 100 to the master device. If such transfer is performed, there is no need to store the data in the FIFO area, so the entry controller 113 changes the bit corresponding to the FIFO area in the current state bit string from in use to unused.

【0103】書込リクエストの発行後、マスタデバイス
103からFIFO領域にデータが書き込まれれば、エント
リーコントローラ113は、FIFO領域におけるデータが
デュアルポートメモリ100から外部メモリデバイス2
へと転送されるのを待ち、かかる転送が行われれば、エ
ントリーコントローラ113は、カレントステートビッ
ト列においてそのFIFO領域に対応するビットを使用中か
ら未使用に変更する。
If data is written from the master device 103 to the FIFO area after the issuance of the write request, the entry controller 113 transfers the data in the FIFO area from the dual port memory 100 to the external memory device 2.
When the transfer is performed, the entry controller 113 changes the bit corresponding to the FIFO area in the current state bit string from used to unused.

【0104】以上のようにカレントステートビット列に
おける各ビットを更新することにより、各FIFO領域の使
用状況が、リアルタイムにカレントステートビットに反
映されることなる。尚、上述したように、複数のFIFO領
域は、読み出し用、書き込み用にそれぞれに割り当てら
れているので、マスタデバイス103に空領域を割り当
てるにあたって、エントリーコントローラ113は、ア
クセスコマンドが外部メモリデバイス2からの読み出し
を要求するものか、外部メモリデバイス2への書き込み
を要求するものかを考慮した、FIFO領域の割り当てを行
う。
As described above, by updating each bit in the current state bit string, the use state of each FIFO area is reflected on the current state bit in real time. As described above, since a plurality of FIFO areas are respectively allocated for reading and writing, when allocating an empty area to the master device 103, the entry controller 113 transmits an access command from the external memory device 2 to the master device 103. The FIFO area is allocated in consideration of whether the request is for reading data or writing to the external memory device 2.

【0105】外部メモリデバイス2からのデータ読み出
しを要求する旨のアクセスコマンドをマスタデバイスが
発行した場合、エントリーコントローラ113は、デー
タ読出用に割り当てられたFIFO領域から、当該データ転
送において入出力に用いるべきFIFO領域を選んで、その
エントリーアドレスEntr_Addrをマスタデバイスに出力
する。また、外部メモリデバイス2へのデータ書き込み
を要求する旨のアクセスコマンドをマスタデバイスが発
行した場合、データ書込用に割り当てられたFIFO領域か
ら、当該データ転送において入出力に用いるべきFIFO領
域を選んで、そのエントリーアドレスEntr_Addrをマス
タデバイスに出力する。
When the master device issues an access command for requesting data reading from the external memory device 2, the entry controller 113 uses the FIFO area allocated for data reading for input / output in the data transfer. The FIFO area to be selected is selected, and the entry address Entr_Addr is output to the master device. When the master device issues an access command requesting data writing to the external memory device 2, a FIFO area to be used for input / output in the data transfer is selected from the FIFO area allocated for data writing. Outputs the entry address Entr_Addr to the master device.

【0106】このように、FIFO領域を、外部メモリデバ
イス2からのデータ読み出し用、外部メモリデバイス2
へのデータ書き込み用に分けることにより、外部メモリ
デバイス2からのデータ読み出し及び外部メモリデバイ
ス2へのデータ書き込みのうち、何れか一方が集中した
場合においても、他方の処理が遅延することを防止する
ことができる。
As described above, the FIFO area is used for reading data from the external memory device 2,
Even if one of the data reading from the external memory device 2 and the data writing to the external memory device 2 is concentrated, the other process is prevented from being delayed. be able to.

【0107】メモリコントローラ116は、リードリク
エストキュー114、ライトリクエストキュー115に
蓄積された複数のリクエストデータを1つずつ取り出し
て、デュアルポートメモリ100−外部メモリデバイス
2間のデータ転送を行う。外部メモリデバイス2−デュ
アルポートメモリ100間のデータ転送が外部メモリデ
バイス2からのデータ読み出しである場合、メモリコン
トローラ116は、リクエストデータをリードウェイト
キュー117に格納する。そして、メモリコントローラ
116は、外部メモリデバイス2からリードデータが出
力されるのを待ち、リードデータが出力され、それをデ
ュアルポートメモリ100のデータユニット101に格
納すると、リードウェイトキュー117に格納されてい
るリクエストデータをリードアクノウレッジキュー11
8、119、120に出力する。
The memory controller 116 extracts a plurality of request data stored in the read request queue 114 and the write request queue 115 one by one, and transfers data between the dual port memory 100 and the external memory device 2. When the data transfer between the external memory device 2 and the dual port memory 100 is data reading from the external memory device 2, the memory controller 116 stores the request data in the read wait queue 117. Then, the memory controller 116 waits for read data to be output from the external memory device 2 and outputs the read data. When the read data is stored in the data unit 101 of the dual port memory 100, the read data is stored in the read wait queue 117. Read acknowledgment queue 11
8, 119, and 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に格納されているデータが順次各マ
スタデバイスに引き渡されることなる。
Read Acknowledge Queues 118 and 11
Reference numerals 9 and 120 store the request data output from the read wait queue 117 corresponding to each master device for each master device. When the request data for each master device is stored in each of the read acknowledge queues 118, 119, and 120, the local controllers 109, 110, and 111 issue the read command to request the external memory device 2-dual port. It is possible to know that the data reading between the memories 100 has already been completed. In this way, the local controller 109 that has noticed the transfer completion,
110 and 111 issue read commands to request data reading from the dual port memory 100 to the master devices 103, 104 and 105, and the dual port memory 100-local buffer 10 as described above.
If data transfer between 6, 107 and 108 is performed, data stored in the dual port memory 100 will be sequentially delivered to each master device.

【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に出力す
る。
The address selection circuit 121 receives the master device 103 as an access destination in the access command,
The external address Ext_Addr issued from 104 or 105 is selectively output. The master device 103 whose request has been granted by the arbiter 112 is connected to the external memory device 2
When requesting data transfer between the dual port memories 100, the address selection circuit 121 causes the external address Ext_Addr output by the master device 103 to be stored in the tag area so that the external address output by the master device 103 is stored. Output Ext_Addr to the tag area. When the master device 103 whose request has been permitted by the arbiter 112 requests data transfer between the master device 103 and the dual-port memory 100, the master device 103 transmits data between the data unit 101 and the master device. The output entry address Entr_Addr is output to the data unit 101.

【0110】アドレス選択回路122は、デュアルポー
トメモリ100−外部メモリデバイス2間のデータ転送
を行う場合は、エントリーコントローラ113から出力
されるエントリーアドレスEntr_Addrをデータユニット
101、タグユニット102に出力する。一方、デュア
ルポートメモリ100−マスタデバイス103、10
4、105間のデータ転送を行う場合は、アドレス選択
回路121を介してマスタデバイス103、104、1
05から出力されるエントリーアドレスEntr_Addrをデ
ュアルポートメモリ100のデータユニット101に出
力する。
When data transfer is performed between the dual port memory 100 and the external memory device 2, the address selection circuit 122 outputs the entry address Entr_Addr output from the entry controller 113 to the data unit 101 and the tag unit 102. On the other hand, dual port memory 100-master device 103, 10
When performing data transfer between the master devices 103, 104, 1, and 1 via the address selection circuit 121,
The entry address Entr_Addr output from the data port 05 is output to the data unit 101 of the dual port memory 100.

【0111】以上のように本実施形態によれば、デュア
ルポートメモリ100を介して、マスタデバイス103
−外部メモリデバイス2間のデータ転送を行うことがで
きる。 (第5実施形態) 第5実施形態では、外部メモリデバ
イス2とマスタデバイス103〜105との間の入出力
に用いられていたデュアルポートメモリ100を、マス
タデバイス103、104、105のワークエリアとし
て利用させる場合の改良に関する。図17は、第5実施
形態に係るデータ処理装置を示す図である。
As described above, according to the present embodiment, the master device 103 is connected via the dual port memory 100.
-Data transfer between the external memory devices 2 can be performed. (Fifth Embodiment) In the fifth embodiment, the dual port memory 100 used for input / output between the external memory device 2 and the master devices 103 to 105 is used as a work area of the master devices 103, 104, and 105. Regarding improvement when using it. FIG. 17 is a diagram illustrating a data processing device according to the fifth embodiment.

【0112】デュアルポートメモリ100をワークエリ
アとして利用するため、第5実施形態に係るマスタデバ
イス103、104、105は、ワークエリアとして用
いられるエントリー領域テーブル123、124、12
5保持している。具体的には、本テーブルは、ワークエ
リアについてのエントリーアドレスEntr_Addrと、その
ワークエリアが割り当てられたマスタデバイスの識別情
報Idとを対応づけている。
In order to use the dual port memory 100 as a work area, the master devices 103, 104, and 105 according to the fifth embodiment require entry area tables 123, 124, and 12 used as work areas.
5 are held. Specifically, the table associates the entry address Entr_Addr for the work area with the identification information Id of the master device to which the work area is assigned.

【0113】また第4実施形態におけるアクセスコマン
ドは、外部メモリデバイス2からのデータ読み出し、又
は、外部メモリデバイス2へのデータ書き込みを要求す
るものであったが、第5実施形態におけるアクセスコマ
ンドは、デュアルポートメモリ100からマスタデバイ
ス103へのデータ読み出し、又は、マスタデバイス1
03からデュアルポートメモリ100へのデータ書き込
みを要求するコマンド、即ち、デュアルポートメモリ1
00に対するデータ読み出し、又は、データ書き込みを
要求するコマンドであり、第5実施形態に係るマスタデ
バイス103は、こうしたデュアルポートメモリ100
に対するアクセスコマンドをアービター112に対して
発行する。そのため、図17では、各マスタデバイスか
らは、エントリーアドレスEntr_Addrが発行されるもの
として記載されている。
The access command according to the fourth embodiment requests data reading from the external memory device 2 or data writing to the external memory device 2. However, the access command according to the fifth embodiment includes: Data read from the dual port memory 100 to the master device 103 or the master device 1
03 is a command requesting data writing to the dual port memory 100, that is, the dual port memory 1
The master device 103 according to the fifth embodiment is a command for requesting data reading or data writing for the dual port memory 100.
Is issued to the arbiter 112. Therefore, in FIG. 17, it is described that the entry address Entr_Addr is issued from each master device.

【0114】第5実施形態に係るアービター112は、
マスタデバイス103、104、105によりデュアル
ポートメモリ100に対してのアクセスを要求するアク
セスコマンドが発行されれば、第4実施形態同様、デュ
アルポートメモリ100に対するデータ転送を、当該マ
スタデバイス103に対して許可するか、否かを判定す
る。
The arbiter 112 according to the fifth embodiment includes:
When an access command requesting access to the dual port memory 100 is issued by the master devices 103, 104, and 105, data transfer to the dual port memory 100 is performed to the master device 103 as in the fourth embodiment. It is determined whether to permit or not.

【0115】第5実施形態に係るローカルコントローラ
109、110、111は、マスタデバイス103〜1
05によりデュアルポートメモリ100に対するアクセ
スコマンドが発行され、デュアルポートメモリ100に
対するデータ転送が、アービター112により許可され
れば、当該アクセスコマンドにより指示されたエントリ
ー領域と、マスタデバイス103〜105との間のデー
タ転送を行う。これにより、マスタデバイス103〜1
05からエントリー領域へのデータ書き込み、又は、エ
ントリー領域からマスタデバイス103〜105へのデ
ータ読み出しが実現される。
The local controllers 109, 110, and 111 according to the fifth embodiment include master devices 103-1.
05, an access command to the dual-port memory 100 is issued, and if data transfer to the dual-port memory 100 is permitted by the arbiter 112, the data is transferred between the entry area designated by the access command and the master device 103 to 105. Perform data transfer. Thereby, the master devices 103 to 1
Data writing from the entry area 05 to the entry area or data reading from the entry area to the master devices 103 to 105 is realized.

【0116】例えば、あるマスタデバイス103が自装
置に割り当てられたエントリー領域xに対して所定のデ
ータを書き込む旨のアクセスコマンドを発行し、別のマ
スタデバイス104が、そのエントリー領域xに書き込
まれたデータを読み出す旨のアクセスコマンドを発行し
たとする。このように2つのマスタデバイス103,10
4が、エントリー領域に対するデータ書き込み、データ
読み出しを行えば、マスタデバイス103、104は、
エントリー領域xを介して、データを受け渡しを行うこ
とができる。
For example, one master device 103 issues an access command to write predetermined data to an entry area x allocated to the own device, and another master device 104 writes the data in the entry area x. It is assumed that an access command for reading data is issued. Thus, the two master devices 103, 10
4 writes data to and reads data from the entry area, the master devices 103 and 104
Data can be transferred via the entry area x.

【0117】以上のように本実施形態によれば、マスタ
デバイスとデュアルポートメモリ100との間のデータ
読み出し、データ書き込みを行うことにより、マスタデ
バイス103、104間のデータの受け渡しが可能とな
り、マスタデバイス同士の連携作業が推進される。 (第6実施形態)外部メモリデバイス2−デュアルポー
トメモリ100間のDMA転送を、各マスタデバイスが自
由に実行することができるようにした改良に関する。第
6実施形態に係るデータ処理装置の構成を図18に示
す。
As described above, according to the present embodiment, data can be transferred between the master devices 103 and 104 by reading and writing data between the master device and the dual port memory 100. Collaboration between devices is promoted. (Sixth Embodiment) This embodiment relates to an improvement in which each master device can freely execute a DMA transfer between the external memory device 2 and the dual port memory 100. FIG. 18 shows the configuration of the data processing device according to the sixth embodiment.

【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に行わせる。
In FIG. 18, the data processing device includes a DM.
A controller 126 is provided, and in the sixth embodiment, the master devices 103, 104, and 105
A DMA command for performing a DMA transfer between the external memory device 2 and the dual port memory 100 is output to the DMA controller, and a DMA address is issued to the DMA controller 126 together with the DMA command. Here, the DMA address indicates an entry address Entr_Addr as a transfer source and a transfer destination, and an external address Ext_Addr. When an access command (referred to as a DMA command) requesting a DMA transfer is issued, the DMA controller issues an entry address En designated as a transfer source and a transfer destination in the access command.
It holds the tr_Addr and the external address Ext_Addr, and requests the arbiter 112 to permit data transfer in this DMA command as in the case of other access commands.
If access to the dual port memory 100 is permitted to the arbiter 112, the external address specified by the access command is stored in the tag area corresponding to the entry address Entr_Addr specified by the access command.
Ext_Addr is stored, and the relevant entry address Extr
_Addr along with the transfer direction, read request queue 1
14 or the write request queue 115, causing the memory controller 116 to perform data transfer between the entry area specified by the entry address Entr_Addr and the external area indicated by the external address Ext_Addr.

【0119】メモリコントローラ116は、第4実施形
態と同様、外部メモリデバイス2とデュアルポートメモ
リ100との間のデータ転送を行う。このようなデータ
転送が行われれば、メモリコントローラ116は、要求
されたデータ転送が完了した旨の通知DMA_doneを各マス
タデバイスに出力して、DMAコマンドが遂行されたこと
を各マスタデバイスに知らせる。
The memory controller 116 performs data transfer between the external memory device 2 and the dual port memory 100 as in the fourth embodiment. When such data transfer is performed, the memory controller 116 outputs a notification DMA_done to the effect that the requested data transfer is completed to each master device, and notifies each master device that the DMA command has been executed.

【0120】以上のように本実施形態によれば、マスタ
デバイス103〜105はマスタデバイス103〜10
5−外部メモリデバイス2間のデータ転送と同様、外部
メモリデバイス2−デュアルポートメモリ100間のデ
ータ転送をDMAコントローラに命じることができるの
で、外部メモリデバイス2から読み出すべきデータを先
行的にデュアルポートメモリ100に格納しておくこと
ができ、マスタデバイスの外部メモリからのデータ読み
出しを高速に行うことができる。
As described above, according to the present embodiment, the master devices 103 to 105 are
Like the data transfer between the external memory device 2 and the external memory device 2, the data transfer between the external memory device 2 and the dual port memory 100 can be commanded to the DMA controller. The data can be stored in the memory 100, and data can be read from the external memory of the master device at high speed.

【0121】(第7実施形態) 第7実施形態は、ある
マスタデバイスに対するデュアルポートメモリ100の
利用許可を、調整させることができるアービター112
を提供する改良に関する。第7実施形態に係るアービタ
ー112の構成を図19に示す。図19に示すように、
アービター112は、リングレジスタ131、シフト制
御部132、調停部133、格納制御部134からな
る。
(Seventh Embodiment) In the seventh embodiment, an arbiter 112 capable of adjusting the use permission of the dual port memory 100 for a certain master device.
Related to improvements. FIG. 19 shows the configuration of an arbiter 112 according to the seventh embodiment. As shown in FIG.
The arbiter 112 includes a ring register 131, a shift control unit 132, an arbitration unit 133, and a storage control unit 134.

【0122】リングレジスタ131は、リング状に接続
されているn個のレジスタからなり、各レジスタには、
各マスタデバイスについての識別情報が格納されてい
る。シフト制御部132は、nサイクルにおいて、n個の
レジスタに格納されているn個の識別情報のそれぞれを
カレント情報として特定するよう、n個のレジスタのそ
れぞれに格納されている識別情報を巡回シフトさせる。
The ring register 131 includes n registers connected in a ring shape.
The identification information about each master device is stored. In n cycles, the shift control unit 132 cyclically shifts the identification information stored in each of the n registers so as to identify each of the n identification information stored in the n registers as current information. Let it.

【0123】調停部133は、nサイクルのうち、マス
タデバイスxについての識別情報がカレント情報として
特定されているサイクルにおいて、当該マスタデバイス
xによりアクセスコマンドが発行された場合、当該マス
タデバイスxに対して、デュアルポートメモリ100内
のエントリー領域を介したデータ転送を許可する。一方
調停部133は、マスタデバイスxについての識別情報x
がカレント情報であり、マスタデバイスxがカレントと
して特定されているサイクルにおいて、当該マスタデバ
イスxがアクセスコマンドを発行していない場合は、マ
スタデバイスxより優先順位が低いマスタデバイスのう
ち、優先順位が最も高いものであって、アクセスコマン
ドを発行したものに対して、データ転送を許可する。
The arbitration unit 133, during the cycle in which the identification information on the master device x is specified as the current information among the n cycles,
When an access command is issued by x, data transfer via the entry area in the dual port memory 100 is permitted to the master device x. On the other hand, the arbitration unit 133 generates identification information x for the master device x.
Is the current information, and in the cycle in which the master device x is specified as current, if the master device x has not issued an access command, the priority Data transfer is permitted for the highest one that issued the access command.

【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を介したデータ転送を許可する。
Further, when the master device x does not issue an access command and no master device having a lower priority than the master device x has issued an access command,
Among the master devices having higher priorities than the master device x, data transfer is permitted to the device having the highest priority and issuing the access command.
For example, when the current is the master device x having the priority = 3, if the master device x having the priority = 3 issues an access command, data transfer to the master device x via the dual port memory 100 is permitted.
On the other hand, although this master device x has not issued an access command, the priority order is 4, 5, 6, 7, and so on.
If a master device with a lower priority than = 3 issues an access command, of these master devices,
Data transfer via the dual port memory 100 is permitted to the master device having the highest priority (in this case, the master device having priority = 4). Further, the master device x and the master device having a lower priority than the master device x have not issued the access command, but the master device having a higher priority than the priority = 3, such as the priority = 1, 2, has access. When the command is issued, the master device having the highest priority among these master devices (in this case, the master device having the priority = 1) is permitted to transfer data through the dual port memory 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によるメモリア
クセス頻度は調整されることなる。
The storage control unit 134 transfers data for a specific master device (master device x) out of a plurality of master devices m times for n times (m is n> m).
When it is desired to permit the identification at a rate of (an integer satisfying), as shown in FIG. 20, the identification information x on the master device x is stored in m registers among the n registers. Here, identification information x is stored in m of n registers, and identification information x is specified as current information in m cycles of n cycles,
Access to the dual port memory 100 by the master device x is permitted at a rate of m cycles (n> m) for every n cycles. Therefore, the frequency of memory access by the master device x is adjusted.

【0126】以上のように本実施形態によれば、あるマ
スタデバイスに対してnサイクルにつきmサイクル(n>m)
の割合で許可させるという頻度調整を行うことができる
ので、アクセス頻度を自由に設定することができる。
尚、本実施形態において、どのマスタデバイスについて
の識別情報がカレント情報になろうと、特定のマスタデ
バイスについては、そのマスタデバイスからアクセスコ
マンドが発行され次第、デュアルポートメモリ100を
介したデータ転送を許可しても良い。
As described above, according to the present embodiment, m cycles (n> m) for every n cycles for a certain master device
, The frequency of access can be adjusted, so that the access frequency can be set freely.
In this embodiment, data transfer via the dual port memory 100 is permitted as soon as an access command is issued from a specific master device, regardless of which master device identification information becomes current information. You may.

【0127】(第8実施形態) 第8実施形態は、デー
タ処理装置を複数のメディア処理を行うメディアコアプ
ロセッサとして実施する場合の実施形態である。図21
は、第8実施形態における外部メモリデバイス2のメモ
リ割り当てを示す図である。本図において、外部メモリ
デバイス2上には、符号化ストリームバッファ領域19
8、画像フレーム領域199が割り当てられている。
(Eighth Embodiment) The eighth embodiment is an embodiment in which the data processing apparatus is implemented as a media core processor that performs a plurality of media processes. FIG.
FIG. 18 is a diagram showing memory allocation of the external memory device 2 in the eighth embodiment. In the figure, the external memory device 2 has a coded stream buffer area 19
8, an image frame area 199 is allocated.

【0128】符号化ストリームバッファ領域198は、
外部から入力されてきたMPEGストリームを未復号のまま
蓄積しておくための領域である。ここでMPEGストリーム
とは、複数のエレメンタリーストリームを含むビットス
トリームである。エレメンタリーストリームには、動画
ストリームと、音声ストリームとがある。動画ストリー
ムは、複数のマクロブロック(MB)からなる。動画ストリ
ームは、このマクロブロックを符号化単位として、画像
間の時間的相関性に基づいて情報圧縮されている。また
復号時にもこのマクロブロックを復号化単位としてフレ
ーム間予測方式の動き補償が行われる。マクロブロック
は、横16×縦16の画素データからなる。ここで横16×縦
16の画素データは、横8×縦8の輝度データからなる輝度
ブロックY0,Y1,Y2,Y3を有しており、横8×縦8の青色差
データからなる青色差ブロックCbと、横8×縦8の赤色差
データからなる赤色差ブロックCrとを含む。
The encoded stream buffer area 198 is
This area is for storing the MPEG stream input from the outside without decoding. Here, the MPEG stream is a bit stream including a plurality of elementary streams. The elementary streams include a moving image stream and an audio stream. The moving image stream is composed of a plurality of macro blocks (MB). The moving picture stream is information-compressed based on the temporal correlation between the images, using the macroblock as a coding unit. At the time of decoding, motion compensation of the inter-frame prediction method is performed using the macro block as a decoding unit. A macroblock is composed of 16 × 16 pixel data. Here 16x horizontal
The 16 pixel data has a luminance block Y0, Y1, Y2, Y3 composed of 8 × 8 luminance data. And a red difference block Cr composed of eight vertical red difference data.

【0129】画像フレーム領域199は、動画ストリー
ムを復号することにより得られた画素データや静止画像
データ、OSDピクセルデータが格納されている。図22
は、第9実施形態に係るデータ処理装置に内部構成を示
す図である。図22において、マスタデバイスは10個実
装されており、各マスタデバイスは、ビデオ復号処理、
オーディオ復号処理、ビデオ出力処理、コンピュ−タ・
グラフィックス描画処理等を始めとする様々なメディア
処理を実行する。
The image frame area 199 stores pixel data, still image data, and OSD pixel data obtained by decoding a moving image stream. FIG.
FIG. 21 is a diagram showing an internal configuration of a data processing device according to a ninth embodiment. In FIG. 22, ten master devices are mounted, and each master device performs video decoding processing,
Audio decoding processing, video output processing, computer
Various media processing such as graphics drawing processing is executed.

【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によるアクセスが集中することなる、以降、メ
ディアコアプロセッサとして機能するデータ処理装置の
構成要素について説明する。
When each master device performs media processing, the external memory device 2 is used for various processing operations such as an MPEG stream decoding process. Next, the internal configuration of the data processing device when performing processing as a media core processor will be described. As shown in FIG. 22, the data processing device includes a stream unit 201, an I / O buffer 202, and a setup processor 20.
3. Bit stream FIFO 204, VLD 205, TE20
6, POUA 207, POUB 208, POUC 209, audio unit 210, IOP 211, VBM 212, video unit 213, HOST unit 214, RE 215, FILTER 21
Consists of six. Of these components, for the master device, the master device name (master0,1,
2, 3, 4,..., 8, 9). In this figure, the local buffer 106, the local controller 109,
The read acknowledgment queue 118 and the like are shown as one master peripheral circuit. When the connection relationship between the dual port memory 100 and the master device is omitted from the internal configuration of the data processing device, the internal configuration of the data processing device is represented as shown in FIG. As is clear from this figure, the external memory device 2 and the dual-port memory 100 include the master devices master0, 1, 2, 3, 4,.
··························································································································· デ ー タ ·

【0131】ストリームユニット201は、記録媒体や
通信媒体からMPEGストリームが取り出されてメディアコ
アプロセッサに入力されてくると、MPEGストリームを動
画ストリーム、音声ストリームに分離してI/Oバッファ
202に書き込む。Setupプロセッサ(Setup)203は、
マスタデバイス(master7)であり、MPEGストリームに多
重化されている音声ストリームを復号して、非圧縮の音
声データをマスタ周辺回路及びデュアルポートメモリ1
00を介して外部メモリデバイス2に書き込む。音声ス
トリームは、IOP211により順次ビットストリームFIF
O204に供給され、Setupプロセッサ203は、このビ
ットストリームFIFO204から音声ストリームを取り出
して、音声ストリームの復号を行う。
[0131] When an MPEG stream is extracted from a recording medium or a communication medium and input to the media core processor, the stream unit 201 separates the MPEG stream into a moving image stream and an audio stream and writes the separated stream into the I / O buffer 202. Setup processor (Setup) 203
A master device (master7) that decodes an audio stream multiplexed with an MPEG stream and stores uncompressed audio data in a master peripheral circuit and a dual port memory 1
00 to the external memory device 2. The audio stream is sequentially converted to a bit stream FIF by the IOP 211.
The setup processor 203 extracts the audio stream from the bit stream FIFO 204 and decodes the audio stream.

【0132】可変符号長デコード部(VLD)205は、動
画ストリームからマクロブロックMBを取り出して、マク
ロブロックMBに含まれている4つの輝度ブロックY0,Y1,
Y2,Y3と、2つの色差ブロックCb,Crとに対して可変符号
長デコードを行う。動画ストリームは、IOP211によ
り順次ビットストリームFIFO204に供給され、VLD2
05は、このビットストリームFIFO204から動画スト
リームを取り出して、動画ストリームの復号を行う。
The variable code length decoding unit (VLD) 205 extracts a macroblock MB from the moving picture stream and outputs the four luminance blocks Y0, Y1,
Variable code length decoding is performed on Y2, Y3 and the two color difference blocks Cb, Cr. The video stream is sequentially supplied to the bit stream FIFO 204 by the IOP 211 and the VLD2
In step 05, the moving image stream is extracted from the bit stream FIFO 204, and the moving image stream is decoded.

【0133】トランスフォームエンジン部(TE)206
は、マスタデバイス(master3)であり、VLD205により
可変符号長デコードがなされた4つの輝度ブロックY0,Y
1,Y2,Y3と、2つの色差ブロックCb,Crとに対して逆量子
化及び逆離散余弦変換を行い、その結果をマスタ周辺回
路及びデュアルポートメモリ100を介して外部メモリ
デバイス2に書き込む。
Transform engine unit (TE) 206
Is a master device (master3), and the four luminance blocks Y0, Y having undergone variable code length decoding by the VLD 205.
Inverse quantization and inverse discrete cosine transform are performed on 1, Y2, Y3 and the two color difference blocks Cb, Cr, and the result is written to the external memory device 2 via the master peripheral circuit and the dual port memory 100.

【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に書き込ませる。
Pixel operation unit A (POUA)
207 are four luminance blocks Y0, Y1, Y2, Y3 subjected to inverse quantization and inverse discrete cosine transform, and two color difference blocks Cb, C
r is written to the external memory device 2, these 4
Two luminance blocks Y0, Y1, Y2, Y3 and two color difference blocks C
b and Cr from the external memory device 2 and
The corresponding reference image is read from the image frame area 199 in the external memory device 2. Thereafter, half-pel processing was performed on the reference image, and the result was averaged, and inverse quantization and inverse discrete cosine transform were performed.
Two luminance blocks Y0, Y1, Y2, Y3 and two color difference blocks C
b and Cr are added together (the above processing is called motion compensation). Thereafter, the result of the motion compensation is written to the image frame area 199 of the external memory device 2 via the master peripheral circuit and the dual port memory 100.

【0135】また、POUA207は、オンスクリーンディ
スプレイ(OSD)の描画処理を行う。OSDとは、操作者の指
示に従って動画像上にオーバレイされる文字フォントや
コンピュ−タグラフィックスであり、現在時刻を表示す
るためのカウンタや、『再生』『停止』『録画』等、デ
ータ処理装置現在行っている処理内容を表示画面上に表
示する際に用いられる。POUA207が行うのは、デュア
ルポートメモリ100とマスタデバイスとの間のデータ
転送であり、外部メモリデバイス2とデュアルポートメ
モリ100との間のデータ転送は、POUC209に委ねて
いる。
The POUA 207 performs an on-screen display (OSD) drawing process. The OSD is a character font or computer graphics that is overlaid on a moving image according to an operator's instruction. The OSD is a counter for displaying the current time and data processing such as "play", "stop", and "record". The device is used to display the current processing content on the display screen. The POUA 207 performs data transfer between the dual port memory 100 and the master device, and the data transfer between the external memory device 2 and the dual port memory 100 is entrusted to the POUC 209.

【0136】ピクセルオペレーションユニットB(POUB)
208は、画像に対するフィルタリング処理を行い、拡
大・縮小加工を施すマスタデバイス(master2)であり、デ
ュアルポートメモリ100とマスタデバイスとの間のデ
ータ転送を行う。POUA207同様、外部メモリデバイス
2とデュアルポートメモリ100との間のデータ転送
は、POUC209に委ねている。
Pixel operation unit B (POUB)
Reference numeral 208 denotes a master device (master2) that performs filtering processing on an image and performs enlargement / reduction processing, and performs data transfer between the dual port memory 100 and the master device. Like the POUA 207, data transfer between the external memory device 2 and the dual port memory 100 is left to the POUC 209.

【0137】ピクセルオペレーションユニットC(POUC)
209は、第7実施形態に示したDMAコマンドを出力す
ることにより、外部メモリデバイス2とデュアルポート
メモリ100との間の入出力を行うマスタデバイス(mas
ter0)である。オーディオユニット210は、I/Oバッフ
ァ202に格納された音声データを順次再生出力する。
Pixel operation unit C (POUC)
209 is a master device (mass) that performs input / output between the external memory device 2 and the dual port memory 100 by outputting the DMA command described in the seventh embodiment.
ter0). The audio unit 210 sequentially reproduces and outputs audio data stored in the I / O buffer 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による復号処理は、中断することなく、継続するこ
となる。
The I / O processor (IOP) 211 has the following
It is a master device that performs three transfer processes. In the first transfer process, the MPEG stream sequentially input from the stream unit 201 and sequentially stored in the I / O buffer 202 is transferred to the coded stream buffer area of the external memory device 2 via the master peripheral circuit and the dual port memory 100. 198. The second transfer processing is performed according to the progress of the decoding processing by the Setup processor 203 and the VLD 205,
This is a process for supplying a moving image stream and an audio stream to the. That is, the IOP 211 is the bit stream FIFO 204
Video and audio streams stored in
It monitors how much is decoded by the Setup processor 203 and the VLD 205. If the predetermined amount is decoded, the moving image stream and the audio stream are read from the external memory device 2 so as to supplement the predetermined amount of the MPEG stream, and are supplied to the bit stream FIFO 204. As a result, underflow of the bit stream FIFO 204 is avoided, and the setup processor 203 and the VLD 2
05 will continue without interruption.

【0139】3つ目の転送処理は、Setupプロセッサ20
3の復号処理により順次外部メモリデバイス2に書き込
まれた非圧縮の音声データをデュアルポートメモリ10
0及びマスタ周辺回路を介して読み出して、I/Oバッフ
ァ202に供給する処理である。このように非圧縮の音
声データが順次I/Oバッファ202に供給されれば、そ
れら音声データはオーディオユニット210により順次
再生出力されることなる。
The third transfer processing is performed by the Setup processor 20.
3, the uncompressed audio data sequentially written to the external memory device 2 by the decoding process
This is a process of reading out data via the 0 and the master peripheral circuit and supplying it to the I / O buffer 202. If the uncompressed audio data is sequentially supplied to the I / O buffer 202, the audio data is sequentially reproduced and output by the audio unit 210.

【0140】ビデオユニット(VU)213は、マスタデバ
イス(master4)であり、外部メモリデバイス2の画像フ
レーム領域199から2,3ライン分の画素データを読み
出して、ビデオバッファメモリ(VBM)212に格納し、V
BM212に読み出された2,3ライン分の画素データを映
像信号に変換して外部に接続されたテレビ受像器等のデ
ィスプレィ装置に出力するという処理を行う。
The video unit (VU) 213 is a master device (master4), reads a few lines of pixel data from the image frame area 199 of the external memory device 2, and stores it in the video buffer memory (VBM) 212. Then V
A process of converting a few lines of pixel data read by the BM 212 into a video signal and outputting the video signal to a display device such as a television receiver connected externally is performed.

【0141】ホストユニット(HOST)214は、データ処
理装置に接続されたホストマイコンからの指示に応じた
制御を、データ処理装置内部で行うためのマスタデバイ
ス(master5)である。レンダリングエンジン(RE)215
は、コンピュ−タ・グラフィックスにおけるレンダリン
グ処理を行うマスタデバイス(master9)であり、データ
処理装置に専用LSIが接続された場合に制御を行う。
The host unit (HOST) 214 is a master device (master5) for performing control according to an instruction from a host microcomputer connected to the data processing device inside the data processing device. Rendering engine (RE) 215
Is a master device (master 9) for performing rendering processing in computer graphics, and performs control when a dedicated LSI is connected to the data processing device.

【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を介したデータ転送を許可する。
The filter (FILTER) 216 performs the enlargement / reduction processing of the still image data. Like RE, dedicated to data processing equipment
Master device that controls when LSI is connected (mast
er6). This concludes the description of the components of the data processing device. Then, in the data processing device performing processing as a media core processor, how to arbitrate access to the dual port memory 100 in the nine master devices Will be described. FIG.
FIG. 7 is a diagram showing how priorities are set for a plurality of master devices. According to this figure, the priority order for the master device is order 1: POUA20.
7, ranking 2: POUB208, ranking 3: TE206, ranking 4:
VU213, Rank 5: HOST unit, Rank 6: FILTER21
6, rank 7: Setup processor 203, rank 8: IOP21
It can be seen that 1, rank 9: RE215 is set. These priorities are the same as numerical values such as “1”, “2”, “3”, “4”,... Assigned to each master device. The arbiter 112 permits data transfer via the dual-port memory 100 to any of the master devices according to the procedure described in the ninth embodiment while referring to the priorities assigned to these master devices.

【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回
許可されることなる。
As described in the seventh embodiment, the number of times each master device is permitted is adjusted according to the number of pieces of identification information of each master device stored in each shift register. The number of times each master device is permitted is defined by storing the identification information of the master device. The register column in FIG. 24 indicates which master device identification information is stored in each of the 22 registers. In this figure, of the 22 registers, the POUA2
07 identification information "1" is stored in two registers POUB
208, the identification information “3” of the TE 206 in the two registers, and the identification information “4” of the VU 213 in the two registers.
Are stored respectively. As described above, since the identification information “1” of the POUA 207 is stored in the eleven registers, P
Data transfer for the OUA 207 is permitted at a maximum of 11 times in 22 cycles. The POUB 208 is permitted up to twice out of 22 cycles, TE is permitted up to twice, and VU is permitted up to twice.

【0144】よって、各マスタデバイスは、以下に示す
割合で、デュアルポートメモリ100を介したデータ転
送が許可されることなる。 POUA:POUB:TE:VU:FILTER:SETUP:IOP:RE=11:2:2:2:1:1:
1:1:1 以上のように本実施形態によれば、メディア処理を行う
各マスタデバイスは、マスタ周辺回路を介してデュアル
ポートメモリ100に接続されているので、これらのマ
スタデバイスにおける読み書きポートのビット幅を改変
するような必要が生じても、そのような改変を容易に行
うことができる。
Therefore, each master device is permitted to transfer data via the dual port memory 100 at the following ratio. POUA: POUB: TE: VU: FILTER: SETUP: IOP: RE = 11: 2: 2: 2: 1: 1:
As described above, according to the present embodiment, since each master device that performs media processing is connected to the dual port memory 100 via the master peripheral circuit, the read / write port of these master devices is Even if it becomes necessary to modify the bit width, such modification can be easily performed.

【0145】(第9実施形態)デュアルポートメモリ1
00に1バイト=9ビットのメモリセルを使用する場合
の改良に関する。図25は、第9実施形態におけるエン
トリー領域の構成を示す図である。本図に示すように、
第9実施形態において、16バイトのエントリー領域は、
1Byte=9bitのメモリセルを16個配置してなる。こうした
1バイト=9bitのメモリメモリセルを用いれば、以下に示
すような、(1)符号付き8bitデータの受け渡しと、(2)符
号無し8bitデータの受け渡しとを高速に行うことができ
る。
(Ninth Embodiment) Dual Port Memory 1
It relates to an improvement in the case of using a memory cell of 1 byte = 9 bits in 00. FIG. 25 is a diagram illustrating a configuration of an entry area according to the ninth embodiment. As shown in this figure,
In the ninth embodiment, the 16-byte entry area is
It consists of 16 memory cells of 1Byte = 9bit. These
If a memory cell of 1 byte = 9 bits is used, (1) delivery of signed 8-bit data and (2) delivery of unsigned 8-bit data can be performed at high speed as described below.

【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つのマスタデバイス間において、高速に行
われることなる。
(1) Delivery of signed 8-bit data When 1 byte = signed 8-bit is set, the ninth bit is used as a sign bit. FIG.
FIG. 11 is a diagram illustrating bit assignment of a memory cell when byte = signed 8 bits is set. Here, among a plurality of master devices existing in the data processing device, one master device is a TE 206 that performs inverse quantization cosine transform (IDCT) in the MPEG decoding process, and the other master device is a motion compensation device in the MPEG decoding process. POUA to process
207. IDCT processing result is signed
Since these are represented as 8-byte data, these two master devices must transfer signed 8-bit data. Here, the dual port memory 100 is 1
Since the byte is composed of 9-bit memory cells, the TE 206 that performs IDCT writes signed 8-byte data to the dual-port memory 100, and the POUA 207 that performs motion compensation writes the code that has been so written. With
When the 8-byte data is read from the dual port memory 100 and used, the delivery of the signed 8-byte data is performed at high speed between these two master devices.

【0147】(2)符号無し8bitデータの受け渡し 1バイト=符号無し8ビットに設定された際、9ビット
目は、マスクビットとして用いられる。図26(b)
は、1バイト=符号無し8ビットに設定された場合のメ
モリセルのビット割り当てを示す図である。ここで、デ
ュアルポートメモリ100から外部メモリデバイス2へ
のデータ書き込みを行う場合、エントリー領域に含まれ
る32バイトのデータのうち、外部メモリデバイス2に書
き込むべき1バイトデータは、その9ビット目に位置する
マスクビットをオフ"0"に設定する。一方、外部メモリ
デバイス2への書き込みを禁止させたい1バイトデータ
は、その9ビット目に位置するマスクビットをオン"1"に
設定する。
(2) Delivery of unsigned 8-bit data When 1 byte = 8 bits without sign, the ninth bit is used as a mask bit. FIG. 26 (b)
FIG. 4 is a diagram showing bit allocation of a memory cell when 1 byte = 8 bits without a sign is set. Here, when writing data from the dual-port memory 100 to the external memory device 2, of the 32 bytes of data included in the entry area, 1-byte data to be written to the external memory device 2 is located at the ninth bit. Off the mask bit to "0". On the other hand, for 1-byte data for which writing to the external memory device 2 is to be prohibited, the mask bit located at the ninth bit is set to “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)に対応する部分は、エントリー領域
を用いた上書きから除外され、元の値を維持することな
る。
At the time of writing from the dual port memory 100 to the external memory device 2, 1-byte data whose mask bit is set to “0” is written to the external memory device 2. On the other hand, the one-byte data with the mask bit set to ON “1” is not written to the external memory device 2, and the original value of the external memory device 2 is maintained. FIG. 27 is a diagram showing how the external memory device 2 is written when the mask bit is set. The lower part of the figure shows an entry area composed of areas (1) to (5). Of these, areas (1) and (3)
It is assumed that the mask bit is set to 1 in 1-byte data forming (5), and the mask bit is set to 0 in 1-byte data forming regions (2) and (4). Then, the portion of the external memory device 2 corresponding to the areas (2) and (4) is overwritten by the contents of the entry area, but the parts corresponding to the areas (1), (3) and (5) are Will be removed from the overwrite using, and the original value will be maintained.

【0149】各1バイトデータを外部メモリデバイス2
に書き込むか否かはマスクビットを用いて設定されるの
で、マスクビットは、画像に文字パターンを合成するよ
うな用途に応用することができる。ここで外部メモリデ
バイス2に一画面分の画像データが格納されているもの
とする。外部メモリデバイス2に格納された画像データ
を文字パターンと合成させるには、マスタデバイスはい
わゆるRead & Modify& Writeを行わねばならない。即
ち、各マスタデバイスは、外部メモリデバイス2に格納
された画像データを一旦読み出し(Read)、それを取り込
んでから、文字パターンと合成する処理を行い(Modif
y)、文字パターンを合成した後、外部メモリデバイス2
に書き戻す(Write)という処理を行わねばならない。こ
の際、各マスタデバイスは、外部メモリデバイス2に格
納された画像データの読み出しと、読み出された画像デ
ータの書き込みという2つの処理を行わねばならないの
で、処理負荷は、大きくなってしまう。
Each 1-byte data is transferred to the external memory device 2
Is set using a mask bit, so the mask bit can be applied to an application such as combining a character pattern with an image. Here, it is assumed that one screen of image data is stored in the external memory device 2. In order to combine the image data stored in the external memory device 2 with a character pattern, the master device must perform so-called Read & Modify & Write. That is, each master device once reads out (Read) the image data stored in the external memory device 2, fetches the image data, and performs processing for synthesizing with the character pattern (Modif
y), after combining the character patterns, the external memory device 2
A process of writing back (Write) must be performed. At this time, each master device has to perform two processes of reading the image data stored in the external memory device 2 and writing the read image data, so that the processing load increases.

【0150】そこで、マスクビットを利用すれば、外部
メモリデバイス2に格納された画像データと、文字パタ
ーンとの合成を以下のように簡易に行うことができる。
文字パターンと画像データとの合成を行うにあたって、
デュアルポートメモリ100には、文字データを格納し
ておく。この文字データは、背景部と、ストローク部と
からなる。ここで、デュアルポートメモリ100に格納
されている1バイトデータのうち、文字の背景部に該当
するものには、マスクビットがオン"1"の設定を、1バイ
トデータのうち、文字のストローク部分に該当するもの
には、マスクビットがオフ"0"の設定を行う。
Therefore, by using the mask bits, the image data stored in the external memory device 2 and the character pattern can be easily synthesized as follows.
When combining character patterns and image data,
Character data is stored in the dual port memory 100. This character data includes a background portion and a stroke portion. Here, among the 1-byte data stored in the dual-port memory 100, the mask bit is set to "1" for the background portion of the character, and the stroke portion of the character in the 1-byte data is set. The mask bit is set to off "0" for those corresponding to.

【0151】マスクビットがこのように設定された状態
で、デュアルポートメモリ100から外部メモリデバイ
ス2へのデータ書き込みが行われれば、外部メモリデバ
イス2の画像のうち、文字のストローク部分に該当する
部分が、デュアルポートメモリ100に格納されている
データを用いて上書きされ、外部メモリデバイス2の画
像のうち、文字の背景部分に該当する部分は、デュアル
ポートメモリ100に格納されたデータを用いた上書き
から除外される。マスクビットを設定した上で、デュア
ルポートメモリ100に格納された文字パターンを外部
メモリデバイス2に格納されている画像データに書き込
むことにより、画像と文字とが合成された合成画像を容
易に得ることができる。
When data is written from the dual port memory 100 to the external memory device 2 with the mask bit set in this manner, a portion of the image of the external memory device 2 corresponding to the stroke portion of the character Is overwritten using the data stored in the dual-port memory 100, and the portion of the image of the external memory device 2 corresponding to the background portion of the character is overwritten using the data stored in the dual-port memory 100. Excluded from By setting a mask bit and writing the character pattern stored in the dual port memory 100 to the image data stored in the external memory device 2, it is possible to easily obtain a combined image in which the image and the character are combined. Can be.

【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"されているか否
かを示す符号である。
Although the description has been given based on the above embodiment,
It is only presented as an example of a system that can be expected to have the best effect at present. The present invention can be modified and implemented without departing from the gist thereof. Representative modified embodiments include the following (a), (b), (c),.... (A) The data shown in FIG. 28 may be stored in the tag area of the dual port memory 100 shown in FIG. Here, an example is shown in which one command is composed of two tag areas. Tag2Valid located at bit 22 in FIG. 28 is a flag indicating whether or not the second tag information of one command is valid. The MB access bit located at the 23rd bit is a code indicating whether or not it is for storing a macroblock. Do at the 24th bit
The ne bit is a code indicating whether or not it is the last data of the transfer requested by the master device. The DMA mode bit in the 25th bit indicates that the transfer between memories is performed in the external memory device 2-
Data transfer between the dual port memories 100,
Indicates whether data transfer is between the external memory device 2 and the master device. The 16B / 32B access flag in the 26th bit indicates whether one of the two bank areas constituting one entry area (16 bytes) is valid or both (3 bytes)
2 bytes) are valid. 27th bit Tag1Va
lid is a flag indicating whether or not the first tag information of one command is valid. 28 to 30 bits are the master device ID, and POU DMA at 31 bits
The MODE flag is a code indicating whether or not the POU DMA MODE is turned on "1".

【0153】(b)各マスタデバイスに制御バスに接続
させて、マスタデバイス間の情報交換を行わせてもよ
い。制御バスは、各マスタデバイスが所定の取り決めに
従ってデータ書き込み時のエントリアドレスを互いに通
知する際、当該エントリアドレスを伝送させるためのバ
スである。複数のマスタデバイスのうち少なくとも1つ
以上が、外部メモリデバイス2へのデータ書き込みを要
求した場合、外部メモリデバイス2においてデータが書
き込まれた領域の先頭部を示すエントリアドレスを制御
バスに伝送させ、複数のマスタデバイスのうち他のもの
は、制御バスに伝送されたエントリアドレス以降に格納
されているデータの読み出しを要求する。
(B) Each master device may be connected to a control bus to exchange information between the master devices. The control bus is a bus for transmitting the entry address when each master device notifies each other of the entry address at the time of data writing according to a predetermined rule. When at least one or more of the plurality of master devices requests data writing to the external memory device 2, an entry address indicating a head of an area where data is written in the external memory device 2 is transmitted to the control bus, Other ones of the plurality of master devices request reading of data stored after the entry address transmitted to the control bus.

【0154】複数のマスタデバイスのうち少なくとも1
つ以上が、外部メモリデバイス2へのデータ書き込みを
要求した場合、外部メモリデバイス2においてデータが
書き込まれた領域の終端部を示す終了アドレスを制御バ
スに伝送させ、複数のマスタデバイスのうち他のもの
は、制御バスに伝送された終了アドレスの次のアドレス
からのデータ書き込みを要求する。
At least one of a plurality of master devices
When at least one of the master devices requests data writing to the external memory device 2, the end address indicating the end of the area where data is written in the external memory device 2 is transmitted to the control bus, and the One requests data writing from the address next to the end address transmitted to the control bus.

【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」となる。
(C) In the third embodiment, a memory address server that performs integrated management of the use status of the external memory device 2 may be provided. The memory address server is
An external memory device 2 having an address table
It manages the usage status of each memory in a 1Kbit block as the minimum unit. Assuming that there are n blocks in the external memory device 2, the memory size is 1 Kb
It becomes it × n blocks. On the other hand, the address table is 2
The size is bit × n. 2 bits in address table
Indicates the use status of the block in the external memory device 2. Here, if the block in the external memory device 2 is not used, 2 bits in the address table become “00”. If the block is being written, 2 bits in the address table are "01", and if the block has been written, 2 bits in the address table are "10". When a block is unused but its use is reserved, 2 bits in the address table are “11”.

【0156】何れかのマスタデバイスが外部メモリデバ
イス2へのデータ書き込みを要求しようとした場合、そ
の使用状況が未使用に設定されている領域のアドレスを
当該マスタデバイスに通知し、何れかのマスタデバイス
の要求に従って外部メモリデバイス2にデータが書き込
まれた場合、その領域に対応する使用状況を書込済みに
更新する。前記複数のマスタデバイスのうち少なくとも
1つ以上が、外部メモリデバイス2上の複数の領域のう
ち何れかのものの使用状況を未使用に解放する旨を要求
した場合、メモリアドレスサーバは、何れかのマスタデ
バイスの要求に従って、その領域に対応する使用状況を
未使用に更新する。各マスタデバイスが、上記のような
アクセスコマンドの発行を行えば、外部メモリデバイス
2の利用効率を向上させることができる。
When any master device attempts to request data writing to the external memory device 2, the address of the area whose use status is set to unused is notified to the master device. When data is written to the external memory device 2 according to a request from the device, the usage status corresponding to the area is updated to “written”. At least one of the plurality of master devices
When one or more of the plurality of areas on the external memory device 2 request that the usage status of any one of the plurality of areas be released to unused, the memory address server responds to the request of any of the master devices to request that area. The usage status corresponding to is updated to unused. If each master device issues the access command as described above, the utilization efficiency of the external memory device 2 can be improved.

【0157】(d)第3実施形態において、デュアルポ
ートメモリ26に対してのアクセスを1つのマスタデバ
イスが統合して行ってもよい。本実施形態においてマス
タデバイス4は、外部メモリデバイス2からのデータ読
み出しの際、外部メモリデバイス2において自身に割り
当てられた領域からデュアルポートメモリ26へのデー
タ読み出しを行うともに、マスタデバイス5〜マスタデ
バイス6に割り当てられた領域からデュアルポートメモ
リ26へのデータ読み出しを行う。このようなデータ読
み出しにより、デュアルポートメモリ26上にはマスタ
デバイス4〜マスタデバイス6のデータが全て読み出さ
れたことになる。マスタデバイス5〜マスタデバイス6
は、エントリ情報に示されている領域から自身のローカ
ルメモリ8〜ローカルメモリ9へのDMA転送を行うこと
により、外部メモリデバイス2から読み出されたデータ
を取得する。
(D) In the third embodiment, access to the dual port memory 26 may be performed by one master device. In the present embodiment, when reading data from the external memory device 2, the master device 4 performs data reading from the area allocated to itself in the external memory device 2 to the dual port memory 26, and also executes the master device 5 to the master device 5. The data is read from the area assigned to No. 6 to the dual port memory 26. By such data reading, all the data of the master device 4 to the master device 6 have been read onto the dual port memory 26. Master device 5 to Master device 6
Acquires the data read from the external memory device 2 by performing a DMA transfer from the area indicated by the entry information to the local memory 8 to the local memory 9 of the device.

【0158】外部メモリデバイス2へのデータ書き込み
の際、マスタデバイス4はローカルメモリ7からデュア
ルポートメモリ26において自身に割り当てられた領域
へのデータ書き込みを行い、それと共にデュアルポート
メモリ26上のマスタデバイス5〜マスタデバイス6に
ついてのエントリ情報をマスタデバイス5〜マスタデバ
イス6に通知する。以降マスタデバイス4は、デュアル
ポートメモリ26においてマスタデバイス4〜マスタデ
バイス6用のデータが書き込まれている領域から、外部
メモリデバイス2においてマスタデバイス4〜マスタデ
バイス6用に割り当てられている領域へのDMA転送を行
う。これにより外部メモリデバイス2にはマスタデバイ
ス4〜マスタデバイス6用のデータが書き込まれること
になる。
When writing data to the external memory device 2, the master device 4 writes data from the local memory 7 to the area assigned to itself in the dual port memory 26, and at the same time, the master device 4 on the dual port memory 26. The entry information about the fifth to the master device 6 is notified to the master device 5 to the master device 6. Thereafter, the master device 4 shifts from the area where the data for the master device 4 to the master device 6 is written in the dual port memory 26 to the area allocated for the master device 4 to the master device 6 in the external memory device 2. Performs a DMA transfer. As a result, data for the master device 4 to the master device 6 is written to the external memory device 2.

【0159】以上説明したように本発明に係るデータ処
理装置によれば、2つのポイントを有しており、そのう
ち一方のポイントにてメモリデバイスと接続されるメモ
リバスと、それぞれが2つ以上のポイントを有してお
り、そのうち1つ以上のポイントにて各マスタデバイス
と接続される複数のローカルバスと、メモリデバイスに
対するデータ読み出し、及び、メモリデバイスに対する
データ書き込みを行い、各ローカルバス上では、各マス
タデバイスが要求する転送レートにてデータ転送を行わ
せ、メモリバス上では、メモリデバイスが要求する転送
レートにてデータ転送を行わせる転送コントローラと、
メモリバスの他方のポイント、及び、各ローカルバスの
1つのポイントにて接続された複数のバッファを有し、
メモリバスと、ローカルバスとの間の転送レートの相違
を吸収するよう、データの入出力を行う複数のローカル
バッファ手段とを備え、各ローカルバッファ手段は何れ
も同一構成であり、異なるビット幅のローカルバスを接
続可能であり、前記メモリデバイスにはデータ処理装置
の動作周波数と異なる動作周波数の同期クロック信号が
供給されており、前記データ処理装置は更に、一方のポ
ートがメモリバスを介して前記メモリデバイスの読み書
きポートに接続していて、他方のポートが前記複数のロ
ーカルバッファ手段に接続しており、メモリデバイスに
おける動作周波数とデータ処理装置内部における動作周
波数との相違を吸収するよう、メモリバスと複数のロー
カルバッファ手段との間でデータの入出力を行うデュア
ルポートメモリデバイスを備えているので、設計者が各
マスタデバイスに割り当てるべきバンド幅の変更を望ん
だ場合、ローカルバスが要求する転送レートを変更すれ
ば良いのでデータ処理装置全体を再設計する必要はな
い。メモリデバイス−ローカルバス側の変更を伴わずに
各マスタデバイスに対してのバンド幅の割り当てを変更
することができるので、将来データ処理装置の何れかの
箇所についてバンド幅を変更する必要が生じても、設計
者は大きな労力を払うことはない。具体的にいうと、本
発明に係るデータ処理装置がMPEGストリームの復号装置
であり、メーカーの商品開発戦略上の都合により、この
MPEGストリームの復号装置をデジタル衛星放送等の受信
装置等の他の装置に転用することが命じられた場合、複
数のマスタデバイス、複数のローカルバス側を再設計す
ればよく、メモリデバイス、ローカルバス側には何の改
良を加えなくてもよい。各マスタデバイスにどのように
ビット幅が割り当てられようとも、この変更は複数のロ
ーカルバスに対して行えばよく、ビット幅の変更前後で
も同じメモリデバイスに対するメモリ制御を変更する必
要は無いので、各マスタデバイスに対してのバンド幅割
当変更を簡易に行うことができる。
As described above, the data processing apparatus according to the present invention has two points.
A memo that is connected to a memory device at one point
Rivas, each with two or more points
Each master device at one or more of these points
Connected to multiple local buses and memory devices
Data read and memory device
Write data, and on each local bus,
Data transfer at the transfer rate required by the data device
Transfer on the memory bus
A transfer controller for performing data transfer at a rate,
The other point of the memory bus and each local bus
Having multiple buffers connected at one point,
Transfer rate difference between memory bus and local bus
Multiple locals that input and output data to absorb
Buffer means, and each local buffer means
Have the same configuration, and connect local buses with different bit widths.
A data processing device;
Synchronous clock signal with an operating frequency different from the operating frequency of
And the data processing device further comprises one port.
Read / write the memory device via the memory bus
Port and the other port is
Connected to the local buffer means
Frequency and operating frequency inside the data processor
In order to absorb the difference from the wave number, the memory bus and multiple rows
Dual for inputting and outputting data to and from the cull buffer
If the designer wants to change the bandwidth to be allocated to each master device, it is only necessary to change the transfer rate required by the local bus, so there is no need to redesign the entire data processing device. Absent. Since it is possible to change the allocation of the bandwidth to each master device without changing the memory device-local bus side, it is necessary to change the bandwidth for any part of the data processing device in the future. However, the designer does not pay much effort. Specifically, the data processing device according to the present invention is an MPEG stream decoding device.
If it is instructed to convert the MPEG stream decoding device to another device such as a receiving device for digital satellite broadcasting or the like, a plurality of master devices and a plurality of local buses may be redesigned, and a memory device and a local bus may be used. No modifications need to be made to the side. Regardless of how the bit width is assigned to each master device, this change may be made for multiple local buses, and there is no need to change the memory control for the same memory device before and after the bit width change. Bandwidth allocation change to the master device can be easily performed.

【0160】[0160]

【0161】またメモリデバイスと内部メモリ間のデー
タ転送における非同期制御を実現することができ、メモ
リデバイスとデータ処理装置とをそれぞれ固有の動作周
波数で動作させることができる。従って、メモリデバイ
スの性能を最大限に発揮できる動作周波数がデータ処理
装置にとって最適な動作周波数と異なる場合に、メモリ
デバイス及びデータ処理装置を最適な動作周波数で動作
させることができる。
[0161] it is possible to realize the asynchronous control of the data transfer between Matame memory device and the internal memory, a memory device and a data processing unit and each may be operated at a unique operating frequency. Therefore, when the operating frequency at which the performance of the memory device can be maximized is different from the optimal operating frequency for the data processing device, the memory device and the data processing device can be operated at the optimal operating frequency.

【0162】[0162]

【0163】[0163]

【0164】[0164]

【図面の簡単な説明】[Brief description of the drawings]

【図1】ワンチップLSIであるデータ処理装置が外部メ
モリデバイス2と共にマルチメディア関連製品に組みま
れて利用される場合を想定した図である。
FIG. 1 is a diagram supposing a case where a data processing device, which is a one-chip LSI, is assembled and used in a multimedia-related product together with an external memory device 2.

【図2】データ処理装置の第1の実施形態を説明するも
のである。
FIG. 2 illustrates a first embodiment of a data processing device.

【図3】外部メモリデバイス2−バス1間のデータ転送
を示すタイミングチャートである。
FIG. 3 is a timing chart showing data transfer between an external memory device 2 and a bus 1;

【図4】ローカルバッファ13が外部メモリデバイス2
にデータを書き込む際の動作タイミングを示すタイミン
グチャートである。
FIG. 4 shows a case where a local buffer 13 is an external memory device 2.
5 is a timing chart showing the operation timing when data is written to the memory.

【図5】ローカルバッファ13が外部メモリデバイス2
からデータを読み出す際の動作タイミングを示すタイミ
ングチャートである。
FIG. 5 shows a case where the local buffer 13 is an external memory device 2.
5 is a timing chart showing operation timings when data is read from a memory.

【図6】ローカルバッファ14が外部メモリデバイス2
にデータを書き込む際の動作タイミングを示すタイミン
グチャートである
FIG. 6 shows that the local buffer 14 is an external memory device 2
Is a timing chart showing the operation timing when writing data to the memory.

【図7】ローカルバッファ14が外部メモリデバイス2
からデータを読み出す際の動作タイミングを示すタイミ
ングチャートである。
FIG. 7 shows a case where the local buffer 14 is an external memory device 2.
5 is a timing chart showing operation timings when data is read from a memory.

【図8】ローカルバッファ13〜ローカルバッファ15
とバス10〜バス12との間に設けられている回路を共
通化する場合の構成を示す図である。
FIG. 8 shows local buffers 13 to 15
FIG. 3 is a diagram showing a configuration in a case where a circuit provided between a bus and a bus 10 to a bus 12 is shared.

【図9】(a)図8に示したセレクタのうち32bitバッ
ファ61〜32bitバッファ64から32bitバス57〜32bi
tバス60への読み出し時に用いられるもののみを図示
した図である。 (b)図8に示したセレクタのうち32bitバス57〜32b
itバス60から32bitバッファ61〜32bitバッファ64
への書き込み時に用いられるもののみを図示した図であ
る。
9 (a) Among the selectors shown in FIG. 8, 32 bit buffers 61 to 32 bit buffers 64 to 32 bit buses 57 to 32 bi
FIG. 3 is a diagram illustrating only those used at the time of reading to the t bus. (B) 32 bit buses 57 to 32b among the selectors shown in FIG.
32 bit buffer 61 to 32 bit buffer 64 from it bus 60
FIG. 3 is a diagram illustrating only those used at the time of writing data into the memory.

【図10】(a)バス10のビット幅と、4入力-1出力
セレクタ65〜ゲート68が選択する接続線との対応を
示す図である。 (b)バス10のビット幅と、第1〜第4番目のデータ
が転送してくる接続線との組み合わせにおいてセレクタ
71〜セレクタ74がどの接続線の選択出力するかを示
す図である。
10A is a diagram showing the correspondence between the bit width of the bus 10 and the connection lines selected by the 4-input / 1-output selector 65 to the gate 68. FIG. (B) is a diagram illustrating which connection line is selected and output by the selectors 71 to 74 in a combination of the bit width of the bus 10 and the connection lines to which the first to fourth data are transferred.

【図11】(a)転送レートが32bitである場合のタイ
ミングチャートである。 (b)転送レートが64bitである場合のタイミングチャ
ートである。 (c)転送レートが128bitである場合のタイミングチャ
ートである。
FIG. 11A is a timing chart when the transfer rate is 32 bits. (B) A timing chart when the transfer rate is 64 bits. (C) is a timing chart when the transfer rate is 128 bits.

【図12】(a)転送レートが32bitである場合のタイ
ミングチャートである。 (b)転送レートが64bitである場合のタイミングチャ
ートである。 (c)転送レートが128bitである場合のタイミングチャ
ートである。
FIG. 12A is a timing chart when the transfer rate is 32 bits. (B) A timing chart when the transfer rate is 64 bits. (C) is a timing chart when the transfer rate is 128 bits.

【図13】複数マスタデバイスがバス10に設けられた
データ処理装置を示す図である。
FIG. 13 is a diagram showing a data processing device in which a plurality of master devices are provided on a bus 10.

【図14】デュアルポートメモリ26が設けられたデー
タ処理装置を示す図である。
FIG. 14 is a diagram showing a data processing device provided with a dual port memory 26;

【図15】第4実施形態の係るデータ処理装置の構成を
示す図である。
FIG. 15 is a diagram illustrating a configuration of a data processing device according to a fourth embodiment.

【図16】カレントステートビット列の一例を示す図で
ある。
FIG. 16 is a diagram illustrating an example of a current state bit string.

【図17】第5実施形態に係るデータ処理装置の構成を
示す図である。
FIG. 17 is a diagram illustrating a configuration of a data processing device according to a fifth embodiment.

【図18】第6実施形態に係るデータ処理装置の構成を
示す図である。
FIG. 18 is a diagram illustrating a configuration of a data processing device according to a sixth embodiment.

【図19】第7実施形態におけるアービター112の構
成を示す図である。
FIG. 19 is a diagram illustrating a configuration of an arbiter 112 according to a seventh embodiment.

【図20】前記n個のレジスタのうち、m個のレジスタに
マスタデバイスxについての識別情報xを格納させるた場
合の一例を示す図である。
FIG. 20 is a diagram illustrating an example of a case where identification information x on a master device x is stored in m registers among the n registers.

【図21】第8実施形態における外部メモリデバイス2
のメモリ割り当てを示す図である。
FIG. 21 is an external memory device 2 according to the eighth embodiment.
FIG. 6 is a diagram showing memory allocation of a.

【図22】第9実施形態に係るデータ処理装置に内部構
成を示す図である。
FIG. 22 is a diagram showing an internal configuration of a data processing device according to a ninth embodiment.

【図23】デュアルポートメモリ100とマスタデバイ
スとの間の接続関係を省略して示したデータ処理装置の
内部構成を示す図である。
FIG. 23 is a diagram illustrating an internal configuration of a data processing apparatus in which a connection relationship between a dual port memory 100 and a master device is omitted.

【図24】複数のマスタデバイスに対する優先順位がど
のように設定されているかを示す図である。
FIG. 24 is a diagram showing how priorities are set for a plurality of master devices.

【図25】第9実施形態におけるエントリー領域の構成
を示す図である。
FIG. 25 is a diagram showing a configuration of an entry area in the ninth embodiment.

【図26】(a)1バイト=符号付き8ビットに設定さ
れた場合のメモリセルのビット割り当てを示す図であ
る。 (b)1バイト=符号無し8ビットに設定された場合の
メモリセルのビット割り当てを示す図である。
FIG. 26 (a) is a diagram illustrating bit assignment of a memory cell when 1 byte = signed 8 bits is set. (B) is a diagram illustrating bit assignment of a memory cell when 1 byte is set to 8 bits without a sign.

【図27】マスクビットの設定時において、外部メモリ
デバイス2がどのように書き込まれるかを示す図であ
る。
FIG. 27 is a diagram showing how the external memory device 2 is written when a mask bit is set.

【図28】図22に示したデュアルポートメモリ100
のタグ領域に、格納すべきデータを示す図である。
FIG. 28 is a dual-port memory 100 shown in FIG.
FIG. 8 is a diagram showing data to be stored in a tag area of FIG.

【図29】一般のDMA転送を行うDMA転送システムを示す
構成図である。
FIG. 29 is a configuration diagram illustrating a DMA transfer system that performs general DMA transfer.

【図30】ビット幅分割により実現されたバンド幅割り
当て技術の一例を示す図である。
FIG. 30 is a diagram illustrating an example of a bandwidth allocation technique realized by bit width division;

【符号の説明】[Explanation of symbols]

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 1 Bus 2 Memory Device 3 Memory Controller 4 DMA Master 5 DMA Master 6 DMA Master 7 Local Memory 8 Local Memory 9 Local Memory 10 Bus 11 Bus 12 Bus 13 Buffer 14 Buffer 15 Buffer 16 Arbiter 17-19 Memory I / F Controller 20- 22 Connection Circuit 24 DMA Master 25 Arbiter 26 Dual Port Memory 27 Control Bus 28 Memory Entry Server 100 Dual Port Memory 101 Data Unit 102 Tag Unit 103-105 Master Device 106-108 Local Buffer 109-111 Local Controller 112 Arbiter 113 Entry Controller 114 Read request queue 115 Write request queue 116 Memory controller 117 Read Rate queue 118-120 Read acknowledgment queue 121, 122 Address selection circuit 123-125 Entry area table 126 DMA controller 198 Encoded stream buffer area 199 Image frame area 201 Stream unit 202 I / O buffer 203 Setup processor 204 Bit stream FIFO 205 VLD 206 TE 207 POUA 208 POUB 209 POUC 210 Audio unit 211 I / O processor 212 VBM 213 Video unit 214 HOST unit 215 RE 216 FILTER

───────────────────────────────────────────────────── フロントページの続き (72)発明者 持田 哲司 大阪府門真市大字門真1006番地 松下電 器産業株式会社内 (72)発明者 落合 利之 大阪府門真市大字門真1006番地 松下電 器産業株式会社内 (56)参考文献 特開 平7−334564(JP,A) 特開 昭61−36859(JP,A) 特開 平2−245862(JP,A) 特開 平8−241186(JP,A) 特開 平4−15735(JP,A) 特開 平9−146872(JP,A) 特開 平11−126182(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/00 - 12/06 G06F 13/16 - 13/18 G06F 13/28 - 13/378 ──────────────────────────────────────────────────の Continuing on the front page (72) Inventor Tetsuji Mochida 1006 Kadoma Kadoma, Kadoma City, Osaka Prefecture Inside Matsushita Electric Industrial Co., Ltd. (56) References JP-A-7-334564 (JP, A) JP-A-61-36859 (JP, A) JP-A-2-2455862 (JP, A) JP-A 8-241186 (JP, A) JP-A-4-15735 (JP, A) JP-A-9-146872 (JP, A) JP-A-11-126182 (JP, A) (58) Fields investigated (Int. Cl. 7 , DB name) G06F 12/00-12/06 G06F 13/16-13/18 G06F 13/28-13/378

Claims (3)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 複数のマスタデバイスと、1つのメモリ
デバイスとに接続され、メモリデバイスと、各マスタデ
バイスとの間のデータ転送を行うデータ処理装置であっ
て、 2つのポイントを有しており、そのうち一方のポイント
にてメモリデバイスと接続されるメモリバスと、 それぞれが2つ以上のポイントを有しており、そのうち1
つ以上のポイントにて各マスタデバイスと接続される複
数のローカルバスと、 メモリデバイスに対するデータ読み出し、及び、メモリ
デバイスに対するデータ書き込みを行い、各ローカルバ
ス上では、各マスタデバイスが要求する転送レートにて
データ転送を行わせ、メモリバス上では、メモリデバイ
スが要求する転送レートにてデータ転送を行わせる転送
コントローラと、 メモリバスの他方のポイント、及び、各ローカルバスの
1つのポイントにて接続された複数のバッファを有し、
メモリバスと、ローカルバスとの間の転送レートの相違
を吸収するよう、データの入出力を行う複数のローカル
バッファ手段とを備え、 各ローカルバッファ手段は何れも同一構成であり、異な
るビット幅のローカルバスを接続可能であり、 前記メモリデバイスにはデータ処理装置の動作周波数と
異なる動作周波数の同期クロック信号が供給されてお
り、前記データ処理装置は更に、 一方のポートがメモリバスを介して前記メモリデバイス
の読み書きポートに接続していて、他方のポートが前記
複数のローカルバッファ手段に接続しており、メモリデ
バイスにおける動作周波数とデータ処理装置内部におけ
る動作周波数との相違を吸収するよう、メモリバスと複
数のローカルバッファ手段との間でデータの入出力を行
うデュアルポートメモリデバイスを備える ことを特徴と
するデータ処理装置。
1. A data processing device connected to a plurality of master devices and one memory device for transferring data between the memory device and each master device, the data processing device having two points. A memory bus connected to a memory device at one of the points, each of which has two or more points, one of which
Performs multiple local buses connected to each master device at one or more points, reads data from the memory device, and writes data to the memory device. On each local bus, the transfer rate requested by each master device is A transfer controller that transfers data at a transfer rate required by the memory device on the memory bus, the other point of the memory bus, and each local bus.
Having multiple buffers connected at one point,
In order to absorb the difference in transfer rate between the memory bus and the local bus, a plurality of local buffer means for inputting / outputting data are provided. Each of the local buffer means has the same configuration, and has different bit widths. A local bus can be connected, a synchronous clock signal having an operating frequency different from the operating frequency of the data processing device is supplied to the memory device, and the data processing device further has one port connected to the memory device via the memory bus. Memory device
Connected to the read / write port of the
Connected to multiple local buffer means,
Operating frequency in the device and inside the data processing device
Memory bus so as to absorb the difference between
Input / output data to / from local buffer means
A data processing device comprising a dual port memory device .
【請求項2】 前記転送コントローラは更に、 メモリバス上に転送されている複数マスタデバイスがそ
の読み出しを要求した複数データをデュアルポートメモ
リデバイスに取り込み、データをローカルバッファ手段
に出力するよう制御することを特徴とする請求項記載
のデータ処理装置。
2. The transfer controller further controls a plurality of master devices being transferred on a memory bus to take in a plurality of data requested to be read out into a dual port memory device and output the data to a local buffer means. The data processing device according to claim 1, wherein:
【請求項3】 前記転送コントローラは更に、 複数マスタデバイスがメモリデバイスへの書き込みを要
求したデータがローカルバッファ手段から出力される
と、これらの複数データをデュアルポートメモリデバイ
スに取り込み、当該デュアルポートメモリデバイスに蓄
積した後、蓄積されたデータをメモリバスに出力させる
ようデュアルポートメモリデバイスを制御することを特
徴とする請求項記載のデータ処理装置。
3. The transfer controller according to claim 2, further comprising: when the data requested by the plurality of master devices to be written to the memory device is output from the local buffer means, fetches the plurality of data into the dual port memory device; after storing the device, the data processing apparatus according to claim 1, wherein the controlling the dual port memory device so as to output the accumulated data to the memory bus.
JP2000211401A 1999-07-12 2000-07-12 Data processing device Expired - Fee Related JP3327900B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000211401A JP3327900B2 (en) 1999-07-12 2000-07-12 Data processing device

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP19800099 1999-07-12
JP11-198000 1999-07-12
JP2000211401A JP3327900B2 (en) 1999-07-12 2000-07-12 Data processing device

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP2001182647A Division JP2002049577A (en) 1999-07-12 2001-06-15 Data processor
JP2001321185A Division JP2002196975A (en) 1999-07-12 2001-10-18 Data processing device

Publications (2)

Publication Number Publication Date
JP2001084215A JP2001084215A (en) 2001-03-30
JP3327900B2 true JP3327900B2 (en) 2002-09-24

Family

ID=26510710

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000211401A Expired - Fee Related JP3327900B2 (en) 1999-07-12 2000-07-12 Data processing device

Country Status (1)

Country Link
JP (1) JP3327900B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004127093A (en) * 2002-10-04 2004-04-22 Sony Corp Image processor and image processing method
US8249140B2 (en) 2005-12-30 2012-08-21 Intel Corporation Direct macroblock mode techniques for high performance hardware motion compensation
WO2007097007A1 (en) * 2006-02-24 2007-08-30 Fujitsu Limited Memory control apparatus and memory control method
JP7332367B2 (en) * 2019-07-10 2023-08-23 キヤノン株式会社 Image processing device and image processing method

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6136859A (en) * 1984-07-30 1986-02-21 Nec Corp Interface controller
JPH02245862A (en) * 1989-03-18 1990-10-01 Fujitsu Ltd Bus arbitration centralized management system
JPH0415735A (en) * 1990-05-02 1992-01-21 Mitsubishi Electric Corp Buffer control system
JPH07334564A (en) * 1994-06-03 1995-12-22 Symbios Logic Inc Fine-adjustable automation apparatus for production of connecting adaptor
JPH08241186A (en) * 1995-03-07 1996-09-17 Fujitsu Ltd Unit and method for buffer memory management
JPH09146872A (en) * 1995-11-22 1997-06-06 Mitsubishi Electric Corp Data input/output processor
EP0887740A1 (en) * 1997-06-19 1998-12-30 Canon Kabushiki Kaisha Device and method for communication between computer buses

Also Published As

Publication number Publication date
JP2001084215A (en) 2001-03-30

Similar Documents

Publication Publication Date Title
US6041400A (en) Distributed extensible processing architecture for digital signal processing applications
US6567426B1 (en) Preemptive timer multiplexed shared memory access
KR100826740B1 (en) Multi-graphics processor system, graphics processor and rendering method
US6058459A (en) Video/audio decompression/compression device including an arbiter and method for accessing a shared memory
US5768445A (en) Compression and decompression scheme performed on shared workstation memory by media coprocessor
US5799209A (en) Multi-port internally cached DRAM system utilizing independent serial interfaces and buffers arbitratively connected under a dynamic configuration
KR20010029924A (en) Data processing apparatus
US5752266A (en) Method controlling memory access operations by changing respective priorities thereof, based on a situation of the memory, and a system and an integrated circuit implementing the method
JP3327900B2 (en) Data processing device
JP4728083B2 (en) Media processing device
KR100489719B1 (en) A specialized memory device
JP2002196975A (en) Data processing device
EP2382546A1 (en) Memory management process and apparatus for the same
JP2002049577A (en) Data processor
JPH08314793A (en) Memory access control method and semiconductor integrated circuit and image decoding device using this method
US6901487B2 (en) Device for processing data by means of a plurality of processors
JP2004326228A (en) Parallel arithmetic processor
WO2010122746A1 (en) Information processor
KR100469284B1 (en) Device for controling buffer bank of digital TV
JPH10322643A (en) Image data processing method and device therefor
JP2000207355A (en) Data transfer controller
JP2006252584A (en) Semiconductor integrated circuit device
JPH08317360A (en) Multi-picture transfer device for dynamic image

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070712

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20080712

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090712

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090712

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100712

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110712

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110712

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120712

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120712

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20130712

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees