JP6176058B2 - ダイレクトメモリアクセス制御装置、その制御方法、及び情報処理システム - Google Patents

ダイレクトメモリアクセス制御装置、その制御方法、及び情報処理システム Download PDF

Info

Publication number
JP6176058B2
JP6176058B2 JP2013224637A JP2013224637A JP6176058B2 JP 6176058 B2 JP6176058 B2 JP 6176058B2 JP 2013224637 A JP2013224637 A JP 2013224637A JP 2013224637 A JP2013224637 A JP 2013224637A JP 6176058 B2 JP6176058 B2 JP 6176058B2
Authority
JP
Japan
Prior art keywords
channel
packet
memory access
switching
direct memory
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.)
Active
Application number
JP2013224637A
Other languages
English (en)
Other versions
JP2015087872A (ja
Inventor
崇 奥田
崇 奥田
諭 岡本
諭 岡本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Socionext Inc
Original Assignee
Socionext Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Socionext Inc filed Critical Socionext Inc
Priority to JP2013224637A priority Critical patent/JP6176058B2/ja
Priority to US14/469,981 priority patent/US9921983B2/en
Priority to CN201410478629.7A priority patent/CN104572526B/zh
Publication of JP2015087872A publication Critical patent/JP2015087872A/ja
Application granted granted Critical
Publication of JP6176058B2 publication Critical patent/JP6176058B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/30Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal with priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/28DMA
    • G06F2213/2806Space or buffer allocation for DMA transfers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Communication Control (AREA)
  • Power Sources (AREA)

Description

本発明は、ダイレクトメモリアクセス制御装置、その制御方法、及び情報処理システムに関する。
通信ネットワークに接続して通信を行えるネットワーク対応製品は、製品の動作状態が待機(スタンバイ)状態での消費電力値を制限するような規制が各地域でなされるようになってきている。待機(スタンバイ)状態とは、例えばネットワークを介した外部からのトリガによって製品が機能を再開(レジューム)できる状態を指す。
待機時の消費電力を削減するために、通常系とするCPU(Central Processing Unit)とRAM(Random Access Memory)を有するとともに、通常系よりも動作時の消費電力が低いCPUとRAMを待機系として有するシステムがある。システムでの処理が少ない場合、大きな電力を消費する通常系を休止し、代わりに消費電力の低い待機系に切り替えて処理を行うことで、時系列的にみてシステム全体での消費電力を削減する。
図14(A)は、メインCPU及びサブCPUを有する情報処理システムの例を示す図である。図14(A)に示す情報処理システムは、通常動作状態において主に処理を行う通常系としてのメインCPU418とRAM419、及び待機状態において処理を行う待機系としてのサブCPU420とRAM421を有し、ネットワークインタフェース部411を介してネットワークに接続される。
ネットワークインタフェース部411は、ダイレクトメモリアクセス(DMA:Direct Memory Access)制御装置412、メディアアクセス制御(MAC:Media Access Control)部413、及び物理(PHY)部414を有する。DMA制御装置412は、RAMに列挙された命令を実行するディスクリプタ形式のDMA制御装置であり、RAM419又はRAM421に格納されているディスクリプタに基づいて、受信DMA処理部416が受信に係る処理を行い、送信DMA処理部417が送信に係る処理を行う。
図14(B)は、DMA制御装置の内部構成を示す図である。DMA制御装置430は、受信用のDMAチャネル(受信用チャネル)431、送信用のDMAチャネル(送信用チャネル)441、ディスクリプタRead/Write処理部451、データRead/Write処理部452、パケットデータ退避バッファ453を有する。ディスクリプタRead/Write処理部451は、ディスクリプタ情報の読み出しや書き込みに係る処理を行い、データRead/Write処理部452は、MAC部454を介して送受信するデータに係る処理を行う。パケットデータ退避バッファ453は、受信したパケットデータを保持するバッファである。
受信用チャネル431は、ベースアドレスレジスタ432、カレントアドレスレジスタ433、エンドアドレスレジスタ434、未処理パケット数レジスタ435、リスタート処理部436、及び制御部437を有する。ベースアドレスレジスタ432には、RAM455上に置かれているディスクリプタ456の先頭アドレスが格納され、エンドアドレスレジスタ434にはRAM455上に置かれているディスクリプタ456の最終アドレスが格納される。カレントアドレスレジスタ433には、次に処理するパケットに対応するディスクリプタのアドレスが格納される。ここで、ディスクリプタ456には、実際にパケットを配置するRAMのアドレス情報、そのパケットの長さ情報、及びそのパケットの処理に必要な情報が含まれる。
未処理パケット数レジスタ435は、DMAチャネルでの未処理のパケット数(残存パケット数)を示す機能を有する。リスタート処理部46は、メインCPU及びサブCPUからDMAチャネルを停止、開始の指示を受信する機能を有する。リスタート処理部46は、何れかのCPUからDMAチャネルを停止する指示を受信すると、DMAチャネルに属するパケットデータの送受信処理を停止させ、DMAチャネルのディスクリプタ情報をクリアさせる処理を行う。また、リスタート処理部46は、何れかのCPUからDMAチャネルを開始する指示を受信すると、ベースアドレスレジスタ432の値をカレントアドレスレジスタ433に登録させ、未処理パケット数レジスタ435をクリアさせる処理を行い、DMA動作を開始させる。制御部437は、各レジスタ432〜435に格納される情報を制御する。
送信用チャネル441は、ベースアドレスレジスタ442、カレントアドレスレジスタ443、エンドアドレスレジスタ444、未処理パケット数レジスタ445、リスタート処理部446、及び制御部447を有する。なお、これらの機能等は、受信用チャネル431が有するベースアドレスレジスタ432、カレントアドレスレジスタ433、エンドアドレスレジスタ434、未処理パケット数レジスタ435、リスタート処理部46、及び制御部437とそれぞれ同様である。
DMA制御装置430の動作の流れを、パケット受信を例に説明する。DMA制御装置430は、まず初期化の際にディスクリプタ456の先頭アドレスをベースアドレスレジスタ432に登録する。そして、DMA制御装置430は、ベースアドレスレジスタ432に登録されたアドレスをディスクリプタ456の最初の現在格納位置としてディスクリプタ情報を取得する。DMA制御装置430は、取得した情報を基にRAM455内に受信したパケットデータを展開し、1パケット受信処理したらディスクリプタに長さ情報や処理状況を反映させる。続いて、DMA制御装置430は、カレントアドレスレジスタ43が保持するアドレスの値をインクリメントし、次のディスクリプタ情報を取得する。DMA制御装置430は、次のパケットを受信したら、取得したディスクリプタ情報を基に受信したパケットデータをRAM455内に展開する。以降、同様にして受信パケット数分繰り返し行う。
ここで、図14に示した情報処理システムにおいて、通常系のメインCPU418及びRAM419を用いて処理を行う通常動作状態(通常モード)から待機系のサブCPU420及びRAM421で処理を行う待機状態(待機モード)に切り替える場合、及び待機モードから通常モードに切り替える場合、DMA制御装置430に対するディスクリプタに係る新たなアドレス情報の再設定が必要になる。図15は、図14に示した情報処理システムのモード切り替えを含む動作例を示すフローチャートである。なお、サブCPU420は、通常モード時及び待機モード時の両方で常時起動しており、モード切り替えの管理を行う。一方、メインCPU418は、通常モード時に起動し待機モード時には休止する。
まず、動作を開始すると、サブCPU420が起動する(S801)。そして、メインCPU418を用いる処理、すなわち通常モードであれば(S802のTRUE)、メインCPU418が起動する(S803)。一方、メインCPU418を用いる処理でない、すなわち待機モードであれば(S802のFALSE)、メインCPU418及びRAM419の通電がオフされる(S804)。続いて、DMA制御装置430をリセットする(S805)。その後、DMA制御装置430を初期化してベースアドレスレジスタ432、442にRAM上のディスクリプタの先頭アドレスを登録した(S806)後、DMA制御装置430を起動する(S807)。
その後、DMA制御装置430を用いたパケット送受信処理が行われる(S808)。このとき、通常モードから待機モード、あるいは待機モードから通常モードへのモード切り替えが必要であるとの指示を受けると(S809のTRUE)、DMA制御装置430によるDMA動作が停止され(S810)、ステップS802に戻る。そして、切り替えるモードに応じて、前述した処理を再び行う。
複数の入出力装置に対応して設けられた複数のチャネルを有し、チャネルの優先順位に従ってそれぞれ交換し、DMA転送を行うDMA転送装置が提案されている(例えば、特許文献1)。各I/OからのDMA要求信号に対応する優先レベルを引き出すレジスタに応じて、複数のDMAチャネルから1つを選択するDMA制御方式が提案されている(例えば、特許文献2)。使用中のDMAチャネルを使用したデータ転送が、予め定められた境界条件に達するまでは、そのDMAチャネルの使用を継続し、境界条件が生じた場合に次のDMAチャネルに移動する技術が提案されている(例えば、特許文献3)。サブCPUにより処理を行っている状態からメインCPUにより処理を行う状態へ復帰するときに、サブCPUがSRAMに格納されているデータをDRAMに移動させる技術が提案されている(例えば、特許文献4)。
特開平2−96261号公報 特開昭62−50946号公報 特開平10−40211号公報 特開2010−74256号公報
図14に示した情報処理システムは、通常モードから待機モードへ遷移する場合、及び待機モードから通常モードへ遷移する場合、図15に示したように、DMA制御装置の停止(S810)やリセット(S805)及び初期化(S806)などの処理が発生する。そのため、これらの処理中、言い換えれば図15に示したステップS810及びその後のステップS802〜S806)を行っている期間にネットワークからの新たなパケット受信があると、そのパケットを取りこぼしてしまい、パケットロスを発生してしまうという問題がある。
本発明の目的は、パケットロスによる通信品質の劣化が発生することなく、モードの切り替えを行うことができるDMA制御装置を提供することにある。
DMA制御装置の一態様は、それぞれ受信用チャネル及び送信用チャネルを有し、ディスクリプタに従ってDMAによるデータ転送を行う2つのチャネルと、モード設定レジスタと、モード設定レジスタに設定されている情報に応じて2つのチャネルの内の1つのチャネルを選択するとともに、転送するパケットの境界を検出し、検出されたパケットの境界で、選択したチャネルへの切り替えを行うチャネル切り替え部とを有する。チャネル切り替え部は、第2のチャネルから第1のチャネルへの切り替えを行う場合に、第2のチャネルが有する第2の送信用チャネルから送信されたデータを第1のチャネルが有する第1の受信用チャネルに転送するループバック処理部を有する。
開示のDMA制御装置は、DMA動作を中断することなくチャネルの切り替えを行うことができ、パケットロスによる通信品質の劣化を発生させることなくモードの切り替えが可能になる。
本発明の第1の実施形態におけるDMA制御装置を有する情報処理システムの構成例を示す図である。 本実施形態における受信パケットデータの解析処理を説明するための図である。 本実施形態におけるチャネル切り替え部の動作例を示すフローチャートである。 本実施形態における送受信パケット処理を示すフローチャートである。 本実施形態における情報処理システムの動作例を示すフローチャートである。 第1の実施形態におけるCPU切り替え処理を示すフローチャートである。 本発明の第2の実施形態におけるDMA制御装置を有する情報処理システムの構成例を示す図である。 本実施形態における送信パケットデータの生成処理を説明するための図である。 第2の実施形態におけるCPU切り替え処理を示すフローチャートである。 本発明の第3の実施形態におけるDMA制御装置を有する情報処理システムの構成例を示す図である。 の実施形態におけるCPU切り替え処理を示すフローチャートである。 本発明の第4の実施形態におけるDMA制御装置を有する情報処理システムの構成例を示す図である。 第4の実施形態におけるCPU切り替え処理を示すフローチャートである。 メインCPU及びサブCPUを有する情報処理システムの例を示す図である。 図14に示した情報処理システムの動作例を示すフローチャートである。
以下、本発明の実施形態を図面に基づいて説明する。
(第1の実施形態)
本発明の第1の実施形態について説明する。
図1は、第1の実施形態におけるダイレクトメモリアクセス(DMA:Direct Memory Access)制御装置を有する情報処理システムの構成例を示す図である。情報処理システムは、図1に示すように、DMA制御装置10、メインCPU(Central Processing Unit)20、メインCPU用のRAM(Random Access Memory)30、サブCPU40、サブCPU用のRAM50、及びメディアアクセス制御(MAC:Media Access Control)部60を有する。
図1に示した情報処理システムにおいて、サブCPU40とRAM50の組は、メインCPU20とRAM30の組よりも消費電力が低い。通常動作状態(通常モード)時には、メインCPU20及びサブCPU40はともに起動されている。一方、待機状態(待機モード)時には、通常系としてのメインCPU20とRAM30は通電がオフされて休止し、待機系としてのサブCPU40とRAM50による処理が行われる。また、情報処理システムは、MAC部60及び図示しない物理(PHY)部を介してネットワークに接続される。
DMA制御装置10は、RAM30に格納されているディスクリプタ31やRAM50に格納されているディスクリプタ51に基づいてデータをDMA転送するディスクリプタ形式のDMA制御装置である。DMA制御装置10は、ディスクリプタRead/Write処理部102、データRead/Write処理部103、チャネル切り替え部(Packet Switcher)104、モード設定レジスタ105、パケットデータ退避バッファ106を有する。
また、DMA制御装置10は、メインCPU用のDMAチャネル(メインCPU用チャネル)101A、及びサブCPU用のDMAチャネル(サブCPU用チャネル)101Bを有する。すなわち、本実施形態におけるDMA制御装置10は、通常系及び待機系のそれぞれに対して個別のDMAチャネルを有している。
メインCPU用チャネル101Aは、受信用のDMAチャネル(受信用チャネル)111A及び送信用のDMAチャネル(送信用チャネル)121Aを有する。同様に、サブCPU用チャネル101Bは、受信用のDMAチャネル(受信用チャネル)111B及び送信用のDMAチャネル(送信用チャネル)121Bを有する。
各々の受信用チャネル111A(111B)は、ベースアドレスレジスタ112A(112B)、カレントアドレスレジスタ113A(113B)、エンドアドレスレジスタ114A(114B)、未処理パケット数レジスタ115A(115B)、リスタート処理部116A(116B)、及び制御部117A(117B)を有する。各々の送信用チャネル121A(121B)は、ベースアドレスレジスタ122A(122B)、カレントアドレスレジスタ123A(123B)、エンドアドレスレジスタ124A(124B)、未処理パケット数レジスタ125A(125B)、リスタート処理部126A(126B)、及び制御部127A(127B)を有する。
各チャネルのベースアドレスレジスタ、カレントアドレスレジスタ、エンドアドレスレジスタ、未処理パケット数レジスタ、リスタート処理部、及び制御部のそれぞれの機能等は同様である。ベースアドレスレジスタには、対応するRAM上に置かれているディスクリプタの先頭アドレスが格納され、エンドアドレスレジスタには、対応するRAM上に置かれているディスクリプタの最終アドレスが格納される。カレントアドレスレジスタには、次に処理するパケットに対応するディスクリプタのアドレスが格納される。ディスクリプタには、実際にパケットを配置するRAMのアドレス情報、そのパケットの長さ情報、及びそのパケットの処理に必要な情報が含まれる。
未処理パケット数レジスタは、DMAチャネルでの未処理のパケット数(残存パケット数)を示す機能を有する。リスタート処理部は、DMAチャネルを停止、開始の指示を受信する機能を有する。リスタート処理部は、DMAチャネルを停止する指示を受信すると、DMAチャネルに属するパケットデータの送受信処理を停止させ、DMAチャネルのディスクリプタ情報をクリアさせる処理を行う。また、リスタート処理部は、DMAチャネルを開始する指示を受信すると、ベースアドレスレジスタの値をカレントアドレスレジスタに登録させ、未処理パケット数レジスタをクリアさせる処理を行い、DMA動作を開始させる。制御部は、各レジスタに格納される情報を制御する。
ディスクリプタRead/Write処理部102は、ディスクリプタ情報の読み出しや書き込みに係る処理を行う。データRead/Write処理部103は、MAC部60を介して送受信するデータに係る処理を行う。パケットデータ退避バッファ106は、ネットワークからの受信されたパケットデータを保持するバッファである。
チャネル切り替え部(Packet Switcher)104は、モード設定レジスタ105に設定されている情報に応じて、使用するDMAチャネルを選択して切り替える。チャネル切り替え部104の受信処理部141は、選択したDMAチャネルに受信パケットデータを出力する。チャネル切り替え部104の送信処理部142は、選択したDMAチャネルからの送信パケットデータが入力される。モード設定レジスタ105には、情報処理システムの運用中のモード、すなわち通常動作状態(通常モード)であるか、待機状態(待機モード)であるかを示す情報が設定される。なお、モード設定レジスタ105への情報の設定はサブCPU40が行う。
ここで、チャネル切り替え部104は、パケットの解析処理機能を有しており、モード設定レジスタ105の情報に応じたDMAチャネルの切り替えをパケット境界で行う。例えば、本実施形態における情報処理システムは、図2(A)に示すデータフォーマットでネットワークからデータを受信して、受信パケット用バッファ201に受信パケットデータ202として格納する。
図2(A)には、イーサネット(登録商標)ヘッダ部203、IPヘッダ部204、TCPヘッダ部205、ペイロード部206、及びトレーラ207を有するTCP/IPv4のデータフォーマットを一例として示している。例えば、IPヘッダ部204のTotal LengthフィールドからIPパケット全体のデータサイズが取得でき、TCPヘッダ部205のData OffsetフィールドからTCPヘッダのサイズが取得できる。また、IPヘッダ部204から取得したIPパケット全体のデータサイズとTCPヘッダ部205から取得したTCPヘッダのサイズからペイロード部206のデータサイズが取得できる。
図2(B)に示すように、パケットが受信されると、チャネル切り替え部104のパケットヘッダ解析部211は、受信パケット用バッファから受信パケットデータ202のヘッダデータを抽出して解析し、解析したヘッダ情報を受信パケット処理部212に転送する。受信パケット処理部212は、パケットヘッダ解析部211から取得したヘッダ情報を基に、受信パケット用バッファから受信パケットデータを取得する。そして、受信パケット処理部212は、受信パケットデータからペイロードデータを抽出してパケットデータ用メモリに受信ペイロードデータ214として格納し、パケット情報を受信ディスクリプタ213に設定する。チャネル切り替え部104は、これらの処理を1パケット単位で実行する。
図3は、チャネル切り替え部104のパケット受信時の動作例を示すフローチャートである。チャネル切り替え部104は、受信されたパケットデータのヘッダ部の情報から得られたデータサイズ等に基づき、パケット境界までの転送が完了するまで選択したDMAチャネルに対してデータ転送を行う(S101)。
そして、パケット境界までの転送が完了すると(S102のTRUE)、チャネル切り替え部104は、モード設定レジスタ105に設定された情報が通常モードを示す情報であれば(S103のTRUE)、メインCPU用チャネル101Aを選択する(S104)。続いて、チャネル切り替え部104は、パケットデータ退避バッファ106からメインCPU用チャネル101Aに1パケット分のデータ転送を開始し(S105)、ステップS101に戻る。
一方、チャネル切り替え部104は、モード設定レジスタ105に設定された情報が通常モードを示す情報でなければ、すなわち待機モードを示す情報であれば(S103のFALSE)、サブCPU用チャネル101Bを選択する(S106)。続いて、チャネル切り替え部104は、パケットデータ退避バッファ106からサブCPU用チャネル101Bに1パケット分のデータ転送を開始し(S107)、ステップS101に戻る。
本実施形態における情報処理システムでのパケット受信処理においては、1パケットを受信する毎にRAM上の受信パケット用エリアに格納される。そして、図4に示すフローチャートに従って、RAM上のパケットデータの有無を判別し、1パケットずつ処理される。つまり、パケットの受信からモード切り替え処理までの期間に新たなパケットを受信したとしても、随時RAM上の受信パケット用エリアに退避された後に順次処理されるため、モード切り替え処理等に何ら影響が及ぶことはない。
図4は、本実施形態における送受信パケット処理を示すフローチャートである。情報処理システムは、通常モードから待機モードへの遷移又は待機モードから通常モードへの遷移を検知すると(S201のYes)、モード遷移処理を行う(S202)。その後、RAM上に受信パケットがあれば(S203のYes)、受信パケット処理を行い(S204)、RAM上に送信パケットがあれば(S205のYes)、送信パケット処理を行う(S206)。
図5は、本実施形態における情報処理システムのモード切り替えを含む動作例を示すフローチャートである。まず、動作を開始すると、サブCPU40が起動する(S301)。続いて、DMA制御装置10内のサブCPUに係る機能部(以下、サブDMAと称す)をリセットする(S302)。その後、DMA制御装置10内のサブDMAを初期化してベースアドレスレジスタ112B、122BにRAM50上のディスクリプタの先頭アドレスを登録した(S303)後、サブDMAを起動する(S304)。
次に、メインCPU20が起動する(S305)。続いて、DMA制御装置10内のメインCPUに係る機能部(以下、メインDMAと称す)をリセットする(S306)。その後、DMA制御装置10内のメインDMAを初期化してベースアドレスレジスタ112A、122AにRAM30上のディスクリプタの先頭アドレスを登録した(S307)後、メインDMAを起動する(S308)。なお、前述したステップS301〜S308の処理は、図示した処理順序に限定されるものではなく、ステップS301〜S304の処理が図示の順序で行われ、ステップS305〜S308の処理が図示の順序で行われば良い。
次に、サブCPU40は、DMA制御装置10のモード設定レジスタ105に通常モードを示す情報を書き込む(S309)。その後、DMA制御装置10を用いたパケット送受信処理が行われる(S310)。このとき、モード設定レジスタ105の切り替え、すなわち通常モードから待機モード、あるいは待機モードから通常モードへのモード切り替えが必要であるとの指示を受けると(S311のTRUE)、CPU切り替え処理(S312)を行い、ステップS310に戻る。
図6は、図5に示した第1の実施形態におけるCPU切り替え処理を示すフローチャートである。CPU切り替え処理では、メインCPU20を用いる処理、すなわち通常モードであれば(S401のTRUE)、それまで休止していたメインCPU0が起動する(S402)。続いて、DMA制御装置10内のメインDMAをリセットする(S403)。その後、DMA制御装置10内のメインDMAを初期化してベースアドレスレジスタ112A、122AにRAM30上のディスクリプタの先頭アドレスをリロードした(S404)後、メインDMAを起動する(S405)。
そして、メインCPU20は、サブCPU40に対して起動完了を通知する(S406)。メインCPU20から起動完了の通知を受けたサブCPU40は、DMA制御装置10のモード設定レジスタ105に通常モードを示す情報を設定する(S407)。続いて、DMA制御装置10のチャネル切り替え部104は、モード設定レジスタ105に設定された情報に応じて、使用するDMAチャネルをメインCPU用チャネル101Aに切り替え、サブCPU40にモード切り替え完了を通知し(S408)、CPU切り替え処理を終了する。
一方、メインCPU20を用いる処理でなければ(S401のFALSE)、メインCPU20は、サブCPU40に待機モードへの切り替えを要求する(S409)。待機モードへの切り替え要求を受けたサブCPU40は、DMA制御装置10のモード設定レジスタ105に待機モードを示す情報を設定する(S410)。続いて、DMA制御装置10のチャネル切り替え部104は、モード設定レジスタ105に設定された情報に応じて、使用するDMAチャネルをサブCPU用チャネル101Bに切り替え、サブCPU40にモード切り替え完了を通知する(S411)。
次に、モード切り替え完了の通知を受けたサブCPU40は、メインCPU20にパワーオフ許可を通知する(S412)。そして、メインCPU20及びメインCPU用のRAM30の通電がオフされ(S413)、CPU切り替え処理を終了する。
第1の実施形態によれば、DMA制御装置10にメインCPU用のDMAチャネル101AとサブCPU用のDMAチャネル101Bをそれぞれ設け、チャネル切り替え部104が、モード設定レジスタ105に設定された情報に応じて使用するDMAチャネルを自動選択し、選択したDMAチャネルへの切り替えをパケット境界で行う。これにより、モード切り替えを行う際に、DMA動作を停止しての情報の再設定を行うことなく、すなわちDMA動作を中断することなくモード切り替えを行うことができる。したがって、パケットロスによる通信品質の劣化を発生させることなくモード切り替えが可能になり、また情報処理システムにおける消費電力を低減し省電力化を実現することができる。
なお、チャネル切り替え部104によるDMAチャネルの切り替えは、モード設定レジスタ105の参照による切り替えであるので、非常に短い時間(例えば、1〜数クロックサイクル)で行うことができる。
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。
前述した第1の実施形態において、通常モードから待機モードに遷移する場合、サブCPU40からパワーオフ許可の通知を受けて、メインCPU20及びメインCPU用のRAM30の通電がオフされる。このとき、DMA制御装置10におけるメインCPU用チャネル101Aの送信用チャネル121Aには、未送信のデータが残存してしまうことがある。ディスクリプタ形式のDMA制御装置は、ディスクリプタが空になるまで動作を続けるので、メインCPU20及びRAM30の通電がオフになった後に、メインCPU用チャネル101Aの送信用チャネル121Aに未送信のデータが残存していると、RAM30へのアクセスが行われ、バスアクセスエラーが発生する。
このバスアクセスエラーの発生を回避するには、メインCPU20にパワーオフ許可の通知を行う前に、サブCPU40がメインCPU用チャネル101Aのリスタート処理部を用いて送信用チャネル121Aをリセットすることが考えられる。こうすれば、送信用チャネル121Aが初期化され、RAM30の通電がオフになった後にRAM30へのアクセスが発生することはない。しかし、サブCPU40は、送信パケットのパケット境界を認識できないため、送信用チャネル121Aが送信処理中にリスタートしてしまうと、ネットワークに対して不完全な形の不正パケットが送出されてしまうおそれがある。
また、メインCPU用チャネル101Aの送信用チャネル121Aの残存データがなくなるまで(未処理パケット数レジスタ125Aの値が0になるまで)、サブCPU40が、メインCPU20にパワーオフ許可の通知を行わないように制御することが考えられる。しかし、通常モードから待機モードに遷移するタイミングが遅れることとなり、消費電力が増大してしまう。
以下に説明する第2の実施形態は、前述のような不都合を発生させることなく、通常モードから待機モードに遷移する場合にバスアクセスエラーの発生を確実に回避するものである。図7は、第2の実施形態におけるDMA制御装置を有する情報処理システムの構成例を示す図である。図7において、図1に示した構成要素と同一の機能を有する構成要素には同一の符号を付し、重複する説明は省略する。
第2の実施形態におけるDMA制御装置10は、図7に示すようにリスタートタイミング調整部107を有する。リスタートタイミング調整部107は、サブCPU40からメインCPU用チャネル101Aの送信用チャネル121Aのリスタート処理の実行要求を受けるとともに、チャネル切り替え部104に対して送信パケットの境界タイミングの情報を要求する。また、リスタートタイミング調整部107は、チャネル切り替え部104から取得した情報を基に送信パケットの境界タイミングで送信用チャネル121Aのリスタートを実行させ、サブCPU40に送信用チャネル121Aのリスタート完了を通知する。
図8に示すように、パケットを送信する際、チャネル切り替え部104のパケットヘッダ生成部303は、送信用ディスクリプタ301からパケットヘッダを生成するためのヘッダ構成情報を取得しヘッダを生成する。送信パケット処理部304は、パケットヘッダ生成部303が生成したヘッダデータを取得しさらに送信用ディスクリプタ301で指示されるパケットデータ用メモリから送信パケットのペイロードデータ302を取得して送信パケットを生成する。送信パケット処理部304は、送信パケットの生成が完了すると物理(PHY)部305に転送する。また、送信パケット処理部304は、物理部305に1パケット転送する毎に、リスタートタイミング調整部107に処理完了通知を出力する。チャネル切り替え部104は、受信パケットのヘッダ解析と同様にして、送信パケットのヘッダを生成する際に、そのヘッダ情報を基にパケット境界を判別することが可能となっている。
第2の実施形態における情報処理システムの動作は、CPU切り替え処理が第1の実施形態と異なるが、その他は図5に示した第1の実施形態での動作と同様である。図9は、第2の実施形態におけるCPU切り替え処理を示すフローチャートである。なお、図9には、CPU切り替え処理のうち、通常モードから待機モードに遷移するときの処理を示している。待機モードから通常モードに遷移するときの処理は、第1の実施形態と同様であり、図6に示したステップS402〜S408の処理を実行する。
第2の実施形態におけるCPU切り替え処理では、メインCPU20を用いる処理でなければ、メインCPU20は、サブCPU40に待機モードへの切り替えを要求する(S501)。待機モードへの切り替え要求を受けたサブCPU40は、DMA制御装置10のモード設定レジスタ105に待機モードを示す情報を設定する(S502)。続いて、DMA制御装置10のチャネル切り替え部104は、モード設定レジスタ105に設定された情報に応じて、使用するDMAチャネルをサブCPU用チャネル101Bに切り替え、サブCPU40にモード切り替え完了を通知する(S503)。
チャネル切り替え部104からモード切り替え完了の通知を受けたサブCPU40は、リスタートタイミング調整部107に、メインCPU用チャネル101Aの送信用チャネル121Aのリスタート処理の実行を要求する(S504)。リスタートタイミング調整部107は、チャネル切り替え部104に送信パケットの境界タイミングの情報通知を要求する(S505)。そして、チャネル切り替え部104は、リスタートタイミング調整部107に、送信用チャネル121Aが送信する送信パケットの境界タイミングの情報を通知する(S506)。
続いて、リスタートタイミング調整部107は、チャネル切り替え部104からの情報を基に、送信用チャネル121Aが送信中である1パケットの送信を完了するタイミングを検出し、そのタイミングで送信用チャネル121Aのリスタート処理部126Aを制御しリスタートを実行させる(S507)。これにより、メインCPU用チャネル101Aの送信用チャネル121Aがリセットされる。そして、リスタートタイミング調整部107は、サブCPU40に送信用チャネル121Aのリスタート完了を通知する(S508)。
次に、送信用チャネル121Aのリスタート完了の通知を受けたサブCPU40は、メインCPU20にパワーオフ許可を通知する(S509)。そして、メインCPU20及びメインCPU用のRAM30の通電がオフされ(S510)、CPU切り替え処理を終了する。
第2の実施形態によれば、第1の実施形態と同様に、モード切り替えを行う際にDMA動作を停止しての情報の再設定を行うことなく、すなわちDMA動作を中断することなくモード切り替えを行うことができる。したがって、パケットロスによる通信品質の劣化を発生させることなくモード切り替えが可能になり、また情報処理システムにおける消費電力を低減し省電力化を実現することができる。また、通常モードから待機モードに遷移する場合、不正パケットの送出などの不都合を発生させることなく、バスアクセスエラーの発生を確実に回避することができる。
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。
前述した実施形態において、待機モードから通常モードに遷移する場合、待機モードから通常モードへのモード切り替えが必要であるとの指示を受けてから、メインCPUの起動、DMA制御装置10でのメインDMAの起動、及びメインCPU用チャネル101Aへのチャネル切り替えが完了するまで、ネットワークからのパケットはサブCPU側で受信される。この受信したパケットは、メインCPU側に渡す必要があり、CPU間通信による転送が考えられるが、CPU間通信を行うと制御が複雑になってしまう。また、CPU間通信でサブCPU側からメインCPU側にパケットデータを転送していると時間を要するため、この間のパケット応答のレイテンシの悪化やパケットロスの発生を招き、通信品質が低下してしまうおそれがある。
そこで、第3の実施形態では、図10に示すようにDMA制御装置10内にループバック処理部143を設ける。図10は、第3の実施形態におけるDMA制御装置を有する情報処理システムの構成例を示す図である。図10において、図1、図7に示した構成要素と同一の機能を有する構成要素には同一の符号を付し、重複する説明は省略する。
ループバック処理部143は、サブCPU用チャネル101Bの送信用チャネル121Bから送信されたパケットデータを、メインCPU用チャネル101Aの受信用チャネル111Aに転送する。なお、ループバック処理部143を動作させるか否かの制御は、例えばループバックモード設定レジスタを設けてサブCPU40が情報を設定することで行えば良い。また、モード設定レジスタ105を拡張し、ループバックを行うか否かを示す情報を設定できるようにして行っても良い。
第3の実施形態における情報処理システムの動作は、CPU切り替え処理が第1の実施形態と異なるが、その他は図5に示した第1の実施形態での動作と同様である。図11は、第3の実施形態におけるCPU切り替え処理を示すフローチャートである。なお、図11には、CPU切り替え処理のうち、待機モードから通常モードに遷移するときの処理を示している。通常モードから待機モードに遷移するときの処理は、第2の実施形態と同様であり、図9に示した処理を実行する。
第3の実施形態におけるCPU切り替え処理では、メインCPU20を用いる処理、すなわち通常モードであれば、それまで休止していたメインCPU0が起動する(S601)。以降、ステップS602〜S607での処理は、図6に示した第1の実施形態におけるステップS403〜S408での処理と同様であるので説明は省略する。
DMA制御装置10のチャネル切り替え部104は、サブCPU40にモード切り替え完了を通知した後、サブCPU40からの設定情報に基づき、チャネル自動振り分けでループバック処理部143によるループバックを選択し(S608)、残留の受信パケットデータの転送が行われる(S609)。これにより、サブCPU用チャネル101Bの送信用チャネル121B、チャネル切り替え部104のループバック処理部143、及びメインCPU用チャネル101Aの受信用チャネル111Aを介して、サブCPU用のRAM5からメインCPU用のRAM30にパケットデータが転送される。なお、ループバックによるパケットデータの転送中にネットワークからパケットを受信した場合、チャネル切り替え部104は、ネットワークから受信したパケットデータをサブCPU用チャネル101Bの受信用チャネル111Bに送る。
第3の実施形態によれば、第1の実施形態と同様に、モード切り替えを行う際にDMA動作を停止しての情報の再設定を行うことなく、すなわちDMA動作を中断することなくモード切り替えを行うことができる。したがって、パケットロスによる通信品質の劣化を発生させることなくモード切り替えが可能になり、また情報処理システムにおける消費電力を低減し省電力化を実現することができる。
また、第3の実施形態によれば、ループバック機構を設けることで、待機モードから通常モードへ切り替える際、サブCPU側に受信したパケットデータが残留している場合、CPU通信を行うことなく、パケットデータをサブCPU用のRAM50からメインCPU用のRAM30に転送することが可能になる。また、メインCPU側では、ループバックにより受信したパケットデータを、あたかもネットワークからパケットデータを受信したものとして処理を行うことができる。
(第4の実施形態)
次に、本発明の第4の実施形態について説明する。
DMA制御装置10において、使用するDMAチャネルをサブCPU用チャネル101BからメインCPU用チャネル101Aに切り替える際、ネットワークからパケットデータが転送されてくるタイミングがわからないため、DMAチャネルを切り替える直前にサブCPU側にパケットが入力されてしまう場合がある。この場合には、サブCPU側からメインCPU側にパケットデータを転送する必要があり、そのパケットが受信された後に受信したパケットが先にメインCPU側に入力されてしまうと、メインCPU側ではパケットの順序逆転が発生してしまい、通信品質の低下を招く原因となってしまう。
そこで、第4の実施形態におけるDMA制御装置10では、図12に示すようにバッファ制御部108及びチャネル切り替え部104内に指示処理部144を設け、ループバックによるパケットデータの転送の実行中は、パケットデータ退避バッファ106に受信したデータがあっても、読み出しを行わないように制御する。図12は、第4の実施形態におけるDMA制御装置を有する情報処理システムの構成例を示す図である。図12において、図1、図7、図10に示した構成要素と同一の機能を有する構成要素には同一の符号を付し、重複する説明は省略する。
指示処理部144は、ループバックによるパケットデータの転送の開始及び停止の指示をサブCPUから受け、ループバック処理部143にループバックによる転送の開始及び停止を通知する。バッファ制御部108は、指示処理部144からの通知に応じて、パケットデータ退避バッファ106の読み出しを制御する。具体的には、バッファ制御部108は、指示処理部144から読み出し停止の指示を受けると、パケットデータ退避バッファ106で受信したパケットデータの読み出しを抑制する。また、バッファ制御部108は、指示処理部144から読み出し再開の指示を受けると、指示を受けたタイミングでパケットデータ退避バッファ106の読み出しを再開する。
第4の実施形態における情報処理システムの動作は、CPU切り替え処理が第1の実施形態と異なるが、その他は図5に示した第1の実施形態での動作と同様である。図13は、第4の実施形態におけるCPU切り替え処理を示すフローチャートである。なお、図13には、CPU切り替え処理のうち、待機モードから通常モードに遷移するときの処理を示している。通常モードから待機モードに遷移するときの処理は、第2の実施形態と同様であり、図9に示した処理を実行する。
第4の実施形態におけるCPU切り替え処理では、メインCPU20を用いる処理、すなわち通常モードであれば、それまで休止していたメインCPU0が起動する(S701)。以降、ステップS702〜S707での処理は、図6に示した第1の実施形態におけるステップS403〜S408での処理と同様であるので説明は省略する。
チャネル切り替え部104からモード切り替え完了の通知を受けると、サブCPU40は、チャネル切り替え部104の指示処理部144にバッファ制御部08のオフを指示する(S708)。サブCPU40からの指示を受けた指示処理部144は、バッファ制御部108にパケットデータ退避バッファ106の読み出し停止を指示する(S709)。これにより、パケットデータ退避バッファ106で受信したパケットデータの読み出しが抑制される。
続いて、チャネル切り替え部104は、サブCPU40からの設定情報に基づき、チャネル自動振り分けでループバック処理部143によるループバックを選択し(S710)、残留の受信パケットデータの転送が行われる(S711)。これにより、サブCPU用チャネル101Bの送信用チャネル121B、チャネル切り替え部104のループバック処理部143、及びメインCPU用チャネル101Aの受信用チャネル111Aを介して、サブCPU用のRAM5からメインCPU用のRAM30にパケットデータが転送される。
そして、残留していた受信パケットデータのサブCPU用のRAM5からメインCPU用のRAM30への転送が完了すると、サブCPU40は、指示処理部144にバッファ制御部08のオンを指示する(S712)。サブCPU40からの指示を受けた指示処理部144は、バッファ制御部108にパケットデータ退避バッファ106の読み出し再開を指示する(S713)。これにより、パケットデータ退避バッファ106の読み出しが再開され、パケットデータ退避バッファ106に保持されているパケットデータがメインCPU用チャネル101Aに順次入力される。
第4の実施形態によれば、第1の実施形態と同様に、モード切り替えを行う際にDMA動作を停止しての情報の再設定を行うことなく、すなわちDMA動作を中断することなくモード切り替えを行うことができる。また、DMAチャネルの切り替え時に発生し得る受信パケットデータの順序逆転を防止することができる。したがって、パケットロスやパケットの順序逆転による通信品質の劣化を発生させることなくモード切り替えが可能になり、また情報処理システムにおける消費電力を低減し省電力化を実現することができる。
なお、前述した説明では、ループバックによるパケットデータの転送中は、パケットデータ退避バッファ106の読み出しを停止するようにしているが、パケットデータ退避バッファ106の読み出しを停止せずに、ループバックによるパケットデータの転送中にネットワークから受信したパケットデータをサブCPU用チャネル101Bの受信用チャネル111Bに送るようにしても良い。そして、残留の受信パケットデータの転送が完了しループバックによる転送を停止する直前にパケットデータ退避バッファ106の読み出しを停止するように制御しても良い。
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
10 ダイレクトメモリアクセス(DMA)制御装置
20 メインCPU
30 メインCPU用のRAM
40 サブCPU
50 サブCPU用のRAM
101A メインCPU用チャネル
101B サブCPU用チャネル
102 ディスクリプタRead/Write処理部
103 データRead/Write処理部
104 チャネル切り替え部
105 モード設定レジスタ
106 パケットデータ退避バッファ
107 リスタートタイミング調整部
108 バッファ制御部
111 受信用チャネル
121 送信用チャネル
141 受信処理部
142 送信処理部
143 ループバック処理部
144 指示処理部

Claims (8)

  1. 第1の受信用チャネル及び第1の送信用チャネルを有し、第1のメモリから取得したディスクリプタに従ってダイレクトメモリアクセスによるデータ転送を行う第1のチャネルと、
    第2の受信用チャネル及び第2の送信用チャネルを有し、第2のメモリから取得したディスクリプタに従ってダイレクトメモリアクセスによるデータ転送を行う第2のチャネルと、
    モード設定レジスタと、
    前記モード設定レジスタに設定されている情報に応じて前記第1のチャネル及び前記第2のチャネルの内の1つのチャネルを選択するとともに、転送するパケットの境界を検出し、検出された前記パケットの境界で、選択したチャネルへの切り替えを行うチャネル切り替え部とを有し、
    前記チャネル切り替え部は、前記第2のチャネルから前記第1のチャネルへの切り替えを行う場合に、前記第2のチャネルが有する前記第2の送信用チャネルから送信されたデータを前記第1のチャネルが有する前記第1の受信用チャネルに転送するループバック処理部を有することを特徴とするダイレクトメモリアクセス制御装置。
  2. 受信されたデータを格納するバッファを有し、
    前記チャネル切り替え部は、前記ループバック処理部によるデータの転送の実行中は、前記バッファからのデータの読み出しを抑制し、前記ループバック処理部によるデータの転送後に、前記バッファからデータを読み出して前記第1のチャネルに転送することを特徴とする請求項記載のダイレクトメモリアクセス制御装置。
  3. 前記第1のチャネルから前記第2のチャネルへの切り替えを行う場合に、前記チャネル切り替え部により検出されたパケットの境界で、前記第1のチャネルが有する前記第1の送信用チャネルのリセット処理を実行することを特徴とする請求項1又は2記載のダイレクトメモリアクセス制御装置。
  4. 前記モード設定レジスタには、第1のモードであるか、又は前記第1のモードよりも低消費電力の動作である第2のモードであるかを示す情報が設定され、
    前記チャネル切り替え部は、前記モード設定レジスタに設定されている情報が前記第1のモードを示す場合、前記第1のチャネルを選択し、前記モード設定レジスタに設定されている情報が前記第2のモードを示す場合、前記第2のチャネルを選択することを特徴とする請求項1〜の何れか1項に記載のダイレクトメモリアクセス制御装置。
  5. 前記チャネル切り替え部は、転送する前記パケットのヘッダ情報に基づいて前記パケットの境界を検出することを特徴とする請求項1〜の何れか1項に記載のダイレクトメモリアクセス制御装置。
  6. 第1の受信用チャネル及び第1の送信用チャネルを有し、第1のメモリから取得したディスクリプタに従ってダイレクトメモリアクセスによるデータ転送を行う第1のチャネルと、第2の受信用チャネル及び第2の送信用チャネルを有し、第2のメモリから取得したディスクリプタに従ってダイレクトメモリアクセスによるデータ転送を行う第2のチャネルと、モード設定レジスタとを有するダイレクトメモリアクセス制御装置の制御方法であって、
    前記ダイレクトメモリアクセス制御装置が有するチャネル切り替え部が、前記モード設定レジスタに設定されている情報に応じて前記第1のチャネル及び前記第2のチャネルの内の1つのチャネルを選択し、
    前記チャネル切り替え部が、転送するパケットの境界の検出を行い、検出された前記パケットの境界で、選択したチャネルへの切り替えを行い、
    前記チャネル切り替え部が、前記第2のチャネルから前記第1のチャネルへの切り替えを行う場合に、前記第2のチャネルが有する前記第2の送信用チャネルから送信されたデータを前記第1のチャネルが有する前記第1の受信用チャネルに転送することを特徴とするダイレクトメモリアクセス制御装置の制御方法。
  7. 第1のCPU及び第1のメモリと、
    前記第1のCPU及び第1のメモリとはそれぞれ異なる第2のCPU及び第2のメモリと、
    ダイレクトメモリアクセス制御装置とを有し、
    前記ダイレクトメモリアクセス制御装置は、
    第1の受信用チャネル及び第1の送信用チャネルを有し、前記第1のメモリから取得したディスクリプタに従ってダイレクトメモリアクセスによるデータ転送を行う第1のチャネルと、
    第2の受信用チャネル及び第2の送信用チャネルを有し、前記第2のメモリから取得したディスクリプタに従ってダイレクトメモリアクセスによるデータ転送を行う第2のチャネルと、
    前記第1のCPU及び前記第1のメモリを休止させるか否かを示す情報が設定されるモード設定レジスタと、
    前記モード設定レジスタに設定されている情報に応じて前記第1のチャネル及び前記第2のチャネルの内の1つのチャネルを選択するとともに、転送するパケットの境界を検出し、検出された前記パケットの境界で、選択したチャネルへの切り替えを行うチャネル切り替え部とを有し、
    前記チャネル切り替え部は、前記第2のチャネルから前記第1のチャネルへの切り替えを行う場合に、前記第2のチャネルが有する前記第2の送信用チャネルから送信されたデータを前記第1のチャネルが有する前記第1の受信用チャネルに転送するループバック処理部を有することを特徴とする情報処理システム。
  8. 前記モード設定レジスタに設定されている情報に応じて前記第1のチャネルから前記第2のチャネルへの切り替えを行う場合、前記第2のチャネルへの切り替え後に前記第1のCPU及び前記第1のメモリへの通電をオフすることを特徴とする請求項記載の情報処理システム。
JP2013224637A 2013-10-29 2013-10-29 ダイレクトメモリアクセス制御装置、その制御方法、及び情報処理システム Active JP6176058B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013224637A JP6176058B2 (ja) 2013-10-29 2013-10-29 ダイレクトメモリアクセス制御装置、その制御方法、及び情報処理システム
US14/469,981 US9921983B2 (en) 2013-10-29 2014-08-27 Direct memory access controller, control method thereof, and information processing system
CN201410478629.7A CN104572526B (zh) 2013-10-29 2014-09-18 直接存储器存取控制器、其控制方法以及信息处理系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013224637A JP6176058B2 (ja) 2013-10-29 2013-10-29 ダイレクトメモリアクセス制御装置、その制御方法、及び情報処理システム

Publications (2)

Publication Number Publication Date
JP2015087872A JP2015087872A (ja) 2015-05-07
JP6176058B2 true JP6176058B2 (ja) 2017-08-09

Family

ID=52996779

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013224637A Active JP6176058B2 (ja) 2013-10-29 2013-10-29 ダイレクトメモリアクセス制御装置、その制御方法、及び情報処理システム

Country Status (3)

Country Link
US (1) US9921983B2 (ja)
JP (1) JP6176058B2 (ja)
CN (1) CN104572526B (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110134621B (zh) * 2018-02-09 2023-12-19 北京忆芯科技有限公司 通过环回数据通路提供cmb
JP7326863B2 (ja) * 2019-05-17 2023-08-16 オムロン株式会社 転送装置、情報処理装置、および、データ転送方法
CN114385529A (zh) * 2020-10-16 2022-04-22 瑞昱半导体股份有限公司 直接记忆体存取控制器、使用其之电子装置以及操作其的方法
CN112506828B (zh) * 2020-12-18 2024-05-17 展讯半导体(成都)有限公司 直接内存访问的传输配置方法及装置

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4371932A (en) * 1979-07-30 1983-02-01 International Business Machines Corp. I/O Controller for transferring data between a host processor and multiple I/O units
JPS6250946A (ja) 1985-08-30 1987-03-05 Hitachi Ltd Dma制御方式
JP2689523B2 (ja) 1988-09-30 1997-12-10 日本電気株式会社 Dma転送装置
CA2071347A1 (en) * 1991-10-15 1993-04-16 Nader Amini Expandable high performance fifo design
US5864712A (en) * 1995-03-17 1999-01-26 Lsi Logic Corporation Method and apparatus for controlling (N+I) I/O channels with (N) data managers in a homogenous software programmable environment
US6081852A (en) 1996-04-26 2000-06-27 Texas Instruments Incorporated Packet data transferring system for autonomously operating a DMA by autonomous boot mode select signal wherein the DMA is enabled to at least one program control list
SG77135A1 (en) 1996-04-26 2000-12-19 Texas Instruments Inc Method and system for assigning a channel number to a received data packet
US6006286A (en) 1996-04-26 1999-12-21 Texas Instruments Incorporated System for controlling data packet transfers by associating plurality of data packet transfer control instructions in packet control list including plurality of related logical functions
EP0804033A3 (en) 1996-04-26 2003-12-10 Texas Instruments Incorporated Improvements in or relating to electronic devices
JPH1040211A (ja) 1996-04-30 1998-02-13 Texas Instr Inc <Ti> パケット化されたデータ通信インタフェース機器内での直接メモリアクセス優先順位を割り当てるための方法ならびにdmaチャンネル回路
JPH09305527A (ja) * 1996-05-13 1997-11-28 Brother Ind Ltd Dmaコントローラ
US6154793A (en) * 1997-04-30 2000-11-28 Zilog, Inc. DMA with dynamically assigned channels, flexible block boundary notification and recording, type code checking and updating, commands, and status reporting
JP2000181856A (ja) 1998-12-16 2000-06-30 Hitachi Ltd 入出力制御装置
KR100403620B1 (ko) 2001-02-28 2003-10-30 삼성전자주식회사 채널 활용율을 높이는 통신 시스템 및 그 방법
JP2003271542A (ja) * 2002-03-18 2003-09-26 Fujitsu Ltd ダイレクトアクセスコントローラ
US7007036B2 (en) * 2002-03-28 2006-02-28 Lsi Logic Corporation Method and apparatus for embedding configuration data
US7035289B2 (en) * 2002-05-03 2006-04-25 Cedar Point Communications Communications switching architecture
US6981074B2 (en) * 2003-10-14 2005-12-27 Broadcom Corporation Descriptor-based load balancing
JP2005153186A (ja) * 2003-11-20 2005-06-16 Casio Electronics Co Ltd 印刷装置
JP2005258509A (ja) 2004-03-09 2005-09-22 Fujitsu Ltd ストレージ装置
JP2005303978A (ja) * 2004-03-17 2005-10-27 Ricoh Co Ltd ネットワーク制御装置、画像形成装置、画像形成システム、ネットワーク制御方法、コンピュータプログラム及び記録媒体
CN100432968C (zh) * 2004-07-09 2008-11-12 上海奇码数字信息有限公司 存储器直接存取装置及其数据传输方法
JP2006195821A (ja) 2005-01-14 2006-07-27 Fujitsu Ltd 情報処理システムの制御方法、情報処理システム、ダイレクトメモリアクセス制御装置、プログラム
JP4524261B2 (ja) * 2006-02-27 2010-08-11 京セラ株式会社 通信装置及び通信装置の制御方法
US8117475B2 (en) 2006-12-15 2012-02-14 Microchip Technology Incorporated Direct memory access controller
CN101558396B (zh) 2006-12-15 2011-12-14 密克罗奇普技术公司 直接存储器存取控制器
US9141572B2 (en) 2006-12-15 2015-09-22 Microchip Technology Incorporated Direct memory access controller
US7743279B2 (en) * 2007-04-06 2010-06-22 Apple Inc. Program counter (PC) trace
JP2010074256A (ja) 2008-09-16 2010-04-02 Sharp Corp 画像形成装置
JP5494228B2 (ja) 2010-05-21 2014-05-14 株式会社リコー 通信装置及びメモリデバイス並びに通信方法
JP5694100B2 (ja) 2011-09-14 2015-04-01 株式会社東芝 情報処理装置、プログラムおよび情報処理方法
US8943238B2 (en) * 2012-05-18 2015-01-27 Atmel Corporation Operations using direct memory access
US9092647B2 (en) * 2013-03-07 2015-07-28 Freescale Semiconductor, Inc. Programmable direct memory access channels
US10248556B2 (en) * 2013-10-16 2019-04-02 Exablox Corporation Forward-only paged data storage management where virtual cursor moves in only one direction from header of a session to data field of the session

Also Published As

Publication number Publication date
US9921983B2 (en) 2018-03-20
US20150120983A1 (en) 2015-04-30
JP2015087872A (ja) 2015-05-07
CN104572526A (zh) 2015-04-29
CN104572526B (zh) 2018-06-19

Similar Documents

Publication Publication Date Title
JP6176058B2 (ja) ダイレクトメモリアクセス制御装置、その制御方法、及び情報処理システム
US11209885B2 (en) Information processing apparatus, method for controlling the same, and non-transitory computer-readable storage medium
US8959373B2 (en) Communication device for executing packet process in low consumption state
US8667181B2 (en) Communication device
JP2016012339A (ja) 情報処理装置、印刷装置、及び、制御方法
JP2010130151A (ja) 受信装置及び画像形成装置
US20190306337A1 (en) Communication apparatus, control method, and storage medium
JP5741245B2 (ja) 画像処理装置、画像処理制御方法及び画像処理制御プログラム
JP5422687B2 (ja) 通信処理装置および画像形成装置
JP2005085079A (ja) データ転送制御装置
JP2011173378A (ja) 印刷装置
JP4862395B2 (ja) 情報処理装置及び情報処理装置の制御方法
US9565327B2 (en) Information processing device that responds to packet received from network and method of responding to packet
WO2017119100A1 (ja) プログラマブルコントローラ及び同期制御プログラム
JP6572602B2 (ja) パケット受信処理装置及びパケット受信処理方法
JP2014113731A (ja) 画像形成装置、制御方法及びプログラム
JP2014168144A (ja) 通信方法及びスイッチングハブ
US12026109B2 (en) Operating method of transaction accelerator, operating method of computing device including transaction accelerator, and computing device including transaction accelerator
JP6402484B2 (ja) 情報処理装置及び情報処理プログラム
JP5742245B2 (ja) 画像形成装置
JP2014071834A (ja) 通信装置およびプログラム
JP2004151877A (ja) ダイレクト・メモリ・アクセス・コントローラ、メモリアービタ及びこれらを設けたメモリ制御装置
EP3327521B1 (en) Duplexing process control device
JP2010026762A (ja) データ転送装置及びデータ転送方法。
JP4738756B2 (ja) 情報処理装置

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20150612

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160427

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170330

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170411

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170526

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170613

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170626

R150 Certificate of patent or registration of utility model

Ref document number: 6176058

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150