JP2008140078A - Bus bridge device, information processor, and data transfer control method - Google Patents
Bus bridge device, information processor, and data transfer control method Download PDFInfo
- Publication number
- JP2008140078A JP2008140078A JP2006325020A JP2006325020A JP2008140078A JP 2008140078 A JP2008140078 A JP 2008140078A JP 2006325020 A JP2006325020 A JP 2006325020A JP 2006325020 A JP2006325020 A JP 2006325020A JP 2008140078 A JP2008140078 A JP 2008140078A
- Authority
- JP
- Japan
- Prior art keywords
- processing module
- memory
- address
- cache
- bus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Bus Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
本発明は一般に、バスブリッジ装置、情報処理装置、およびデータ転送制御方法に関し、特に、キャッシュを介してメモリと処理モジュールとの間のデータ転送を制御するバスブリッジ装置、情報処理装置、およびデータ転送制御方法に関する。 The present invention generally relates to a bus bridge device, an information processing device, and a data transfer control method, and more particularly to a bus bridge device, an information processing device, and a data transfer that control data transfer between a memory and a processing module via a cache. It relates to a control method.
従来、メモリアクセス効率を向上させるための様々な技術が提案されている。例えば、ダブルデータレート(DDR)タイプのSDRAMでは、アドレスを設定するためのオーバーヘッドが大きく、実際のデータ転送時間は短い。このため、シングルリード、シングルライトといったシングルアクセスが多発すると、メモリアクセス効率が低下される。そこで、通常は、プロセッサ、バスマスタデバイスといった処理モジュールとSDRAMとの間にキャッシュを配置するシステム構成が使用されている。SDRAMとキャッシュとの間のデータ転送はバースト転送によって実行されるため、メモリアクセス効率を向上させることができる。 Conventionally, various techniques for improving memory access efficiency have been proposed. For example, in a double data rate (DDR) type SDRAM, an overhead for setting an address is large, and an actual data transfer time is short. For this reason, if single access such as single read and single write occurs frequently, the memory access efficiency decreases. Therefore, a system configuration is generally used in which a cache is arranged between a processing module such as a processor and a bus master device and the SDRAM. Since the data transfer between the SDRAM and the cache is executed by burst transfer, the memory access efficiency can be improved.
また、複数のプロセッサが接続されるバスとメモリが接続されるバスとの間に、キャッシュを含むバスブリッジ回路が配置されたシステムも提案されている(例えば、特許文献1参照)。このバスブリッジ回路においては、キャッシュから取り出した内容をプロセッサに出力する処理経路とは別個に、キャッシュを経由せずに適当な固定値をプロセッサに出力する処理経路を形成し、余分なキャッシュ無効化処理の実行を省略している。
しかし、常にキャッシュを介してメモリをアクセスする処理モジュールを備えたシステムに、当該キャッシュを介さずにメモリをアクセスする新たな処理モジュールを追加した場合、データのコヒーレンシを保つことが困難となる場合がある。例えば、2つの異なる処理モジュールが1つのメモリを共有しており、一方のモジュールによってメモリにデータが書き込まれた後に、そのデータを他方のモジュールが読み出す制御が求められる場合を考える。このような場合、どちらかのモジュールがキャッシュに格納されたデータを用いていると、キャッシュと共有メモリとの間でデータ内容の不一致が生じる。 However, if a new processing module that accesses the memory without using the cache is added to a system that includes a processing module that always accesses the memory through the cache, it may be difficult to maintain data coherency. is there. For example, consider a case where two different processing modules share one memory, and after data is written to the memory by one module, control is required to read the data by the other module. In such a case, if one of the modules uses the data stored in the cache, a data content mismatch occurs between the cache and the shared memory.
そのため、例えば、キャッシュを介さずに共有メモリをアクセスする一方の処理モジュールが共有メモリにライトしたデータを、キャッシュを介して共有メモリをアクセスする他方の処理モジュールが使用する場合は、一方の処理モジュールが共有メモリにデータをライトした後、キャッシュの内容を無効化して、改めて他方の処理モジュールが共有メモリをリードアクセスするという手順が必要になる。また、逆に他方の処理モジュールがキャッシュにライトしたデータを一方の処理モジュールが使用する場合は、他方の処理モジュールがキュッシュにデータをライトした後、キャッシュをフラッシュし、無効化してから、一方の処理モジュールが共有メモリを読み出す手順が必要になる。 Therefore, for example, when the other processing module that accesses the shared memory via the cache uses the data written to the shared memory by one processing module that accesses the shared memory without going through the cache, the one processing module After the data is written to the shared memory, the contents of the cache are invalidated, and the other processing module needs to read-access the shared memory again. Conversely, when one processing module uses data written to the cache by the other processing module, the other processing module writes the data to the cache, flushes the cache, invalidates the data, A procedure for the processing module to read the shared memory is required.
ところで、近年、開発が大規模化し、開発期間が短縮化される中で、多くの開発には過去に開発したソフトウェアが再利用される。例えば、ハードウエアを動作させるドライバについては、実績のあるドライバをそのまま使いたいという要望が非常に多い。上述したキャッシュ制御手順はドライバに組み込むべき手順ではあるが、上述のとおりドライバは流用が多く、新規機能組み込みは非常に困難である。常にキャッシュを無効しておけばドライバの修正は不要となるが、メモリアクセス効率の大幅な低下を招くことになる。 By the way, in recent years, development has become large-scale and development period has been shortened, and software developed in the past is reused for many developments. For example, as for a driver that operates hardware, there is a great demand for using a proven driver as it is. Although the above-described cache control procedure is a procedure to be incorporated in the driver, as described above, the driver is often diverted, and it is very difficult to incorporate a new function. If the cache is always invalidated, the driver need not be corrected, but the memory access efficiency is greatly reduced.
そこで、本発明は、データコヒーレンシを保ちつつ、メモリアクセス効率を向上させることができるバスブリッジ装置、情報処理装置、およびデータ転送制御方法を提供することを目的とする。 Accordingly, an object of the present invention is to provide a bus bridge device, an information processing device, and a data transfer control method that can improve memory access efficiency while maintaining data coherency.
上記課題を解決するために、本発明の一つの面によれば、第1の処理モジュール及び第2の処理モジュールによって共有されるメモリに接続されたバスと前記第1の処理モジュールとの間に設けられたバスブリッジ装置であって、前記メモリから読み出されるデータを格納するキャッシュと、前記メモリに割り当てられたアドレス空間内の所定のアドレス領域を指定するアドレス情報を格納するレジスタと、前記第1の処理モジュールによって実行されるメモリアクセスサイクルによって指定されるメモリアドレスと前記アドレス情報とを比較し、前記メモリアドレスが前記所定のアドレス領域に属する場合、前記第1の処理モジュールが前記キャッシュを介して前記メモリをアクセスする第1の経路を有効にし、前記メモリアドレスが前記所定のアドレス領域に属さない場合、前記第1の処理モジュールが前記キャッシュを介さずに前記メモリをアクセスする第2の経路を有効にする経路切り替え部とを具備することを特徴とするバスブリッジ装置が提供される。 In order to solve the above-described problem, according to one aspect of the present invention, a bus connected to a memory shared by a first processing module and a second processing module is between the first processing module and the bus. A bus bridge device provided; a cache for storing data read from the memory; a register for storing address information for designating a predetermined address area in an address space allocated to the memory; and the first The memory address specified by the memory access cycle executed by the processing module is compared with the address information. When the memory address belongs to the predetermined address area, the first processing module passes through the cache. Enable a first path to access the memory, and the memory address is A bus bridge device, comprising: a path switching unit that enables a second path for accessing the memory without passing through the cache when the first processing module does not belong to a predetermined address area Is provided.
また、本発明の別の面によれば、第1の処理モジュールと、第2の処理モジュールと、
前記第1の処理モジュールおよび前記第2の処理モジュールによって共有されるメモリと、前記メモリに接続されたバスと前記第1の処理モジュールとの間に設けられ、前記メモリから読み出されるデータを格納するキャッシュと、前記メモリに割り当てられたアドレス空間内の所定のアドレス領域を指定するアドレス情報を格納するレジスタと、前記第1の処理モジュールによって実行されるメモリアクセスサイクルによって指定されるメモリアドレスと前記アドレス情報とを比較し、前記メモリアドレスが前記所定のアドレス領域に属する場合、前記第1の処理モジュールが前記キャッシュを介して前記メモリをアクセスする第1の経路を有効にし、前記メモリアドレスが前記所定のアドレス領域に属さない場合、前記第1の処理モジュールが前記キャッシュを介さずに前記メモリをアクセスする第2の経路を有効にする経路切り替え部とを具備することを特徴とする情報処理装置が提供される。
According to another aspect of the present invention, a first processing module, a second processing module,
A memory shared by the first processing module and the second processing module, a bus connected to the memory, and the first processing module are provided to store data read from the memory A cache, a register for storing address information for designating a predetermined address area in an address space allocated to the memory, a memory address and the address designated by a memory access cycle executed by the first processing module When the memory address belongs to the predetermined address area, the first processing module enables a first path for accessing the memory via the cache, and the memory address is The first processing module does not belong to the address area of the first processing module. The information processing apparatus is provided which Le is characterized by comprising a path switching unit to enable the second point of access to the memory without the cache.
さらに、本発明のまた別の面によれば、第1の処理モジュール及び第2の処理モジュールによって共有されるメモリに接続されたバスと前記第1の処理モジュールとの間に設けられたキャッシュを用いて、前記第1の処理モジュールと前記メモリとの間のデータ転送を制御するデータ転送制御方法であって、前記第1の処理モジュールによって実行されるシングルアクセスによって指定されるメモリアドレスが前記メモリに割り当てられたアドレス空間内の所定のアドレス領域に属するか否かを判定するステップと、前記メモリアドレスが前記所定のアドレス領域に属する場合、前記第1の処理モジュールが前記キャッシュを介して前記メモリをアクセスする第1の経路を有効にするステップと、前記メモリアドレスが前記所定のアドレス領域に属さない場合、前記第1の処理モジュールが前記キャッシュを介さずに前記メモリをアクセスする第2の経路を有効にするステップとを具備することを特徴とする、データ転送制御方法が提供される。 Further, according to still another aspect of the present invention, a cache provided between the bus connected to the memory shared by the first processing module and the second processing module and the first processing module is provided. A data transfer control method for controlling data transfer between the first processing module and the memory, wherein a memory address designated by a single access executed by the first processing module is the memory Determining whether or not the memory address belongs to the predetermined address area, and when the memory address belongs to the predetermined address area, the first processing module passes the cache through the cache. Enabling a first path to access the memory address and the memory address is the predetermined address area. If not, the first processing module comprises a step of enabling a second path for accessing the memory without going through the cache, and a data transfer control method is provided. .
本発明によれば、データコヒーレンシを保ちつつ、メモリアクセス効率を向上させることができるバスブリッジ装置、情報処理装置、およびデータ転送制御方法を提供することができる。 According to the present invention, it is possible to provide a bus bridge device, an information processing device, and a data transfer control method capable of improving memory access efficiency while maintaining data coherency.
以下、本発明の実施形態について図面を参照しながら説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
図1を参照しつつ、本発明の一実施形態に係るデータ転送制御装置について説明する。 A data transfer control apparatus according to an embodiment of the present invention will be described with reference to FIG.
図1は、本発明の一実施形態に係る情報処理装置の構成を概略的に示すブロック図である。この情報処理装置は、複数の処理モジュールと、これら複数の処理モジュールによって共有される共有メモリ200とを備えている。複数の処理モジュールは、例えば、LSI(Large Scale Integration)100として実現されている。LSI100は、内部バス110、バスブリッジ120、処理モジュール130、処理モジュール140、処理モジュール150等を備える。本実施形態に係る情報処理装置は、例えば、ノート型パーソナルコンピュータ、デスクトップ型パーソナルコンピュータ、ゲーム機器、テレビといった、様々な電子機器に搭載される組み込みシステムとして用いることができる。
FIG. 1 is a block diagram schematically showing the configuration of an information processing apparatus according to an embodiment of the present invention. The information processing apparatus includes a plurality of processing modules and a shared
内部バス110は、処理モジュール130、140及び150の各々と共有メモリ200との間でのデータ転送に用いられる。処理モジュール130、140及び150の各々は、所定の機能を実行するためのデバイスであり、例えば、プロセッサ、バスマスタ機能を有するI/Oコントローラ、またはそれらプロセッサとI/Oコントローラとの組み合わせによって実現されている。 バスブリッジ120は、内部バス110と処理モジュール130との間に設けられている。バスブリッジ120は、キャッシュ回路121、及び経路セレクタ122を備える。キャッシュ回路121は、共有メモリ200から読み出されるデータを格納するキャッシュである。キャッシュリフィル、キャッシュフラッシュ等のためにキャッシュ回路121と共有メモリ200との間で実行されるデータ転送は、バースト転送を用いて実行される。1回のバースト転送によって転送されるデータサイズは、例えばキャッシュラインのデータサイズに対応している。また、バスブリッジ120は、プロトコル変換を行う機能を有する。
The
処理モジュール130は、サブモジュール131及び132、バスインタフェース(BIF)133、CPU135等を備え、これらの要素の各々はモジュール内部バス136を介して互いに接続されている。バスインタフェース133は、レジスタ134を備えている。処理モジュール130は、バスブリッジ120及び内部バス110を介して共有メモリ200にアクセスする。処理モジュール130のモジュール内部バス130のプロトコルと、内部バス110のプロトコルとが異なる場合、バスブリッジ120によってプロトコル変換が行われる。
The
処理モジュール140及び処理モジュール150のそれぞれは、内部バス110に接続されており、内部バス110を介して共有メモリ200にアクセスする。
Each of the
処理モジュール130と内部バス110との間には、2種類の経路がある。1つは、処理モジュール130から、バスブリッジ120のキャッシュ回路121を経由して共有メモリ200にアクセスする第1の経路である。もう1つは、処理モジュール130から、バスブリッジ120のキャッシュ回路121を経由せずに共有メモリ200にアクセスする第2の経路である。
There are two types of paths between the
第1の経路では、処理モジュール130によって実行されるメモリアクセスサイクルはキャッシュ回路121によって受け付けられる。モジュール130内のサブモジュール131、サブモジュール132、及びCPU135の間でデータのやり取りをする場合、共有メモリ200にアクセスせずに、キャッシュ回路121に格納されたデータを用いることができる。このため、第1の経路を用いれば、共有メモリ200へのメモリアクセス効率を向上させることができる。例えば、モジュール130が画像処理の機能を有するモジュールである場合、モジュール130から共有メモリ200へのシングルアクセスが多数発生することが予想される。このような場合、第1の経路(キャッシュ回路121)を用いれば、共有メモリ200へのアクセス回数を削減し、メモリアクセス効率を向上させることができる。
In the first path, the memory access cycle executed by the
第2の経路は、処理モジュール130と他のモジュール(処理モジュール140、処理モジュール150)との間でデータのコヒーレンシを保つ必要がある場合に用いられる。例えば、処理モジュール130のサブモジュール131が、処理モジュール140が書き込んだ後のデータを読み出す必要がある場合、サブモジュール131がキャッシュ回路121に格納されているデータを読み出してしまうと、実際に処理モジュール140が書き込んだデータとは異なるデータを読み出すことになり、データのコヒーレンシを保てなくなる。従って、処理モジュール130と他のモジュール(処理モジュール140、処理モジュール150)との間でデータをやり取りする場合、第2の経路が用いられる。従って、データのコヒーレンシを保つことができる。
The second path is used when it is necessary to maintain data coherency between the
第1の経路と第2の経路のどちらを用いるかは、モジュール130内のバスインタフェース133によって決定される。また、経路の切り替えは、経路セレクタ122によって実行される。
Whether to use the first route or the second route is determined by the
図2及び図3を参照しつつ、バスインタフェース133とバスブリッジ120について、より詳細に説明する。
The
図2は、バスブリッジ120の構成と、処理モジュール130のバスインタフェース133の構成をより詳細に示すブロック図である。なお、図2において、モジュール内部バス136は、複数の信号線として示されている。より具体的には、モジュール内部バス136は、ライトデータ信号線(WrData)、アドレス信号線(Address)、制御信号線(Ctrl)、バススタート信号線(BusStart)、リードデータ信号線(RdData)、及び肯定応答信号線(Ack)を含むものとして示されている。なお、バススタート信号は本来、制御系信号の一つであるが、図2においては説明の都合上、制御信号とは別に示されている。また、図2に示される内部モジュールバス136の構成は一例であり、この構成に限定されるものではない。
FIG. 2 is a block diagram showing the configuration of the
図2に示されるように、バスブリッジ120は、キャッシュ回路121、第1のマスク回路122a、第2のマスク回路122b、及びプロトコル変換回路123等を備える。第1のマスク回路122a、及び第2のマスク回路122bは、前述の経路セレクタ122を構成する。
As shown in FIG. 2, the
第1のマスク回路122aは、キャッシュ回路121と処理モジュール130との間に設けられている。具体的には、第1のマスク回路122aは、キャッシュ回路121と処理モジュール130との間を接続するバススタート信号線(BusStart)、リードデータ信号線(RdData)、及び肯定応答信号線(Ack)内に挿入されている。処理モジュール130からのメモリアクセス要求に対しては、キャッシュ回路121及びプロトコル変換回路123はバススタート信号線(BusStart)に応答して動作する。したがって、全ての信号線をマスクせずとも、処理モジュール130からキャッシュ回路121へのバススタート信号線(BusStart)等をマスクするだけで、処理モジュール130からのメモリアクセスサイクルをキャッシュ回路121を介さずに内部バス110に伝達することができる。
The
第2のマスク回路122bは、バスバス用信号線路300に挿入されている。バスバス用信号線路300は、キャッシュ131を介さずに処理モジュール130と内部バス110との間を結合する信号線路である。バスバス用信号線路200は、ライトデータ信号線(WrData)、アドレス信号線(Address)、制御信号線(Ctrl)、バススタート信号線(BusStart)、リードデータ信号線(RdData)、及び肯定応答信号線(Ack)を含む。第2のマスク回路122bは、バスバス用信号線路300内に定義されたバススタート信号線(BusStart)、リードデータ信号線(RdData)、及び肯定応答信号線(Ack)に挿入されている。
The
処理モジュール130のバスインタフェース133は、レジスタ134とアドレス比較部135とを備える。
The
レジスタ134は、共有メモリ200に割り当てられたアドレス空間の内で上述した第2の経路でアクセスされるべき所定のアドレス領域を指定するアドレス情報を格納している。アドレス情報は、例えば、上述のアドレス領域に対応するアドレス範囲の、上限アドレス(Upper_Add)及び下限アドレス(Lower_Add)を格納している。
The
アドレス比較部135は、処理モジュール130によって実行されるメモリアクセスサイクルによって指定されるメモリアドレスをレジスタ134に格納された上限アドレス及び下限アドレスと比較し、比較結果に応じて、第1のマスク回路122a及び第2のマスク回路122bに出力するチップセレクト信号の論理レベルを制御する。例えば、アドレス比較部135が、第1のマスク回路122aに出力するチップセレクト信号の論理レベルをLOWに制御して第1のマスク回路122aをディスエーブル状態に設定し、第2のマスク回路122bに出力するチップセレクト信号の論理レベルをHIGHに制御して第2のマスク回路122bをイネーブル状態に設定した場合、処理モジュール130は、キャッシュ回路121に接続される。一方、アドレス比較部135が、第1のマスク回路122aに出力するチップセレクト信号の論理レベルをHIGHに制御して第1のマスク回路122aをイネーブル状態に設定し、第2のマスク回路122bに出力するチップセレクト信号の論理レベルをLOWに制御して第2のマスク回路122bをディスエーブル状態に設定した場合、処理モジュール130は、キャッシュ回路121を経由せずにプロトコル変換回路123に接続される。
The
なお、図2中、プロトコル変換回路123は、キャッシュ回路121と内部バス110との間に設けられている。しかし、プロトコル変換回路123は、キャッシュ回路121とモジュール130との間に設けてもよい。この場合、プロトコル変換後に、第1の経路及び第2の経路のいずれか一方が選択される。
In FIG. 2, the
図3を参照しつつ、共有メモリ200のアドレス空間について説明する。
The address space of the shared
図3は、共有メモリ200のアドレス空間を示す概略図である。図3に示すように、バスインタフェース133に格納される上限アドレス及び下限アドレスによって、第1の経路を用いてアクセスすべきアドレス領域(キャッシュon領域)が規定される。上限アドレス及び下限アドレスによって規定された範囲以外のアドレスへのアクセスは、第2の経路を用いてなされる。なお、図3では、1組の上限アドレス及び下限アドレスのみが示されているが、2以上の組の上限アドレス及び下限アドレスを規定することもできる。この場合、バスインタフェース133のレジスタ134に、2以上の組の上限アドレス及び下限アドレスを格納すればよい。また、ユーザは、例えば、CPU135に初期設定用ソフトウェアを実行させることによって、上限アドレス及び下限アドレスのそれぞれに、システム構成に応じて所望の値を柔軟に設定することができる。従って、複数の処理モジュール(モジュール130、モジュール140、モジュール150)によってアクセスされるアドレス範囲において、データのコヒーレンシを保つ必要がある場合、そのようなアドレス範囲を除くように、上限アドレス及び下限アドレスを設定すればよい。このため、設計が容易であり、新たなドライバ等を開発する必要もない。従って、複数のモジュールを含むLSI100、及びLSIを含む情報処理装置の開発期間を短縮することができる。
FIG. 3 is a schematic diagram showing an address space of the shared
なお、上記の説明では、内部バス110と処理モジュール130との間にのみブリッジ120が設けられている。しかし、内部バス110のプロトコルと処理モジュール140のモジュール内部バスのプロトコルとが異なる場合、内部バス110と処理モジュール140との間にブリッジを設けてもよい。同様に、内部バス110と処理モジュール150との間にブリッジを設けてもよい。あるいは、処理モジュール140及び処理モジュール150各々の、内部バス110とのインタフェース部分にプロトコル変換装置を設けてもよい。
In the above description, the
また、アプリケーション毎、又はモジュール毎に、キャッシュ回路(例えば、キャッシュ回路121)を利用するかしないかを規定してもよい。 Moreover, you may prescribe | regulate whether a cache circuit (for example, cache circuit 121) is utilized for every application or every module.
さらに、上記の説明では、共有メモリのアドレス空間において、第2の経路を用いないでアクセスされるアドレス空間の中に、第1の経路を用いて(即ち、キャッシュ回路121を介して)アクセスすべきアドレス範囲を、上限アドレス及び下限アドレスを設定することで規定している。しかし、第1の経路を用いてアクセスすべきアドレス範囲に、第2の経路を用いてアクセスすべきアドレス範囲を、上限アドレス及び下限アドレスを設定することで規定してもよい。 Further, in the above description, in the address space of the shared memory, the address space accessed without using the second route is accessed using the first route (that is, via the cache circuit 121). The address range to be specified is defined by setting an upper limit address and a lower limit address. However, the address range to be accessed using the second route may be defined by setting the upper limit address and the lower limit address in the address range to be accessed using the first route.
図4を参照しつつ、本発明の一実施形態に係るデータ転送制御方法について説明する。 A data transfer control method according to an embodiment of the present invention will be described with reference to FIG.
図4は、本発明の一実施形態に係るデータ転送制御方法を説明するためのフローチャートである。まず、バスインタフェース133のアドレス比較部135は、サブモジュール131、サブモジュール132、又はCPU135から、共有メモリ200へのアクセス要求を受け取る(ステップS400)。次いで、アドレス比較部135は、受け取ったアクセス要求で指定されたアドレスを、レジスタ134に格納された上限アドレス及び下限アドレスと比較する(ステップS402)。具体的には、サブモジュール131、サブモジュール132、又はCPU135によってメモリアクセスサイクルが実行された時、アドレス比較部135は、メモリアクセスサイクルによって指定されるメモリアドレスをアドレス信号線を介して取得し、そのメモリアドレスがレジスタ134に格納された上限アドレス及び下限アドレスと比較する。比較の結果、受け取ったアクセス要求で指定されたアドレスが、下限アドレス以上であり、且つ上限アドレス以下である場合、アドレス比較部135は、第1の経路を有効にする(ステップS404)。一方、比較の結果、受け取ったアクセス要求で指定されたアドレスが、下限アドレス未満である場合、又は上限アドレスよりも大きい場合、アドレス比較部135は、第2の経路を有効にする(ステップS406)。
FIG. 4 is a flowchart for explaining a data transfer control method according to an embodiment of the present invention. First, the
上述した本発明の各実施形態によれば、簡単な構成で、複数のモジュール(130、140、150)の間でデータコヒーレンシを保ちつつ、共有メモリ(200)へのアクセス回数を削減してメモリアクセス効率を向上させることができる。 According to each embodiment of the present invention described above, the memory can be reduced by reducing the number of accesses to the shared memory (200) while maintaining data coherency between the plurality of modules (130, 140, 150) with a simple configuration. Access efficiency can be improved.
なお、本発明は、上記実施形態そのままに限定されるものではない。本発明は、実施段階では、その要旨を逸脱しない範囲で構成要素を変更して具現化できる。 In addition, this invention is not limited to the said embodiment as it is. In the implementation stage, the present invention can be embodied by changing the components without departing from the scope of the invention.
また、上記実施形態に開示されている複数の構成要素を適宜に組み合わせることで、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。 Moreover, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different embodiments may be appropriately combined.
100…LSI、110…内部バス、120…ブリッジ回路、121…キャッシュ回路、122a…第1のマスク回路、122b…第2のマスク回路、123…プロトコル変換回路、130…モジュール、130…バスインタフェース(BIF)、134…レジスタ(reg.)、135…アドレス比較部、140…モジュール、150…モジュール。
DESCRIPTION OF
Claims (6)
前記メモリから読み出されるデータを格納するキャッシュと、
前記メモリに割り当てられたアドレス空間内の所定のアドレス領域を指定するアドレス情報を格納するレジスタと、
前記第1の処理モジュールによって実行されるメモリアクセスサイクルによって指定されるメモリアドレスと前記アドレス情報とを比較し、前記メモリアドレスが前記所定のアドレス領域に属する場合、前記第1の処理モジュールが前記キャッシュを介して前記メモリをアクセスする第1の経路を有効にし、前記メモリアドレスが前記所定のアドレス領域に属さない場合、前記第1の処理モジュールが前記キャッシュを介さずに前記メモリをアクセスする第2の経路を有効にする経路切り替え部と、
を具備することを特徴とする、バスブリッジ装置。 A bus bridge device provided between a bus connected to a memory shared by a first processing module and a second processing module and the first processing module,
A cache for storing data read from the memory;
A register for storing address information for designating a predetermined address area in an address space allocated to the memory;
The address information is compared with a memory address specified by a memory access cycle executed by the first processing module. When the memory address belongs to the predetermined address area, the first processing module Enabling a first path for accessing the memory via the first address, and when the memory address does not belong to the predetermined address area, the second processing module accesses the memory without going through the cache. A route switching unit that enables the route of
A bus bridge device comprising:
前記キャッシュと第1の処理モジュールとの間に設けられた第1のマスク回路と、
前記バイパス用信号線路内に挿入された第2のマスク回路とを更に備え、
前記経路切り替え部は、前記第1の経路を有効にする場合、前記第1のマスク回路をディスエーブル状態に設定する共に前記第2のマスク回路をイネーブル状態に設定し、前記第2の経路を有効にする場合、前記第1のマスク回路をイネーブル状態に設定する共に前記第2のマスク回路をディスエーブル状態に設定することを特徴とする、請求項1記載のバスブリッジ装置。 A bypass signal line for coupling between the first processing module and the bus without going through the cache;
A first mask circuit provided between the cache and the first processing module;
A second mask circuit inserted in the bypass signal line,
The path switching unit, when enabling the first path, sets the first mask circuit to a disabled state, sets the second mask circuit to an enabled state, and sets the second path to the enabled state. 2. The bus bridge device according to claim 1, wherein, when enabled, the first mask circuit is set to an enabled state and the second mask circuit is set to a disabled state. 3.
第2の処理モジュールと、
前記第1の処理モジュールおよび前記第2の処理モジュールによって共有されるメモリと、
前記メモリに接続されたバスと前記第1の処理モジュールとの間に設けられ、前記メモリから読み出されるデータを格納するキャッシュと、
前記メモリに割り当てられたアドレス空間内の所定のアドレス領域を指定するアドレス情報を格納するレジスタと、
前記第1の処理モジュールによって実行されるメモリアクセスサイクルによって指定されるメモリアドレスと前記アドレス情報とを比較し、前記メモリアドレスが前記所定のアドレス領域に属する場合、前記第1の処理モジュールが前記キャッシュを介して前記メモリをアクセスする第1の経路を有効にし、前記メモリアドレスが前記所定のアドレス領域に属さない場合、前記第1の処理モジュールが前記キャッシュを介さずに前記メモリをアクセスする第2の経路を有効にする経路切り替え部と、
を具備することを特徴とする情報処理装置。 A first processing module;
A second processing module;
A memory shared by the first processing module and the second processing module;
A cache that is provided between the bus connected to the memory and the first processing module and stores data read from the memory;
A register for storing address information for designating a predetermined address area in an address space allocated to the memory;
The address information is compared with a memory address specified by a memory access cycle executed by the first processing module, and when the memory address belongs to the predetermined address area, the first processing module Enabling a first path for accessing the memory via the first address, and when the memory address does not belong to the predetermined address area, the second processing module accesses the memory without going through the cache. A route switching unit that enables the route of
An information processing apparatus comprising:
前記キャッシュと第1の処理モジュールとの間に設けられた第1のマスク回路と、
前記バイパス用信号線路内に挿入された第2のマスク回路とを更に備え、
前記経路切り替え部は、前記第1の経路を有効にする場合、前記第1のマスク回路をディスエーブル状態に設定する共に前記第2のマスク回路をイネーブル状態に設定し、前記第2の経路を有効にする場合、前記第1のマスク回路をイネーブル状態に設定する共に前記第2のマスク回路をディスエーブル状態に設定することを特徴とする、請求項4記載の情報処理装置。 A bypass signal line for coupling between the first processing module and the bus without going through the cache;
A first mask circuit provided between the cache and the first processing module;
A second mask circuit inserted in the bypass signal line,
The path switching unit, when enabling the first path, sets the first mask circuit to a disabled state, sets the second mask circuit to an enabled state, and sets the second path to the enabled state. 5. The information processing apparatus according to claim 4, wherein, when being enabled, the first mask circuit is set to an enabled state and the second mask circuit is set to a disabled state. 6.
前記第1の処理モジュールによって実行されるシングルアクセスによって指定されるメモリアドレスが前記メモリに割り当てられたアドレス空間内の所定のアドレス領域に属するか否かを判定するステップと、
前記メモリアドレスが前記所定のアドレス領域に属する場合、前記第1の処理モジュールが前記キャッシュを介して前記メモリをアクセスする第1の経路を有効にするステップと、
前記メモリアドレスが前記所定のアドレス領域に属さない場合、前記第1の処理モジュールが前記キャッシュを介さずに前記メモリをアクセスする第2の経路を有効にするステップと、
を具備することを特徴とする、データ転送制御方法。 Using a cache provided between a bus connected to a memory shared by the first processing module and the second processing module and the first processing module, the first processing module and the memory A data transfer control method for controlling data transfer between
Determining whether a memory address specified by a single access executed by the first processing module belongs to a predetermined address area in an address space allocated to the memory;
Enabling the first processing module to access the memory via the cache when the memory address belongs to the predetermined address area;
Enabling the second path for the first processing module to access the memory without going through the cache if the memory address does not belong to the predetermined address area;
A data transfer control method comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006325020A JP2008140078A (en) | 2006-11-30 | 2006-11-30 | Bus bridge device, information processor, and data transfer control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006325020A JP2008140078A (en) | 2006-11-30 | 2006-11-30 | Bus bridge device, information processor, and data transfer control method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008140078A true JP2008140078A (en) | 2008-06-19 |
Family
ID=39601473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006325020A Pending JP2008140078A (en) | 2006-11-30 | 2006-11-30 | Bus bridge device, information processor, and data transfer control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008140078A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013546035A (en) * | 2010-09-20 | 2013-12-26 | クゥアルコム・インコーポレイテッド | Inter-processor communication technique for multiple processor computing platforms |
CN105991756A (en) * | 2015-03-23 | 2016-10-05 | 富士施乐株式会社 | Transfer apparatus, transfer system, and transfer method |
JP2016177751A (en) * | 2015-03-23 | 2016-10-06 | 富士ゼロックス株式会社 | Transfer device, transfer system and program |
JP2016537717A (en) * | 2013-12-23 | 2016-12-01 | インテル・コーポレーション | System-on-chip (SoC) with multiple hybrid processor cores |
JP2021190002A (en) * | 2020-06-04 | 2021-12-13 | 富士フイルムビジネスイノベーション株式会社 | Information processing device and program |
-
2006
- 2006-11-30 JP JP2006325020A patent/JP2008140078A/en active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013546035A (en) * | 2010-09-20 | 2013-12-26 | クゥアルコム・インコーポレイテッド | Inter-processor communication technique for multiple processor computing platforms |
US8937622B2 (en) | 2010-09-20 | 2015-01-20 | Qualcomm Incorporated | Inter-processor communication techniques in a multiple-processor computing platform |
US9626234B2 (en) | 2010-09-20 | 2017-04-18 | Qualcomm Incorporated | Inter-processor communication techniques in a multiple-processor computing platform |
US9645866B2 (en) | 2010-09-20 | 2017-05-09 | Qualcomm Incorporated | Inter-processor communication techniques in a multiple-processor computing platform |
JP2016537717A (en) * | 2013-12-23 | 2016-12-01 | インテル・コーポレーション | System-on-chip (SoC) with multiple hybrid processor cores |
CN105991756A (en) * | 2015-03-23 | 2016-10-05 | 富士施乐株式会社 | Transfer apparatus, transfer system, and transfer method |
JP2016177751A (en) * | 2015-03-23 | 2016-10-06 | 富士ゼロックス株式会社 | Transfer device, transfer system and program |
JP2016177752A (en) * | 2015-03-23 | 2016-10-06 | 富士ゼロックス株式会社 | Transfer device, transfer system and program |
US9870326B2 (en) | 2015-03-23 | 2018-01-16 | Fuji Xerox Co., Ltd. | Transfer apparatus, transfer system, and non-transitory computer readable medium |
JP2021190002A (en) * | 2020-06-04 | 2021-12-13 | 富士フイルムビジネスイノベーション株式会社 | Information processing device and program |
JP7463855B2 (en) | 2020-06-04 | 2024-04-09 | 富士フイルムビジネスイノベーション株式会社 | Information processing device and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7907469B2 (en) | Multi-port memory device for buffering between hosts and non-volatile memory devices | |
KR100868393B1 (en) | Shared interface for cmponents in an embedded system | |
KR101517712B1 (en) | Layer blending with alpha values of edges for image translation | |
JP2008041098A (en) | Memory card and method for storing data thereof | |
JP2008305350A (en) | Memory system, memory device, and method for controlling memory device | |
JP2004252960A (en) | Memory controller | |
JP2008140078A (en) | Bus bridge device, information processor, and data transfer control method | |
JP2011081553A (en) | Information processing system and control method thereof | |
JP5856434B2 (en) | Bus connection circuit, semiconductor device, and operation method of bus connection circuit | |
JP4773693B2 (en) | Memory control system | |
JP2000276370A (en) | Microcomputer, electronic equipment and emulation method | |
US20080282054A1 (en) | Semiconductor device having memory access mechanism with address-translating function | |
JP2005182538A (en) | Data transfer device | |
JP2009037639A (en) | Dmac issue mechanism via streaming identification method | |
JP4965974B2 (en) | Semiconductor integrated circuit device | |
JP2005107873A (en) | Semiconductor integrated circuit | |
JP4583981B2 (en) | Image processing device | |
KR20080034313A (en) | Dual port memory having access control device, memory system having the same and access control method for dual port memory | |
JP2008123333A5 (en) | ||
JP2008226276A (en) | Programmable controller | |
US20090100220A1 (en) | Memory system, control method thereof and computer system | |
JP2021089703A (en) | SOC module | |
JP2007328647A (en) | Data transfer method between cpus | |
JP5393626B2 (en) | Information processing device | |
JP2004110299A (en) | Memory device and data processing system |