JP2005222245A - Processor - Google Patents
Processor Download PDFInfo
- Publication number
- JP2005222245A JP2005222245A JP2004028440A JP2004028440A JP2005222245A JP 2005222245 A JP2005222245 A JP 2005222245A JP 2004028440 A JP2004028440 A JP 2004028440A JP 2004028440 A JP2004028440 A JP 2004028440A JP 2005222245 A JP2005222245 A JP 2005222245A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- data
- access
- data buffer
- image
- 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
Abstract
Description
本発明は、プロセッサ、さらにはそれにおける処理の高速化を図るための技術に関し、例えばカメラからの画像データを処理するための画像処理プロセッサに適用して有効な技術に関する。 The present invention relates to a processor and further to a technique for speeding up the processing in the processor, and more particularly to a technique effective when applied to an image processing processor for processing image data from a camera, for example.
ディジタル画像処理システムは、コンピュータを用いることで、同じ処理であっても処理のパラメータを変えることによって別の結果が得られる融通性と柔軟性に富んだ方法である。特に、処理データ数が多い画像処理において、単一プロセッサでは処理時間がかかるため、複数プロセッサ構成にすることが一般的である。その方法の一つとして、例えば、複数マイクロプロセッサと大容量半導体メモリを同一バスで接続し、各プロセッサが大容量メモリに個別にアクセスして処理する構成が知られている(例えば特許文献1参照)。 A digital image processing system is a flexible and flexible method that uses a computer to obtain different results by changing processing parameters even in the same processing. In particular, in image processing with a large number of processing data, since a single processor takes processing time, it is common to use a multiple processor configuration. As one of the methods, for example, a configuration is known in which a plurality of microprocessors and a large-capacity semiconductor memory are connected by the same bus, and each processor individually accesses and processes the large-capacity memory (see, for example, Patent Document 1). ).
上記従来技術によれば、複数プロセッサから大容量半導体メモリへのアクセスは時分割となるため、一つのプロセッサのアクセス中は他のプロセッサは待ち状態とされる。この待ち状態は、高速処理を阻害する主たる要因とされる。また、複数プロセッサと大容量半導体メモリは構造が単純で実現しやすいが、処理能力がプロセッサ数に比例しない。これはプロセッサ数が増えた場合、大容量画像メモリへのアクセス競合が増大し、処理時間内の待ち時間が増加するためである。 According to the above prior art, access from a plurality of processors to a large-capacity semiconductor memory is performed in a time-sharing manner, so that other processors are kept in a waiting state while one processor is accessing. This waiting state is regarded as a main factor that hinders high-speed processing. The multiple processors and large-capacity semiconductor memory are simple in structure and easy to implement, but the processing capacity is not proportional to the number of processors. This is because when the number of processors increases, the access contention to the large-capacity image memory increases, and the waiting time within the processing time increases.
本発明の目的は、処理の高速化を図るための技術を提供することにある。 An object of the present invention is to provide a technique for increasing the processing speed.
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。 The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。 The following is a brief description of an outline of typical inventions disclosed in the present application.
すなわち、システムバスを介して中央処理装置に接続可能なシステムプロセッサインタフェースと、処理対象となるデータのバッファリングを可能とするデータバッファと、上記データバッファの動作を制御可能なデータバッファコントローラとを含んでプロセッサが構成されるとき、それぞれ個別的にアクセス可能なメモリ毎に設けられた複数のメモリバスとの接続を切り換えることで、上記中央処理装置と上記メモリとの間のデータ転送経路、及び上記データバッファと上記メモリとの間のデータ転送経路を形成可能なバススイッチと、上記中央処理装置又は上記データバッファコントローラからのメモリアクセス要求に応じて、上記バススイッチの動作を制御可能なバススイッチコントローラとを設ける。 That is, a system processor interface that can be connected to a central processing unit via a system bus, a data buffer that enables buffering of data to be processed, and a data buffer controller that can control the operation of the data buffer. When the processor is configured, the data transfer path between the central processing unit and the memory is switched by switching the connection with a plurality of memory buses provided for each individually accessible memory, and A bus switch capable of forming a data transfer path between the data buffer and the memory, and a bus switch controller capable of controlling the operation of the bus switch in response to a memory access request from the central processing unit or the data buffer controller And provide.
上記の手段によれば、バススイッチは、それぞれ個別的にアクセス可能な画像メモリ毎に設けられた複数のメモリバスとの接続を可能とすることにより、画像メモリへのアクセスは、対応するメモリバスを介して個別的に行うことができる。このことが、メモリアクセスが競合する確率を低減させ、画像処理の高速化を達成する。 According to the above means, the bus switch enables connection to a plurality of memory buses provided for each individually accessible image memory, so that access to the image memory can be performed by the corresponding memory bus. Can be done individually. This reduces the probability of competing memory accesses and achieves faster image processing.
このとき、取り扱われる画像のデータサイズに応じてエリアサイズを変更することにより、画像のデータサイズがエリアサイズを越えるのを回避するには、上記メモリの論理アドレス空間をプログラマブルに分割設定可能なレジスタを設けると良い。 At this time, in order to avoid that the image data size exceeds the area size by changing the area size according to the data size of the image to be handled, a register in which the logical address space of the memory can be set in a programmable manner It is good to provide.
メモリアクセス時間の短縮を図るため、上記バススイッチは、同一データを複数のメモリに対して同時に書き込むための第1モードや、同一データが書き込まれた上記複数のメモリの記憶データを、上記中央処理装置及び上記データバッファコントローラからのリードアクセスに応じてそれぞれ個別的に読み出し可能な第2モードを含んで構成することができる。 In order to shorten the memory access time, the bus switch performs a first mode for simultaneously writing the same data to a plurality of memories, and stores data stored in the plurality of memories to which the same data is written in the central processing. The second mode can be configured to be individually readable according to read access from the apparatus and the data buffer controller.
上記データバッファコントローラと上記中央処理装置とから、それぞれ同一のメモリに対するリードアクセスが生じた場合において、上記データバッファ及び上記中央処理装置の双方が、上記メモリからの読み出しデータを速やかに得られるようにするには、上記バススイッチコントローラは、上記中央処理装置からのメモリアクセスにかかるアドレスと、上記データバッファコントローラからのメモリアクセスにかかるアドレスとが一致するか否かを判定可能な同一アドレス判定回路を設け、上記両アドレスが一致した場合に、上記データバッファコントローラからのメモリアクセスによって上記メモリから読み出された同一データが上記中央処理装置と上記データバッファとの双方に伝達可能に構成すると良い。 When read access to the same memory occurs from the data buffer controller and the central processing unit, both the data buffer and the central processing unit can quickly obtain read data from the memory. The bus switch controller includes an identical address determination circuit capable of determining whether an address for memory access from the central processing unit matches an address for memory access from the data buffer controller. It is preferable that the same data read from the memory by the memory access from the data buffer controller can be transmitted to both the central processing unit and the data buffer when the two addresses match.
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。 The effects obtained by the representative ones of the inventions disclosed in the present application will be briefly described as follows.
すなわち、それぞれ個別的にアクセス可能な画像メモリ毎に設けられた複数のメモリバスとの接続が可能とされることにより、画像メモリへのアクセスは、対応するメモリバスを介して個別的に行うことができ、それによりメモリアクセスが競合する確率が低減されるので、画像処理の高速化が達成される。 In other words, by enabling connection to a plurality of memory buses provided for each individually accessible image memory, access to the image memory is performed individually via the corresponding memory bus. This reduces the probability of competing memory accesses, thus achieving faster image processing.
図1には、本発明にかかるプロセッサの一例である画像処理プロセッサが適用された画像処理システムが示される。図1に示される画像処理システム100は、特に制限されないが、中央処理装置(CPU)10,システムメモリ13、画像処理プロセッサ14とがシステムバス11を介することにより相互に信号のやり取りが可能に接続される。画像処理プロセッサ14には、上記システムバス11とは別に設けられた画像メモリバス15−1,15−2,15−3,…,15−nを介して画像メモリ16−1,16−2,16−3,…,16−nが接続される。この画像メモリ16−1,16−2,16−3,…,16−nは、それぞれ対応する画像メモリバス15−1,15−2,15−3,…,15−nを介して個別的にアクセス可能とされるランダム・アクセス・メモリ(RAM)とされる。
FIG. 1 shows an image processing system to which an image processor which is an example of a processor according to the present invention is applied. The
上記の構成において、CPU10や画像処理プロセッサ14は、システムバス11を介してシステムメモリ13をアクセスすることができる。CPU10によってシステムメモリ13がアクセスされている期間中は、CPU10によってシステムバス11が占有されてしまうため、画像処理プロセッサはシステムメモリ13をアクセスすることはできない。しかし、システムバス11とは別に画像メモリバス15−1,15−2,15−3,…,15−nが設けられ、それに画像メモリ16−1,16−2,16−3,…,16−nが接続されているため、CPU10によってシステムメモリ13がアクセスされている期間中であっても、画像処理プロセッサ14は、画像メモリ16−1,16−2,16−3,…,16−nをアクセスすることができる。
In the above configuration, the
図2には上記画像処理プロセッサ14の構成例が示される。上記画像処理プロセッサ14は、特に制限されないが、公知の半導体集積回路製造技術により、単結晶シリコン基板などの一つの半導体基板に形成される。
FIG. 2 shows a configuration example of the
図2に示されるように、画像処理プロセッサ14は、特に制限されないが、カメラインタフェース141、データバッファコントローラ(DB−CNT)142、システムプロセッサインタフェース(SYSP)143、バススイッチコントローラ144、バススイッチ145、データバッファ146、画像処理回路147、及び表示処理回路148を含んで成る。
As shown in FIG. 2, the
カメラインタフェース141は、図示されない監視カメラなどによって得られた画像データの取り込みを可能とする。このカメラインタフェース141を介して取り込まれた画像データはバッファリングのためにデータバッファ146に一時的に蓄えられる。このデータバッファ146は、カメラインタフェース、画像処理回路、表示処理回路などに対応する複数のバッファDB1〜DBmを含んで成る。
The
画像処理回路147は、上記データバッファ146を介して取り込まれた画像データに対して所定の演算処理を施す機能を有する。画像処理されたデータは再びデータバッファ146を介して表示処理回路148に伝達され、あるいは必要に応じてバススイッチ145を介して画像メモリ16−1〜16−nに書き込まれる。
The
表示処理回路148は、上記データバッファ146を介して取り込まれた画像データを表示装置(図示せず)へ表示するための演算処理を行う。ここでの演算処理結果は表示装置(図示せず)に伝達される。
The
データバッファコントローラ142は、上記データバッファ148の動作を制御する。また、このデータバッファコントローラ142は、データバッファ146と画像メモリ16−1〜16−nとの間で画像データのやり取りを可能とするために、バススイッチコントローラ144に対して画像メモリ16−1〜16−nのアクセスを要求する。データバッファコントローラ142からのメモリアクセスは、特にDBアクセスとされ、CPU10からのメモリアクセス(SYSPアクセス)と区別される。
The
システムプロセッサインタフェース(SYSP)143は、システムバス11を介してCPU10やシステムメモリ13に接続され、このCPU10やシステムメモリ13との間での信号のやり取りを可能とする。また、このシステムプロセッサインタフェース143は、後に詳述するように論理アドレス空間のエリア分割にかかる設定情報を保持可能なレジスタRegを含み、メモリの論理アドレス空間がプログラマブルに分割設定可能とされる。
A system processor interface (SYSP) 143 is connected to the
バススイッチ145は、メモリ毎に設けられた複数のメモリバス15−1〜15−nとの接続を切り換えることで、CPU10と画像メモリ16−1〜16−nとの間のデータ転送経路の形成や、データバッファ146と、メモリ16−1〜16−nとの間のデータ転送経路形成を可能とする。このバススイッチ145は、特に制限されないが、図16に示されるように、メモリバス15−1〜15−nに対応して設けられたスイッチ145−1,145−2,…,145−nを含んで成り、バススイッチコントローラ144からのスイッチング制御信号によって動作制御される。システムプロセッサインタフェース(SYSP)143、データバッファDB1〜DBmは、全てのスイッチ145−1〜145−nに接続される。これにより、システムプロセッサインタフェース(SYSP)143やデータバッファDB1〜DBmから伝達されたアドレス信号における下位ビット、ストローブ信号、データなどは、スイッチ145−1〜145−nの何れかを介することにより画像メモリ16−1〜16−nに伝達することができる。尚、システムプロセッサインタフェース(SYSP)143やデータバッファDB1〜DBmから伝達されたアドレス信号における上位ビットは、スイッチ145−1〜145−nの選択信号の生成に利用される。上記複数のメモリバス15−1〜15−nとの接続を切り換えることで、CPU10からのメモリアクセス(SYSPアクセス)と、データバッファコントローラ142からのメモリアクセス(DBアクセス)とを同時に実行することができる。また、CPU10からのメモリに対するリードアクセス(SYSPアクセス)と、データバッファコントローラ142からのメモリに対するリードアクセス(DBアクセス)とが同一アドレスの場合に、同一データをCPU10とデータバッファ146とに伝達することができる。
The
バススイッチコントローラ144は、特に制限されないが、図3に示されるように、入力された論理アドレスを物理アドレスに変換するためのアドレス変換部1443と、物理アドレスに基づいてアクセスの競合を判定するためのアドレス判定部1442と、アドレス競合を調停するためのアービタ部1441とを含み、上記バススイッチ145の動作を制御する。
The
次に、論理アドレス空間のエリア分割について説明する。 Next, area division of the logical address space will be described.
図示されない監視カメラや、画像処理回路147、CPU10などのクライアントは、図3(A)に示される物理アドレスマップに対応する複数本のメモリバスを意識せずに、図3(B)に示されるような論理アドレスマップに示される仮想的なリニア空間としてメモリをアクセスする。この論理アドレス空間は、図3(C)に示されるように、所定ワード数毎にn個のエリアに分けられる。このエリア1〜nは、物理アドレスの上位ビットによって選択される。図3(D)に示される例では3個のエリアに分割されている。アドレス判定回路1442においては、このエリア単位で競合チェックが行われる。エリアの分割サイズは、システムプロセッサインタフェース143内のレジスタRegに記憶されているエリアサイズ情報に基づいて決定される。レジスタRegのエリアサイズ情報はCPU10によって書き換え可能とされる。従って、エリアの分割サイズはプログラマブルに設定することができる。大きな画像を取り扱う場合、その画像のデータサイズがエリアサイズを越える場合が考えられる。かかる場合には、エリアサイズを越える部分については、アドレス判定部1442において正しい競合判定を行うことができない。そこで、取り扱われる画像のデータサイズに応じてエリアサイズを変更することにより、画像のデータサイズがエリアサイズを越えるのを回避することができる。尚、上記アドレス判定部1442では、上記物理アドレスに基づいて、SYSアクセスにかかるエリアと、DBアクセスにかかるエリアとが一致するか否かが判定される。
A monitoring camera (not shown), a client such as the
次に、バススイッチ145による切り換え動作について説明する。
Next, the switching operation by the
図5に示されるように、CPU10とシステムプロセッサインタフェース143との間でやり取りされる信号として、アドレス信号、データ、ストローブ信号、ウェイト信号、バスリクエスト信号、バスアクノリッジ信号などを挙げることができる。また、データバッファコントローラ142とバススイッチコントローラ144との間でやりとりされる信号としては、アドレス信号、データ、ストローブ信号、リクエスト信号、アクノリッジ信号などを挙げることができる。
As shown in FIG. 5, examples of signals exchanged between the
CPU10によるメモリアクセス(SYSPアクセス)においては、CPU10からシステムプロセッサインタフェース143に対してアドレス信号及びデータが供給される。また、データバッファコントローラ142によりメモリアクセス(DBアクセス)においては、データバッファコントローラ142によってリクエスト信号がイネーブル状態にされ、それに応じてバススイッチコントローラ144によってアクノリッジ信号がイネーブル状態にされた後に、データバッファコントローラ142からバススイッチコントローラ144に対してアドレス信号やストローブ信号が供給される。図6に示される動作タイミングでは、SYSPアクセスは4バースト転送、DBアクセスは128バイト又は256バイトのブロック転送が行われている。SYSPアクセスにおけるアドレスと、DBアクセスにおけるアドレスとが競合しない場合、換言すれば、SYSPアクセス及びDBアクセスが、互いに異なるエリアに対して行われる場合には、図6に示されるように、SYSPアクセスとDBアクセスとが同時並行して行われる。
In memory access (SYSP access) by the
次に、図7に示されるように、CPU10によるアクセス中のエリアに対して、データバッファコントローラ142がアクセスしようとした場合について説明する。図8にはその場合の動作タイミングが示される。この例ではSYSPアクセスは4バースト転送、DBアクセスは128又は256バイトのブロック転送が行われる。
Next, a case where the
CPU10によるアクセス中のエリアに、データバッファコントローラ142がアクセスしようとすると、そのことがアドレス判定部1442で判定されることで、バススイッチコントローラ144は、システムプロセッサインタフェースを介してCPU10に対するバスリクエスト信号をイネーブル状態にする(T1)。CPU10においてリードストローブ信号がディスエーブル状態にされ、それに応じてバスアクノリッジ信号がイネーブル状態にされ(T2)、それがデータバッファコントローラ142に伝達されることにより(T3)、データバッファコントローラ142はCPU10によるメモリアクセスの終了を検知する。その後、バススイッチコントローラ144の制御により、バススイッチ145での経路切り換えが行われ、DBアクセスが開始される。
When the
次に、図9に示されるように、データバッファコントローラ142によるアクセス中のエリアに対してCPU10がアクセスしようとした場合について説明する。図10にはその場合の動作タイミングが示される。この例ではSYSPアクセスは4バースト転送、DBアクセスは128又は256バイトのブロック転送が行われる。
Next, as shown in FIG. 9, a case where the
データバッファコントローラ142によってリクエスト信号がイネーブル状態にされ、それに応じてアクノリッジ信号がイネーブル状態にされることでDBアクセスが開始される(T4)。そして、データバッファコントローラ142によるアクセス中のエリアに、CPUがアクセスしようとすると、そのことがアドレス判定部1442で判定されることで、CPU10に対するウェイト信号がイネーブル状態にされる(T5)。
The request signal is enabled by the
バススイッチコントローラ144は、システムプロセッサインタフェース143を経由してCPU10に対してウェイト信号をイネーブル状態にすることでウェイトを要求する。そして、データバッファコントローラ142によるメモリアクセスが終了すると、バススイッチコントローラ144は、CPU10に対するウェイト信号をディセーブル状態にする(T6)。これを受けてCPU10は、メモリアクセスを開始することができる。
The
次に、複数の画像メモリ16−1〜16nに対する同時書き込みについて説明する。 Next, simultaneous writing to the plurality of image memories 16-1 to 16n will be described.
バススイッチ145による切り換え動作により、CPU10やデータバッファDB1〜DBmのそれぞれが、複数の画像メモリ16−1〜16−nに対してデマルチプレックス可能とされる。例えば図11に示されるように、データバッファDB1がバススイッチ145を介して画像メモリ16−3,16−4の双方に接続されることによって、データAについてのライトアクセスを1回実行するだけで、画像メモリ16−3,16−4の双方に同一のデータAを同時に書き込むことができる。この動作モードを「コピーモード」と称する。このコピーモードにおいては、バススイッチ145による切り換え動作により、任意の複数の画像メモリ16−1〜16nに対して同一データの同時書き込みを行うことができ、画像メモリ16−1〜16nへの画像データの書き込みを、メモリ毎に個別的に行うのに比べてライトアクセス時間の短縮を図ることができる。
By the switching operation by the
そして、図11に示されるように、画像メモリ16−3,16−4の双方に同一のデータAを同時に書き込まれた場合には、この画像メモリ16−3,16−4のデータAを同時並列的に読み出すことによって演算スループットの向上を図ることができる。例えば図12に示されるように、バススイッチ145を介してデータバッファDB1から画像メモリ16−3へのアクセス経路と、データバッファDB2から画像メモリ16−4へのアクセス経路が形成されることによって、データバッファDB1,DB2は、それぞれ画像メモリ16−3,16−4からデータAを同時に得ることができる。これにより、画像処理回路147において、データバッファDB1内のデータAについての画像処理が行われるのと同時に、表示処理回路148において、データバッファDB2内のデータAについての表示処理を行うことができる。このように同一データについての異なる処理を同時に実行することができるので、演算スループットの向上を図ることができる。
As shown in FIG. 11, when the same data A is simultaneously written in both the image memories 16-3 and 16-4, the data A in the image memories 16-3 and 16-4 are simultaneously written. By reading in parallel, the calculation throughput can be improved. For example, as shown in FIG. 12, an access path from the data buffer DB1 to the image memory 16-3 and an access path from the data buffer DB2 to the image memory 16-4 are formed via the
また、図13に示されるように、バススイッチ145を介してCPU10から画像メモリ16−3へのアクセス経路と、データバッファDB2から画像メモリ16−4へのアクセス経路が形成されることによって、CPU10及びデータバッファDB2は、それぞれ画像メモリ16−3,16−4からデータAを同時に得ることができ、その場合には、CPU10と画像処理プロセッサ14とにおいて同一データについての異なる処理を同時に実行することができる。
Further, as shown in FIG. 13, by forming an access path from the
上記例によれば、以下の作用効果を得ることができる。 According to the above example, the following operational effects can be obtained.
(1)それぞれ個別的にアクセス可能な画像メモリ毎に設けられた複数のメモリバス15−1〜15−nを有しているため、画像メモリ16−1〜16−nへのアクセスは、対応するメモリバスを介して個別的に行うことができるため、メモリアクセスが競合する確率が低減される。それによって画像処理の高速化を図ることができる。 (1) Since there are a plurality of memory buses 15-1 to 15-n provided for each individually accessible image memory, access to the image memories 16-1 to 16-n is supported. Since this can be done individually via the memory bus, the probability of memory access contention is reduced. As a result, the speed of image processing can be increased.
(2)大きな画像を取り扱う場合、その画像のデータサイズがエリアサイズを越える場合が考えられる。かかる場合には、エリアサイズを越える部分については、アドレス判定部1442において正しい競合判定を行うことができない。しかし、上記の例によれば、レジスタRegの書き換えにより、エリアサイズをプログラマブルに設定することができるので、取り扱われる画像のデータサイズに応じてエリアサイズを変更することにより、画像のデータサイズがエリアサイズを越えるのを回避することができる。
(2) When handling a large image, the data size of the image may exceed the area size. In such a case, it is not possible for the
(3)バススイッチ145はコピーモードを有し、このコピーモードにおいて、任意の複数の画像メモリ16−1〜16−nに対して同一データの同時書き込みを行うことができるので、画像メモリ16−1〜16−nへの画像データの書き込みを、メモリ毎に個別的に行うのに比べてライトアクセス時間の短縮を図ることができる。
(3) The
(4)上記コピーモードにより、任意の複数の画像メモリに対して書き込まれたデータは、同時並列的に読み出して、それぞれ異なる処理を同時に施すことができるので、演算スループットの向上を図ることができる。 (4) According to the copy mode, data written to any of a plurality of image memories can be read simultaneously and in parallel, and can be subjected to different processes at the same time, so that the calculation throughput can be improved. .
(5)CPU10によるシステムメモリ13のアクセスと、画像処理プロセッサ14による画像メモリ16−1〜16−nのアクセスとでバス競合を生じないため、このCPU10によるシステムメモリ13のアクセスと、画像処理プロセッサ14による画像メモリ16−1〜16−nのアクセスとを同時並列的に行うことができる。
(5) Since no bus contention occurs between the access of the
以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。 Although the invention made by the present inventor has been specifically described above, the present invention is not limited thereto, and it goes without saying that various changes can be made without departing from the scope of the invention.
例えばバススイッチコントローラ144は、図14に示されるように構成することができる。図14に示されるバススイッチコントローラ144が図5に示されるのと大きく相違するのは、同一アドレス判定部1444が設けられた点である。この同一アドレス判定部1444は、データバッファコントローラ142から伝達されたアドレス信号と、システムプロセッサインタフェース143を介してCPU10から伝達されたアドレス信号とが一致するか否かを判定する。そして、この同一アドレス判定部1444において、データバッファコントローラ142から伝達されたアドレス信号と、システムプロセッサインタフェース143を介してCPU10から伝達されたアドレス信号とが一致すると判定された場合には、当該アドレスに対応するメモリからの読み出しデータがデータバッファ146とCPU10との双方に伝達される。図15には、この場合の動作タイミングが示される。データバッファコントローラ142とCPU10とから、それぞれ同一の画像メモリ16−1に対するリードアクセスが生じた場合を想定する。この場合、同一エリアに対するアクセス競合はアドレス判定部1443において行われ、同一アドレスについてのアクセスであることは同一アドレス判定回路1444において判定される。同一エリアに対するアクセスであるため、バススイッチコントローラ144によってCPU10に対するウェイト信号がイネーブル状態にされることで、CPU10によるアクセスが待たされる。この間、データバッファコントローラ142によるメモリアクセスが行われ、画像メモリ16−1からデータバッファ146への128バイト又は256バイトのブロック転送が行われる。そしてこのブロック転送と同時に、データバッファコントローラ142とCPU10とから伝達されたアドレスが一致した場合は、CPU10に対しても、同一データが転送される。つまり、データバッファコントローラ142とCPU10とから、それぞれ同一の画像メモリ16−1に対するリードアクセスが生じた場合には、CPU10のアクセスが待たされ、その間に画像メモリ16−1から読み出されたデータがデータバッファ146及びCPU10の双方に伝達される。これによりCPU10は、実際にはウェイト信号がイネーブル状態とされることでメモリアクセスが待たされるにもかかわらず、目的とするデータを速やかに得ることができる。
For example, the
このように図14に示される構成によれば、データバッファコントローラ142とCPU10とから同一の画像メモリに対するリードアクセスが生じた場合でも、データバッファコントローラ142とCPU10との間のアクセス競合が回避される。また、同様にデータバッファDB1〜DBm間においても同一画像メモリに対してアクセスが競合する場合あるが、かかる場合においても、そのようなアクセス競合が回避される。例えば画像メモリ16−1の記憶データを複数のデータバッファへ転送するために、同一の画像メモリ16−1に対するリードアクセスが生じた場合には、同一アドレス判定部1444において同一アドレスに対するアクセス判定が行われ、それに基づいて、上記画像メモリ16−1から読み出された同一データが複数のデータバッファへ転送されることで、データバッファDB1〜DBm間のアクセス競合が回避される。
As described above, according to the configuration shown in FIG. 14, even when read access to the same image memory occurs from the
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野である画像処理プロセッサに適用した場合について説明したが、本発明はそれに限定されるものではなく、各種プロセッサに広く適用することができる。 In the above description, the case where the invention made mainly by the present inventor is applied to the image processor which is the field of use behind the invention has been described. However, the present invention is not limited to this and is widely applied to various processors. can do.
本発明は、データ処理を行うことを条件に適用することができる。 The present invention can be applied on condition that data processing is performed.
10 CPU
11 システムバス
12 PCIバス
13 システムメモリ
14 画像処理プロセッサ
15−1〜15−n メモリバス
16−1〜16−n 画像メモリ
141 カメラインタフェース
142 データバッファコントローラ
143 システムプロセッサインタフェース
144 バススイッチコントローラ
145バススイッチ
146 データバッファ
147 画像処理回路
148 表示処理回路
1441 アービタ部
1442 アドレス判定部
1443 アドレス変換部
1444 同一アドレス判定部
Reg レジスタ
DB1〜DBm データバッファ
10 CPU
DESCRIPTION OF SYMBOLS 11 System bus 12
Claims (5)
それぞれ個別的にアクセス可能なメモリ毎に設けられた複数のメモリバスとの接続を切り換えることで、上記中央処理装置と上記メモリとの間のデータ転送経路、及び上記データバッファと上記メモリとの間のデータ転送経路を形成可能なバススイッチと、
上記中央処理装置又は上記データバッファコントローラからのメモリアクセス要求に応じて、上記バススイッチの動作を制御可能なバススイッチコントローラと、を含むプロセッサ。 A processor including a system processor interface connectable to a central processing unit via a system bus, a data buffer capable of buffering data to be processed, and a data buffer controller capable of controlling the operation of the data buffer Because
By switching the connection with a plurality of memory buses provided for each individually accessible memory, a data transfer path between the central processing unit and the memory, and between the data buffer and the memory A bus switch capable of forming a data transfer path of
A bus switch controller capable of controlling the operation of the bus switch in response to a memory access request from the central processing unit or the data buffer controller.
The bus switch controller includes an identical address determination circuit capable of determining whether or not an address related to memory access from the central processing unit and an address related to memory access from the data buffer controller match. When the addresses match, based on the output of the same address determination circuit, the same data read from the memory by the memory access from the data buffer controller is stored in both the central processing unit and the data buffer. The processor of claim 2 being communicated.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004028440A JP2005222245A (en) | 2004-02-04 | 2004-02-04 | Processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004028440A JP2005222245A (en) | 2004-02-04 | 2004-02-04 | Processor |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005222245A true JP2005222245A (en) | 2005-08-18 |
JP2005222245A5 JP2005222245A5 (en) | 2007-03-22 |
Family
ID=34997831
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004028440A Pending JP2005222245A (en) | 2004-02-04 | 2004-02-04 | Processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005222245A (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6292054A (en) * | 1985-10-18 | 1987-04-27 | Usac Electronics Ind Co Ltd | Dynamic access memory device |
JPH01142849A (en) * | 1987-11-30 | 1989-06-05 | Nec Corp | Subscriber's line signal device |
JPH07264581A (en) * | 1994-03-18 | 1995-10-13 | Hitachi Ltd | Plotting processor for moving picture |
JPH11331209A (en) * | 1997-11-19 | 1999-11-30 | Advantest Corp | Data collection device and memory controller |
JP2001523361A (en) * | 1996-06-27 | 2001-11-20 | インテル・コーポレーション | Method and apparatus for simultaneously accessing a shared memory from multiple agents |
JP2004094819A (en) * | 2002-09-03 | 2004-03-25 | Ricoh Co Ltd | Memory access arbiter and memory control device |
-
2004
- 2004-02-04 JP JP2004028440A patent/JP2005222245A/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6292054A (en) * | 1985-10-18 | 1987-04-27 | Usac Electronics Ind Co Ltd | Dynamic access memory device |
JPH01142849A (en) * | 1987-11-30 | 1989-06-05 | Nec Corp | Subscriber's line signal device |
JPH07264581A (en) * | 1994-03-18 | 1995-10-13 | Hitachi Ltd | Plotting processor for moving picture |
JP2001523361A (en) * | 1996-06-27 | 2001-11-20 | インテル・コーポレーション | Method and apparatus for simultaneously accessing a shared memory from multiple agents |
JPH11331209A (en) * | 1997-11-19 | 1999-11-30 | Advantest Corp | Data collection device and memory controller |
JP2004094819A (en) * | 2002-09-03 | 2004-03-25 | Ricoh Co Ltd | Memory access arbiter and memory control device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2011048834A (en) | Method and apparatus for performing atomic semaphore operation | |
US7490184B2 (en) | Systems and methods for data intervention for out-of-order castouts | |
US8756356B2 (en) | Pipe arbitration using an arbitration circuit to select a control circuit among a plurality of control circuits and by updating state information with a data transfer of a predetermined size | |
JP4446968B2 (en) | Data processing device | |
JP2007018222A (en) | Memory access control circuit | |
US9858222B2 (en) | Register access control among multiple devices | |
JP4193746B2 (en) | Matrix bus connection system | |
JP2005222245A (en) | Processor | |
JP2015194918A (en) | data transfer control device and memory built-in device | |
US20050135402A1 (en) | Data transfer apparatus | |
JP5569598B2 (en) | Data write control device, data write control method, and information processing device | |
JP2005107873A (en) | Semiconductor integrated circuit | |
US20100153610A1 (en) | Bus arbiter and bus system | |
JP3959407B2 (en) | Image processing apparatus and image processing system | |
US20090031101A1 (en) | Data processing system | |
JP4292218B2 (en) | Image processing apparatus and image processing system | |
JP2007108858A (en) | Pin sharing device and pin sharing method | |
JP2009032248A (en) | Bus communication apparatus using shared memory | |
JP4071225B2 (en) | Transfer circuit | |
JP2004094819A (en) | Memory access arbiter and memory control device | |
JP2006277363A (en) | Information transfer system, and image forming device | |
JP2002259326A (en) | Dma controller and dma transferring method | |
JP6037029B2 (en) | Data transfer apparatus, information processing apparatus, and IO control method | |
JP2015034891A (en) | Register setting control device | |
JP2002304368A (en) | Data processing equipment and method for arbitrating access in it |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Effective date: 20070202 Free format text: JAPANESE INTERMEDIATE CODE: A523 |
|
A621 | Written request for application examination |
Effective date: 20070202 Free format text: JAPANESE INTERMEDIATE CODE: A621 |
|
A131 | Notification of reasons for refusal |
Effective date: 20100413 Free format text: JAPANESE INTERMEDIATE CODE: A131 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100831 |