JP2008210108A - ダイレクトメモリアクセス制御装置および記録媒体 - Google Patents

ダイレクトメモリアクセス制御装置および記録媒体 Download PDF

Info

Publication number
JP2008210108A
JP2008210108A JP2007045617A JP2007045617A JP2008210108A JP 2008210108 A JP2008210108 A JP 2008210108A JP 2007045617 A JP2007045617 A JP 2007045617A JP 2007045617 A JP2007045617 A JP 2007045617A JP 2008210108 A JP2008210108 A JP 2008210108A
Authority
JP
Japan
Prior art keywords
data
transfer
dma
memory access
access control
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
Application number
JP2007045617A
Other languages
English (en)
Inventor
Kazuhiko Shiba
和彦 柴
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007045617A priority Critical patent/JP2008210108A/ja
Publication of JP2008210108A publication Critical patent/JP2008210108A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Bus Control (AREA)

Abstract

【課題】DMAを利用したデータ転送時におけるソフトウェアおよびハードウェアの不具合の検出を容易におこなわせること。
【解決手段】ダイレクトメモリアクセス制御装置110は、制御回路111、DMAC(第1のDMAコントローラ)116、セレクタ117、バッファ(記憶手段)118、DMAC(第2のDMAコントローラ)119を備えて構成されている。制御回路111は、ダイレクトメモリアクセス制御装置110全体を制御する。DMAC116は、制御回路111の制御により、転送データを転送する。セレクタ117は、制御回路111の制御により、DMAC116によって転送される転送データのうち、ミラーリング対象データを選択する。バッファ118は、セレクタ117によって選択されたミラーリング対象データを記憶する。DMAC119は、バッファ118に記憶されたミラーリング対象データをメモリ103へ転送する。
【選択図】図1

Description

この発明は、ダイレクトメモリアクセスにおける転送データを制御するダイレクトメモリアクセス制御装置および記録媒体に関する。
従来より、デバイス−メモリ間のデータ転送においては、CPUを介さずに、直接、デバイスとメモリとの間のデータ転送をおこなうことによってCPUの処理効率を向上させるダイレクトメモリアクセス(以下、「DMA」という)が利用されている。そして、近年における多くのコンピュータ装置においては、デバイス−メモリ間のデータ転送を制御するダイレクトメモリアクセス制御装置(DMAC)が設けられ、上記DMAを実現することができる構成となっている。
このようなコンピュータ装置においては、DMAによってメモリに転送されたデータと、あらかじめメモリ上に設定されているデータとを比較することによって、ソフトウェアおよびハードウェアの不具合を検出して、ソフトウェアおよびハードウェアの品質を向上させることができるものとされている(たとえば、下記特許文献1参照。)。
特開2002−251296号公報
ここで、従来技術によるダイレクトメモリアクセス制御装置およびこれを用いたDMA制御方法について説明する。まず、従来技術によるダイレクトメモリアクセス制御装置の回路構成について説明する。図5は、従来技術によるダイレクトメモリアクセス制御装置の回路構成の一例を示す説明図である。
図5に示すように、情報処理装置500は、CPU501と、デバイス502と、メモリ503と、ダイレクトメモリアクセス制御装置510と、を備えて構成されており、各構成部はバス504によって接続されている。
このように構成された情報処理装置500によるDMA処理において、CPU501は、DMA設定情報をダイレクトメモリアクセス制御装置510に送信する機能を有する。ここで、DMA設定情報は、転送対象とするデータ(以下、「転送対象データ」という)に関する、転送元データ領域のアドレス、転送先データ領域のアドレス、転送時のアドレス更新方法、転送データ数などの情報を含む。
また、デバイス502は、要求するデータに関するDMA要求信号をDMAC513へ送信する。デバイス502としては、たとえば拡張カードなどが挙げられる。
また、メモリ503は、転送元データ領域および転送先データ領域が設けられている。転送元データ領域には、DMA要求信号に基づいてダイレクトメモリアクセス制御装置510に送信される転送対象データが記録されている。転送先データ領域には、DMA要求信号に基づいてダイレクトメモリアクセス制御装置510から送信された転送対象データが記録される。
そして、ダイレクトメモリアクセス制御装置510は、ダイレクトメモリアクセス制御装置510全体を制御する制御回路511、DMAコントローラ(以下、「DMAC」という)513、複数のDMAチャネルを調停するアービタ514を備えて構成されている。また、制御回路511は、DMA設定情報を記憶する記憶部512を備えて構成されている。
続いて、従来技術によるダイレクトメモリアクセス制御装置によるDMA制御処理の手順について説明する。図6は、従来技術によるダイレクトメモリアクセス制御装置によるDMA制御処理の手順の一例を示すフローチャートである。
まず、CPU501からダイレクトメモリアクセス制御装置510にDMA設定情報が送信され、記憶部512にDMA設定情報が設定される(ステップS601)。
そして、CPU501からダイレクトメモリアクセス制御装置510にデータ転送開始信号が送信されることにより、DMAC513によって、記憶部512に設定されたDMA設定情報に基づくデータ転送が開始される(ステップS602)。これにより、DMAC513は、メモリ503(転送元データ領域)から転送対象データを読み取り(ステップS603)、ステップS603で読み取った転送対象データをFIFO(First In First Out)ルールに従い、メモリ503(転送先データ領域)へ転送する(ステップS604)。
さらに、制御回路511によって、転送対象データが全て転送されたか否かを判断する(ステップS605)。ステップS605において、転送対象データが全て転送されていないと判断した場合(ステップS605:No)は、ステップS605で転送対象データが全て転送されたと判断されるまで、ステップS603〜ステップS605が繰り返しおこなわれる。一方、ステップS605において、転送対象データが全て転送されたと判断した場合(ステップS605:Yes)は、一連の処理を終了する。
しかしながら、上記特許文献1に記載の従来技術にあっては、データ転送時における通信記録(ロギング)をおこなっていないため、メモリへのデータアクセスタイミングやそのときのデータアクセス内容などを検証することができない。たとえICE(In−Circuit Emulator)を使用したとしても、CPUを介したデータ転送をおこなっていないため、上記検証をおこなうことができない。このため、上記特許文献1に記載の従来技術にあっては、DMAを利用したデータ転送時におけるソフトウェアおよびハードウェアの不具合を検出することができずに、結果的に、ソフトウェアおよびハードウェアの品質低下を招いていた。
この発明は、上述した従来技術による問題点を解消するため、DMAを利用したデータ転送時における通信記録を出力することによって、DMAを利用したデータ転送時におけるソフトウェアおよびハードウェアの不具合の検出を容易におこなわせることができ、結果的に、ソフトウェアおよびハードウェアの品質向上を図ることができるダイレクトメモリアクセス制御装置を提供することを目的とする。
上述した課題を解決し、目的を達成するため、第1の発明にかかるダイレクトメモリアクセス制御装置は、転送元のメモリから読み取った転送データを、転送先のメモリへ転送し、転送先のメモリへ転送される転送データの複写データを、転送先のメモリのうち転送データとは異なる領域へ転送することを特徴とする。
この発明によれば、DMAを利用したデータ転送時におけるソフトウェアおよびハードウェアの正否を判断する際の判断材料として利用することが可能なデータをメモリに記録することができる。
また、上記に記載の発明において、転送先のメモリへ転送される転送データの複写データのうち、転送データとは異なる領域への転送対象データを選択し、選択された転送対象データを、転送データとは異なる領域へ転送することとしてもよい。
この発明によれば、ユーザが任意に選択した、DMAを利用したデータ転送時におけるソフトウェアおよびハードウェアの正否の判断に必要なデータのみを、メモリに記録することができる。
また、上記に記載の発明において、転送先のメモリへ転送される転送データの複写データのうち、転送元アドレス、転送先アドレス、転送データの少なくともいずれか一つを、転送データとは異なる領域への転送対象データとして選択することとしてもよい。
この発明によれば、ユーザが任意に選択した、DMAを利用したデータ転送時におけるソフトウェアおよびハードウェアの正否の判断に十分な、転送元アドレス、転送先アドレス、転送データの少なくともいずれか一つのデータを、メモリに記録することができる。
また、上記に記載の発明において、転送先のメモリへ転送される転送データの転送データ数を計測し、計測された転送データ数に基づいて、転送先のメモリへ転送される転送データの複写データのうち、転送データとは異なる領域への転送対象データを、所定の周期で、所定の回数選択することとしてもよい。
この発明によれば、ユーザが任意に選択した、DMAを利用したデータ転送時におけるソフトウェアおよびハードウェアの正の判断に十分な、所定の周期かつ所定の回数のデータを、メモリに記録することができる。
また、上記に記載の発明において、選択された転送対象データを記憶し、記憶された転送対象データを、転送データとは異なる領域へ転送することとしてもよい。
この発明によれば、第1のDMAコントローラによるデータ転送タイミングに影響されることなく、任意のタイミングで、DMAを利用したデータ転送時におけるソフトウェアおよびハードウェアの正否を判断する際の判断材料として利用することが可能なデータをメモリに記録することができる。
また、上記に記載の発明において、複数のDMAコントローラの中から、第1のDMAコントローラとして用いるDMAコントローラおよび第2のDMAコントローラとして用いるDMAコントローラをそれぞれ選択することとしてもよい。
この発明によれば、特別な装置を用いることなく、既存の装置(DMAコントローラ)を使用して、DMAを利用したデータ転送時におけるソフトウェアおよびハードウェアの正否を判断する際の判断材料として利用することが可能なデータをメモリに記録することができる。
また、上記に記載の発明において、複数のデータ転送形式の中から、第1のDMAコントローラによるデータ転送に用いるデータ転送形式および第2のDMAコントローラによるデータ転送に用いるデータ転送形式をそれぞれ選択することとしてもよい。
この発明によれば、DMAコントローラごとに、他のDMAコントローラのデータ転送形式に影響されることなく、独立して、データ転送形式を設定することができる。
また、上記に記載の発明において、転送先のメモリへのデータ転送をおこなうDMAチャネルごとに、転送先のメモリへのバスの割り当てを調停することとしてもよい。
この発明によれば、各DMAチャネル、特に第2のDMAコントローラによるDMAチャネルに対するバス取得の機会を均一化することができる。
また、第2の発明にかかる記録媒体は、上記発明の設計データをコンピュータ読み取り可能に記録したことを特徴とする。
この発明によれば、上記発明の設計データをコンピュータに読み取らせ、設計データの編集や、上記発明のシミュレーションなどをコンピュータにより実行することができる。
本発明にかかるダイレクトメモリアクセス制御装置および記録媒体によれば、DMAを利用したデータ転送時における通信記録を出力し、出力された通信記録によって、DMAを利用したデータ転送時におけるソフトウェアおよびハードウェアの不具合の検出を容易におこなわせることができ、結果的に、ソフトウェアおよびハードウェアの品質向上を図ることができるという効果を奏する。
以下に添付図面を参照して、この発明にかかるダイレクトメモリアクセス制御装置および記録媒体の好適な実施の形態を詳細に説明する。
(実施の形態)
(ダイレクトメモリアクセス制御装置の回路構成)
まず、この発明の実施の形態にかかるダイレクトメモリアクセス制御装置の回路構成について説明する。図1は、この発明の実施の形態にかかるダイレクトメモリアクセス制御装置の回路構成を示す説明図である。
図1に示すように、情報処理装置100は、CPU101と、デバイス102と、メモリ103と、ダイレクトメモリアクセス制御装置110と、を備えて構成されており、各構成部はバス104によって接続されている。
このように構成された情報処理装置100によるDMA処理において、CPU101は、デバイス102から送信されたDMA要求信号を受信して、受信したDMA要求信号に基づくDMA設定情報およびミラーリングに関する設定情報(以下、「ミラーリング設定情報」という)をダイレクトメモリアクセス制御装置110に送信する機能を有する。ここで、DMA設定情報は、転送元データ領域のアドレス、転送先データ領域のアドレス、転送時のアドレス更新方法、転送データ数などの情報を含む。
一方、ミラーリング設定情報は、転送対象データの転送に使用するDMAチャンネル(第1のDMAチャネル)、メモリ103(デバッグデータ領域)への転送データ(転送対象データの複製データ(以下、「ミラーリング対象データ」という))の転送に使用するDMAチャンネル(第2のDMAチャネル)、ミラーリング対象データの選択条件(ミラーリング対象データ項目、ミラーリング頻度)、複数のDMAチャネルの調停(アービトレーション)方法、などの情報を含む。
ここで、転送対象データの転送に使用するDMAチャンネル(第1のDMAチャネル)のデータ転送形式と、ミラーリング対象データの転送に使用するDMAチャンネル(第2のDMAチャネル)のデータ転送形式とを、それぞれ独立して設定することができる。たとえば、データ転送形式としては、DA(Dual Addressing)モード、DCA(Destination Circular Addressing)モード、SCA(Source Circular Addressing)モードのいずれかを設定することができる。
また、デバイス102は、転送対象データのDMA要求信号をDMAC116又はDMAC119へ送信する。デバイス102としては、たとえば拡張カードなどが挙げられる。
また、メモリ103は、転送元データ領域(転送元のメモリ)、転送先データ領域(転送先のメモリ)、およびデバッグデータ領域(転送先のメモリのうち転送データとは異なる領域)が設けられている。転送元データ領域には、DMA要求信号に基づいてダイレクトメモリアクセス制御装置110に送信される転送対象データが記録されている。転送先データ領域には、DMA要求信号に基づいてダイレクトメモリアクセス制御装置110から送信された転送対象データが記録される。
デバッグデータ領域には、ダイレクトメモリアクセス制御装置110から送信された転送対象データ(転送先データ領域に記録された転送対象データ)のミラーリングデータが記録される。なお、メモリ103は、物理的に複数のメモリ103によって構成されていてもよい。たとえば転送元データ領域が設けられたメモリ103と、転送元データ領域が設けられたメモリ103と、デバッグデータ領域が設けられたメモリ103とが、物理的に別のものであってもよい。
そして、ダイレクトメモリアクセス制御装置110は、制御回路111、DMAC(第1のDMAコントローラ)116、セレクタ117、バッファ(記憶手段)118、DMAC(第2のDMAコントローラ)119、アービタ(調停手段)120を備えて構成されている。
制御回路111は、ダイレクトメモリアクセス制御装置110全体を制御する。また、制御回路111は、記憶部112、計測部(計測手段)113、および選択部114を備える。このうち、記憶部112は、DMA設定情報およびミラーリング設定情報を記憶する。また、計測部113は、DMAC116によって転送される転送対象データ数を計測する。
また、制御回路111のうち、選択部114は、記憶部112に記憶されたDMA設定情報に基づいて、複数のDMAコントローラの中から、第1のDMAコントローラとして用いるDMAコントローラおよび第2のDMAコントローラとして用いるDMAコントローラをそれぞれ選択する。
DMAC116は、制御回路111の制御により、記憶部112に記憶されたDMA設定情報に基づいて、転送対象データを転送する。具体的には、メモリ103(転送元データ領域)から転送対象データを読み取る。そして、読み取った転送対象データを、FIFO(First In First Out)ルールに従って出力することにより、アービタ120を介してメモリ103(転送先データ領域)に書き込む。ここで、メモリ103(転送先データ領域)へのデータ転送形式は、たとえば、記憶部112に記憶されたミラーリング設定情報に基づいて決定される。
なお、DMAC116は、転送対象データを転送するDMACとして機能するだけでなく、DMAC119と同様に、ミラーリング対象データを転送するDMACとして機能させることができる。DMAC119を転送対象データの転送用とするか、それともミラーリング対象データの転送用とするかは、たとえば、記憶部112に記憶されたミラーリング設定情報などの設定によって、切り替えることができる。
セレクタ117は、制御回路111の制御により、記憶部112に記憶されたミラーリング設定情報に基づいて、DMAC116によってメモリ103(転送先データ領域)に対して転送される転送対象データの中から、ミラーリング対象データを選択する。具体的には、記憶部112に記憶されたミラーリング設定情報に基づいて、転送元アドレス、転送先アドレス、転送データの少なくともいずれか一つのデータをミラーリング対象データとして選択する。また、セレクタ117は、計測部113によって計測された転送対象データの転送データ数と、記憶部112に記憶されたミラーリング設定情報と、に基づいて、所定の周期かつ所定の回数、ミラーリング対象データの選択をおこなう。
バッファ118は、セレクタ117によって選択されたミラーリング対象データを一時的に記憶する。
DMAC119は、制御回路111の制御により、記憶部112に記憶されたDMA設定情報に基づいて、ミラーリング対象データを転送する。具体的には、バッファ118からミラーリング対象データを読み取る。そして、読み取ったミラーリング対象データを、FIFO(First In First Out)ルールに従って出力することにより、アービタ120を介してメモリ103(デバッグデータ領域)に書き込む。
ここで、メモリ103(デバッグデータ領域)へのデータ転送形式は、たとえば、記憶部112に記憶されたミラーリング設定情報に基づいて決定される。また、ミラーリング設定情報には、他のDMACと独立してデータ転送形式を設定することができるため、たとえば、DMAC119は、DMAC116によるメモリ103(転送先データ領域)へのデータ転送形式と異なる形式のデータ転送形式を用いることができる。
なお、DMAC119は、ミラーリング対象データを転送するDMACとして機能するだけでなく、DMAC116と同様に、単に転送対象データを転送するDMACとして機能させることができる。DMAC119を転送対象データの転送用とするか、それともミラーリング対象データの転送用とするかは、たとえば、記憶部112に記憶されたミラーリング設定情報などの設定によって、切り替えることができる。
アービタ120は、メモリ103へのデータ転送を要求する複数のDMAチャネルの中から、メモリ103へのバス104を割り当てるDMAチャネルを調停する。この、アービタ120は、ミラーリングがおこなわれているときと、そうでないときとで、使用する調停方法を切り替えることができる。このとき、ミラーリングがおこなわれているときに用いられる調停方法は、記憶部112に記憶されたミラーリング設定情報に基づいて決定される。これにより、たとえば、ミラーリングがおこなわれていないとき(既定の状態)において、あるDMAチャネルによる転送を優先する動作をさせて、ミラーリングがおこなわれているときにおいては、各DMAチャネルが均一に転送をおこなうラウンドロビン動作をさせることができる。
(ミラーリング設定情報の一例)
つぎに、この発明の実施の形態にかかるダイレクトメモリアクセス制御装置に用いられるミラーリング設定情報の一例について説明する。図2は、この発明の実施の形態にかかるダイレクトメモリアクセス制御装置に用いられるミラーリング設定情報の一例を示す説明図である。
たとえば、図2に示すミラーリング設定情報において「ミラー元DMAチャンネル」には、ダイレクトメモリアクセス制御装置110に設けられた複数のDMAチャンネル(DMAC)のうち、転送時に使用するDMAチャンネルとして「チャンネル1」(たとえば図1に示したDMAC116)が設定されている。また、「ミラーリングDMAチャンネル」には、ミラーリング時に使用するDMAチャンネルとして「チャンネル4」(たとえば図1に示したDMAC119)が設定されている。ここでは、その他のDMAチャンネル(たとえば「チャンネル2」や、「チャンネル3」)を転送時またはミラーリング時に使用するDMAチャンネルとして設定することもできる。
また、図2に示すミラーリング設定情報において「ミラー対象データ(ミラーリング対象データ)」には、転送対象データを構成するデータ項目のうち、ミラーリング対象データとするデータ項目として、「転送先アドレス」が設定されている。ここでは、「転送元アドレス」や、「転送データ」など、その他のデータ項目をミラーリング対象とするデータ項目として設定することもできる。また、複数のデータ項目を設定することもできる。
また、図2に示すミラーリング設定情報において「ミラーリング頻度」には、ミラーリング頻度として、「1回目」が設定されている。ここでは、「毎回」や、「n回毎(nは任意または所定の値)」など、その他の頻度をミラーリング頻度として設定することもできる。
さらに、図2に示すミラーリング設定情報において「バス調停」には、複数のDMAチャネルの調停(アービトレーション)方法として、「強制ラウンドロビン」が設定されている。ここでは、「チャンネルnを優先」や「変更なし」(既定の優先度設定を用いる)などその他の方法をDMAチャネルの調停方法として設定することもできる。
たとえば、図2に示したミラーリング設定情報の設定では、1回のデータ転送に対して、1回だけ、転送元アドレスがミラーリング対象データとして、セレクタ117によって選択され、メモリ103(デバッグデータ領域)に記録される。これにより、たとえばユーザは、意図したデータパターンの固定データが転送されているか否かを検証することができる。また、メモリ103(デバッグデータ領域)への無駄なデータの大量な書き込みを防ぐことができる。
また、たとえば、ミラーリング対象データを「転送先アドレス」とし、ミラーリング頻度を「32回毎」とすることにより、外部デバイスの32wordの固定領域から、メモリ103にデータを転送する場合において、どのような順番で、どのデータが転送されたかを検証することができる。
また、たとえば、ミラーリング対象データを「転送データ」とし、ミラーリング頻度を「毎回」とすることにより、メモリ103から外部デバイスに対してデータを転送する場合において、読み取りできない領域に転送された転送データの内容を、読み取り可能な領域にミラーリングされたデータによって検証することができる。
(DMA制御処理の手順)
続いて、この発明の実施の形態にかかるダイレクトメモリアクセス制御装置によるDMA制御処理の手順について説明する。図3は、この発明の実施の形態にかかるダイレクトメモリアクセス制御装置によるDMA制御処理の手順の一例を示すフローチャートである。
なお、あらかじめ、ミラーリング設定情報が記憶部112に設定されているものとする。また、選択部114によって、複数のDMAコントローラの中から、第1のDMAコントローラとしてDMAC116が、第2のDMAコントローラとしてDMAC119が選択されているものとする。さらに、第1のDMAコントローラ(DMAC116)によるデータ転送形式と、第2のDMAコントローラ(DMAC119)によるデータ転送形式とがそれぞれ選択されていることとする。
まず、デバイス102からCPU101に、DMA要求信号が送信されることにより、CPU101からダイレクトメモリアクセス制御装置110にDMA設定情報が送信され、記憶部112にDMA設定情報が設定される(ステップS301)。
そして、CPU101からダイレクトメモリアクセス制御装置110にデータ転送開始信号が送信されることにより、DMAC116によって、記憶部112に設定されたDMA設定情報に基づくデータ転送が開始される(ステップS302)。これにより、DMAC116は、メモリ103(転送元データ領域)から転送対象データを読み取り(ステップS303)、ステップS303で読み取った転送対象データをFIFO(First In First Out)ルールに従い、アービタ120を介してメモリ103(転送先データ領域)へ転送する(ステップS304)。このとき、アービタ120によって、当該DMAのバス104への割り当てが調停される。
つぎに、セレクタ117によって、記憶部112に記憶されたミラーリング設定情報に基づいて、ステップS304でメモリ103(転送先データ領域)に対して転送された転送対象データの中から、ミラーリング対象データを選択する(ステップS305)。そして、バッファ118によって、ステップS305で選択されたミラーリング対象データを記憶する(ステップS306)。
続いて、DMAC119によって、バッファ118からミラーリング対象データを読み取る(ステップS307)。そして、DMAC119によって、記憶部112に記憶されたDMA設定情報に基づいて、ステップS307で読み取ったミラーリング対象データを、FIFO(First In First Out)ルールに従い、アービタ120を介してメモリ103(デバッグデータ領域)へ転送する(ステップS308)。このとき、アービタ120によって、当該DMAのバス104への割り当てが調停される。
さらに、制御回路111によって、転送対象データが全て転送されたか否かを判断する(ステップS309)。ステップS309において、転送対象データが全て転送されていないと判断した場合(ステップS309:No)は、ステップS309で転送対象データが全て転送されたと判断されるまで、ステップS303〜ステップS309が繰り返しおこなわれる。一方、ステップS309において、転送対象データが全て転送されたと判断した場合(ステップS309:Yes)は、一連の処理を終了する。
(転送データのデータ転送形式の一例)
続いて、この発明の実施の形態にかかるダイレクトメモリアクセス制御装置による転送データのデータ転送形式の一例について説明する。図4は、この発明の実施の形態にかかるダイレクトメモリアクセス制御装置による転送データのデータ転送形式の一例を示す説明図である。
図4に示すように、DAモードでは、転送元データ領域のサイズと同じサイズの転送先データ領域へ転送データを書き込むことができる。
また、DCAモードでは、転送元データ領域のサイズよりも小さいサイズの転送先データ領域へ転送データを書き込むことができる。このとき、転送先データ領域の終端まで書き込まれると、再び転送先データ領域の先頭から書き込みがおこなわれる。これが繰り返されることで、全ての転送データが書き込まれる。
そして、SCAモードでは、転送元データ領域のサイズよりも大きいサイズの転送先データ領域へ転送データを書き込むことができる。このとき、転送元データ領域の終端まで読み込まれると、再び転送元データ領域の先頭から読み込みがおこなわれる。これが繰り返されることで、転送先データ領域の全てに転送データが書き込まれる。
以上説明したように、この発明の実施の形態にかかるダイレクトメモリアクセス制御装置110は、メモリ103(転送元データ領域)から読み取った転送対象データを、メモリ103(転送先データ領域)へ転送するDMAC116と、転送対象データの複写データ(ミラーリング対象データ)を、メモリ103(デバッグデータ領域)へ転送する第2のDMAコントローラと、を備えたことにより、DMAを利用したデータ転送時におけるソフトウェアおよびハードウェアの正否を判断する際の判断材料として利用することが可能なデータをメモリ103(デバッグデータ領域)に記録することができる。これにより、たとえばユーザは、メモリ103(デバッグデータ領域)に記録されたデータによるソフトウェアおよびハードウェアの検証を容易におこなうことができる。この結果、ソフトウェアおよびハードウェアの品質向上を図ることができる。
また、この発明の実施の形態にかかるダイレクトメモリアクセス制御装置110は、転送対象データの複写データのうち、ミラーリング対象データを選択するセレクタ117を備えたことにより、ユーザが任意に選択した、DMAを利用したデータ転送時におけるソフトウェアおよびハードウェアの正否の判断に必要なデータのみを、メモリ103(デバッグデータ領域)に記録することができる。これにより、たとえばユーザは、メモリ103(デバッグデータ領域)に記録されたデータによるソフトウェアおよびハードウェアの検証を容易におこなうことができるだけでなく、メモリ103の資源を有効に利用することができる。この結果、ソフトウェアおよびハードウェアの小型化および品質向上を図ることができるだけでなく、ダイレクトメモリアクセス制御装置110や、ダイレクトメモリアクセス制御装置110を備えた装置の小型化およびコスト削減を図ることができる。
また、この発明の実施の形態にかかるダイレクトメモリアクセス制御装置110は、転送対象データの複写データのうち、転送元アドレス、転送先アドレス、転送データの少なくともいずれか一つを選択するセレクタ117を備えたことにより、ユーザが任意に選択した、DMAを利用したデータ転送時におけるソフトウェアおよびハードウェアの正否の判断に十分な、転送元アドレス、転送先アドレス、転送データの少なくともいずれか一つのデータを、メモリ103(デバッグデータ領域)に記録することができる。これにより、たとえばユーザは、メモリ103(デバッグデータ領域)に記録されたデータによるソフトウェアおよびハードウェアの検証を容易におこなうことができるだけでなく、メモリ103の資源を有効に利用することができる。この結果、ソフトウェアおよびハードウェアの小型化および品質向上を図ることができるだけでなく、ダイレクトメモリアクセス制御装置110や、ダイレクトメモリアクセス制御装置110を備えた装置の小型化およびコスト削減を図ることができる。
また、この発明の実施の形態にかかるダイレクトメモリアクセス制御装置110は、転送対象データの転送データ数を計測する計測部113と、計測部113によって計測された転送データ数に基づいて、転送対象データのうち、メモリ103(デバッグデータ領域)への転送対象データを、所定の周期で、所定の回数選択するセレクタ117と、を備えたことにより、ユーザが任意に選択した、DMAを利用したデータ転送時におけるソフトウェアおよびハードウェアの正否の判断に十分な、所定の周期かつ所定の回数のデータを、メモリ103(デバッグデータ領域)に記録することができる。これにより、たとえばユーザは、メモリ103(デバッグデータ領域)に記録されたデータによるソフトウェアおよびハードウェアの検証を容易におこなうことができるだけでなく、メモリ103の資源を有効に利用することができる。この結果、ソフトウェアおよびハードウェアの小型化および品質向上を図ることができるだけでなく、ダイレクトメモリアクセス制御装置110や、ダイレクトメモリアクセス制御装置110を備えた装置の小型化およびコスト削減を図ることができる。
また、この発明の実施の形態にかかるダイレクトメモリアクセス制御装置110は、セレクタ117によって選択された転送対象データを一時的に記憶するバッファ118を備えたことにより、DMAC116によるデータ転送タイミングに影響されることなく、任意のタイミングで、DMAを利用したデータ転送時におけるソフトウェアおよびハードウェアの正否を判断する際の判断材料として利用することが可能なデータをメモリ103(デバッグデータ領域)に記録することができる。これにより、メモリ103(デバッグデータ領域)に転送データを転送する際のデータ転送タイミング設計を柔軟におこなうことができるため、ダイレクトメモリアクセス制御装置110の開発期間の短期間化を図ることができるだけでなく、ダイレクトメモリアクセス制御装置110や、ダイレクトメモリアクセス制御装置110を備えた装置の小型化およびコスト削減を図ることができる。
また、この発明の実施の形態にかかるダイレクトメモリアクセス制御装置110は、複数のDMAコントローラの中から、第1のDMAコントローラとして用いるDMAコントローラおよび第2のDMAコントローラとして用いるDMAコントローラをそれぞれ選択することが可能な構成としたことにより、特別な装置を設けることなく、既存の装置(DMAコントローラ)を使用して、DMAを利用したデータ転送時におけるソフトウェアおよびハードウェアの正否を判断する際の判断材料として利用することが可能なデータをメモリ103(デバッグデータ領域)に記録することができる。この結果、ダイレクトメモリアクセス制御装置110の構成を簡素化することができ、ダイレクトメモリアクセス制御装置110の開発期間を短期間化することができるだけでなくダイレクトメモリアクセス制御装置110の小型化およびコスト削減を図ることができる。
また、この発明の実施の形態にかかるダイレクトメモリアクセス制御装置110は、第1のDMAコントローラによるデータ転送形式と、第2のDMAコントローラによるデータ転送形式とをそれぞれ選択することが可能な構成としたことにより、DMAコントローラごとに、他のDMAコントローラのデータ転送形式に影響されることなく、独立して、データ転送形式を設定することができる。これにより、各DMAコントローラの設定を変更したり、各DMAコントローラの動作に影響をおよぼしたりすることなく、DMAを利用したデータ転送時におけるソフトウェアおよびハードウェアの正否を判断する際の判断材料として利用することが可能なデータをメモリ103(デバッグデータ領域)に記録することができる。この結果、ダイレクトメモリアクセス制御装置110の構成を簡素化することができ、ダイレクトメモリアクセス制御装置110の開発期間を短期間化することができるだけでなく、ダイレクトメモリアクセス制御装置110の小型化およびコスト削減を図ることができる。
また、この発明の実施の形態にかかるダイレクトメモリアクセス制御装置110は、メモリ103へのデータ転送をおこなうDMAチャネルごとに、メモリ103へのバス104の割り当てを調停するアービタ120を備えたことにより、各DMAチャネル、特にDMAC119によるDMAチャネルに対するバス取得の機会を均一化することができる。これにより、たとえば、DMACによって読み取られるミラーリング対象データを記憶するバッファ118の記録容量を小型化することができる。この結果、ダイレクトメモリアクセス制御装置110の小型化およびコスト削減を図ることができる。
また、本実施の形態で説明したダイレクトメモリアクセス制御装置110に関する設計データを記録した記録媒体を用意してもよい。ここで、ダイレクトメモリアクセス制御装置110に関する設計データとは、ダイレクトメモリアクセス制御装置110を、HDLで記述されたRTL記述や、論理合成後のネットリストにより表現したコンピュータ読み取り可能な電子データである。このような設計データを、テストツールがインストールされたコンピュータ装置上で展開することにより、製造前においてシミュレーションテストなどを実行することができる。
また、このような設計データをFPGA(Field Programmable Gate Array)などのPLD(Programmable Logic Device)に書き込み可能に加工した上でPLDにダウンロードすることにより、上述したダイレクトメモリアクセス制御装置110を製造することもできる。
(付記1)転送元のメモリから読み取った転送データを、転送先のメモリへ転送する第1のDMAコントローラと、
前記第1のDMAコントローラによって前記転送先のメモリへ転送される転送データの複写データを、前記転送先のメモリのうち前記転送データとは異なる領域へ転送する第2のDMAコントローラと、
を備えることを特徴とするダイレクトメモリアクセス制御装置。
(付記2)前記第1のDMAコントローラによって前記転送先のメモリへ転送される転送データの複写データのうち、前記転送データとは異なる領域への転送対象データを選択するセレクタを備え、
前記第2のDMAコントローラは、
前記セレクタによって選択された転送対象データを、前記転送データとは異なる領域へ転送することを特徴とする付記1に記載のダイレクトメモリアクセス制御装置。
(付記3)前記セレクタは、前記第1のDMAコントローラによって前記転送先のメモリへ転送される転送データの複写データのうち、転送元アドレス、転送先アドレス、転送データの少なくともいずれか一つを、前記転送データとは異なる領域への転送対象データとして選択することを特徴とする付記2に記載のダイレクトメモリアクセス制御装置。
(付記4)前記第1のDMAコントローラによって前記転送先のメモリへ転送される転送データの転送データ数を計測する計測手段を備え、
前記セレクタは、
前記計測手段によって計測された転送データ数に基づいて、前記第1のDMAコントローラによって前記転送先のメモリへ転送される転送データの複写データのうち、前記転送データとは異なる領域への転送対象データを、所定の周期で、所定の回数選択することを特徴とする付記2または3に記載のダイレクトメモリアクセス制御装置。
(付記5)前記セレクタによって選択された転送対象データを記憶する記憶手段を備え、
前記第2のDMAコントローラは、
前記記憶手段に記憶された転送対象データを、前記転送データとは異なる領域へ転送することを特徴とする付記2〜4のいずれか一つに記載のダイレクトメモリアクセス制御装置。
(付記6)複数のDMAコントローラの中から、前記第1のDMAコントローラとして用いるDMAコントローラおよび前記第2のDMAコントローラとして用いるDMAコントローラをそれぞれ選択する選択手段をさらに備えたことを特徴とする付記1〜5のいずれか一つに記載のダイレクトメモリアクセス制御装置。
(付記7)複数のデータ転送形式の中から、前記第1のDMAコントローラによるデータ転送に用いるデータ転送形式および前記第2のDMAコントローラによるデータ転送に用いるデータ転送形式をそれぞれ選択するデータ転送形式選択手段をさらに備えたことを特徴とする付記1〜6のいずれか一つに記載のダイレクトメモリアクセス制御装置。
(付記8)前記転送先のメモリへのデータ転送をおこなうDMAチャネルごとに、前記転送先のメモリへのバスの割り当てを調停する調停手段を備えたことを特徴とする付記1〜7のいずれか一つに記載のダイレクトメモリアクセス制御装置。
(付記9)付記1〜8に記載のダイレクトメモリアクセス制御装置の設計データを記録したコンピュータ読み取り可能な記録媒体。
以上のように、本発明にかかるダイレクトメモリアクセス制御装置および記録媒体は、DMA機能を備えた半導体集積回路による、ハードウェア検証およびソフトウェア検証に有用であり、特に、より高い故障検出率が要求されるハードウェア検証およびソフトウェア検証に適している。
この発明の実施の形態にかかるダイレクトメモリアクセス制御装置の回路構成を示す説明図である。 この発明の実施の形態にかかるダイレクトメモリアクセス制御装置に用いられるミラーリング設定情報の一例を示す説明図である。 この発明の実施の形態にかかるダイレクトメモリアクセス制御装置によるDMA制御処理の手順の一例を示すフローチャートである。 この発明の実施の形態にかかるダイレクトメモリアクセス制御装置による転送データのデータ転送形式の一例を示す説明図である。 従来技術によるダイレクトメモリアクセス制御装置の回路構成の一例を示す説明図である。 従来技術によるダイレクトメモリアクセス制御装置によるDMA制御処理の手順の一例を示すフローチャートである。
符号の説明
100 情報処理装置
101 CPU
102 デバイス
103 メモリ
104 バス
110 ダイレクトメモリアクセス制御装置
111 制御回路
112 記憶部
113 計測部
114 選択部
116 DMAC(第1のDMAコントローラ)
117 セレクタ
118 バッファ(記憶手段)
119 DMAC(第2のDMAコントローラ)
120 アービタ
500 情報処理装置
501 CPU
502 デバイス
503 メモリ
510 ダイレクトメモリアクセス制御装置
511 制御回路
512 記憶部
513 DMAC
514 アービタ

Claims (5)

  1. 転送元のメモリから読み取った転送データを、転送先のメモリへ転送する第1のDMAコントローラと、
    前記第1のDMAコントローラによって前記転送先のメモリへ転送される転送データの複写データを、前記転送先のメモリのうち前記転送データとは異なる領域へ転送する第2のDMAコントローラと、
    を備えることを特徴とするダイレクトメモリアクセス制御装置。
  2. 前記第1のDMAコントローラによって前記転送先のメモリへ転送される転送データの複写データのうち、前記転送データとは異なる領域への転送対象データを選択するセレクタを備え、
    前記第2のDMAコントローラは、
    前記セレクタによって選択された転送対象データを、前記転送データとは異なる領域へ転送することを特徴とする請求項1に記載のダイレクトメモリアクセス制御装置。
  3. 前記セレクタは、前記第1のDMAコントローラによって前記転送先のメモリへ転送される転送データの複写データのうち、転送元アドレス、転送先アドレス、転送データの少なくともいずれか一つを、前記転送データとは異なる領域への転送対象データとして選択することを特徴とする請求項2に記載のダイレクトメモリアクセス制御装置。
  4. 前記第1のDMAコントローラによって前記転送先のメモリへ転送される転送データの転送データ数を計測する計測手段を備え、
    前記セレクタは、
    前記計測手段によって計測された転送データ数に基づいて、前記第1のDMAコントローラによって前記転送先のメモリへ転送される転送データの複写データのうち、前記転送データとは異なる領域への転送対象データを、所定の周期で、所定の回数選択することを特徴とする請求項2または3に記載のダイレクトメモリアクセス制御装置。
  5. 請求項1〜4に記載のダイレクトメモリアクセス制御装置の設計データを記録したコンピュータ読み取り可能な記録媒体。
JP2007045617A 2007-02-26 2007-02-26 ダイレクトメモリアクセス制御装置および記録媒体 Pending JP2008210108A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007045617A JP2008210108A (ja) 2007-02-26 2007-02-26 ダイレクトメモリアクセス制御装置および記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007045617A JP2008210108A (ja) 2007-02-26 2007-02-26 ダイレクトメモリアクセス制御装置および記録媒体

Publications (1)

Publication Number Publication Date
JP2008210108A true JP2008210108A (ja) 2008-09-11

Family

ID=39786359

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007045617A Pending JP2008210108A (ja) 2007-02-26 2007-02-26 ダイレクトメモリアクセス制御装置および記録媒体

Country Status (1)

Country Link
JP (1) JP2008210108A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011054129A (ja) * 2009-09-04 2011-03-17 Internatl Business Mach Corp <Ibm> コンピュータ・システム及びコンピュータ・システムにおけるデータ転送方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011054129A (ja) * 2009-09-04 2011-03-17 Internatl Business Mach Corp <Ibm> コンピュータ・システム及びコンピュータ・システムにおけるデータ転送方法

Similar Documents

Publication Publication Date Title
US20240320080A1 (en) Memory module register access
KR101522293B1 (ko) 복수개의 스토리지를 개별 제어 가능한 테스트 장치
US7725621B2 (en) Semiconductor device and data transfer method
JP2023539737A (ja) 複数のコマンドサブキュー及び対応するアービタを有するメモリコントローラ
KR102478527B1 (ko) 이기종 메모리 시스템용 시그널링
EP4085339B1 (en) Command replay for non-volatile dual inline memory modules
US7340544B2 (en) Method of using bus and bus interface
KR20230017865A (ko) Dram을 위한 리프레시 관리
KR20220116033A (ko) 비휘발성 메모리 모듈에 대한 오류 복구
JP2006252267A (ja) システム検証用回路
US9513984B2 (en) Hardware signal logging in embedded block random access memory
CN102254569B (zh) 四倍数据速率qdr控制器及其实现方法
KR20080071366A (ko) 낸드 플래시를 구비하는 레이드 시스템에서 낸드 플래시의온도를 고려한 데이터 백업 장치 및 방법
JP2005084957A (ja) 回路動作検証装置および方法
JP2008210108A (ja) ダイレクトメモリアクセス制御装置および記録媒体
JP6112412B2 (ja) 入出力制御回路及び入出力制御回路における同期制御方法
JP2005141532A (ja) システムデバッグ装置
JP4222248B2 (ja) 試験方法
CN108664424B (zh) 一种确定最优延时的方法及设备
JP2020197857A (ja) 画像形成装置、その制御方法、及びプログラム
CN116597887B (zh) Lpddr芯片的降容测试方法、系统、设备以及存储介质
JP5673197B2 (ja) 試験プログラムおよび試験方法
KR20140113175A (ko) 버스 프로토콜 검사기, 이를 포함하는 시스템 온 칩 및 버스 프로토콜 검사 방법
JP2006227668A (ja) メモリモデルとプログラムと論理回路検証方法
JP2007018440A (ja) アーキテクチャ検証装置

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080730