JP4841314B2 - Data transfer circuit - Google Patents
Data transfer circuit Download PDFInfo
- Publication number
- JP4841314B2 JP4841314B2 JP2006147925A JP2006147925A JP4841314B2 JP 4841314 B2 JP4841314 B2 JP 4841314B2 JP 2006147925 A JP2006147925 A JP 2006147925A JP 2006147925 A JP2006147925 A JP 2006147925A JP 4841314 B2 JP4841314 B2 JP 4841314B2
- Authority
- JP
- Japan
- Prior art keywords
- register group
- data
- main register
- main
- read
- 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
Links
- 238000010586 diagram Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 1
- 241000295644 Staphylococcaceae Species 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000036962 time dependent Effects 0.000 description 1
Images
Landscapes
- Information Transfer Systems (AREA)
Description
本発明は、書き込み側機器から受信したデータを読み出し側機器に出力するデータ転送回路に関するものである。 The present invention relates to a data transfer circuit that outputs data received from a writing device to a reading device.
書き込み側機器から受信したデータを、データバス幅の単位で一時記憶領域にラッチした後、そのデータを、異なるクロックの読み出し側機器に読み出す構成のデータ転送回路として、図4に示すものが提案されている(例えば、特許文献1参照)。 The data transfer circuit shown in FIG. 4 is proposed as a data transfer circuit configured to latch data received from a writing side device in a temporary storage area in units of data bus width and then read the data to a reading side device of a different clock. (For example, refer to Patent Document 1).
これは、ネットワークバス401側から受信したデータを、そのネットワークバス401のクロックと異なるクロックで動作する内部バス402を経由して、主記憶装置(図示せず)に転送するために、ネットワーク側のクロックに同期して動作するシーケンサ403により、MAC(メディアアクセスコントロール)部404、FIFOを利用したメモリ405、およびレジスタファイル部406を制御して、ネットワークバス401から8ビット単位で受信した128ビット分のデータをそのレジスタファイル部406に格納するとともに、内部バス側のクロックに同期して動作するシーケンサ407により、ラッチ部408とDMAC(DMAコントローラ)部409を制御して、ラッチ部408のデータを8ビット単位で内部の主記憶装置に格納するものである。シーケンサ403と407ではハンドシェークが行われる。
このデータ転送回路は、大量のデータを書き込み側機器から受信した順に読み出し側機器に取り込む場合には有効に機能するが、レジスタファイル部406に対するランダムアクセスに対応していないため、受信データの中に優先的に早く読み出さなければならないデータ群がある場合に、そのデータ群を整合性を崩すことなく読み出すことができない場合が発生するという問題がある。
This data transfer circuit functions effectively when a large amount of data is taken into the reading side device in the order received from the writing side device, but does not support random access to the
例えば、あるデータ群が1つのまとまりとしてレジスタファイル部406に格納されていて、これを内部バス402側に読み出そうとするとき、その読み出し途中でレジスタファイル部406のデータの一部が書き換えられた場合には、内部バス402側に読み出したデータ群の整合性が崩れる場合が発生する。
For example, when a certain data group is stored in the
本発明の目的は、ランダムアクセスが可能で、しかもデータ群をその整合性を崩すことなく読み出すことができるようにしたデータ転送回路を提供することである。 SUMMARY OF THE INVENTION An object of the present invention is to provide a data transfer circuit that can be randomly accessed and can read a data group without destroying its consistency.
上記目的を達成するために、請求項1にかかる発明は、書き込み側機器から受信したデータを読み出し側機器に出力するデータ転送回路において、前記書き込み側機器から受け取ったデータを保持する複数の主レジスタ群と、前記複数の主レジスタ群の内から任意に選択された第1の主レジスタ群に保持されたデータを一時的に保持する1つの第1の一時レジスタ群とを有し、前記書き込み側機器から、前記主レジスタ群のいずれかに対する書き込み要求を受けた場合に、該書き込み要求の対象の主レジスタ群に保持したデータの全体を前記第1の一時レジスタ群に格納してから、該書き込み要求の対象の主レジスタ群への書き込みを開始することを特徴とする。
請求項2にかかる発明は、請求項1に記載の発明において、前記書き込み要求の対象の主レジスタ群への書き込みが行われている間に、前記読み出し側機器から、前記書き込み要求の対象の主レジスタ群に対する読み出し要求を受けた場合に、前記第1の一時レジスタ群に格納したデータを読み出して出力することを特徴とする。
請求項3にかかる発明は、請求項1に記載の発明において、前記第1の一時レジスタ群からの読み出しが行われている間に、前記書き込み側機器から、前記複数の主レジスタ群のいずれかに対する第2の書き込み要求を受けた場合には、該第2の書き込み要求の対象の主レジスタ群のデータの前記第1の一時レジスタヘの格納を行わずに、該第2の書き込み要求の対象の主レジスタ群に対する書き込みを行うことを特徴とする。
請求項4にかかる発明は、請求項1ないし3のいずれかに記載の発明において、前記複数の主レジスタ群から任意に選択された第2の主レジスタ群に保持されたデータを一時的に保持する第2の一時レジスタをさらに有し、前記読み出し側機器から、前記主レジスタ群のいずれかに対する読み出し要求を、該読み出し要求の対象の主レジスタ群への書き込みが行われていない間に受けた場合に、該読み出し要求の対象の主レジスタ群に保持したデータの全体を前記第2の一時レジスタ群に格納した後に、該第2の一時レジスタ群から読み出して出力することを特徴とする。
請求項5にかかる発明は、書き込み側機器から受信したデータを読み出し側機器に出力するデータ転送回路において、前記書き込み側機器から受け取ったデータを保持する複数の主レジスタ群と、前記複数の主レジスタ群からそれぞれ任意に選択された第1および第2のレジスタ群に保持されたデータを一時的に保持するそれぞれ1つの第1および第2の一時レジスタ群とを有し、前記書き込み側機器から、前記主レジスタ群のいずれかに対する書き込み要求を受けたときに、該書き込み要求を、前記第1の一時レジスタからの読み出しが行われていない間に受けた場合には、該書き込み要求の対象の主レジスタ群に保持したデータの全体を前記第1の一時レジスタ群に格納してから、該書き込み要求の対象の主レジスタ群への書き込みを開始し、前記第1の一時レジスタからの読み出しが行われている間に受けた場合には、該書き込み要求の対象の主レジスタ群のデータの前記第1の一時レジスタヘの格納を行わずに、該書き込み要求の対象の主レジスタ群への書き込みを行い、前記読み出し側機器から、前記複数の主レジスタ群のいずれかに対する読み出し要求を受けたときに、該読み出し要求が、前記書き込み要求の対象の主レジスタ群を対象とするものであり、かつ、該書き込み要求の対象の主レジスタ群への書き込みが行われている間に受けた場合には、前記第1の一時レジスタ群に格納したデータを読み出して出力し、それ以外の場合には、前記読み出し要求の対象の主レジスタ群に保持したデータの全体を前記第2の一時レジスタ群に格納した後に、該第2の一時レジスタ群から読み出して出力することを特徴とする。
請求項6にかかる発明は、請求項1ないし3のいずれかに記載の発明において、前記複数の主レジスタ群のそれぞれと前記第1の一時レジスタとの間には、対応する主レジスタ群に記憶可能なビット数のデータを同時に転送できるビット幅の配線が設けられていることを特徴とする。
請求項7にかかる発明は、請求項4又は5のいずれかに記載の発明において、前記複数の主レジスタ群のそれぞれと前記第1および第2の一時レジスタ群のそれぞれとの間には、対応する主レジスタ群に記憶可能なビット数のデータを同時に転送できるビット幅の配線が設けられていることを特徴とする。
In order to achieve the above object, the invention according to
According to a second aspect of the present invention, in the first aspect of the present invention, the main device of the target of the write request is received from the read-side device while the write request is being performed on the main register group. When a read request for a register group is received, the data stored in the first temporary register group is read and output.
According to a third aspect of the present invention, in the first aspect of the present invention, any one of the plurality of main register groups is received from the writing side device while reading from the first temporary register group is being performed. When the second write request for the second write request is received, the data of the main register group that is the target of the second write request is not stored in the first temporary register, and the target of the second write request is not stored. Writing to the main register group is characterized.
According to a fourth aspect of the present invention, in the invention according to any one of the first to third aspects, data held in a second main register group arbitrarily selected from the plurality of main register groups is temporarily held. A second temporary register that receives a read request from any one of the read-side devices while the write request to the main register group is not performed. In this case, the entire data held in the main register group to be read is stored in the second temporary register group, and then read from the second temporary register group and output.
According to a fifth aspect of the present invention, there is provided a data transfer circuit that outputs data received from a writing side device to a reading side device, a plurality of main register groups that hold data received from the writing side device, and the plurality of main registers Each having a first temporary register group and a second temporary register group for temporarily holding data held in first and second register groups arbitrarily selected from the group, from the writing side device, When a write request is received for one of the main register groups and the write request is received while reading from the first temporary register is not performed, the main request target The entire data held in the register group is stored in the first temporary register group, and then writing to the main register group subject to the write request is started. If the data is received while the first temporary register is being read, the data of the main register group to which the write request is made is not stored in the first temporary register. When writing to the main register group that is the target of the write request and receiving a read request for any of the plurality of main register groups from the reading side device, the read request is the main request target main register group. Read data stored in the first temporary register group when it is targeted for the register group and received while the write request is being made to the main register group. In other cases, the entire data held in the main register group subject to the read request is stored in the second temporary register group, and then the second temporary record is stored. And outputs read out from Staphylococcus group.
According to a sixth aspect of the present invention, in the invention according to any one of the first to third aspects, a memory is stored in a corresponding main register group between each of the plurality of main register groups and the first temporary register. A wiring having a bit width capable of simultaneously transferring data of the possible number of bits is provided.
The invention according to claim 7 is the invention according to
本発明によれば、主レジスタ群を複数備えるので、書き込みや読み出しのランダムアクセスが可能となる。また、第1の主レジスタ群に対するデータ書き込みの際には、第1の主レジスタ群のデータを第1の一時レジスタ群に待避させてから、第1の主レジスタ群にデータを書き込むので、直後に第1の主レジスタ群のデータの読み出し要求を受けた場合に、直前のデータを第1の一時レジスタ群から整合性を損なうことなく読み出すことができる。また、第2の主レジスタ群からデータを読み出す際には、第2の主レジスタ群のデータを第2の一時レジスタ群に待避させてから、第2の一時レジスタ群からデータを読み出すので、直後に第2の主レジスタ群のデータに対する書き込み要求を受けた場合に、直前のデータを第2の一時レジスタ群から整合性を損なうことなく読み出すことができる。 According to the present invention, since a plurality of main register groups are provided, random access for writing and reading is possible. In addition, when data is written to the first main register group, the data of the first main register group is saved in the first temporary register group and then the data is written to the first main register group. When a data read request for the first main register group is received, the immediately preceding data can be read from the first temporary register group without losing consistency. Further, when data is read from the second main register group, the data of the second main register group is saved in the second temporary register group, and then the data is read from the second temporary register group. When a write request for data in the second main register group is received, the immediately preceding data can be read from the second temporary register group without losing consistency.
図1は本発明の1つの実施例のデータ転送回路の構成を示すブロック図である。100は書き込み側機器、101はその機器100に接続された出力バスである。また、200は読み出し側機器、201はその機器200に接続された入力バスである。
FIG. 1 is a block diagram showing a configuration of a data transfer circuit according to one embodiment of the present invention.
300は転送回路であり、MAC(メディアアクセス制御)部301により32ビット分が出力バス101から取り込まれる。302〜305はセレクタ、306,307はシーケンサ、310〜31mは主レジスタ群、320,321は一時レジスタ群である。
主レジスタ群310〜31mはそれぞれ並列32ビット入出力の複数のレジスタをもつ。例えば、主レジスタ群310はn0+1個のレジスタ、主レジスタ群311はn1+1個のレジスタ、・・・、主レジスタ群31mはnm+1個のレジスタを持つ。各主レジスタ群310〜31mのレジスタへのデータ書き込みは、書き込み側機器100のクロックに同期して並列32ビット単位で行われる。読み出しは、主レジスタ群310は並列32×(n0+1)ビット単位で、主レジスタ群311は並列32×(n1+1)ビット単位で、・・・、主レジスタ群31mは並列32×(nm+1)ビット単位で、それぞれ1クロックで行われる。
Each of the
一時レジスタ群320,321は前記した主レジスタ群310〜31mの内の最も多いレジスタをもつレジスタ群のレジスタ数(nmax+1個)と同じ数のレジスタをもつ。主レジスタ群310〜31mから読み出したデータは、セレタタ303または304を介して、一時レジスタ群320,321に書き込むことができる。この、主レジスタ群310,311,・・・,31mから一時レジスタ群320または321へのデータの転送は、それぞれ、32×(n0+1),32×(n1+1),・・・,32×(nm+1)ビット単位で、1クロックで行うことができる。主レジスタ群310〜31mと一時レジスタ群320,321との間には、このような1クロックでのデータ転送を可能とするデータ幅を有する配線が設けられている。すなわち、主レジスタ群310,311,・・・,31mと、セレクタ303および304との間には、それぞれ、32×(n0+1),32×(n1+1),・・・,32×(nm+1)ビット幅の配線が設けられている。また、セレクタ303および304と一時レジスタ群320および321との間には、32×(nmax+1)ビット幅の配線が設けられている。
The
後から述べるように、主レジスタ群310〜31mから一時レジスタ群320,321へのデータ転送は、書き込み側機器100からの要求によって行われる場合と、読み出し側機器200からの要求によって行われる場合とがある。書き込み側機器100からの要求による場合は、書き込み側機器100のクロックに同期して、1クロックでのデータ転送が行われる。読み出し側機器200からの要求による場合には、読み出し側機器200のクロックに同期して、1クロックでのデータ転送が行われる。
As will be described later, data transfer from the
一方、一時レジスタ群320,321からのデータ読み出しは、読み出し側機器200のクロックに同期して、32ビット単位で行われ、セレクタ305を介して入力バス201に出力される。
On the other hand, data reading from the
シーケンサ306は書き込み側機器100のクロックで動作してMAC部301、セレクタ302、主レジスタ群310〜31mを制御する。シーケンサ307は読み出し側機器200のクロックで動作してセレクタ303〜305、一時レジスタ群320,321を制御する。また、シーケンサ306と307とは互いに通信し、主レジスタ群310〜31mの動作と、セレクタ303,304および一時レジスタ群320,321の動作との間の調整を行う。また、シーケンサ306は主レジスタ群への書き込みをシーケンサ307に通知する。
The
前記した主レジスタ群310〜31mに格納するデータ群としては、(1)画像サイズなどのビデオデータの情報を含んだAVI InfoFrame データ群、(2)音声データのサンプリング周波数などのオーディオデータの情報を含んだAudio InfoFrame データ群、(3)製品情報を含んだSPD(Source Product Description)InfoFrame データ群、その他がある。「InfoFrame」は規格で定められている。
Data groups stored in the
これらのデータ群のビット数はそれぞれ異なり、AVI InfoFrame データ群は13バイト、Audio InfoFrame データ群は5バイト、SPDInfoFrame データ群は25バイトである。本実施例のように主レジスタ群310〜31mを32ビット(4バイト)のレジスタで構成すると、それぞれ、4個、2個、7個のレジスタが必要となる。これらデータ群は、それぞれデータ容量が異なるので、主レジスタ群310〜31mはそれぞれの用途のための専用のレジスタ群として設けられる。
The number of bits of these data groups is different. The AVI InfoFrame data group is 13 bytes, the Audio InfoFrame data group is 5 bytes, and the SPD InfoFrame data group is 25 bytes. If the
さて、書き込み側機器100は、上記のようなInfoFrame の情報に変更がある場合、変更後のInfoFrame データを読み出し側機器200に転送する。このために、主レジスタ群310〜31mの内の対応する主レジスタ群のデータを更新するとともに、更新があったことを読み出し側機器200に通知する。一方、読み出し側機器200は、書き込み側機器100からの通知があった場合に、読み出し要求を行う。それ以外にも(例えば、立ち上げ時等に、必要になった場合に)読み出し要求を行う。上記の実施例において、それぞれのInfoFrame データを保持するための専用の主レジスタ群310〜31mが設けられているため、書き込み側機器100および読み出し側機器200から発生する書き込みおよび読み出しの要求は、主レジスタ群310〜31mの内の対象となる主レジスタ群を特定したものとなる。この書き込みと読み出しは、非同期(異なったクロック周波数で)行われる。その場合にもデータ不整合(更新されつつある主レジスタ群からの読み出しが行われることにより、更新前後の情報が混在したデータが読み出される)を起こさないように、2個の一時レジスタ群320,321を設け、以下のような処理が行われる。
When there is a change in the InfoFrame information as described above, the
図2は書き込み側100からの要求に起因する動作のフローチャートである。書き込み側機器100から主レジスタ群310〜31mの内のいずれか1つの主レジスタ群への書き込み要求を受ける(S12−YES)と、それ以前に行われた要求による一時レジスタ群320からのデータ読み出しが継続中であるかどうかを判断する(S13)。ここで、書き込み要求は、書き込むデータの種類に対応する特定の主レジスタ群を指定した要求である。しかし、一時レジスタ群320は1個しかないので、どの主レジスタ群に対する書き込み要求があった場合でも、同じ一時レジスタ群320について、現在読み出し中か否かを判断する。
FIG. 2 is a flowchart of an operation resulting from a request from the writing
読み出し中でなければ(S13−NO)、一時レジスタ群320に、書き込み対象の主レジスタ群のデータを格納して(S14)から(実施例の場合、この操作は、1クロックで完了する)、書き込み要求があった主レジスタ群への新たなデータの書き込みを開始する(S15)。
If not being read (S13-NO), the data of the main register group to be written is stored in the
本実施例では、このように一時レジスタ群320に当該主レジスタ群のデータを格納してから当該主レジスタ群に書き込みを開始するため、書き込み途中に、当該主レジスタ群に対する読み出し要求が発生した場合には、後述のように、一時レジスタ群320から読み出すことにより、データ不整合の発生を防止することができる。主レジスタ群への書き込みを行っている間は、読み出し側機器200がデータ読み出しを待つという制御を行うことも考えらる。しかし、本実施例では、そのような、読み出し側、もしくは書き込み側機器の制御は行わずに、読み出しもしくは書き込み要求があったら、その時点で要求に応えることを可能にして、かつ、データ不整合の発生を防ぐ。
In this embodiment, when the data of the main register group is stored in the
書き込み側の機器100からのデータ転送速度に依存する時間の経過後、書き込みが終了した時点で、書き込みを行った(対応するInfoFrame データの更新を行った)ことを読み出し側機器200に通知し(S16)(なお、後述するように、この通知を受けて、読み出し側機器200が読み出し要求を発する)、Idle状態に戻る(S11)。
After the time dependent on the data transfer rate from the
特定の主レジスタ群への書き込み要求があったとき(S12−YES)に、一時レジスタ群320からデータ読み出し中の場合(S13−YES)は、一時レジスタ群320へのデータ格納を行わずに、書き込み対象の主レジスタ群への新たなデータの書き込みを行う(S17)。このように、読み出し中の場合に一時レジスタ群320へのデータ格納を行わないため、不整合なデータが一時レジスタ群320から読み出されることが防止される。
When there is a write request to a specific main register group (S12-YES), if data is being read from the temporary register group 320 (S13-YES), the data is not stored in the
なお、この場合は、一時レジスタ群320へのデータ格納を行わないので、もし、書き込み対象の主レジスタ群への書き込みが終了する以前に、同じ主レジスタ群に対する読み出し要求が発生した場合、その時に一時レジスタ群320に格納されていた(目的とするものとは異なる)データが読み出されることになる。しかし、現実には、そのようなことが発生する可能性は極めて低いと考えられる。仮に、そのようなことが発生した場合であっても、読み出し側機器200が、要求したデータと異なることを判断し、再度、要求を行うことができる。
In this case, since data is not stored in the
そして、主レジスタ群への書き込み終了後に、書き込みを行った(対応するInfoFrame データの更新を行った)ことを読み出し側機器200に通知し(S18)(後述するように、この通知を受けて読み出し側機器200が読み出し要求を発する)、Idle状態に戻る(S11)。なお、システムリセットのときも、Idle状態に戻る。
Then, after the writing to the main register group is completed, the
図3は読み出し側機器200からの要求に起因する動作のフローチャートである。読み出し側機器200から、主レジスタ群310〜31mの内のいずれか1つの主レジスタ群からの読み出しの要求(どのレジスタ群から読み出すか指定されている)を受ける(S22−YES)と、指定された主レジスタ群への書き込みが行われている(それ以前に行われた要求によって開始された書き込みがまだ終了しない状態にある)かどうかを判断する(S23)。
FIG. 3 is a flowchart of an operation caused by a request from the
書き込み中で無ければ(S23−NO)、読み出し対象の主レジスタ群のその時点のデータを一時レジスタ群321に格納して(S26)から、一時レジスタ群321から読み出しを行う(S27)。これにより、読み出しが完了する以前に同じ主レジスタ群に対する書き込み要求が発生した場合でも、データ不整合の発生を防止することができる。 If writing is not in progress (S23-NO), the current data of the main register group to be read is stored in the temporary register group 321 (S26), and then reading is performed from the temporary register group 321 (S27). As a result, even when a write request to the same main register group occurs before the reading is completed, it is possible to prevent the occurrence of data mismatch.
例えば、書き込み側機器100からの要求によって主レジスタ群を更新した場合は、更新(書き込み)が終了した時点で、読み出し側機器200に通知が行われ、この通知を受けた時点で、読み出し側機器200が、更新した主レジスタ群への読み出し要求を発する。この読み出し要求が発せられるときには対象の主レジスタ群への書き込みは完了しているので、一時レジスタ群321への格納と、一時レジスタ群321から読み出しが行われる。
For example, when the main register group is updated in response to a request from the writing
一方、例えば、主レジスタ群の更新の通知を受けたからではなく、読み出し側機器200の必要性による場合、対象の主レジスタ群への書き込み途中に読み出し要求が発せられることがある(S23−YES)。この場合には、書き込み開始前に対象の主レジスタ群のデータを格納しておいた一時レジスタ群320からの読み出しを行う(S24)。これによって、書き込み途中の主レジスタ群から読み出した場合に発生するデータ不整合の発生を防止することができる。
On the other hand, for example, when the update of the main register group is not received but due to the necessity of the reading-
ここで、書き込み要求発生時に、一時レジスタ群320からデータ読み出し中であったために、更新前のデータの格納が行えずに、主レジスタ群への書き込みが行われ、かつ、書き込みが終了する以前に、同じ主レジスタ群に対して読み出し要求が発生したとすると、その時に一時レジスタ群320に格納されていた(目的とするものとは異なる)データが読み出されることになる。しかし、現実には、そのようなことが発生する可能性は極めて低いと考えられる。仮に、そのようなことが発生した場合であっても、読み出し側機器200が、要求したデータと異なることを判断し、再度、要求を行うことができる。いずれの場合でも、読み出しが完了した時点で、Idle状態に戻る(S21)。
Here, since the data is being read from the
なお、図3のフローチャートでは、読み出しの終了時点でIdle状態(S21)に戻るようにしている。この場合、(ある主レジスタ群に対する読み出し要求による)いずれかの一時レジスタからの読み出しが終了する以前に、次の(同一、もしくは異なる主レジスタ群に対する)読み出し要求が発生した場合には応答できない。 In the flowchart of FIG. 3, the state returns to the idle state (S21) at the end of reading. In this case, no response can be made if the next read request (for the same or different main register group) occurs before the reading from any temporary register (by a read request for a certain main register group) is completed.
これに対しては、一時レジスタ群320からのデータ読み出し(S24)もしくは一時レジスタ群321からのデータ読み出し(S27)を開始した時点でIdle状態(S21)に戻すことも考えられる。これにより、読み出しが終了する以前に、より重要度の高い読み出し要求が発生した場合、まだ終了していない読み出しを中止して、後から発生した要求に基づく読み出しを行うことを可能にすることができる。 To cope with this, it may be possible to return to the idle state (S21) at the time when data reading from the temporary register group 320 (S24) or data reading from the temporary register group 321 (S27) is started. As a result, when a read request with higher importance occurs before the reading is completed, it is possible to stop the reading that has not been completed yet and perform the reading based on the request generated later. it can.
100:書き込み側機器、101:出力バス
200:読み出し側機器、201:入力バス
300:転送回路、301:MAC部、302〜305:セレクタ、306,307:シーケンサ、310〜31m:主レジスタ群、320,321:一時レジスタ群
100: Write side device, 101: Output bus 200: Read side device, 201: Input bus 300: Transfer circuit, 301: MAC unit, 302 to 305: Selector, 306, 307: Sequencer, 310 to 31m: Main register group, 320, 321: Temporary registers
Claims (7)
前記書き込み側機器から受け取ったデータを保持する複数の主レジスタ群と、
前記複数の主レジスタ群の内から任意に選択された第1の主レジスタ群に保持されたデータを一時的に保持する1つの第1の一時レジスタ群とを有し、
前記書き込み側機器から、前記主レジスタ群のいずれかに対する書き込み要求を受けた場合に、該書き込み要求の対象の主レジスタ群に保持したデータの全体を前記第1の一時レジスタ群に格納してから、該書き込み要求の対象の主レジスタ群への書き込みを開始することを特徴とするデータ転送回路。 In the data transfer circuit that outputs the data received from the writing device to the reading device,
A plurality of main register groups for holding data received from the writing side device;
Wherein a plurality of the first and one of the first temporary register group for temporarily holding the data held in the main register group arbitrarily selected from among the main registers,
When a write request for any of the main register groups is received from the writing side device, the entire data held in the main register group that is the target of the write request is stored in the first temporary register group. A data transfer circuit which starts writing to a main register group which is a target of the write request.
前記読み出し側機器から、前記主レジスタ群のいずれかに対する読み出し要求を、該読み出し要求の対象の主レジスタ群への書き込みが行われていない間に受けた場合に、該読み出し要求の対象の主レジスタ群に保持したデータの全体を前記第2の一時レジスタ群に格納した後に、該第2の一時レジスタ群から読み出して出力することを特徴とする請求項1ないし3のいずれかに記載のデータ転送回路。 A second temporary register that temporarily holds data held in a second main register group arbitrarily selected from the plurality of main register groups;
When a read request for any of the main register groups is received from the read side device while writing to the main register group that is the target of the read request is not performed, the main register that is the target of the read request 4. The data transfer according to claim 1, wherein after the entire data held in the group is stored in the second temporary register group, the data is read out from the second temporary register group and output. circuit.
前記書き込み側機器から受け取ったデータを保持する複数の主レジスタ群と、
前記複数の主レジスタ群からそれぞれ任意に選択された第1および第2のレジスタ群に保持されたデータを一時的に保持するそれぞれ1つの第1および第2の一時レジスタ群とを有し、
前記書き込み側機器から、前記主レジスタ群のいずれかに対する書き込み要求を受けたときに、該書き込み要求を、前記第1の一時レジスタからの読み出しが行われていない間に受けた場合には、該書き込み要求の対象の主レジスタ群に保持したデータの全体を前記第1の一時レジスタ群に格納してから、該書き込み要求の対象の主レジスタ群への書き込みを開始し、
前記第1の一時レジスタからの読み出しが行われている間に受けた場合には、該書き込み要求の対象の主レジスタ群のデータの前記第1の一時レジスタヘの格納を行わずに、該書き込み要求の対象の主レジスタ群への書き込みを行い、
前記読み出し側機器から、前記複数の主レジスタ群のいずれかに対する読み出し要求を受けたときに、該読み出し要求が、前記書き込み要求の対象の主レジスタ群を対象とするものであり、かつ、該書き込み要求の対象の主レジスタ群への書き込みが行われている間に受けた場合には、前記第1の一時レジスタ群に格納したデータを読み出して出力し、
それ以外の場合には、前記読み出し要求の対象の主レジスタ群に保持したデータの全体を前記第2の一時レジスタ群に格納した後に、該第2の一時レジスタ群から読み出して出力することを特徴とするデータ転送回路。 In the data transfer circuit that outputs the data received from the writing device to the reading device,
A plurality of main register groups for holding data received from the writing side device;
Each having a first and a second temporary register group for temporarily holding data held in first and second register groups arbitrarily selected from the plurality of main register groups,
When a write request is received from any one of the main register groups from the writing side device, if the write request is received while reading from the first temporary register is not performed, The entire data held in the main register group subject to the write request is stored in the first temporary register group, and then writing to the main register group subject to the write request is started.
If received while reading from the first temporary register, the write request is made without storing the data of the target main register group of the write request in the first temporary register. To the target main register group,
When a read request for any of the plurality of main register groups is received from the read side device, the read request is for the main register group that is the target of the write request, and the write If received during the write to the main register group to be requested, the data stored in the first temporary register group is read and output,
In other cases, the entire data held in the main register group subject to the read request is stored in the second temporary register group, and then read from the second temporary register group and output. A data transfer circuit.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006147925A JP4841314B2 (en) | 2006-05-29 | 2006-05-29 | Data transfer circuit |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006147925A JP4841314B2 (en) | 2006-05-29 | 2006-05-29 | Data transfer circuit |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2007317066A JP2007317066A (en) | 2007-12-06 |
| JP4841314B2 true JP4841314B2 (en) | 2011-12-21 |
Family
ID=38850852
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006147925A Expired - Fee Related JP4841314B2 (en) | 2006-05-29 | 2006-05-29 | Data transfer circuit |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4841314B2 (en) |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| NL7713707A (en) * | 1977-12-12 | 1979-06-14 | Philips Nv | INFORMATION BUFFER MEMORY OF THE "FIRST-IN, FIRST-OUT" TYPE WITH VARIABLE INPUT AND FIXED OUTPUT. |
| JPS6073730A (en) * | 1983-09-30 | 1985-04-25 | Toshiba Corp | Buffer controller |
| JPH0191959A (en) * | 1987-10-02 | 1989-04-11 | Toyota Motor Corp | Mold transfer device in vertical frameless molding line |
| JP2000172636A (en) * | 1998-12-08 | 2000-06-23 | Canon Inc | Asynchronous data transfer control device and method for real-time data transfer system |
-
2006
- 2006-05-29 JP JP2006147925A patent/JP4841314B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2007317066A (en) | 2007-12-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6341318B1 (en) | DMA data streaming | |
| JP3598321B2 (en) | Buffering data exchanged between buses operating at different frequencies | |
| US20080028132A1 (en) | Non-volatile storage device, data storage system, and data storage method | |
| JP2000267987A (en) | Direct memory access control | |
| JP2005182781A (en) | Persistent memory device for backup process checkpoint state | |
| TWI531901B (en) | Data flush of group table | |
| US10216645B2 (en) | Memory data transfer method and system | |
| JP2009175904A (en) | Multiprocessor processing system | |
| JP3803196B2 (en) | Information processing apparatus, information processing method, and recording medium | |
| CN102027424B (en) | Method for controlling access to regions of a storage comprising a plurality of processes and communication module having a message storage for implementing the method | |
| US7120764B2 (en) | Method and related apparatus for controlling data transmission in a memory | |
| US6738840B1 (en) | Arrangement with a plurality of processors having an interface for a collective memory | |
| US8386725B2 (en) | USB host controller and controlling method for USB host controller | |
| CN101308474B (en) | Storage system and storage device | |
| KR100782594B1 (en) | Memory device with data processing function | |
| JP4841314B2 (en) | Data transfer circuit | |
| CN107783909B (en) | Memory address bus expansion method and device | |
| JP3824122B2 (en) | DMA device | |
| JP2005182538A (en) | Data transfer device | |
| CN101290602A (en) | Memory management system and method | |
| JP2008225608A (en) | Memory controller for controlling memory, memory module, and memory control method | |
| JP2011192053A (en) | Disk array device, disk array system and cache control method | |
| US6785795B1 (en) | Data processing device for use in cooperation with a memory | |
| CN111625411A (en) | Semiconductor device and debug system | |
| US20260030150A1 (en) | Control device, memory system, and computing system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080822 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110208 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110215 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110415 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20111004 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20111004 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 4841314 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141014 Year of fee payment: 3 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |