(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5893624
(24)【登録日】2016年3月4日
(45)【発行日】2016年3月23日
(54)【発明の名称】マルチコアシステムのためのダイレクトメモリアクセス装置およびその動作方法
(51)【国際特許分類】
G06F 13/28 20060101AFI20160310BHJP
G06F 13/36 20060101ALI20160310BHJP
【FI】
G06F13/28 310E
G06F13/36 520B
【請求項の数】23
【全頁数】13
(21)【出願番号】特願2013-521716(P2013-521716)
(86)(22)【出願日】2011年7月29日
(65)【公表番号】特表2013-535735(P2013-535735A)
(43)【公表日】2013年9月12日
(86)【国際出願番号】KR2011005616
(87)【国際公開番号】WO2012015273
(87)【国際公開日】20120202
【審査請求日】2014年7月24日
(31)【優先権主張番号】10-2010-0073404
(32)【優先日】2010年7月29日
(33)【優先権主張国】KR
(73)【特許権者】
【識別番号】503447036
【氏名又は名称】サムスン エレクトロニクス カンパニー リミテッド
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100091214
【弁理士】
【氏名又は名称】大貫 進介
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(72)【発明者】
【氏名】キム,ドゥ−ヒョン
【審査官】
宮久保 博幸
(56)【参考文献】
【文献】
特開平05−298239(JP,A)
【文献】
特開平06−274436(JP,A)
【文献】
特表2005−534094(JP,A)
【文献】
特開平11−212904(JP,A)
【文献】
米国特許出願公開第2006/0256796(US,A1)
【文献】
特開2008−097084(JP,A)
【文献】
特開2004−355041(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 13/28
G06F 13/36
(57)【特許請求の範囲】
【請求項1】
ソースコアとのソースチャネルおよび目的先コアとの目的先チャネルの少なくとも1つのチャネルが使用可能であるか否かを判断するチャネル状態判断部と、
前記ソースチャネルおよび前記目的先チャネルが全て使用可能である場合、前記ソースコアのデータを前記目的先コアに送信するように処理するデータ送信処理部と、
を備え、
前記チャネル状態判断部は、前記ソースコアからソースチャネルの開始信号がセッティングされると、前記ソースコアとのソースチャネルの使用が可能であることを判断するソースチャネル状態確認部を備え、
前記ソースコアは、送信するデータが格納されている場合に前記ソースチャネルの開始信号をセッティングすることを特徴とするダイレクトメモリアクセス装置。
【請求項2】
前記チャネル状態判断部は、
前記目的先コアから目的先チャネルの開始信号がセッティングされると、前記目的先コアとの目的先チャネルの使用が可能であることを判断する目的先チャネル状態確認部と、
をさらに備えることを特徴とする請求項1に記載のダイレクトメモリアクセス装置。
【請求項3】
前記チャネル状態判断部は、前記ソースチャネルの開始信号および前記目的先チャネルの開始信号が全てセッティングされると、前記データの送信が可能であると判断することを特徴とする請求項2に記載のダイレクトメモリアクセス装置。
【請求項4】
前記ソースコアのデータを前記目的先コアに送信完了した場合、前記ソースチャネルの開始信号および前記目的先チャネルの開始信号をリセットするリセット処理部をさらに備えることを特徴とする請求項2に記載のダイレクトメモリアクセス装置。
【請求項5】
前記ソースチャネルの開始信号および前記目的先チャネルの開始信号は互いに異なる時間にセッティングされることを特徴とする請求項2に記載のダイレクトメモリアクセス装置。
【請求項6】
前記データ送信処理部は、前記データを前記ソースコアから前記目的先コアに送信完了した場合、データ送受信完了情報を格納するペンディングレジスタを備えることを特徴とする請求項1に記載のダイレクトメモリアクセス装置。
【請求項7】
前記ペンディングレジスタは、
前記データを前記ソースコアから前記目的先コアに送信完了した場合、
データ送信完了情報を格納するソースペンディングレジスタと、
データ受信完了情報を格納する目的先ペンディングレジスタと、
を備えることを特徴とする請求項6に記載のダイレクトメモリアクセス装置。
【請求項8】
前記データ送信処理部は、前記データを前記ソースコアから前記目的先コアに送信完了した場合、前記ソースコアおよび前記目的先コアの少なくとも1つのコアに前記送信完了を知らせる割り込み信号を送信することを特徴とする請求項1に記載のダイレクトメモリアクセス装置。
【請求項9】
ソースコアからソースチャネルの開始信号がセッティングされ、目的先コアから目的先チャネルの開始信号がセッティングされると、ソースチャネルおよび目的先チャネルが全て使用可能であると判断するステップと、
前記ソースチャネルおよび前記目的先チャネルが全て使用可能である場合、前記ソースコアのデータを前記目的先コアに送信するように処理するステップと、
を含み、
前記ソースコアは、送信するデータが格納されている場合に前記ソースチャネルの開始信号をセッティングすることを特徴とするダイレクトメモリアクセス装置の動作方法。
【請求項10】
前記ソースコアのデータを前記目的先コアに送信完了した場合、前記ソースチャネルの開始信号および前記目的先チャネルの開始信号をリセットするステップをさらに含むことを特徴とする請求項9に記載のダイレクトメモリアクセス装置の動作方法。
【請求項11】
前記データを前記ソースコアから前記目的先コアに送信完了した場合、前記ソースコアおよび前記目的先コアの少なくとも1つのコアに前記送信完了を知らせるステップをさらに含むことを特徴とする請求項10に記載のダイレクトメモリアクセス装置の動作方法。
【請求項12】
前記ソースチャネルの開始信号および前記目的先チャネルの開始信号は互いに異なる時間にセッティングされることを特徴とする請求項9に記載のダイレクトメモリアクセス装置の動作方法。
【請求項13】
ダイレクトメモリアクセス装置と、
ソースチャネルの開始信号をセッティングして前記ダイレクトメモリアクセス装置とのソースチャネルが使用可能であることを知らせるソースコアと、
目的先チャネルの開始信号をセッティングして前記ダイレクトメモリアクセス装置との目的先チャネルが使用可能であることを知らせる目的先コアと、
を備え、
前記ダイレクトメモリアクセス装置は、前記ソースチャネルの開始信号および目的先チャネルの開始信号がセッティングされた場合、前記ソースコアのデータを前記目的先コアに送信するように処理し、
前記ソースコアは、送信するデータが格納されている場合に前記ソースチャネルの開始信号をセッティングすることを特徴とするマルチコアシステム。
【請求項14】
前記ダイレクトメモリアクセス装置は、前記ソースコアのデータを前記目的先コアに送信完了した場合、前記セッティングされたソースチャネルの開始信号および前記セッティングされた目的先チャネルの開始信号をリセットすることを特徴とする請求項13に記載のマルチコアシステム。
【請求項15】
前記ダイレクトメモリアクセス装置は、前記ソースコアのデータを前記目的先コアに送信完了した場合、ペンディングレジスタにデータ送受信完了情報を格納して前記ソースコアおよび前記目的先コアの少なくとも1つのコアにデータ送信を知らせることを特徴とする請求項13に記載のマルチコアシステム。
【請求項16】
前記ダイレクトメモリアクセス装置は、前記ソースコアのデータを前記目的先コアに送信完了した場合、割り込み信号を介して前記ソースコアおよび前記目的先コアの少なくとも1つのコアにデータ送信を知らせることを特徴とする請求項13に記載のマルチコアシステム。
【請求項17】
前記ソースチャネルは、前記目的先チャネルが目的先チャネルの開始信号をセッティングするものと異なる時間に前記ソースチャネルの開始信号をセッティングすることを特徴とする請求項13に記載のマルチコアシステム。
【請求項18】
前記ソースコアは、前記ソースチャネルの開始信号をセッティングする前に前記目的先コアの状態を確認しないことを特徴とする請求項13に記載のマルチコアシステム。
【請求項19】
承認のためにリクエストされたチャネルの開始信号を識別するためのモード情報を格納するレジスタと、
前記格納されたモード情報に基づいて前記チャネルの開始信号を決定するチャネルの開始信号決定部と、
前記決定されたチャネルの開始信号が承認およびセッティングされると、目的先コアに送信されるソースコアのデータを処理するデータ送信処理部と、
を備え、
前記チャネルの開始信号決定部は、前記ソースコアからソースチャネルの開始信号がセッティングされると、前記ソースコアとのソースチャネルの使用が可能であることを判断するソースチャネル状態確認部を備え、
前記ソースコアは、送信するデータが格納されている場合に前記ソースチャネルの開始信号をセッティングすることを特徴とするダイレクトメモリアクセス装置。
【請求項20】
前記チャネルの開始信号決定部は、前記格納されたモード情報に基づいて前記ソースコアによって設定される前記ソースチャネルの開始信号、または前記目的先コアによって設定される目的先チャネルの開始信号のいずれか1つをチャネルの開始信号として決定することを特徴とする請求項19に記載のダイレクトメモリアクセス装置。
【請求項21】
ソースコアを利用した場合、前記ソースコアによってソースチャネルの開始信号が設定され、目的先コアを利用した場合、前記目的先コアによって目的先チャネルの開始信号が設定されると、前記ソースコアから前記目的先コアにデータを送信するステップを含み、
前記ソースコアは、送信するデータが格納されている場合に前記ソースチャネルの開始信号をセッティングすることを特徴とするダイレクトメモリアクセス装置の動作方法。
【請求項22】
前記ソースチャネルの開始信号および前記目的先チャネルの開始信号は、互いに異なる時間にセッティングされることを特徴とする請求項21に記載のダイレクトメモリアクセス装置の動作方法。
【請求項23】
前記ソースコアは、前記目的先コアの状態を確認しないことを特徴とする請求項21に記載のダイレクトメモリアクセス装置の動作方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マルチコアシステムのためのダイレクトメモリアクセス装置およびその動作方法に関し、ソースチャネルと目的先チャネルの開始信号を区分し、2つの開始信号が全てセッティングする時動作するようにしたダイレクトメモリアクセス装置およびその動作方法に関する。
【背景技術】
【0002】
ダイレクトメモリアクセス(DMA:Direct Memory Access)装置は中央処理装置のデータの送信速度を高めるため並列データの送信を可能にするハードウェアである。
【0003】
一般的に中央処理装置が搭載された大部分のシステムではダイレクトメモリアクセス装置を備える。
【0004】
ダイレクトメモリアクセス装置は、中央処理装置がいずれの演算を行う間にもデータを並列送信することを最も大きい目的とする。
【0005】
ダイレクトメモリアクセス装置を用いると、中央処理装置の演算において処理時間を短縮することができ、内部的にはバースト(burst)送信ができるためバス帯域の幅を減らし得る。
【0006】
ダイレクトメモリアクセス装置の基本的な駆動方法は簡単である。
【0007】
中央処理装置がダイレクトメモリアクセス装置の駆動に必要なパラメータをセッティングして開始すれば、ダイレクトメモリアクセス装置は開始信号およびパラメータを確認してソースコアから目的先コアにデータを移動させることができる。
【0008】
ダイレクトメモリアクセス装置は、データ移動が全て終了されるとデータの送信が終了したという意味で、レジスタをセッティングしたり割り込みによってデータが移動したことを中央処理装置に通知する形態で駆動される。
【0009】
現在、中央処理装置を用いる多くのシステムは、システム性能を向上するための目的をもって複数のコアを用いる。
【発明の概要】
【発明が解決しようとする課題】
【0010】
本発明の目的は、データを送信するコアがデータを受信するコアの状態を常に確認する過程を必要としないようにして、不要なシステム資源の無駄遣いを防止することにある。
【0011】
本発明の他の目的は、データを送信するコアがデータを受信するコアの状態を把握する必要がないようにして、その実現が簡単であり、コントロールによるサイクルの無駄遣いを予防することにある。
【0012】
本発明の更なる目的は、システム資源を効率的に用いることによって、中央処理装置の全体的な性能を向上させることにある。
【課題を解決するための手段】
【0013】
本発明の一実施形態に係るダイレクトメモリアクセス装置は、ソースコアとのソースチャネルおよび目的先コアとの目的先チャネルの少なくとも1つのチャネルが使用可能であるか否かを判断するチャネル状態判断部と、前記ソースチャネルおよび前記目的先チャネルが全て使用可能である場合、前記ソースコアのデータを前記目的先コアに送信するように処理するデータ送信処理部とを備えている。
【0014】
本発明の一実施形態に係るダイレクトメモリアクセス方法は、ソースコアからソースチャネルの開始信号がセッティングされ、目的先コアから目的先チャネルの開始信号がセッティングされると、ソースチャネルおよび目的先チャネルが全て使用可能であると判断するステップと、前記ソースチャネルおよび前記目的先チャネルが全て使用可能である場合、前記ソースコアのデータを前記目的先コアに送信するように処理するステップとを含んでいる。
【0015】
本発明の一実施形態に係るマルチコアシステムは、ダイレクトメモリアクセス装置と、ソースチャネルの開始信号をセッティングして前記ダイレクトメモリアクセス装置とのソースチャネルが使用可能であることを知らせるソースコアと、目的先チャネルの開始信号をセッティングして前記ダイレクトメモリアクセス装置との目的先チャネルが使用可能であることを知らせる目的先コアとを備え、前記ダイレクトメモリアクセス装置は、前記ソースチャネルの開始信号および目的先チャネルの開始信号がセッティングされた場合、前記ソースコアのデータを前記目的先コアに送信するように処理する。
【発明の効果】
【0016】
本発明によると、データを送信するコアがデータを受信するコアの状態を常に確認する過程が求められないため、不要なシステム資源の無駄遣いを防止することができる。
【0017】
本発明によると、データを送信するコアがデータを受信するコアの状態を把握する必要がないため、その実現が簡単であり、コントロールによるサイクルの無駄遣いを予防することができる。
【0018】
本発明によると、システム資源を効率的に用いることによって、中央処理装置の全体的な性能を向上させることができる。
【図面の簡単な説明】
【0019】
【
図1】本発明の一実施形態に係るダイレクトメモリアクセス装置が用いられたマルチコアシステムを説明する図である。
【
図2】本発明の一実施形態に係るダイレクトメモリアクセス装置を説明するブロック図である。
【
図3】本発明の一実施形態に係るダイレクトメモリアクセス装置の動作方法を説明するフローチャートである。
【発明を実施するための形態】
【0020】
以下、本発明に係る好適な実施形態を添付する図面を参照しながら詳細に説明する。
【0021】
本発明の説明において、関連する公知機能または構成に対する具体的な説明が本発明の要旨を不要に曖昧にすると判断される場合にはその詳細な説明を省略する。そして、本明細書で用いられる用語(terminology)は本発明の好適な実施形態を適切に表現するために用いられた用語であって、これはユーザ、運用者の意図または本発明が属する分野の慣例などによって変わり得る。したがって、本用語に対する定義は本明細書の全般にわたった内容に基づいて行われなければならない。各図面に提示される同一の参照符号は同一の部材を示す。
【0022】
図1は、本発明の一実施形態に係るダイレクトメモリアクセス装置130が適用されたマルチコアシステム100を説明する図である。
図1を参照して説明されるマルチコアシステム100は、中央処理装置(CPU:Central Processing Unit)と解釈されてもよい。
【0023】
マルチコアシステム100は、コアA110、コアB120、およびダイレクトメモリアクセス装置130を備える。
【0024】
コアA110およびコアB120は、マルチコアシステム100で選択されたプロセスを処理する手段として、マルチコアシステム100はコアA110およびコアB120の他に異なるコアをさらに含んでもよい。
【0025】
コアA110は、ダイレクトメモリアクセス装置130によってデータを送信するコアとして、ソースコアと解釈してもよく、コアB120は前記データを受信するコアとして、目的先コアと解釈してもよい。
【0026】
以下、コアA110および「データを送信するコア」などをソースコアと解釈してもよく、コアB120および「データを受信するコア」などを目的先コアと解釈してもよい。
【0027】
コア間にデータを送受信するため、従来は、ソースコアが目的先コアの状態を常に確認しなければならず、そのためにプログラム実現が複雑でコントロールによる特定コアのサイクルの無駄遣いが発生する恐れが極めて高かった。
【0028】
これに対して、本発明によると、コアA110はデータ送信のためにコアB120の状態を常にモニタリングする必要がなく、ダイレクトメモリアクセス装置130がコアA110およびコアB120の状態をそれぞれ区分して確認するようにする。
【0029】
これによってプログラムの実現が簡単になり、特定コアがいずれの処理も行うことなく待機する、休止(idle)状態の待機サイクル(wait cycle)を予防することができる。
【0030】
具体的には、コアA110は送信するデータがある場合、ダイレクトメモリアクセス装置130に通知だけすればよい。
【0031】
具体的には、コアA110は、ダイレクトメモリアクセス装置130に知らせるためソースチャネルの開始信号をセッティングしてダイレクトメモリアクセス装置130とのソースチャネルが使用できることを知らせてもよい。
【0032】
コアA110とは独立的に、コアB120は、ダイレクトメモリアクセス装置130に現在のチャネルが使用可能であることを知らせるだけで、データ送受信の処理が可能である。
【0033】
具体的には、コアB120はダイレクトメモリアクセス装置130に知らせるため、目的先チャネルの開始信号をセッティングしてダイレクトメモリアクセス装置130との目的先チャネルが使用可能であることを知らせる。
【0034】
ダイレクトメモリアクセス装置130は送信するデータがコアA110にあり、ダイレクトメモリアクセス装置130とコアB120との間にチャネルが使用可能である場合、コアA110のデータをコアB120に伝達する。
【0035】
具体的には、ダイレクトメモリアクセス装置130は、前記ソースチャネルの開始信号および目的先チャネルの開始信号が全てセッティングされた場合、コアA110のデータをコアB120に送信するように処理される。
【0036】
すなわち、ダイレクトメモリアクセス装置130が適用されたマルチコアシステム100は、データを送信するコアがデータを受信するコアの状態を常に確認する必要がなく、不要なシステム資源の無駄遣いを防止することができる。
【0037】
それだけでなく、ダイレクトメモリアクセス装置130を用いると、システム資源を効率的に用いることで全体的な性能を向上させることができる。
【0038】
本発明の一実施形態に係るダイレクトメモリアクセス装置130は、コアA110のデータをコアB120に送信完了した場合、前記セッティングされたソースチャネルの開始信号および前記セッティングされた目的先チャネルの開始信号をリセットする。
【0039】
その後、コアA110およびコアB120それぞれは、ダイレクトメモリアクセス装置130との該当チャネルが使用できれば、該当チャネルの開始信号を再びセッティングしてもよい。
【0040】
また、本発明の一実施形態に係るダイレクトメモリアクセス装置130は、コアA110のデータをコアB120に送信完了した場合、ペンディングレジスタにデータ送受信完了情報を格納して前記ソースコアおよび前記目的先コアの少なくとも1つのコアに前記データ送信を知らせる。
【0041】
データの送信を知らせるために、本発明の一実施形態に係るダイレクトメモリアクセス装置130は割り込み信号を用いてもよい。
【0042】
具体的には、ダイレクトメモリアクセス装置130は、コアA110のデータをコアB120に送信完了した場合、コアA110およびコアB120の少なくとも1つのコアに割り込み信号を送信することによって、前記データ送信の完了を知らせることができる。
【0043】
図2は、本発明の一実施形態に係るダイレクトメモリアクセス装置200を説明するブロック図である。
【0044】
ダイレクトメモリアクセス装置200は、
図1に示すダイレクトメモリアクセス装置130をより具体的に説明したものである。
【0045】
本発明の一実施形態に係るダイレクトメモリアクセス装置200は、チャネル状態判断部210およびデータ送信処理部220を備える。
【0046】
具体的には、チャネル状態判断部210は、ソースコアとのソースチャネルおよび目的先コアとの目的先チャネルの少なくとも1つのチャネルが使用可能であるか否かを判断する。
【0047】
また、データ送信処理部220は、前記ソースチャネルおよび前記目的先チャネルが全て使用可能である場合、前記ソースコアのデータを前記目的先コアに送信するように処理する。
【0048】
具体的には、チャネル状態判断部210は、コントロールインタフェース211、ソースチャネル状態確認部212、目的先チャネル状態確認部213、およびAND演算器214を備え、データ送信処理部220は、データインタフェース221、ソースペンディングレジスタ222、目的先ペンディングレジスタ223を備える。
【0049】
コントロールインタフェース211は、選択された動作を行うため中央処理装置から制御信号が入力される。また、コントロールインタフェース211は、ダイレクトメモリアクセス装置200の駆動のためのパラメータ値を分配する機能を行い、このために必要なレジスタおよび開始信号をセッティングする。
【0050】
ソースチャネル状態確認部212は、ソースコアからソースチャネルの開始信号がセッティングされると、前記ソースコアとのソースチャネルの使用が可能であると判断する。
【0051】
ソースチャネルの開始信号のセッティングは、ソースコアから目的先コアに送信するデータがあることを意味する。
【0052】
目的先チャネル状態確認部213は、前記ソースチャネルの開始信号とは独立な時点で、前記目的先コアから目的先チャネルの開始信号がセッティングされると、前記目的先コアとの目的先チャネルの使用が可能であると判断する。
【0053】
目的先チャネルの開始信号がセッティングされたことは、目的先コアに対する目的先アドレス(destination address)のメモリ領域が書き込み可能な状態であると解釈される。
【0054】
AND演算器214は、ソースチャネル状態確認部212および目的先チャネル状態確認部213を確認し、ソースチャネルの開始信号および目的先チャネルの開始信号が全てセッティングされた場合にデータインタフェース221にデータ送信をリクエストする。
【0055】
すなわち、AND演算器214は、ソースチャネルの開始信号と目的先チャネルの開始信号が全てセッティングされた場合にデータ送信をリクエストする。
【0056】
データインタフェース221は、前記ソースコアのデータを前記目的先コアに送信する。
【0057】
データの送信のために、データインタフェース221は、前記ソースチャネルの開始信号によってソースコアとのソースチャネルが使用可能であることを確認する。それだけでなく、データインタフェース221は目的先チャネルの開始信号を介して目的先コアとの目的先チャネルが使用可能であることを確認することができる。
【0058】
ソースチャネルと目的先チャネルが使用可能であることを確認したデータインタフェース221は、ソースコアから目的先コアへのデータ送信を進める。
【0059】
結局、本発明の一実施形態に係るダイレクトメモリアクセス装置200は、ソースコアと目的先コアの状態をそれぞれ独立的に確認し、データ送信が可能な時点を把握してデータ送信を処理する。
【0060】
本発明の一実施形態に係るダイレクトメモリアクセス装置200は、前記ソースチャネルおよび前記目的先チャネルが全て使用可能となって、前記ソースコアのデータを前記目的先コアに送信完了した場合、前記ソースチャネルの開始信号および前記目的先チャネルの開始信号をリセットするリセット処理部230をさらに備える。
【0061】
本発明の一実施形態に係るデータ送信処理部220は、ソースペンディングレジスタ222と目的先ペンディングレジスタ223を備えるペンディングレジスタをさらに備える。
【0062】
本発明の一実施形態に係るダイレクトメモリアクセス装置200は、ソースコアから目的先コアにデータ送信が完了したことを各コアに知らせる。
【0063】
このため、本発明の一実施形態に係るデータ送信処理部は、ソースペンディングレジスタ222を介してソースコアにデータが送信されたことを知らせる。
【0064】
具体的には、データ送信処理部は、前記データを前記目的先コアに送信完了した場合、ソースペンディングレジスタ222にデータ送信完了情報を格納する。
【0065】
そして、前記ソースコアは、ソースペンディングレジスタ222に格納されたデータ送信完了情報を参考にしてデータ送信が完了したことを確認する。
【0066】
同様に、本発明の一実施形態に係るデータ送信処理部は、目的先ペンディングレジスタ223を介して目的先コアにデータが送信されたことを知らせる。
【0067】
具体的には、データ送信処理部は、前記データを前記目的先コアに送信完了した場合、目的先ペンディングレジスタ223にデータ受信完了情報を格納する。
【0068】
そして、前記目的先コアは、目的先ペンディングレジスタ223に格納されたデータ送信完了情報を参考にしてデータ受信が完了したことを確認する。
【0069】
すなわち、ソースコアと目的先コアそれぞれは、ソースペンディングレジスタ222および目的先ペンディングレジスタ223それぞれを介してデータの送信が確実に処理されたことを確認することができる。
【0070】
本発明の一実施形態に係るデータ送信処理部220は、前記データを前記ソースコアから前記目的先コアに送信完了した場合、前記ソースコアおよび前記目的先コアの少なくとも1つのコアに前記送信完了を知らせる。
【0071】
DMAモードレジスタ240は現在のダイレクトメモリアクセス装置のモード情報を格納し、DMA送信完了フラグ250はソースペンディングレジスタ222および目的先ペンディングレジスタ223に送受信完了情報を格納するために用いられる。
【0072】
図3は、本発明の一実施形態に係るダイレクトメモリアクセス装置の動作方法を説明するフローチャートである。
【0073】
本発明の一実施形態に係るダイレクトメモリアクセス装置の動作方法は、ソースチャネルおよび目的先チャネルの使用が可能であることを判断する(S310)。
【0074】
そのために、本発明の一実施形態に係るダイレクトメモリアクセス装置の動作方法は、ソースチャネルの開始信号がセッティングされ、目的先チャネルの開始信号がセッティングされたかを確認し、前記ソースチャネルおよび前記目的先チャネルの使用が可能であるか否かを判断する。
【0075】
前記ソースチャネルの開始信号は、前記ソースコアに送信するデータがある場合に前記ソースコアから制御信号を受信してセッティングされてもよい。
【0076】
前記目的先チャネルの開始信号は、前記目的先コアがデータを受信する準備ができている場合に前記目的先コアから制御信号を受信してセッティングされる。
【0077】
前記ソースチャネルの開始信号および前記目的先チャネルの開始信号は、それぞれ独立的な時点でセッティングされてもよい。
【0078】
言い換えれば、前記ソースコアは目的先コアの状態を把握する必要がなく、送信するデータがある場合に前記ソースチャネルの開始信号をセッティングしてよい。
【0079】
また、前記目的先コアは現在のチャネルが使用可能であれば、前記ソースコアの状態を把握する必要がなく、前記目的先チャネルの開始信号をセッティングしてよい。
【0080】
ステップS310において、前記ソースチャネルの開始信号と前記目的先チャネルの開始信号が全てセッティングされた場合に前記ソースチャネルおよび前記目的先チャネルが全て使用可能であると判断する(S320)。
【0081】
前記ソースチャネルおよび前記目的先チャネルが全て使用可能である場合、前記ソースコアのデータを前記目的先コアに送信するように制御する(S330)。
【0082】
前記ソースチャネルおよび前記目的先チャネルが全て使用可能であり、前記ソースコアのデータを前記目的先コアに送信完了した場合、前記ソースチャネルの開始信号および前記目的先チャネルの開始信号をリセットする(S340)。
【0083】
前記データを前記ソースコアから前記目的先コアに送信完了した場合に前記ソースコアおよび前記目的先コアの少なくとも1つのコアに前記送信完了を知らせる(S350)。
【0084】
前記送信完了を前記ソースコアおよび前記目的先コアの少なくとも1つのコアに知らせるため、それぞれのコアに対応するレジスタを用いたり割り込みを用いてもよい。
【0085】
本発明の一実施形態に係るダイレクトメモリアクセス装置の動作方法を用いると、データを送信するコアがデータを受信するコアの状態を把握する必要がなく、その実現が簡単でコントロールによるサイクルの無駄遣いを予防することができる。
【0086】
それだけでなく、本発明の一実施形態に係るダイレクトメモリアクセス装置の動作方法を用いると、システム資源を効率的に用いることによって、中央処理装置の全体的な性能を向上させることができる。
【0087】
本発明の一実施形態に係るダイレクトメモリアクセス装置の動作方法は、多様なコンピュータ手段を介して様々な処理を実行することができるプログラム命令の形態で実現され、コンピュータ読取可能な記録媒体に記録されてもよい。コンピュータ読取可能な媒体は、プログラム命令、データファイル、データ構造などのうちの1つまたはその組合せを含んでもよい。媒体に記録されるプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり、使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、光ディスクのような光磁気媒体、及びROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれてもよい。プログラム命令の例としては、コンパイラによって生成されるような機械語コード(machine code)だけでなく、インタプリタなどを用いてコンピュータによって実行され得る高級言語コード(higher level code)を含む。上述したハードウェア装置は、本発明の動作を行うために1つ以上のソフトウェアのレイヤで動作するように構成されてもよい。
【0088】
上述したように、本発明を限定された実施形態と図面によって説明したが、本発明は、上記の実施形態に限定されることなく、本発明が属する分野における通常の知識を有する者であれば、このような実施形態から多様な修正及び変形が可能である。
【0089】
したがって、本発明の範囲は、開示された実施形態に限定されるものではなく、特許請求の範囲だけではなく特許請求の範囲と均等なものなどによって定められるものである。
【符号の説明】
【0090】
200 ダイレクトメモリアクセス装置
210 チャネル状態判断部
211 コントロールインタフェース
212 ソースチャネル状態確認部
213 目的先チャネル状態確認部
214 AND演算器
220 データ送信処理部
221 データインタフェース
222 ソースペンディングレジスタ
223 目的先ペンディングレジスタ
230 リセット処理部
240 DMAモードレジスタ
250 DMA送信完了フラグ