(57)【要約】【課題】有効アドレス範囲外からの命令プリフェッチ動作を抑止し、実使用時におけるＲＥＡＤＹ信号待ちによるバスアクセスのハングアップや動作シミュレーション時における不定値の伝播による回路のハングアップを回避できるようにしたプロセッサを提供する。【解決手段】命令プリフェッチ先アドレスＡＤＤｘの有効アドレス範囲を指定できる判定回路２２を備え、制御回路２３は、命令プリフェッチ先アドレスＡＤＤｘが有効アドレス範囲内にある場合には、命令プリフェッチ実行回路１２が命令プリフェッチ先アドレスＡＤＤｘによる命令プリフェッチを実行し、また、命令プリフェッチ先アドレスＡＤＤｘが有効アドレス範囲内にない場合には、命令プリフェッチ実行回路１２が命令プリフェッチ先アドレスＡＤＤｘによる命令プリフェッチを実行しないように制御する。【選択図】          図１
2007011642.tif 000002
【特許請求の範囲】
【請求項１】
命令プリフェッチ回路を備えるプロセッサであって、
前記命令プリフェッチ回路は、自動生成した命令プリフェッチ先アドレスが有効アドレス範囲内にない場合、前記命令プリフェッチ先アドレスによる命令プリフェッチ動作を自己抑止する手段を備えることを特徴とするプロセッサ。
【請求項２】
前記命令プリフェッチ回路は、判定回路を有し、
前記判定回路は、前記有効アドレス範囲が指定され、前記命令プリフェッチ先アドレスが前記指定された有効アドレス範囲内にあるか否かを判定する判定回路を有することを特徴とする請求項１記載のプロセッサ。
【請求項３】
前記命令プリフェッチ回路は、複数の判定回路を有し、
前記複数の判定回路は、それぞれ、前記有効アドレス範囲中の異なる有効アドレス範囲が指定され、前記命令プリフェッチ先アドレスが前記指定された有効アドレス範囲内にあるか否かを判定し、
前記命令プリフェッチ回路は、前記複数の判定回路の１個が、前記命令プリフェッチ先アドレスが前記指定された有効アドレス範囲内にあると判定した場合には、命令プリフェッチを実行し、前記複数の判定回路の全てが、前記命令プリフェッチ先アドレスが前記指定された有効アドレス範囲内にないと判定した場合には、命令プリフェッチを自己抑止することを特徴とする請求項１記載のプロセッサ。
【請求項４】
前記命令プリフェッチ先アドレスは論理アドレスであり、
前記命令プリフェッチ先アドレスを物理アドレスに変換するアドレス変換回路を有し、
前記アドレス変換回路は、前記命令プリフェッチ先アドレスが物理アドレスへの変換対象アドレスであるか否かを判定してなる判定信号を出力する変換アドレス判定回路を有し、
前記命令プリフェッチ回路は、前記判定信号を前記命令プリフェッチ先アドレスが前記有効アドレス範囲内にあるか否かを判定した信号として与えられることを特徴とする請求項１記載のプロセッサ。
【請求項５】
命令を格納したメモリを選択するためのチップセレクト信号を生成するチップセレクト信号生成回路を有し、
前記命令プリフェッチ回路は、前記チップセレクト信号を前記命令プリフェッチ先アドレスが前記有効アドレス範囲内にあるか否かを判定した信号として与えられることを特徴とする請求項１記載のプロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、現在実行中の命令の先の命令を先行してフェッチする命令プリフェッチ回路を備えるプロセッサに関する。
【背景技術】
【０００２】
図１３は従来のプロセッサの一例を備える情報処理装置の一例の一部分を示す回路図であり、多くのプロセッサは、性能向上のために、命令プリフェッチ回路を搭載している。図１３中、１は従来のプロセッサの一例、２はプロセッサ１が実行するプログラムを格納したメモリ（ＲＯＭ［read only memory］またはＲＡＭ［random access memory］）、３はプロセッサ１やメモリ２等が接続された外部バスである。
【０００３】
また、プロセッサ１において、４は現在実行中の命令が記憶されているアドレスを示すプログラムカウンタ、５はメモリ２から命令をプリフェッチする命令プリフェッチ回路、６は命令プリフェッチ回路５から引き渡された命令を一時保存する命令レジスタ、７は命令レジスタ６から引き渡された命令をデコードする命令デコーダ、８は算術論理ユニット、９は汎用レジスタ、１０は内部バスである。
【０００４】
命令プリフェッチ回路５は、制御回路１１と、命令プリフェッチ実行回路１２と、命令バッファ１３を備えている。制御回路１１は、プログラムカウンタ４が示すアドレスを元に命令プリフェッチ先アドレスを自動生成すると共に、命令プリフェッチ実行回路１２を制御するものである。
【０００５】
命令プリフェッチ実行回路１２は、制御回路１１に制御され、制御回路１１が自動生成した命令プリフェッチ先アドレスを入力してメモリ２からの命令プリフェッチを実行するものである。命令バッファ１３は、命令プリフェッチ実行回路１２がプリフェッチした命令を一時保存するものである。
【特許文献１】特開平８−７６９９９号公報
【特許文献２】特開平９−３４７０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
図１４はプロセッサ１が有する問題点を説明するための図である。図１４中、１４はプロセッサ１のアドレス空間を示しており、１５はプログラムを格納したメモリ２が実装されているアドレス領域、１６、１７はメモリが実装されていないアドレス領域である。また、矢印線１８はプログラムカウンタ４が示すアドレスの流れを示し、矢印線１９は制御回路１１が自動生成する命令プリフェッチ先アドレスの流れを示している。
【０００７】
命令プリフェッチ回路５では、制御回路１１は、プログラムカウンタ４が示すアドレスを元に命令プリフェッチ先アドレスを自動生成するため、メモリ２の最終アドレス付近の命令を実行している場合、制御回路１１がメモリ２の最終アドレスよりも後ろのアドレス（メモリが実装されていないアドレス領域１７内のアドレス）を命令プリフェッチ先アドレスとして自動生成し、命令プリフェッチ実行回路１２がメモリ２の最終アドレスよりも後のアドレスからの命令プリフェッチの実行を開始してしまう場合がある。
【０００８】
ここで、プロセッサ１がメモリ２にアクセスした場合、メモリ２がプロセッサ１にＲＥＡＤＹ信号を返さないと、プロセッサ１はメモリ２に対するアクセスを終了しないというプロトコルを採用している場合において、命令プリフェッチ実行回路１２がメモリ２には存在しないアドレスにアクセスすると、メモリ２はＲＥＡＤＹ信号をプロセッサ１に返すことはないので、プロセッサ１はＲＥＡＤＹ信号待ちになって停止状態になり、バスアクセスがハングアップしてしまう場合がある。
【０００９】
そこで、従来においては、プログラムを格納したメモリ２が実装されていないアドレスにプロセッサ１がアクセスした場合の対処として、プロセッサ１の外部に外部バス３を監視する外部バス監視回路を設け、タイマを使って予め定めた長さのＲＥＡＤＹ信号待ち状態を検出したときは、プロセッサ１に割込みをかけて不正なバスアクセスを解消するという方法が採用されていた。しかしながら、この方法は、不正なバスアクセスを検出するまでに多くの時間がかかってしまうという問題点がある。
【００１０】
また、プロセッサ１の開発時にプロセッサ１の動作シミュレーションを行う場合においても、プロセッサ１がプログラムをプリロードしたメモリ領域の最終アドレス付近を実行している場合、最終アドレスよりも後ろのアドレスに対して命令プリフェッチを実行してしまう場合がある。動作シミュレーションにおいては、値をプリロードしなかったアドレスに対する読み出し動作に対しては、不定値を返すことになるので、プロセッサ１は不定値を命令コードとして取り込んでしまい、不定値が伝播してシミュレーション動作が不安定となり、回路がハングアップしてしまうという事態が発生する。
【００１１】
ここで、プロセッサ１がプログラムを格納したメモリ２の最終アドレス付近を実行している場合、正常なプログラムであれば、最終アドレス以前に分岐命令が置かれており、それより後の命令を実行することはない。また、動作シミュレーション時のメモリ領域についても、正常なプログラムではプリロード領域末尾付近に必ず分岐命令があり、プリロードしていないメモリ領域の命令を実行することはありえない。
【００１２】
そこで、プログラムを格納したメモリ２が実装されているアドレス領域１５以外からの命令プリフェッチ動作を抑止することができれば、プロセッサ１の実使用時におけるＲＥＡＤＹ信号待ちによるバスアクセスのハングアップや、プロセッサ１の動作シミュレーション時の不定値の伝播による回路のハングアップを回避することができる。
【００１３】
本発明は、かかる点に鑑み、有効アドレス範囲外からの命令プリフェッチ動作を抑止し、実使用時におけるＲＥＡＤＹ信号待ちによるバスアクセスのハングアップや、動作シミュレーション時における不定値の伝播による回路のハングアップを回避することができるようにしたプロセッサを提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明は、命令プリフェッチ回路を備えるプロセッサであって、前記命令プリフェッチ回路は、自動生成した命令プリフェッチ先アドレスが有効アドレス範囲内にない場合、前記命令プリフェッチ先アドレスによる命令プリフェッチ動作を自己抑止する手段を備えるというものである。
【発明の効果】
【００１５】
本発明によれば、命令プリフェッチ回路は、自動生成した命令プリフェッチ先アドレスが有効アドレス範囲内にない場合、この命令プリフェッチ先アドレスによる命令プリフェッチ動作を自己抑止する手段を備えるとしているので、実使用時におけるＲＥＡＤＹ信号待ちによるバスアクセスのハングアップや、動作シミュレーション時における不定値の伝播による回路のハングアップを回避することができる。
【発明を実施するための最良の形態】
【００１６】
（第１実施形態）
図１は本発明の第１実施形態のプロセッサを備える情報処理装置の一例の一部分を示す回路図である。この情報処理装置は、図１３に示す従来の情報処理装置が備える従来のプロセッサ１の代わりに、本発明の第１実施形態のプロセッサ２０を備え、その他については、図１３に示す従来の情報処理装置と同様に構成したものである。
【００１７】
本発明の第１実施形態のプロセッサ２０は、図１３に示す従来のプロセッサ１が備える命令プリフェッチ回路５の代わりに命令プリフェッチ回路２１を備え、その他については、図１３に示す従来のプロセッサ１と同様に構成したものであり、その一部分のみを図示している。
【００１８】
命令プリフェッチ回路２１は、判定回路２２と、制御回路２３と、命令プリフェッチ実行回路１２と、命令バッファ１３を有している。なお、命令プリフェッチ実行回路１２と命令バッファ１３は、図１３に示す従来の命令プリフェッチ回路５が備えるものと同一のものである。
【００１９】
判定回路２２は、制御回路２３が自動生成した命令プリフェッチ先アドレスＡＤＤｘが有効アドレス範囲内にあるか否かを判定し、判定結果を示す判定信号ＳＡを制御回路２３に与えることにより、制御回路２３が自動生成した命令プリフェッチ先アドレスＡＤＤｘによる命令プリフェッチの許可又は抑止を指示するものである。
【００２０】
本例では、判定回路２２は、制御回路２３が自動生成した命令プリフェッチ先アドレスＡＤＤｘが有効アドレス範囲内にある場合には、判定信号ＳＡ＝“１”とし、また、制御回路２３が自動生成した命令プリフェッチ先アドレスＡＤＤｘが有効アドレス範囲内にない場合には、判定信号ＳＡ＝“０”とする。
【００２１】
制御回路２３は、プログラムカウンタ４が示すアドレスを元に命令プリフェッチ先アドレスＡＤＤｘを自動生成すると共に、命令プリフェッチ実行制御信号ＳＢにより命令プリフェッチ実行回路１２を制御するものである。
【００２２】
本例では、制御回路２３は、判定信号ＳＡ＝“１”の場合には、命令プリフェッチ実行回路１２が制御回路２３から与えられる命令プリフェッチ先アドレスＡＤＤｘによるメモリ２からの命令プリフェッチを実行し、また、判定信号ＳＡ＝“０”の場合には、命令プリフェッチ実行回路１２が制御回路２３から与えられる命令プリフェッチ先アドレスＡＤＤｘによるメモリ２からの命令プリフェッチを実行しないように、命令プリフェッチ実行回路１２を制御する。
【００２３】
図２は本発明の第１実施形態のプロセッサ２０が有するアドレス空間を示す図である。図２中、２４はプログラムを格納したメモリ２が実装されているアドレス領域、２５、２６はメモリが実装されていないアドレス領域、ＡＤＤｙはアドレス領域２４の下限アドレス、ＡＤＤｙ＋ｎはアドレス領域２４の上限アドレスである。また、矢印線２７はプログラムカウンタ４が示すアドレスの流れを示し、矢印線２８は制御回路２３が自動生成する命令プリフェッチ先アドレスの流れを示している。
【００２４】
図３は判定回路２２の第１構成例を示す回路図である。判定回路２２の第１構成例は、下限アドレスレジスタ２９と、比較回路３０と、上限アドレスレジスタ３１と、比較回路３２と、ＡＮＤ回路３３を有しており、下限アドレスレジスタ２９および上限アドレスレジスタ３１に書き込む値で命令プリフェッチ先アドレスＡＤＤｘの有効アドレス範囲を指定するというものである。
【００２５】
下限アドレスレジスタ２９は、命令プリフェッチ先アドレスＡＤＤｘの有効アドレス範囲の下限を指定するものであり、本例では、プログラムを格納したメモリ２が実装されているアドレス領域２４の下限アドレスＡＤＤｙが書き込まれる。
【００２６】
比較回路３０は、制御回路２３が自動生成した命令プリフェッチ先アドレスＡＤＤｘと下限アドレスレジスタ２９に書き込まれている下限アドレスＡＤＤｙとの大小を比較するものであり、ＡＤＤｘ≧ＡＤＤｙの場合には“１”を出力し、ＡＤＤｘ＜ＡＤＤｙの場合には“０”を出力する。
【００２７】
上限アドレスレジスタ３１は、命令プリフェッチ先アドレスＡＤＤｘの有効アドレス範囲の上限を指定するものであり、本例では、プログラムを格納したメモリ２が実装されているアドレス領域２４の上限アドレスＡＤＤｙ＋ｎが書き込まれる。
【００２８】
比較回路３２は、制御回路２３が自動生成した命令プリフェッチ先アドレスＡＤＤｘと上限アドレスレジスタ３１に書き込まれている上限アドレスＡＤＤｙ＋ｎとの大小を比較するものであり、ＡＤＤｘ≦ＡＤＤｙ＋ｎの場合には“１”を出力し、ＡＤＤｘ＞ＡＤＤｙ＋ｎの場合には“０”を出力する。
【００２９】
ＡＮＤ回路３３は、比較回路３０、３２の出力をＡＮＤ処理して判定信号ＳＡを出力するものであり、比較回路３０、３２の出力＝“１”の場合、即ち、ＡＤＤｙ≦ＡＤＤｘ≦ＡＤＤｙ＋ｎの場合には、判定信号ＳＡ＝“１”とし、また、比較回路３０の出力＝“０”、又は、比較回路３２の出力＝“０”の場合、即ち、ＡＤＤｘ＜ＡＤＤｙ、又は、ＡＤＤｘ＞ＡＤＤｙ＋ｎの場合には、判定信号ＳＡ＝“０”とする。
【００３０】
図４は判定回路２２の第２構成例を示す回路図である。判定回路２２の第２構成例は、下限アドレスレジスタ３４と、比較回路３５と、上限アドレスレジスタ３６と、比較回路３７と、ＮＯＲ回路３８を有しており、下限アドレスレジスタ３４および上限アドレスレジスタ３６に書き込む値で命令プリフェッチ先アドレスＡＤＤｘの有効アドレス範囲を指定するというものである。
【００３１】
下限アドレスレジスタ３４は、命令プリフェッチ先アドレスＡＤＤｘの有効アドレス範囲の下限を指定するものであり、本例では、プログラムを格納したメモリ２が実装されているアドレス領域２４の下限アドレスＡＤＤｙが書き込まれる。
【００３２】
比較回路３５は、制御回路２３が自動生成した命令プリフェッチ先アドレスＡＤＤｘと下限アドレスレジスタ３４に書き込まれている下限アドレスＡＤＤｙとの大小を比較するものであり、ＡＤＤｘ＜ＡＤＤｙの場合には“１”を出力し、ＡＤＤｘ≧ＡＤＤｙの場合には“０”を出力する。
【００３３】
上限アドレスレジスタ３６は、命令プリフェッチ先アドレスＡＤＤｘの有効アドレス範囲の上限を指定するものであり、本例では、プログラムを格納したメモリ２が実装されているアドレス領域２４の上限アドレスＡＤＤｙ＋ｎが書き込まれる。
【００３４】
比較回路３７は、制御回路２３が自動生成した命令プリフェッチ先アドレスＡＤＤｘと上限アドレスレジスタ３６に書き込まれている上限アドレスＡＤＤｙ＋ｎとの大小を比較するものであり、ＡＤＤｘ＞ＡＤＤｙ＋ｎの場合には“１”を出力し、ＡＤＤｘ≦ＡＤＤｙ＋ｎの場合には“０”を出力する。
【００３５】
ＮＯＲ回路３８は、比較回路３５、３７の出力をＮＯＲ処理して判定信号ＳＡを出力するものであり、比較回路３５、３７の出力＝“０”の場合、即ち、ＡＤＤｙ≦ＡＤＤｘ≦ＡＤＤｙ＋ｎの場合には、判定信号ＳＡ＝“１”とし、また、比較回路３５の出力＝“１”、又は、比較回路３７の出力＝“１”の場合、即ち、ＡＤＤｘ＜ＡＤＤｙ、又は、ＡＤＤｘ＞ＡＤＤｙ＋ｎの場合には、判定信号ＳＡ＝“０”とする。
【００３６】
図５は判定回路２２の第３構成例を示す回路図である。判定回路２２の第３構成例は、アドレスレジスタ３９と、ＸＯＲ（排他的論理和）回路４０と、マスクレジスタ４１と、ＡＮＤ回路４２と、０判定回路４３を有しており、アドレスレジスタ３９とマスクレジスタ４１とで命令プリフェッチ先アドレスＡＤＤｘの有効アドレス範囲を指定するというものである。
【００３７】
アドレスレジスタ３９は、例えば、３２ビット構成のレジスタであり、制御回路２３が自動生成する命令プリフェッチ先アドレスＡＤＤｘの有効アドレス範囲を決める基準となるアドレスを書き込むものである。
【００３８】
ＸＯＲ回路４０は、制御回路２３が自動生成した命令プリフェッチ先アドレスＡＤＤｘとアドレスレジスタ３９に書き込まれているアドレスとを各ビット毎（各ビット単位）で排他的論理和処理を行うものであり、値が一致するビットについては“０”を出力し、値が一致しないビットについては“１”を出力するものである。
【００３９】
マスクレジスタ４１は、例えば、３２ビット構成のレジスタであり、制御回路２３が自動生成した命令プリフェッチ先アドレスＡＤＤｘとアドレスレジスタ３９に書き込まれているアドレスとの比較に使用するビットを指定するものである。
【００４０】
マスクレジスタ４１には、最上位から４ビット単位で、制御回路２３が自動生成する命令プリフェッチ先アドレスＡＤＤｘとアドレスレジスタ３９に書き込まれているアドレスとの比較に使用するビットには“１”、比較に使用しないビットには“０”を書き込む。したがって、例えば、マスクレジスタ４１に（ＦＦＦ０００００）16を書き込むと、制御回路２３が自動生成した命令プリフェッチ先アドレスＡＤＤｘとアドレスレジスタ３９に書き込まれているアドレスとの上位１２ビットの部分が比較されることになる。
【００４１】
ＡＮＤ回路４２は、ＸＯＲ回路４０の出力とマスクレジスタ４１に書き込まれている値とを各ビット毎（各ビット単位）でＡＮＤ処理を行うものである。０判定回路４３は、ＡＮＤ回路４２の出力を入力して判定信号ＳＡを出力するものであり、ＡＮＤ回路４２の出力の各ビットの値を判定し、全て“０”の場合には、判定信号ＳＡ＝“１”とし、また、ＡＮＤ回路４２の出力に“１”であるビットが１個でもあれば、判定信号ＳＡ＝“０”とする。
【００４２】
図６及び図７は判定回路２２の第３構成例の動作を説明するための回路図であり、アドレスレジスタ３９に（１２３ＡＢＣＤＥ）16を書き込み、マスクレジスタ４１に（ＦＦＦ００００００）16を書き込んだ場合を例にしている。
【００４３】
ここで、図６に示すように、制御回路２３が自動生成した命令プリフェッチ先アドレスＡＤＤｘ＝（１２３４５６７８）16であった場合には、ＸＯＲ回路４０の出力＝（０００ＥＥＡＡ６）16となり、ＡＮＤ回路４２の出力＝（００００００００）16となる。この結果、判定信号ＳＡ＝“１”となる。
【００４４】
また、図７に示すように、制御回路２３が自動生成した命令プリフェッチ先アドレスＡＤＤｘ＝（１２４４５６７８）16であった場合には、ＸＯＲ回路４０の出力＝（００７ＥＥＡＡ６）16となり、ＡＮＤ回路４２の出力＝（００７０００００）16となる。この結果、判定信号ＳＡ＝“０”となる。
【００４５】
即ち、判定回路２２の第３構成例では、マスクレジスタ４１の上位側のビットに４ビット単位で“１”を書き込み、下位側のビットに“０”を書き込むと、アドレスレジスタ３９のビットのうち、マスクレジスタ４１に“１”が書き込まれているビットと同一のビットに書き込まれている値を上位ビットとするアドレスが有効アドレスとして指定されることになる。
【００４６】
即ち、例えば、アドレスレジスタ３９に（１２３ＸＸＸＸＸ）16（但し、Ｘ＝１、２、…、Ｆ）を書き込み、マスクレジスタ４１に（ＦＦＦ０００００）16を書き込むと、命令プリフェッチ先アドレスＡＤＤｘの有効アドレス範囲を（１２３０００００）16〜（１２３ＦＦＦＦＦ）16と指定したことになり、命令プリフェッチ先アドレスＡＤＤｘがこの指定範囲内にある場合には、判定信号ＳＡ＝“１”となり、それ以外の場合には、判定信号ＳＡ＝“０”となる。
【００４７】
また、アドレスレジスタ３９に（１２３４ＸＸＸＸ）16を書き込み、マスクレジスタ４１に（ＦＦＦＦ００００）16を書き込むと、命令プリフェッチ先アドレスＡＤＤｘの有効アドレス範囲を（１２３４００００）16〜（１２３４ＦＦＦＦ）16と指定したことになり、命令プリフェッチ先アドレスＡＤＤｘがこの指定範囲にある場合には、判定信号ＳＡ＝“１”となり、それ以外の場合には、判定信号ＳＡ＝“０”となる。
【００４８】
以上のように、本発明の第１実施形態のプロセッサ２０においては、制御回路２３が自動生成した命令プリフェッチ先アドレスＡＤＤｘの有効アドレス範囲を指定することができる判定回路２２を備え、制御回路２３が自動生成した命令プリフェッチ先アドレスＡＤＤｘが指定した有効アドレス範囲内にある場合には、判定信号ＳＡ＝“１”となり、また、制御回路２３が自動生成した命令プリフェッチ先アドレスＡＤＤｘが指定した有効アドレス範囲内にない場合には、判定信号ＳＡ＝“０”となる。
【００４９】
そして、制御回路２３は、判定信号ＳＡ＝“１”の場合には、命令プリフェッチ実行回路１２が制御回路２３から与えられる命令プリフェッチ先アドレスＡＤＤｘによる命令プリフェッチを実行し、また、判定信号ＳＡ＝“０”の場合には、命令プリフェッチ実行回路１２が制御回路２３から与えられる命令プリフェッチ先アドレスＡＤＤｘによる命令プリフェッチを実行しないように、命令プリフェッチ実行回路１２を制御する。
【００５０】
したがって、本発明の第１実施形態のプロセッサ２０によれば、実使用時におけるＲＥＡＤＹ信号待ちによるバスアクセスのハングアップや、動作シミュレーション時における不定値の伝播による回路のハングアップを回避することができる。
【００５１】
（第２実施形態）
図８は本発明の第２実施形態のプロセッサを備える情報処理装置の一例の一部分を示す回路図である。この情報処理装置は、本発明の第２実施形態のプロセッサ４４を備えると共に、外部バス３にプログラムを格納したメモリ２、４５、４６を接続している。
【００５２】
本発明の第２実施形態のプロセッサ４４は、図１に示す命令プリフェッチ回路２１の代わりに命令プリフェッチ回路４７を搭載し、その他については、図１に示す本発明の第１実施形態のプロセッサ２０と同様に構成したものである。
【００５３】
命令プリフェッチ回路４７は、図１に示す判定回路２２の代わりに、３個のメモリ２、４５、４６に対応することができる判定回路４８を設け、その他については、図１に示す命令プリフェッチ回路２１と同様に構成したものである。
【００５４】
判定回路４８は、制御回路２３が自動生成した命令プリフェッチ先アドレスＡＤＤｘが有効アドレス範囲内にあるか否かを判定し、判定結果を示す判定信号ＳＡを制御回路２３に与え、制御回路２３が自動生成した命令プリフェッチ先アドレスＡＤＤｘによるメモリ２、４５、４６からの命令プリフェッチの許可又は抑止を指示するものであり、判定回路４９、５０、５１と、ＯＲ回路５２を有している。
【００５５】
判定回路４９は、メモリ２に対応して設けられたものであり、本発明の第１実施形態のプロセッサ２０が備える図３、図４又は図５に示す判定回路２２の第１構成例、第２構成例又は第３構成例と同一の回路構成を有し、図３、図４又は図５に示す判定信号ＳＡと同様の判定信号ＳＣを出力するものである。
【００５６】
判定回路５０は、メモリ４５に対応して設けられたものであり、本発明の第１実施形態のプロセッサ２０が備える図３、図４又は図５に示す判定回路２２の第１構成例、第２構成例又は第３構成例と同一の回路構成を有し、図３、図４又は図５に示す判定信号ＳＡと同様の判定信号ＳＤを出力するものである。
【００５７】
判定回路５１は、メモリ４６に対応して設けられたものであり、本発明の第１実施形態のプロセッサ２０が備える図３、図４又は図５に示す判定回路２２の第１構成例、第２構成例又は第３構成例と同一の回路構成を有し、図３、図４又は図５に示す判定信号ＳＡと同様の判定信号ＳＥを出力するものである。
【００５８】
ＯＲ回路５２は、判定回路４９、５０、５１が出力する判定信号ＳＣ、ＳＤ、ＳＥを入力して、制御回路２３に与える判定信号ＳＡを生成するものである。
【００５９】
図９は本発明の第２実施形態のプロセッサ４４が有するアドレス空間を示す図である。図９中、５３はプログラムを格納したメモリ２が実装されているアドレス領域であり、ＡＤＤｙは下限アドレス、ＡＤＤｙ＋ｎは上限アドレスである。５４はプログラムを格納したメモリ４５が実装されているアドレス領域であり、ＡＤＤｚは下限アドレス、ＡＤＤｚ＋ｍは上限アドレスである。５５はプログラムを格納したメモリ４６が実装されているアドレス領域であり、ＡＤＤｗは下限アドレス、ＡＤＤｗ＋ｐは上限アドレスである。５６〜５９はメモリが実装されていないアドレス領域である。
【００６０】
本発明の第２実施形態のプロセッサ４４では、判定回路４９には、アドレスＡＤＤｙを下限とし、アドレスＡＤＤｙ＋ｎを上限とするアドレス範囲を有効アドレス範囲として指定する。また、判定回路５０には、アドレスＡＤＤｚを下限とし、アドレスＡＤＤｚ＋ｍを上限とするアドレス範囲を有効アドレス範囲として指定する。また、判定回路５１には、アドレスＡＤＤｗを下限とし、アドレスＡＤＤｗ＋ｐを上限とするアドレス範囲を有効アドレス範囲として指定する。
【００６１】
このように有効アドレス範囲を指定すると、制御回路２３が自動生成したアドレスＡＤＤｘがＡＤＤｙ≦ＡＤＤｘ≦ＡＤＤｙ＋ｎの場合には、判定回路４９が出力する判定信号ＳＣ＝“１”となり、ＯＲ回路５２が出力する判定信号ＳＡ＝“１”となる。
【００６２】
また、制御回路２３が自動生成したアドレスＡＤＤｘがＡＤＤｚ≦ＡＤＤｘ≦ＡＤＤｚ＋ｍの場合には、判定回路５０が出力する判定信号ＳＤ＝“１”となり、ＯＲ回路５２が出力する判定信号ＳＡ＝“１”となる。
【００６３】
また、制御回路２３が自動生成したアドレスＡＤＤｘがＡＤＤｗ≦ＡＤＤｘ≦ＡＤＤｗ＋ｐの場合には、判定回路５１が出力する判定信号ＳＥ＝“１”となり、ＯＲ回路５２が出力する判定信号ＳＡ＝“１”となる。
【００６４】
これに対して、制御回路２３が自動生成したアドレスＡＤＤｘがＡＤＤｙ≦ＡＤＤｘ≦ＡＤＤｙ＋ｎでもなく、ＡＤＤｚ≦ＡＤＤｘ≦ＡＤＤｚ＋ｍでもなく、ＡＤＤｗ≦ＡＤＤｘ≦ＡＤＤｗ＋ｐでもない場合には、判定回路４９、５０、５１が出力する判定信号ＳＣ、ＳＤ、ＳＥ＝“０”となり、ＯＲ回路５２が出力する判定信号ＳＡ＝“０”となる。
【００６５】
ここで、制御回路２３は、判定信号ＳＡ＝“１”の場合には、命令プリフェッチ実行回路１２が制御回路２３から与えられる命令プリフェッチ先アドレスＡＤＤｘによるメモリ２、４５、４６からの命令プリフェッチを実行し、また、判定信号ＳＡ＝“０”の場合には、命令プリフェッチ実行回路１２が制御回路２３から与えられる命令プリフェッチ先アドレスＡＤＤｘによるメモリ２、４５、４６からの命令プリフェッチを実行しないように、命令プリフェッチ実行回路１２を制御する。
【００６６】
したがって、本発明の第２実施形態のプロセッサ４４によれば、プログラムを格納する３個のメモリ２、４５、４６が外部バス３に接続されている場合においても、実使用時におけるＲＥＡＤＹ信号待ちによるバスアクセスのハングアップや、動作シミュレーション時の不定値の伝播による回路のハングアップを回避することができる。
【００６７】
なお、本発明の第２実施形態のプロセッサ４４においては、判定回路４８内に３個の判定回路４９、５０、５１を設けるようにした場合について説明したが、この代わりに、判定回路４８内に２個又は４個以上の判定回路を設けるように構成することもできる。
【００６８】
（第３実施形態）
図１０は本発明の第３実施形態のプロセッサを備える情報処理装置の一例の一部分を示す回路図である。この情報処理装置は、図１に示す情報処理装置が備える本発明の第１実施形態のプロセッサ２０の代わりに本発明の第３実施形態のプロセッサ６０を備えるようにし、その他については、図１に示す情報処理装置と同様に構成したものである。
【００６９】
本発明の第３実施形態のプロセッサ６０において、６１は命令プリフェッチ回路、６２はメモリ管理ユニット、６３は内部バスである。命令プリフェッチ回路６１は、図１に示す命令プリフェッチ回路２１が設ける判定回路２２を設けないようにし、後述する変換アドレス判定回路が出力する判定信号ＳＦを制御回路２３に与えるべき判定信号ＳＡとして利用するものである。なお、本例では、制御回路２３は、論理アドレスからなる命令プリフェッチ先アドレスＡＤＤｘを生成するものとする。
【００７０】
メモリ管理ユニット６２は、命令プリフェッチ実行回路１２が出力する論理アドレスからなる命令プリフェッチ先アドレスＡＤＤｘを物理アドレスからなる命令プリフェッチ先アドレスに変換する回路であり、変換アドレス判定回路６４と、アドレス変換実行回路６５を備えている。
【００７１】
変換アドレス判定回路６４は、命令プリフェッチ実行回路１２が出力する論理アドレスからなる命令プリフェッチ先アドレスＡＤＤｘが予め指定されている変換対象論理アドレスであるか否かを判定するものであり、判定信号ＳＦをアドレス変換実行回路６５及び制御回路２３に与えるものである。
【００７２】
本例では、変換アドレス判定回路６４は、本発明の第１実施形態のプロセッサ２０が備える判定回路２２の第１構成例、第２構成例又は第３構成例と同様の回路構成を有しており、命令プリフェッチ実行回路１２が出力した論理アドレスからなる命令プリフェッチ先アドレスＡＤＤｘが予め指定されている変換対象論理アドレスである場合には、判定信号ＳＦ＝“１”とし、変換対象論理アドレスでない場合には、判定信号ＳＦ＝“０”とする。
【００７３】
アドレス変換実行回路６５は、判定信号ＳＦ＝“１”の場合には、命令プリフェッチ実行回路１２が出力する論理アドレスからなる命令プリフェッチ先アドレスを物理アドレスＡＤＤｘからなる命令プリフェッチ先アドレスに変換し、メモリ２に対するアクセスを可能とし、判定信号ＳＦ＝“０”の場合には、アドレス変換を実行しない。
【００７４】
以上のように、本発明の第３実施形態のプロセッサ６０においては、変換アドレス判定回路６４が出力する判定信号ＳＦが判定信号ＳＡとして制御回路２３に与えられるが、命令プリフェッチ実行回路１２が出力した論理アドレスからなる命令プリフェッチ先アドレスＡＤＤｘが予め指定されている変換対象論理アドレスである場合には、判定信号ＳＦ＝“１”となり、変換対象論理アドレスでない場合には、判定信号ＳＦ＝“０”となる。
【００７５】
したがって、制御回路２３が自動生成した命令プリフェッチ先アドレスＡＤＤｘが指定した有効アドレス範囲内のアドレスである場合には、判定信号ＳＡ＝“１”となり、また、制御回路２３が自動生成した命令プリフェッチ先アドレスＡＤＤｘが指定した有効アドレス範囲外のアドレスである場合には、判定信号ＳＡ＝“０”となる。
【００７６】
ここで、制御回路２３は、判定信号ＳＡ＝“１”の場合には、命令プリフェッチ実行回路１２が制御回路２３から与えられる命令プリフェッチ先アドレスＡＤＤｘによる命令プリフェッチを実行し、また、判定信号ＳＡ＝“０”の場合には、命令プリフェッチ実行回路１２が制御回路２３から与えられる命令プリフェッチ先アドレスＡＤＤｘによる命令プリフェッチを実行しないように、命令プリフェッチ実行回路１２を制御する。
【００７７】
したがって、本発明の第３実施形態のプロセッサ６０によれば、実使用時におけるＲＥＡＤＹ信号待ちによるバスアクセスのハングアップや、動作シミュレーション時における不定値の伝播による回路のハングアップを回避することができる。
【００７８】
（第４実施形態）
図１１は本発明の第４実施形態のプロセッサを備える情報処理装置の一例の一部分を示す回路図である。この情報処理装置は、図１に示す情報処理装置が備える本発明の第１実施形態のプロセッサ２０の代わりに本発明の第４実施形態のプロセッサ６６を備えるようにし、その他については、図１に示す情報処理装置と同様に構成したものである。
【００７９】
本発明の第４実施形態のプロセッサ６６において、６７は命令プリフェッチ回路、６８は外部バス制御回路、６９は内部バスである。命令プリフェッチ回路６７は、図１に示す命令プリフェッチ回路２１が設ける判定回路２２を設けないようにし、後述するチップセレクト信号生成回路が出力するチップセレクト信号ＣＳを制御回路２３に与えるべき判定信号ＳＡとして利用するものである。
【００８０】
外部バス制御回路６８は、命令プリフェッチ実行回路１２が出力する命令プリフェッチ先アドレスＡＤＤｘによるバスアクセスを制御するものであり、チップセレクト信号生成回路７０を備えている。
【００８１】
チップセレクト信号生成回路７０は、本発明の第１実施形態のプロセッサ２０が備える判定回路２２の第１構成例、第２構成例又は第３構成例と同様の回路構成を有しており、有効アドレス範囲の情報を保持し、命令プリフェッチ実行回路１２が出力した命令プリフェッチ先アドレスＡＤＤｘが有効アドレス範囲内にある場合には、チップセレクト信号ＣＳ＝“１”（活性レベル）とし、メモリ２に対するアクセスを可能にし、また、有効アドレス範囲内にない場合には、チップセレクト信号ＣＳ＝“０”（非活性レベル）とする。
【００８２】
以上のように、本発明の第４実施形態のプロセッサ６６においては、チップセレクト信号生成回路７０が出力するチップセレクト信号ＣＳが判定信号ＳＡとして制御回路２３に与えられるが、命令プリフェッチ実行回路１２が出力した命令プリフェッチ先アドレスＡＤＤｘが有効アドレス範囲内にある場合には、チップセレクト信号ＣＳ＝“１”となり、また、有効アドレス範囲内にない場合には、チップセレクト信号ＣＳ＝“０”となる。
【００８３】
したがって、制御回路２３が自動生成した命令プリフェッチ先アドレスＡＤＤｘが有効アドレス範囲内のアドレスである場合には、判定信号ＳＡ＝“１”となり、また、制御回路２３が自動生成した命令プリフェッチ先アドレスＡＤＤｘが有効アドレス範囲内のアドレスでない場合には、判定信号ＳＡ＝“０”となる。
【００８４】
ここで、制御回路２３は、判定信号ＳＡ＝“１”の場合には、命令プリフェッチ実行回路１２が制御回路２３から与えられる命令プリフェッチ先アドレスＡＤＤｘによる命令プリフェッチを実行し、また、判定信号ＳＡ＝“０”の場合には、命令プリフェッチ実行回路１２が制御回路２３から与えられる命令プリフェッチ先アドレスＡＤＤｘによる命令プリフェッチを実行しないように、命令プリフェッチ実行回路１２を制御する。
【００８５】
したがって、本発明の第４実施形態のプロセッサ６６によれば、実使用時におけるＲＥＡＤＹ信号待ちによるバスアクセスのハングアップや、動作シミュレーション時における不定値の伝播による回路のハングアップを回避することができる。
【００８６】
（第５実施形態）
図１２は本発明の第５実施形態のプロセッサを備える情報処理装置の一例の一部分を示す回路図である。この情報処理装置は、図１に示す情報処理装置が備える本発明の第１実施形態のプロセッサ２０の代わりに本発明の第５実施形態のプロセッサ７１を備えるようにし、その他については、図１に示す情報処理装置と同様に構成したものである。但し、メモリ２は、ＳＤＲＡＭ（synchronous DRAM）である。
【００８７】
本発明の第５実施形態のプロセッサ７１において、７２は命令プリフェッチ回路、７３はＳＤＲＡＭ制御回路、７４は内部バスである。命令プリフェッチ回路７２は、図１に示す命令プリフェッチ回路２１が設ける判定回路２２を設けないようにし、後述するＤＣＳ生成回路が出力するＳＤＲＡＭチップセレクト信号ＤＣＳを制御回路２３に与えるべき判定信号ＳＡとして利用するものである。
【００８８】
ＳＤＲＡＭ制御回路７３は、命令プリフェッチ実行回路１２が出力する命令プリフェッチ先アドレスＡＤＤｘによるバスアクセスを制御するものであり、ＤＣＳ生成回路７５を備えている。
【００８９】
ＤＣＳ生成回路７５は、本発明の第１実施形態のプロセッサ２０が備える判定回路２２の第１構成例、第２構成例又は第３構成例と同様の回路構成を有しており、有効アドレス範囲の情報を保持し、命令プリフェッチ実行回路１２が出力した命令プリフェッチ先アドレスＡＤＤｘが有効アドレス範囲内にある場合には、ＳＤＲＡＭチップセレクト信号ＤＣＳ＝“１”（活性レベル）とし、メモリ２に対するアクセスを可能にし、また、有効アドレス範囲内にない場合には、ＳＤＲＡＭチップセレクト信号ＤＣＳ＝“０”（非活性レベル）とする。
【００９０】
以上のように、本発明の第５実施形態のプロセッサ７１においては、ＤＣＳ生成回路７５が出力するＳＤＲＡＭチップセレクト信号ＤＣＳが判定信号ＳＡとして制御回路２３に与えられるが、命令プリフェッチ実行回路１２が出力した命令プリフェッチ先アドレスＡＤＤｘが有効アドレス範囲内にある場合には、ＳＤＲＡＭチップセレクト信号ＤＣＳ＝“１”となり、また、有効アドレス範囲内にない場合には、ＳＤＲＡＭチップセレクト信号ＤＣＳ＝“０”となる。
【００９１】
したがって、制御回路２３が自動生成した命令プリフェッチ先アドレスＡＤＤｘが指定した有効アドレス範囲内のアドレスである場合には、判定信号ＳＡ＝“１”となり、また、制御回路２３が自動生成した命令プリフェッチ先アドレスＡＤＤｘが指定した有効アドレス範囲内のアドレスでない場合には、判定信号ＳＡ＝“０”となる。
【００９２】
ここで、制御回路２３は、判定信号ＳＡ＝“１”の場合には、命令プリフェッチ実行回路１２が制御回路２３から与えられる命令プリフェッチ先アドレスＡＤＤｘによる命令プリフェッチを実行し、また、判定信号ＳＡ＝“０”の場合には、命令プリフェッチ実行回路１２が制御回路２３から与えられる命令プリフェッチ先アドレスＡＤＤｘによる命令プリフェッチを実行しないように、命令プリフェッチ実行回路１２を制御する。
【００９３】
したがって、本発明の第５実施形態のプロセッサ７１によれば、実使用時におけるＲＥＡＤＹ信号待ちによるバスアクセスのハングアップや、動作シミュレーション時における不定値の伝播による回路のハングアップを回避することができる。
【００９４】
ここで、本発明のプロセッサを整理すると、本発明のプロセッサには、少なくとも、以下のプロセッサが含まれる。
【００９５】
（付記１）命令プリフェッチ回路を備えるプロセッサであって、前記命令プリフェッチ回路は、自動生成した命令プリフェッチ先アドレスが有効アドレス範囲内にない場合、前記命令プリフェッチ先アドレスによる命令プリフェッチ動作を自己抑止する手段を備えることを特徴とするプロセッサ。
【００９６】
（付記２）前記命令プリフェッチ回路は、判定回路を有し、前記判定回路は、前記有効アドレス範囲が指定され、前記命令プリフェッチ先アドレスが前記指定された有効アドレス範囲内にあるか否かを判定する判定回路を有することを特徴とする付記１記載のプロセッサ。
【００９７】
（付記３）前記判定回路は、前記有効アドレス範囲の下限アドレスを格納する第１のレジスタと、前記有効アドレス範囲の上限アドレスを格納する第２のレジスタと、前記命令プリフェッチ先アドレスと前記下限アドレスとの大小を比較する第１の比較回路と、前記命令プリフェッチ先アドレスと前記上限アドレスとの大小を比較する第２の比較回路と、前記第１、第２の比較回路の出力結果に基づいて前記命令プリフェッチ先アドレスが前記有効アドレス範囲内にあるか否かを示す判定信号を出力する論理回路を有することを特徴とする付記２記載のプロセッサ。
【００９８】
（付記４）前記第１の比較回路は、前記命令プリフェッチ先アドレス≧前記下限アドレスの場合には“１”を出力し、前記命令プリフェッチ先アドレス＜前記下限アドレスの場合には“０”を出力するものであり、前記第２の比較回路は、前記命令プリフェッチ先アドレス≦前記上限アドレスの場合には“１”を出力し、前記命令プリフェッチ先アドレス＞前記上限アドレスの場合には“０”を出力するものであり、前記論理回路はＡＮＤ回路であることを特徴とする付記３記載のプロセッサ。
【００９９】
（付記５）前記第１の比較回路は、前記命令プリフェッチ先アドレス＜前記下限アドレスの場合には“１”を出力し、前記命令プリフェッチ先アドレス≧前記下限アドレスの場合には“０”を出力するものであり、前記第２の比較回路は、前記命令プリフェッチ先アドレス＞前記上限アドレスの場合には“１”を出力し、前記命令プリフェッチ先アドレス≦前記上限アドレスの場合には“０”を出力するものであり、前記論理回路はＮＯＲ回路であることを特徴とする付記３記載のプロセッサ。
【０１００】
（付記６）前記判定回路は、前記有効アドレス範囲を決める基準となるアドレスを指定するためのアドレスレジスタと、前記命令プリフェッチ先アドレスと前記アドレスレジスタに書き込まれたアドレスとの比較に使用するビットを指定するためのマスクレジスタを有し、前記アドレスレジスタに書き込まれたアドレスと前記マスクレジスタに書き込まれた値を使用し、前記命令プリフェッチ先アドレスが前記有効アドレス範囲内にあるか否かを判定することを特徴とする付記２記載のプロセッサ。
【０１０１】
（付記７）前記命令プリフェッチ回路は、複数の判定回路を有し、前記複数の判定回路は、それぞれ、前記有効アドレス範囲中の異なる有効アドレス範囲が指定され、前記命令プリフェッチ先アドレスが前記指定された有効アドレス範囲内にあるか否かを判定し、前記命令プリフェッチ回路は、前記複数の判定回路の１個が、前記命令プリフェッチ先アドレスが前記指定された有効アドレス範囲内にあると判定した場合には、命令プリフェッチを実行し、前記複数の判定回路の全てが、前記命令プリフェッチ先アドレスが前記指定された有効アドレス範囲内にないと判定した場合には、命令プリフェッチを自己抑止することを特徴とする付記１記載のプロセッサ。
【０１０２】
（付記８）前記複数の判定回路は、前記指定された有効アドレス範囲の下限アドレスを格納する第１のレジスタと、前記指定された有効アドレス範囲の上限アドレスを格納する第２のレジスタと、前記命令プリフェッチ先アドレスと前記下限アドレスとの大小を比較する第１の比較回路と、前記命令プリフェッチ先アドレスと前記上限アドレスとの大小を比較する第２の比較回路と、前記第１、第２の比較回路の出力結果に基づいて前記命令プリフェッチ先アドレスが前記有効アドレス範囲内にあるか否かを示す判定信号を出力する論理回路を有することを特徴とする付記７記載のプロセッサ。
【０１０３】
（付記９）前記第１の比較回路は、前記命令プリフェッチ先アドレス≧前記下限アドレスの場合には“１”を出力し、前記命令プリフェッチ先アドレス＜前記下限アドレスの場合には“０”を出力するものであり、前記第２の比較回路は、前記命令プリフェッチ先アドレス≦前記上限アドレスの場合には“１”を出力し、前記命令プリフェッチ先アドレス＞前記上限アドレスの場合には“０”を出力するものであり、前記論理回路はＡＮＤ回路であることを特徴とする付記８記載のプロセッサ。
【０１０４】
（付記１０）前記第１の比較回路は、前記命令プリフェッチ先アドレス＜前記下限アドレスの場合には“１”を出力し、前記命令プリフェッチ先アドレス≧前記下限アドレスの場合には“０”を出力するものであり、前記第２の比較回路は、前記命令プリフェッチ先アドレス＞前記上限アドレスの場合には“１”を出力し、前記命令プリフェッチ先アドレス≦前記上限アドレスの場合には“０”を出力するものであり、前記論理回路はＮＯＲ回路であることを特徴とする付記８記載のプロセッサ。
【０１０５】
（付記１１）前記複数の判定回路は、前記指定された有効アドレス範囲を決める基準となるアドレスを指定するためのアドレスレジスタと、前記命令プリフェッチ先アドレスと前記アドレスレジスタに書き込まれたアドレスとの比較に使用するビットを指定するためのマスクレジスタを有し、前記アドレスレジスタに書き込まれたアドレスと前記マスクレジスタに書き込まれた値を使用し、前記命令プリフェッチ先アドレスが有効アドレス範囲内のものであるか否かを判定することを特徴とする付記７記載のプロセッサ。
【０１０６】
（付記１２）前記命令プリフェッチ先アドレスは論理アドレスであり、前記命令プリフェッチ先アドレスを物理アドレスに変換するアドレス変換回路を有し、前記アドレス変換回路は、前記命令プリフェッチ先アドレスが物理アドレスへの変換対象アドレスであるか否かを判定してなる判定信号を出力する変換アドレス判定回路を有し、前記命令プリフェッチ回路は、前記判定信号を前記命令プリフェッチ先アドレスが前記有効アドレス範囲内にあるか否かを判定した信号として与えられることを特徴とする付記１記載のプロセッサ。
【０１０７】
（付記１３）命令を格納したメモリを選択するためのチップセレクト信号を生成するチップセレクト信号生成回路を有し、前記命令プリフェッチ回路は、前記チップセレクト信号を前記命令プリフェッチ先アドレスが前記有効アドレス範囲内にあるか否かを判定した信号として与えられることを特徴とする付記１記載のプロセッサ。
【０１０８】
（付記１４）前記メモリはＳＤＲＡＭであり、前記チップセレクト信号はＳＤＲＡＭチップセレクト信号であることを特徴とする付記１３記載のプロセッサ。
【０１０９】
（付記１５）前記命令プリフェッチ回路は、制御回路を有し、前記制御回路は、プログラムカウンタが示すアドレスを元に前記命令プリフェッチ先アドレスを自動生成すると共に、前記命令プリフェッチ先アドレスによる命令プリフェッチの実行又は抑止を制御することを特徴とする付記１〜１４のいずれか一の付記に記載のプロセッサ。
【図面の簡単な説明】
【０１１０】
【図１】本発明の第１実施形態のプロセッサを備える情報処理装置の一例の一部分を示す回路図である。
【図２】本発明の第１実施形態のプロセッサが有するアドレス空間を示す図である。
【図３】本発明の第１実施形態が備える判定回路の第１構成例を示す回路図である。
【図４】本発明の第１実施形態が備える判定回路の第２構成例を示す回路図である。
【図５】本発明の第１実施形態が備える判定回路の第３構成例を示す回路図である。
【図６】本発明の第１実施形態が備える判定回路の第３構成例の動作を説明するための回路図である。
【図７】本発明の第１実施形態が備える判定回路の第３構成例の動作を説明するための回路図である。
【図８】本発明の第２実施形態のプロセッサを備える情報処理装置の一例の一部分を示す回路図である。
【図９】本発明の第２実施形態のプロセッサが有するアドレス空間を示す図である。
【図１０】本発明の第３実施形態のプロセッサを備える情報処理装置の一例の一部分を示す回路図である。
【図１１】本発明の第４実施形態のプロセッサを備える情報処理装置の一例の一部分を示す回路図である。
【図１２】本発明の第５実施形態のプロセッサを備える情報処理装置の一例の一部分を示す回路図である。
【図１３】従来のプロセッサの一例を備える情報処理装置の一例の一部分を示す回路図である。
【図１４】図１３に示す従来のプロセッサが有する問題点を説明するための図である。
【符号の説明】
【０１１１】
１…プロセッサ、２…メモリ、３…外部バス、４…プログラムカウンタ、５…命令プリフェッチ回路、６…命令レジスタ、７…命令デコーダ、８…算術論理ユニット、９…汎用レジスタ、１０…内部バス、１１…制御回路、１２…命令プリフェッチ実行回路、１３…命令バッファ、２０…本発明の第１実施形態のプロセッサ、２１…命令プリフェッチ回路、２２…判定回路、２３…制御回路、２９…下限アドレスレジスタ、３０…比較回路、３１…上限アドレスレジスタ、３２…比較回路、３３…ＡＮＤ回路、３４…下限アドレスレジスタ、３５…比較回路、３６…上限アドレスレジスタ、３７…比較回路、３８…ＮＯＲ回路、３９…アドレスレジスタ、４０…ＸＯＲ回路、４１…マスクレジスタ、４２…ＡＮＤ回路、４３…０判定回路、４４…本発明の第２実施形態のプロセッサ、４５、４６…メモリ、４７…命令プリフェッチ回路、４８〜５１…判定回路、５２…ＯＲ回路、６０…本発明の第３実施形態のプロセッサ、６１…命令プリフェッチ回路、６２…メモリ管理ユニット、６３…内部バス、６４…変換アドレス判定回路、６５…アドレス変換実行回路、６６…本発明の第４実施形態のプロセッサ、６７…命令プリフェッチ回路、６８…外部バス制御回路、６９…内部バス、７０…チップセレクト信号生成回路、７１…本発明の第５実施形態のプロセッサ、７２…命令プリフェッチ回路、７３…ＳＤＲＡＭ制御回路、７４…内部バス、７５…ＤＣＳ生成回路
【図１】
2007011642.tif 000003
【図２】
2007011642.tif 000004
【図３】
2007011642.tif 000005
【図４】
2007011642.tif 000006
【図５】
2007011642.tif 000007
【図６】
2007011642.tif 000008
【図７】
2007011642.tif 000009
【図８】
2007011642.tif 000010
【図９】
2007011642.tif 000011
【図１０】
2007011642.tif 000012
【図１１】
2007011642.tif 000013
【図１２】
2007011642.tif 000014
【図１３】
2007011642.tif 000015
【図１４】
2007011642.tif 000016