JPWO2008068937A1 - データ転送制御装置およびコンピュータシステム - Google Patents
データ転送制御装置およびコンピュータシステム Download PDFInfo
- Publication number
- JPWO2008068937A1 JPWO2008068937A1 JP2008548179A JP2008548179A JPWO2008068937A1 JP WO2008068937 A1 JPWO2008068937 A1 JP WO2008068937A1 JP 2008548179 A JP2008548179 A JP 2008548179A JP 2008548179 A JP2008548179 A JP 2008548179A JP WO2008068937 A1 JPWO2008068937 A1 JP WO2008068937A1
- Authority
- JP
- Japan
- Prior art keywords
- data
- transfer
- peripheral device
- data transfer
- peripheral
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
データ転送制御装置は、第1の周辺装置(ペリフェラル(A))から第2の周辺装置(ペリフェラル(B))へデータ転送するにあたり、転送元と転送先になる周辺装置の開始メモリアドレスもしくは開始入出力アドレス、およびデータ転送サイズをパラメータとするデータ転送命令を取得し、そのパラメータにしたがい第1の周辺装置から該当するデータを読み出し、加工して前記第2の周辺装置へ転送する制御手段(DMAコントローラ5)、を備えて構成される。
Description
この発明は、中央処理装置を介さずにメモリ含む周辺装置間でデータ転送を行なう、データ転送制御装置およびコンピュータシステムに関するものである。
マイクロコンピュータシステムにおいて、制御中枢となるマイクロプロセッサ(CPU:Central Processing Unit)を介すことなく、メモリを含む周辺装置間で高速データ転送を行ない、CPUの処理負荷の軽減をはかる技術が知られている。この場合のデータ転送制御は、CPUによりプログラム可能なDMA(Direct Memory Access)コントローラが行なう。
また、上記したマイクロコンピュータシステムにおいて、スループットの一層の向上をはかるため、CPUから特定の要求に対応する命令群をROMに格納し、ROMから読み出された特定の命令によって周辺装置間のデータ転送制御を行なうDMAコントローラも知られている(例えば、特許文献1参照)。
更に、データバス幅が互いに異なる周辺装置と主記憶装置間との間でCPUを介すことなくデータ転送を行なう際に、バス幅の広い装置にデータ幅を合わせてデータ転送を行なうことのできるDMAコントローラも知られている(例えば、特許文献2参照)。ここで、データバス幅とは、1回の転送で同時に送れるデータの量をいう。
上記した特許文献1に開示された技術によれば、データ転送は自動化され、CPUの関与を最小限に抑えることができるが、例えば、データバス幅の異なる周辺装置間のデータ転送等、転送先の周辺装置が転送時に要求する処理内容についてはCPUの負荷となり、CPUの処理負担は依然として十分ではない。
一方、特許文献2に開示された技術によれば、周辺装置と主記憶装置間でDMA転送を行う際に、DMAコントローラが、データバス幅を調整して転送を行っているため、上記したCPUの処理負担は解消される。しかしながら、データバス幅が周辺装置のデータバス幅の整数倍である場合のみしか対応できないという問題が残っている。
一方、特許文献2に開示された技術によれば、周辺装置と主記憶装置間でDMA転送を行う際に、DMAコントローラが、データバス幅を調整して転送を行っているため、上記したCPUの処理負担は解消される。しかしながら、データバス幅が周辺装置のデータバス幅の整数倍である場合のみしか対応できないという問題が残っている。
この発明は上記した課題を解決するためになされたものであり、転送元の周辺装置から読み出されるデータに対して転送先の周辺装置で要求される演算を施す仕組みを構築することにより、CPUの一層の処理負荷の軽減をはかり、スループットの向上をはかった、データ転送制御装置およびコンピュータシステムを提供することを目的とする。
上記した課題を解決するためにこの発明のデータ転送制御装置は、中央処理装置によって起動され、第1の周辺装置から第2の周辺装置へデータ転送するにあたり、転送元と転送先になる前期周辺装置の開始メモリアドレスもしくは開始入出力アドレス、およびデータ転送サイズをパラメータとするデータ転送命令を取得し、前記パラメータにしたがい前記第1の周辺装置から該当するデータを読み出し、加工して前記第2の周辺装置へ転送する制御手段、を備えたものである。
また、この発明のコンピュータシステムは、転送元と転送先の開始メモリアドレスもしくは開始入出力アドレス、およびデータ転送サイズをパラメータとするデータ転送命令があらかじめ記憶されるメモリと、前記メモリから前記データ転送命令を読み出し、前記パラメータにしたがい前記転送元の周辺装置から該当するデータを読み出し、加工して前記転送先の周辺装置へ転送するデータ転送制御装置と、を備えたものである。
この発明によれば、データ転送制御装置に、転送元の周辺装置から読み出されるデータに対して転送先の周辺装置で要求される演算を施す仕組みを構築することにより、中央処理装置の一層の処理負荷の軽減をはかり、スループットの向上をはかることができる。
以下、この発明をより詳細に説明するために、この発明を実施するための最良の形態について、添付の図面に従って説明する。
実施の形態1.
図1は、この発明の実施の形態1にかかわるコンピュータシステムの構成の一例を示すブロック図である。
図1に示すコンピュータシステム(ここでは、マイクロコンピュータシステム)は、CPU1を制御中枢とし、複数の周辺装置2、3、〜n(以下、それぞれ、ペリフェラル(A)、(B)、〜、(X)という)と、この発明のデータ転送制御装置としてのDMAコントローラ5と、外部メモリ6とが、アドレス、データ、コントロールためのラインが複数本で構成されるCPUバス7を介して共通に接続されている。
実施の形態1.
図1は、この発明の実施の形態1にかかわるコンピュータシステムの構成の一例を示すブロック図である。
図1に示すコンピュータシステム(ここでは、マイクロコンピュータシステム)は、CPU1を制御中枢とし、複数の周辺装置2、3、〜n(以下、それぞれ、ペリフェラル(A)、(B)、〜、(X)という)と、この発明のデータ転送制御装置としてのDMAコントローラ5と、外部メモリ6とが、アドレス、データ、コントロールためのラインが複数本で構成されるCPUバス7を介して共通に接続されている。
CPU1は、内蔵のメモリ、あるいは外部メモリ6に格納されたプログラムを逐次読み出し、CPUバス7に接続されるペリフェラル(A)2、ペリフェラル(B)3、ペリフェラル(X)n、およびDMAコントローラ5を制御する。
ここで、各ペリフェラル(A)2、(B)3、(X)nは、例えば、フラッシュメモリやハードディスク等のメモリデバイスを内蔵する入出力装置を想定している。
ここで、各ペリフェラル(A)2、(B)3、(X)nは、例えば、フラッシュメモリやハードディスク等のメモリデバイスを内蔵する入出力装置を想定している。
DMAコントローラ5は、CPU1を介さずにペリフェラル(A)2、(B)3、(X)n間でデータ転送を行なうデータ転送制御装置である。DMAコントローラ5は、第1の周辺装置(例えば、ペリフェラル(A))2から第2の周辺装置(例えば、ペリフェラル(B))3へデータ転送を行なうにあたり、CPU1により起動され、外部メモリ6から、それぞれ転送元と転送先になるペリフェラルの開始メモリアドレスもしくは開始入出力アドレス、およびデータ転送サイズをパラメータとするデータ転送命令を取得し、当該パラメータにしたがい、ペリフェラル(A)2から該当するデータを読み出し、加工(演算)してペリフェラル(B)3へ転送する制御手段を備える。
なお、この制御手段として、DMAコントローラ5は、図1に示されるように、命令デコーダ51と、制御部52と、演算器53と、アドレス管理部54と、データレジスタ55とを備える。
なお、この制御手段として、DMAコントローラ5は、図1に示されるように、命令デコーダ51と、制御部52と、演算器53と、アドレス管理部54と、データレジスタ55とを備える。
命令デコーダ51は、外部メモリ6にあらかじめ記憶された、CPU1からの特定の要求に対応する命令群の中に含まれる、例えば、データ転送命令を解読し、制御部52へ出力する。制御部52は、命令デコーダ51の解読結果に従い、アドレス管理部54を制御する第1の制御信号(以下、アドレス設定信号もしくはアドレス更新信号という)と、演算器53を制御する第2の制御信号(以下、セレクト信号という)を生成して、アドレス管理部54、および演算器53へそれぞれ出力する。
演算器53は、制御部52によって出力される演算種別を示すセレクト信号にしたがい、転送元ペリフェラルからデータレジスタ55を介して取得されるデータに、NOP演算(データスルー)、ビットシフト演算、AND、OR、XOR等の論理演算、あるいは加減乗除にかかわる算術演算等を施し、再度データレジスタ55経由で転送先ペリフェラルへ出力する。
演算器53は、制御部52によって出力される演算種別を示すセレクト信号にしたがい、転送元ペリフェラルからデータレジスタ55を介して取得されるデータに、NOP演算(データスルー)、ビットシフト演算、AND、OR、XOR等の論理演算、あるいは加減乗除にかかわる算術演算等を施し、再度データレジスタ55経由で転送先ペリフェラルへ出力する。
なお、アドレス管理部54は、制御部52により設定される転送元、あるいは転送先ペリフェラルの開始メモリアドレスもしくは開始入出力アドレス、およびデータ転送サイズに基づくアドレスの更新管理を行い、転送元ペリフェラルから、あるいは転送先ペリフェラルへのデータのリード/ライトを制御し、また、データレジスタ55には、転送元ペリフェラルから、あるいは転送先ペリフェラルへリード/ライトするデータが設定される。
図2は、この発明の実施の形態1にかかわるデータ転送制御装置(DMAコントローラ5)の動作を説明するために引用したフローチャートである。
以下、図2に示すフローチャートを参照しながら図1に示すこの発明の実施の形態1にかかわるデータ転送制御装置の動作について詳細に説明する。
以下、図2に示すフローチャートを参照しながら図1に示すこの発明の実施の形態1にかかわるデータ転送制御装置の動作について詳細に説明する。
まず、CPU1は、アプリケーションに基づくメインルーチンを実行しており、データ転送の要求があったところで、DMAコントローラ5に動作開始要求を発行する。動作開始要求を受けたDMAコントローラ5は(ステップST201)、図2に示されるように、自身がREADY状態にある場合(ステップST202“Yes”)、CPU1にACK応答を返す。このことにより、CPU1は、CPUバス7の使用をDMAコントローラ5に委ね、自身は、メインルーチンの他の処理を実行することができる。
なお、DMAコントローラ5がBUSY中は(ステップST202“No”)、CPU1にNAKを返し、一定時間のWAITを挿入するか、あるいは次の動作開始要求の発行を待つ。
なお、DMAコントローラ5がBUSY中は(ステップST202“No”)、CPU1にNAKを返し、一定時間のWAITを挿入するか、あるいは次の動作開始要求の発行を待つ。
一方、DMAコントローラ5は、CPU1から出力される動作開始要求に基づき、外部メモリ6からデータ転送命令を読み出し(ステップST203)、その命令を内蔵する命令デコーダ51で解読する。ここで、データ転送命令であることが解読されると(ステップST204“Yes”)、命令デコーダ51により起動される制御部52によって出力されるセレクト信号にしたがい、演算器53の演算種別を決定する(ステップST205)。ここでは、演算種別として、NOP演算、ビットシフト演算、AND、OR、XOR等の論理演算、加減乗除にかかわる算術演算等が含まれる。
なお、このとき、アドレス管理部54は、制御部52から出力されるアドレス信号に基づき、転送元のペリフェラルA(2)のアドレスと、転送先のペリフェラルB(3)のアドレスを生成してCPUバス7上に出力している。
なお、このとき、アドレス管理部54は、制御部52から出力されるアドレス信号に基づき、転送元のペリフェラルA(2)のアドレスと、転送先のペリフェラルB(3)のアドレスを生成してCPUバス7上に出力している。
したがって、演算器53は、アドレス管理部54により出力されるアドレス信号に基づき、転送元ペリフェラル(A)2から転送データを順次読み出し(ステップST206)、データレジスタ55に設定されたデータに対し、先に決定された演算を施して加工する(ステップST207)。そして、その加工済みのデータをデータレジスタ55に設定し、そのデータを、CPUバス7経由で転送先ペリフェラル(B)3へ転送する(ステップST208)。
なお、アドレス管理部54は、上記したデータ転送に際し、設定されたアドレスを逐次更新管理しており、設定された転送サイズに従うデータ転送が終了したことを検知したところで(ステップST209“Yes”)、CPU1に対し終了通知を発行し、上記したデータ転送処理を終える(ステップST210)。
なお、アドレス管理部54は、上記したデータ転送に際し、設定されたアドレスを逐次更新管理しており、設定された転送サイズに従うデータ転送が終了したことを検知したところで(ステップST209“Yes”)、CPU1に対し終了通知を発行し、上記したデータ転送処理を終える(ステップST210)。
図3は、演算器53がビットシフト演算を行うことにより、データバス幅に制限されることなくデータ転送を行なう様子を模式して示した図である。
ここでは、16ビットデータバスから10ビットデータバスへの変換の様子を模式して示してある。すなわち、転送元ペリフェラル(ここでは、ペリフェラル(A)とする)2は、16ビットのデータバス幅を持ち、転送先ペリフェラル(ここではペリフェラル(B)とする)3は、10ビットのデータバス幅を持つものとする。
ここでは、16ビットデータバスから10ビットデータバスへの変換の様子を模式して示してある。すなわち、転送元ペリフェラル(ここでは、ペリフェラル(A)とする)2は、16ビットのデータバス幅を持ち、転送先ペリフェラル(ここではペリフェラル(B)とする)3は、10ビットのデータバス幅を持つものとする。
すなわち、演算器53は、図2のフローチャートに示されるように、ステップST206において、アドレス管理部54により出力されるアドレス信号に基づき、転送元ペリフェラル(A)2から転送データを順次読み出す。そして、ステップST207において、データレジスタ55に設定された16ビットデータ(図2(a))に対し、制御部52により出力されるセレクト信号に基づき、ペリフェラル(B)3が持つデータバス幅(10ビット)に合うようにビットシフト演算を施し、順次データレジスタ55に書き込む。続いて、演算器53は、ステップST208において、データレジスタ55に書き込まれた10ビットデータと6ビットデータの合計16ビットからなるデータを読み出し、CPUバス7経由でペリフェラル(B)3に転送することができる。
上記した実施の形態1によれば、DMAコントローラ5は、外部メモリ6から読み出した命令にしたがい、転送元ペリフェラルから読み出したデータにビットシフト演算を施し、転送先ペリフェラルに転送することにより、異なるデータバス幅を持つペリフェラル間のデータ転送を可能とし、更に、このとき、DMAコントローラ5は、ビットシフト演算により転送単位を調整するため、ペリフェラルが持つデータバス幅に制限されることはないといった効果が得られる。
すなわち、ペリフェラルが持つデータバス幅の整数倍である場合のみしか対応できないといった従来の欠点を解決することができる。また、外部メモリ6に格納される命令はCPU1により書き換えが可能(プログラマブル)であるため、コンピュータシステムに接続されるペリフェラルのデータバス幅の変更にも柔軟に対応できるという効果がある。
すなわち、ペリフェラルが持つデータバス幅の整数倍である場合のみしか対応できないといった従来の欠点を解決することができる。また、外部メモリ6に格納される命令はCPU1により書き換えが可能(プログラマブル)であるため、コンピュータシステムに接続されるペリフェラルのデータバス幅の変更にも柔軟に対応できるという効果がある。
実施の形態2.
ここで説明する実施の形態2は、上記した実施の形態1と同じ構成のデータ転送制御装置を用いるものとするが、データ転送の対象となる転送先のペリフェラル(ここでは、ペリフェラル(B)とする)3が、例えば、NAND型フラッシュメモリのような外部にエラーチェック機能を備える必要があるメモリであるものを想定している。
この場合、DMAコントローラ5が内蔵する演算器53は、ペリフェラル(A)2から読み出したデータに対し、ECC(Error Correcting Code)等、誤り訂正符号を付加してペリフェラル(B)3に転送する。また、この誤り訂正符号を付加して格納されたペリフェラル(B)3のデータを読み出して復号化することにより、バックグラウンドでエラーチェック、エラー訂正を実行してもよい。
ここで説明する実施の形態2は、上記した実施の形態1と同じ構成のデータ転送制御装置を用いるものとするが、データ転送の対象となる転送先のペリフェラル(ここでは、ペリフェラル(B)とする)3が、例えば、NAND型フラッシュメモリのような外部にエラーチェック機能を備える必要があるメモリであるものを想定している。
この場合、DMAコントローラ5が内蔵する演算器53は、ペリフェラル(A)2から読み出したデータに対し、ECC(Error Correcting Code)等、誤り訂正符号を付加してペリフェラル(B)3に転送する。また、この誤り訂正符号を付加して格納されたペリフェラル(B)3のデータを読み出して復号化することにより、バックグラウンドでエラーチェック、エラー訂正を実行してもよい。
すなわち、演算器53は、図2のフローチャートに示されるように、ステップST206において、アドレス管理部54により出力されるアドレス信号に基づき、ペリフェラル(A)2から転送データを順次読み出す。そして、ステップST207において、データレジスタ55に設定された所定ビット長のデータに対し、制御部52により出力されるセレクト信号に基づき、ECCコードを付加するために演算を施し、データレジスタ55に書き込む。続いて、演算器53は、ステップST208において、データレジスタ55に書き込まれたECCコードを含むデータを読み出し、CPUバス7経由でペリフェラル(B)3に転送する。
上記した実施の形態2によれば、転送先ペリフェラル(A)2から読み出したデータに対して、DMAコントローラ5(演算器53)が誤り訂正符号を付加して転送先ペリフェラル(B)3に転送することにより、転送先ペリフェラル(B)3では、ECC機能を備える回路ブロックを備える必要がなくなり、したがって、回路規模が削減されるという効果がある。また、このとき、演算器53が、誤り訂正符号を付加してデータが格納された転送先ペリフェラル(B)3のバックグラウンドエラーチェックを実施することで上記した効果が一層顕著に現れる。
更に、DMAコントローラ5(演算器53)は、実施の形態1同様、プログラマブルであるため、様々なエラー訂正用アルゴリズムを適用することができ、エラーチェック、あるいは訂正に柔軟性を持たせることができるという効果もある。
更に、DMAコントローラ5(演算器53)は、実施の形態1同様、プログラマブルであるため、様々なエラー訂正用アルゴリズムを適用することができ、エラーチェック、あるいは訂正に柔軟性を持たせることができるという効果もある。
実施の形態3.
図4は、この発明の実施の形態3にかかわるコンピュータシステムの構成を示すブロック図である。基本的には、図1に示した実施の形態1と同じ構成とするが、ここでは、DMAコントローラ5か内蔵する演算器53を比較器56で代替した構成になっている。
図3に示されるように、ペリフェラル(A)2から読み出したデータをDMAコントローラ5の比較器56に入力し、ここで閾値と比較し、閾値より大きい場合はそのデータ中の特定のビットに“1”を、小さい場合は“0”を付加して転送先のペリフェラル(B)3に転送する構成とした。
図4は、この発明の実施の形態3にかかわるコンピュータシステムの構成を示すブロック図である。基本的には、図1に示した実施の形態1と同じ構成とするが、ここでは、DMAコントローラ5か内蔵する演算器53を比較器56で代替した構成になっている。
図3に示されるように、ペリフェラル(A)2から読み出したデータをDMAコントローラ5の比較器56に入力し、ここで閾値と比較し、閾値より大きい場合はそのデータ中の特定のビットに“1”を、小さい場合は“0”を付加して転送先のペリフェラル(B)3に転送する構成とした。
すなわち、演算器53は、図2のフローチャートに示されるように、ステップST206において、アドレス管理部54により出力されるアドレス信号に基づき、転送元のペリフェラル(A)2から転送データを順次読み出す。そして、ステップST207において、データレジスタ55に設定されたデータに対し、制御部52により出力されるセレクト信号に基づき、例えば、比較演算を施してデータレジスタ55に書き込む。
すなわち、演算器53は、一方の入力端子に入力されるデータレジスタ55出力と、他方の入力端子に入力された閾値データとの比較演算を実行し、演算結果を再度データレジスタ55に設定する。続いて、演算器53は、ステップST208において、データレジスタ55に書き込まれたデータを読み出し、CPUバス7経由で転送先のペリフェラル(B)3に転送する。
すなわち、演算器53は、一方の入力端子に入力されるデータレジスタ55出力と、他方の入力端子に入力された閾値データとの比較演算を実行し、演算結果を再度データレジスタ55に設定する。続いて、演算器53は、ステップST208において、データレジスタ55に書き込まれたデータを読み出し、CPUバス7経由で転送先のペリフェラル(B)3に転送する。
上記した実施の形態3によれば、データ転送時に転送先ペリフェラルで必要となる前処理演算を施してからデータ転送することにより、転送先ペリフェラルで行う処理が低減され、転送先ペリフェラルの回路規模を減らすことができるという効果がある。
なお、上記した比較器56は、実施の形態1で示した演算器53による論理演算で代用しても同様の効果が得られる。
なお、上記した比較器56は、実施の形態1で示した演算器53による論理演算で代用しても同様の効果が得られる。
なお、上記したデータ転送制御装置(DMAコントローラ5)は、CPU1を制御中枢とするコンピュータシステムの主要部を構成するものである。
この場合、コンピュータシステムは、中央処理装置1(CPU)と、データ転送元あるいは転送先となる複数の周辺装置(ペリフェラル2〜4)とが、バス(CPUバス7)を介して共通接続されるものであり、転送元と転送先の開始メモリアドレスもしくは開始入出力アドレス、およびデータ転送サイズをパラメータとするデータ転送命令があらかじめ記憶された外部メモリ6と、外部メモリ6からデータ転送命令を読み出し、そのパラメータにしたがい転送元の周辺装置(例えば、ペリフェラル(A))2から該当するデータを読み出し、加工して転送先の周辺装置(例えば、ペリフェラル(B))3へ転送するデータ転送制御装置(DMAコントローラ5)と、により構成される。
この場合、コンピュータシステムは、中央処理装置1(CPU)と、データ転送元あるいは転送先となる複数の周辺装置(ペリフェラル2〜4)とが、バス(CPUバス7)を介して共通接続されるものであり、転送元と転送先の開始メモリアドレスもしくは開始入出力アドレス、およびデータ転送サイズをパラメータとするデータ転送命令があらかじめ記憶された外部メモリ6と、外部メモリ6からデータ転送命令を読み出し、そのパラメータにしたがい転送元の周辺装置(例えば、ペリフェラル(A))2から該当するデータを読み出し、加工して転送先の周辺装置(例えば、ペリフェラル(B))3へ転送するデータ転送制御装置(DMAコントローラ5)と、により構成される。
上記したコンピュータシステムによれば、データ転送制御装置(DMAコントローラ5)に、転送元の周辺装置から読み出されるデータに対して転送先の周辺装置で要求される演算を施す仕組みを構築することにより、CPU1の一層の処理負荷の軽減をはかり、スループットの向上をはかることができる。また、演算を含むデータ転送制御をプログラマブルに規定できるため、柔軟なコンピュータシステムの構築が可能である。
以上、この発明の実施の形態につき図面を参照して詳述したが、具体的な構成はこの実施の形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
以上のように、この発明に係るデータ転送制御装置およびコンピュータシステムは、転送元の周辺装置から読み出されるデータに対して転送先の周辺装置で要求される演算を施す仕組みを構築することで、CPUの一層の処理負担の軽減をはかり、スループットの向上をはかったデータ転送制御装置およびコンピュータシステムとしたので、CPUを介さずに周辺装置間でデータ転送を行うデータ転送制御装置およびコンピュータシステムなどに用いるのに適している。
上記した課題を解決するためにこの発明のデータ転送制御装置は、中央処理装置によって起動され、第1の周辺装置から第2の周辺装置へデータ転送するにあたり、転送元と転送先になる前記周辺装置の開始メモリアドレスもしくは開始入出力アドレス、およびデータ転送サイズをパラメータとするデータ転送命令を取得し、前記パラメータにしたがい前記第1の周辺装置から該当するデータを読み出し、加工して前記第2の周辺装置へ転送する制御手段を備え、前記制御手段は、前記データ転送命令を解読する命令デコーダと、前記解読結果に従い第1と第2の制御信号を生成する制御部と、前記制御部により出力される第1の制御信号にしたがい、順次アドレスを更新しながら前記第1の周辺装置から該当のデータを取得し、前記第2の制御信号により指示される演算を実行して前記第2の周辺装置へ出力する演算器とを備えたものである。
また、この発明のコンピュータシステムは、転送元と転送先の開始メモリアドレスもしくは開始入出力アドレス、およびデータ転送サイズをパラメータとするデータ転送命令があらかじめ記憶されるメモリと、前記メモリから前記データ転送命令を読み出し、前記パラメータにしたがい前記転送元の周辺装置から該当するデータを読み出し、加工して前記転送先の周辺装置へ転送するデータ転送制御装置とを備え、前記データ転送制御装置は、前記データ転送命令を解読する命令デコーダと、前記解読結果に従い第1と第2の制御信号を生成する制御部と、前記制御部により出力される第1の制御信号にしたがい、順次アドレスを更新しながら前記転送元の周辺装置から該当のデータを取得し、前記第2の制御信号により複数の演算種別から指示される演算を実行して前記転送先の周辺装置へ出力する演算器とを設けたものである。
Claims (6)
- メモリ含む周辺装置間のデータ転送を、中央処理装置を経由せずに行なうデータ転送制御装置であって、
前記中央処理装置により起動され、前記第1の周辺装置から第2の周辺装置へデータ転送するにあたり、転送元と転送先になる前記周辺装置の開始メモリアドレスもしくは開始入出力アドレス、およびデータ転送サイズをパラメータとするデータ転送命令を取得し、前記パラメータに基づき前記第1の周辺装置から該当するデータを読み出し、加工して前記第2の周辺装置へ転送する制御手段、
を備えたことを特徴とするデータ転送制御装置。 - 前記制御手段は、
前記データ転送命令を解読する命令デコーダと、
前記解読結果に従い第1と第2の制御信号を生成する制御部と、
前記制御部により出力される第1の制御信号にしたがい、順次アドレスを更新しながら前記第1の周辺装置から該当のデータを取得し、前記第2の制御信号により指示される演算を実行して前記第2の周辺装置へ出力する演算器と、
を備えたことを特徴とする請求項1記載のデータ転送制御装置。 - 前記演算器は、
前記第2の制御信号に基づき、前記第1の周辺装置から読み出されるデータにビットシフト演算を施して前記第2の周辺装置へ出力することを特徴とする請求項2記載のデータ転送制御装置。 - 前記演算器は、
前記第2の制御信号に基づき、前記第1の周辺装置から読み出されるデータにエラー訂正符号を付加し、前記第2の周辺装置へ出力することを特徴とする請求項2記載のデータ転送装置。 - 前記演算器は、
前記第2の制御信号に基づき、前記第1の周辺装置から読み出されたデータに対し、前記第2の周辺装置で要求される演算を施し、前記第2の周辺装置へ出力することを特徴とする請求項2記載のデータ転送装置。 - 中央処理装置と、データ転送元あるいは転送先となる複数の周辺装置とがバスを介して共通接続されるコンピュータシステムであって、
転送元と転送先の開始メモリアドレスもしくは開始入出力アドレス、およびデータ転送サイズをパラメータとするデータ転送命令があらかじめ記憶される外部メモリと、
前記メモリから前記データ転送命令を読み出し、前記パラメータにしたがい前記転送元の周辺装置から該当するデータを読み出し、加工して前記転送先の周辺装置へ転送するデータ転送制御装置と、
を備えたことを特徴とするコンピュータシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006325868 | 2006-12-01 | ||
JP2006325868 | 2006-12-01 | ||
PCT/JP2007/067319 WO2008068937A1 (ja) | 2006-12-01 | 2007-09-05 | データ転送制御装置およびコンピュータシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2008068937A1 true JPWO2008068937A1 (ja) | 2010-03-18 |
Family
ID=39491849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008548179A Pending JPWO2008068937A1 (ja) | 2006-12-01 | 2007-09-05 | データ転送制御装置およびコンピュータシステム |
Country Status (3)
Country | Link |
---|---|
US (1) | US8127052B2 (ja) |
JP (1) | JPWO2008068937A1 (ja) |
WO (1) | WO2008068937A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8307136B2 (en) * | 2009-08-03 | 2012-11-06 | National Instruments Corporation | Data movement system and method |
US9542238B2 (en) * | 2013-05-23 | 2017-01-10 | Nxp Usa, Inc. | Systems and methods for direct memory access coherency among multiple processing cores |
CN103761988B (zh) * | 2013-12-27 | 2018-01-16 | 华为技术有限公司 | 固态硬盘及数据移动方法 |
US10482044B2 (en) | 2015-01-16 | 2019-11-19 | Nec Corporation | Computer, device control system, and device control method for direct memory access |
US10437748B1 (en) * | 2015-12-29 | 2019-10-08 | Amazon Technologies, Inc. | Core-to-core communication |
CN108388527B (zh) * | 2018-02-02 | 2021-01-26 | 上海兆芯集成电路有限公司 | 直接存储器存取引擎及其方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57132229A (en) * | 1981-02-09 | 1982-08-16 | Mitsubishi Electric Corp | Direct memory access controller |
JPS61204755A (ja) * | 1985-03-08 | 1986-09-10 | Fujitsu Ltd | 直接メモリアクセス制御方式 |
JPH0374752A (ja) * | 1989-08-15 | 1991-03-29 | Oki Electric Ind Co Ltd | ダイレクトメモリアクセス再開方式 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR860007588A (ko) * | 1985-03-25 | 1986-10-15 | 미쓰다 가쓰시게 | 데이터 처리장치 |
JPH0594404A (ja) | 1991-10-03 | 1993-04-16 | Nec Ic Microcomput Syst Ltd | ダイレクト・メモリ・アクセス・コントローラ |
US5835788A (en) * | 1996-09-18 | 1998-11-10 | Electronics For Imaging | System for transferring input/output data independently through an input/output bus interface in response to programmable instructions stored in a program memory |
JPH10187659A (ja) * | 1996-12-19 | 1998-07-21 | Toshiba Corp | 積和演算器 |
US6415338B1 (en) * | 1998-02-11 | 2002-07-02 | Globespan, Inc. | System for writing a data value at a starting address to a number of consecutive locations equal to a segment length identifier |
JP2000215152A (ja) | 1999-01-22 | 2000-08-04 | Nec Ic Microcomput Syst Ltd | Dma制御回路 |
US6874054B2 (en) * | 2002-12-19 | 2005-03-29 | Emulex Design & Manufacturing Corporation | Direct memory access controller system with message-based programming |
US7210008B2 (en) * | 2003-12-18 | 2007-04-24 | Intel Corporation | Memory controller for padding and stripping data in response to read and write commands |
-
2007
- 2007-09-05 JP JP2008548179A patent/JPWO2008068937A1/ja active Pending
- 2007-09-05 WO PCT/JP2007/067319 patent/WO2008068937A1/ja active Application Filing
- 2007-09-05 US US12/440,703 patent/US8127052B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57132229A (en) * | 1981-02-09 | 1982-08-16 | Mitsubishi Electric Corp | Direct memory access controller |
JPS61204755A (ja) * | 1985-03-08 | 1986-09-10 | Fujitsu Ltd | 直接メモリアクセス制御方式 |
JPH0374752A (ja) * | 1989-08-15 | 1991-03-29 | Oki Electric Ind Co Ltd | ダイレクトメモリアクセス再開方式 |
Also Published As
Publication number | Publication date |
---|---|
US20100042757A1 (en) | 2010-02-18 |
WO2008068937A1 (ja) | 2008-06-12 |
US8127052B2 (en) | 2012-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009289170A (ja) | データ処理装置、メモリコントローラ及びそのアクセス制御方法 | |
JP5010271B2 (ja) | エラー訂正コード生成方法、およびメモリ制御装置 | |
JPWO2008068937A1 (ja) | データ転送制御装置およびコンピュータシステム | |
JP2001216194A (ja) | 演算処理装置 | |
CN114051611A (zh) | 用于非连续存储器的dma分散和聚集操作 | |
JP4574994B2 (ja) | メモリ外付けマイコン | |
JP4865016B2 (ja) | プロセッサ | |
JP2009259113A (ja) | 不揮発性メモリ管理装置 | |
US8291270B2 (en) | Request processing device, request processing system, and access testing method | |
JP2007334813A (ja) | メモリ制御回路及びデータ書き換え方法 | |
JP2005182538A (ja) | データ転送装置 | |
JP6054753B2 (ja) | 半導体装置及びデータアクセス方法 | |
JP2007048090A (ja) | シーケンシャルromインターフェース対応nand型フラッシュメモリーデバイス及びそのコントローラ | |
JP2004126911A (ja) | 制御装置 | |
CN113067581B (zh) | 解码系统、解码方法、电子设备及存储介质 | |
JP2010140132A (ja) | メモリシステム及びメモリコントローラ | |
JP5088566B2 (ja) | 割込機能を備えたplc | |
JP2013161325A (ja) | Simd型マイクロプロセッサ、プロセッサシステムおよびsimd型マイクロプロセッサのデータ処理方法 | |
JP5263497B2 (ja) | 信号処理プロセッサ及び半導体装置 | |
JP3800171B2 (ja) | ストア命令実行制御方式、および、ストア命令実行制御方法 | |
JPS6149695B2 (ja) | ||
JP2010224806A (ja) | コントローラ及び半導体記憶装置 | |
JP2004280664A (ja) | ビット演算装置 | |
JPS63276126A (ja) | 命令デコ−ド回路 | |
JP2018055400A (ja) | メモリコントローラ、メモリシステム及びメモリ制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110517 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20111004 |