説明

データ転送装置

【目的】 システム簡素化とスループットの向上を実現できるデータ転送装置を提供する。
【構成】 異なる2つのデータ処理装置に対応してそれぞれ設けられるインターフェイスを通して読み出し/書き込みが可能にされたバッファメモリを設け、上記2つのインターフェイスに対応したそれぞれのデータ処理装置と上記バッファメモリとの間で相互にデータの授受を行うデータ転送機能を持つようにする。
【効果】 データ転送装置は、2つのバスに対するバス使用権とバッファメモリを備えているから、各バスでのDAM転送と2つのバスとの間でのDMA転送が可能となり、簡単な構成によりデータ処理装置の空き時間を活用した効率のよいデータ転送を行うことができる。

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、データ転送装置に関し、例えばシステムバスとローカルバスとのように異なる2つのバスの間でのデータ転送を行う直接メモリアクセス制御装置(以下、単にDMACという場合がある。)に利用して有効な技術に関するものである。
【0002】
【従来の技術】DMACを用いたデータ処理方式では、マイクロプロセッサ(以下、CPUという)が接続されているシステムバスにDMACも接続され、システムバス上でCPUとDMAC及び他のバスマスタ間でバス権の譲渡が行われ、CPUと同一バス上でDMACによるDMA転送が行われる方式が一般的である。また、バスの使用効率の向上を図ることを目的として、稼働率の高い周辺処理装置とDMACをデュアルポートメモリを介してCPUが接続されているバスと異なるバスに接続し、DMA転送を行う手法もある。上記のようにDMACを用いたデータ処理方式における前者の接続の例としては、昭和63年2月(株)日立製作所発行『日立マイクロコンピュータデータブック 8/16ビットマイクロコンピュータ周辺LSI』頁832があり、デュアルポートメモリを用いた後者のバス接続の例は、同文献の頁765〜766がある。
【0003】
【発明が解決しようとする課題】上記のような従来技術において、前者のDMACがCPUが接続されているシステムバス等のバスと同一バス上に接続されている方式では、CPUのバス占有率によりバスの譲渡が制限されるため、周辺装置の稼働率が大幅に向上したデータ処理システムにあっては未処理のデータを蓄えておくよう周辺装置のバッファ能力を大きくすること以外に対応できなく、周辺装置の回路規模が大きくなってしまう。そこで、後者のデュアルポートメモリを用いることにより、周辺装置のバッファ能力をカバーすることができる。しかし、CPUが接続されるシステムバスや周辺装置が接続されるローカルバスのスループットを向上させるためには、それぞれのバスにおいてDMACが必要となり、上記デュアルポートメモリと2つのDMACとにより、システム全体が大規模でかつ複雑になってしまうという問題が生じる。この発明の目的は、システム簡素化とスループットの向上を実現できるデータ転送装置を提供することにある。この発明の前記ならびにそのほかの目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【0004】
【課題を解決するための手段】本願において開示される発明のうち代表的なものの概要を簡単に説明すれば、下記の通りである。すなわち、異なる2つのデータ処理装置に対応してそれぞれ設けられるインターフェイスを通して読み出し/書き込みが可能にされたバッファメモリを設け、上記2つのインターフェイスに対応したそれぞれのデータ処理装置と上記バッファメモリとの間で相互にデータの授受を行うデータ転送機能を持つようにする。
【0005】
【作用】上記した手段によれば、データ転送装置は、2つのバスに対するバス使用権とバッファメモリを備えているから、各バスでのDMA転送と2つのバスとの間でのDMA転送が可能となり、簡単な構成によりデータ処理装置の空き時間を活用した効率のよいデータ転送を行うことができる。
【0006】
【実施例】図1には、この発明に係るデータ転送装置を用いた情報処理システムの一実施例のブロック図が示されている。同図の各回路ブロックは、特に制限されないが、それぞれが半導体集積回路装置により構成され、プリント基板等の実装基板上において相互に接続される。
【0007】この発明に係るデータ転送装置は、同図に破線で示すような各回路から構成さされる。これらの各回路ブロックは、公知の半導体集積回路の製造技術により、単結晶シリコンのような1個の半導体基板上において形成される。この実施例のデータ転送装置は、後述するようにDMACとしての機能を備えている。それ故、以下データ転送装置をDMACと呼ぶことにする。ただし、従来のDMACとは次のような点で大きく異なる。
【0008】この実施例のDMACは、特に制限されないが、システムバスとローカルバスに対応した2つのバスインターフェイス回路A及びバスインターフェイス回路Bを持つ。システムバスには、マイクロプロセッサCPUとメインメモリMM等を含むデータ処理装置が構成される。また、ローカルバス上には周辺処理装置A及び周辺処理装置Bが接続されてローカルシステムが構成される。上記バスインターフェイス回路A及びBの具体的構成は、図示しないが、バスインターフェイス回路Aは、システムバスとDAMCとの間でのDMA転送を実現し、バスインターフェイス回路Bは、ローカルバスとDMACとの間でのDMA転送を実現する機能持つ。これらのバスインターフェイス回路A及びBは、それぞれが独立して対応するシステムバス、ローカルバスのバス権を獲得して、データ転送動作を行う。
【0009】システムバスに対応した調停回路Aは、システムバス側のチャンネル調停を行う。すなわち、システムバスとDMACとの間でのDMA転送の優先度を決定する回路である。同様に、ローカルバスに対応した調停回路Bは、ローカルバス側のチャンネル調停、言い換えるならば、ローカルバスとDMACとの間でのDMA転送の優先度を決定する回路である。記憶回路1及び記憶回路2は、転送データを一時的に記憶するバッファメモリであり、特に制限されないが、FiFo(先入れ先出し)メモリから構成される。
【0010】調停回路Bは、ローカルバス側に設けられ、例示的に示されている周辺処理装置B及び周辺処理装置Aからそれぞれ伝送されてくるDMA転送要求信号DRQ1,DRQ2を受けると、もしも2つの信号が競合したなら転送の優先度を決定して、周辺処理装置B又はAに対してDMA転送を許可するアクノレッジ信号ACK1又はACK2を出力する。上記のように2つの周辺処理装置AとBからのDMA転送要求が競合した場合には、上記優先順位に従い周辺処理装置AのDMA転送が許可されなたら、他方の周辺処理装置BはDMA転送待ち状態になる。
【0011】記憶回路1と2は、特に制限されないが、転送の対象となる周辺処理装置A又はBのデータの転送方向により使用されるものが決定される。例えば、周辺処理装置AからDMACの記憶回路への書き込みの場合、調停回路Bにより記憶回路1に対して書き込み制御信号MW2が供給される。これにより、周辺処理装置Aから転送されるデータは、ローカルバス、バスインターフェイス回路Bを介して記憶回路1に対して書き込まれるというDMA転送動作となる。逆に、DMACから周辺処理装置Bへのデータ転送のときには、調停回路Bにより、記憶回路2に対して読み出し制御信号MR1が供給される。これにより、DMACの記憶回路2に保持されていたデータがバスインターフェイス回路B、ローカルバスを通して周辺処理装置Bに転送される。このように、調停回路Bにより決定される転送の優先度の高い周辺処理装置から、上記制御信号MW2,MR1等によりローカルバス及びバスインターフェイス回路B及び内部バスを介してDMA転送が行われる。
【0012】記憶回路1又は記憶回路2の内部状態に従い、記憶回路1又は記憶回路2がDMA転送可能な状態であれば、システムバス側の調停回路Aに対してDMA転送要求信号DRQ2’,DRQ1’を送出する。これらの転送要求信号DRQ2’,DRQ1’を受けると、調停回路Aはシステムバス側に対してバス権要求信号BREQを出力する。このとき、システム側のマイクロプロセッサCPUがバス権を譲渡可能な状態であれば、DMACに対してバス権アクノリッジ信号BACKが転送される。DMACの調停回路Aは、アクノリッジ信号BACKを受けて、記憶回路1又は記憶回路2とシステム側とメインメモリMMとの間でのDMA転送を行う。例えば、調停回路Aにより記憶回路1のデータをシステム側に転送するときには、記憶回路1に対して読み出し制御信号MR2が供給され、記憶回路1の読み出しが行われ、バスインターフェイス回路A、システムバスを介してメインメモリMMにデータが書き込まれる。また、調停回路Aにより記憶回路2にシステム側のデータを転送するときには、記憶回路2に対して書き込み制御信号MW1が供給され、記憶回路2に対して、システムバス、バスインターフェイス回路A及び内部バスを通してメインメモリMMから読み出されたデータが書き込まれる。
【0013】以上のデータ転送動作の順序は、CPU、周辺処理装置A、B及びDMACの記憶回路1、2の内部状態に応じて種々に組み合わされるものである。また、図1においては、周辺処理装置が2の場合の例を示したが、1個でもよいし、3個以上であってもよい。また、記憶回路は、データの転送方向が異なる2つのものを用いたが、4個以上であってもよいし、記憶回路は一方のバスインターフェイス回路A又はBから書き込み/読み出しが可能にされてもよい。このようにすると、DMACはローカルバス上での2つの周辺処理装置AとBとの間でのデータ転送や、システムバス上のメインメモリMMと他の周辺処理装置との間でのデータ転送動作も可能になる。また、図1の構成においても、周辺処理装置Aから記憶回路1に転送されたデータを、バスインターフェイス回路A又は内部バスを介して記憶回路2に転送し、この記憶回路2のデータを周辺処理装置Bに転送する構成としてもよい。逆に、シテスムバス上のメインメモリMMから記憶回路2に転送されたデータを、バスインターフェイス回路B又は内部バスを介して記憶回路1に転送し、この記憶回路1のデータをシステムバス上の他の周辺処理装置に転送する構成としてもよい。
【0014】図2には、調停回路Aに設けられる優先度決定機能の他の一実施例のブロック図が示されている。上記の実施例においては、ローカルバス上に設けられる周辺処理装置AとB等の優先度については、調停回路Bにより決定される。この実施例では、これ以外にも、調停回路Aにおいて、記憶回路1、2の記憶データの数に応じてシステムバス上の転送の優先度を決定を可能にする。すなわち、記憶回路のデータ数の最も大きいチャンネルよりデータ転送を行うようにすることにより、システムスループットを向上させることができる。
【0015】記憶回路1は、メモリブロックM1〜M4から構成される。この記憶回路M1〜M4に対応して内部バス1ないし4により、前記図1に示したような周辺処理装置B、ローカルバス及びバスインターフェイス回路Bを通して転送されたデータの書き込みが行われる。この記憶回路1のメモリブロックM1〜M4は、複数の周辺処理装置に一対一に対応させるものであってもよいし、使用される周辺処理装置は特定されなくてデータの空き状態のものが順次に使用されるものであってもよい。
【0016】上記メモリブロックM1〜M4のうち、斜線を付した部分にはデータ有りの状態を示している。調停回路Aは、メモリブロックM1〜M4を構成するFiFoメモリにおけるポインタ等から上記データ量を検知し、そのデータ量の大きいもに対して高い優先度を割り当てる。同図においては、メモリブロックM3、M4、M2、M1の順序で優先度が与えられる。したがって、4つのメモリブロックM1〜M4から同時にデータ転送要求信号DREQ1〜DREQ4が出力された場合、調停回路Aは、システムバス権を獲得した後に、最初はメモリブロックM3からのデータ転送要求信号DREQ3に対応して読み出し制御信号MR3を送出してバス7から読み出しデータをシステム側に転送する。メモリブロックM3からのデータ転送を終了すると、メモリブロックM4に対して読み出し制御信号MR3を送出してバス8から読み出しデータをシステム側に転送する。以下、同様にして、メモリブロックM2、メモリブロックM1の順序でデータ転送を行うようにする。
【0017】また、上記システムバスが32ビットでローカルバスが8又は16ビットのようにシステム側とバス幅が異なる場合においても、ローカルバス側では上記バスインターフェイス回路B又は記憶回路1又は2とバスインターフェイス回路Bとを接続する内部バス構成により、32ビットからなるデータを4回又は2回に分けてデータ転送するようにできる。このような機能は、従来のDMACでは不可能である。この実施例のDMACは、上記のように2つのバスに対応してバスインターフェイス回路を設けるととともに、内部にバッファメモリを備えているから上記のようなバス幅の異なるデータ処理装置間でのデータ転送も可能になるものである。
【0018】図3には、上記周辺処理装置Aの具体的一実施例のブロック図が示されている。この実施例の周辺処理装置Aは、シリアル通信制御装置のうちの受信側回路を構成する。この実施例では、特に制限されないが、CH1〜CH4の4つの転送チャンネルを持ち、各チャンネルCH1〜CH4のシリアルデータは、それぞれがシリアル/パラレル変換回路SPCに入力されて、ここでパラレルデータに変換される。上記各シリアル/パラレル変換回路SPCの出力信号は、バッファメモリとしてのFiFoメモリに格納される。FiFoメモリに取り込まれた入力データは、セレクタ1を介してパラレル/シリアル変換回路PSCに供給され、ここでもとのシリアルデータに変換される。ただし、この内部シリアルデータは、半導体集積回路装置の内部回路で処理されるから、通信回線を通して入力されるシリアルデータに比べて、速い速度のデータとされる。すなわち、ホストシステムのシステムクロックに対応したような高速シリアルデータとしてプロトコル処理部により処理される。例えば、この実施例のように4つのチャンネルを持つ場合には、プロトコル処理部は、それより4倍以上の速いスピードでシリアルデータを処理する。通常、シリアルクロックに対してシステムクロックの周波数は10倍以上の高い周波数である。
【0019】各チャンネルの制御情報は、ホストインターフェイスにより、セレクタ2を介して記憶回路M1〜M4に格納される。各記憶回路M1〜M4は、チャンネル数に一対一に対応して設けられる。記憶回路M1〜M4に格納さされた制御情報は、セレクタ3を介してプロトコル処理部に伝えられる。プロトコル処理部は、セレクタ1を制御して第1チャンネルCH1のデータを選んで処理するときには、それに対応した制御情報を記憶回路M1をセレクタ3により取り出す。これにより、プロトコル処理部において生じたステータス情報は、セレクタ2を介して対応する記憶回路M1に格納される。
【0020】プロトコル処理部において処理された処理済みのシリアルデータは、シリアル/パラレル変換回路SPC2によりパラレルデータに変換され、ホストインターフェイスを介してローカルバスに読み出されて、前記のようなDMACを介してシステムに取り込まれる。なお、ホストシステムにより生成された各転送チャンネルの制御情報は、上記のようなDMAC及びローカルバスを介してホストインターフェイスとセレクタ2を通して記憶回路M1〜M4に書き込まれる。また、上記のように記憶回路に格納されたステータス情報は、必要に応じてホストシステムからホストインターフェイス、ローカルバス及びDMACを介して読み出される。
【0021】転送チャンネルCH1〜CH4から入力されたシリアルデータがシリアル/パラレル変換回路SPCによりパラレルデータに変換されてFiFoメモリに書き込まれるまでのクロックパルスは、シリアル転送クロックに同期して行われる。これに対して、各FiFoメモリからの読み出し動作以降は、高速なシステムクロックにより行われる。これにより、共通化されたプロトコル処理部を4つの転送チャンネルに対応したシリアルデータの処理に時分割的に使用できる。これと同時に、プロトコル処理部において扱われるデータをホストシステムのクロックパルスに同期化させることができる。
【0022】チャンネル制御部は、セレクタ1〜セレクタ3により転送チャネルを指定した後に、プロトコル処理部に『許可』を出し、所定のプロトコル処理の実行を行わせる。プロトコル処理部は、処理が終了すると『終了』をチャンネル制御部に通知し、次の『許可』を持つ。このように、チャンネル制御部とプロトコル処理部はハンドシェイクで制御を行う。上記チャンネル制御部による転送チャンネルの切り替え順序は、外部からの制御情報として設定するか、又はFiFoメモリのデータの詰まり具合により各チャンネルの処理の優先順位を決定するようにしてもよい。すなわち、FiFoメモリのデータの詰まり具合を監視するチャンネル調停回路を設け、FiFoメモリにおいて一定のデータ量を超えるものを検知すると、それに対応したチャンネルをチャンネル制御部に伝えて、データの掃き出しを行うようにする。
【0023】上記のような周辺処理装置では、通信回線のデータ転送速度が速くなるに従い、データ処理量が増大する。このため、従来のようなDMACによるシステム側へのデータ転送では、CPUの処理の空き時間を利用してシリアル入力されたデータを転送するため、通信回線のデータ転送速度に対応しきれなくなる。逆に言えば、通信回線のデータ転送速度に対応してDAMCによるデータ転送を優先させると、CPUの処理時間が制限されてしまう。これに対して、この実施例のDMACでは、システムバス側に影響されることなく、DMACと周辺端末装置との間でデータ転送を行っておき、システムバス側の空き時間を利用して上記DMACに取り込まれたデータを受け取ることができる。逆に、CPUの空き時間を利用してメインメモリMMに蓄えれた出力すべきデータは、DMACに転送されて、システム側では他のデータ処理を行っている間に、DMACが上記データを周辺処理装置に転送して通信回線を通したシリアルデータの転送を行わせるようにすることができる。
【0024】上記の実施例から得られる作用効果は、下記の通りである。すなわち、(1) 異なる2つのデータ処理装置に対応してそれぞれ設けられるインターフェイスを通して読み出し/書き込みが可能にされたバッファメモリを設け、上記2つのインターフェイスに対応したそれぞれのデータ処理装置と上記バッファメモリとの間で相互にデータの授受を行うデータ転送機能を持つようにする。この構成では、データ転送装置は、2つのバスに対するバス使用権とバッファメモリを備えているから、各バスでのDAM転送と2つのバスとの間でのDMA転送が可能となり、簡単な構成によりデータ処理装置の空き時間を活用した効率のよいデータ転送を行うことができるという効果が得られる。
(2) 上記(1)により、簡単な構成により、効率のよいデータ転送を行うことができるという効果が得られる。
(3) 上記(1)により、異なるバス幅のデータ処理装置間でのデータ転送も可能になるという効果が得られる。
(4) 上記バッファメモリを複数ブロックに分けて、そのデータ蓄積量に対応して優先度を決めることにより、効率のよいデータ転送を行うようにすることができるという効果が得られる。
【0025】以上本発明者よりなされた発明を実施例に基づき具体的に説明したが、本願発明は前記実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、DAMCに設けられるバッファメモリは、FiFoメモリに代えてRAMを用いるものであってもよい。この場合、RAMを少なくとも2つのメモリブロックを持つようにし、1つのメモリブロックにデータが詰まると、調停回路Aに対してデータ転送要求信号を出して、データの掃き出しを行い、その間は他方のメモリブロックに転送すべきデータが書き込まれるようにすればよい。また、ローカルバス上にはマイクロプロセッサやメモリ等が設けられるものであってもよい。この発明は、2つのデータ処理装置を含むデータ処理システムにおけるデータ転送装置として広く利用できる。
【0026】
【発明の効果】本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば、下記の通りである。すなわち、異なる2つのデータ処理装置に対応してそれぞれ設けられるインターフェイスを通して読み出し/書き込みが可能にされたバッファメモリを設け、上記2つのインターフェイスに対応したそれぞれのデータ処理装置と上記バッファメモリとの間で相互にデータの授受を行うデータ転送機能を持つようにすることにより、各バスでのDAM転送と2つのバスとの間でのDMA転送が可能となり、簡単な構成によりデータ処理装置の空き時間を活用した効率のよいデータ転送を行うことができる。
【図面の簡単な説明】
【図1】この発明に係るデータ転送装置を用いた情報処理システムの一実施例を示すブロック図である。
【図2】システムバス側の調停回路に設けられる優先度決定機能の一実施例を説明するためのブロック図である。
【図3】上記データ転送装置によりデータ転送が行われる周辺処理装置の具体的一実施例を示すブロック図である。
【符号の説明】
CPU…マイクロプロセッサ、DMAC…直接メモリアクセス制御装置、MMメインメモリ、SPC,SPC2…シリアル/パラレル変換回路、FiFo…バッファメモリ(先入れ先出しメモリ)、PSC…パラレル/シリアル変換回路。

【特許請求の範囲】
【請求項1】 異なる2つのデータ処理装置に対応してそれぞれ設けられるインターフェイスと、これら2つのインターフェイスを通して読み出し/書き込みが可能にされたバッファメモリを備え、上記2つのインターフェイスに対応したそれぞれのデータ処理装置と上記バッファメモリとの間で相互にデータの授受を行うことを特徴とするデータ転送装置。
【請求項2】 上記2つのデータ処理装置は、異なる2つのバス上に構築されるものであり、上記インターフェイスはそれぞれのバスに対して設けられるものであることを特徴とする請求項1のデータ転送装置。
【請求項3】 上記バッファメモリは、複数個からなり上記2つのインターフェイスに対応して設けられる調停回路により、データ転送の優先順位が決められるものであることを特徴とする請求項1又は請求項2のデータ転送装置。

【図1】
image rotate


【図2】
image rotate


【図3】
image rotate