JP2007072685A - データ転送装置及び情報処理装置 - Google Patents
データ転送装置及び情報処理装置 Download PDFInfo
- Publication number
- JP2007072685A JP2007072685A JP2005257993A JP2005257993A JP2007072685A JP 2007072685 A JP2007072685 A JP 2007072685A JP 2005257993 A JP2005257993 A JP 2005257993A JP 2005257993 A JP2005257993 A JP 2005257993A JP 2007072685 A JP2007072685 A JP 2007072685A
- Authority
- JP
- Japan
- Prior art keywords
- data
- transfer
- bus
- host
- address
- 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.)
- Withdrawn
Links
Images
Landscapes
- Information Transfer Systems (AREA)
Abstract
【課題】 ホストバスに接続されたホストCPUとスレーブバスに接続された周辺装置間でデータのやり取りを行う場合、回路規模の増大を招くことなく効率良くデータ転送を行うこと。
【解決手段】 本データ転送装置200は、ホストバスとスレーブバスに接続されたバスブリッジ回路210と、ホストバスとスレーブバス間のデータ送受信を制御するデータ転送制御回路220と、を含み、前記データ転送制御回路220は、アドレス格納部222と、ホストバス又はスレーブバスから受け取ったデータを格納するバッファ230と、周辺装置からホストへの転送を行う場合には、バスブリッジ回路を介してスレーブバスからのデータを受信し、受信したデータをバッファに格納し、ホストバスからの受け取った要求アドレスと、アドレス格納部に格納されたアドレスとが一致しているか場合にはバッファに格納されているデータをバスブリッジ回路を介してホストバスに出力するように制御する回路226、224、240等を含むことを特徴とする。
【選択図】 図1
【解決手段】 本データ転送装置200は、ホストバスとスレーブバスに接続されたバスブリッジ回路210と、ホストバスとスレーブバス間のデータ送受信を制御するデータ転送制御回路220と、を含み、前記データ転送制御回路220は、アドレス格納部222と、ホストバス又はスレーブバスから受け取ったデータを格納するバッファ230と、周辺装置からホストへの転送を行う場合には、バスブリッジ回路を介してスレーブバスからのデータを受信し、受信したデータをバッファに格納し、ホストバスからの受け取った要求アドレスと、アドレス格納部に格納されたアドレスとが一致しているか場合にはバッファに格納されているデータをバスブリッジ回路を介してホストバスに出力するように制御する回路226、224、240等を含むことを特徴とする。
【選択図】 図1
Description
本発明は、データ転送装置及び情報処理装置に関する。
ホストバスに接続されたホストCPUとスレーブバスに接続された周辺装置間でデータのやり取りを行う場合、データ転送を円滑に行う為に、バスブリッジがマスターとなってホストバスにアクセスする手段がある。
係る手段として、例えばバスブリッジにDMAコントローラーを内蔵する場合や、スレーブバスに接続するデバイスがバスマスターになりホストバスまでアクセスする場合がある。
特開平1−205366号公報
しかし、バスブリッジにDMAコントローラーを設けたり、ホストバスのマスタ機能を含めると、比較的ゲート数の多いバスブリッジとなり、回路規模増大を招く。
本発明は以上のような問題点に鑑みてなされたものであり、その目的とするところは、ホストバスに接続されたホストCPUとスレーブバスに接続された周辺装置間でデータのやり取りを行う場合、回路規模の増大を招くことなく効率良くデータ転送を行うことができるデータ転送装置及び情報処理装置の提供を目的とする。
(1)本発明は、
ホスト及びDMAコントローラが接続されるホストバスと周辺装置が接続されるスレーブバスに接続され、ホストバスとスレーブバス間のデータの転送を行うデータ転送装置であって、
ホストバスとスレーブバスに接続され、ホストバスとスレーブバス間のデータの送受信を行うバスブリッジ回路と、
ホストバスとスレーブバス間のデータ送受信を制御するデータ転送制御回路と、を含み、
前記データ転送制御回路は、
周辺装置からホストへの転送の場合には転送元のアドレスが格納され、ホストバスからスレーブバスへの転送の場合には転送先のアドレスが格納されるアドレス格納部と、
前記バスブリッジ回路を介してホストバス又はスレーブバスから受け取ったデータを格納するバッファと、
周辺装置からホストへの転送を行う場合には、バスブリッジ回路を介してスレーブバスからのデータを受信し、受信したデータをバッファに格納し、
ホストバスからの受け取った要求アドレスと、アドレス格納部に格納されたアドレスとが一致しているか否か比較して、一致している場合にはバッファに格納されているデータをバスブリッジ回路を介してホストバスに出力するように制御する回路を含むことを特徴とする。
ホスト及びDMAコントローラが接続されるホストバスと周辺装置が接続されるスレーブバスに接続され、ホストバスとスレーブバス間のデータの転送を行うデータ転送装置であって、
ホストバスとスレーブバスに接続され、ホストバスとスレーブバス間のデータの送受信を行うバスブリッジ回路と、
ホストバスとスレーブバス間のデータ送受信を制御するデータ転送制御回路と、を含み、
前記データ転送制御回路は、
周辺装置からホストへの転送の場合には転送元のアドレスが格納され、ホストバスからスレーブバスへの転送の場合には転送先のアドレスが格納されるアドレス格納部と、
前記バスブリッジ回路を介してホストバス又はスレーブバスから受け取ったデータを格納するバッファと、
周辺装置からホストへの転送を行う場合には、バスブリッジ回路を介してスレーブバスからのデータを受信し、受信したデータをバッファに格納し、
ホストバスからの受け取った要求アドレスと、アドレス格納部に格納されたアドレスとが一致しているか否か比較して、一致している場合にはバッファに格納されているデータをバスブリッジ回路を介してホストバスに出力するように制御する回路を含むことを特徴とする。
本発明によればバスブリッジに、アドレスレジスタ、データ数レジスタ、アドレス比較回路と、バスの能力に合わせてバッファと割込み発生機能を持たせるが、DMAコントローラー・バスマスター機能に比べるとゲート数は少なく、同等のデータ転送能力を見込める。また、DMAコントローラーのチャネルのプライオリティの設定と合わせて使用する事で、様々な性能のデバイスの転送能力に合わせることができるので、ホストバスの性能を損ねる事がなくなる。
本発明によればバスブリッジの機能を大幅に上げる事なく、ホストバス−スレーブバス問の効率のよいデータ転送が可能である。
従ってホストバスに接続されたホストCPUとスレーブバスに接続された周辺装置間でデータのやり取りを行う場合、回路規模の増大を招くことなく効率良くデータ転送を行うことができるデータ転送装置を提供することができる。
(2)本発明のデータ転送装置は、
前記データ転送制御回路が、
ホストから周辺装置への転送を行う場合には、バスブリッジ回路を介してホストバスからのデータを受信してバッファに格納し、バッファに格納されているデータをバスブリッジ回路を介してスレーブバスに出力するように制御する回路を含むことを特徴とする。
前記データ転送制御回路が、
ホストから周辺装置への転送を行う場合には、バスブリッジ回路を介してホストバスからのデータを受信してバッファに格納し、バッファに格納されているデータをバスブリッジ回路を介してスレーブバスに出力するように制御する回路を含むことを特徴とする。
(3)本発明のデータ転送装置は、
前記データ転送制御回路が、
転送データ数を特定するための転送データ数格納部を含み、
周辺装置からホストへの転送を行う場合には、転送データ数格納部に格納された転送データ数に達するまでバスブリッジ回路を介してスレーブバスからのデータを受信し、受信したデータをバッファに格納し、
ホストバスからの受け取った要求アドレスと、アドレス格納部に格納されたアドレスとが一致しているか否か比較して、一致している場合には転送データ数格納部に格納された転送データ数に達するまでバッファに格納されているデータをバスブリッジ回路を介してホストバスに出力するように制御する回路を含むことを特徴とする。
前記データ転送制御回路が、
転送データ数を特定するための転送データ数格納部を含み、
周辺装置からホストへの転送を行う場合には、転送データ数格納部に格納された転送データ数に達するまでバスブリッジ回路を介してスレーブバスからのデータを受信し、受信したデータをバッファに格納し、
ホストバスからの受け取った要求アドレスと、アドレス格納部に格納されたアドレスとが一致しているか否か比較して、一致している場合には転送データ数格納部に格納された転送データ数に達するまでバッファに格納されているデータをバスブリッジ回路を介してホストバスに出力するように制御する回路を含むことを特徴とする。
(4)本発明のデータ転送装置は、
前記データ転送制御回路が、
ホストから周辺装置への転送を行う場合には、転送データ数格納部に格納された転送データ数に達するまでバスブリッジ回路を介してホストバスからのデータを受信してバッファに格納し、転送データ数格納部に格納された転送データ数に達するまでバッファに格納されているデータをバスブリッジ回路を介してスレーブバスに出力する回路を含むことを特徴とする。
前記データ転送制御回路が、
ホストから周辺装置への転送を行う場合には、転送データ数格納部に格納された転送データ数に達するまでバスブリッジ回路を介してホストバスからのデータを受信してバッファに格納し、転送データ数格納部に格納された転送データ数に達するまでバッファに格納されているデータをバスブリッジ回路を介してスレーブバスに出力する回路を含むことを特徴とする。
(5)本発明のデータ転送装置は、
前記データ転送制御回路が、
周辺装置からホストへの転送の場合に、アドレス格納部に格納されている転送元アドレスをホストバスからの読み出しに応じて更新し、更新後のアドレスとホストバスからの受け取った要求アドレスとが一致しているか否か比較して、一致を示している場合にはバッファに格納されているデータをホストバスに出力するように制御する回路を含むことを特徴とする。
前記データ転送制御回路が、
周辺装置からホストへの転送の場合に、アドレス格納部に格納されている転送元アドレスをホストバスからの読み出しに応じて更新し、更新後のアドレスとホストバスからの受け取った要求アドレスとが一致しているか否か比較して、一致を示している場合にはバッファに格納されているデータをホストバスに出力するように制御する回路を含むことを特徴とする。
本発明によればアドレス格納部に格納されている転送元アドレスをホストバスからの読み出しに応じて更新し、更新後のアドレスとホストバスからの受け取った要求アドレスとが一致しているか否か比較して、一致を示している場合にはバッファに格納されているデータをホストバスに出力するので、DMAからの要求と、他のスレーブバスへのアクセスとを混同せずにデータ転送を行うことができる。
(6)本発明は、
上記のいずれかに記載のデータ転送装置と、
データ転送装置に接続されたホストバスと、
データ転送装置に接続されたスレーブバスと、
ホストバスに接続されたCPUと、
ホストバスに接続されたDMAコントローラと、
スレーブバスに接続された周辺装置を含む情報処理装置であって、
前記CPUは、
周辺装置からのデータを受信する際には、DMAコントローラに対して、転送元アドレス、転送先アドレス、データ転送数を設定して、転送イネーブルの設定を行い、
データ転送装置のアドレス格納部に転送元アドレスを、転送データ数格納部に転送データ数を設定し、
DMAコントローラは、転送イネーブルの設定が行われるとDMAを起動し、設定された転送元アドレス、転送先アドレス、データ転送数に基づきデータ転送装置のバッファに格納されているデータをホストバスを介してDMA転送することを特徴とする。
上記のいずれかに記載のデータ転送装置と、
データ転送装置に接続されたホストバスと、
データ転送装置に接続されたスレーブバスと、
ホストバスに接続されたCPUと、
ホストバスに接続されたDMAコントローラと、
スレーブバスに接続された周辺装置を含む情報処理装置であって、
前記CPUは、
周辺装置からのデータを受信する際には、DMAコントローラに対して、転送元アドレス、転送先アドレス、データ転送数を設定して、転送イネーブルの設定を行い、
データ転送装置のアドレス格納部に転送元アドレスを、転送データ数格納部に転送データ数を設定し、
DMAコントローラは、転送イネーブルの設定が行われるとDMAを起動し、設定された転送元アドレス、転送先アドレス、データ転送数に基づきデータ転送装置のバッファに格納されているデータをホストバスを介してDMA転送することを特徴とする。
(7)本発明の情報処理装置は、
前記CPUが、
ホストから周辺装置へデータを送信する場合には、DMAコントローラに対して、転送元アドレス、転送先アドレス、データ転送数を設定して転送イネーブルの設定を行い、
データ転送装置のアドレス格納部に転送先アドレスを、転送データ数格納部に転送データ数を設定し、
DMAコントローラが、転送イネーブルの設定が行われるとDMAを起動し、
設定された転送元アドレス、転送先アドレス、データ転送数に基づきデータをホストバスを介してデータ転送装置のバッファにDMA転送し、
データ転送装置に対するデータの送信が終了すると、ホストバスを開放することを特徴とする。
前記CPUが、
ホストから周辺装置へデータを送信する場合には、DMAコントローラに対して、転送元アドレス、転送先アドレス、データ転送数を設定して転送イネーブルの設定を行い、
データ転送装置のアドレス格納部に転送先アドレスを、転送データ数格納部に転送データ数を設定し、
DMAコントローラが、転送イネーブルの設定が行われるとDMAを起動し、
設定された転送元アドレス、転送先アドレス、データ転送数に基づきデータをホストバスを介してデータ転送装置のバッファにDMA転送し、
データ転送装置に対するデータの送信が終了すると、ホストバスを開放することを特徴とする。
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。
図1は、本実施の形態のデータ転送装置について説明するための図である。なお、本実施形態の情報処理装置200は、図1の構成要素(各部)を全て含む必要はなく、その一部を省略した構成としてもよい。
本実施の形態のデータ転送装置200は、ホスト及びDMAコントローラが接続されるホストバスと周辺装置が接続されるスレーブバスに接続され、ホストバスとスレーブバス間データの転送を行うデータ転送装置であって、バスブリッジ回路210、データ転送制御回路220とを含む。
バスブリッジ回路210は、ホストバスとスレーブバスに接続され、ホストバスとスレーブバス間のデータの送受信を行うもので、ホストバスインターフェイス212、ホストバス−スレーブバス変換部214、スレーブバスインターフェイス216を含む。
ホストバス−スレーブバス変換部214は、ホストからのアクセスをスレーブアクセスに変換する。
自動転送制御部220は、スタートアドレス格納レジスタ222、データバッファ230、データバッファ制御部232、転送データ数格納レジスタ224、アドレス比較器226、転送制御部240、スレーブバスデータ転送カウンター242、ホストバスデータ転送カウンター244を含み、ホストバスとスレーブバス間のデータ送受信を制御するデータ転送制御回路として機能する。
スタートアドレス格納レジスタ222は、スレーブからの自動転送を行う際のスタートアドレスが格納されるもので、周辺装置からホストへの転送の場合には転送元のアドレスが格納され、ホストバスからスレーブバスへの転送の場合には転送先のアドレスが格納されるアドレス格納部として機能する。
データバッファ230は、自動転送時のデータが格納され、バスブリッジ回路210を介してホストバス又はスレーブバスから受け取ったデータを格納するバッファとして機能する。
データバッファ制御部232は、ホストバス、スレーブバスの動作に同期をとってバッファを制御する。
転送データ数格納レジスタ224は、バッファを使用してのデータ転送数が設定され、転送データ数を特定するための転送データ数格納部として機能する。
アドレス比較器226は、スタートアドレス格納レジスタとホストバスから受け取ったアドレスを比較し、ホストバスからのアクセス発生信号を生成する。
転送制御部240は、ペリフェラルからのバスアクセス信号とホストバスアクセスからデータ転送を監視し、バッファ制御の為の制御信号を生成する。
スレーブバスデータ転送カウンター242は、スレーブバスの自動転送数をカウントする。
ホストバスデータ転送カウンター244は、ホストバスの自動転送数をカウントする。
自動転送制御部220は、周辺装置からホストへの転送を行う場合には(スレーブバスからホストバスへの転送要求を受信すると)、転送データ数格納部に格納された転送データ数に達するまでバスブリッジ回路を介してスレーブバスからのデータを受信し、受信したデータをバッファに格納し、ホストバスからの受け取った要求アドレスと、アドレス格納部に格納されたアドレスとが一致しているか否か比較して、一致を示している場合には転送データ数格納部に格納された転送データ数に達するまでバッファに格納されているデータをバスブリッジ回路を介してホストバスに出力するように制御するデータ転送制御回路として機能する。
また自動転送制御部220は、ホストから周辺装置への転送を行う場合には、転送データ数格納部に格納された転送データ数に達するまでバスブリッジ回路を介してホストバスからのデータを受信してバッファに格納し、転送データ数格納部に格納された転送データ数に達するまでバッファに格納されているデータをバスブリッジ回路を介してスレーブバスに出力するように制御する前記データ転送制御回路として機能するように構成してもよい。
また自動転送制御部220は、周辺装置からホストへの転送の場合に、アドレス格納部に格納されている転送元アドレスをホストバスからの読み出しに応じて更新し、更新後のアドレスとホストバスからの受け取った要求アドレスとが一致しているか否か比較して、一致を示している場合にはバッファに格納されているデータをホストバスに出力するように制御するデータ転送制御回路として機能するように構成してもよい。
1はホストバスアドレス信号であり、2はホストバスデータ信号であり、3はスレーブバスアドレス信号であり、4はスレーブバスデータ信号であり、5はバスブリッジ内部データバスであり、7は転送開始信号であり、8は周辺装置転送可信号であり、9はアドレス比較結果であり、10は転送数出力であり、11はホストバスデータ転送カウンター制御信号であり、12はホストバスデータ転送カウント値出力であり、13はスレーブバスデータ転送カウンター制御信号であり、14はスレーブバスデータ転送カウンター値出力であり、15は比較イネーブル信号であり、16は周辺装置データ転送要求であり、17はバッファライトポインター値であり、18はバッファリードポインター値であり、19はバッファライトタイミング信号である。
20はアドレスインクリメントモード信号であり、ブリッジ部内にあるレジスタでアドレスインクリメントモード、固定モードの指定を行う。
21はバスアクセス信号でホスト/スレーブのバスアクセスが発生していることを示す。
22はバスアクセス要求信号であり、ペリフェラルからのバス転送要求を出力する。これにより、バスブリッジが自動的にペリフェラルにアクセスを開始する。
23はホストバスコマンド信号であり、24はスレーブバスコマンド信号であり、25はスレーブバスアクセスタイミング信号であり、26はホストバスアクセスタイミング信号である。
図2は、本実施の形態の情報処理装置について説明するための図である。なお、本実施形態の情報処理装置100は、図2の構成要素(各部)を全て含む必要はなく、その一部を省略した構成としてもよい。
本実施の形態の情報処理装置200は、データ転送装置200と、データ転送装置200に接続されたホストバス110と、データ転送装置200に接続されたスレーブバス2と、ホストバス110に接続されたCPU120と、ホストバス110に接続されたDMAコントローラ130と、ホストバス110に接続されたメモリ140と、ホストバス110に接続された割り込みコントローラ160、ホストバス110に接続されたシステム制御部150と、スレーブバス170に接続された周辺装置180−1(データ転送装置の機能を使用する周辺装置)、180−2(データ転送装置の機能を使用しない通常の周辺装置)を含む。
3は転送開始信号であり、4はデータ転送要求であり、5は周辺装置1の入出力信号であり、6周辺装置2の入出力信号であり、7は割込みコントローラーからの割込発生報告信号であり、8は転送終了を示す割込み信号である。
データ転送装置200は、ホスト(CPU)120及びDMAコントローラ130が接続されるホストバス110と周辺装置180−1、180−2が接続されるスレーブバス170に接続され、ホストバス110とスレーブバス170間データの転送を行うデータ転送装置であって、例えば図1において説明したような構成及び機能を有する。
ここでCPU120は、周辺装置180−1、180−2からのデータを受信する際には、DMAコントローラに対して、転送元アドレス、転送先アドレス、データ転送数を設定して、転送イネーブルの設定を行い、データ転送装置200のアドレス格納部に転送元アドレスを、転送データ数格納部に転送データ数を設定するようにしてもよい。
またDMAコントローラ130は、転送イネーブルの設定が行われるとDMAを起動し、設定された転送元アドレス、転送先アドレス、データ転送数に基づきデータ転送装置200のバッファに格納されているデータをホストバス110を介してDMA転送するようにしてもよい。
またCPU120は、周辺装置180−1、180−2にデータを送信する場合には、DMAコントローラ130に対して、転送元アドレス、転送先アドレス、データ転送数を設定して転送イネーブルの設定を行い、データ転送装置200のアドレス格納部に転送先アドレスを、転送データ数格納部に転送データ数を設定するようにしてもよい。
またDMAコントローラ130は、転送イネーブルの設定が行われるとDMAを起動し、設定された転送元アドレス、転送先アドレス、データ転送数に基づきデータをホストバス110を介してデータ転送装置200のバッファにDMA転送し、データ転送装置200に対するデータの送信が終了すると、ホストバスを開放するするようにしてもよい。
本実施の形態は2つのバス(ホストバス110/スレーブバス170)を持つ情報処理装置100で、2つのバス1,2を接続するバスブリッジであるデータ転送装置200とマスター側のバス1に接続するDMAコントローラー130を連動させて、2つのバス間で効率のよいデータ転送を行うことができる。
スレーブ(周辺装置)からマスター(ホスト)の転送に関しては、スレーブ側でデータ転送要求に備えて、CPU(ホスト)120はデータ転送装置200内部200のスタートアドレス格納レジスタ(アドレス格納部)に転送元アドレスを、転送データ数格納レジスタ(転送データ数格納部)に転送するデータ数を格納し、DMAコントローラー130には、同じアドレス(転送元アドレス)と転送するデータ数とデータ転送先のアドレスとホストバスのプライオリティを設定するようにしてもよい。
上記設定を行ったスレーブバス170上の周辺装置からの転送要求はデータ転送装置200の入力となり、データ転送装置200はDMAコントローラー130に対して起動をかけ、データ転送装置200はDMAコントローラー130からのリクエストに関係なく、周辺装置180−1からのデータを読出し、データ転送装置200内のバッファに格納する。
起動がかけられたDMAコントローラー130はデータ転送装置200へのアクセスを行い、データ転送装置200は設定されたスタートアドレスと一致を判断し、一致した場合はデータ転送装置200とDMAコントローラ130が連動してデータ転送を行う処理がスタートしたと判断し、DMAコントローラー130にバッファ内のデータを送信する。データ転送装置200は設定された転送データ数の転送が完了するまで周辺装置からのデータを読出す。
全てのデータの転送が終了すると、CPU120は、データ転送装置200からの終了割込みとDMAコントローラー130からの終了割込みのふたつの終了信号から、対象となったデータ転送が終了した事を判断する。
CPU120から周辺装置180−1への送信に関しては、DMAコントローラー130に転送元アドレスと転送先のデバイスのアドレスと転送データ数とバスプライオリティを設定し、データ転送装置200には転送先のアドレスを設定し、CPU120がDMAコントローラー130に起動をかけるとDMA転送がスタートし、データ転送装置200は設定したアドレスと一致する事を検出すると、データを一旦バッファに取り込みホストバス110の動作は終了させ、データ転送装置200はバッファのデータを転送先に送信する。データ転送装置200は全てのデータの転送が終了するとCPU120に割込みをかける。CPUはDMAコントローラーとデータ転送装置200からのふたつの終了の割込みからデータ転送が終了したと判断するようにしてもよい。
図3、図4は、スレーブからマスターの転送時の動作(周辺装置からのデータ受信動作)のフローチャートである。
ここでは周辺装置1の受信データをDMAコントローラー(図2の130)によってメモリ(図2の140)の所定のエリアに格納する処理を想定する。周辺装置(図2の180−1)は一定間隔でパケット化されたデータを受信するものとする。パケット化されたデータの受信は、ある一定間隔で発生するものとする。
またDMAコントローラーはオンデマンドのチャネルを持ち、本例ではこのチャネルを使用する。
まずCPU(図2の120)は、周辺装置1(図2の180−1)からのデータ受信に備えて、次の受信動作の為の設定を行う(ステップS1)。
(1) DMAコントローラーに転送元アドレス(周辺装置1の受信データレジスタ)転送先アドレス(メモリのデータエリア)とデータ転送数を設定する。
(2) データ転送装置のスタートアドレス格納レジスタに転送元アドレスを、転送データ数格納レジスタにデータ転送数を設定する。スタートアドレス格納レジスタに書込みが発生した事で、転送カウンター(図1の242、244)は共に0にリセットされる。
(3) CPUはDMAコントローラーに対して転送イネーブルを設定する。
次に周辺装置1は、データを受信するとデータ転送要求信号をオンにする(ステップS2)。
次に転送制御部(図1の240)は、バスアクセス要求信号(図1の22)をホストバス−スレーブバス変換部(図1の214)に出力する。バスアクセス要求信号(図1の22)は、ホストバスデータ転送カウンタ値<転送データ数格納カウンタ値の条件下で周辺装置データ転送要求信号(図1の16)がオンの場合、オンとなる(ステップS2)。
次にホストバス−スレーブバス変換部は、スタートアドレス格納レジスタをアドレスにしてスレーブバスのリードサイクルを実行する(ステップS4)。
次にスレーブバスアクセスが実行されるとデータ読み出しのタイミングでスレーブバスアクセス信号(図1の25)がオンになり、タイミングがデータバッファ制御部(図1の232)と転送制御部(図1の240)に通知される(ステップS5)。
次にバッファにデータが書き込まれると共に、バッファライトポインターがインクリメントされる。転送制御部はスレーブバスデータ転送カウンタをインクリメントすると共に、転送開始信号(図1の7)をオンにし、DMAコントローラーに転送要求を行う。転送開始信号(図1の7)は、ホストバスデータ転送カウンタ値<転送データ数格納カウンタ値が成立している時にオンとなる(ステップS6)。
次にDMAコントローラーは、DMAを起動し、データ転送装置に対してのアクセスを行う(ステップS7)。
次にホストバスからのアドレスがスタートアドレス格納レジスタの値と比較器で比較され、比較結果がホストバス−スレーブバス変換部と転送制御部に通知される。一致した場合、アドレス比較結果信号(図1の9)がオンとなる(ステップS8)。
アドレス比較結果信号がオンの場合、ホストバス−スレーブバス変換部はスレーブバスに対してのアクセスを行わず、ホストバスアクセス信号(図1の26)をオンにしてバッファから読み出したデータをホストバスに出力する(ステップS9)。
アクセス信号(図1の26)によりバッファ制御部はリードポインタをインクリメントする。転送制御部はホストバスデータ転送カウンタをインクリメントする(ステップS10)。
DMAコントローラーは、データを受け取りメモリに格納する。上記動作を繰り返し行い、パケット化されたデータ全てをメモリに転送する事ができる(ステップS11)。
ホストバスデータカウンタ=転送データ数格納レジスタ値となった場合、比較イネーブル信号(図1の15)をオフにし、以降はアドレス比較はされず、転送が終了する(ステップS12)。
周辺装置1の受信データレジスタのアドレスであるが、固定の場合とそうでない場合が考えられる。これを指定するためにホストバス−スレーブバス変換部(図1の214)内に設定レジスタを持つ事にし、この設定状態を示す信号をアドレスインクリメントモード信号とする。
アドレスインクリメントモード信号(図1の20)がオンの場合は、ホストバスアクセスタイミング信号(図1の26)によりホストバスのアクセスタイミングを認識し、スタートアドレス格納レジスタの値が1ワード分インクリメントするものとする。
周辺装置1内に受信用のメモリ等が存在する場合はインクリメントモードをオンにして使用するケースが考えられる。そうでない場合は、通常は受信データレジスタであり、この場合はアドレスは固定となる。
図5,6はマスターからスレーブの転送時の動作(周辺装置からのデータ送信動作)のフローチャート図である。
ここでは周辺装置1(図2の180−1)に対しての送信データをDMAコントローラー(図2の130)によってメモリ(図2の140)の所定のエリアから周辺装置1に対して転送する処理を想定する。
周辺装置は一定間隔でデータを送信するものとする。データのパケット化は本例ではCPU(図2の120)が予め行っておくものとする。
DMAコントローラー(図2の130)はオンデマンドのチャネルを持ち、本例ではこのチャネルを使用する。
まずCPU(図2の120)は、送信データのパケットを生成した後、送信動作のため、次の設定を行う。
(1) DMAコントローラーに転送先アドレス(周辺装置1の送信データレジスタ)転送元アドレス(メモリのデータエリア)とデータ転送数を設定する。
(2) データ転送装置のスタートアドレス格納レジスタに転送先アドレスを、転送データ数格納レジスタにデータ転送数を設定する。スタートアドレス格納レジスタに書込みが発生した事で、転送カウンター(図1の242、244)は共に0にリセットされる。
(3) CPUはDMAコントローラーに対して転送イネーブルを設定する(ステップS21)。
次に周辺装置への送信動作のモードの場合、周辺装置転送許可信号(図1の8)は送信可能の状態で常にオンであり、転送開始信号(図1の7)もオンとなる。この場合、DMAコントローラーに対してイネーブルが設定されると、DMAコントローラーは即座にデータ転送を開始する。DMAコントローラーは、メモリから読み出したデータをデータ転送装置に転送する(ステップS22)。
次にホストバス−スレーブバス変換部は、アドレス比較器の出力である、アドレス比較結果(図1の9)がオンである為、データをバッファに格納し、ホストバスのアクセスを終了させる。バッファがフルになるまで、スレーブバスの動作に関係なくホストバスの動作は転送開始信号をオンにして行われる(ステップS23)。
データバッファ制御部(図1の232)は、ホストバスアクセスタイミング信号(図1の26)によりバッファを制御する。ライトポインターはインクリメントされる(ステップS24)。
ホストバス−スレーブバス変換部は、スレーブバスに対してのライト動作を行う。バス変換部内には図示しないライトスレーブアドレスレジスタが存在し、スタートアドレス格納レジスタ(図1の222)の書込みと同時に同じ値が書き込まれる。CPUからはこのレジスタの存在は見えない。
スレーブアドレスレジスタの値がライト時のアドレスとしてスレーブアドレス信号(図1の3)に出力される。インクリメントモードの場合はアクセスする度に1ワード分インクリメントされる(ステップS25)。
周辺装置はデータを受け取り、送信動作の為にデータを受け取れない状態が発生した場合は周辺装置転送許可信号(図1の8)をオフにする(ステップS26)。周辺装置転送許可信号がオンであり、かつバッファに未転送のデータが存在する限り、バス変換部はバッファのデータを周辺装置に対して転送を続ける。
次にスレーブバスデータ転送カウンタは、スレーブバスの転送が行われるたびにインクリメントされる。ホストバスデータ転送カウンタは、ホストバスからの転送が発生するたびにインクリメントされる。スレーブバスデータ転送カウンタ=転送データ数格納レジスタ値となった時点で転送終了となり、比較イネーブル信号(図1の15)がオフになり、以降のアドレス比較は行われず、ホストバスの転送動作は終了する。スレーブバス動作はバッファに格納されたデータの転送が終了するまで、転送を行い、スレーブバスデータ転送カウンタ=転送データ数格納レジスタ値となった時点で転送を終了する(ステップS27)。
なお周辺装置への受信動作、送信動作の区別は、これを区別するレジスタがバス変換部に存在し、転送前にCPUが設定するようにしてもよい。設定は例えば以下のようなの3動作モードの設定ができる。
NOUSE ; バッファを使用しない
TX ; 周辺装置への送信
RX ; 周辺装置からの受信
また自動転送処理部(データ転送制御回路)を複数もち、これに対応したDMAのチャネルを持つ事により、周辺装置に対して複数の転送を並列に行う事が可能となる。
TX ; 周辺装置への送信
RX ; 周辺装置からの受信
また自動転送処理部(データ転送制御回路)を複数もち、これに対応したDMAのチャネルを持つ事により、周辺装置に対して複数の転送を並列に行う事が可能となる。
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
100 情報処理装置、110 ホストバス、120 CPU、130 DMAコントローラ、140 メモリ、150 システム制御部、160 割り込みコントローラ、170 スレーブバス、180−1 周辺装置、200 データ転送装置、210 バスブリッジ回路、212 ホストバスインターフェース、214 ホストバス−スレーブバス変換部、216 スレーブバスインターフェース、220 自動転送処理部(転送制御処理部)、222 スタートアドレスレジスタ、224 転送データ数格納レジスタ、226 アドレス比較器、230 バッファ、232 データバッファ制御部、240 転送制御部、242 スレーブバスデータ転送カウンタ、244 ホストバスデータ転送カウンタ
Claims (7)
- ホスト及びDMAコントローラが接続されるホストバスと周辺装置が接続されるスレーブバスに接続され、ホストバスとスレーブバス間のデータの転送を行うデータ転送装置であって、
ホストバスとスレーブバスに接続され、ホストバスとスレーブバス間のデータの送受信を行うバスブリッジ回路と、
ホストバスとスレーブバス間のデータ送受信を制御するデータ転送制御回路と、を含み、
前記データ転送制御回路は、
周辺装置からホストへの転送の場合には転送元のアドレスが格納され、ホストバスからスレーブバスへの転送の場合には転送先のアドレスが格納されるアドレス格納部と、
前記バスブリッジ回路を介してホストバス又はスレーブバスから受け取ったデータを格納するバッファと、
周辺装置からホストへの転送を行う場合には、バスブリッジ回路を介してスレーブバスからのデータを受信し、受信したデータをバッファに格納し、
ホストバスからの受け取った要求アドレスと、アドレス格納部に格納されたアドレスとが一致しているか否か比較して、一致している場合にはバッファに格納されているデータをバスブリッジ回路を介してホストバスに出力するように制御する回路を含むことを特徴とするデータ転送装置。 - 請求項1において、
前記データ転送制御回路は、
ホストから周辺装置への転送を行う場合には、バスブリッジ回路を介してホストバスからのデータを受信してバッファに格納し、バッファに格納されているデータをバスブリッジ回路を介してスレーブバスに出力するように制御する回路を含むことを特徴とするデータ転送装置。 - 請求項1乃至2のいずれかにおいて、
前記データ転送制御回路は、
転送データ数を特定するための転送データ数格納部を含み、
周辺装置からホストへの転送を行う場合には、転送データ数格納部に格納された転送データ数に達するまでバスブリッジ回路を介してスレーブバスからのデータを受信し、受信したデータをバッファに格納し、
ホストバスからの受け取った要求アドレスと、アドレス格納部に格納されたアドレスとが一致しているか否か比較して、一致している場合には転送データ数格納部に格納された転送データ数に達するまでバッファに格納されているデータをバスブリッジ回路を介してホストバスに出力するように制御する回路を含むことを特徴とするデータ転送装置。 - 請求項3において、
前記データ転送制御回路は、
ホストから周辺装置への転送を行う場合には、転送データ数格納部に格納された転送データ数に達するまでバスブリッジ回路を介してホストバスからのデータを受信してバッファに格納し、転送データ数格納部に格納された転送データ数に達するまでバッファに格納されているデータをバスブリッジ回路を介してスレーブバスに出力するように制御する回路を含むことを特徴とするデータ転送装置。 - 請求項1乃至4のいずれかにおいて、
前記データ転送制御回路は、
周辺装置からホストへの転送の場合に、アドレス格納部に格納されている転送元アドレスをホストバスからの読み出しに応じて更新し、更新後のアドレスとホストバスからの受け取った要求アドレスとが一致しているか否か比較して、一致を示している場合にはバッファに格納されているデータをホストバスに出力するように制御する回路を含むことを特徴とするデータ転送装置。 - 請求項1乃至5のいずれかに記載のデータ転送装置と、
データ転送装置に接続されたホストバスと、
データ転送装置に接続されたスレーブバスと、
ホストバスに接続されたCPUと、
ホストバスに接続されたDMAコントローラと、
スレーブバスに接続された周辺装置を含む情報処理装置であって、
前記CPUは、
周辺装置からのデータを受信する際には、DMAコントローラに対して、転送元アドレス、転送先アドレス、データ転送数を設定して、転送イネーブルの設定を行い、
データ転送装置のアドレス格納部に転送元アドレスを、転送データ数格納部に転送データ数を設定し、
DMAコントローラは、転送イネーブルの設定が行われるとDMAを起動し、設定された転送元アドレス、転送先アドレス、データ転送数に基づきデータ転送装置のバッファに格納されているデータをホストバスを介してDMA転送することを特徴とする情報処理装置。 - 請求項6において、
前記CPUは、
ホストから周辺装置へデータを送信する場合には、DMAコントローラに対して、転送元アドレス、転送先アドレス、データ転送数を設定して転送イネーブルの設定を行い、
データ転送装置のアドレス格納部に転送先アドレスを、転送データ数格納部に転送データ数を設定し、
DMAコントローラは、転送イネーブルの設定が行われるとDMAを起動し、
設定された転送元アドレス、転送先アドレス、データ転送数に基づきデータをホストバスを介してデータ転送装置のバッファにDMA転送し、
データ転送装置に対するデータの送信が終了すると、ホストバスを開放することを特徴とする情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005257993A JP2007072685A (ja) | 2005-09-06 | 2005-09-06 | データ転送装置及び情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005257993A JP2007072685A (ja) | 2005-09-06 | 2005-09-06 | データ転送装置及び情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007072685A true JP2007072685A (ja) | 2007-03-22 |
Family
ID=37934073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005257993A Withdrawn JP2007072685A (ja) | 2005-09-06 | 2005-09-06 | データ転送装置及び情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007072685A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117076371A (zh) * | 2023-08-28 | 2023-11-17 | 广州市粤港澳大湾区前沿创新技术研究院 | 一种多机数据传输方法、装置、存储介质及电子设备 |
-
2005
- 2005-09-06 JP JP2005257993A patent/JP2007072685A/ja not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117076371A (zh) * | 2023-08-28 | 2023-11-17 | 广州市粤港澳大湾区前沿创新技术研究院 | 一种多机数据传输方法、装置、存储介质及电子设备 |
CN117076371B (zh) * | 2023-08-28 | 2024-04-12 | 广州市粤港澳大湾区前沿创新技术研究院 | 一种多机数据传输方法、装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1389760B1 (en) | Data transfer control system, program and data transfer control method | |
JP3807250B2 (ja) | クラスタシステム、コンピュータ及びプログラム | |
JP4837659B2 (ja) | 分割トランザクションを処理するためのバス・コントローラ | |
JP2008090375A (ja) | 割込み制御システム、およびこれを利用した記憶制御システム | |
CN108733600B (zh) | 具有直接存储器访问控制器的电子***及其操作方法 | |
KR100644596B1 (ko) | 버스 시스템 및 그 버스 중재방법 | |
JP4198376B2 (ja) | バスシステム及びバスシステムを含む情報処理システム | |
JP2006293927A (ja) | ダイレクトメモリアクセス制御装置及びダイレクトメモリアクセス制御装置を含むシステムlsi | |
US7934043B2 (en) | Data processing apparatus for controlling access to a memory based upon detection of completion of a DMA bus cycle | |
JPS621057A (ja) | 転送制御装置 | |
JP2007072685A (ja) | データ転送装置及び情報処理装置 | |
JP2008502977A (ja) | バス・コントローラのための割り込み方式 | |
JPH1040215A (ja) | Pciバス・システム | |
US7634602B2 (en) | Bus system with few control lines | |
JP2006119724A (ja) | Cpuシステム、バスブリッジ、その制御方法、及びコンピュータシステム | |
JP2020098386A (ja) | バスシステム | |
US20080104286A1 (en) | Data transfer apparatus and data transfer method | |
TW502171B (en) | Data transmitting system | |
JP4249741B2 (ja) | バスシステム及びバスシステムを含む情報処理システム | |
JP5652866B2 (ja) | バス調停回路及びバス調停方法 | |
JP4362199B2 (ja) | データ伝送装置 | |
JP4582180B2 (ja) | データ伝送装置 | |
JP2006092077A (ja) | バスシステム | |
KR20070081981A (ko) | 중앙처리 장치가 없는 시스템에서의 인터페이스 방법 및장치 | |
JPH09259071A (ja) | 通信制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080627 |
|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20081202 |