JP4834362B2 - メモリ制御装置。 - Google Patents

メモリ制御装置。 Download PDF

Info

Publication number
JP4834362B2
JP4834362B2 JP2005271033A JP2005271033A JP4834362B2 JP 4834362 B2 JP4834362 B2 JP 4834362B2 JP 2005271033 A JP2005271033 A JP 2005271033A JP 2005271033 A JP2005271033 A JP 2005271033A JP 4834362 B2 JP4834362 B2 JP 4834362B2
Authority
JP
Japan
Prior art keywords
access
buffer
external memory
master
address
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.)
Expired - Fee Related
Application number
JP2005271033A
Other languages
English (en)
Other versions
JP2007080220A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2005271033A priority Critical patent/JP4834362B2/ja
Priority to US11/470,742 priority patent/US7516254B2/en
Priority to CNA2006101534891A priority patent/CN1932783A/zh
Priority to US11/669,495 priority patent/US20070124481A1/en
Publication of JP2007080220A publication Critical patent/JP2007080220A/ja
Application granted granted Critical
Publication of JP4834362B2 publication Critical patent/JP4834362B2/ja
Expired - Fee Related 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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1626Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
    • G06F13/1631Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests through address comparison

Description

本発明は、複数のマスタが外部メモリ上のデータを共有し、マスタと外部メモリ間のデータ転送を行うメモリ制御装置に関するものである。
従来、メモリ制御装置において、マスタのアクセス単位よりも、外部メモリへアクセスを行うインタフェースのアクセス単位が大きい場合、外部メモリ読み出しを効率的に行うため、外部メモリ側のアクセス単位分のデータバッファを設け、予めデータバッファ単位のデータを外部メモリから読み出して保持し、単位アドレス領域内のリードアクセスが連続して発生する場合には、外部メモリへアクセスせずに、データバッファから読み出しを行う技術が用いられている。ここで、特定のマスタが他マスタによって書き換えられた外部メモリ上のデータを読み出す際に、データバッファと外部メモリ間の整合性がとれていないことがあるため、データバッファを無効化する必要がある。この無効化アクセスによるマスタのアクセス回数を減らすために、データバッファの一部のアドレス(例えば16バイト境界のデータブロック毎の、例えば先頭アドレスや末尾のアドレス)を特定アドレスとし、マスタからの特定アドレスへの読み出しを検出すると、バッファ制御装置がデータバッファの無効化と、外部メモリからのアクセス単位分の読み出しを同時に行っているものが開示されている(特許文献1参照)。
特開平6−243037号公報(第6頁、第一図)
上述の公報に開示された装置では、マスタからのアクセスがランダムに行われる場合に、データバッファの一部のアドレスである特定アドレスへの読み出しが発生すると必ずデータバッファが無効化されるため、データバッファのヒット率が低くなり、外部メモリへのアクセス効率が悪くなってしまうという課題がある。
また、データバッファを無効化する必要が発生したときに、ダミーアクセスとして外部メモリ上の別のアドレス領域へのアクセスを発行するという手法が従来行われているが、外部メモリへアクセスを発行するため、無駄なアクセス時間を要するという課題がある。
また、マスタ間で排他制御を行わない比較的簡素なシステムでは、特定のマスタが、外部メモリ上にあるシステムのステータスが他マスタによって書き換えられることを検出するために、特定のアドレスにポーリングアクセスを行う場合に、同じアドレスへの読み出しが繰り返し行われるため、データバッファがヒットし続け、外部メモリとの整合性がとれなくなるという課題があるが、上述の公報はその解決手段を開示していない。
本発明は、このような事情に鑑みてなされたものであり、外部メモリへのアクセス効率の悪化を抑えつつ、確実に外部メモリとの整合性が得られるメモリ制御装置を提供することを目的とする。
上記課題を解決するため、本発明のメモリ制御装置は、マスタと外部メモリ間のデータ転送を行うメモリ制御装置であって、前記マスタからのアクセス要求を受け付け、前記外部メモリへのアクセス要求を出力するマスタインタフェースと、前記マスタインタフェースからのアクセス要求を受け付け、前記外部メモリへのアクセスを行う外部メモリインタフェースとを備え、前記マスタインタフェースは、アクセス要求時に前記外部メモリインタフェースから転送されたデータを保持するデータバッファと、アクセス要求されたアドレスを保持するアドレスバッファと、新たにアクセス要求されたアドレスと前記アドレスバッファに保持されているアドレスを比較し、前記データバッファに保持されているデータのアドレス範囲内で一致しているか否かの第1の比較情報を出力する第1の比較手段と、前記第1の比較情報が不一致を示している場合には、前記外部メモリインタフェースへアクセス要求を発行し、前記第1の比較情報が一致を示している場合には、前記外部メモリインタフェースへアクセスを発行せずに、前記データバッファからマスタにデータの出力を行うバッファ制御手段と、前記第1の比較情報が一致か不一致かによらず、前記マスタから前記外部メモリ上の特定アドレスへのアクセス要求を検出すると、前記外部メモリインタフェースへアクセス要求を発行するか否かを判別して前記バッファ制御手段を制御する特定アクセス検出手段とを備える。
また、前記特定アクセス検出手段は、前記新たにアクセス要求されたアドレスと前記外部メモリ上の特定アドレスとを比較し、一致しているか否かの第2の比較情報を前記バッファ制御手段に出力する第2の比較手段と、前記第2の比較情報が一致を示している場合には、前記アドレスバッファの内容を無効化し、擬似的にアクセス応答するよう前記バッファ制御手段を制御するバッファ無効化手段とを備えてもよい。
また、前記特定アドレスは、外部メモリインタフェースがアクセス制御時に使用するため、前記マスタからのアクセスが禁止されている外部メモリ上の特定領域における一部のアドレスであるとしてもよい。
また、前記特定アクセス検出手段は、さらに、特定アドレスを任意に設定可能な特定アドレス設定レジスタを備えてもよい。
また、前記メモリ制御装置は、さらに、前記外部メモリ上の共有データが更新されたことを示す通知を受け付け、前記マスタインタフェースに、前記特定のアドレスへのアクセス要求を発行するダミーアクセス発行手段を備えてもよい。
また、前記特定アクセス検出手段は、前記第1の比較情報が一致及び不一致の何れを示しているかによらず、前記新たにアクセス要求されたアドレスと過去にアクセス要求されたアドレスとの比較に基づいて、前記外部メモリインタフェースへのアクセス要求を強制的に発行するか又は禁止するよう前記バッファ制御手段を制御してもよい。
また、前記特定アクセス検出手段は、前記マスタからのアクセスが、前記外部メモリインタフェースへのアクセスであったか、前記データバッファへのアクセスであったかを示す履歴情報を保持しているバッファアクセス履歴保持手段と、前記新たにアクセス要求されたアドレスと前記アドレスバッファに保持されているアドレスを比較し、完全に一致しているか否かの第3の比較情報をバッファ更新手段に出力する第3の比較手段と、前記第3の比較情報が一致を示し、かつ前記バッファアクセス履歴保持手段の履歴情報が前記データバッファへのアクセスを示している場合には、前記外部メモリインタフェースへアクセス要求を強制的に発行するよう前記バッファ制御手段を制御するバッファ更新手段とを備えてもよい。
また、前記メモリ制御装置は、さらに、前記外部メモリ上の共有データが更新されたことを示す通知を受け付け、対応するマスタインタフェースに、前記アドレスバッファに保持されているアドレスへのアクセス要求を発行するダミーアクセス発行手段を備えてもよい。
また、前記マスタは、DMAコントローラであり、前記通知は、前記DMAコントローラの起動要求を表し、前記ダミーアクセス発行手段は、前記通知を受け付けると、前記アクセス要求の発行後に、データ転送を開始するよう前記DMAコントローラを制御してもよい。
また、前記DMAコントローラは複数のチャネルを備え、前記通知は、前記複数のチャネルの一つの起動要求を表し、前記メモリ制御装置は、さらに、前記チャネル毎にイネーブル及びディセーブルの何れかに設定されるダミーアクセス制御レジスタを備え、前記ダミーアクセス発行手段は、前記通知によって起動要求されたチャネルについて、前記ダミーアクセス制御レジスタがディセーブルに設定されている場合には、前記アクセス要求の発行を禁止してもよい。
また、前記DMAコントローラは複数のチャネルを備え、前記通知は、前記複数のチャネルの一つの起動要求を起動要因と共に表し、前記メモリ制御装置は、さらに、起動要因毎にイネーブル及びディセーブルの何れかに設定され、各チャネルで共用されるダミーアクセス制御レジスタを備え、前記ダミーアクセス発行手段は、前記通知によって表された起動要因について、前記ダミーアクセス制御レジスタがディセーブルに設定されている場合には、前記アクセス要求の発行を禁止してもよい。
また、前記特定アクセス検出手段は、アクセス要求されたアドレスを少なくとも含むアクセス情報を保持しているアクセス履歴バッファと、前記新たにアクセス要求されたアドレスを少なくとも含む新たなアクセス情報と前記アクセス履歴バッファに保持されたアクセス情報を比較し、同一のアクセスが繰り返されたか否かの第4の比較情報を出力する第4の比較手段と、前記第4の比較情報が繰り返しアクセスを示している場合には、前記外部メモリインタフェースへアクセス要求を強制的に発行するよう前記バッファ制御手段を制御するバッファ無効化手段とを備えてもよい。
また、前記バッファ無効化手段は、外部メモリインタフェースへアクセス要求を発行するようバッファ制御手段を制御する際に、前記第4の比較情報が繰り返しアクセスを示している場合には、前記新たなアクセス要求に示される要求サイズ分のデータを要求するアクセス要求を発行するよう制御し、前記第4の比較情報が繰り返しアクセスでないことを示している場合には、前記データバッファのサイズ分のデータを要求するアクセス要求を発行するように制御してもよい。
また、前記メモリ制御装置は、さらに、前記第4の比較情報が繰り返しアクセスを示している場合には、前記外部メモリインタフェースから読み出したデータで前記データバッファの内容を更新するバッファ更新手段を備えてもよい。
また、前記外部メモリインタフェースは、前記外部メモリ上のアドレスを任意に設定可能なポーリングアドレス設定レジスタと、前記ポーリングアドレス設定レジスタに設定されたアドレスへのリードアクセスでセットされ、ライトアクセスでリセットされるポーリングアクセス履歴保持手段と、前記マスタインタフェースから前記ポーリングアドレス設定レジスタに設定されたアドレスへリードアクセス要求があった際に、前記ポーリングアクセス履歴保持手段がセットされていれば、前記外部メモリへのアクセスを禁止し、前記外部メモリをアクセスする場合に比べて短時間の内に、前記マスタインタフェースへ応答する外部メモリ選択手段とを備え、前記特定アクセス検出手段は、さらに、前記外部メモリインタフェースから所定時間以内に応答があった場合には、前記データバッファに保持されているデータを前記マスタへ出力するよう前記バッファ制御手段を制御するバッファ選択手段を備えてもよい。
また、前記ポーリングアクセス履歴保持手段は、さらに、前記マスタインタフェースからの前記ポーリングアドレス以外へのリードアクセスでリセットされるとしてもよい。
また、本発明は、このようなメモリ制御装置として実現することができるだけでなく、そのようなメモリ制御装置が備える特徴的な手段によって実行される処理をステップとするメモリ制御方法として実現することも、また、メモリ制御用の集積回路装置として実現することもできる。
本発明に係るメモリ制御装置によれば、特定アドレスが外部メモリ上に定められるため、マスタがデータバッファ内のデータをランダムにアクセスする場合に、所望しないデータバッファの無効化が行われることがなくなる。これにより、データバッファのヒット率の低下を防ぐことができ、効率良く外部メモリへアクセスすることができる。
また、特定アドレスへのアクセス要求を発行した場合、データバッファは無効化されるが、外部メモリへのアクセスが行われないので、他マスタによって書き換えられる外部メモリ上のデータにポーリングアクセスを行う場合のように、必要な無効化を行う際に無駄なアクセスが外部メモリまで出て行かない。これにより、外部メモリへのアクセス負荷を増大させることなく、データバッファと外部メモリ間の整合性を保証することができる。
以下、本発明の実施の形態について図面を参照しながら説明する。
(実施の形態1)
図1は、実施の形態1におけるメモリ制御装置190の機能的な構成の一例を示すブロック図である。図1には、メモリ制御装置190と共に、第1マスタ100、第2マスタ130、第3マスタ150、及び外部メモリ180が示される。
第1マスタ100、第2マスタ130、及び第3マスタ150は、それぞれメモリ制御装置190を介して、外部メモリ180上のデータにアクセスする。
メモリ制御装置190は、各マスタによって共有される外部メモリ180の共有領域181にあるデータへの、各マスタからのアクセス要求を処理する装置であり、第1マスタ100、第2マスタ130、及び第3マスタ150にそれぞれ対応して設けられる第1マスタI/F(インタフェース)110、第2マスタI/F140、及び第3マスタI/F160、並びに外部メモリI/F170から構成される。
外部メモリ180は、外部メモリI/F170に接続され、共有領域181と特定領域182とを含む。
共有領域181は、外部メモリ180上の一部の領域であり、各マスタ間で共有されるデータが保持される。具体的には、共有領域181は、例えば第2マスタ130から第1マスタ100へのデータ受け渡しに用いられる。
特定領域182は、外部メモリ180上に存在し、例えば、外部メモリI/Fがリシンク等のアクセス制御時に使用するため、各マスタからのアクセスが禁止されている特定アドレスで示される領域である。
第1マスタ100は、第1マスタI/F110に接続され、CPU101を持つ。
第2マスタ130は、共有領域181上のデータを書き換えると、第1マスタ100に対して割込み要求信号を出力する。この信号が入力されると第1マスタ100におけるCPU101は、第1マスタI/F110へリードアクセス要求を出力することによって、共有領域181上の書き換えられたデータの読み出しを開始する。
第1マスタI/F110は、第1マスタ100からのアクセス要求を受け付け、外部メモリI/F170へのアクセス要求を発行するインタフェースであり、バッファ制御部111と、特定アクセス検出部123とから構成される。
バッファ制御部111は、データバッファ112、アドレスバッファ113、及び第1比較部114から構成される。特定アクセス検出部123は、バッファ無効化部120、第2比較部121、及び特定アドレスレジスタ122から構成される。
データバッファ112は、外部メモリ180上のデータの少なくとも一部の複製を保持している。
アドレスバッファ113は、データバッファ112に保持されているデータのアドレスを保持している。
第1比較部114は、第1マスタ100からアクセス要求されるアドレスと、アドレスバッファ113に保持されているアドレスとを比較することにより、第1マスタ100からアクセス要求されるアドレスがデータバッファ112に保持されているデータのアドレス範囲内で一致しているか否かを示す第1の比較情報を出力する。
バッファ制御部111は、バッファ無効化部120から無効化制御信号が出力されておらず、かつ第1比較部114の第1の比較情報が不一致を示している場合には、外部メモリI/F170へアクセス要求を発行し、一致を示している場合には、データバッファ112に保持されているデータを第1マスタ100へ出力する。
特定アドレスレジスタ122は、CPU101から、外部メモリ180における特定領域182のアドレスを設定され、保持している。
第2比較部121は、第1マスタ100からアクセス要求されるアドレスと、特定アドレスレジスタ122に保持されているアドレスとを比較し、一致しているか否かを示す第2の比較情報をバッファ無効化部120に出力する。
バッファ無効化部120は、第2比較部121から第2の比較情報を取得し、取得された第2の比較情報が一致を示している場合には無効化制御信号をバッファ制御部111に出力する。
バッファ制御部111は、この無効化制御信号が入力されると、データバッファ112を無効化し、即座に第1マスタ100へアクセス応答する。これにより、第1マスタ100から次回アクセス要求時には、第1比較部114の第1の比較情報に関係なく、外部メモリI/F170へのアクセス要求が発行される。
データバッファ112の無効化は、具体的に、例えばアドレスバッファ113を、第1比較部114が、本来の比較結果とは関係なく不一致を示す第1の比較情報を出力するように、無効なアドレスで更新することによって行ってもよい。また、データバッファが無効化されているか否かを表す図示しないレジスタを設けて、その内容を更新することによって行ってもよい。
第2マスタ130は、第2マスタI/F140に接続される。
第2マスタI/F140は、第2マスタ130からのアクセス要求を受け付け、外部メモリI/F170へのアクセス要求を発行する。
第3マスタ150は、第3マスタI/F160に接続される。
第3マスタI/F160は、第3マスタ150からのアクセス要求を受け付け、外部メモリI/F170へのアクセス要求を発行する。
第2マスタI/F140及び第3マスタI/F160は、それぞれ第1マスタI/F110と同様の構成を有するので、説明を省略する。
外部メモリI/F170は、第1マスタI/F110、第2マスタI/F140、第3マスタI/F160からの、それぞれのアクセス要求を受け付け、外部メモリ180へアクセスを行う。
(動作の説明1)
次に、実施の形態1の動作例について説明する。
図2は、実施の形態1におけるメモリ制御装置190の動作例を表すフローチャートである。
第1マスタ100は、特定アドレスレジスタ122に対して外部メモリ180上の特定領域182を示すアドレス値を設定する(S1101)。
第2マスタ130は、第1マスタ100へ受け渡しを行うデータを外部メモリ180上の共有領域181へ書き込むと(S1102)、受け渡すべきデータの準備が整ったことを通知するため第1マスタ100へ割り込み要求を発行する(S1103)。
第1マスタ100は、第2マスタ130からの割り込み要求を受け付けると、通常動作ではアクセスが禁止されている外部メモリ180上の特定領域182へライトアクセス要求を発行する(S1104)。このライトアクセス要求を処理するため、サブルーチンである第1処理が呼び出される(S1107)。第1処理の詳細については後述する。
第1マスタ100は、第2マスタ130によって外部メモリ180上の共有領域181に書き込まれたデータを読み出すためにリードアクセス要求を発行する(S1105)。このリードアクセス要求を処理するため、第1処理が呼び出される(S1113)。
第1マスタ100は、共有領域181に書き込まれたデータの読み出しを完了するまで、S1105に戻ってリードアクセス要求を発行し(S1106でNo)、読み出しを完了すると動作を終了する(S1106でYes)。
次に、第1処理について説明する。この処理は、第1マスタI/F110によって実行されるサブルーチン処理である。
第2比較部121からの第2の比較情報が一致を示している場合(S1108でYes)、バッファ無効化部120は、無効化制御信号をバッファ制御部111に出力することによって、バッファ制御部111がデータバッファ112を無効化して、即座に第1マスタ100へアクセス応答するよう制御する(S1109)。ここで、このアクセス応答は、外部メモリI/F170へアクセス要求を発行してからアクセス応答するまでの時間に比べて、充分短い時間のうちになされることに注意する。
第2の比較情報が不一致を示している場合には、無効化制御信号は出力されず(S1108でNo)、バッファ制御部111は、第1比較部114からの第1の比較情報が一致を示していれば(S1110でYes)、データバッファ112に保持されているデータを第1マスタ100に出力し(S1111)、第1の比較情報が不一致を示していれば(S1110でNo)、外部メモリI/F170へアクセス要求を発行する(S1112)。
なお、初期状態においてデータバッファ112は無効化されているとしてもよい。そうすれば、最初に呼び出される第1処理では、第1の比較情報も第2の比較情報も不一致を示し(S1108、S1110で共にNo)、必ずステップS1112で外部メモリI/F170へのアクセス要求が発行される。
以上の構成によれば、データバッファの無効化のための特定アドレスを、データバッファの外の外部メモリ上に設定することが可能となる。そのため、マスタがデータバッファ内のデータをランダムにアクセスする場合に、所望しないデータバッファの無効化が行われることがなくなり、データバッファのヒット率の低下を防ぐことができ、効率良く外部メモリへアクセスすることができる。
また、特定のマスタが、他マスタによって書き換えられる外部メモリ上のデータにポーリングアクセスを行う場合のように、必要に応じて無効化のためのアクセスを行う時でも、外部メモリへのアクセスが行われないため、無駄なアクセスが省かれる。
これにより、無効化によって外部メモリへのアクセス負荷を増大させることなく、しかも無効化の直後には必ず外部メモリへのアクセスが行われるため、データバッファと外部メモリ間の整合性を確実に得ることができる。
実施の形態1では、外部メモリ上の特定領域における一部のアドレスを、データバッファの無効化のための特定アドレスとして利用する構成について説明した。
しかしながら、実施の形態1の構成では、外部メモリI/Fがアクセス制御時に使用する特定領域が不明な場合や、確保できない場合には、特定アドレスを設定できないという課題がある。このような課題を解決するために、外部メモリ上の特定領域を用いずに、データバッファの無効化が可能となる構成が望まれる。
以下、そのような構成について、実施の形態2で説明する。
(実施の形態2)
図3は、実施の形態2におけるメモリ制御装置191の機能的な構成の一例を示すブロック図である。図3には、メモリ制御装置191と共に、第1マスタ100、第2マスタ130、第3マスタ150、及び外部メモリ180が示される。
メモリ制御装置191は、実施の形態1において説明したメモリ制御装置190(図1を参照)の第1マスタI/F110における特定アクセス検出部123を、特定アクセス検出部224に置き換えて構成される。図3において、メモリ制御装置190と同様の機能ブロックについては、同一の番号を付し、その説明を省略する。
特定アクセス検出部224は、同一のアドレスへの連続するアクセス要求があった場合、1回おきに強制的に外部メモリ180へアクセスするようバッファ制御部111を制御する部であり、バッファ更新部220、バッファアクセス履歴保持部221、及び第3比較部223から構成される。
バッファアクセス履歴保持部221は、第1マスタ100からのアクセス要求があると、そのアクセス要求に応じて行われたアクセスが、外部メモリI/F170へのアクセスであったか、データバッファ112へのアクセスであったかを示す履歴情報を保持する。
この履歴情報は、具体的には、第1マスタ100からの前記アクセス要求に応じて、外部メモリI/F170へのアクセス要求が発行されたか、データバッファ112から第1マスタ100にデータの出力が行われたかを表している。
第3比較部223は、第1マスタ100からアクセス要求されるアドレスと、アドレスバッファ113に保持されたアドレスを比較し、完全に一致しているか否かの第3の比較情報をバッファ更新部220に出力する。
バッファ更新部220は、第3比較部223から第3の比較情報を取得し、またバッファアクセス履歴保持部221から履歴情報を取得する。そして、第3の比較情報が一致を示し、かつ履歴情報がデータバッファへのアクセスを示している場合には、更新制御信号をバッファ制御部111に出力する。バッファ制御部111は、この更新制御信号を与えられると、第1比較部114の第1の比較情報に関係なく、外部メモリI/F170へのアクセス要求を発行する。
(動作の説明2)
次に、実施の形態2の動作例について説明する。
図4は、実施の形態2におけるメモリ制御装置191の動作例を表すフローチャートである。
動作の説明1において説明したメモリ制御装置190の動作例(図2を参照)と同様のステップについては、同一の番号を付し、その説明を省略する。
第1マスタ100は、第2マスタ130からの割り込み要求を受け付けると、共有領域から最初にデータを読み出すことが予定されているアドレスへのリードアクセス要求を予備的に発行する(S1201)。このリードアクセス要求を処理するため、サブルーチンである第2処理が呼び出される(S1202)。第2処理の詳細については後述する。
その後、第1マスタ100は、第2マスタ130によって外部メモリ180上の共有領域181に書き込まれたデータを読み出すためにリードアクセス要求を発行する。このリードアクセス要求を処理するため、第2処理が呼び出される(S1205)。
第2処理において、第3比較部223からの第3の比較情報が一致を示している場合には(S1203でYes)、バッファアクセス履歴保持部221の履歴情報がデータバッファ112へのアクセスを示していれば(S1204でYes)、バッファ更新部220は、第1の更新制御信号をバッファ制御部111に出力することによって、バッファ制御部111が外部メモリI/F170へのアクセス要求を発行するよう制御する(S1112)。また、バッファアクセス履歴保持部221の履歴情報が外部メモリ180へのアクセスを示していれば(S1204でNo)、バッファ更新部220は、第2の更新制御信号をバッファ制御部111に出力することによって、バッファ制御部111がデータバッファ112のデータを第1マスタ100へ出力するよう制御する(S1111)。
他方、第3比較部223からの第3の比較情報が不一致を示している場合には、第1及び第2の更新制御信号は出力されず(S1203でNo)、バッファ制御部111は、第1比較部114からの第1の比較情報が一致を示していれば(S1110でYes)、データバッファ112に保持されているデータを第1マスタ100に出力し(S1111)、第1の比較情報が不一致を示していれば(S1110でNo)、外部メモリI/F170へアクセス要求を発行する(S1112)。
ここで、ステップS1201での予備的なリードアクセスから、ステップS1105での最初のデータ読み出しにおいて、外部メモリへのアクセス負荷の増大なしに、データバッファと外部メモリ間の整合性が保証されることを説明する。
ステップS1201で、共有領域から最初に読み出すことが予定されているデータへの予備的なリードアクセス要求が発行されているため、ステップS1105での最初のデータ読み出しから呼び出されるステップS1203では必ず第3の比較情報が一致を示す。
ステップS1204でバッファアクセス履歴保持部221の履歴情報が参照される。このときの履歴情報は、前述した予備的なリードアクセス要求に応じて、データバッファ112がアクセスされたか外部メモリ180がアクセスされたかを示している。
データバッファ112へのアクセスが示されている場合には、ステップS1112で外部メモリI/Fへのリードアクセス要求が発行され、最新のデータが取得されるので、データバッファ112と外部メモリ180間の整合性は保証される。
他方、外部メモリ180へのアクセスが示されている場合には、ステップS1111でデータバッファのデータが出力されるが、その内容は、直前の予備的なアクセス要求で外部メモリから取得されたばかりの最新の内容であり、やはり、データバッファ112と外部メモリ180間の整合性は保証される。
そして、この両者の何れにおいても、外部メモリ180へのアクセスは、一回で済んでいる。
以上の構成によれば、アクセス開始アドレスをダミーアクセスに使用することによって、外部メモリ180上に実施の形態1で述べたような特定領域を設定できない場合においても、外部メモリへの無駄なアクセス時間を増やすことなく、データバッファの無効化が可能となるという効果が得られる。
実施の形態2では、連続する同一アドレスへのリードアクセスによって、外部メモリへの無駄なアクセスを増やすことなく、外部メモリから最新のデータを取得可能とするための構成について説明した。
しかしながら、実施の形態1や実施の形態2では、データバッファを無効化して外部メモリから最新のデータを取得するため、プログラムの実行によって意識的に、特定アドレスへの事前のライトアクセスや、アクセス開始アドレスへの予備的なリードアクセスを発行する必要がある、言い換えれば、ソフトウェアによるケアが必要となるという課題がある。このような課題を解決するために、ソフトウェアによるケアなしに、データバッファの無効化が可能となる構成が望まれる。
以下、そのような構成について、実施の形態3と実施の形態4とで説明する。
(実施の形態3)
図5は、実施の形態3におけるメモリ制御装置192の機能的な構成の一例を示すブロック図である。図5には、メモリ制御装置192と共に、第1マスタ100、第2マスタ130、第3マスタ150、及び外部メモリ180が示される。
メモリ制御装置192は、実施の形態1において説明したメモリ制御装置190(図1を参照)に、ダミーアクセス発行部302を追加して構成される。図5において、メモリ制御装置190と同様の機能ブロックについては、同一の番号を付し、その説明を省略する。
ダミーアクセス発行部302は、外部メモリ180上の共有領域181のデータが更新されたことを示す通知である割込み要求を第2マスタ130から受け付け、第1マスタI/F110に、前述した特定アドレスへのアクセス要求を発行する部である。
ダミーアクセス発行部302は、前記アクセス要求への応答を第1マスタI/F110から受け取ると、CPU101へアクセス完了通知を発行する。
ここで、割込み要求とアクセス完了通知とは同じ規格の信号であるとし、実施の形態1において第2マスタ130からCPU101へ供給されていた割込み要求を、ダミーアクセス発行部302が中継すると考えてもよい。
(動作の説明3)
次に、実施の形態3の動作例について説明する。
図6は、実施の形態3におけるメモリ制御装置192の動作例を表すフローチャートである。
動作の説明1において説明したメモリ制御装置190の動作例(図2を参照)と同様のステップについては、同一の番号を付し、その説明を省略する。
ダミーアクセス発行部302は、割込み要求を受け付けると、特定アドレスへのアクセス要求(以下では、ダミーアクセス要求とも記す)を、第1マスタI/F110へ発行する(S1301)。
そして、ダミーアクセス発行部302は、第1マスタI/F110からアクセス応答を受け取ると、CPU101にアクセス完了通知を発行する(S1302)。
以上の構成により、無効化のためのアクセスがダミーアクセス発行部302から第1マスタI/F110へと発行されるので、ソフトウェアで意識的にダミーアクセス要求を発行する必要がなくなり、しかもデータバッファと外部メモリ間の整合性を保証できることは変わらないという効果がある。
(実施の形態4)
次に、実施の形態4の構成について説明する。
図7は、実施の形態4におけるメモリ制御装置193の機能的な構成の一例を示すブロック図である。図7には、メモリ制御装置193と共に、第1マスタ100、第2マスタ130、第3マスタ150、及び外部メモリ180が示される。
メモリ制御装置193は、実施の形態2において説明したメモリ制御装置191(図3を参照)に、ダミーアクセス発行部402を追加して構成される。図7において、メモリ制御装置191と同様のブロックについては、同一の番号を付し、その説明を省略する。
ダミーアクセス発行部402は、外部メモリ180上の共有領域181のデータが更新されたことを示す通知である割込み要求を第2マスタ130から受け付け、第1マスタI/F210に、前述した特定アドレスへのアクセス要求を発行する部である。
ダミーアクセス発行部402は、前記アクセス要求への応答を第1マスタI/F110から受け取ると、CPU101へアクセス完了通知を発行する。
ここで、割込み要求とアクセス完了通知とは同じ規格の信号であるとし、実施の形態2において第2マスタ130からCPU101へ供給されていた割込み要求を、ダミーアクセス発行部402が中継すると考えてもよい。
(動作の説明4)
次に、実施の形態4の動作例について説明する。
図8は、実施の形態4におけるメモリ制御装置193の動作例を表すフローチャートである。
動作の説明2において説明したメモリ制御装置191の動作例(図4を参照)と同様のステップについては、同一の番号を付し、その説明を省略する。
ダミーアクセス発行部402は、割込み要求を受け付けると、共有領域から最初に読み出すデータのアドレスへのダミーアクセス要求を、第1マスタI/F210へ発行する(S1401)。
そして、ダミーアクセス発行部402は、第1マスタI/F210からアクセス応答を受け取ると、CPU101にアクセス完了通知を発行する(S1402)。
以上の構成により、無効化のためのアクセスがダミーアクセス発行部402から第1マスタI/F210へと発行されるので、ソフトウェアで意識的にダミーアクセス要求を発行する必要がなくなり、しかもデータバッファと外部メモリ間の整合性を保証できることは変わらないという効果がある。
なお、実施の形態3及び実施の形態4では、第1マスタ100のCPU101に代わって、ダミーアクセス発行部302及び402がダミーアクセス要求を発行するとしたが、DMAC(DMAコントローラ)を備えるマスタにダミーアクセス発行部を適用してもよい。その場合、前述した割込み要求は、DMACの起動要求を表す。DMACは一般的に、ダミーアクセスを発行するためのプログラム実行機能を持たないから、ダミーアクセス発行部がDMACに代わってダミーアクセス要求を発行する意義は大きい。
実施の形態3及び実施の形態4では、第1マスタ100のCPU101に代わって、ダミーアクセス発行部302及び402がダミーアクセス要求を発行することによって、ソフトウェアによるケアを不要にし、しかもデータバッファと外部メモリ間の整合性を保証できる構成について説明した。また、そのような構成が、DMACを備えるマスタに特に好適であることを説明した。
しかしながら、一般にDMACは複数のチャネルを持っており、その中には、例えば外部入出力デバイスからデータを転送するチャネルのように、起動要求が掛かった際にダミーアクセス要求を行うと、最初のデータが読み捨てられてしまうという問題を生じるチャネルがあることも考えられる。そのため、チャネル毎や起動要因毎にダミーアクセス要求の発行を禁止できる構成が望まれる。
以下、そのような構成について、実施の形態5と実施の形態6とで説明する。
(実施の形態5)
図9は、実施の形態5におけるメモリ制御装置194の機能的な構成の一例を示すブロック図である。図9には、メモリ制御装置194と共に、第1マスタ500、第2マスタ130、第3マスタ150、及び外部メモリ180が示される。
メモリ制御装置194は、実施の形態4において説明したメモリ制御装置193(図7を参照)のダミーアクセス発行部402に代えて、DMACのチャネルに固有のダミーアクセス発行部504及びダミーアクセス制御レジスタ503を備える。図9において、メモリ制御装置193と同様の機能ブロックについては、同一の番号を付し、その説明を省略する。また、第1マスタI/F210の詳細な記載を省略する。
第1マスタ500は、CPU101及びDMAC501から構成される。DMAC501は、3チャネルのDMAコントローラであり、第1チャネル502、第2チャネル505、及び第3チャネル506から構成される。第1チャネル502の中に、メモリ制御装置194の一部分としてのダミーアクセス発行部504及びダミーアクセス制御レジスタ503が示される。
第1チャネル502は、第2マスタ130から起動要求を受け付けると、例えば図示しない構成レジスタに予め設定された内容に従ってデータ転送を開始する。
ダミーアクセス制御レジスタ503は、第1チャネル502に起動要求が受け付けられた際にダミーアクセスを発行するか否か(イネーブルかディセーブルか)の設定を保持しており、設定内容をダミーアクセス発行部504に出力する。
同様のダミーアクセス制御レジスタが、第2チャネル505、第3チャネル506にもそれぞれ設けられる(図示省略)。
ダミーアクセス発行部504は、起動要求が受け付けられると、ダミーアクセス制御レジスタ503にイネーブルが設定されていれば、前述したダミーアクセス発行部402が発行するダミーアクセス要求と同等のダミーアクセス要求を発行し、ディセーブルが設定されていれば、前記ダミーアクセス要求の発行を禁止する。
同様のダミーアクセス発行部が、第2チャネル505、第3チャネル506にもそれぞれ設けられる(図示省略)。
第2チャネル505、及び第3チャネル506は、第1チャネル502と同様に構成され、それぞれ、起動要求を受け付けると、ダミーアクセス制御レジスタの設定内容に応じてダミーアクセス要求を発行した後、予め定められたデータ転送を開始する。
(動作の説明5)
次に、実施の形態5の動作例について説明する。
図10は、実施の形態5におけるメモリ制御装置194の動作例を表すフローチャートである。
動作の説明4において説明したメモリ制御装置193の動作例(図8を参照)と同様のステップについては、同一の番号を付し、その説明を省略する。ここでは、ダミーアクセス発行部504は、ダミーアクセス発行部402が発行するダミーアクセス要求と同様のダミーアクセス要求を発行するとして説明する。
CPU101は、ダミーアクセス制御レジスタ503に対して、ダミーアクセス要求を発行するか否かの設定を、チャネル毎に行う(S1501)。
外部メモリ180上の共有領域181が更新され、第2マスタ130から割り込み要求(ここでは第1チャネル502への起動要求であるとする)を受け付けると、起動を要求された第1チャネル502のダミーアクセス発行部504は、ダミーアクセス制御レジスタ503の内容を参照し、イネーブルに設定されていれば(S1502でYes)、共有領域181から最初に読み出すデータのアドレスへのダミーアクセス要求を第1マスタI/F210へ発行し、ディセーブルに設定されていれば、前記ダミーアクセス要求の発行を禁止する(S1502でNo)。
その後、DMAC501の第1チャネル502は、共有領域181のデータのアクセスを行う(S1105〜S1106)。
以上の構成によれば、DMAC起動時におけるダミーアクセス発行の有無をチャネル毎に制御可能となるので、ダミーアクセスが不要又は有害となるチャネルについて起動時におけるダミーアクセス発行を禁止できるという効果がある。
(実施の形態6)
次に、実施の形態6の構成について説明する。
図11は、実施の形態6におけるメモリ制御装置195の機能的な構成の一例を示すブロック図である。図11には、メモリ制御装置195と共に、第1マスタ600、第2マスタ130、第3マスタ150、及び外部メモリ180が示される。
メモリ制御装置195は、実施の形態4において説明したメモリ制御装置193(図7を参照)のダミーアクセス発行部402に代えて、DMACのチャネルに固有のダミーアクセス発行部603、及びチャネルに共通のダミーアクセス制御レジスタ606を備える。図11において、メモリ制御装置193と同様の機能ブロックについては、同一の番号を付し、その説明を省略する。また、第1マスタI/F210の詳細な記載を省略する。
第1マスタ600は、CPU101、DMAC601、SIF(シリアルインタフェース)607、及びTIMER(タイマ)608から構成さる。DMAC601は、3チャネルのDMAコントローラであり、第1チャネル602、第2チャネル604、第3チャネル605から構成される。また、図に示されるように、第2マスタ130、SIF607、及びTIMER608の3種類の起動要因にそれぞれ対応する第1起動要求、第2起動要求、及び第3起動要求に応じて起動される。
DMAC601及び第1チャネル602の中に、それぞれメモリ制御装置195の一部としてのダミーアクセス制御レジスタ606及びダミーアクセス発行部603が示される。
第1チャネル602は、第2マスタ130から起動要求を受け付けると、例えば図示しない構成レジスタに予め設定された内容に従ってデータ転送を開始する。
ダミーアクセス制御レジスタ606は、起動要求が受け付けられた際にダミーアクセスを発行するか否か(イネーブルかディセーブルか)の設定を、起動要因ごと、つまり第1乃至第3起動要求のそれぞれについて、チャネル共通に保持しており、設定内容を第1チャネル602乃至第3チャネル605に出力する。
ダミーアクセス発行部603は、第1乃至第3起動要求の一つが受け付けられると、受け付けられた起動要求についてダミーアクセス制御レジスタ606にイネーブルが設定されていれば、前述したダミーアクセス発行部402が発行するダミーアクセス要求と同等のダミーアクセス要求を発行し、ディセーブルが設定されていれば、前記ダミーアクセス要求の発行を禁止する。
同様のダミーアクセス発行部が、第2チャネル604、第3チャネル605にもそれぞれ設けられる(図示省略)。
第2チャネル604、及び第3チャネル605は、第1チャネル602と同様に構成され、それぞれ、第1乃至第3起動要求の一つを受け付けると、ダミーアクセス制御レジスタ606の設定内容に応じてダミーアクセス要求を発行した後、予め定められたデータ転送を開始する。
(動作の説明6)
次に、実施の形態6の動作例について説明する。
図12は、実施の形態6におけるメモリ制御装置195の動作例を表すフローチャートである。
動作の説明4において説明したメモリ制御装置193の動作例(図8を参照)と同様のステップについては、同一の番号を付し、その説明を省略する。ここでは、ダミーアクセス発行部603は、ダミーアクセス発行部402が発行するダミーアクセス要求と同様のダミーアクセス要求を発行するとして説明する。
CPU101は、ダミーアクセス制御レジスタ606に対して、ダミーアクセス要求を発行するか否かの設定を、起動要因毎に行う(S1601)。
外部メモリ180上の共有領域181が更新され、第2マスタ130から割り込み要求である第1起動要求が受け付けられると、第1起動要求と予め対応付けられているチャネル(ここでは第1チャネル602であるとする)に前記第1起動要求が通知される。
第1チャネル602は、前記第1起動要求を受け付けると、ダミーアクセス制御レジスタ606の内容を参照し、第1起動要求についてイネーブルに設定されていれば(S1602でYes)、共有領域181から最初に読み出すデータのアドレスへのダミーアクセス要求を第1マスタI/F210へ発行し(S1603)、ディセーブルに設定されていれば、前記ダミーアクセス要求の発行を禁止する(S1602でNo)。
その後、DMAC601の第1チャネル602は、共有領域181のデータのアクセスを行う(S1105〜S1106)。
以上の構成によれば、DMAC起動時におけるダミーアクセス発行の有無を起動要因毎に制御可能となるので、ダミーアクセスが不要又は有害となる起動要因について起動時におけるダミーアクセス発行を禁止できるという効果がある。
背景技術の項において、マスタ間で排他制御を行わない比較的簡素なシステムでは、特定のマスタが、外部メモリ上にあるシステムのステータスが他マスタによって書き換えられることを検出するために、特定のアドレスにポーリングアクセスを行うような場合に、同じアドレスへの読み出しが繰り返し行われるため、データバッファがヒットし続け、外部メモリとの整合性がとれなくなるという課題があり、従来技術は、その解決手段を開示していないことを指摘した。
このような課題を解決するために、例えばポーリングアクセスを行う場合に、確実に外部メモリとの整合性が得られる構成が望まれる。
以下、実施の形態7において、その構成について説明する。
(実施の形態7)
図13は、実施の形態7におけるメモリ制御装置196の機能的な構成の一例を示すブロック図である。図13には、メモリ制御装置196と共に、第1マスタ100、第2マスタ130、第3マスタ150、及び外部メモリ180が示される。
メモリ制御装置196は、実施の形態1において説明したメモリ制御装置190(図1を参照)の第1マスタI/F110における特定アクセス検出部123を、特定アクセス検出部723に置き換えて構成される。図13において、メモリ制御装置190と同様の機能ブロックについては、同一の番号を付し、その説明を省略する。
特定アクセス検出部723は、同一のアクセス情報を持つアクセス要求が連続してあった場合、その2回目以降のアクセス要求では必ず外部メモリ180へアクセスすると共にバッファを無効化するようバッファ制御部111を制御する部であり、バッファ無効化部720、第4比較部721、及びアクセス履歴バッファ722から構成される。
ここで、アクセス情報とは、第1マスタ100からのアクセス要求が持つパラメータの一部又は全部を言い、アドレス、転送サイズ、リード/ライトの区別はその一例である。
アクセス履歴バッファ722は、第1マスタ100から最後に受け付けたアクセス要求が持つアクセス情報を保持する。
第4比較部721は、第1マスタ100から新たに受け付けたアクセス要求が持つアクセス情報と、アクセス履歴バッファ722に保持されているアクセス情報とを比較し、一致しているか否かを示す第4の比較情報をバッファ無効化部720に出力する。
第4比較部721は、このアクセス情報の比較を、アドレスについて必ず行うこととし、さらに、転送サイズ、リード/ライトの区別について行ってもよい。
バッファ無効化部720は、第4比較部721から第4の比較情報を参照し、一致を示している場合には、無効化制御信号をバッファ制御部111に出力する。
バッファ制御部111は、この無効化制御信号を与えられると、第1比較部114の第1の比較情報に関係なく、データバッファ112を無効化し、外部メモリI/F170へのアクセス要求を発行する。このとき、外部メモリI/F170へアクセス要求を発行する際の転送サイズには、アクセス履歴バッファ722に保持されているアクセス情報によって示される転送サイズが使用され、また読み出されたデータはデータバッファ112には保持されることなく第1マスタ100に出力される。
(動作の説明7)
次に、実施の形態7の動作例について説明する。
図14は、実施の形態7におけるメモリ制御装置196の動作例を表すフローチャートである。
動作の説明1において説明したメモリ制御装置190の動作例(図2を参照)と同様のステップについては、同一の番号を付し、その説明を省略する。
第1マスタ100は、外部メモリ180上のポーリングアドレスにあるデータが所定の期待値に書き換えられたことを検出するためにリードアクセス要求を発行する(S1701)。このリードアクセス要求を処理するため、サブルーチンである第3処理が呼び出される(S1703)。第3処理の詳細については後述する。
第1マスタ100は、取得されたデータと前記期待値とを比較して、一致しなければステップS1701へ戻ってポーリングを続け(S1702でNo)、一致すればポーリングループを抜けて(S1702でYes)所定の処理へ進む。
次に、第3処理について説明する。この処理は、第1マスタI/F710によって実行されるサブルーチン処理である。
バッファ無効化部720は、第4比較部721の第4の比較情報を参照し、一致を示している場合には(S1704でYes)、無効化制御信号をバッファ制御部111に出力する。
バッファ制御部111は、この無効化制御信号を受け取ると、第1比較部114の第1の比較情報に関係なく、データバッファ112を無効化すると共に、アクセス履歴バッファ722から参照される転送サイズ分のデータを要求するアクセス要求を外部メモリI/F170へ発行する。バッファ制御部111は、このアクセス要求によって外部メモリ180から取得されたデータを、データバッファ112に保持することなく第1マスタ100に出力する(S1705)。
第4の比較情報が不一致を示している場合には、無効化制御信号は出力されず(S1704でNo)、第1の比較情報に応じてデータバッファ又は外部メモリへのアクセスが行われる(S1110〜S1112)。
以上の構成により、同じアクセス要求が繰り返し発行されると、データバッファからではなく、外部メモリから読み出しが行われるため、特定のマスタが外部メモリ上の特定アドレスにポーリングアクセスを行う場合において、ソフトウェアによるケア無しにデータバッファと外部メモリ間の整合性を保証することができる。また、外部メモリから読み出しを行う際に、必要な転送サイズ分のデータのみをアクセス要求するため、外部メモリへのアクセス負荷を軽減できるという効果がある。
しかしながら、実施の形態7の構成によれば、同じアクセス要求が繰り返し発行されると必ずデータバッファが無効化されるため、将来、マスタが外部メモリをアクセスする際のデータバッファのヒット率が低くなり、外部メモリへのアクセス効率が悪くなってしまうという課題がある。
以下、その課題を解決する構成について、実施の形態8で説明する。
(実施の形態8)
図15は、実施の形態8におけるメモリ制御装置197の機能的な構成の一例を示すブロック図である。図15には、メモリ制御装置197と共に、第1マスタ100、第2マスタ130、第3マスタ150、及び外部メモリ180が示される。
メモリ制御装置197は、実施の形態7において説明したメモリ制御装置196(図13を参照)の第1マスタI/F710における特定アクセス検出部723を、特定アクセス検出部821に置き換えて構成される。図15において、メモリ制御装置196と同様の機能ブロックについては、同一の番号を付し、その説明を省略する。
特定アクセス検出部821は、同一のアクセス情報を持つアクセス要求が連続してあった場合、その2回目以降のアクセス要求では必ず外部メモリ180へアクセスすると共に外部メモリ180から読み出されたデータでデータバッファ112の内容を更新するようバッファ制御部111を制御する部であり、前述した特定アクセス検出部723のバッファ無効化部720をバッファ更新部820に置き換えて構成される。
バッファ更新部820は、第4比較部721から第4の比較情報を参照し、一致を示している場合には、更新制御信号をバッファ制御部111に出力する。
バッファ制御部111は、この更新制御信号を与えられると、第1比較部114の第1の比較情報に関係なく、外部メモリI/F170へのアクセス要求を発行する。そして、読み出されたデータを第1マスタ100に出力すると共に、そのデータでデータバッファ112の内容を更新する。
(動作の説明8)
次に、実施の形態8の動作例について説明する。
図16は、実施の形態8におけるメモリ制御装置197の動作例を表すフローチャートである。
動作の説明7において説明したメモリ制御装置196の動作例(図14を参照)と同様のステップについては、同一の番号を付し、その説明を省略する。
第1マスタ100は、ポーリングアドレスへのリードアクセス要求を発行するループ処理を実行し(S1701〜S1702)、そのリードアクセス要求を処理するために、サブルーチンである第4処理が呼び出される(S1801)。
第4処理において、バッファ更新部820は、第4比較部721の第4の比較情報を参照し、一致を示している場合には(S1802でYes)、更新制御信号をバッファ制御部111に出力する。
バッファ制御部111は、この更新制御信号を受け取ると、第1比較部114の第1の比較情報に関係なく、アクセス要求を外部メモリI/F170へ発行する(S1112)。バッファ制御部111は、このアクセス要求によって外部メモリ180から取得されたデータを、データバッファ112に保持すると共に第1マスタ100に出力する。
第4の比較情報が不一致を示している場合には、更新制御信号は出力されず(S1802でNo)、第1の比較情報に応じてデータバッファ又は外部メモリへのアクセスが行われる(S1110〜S1112)。
以上の構成により、同じアクセス要求が繰り返し発行された際にも、データバッファの内容が更新されるため、将来、マスタが外部メモリをアクセスする際のデータバッファのヒット率低下を防ぐことができるという効果がある。
しかしながら、実施の形態7及び実施の形態8の構成によれば、ポーリングアクセスを行っている間は、毎回外部メモリへのアクセス要求が発生するため、CPUからのアクセスレイテンシーが大きくなると共に、外部メモリI/Fへのアクセス負荷も不必要に大きくなるという課題がある。
以下、その課題を解決する構成について、実施の形態9で説明する。
(実施の形態9)
図17は、実施の形態9におけるメモリ制御装置198の機能的な構成の一例を示すブロック図である。図17には、メモリ制御装置198と共に、第1マスタ100、第2マスタ130、第3マスタ150、及び外部メモリ180が示される。
メモリ制御装置196は、実施の形態8において説明したメモリ制御装置197(図15を参照)の第1マスタI/F810及び外部メモリI/F170を、それぞれ第1マスタI/F910及び外部メモリI/F970に置き換えて構成される。図17において、メモリ制御装置197と同様の機能ブロックについては、同一の番号を付し、その説明を省略する。
第1マスタI/F910は、外部メモリI/F970から、外部メモリ180にアクセスする場合よりも早く応答があった場合には、データバッファ112の内容を第1マスタ100へ出力する機能が追加された部であり、第1マスタI/F810と比べて、第1マスタI/F810の特定アクセス検出部821におけるバッファ更新部820を、バッファ選択部920に置き換えた特定アクセス部922を有すると共に、サイクルカウンタ921を追加して構成される。
外部メモリI/F970は、外部メモリI/F170と比べて、ポーリングアドレスにおけるデータの更新の有無を管理すると共に、更新がない場合には、第1マスタI/F910からのポーリングアドレスへのアクセス要求に対して外部メモリ180をアクセスせずに早期に応答する機能が追加された部であり、外部メモリI/F170にポーリングアドレス設定レジスタ971、ポーリングアクセス履歴保持部972、及び外部メモリ選択部973を追加して構成される。
第1マスタI/F910における各部の詳細な機能は次のとおりである。
バッファ選択部920は、バッファ更新部820と同一の機能を含んでおり、第1マスタ100からアクセス要求があると、第4比較部721から第4の比較情報を参照し、一致を示している場合には、更新制御信号をバッファ制御部111に出力する。
バッファ制御部111は、この更新制御信号を与えられると、第1比較部114の第1の比較情報に関係なく、外部メモリI/F170へのアクセス要求を発行する。
サイクルカウンタ921は、バッファ制御部111が外部メモリI/F970へアクセス要求を発行してから、アクセス応答信号が返るまでのサイクル数を計測し、計測されたサイクル数をバッファ選択部920に通知する。
バッファ選択部920は、通知されたサイクル数が所定のサイクル以下であれば第1の選択制御信号をバッファ制御部111に出力し、前記サイクル数が前記所定のサイクルより大きければ第2の選択制御信号をバッファ制御部111に出力する。
バッファ制御部111は、この第1の選択制御信号を与えられると、データバッファ112のデータを第1マスタ100に出力し、第2の選択制御信号を与えられると、外部メモリI/F970から返送されたデータを第1マスタ100に出力すると共に、データバッファ112に保持する。
また、外部メモリI/F970における各部の詳細な機能は次のとおりである。
ポーリングアドレス設定レジスタ971は、ポーリングアクセスに用いられる外部メモリ180上のポーリングアドレスを各マスタから任意に設定され、保持する。
ポーリングアクセス履歴保持部972は、データバッファ112と外部メモリ180間の整合性の有無を表す状態値を保持する。この状態値は、具体的な一例として、第1マスタI/F910、第2マスタI/F140、及び第3マスタI/F160の何れかからポーリングアドレス設定レジスタ971に設定されているポーリングアドレスへのライトアクセス要求を受けると「0」にリセットされ、第1マスタI/F910から前記ポーリングアドレスへのリードアクセス要求を受けると「1」にセットされ、第1マスタI/F910から前記ポーリングアドレス以外へのリードアクセス要求を受けると「0」にリセットされるとしてもよい。
ここで、状態値「1」は、外部メモリ180のポーリングアドレスにおける現在のデータがデータバッファ112にも取り込まれていて整合性があると考えられる状態を表し、状態値「0」は、外部メモリ180のデータが書き換えられるか、又はデータバッファ112にポーリングアドレス以外のデータが取り込まれて整合性がなくなっていると考えられる状態を表す。
外部メモリ選択部973は、第1マスタI/F910から前記ポーリングアドレスへのリードアクセス要求があった際に、ポーリングアクセス履歴保持部972の内容が、状態値「0」であれば、外部メモリ180をアクセスして、取得されたデータを第1マスタI/F910に返送し、状態値「1」であれば、外部メモリ180をアクセスすることなく、即座に、つまり外部メモリ180をアクセスする場合に比べて短時間のうちに第1マスタI/F910に応答信号を返す。
(動作の説明9)
次に、実施の形態9の動作例について説明する。
図18は、実施の形態9におけるメモリ制御装置198の動作例を表すフローチャートである。
動作の説明8において説明したメモリ制御装置197の動作例(図16を参照)と同様のステップについては、同一の番号を付し、その説明を省略する。
第1マスタ100は、ポーリングアドレスへのリードアクセス要求を発行するループ処理を実行し(S1701〜S1702)、そのリードアクセス要求を処理するために、サブルーチンである第5処理が呼び出される(S1901)。
第5処理において、バッファ選択部920は、第4比較部721の第4の比較情報を参照し、一致を示している場合には(S1902でYes)、更新制御信号をバッファ制御部111に出力する。
バッファ制御部111は、この更新制御信号を受け取ると、第1比較部114の第1の比較情報に関係なく、アクセス要求を外部メモリI/F970へ発行する(S1903)。このアクセス要求が発行されると、サイクルカウンタ921は、サイクル数の計測を開始する。
外部メモリI/F970は、このアクセス要求を受けると、前述したように、ポーリングアクセス履歴保持部972に保持されている状態値に応じて、即座にアクセス応答信号を返すか、又は外部メモリ180をアクセスしてポーリングアドレスにおける最新のデータを取得し、そのデータと共にアクセス応答信号を第1マスタI/F910へ返す。
サイクルカウンタ921は、外部メモリI/F970からアクセス応答信号が返されると、それまでに計測されたサイクル数をバッファ選択部920に通知する。
通知されたサイクル数が所定のサイクル以下であれば(S1904でYes)、バッファ選択部920は、第1の選択制御信号をバッファ制御部111に出力し、バッファ制御部111は、この第1の選択制御信号を受けて、データバッファ112のデータを第1マスタ100に出力する(S1111)。
また、通知されたサイクル数が前記所定のサイクルより大きければ(S1904でNo)、バッファ選択部920は、第2の選択制御信号をバッファ制御部111に出力し、バッファ制御部111は、この第2の選択制御信号を受けて、外部メモリI/F170から返されたデータを第1マスタ100に出力すると共に、データバッファ112に保持する(S1905)。
なお、第4の比較情報が不一致を示している場合には、前述した更新制御信号は出力されず(S1902でNo)、第1の比較情報に応じてデータバッファ又は外部メモリへのアクセスが行われる(S1110〜S1112)。
以上の構成により、ポーリングアクセスを行っている間も、毎回外部メモリへのアクセス要求が発生することがなくなり、CPUからのアクセスレイテンシーを抑えると共に、外部メモリI/Fへのアクセス負荷を軽減できるという効果が得られる。
また、外部メモリI/F内に、ポーリングアドレス設定レジスタとポーリングアクセス履歴保持部、および外部メモリ選択部を持つことにより、外部メモリI/Fが早いサイクルで応答した際に、常にデータバッファのデータが再利用可能となることも、CPUからのアクセスレイテンシー低減に効果を発揮する。
本発明にかかるメモリ制御装置は、複数のマスタが外部メモリを共有し、マスタ間でデータの受け渡しを行うシステムにおいて、各マスタに対応するマスタインタフェース内に持つデータバッファと外部メモリ間のデータ整合性を保証する構成を有しているため、DVDレコーダーに実装されるシステムLSI等として有用である。
実施の形態1におけるメモリ制御装置の機能的な構成の一例を示すブロック図。 実施の形態1におけるメモリ制御装置の動作例を表すフローチャート。 実施の形態2におけるメモリ制御装置の機能的な構成の一例を示すブロック図。 実施の形態2におけるメモリ制御装置の動作例を表すフローチャート。 実施の形態3におけるメモリ制御装置の機能的な構成の一例を示すブロック図。 実施の形態3におけるメモリ制御装置の動作例を表すフローチャート。 実施の形態4におけるメモリ制御装置の機能的な構成の一例を示すブロック図。 実施の形態4におけるメモリ制御装置の動作例を表すフローチャート。 実施の形態5におけるメモリ制御装置の機能的な構成の一例を示すブロック図。 実施の形態5におけるメモリ制御装置の動作例を表すフローチャート。 実施の形態6におけるメモリ制御装置の機能的な構成の一例を示すブロック図。 実施の形態6におけるメモリ制御装置の動作例を表すフローチャート。 実施の形態7におけるメモリ制御装置の機能的な構成の一例を示すブロック図。 実施の形態7におけるメモリ制御装置の動作例を表すフローチャート。 実施の形態8におけるメモリ制御装置の機能的な構成の一例を示すブロック図。 実施の形態8におけるメモリ制御装置の動作例を表すフローチャート。 実施の形態9におけるメモリ制御装置の機能的な構成の一例を示すブロック図。 実施の形態9におけるメモリ制御装置の動作例を表すフローチャート。
符号の説明
100 第1マスタ
101 CPU
110 第1マスタI/F
111 バッファ制御部
112 データバッファ
113 アドレスバッファ
114 第1比較部
120 バッファ無効化部
121 第2比較部
122 特定アドレスレジスタ
123 特定アクセス検出部
130 第2マスタ
140 第2マスタI/F
150 第3マスタ
160 第3マスタI/F
170 外部メモリI/F
180 外部メモリ
181 共有領域
182 特定領域
190〜198 メモリ制御装置
210 第1マスタI/F
220 バッファ更新部
221 バッファアクセス履歴保持部
223 第3比較部
224 特定アクセス検出部
302、402 ダミーアクセス発行部
500 第1マスタ
501 DMAC
502 第1チャネル
503 ダミーアクセス制御レジスタ
504 ダミーアクセス発行部
505 第2チャネル
506 第3チャネル
600 第1マスタ
601 DMAC
602 第1チャネル
603 ダミーアクセス発行部
604 第2チャネル
605 第3チャネル
606 ダミーアクセス制御レジスタ
607 SIF
608 TIMER
710 第1マスタI/F
720 バッファ無効化部
721 第4比較部
722 アクセス履歴バッファ
723 特定アクセス検出部
810 第1マスタI/F
820 バッファ更新部
821 特定アクセス検出部
910 第1マスタI/F
920 バッファ選択部
921 サイクルカウンタ
970 外部メモリI/F
971 ポーリングアドレス設定レジスタ
972 ポーリングアクセス履歴保持部
973 外部メモリ選択部

Claims (17)

  1. マスタと外部メモリ間のデータ転送を行うメモリ制御装置であって、
    前記マスタからのアクセス要求を受け付け、前記外部メモリへのアクセス要求を出力するマスタインタフェースと、
    前記マスタインタフェースからのアクセス要求を受け付け、前記外部メモリへのアクセスを行う外部メモリインタフェースとを備え、
    前記マスタインタフェースは、
    アクセス要求時に前記外部メモリインタフェースから転送されたデータを保持するデータバッファと、アクセス要求されたアドレスを保持するアドレスバッファと、
    新たにアクセス要求されたアドレスと前記アドレスバッファに保持されているアドレスを比較し、前記データバッファに保持されているデータのアドレス範囲内で一致しているか否かの第1の比較情報を出力する第1の比較手段と、
    前記第1の比較情報が不一致を示している場合には、前記外部メモリインタフェースへアクセス要求を発行し、前記第1の比較情報が一致を示している場合には、前記外部メモリインタフェースへアクセスを発行せずに、前記データバッファからマスタにデータの出力を行うバッファ制御手段と、
    前記第1の比較情報が一致か不一致かによらず、前記マスタから前記外部メモリ上の特定アドレスへのアクセス要求を検出すると、前記外部メモリインタフェースへアクセス要求を発行するか否かを判別して前記バッファ制御手段を制御する特定アクセス検出手段と
    を備えることを特徴とするメモリ制御装置。
  2. 前記特定アクセス検出手段は、
    前記新たにアクセス要求されたアドレスと前記外部メモリ上の特定アドレスとを比較し、一致しているか否かの第2の比較情報を前記バッファ制御手段に出力する第2の比較手段と、
    前記第2の比較情報が一致を示している場合には、前記アドレスバッファの内容を無効化し、擬似的にアクセス応答するよう前記バッファ制御手段を制御するバッファ無効化手段と
    を備えることを特徴とする請求項1に記載のメモリ制御装置。
  3. 前記特定アドレスは、外部メモリインタフェースがアクセス制御時に使用するため、前記マスタからのアクセスが禁止されている外部メモリ上の特定領域における一部のアドレスである
    ことを特徴とする請求項2記載のメモリ制御装置。
  4. 前記特定アクセス検出手段は、さらに、
    特定アドレスを任意に設定可能な特定アドレス設定レジスタ
    を備えることを特徴とする請求項2記載のメモリ制御装置。
  5. 前記メモリ制御装置は、さらに、
    前記外部メモリ上の共有データが更新されたことを示す通知を受け付け、前記マスタインタフェースに、前記特定のアドレスへのアクセス要求を発行するダミーアクセス発行手段
    を備えることを特徴とする請求項2記載のメモリ制御装置。
  6. 前記特定アクセス検出手段は、前記第1の比較情報が一致及び不一致の何れを示しているかによらず、前記新たにアクセス要求されたアドレスと過去にアクセス要求されたアドレスとの比較に基づいて、前記外部メモリインタフェースへのアクセス要求を強制的に発行するか又は禁止するよう前記バッファ制御手段を制御する
    ことを特徴とする請求項1に記載のメモリ制御装置。
  7. 前記特定アクセス検出手段は、
    前記マスタからのアクセスが、前記外部メモリインタフェースへのアクセスであったか、前記データバッファへのアクセスであったかを示す履歴情報を保持しているバッファアクセス履歴保持手段と、
    前記新たにアクセス要求されたアドレスと前記アドレスバッファに保持されているアドレスを比較し、完全に一致しているか否かの第3の比較情報をバッファ更新手段に出力する第3の比較手段と、
    前記第3の比較情報が一致を示し、かつ前記バッファアクセス履歴保持手段の履歴情報が前記データバッファへのアクセスを示している場合には、前記外部メモリインタフェースへアクセス要求を強制的に発行するよう前記バッファ制御手段を制御するバッファ更新手段と
    を備えることを特徴とする請求項6に記載のメモリ制御装置。
  8. 前記メモリ制御装置は、さらに、
    前記外部メモリ上の共有データが更新されたことを示す通知を受け付け、対応するマスタインタフェースに、前記アドレスバッファに保持されているアドレスへのアクセス要求を発行するダミーアクセス発行手段を備える
    ことを特徴とする請求項7記載のメモリ制御装置。
  9. 前記マスタは、DMA(Direct Memory Access)コントローラであり、
    前記通知は、前記DMAコントローラの起動要求を表し、
    前記ダミーアクセス発行手段は、前記通知を受け付けると、前記アクセス要求の発行後に、データ転送を開始するよう前記DMAコントローラを制御する
    ことを特徴とする請求項5又は請求項8に記載のメモリ制御装置。
  10. 前記DMAコントローラは複数のチャネルを備え、
    前記通知は、前記複数のチャネルの一つの起動要求を表し、
    前記メモリ制御装置は、さらに、
    前記チャネル毎にイネーブル及びディセーブルの何れかに設定されるダミーアクセス制御レジスタを備え、
    前記ダミーアクセス発行手段は、前記通知によって起動要求されたチャネルについて、前記ダミーアクセス制御レジスタがディセーブルに設定されている場合には、前記アクセス要求の発行を禁止する
    ことを特徴とする請求項9記載のメモリ制御装置。
  11. 前記DMAコントローラは複数のチャネルを備え、
    前記通知は、前記複数のチャネルの一つの起動要求を起動要因と共に表し、
    前記メモリ制御装置は、さらに、
    起動要因毎にイネーブル及びディセーブルの何れかに設定され、各チャネルで共用されるダミーアクセス制御レジスタを備え、
    前記ダミーアクセス発行手段は、前記通知によって表された起動要因について、前記ダミーアクセス制御レジスタがディセーブルに設定されている場合には、前記アクセス要求の発行を禁止する
    ことを特徴とする請求項9記載のメモリ制御装置。
  12. 前記特定アクセス検出手段は、
    アクセス要求されたアドレスを少なくとも含むアクセス情報を保持しているアクセス履歴バッファと、
    前記新たにアクセス要求されたアドレスを少なくとも含む新たなアクセス情報と前記アクセス履歴バッファに保持されたアクセス情報を比較し、同一のアクセスが繰り返されたか否かの第4の比較情報を出力する第4の比較手段と、
    前記第4の比較情報が繰り返しアクセスを示している場合には、前記外部メモリインタフェースへアクセス要求を強制的に発行するよう前記バッファ制御手段を制御するバッファ無効化手段とを備える
    ことを特徴とする請求項6に記載のメモリ制御装置。
  13. 前記バッファ無効化手段は、外部メモリインタフェースへアクセス要求を発行するようバッファ制御手段を制御する際に、
    前記第4の比較情報が繰り返しアクセスを示している場合には、前記新たなアクセス要求に示される要求サイズ分のデータを要求するアクセス要求を発行するよう制御し、
    前記第4の比較情報が繰り返しアクセスでないことを示している場合には、前記データバッファのサイズ分のデータを要求するアクセス要求を発行するように制御する
    ことを特徴とする請求項12記載のメモリ制御装置。
  14. 前記メモリ制御装置は、さらに、
    前記第4の比較情報が繰り返しアクセスを示している場合には、前記外部メモリインタフェースから読み出したデータで前記データバッファの内容を更新するバッファ更新手段を備える
    ことを特徴とする請求項12記載のメモリ制御装置。
  15. 前記外部メモリインタフェースは、
    前記外部メモリ上のアドレスを任意に設定可能なポーリングアドレス設定レジスタと、
    前記ポーリングアドレス設定レジスタに設定されたアドレスへのリードアクセスでセットされ、ライトアクセスでリセットされるポーリングアクセス履歴保持手段と、
    前記マスタインタフェースから前記ポーリングアドレス設定レジスタに設定されたアドレスへリードアクセス要求があった際に、前記ポーリングアクセス履歴保持手段がセットされていれば、前記外部メモリへのアクセスを禁止し、前記外部メモリをアクセスする場合に比べて短時間の内に、前記マスタインタフェースへ応答する外部メモリ選択手段とを備え、
    前記特定アクセス検出手段は、さらに、
    前記外部メモリインタフェースから所定時間以内に応答があった場合には、前記データバッファに保持されているデータを前記マスタへ出力するよう前記バッファ制御手段を制御するバッファ選択手段を備える
    ことを特徴とする請求項14記載のメモリ制御装置。
  16. 前記ポーリングアクセス履歴保持手段は、さらに、前記マスタインタフェースからの前記ポーリングアドレス以外へのリードアクセスでリセットされる
    ことを特徴とする請求項15記載のメモリ制御装置。
  17. マスタと外部メモリ間のデータ転送を、
    前記マスタからのアクセス要求を受け付け、前記外部メモリへのアクセス要求を出力するマスタインタフェースと、
    前記マスタインタフェースからのアクセス要求を受け付け、前記外部メモリへのアクセスを行う外部メモリインタフェースとからなるメモリ制御装置を用いて行うメモリ制御方法であって、
    前記マスタインタフェースは、
    アクセス要求時に前記外部メモリインタフェースから転送されたデータを保持するデータバッファと、アクセス要求されたアドレスを保持するアドレスバッファとを備え、
    前記メモリ制御方法は、
    新たにアクセス要求されたアドレスと前記アドレスバッファに保持されているアドレスを比較し、前記データバッファに保持されているデータのアドレス範囲内で一致しているか否かの第1の比較情報を出力する第1の比較ステップと、
    前記第1の比較情報が不一致を示している場合には、前記外部メモリインタフェースへアクセス要求を発行し、前記第1の比較情報が一致を示している場合には、前記外部メモリインタフェースへアクセスを発行せずに、前記データバッファからマスタにデータの出力を行うバッファ制御ステップと、
    前記第1の比較情報が一致か不一致かによらず、マスタからの特定アクセスを検出して前記外部メモリインタフェースへアクセス要求を発行するか否かを判別して前記バッファ制御手段を制御する特定アクセス検出ステップと
    を含むことを特徴とするメモリ制御方法。
JP2005271033A 2000-01-19 2005-09-16 メモリ制御装置。 Expired - Fee Related JP4834362B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2005271033A JP4834362B2 (ja) 2005-09-16 2005-09-16 メモリ制御装置。
US11/470,742 US7516254B2 (en) 2005-09-16 2006-09-07 Memory control apparatus
CNA2006101534891A CN1932783A (zh) 2005-09-16 2006-09-15 存储器控制装置
US11/669,495 US20070124481A1 (en) 2000-01-19 2007-01-31 System and method for sharing event-triggered, location-related information between communication devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005271033A JP4834362B2 (ja) 2005-09-16 2005-09-16 メモリ制御装置。

Publications (2)

Publication Number Publication Date
JP2007080220A JP2007080220A (ja) 2007-03-29
JP4834362B2 true JP4834362B2 (ja) 2011-12-14

Family

ID=37878627

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005271033A Expired - Fee Related JP4834362B2 (ja) 2000-01-19 2005-09-16 メモリ制御装置。

Country Status (3)

Country Link
US (1) US7516254B2 (ja)
JP (1) JP4834362B2 (ja)
CN (1) CN1932783A (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1962181A4 (en) * 2005-12-02 2010-05-26 Panasonic Corp BUFFER CONTROL UNIT AND BUFFER MEMORY
US8219658B2 (en) 2006-03-28 2012-07-10 Panasonic Corporation Network system
JP2008139908A (ja) * 2006-11-29 2008-06-19 Matsushita Electric Ind Co Ltd メモリ制御装置、コンピュータシステム及びデータ再生記録装置
US8307190B2 (en) * 2006-12-25 2012-11-06 Panasonic Corporation Memory control device, memory device, and memory control method
JP5130754B2 (ja) * 2007-03-15 2013-01-30 富士通セミコンダクター株式会社 半導体集積回路及びメモリシステム
KR101505005B1 (ko) * 2008-12-05 2015-03-24 삼성전자주식회사 메모리 장치 및 메모리 장치의 관리 방법
KR101056131B1 (ko) * 2009-07-09 2011-08-10 주식회사 디지털존 메모리의 랜덤 억세스 장치 및 랜덤 억세스 방법
US8667190B2 (en) * 2009-07-20 2014-03-04 Freescale Semiconductor, Inc. Signal processing system, integrated circuit comprising buffer control logic and method therefor
CN106874230B (zh) * 2015-12-11 2020-01-03 南车株洲电力机车研究所有限公司 应用于pc/104总线接口的子板及应用于该子板的方法
CN106371972B (zh) * 2016-08-31 2019-04-05 天津国芯科技有限公司 用于解决主设备间数据一致性的总线监控方法及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54148329A (en) * 1978-05-15 1979-11-20 Toshiba Corp Buffer memory control system and information processor containing buffer memory
EP0229379A3 (en) * 1985-12-23 1989-12-20 Nec Corporation Digital picture signal coding/decoding circuit
JP2936036B2 (ja) * 1992-10-27 1999-08-23 富士通株式会社 メモリアクセス装置
JPH06243037A (ja) * 1993-02-18 1994-09-02 Mitsubishi Electric Corp データ先読み装置
JPH06348593A (ja) * 1993-06-03 1994-12-22 Sumitomo Electric Ind Ltd データ転送制御装置
US5953538A (en) * 1996-11-12 1999-09-14 Digital Equipment Corporation Method and apparatus providing DMA transfers between devices coupled to different host bus bridges
JP4370063B2 (ja) * 2001-06-27 2009-11-25 富士通マイクロエレクトロニクス株式会社 半導体記憶装置の制御装置および半導体記憶装置の制御方法
JP2003281084A (ja) * 2002-03-19 2003-10-03 Fujitsu Ltd 外部バスへのアクセスを効率的に行うマイクロプロセッサ

Also Published As

Publication number Publication date
JP2007080220A (ja) 2007-03-29
US20070088855A1 (en) 2007-04-19
CN1932783A (zh) 2007-03-21
US7516254B2 (en) 2009-04-07

Similar Documents

Publication Publication Date Title
JP4834362B2 (ja) メモリ制御装置。
JP2018517205A (ja) 拡張メモリにアクセスするための方法、デバイス及びシステム
US20050188121A1 (en) System and controller with reduced bus utilization time
US20100306421A1 (en) Dma transfer device
JP2010134628A (ja) メモリコントローラおよびデータ処理装置
JP5499987B2 (ja) 共有キャッシュメモリ装置
US9606923B2 (en) Information processing device with shared memory, memory order guarantee method using counters fence instructions in relation to cache-oriented requests, and recording medium storing program
KR20060028705A (ko) 재 어드레스 가능한 가상 dma 제어 및 상태 레지스터들
JP2006113689A (ja) バスブリッジ装置およびデータ転送方法
US7934043B2 (en) Data processing apparatus for controlling access to a memory based upon detection of completion of a DMA bus cycle
US10318424B2 (en) Information processing device
JP5569598B2 (ja) データ書き込み制御装置、データ書き込み制御方法及び情報処理装置
US8239652B2 (en) Data processing system
JP2587586B2 (ja) データ転送方法
JPH04305746A (ja) キャッシュメモリ制御装置
JP7363344B2 (ja) メモリ制御装置、および制御方法
US11467990B2 (en) Programmable logic controller, external apparatus, method, and recording medium
JP2010140440A (ja) バス調停装置
JP2803552B2 (ja) データ受信装置
CN117971717A (zh) 多主机的访问控制方法、装置、电子设备及存储介质
JP2007328539A (ja) バスシステムおよびバススレーブならびにバス制御方法
JP2008077389A (ja) データ処理装置
JPH1011405A (ja) メモリアクセス競合制御システム
JP2008242592A (ja) メモリ監視回路、情報処理装置、及びメモリ監視方法
JP2004240520A (ja) ノンキャッシュ領域内高速メモリアクセス方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080905

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110825

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: 20110906

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110926

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140930

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees