JP5057360B2 - 半導体装置、データ処理装置、及び記憶装置へのアクセス方法 - Google Patents

半導体装置、データ処理装置、及び記憶装置へのアクセス方法 Download PDF

Info

Publication number
JP5057360B2
JP5057360B2 JP2006216144A JP2006216144A JP5057360B2 JP 5057360 B2 JP5057360 B2 JP 5057360B2 JP 2006216144 A JP2006216144 A JP 2006216144A JP 2006216144 A JP2006216144 A JP 2006216144A JP 5057360 B2 JP5057360 B2 JP 5057360B2
Authority
JP
Japan
Prior art keywords
address
bus
storage device
cpu
permission signal
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
JP2006216144A
Other languages
English (en)
Other versions
JP2008040905A (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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2006216144A priority Critical patent/JP5057360B2/ja
Priority to US11/882,855 priority patent/US7934043B2/en
Publication of JP2008040905A publication Critical patent/JP2008040905A/ja
Application granted granted Critical
Publication of JP5057360B2 publication Critical patent/JP5057360B2/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/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

Description

本発明は、CPU(Central Processing Unit)による記憶装置へのアクセス制御を実行する半導体装置、及び記憶装置へのアクセス方法に関する。
コンピュータシステム内でのデータ転送方式の1つとして、CPUを介さずに各装置(例えば、I/O装置)と記憶装置(例えば、RAM(Random Access Memory))との間で直接データ転送を行うDMA(Direct Memory Access)転送が利用されている。ここで、DMA転送とは、各装置からデータ読み出し、そのデータをシステム内の記憶装置に書き込むまでの動作を示す。又、以下では、DMA転送によってデータがシステム内の記憶装置に書き込まれる動作をDMAライトと称す。DMA転送は、DMAコントローラ(以下、DMACと称す)によって制御される。DMA転送に使用されるバスは、バスアービタによって調停される。このため、DMA転送が実行されている間、CPUはDMA転送で使用中の記憶領域外の領域にアクセスし、他の処理を実行することができる。例えば、DMA転送によってI/O装置から転送されたデータが記憶装置に書き込まれる際、CPUは、DMAによる転送先のアドレス以外の領域にアクセスして他の処理を実行する。CPUがDMA転送されたデータをリードする場合、DMA転送が完了したことを確認した後、DMA転送先のアドレスにアクセスし、DMA転送により記憶装置に書き込まれたデータを読み出す(以下、CPUリードと称す)。この際、従来技術によるCPUは、DMACによるCPUへの割り込みによって、DMA転送の完了を確認することができる。
しかしながら、近年、CPUの処理速度の向上により割込み処理ルーチンが高速に実行されるようになった。一方集積回路の多機能化にともない、データ転送ユニットが行うデータ転送速度に大幅な向上は見られない。このため、DMAライトによってデータが書き込まれる前に、当該記憶装置におけるDMAライト先のアドレスに、CPUがアクセスしデータの読み出しを行う場合がある。この場合、CPUは、DMAライトされる前のデータを記憶装置から読み出してしまう。
このような問題を解決する技術が、特開平6−231023号公報に記載されている(特許文献1参照)。特許文献1には、DMA転送先のアドレスをバッファに一時格納し、このアドレスとCPUによるアクセス時に転送されるアドレスとを比較し、その比較結果に基づいてCPUリードを制御するアクセス制御装置が記載されている。
図8は、特許文献1に記載のアクセス制御装置202を用いたシステムのシステム構成とアクセス制御装置202の内部構成を示すブロック図である。図8を参照して、アクセス制御装置202はプロセッサ201とI/O装置205との間に設けられる。I/O装置205から主記憶装置203へのDMA転送(ライト)の際、転送先のアドレスデータはバッファ212に格納される。又、プロセッサ201が主記憶203にアクセス(リード)する際、読み出し先のアドレスデータがバッファ211に格納される。
アクセス制御装置202は、バッファ211内のアドレスとバッファ212内のアドレスとを比較する比較器213と、比較器213における比較結果に応じてCPUのリード処理を制御するアクセス制御ユニット214とを具備する。ここで、比較器213は、バッファ212内の全てのエントリと、バッファ211の最前列のエントリ(次に出力されるエントリ)とを比較する。アクセス制御ユニット214は、比較において、両者のアドレスが一致する場合、CPUによるアクセスを停止することで、CPUのアクセスがDMAを追い越すことを防止する。
一方、内部バスの情報取得に関する技術が、特開2001−134467号公報に記載されている(特許文献2参照)。
特開平6−231023号公報 特開2001−134467号公報
しかしながら、従来技術では、バスブリッジを介して階層構造を示すバスを経由したDMA転送の場合、CPUによる記憶装置へのアクセスが、DMAを追い越してしまう可能性がある。例えば、図8に示すバス204にバスブリッジを介して別のバスが接続される構成において、別のバスに接続されるI/O装置が、バスブリッジを介して主記憶装置203に対しDMA転送する場合について説明する。通常、伝送速度の異なるバス間でスムースなデータ転送を可能にするため、バス間を接続するバスブリッジにはバッファ(FIFOバッファ)が設けられる。この場合、I/O装置によるDMA転送のために転送されるアドレスデータは、バスブリッジ内のバッファに保持されるため、バッファ212への到達が遅延する。このため、主記憶装置203へのDMAライトのアドレスデータがバッファ212に到達するよりも前に、プロセッサ201からのリードアドレスデータの方が早くバッファ211に入力され、アクセス制御ユニット214はプロセッサ201のアクセスを停止できない恐れがある。このように、従来技術では、バスブリッジのようなバッファ(遅延要素)を有する構成を介して実行されるDMA転送では、CPUによるアクセスが、DMA転送によるデータの書き込みを追い越す可能性が残る。又、通常、バスブリッジ内のバッファはFIFO方式であり、その大きさは、取り扱うデータの入出力の速度差とタイミングを元に設定される。設定されたバッファが大きい場合、CPUリードが、DMAライトを追い越す可能性が増大する。
上記の課題を解決するために、本発明は、以下に述べられる手段を採用する。その手段を構成する技術的事項の記述には、[特許請求の範囲]の記載と[発明を実施するための最良の形態]の記載との対応関係を明らかにするために、[発明を実施するための最良の形態]で使用される番号・符号が付加されている。ただし、付加された番号・符号は、[特許請求の範囲]に記載されている発明の技術的範囲を限定的に解釈するために用いてはならない。
本発明による半導体装置は、記憶装置(3)へのアクセス制御を行うマイクロコンピュータ(100A、100B、100C、100D)であり、第1のバス(5)と、第1のバス(5)を介して記憶装置(3)に接続される少なくとも1つのCPU(1)と、第1のバス(5)上のアドレスを監視する監視装置(10)とを具備する。CPU(1)は、監視装置(10)における監視結果に基づいて、記憶装置(3)にアクセスする。このように本発明では、記憶装置(3)に接続する第1のバス(5)上に転送されるアドレスの監視結果に応じてCPU(1)の記憶装置(3)へのアクセスを制御する。
この際、監視装置(10)は、第1のバス(5)に監視対象のアドレスが転送されると、許可信号(104)を発行する。CPU(1)は許可信号(104)に応答して記憶装置(3)にアクセスする。又、本発明によるマイクロコンピュータ(100A、100B、100C、100D)は、少なくとも1つのDMACコントローラ(2)を更に具備することが好ましい。DMAコントローラ(2)は、第1のバス(5)を介して記憶装置(3)に対しDMAを実行する。この場合、監視対象のアドレスは、DMA先の記憶装置(3)におけるアドレスであることが好ましい。監視装置(10)はDMA先のアドレスの第1のバス(5)への転送に応じてCPU(1)による記憶装置(3)へのアクセスを制御する。このため、CPU(1)によるアクセスがDMAを追い越すことを防止できる。
又、第2から第4の態様に係るCPU(1)は、監視装置(10)からのアクセス許可と、DMAコントローラ(2)からのアクセス許可とのどちらか一方に応じて記憶装置(3)にアクセスすることが好ましい。すなわち、CPU(3)は、DMAコントローラからのアクセス制御と、第1のバス(5)上のアドレスを監視する監視装置(10)からのアクセス制御とを選択的に利用することができる。この場合、CPU(1)によるアクセスがDMAを追い越すことがないようなデータの転送に対しては、従来通りDMAコントローラからのアクセス許可に応じることができ、柔軟にそのアクセス制御の方式を変更することが可能となる。
本発明による監視装置(10)は、対象アドレスレジスタ(11)と、アドレス取得回路(13)と、比較器(12)と、許可信号発行回路(15)とを備える。対象アドレスレジスタ(11)は、監視対象のアドレスである対象アドレス(101)を保持する。アドレス取得回路(13)は、第1のバス(5)に転送されるアドレス(103)を取得する。比較器(12)は、取得アドレス(103)と対象アドレス(101)とを比較する。許可信号発行回路(15)は、取得アドレス(103)と対象アドレス(101)が一致すると許可信号(104)を発行する。
又、監視装置(10)は、比較器(12)による比較結果を記録するチェックレジスタ(14)を更に備えることが好ましい。比較器(12)は、取得アドレス(103)と対象アドレス(101)が一致するとチェックレジスタ(14)を更新する。許可信号発行回路(15)は、チェックレジスタ(14)の更新に応答して許可信号(104)を発行する。
更に、CPU(1)は、チェックレジスタ(14)に記録された比較結果に基づき記録装置へのアクセス先を決定することが好ましい。詳細には、CPU(1)は、許可信号(104)に応答してチェックレジスタ(14)に記録された比較結果を取得する。
ここで、第4の態様に係るマイクロコンピュータ(100D)は複数のCPU(1−A、1−B)を備える。この場合、対象アドレスレジスタ(11―A、11B)は、CPU(1−A、1−B)毎に対応付けられた対象アドレス(101−A、101−B)を保持する。許可信号発行回路(15−A、15−B)は、取得アドレス(103)と一致する対象アドレス(101)に対応するCPU(1)に対し、許可信号(104)を発行する。
この際、許可信号発行回路(15)は、対応するCPU(1)との間に固有の信号線を介して1対1で接続されることが好ましい。許可信号発行回路(15)は、許可信号(104)を、この信号線を介してCPU(1)に発行する。
又、第3の態様に係るマイクロコンピュータ(100C)は、複数のDMAコントローラ(2−1、2−2)を備える。この場合、対象アドレスレジスタ(11−1、11−1)は、DMAコントローラ(2―1、2−2)毎に対応付けられた対象アドレス(101−1、11−2)を保持する。
以上のような構成により、DMA転送終了後からCPUアクセスに移行する際、CPUアクセスがDMAを追い越して記憶装置(3)にアクセスすることを防ぐことができる。
本発明によれば、CPUが記憶装置から適正なデータを取得することができる。
更に、記憶装置へのデータの転送が確実に終了した時点で、CPUに対してDMA転送先の領域へのアクセス許可を与えることができる。
以下、添付図面を参照しながら本発明の実施の形態を説明する。図面において同一、又は類似の参照符号は、同一、類似、又は等価な構成要素を示している。又、複数の同一又は類似の構成には追い番を付け、総称して説明する場合は、追い番を付けないで説明する。以下では、本発明による半導体装置として、内部バスを介して相互に接続されるCPUと記憶装置(例えばRAM)が搭載されたマイクロコンピュータを一例に実施の形態を説明する。
1.第1の実施の形態
図1から図3Bを参照して本発明によるマイクロコンピュータの第1の実施の形態を説明する。第1の実施の形態におけるマイクロコンピュータ100Aは、バス上に転送されるアドレスを監視し、その監視結果に基づきCPU1の第1記憶装置3へのアクセスを制御する監視装置10Aを備える。監視装置10Aは、監視対象のアドレス(対象アドレス101)と一致するアドレスを第1バス5上に検出すると、CPU1にアクセス許可を与える。CPU1はこのアクセス許可に応答して、第1記憶装置3にアクセスする。
(構成)
以下、図1を参照して、マイクロコンピュータ100Aの構成の詳細を説明する。図1は、第1の実施の形態におけるマイクロコンピュータ100Aの構成を示すブロック図である。第1の実施の形態におけるマイクロコンピュータ100Aは、CPU1、DMAコントローラ(DMAC)2、第1記憶装置3、第2記憶装置4、第1バス5、第2バス6、バスブリッジ7、監視装置10Aを具備する。
CPU1は、第1バス5を介して第1記憶装置3に接続され、第1記憶装置3からデータを取得(リード)、あるいは第1記憶装置3にデータを転送する(ライト)。又、CPU1は、第1記憶装置3内に書き込まれたプログラムを読み出して実行する。第1バス5は、バスブリッジ7を介して第2バス6に接続される。すなわち、マイクロコンピュータ100Aは階層構造を示す第1バス5及び第2バス6を備える。第2バス6にはDMAC2と第2記憶装置4が接続される。マイクロコンピュータ100Aは、同一チップ上に搭載されたICチップであることが好ましい。尚、バスブリッジ7、第2バス6、DMAC2、第1記憶装置3、及び第2記憶装置4のいずれかは、CPU1が設けられるチップの外に形成されても構わない。
DMAC2は、第1記憶装置3と第2記憶装置4との間のデータの転送動作を制御する。又、CPUからのコマンドに応じてDMA転送を開始し、CPUによって示されたアドレスへの転送を終了すると、DMA転送を停止する。ここで、DMA転送とは第2記憶装置4内のデータを第1記憶装置3に書き込む動作を示す。従来技術によるDMACはDMA転送終了時にCPUに対し割込み信号によって転送完了通知を行うが、本実施の形態におけるDMAC2は、このような割込み信号を発行しない。尚、本実施の形態では、第2記憶装置4と第1記憶装置3との間のDMA転送を制御するDMAC2を一例に説明するが、DMCA2は、外部通信装置(例えばネットワーク、UART、USB)と第1記憶装置3との間におけるデータの入出力を制御するI/O装置であっても構わない。
バスブリッジ7はFIFOで転送するバッファ8を備える。第2バス6を介して転送されるデータは、バスブリッジ7内のバッファ8に一時格納されてから、第1バス5を介して第1記憶装置3に格納される。
第1バス5及び第2バス6は、アドレスバス、データバス、コントロールバスを含むCPU内部バスである。CPU1、DMAC2は、第1バス5又は第2バス6を介してアドレスデータ102、転送データ(リードデータ、ライトデータ)、各種コマンド(リード、ライト)を出力する。尚、これらのバスは共通線でも互いに個別の専用線でも構わない。
監視装置10Aは、対象アドレス101が格納される対象アドレスレジスタ11、比較器12、アドレス取得回路13、チェックレジスタ14、許可信号発行回路15を備える。CPU1は、DMAC2に対しDMA転送を開始するためのコマンドを発行する前、又はコマンドを発行する際に、対象アドレス101を対象アドレスレジスタ11に設定する。ここで、対象アドレス101とは、CPU1が第1記憶装置3にアクセスする時点において、DMA転送が完了していなければならない第1記憶装置3のアドレスである。すなわち、対象アドレス101は、CPU1から指示された一連のDMA転送における転送先アドレスの最終アドレスが設定される。例えば一連のDMA転送における転送先アドレスが0番地から100番地である場合、100番地が対象アドレス101として設定される。尚、CPU1によるアクセスがDMA転送より先んじることを防止できれば、一連のDMA転送における最終アドレス以外のアドレスが対象アドレス101として設定されても構わない。例えば、一連のDMA転送の転送先が0番地から100番地であり、CPU1が0番地から100番地まで順にデータを読み出す場合、CPU1が81番地のデータを読み出すまでに、81番地以降へのDMA転送が終了していれば、80番地が対象アドレス101として設定され得る。
アドレス取得回路13は、第1バス5を監視し、第1バス5におけるアドレスバスに転送されるアドレスデータ102を取得する。この際、アドレスバスとデータバスはそれぞれ専用バスであっても、共通バスであっても良い。ただし、共通バスの場合、アドレス取得回路13は、所定のアドレスサイクルに応じて第1バス5からアドレスデータ102を取得する。ここでアドレスサイクルとは、第1バス5がアドレスバスとして使用されることを示すコードであり、アドレスサイクルが発行されている間は、第1バス5はアドレスバスとして機能する。
アドレス取得回路は、アドレスデータ102に基づくアドレスを取得アドレス103として比較器12に出力する。例えば、アドレス取得回路13は、アドレスデータ102を取得アドレス103として比較器12に出力する。あるいは、アドレス取得回路13は、アドレスデータ102を用いて取得アドレス103を生成し、比較器12に出力しても良い。例えば、転送データがバーストデータである場合、アドレス取得回路13は、アドレスデータ102をバースト長に応じてインクリメントし、そのアドレス値を取得アドレス103として比較器12に出力する。
比較器12は、対象アドレス101と取得アドレス103とを比較し、一致する場合、チェックレジスタ14にフラグを立てる(例えば、チェックレジスタ14に「1」を設定する)。
許可信号発行回路15は、チェックレジスタ14を監視し、チェックレジスタ14の示す値が「0」から「1」に更新されると、許可信号104をCPU1に発行する。許可信号104によって、第1記憶装置3におけるDMA転送先の領域へのCPU1によるアクセスが許可される。尚、許可信号104は割込み信号として設定されていても構わない。この場合、CPU1は、許可信号104に応答して割込み処理を実行し、現在実行中の処理を中断して第1記憶装置3のDMA転送に係る領域にアクセスする。
以上のような構成により、本発明によるマイクロコンピュータ100Aでは、監視装置10AによってDMA転送による第1記憶装置3へのデータの書き込み完了を確認できるため、CPU1リードがDMAライトを追い越すことなく実行できる。又、バスが遅延要素を介して階層構造を示すような構成であっても、CPU1はDMA転送によるデータの書き込み完了後に、当該データを読み出すことができる。すなわち、DMA転送によるデータが遅延して第1記憶装置3に転送されるような構成であっても、DMA転送からCPU1によるアクセスへの移行が適正に実行され、CPU1は不正データを読み出すことなく各処理を実行できる。尚、第2バス6が接続するブリッジ7は、第1バス5に接続されているが、この限りではなく、第2バス6が第1バス5に対して階層構造を示す、又は第2バス6が何らかの遅延要因を介して第1バス5に接続されるバスであれば、これに限定されない。
(動作)
図1から図3Bを参照して、本発明によるマイクロコンピュータ100Aの動作の詳細を説明する。図2は、本発明によるマイクロコンピュータ100AにおけるDMA転送からCPU1による第1記憶装置3へのアクセスまでの動作を示すフロー図である。図3A及び図3Bは、本発明によるマイクロコンピュータ100AにおけるDMA転送動作、及び対象アドレス監視動作を示すタイミングチャートである。図3Aは、一連のDMA転送における最初のデータD0〜D4が第2バス6から第1バス5に転送されるまでのDMA転送動作、DMA転送開始時における対象アドレス101の設定、及び対象アドレス監視動作を示すタイミングチャートである。又、図3Bは、一連のDMA転送における最後のデータDn0〜Dn4が第2バス6から第1バス5に転送されるまでのDMA転送動作、及び対象アドレス監視動作から対象アドレス検出までのタイミングチャートである。ここでは、DMA転送により第2の記憶装置4から第1記憶装置3へDMA転送によりデータD0〜Dn4が書き込まれ、その後、CPU1によって、第1記憶装置3に書き込まれたデータD0〜Dn4が読み出される場合について、その動作を説明する。
CPU1は、DMA転送を指示するのに先立ち、対象アドレス101を第1バス5を介して対象アドレスレジスタ11に設定する(ステップS1)。ここでは、対象アドレス101として、DMA転送における最終転送先アドレスであるアドレス(Addr1_n)が設定されるものとする(図3A参照)。対象アドレス101が設定された監視装置10Aは、第1バス5上のアドレスデータ102の監視を開始する(ステップS2)。ステップS2において、アドレス取得回路13は、所定のタイミングで第1バス5上のアドレスデータ102を取得し、アドレスデータ102に基づく取得アドレス103を比較器12に出力する。比較器12は、対象アドレスレジスタ11内の対象アドレス101と取得アドレス103とを比較し、比較結果に基づきチェックレジスタ14を更新する。尚、比較器12は、対象アドレス101が設定される前から、常時取得アドレス103と設定前の対象アドレス101とを比較していても良い。
CPU1は、対象アドレス101を設定する際、DMA転送を開始するためのDMA転送コマンドをDMAC2に発行する。DMAC2は転送開始コマンドに応答してDMA転送を開始する(ステップS3)。図3A及び図3Bを参照して、マイクロコンピュータ100AにおけるDMA転送、及び対象アドレス監視動作の詳細を説明する。ここで、DMAC2は、第2記憶装置4におけるアドレスAddr2_1〜Addr2_nに格納されたデータDを、第1記憶装置3におけるアドレスAddr1_1〜Addr1_nにDMA転送するものとする。本実施の形態では、1つのアドレスに対して4つのデータの読み出し、書き込みが行われるDMA転送を一例に説明する。
DMAC2は第2バス6を介してリードコマンドとともにリード対象のアドレス(Addr2_1)を第2記憶装置4に発行し、第2記憶装置4におけるアドレス(Addr2_1)に対応する領域からデータD0〜D3を取得する。次に、DMAC2は、第2バス6を介してライトコマンドとともに書き込み先のアドレス(Addr1_1)を転送し、データD0〜D3を転送する。ライトコマンド及び書き込み先の第1記憶装置3のアドレス(Addr1_1)は、バスブリッジ7を介して第1バス5に転送される。この際、ライトコマンド及びアドレス(Addr1_1)は、それぞれバスブリッジ7内の図示しないバッファ(コマンドバス、アドレスバスにそれぞれ接続するバッファ)を介して第1バスに転送される。又、データD0〜D3はFIFOでバスブリッジ7におけるバッファ8を介して第1バス5に転送される。
アドレス取得回路13は、第1バス5に転送されたアドレス(Addr1_1)をアドレスデータ102として読み出し、取得アドレス103として比較器12に出力する。比較器12は、対象アドレス101(Addr1_n)と取得アドレス103(Addr1_1)とを比較し、不一致であるため、チェックレジスタ14を更新せず「0」を維持する。
DMAC2は、データD0〜D3の転送に引き続き、同様にして、第2記憶装置4におけるアドレス(Addr2_2〜Addr2_n−1)から第1記憶装置3におけるアドレス(Addr1_2〜Addr1_n−1)にデータをDMA転送する。この間、比較器12は、同様に対象アドレス101(Addr1_n)と取得アドレス103(Addr1_2〜Addr1_n−1)を比較し、比較結果(不一致)に基づきチェックレジスタ14を更新せず「0」を維持する。
DMAC2は、引き続き、CPU1からのDMA転送コマンドに基づく一連のDMA転送における最後のDMA転送を実行する。すなわち、DMAC2は、同様にして、第2記憶装置4におけるアドレス(Addr2_n)から第1記憶装置3におけるアドレス(Addr1_n)にデータDn0〜Dn3をDMA転送する。この際、比較器12は、同様に対象アドレス101(Addr1_n)と取得アドレス103(Addr1_n)を比較し、両者が一致するため、チェックレジスタ14を「1」に更新する。すなわち、監視装置10Aは、第1バス5上に対象アドレス101に一致するアドレスを検出する(ステップS4)。
監視装置10Aは、第1バス5上に対象アドレス101を検出すると、CPU1に対し、パルス信号である許可信号104を発行する(ステップS5)。CPU1は、許可信号104によって第1記憶装置3におけるアドレスAddr1_1〜Addr1_nに対応する領域へのアクセス権を得る。本実施の形態では、許可信号104に応答するCPU1は、エッジトリガによってアクセス許可を得るが、レベルトリガでも良いことは言うまでもない。許可信号104が割込み信号としてシステムに設定されている場合、CPU1は、許可信号104に応答して現在実施中の処理を中断し、第1記憶装置3のアドレスAddr1_1〜Addr1_nにアクセスし、DMA転送によって格納されたデータD0〜Dn4を読み出す(ステップS6)。
以上のように、本発明によるマイクロコンピュータ100Aでは、第1記憶装置3とCPU1との間の第1バス5上のアドレスを監視し、DMA転送終了時の転送先アドレス(対象アドレス101)に書き込みがある場合、チェックレジスタ14にフラグを立てる(チェックレジスタ14に「1」を設定する)。CPU1は、チェックレジスタ14の更新に応じた許可信号104を受信することで、データの転送(DMA転送)が確実に終了したことを確認できる。このため、CPU1は、DMA転送(DMAライト)を追い越さずに、第1記憶装置3にアクセス(CPUリード)することができる。
尚、本発明では、チェックレジスタ14に第1バス5の監視結果が記録される。あるいは、許可信号104を発行したことを保持するレジスタが監視装置10Aに設けられても良い。あるいは、許可信号104が発行されずチェックレジスタ14の更新のみが実行されても良い。このため、CPU1は、チェックレジスタ14(あるいは、許可信号104の発行済みが記録されるレジスタ)を参照してDMA転送が完了しているか否かを確認することができる。例えば、CPU1は、許可信号104に応答してチェックレジスタ14の更新状況を確認する。あるいは、DMA転送終了後にDMACから発行される割込みコマンドに応答して、チェックレジスタ14の更新状況を確認し、この更新状況に応じて第1記憶装置3のDMA転送に係る領域にアクセスすることも可能である。この場合、CPU1はDMAC2から発行される割込みコマンドに応答して、第1バス経由でチェックレジスタ14の値を読み出し、DMA転送の完了を確認するまで第1記憶装置3へのアクセスを待機する。詳細には、CPU1は、割込みコマンドを受けてからDMA転送の完了を確認するまで、所定の回数、所定のタイミングでチェックレジスタ14の値を読み出すことで、許可信号104を受け付けなくてもDMA転送の終了を確認することができる。すなわち、本発明に係るDMAC2としてDMA転送終了後に割込みコマンドを発行する従来のDMACが使用できる。本実施の形態におけるチェックレジスタ14は、CPU1による該当レジスタのリード、又は書き込みによりリセットされる。又、本実施の形態のように設定される対象レジスタ101が1つの場合、監視装置10Aにチェックレジスタクリアレジスタが設けられ、該当レジスタへの書き込みでリセットさせても良い。
図3Bを参照して、従来技術によれば、第2バス6にデータDn0〜Dn3が転送された時にDMACから発行される割込みコマンド応答して、CPUは記憶装置に書き込まれる予定のデータD0〜Dn3の読み出し処理を開始する。このとき、例えばCPUが第1記憶装置3におけるアドレスAddr1_n上のデータを読み出す場合、バスブリッジ7(バッファ8)内にデータDn0〜Dn3が存在する。このため、CPUは所望のデータDn0〜Dn3とは異なるデータを記憶装置から読み出してしまう。しかし、本発明によれば、第1バス5上に対象アドレス101(ここではAddr1_n)が転送されてから、CPU1は、第1記憶装置3におけるアドレスAddr1_1〜nにアクセスする。このため、CPU1は、データDn0〜Dn3が書き込まれた後の第1記憶装置3にアクセスが可能となる。すなわち、CPU1は、DMA転送後のデータを確実に読み出すことができる。
2.第2の実施の形態
図2から図4を参照して、本発明によるマイクロコンピュータの第2の実施の形態を説明する。第2の実施の形態におけるマイクロコンピュータ100Bでは、DMAC2と監視装置10Aのどちらか一方の制御によって、CPU1の第1記憶装置3へのアクセスタイミングが決定される。
(構成)
以下、図4を参照して、マイクロコンピュータ100Bの構成の詳細を説明する。図4は、第2の実施の形態におけるマイクロコンピュータ100Bの構成を示すブロック図である。第2の実施の形態におけるマイクロコンピュータ100Bは、第1の実施の形態におけるマイクロコンピュータ100Aの構成に加え、割込み選択ユニット9を更に具備する。又、本実施の形態におけるDMAC2は、DMA転送終了時に、CPU1に第1記憶装置3に対するアクセスを許可するための許可信号105を発行する。許可信号105は、割込みコマンドとして設定されても良い。この場合、許可信号105を受け付けたCPU1は、割込み処理を実行して、第1記憶装置3におけるDMA転送に係る領域にアクセスし、そこからDMA転送によって書き込まれたデータを読み出す。割込み選択ユニット9には、許可信号発行回路15から発行された許可信号104と、DMAC2から発行された許可信号105が入力され、どちらか一方をCPU1に出力する。割込み選択ユニット9から入力された許可信号に基づいて、第1記憶装置3におけるDMA転送に係る領域へのCPU1によるアクセス(CPUリード)が許可される。ここで、割込み選択ユニット9が許可信号104及び105のどちらを選択するかについては、予めCPU1によって設定される。詳細には、割込み選択ユニット9が許可信号105を選択するように設定される場合、監視装置10Aから許可信号104が発行されないように設定される。監視装置10Aから許可信号104を発行させない方法としては、CPU1が、対象アドレスレジスタ11に対象アドレスレジスタ101を設定しない方法や、チェックレジスタ14をディセーブルに設定して許可信号104を発行させない方法がある。又、割込み選択ユニット9が許可信号104を選択するように設定される場合、割込み選択ユニット9はDMAC2からの許可信号105をCPU1に転送しないように設定される。
(動作)
図2から図4を参照して、第2記憶装置4から第1記憶装置3へDMA転送によりデータが書き込まれ、その後、CPU1によって、第1記憶装置3に書き込まれたデータが読み出される場合について、その動作を説明する。
ステップS1からステップS3までは、第1の実施の形態と同様な動作なので説明を省略する。ステップS3において、DMAC2が一連のDMA転送における最終データDn0〜Dn3を第2バス6に転送すると、DMAC2は、許可信号105を割込み選択ユニット9に出力する。ここで、割込み選択ユニット9が許可信号104を選択するように設定されている場合、割込み選択ユニット9は、許可信号105が入力されてもその信号を受け付けず、許可信号104が入力されるまで待機する。ステップS5において、監視装置10Aによって第1バス5上に対象アドレスが検出され、許可信号104が発行されると、割込み選択ユニット9は、入力される許可信号104をCPU1に出力する。ステップS6において、CPU1は許可信号104に応答して第1記憶装置3におけるDMA転送先のアドレスAddr1_1〜Addr1_nへのアクセスが許可される。一方、割込み選択ユニット9が許可信号105を選択するように設定されている場合、許可信号105が入力されるとすぐに、許可信号105をCPU1に入力する。ステップS6において、CPU1は許可信号105に応答して第1記憶装置3におけるDMA転送先のアドレスAddr1_1〜Addr1_nへのアクセスが許可される。ここでは、許可信号105を選択するように設定された場合、ステップS1における対象アドレス101の設定は省略される。
例えば、CPU1が複数のデータから構成される画像データを読み出す際、通常、複数のデータの先頭アドレスから順に読み出していく。CPUは、DMAC2からの許可信号105に基づいて第1記憶装置3へのアクセスを開始しても、既にDMA転送が完了しているはずの最初のデータから読み出していく。このため、画像データのような大きなデータ量を転送するようなDMA転送では、バッファ8による遅延があっても、第1記憶装置3に対するCPU1リードがDMAライトを追い越す可能性は非常に低くなる。このような場合、許可信号105によるアクセス許可を選択することで、対象アドレス101の設定処理を省略することができる。又、このようなデータのDMA転送が実行される場合、CPU1は、許可信号104に応じて第1記憶装置3にアクセスするよりも、許可信号105に応じてアクセスする方が、対象アドレスの第1バス5への転送を待たずにCPUリードが実行できるため、早くデータを読み出すことができる。例えば、許可信号104、105がCPUリードを実行させる割込みコマンドとして設定されている場合、許可信号105に応答してCPUリードする方が、許可信号104に応答するよりも短時間にDMA転送されたデータを読み出すことができる。更に、許可信号104と許可信号105を選択利用できることから、DMAC2として、DMA転送終了後に割込み信号をCPU1に発行する従来技術によるDMACを用いることが可能となる。すなわち、従来技術によるDMACをそのまま利用できるため、本発明によるマイクロコンピュータ100Bを従来システムに導入することが容易となる。
尚、割込み選択ユニット9の機能がCPU1の内部に組み込まれても構わない。この際、許可信号104及び許可信号105は、CPU1において判別可能な信号として直接入力され、CPU1によって選択される。CPU1が、許可信号104及び許可信号105を判別する構成としては、例えば、許可信号104及び許可信号105が、それぞれが専用線でCPU1に入力される構成や、許可信号104及び許可信号105のそれぞれに自身を特定する識別情報が付加され、共通線を介してCPUに入力される構成がある。
3.第3の実施の形態
図5から図6Bを参照して、本発明によるマイクロコンピュータの第3の実施の形態を説明する。第1及び第2の実施の形態では、DMA転送が1つの場合について説明したが、第3の実施の形態では、複数のDMA転送に対してCPUアクセスが逆転しないマイクロコンピュータ100Cについて説明する。本実施の形態におけるマイクロコンピュータ100Cは、第1の実施の形態におけるマイクロコンピュータ100Aにおいて、DMAC2を複数備える構成である。
(構成)
以下、図5を参照して、マイクロコンピュータ100Cの構成の詳細を説明する。図5は、第3の実施の形態におけるマイクロコンピュータ100Cの構成を示すブロック図である。第3の実施の形態におけるマイクロコンピュータ100Cは、それぞれ異なるDMA転送を制御する2つのDMAC2−1、2−2が設けられる。以下では、DMAC2−1、2−2のそれぞれに対応する構成及び信号の符号に同じ追い番1、2を付して説明する。又、第1及び第2の実施の形態における構成と同一符号(追い番を付さない符号を含む)の構成は同様な動作を示すのでその説明を省略する。
マイクロコンピュータ100Cは、CPU1、複数のDMAC2−1、2−2、第1記憶装置3、第2記憶装置4、第1バス5、第2バス6−1、第3バス6−2、バスブリッジ7−1、7−2、監視装置10Bを具備する。第1バス5は、バスブリッジ7−1を介して第2バス6−1に接続される。第2バス6−1にはDMAC2−1と第2記憶装置4が接続される。又、第2バス6−1にはバスブリッジ7−2を介して第3バス6−2が接続される。第3バス6−2にはDMAC2−2が接続される。DMAC2−1は第2記憶装置4と第1記憶装置3との間のDMA転送を制御し、DMAC2−2はマイクロコンピュータ100Cの外部に設けられた外部通信装置17(例えばネットワーク、UART、USB)と第1記憶装置3との間におけるDMA転送を制御する。バスブリッジ7−1、7−2はそれぞれバッファ8−1、8−2を備えている。
本実施の形態における監視装置10Bは、複数の対象アドレスレジスタ11−1、11−2と、対象アドレスレジスタ11−1、11−2のそれぞれに対応して接続される比較器12−1、12−2とを備える。アドレス取得回路13は、比較器12−1及び12−2に共通接続され、それぞれに同一の取得アドレス103を出力する。対象アドレスレジスタ11−1、1−2にはそれぞれ、DMAC2−1、2−2に対応する対象アドレス101−1、101−2が設定される。比較器12−1、12−2は対応する対象アドレスレジスタ11−1、11−2内の対象アドレス101−1、101−2と取得アドレス103とを比較し、チェックレジスタ14にフラグを立てる(チェックレジスタ14に「1」を設定する)。
ここで、図6Aを参照して、チェックレジスタ14は、対象アドレス101及び比較器12毎に対応付けられた領域(ビット番号21及びステータス22)を有している。図6Aには、一例として8つの比較器12の比較結果を記録可能なチェックレジスタ14の構成例が示されている。比較器12は、それぞれの比較結果に応じて、対応するステータス22を更新する。比較器12は、対象アドレス101と取得アドレス103が一致すると、自身に対応するビット番号21のステータス22を「1」に設定し、一致しない場合「0」を維持する。尚、チェックレジスタ14のステータス22は、通常、オール「0」に設定されている。
ここで、比較器12−1、12−2はそれぞれビット番号21「0」、「1」に対応付けられて設定される。例えば、比較器12−1は、対象アドレス101と取得アドレス103を比較し、両者が一致するとビット番号21「0」に対応するステータス22を「1」に更新する。
許可信号発行回路15は、チェックレジスタ14のステータス22を個々に監視し、ステータス22のうち、少なくとも1つの値が「1」に更新されると、許可信号104をCPU1に発行する。ここでは、比較器12−1及び12−2のそれぞれに対応するビット番号21「0」、「1」のどちらか一方、又は両方のステータス22が「1」に更新されると、許可信号104が発行される。
CPU1は許可信号104に応答して第1バスを介してチェックレジスタ14内のビット番号21及びステータス22を取得する。この際、ビット番号21(比較器12)とDMA転送(DMAC2)は対応付けられて設定されているため、CPU1は、取得したビット番号22及びステータス22によって、どのDMA転送が終了したかを確認することができる。例えば、CPU1は、取得したステータス22が「1」であるビット番号21が「0」である場合、DMAC2によるDMA転送に係る第1記憶装置3の領域へのアクセスが許可される。又、第1の実施の形態のチェックレジスタ14と同様にステータス22は該当レジスタのリード、又は書き込みによりオール「0」にリセットされる。その他の実施の形態についても同様である。
以上のような構成により、本発明によるマイクロコンピュータ100Cでは、複数のDMA転送に対応する複数の対象アドレス101を監視し、その監視結果に基づき、DMA転送毎の終了を確認して、CPU1による第1記憶装置3へのアクセスを開始できる。
本実施の形態では、許可信号104はDMA転送毎に対応付けられていないため、CPU1は、許可信号104に応答して、チェックレジスタ14の内容を確認してアクセス可能な領域を特定している。しかし、許可信号104は、DMAC2(対象アドレス101)毎に対応づけられていても構わない。この場合、CPU1は、許可信号104によってどのDMA転送が終了したかを知ることができるため、チェックレジスタ14の確認処理を省略することができる。許可信号104とDMAC2を対応付ける方法としては、ビット数21に対応付けられた専用線を介して許可信号104を発行する方法や、ビット番号等の識別情報を許可信号104に付加して発行する方法等がある。
又、本実施の形態では、CPU1は、許可信号104に応答してチェックレジスタ14の値を取得しているが、DMAC2から発行される許可信号(例えばDMA転送終了時にCPUに発行される割込みコマンド)に応答してチェックレジスタ14の値を取得しても構わない。この際、CPU1はDMACから発行される許可信号に応答して、第1バス経由でチェックレジスタ14の値を読み出し、DMA転送の完了を確認するまで第1記憶装置3へのアクセスを待機する。例えば、CPU1は、DMACからの割込みコマンドに応答して所定の回数、所定のタイミングでチェックレジスタ14の値を読み出す。CPU1がステータス22「1」を確認すると、これに対応するビット番号21に対応付けられたDMA転送に係る領域へのCPU1によるアクセスが許可される。この場合、許可信号発行回路15は不要となるが、DMAC2からの許可信号の取得直後では、まだチェックレジスタ14のステータス22が更新されていない場合もあるため、ステータス22が更新されるまで、チェックレジスタ14にアクセスする必要性が生じる。
更に、本実施の形態は第2の実施の形態と組み合わせても構わない。すなわち、割込み選択ユニット9が設けられても良い。この場合、DMAC2−1、2−2は、第2の実施の形態と同様に、DMA転送が終了すると、それぞれCPU1に許可信号105を発行する。割込み処理ユニット9には、DMA転送毎に選択する許可信号が設定され、この設定に基づきCPU1へ入力する許可信号が選択される。
本実施の形態では、チェックレジスタ14にイネーブルフラグ23を用いることで使用しない比較器12を設定することができる。図6Bは、イネーブルフラグ23が追加されたチェックレジスタ14の構成を示す図である。この場合、使用する比較器12に対応するビット番号21のイネーブルフラグ23は「1」に設定され、使用しない比較器12に対応するイネーブルフラグ23は「0」に設定されるものとする。許可信号発行回路15は、ステータス22の代わりにステータス22とイネーブルフラグ23との論理積24を監視し、この論理積24の更新(「1」に更新)に基づき許可信号104を発行する。又、この場合、CPU1は、許可信号104に応じて論理積24とビット番号21を取得し、この論理積に対応するアクセス処理を実行する。例えば、第2の実施の形態のようにDMAC2からの許可信号105を選択したい場合、イネーブルフラグ23「0」によって当該DMA転送に係る比較器12をディセーブルに設定し、許可信号104の発行を禁止することができる。又、許可信号104又は105に基づくCPU1のアクセスが開始された後、イネーブルフラグ23を「0」にセットすることで、当該DMA転送に対応する対象アドレスレジスタ11をリセットすることなく、許可信号104の発行を禁止することができる。
以上のように、イネーブフラグ23を設定することで、許可信号104の発行を制御し、事前に設定された複数の対象アドレス101の使用・不使用を決定することができる。設定された対象アドレス101を不使用にするためには、対象アドレス101を他のアドレスに書き換えたり、リセットする必要があるが、イネーブルフラグ23による使用制限により、その必要がなくなる。このため、対象アドレス101の書き換えに要する時間や消費電力を抑制することができる。
本実施の形態における動作の説明は、許可信号104(又は105)が入力されたCPU1による、チェックレジスタ14の確認処理、及び、割込み選択ユニット9における許可信号の選択処理以外、第1及び第2の実施の形態と同様なので、説明を省略する。尚、本実施の形態では、DMAC2が2つの場合について説明したが、その数に限らないのは言うまでもない。尚、第3バス6−2が接続するブリッジ7−2は、第2バス6−2に接続されているが、この限りではなく、第3バスが第1バスに対して階層構造を示す、又は第3バス6−2が何らかの遅延要因を介して第1バス5に接続されるバスであれば、これに限定されない。
4.第4の実施の形態
図7を参照して、本発明によるマイクロコンピュータの第4の実施の形態を説明する。第1から第3の実施の形態では、CPUが1つの場合について説明したが、第4の実施の形態では、複数のCPUを有するマイクロコンピュータ100Dについて説明する。マイクロコンピュータ100Dは、第1の実施の形態におけるマイクロコンピュータ100Aにおいて、複数のCPU1−A、1−Bを複数備える構成である。
(構成)
以下、図7を参照して、マイクロコンピュータ100Dの構成の詳細を説明する。図7は、第4の実施の形態におけるマイクロコンピュータ100Dの構成を示すブロック図である。第4の実施の形態におけるマイクロコンピュータ100Dは、それぞれ異なる処理を実行する2つのCPU1−A、1−Bが設けられる。以下では、CPU1−A、1−Bのそれぞれに対応する構成の符号に同じ追い番A、Bを付して説明する。又、第1及び第2の実施の形態における構成と同一符号(追い番を付さない符号を含む)の構成は同様な動作を示すので、その説明を省略する。
本実施の形態に係るCPU1−A、1−Bは共通の第1バス5を介して第1記憶装置3に接続される。本実施の形態における監視装置10Cは、CPU1−Aに対応する対象アドレスレジスタ11−A、比較器12−A、チェックレジスタ14A、許可信号発行回路15−Aと、CPU1−Bに対応する対象アドレスレジスタ11−B、比較器12−B、チェックレジスタ14A、許可信号発行回路15−Bとを備える。許可信号発行回路15−A、15−Bはそれぞれ個別の信号線を介して、許可信号104−A及び104−BをCPU1−A、CPU1−Bにに発行する。すなわち、本実施の形態における監視装置10Cは、CPU1毎に対象アドレス101を監視し、監視結果に基づきCPU1毎に許可信号104を発行する。ただし、回路構成を縮小するため、許可信号発生回路15−A及び15−Bは共通の信号線を介して許可信号104−A及び104Bを発行しても良い。この場合、許可信号104−A、104−Bは発行元の許可信号発生回路15を識別する情報を含む。上記のCPU1毎に構成される回路の個々の動作は、第1及び第2の実施の形態と同じであるので説明を省略する。
本実施の形態は第2の実施の形態と組み合わせても構わない。すなわち、割込み選択ユニット9が設けられても良い。この場合、CPU1−A、1−Bはそれぞれ割込み選択ユニット9に接続される。許可信号発生回路15−A及び15−Bはそれぞれ個別の信号線を介して許可信号104−A、104−Bを割込み選択ユニット9に発行する。ただし、回路構成を縮小するため、許可信号発生回路15−A及び15−Bは共通の信号線を介して許可信号104−A及び104Bを発行しても良い。この場合、許可信号104−A、104−Bは発行元の許可信号発生回路15を識別する情報を含む。DMAC2は、割込み選択ユニット9経由でCPU1−A及び1−Bに対し、それぞれ個別の許可信号105を発行する。又、本実施の形態は第3の実施の形態と組み合わせても構わない。すなわち、複数のDMAC2が設けられても良い。
以上のように、CPU1が複数設けられる構成においても、CPU1毎に設定された対象アドレス101を第1バス5上で監視することで、CPUアクセスがDMAを追い越さないように、CPU1毎のCPUアクセスを制御することができる。尚、本実施の形態では、説明を簡略化するためにDMAC2が1つの場合を一例に示したが、第3の実施の形態と組み合わせても良い。すなわち、CPU1−A、1−Bのそれぞれに対応する対象アドレスレジスタ11及び比較器12を複数備える構成でも構わない。本実施の形態によれば、マルチCPU構成にも本発明を適用可能となる。
以上、本発明の実施の形態を詳述してきたが、具体的な構成は上記実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。本実施の形態では、チェックレジスタ14(ステータス22)が「1」のときに許可信号104が発行され、「0」のときは発行されない設定であるが、これに限らず、「0」のときに許可信号104が発行され、「1」のときに発行されない設定でも構わない。
図1は、本発明によるマイクロコンピュータの第1の実施の形態における構成を示すブロック図である。 図2は、本発明によるマイクロコンピュータの実施の形態におけるアクセス制御動作を示すフロー図である。 図3Aは、本発明よるマイクロコンピュータにおけるDMA転送動作、及び対象アドレス監視動作を示すタイミングチャートである。 図3Bは、本発明よるマイクロコンピュータにおけるDMA転送動作、及び対象アドレス監視動作を示すタイミングチャートである。 図4は、本発明によるマイクロコンピュータの第2の実施の形態における構成を示すブロック図である。 図5は、本発明によるマイクロコンピュータの第3の実施の形態における構成を示すブロック図である。 図6Aは、本発明に係るチェックレジスタの構成を示す図である。 図6Bは、本発明に係るチェックレジスタのイネーブルフラグが適用された場合の構成を示す図である。 図7は、本発明によるマイクロコンピュータの第4の実施の形態における構成を示すブロック図である。 図8は、従来技術によるアクセス制御装置を用いたシステムのシステム構成とアクセス制御装置の内部構成を示すブロック図である。
符号の説明
1、1−A、1−B:CPU
2、2−1、2−2:DMCA
3:第1記憶装置
4:第2記憶装置
5:第1バス
6:第2バス
7、7−1、7−2:バスブリッジ
8、8−1、8−2:バッファ
9、9−A、9−B:割込み選択ユニット
10A、10B、10C:監視装置
11、11−1、11−2:対象アドレスレジスタ
12、12−1、12−2:比較器
13:アドレス取得回路
14:チェックレジスタ
15:許可信号発行回路
101、101−1、101−2、101−A、101−B:対象アドレス
102:アドレスデータ
103:取得アドレス
104、104−A、104−B:許可信号
105:割込み信号
201:プロセッサ
202:アクセス制御装置
203:主記憶装置
204:バス
205:I/O装置
211、212:バッファ
213:比較器
214:アクセス制御ユニット

Claims (23)

  1. 第1のバスと、
    前記第1のバスを介して記憶装置に接続される少なくとも1つのCPU(Central Processing Unit)と、
    前記第1のバス上のアドレスを監視する監視装置と、
    前記第1のバスを介して前記記憶装置に対しDMA(Direct Memory Access)転送を実行する少なくとも1つのDMAコントローラと
    を具備し、
    前記監視装置は、前記第1のバスに監視対象のアドレスが転送されると、許可信号を発行し、
    前記CPUは、前記許可信号に応答して前記記憶装置にアクセスし、
    前記監視対象のアドレスは、前記DMA転送の転送先の前記記憶装置におけるアドレスである
    半導体装置。
  2. 請求項1に記載の半導体装置において、
    前記CPUは、前記監視装置からのアクセス許可と、前記DMAコントローラからのアクセス許可とのどちらか一方に応じて前記記憶装置にアクセスする
    半導体装置。
  3. 請求項1又は2に記載の半導体装置において、
    前記監視装置は、
    前記監視対象のアドレスである対象アドレスを保持する対象アドレスレジスタと、
    前記第1のバスに転送されるアドレスを取得するアドレス取得回路と、
    前記取得アドレスと前記対象アドレスとを比較する比較器と、
    前記取得アドレスと前記対象アドレスが一致すると前記許可信号を発行する許可信号発行回路とを備える
    半導体装置。
  4. 請求項3に記載の半導体装置において、
    前記監視装置は、
    前記比較器による比較結果を記録するチェックレジスタを更に備え、
    前記比較器は、前記取得アドレスと前記対象アドレスが一致すると前記チェックレジスタを更新し、
    前記許可信号発行回路は、前記チェックレジスタの更新に応答して前記許可信号を発行する
    半導体装置。
  5. 請求項4に記載の半導体装置において、
    前記CPUは、前記チェックレジスタに記録された前記比較結果に基づき前記記録装置へのアクセス先を決定する
    半導体装置。
  6. 請求項3から5いずれか1項に記載の半導体装置において、
    前記対象アドレスレジスタは、前記CPUに対応付けられた前記対象アドレスを保持し、
    前記許可信号発行回路は、前記取得アドレスと一致する前記対象アドレスに対応する前記CPUに対し、前記許可信号を発行する
    半導体装置。
  7. 請求項3から6いずれか1項に記載の半導体装置において、
    前記対象アドレスレジスタは、前記DMAコントローラに対応付けられた前記対象アドレスを保持する
    半導体装置。
  8. 請求項1から7いずれか1項に記載の半導体装置において、
    前記第1のバスに接続されるバスブリッジと、
    前記バスブリッジに接続される第2のバスと、
    を更に具備し、
    前記監視装置は、前記第2のバス及び前記バスブリッジを介して前記記憶装置に転送されるアドレスを監視し、
    前記バスブリッジは、前記第2のバスから転送されるデータを一時格納した後、前記第1のバスに転送するバッファを有する
    半導体装置。
  9. 第1のバスと、
    前記第1のバスを介して記憶装置に接続される少なくとも1つのCPU(Central Processing Unit)と、
    前記第1のバス上に監視対象のアドレスが転送されるか否かを監視する監視装置と
    前記第1のバスを介して前記記憶装置に対しDMA(Direct Memory Access)転送を実行する少なくとも1つのDMAコントローラと
    を具備し、
    前記CPUによる前記記憶装置へのアクセスは、前記第1のバスに前記監視対象のアドレスが転送されることで許可され、
    前記監視対象のアドレスは、前記DMA転送の転送先の前記記憶装置におけるアドレスである
    半導体装置。
  10. 第1記憶装置に接続される第1バスと、
    前記第1バスを介して前記第1記憶装置にアクセス可能な第1CPU(Central Processing Unit)と、
    前記第1バスを介して前記第1記憶装置にアクセス可能な第1DMA(Direct Memory Access)コントローラと
    を具備し、
    前記監視装置は、前記第1バス上に監視対象のアドレスが転送されるか否かを監視し、
    前記監視対象のアドレスは、DMA転送先の記憶装置におけるアドレスであり、
    前記第1CPUは、前記第1のバスに前記監視対象のアドレスが転送されると、前記第1記憶装置にアクセスする
    データ処理装置。
  11. 請求項10に記載のデータ処理装置において、
    前記監視装置は、前記第1のバスに監視対象のアドレスが転送されると、前記DA転送の完了を示す第1許可信号を発行し、
    前記第1CPUは、前記第1許可信号に応答して前記第1記憶装置にアクセスする
    データ処理装置。
  12. 請求項10又は11に記載のデータ処理装置において、
    前記第1バスを介して前記第1記憶装置にアクセス可能な第2DMAコントローラを更に具備し、
    前記監視装置は、
    前記監視対象のアドレスである対象アドレスを保持する対象アドレスレジスタと、
    前記第1のバスに転送されるアドレスを取得するアドレス取得回路と、
    前記取得アドレスと前記対象アドレスレジスタ内のアドレスとを比較する比較器と、
    前記取得アドレスと前記対象アドレスレジスタ内のアドレスが一致する場合、前記第1許可信号を発行する許可信号発行回路と
    を備え、
    前記対象アドレスレジスタは、前記第1DMAコントローラに対応付けられた第1対象アドレスを保持する第1対象アドレスレジスタと、前記第2DMAコントローラに対応付けられた第2対象アドレスを保持する第2対象アドレスレジスタを含み、
    前記許可信号発行回路は、前記取得アドレスと前記第1対象アドレスレジスタ内又は前記第2対象アドレス内のアドレスとが一致する場合、前記第1許可信号を発行する
    データ処理装置。
  13. 請求項10又は11に記載のデータ処理装置において、
    前記第1バスを介して前記第1記憶装置にアクセス可能な第2CPUとを更に具備し、
    前記監視装置は、
    前記監視対象のアドレスである対象アドレスを保持する対象アドレスレジスタと、
    前記第1のバスに転送されるアドレスを取得するアドレス取得回路と、
    前記取得アドレスと前記対象アドレスレジスタ内のアドレスとを比較する比較器と、
    第1許可信号発行回路と、
    第2許可信号発行回路と
    を備え、
    前記対象アドレスレジスタは、前記第1CPUに対応付けられた第1対象アドレスを保持する第1対象アドレスレジスタと、前記第2CPUに対応付けられた第2対象アドレスを保持する第2対象アドレスレジスタを含み、
    前記第1許可信号発行回路は、前記取得アドレスと前記第1対象アドレスレジスタ内のアドレスが一致する場合、前記第1許可信号を発行し、
    前記第2許可信号発行回路は、前記取得アドレスと前記第2対象アドレスレジスタ内のアドレスが一致する場合、第2許可信号を発行し、
    前記第2CPUは、前記第2許可信号に応答して前記第1記憶装置にアクセスする
    データ処理装置。
  14. 第1のバスに接続され、前記第1のバス上のDMA(Direct Memory Access)バスサイクルを行うDMAコントローラと、
    前記第1のバスに接続され、前記第1のバス上のCPU(Central Processing Unit)バスサイクルを行うCPUと、
    前記第1のバスにおいて、前記DMAバスサイクルに基づいたアドレスの情報が、監視対象のアドレス情報と一致することを示すアクセス情報を生成するために、前記監視対象のアドレスの情報を一時的に記録する監視装置と
    を具備し、
    前記監視対象のアドレスは、DMA転送先の記憶装置におけるアドレスであり、
    前記DMAバスサイクルの完了を示す前記アクセス情報が生成されると、前記CPUは前記CPUバスサイクルを行う
    データ処理装置。
  15. 請求項14に記載のデータ処理装置において、
    前記監視装置は、前記アクセス情報が生成されると、前記CPUに対し許可信号を出力する許可信号発行回路を備え、
    前記CPUは、前記許可信号に基づいて前記CPUバスサイクルを起動する
    データ処理装置。
  16. DMA(Direct Memory Access)コントローラが、第1のバスを介して記憶装置に対しDMA転送を実行するステップと、
    監視装置が、前記第1のバス上のアドレスを監視する監視ステップと、
    前記監視装置が、前記第1のバスに監視対象のアドレスが転送されると、許可信号を発行するステップと、
    CPU(Central Processing Unit)が、前記許可信号に応答して前記記憶装置にアクセスするアクセスステップと、
    を具備し、
    前記監視対象のアドレスは、前記DMA転送の転送先の前記記憶装置におけるアドレスである
    記憶装置へのアクセス方法。
  17. 請求項16に記載の記憶装置へのアクセス方法において、
    前記CPUが、前記監視装置からのアクセス許可と、前記DMAコントローラからのアクセス許可とのどちらか一方に応じて前記記憶装置にアクセスするステップを備える
    記憶装置へのアクセス方法。
  18. 請求項16又は17に記載の記憶装置へのアクセス方法において、
    前記監視ステップは、
    アドレス取得回路が、前記第1のバスに転送されるアドレスを取得する取得ステップと、
    比較器が、前記取得アドレスと前記対象アドレスとを比較する比較ステップとを備え、
    前記第1許可ステップは、
    許可信号発行回路が、前記取得アドレスと前記対象アドレスとが一致すると前記許可信号を発行するステップを備える
    記憶装置へのアクセス方法。
  19. 請求項18に記載の記憶装置へのアクセス方法において、
    前記監視ステップは、
    前記比較器が、前記取得アドレスと前記対象アドレスとが一致するとチェックレジスタを更新するステップを備え、
    前記第1許可ステップは、
    前記許可信号発行回路が、前記チェックレジスタの更新に応答して前記許可信号を発行するステップを備える
    記憶装置へのアクセス方法。
  20. 請求項19に記載の記憶装置へのアクセス方法において、
    前記アクセスステップは、
    前記CPUが、前記チェックレジスタに記録された前記比較ステップにおける比較結果に基づき前記記録装置へのアクセス先を決定するステップを更に備える
    記憶装置へのアクセス方法。
  21. 請求項19又は20に記載の記憶装置へのアクセス方法において、
    前記設定ステップは、前記CPUと対応付けて前記対象アドレスを設定するステップを備え、
    前記第1許可ステップは、
    前記許可信号発行回路が、前記取得アドレスと一致する前記対象アドレスに対応する前記CPUに対し、前記許可信号を出力するステップを備える
    記憶装置へのアクセス方法。
  22. 請求項19から21いずれか1項に記載の記憶装置へのアクセス方法において、
    前記設定ステップは、前記DMAコントローラと対応付けて前記対象アドレスを設定するステップを備え、
    前記第1許可ステップは、
    前記許可信号発行回路が、前記取得アドレスと一致する前記対象アドレスに対応する前記DMAコントローラに対し、前記許可信号を出力するステップを備える
    記憶装置へのアクセス方法。
  23. DMA(Direct Memory Access)コントローラが、第1のバスを介して記憶装置に対しDMA転送を実行するステップと、
    監視装置が、前記第1のバス上に監視対象のアドレスが転送されるか否かをを監視する監視ステップと
    を具備し、
    CPU(Central Processing Unit)による前記記憶装置へのアクセスは、前記第1のバスに前記監視対象のアドレスが転送されることで許可され、
    前記監視対象のアドレスは、前記DMA転送の転送先の前記記憶装置におけるアドレスである
    記憶装置へのアクセス方法。
JP2006216144A 2006-08-08 2006-08-08 半導体装置、データ処理装置、及び記憶装置へのアクセス方法 Expired - Fee Related JP5057360B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006216144A JP5057360B2 (ja) 2006-08-08 2006-08-08 半導体装置、データ処理装置、及び記憶装置へのアクセス方法
US11/882,855 US7934043B2 (en) 2006-08-08 2007-08-06 Data processing apparatus for controlling access to a memory based upon detection of completion of a DMA bus cycle

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006216144A JP5057360B2 (ja) 2006-08-08 2006-08-08 半導体装置、データ処理装置、及び記憶装置へのアクセス方法

Publications (2)

Publication Number Publication Date
JP2008040905A JP2008040905A (ja) 2008-02-21
JP5057360B2 true JP5057360B2 (ja) 2012-10-24

Family

ID=39052192

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006216144A Expired - Fee Related JP5057360B2 (ja) 2006-08-08 2006-08-08 半導体装置、データ処理装置、及び記憶装置へのアクセス方法

Country Status (2)

Country Link
US (1) US7934043B2 (ja)
JP (1) JP5057360B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5057360B2 (ja) * 2006-08-08 2012-10-24 ルネサスエレクトロニクス株式会社 半導体装置、データ処理装置、及び記憶装置へのアクセス方法
US20120013628A1 (en) * 2009-03-31 2012-01-19 Youichi Itaki Information processing apparatus, screen display control method and program
KR101579592B1 (ko) * 2009-12-03 2015-12-22 삼성전자 주식회사 직접 메모리 액세스 컨트롤러 및 직접 메모리 액세스 컨트롤러의 동작 방법
JP6539509B2 (ja) * 2015-06-15 2019-07-03 オリンパス株式会社 データ転送装置およびデータ転送方法
JP6564625B2 (ja) * 2015-06-15 2019-08-21 オリンパス株式会社 データ転送装置およびデータ転送方法
CN116188247B (zh) * 2023-02-06 2024-04-12 格兰菲智能科技有限公司 寄存器信息处理方法、装置、计算机设备、存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6446862A (en) * 1987-08-18 1989-02-21 Fujitsu Ltd Bus controller
US5119485A (en) * 1989-05-15 1992-06-02 Motorola, Inc. Method for data bus snooping in a data processing system by selective concurrent read and invalidate cache operation
JPH06231032A (ja) 1993-01-29 1994-08-19 Hitachi Ltd アクセス制御装置
JP2976867B2 (ja) * 1995-12-07 1999-11-10 日本電気株式会社 入出力バッファ装置及びその管理方法
US6748463B1 (en) * 1996-03-13 2004-06-08 Hitachi, Ltd. Information processor with snoop suppressing function, memory controller, and direct memory access processing method
JPH09305532A (ja) * 1996-05-10 1997-11-28 Nippon Columbia Co Ltd データ転送方法及びデータ転送装置
JPH11272555A (ja) * 1998-03-20 1999-10-08 Fujitsu Ltd キャッシュメモリ制御システム
JP3328246B2 (ja) * 1999-10-12 2002-09-24 エヌイーシーマイクロシステム株式会社 Dma転送方法およびそのシステム
JP2001134467A (ja) 1999-11-08 2001-05-18 Mitsubishi Electric Corp 内部バス情報取得方法および内部バス情報取得装置
US6829665B2 (en) * 2001-09-28 2004-12-07 Hewlett-Packard Development Company, L.P. Next snoop predictor in a host controller
EP1367492A1 (en) * 2002-05-31 2003-12-03 Fujitsu Siemens Computers, LLC Compute node to mesh interface for highly scalable parallel processing system
JP2005128963A (ja) * 2003-10-27 2005-05-19 Toshiba Information Systems (Japan) Corp 記憶制御装置及びdma転送が可能な制御システム
JP5057360B2 (ja) * 2006-08-08 2012-10-24 ルネサスエレクトロニクス株式会社 半導体装置、データ処理装置、及び記憶装置へのアクセス方法

Also Published As

Publication number Publication date
US20080040530A1 (en) 2008-02-14
US7934043B2 (en) 2011-04-26
JP2008040905A (ja) 2008-02-21

Similar Documents

Publication Publication Date Title
US20080126643A1 (en) Semiconductor circuit
JP5057360B2 (ja) 半導体装置、データ処理装置、及び記憶装置へのアクセス方法
US20100306421A1 (en) Dma transfer device
US9984014B2 (en) Semiconductor device
JP2006113689A (ja) バスブリッジ装置およびデータ転送方法
JP5304815B2 (ja) マイクロコンピュータ
JP4642531B2 (ja) データ要求のアービトレーション
US8756356B2 (en) Pipe arbitration using an arbitration circuit to select a control circuit among a plurality of control circuits and by updating state information with a data transfer of a predetermined size
JP2011232917A (ja) 半導体集積回路、及びリクエスト制御方法
JP4193746B2 (ja) マトリックス状バス接続システム
JP4446968B2 (ja) データ処理装置
US7185122B2 (en) Device and method for controlling data transfer
JP2005165508A (ja) ダイレクトメモリアクセスコントローラ
US8713205B2 (en) Data transfer device and data transfer method
JP2006285872A (ja) マルチcpuシステム
US20100153610A1 (en) Bus arbiter and bus system
JP5073434B2 (ja) マイコン装置
JP3206656B2 (ja) バス上でのプリフェッチ装置およびプリフェッチ方法
JP6535516B2 (ja) マルチ・プログラマブルデバイス・システムとその制御方法
JP6119997B2 (ja) データ処理装置、データ処理装置の制御方法
JP4969054B2 (ja) 情報処理装置
JP5361773B2 (ja) データアクセス制御装置
JP2004086797A (ja) 共通メモリを備えたプロセッサシステム
JPS63239549A (ja) デ−タ・チエイニング制御方式
JP2009277004A (ja) データ転送装置及びデータ転送システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090716

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111124

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120327

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120521

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

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

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

Free format text: PAYMENT UNTIL: 20150810

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5057360

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees