(57)【要約】【課題】データバス幅の異なるメモリ間のデータ転送効率を高める。【解決手段】１６ビットデータバス幅のメモリ４は並列に搭載し、このメモリをセレクトできるデコーダ機能３、８を搭載し、ＦＰＧＡ２内部にＤＭＡ関連（ＤＡＣＫ等）制御機能を搭載し、メモリセレクトコントロールやＤＭＡコントロール関連信号を制御することによって、メモリ６へは３２ビットデータで転送してライトする。  逆に、メモリ６からの３２ビットデータをリードし、並列のメモリ４には１６ビットデータでライトする。【選択図】  図１
2006243853.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ内のデータバス幅の異なるメモリ間でデータ転送するメモリ間データ転送方式であって、
前記メモリのうち、データバス幅の小さいメモリは、複数のメモリを並列に搭載してデータバスに接続し、
前記並列に搭載するメモリをセレクトできるデコーダ手段を設け、
ＤＭＡリクエストによる前記並列のメモリのデータリード／またはライトに際して、該メモリのセレクトによってデータバス幅の大きいメモリと同等のデータバス幅でリード／またはライトし、このデータをデータバス幅の大きいメモリにライト／またはリードする制御手段を設けたことを特徴とするメモリ間データ転送方式。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ内のデータ転送方式に係り、特にＣＰＵやＤＭＡＣ（Dual Memory Access Control）により、メモリからメモリへデータを転送するためのメモリ間アクセス方式に関する。
【背景技術】
【０００２】
本発明は、ＤＭＡＣコントローラを使用したアクセス時で特に有効になることを図るもので、既存の技術もＣＰＵ内蔵のＤＭＡＣを使用している（例えば、特許文献１参照）。
【０００３】
図２はコンピュータ内のメモリ間アクセス機能構成図である。図２において、１はＣＰＵ、２はＦＰＧＡ（Field Programmable Gate Array）、３はＬＳＩ、４はＳＤＲＡＭ（Synchronous  ＤＲＡＭ）等のメモリ、５はブリッジ等のコントローラ、６はＳＤＲＡＭ等のメモリ、７はＳＤＲＡＭ等のＣＰＵ内蔵メモリ、ＡはＣＰＵローカルバス、ａは３２ビットデータバス、ｂは１６ビットデータバス、ｄはＤＭＡ時１６ビットデータバスとする。
【０００４】
上記の構成において、メモリ間アクセスの流れは、メモリ４対メモリ７、メモリ４対メモリ６、メモリ７対メモリ６において実施されるが、どのアクセスの流れも同等であるので、代表してメモリ４対メモリ６のメモリアクセスについて説明する。ＬＳＩ３はＤＡＣＫ付き外部デバイスとする。更に、ＤＭＡはDUAL ADDRESSモードで説明する。なお、ＤＡＣＫ付きデバイスの代わりにＦＰＧＡ２で各種コントロールを行ったり、ＤＭＡ方式をSINGLE ADDRESSモードで行ったりと手段は色々あるが、考え方は同じなの代表して説明する。
【０００５】
（１）ＬＳＩ３は、例えば、画像データ等の情報を得て自分がコントロールするメモリ４にデータを配置する。この時のデータバスは１６ビットデータバスｂである。
【０００６】
（２）ＬＳＩ３は、ＤＭＡリクエストをＣＰＵ１に要求する。
【０００７】
（３）ＣＰＵ１は、ＬＳＩ３にＤＭＡアクノレッジを返して、メモリ４のアクセスでデータをリードしてから、メモリ６のアクセスでメモリ４からリードしたデータを書き込む。決められた回数終了したら、ＬＳＩ３はＤＭＡリクエストを解除し、ＣＰＵ１は通常状態に戻る。このとき、メモリ４からのリードもメモリ６へのライトもデータ幅は１６ビット幅となる。これはＬＳＩ３のスペックに合わせる必要があるためである。
【０００８】
上記の機能構成の補足説明をする。
【０００９】
・３２ビットバスａおよび１６ビットバスｂは、それ以上のビット幅でも同等の考えが出来る。
【００１０】
・メモリ４，６，７はＳＤＲＡＭに限らないが、最近はＳＤＲＡＭを使用することが多い。
【００１１】
・コントローラ５は、例えばＣＰＵとＰＣＩバスを接続可能とするＬＳＩのことで、特に存在しなくても同等の考えが出来る。
【００１２】
・メモリ４は、ＬＳＩ３が主に使用するメモリで、ＣＰＵ１からアクセスするときは、ＬＳＩ３を通じてメモリ４にアクセスする仕組みとなっている。例えば、画像用ＬＳＩ等がＬＳＩ３で画像データをサンプリングしてメモリ４にデータを配置する。ＣＰＵ１がそのメモリをメモリ７やメモリ６へ転送して使用する等の使い方が一般的である。
【特許文献１】特開２００４−１４５５９３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
前記の図２の機能構成によるメモリアクセスは、そもそもＤＭＡＣを使用する目的はＣＰＵ１の作業負荷をなるべく減らして、出来る限り高速にデータ転送を行うことが目的である。しかし、ＬＳＩ３はもともと１６ビット幅のデータを扱うことしか出来ない場合は、メモリ６側のデータバス幅が例えば３２ビットバス幅以上あったとして、ＤＭＡ時のデータ伝送は１６ビット幅でしか行うことが出来ないため、非効率的なアクセスとなる。
【００１４】
本発明の目的は、データバス幅の異なるメモリ間のデータ転送効率を高めたメモリ間アクセス方式を提供することにある。
【課題を解決するための手段】
【００１５】
本発明は、ＳＤＲＡＭ等のメモリを並列に搭載し、このメモリをセレクトできるデコーダ機能を搭載し、ＦＰＧＡ内部にＤＭＡ関連（ＤＡＣＫ等）制御機能を搭載し、メモリセレクトコントロールやＤＭＡコントロール関連信号を制御することによって、従来のデータ転送よりも効率の良いデータ転送ができるようにしたものであり、以下の方式を特徴とする。
【００１６】
（１）コンピュータ内のデータバス幅の異なるメモリ間でデータ転送するメモリ間データ転送方式であって、
前記メモリのうち、データバス幅の小さいメモリは、複数のメモリを並列に搭載してデータバスに接続し、
前記並列に搭載するメモリをセレクトできるデコーダ手段を設け、
ＤＭＡリクエストによる前記並列のメモリのデータリード／またはライトに際して、該メモリのセレクトによってデータバス幅の大きいメモリと同等のデータバス幅でリード／またはライトし、このデータをデータバス幅の大きいメモリにライト／またはリードする制御手段を設けたことを特徴とする。
【発明の効果】
【００１７】
以上のとおり、本発明によれば、ＳＤＲＡＭ等のメモリを並列に搭載し、このメモリをセレクトできるデコーダ機能を搭載し、ＦＰＧＡ内部にＤＭＡ関連（ＤＡＣＫ等）制御機能を搭載し、メモリセレクトコントロールやＤＭＡコントロール関連信号を制御するようにしたため、メモリ間アクセスを行うときに、データ伝送バス幅を送受信とも同じ最大サイズにすることができ、特にスピードが要求されるアクセス（ＤＭＡアクセス等）が必要なときに、より効率の良いデータ転送が可能となる。
【発明を実施するための最良の形態】
【００１８】
図１は本実施形態を示すメモリ間アクセス機能構成図である。同図において、１はＣＰＵ、２はＦＰＧＡ、３はＬＳＩ、４はＳＤＲＡＭ等を並列に２個搭載したメモリ、５はブリッジ等のコントローラ、６は２ＳＤＲＡＭ等のメモリ、７はＳＤＲＡＭ等のＣＰＵ内蔵メモリ、８はデコーダ、ＡはＣＰＵローカルバス、ａは３２ビットデータバス、ｂは１６ビットバスデータバス、ｃはメモリセレクト信号線、ｅはＤＭＡ時３２ビットデータバス、ｆはアドレス等のコントロール信号線である。下記に上記機能の概略を説明する。
【００１９】
上記の構成において、メモリ４からメモリ６へＤＭＡアクセスでデータ転送する場合の動作を説明する。
【００２０】
（１）ＬＳＩ３は、例えば画像データ等の情報を得て自分がコントロールするメモリ４にデータを配置する。このときのデータバスは１６ビットデータバスｂを使用する。ここで、デコーダ８は、アドレス等コントロール信号ｆから、メモリセレクト信号を生成して信号線ｃに乗せ、メモリ４を制御する。このとき、メモリ４は３２ビット幅に対応するために並列に２個搭載しておく。これにより、ＬＳＩ３はその仕様通り１６ビットでメモリ４へデータを配置しておく。
【００２１】
（２）ＬＳＩ３は、ＤＡＣＫ付きデバイスであるが、メモリ４を直接制御する必要がある。このため、ＦＰＧＡ２内にＤＡＣＫ機能とＳＤＲＡＭ等のメモリ制御機能を搭載しておく。
【００２２】
（３）ＬＳＩ３は、ＤＭＡリクエストをしてＦＰＧＡ２が受け取り、ＣＰＵ１へＤＭＡ要求する。
【００２３】
（４）ＣＰＵ１は、ＤＭＡアクノレッジをＦＰＧＡ２に返し、ＦＰＧＡ２がＬＳＩ３へ応答する。そのとき、ＣＰＵ１は、メモリ４からデータをリードする。このとき、ＦＰＧＡ２が介在し、メモリ４から３２ビットデータバス幅でデータをリードする。その後、ＣＰＵ１はメモリ６へデータをライトする。この書き込みが決められた回数終了したらＤＭＡを完了し、ＣＰＵ１は通常状態に戻る。
【００２４】
上記の機能構成の補足説明をする。
【００２５】
・３２ビットバスａおよび１６ビットバスは、それ以上のビット幅でも同等の考えが出来る。
【００２６】
・メモリ４，５，７はＳＤＲＡＭに限らないが、最近はＳＤＲＡＭを使用することが多い。
【００２７】
・コントローラ５は、例えばＣＰＵとＰＣＩバスを接続可能とするＬＳＩのことで、特に存在しなくても同等の考えが出来る。
【００２８】
・メモリ４は、ＬＳＩ３が主に使用するメモリで、ＣＰＵ１からアクセスするときは、ＬＳＩ３を通じてメモリ４にアクセスする仕組みとなっている。例えば、画像用ＬＳＩ等がＬＳＩ３で画像データをサンプリングしてメモリ４にデータを配置する。ＣＰＵ１がそのメモリをメモリ７やメモリ６へ転送して使用する等の使い方が一般的である。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施形態を示すメモリ間アクセス機能構成図。
【図２】従来のメモリ間アクセス機能構成図。
【符号の説明】
【００３０】
１  ＣＰＵ
２  ＦＰＧＡ
３  ＬＳＩ
４  メモリ（１６ビットデータ幅）
５  コントローラ
６  メモリ（３２ビットデータ幅）
７  ＣＰＵ内蔵メモリ
８  デコーダ
【図１】
2006243853.tif 000003
【図２】
2006243853.tif 000004