(57)【要約】【課題】本発明はＣＰＵまたはＤＳＰを含むＤＳＰコアを備えバスコントローラを介して外部バスと接続され，外部バスに接続された外部装置に対してリードアクセスを行うプロセッサに関し，外部デバイスにリードアクセスを行う際のウエイト時間を短縮して処理能率を向上することを目的とする。【解決手段】プロセッサ内の外部バスに接続するバスコントローラとＤＳＰコアの間に外部装置に対するリードアクセスのためのリードバッファを設け，リードバッファにリードアドレスとリードデータのレジスタとフラグを設け，フラグは外部バスへの読出しアクセスによりセットされ，リードが完了するとリセットされ，リードバッファはＤＳＰコアからのアドレスのライトアクセスを受け取ると外部バスに対してリードアドレスによりリードアクセスを実行すると共にフラグをセットし，リードデータを受け取るとフラグをリセットしてリード完了を表すよう構成する。【選択図】図１
2008129672.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵまたはＤＳＰで構成するＤＳＰコアを備え外部バスへのバスコントローラを介して外部バスと接続され，前記外部バスに接続された外部装置に対してリードアクセスを行うプロセッサであって，
前記プロセッサ内の前記外部バスに接続するバスコントローラと前記ＤＳＰコアの間に外部装置に対するリードアクセスのためのリードバッファを設け，
前記リードバッファにリードアドレスとリードデータのレジスタとフラグを設け，
前記フラグは外部バスへの読出しアクセスによりセットされ，外部装置からのリードが完了するとリセットされ，
前記リードバッファは，前記ＤＳＰコアからのアドレスのライトアクセスを受け取ると前記外部バスに対して前記リードアドレスによりリードアクセスを実行すると共に前記フラグをセットし，リードデータを受け取ると前記フラグをリセットしてリード完了を表すことを特徴とするプロセッサ。
【請求項２】
請求項１において，
前記リードバッファは，前記外部バスに対してリードアクセスを出力して前記フラグをセットした後，前記外部バスからのリードデータを取得すると前記フラグをリセットすると共に前記リードデータのレジスタにリードしたデータをセットし，
前記ＤＳＰコアからのリードアクセスを受け取ると，前記リードバッファは前記リードデータレジスタのデータを前記ＤＳＰコアに送信することを特徴とするプロセッサ。
【請求項３】
請求項１において，
前記リードバッファは，前記ＤＳＰコアからのリードアドレスを含むライトアクセスによりリードアドレスのライトされたアドレスにより前記外部バスに対してリードアクセスをすると共に前記フラグをセットし，
前記ＤＳＰコアは，前記リードバッファのフラグに対するリードアクセスの出力に応じて前記フラグがセット状態であると待機状態となり，前記フラグがリセット状態になると前記ＤＳＰコアに対してその状態を送信することを特徴とするプロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＤＳＰやＣＰＵと接続する内部バスを備えると共に外部バスを介して外部デバイスにアクセスを行う機能を有するプロセッサに関する。
【背景技術】
【０００２】
ＤＳＰ（Digital Signal Processor) またはＣＰＵ（Central Processor Unit) を内蔵し，メモリ等の素子を内部バスで接続するプロセッサは，内部のコア部と外部バスとを接続して使用する場合，ブリッジ部により中継してクロック乗り換えやバス制御等を行う機能を持ち，外部バスに接続された外部デバイス（メモリや，各種の入出力装置等）とアクセスしてリード（読出し）や，ライト（書込み）の動作が行われるが，リードアクセス時にウェイト時間がかかる。
【０００３】
図１１は従来のシステム構成を示す。図中，５０はプロセッサ，５０ａはＤＳＰ（Digital Signal Processor：ディジタル信号処理装置）またはＣＰＵ(Central Processor Unit ：中央処理ユニット）と関連する素子であり，以下の説明ではＤＳＰコアという。５０ｂはＤＳＰコア５０ａ側の内部バスのクロックから外部バスのクロックへのクロック乗換や，バス制御等のデータ乗換を行うブリッジ，５１は外部バス，５２は外部バスの使用の調停をした外部バスアービタ，５３はＩ／Ｏ，５４は外部メモリである。
【０００４】
ＤＳＰコア５０ａはブリッジ５０ｂを介し，外部バスアービタ５２により外部バス５１の使用権を得て，Ｉ／Ｏ５３または外部メモリ５４に対しライト（書込み）や，リード（読出し）を行う。ライト動作は，外部へライトアクセス信号（アドレス，データ，制御信号）を出力することで，外部での動作に任せることになるが，外部のＩ／Ｏ５３や外部メモリ５４からのリード動作（レジスタやメモリの内容を読取る動作）は，外部へリードアクセス信号（アドレス，制御信号）を通知して，外部からのリードデータが得られるのを待つことになり，リードデータが得られるまでＤＳＰコア５０ａは動作を停止して待機する。
【０００５】
図１２はプロセッサと外部バスとの接続構成を示す。図中，５００はアドレスデコーダ，５０１はＤＳＰコア（図１１の５０ａ）を制御する内部バスを制御する内部バスコントローラ，５０２は外部バスを制御するバスコントローラであり，５００〜５０２によりブリッジ（図１１の５０ｂ）を構成する。
【０００６】
アドレスデコーダ５００では内部バスのアドレスバスａのアドレスをデコードし，デコード出力とアドレスバスａの一部の信号と共にバスコントローラ５０２を介して外部バスへ出力する。ＤＳＰコアと接続するデータバスｂ及びＤＳＰコアからのバス制御信号ｃは内部バスコントローラ５０１を介してバスコントローラ５０２と相互に伝送され，バスコントローラ５０２は，外部バスであるアドレスバスａ’，データバスｂ’，バス制御信号ｃ’の線路が接続すると共に，外部バスアービタ（図１１の５２）へのバス調停信号ｄの線路が接続される。
【０００７】
図１３は従来例のリード時の動作説明図であり，Ａ．はＤＳＰコア（図１１の５０ａ）と外部デバイス（図１１の外部メモリ５４とする）間の相互の動作フローを示し，Ｂ．は内部バスと外部バス上のタイムチャートである。Ａ．に示すように，ＤＳＰからリードしたい番地を含むリードアクセス(1) が発生してブリッジ（図１１の５０ｂ）及び外部バスを介して外部メモリ５４に出力され，その後，外部デバイスからリードデータが得られたことを表す制御信号であるバスＡＣＫが，ＤＳＰコアに返ってくる。
【０００８】
上記図１３のＡ．に対応した内部バスと外部バス上の動作がＢ．のａ．とｂ．とに示され，ＤＳＰのアクセスにより内部バスへのリードの開始（リード要求）が時間ｔ１に発生し，外部バスに出力される。この後，待機時間の後の時間ｔ２に外部バスからリード終了（ＢＵＳＡＣＫ）が発生する。
【特許文献１】特開平１０−１１２７１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上記した従来例の構成では，プロセッサは外部バスに接続された外部デバイスのレジスタをリードしている間，バスサイクルが完了するまで待たされており，ＤＳＰ等の種々の素子が高速化されるなかで，リードアクセスを行ってからデータを得るまで処理を停止して待たされるため，ＤＳＰやＣＰＵを含むプロセッサの処理効率が低下するという問題があった。
【００１０】
従来の技術には，メモリ等の外部デバイスからのリード動作を，ＤＭＡ（Direct Memory Access) の技術により実現する方法もあるが，ＤＭＡコントローラは設定するレジスタが多く，その設定を行うだけで時間がかかってしまい，大量のデータを一度にリードするには向いているが，アドレスが不連続である場合や，少ない回数のリードを行うようなときには効率が悪く，不便であった。
【００１１】
更に，従来のマイクロコンピュータの技術において，ＣＰＵコアと外部バスとの間でストア動作及びロード動作を行う複数のライトバッファとリードバッファとを設け，複数のライトバッファとリードバッファとの競合制御（優先制御）を行う技術が開示されている（特許文献１参照）。しかし，この技術は，複数のライトバッファ間の競合や，ライトバッファとリードバッファ間における競合制御を行う技術であり，リードアクセス時のＣＰＵまたはＤＳＰを無駄に待機させるという問題を解決するものではない。
【００１２】
本発明は内部バスを含み外部バスと接続して外部デバイスにリードアクセスを行う際のウエイト時間を短縮して処理能率を向上することができるプロセッサを提供することを目的とする。
【課題を解決するための手段】
【００１３】
図１は本発明の原理構成を示す図である。図中，１はプロセッサ，１０はＤＳＰまたはＣＰＵであり，以下ＤＳＰコアという，１１は内部バス，１２はブリッジ，１２０は内部バスコントローラ，１２１はアドレスデコーダ，１２２はリードバッファ，１２２ａはレジスタ，１２２ｂは外部バスに接続された図示省略された外部装置（または外部デバイス）に対するリードアクセス時にセットされて，外部デバイスからのリードが実行されたことを表す実行完了を表す制御信号（ＡＣＫ）を受け取るとリセットされるフラグ，１２３はバスコントローラ，１３は外部バスアービタ，１４はメモリやＩ／Ｏ等の図示省略された外部装置が接続された外部バスである。
【００１４】
本発明ではプロセッサ１内のブリッジ１２にリードバッファ１２２を設け，ＤＳＰコア１０から外部バスを介した外部装置に対するリードアクセスが発生すると，ＤＳＰコア１０はリードバッファ１２２に宛ててアクセス情報を出力する。アクセス情報はブリッジ１２の内部バスコントローラ１２０を介してリードバッファ１２２で受け取られ，アドレスはアドレスデコーダ１２１でデコードされ，デコード結果を含むリードアクセス情報がリードバッファ１２２のレジスタ１２２ａに設定されると共にフラグ１２２ｂがセットされる。この後，ＤＳＰコア１０は他の処理を実行し，リードバッファ１２２はフラグ１２２ｂがセットされると外部装置に対してリードアクセスを実行し，読出しが完了するまで待機はリードバッファ１２２で行い，ＤＳＰコア１０における待機の肩代わりをし，ＤＳＰコア１０は他の処理を実行することができる。
【００１５】
外部装置における読出しが実行されて，読出し完了の制御信号が外部バス１４からバスコントローラ１２３を介してリードバッファ１２２に送られてくると，フラグ１２２ｂがリセットされ，リードデータはレジスタ１２２ａに保持される。その後，ＤＳＰコア１０からリードバッファ１２２に対してリードアクセスを行うと，フラグ１２２ｂがリセットされていると読出しが完了していると判別して，ＤＳＰコア１０はレジスタ１２２ａに保持されたリードデータの読出しを行う。
【発明の効果】
【００１６】
本発明によれば，プロセッサがバスアクセス時間が長い外部装置に対してリードアクセスをする場合に，リードバッファを備えることによりウエイト時間を肩代わりして，プロセッサはそのウエイト時間に他の処理を実行できるので，処理性能を向上することができる。
【発明を実施するための最良の形態】
【００１７】
図２は実施例の構成であり，ブリッジ（図１の１２）を中心とする構成を示す。図中，１１ａ〜１１ｃは内部バスであり図示省略されたＤＳＰまたはＣＰＵ（図１のＤＳＰコア１０に対応）に接続されており，１１ａはアドレスバス，１１ｂはデータバス，１１ｃはバス制御信号，２０は内部バスコントローラ（図１の１２０に対応），２１はアドレスデコーダ（図１の１２１に対応），２２はリードバッファ（図１の１２２に対応）を構成し，２２ａは読出しのアドレスを設定するリードアドレスレジスタ，２２ｂは外部装置（外部デバイス）から読出したデータを格納するリードデータレジスタ，２２ｃはフラグレジスタ（図１のフラグ１２２ｂに対応）である。２３は外部バスの制御を行うバスコントローラ（図１の１２３に対応），２４は外部バスアービタ，２５ａ〜２５ｃは外部バスであり，２５ａはアドレスバス，２５ｂはデータバス，２５ｃはバス制御信号である。
【００１８】
図３はリードバッファがリード完了後にデータレジスタをリードする場合の相互の動作フローであり，図４は図３のタイミングチャートである。図３にはＤＳＰ，リードバッファ，外部装置（外部バスに接続したメモリや各種入出力装置）の各部の間の相互の動作の流れを示す。また，図４のａ．はプロセッサの内部バスの状態，ｂ．はフラグ（図２のフラグレジスタ２２ｃ）のセット（“１”）及びリセット（“０”）の変化のタイミング，ｃ．はリードバッファからＤＳＰコアへ送られるバスＡＣＫ発生のタイミング，ｄ．は外部バス（リードバッファによる外部バスへのアクセス）の状態を表す。
【００１９】
以下，図３の動作フローについて図２及び図４を参照しながら説明する。
【００２０】
ＤＳＰコア（図１の１０，以下単にＤＳＰという）から外部装置（メモリ等）のリードしたい番地（図３の例ではアドレス＝0x70000000とする）をデータバス１１ｂに出力し，リードバッファ２２内のリードアドレスレジスタ２２ａへのアクセス番地（この例ではアドレス＝0x10000000とする）をアドレスバス１１ａに出力し，バス制御信号１１ｃにライトアクセスを出力すると，アドレスデコーダ２１でアドレスがデコードされると共に，内部バスコントローラ２０からリードアドレスレジスタ２２ａにライト制御信号が出力されて，データバス１１ｂの値がリードアドレスレジスタ２２ａに書込み（ライト）が行われる（図３の(1) 及び図４のａ．の(1) ) 。ＤＳＰはライトアクセスを発生した後，待機することなく他の処理を実行する（図３，図４の(3))。この後，アドレスデコーダ２１と内部バスコントローラ２０からの信号入力により，フラグレジスタ２２ｃが“１”にセットされる（図４のｂ）。リードアドレスレジスタ２２ａにアドレスが書込まれて，フラグレジスタ２２ｃがセットされると，バスコントローラ２３から外部装置に対してリードアドレスレジスタ２２ａにセットされたアドレスによるリードアクセスが発生する（図３，図４の(2))。
【００２１】
リードアクセスに応じて，外部装置から上記リードアドレスレジスタ２２ａにセットされたアドレスによりデータが取得され，バスＡＣＫが返ってくると（図３の(4) ，図４の(4))，リードデータレジスタ２２ｂにリードデータがセットされる共にフラグレジスタ２２ｃがリセット（＝“０”）される（図３，図４のｂ．）。この後，他の処理を終了したＤＳＰからリードバッファに対してリードデータレジスタ２２ｂへのアクセス番地（この例ではアドレス＝0x10000004とする）をアドレスバス１１ａに出力し，バス制御信号１１ｃにリードアクセスを出力すると（図３，図４の(5))，リードバッファではフラグレジスタ２２ｃが“０”であることを内部バスコントローラ２０が確認してバスＡＣＫを発生し，リードデータレジスタ２２ｂにセットされたリードデータが内部バスコントローラ２０及びデータバス１１ｂを介してＤＳＰに供給される（図３，図４の(6))。
【００２２】
上記図３の動作フローではＤＳＰがリードバッファにリードしたいアドレスをライトした後他の処理を実行した後，リードバッファにリードアクセスした時に，リードバッファにリードデータが既に取得できていた場合であり，ＤＳＰはリード動作を効率的に実行することができる。
【００２３】
図５はリードバッファがリード完了前にデータレジスタをリードする場合の相互の動作フローであり，図６は図５のタイミングチャートである。
【００２４】
上記図３と同様にＤＳＰから外部装置のリードしたい番地をデータバス１１ｂに発生してバス制御信号としてライトアクセスが発生すると，アドレスデコーダ２１でデコードされ，データバスの値をリードアドレスレジスタ２２ａに書込み，ＤＳＰはライトアクセスを発生した後，他の処理を実行し，フラグレジスタ２２ｃが“１”にセットされて，リードバッファから外部装置に対してリードアクセスが発生する（図５の(2),(3),図６のａ．の(3),ｄ．の(2))までの動作は上記図３及び図４と同様である。
【００２５】
リードバッファから外部装置へのリードアクセスに対して，外部装置からデータが取得されない時点で，ＤＳＰからリードバッファに対してリードアクセスが発生してリードバッファのリードデータレジスタをリードするが，リードバッファのリードが完了してない（フラグ＝“１”の状態）であるため，ウエイト（待機）することになる（図５の(4) ，図６のａ．の(4))。この後，外部装置から，上記リードアクセスに対応するデータが取得され，バスＡＣＫが送られてくると（図５の(5) ，図６のｃ．の(6))，リードデータレジスタにリードデータがセットされると共にフラグがリセット（＝“０”）される（図５，図６のｂ．の(5) ）。この後，リードバッファからウエイト状態のＤＳＰに対してバスＡＣＫが送信され（図６のｃ．の(6))，ＤＳＰは上記ライトアクセスによりセットした番地のデータを取得する（図５の(6))。
【００２６】
この図５の動作フローでは，ＤＳＰがアドレスをライトした後他の処理を実行した後，リードバッファにリードアクセスした時にリードバッファにリードデータがまだ取得できてないと，ウエイト状態になってリードバッファでのリードが完了するとＤＳＰに対してバスＡＣＫが送られてきてリードデータを取得でき，ＤＳＰは効率的な処理が可能となる。
【００２７】
図７はリードバッファがリード完了後にフラグをリードしてデータを取得する場合の相互の動作フローであり，図８は図７のタイミングチャートである。
【００２８】
上記図３及び図５と同様にＤＳＰから外部装置のリードしたい番地をデータバス１１ｂに発生してバス制御信号としてライトアクセスが発生すると，アドレスデコーダ２１でデコードされ，データバスの値をリードアドレスレジスタ２２ａに書込んで（図７の(1))，ＤＳＰはその後，他の処理を実行し（図７の(3))，フラグレジスタ２２ｃが“１”にセットされて，外部装置に対するバスコントローラ（図２の２３）からリード制御信号を生成し，リードアクセスを開始する（図７の(2),図８のｄ．の(2))。このリードアクセスにより外部装置でのリードが実行されてバスＡＣＫと共に，アドレスのデータを取得して，フラグレジスタをリセット（“０”）する（図７の(4))及び図８のｂ．の(4))。その後，ＤＳＰが他の処理を実行した後，リードアクセスをリードバッファのフラグレジスタ２２ｃに対して実行する（図７の(5) ，図８の(5))。図７の場合，フラグレジスタ２２ｃの内容をリードすると，“０”であることが確認できる。ＤＳＰはこれにより，外部装置からのリードが完了していることが識別され，続いてリードアクセスによりリードバッファのリードデータレジスタ２２ｂをリードして，データを取得する（図７の(6) ，図８のａ．の(6))。
【００２９】
この図７の動作フローでは，ＤＳＰがアドレスをライトした後他の処理を実行した後，リードバッファにリードアクセスした時にリードバッファにリードデータが取得できたか，ＤＳＰからのフラグレジスタのリードにより確認し，フラグレジスタが“０”なら，リードデータレジスタ２２ｂに対してリードアクセスをしてリードデータを取得する。これにより，ＤＳＰはリードデータレジスタ２２ｂに対して無駄にリードアクセスすることがない。
【００３０】
図９はリードバッファがリード完了前にフラグをリードしてデータを取得する場合の相互の動作フローであり，図１０は図９のタイミングチャートである。
【００３１】
上記図７と同様にＤＳＰから外部装置のリードしたい番地をデータバス１１ｂに発生してバス制御信号１１ｃとしてライトアクセスが発生すると，アドレスデコーダ２１でデコードさ，データバスの値をリードアドレスレジスタ２２ａに書込んで（図９の(1))，ＤＳＰはその後，他の処理を実行し（図９の(3))，フラグレジスタ２２ｃが“１”にセットされて，外部装置に対するバスコントローラ２３からリード制御信号を生成し，リードアクセスを開始する（図９の(2),図１０のｄ．の(2))。その後，ＤＳＰが他の処理を実行した後，リードアクセスをリードバッファのフラグレジスタ２２ｃに対して実行する（図９の(4),図１０のｃ．の(4))。この時，フラグレジスタ２２ｃをリードした結果は，“１”であるため，ＤＳＰは他の処理を実行する（図９の(5) ，図１０のａ．の(5))。
【００３２】
このＤＳＰが２度目の他の処理を実行している間に，外部装置でのリードが完了してバスＡＣＫと共にリードデータがリードバッファに送られてくると，フラグレジスタ２２ｃがリセット（＝“０”）される（図９の(6) ，図１０のｂ．の(6))。その後，ＤＳＰからリードバッファに対してフラグレジスタに対する２回目のリードアクセスを行うと（図９の(7) ，図１０のｃ．の(7))，今度は外部装置からのリードデータが取得されており，フラグが“０”にリセットされていることを確認することができる。ＤＳＰはフラグが“０”になっていることを確認できたので，リードバッファのリードデータレジスタ２２ｂをリードするためのリードアクセスを実行する（図９の(8) ，図１０のａ．の(8))。
【００３３】
この図９の動作フローでは，上記図７の場合とは最初のフラグレジスタのリードアクセスを実行した時にフラグが“１”である点で異なり，その後ＤＳＰは他の処理を実行し，その間にリードバッファが外部装置からのリードデータを取得している。このようにリードデータが取得できないことを確認すると，ＤＳＰは他の処理を実行し，フラグレジスタのリードにより，外部装置からのリードデータが取得できたことを識別したら，初めてリードデータレジスタからデータを読出すようにすることで，ＤＳＰは無駄にウエイトすることなく効率的にリード動作が可能となる。なお，ＤＳＰはフラグレジスタをリードする動作は，フラグリセット（＝“０”）の状態をリードして確認するまで繰り返され，その合間にＤＳＰは他の処理を実行することができる。
【００３４】
本発明によるプロセッサを外部バスに複数個並列に接続して，多数の入出力装置や外部メモリ等の外部装置を外部バスに接続した構成において，外部バスアービタによる制御により外部バスを使用して各プロセッサからの外部装置へのリードアクセスを効率的に実行することができる。
【００３５】
（付記１）  ＣＰＵまたはＤＳＰで構成するＤＳＰコアを備え外部バスへのバスコントローラを介して外部バスと接続され，前記外部バスに接続された外部装置に対してリードアクセスを行うプロセッサであって，前記プロセッサ内の前記外部バスに接続するバスコントローラと前記ＤＳＰコアの間に外部装置に対するリードアクセスのためのリードバッファを設け，前記リードバッファにリードアドレスとリードデータのレジスタとフラグを設け，前記フラグは外部バスへの読出しアクセスによりセットされ，外部装置からのリードが完了するとリセットされ，前記リードバッファは，前記ＤＳＰコアからのアドレスのライトアクセスを受け取ると前記外部バスに対して前記リードアドレスによりリードアクセスを実行すると共に前記フラグをセットし，リードデータを受け取ると前記フラグをリセットしてリード完了を表すことを特徴とするプロセッサ。
【００３６】
（付記２）  付記１において，前記リードバッファは，前記外部バスに対してリードアクセスを出力して前記フラグをセットした後，前記外部バスからのリードデータを取得すると前記フラグをリセットすると共に前記リードデータのレジスタにリードしたデータをセットし，前記ＤＳＰコアからのリードアクセスを受け取ると，前記リードバッファは前記リードデータレジスタのデータを前記ＤＳＰコアに送信することを特徴とするプロセッサ。
【００３７】
（付記３）  付記１において，前記リードバッファは，前記ＤＳＰコアからのリードアドレスを含むライトアクセスによりリードアドレスのライトされたアドレスにより前記外部バスに対してリードアクセスをすると共に前記フラグをセットし，前記ＤＳＰコアは，前記リードバッファのフラグに対するリードアクセスの出力に応じて前記フラグがセット状態であると待機状態となり，前記フラグがリセット状態になると前記ＤＳＰコアに対してその状態を送信することを特徴とするプロセッサ。
【００３８】
（付記４）  付記１において，前記リードバッファは，前記ＤＳＰコアからのリードアドレスを含むライトアクセスを受け取ると前記リードバッファの前記リードアドレスレジスタに前記リードアドレスをライトして前記外部バスに対してリードアクセスを出力すると共に前記フラグをセットし，前記外部バスからのリードデータを取得する前に前記ＤＳＰからフラグのリードアクセスに対して前記フラグの状態を応答し，前記ＤＳＰは前記フラグの状態がセット状態であると待機状態となり，前記リードバッファが前記外部装置からリードデータを取得して前記フラグがリセットされると，前記リードデータレジスタのデータを前記ＤＳＰに出力することを特徴とするプロセッサ。
【００３９】
（付記５）  付記１において，前記リードバッファは，前記ＤＳＰコアからのリードアドレスを含むライトアクセスを受け取ると前記リードバッファの前記リードアドレスレジスタに前記リードアドレスをライトして前記外部バスに対してリードアクセスを出力すると共に前記フラグをセットし，前記外部バスからのリードデータを取得する前に前記ＤＳＰからフラグのリードアクセスに対して前記フラグの状態を応答し，前記ＤＳＰは前記フラグの状態がセット状態であると他の処理を実行して，更にフラグのリードアクセスを出力して，フラグがリセットの状態であると前記リードデータレジスタに対してリードアクセスを行うことを特徴とするプロセッサ。
【図面の簡単な説明】
【００４０】
【図１】本発明の原理構成を示す図である。
【図２】実施例の構成を示す図である。
【図３】リードバッファがリード完了後にデータレジスタをリードする場合の相互の動作フローを示す図である。
【図４】図３のタイミングチャートを示す図である。
【図５】リードバッファがリード完了前にデータレジスタをリードする場合の相互の動作フローを示す図である。
【図６】図５のタイミングチャートを示す図である。
【図７】リードバッファがリード完了後にフラグをリードしてデータを取得する場合の相互の動作フローを示す図である。
【図８】図７のタイミングチャートを示す図である。
【図９】リードバッファがリード完了前にフラグをリードしてデータを取得する場合の相互の動作フローを示す図である。
【図１０】図９のタイミングチャートを示す図である。
【図１１】従来のシステム構成を示す図である。
【図１２】プロセッサと外部バスとの接続構成を示す図である。
【図１３】従来例のリード時の動作説明図である。
【符号の説明】
【００４１】
１          プロセッサ
１０        ＤＳＰコア（ＤＳＰまたはＣＰＵと関連素子）
１１        内部バス
１２        ブリッジ
１２０      内部バスコントローラ
１２１      アドレスデコーダ
１２２      リードバッファ
１２２ａ    レジスタ
１２２ｂ    フラグ
１２３      バスコントローラ
１３        外部バスアービタ
１４        外部バス
【図１】
2008129672.tif 000003
【図２】
2008129672.tif 000004
【図３】
2008129672.tif 000005
【図４】
2008129672.tif 000006
【図５】
2008129672.tif 000007
【図６】
2008129672.tif 000008
【図７】
2008129672.tif 000009
【図８】
2008129672.tif 000010
【図９】
2008129672.tif 000011
【図１０】
2008129672.tif 000012
【図１１】
2008129672.tif 000013
【図１２】
2008129672.tif 000014
【図１３】
2008129672.tif 000015