(57)【要約】【課題】エンディアンの違いに関わらず、同一アドレスで周辺装置にアクセスすることを可能とする。【解決手段】データの読み出し又は書き込み要求を出力する演算処理部１、演算処理部１と内部データバス４を介して接続され、データの読み出し又は書き込み要求に応じて複数の第１の外部データバス５ａ，５ｂ，５ｃ，５ｄの制御処理を行う外部バス制御部２、複数の第１の外部データバス５ａ，５ｂ，５ｃ，５ｄに接続され、外部周辺装置のバス幅に応じて複数の第１の外部データバス５と複数の第２の外部データバス６ａ，６ｂ，６ｃ，６ｄとの間の経路を切り替えるバス切替部３を備える。【選択図】      図１
2004220090.tif 000002
【特許請求の範囲】
【請求項１】
データの読み出し又は書き込み要求を出力する演算処理部と、
前記演算処理部と内部データバスを介して接続され、前記データの読み出し又は書き込み要求に応じて複数の第１の外部データバスの制御処理を行う外部バス制御部と、
前記複数の第１の外部データバスに接続され、外部周辺装置のバス幅に応じて前記複数の第１の外部データバスと複数の第２の外部データバスとの間の経路を切り替えるバス切替部とを備えることを特徴とするマイクロプロセッサ。
【請求項２】
前記バス切替部は、
前記複数の第１の外部データバスと前記複数の第２の外部データバスの間の接続をオンオフする複数のバス切替スイッチ部と、
前記外部周辺装置から入力されるバス幅コントロール信号と前記外部バス制御部から入力されるサイズ情報信号に基づいて、前記複数のバス切替スイッチ部を制御するスイッチ切替部とを備えることを特徴とする請求項１記載のマイクロプロセッサ。
【請求項３】
前記スイッチ切替部は、前記バス幅コントロール信号が有効である場合には、前記サイズ情報信号に対応する外部データバスの有効性を判定することにより前記バス切替スイッチ部を制御することを特徴とする請求項２記載のマイクロプロセッサ。
【請求項４】
外部周辺装置から入力されるバス幅コントロール信号が有効であるか否かを判定するステップと、
前記バス幅コントロール信号が有効でない場合には、演算処理部と接続する複数の第１の外部データバスの各々が、前記外部周辺装置と接続する複数の第２の外部データバスの各々に対応して接続されるように制御するステップと、
前記バス幅コントロール信号が有効である場合には、外部バス制御部から出力されるサイズ情報信号に対応する外部データバスの有効性に基づいて、前記複数の第１の外部データバスと前記複数の第２の外部データバスとの間の接続を切り替えるステップとを備えることを特徴とするマイクロプロセッサの制御方法。
【請求項５】
データの読み出し又は書き込み要求を出力する演算処理部と、前記演算処理部と内部データバスを介して接続され、前記データの読み出し又は書き込み要求に応じて複数の第１の外部データバスの制御処理を行う外部バス制御部と、前記複数の第１の外部データバスに接続され、外部周辺装置のバス幅に応じて前記複数の第１の外部データバスと複数の第２の外部データバスとの間の経路を切り替えるバス切替部とを有するマイクロプロセッサと、
前記複数の第２の外部データバスに接続された複数の外部周辺装置と、
前記マイクロプロセッサにアドレスバスを介して接続され、アドレスに対応する前記複数の外部周辺装置にアクセスするためのチップイネーブル信号を出力するアドレスデコーダとを備えることを特徴とするマイクロプロセッサシステム。
【請求項６】
前記バス切替部は、
前記複数の第１の外部データバスと前記複数の第２の外部データバスの間の接続をオンオフする複数のバス切替スイッチ部と、
前記外部周辺装置から入力されるバス幅コントロール信号と前記外部バス制御部から入力されるサイズ情報信号に基づいて、前記複数のバス切替スイッチ部を制御するスイッチ切替部とを備えることを特徴とする請求項５記載のマイクロプロセッサシステム。
【請求項７】
前記チップイネーブル信号が、前記バス幅コントロール信号の入力となることを特徴とする請求項６記載のマイクロプロセッサシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、外部メモリや周辺装置等のデータ幅に応じて同一アドレスでアクセスするマイクロプロセッサ、マイクロプロセッサの制御方法、及びマイクロプロセッサシステムに関する。
【０００２】
【従来の技術】
通常、マイクロプロセッサは、外部メモリや周辺装置等にアクセスするため外部バス制御部と呼ばれる機構を内蔵している。外部バス制御部は、外部メモリや周辺装置を使用可能にするものであり、データバス幅やウェイト数等を設定して使用する。例えば、データバス幅が３２ビットのマイクロプロセッサの場合、外部バス制御部はデータバス幅を８ビット，１６ビット，３２ビットのいずれかに設定することができる。異なるバス幅の外部メモリや周辺装置を同一の外部バス制御部で制御する場合、外部バス制御部は使用される周辺装置のうち最も大きなバス幅に設定される。例えば、マイクロプロセッサに３２ビットバスのメモリと８ビットの周辺装置が接続された場合、外部バス制御部は３２ビットバス線の中の任意の８ビットバス線に接続される（例えば、特許文献１参照。）。
【０００３】
このようなハードウェアの構成において、従来のマイクロプロセッサを使用した場合、外部バス制御部のデータバス幅の設定よりも小さいデータバス幅の周辺装置にアクセスすると、マイクロプロセッサのエンディアン設定によりアドレス空間が変化してしまう問題があった。例えば、上述したハードウェアの構成において、マイクロプロセッサの８ビット幅のデータバス（Ｄ０−Ｄ７）に８ビットバスの周辺装置が接続された場合を考える。図１０は、周辺装置をＢ０００００００番地に配置した場合のアドレス空間である。図１０に示すように、同一の周辺装置のアドレスに対してビッグエンディアンとリトルエンディアンではマイクロプロセッサから見た周辺装置のアドレスが異なる。ここで、「ビッグエンディアン」とは、２バイト以上のデータ量を持つ数値データを記録又は転送する場合に最上位のバイトから順番に記録、送信する方式であり、「リトルエンディアン」とは、最下位のバイトから順番に記録、送信する方式である。
【０００４】
【特許文献１】
特開平６−１４９７２３号公報
【０００５】
【発明が解決しようとする課題】
このように同一の周辺装置をアクセスするのに、エンディアンが異なっただけでマイクロプロセッサから見た周辺装置のアドレスまで変化してしまうため、ビッグエンディアンとリトルエンディアンの両方でプログラムを動かしたい場合等にソフトウエア設計が複雑になるという問題があった。また、ソフトウエア設計者はエンディアンの違いによる周辺装置のアクセスアドレスの違いを意識して設計しなければならないので余計な工数がかかる等の問題があった。
【０００６】
そこで、本発明は上記問題に鑑みてなされたもので、エンディアンの違いに関わらず、常に同一アドレスで周辺装置をアクセスすることができるマイクロプロセッサ、マイクロプロセッサの制御方法、及びマイクロプロセッサシステムを提供することを目的とする。
【０００７】
【課題を解決するための手段】
上記課題を解決するために、本発明の第１の特徴は、データの読み出し又は書き込み要求を出力する演算処理部と、演算処理部と内部データバスを介して接続され、データの読み出し又は書き込み要求に応じて複数の第１の外部データバスの制御処理を行う外部バス制御部と、複数の第１の外部データバスに接続され、外部周辺装置のバス幅に応じて複数の第１の外部データバスと複数の第２の外部データバスとの間の経路を切り替えるバス切替部とを備えるマイクロプロセッサであることを要旨とする。本発明の第１の特徴において、バス切替部は、複数の第１の外部データバスと複数の第２の外部データバスの間の接続をオンオフする複数のバス切替スイッチ部と、外部周辺装置から入力されるバス幅コントロール信号と外部バス制御部から入力されるサイズ情報信号に基づいて、複数のバス切替スイッチ部を制御するスイッチ切替部とを備えることが好ましい。また、本発明の第１の特徴において、スイッチ切替部は、バス幅コントロール信号が有効である場合には、サイズ情報信号に対応する外部データバスの有効性を判定することによりバス切替スイッチ部を制御することが好ましい。
【０００８】
本発明の第１の特徴によれば、外部バス制御部が制御しているバス幅よりも小さいバス幅の周辺をアクセスした場合、エンディアンの違いに関わらず、常に同一のアドレスで周辺装置をアクセスすることが可能となる。
【０００９】
本発明の第２の特徴は、外部周辺装置から入力されるバス幅コントロール信号が有効であるか否かを判定するステップと、バス幅コントロール信号が有効でない場合には、演算処理部と接続する複数の第１の外部データバスの各々が、外部周辺装置と接続する複数の第２の外部データバスの各々に対応して接続されるように制御するステップと、バス幅コントロール信号が有効である場合には、外部バス制御部から出力されるサイズ情報信号に対応する外部データバスの有効性に基づいて、複数の第１の外部データバスと複数の第２の外部データバスとの間の接続を切り替えるステップとを備えるマイクロプロセッサの制御方法であることを要旨とする。
【００１０】
本発明の第２の特徴によれば、エンディアンの違いに関わらず、同一アドレスで外部周辺装置にアクセスすることを可能となる。
【００１１】
本発明の第３の特徴は、データの読み出し又は書き込み要求を出力する演算処理部と、演算処理部と内部データバスを介して接続され、データの読み出し又は書き込み要求に応じて複数の第１の外部データバスの制御処理を行う外部バス制御部と、複数の第１の外部データバスに接続され、外部周辺装置のバス幅に応じて複数の第１の外部データバスと複数の第２の外部データバスとの間の経路を切り替えるバス切替部とを有するマイクロプロセッサと、複数の第２の外部データバスに接続された複数の外部周辺装置と、マイクロプロセッサにアドレスバスを介して接続され、アドレスに対応する複数の外部周辺装置にアクセスするためのチップイネーブル信号を出力するアドレスデコーダとを備えるマイクロプロセッサシステムであることを要旨とする。本発明の第３の特徴において、バス切替部は、複数の第１の外部データバスと複数の第２の外部データバスの間の接続をオンオフする複数のバス切替スイッチ部と、外部周辺装置から入力されるバス幅コントロール信号と外部バス制御部から入力されるサイズ情報信号に基づいて、複数のバス切替スイッチ部を制御するスイッチ切替部とを備えることが好ましい。
また、本発明の第３の特徴において、チップイネーブル信号が、バス幅コントロール信号の入力となることが好ましい。
【００１２】
本発明の第３の特徴によれば、エンディアンの違いに関わらず、同一アドレスで外部周辺装置にアクセスすることを可能となる。
【００１３】
【発明の実施の形態】
次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分は同一又は類似の符号を付している。ただし、図面は模式的なものであり、各寸法の比率等は現実のものとは異なることに留意すべきである。従って、具体的な寸法等は以下の説明を参酌して判断すべきものである。また図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることは勿論である。
【００１４】
（マイクロプロセッサ）
本発明の実施の形態に係る３２ビットのマイクロプロセッサ１００は、図１に示すように、演算処理部１と、演算処理部１と３２ビット幅の内部データバス（ＩＢＤ０〜ＩＢＤ３１）４を介して接続され、３２ビット幅の第１の外部データバス（Ｄ０〜Ｄ３１）５の制御処理を行う外部バス制御部２と、第１の外部データバス５に接続され、外部周辺装置のバス幅に応じて第１の外部データバス５と３２ビット幅の第２の外部データバス（Ｄ０〜Ｄ３１）６との間の経路を切り替えるバス切替部３とから少なくとも構成されている。
【００１５】
演算処理部１は、各種プログラムの処理状態に応じて、外部バス制御部２に対してデータの読み出し（ｒｅａｄ）／書き込み（ｗｒｉｔｅ）要求を出力する。外部バス制御部２は、演算処理部１からの読み出し／書き込み要求に応じて、第１の外部データバス５に対してアクセスを発生させ、バス切替部３を介して第２の外部データバス５に接続された外部メモリや周辺装置に対して読み出し／書き込み動作を発生させる。また、外部バス制御部２は、有効外部データバス幅、アクセスのウェイト数等を設定することができる。例えば、有効外部データバス幅が１６ビットに設定された場合において、演算処理部１が外部バス制御部２に対して３２ビットの読み出し要求を出力すると、外部バス制御部２は内部データバス４ａ，４ｂの１６ビットアクセスを２回行い、３２ビットのデータとして演算処理部１に値を通知する。内部データバス（ＩＢＤ０〜ＩＢＤ３１）４は、演算処理部１と外部バス制御部２との間で入出力されるデータの転送路である。内部データバス４は、８ビット幅の内部データバス（ＩＢＤ７−ＩＢＤ０）４ａ、内部データバス（ＩＢＤ１５−ＩＢＤ８）４ｂ、内部データバス（ＩＢＤ２３−ＩＢＤ１６）４ｃ、内部データバス（ＩＢＤ３１−ＩＢＤ２４）４ｄから構成される。また、第１の外部データバス（Ｄ０〜Ｄ３１）５は、外部バス制御部２とバス切替部３との間で入出力されるデータの転送路である。第１の外部データバス５は、８ビット幅の外部データバス（Ｄ７−Ｄ０）５ａ、外部データバス（Ｄ１５−Ｄ８）５ｂ、外部データバス（Ｄ２３−Ｄ１６）５ｃ、外部データバス（Ｄ３１−Ｄ２４）５ｄから構成される。さらに、第２の外部データバス（Ｄ０〜Ｄ３１）６は、バス切替部３とマイクロプロセッサ１００外部のメモリや周辺装置等との間で入出力されるデータの転送路である。第２の外部データバス５は、８ビット幅の外部データバス（Ｄ７−Ｄ０）６ａ、外部データバス（Ｄ１５−Ｄ８）６ｂ、外部データバス（Ｄ２３−Ｄ１６）６ｃ、外部データバス（Ｄ３１−Ｄ２４）６ｄから構成される。
【００１６】
バス切替部３は、図２に示すように、バス切替スイッチ部３１，３２，３３，３４、スイッチ切替部３５を備えている。バス切替スイッチ部３１，３２，３３，３４は、第１の外部データバス５と第２のデータバス６を流れるデータの最上位ビット／最下位ビット（ＭＳＢ／ＬＳＢ）の順序を変更せずに第１の外部データバス５と第２のデータバス６との間の経路を切り替える。バス切替スイッチ部３１は、外部データバス５ａ，６ａ、外部データバス５ｂ，６ｂ、外部データバス５ｃ，６ｃ、外部データバス５ｄ，６ｄのそれぞれの接続をオンオフするスイッチ３１ａ、３１ｂ、３１ｃ、３１ｄを備えている。また、バス切替スイッチ部３２は、外部データバス５ｂ，６ａ、外部データバス５ｃ，６ａ、外部データバス５ｄ，６ａのそれぞれの接続をオンオフするスイッチ３２ａ、３２ｂ、３２ｃを備えている。バス切替スイッチ部３３は、外部データバス５ｃ，６ａ、外部データバス５ｄ，６ｂのそれぞれの接続をオンオフするスイッチ３３ａ、３３ｂを備えている。バス切替スイッチ部３４は、外部データバス５ｂ，６ｂ、外部データバス５ｃ，６ｃ、外部データバス５ｄ，６ｄのそれぞれの接続をオンオフするスイッチ３４ａ、３４ｂ、３４ｃを備えている。スイッチ切替部３５は、演算処理部１からの読み出し／書き込み要求に応じて、外部メモリや周辺装置等から入力されるバス幅コントロール（ＢＷＣ）信号及び外部バス制御部２から入力されるサイズ情報（ＤＥ［０：３］）信号に基づいてバス切替スイッチ部３１，３２，３３，３４を制御する。ここで、「ＤＥ［０：３］信号」とは、外部データバス５ａ，５ｂ，５ｃ，５ｄのうち外部バス制御部２がアクセスしようとする外部データバスの位置を示す信号である。ＤＥ［０：３］信号は、ＤＥ［０］信号、ＤＥ［１］信号、ＤＥ［２］信号、ＤＥ［３］の４本の信号からなる。ＤＥ［０］信号は外部データバス５ａの位置、ＤＥ［１］信号は外部データバス５ｂの位置、ＤＥ［２］信号は外部データバス５ｃの位置、ＤＥ［３］信号は外部データバス５ｄの位置に対応する。ＤＥ［０：３］信号は、外部データバス５ａ，５ｂ，５ｃ，５ｄのうちどのバイトが有効かを示すバイトイネーブル（ＢＥ［０：３］）信号と同様の信号であり、ＢＥ［０：３］信号よりも早いタイミングで出力される。すなわち、ＤＥ［０：３］信号によりバス切替スイッチ部３１，３２，３３，３４が動作した後、ＢＥ［０：３］信号が出力される順番となる。
【００１７】
上述したようなバス切替部３の構成において、スイッチ切替部３５は、図３〜図５に示すようなバス切替スイッチ部３１，３２，３３，３４の切替処理を行う。すなわち、ＢＷＣ信号が有効でない場合又は３２ビットアクセスの場合には、図３に示すように、スイッチ切替部３５は、バス切替スイッチ部３１，３４内のすべてのスイッチ３１ａ，３１ｂ，３１ｃ，３１ｄ，３４ａ，３４ｂ，３４ｃを接続し、バス切替スイッチ部３２，３３内のすべてのスイッチ３２ａ，３２ｂ，３２ｃ，３３ａ，３３ｂを開放するように制御する。一方、ＢＷＣ信号が有効であり、８ビットアクセスの場合（ＤＥ［０：３］信号のうちいずれか１本の信号が有効の場合）には、図４に示すように、スイッチ切替部３５は、ＤＥ［］信号に対応するバス切替スイッチ部３１，３２内のスイッチのみを接続し、バス切替スイッチ部３３，３４内のすべてのスイッチ３３ａ，３３ｂ，３４ａ，３４ｂ，３４ｃを開放するように制御する。また、ＢＷＣ信号が有効であり、１６ビットアクセスの場合（ＤＥ［０：１］信号が有効又はＤＥ［２：３］信号が有効の場合）には、図５に示すように、スイッチ切替部３５は、ＤＥ［］信号に対応するバス切替スイッチ部３１，３３内のスイッチのみを接続し、バス切替スイッチ部３２内のすべてのスイッチ３２ａ，３２ｂ，３２ｃを開放し、バス切替スイッチ部３４内のスイッチ３４ａのみを接続するように制御する。以上のようなバス切替部３の構成によれば、バイト（８ビット）アクセス時には常に外部データバス６ａが有効になり、ワード（１６ビット）アクセス時には常に外部データバス６ａ，６ｂが有効になる。
【００１８】
（マイクロプロセッサの制御方法）
次に、図６を参照して、本発明の実施の形態に係る３２ビットのマイクロプロセッサ１００のスイッチ切替部３５の具体的な制御方法について説明する。
【００１９】
（イ）まず、ステップＳ１０において、演算処理部１からの読み出し／書き込み要求に応じて第１の外部データバス（Ｄ０〜Ｄ３１）５にアクセスが発生すると、ステップＳ１１で、バス切替部３のスイッチ切替部３５は、外部メモリや周辺装置等から入力されるＢＷＣ信号が有効であるか否かを判定する。ＢＷＣ信号が有効でない場合には、ステップＳ２０に進む。
【００２０】
（ロ）ステップＳ２０において、スイッチ切替部３５は、バス切替スイッチ部３１，３４内のすべてのスイッチ３１ａ，３１ｂ，３１ｃ，３１ｄ，３４ａ，３４ｂ，３４ｃを接続し、バス切替スイッチ部３２，３３内のすべてのスイッチ３２ａ，３２ｂ，３２ｃ，３３ａ，３３ｂを開放するように制御する。すなわち、図２に示すように、外部データバス５ａ，５ｂ，５ｃ，５ｄが、それぞれ外部データバス６ａ，６ｂ，６ｃ，６ｄに対応して接続された状態であり、この状態を初期状態とする。
【００２１】
（ハ）一方、ステップＳ２０でＢＷＣ信号が有効である場合には、ステップＳ１２に進む。ステップＳ１２では、スイッチ切替部３５は、外部バス制御部２から出力されるＤＥ［０：３］信号のうち、ＤＥ［１］信号のみが有効であるか否かを判定する。ＤＥ［１］信号のみが有効である場合には、ステップＳ１６に進む。
【００２２】
（ニ）ステップＳ１６において、スイッチ切替部３５は、バス切替スイッチ部３１内のスイッチ３１ａを開放し、バス切替スイッチ部３２内のスイッチ３２ａを接続し、バス切替スイッチ部３４内のスイッチ３４ａを開放するように制御する。それ以外のスイッチは、初期状態のままである。
【００２３】
（ホ）一方、ステップＳ１２でＤＥ［１］信号のみが有効でない場合には、ステップＳ１３に進む。ステップＳ１３では、スイッチ切替部３５は、外部バス制御部２から出力されるＤＥ［０：３］信号のうち、ＤＥ［２］信号のみが有効であるか否かを判定する。ＤＥ［２］信号のみが有効である場合には、ステップＳ１７に進む。
【００２４】
（ヘ）ステップＳ１７において、スイッチ切替部３５は、バス切替スイッチ部３１内のスイッチ３１ａを開放し、バス切替スイッチ部３２内のスイッチ３２ｂを接続し、バス切替スイッチ部３４内のスイッチ３４ｂを開放するように制御する。それ以外のスイッチは、初期状態のままである。
【００２５】
（ト）一方、ステップＳ１３でＤＥ［２］信号のみが有効でない場合には、ステップＳ１４に進む。ステップＳ１４では、スイッチ切替部３５は、外部バス制御部２から出力されるＤＥ［０：３］信号のうち、ＤＥ［３］信号のみが有効であるか否かを判定する。ＤＥ［３］信号のみが有効である場合には、ステップＳ１８に進む。
【００２６】
（チ）ステップＳ１８において、スイッチ切替部３５は、バス切替スイッチ部３１内のスイッチ３１ａを開放し、バス切替スイッチ部３２内のスイッチ３２ｃを接続し、バス切替スイッチ部３４内のスイッチ３４ｃを開放するように制御する。それ以外のスイッチは、初期状態のままである。
【００２７】
（リ）一方、ステップＳ１４でＤＥ［３］信号のみが有効でない場合には、ステップＳ１５に進む。ステップＳ１５では、スイッチ切替部３５は、外部バス制御部２から出力されるＤＥ［０：３］信号のうち、ＤＥ［２］信号及びＤＥ［３］信号のみが有効であるか否かを判定する。ＤＥ［２］信号及びＤＥ［３］信号のみが有効である場合には、ステップＳ１９に進む。
【００２８】
（ヌ）ステップＳ１９において、スイッチ切替部３５は、バス切替スイッチ部３１内のスイッチ３１ａ，３１ｂを開放し、バス切替スイッチ部３３内のすべてのスイッチ３３ａ，３３ｂを接続し、バス切替スイッチ部３４内のスイッチ３４ｂ，３４ｃを開放するように制御する。それ以外のスイッチは、初期状態のままである。
【００２９】
（ル）一方、ステップＳ１５でＤＥ［２］信号及びＤＥ［３］信号のみが有効でない場合には、ステップＳ２０に進む。ステップＳ２０では、スイッチ切替部３５は、バス切替スイッチ部３１，３４内のすべてのスイッチ３１ａ，３１ｂ，３１ｃ，３１ｄ，３４ａ，３４ｂ，３４ｃを接続し、バス切替スイッチ部３２，３３内のすべてのスイッチ３２ａ，３２ｂ，３２ｃ，３３ａ，３３ｂを開放するように制御する。
【００３０】
（マイクロプロセッサシステム）
次に、図７を参照して、本発明の実施の形態に係る３２ビットのマイクロプロセッサ１００を含むマイクロプロセッサシステムについて説明する。
【００３１】
本発明の実施の形態に係るマイクロプロセッサシステムは、図７に示すように、３２ビットのマイクロプロセッサ１００に３２ビットのメモリ１０と８ビットのＩ／Ｏ装置１１が接続されている。図７において、８ビットのＩ／Ｏ装置１１は、マイクロプロセッサ１００の外部データバス（Ｄ７−Ｄ０）６ａに接続されている。また、マイクロプロセッサ１００には、アドレスバス７を介してアドレスデコーダ１２が接続されている。チップイネーブル（ＣＥ）信号は、アドレスに対応するメモリ１０やＩ／Ｏ装置１１にアクセスするための許可信号である。ＣＥ信号は、アドレスデコーダ１２によって有効信号が生成される。アドレスデコーダ１２により出力されるＩ／Ｏ装置１１用のＣＥ信号がＢＷＣ信号の入力となっている。従って、Ｉ／Ｏ装置１１にアクセスする場合には常にマイクロプロセッサ１００のバス切替部３が適用されることとなる。例えば、Ｉ／Ｏ装置１１をＢ０００００００番地のアドレスに配置した場合、アドレス空間は図８に示すようになる。図８に示すように、これはマイクロプロセッサのエンディアンの違いに関係なく４バイト単位で同一なアドレス空間となる。また、３２ビットのマイクロプロセッサ１００に３２ビットのメモリ１０と１６ビットのＩ／Ｏ装置が接続された場合も同様に、図９に示すように、エンディアンの違いに関係なく４バイト単位で同一なアドレス空間となる。
【００３２】
以上説明したように、本発明の実施の形態に係るマイクロプロセッサ、マイクロプロセッサの制御方法、及びマイクロプロセッサシステムによれば、エンディアンの違いに関わらず、常に同一アドレスで周辺装置をアクセスすることができる。
【００３３】
（その他の実施の形態）
以上、本発明の実施の形態においては３２ビットのマイクロプロセッサを例にとって説明してきたが、本発明のその他の実施の形態として、１６ビットのマイクロプロセッサ、６４ビットのマイクロプロセッサ等に対しても同様に、データバス経路の切替方法を容易に適用することが可能である。また、図２においてバス切替部３の構成はスイッチの形式で表示しているが、実際の実装においてはスイッチ回路に限らなくてもよい。また、バス切替スイッチ部３２，３３の外部データバス（Ｄ２３−Ｄ１６）５ｃと外部データバス（Ｄ０−Ｄ７）６ａを接続しているスイッチ３２ｂ，３３ａはいずれも経路が同じなので１つのスイッチにまとめることも可能である。従って、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【００３４】
【発明の効果】
以上説明したように、本発明によれば、外部バス制御部が制御しているバス幅よりも小さいバス幅の周辺をアクセスした場合、エンディアンの違いに関わらず、常に同一のアドレスで周辺装置をアクセスすることが可能となる。従って、ソフトウエア設計者はエンディアンの違いによる周辺装置のアクセスアドレスの違いを意識せずにソフトウエアを実装することが可能となる。また、バス切替部を外部データバスの途中に介在させる構造であるため、マイクロプロセッサの外部バス制御部や演算処理部等のアーキテクチャを変更することなくエンディアンの違いによる周辺装置のアクセスアドレスの違いを回避することが可能となる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係るマイクロプロセッサの構成を示す図である。
【図２】本発明の実施の形態に係るマイクロプロセッサのバス切替部の構成を示す図である。
【図３】本発明の実施の形態に係るマイクロプロセッサのバス切替部の切替処理内容を示す図である（その１）。
【図４】本発明の実施の形態に係るマイクロプロセッサのバス切替部の切替処理内容を示す図である（その２）。
【図５】本発明の実施の形態に係るマイクロプロセッサのバス切替部の切替処理内容を示す図である（その３）。
【図６】本発明の実施の形態に係るマイクロプロセッサのバス切替部の制御処理動作を示すフローチャート図である。
【図７】本発明の実施の形態に係るマイクロプロセッサシステムの構成を示す図である。
【図８】本発明の実施の形態に係るマイクロプロセッサに８ビットのＩ／Ｏ装置を接続した場合のアドレス空間を示した図である。
【図９】本発明の実施の形態に係るマイクロプロセッサに１６ビットのＩ／Ｏ装置を接続した場合のアドレス空間を示した図である。
【図１０】従来のマイクロプロセッサに周辺装置を接続した場合のアドレス空間を示した図である。
【符号の説明】
１…演算処理部
２…外部バス制御部
３…バス切替部
４，４ａ，４ｂ，４ｃ，４ｄ…内部データバス
５，５ａ，５ｂ，５ｃ，５ｄ…外部データバス
６，６ａ，６ｂ，６ｃ，６ｄ…外部データバス
７，８，９…アドレスバス
１０…メモリ
１１…Ｉ／Ｏ装置
１２…アドレスデコーダ
３１，３２，３３，３４…バス切替スイッチ部（ＳＷ）
３１ａ，３１ｂ，３１ｃ，３１ｄ，３２ａ，３２ｂ，３２ｃ，３３ａ，３３ｂ，３４ａ，３４ｂ，３４ｃ，３４ｄ…スイッチ
３５…スイッチ切替部
１００…マイクロプロセッサ
【図１】
2004220090.tif 000003
【図２】
2004220090.tif 000004
【図３】
2004220090.tif 000005
【図４】
2004220090.tif 000006
【図５】
2004220090.tif 000007
【図６】
2004220090.tif 000008
【図７】
2004220090.tif 000009
【図８】
2004220090.tif 000010
【図９】
2004220090.tif 000011
【図１０】
2004220090.tif 000012