(57)【要約】  前世代のプロセッサとの後方互換性を保持できるプロセッサを提供する。現世代のプロセッサ１００が、前世代のプロセッサ５００にて第０領域アクセスサイクル数レジスタが配置されるアドレス上に値を書き込むと、同じ値が第０領域ランダムアクセスサイクル数レジスタ１７０に書き込まれ、かつ、第０領域ページサイズレジスタ１９０の値が０（ページサイズ＝０バイト）に設定され、ページモード・アクセスが行われなくなる。現世代のプロセッサ１００が、前世代のプロセッサ５００にて第１及び第２領域アクセスサイクル数レジスタが配置されるアドレス上に値を書き込むと、同じ値が第１領域ランダムアクセスサイクル数レジスタ１７１及び第２領域ランダムアクセスサイクル数レジスタ１７２に書き込まれ、かつ、第１領域ページサイズレジスタ１９１及び第２領域ページサイズレジスタ１９２の値がそれぞれ０に設定され、ページモード・アクセスが行われなくなる。【特許請求の範囲】
【請求項１】
所定数（２以上）のバスマスタからなる第１のバスマスタ群と、前記第１のバスマスタ群に含まれる前記バスマスタ間の優先順位を定めた第１の優先順位情報に従いバス調停を行う第１のバス調停手段と、を含む所定の別のデータ処理装置が実行可能なソフトウェア、及び前記所定の別のデータ処理装置が実行できないソフトウェアのいずれのソフトウェアも実行可能なデータ処理装置であって、
前記第１のバスマスタ群の前記バスマスタにそれぞれ対応するバスマスタを含み、かつ、更に１または複数のバスマスタを加えた第２のバスマスタ群と、
前記第２のバスマスタ群に含まれる前記バスマスタ間の優先順位を定めた第２の優先順位情報に従いバス調停を行う第２のバス調停手段と、を備え、
前記第２の優先順位情報における前記第１のバスマスタ群の前記バスマスタに対応する前記バスマスタ間の優先順位は、前記第１優先順位情報と同じである、データ処理装置。
【請求項２】
所定数（２以上）のバスマスタからなる第１のバスマスタ群と、前記第１のバスマスタ群に含まれる前記バスマスタ間の優先順位を定めた第１の優先順位情報に従いバス調停を行う第１のバス調停手段と、を含む所定の別のデータ処理装置が実行可能なソフトウェア、及び前記所定の別のデータ処理装置が実行できないソフトウェアのいずれのソフトウェアも実行可能なデータ処理装置であって、
前記第１のバスマスタ群に含まれる前記バスマスタにそれぞれ対応し、バスマスタ毎に１または複数存在するバス使用要求要因毎にバス使用の要求を行うバスマスタを含む第２のバスマスタ群と、
前記第２のバスマスタ群に含まれる全てのバスマスタのバス使用要求要因間の優先順位を定めた第２の優先順位情報に従いバス調停を行う第２のバス調停手段と、を備え、
前記第２の優先順位情報では、１つの前記バスマスタに複数のバス使用要求要因が含まれる場合には、当該複数のバス使用要求要因に連続した優先順位が割り当てられ、
前記第２の優先順位情報における前記バスマスタ間の優先順位は、前記第１の優先順位情報における対応する前記バスマスタ間の優先順位と同じである、データ処理装置。
【請求項３】
所定のアドレス領域にアクセスする際のバスサイクル期間長を定める第１のバスサイクル期間長情報格納手段を含む所定の別のデータ処理装置が実行可能なソフトウェア、及び前記所定の別のデータ処理装置が実行できないソフトウェアのいずれのソフトウェアも実行可能なデータ処理装置であって、
前記データ処理装置によるアクセス対象としての前記所定のアドレス領域は複数の領域に分割され、
前記データ処理装置は、前記複数の領域にそれぞれ対応し、対応する前記領域にアクセスする際のバスサイクル期間長を定める複数の第２のバスサイクル期間長情報格納手段を備え、
前記データ処理装置により実行された、前記所定の別のデータ処理装置が実行可能な前記ソフトウェアが、前記第１のバスサイクル期間長情報格納手段の内容を書き換える操作を行ったときに、全ての前記第２のバスサイクル期間長情報格納手段の内容が前記第１のバスサイクル期間長情報格納手段の内容と同等になるように書き換えられる、データ処理装置。
【請求項４】
所定のアドレス領域にアクセスする際のバスサイクル期間長を定める第１のバスサイクル期間長情報格納手段を含む所定の別のデータ処理装置が実行可能なソフトウェア、及び前記所定の別のデータ処理装置が実行できないソフトウェアのいずれのソフトウェアも実行可能なデータ処理装置であって、
前記所定のアドレス領域に第１のアクセスモードでアクセスする際のバスサイクル期間長を定める第２のバスサイクル期間長情報格納手段と、
前記所定のアドレス領域に第２のアクセスモードでアクセスする際のバスサイクル期間長を定める第３のバスサイクル期間長情報格納手段と、を備え、
前記データ処理装置により実行された、前記所定の別のデータ処理装置が実行可能な前記ソフトウェアが、前記第１のバスサイクル期間長情報格納手段の内容を書き換える操作を行ったときに、前記第２のバスサイクル期間長情報格納手段の内容と前記第３のバスサイクル期間長情報格納手段の内容とが前記第１のバスサイクル期間長情報格納手段の内容と同等になるように書き換えられる、データ処理装置。
【請求項５】
所定のアドレス領域にアクセスする際のバスサイクル期間長を定める第１のバスサイクル期間長情報格納手段を含む所定の別のデータ処理装置が実行可能なソフトウェア、及び前記所定の別のデータ処理装置が実行できないソフトウェアのいずれのソフトウェアも実行可能なデータ処理装置であって、
前記所定のアドレス領域にランダムアクセスモードでアクセスする際のバスサイクル期間長を定める第２のバスサイクル期間長情報格納手段と、
前記所定のアドレス領域にページモードでアクセスする際のバスサイクル期間長を定める第３のバスサイクル期間長情報格納手段と、
前記ページモードにおける１ページのサイズを定めるページサイズ情報格納手段と、を備え、
前記データ処理装置により実行された、前記所定の別のデータ処理装置が実行可能な前記ソフトウェアが、前記第１のバスサイクル期間長情報格納手段の内容を書き換える操作を行ったときに、前記第２のバスサイクル期間長情報格納手段の内容が前記第１のバスサイクル期間長情報格納手段の内容と同等になるように書き換えられ、かつ、前記ページサイズ情報格納手段が示す１ページのサイズが前記ページモードを無効とする値に書き換えられる、データ処理装置。
【請求項６】
所定のアドレス領域にアクセスする際のバスサイクル期間長を定める第１のバスサイクル期間長情報格納手段を含む所定の別のデータ処理装置が実行可能なソフトウェア、及び前記所定の別のデータ処理装置が実行できないソフトウェアのいずれのソフトウェアも実行可能なデータ処理装置であって、
前記データ処理装置によるアクセス対象としての前記所定のアドレス領域は複数の領域に分割され、
前記データ処理装置は、
前記複数の領域にそれぞれ対応し、対応する前記領域にランダムアクセスモードでアクセスする際のバスサイクル期間長を定める複数の第２のバスサイクル期間長情報格納手段と、
前記複数の領域にそれぞれ対応し、対応する前記領域にページモードでアクセスする際のバスサイクル期間長を定める複数の第３のバスサイクル期間長情報格納手段と、
前記複数の領域にそれぞれ対応し、前記ページモードにおける１ページのサイズを定める複数のページサイズ情報格納手段と、を備え、
前記データ処理装置により実行された、前記所定の別のデータ処理装置が実行可能な前記ソフトウェアが、前記第１のバスサイクル期間長情報格納手段の内容を書き換える操作を行ったときに、全ての前記第２のバスサイクル期間長情報格納手段の内容が前記第１のバスサイクル期間長情報格納手段の内容と同等になるように書き換えられ、かつ、全ての前記ページサイズ情報格納手段が示す１ページのサイズが前記ページモードを無効とする値に書き換えられる、データ処理装置。
【請求項７】
論理アドレス空間がＰ（Ｐは１以上の整数）ビットのアドレス情報で示されるとともに、第１のバスマスタと第２のバスマスタとを含む所定の別のデータ処理装置が実行可能なソフトウェア、及び前記所定の別のデータ処理装置が実行できないソフトウェアのいずれのソフトウェアも実行可能なデータ処理装置であって、
前記データ処理装置の論理アドレス空間は、Ｑ（ＱはＰより大きい２以上の整数）ビットのアドレス情報で示され、Ｑビットのアドレス情報のうちの上位（Ｑ−Ｐ）ビットが「０」を示す第１のアドレス空間と、それ以外の空間全てを含む第２のアドレス空間とに分割され、
前記データ処理装置は、
前記第１のバスマスタと同じ機能を有し、前記第１のアドレス空間にのみアクセス可能である第３バスマスタと、
前記第２のバスマスタと同じ機能を有するとともに、前記第１のアドレス空間及び前記第２のアドレス空間の双方にアクセス可能な追加機能を有する第４バスマスタと、
前記第１のバスマスタ及び前記第２のバスマスタと異なる機能を有し、前記第１のアドレス空間及び前記第２のアドレス空間の双方にアクセス可能な機能を有する第５バスマスタと、を備えたデータ処理装置。
【請求項８】
前世代のプロセッサで実行可能なソフトウェアが実行可能な互換プロセッサであって、
前記前世代のプロセッサの前世代のバスマスタの夫々と互換性を有する複数の互換バスマスタと、
前記互換バスマスタが発行したバス使用の要求を調停する互換バス調停手段と、を備え、
前世代のプロセッサで実行可能なソフトウェアのいずれであっても、前記互換プロセッサ内で前記ソフトウェアの実行中に前記互換バスマスタが発行したバス使用の要求は、前記前世代のプロセッサ内で前記ソフトウェアの実行中に前記バスマスタが発行したバス使用の要求と、同一の優先順位で受け付けられる、互換プロセッサ。
【請求項９】
データを処理する演算論理回路と、データ処理動作を制御する物理制御レジスタを備えたプロセッサであって、
仮想のレジスタが、前記プロセッサのアドレス空間のアドレスへこの仮想のレジスタをマッピングすることにより定義され、
前記プロセッサで実行可能なソフトウェアの構成において、前記仮想のレジスタのアドレスに値を書き込む命令は、一定の機能を有し、
前記プロセッサのアドレス空間のアドレスに前記物理制御レジスタがマッピングされ、前記物理制御レジスタのアドレスは、前記仮想のレジスタのアドレスとは異なっており、前記物理制御レジスタは、前記一定の機能と同等の機能を、前記プロセッサのハードウェアにおいて提供し、
前記仮想のレジスタのアドレスに値を書き込む前記命令が実行された場合、対応する値が、前記物理制御レジスタに書き込まれる、プロセッサ。
【請求項１０】
前世代のプロセッサで実行可能なソフトウェアが実行可能な互換プロセッサであって、
前記互換プロセッサにおいて、バス使用要求は、複数の要因に基づいて発行され、これら複数の要因間の優先順位に基づいて受け付けられ、
前記前世代のプロセッサ内においても、前記前世代のプロセッサで発行されるバスの使用要求は、複数の要因に基づいて発行され、これら複数の要因間の優先順位に基いて受け付けられ、又、前記前世代のプロセッサのこれら複数の要因は、前記ソフトウェアの実行中のバスの使用要求に関して、前記互換プロセッサの複数の要因の実質的なサブセットとなっており、
前記互換プロセッサの複数の要因の前記サブセット内での優先順位は、前記前世代のプロセッサにおける複数の要因の間での優先順位と同一である、互換プロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、前世代のデータ処理装置との後方互換性を有するデータ処理装置および互換プロセッサに関する。
【背景技術】
【０００２】
特開平１１−２３２０９８号公報、特開平１１−２３２０９９号公報、特開平３−２４８２４０号公報などの文献には、前世代のプロセッサとの後方互換性を実現するための様々な技術が開示されている。
【０００３】
上記文献には開示されていないが、後方互換性を実現する対象として、次のことを挙げることができる。
【０００４】
第１は、バス調停に対する後方互換性である。
【０００５】
第２は、複数の領域に分割されたアドレス空間の各領域にアクセスする際のアクセススピードに対する後方互換性である。
【０００６】
第３は、アドレス空間へアクセスする際のアクセスモードに対する後方互換性である。
【０００７】
第４は、アクセスするアドレス空間の構造に対する後方互換性である。
【発明の開示】
【０００８】
そこで、本発明の目的は、バス調停に対して、前世代のデータ処理装置との後方互換性を実現できるデータ処理装置及び互換プロセッサを提供することである。
【０００９】
本発明の他の目的は、アドレス空間の各領域へのアクセススピードに対して、前世代のデータ処理装置との後方互換性を実現できるデータ処理装置及び互換プロセッサを提供することである。
【００１０】
本発明のさらに他の目的は、アドレス空間へのアクセスモードに対して、前世代のデータ処理装置との後方互換性を実現できるデータ処理装置及び互換プロセッサを提供することである。
【００１１】
本発明のさらに他の目的は、アクセスするアドレス空間の構造に対して、前世代のデータ処理装置との後方互換性を実現できるデータ処理装置及び互換プロセッサを提供することである。
【００１２】
本発明の第１の形態によると、データ処理装置は、所定数（２以上）のバスマスタからなる第１のバスマスタ群と、前記第１のバスマスタ群に含まれる前記バスマスタ間の優先順位を定めた第１の優先順位情報に従いバス調停を行う第１のバス調停手段と、を含む所定の別のデータ処理装置が実行可能なソフトウェア、及び前記所定の別のデータ処理装置が実行できないソフトウェアのいずれのソフトウェアも実行可能なデータ処理装置であって、前記第１のバスマスタ群に対して互換で、更に１または複数のバスマスタを加えた第２のバスマスタ群と、前記第２のバスマスタ群に含まれる前記バスマスタ間の優先順位を定めた第２の優先順位情報に従いバス調停を行う第２のバス調停手段と、を備え、前記第２の優先順位情報における前記第１のバスマスタ群のバスマスタに対して互換のバスマスタ間の優先順位は、前記第１優先順位情報と同じである。
【００１３】
この構成によれば、現世代のデータ処理装置の第２の優先順位情報における第１のバスマスタ群のバスマスタ間の優先順位は、前世代のデータ処理装置の第１優先順位情報と同じであるため、前世代のデータ処理装置に含まれるバスマスタに、さらに新たなバスマスタを加えた現世代のデータ処理装置においても、前世代のデータ処理装置においても実行可能なソフトウェア（互換ソフトウェア）を正常に実行でき、バス調停に対する後方互換性が保持される。
【００１４】
本発明の第２の形態によると、データ処理装置は、所定数（２以上）のバスマスタからなる第１のバスマスタ群と、前記第１のバスマスタ群に含まれる前記バスマスタ間の優先順位を定めた第１の優先順位情報に従いバス調停を行う第１のバス調停手段と、を含む所定の別のデータ処理装置が実行可能なソフトウェア、及び前記所定の別のデータ処理装置が実行できないソフトウェアのいずれのソフトウェアも実行可能なデータ処理装置であって、前記第１のバスマスタ群に含まれる前記バスマスタにそれぞれ対応し、バス使用を要求する要因であるバス使用要求要因毎にバス使用の要求を行う前記所定数のバスマスタを含む第２のバスマスタ群と、前記第２のバスマスタ群に含まれる全てのバスマスタのバス使用要求要因間の優先順位を定めた第２の優先順位情報に従いバス調停を行う第２のバス調停手段と、を備え、前記第２の優先順位情報では、１つの前記バスマスタに複数のバス使用要求要因が含まれる場合には、当該複数のバス使用要求要因に連続した優先順位が割り当てられ、前記第２の優先順位情報における前記バスマスタ間の優先順位は、前記第１の優先順位情報における対応する前記バスマスタ間の優先順位と同じである。
【００１５】
この構成によれば、現世代のデータ処理装置の第２の優先順位情報では、１つのバスマスタに複数のバス使用要求要因が含まれる場合には、当該複数のバス使用要求要因に連続した優先順位が割り当てられる。このため、第２の優先順位情報は、バス使用要求要因毎にバス使用要求を行わない前世代のデータ処理装置においても実行可能なソフトウェア（互換ソフトウェア）からは、バスマスタ毎に優先順位を定めたように見える。しかも、現世代のデータ処理装置の第２の優先順位情報における第１のバスマスタ群のバスマスタ間の優先順位は、前世代のデータ処理装置の第１優先順位情報における対応するバスマスタ間の優先順位と同じである。
【００１６】
以上の結果、現世代のデータ処理装置のバスマスタがバス使用要求要因毎にバス使用要求を行う場合においても、前世代のデータ処理装置においても実行可能なソフトウェア（互換ソフトウェア）を正常に実行でき、バス調停に対する後方互換性が保持される。
【００１７】
本発明の第３の形態によると、データ処理装置は、所定のアドレス領域にアクセスする際のバスサイクル期間長を定める第１のバスサイクル期間長情報格納手段を含む所定の別のデータ処理装置が実行可能なソフトウェア、及び前記所定の別のデータ処理装置が実行できないソフトウェアのいずれのソフトウェアも実行可能なデータ処理装置であって、前記データ処理装置によるアクセス対象としての前記所定のアドレス領域は複数の領域に分割され、前記データ処理装置は、前記複数の領域にそれぞれ対応し、対応する前記領域にアクセスする際のバスサイクル期間長を定める複数の第２のバスサイクル期間長情報格納手段を備え、前記データ処理装置により実行された、前記所定の別のデータ処理装置が実行可能な前記ソフトウェアが、前記第１のバスサイクル期間長情報格納手段の内容を書き換える操作を行ったときに、全ての前記第２のバスサイクル期間長情報格納手段の内容が前記第１のバスサイクル期間長情報格納手段の内容と同じになるように書き換えられる。
【００１８】
この構成によれば、現世代のデータ処理装置により実行された互換ソフトウェアが、第１のバスサイクル期間長情報格納手段の内容を書き換える操作を行ったときに、つまり、現世代のデータ処理装置により実行された互換ソフトウェアが、第１のバスサイクル期間長情報格納手段が配置されるアドレスに対して書き込み動作を行ったときに、全ての第２のバスサイクル期間長情報格納手段の内容が第１のバスサイクル期間長情報格納手段の内容と同じになるように書き換えられる。
【００１９】
その結果、アドレス領域が、前世代のデータ処理装置にとっては複数の領域に分割されていないが、現世代のデータ処理装置にとっては複数の領域に分割され、領域ごとにバスサイクル期間長を設定可能なようになされている場合でも、前世代のデータ処理装置においても実行可能なソフトウェア（互換ソフトウェア）を正常に実行でき、アドレス領域へのアクセススピードに対する後方互換性が保持される。
【００２０】
本発明の第４の形態によると、データ処理装置は、所定のアドレス領域にアクセスする際のバスサイクル期間長を定める第１のバスサイクル期間長情報格納手段を含む所定の別のデータ処理装置が実行可能なソフトウェア、及び前記所定の別のデータ処理装置が実行できないソフトウェアのいずれのソフトウェアも実行可能なデータ処理装置であって、前記所定のアドレス領域に第１のアクセスモードでアクセスする際のバスサイクル期間長を定める第２のバスサイクル期間長情報格納手段と、前記所定のアドレス領域に第２のアクセスモードでアクセスする際のバスサイクル期間長を定める第３のバスサイクル期間長情報格納手段と、を備え、前記データ処理装置により実行された、前記所定の別のデータ処理装置が実行可能な前記ソフトウェアが、前記第１のバスサイクル期間長情報格納手段の内容を書き換える操作を行ったときに、前記第２のバスサイクル期間長情報格納手段の内容と前記第３のバスサイクル期間長情報格納手段の内容とが前記第１のバスサイクル期間長情報格納手段の内容と同じになるように書き換えられる。
【００２１】
この構成によれば、現世代のデータ処理装置により実行された互換ソフトウェアが、第１のバスサイクル期間長情報格納手段の内容を書き換える操作を行ったときに、つまり、現世代のデータ処理装置により実行された互換ソフトウェアが、第１のバスサイクル期間長情報格納手段が配置されるアドレスに対して書き込み動作を行った場合、第１のアクセスモードに対応した第２のバスサイクル期間長情報格納手段の内容と第２のアクセスモードに対応した第３のバスサイクル期間長情報格納手段の内容とが、前世代のデータ処理装置の第１のバスサイクル期間長情報格納手段の内容と同じになるように書き換えられる。
【００２２】
その結果、第１のアクセスモードと第２のアクセスモードとが実質的に同じモードとなるため、前世代のデータ処理装置が第１のアクセスモードあるいは第２のアクセスモードの一方しかサポートしていない場合でも、前世代のデータ処理装置においても実行可能なソフトウェア（互換ソフトウェア）を正常に実行でき、アドレス領域へのアクセスモードに対する後方互換性が保持される。
【００２３】
本発明の第５の形態によると、データ処理装置は、所定のアドレス領域にアクセスする際のバスサイクル期間長を定める第１のバスサイクル期間長情報格納手段を含む所定の別のデータ処理装置が実行可能なソフトウェア、及び前記所定の別のデータ処理装置が実行できないソフトウェアのいずれのソフトウェアも実行可能なデータ処理装置であって、前記所定のアドレス領域にランダムアクセスモードでアクセスする際のバスサイクル期間長を定める第２のバスサイクル期間長情報格納手段と、前記所定のアドレス領域にページモードでアクセスする際のバスサイクル期間長を定める第３のバスサイクル期間長情報格納手段と、前記ページモードにおける１ページのサイズを定めるページサイズ情報格納手段と、を備え、前記データ処理装置により実行された、前記所定の別のデータ処理装置が実行可能な前記ソフトウェアが、前記第１のバスサイクル期間長情報格納手段の内容を書き換える操作を行ったときに、前記第２のバスサイクル期間長情報格納手段の内容が前記第１のバスサイクル期間長情報格納手段の内容と同じになるように書き換えられ、かつ、前記ページサイズ情報格納手段が示す１ページのサイズが前記ページモードを無効とする値に書き換えられる。
【００２４】
この構成によれば、現世代のデータ処理装置により実行された互換ソフトウェアが、第１のバスサイクル期間長情報格納手段の内容を書き換える操作を行ったときに、つまり、現世代のデータ処理装置により実行された互換ソフトウェアが、第１のバスサイクル期間長情報格納手段が配置されるアドレスに対して書き込み動作を行った場合、ページサイズ情報格納手段が示す１ページのサイズが前記ページモードを無効とする値に書き換えられ、ページモードによるアクセスが行われなくなる。しかも、第２のバスサイクル期間長情報格納手段の内容が第１のバスサイクル期間長情報格納手段の内容と同じになるように書き換えられる。
【００２５】
以上の結果、前世代のデータ処理装置がページモードをサポートしていない場合でも、前世代のデータ処理装置においても実行可能なソフトウェア（互換ソフトウェア）を正常に実行でき、アドレス領域へのアクセスモードに対する後方互換性が保持される。
【００２６】
本発明の第６の形態によれば、データ処理装置は、所定のアドレス領域にアクセスする際のバスサイクル期間長を定める第１のバスサイクル期間長情報格納手段を含む所定の別のデータ処理装置が実行可能なソフトウェア、及び前記所定の別のデータ処理装置が実行できないソフトウェアのいずれのソフトウェアも実行可能なデータ処理装置であって、前記データ処理装置によるアクセス対象としての前記所定のアドレス領域は複数の領域に分割され、前記データ処理装置は、前記複数の領域にそれぞれ対応し、対応する前記領域にランダムアクセスモードでアクセスする際のバスサイクル期間長を定める複数の第２のバスサイクル期間長情報格納手段と、前記複数の領域にそれぞれ対応し、対応する前記領域にページモードでアクセスする際のバスサイクル期間長を定める複数の第３のバスサイクル期間長情報格納手段と、前記複数の領域にそれぞれ対応し、前記ページモードにおける１ページのサイズを定める複数のページサイズ情報格納手段と、を備え、前記データ処理装置により実行された、前記所定の別のデータ処理装置が実行可能な前記ソフトウェアが、前記第１のバスサイクル期間長情報格納手段の内容を書き換える操作を行ったときに、全ての前記第２のバスサイクル期間長情報格納手段の内容が前記第１のバスサイクル期間長情報格納手段の内容と同じになるように書き換えられ、かつ、全ての前記ページサイズ情報格納手段が示す１ページのサイズが前記ページモードを無効とする値に書き換えられる。
【００２７】
この構成によれば、現世代のデータ処理装置により実行された互換ソフトウェアが、第１のバスサイクル期間長情報格納手段の内容を書き換える操作を行ったときに、つまり、現世代のデータ処理装置により実行された互換ソフトウェアが、第１のバスサイクル期間長情報格納手段が配置されるアドレスに対して書き込み動作を行ったときに、全ての第２のバスサイクル期間長情報格納手段の内容が第１のバスサイクル期間長情報格納手段の内容と同じになるように書き換えられるとともに、全てのページサイズ情報格納手段が示す１ページのサイズが前記ページモードを無効とする値に書き換えられ、ページモードによるアクセスが行われなくなる。
【００２８】
その結果、アドレス領域が、前世代のデータ処理装置にとっては複数の領域に分割されていないが、現世代のデータ処理装置にとっては複数の領域に分割され、領域ごとにバスサイクル期間長を設定可能なようになされており、しかも、前世代のデータ処理装置がページモードをサポートしていない場合であっても、前世代のデータ処理装置においても実行可能なソフトウェア（互換ソフトウェア）を正常に実行でき、アドレス領域へのアクセススピード及びアクセスモードに対する後方互換性が保持される。
【００２９】
本発明の第７の形態によると、データ処理装置は、論理アドレス空間がＰ（Ｐは１以上の整数）ビットのアドレス情報で示されるとともに、第１の所定数の第１のバスマスタと第２の所定数の第２のバスマスタとを含む所定の別のデータ処理装置が実行可能なソフトウェア、及び前記所定の別のデータ処理装置が実行できないソフトウェアのいずれのソフトウェアも実行可能なデータ処理装置であって、前記データ処理装置の論理アドレス空間は、Ｑ（ＱはＰより大きい２以上の整数）ビットのアドレス情報で示され、Ｑビットのアドレス情報のうちの上位（Ｑ−Ｐ）ビットが「０」を示す第１のアドレス空間と、それ以外の空間全てを含む第２のアドレス空間とに分割され、前記データ処理装置は、前記第１の所定数の第３バスマスタと、前記第２の所定数の第４バスマスタと、第３の所定数の第５バスマスタと、を備え、前記第３のバスマスタは、前記第１のバスマスタと同じ機能を有し、前記第１のアドレス空間にのみアクセス可能であり、前記第４のバスマスタは、前記第２のバスマスタと同じ機能を有するとともに、前記第１のアドレス空間及び前記第２のアドレス空間の双方にアクセス可能な追加機能を有し、前記第５のバスマスタは、前記第１のバスマスタ及び前記第２のバスマスタと異なる機能を有し、前記第１のアドレス空間及び前記第２のアドレス空間の双方にアクセス可能な機能を有する。
【００３０】
この構成によれば、前世代のデータ処理装置においても実行可能なソフトウェア（互換ソフトウェア）を現世代のデータ処理装置で実行する場合、Ｑビットのアドレス情報の上位（Ｑ−Ｐ）ビットを「０」にして出力するだけで、現世代のデータ処理装置の第３のバスマスタ及び第４のバスマスタが第１のアドレス空間にアクセスすることができ、アドレス空間に対する互換性が容易に保持できる。
【００３１】
また、前世代のデータ処理装置の第２のバスマスタと同じ機能を有する、現世代のデータ処理装置の第４のバスマスタは、第１のアドレス空間だけでなく、第２のバスマスタがアクセスできない第２のアドレス空間にもアクセスできる追加機能を有しており、前世代のデータ処理装置との後方互換性を保持しながらも、アクセスできるアドレス領域を拡張できる。
【００３２】
さらに、現世代のデータ処理装置では、前世代のデータ処理装置に比べて新たな機能を有する第５のバスマスタを設け、第１のアドレス空間及び第２のアドレス空間の双方にアクセスできるようにしている。しかし、前世代のデータ処理装置には、そもそもそのような機能を有するバスマスタが設けられていないため、前世代のデータ処理装置との後方互換性の保持に何らの影響を与えるものではない。このように、現世代のデータ処理装置では、後方互換性を保持しながらも、新たな機能を有する第５のバスマスタを追加できる。
【００３３】
本発明の第８の形態によると、前世代のプロセッサで実行可能なソフトウェアが実行可能な互換プロセッサは、前記前世代のプロセッサの前世代のバスマスタの夫々と互換性を有する複数の互換バスマスタと、前記互換バスマスタが発行したバス使用の要求を調停する互換バス調停手段とを備え、前世代のプロセッサで実行可能なソフトウェアのいずれであっても、前記互換プロセッサ内で前記ソフトウェアの実行中に前記互換バスマスタが発行したバス使用の要求は、前記前世代のプロセッサ内で前記ソフトウェアの実行中に前記バスマスタが発行したバス使用の要求と、同一の優先順位で受け付けられる。
【００３４】
この構成によれば、バス調停に対して、前世代のプロセッサとの後方互換性を実現できる互換プロセッサを提供することができる。
【００３５】
本発明の第９の形態によると、データを処理する演算論理回路と、データ処理動作を制御する物理制御レジスタを備えたプロセッサは、仮想のレジスタが、前記プロセッサの論理アドレス空間のアドレスへこの仮想のレジスタをマッピングすることにより定義され、前記プロセッサで実行可能なソフトウエアの構成において、前記仮想のレジスタのアドレスに値を書き込む命令は、一定の機能を有し、前記プロセッサの論理アドレス空間のアドレスが前記物理制御レジスタへマッピングされ、前記物理制御レジスタのアドレスは、前記仮想のレジスタのアドレスとは異なっており、前記物理制御レジスタは、前記一定の機能と同等の機能を、前記プロセッサのハードウエアにおいて提供し、前記仮想のレジスタのアドレスに値を書き込む前記命令が実行された場合、対応する値が、前記物理制御レジスタに書き込まれる。
【００３６】
この構成によれば、制御レジスタに対して、前世代のプロセッサとの後方互換性を実現できるプロセッサを提供することができる。
【００３７】
本発明の第１０の形態によると、前世代のプロセッサで実行可能なソフトウェアが実行可能な互換プロセッサによれば、前記互換プロセッサにおいて、バス使用要求は、複数の要因に基いて発行され、これら複数の要因間の優先順位に基いて受け付けられ、前記前世代のプロセッサ内においても、前記前世代のプロセッサで発行されるバスの使用要求は、複数の要因に基いて発行され、これら複数の要因間の優先順位に基いて受け付けられ、又、前記前世代のプロセッサのこれら複数の要因は、前記ソフトウェアの実行中のバスの使用要求に関して、前記互換プロセッサの複数の要因の実質的なサブセットとなっており、前記互換プロセッサの複数の要因の前記サブセット内での優先順位は、前記前世代のプロセッサにおける複数の要因の間での優先順位と同一である。
【００３８】
この構成によれば、バス調停に対して、前世代のプロセッサとの後方互換性を実現できる互換プロセッサを提供することができる。
【発明を実施するための最良の形態】
【００３９】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、図中、同一または相当部分については同一の参照符号を付してその説明を援用する。また、本明細書及び図面において、信号のどのビットかを示す必要があるときは、信号名の後に、［ａ：ｂ］あるいは［ａ］を付する。［ａ：ｂ］は、その信号の第ａ番目のビットから第ｂ番目のビットを意味し、［ａ］は、その信号の第ａ番目のビットを意味する。１６進数の表現に関しては、１０進数と区別するために数字の末尾に「Ｈ」を付けて表記する。また、「０ｂ」は２進数を、「０ｘ」は１６進数を意味する。１ビットの信号については、特に断らない限り、「１」をアサート（真）、「０」をネゲート（偽）、とする。
【００４０】
図１は、本発明の実施の形態によるデータ処理装置としての現世代のプロセッサ１００の全体構成を示すブロック図である。
【００４１】
図５は、本発明の実施の形態によるデータ処理装置としての前世代のプロセッサ５００の全体構成を示すブロック図である。
【００４２】
本実施の形態による現世代のプロセッサ１００は、前世代のプロセッサ５００が実行可能なソフトウェア（以下、互換ソフトウェア、と呼ぶ。）、及び、前世代のプロセッサ５００が実行不可能なソフトウェア（以下、非互換ソフトウェア、と呼ぶ。）のいずれのソフトウェアも実行可能である。つまり、現世代のプロセッサ１００は、前世代のプロセッサ５００に対して、バイナリコードレベルでのソフトウェアの後方互換性、即ち命令セットの後方互換性を有している。まず、現世代のプロセッサ１００の概要を説明し、その次に、前世代のプロセッサ５００の概要を説明する。
【００４３】
図１に示すように、このプロセッサ１００は、中央演算処理装置（ＣＰＵ：ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）１、グラフィックプロセッサ３、ピクセルプロッタ５、サウンドプロセッサ７、ＤＭＡ（ｄｉｒｅｃｔ  ｍｅｍｏｒｙ  ａｃｃｅｓｓ）コントローラ９、第１バスアービタ１３、第２バスアービタ１４、バックアップコントロール回路１５、メインメモリ１７、タイマ回路１９、Ａ／Ｄコンバータ（ＡＤＣ：ａｎａｌｏｇ  ｔｏ  ｄｉｇｉｔａｌ  ｃｏｎｖｅｒｔｅｒ）２０、入出力制御回路２１、外部メモリインタフェース回路２３、クロックドライバ２９、ＰＬＬ（ｐｈａｓｅ−ｌｏｃｋｅｄ  ｌｏｏｐ）回路２７、低電圧検出回路２５、第１バス３１、及び第２バス３３を含む。
【００４４】
ここで、本実施の形態では、メインメモリ１７及び外部メモリ４５，４６，４７を区別して説明する必要がないときは、「メモリＭＥＭＣ」と表記する。
【００４５】
ＣＰＵ１は、メモリＭＥＭＣに格納されたプログラムに従い、各種演算やシステム全体の制御を行う。ＣＰＵ１は、第１バス３１及び第２バス３３のバスマスタであり、それぞれのバスに接続された資源にアクセスが可能である。
【００４６】
グラフィックプロセッサ３は、第１バス３１及び第２バス３３のバスマスタであり、メモリＭＥＭＣに格納されたデータをグラフィックデータに変換し、さらにこれを基にテレビジョン受像機（図示せず）に合わせたビデオ信号ＶＤを生成して出力する。
【００４７】
ここで、グラフィックデータは、バックグラウンドスクリーンとスプライトとビットマップスクリーンとから合成される。バックグラウンドスクリーンは、二次元配列からなり、テレビジョン受像機のスクリーンを全て覆う大きさを持つ。そして、各配列要素は、矩形の画素集合からなる。奥行きのある背景を形成できるように、バックグラウンドスクリーンとして、第１のバックグラウンドスクリーンと第２のバックグラウンドスクリーンとが用意される。スプライトは、テレビジョン受像機のスクリーンのいずれの位置にでも配置可能な１つの矩形の画素集合からなる。バックグラウンドスクリーンやスプライトを構成する矩形の画素集合を、キャラクタと呼ぶ。ビットマップスクリーンは自由に大きさと位置を設定可能な二次元ピクセル配列からなる。
【００４８】
グラフィックプロセッサ３が、メモリＭＥＭＣから、スプライトを構成するキャラクタのパターンデータ（キャラクタパターンデータ）をフェッチする際のアドレッシングモードについて説明する。８種類のアドレッシングモードが用意される。即ち、８ビットキャラクタ番号モード、１６ビットキャラクタ番号モード、アラインメント付き１６ビットポインタモード、１６ビットアドレスポインタモード、２４ビットアドレスポインタモード、１６ビット拡張キャラクタ番号モード、１６ビット拡張アドレスポインタモード、及びアラインメント付き２４ビットポインタモードが用意される。そして、下記のようにして、各モードに応じて、実アドレスへの変換が行われる。
【００４９】
図２Ａは、８ビットキャラクタ番号モードの説明図、図２Ｂは、１６ビットキャラクタ番号モードの説明図、図２Ｃは、アラインメント付き１６ビットポインタモードの説明図である。
【００５０】
図３Ａは、１６ビットアドレスポインタモードの説明図、図３Ｂは、２４ビットアドレスポインタモードの説明図である。
【００５１】
図４Ａは、１６ビット拡張キャラクタ番号モードの説明図、図４Ｂは、１６ビット拡張アドレスポインタモードの説明図、図４Ｃは、アラインメント付き２４ビットポインタモードの説明図である。
【００５２】
図２Ａに示すように、８ビットキャラクタ番号モードは、キャラクタの選択を８ビットの番号で行う。図２Ｂに示すように、１６ビットキャラクタ番号モードは、キャラクタの選択を１６ビットの番号で行う。
【００５３】
これらのモードでは、第０セグメントレジスタに格納された１６ビットのセグメントアドレスから２４ビットのベースアドレス（２５６バイトアラインメント、つまり、下位８ビットが全て「０」）が生成され、このベースアドレスをベースに、１ピクセルのビット数Ｍとサイズ情報Ｓとで示される１キャラクタの容量おきに配置された実アドレスが計算される。１ピクセルのビット数Ｍは、いわゆるカラーモード（Ｍビット／ピクセル）を示す情報であり、１〜８までの任意の値に設定できる。サイズ情報Ｓは、スプライトを構成するキャラクタのサイズ、つまり、そのキャラクタがいくつのピクセルで構成されているかを示す情報である。キャラクタの横サイズをＸピクセル、縦サイズをＹピクセルとすると、サイズ情報Ｓ＝Ｘ×Ｙ、となる。例えば、横サイズＸは、８ピクセルまたは１６ピクセルであり、縦サイズＹは、８ピクセル又は１６ピクセルである。
【００５４】
具体的には、（ベースアドレス）＋（キャラクタの番号）×（１ピクセルのビット数Ｍ）×（サイズ情報Ｓが示す１キャラクタのピクセル数）／８により算出される２４ビットのアドレスの上位に、３ビット（０ｂ０００）を付加することで、２７ビットの実アドレスを生成する。なお、「８」で除算しているのは、実アドレスがバイトアドレスだからである。
【００５５】
アラインメント付き１６ビットポインタモードは、キャラクタの選択を、アラインメント付きの１６ビットのアドレスポインタで行う。具体的には、図２Ｃに示すように、アラインメント付き１６ビットポインタの上位３ビットで指し示される第Ｋセグメントレジスタ（Ｋ＝０〜７）に格納された１６ビットのセグメントアドレスから２４ビットのベースアドレス（２５６バイトアラインメント、つまり、下位８ビットが全て「０」）が生成される。このベースアドレスと、アラインメント付き１６ビットポインタの下位１３ビットの下位に３ビット（０ｂ０００）を付加したもの（８バイトアラインメント）と、の和である２４ビットのアドレスの上位に、３ビット（０ｂ０００）を付加して、２７ビットの実アドレス（アドレスポインタ）を生成する。
【００５６】
１６ビットアドレスポインタモードは、キャラクタの選択を、１６ビットのアドレスポインタで行う。具体的には、図３Ａに示すように、１６ビットアドレスポインタの上位４ビットで指し示される第Ｊセグメントレジスタ（Ｊ＝０〜１５）に格納された１６ビットのセグメントアドレスから、２４ビットのベースアドレス（２５６バイトアラインメント、つまり、下位８ビットが全て「０」）が生成される。このベースアドレスと、１６ビットアドレスポインタの下位１２ビットと、の和である２４ビットのアドレスの上位に、３ビット（０ｂ０００）を付加して、２７ビットの実アドレスを生成する。
【００５７】
２４ビットアドレスポインタモードは、キャラクタの選択を、２４ビットのアドレスポインタで行う。具体的には、図３Ｂに示すように、２４ビットアドレスポインタの上位に、３ビット（０ｂ０００）を付加した値が２７ビットの実アドレス（アドレスポインタ）となる。
【００５８】
１６ビット拡張キャラクタ番号モードは、１６ビットキャラクタ番号モードを拡張したモードである。図４Ａに示すように、このモードでは、第０セグメントレジスタに格納された１６ビットのセグメントアドレスから生成された２７ビットのベースアドレス（２Ｋバイトアラインメント、つまり、下位１１ビットが全て「０」）をベースに、１ピクセルのビット数Ｍとサイズ情報Ｓとで示される１キャラクタの容量おきに配置された実アドレスが計算される。具体的な計算方法は、１６ビットキャラクタ番号モードと同様である。
【００５９】
具体的には、（ベースアドレス）＋（キャラクタの番号）×（１ピクセルのビット数Ｍ）×（サイズ情報Ｓが示す１キャラクタのピクセル数）／８により、２７ビットの実アドレス（アドレスポインタ）を生成する。
【００６０】
１６ビット拡張アドレスポインタモードは、１６ビットアドレスポインタモードを拡張したモードである。具体的には、図４Ｂに示すように、１６ビットアドレスポインタの上位４ビット指し示される第Ｊセグメントレジスタ（Ｊ＝０〜１５）に格納された１６ビットのセグメントアドレスから２７ビットのベースアドレス（２Ｋバイトアラインメント、つまり、下位１１ビットが全て「０」）を生成する。このベースアドレスと、１６ビットアドレスポインタの下位１２ビットと、の和が２７ビットの実アドレス（アドレスポインタ）となる。
【００６１】
アラインメント付き２４ビットポインタモードでは、図４Ｃに示すように、２４ビットのポインタが、２７ビットの実アドレスの上位２４ビットとなり、下位３ビットは「０」で占められる（８バイトアラインメント）。下位３ビットを「０」にしても、最も小さいキャラクタパターンデータの容量が８バイトであり、また、それより大きいキャラクタパターンデータの容量も、８バイトの整数倍であるため、何らの不都合はない。むしろ、このようにすることで、限られたビット数で大きなアドレス空間にアクセスできる。
【００６２】
図１に戻って、グラフィックプロセッサ３は、第１バス３１を通じて、ＣＰＵ１により制御され、また、ＣＰＵ１に対して、割込み要求信号ＩＮＲＱを発生する機能を有する。
【００６３】
ピクセルプロッタ５は、第１バス３１を通じて、ＣＰＵ１により制御され、ＣＰＵ１から与えられたピクセルデータの描画を実行する。この場合、ピクセル単位での描画が可能である。ここで言うピクセルデータは、１ピクセルの表示色をＭビット（Ｍは１以上の整数）で表したデータである。本実施の形態では、Ｍ＝１〜８の例を挙げる。
【００６４】
また、ピクセルプロッタ５は、キャッシュシステムにより、高速な描画と効率的なバス（第１バス３１及び第２バス３３）の使用を実現している。さらに、ピクセルプロッタ５は、第１バス３１及び第２バス３３のバスマスタであり、キャッシュ（図示せず）からメモリＭＥＭＣへのライト及びメモリＭＥＭＣからキャッシュへのライトを自律的に行うことができる。
【００６５】
サウンドプロセッサ７は、第１バス３１及び第２バス３３のバスマスタであり、メモリＭＥＭＣに格納されたデータをサウンドデータに変換し、さらにこれを基にオーディオ信号ＡＵを生成して出力する。
【００６６】
サウンドデータは、基本の音色となるＰＣＭ（パルスコードモジュレーション）データに対し、ピッチ変換及び振幅変調を行い合成される。振幅変調では、ＣＰＵ１によって指示されるボリューム制御の他に、楽器の波形を再現するための機能が用意される。
【００６７】
また、サウンドプロセッサ７は、第１バス３１を通じて、ＣＰＵ１により制御され、また、ＣＰＵ１に対して、割込み要求信号ＩＮＲＱを発生する機能を有する。
【００６８】
ＤＭＡコントローラ９は、外部バス４３に接続された外部メモリ４５，４６，４７から、メインメモリ１７へのデータ転送を司る。外部メモリ４５，４６，４７として、例えば、ＳＲＡＭ（ｓｔａｔｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、ＤＲＡＭ（ｄｙｎａｍｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、若しくはＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）等、任意のメモリを用いることができるし、その数も問わない。また、ＤＭＡコントローラ９は、データ転送の完了を通知するために、ＣＰＵ１に対する割込み要求信号ＩＮＲＱを発生する機能を有する。さらに、ＤＭＡコントローラ９は、第１バス３１及び第２バス３３のバスマスタであり、また、第１バス３１を通じてＣＰＵ１により制御される。
【００６９】
メインメモリ１７は、マスクＲＯＭ、ＳＲＡＭ、及び、ＤＲＡＭのうち、必要なものを備える。本実施の形態では、メインメモリ１７をＳＲＡＭで構成する。
【００７０】
バックアップコントロール回路１５は、後述の低電圧検出回路２５が低電圧を検知した場合に、メインメモリ１７を非活性化する。そして、メインメモリ１７には、バッテリ４１から電源電圧が供給される。従って、電源電圧Ｖｃｃ０及びＶｃｃ１の供給が停止された場合でも、ＳＲＡＭたるメインメモリ１７のデータが保持される。
【００７１】
第１バスアービタ１３は、第１バス３１の各バスマスタからの第１バス使用要求信号を受け付け、調停を行って、バスサイクル毎に１つのバスマスタに対して第１バス使用許可信号を発行する。具体的には、複数のバスマスタの第１バス３１に対する優先順位を定めた優先順位情報セットが複数用意され、第１バスアービタ１３は、複数の優先順位情報セットを順次的かつ巡回的に選択して、選択した優先順位情報セットに従って調停を行う。詳細は後述する。
【００７２】
各バスマスタは、第１バス使用許可信号を受領することによって第１バス３１の使用が許可される。ここで、第１バス使用要求信号及び第１バス使用許可信号は、図１では、第１バス調停信号ＦＡＢとして示されている。
【００７３】
第１バス３１は、例えば、８ビットのデータバス３１２（後述）、１５ビットのアドレスバス３１１（後述）、及びコントロールバス３１３（後述）を含む。
【００７４】
第２バスアービタ１４は、第２バス３３の各バスマスタからの第２バス使用要求信号を受け付け、調停を行って、要求されたバイト数に対応する１または複数のバスサイクル毎に１つのバスマスタに第２バス使用許可信号を発行する。具体的には、複数のバスマスタの第２バス３３に対する優先順位を定めた優先順位情報セットが複数用意され、第２バスアービタ１４は、その複数の優先順位情報セットを順次的かつ巡回的に選択して、選択した優先順位情報セットに従って調停を行う。詳細は後述する。
【００７５】
各バスマスタは、第２バス使用許可信号を受領することによって第２バス３３の使用が許可される。ここで、第２バス使用要求信号及び第２バス使用許可信号は、図１では、第２バス調停信号ＳＡＢとして示されている。
【００７６】
第２バス３３は、例えば、１６ビットのデータバス、２７ビットのアドレスバス、及びコントロールバスを含む（図示せず）。
【００７７】
タイマ回路１９は、設定された時間間隔に基づき、ＣＰＵ１に対する割込み要求信号ＩＮＲＱを発生する機能を有する。時間間隔等の設定は、第１バス３１を介してＣＰＵ１によって行われる。
【００７８】
ＡＤＣ２０は、アナログ入力信号をデジタル信号に変換する。このデジタル信号は、第１バス３１を介してＣＰＵ１によってリードされる。また、ＡＤＣ２０は、ＣＰＵ１に対して、割込み要求信号ＩＮＲＱを発生する機能を有する。なお、外部からのアナログ信号は、例えば、６つのアナログポートＡＩＮ０〜５（図示せず）を介して、ＡＤＣ２０へ入力される。
【００７９】
入出力制御回路２１は、外部入出力装置や外部の半導体素子との通信等を、入出力信号を介して行う。入出力信号は、第１バス３１を介して、ＣＰＵ１からリード／ライトされる。また、入出力制御回路２１は、ＣＰＵ１に対して、割込み要求信号ＩＮＲＱを発生する機能を有する。なお、入出力信号は、例えば、プログラマブルな入出力ポートＩＯ０〜ＩＯ２３（図示せず）を介して入出力される。
【００８０】
低電圧検出回路２５は、電源電圧Ｖｃｃ０及びＶｃｃ１を監視し、いずれかの電源電圧がそれぞれについて定められた電圧以下になったときに、ＰＬＬ回路２７等のリセット信号及びその他のシステム全体のリセット信号ＲＳＥＴを発行する。
【００８１】
ここで、電源電圧Ｖｃｃ０は、例えば、＋２．５Ｖであり、主にプロセッサ１００内のデジタル回路に供給される。また、電源電圧Ｖｃｃ１は、例えば、＋３．３Ｖであり、主にプロセッサ１００内のアナログ回路及びＩ／Ｏ部に供給される。
【００８２】
ＰＬＬ回路２７は、水晶振動子３７より得られる正弦波信号を逓倍した高周波クロック信号を生成する。
【００８３】
クロックドライバ２９は、ＰＬＬ回路２７より受け取った高周波クロック信号を、十分な信号強度へ増幅して、内部クロックＩＣＬＫとして、各ブロックへ供給する。
【００８４】
外部メモリインタフェース回路２３は、第２バス３３を外部バス４３に接続するための機能を有する。
【００８５】
図１のプロセッサ１００におけるデータの転送経路を説明する。例えば、バスマスタたるＣＰＵ１が、バススレイブとして第１バス３１に接続されている他の機能ブロック（グラフィックプロセッサ３、ピクセルプロッタ５、サウンドプロセッサ７、ＤＭＡコントローラ９、第１バスアービタ１３、第２バスアービタ１４、等）を制御する場合は、これら機能ブロックの制御レジスタ等へのライトデータは、第１バスアービタ１３へ与えられ、調停後に、第１バス３１から、各機能ブロックに与えられる。一方、これら機能ブロックの制御レジスタ等からのリードデータは、調停後に、第１バス３１及び第１バスアービタ１３を介して、ＣＰＵ１に与えられる。但し、グラフィックプロセッサ３、ピクセルプロッタ５、サウンドプロセッサ７、ＤＭＡコントローラ９は、第１バス３１のバスマスタとして、第１バスアービタ１３へバス使用要求を行う機能を備える。
【００８６】
バスマスタが、メインメモリ１７に対してアクセスする場合は、ライトデータは、第１バスアービタ１３に与えられ、調停後に、第１バス３１から、メインメモリ１７に与えられる。一方、リードデータは、調停後に、第１バス３１及び第１バスアービタ１３を介して、バスマスタに与えられる。また、バスマスタが、外部メモリ４５〜４７に対してアクセスする場合は、ライトデータは、第２バスアービタ１４に与えられ、調停後に、第２バス３３から、外部メモリインタフェース回路２３及び外部バス４３を介して、外部メモリに与えられる。一方、リードデータは、調停後に、外部バス４３、外部メモリインタフェース回路２３、第２バス３３及び第２バスアービタ１４を介して、バスマスタに与えられる。
【００８７】
図５を参照して、このプロセッサ５００は、中央演算処理装置（ＣＰＵ）５０１、グラフィックプロセッサ５０３、サウンドプロセッサ５０７、ＤＭＡコントローラ５０９、第１バスアービタ５１３、第２バスアービタ５１４、メインメモリ５１７、タイマ回路５１９、Ａ／Ｄコンバータ（ＡＤＣ）５２０、入出力制御回路５２１、外部メモリインタフェース回路５２３、クロックドライバ５２９、ＰＬＬ回路５２７、低電圧検出回路５２５、第１バス５３１、第２バス５３３、及びＤＲＡＭリフレッシュ制御回路５２２を含む。
【００８８】
ここで、本実施の形態では、メインメモリ５１７及び外部メモリ５４５，５４６，５４７を区別して説明する必要がないときは、「メモリＭＥＭＰ」と表記する。
【００８９】
ＣＰＵ５０１は、メモリＭＥＭＰに格納されたプログラムに従い、各種演算やシステム全体の制御を行う。ＣＰＵ５０１は、第１バス５３１及び第２バス５３３のバスマスタであり、それぞれのバスに接続された資源にアクセスが可能である。
【００９０】
グラフィックプロセッサ５０３は、第１バス５３１及び第２バス５３３のバスマスタであり、メモリＭＥＭＰに格納されたデータをグラフィックデータに変換し、さらにこれを基にテレビジョン受像機（図示せず）に合わせたビデオ信号ＶＤを生成して出力する。
【００９１】
ここで、グラフィックデータは、バックグラウンドスクリーンとスプライトとから合成される。現世代のプロセッサ１００と同様に、バックグラウンドスクリーンとして、第１のバックグラウンドスクリーンと第２のバックグラウンドスクリーンとが用意される。
【００９２】
グラフィックプロセッサ５０３が、メモリＭＥＭＰから、スプライトを構成するキャラクタパターンデータをフェッチする際のアドレッシングモードについて説明する。５種類のアドレッシングモードが用意される。即ち、８ビットキャラクタ番号モード、１６ビットキャラクタ番号モード、アラインメント付き１６ビットポインタモード、１６ビットアドレスポインタモード、及び２４ビットアドレスポインタモードが用意される。これらのモードは、現世代のプロセッサ１００における８ビットキャラクタ番号モード、１６ビットキャラクタ番号モード、アラインメント付き１６ビットポインタモード、１６ビットアドレスポインタモード、及び２４ビットアドレスポインタモードと同様である。ただし、最終的に生成される実アドレス（アドレスポインタ）は、２４ビットである。なぜなら、現世代のプロセッサ１００の論理アドレス空間より狭いからである。従って、現世代のプロセッサ１００のように、上位に３ビット（０ｂ０００）を付加することはしない。
【００９３】
また、グラフィックプロセッサ５０３は、第１バス５３１を通じて、ＣＰＵ５０１により制御され、また、ＣＰＵ５０１に対して、割込み要求信号ＩＮＲＱを発生する機能を有する。
【００９４】
サウンドプロセッサ５０７は、第１バス５３１及び第２バス５３３のバスマスタであり、メモリＭＥＭＰに格納されたデータをサウンドデータに変換し、さらにこれを基にオーディオ信号ＡＵを生成して出力する。
【００９５】
また、サウンドプロセッサ５０７は、第１バス５３１を通じて、ＣＰＵ５０１により制御され、また、ＣＰＵ５０１に対して、割込み要求信号ＩＮＲＱを発生する機能を有する。
【００９６】
ＤＭＡコントローラ５０９は、外部バス５４３に接続された外部メモリ５４５〜５４７から、メインメモリ５１７へのデータ転送を司る。外部メモリ５４５〜５４７としては、外部メモリ４５〜４７と同様に、任意のメモリを用いることができるし、その数も問わない。また、ＤＭＡコントローラ５０９は、データ転送の完了を通知するために、ＣＰＵ５０１に対する割込み要求信号ＩＮＲＱを発生する機能を有する。さらに、ＤＭＡコントローラ５０９は、第１バス５３１及び第２バス５３３のバスマスタであり、また、第１バス５３１を通じてＣＰＵ１により制御される。
【００９７】
メインメモリ５１７は、マスクＲＯＭ、ＳＲＡＭ、及び、ＤＲＡＭのうち、必要なものを備える。
【００９８】
第１バスアービタ５１３は、第１バス５３１の各バスマスタからの第１バス使用要求信号を受け付け、調停を行って、バスサイクル毎に１つのバスマスタに対して第１バス使用許可信号を発行する。具体的には、複数のバスマスタの第１バス５３１に対する優先順位を定めた優先順位情報セットが複数用意され、第１バスアービタ５１３は、複数の優先順位情報セットを順次的かつ巡回的に選択して、選択した優先順位情報セットに従って調停を行う。
【００９９】
各バスマスタは、第１バス使用許可信号を受領することによって第１バス５３１の使用が許可される。ここで、第１バス使用要求信号及び第１バス使用許可信号は、図５では、第１バス調停信号ＦＡＢとして示されている。
【０１００】
第１バス５３１は、例えば、８ビットのデータバス、１５ビットのアドレスバス、及びコントロールバスを含む（図示せず）。
【０１０１】
第２バスアービタ５１４は、第２バス５３３の各バスマスタからの第２バス使用要求信号を受け付け、調停を行って、バスサイクル毎に１つのバスマスタに第２バス使用許可信号を発行する。具体的には、複数のバスマスタの第２バス５３３に対する優先順位を定めた優先順位情報セットが複数用意され、第２バスアービタ５１４は、その複数の優先順位情報セットを順次的かつ巡回的に選択して、選択した優先順位情報セットに従って調停を行う。
【０１０２】
各バスマスタは、第２バス使用許可信号を受領することによって第２バス５３３の使用が許可される。ここで、第２バス使用要求信号及び第２バス使用許可信号は、図５では、第２バス調停信号ＳＡＢとして示されている。
【０１０３】
第２バス５３３は、例えば、８ビットのデータバス、２４ビットのアドレスバス、及びコントロールバスを含む（図示せず）。
【０１０４】
タイマ回路５１９は、設定された時間間隔に基づき、ＣＰＵ５０１に対する割込み要求信号ＩＮＲＱを発生する機能を有する。時間間隔等の設定は、第１バス５３１を介してＣＰＵ５０１によって行われる。
【０１０５】
ＡＤＣ５２０は、アナログ入力信号をデジタル信号に変換する。このデジタル信号は、第１バス５３１を介してＣＰＵ５０１によってリードされる。また、ＡＤＣ５２０は、ＣＰＵ５０１に対して、割込み要求信号ＩＮＲＱを発生する機能を有する。なお、外部からのアナログ信号は、例えば、６つのアナログポートＡＩＮ０〜５（図示せず）を介して、ＡＤＣ５２０へ入力される。
【０１０６】
入出力制御回路５２１は、外部入出力装置や外部の半導体素子との通信等を、入出力信号を介して行う。入出力信号は、第１バス５３１を介して、ＣＰＵ５０１からリード／ライトされる。また、入出力制御回路５２１は、ＣＰＵ５０１に対して、割込み要求信号ＩＮＲＱを発生する機能を有する。なお、入出力信号は、例えば、プログラマブルな入出力ポートＩＯ０〜ＩＯ１５を介して入出力される。
【０１０７】
低電圧検出回路５２５は、電源電圧Ｖｃｃを監視し、電源電圧Ｖｃｃが一定電圧以下になったときに、ＰＬＬ回路５２７等のリセット信号及びその他のシステム全体のリセット信号ＲＳＥＴを発行する。また、メインメモリ５１７がＳＲＡＭで構成されており、かつ、バッテリ５４１によるＳＲＡＭのデータ保持が要求される場合、電源電圧Ｖｃｃが一定電圧以下のときに、バッテリバックアップ制御信号ＢＣＴＬを発行する機能を有する。
【０１０８】
ＰＬＬ回路５２７は、水晶振動子５３７より得られる正弦波信号を逓倍した高周波クロック信号を生成する。
【０１０９】
クロックドライバ５２９は、ＰＬＬ回路５２７より受け取った高周波クロック信号を、十分な信号強度へ増幅して、内部クロックＩＣＬＫとして、各ブロックへ供給する。
【０１１０】
外部メモリインタフェース回路５２３は、第２バス５３３を外部バス５４３に接続するための機能、及び、第２バス５３３のサイクル終了信号ＣＹＬを発行することにより、第２バス５３３のバスサイクル長を制御する機能を有する。
【０１１１】
ＤＲＡＭリフレッシュ制御回路５２２は、一定期間毎に第１バス５３１の使用権を無条件に獲得し、ＤＲＡＭのリフレッシュ動作を行う。なお、ＤＲＡＭリフレッシュ制御回路５２２は、メインメモリ５１７がＤＲＡＭを含む場合に設けられる。
【０１１２】
また、前世代のプロセッサ５００は、現世代のプロセッサ１００が有するピクセルプロッタ５に相当するものは有していない。
【０１１３】
次に、前世代のプロセッサ５００の論理アドレス空間について説明し、その後、現世代のプロセッサ１００の論理アドレス空間について説明する。
【０１１４】
前世代のプロセッサ５００は、２４ビットのアドレス信号、即ち、１６メガバイトの論理アドレス空間を有する。第１バス５３１は、１５ビットのアドレス、即ち、３２キロバイトの物理アドレス空間を有する。第２バス５３３は、２４ビットのアドレス空間から一部を除いた１２メガバイトの物理アドレス空間を有する。これらの点を図面を用いて説明する。
【０１１５】
図６は、図５に示した前世代のプロセッサ５００の論理アドレス空間の説明図である。図６に示すように、２４ビットのアドレスは、上位８ビットと下位１６ビットとに大きく分かれ、上位８ビットのアドレスはバンクアドレスと呼ばれる働きをする。即ち、１６メガバイトの論理アドレス空間は、２５６個の６４キロバイトのバンクと呼ばれる単位空間に分けられており、例を挙げると００ｈバンクのＦＦＦＦｈ番地と０１ｈバンクの００００ｈ番地は、ＣＰＵ５０１およびサウンドプロセッサ５０７にとっては連続していない。従って、図６では、このことを明確に表すためにバンク毎に並列に表記している。
【０１１６】
プロセッサ５００の論理アドレス空間は大きく４つの領域に分割され、それぞれは、第１バス５３１の物理アドレス空間に相当する第１バス領域、第２バス５３３の物理アドレス空間に相当する第２バス第０領域、第２バス第１領域、及び第２バス第２領域である。
【０１１７】
第２バス第０領域は、外部メモリ５４５に割り当てられ、第２バス第１領域は、外部メモリ５４６に割り当てられ、第２バス第２領域は、外部メモリ５４７に割り当てられる。
【０１１８】
外部メモリインタフェース回路５２３は、第２バス５３３から与えられた第２バスアドレスが、第２バス第０領域を指し示しているときは、第０領域セレクト信号ＡＳＳＥＬ０をアサートし、第２バスアドレスが、第２バス第１領域を指し示しているときは、第１領域セレクト信号ＡＳＳＥＬ１をアサートし、第２バスアドレスが、第２バス第２領域を指し示しているときは、第２領域セレクト信号ＡＳＳＥＬ２をアサートする。そして、第０領域セレクト信号ＡＳＳＥＬ０がアサートされた場合は、外部メモリ５４５が活性化され、第１領域セレクト信号ＡＳＳＥＬ１がアサートされた場合は、外部メモリ５４６が活性化され、第２領域セレクト信号ＡＳＳＥＬ２がアサートされた場合は、外部メモリ５４７が活性化される。
【０１１９】
一方、現世代のプロセッサ１００は、２７ビットのアドレス信号、即ち、１２８メガバイトの論理アドレス空間を有する。第１バス３１は、１５ビットのアドレス、即ち、３２キロバイトの物理アドレス空間を有する。第２バス３３は、２７ビットのアドレス空間から一部を除いた９６メガバイトの物理アドレス空間を有する。これらの点を図面を用いて説明する。
【０１２０】
図７は、図１に示した現世代のプロセッサ１００の論理アドレス空間の説明図である。図７に示すように、２７ビットのアドレスは、上位１１ビットと下位１６ビットとに大きく分かれ、上位１１ビットのアドレスはバンクアドレスと呼ばれる働きをする。即ち、１２８メガバイトの論理アドレス空間は、２０４８個の６４キロバイトのバンクと呼ばれる単位空間に分けられており、例を挙げると０００ｈバンクのＦＦＦＦｈ番地と００１ｈバンクの００００ｈ番地は、ＣＰＵ１およびサウンドプロセッサ７にとっては連続していない。従って、図７では、このことを明確に表すためにバンク毎に並列に表記している。
【０１２１】
プロセッサ１００の論理アドレス空間は大きく４つの領域に分割され、それぞれは、第１バス３１の物理アドレス空間に相当する第１バス領域、第２バス３３の物理アドレス空間に相当する第２バス第０領域、第２バス第１領域、及び第２バス第２領域である。
【０１２２】
第２バス第０領域は、外部メモリ４５に割り当てられ、第２バス第１領域は、外部メモリ４６に割り当てられ、第２バス第２領域は、外部メモリ４７に割り当てられる。
【０１２３】
第２バスアービタ１４は、第２バス３３から与えられた第２バスアドレスが、第２バス第１領域を指し示しているときは、第１領域セレクト信号ＡＳＳＥＬ１をアサートし、第２バスアドレスが、第２バス第２領域を指し示しているときは、第２領域セレクト信号ＡＳＳＥＬ２をアサートする。
【０１２４】
そして、第１領域セレクト信号ＡＳＳＥＬ１がアサートされた場合は、外部メモリ４６が活性化され、第２領域セレクト信号ＡＳＳＥＬ２がアサートされた場合は、外部メモリ４７が活性化される。
【０１２５】
第０領域セレクト信号ＡＳＳＥＬ０は、第２バスアドレス［２２］により代用され、第２バスアドレス［２２］が「０」を示していれば、外部メモリ４５が活性化される。
【０１２６】
図６及び図７に示すように、２７ビットアドレスからなる現世代のプロセッサ１００の論理アドレス空間において、上位３ビットが「０ｂ０００」を示す空間のマッピングを、前世代のプロセッサ５００の２４ビットアドレスからなる論理アドレス空間のマッピングと同一にしている。従って、現世代のプロセッサ１００において、前世代のプロセッサ５００においても実行可能なソフトウェア（つまり、互換ソフトウェア）がそのまま実行できる。つまり、ソフトウェアのバイナリコードレベルでの互換性が保持される。
【０１２７】
現世代のプロセッサ１００において、前世代のプロセッサ５００にも搭載されているバスマスタのうち、ＣＰＵ１、サウンドプロセッサ７、及びＤＭＡコントローラ９については、拡張された上位３ビットのアドレス出力を常に「０ｂ０００」とすることにより、マッピングの互換性が保持される。
【０１２８】
但し、グラフィックプロセッサ３では、前世代のプロセッサ５００のグラフィックプロセッサ５０３における５種類のアドレッシングモードに、３種類のアドレシングモード（１６ビット拡張キャラクタ番号モード、１６ビット拡張アドレスポインタモード、及びアラインメント付き２４ビットポインタモード）が追加されているため、グラフィックプロセッサ３によるスプライト及びバックグラウンドスクリーンのキャラクタデータフェッチにおいては、追加されたこれらのアドレシングモード使用時にのみ、全２７ビットを用いるアドレシングが可能である。また、現世代のプロセッサ１００に対して、前世代のプロセッサ５００から新たに追加されたバスマスタであるピクセルプロッタ５は、２７ビットのアドレス空間全域へのアクセスが可能である。
【０１２９】
次に、前世代のプロセッサ５００の第１バスアービタ５１３による調停の詳細について説明し、その後、現世代のプロセッサ１００の第１バスアービタ１３による調停の詳細について説明する。
【０１３０】
図８は、図５の第１バスアービタ５１３が有する優先順位テーブルの例示図である。図８に示すように、第１バス５３１に対するアクセスの優先順位情報としては、４つの優先順位情報セットが選択され、それぞれが４セットの内のいずれかを指し示す２ビットの優先順位情報番号０〜３へとエンコードされている。図８では、優先順位テーブルが、優先順位情報番号０〜３を対応する優先順位情報セットへと変換する例を挙げている。第１優先順位〜第４優先順位により一つの優先順位情報セットが構成される。第１バス５３１へのアクセスの優先順位は、第１優先順位が一番高く、番号が大きくなるにしたがって、優先順位が低くなる。第１バスアービタ５１３は、優先順位情報番号０〜３のいずれかを保持する１６の優先順位レジスタを順次的かつ巡回的に選択する。そして、第１バスアービタ５１３は、選択した優先順位情報番号に対応した優先順位情報セットに従って、第１バス使用要求を行っているバスマスタのうち、現在第１バス５３１を使用しているバスマスタを除くバスマスタから、最も優先順位の高いバスマスタを選択し、第１バス使用許可を与える。ただし、特権バスマスタであるＤＲＡＭリフレッシュ制御回路５２２は、この調停対象から除かれ、優先的に扱われる。
【０１３１】
図９は、図２の第１バスアービタ５１３に備えられ、前世代のプロセッサ５００の第１バスのアドレス空間にマッピングされたハードウェア制御レジスタの一覧を示す図である。図９に示すように、第１バスアービタ５１３は、第０スロット優先順位レジスタ〜第１５スロット優先順位レジスタを備える。各レジスタには、図７の優先順位情報番号をコード化した情報が保持される。ＣＰＵ１は、これらのレジスタにアクセスすることで、保持する優先順位情報番号を変更できる。なお、これらのレジスタは、前世代のプロセッサ５００の第１バス５３１の物理アドレス空間において、図中対応する第１バスアドレスが指し示す位置に配置される。
【０１３２】
図１０は、図１の第１バスアービタ１３が有する優先順位テーブルの例示図である。図１０に示すように、第１バス３１に対するアクセスの優先順位情報として、４つの優先順位情報セットが用意され、それぞれが４セットの内のいずれかを指し示す２ビットの優先順位情報番号０〜３へとエンコードされている。図１０では、優先順位テーブルが、優先順位情報番号０〜３を対応する優先順位情報セットへと変換する例を挙げている。
【０１３３】
ここで、バスマスタ（ＣＰＵ１、グラフィックプロセッサ３、ピクセルプロッタ５、サウンドプロセッサ７、及びＤＭＡコントローラ９）は、第１バス３１の使用を要求する要因（以下、「第１バス使用要求要因」と呼ぶ。）ごとにバス使用要求を行う。従って、優先順位情報番号０〜３が示す優先順位情報セットの各々は、全ての第１バス使用要求要因の優先順位を示している。本実施の形態では、１２種類の第１バス使用要求要因が存在するので、優先順位情報セットの各々は、第１優先順位１〜第１２優先順位により構成される。第１バス３１へのアクセスの優先順位は、第１優先順位が一番高く、番号が大きくなるにしたがって、優先順位が低くなる。第１バスアービタ１３は、優先順位情報番号０〜３のいずれかを保持する１６の優先順位レジスタを順次的かつ巡回的に選択して、選択した優先順位レジスタに保持されている優先順位情報番号に対応する優先順位情報セットに従って、第１バス３１へのアクセス調停を行う。この場合、第１バスアービタ１３は、第１バス使用要求要因ごとに、アクセス調停を行う。
【０１３４】
ここで、図中、バスマスタの略号「ＣＰＵ」、「ＧＰ」、「ＳＰ」、「ＤＭＡ」、及び「ＰＬＴ」は、それぞれ、ＣＰＵ１、グラフィックプロセッサ３、サウンドプロセッサ７、ＤＭＡコントローラ９、及びピクセルプロッタ５を示す。
【０１３５】
また、図中、第１バス使用要求要因の略号「ＩＳＴ」、「ＤＡＴ」、「ＴＸ１」、「ＴＸ２」、「ＳＰＲ」、「ＨＤＲ」、「ＣＨＲ」、「ＢＭＰ」、「ＷＡＶ」、「ＥＮＶ」、「ＤＭＡＤ」、及び「ＰＬＴ」は、それぞれ、「命令フェッチ」、「データアクセス」、「第１バックグラウンドアレイデータ」、「第２バックグラウンドアレイデータ」、「スプライトＤＭＡ」、「キャラクタヘッダ」、「キャラクタデータ」、「ビットマップデータ」、「ウェーブデータ」、「エンベロープデータ」、「ＤＭＡデスティネーション」、及び「ピクセルプロッタ」を示す。各第１バス使用要求要因の意味は次の通りである。
【０１３６】
「命令フェッチ」は、ＣＰＵ１がメインメモリ１７から命令をフェッチすることが第１バス使用要求要因となっていることを意味する。
【０１３７】
「データアクセス」は、ＣＰＵ１が第１バス３１に接続された資源にアクセス（データのリード／ライト）することが第１バス使用要求要因となっていることを意味する。
【０１３８】
「第１バックグラウンドアレイデータ」は、グラフィックプロセッサ３が第１のバックグラウンドスクリーンのアレイデータをメインメモリ１７から取得することが第１バス使用要求要因となっていることを意味する。この場合のアレイデータは、第１のバックグラウンドスクリーンの全キャラクタの、パターンデータのアドレス情報からなり、カラーパレット情報及びデプス情報も含まれる場合がある。
【０１３９】
「第２バックグラウンドアレイデータ」は、グラフィックプロセッサ３が第２のバックグラウンドスクリーンのアレイデータをメインメモリ１７から取得することが第１バス使用要求要因となっていることを意味する。この場合のアレイデータは、第２のバックグラウンドスクリーンの全キャラクタの、パターンデータのアドレス情報からなり、カラーパレット情報及びデプス情報も含まれる場合がある。
【０１４０】
「スプライトＤＭＡ」は、グラフィックプロセッサ３がスプライトメモリ（図示しないが、グラフィックプロセッサ３の内部に配置）へ転送するデータをメインメモリ１７からリードすることが第１バス使用要求要因となっていることを意味する。
【０１４１】
「キャラクタヘッダ」は、グラフィックプロセッサ３がメインメモリ１７からキャラクタヘッダを取得することが第１バス使用要求要因となっていることを意味する。キャラクタヘッダは、カラーパレット情報、キャラクタの１ピクセルのビット数（Ｎビット／ピクセル）の情報、及びフリップ情報などにより構成される。
【０１４２】
「キャラクタデータ」は、グラフィックプロセッサ３がメインメモリ１７からキャラクタのパターンデータを取得することが第１バス使用要求要因となっていることを意味する。
【０１４３】
「ビットマップデータ」は、グラフィックプロセッサ３がビットマップデータをメインメモリ１７からリードすることが第１バス使用要求要因となっていることを意味する。
【０１４４】
「ウェーブデータ」は、サウンドプロセッサ７がメインメモリ１７からウェーブデータを取得することが第１バス使用要求要因となっていることを意味する。
【０１４５】
「エンベロープデータ」は、サウンドプロセッサ７がメインメモリ１７からエンベロープデータを取得したり、メインメモリ１７に仮想的に構成されるエンベロープ用ＦＩＦＯ（ｆｉｒｓｔ−ｉｎ  ｆｉｒｓｔ−ｏｕｔ）のリードポインタをメインメモリ１７に書き込むことが第１バス使用要求要因となっていることを意味する。
【０１４６】
「ＤＭＡデスティネーション」は、ＤＭＡコントローラ９がデータをメインメモリ１７へライトすることが第１バス使用要求要因となっていることを意味する。
【０１４７】
「ピクセルプロッタ」は、ピクセルプロッタ５がメインメモリ１７に対してリード／ライトを行うことが第１バス使用要求要因となっていることを意味する。
【０１４８】
ここで、図１０の優先順位テーブルの作成手法を説明する。バスマスタごとにバス使用要求要因の順列（バス使用要求要因順列、と呼ぶ。）を求め、データの転送量やバス使用の頻度などを勘案して、バスマスタごとにバス使用要求要因順列を１つ選択する。
【０１４９】
そして、バス使用要求要因順列と、図８に示した前世代のプロセッサ５００の第１バスアービタ５１３が使用する優先順位テーブルにおける優先順位と、を組み合わせて、図１０に示した現世代のプロセッサ１００の第１バスアービタ１３が使用する優先順位テーブルを作成する。具体例を挙げて説明する。
【０１５０】
図８の優先順位情報番号０を例にとると、優先順位は、図８の略号を使って、｛ＳＰ，ＧＰ，ＤＭＡ，ＣＰＵ｝、である。これを、バスマスタ順列と呼ぶことにする。また、図１０の略号を使って、サウンドプロセッサ７に対して選択されたバス使用要求要因順列が、｛ＷＡＶ，ＥＮＶ｝であり、グラフィックプロセッサ３に対して選択されたバス使用要求要因順列が、｛ＢＭＰ，ＣＨＲ，ＨＤＲ，ＳＰＲ，ＴＸ１，ＴＸ２｝であり、ピクセルプロッタ５に対するバス使用要求要因順列が、｛ＰＬＴ｝であり（なぜなら、ピクセルプロッタ５の第１バス３１に対するバス使用要求要因は１つである。）、ＤＭＡコントローラ９に対するバス使用要求要因順列が、｛ＤＭＡＤ｝であり（ピクセルプロッタ５と同様の理由）、ＣＰＵ１に対して選択されたバス使用要求要因順列が、｛ＤＡＴ，ＩＳＴ｝であるとする。
【０１５１】
そうすると、バスマスタ順列のＳＰに対してバス使用要求要因順列｛ＷＡＶ，ＥＮＶ｝を、バスマスタ順列のＧＰに対してバス使用要求要因順列｛ＢＭＰ，ＣＨＲ，ＨＤＲ，ＳＰＲ，ＴＸ１，ＴＸ２｝を、バスマスタ順列のＤＭＡに対してバス使用要求要因順列｛ＤＭＡＤ｝を、バスマスタ順列のＣＰＵ対してバス使用要求要因順列｛ＤＡＴ，ＩＳＴ｝を夫々置き換え、バスマスタＰＬＴのバス使用要求要因順列｛ＰＬＴ｝を適切な位置に加えると、図８に示されている前世代のプロセッサ５００の優先順位情報番号０に対応して、図１０に示されている現世代のプロセッサ１００の第１バスアービタ１３用のバス使用要求要因順列（優先順位情報番号０）が得られる。バス使用要求要因順列｛ＰＬＴ｝の挿入は、他のバスマスタの順序関係に影響を与えない。その結果、図１０に示すように、優先順位情報番号０に対応する優先順位情報セットが作成される。同様にして、図８の優先順位情報番号１〜３に対応する優先順位情報セットに基づいて、図１０の優先順位情報番号１〜３に対応する優先順位情報セットが作成される。
【０１５２】
以上のように、現世代のプロセッサ１００では、第１バスへのアクセス要求要因が、前世代のプロセッサ５００に比べて大幅に増加しているが、図８に示した前世代の優先順位テーブルを基に、図１０の現世代の各優先順位情報セットにおける優先順位を定めているため、ソフトウェアの互換性が保持できる。
【０１５３】
ところで、ピクセルプロッタ５は、前世代のプロセッサ５００には備えられていないバスマスタであるが、画像処理に関するバスマスタであり、かつ第１バス３１にアクセスするケースは稀であるため、グラフィックプロセッサ３の各バス使用要求要因に次ぐ優先順位としている。なお、現世代のプロセッサ１００における第１バス３１の優先順位情報セットに、ピクセルプロッタ５を含めても、前世代のプロセッサ５００がピクセルプロッタを有していないため、前世代のプロセッサ５００のソフトウェアでピクセルプロッタが使用されることはなく、互換性の保持には何ら影響はない。
【０１５４】
図１１は、図１の第１バスアービタ１３に備えられ、現世代のプロセッサ１００の第１バスのアドレス空間にマッピングされたハードウェア制御レジスタの一覧を示す図である。図１１に示すように、第１バスアービタ１３は、第０スロット優先順位レジスタ〜第１５スロット優先順位レジスタを備える。各レジスタには、図１０の優先順位情報番号をコード化した優先順位情報番号が保持される。ＣＰＵ１は、これらのレジスタにアクセスすることで、保持する優先順位情報番号を変更できる。なお、これらのレジスタは、現世代のプロセッサ１００の第１バス３１の物理アドレス空間において、図中対応する第１バスアドレスが指し示す位置に配置される。
【０１５５】
図９及び図１１から明らかなように、現世代の第１バスアービタ３１と前世代の第１バスアービタ５３１とで、制御レジスタの構成及びマッピングは同一となっている。
【０１５６】
次に、前世代のプロセッサ５００の第２バスアービタ５１４による調停の詳細について説明し、その後、現世代のプロセッサ１００の第２バスアービタ１４による調停の詳細について説明する。
【０１５７】
図１２は、図２の第２バスアービタ５１４が有する優先順位テーブルの例示図である。図１２に示すように、第２バス５３３に対するアクセスの優先順位情報として、４つの優先順位情報セットが選択され、それぞれが４セットの内のいずれかを指し示す２ビットの優先順位情報番号０〜３へとエンコードされている。図１２では、優先順位テーブルが、優先順位情報番号０〜３を対応する優先順位情報セットへと変換する例を挙げている。第１優先順位〜第４優先順位により一つの優先順位情報セットが構成される。第２バス５３３へのアクセスの優先順位は、第１優先順位が一番高く、番号が大きくなるにしたがって、優先順位が低くなる。第２バスアービタ５１４は、優先順位情報番号０〜３のいずれかを保持する８つの優先順位レジスタを順次的かつ巡回的に選択する。そして、第２バスアービタ５１４は、選択した優先順位情報番号に対応した優先順位情報セットに従って、第２バス使用要求を行っているバスマスタのうち、現在第２バス５３３を使用しているバスマスタを除くバスマスタから、最も優先順位の高いバスマスタを選択し、第２バス使用許可を与える。
【０１５８】
図１３は、図２の第２バスアービタ５１４に備えられ、前世代のプロセッサ５００の第１バスのアドレス空間にマッピングされたハードウェア制御レジスタの一覧を示す図である。図１３に示すように、第２バスアービタ５１４は、第０スロット優先順位レジスタ〜第７スロット優先順位レジスタを備える。各レジスタには、図１２の優先順位情報番号をコード化した情報が保持される。ＣＰＵ５０１は、これらのレジスタにアクセスすることで、保持する優先順位情報番号を変更できる。なお、これらのレジスタは、前世代のプロセッサ５００の第１バス５３１の物理アドレス空間において、図中対応する第１バスアドレスが指し示す位置に配置される。
【０１５９】
図１４は、図１の第２バスアービタ１４が有する優先順位テーブルの例示図である。図１４に示すように、第２バス３３に対するアクセスの優先順位情報として、４つの優先順位情報セットが選択され、それぞれが４セットの内のいずれかを指し示す２ビットの優先順位情報番号０〜３へとエンコードされている。図１４では、優先順位情報番号０〜３を対応する優先順位情報セットへと変換する優先順位テーブルの例を挙げている。
【０１６０】
ここで、バスマスタ（ＣＰＵ１、グラフィックプロセッサ３、ピクセルプロッタ５、サウンドプロセッサ７、及びＤＭＡコントローラ９）は、第２バス３３の使用を要求する要因（以下、「第２バス使用要求要因」と呼ぶ。）ごとにバス使用要求を行う。従って、優先順位情報番号０〜３が示す優先順位情報セットの各々は、全ての第２バス使用要求要因の優先順位を示している。本実施の形態では、９種類の第２バス使用要求要因が存在するので、優先順位情報セットの各々は、第１優先順位１〜第９優先順位により構成される。第２バス３３へのアクセスの優先順位は、第１優先順位が一番高く、番号が大きくなるにしたがって、優先順位が低くなる。第２バスアービタ１４は、優先順位情報番号０〜３のいずれかを保持する８つの優先順位レジスタを順次的かつ巡回的に選択して、選択した優先順位レジスタに保持されている優先順位情報番号に対応する優先順位情報セットに従って、第２バス３３へのアクセス調停を行う。この場合、第２バスアービタ１４は、第２バス使用要求要因ごとに、アクセス調停を行う。
【０１６１】
ここで、図中、バスマスタ及び第２バス使用要求要因の略号は、図１０と同じである。ただし、第２バス使用要求要因の略号「ＤＭＡＳ」は、「ＤＭＡソース」を示し、また、各第２バス使用要求要因の意味は次の通りである。
【０１６２】
「命令フェッチ」は、ＣＰＵ１が外部メモリ４５〜４７から命令をフェッチすることが、第２バス使用要求要因となっていることを意味する。
【０１６３】
「データアクセス」は、ＣＰＵ１が外部メモリ４５〜４７にアクセス（データのリード／ライト）することが第２バス使用要求要因となっていることを意味する。
【０１６４】
「キャラクタヘッダ」は、グラフィックプロセッサ３が外部メモリ４５〜４７からキャラクタヘッダを取得することが第２バス使用要求要因となっていることを意味する。
【０１６５】
「キャラクタデータ」は、グラフィックプロセッサ３が外部メモリ４５〜４７からキャラクタのパターンデータを取得することが第２バス使用要求要因となっていることを意味する。
【０１６６】
「ビットマップデータ」は、グラフィックプロセッサ３が外部メモリ４５〜４７からビットマップデータを取得することが第２バス使用要求要因となっていることを意味する。
【０１６７】
「ピクセルプロッタ」は、ピクセルプロッタ５が外部メモリ４５〜４７に対してリード／ライトを行うことが第２バス使用要求要因となっていることを意味する。
【０１６８】
「ウェーブデータ」は、サウンドプロセッサ７が外部メモリ４５〜４７からウェーブデータを取得することが第２バス使用要求要因となっていることを意味する。
【０１６９】
「エンベロープデータ」は、サウンドプロセッサ７が外部メモリ４５〜４７からエンベロープデータを取得することが第２バス使用要求要因となっていることを意味する。
【０１７０】
「ＤＭＡソース」は、ＤＭＡコントローラ９がデータを外部メモリ４５〜４７からリードすることが第２バス使用要求要因となっていることを意味する。
【０１７１】
ここで、図１４の優先順位テーブルの作成手法を説明する。バスマスタごとにバス使用要求要因の順列（バス使用要求要因順列、と呼ぶ。）を求め、データの転送量やバス使用の頻度などを勘案して、バスマスタごとにバス使用要求要因順列を１つ選択する。
【０１７２】
そして、バス使用要求要因順列と、図１２に示した前世代のプロセッサ５００の第２バスアービタ５１４が使用する優先順位テーブルにおける優先順位と、を組み合わせて、図１４に示した現世代のプロセッサ１００の第２バスアービタ１４が使用する優先順位テーブルを作成する。具体例を挙げて説明する。
【０１７３】
図１２の優先順位情報番号０を例にとると、優先順位は、図１２の略号を使って、｛ＳＰ，ＧＰ，ＤＭＡ，ＣＰＵ｝、である。これを、バスマスタ順列と呼ぶことにする。また、図１４の略号を使って、サウンドプロセッサ７に対して選択されたバス使用要求要因順列が、｛ＷＡＶ，ＥＮＶ｝であり、グラフィックプロセッサ３に対して選択されたバス使用要求要因順列が、｛ＢＭＰ，ＣＨＲ，ＨＤＲ｝であり、ピクセルプロッタ５に対するバス使用要求要因順列が、｛ＰＬＴ｝であり（なぜなら、ピクセルプロッタ５の第２バス３３に対するバス使用要求要因は１つである。）、ＤＭＡコントローラ９に対するバス使用要求要因順列が、｛ＤＭＡＳ｝であり（ピクセルプロッタ５と同様の理由）、ＣＰＵ１に対して選択されたバス使用要求要因順列が、｛ＤＡＴ，ＩＳＴ｝であるとする。
【０１７４】
そして、バスマスタ順列のＳＰに対してバス使用要求要因順列｛ＷＡＶ，ＥＮＶ｝を、バスマスタ順列のＧＰに対してバス使用要求要因順列｛ＢＭＰ，ＣＨＲ，ＨＤＲ｝を、バスマスタ順列のＤＭＡに対してバス使用要求要因順列｛ＤＭＡＳ｝を、バスマスタ順列のＣＰＵ対してバス使用要求要因順列｛ＤＡＴ，ＩＳＴ｝を夫々置き換え、バスマスタＰＬＴのバス使用要求要因順列｛ＰＬＴ｝を適切な位置に加えると、図１２に示されている前世代のプロセッサ５００の優先順位情報番号０に対応して、図１４に示されている現世代のプロセッサ１００の第２バスアービタ１４用のバス使用要求要因順列（優先順位情報番号０）が得られる。バス使用要求要因順列｛ＰＬＴ｝の挿入は、他のバスマスタの順序関係に影響を与えない。その結果、図１４に示すように、優先順位情報番号０に対応する優先順位情報セットが作成される。同様にして、図１２の優先順位情報番号１〜３に対応する優先順位情報セットに基づいて、図１４の優先順位情報番号１〜３に対応する優先順位情報セットが作成される。
【０１７５】
以上のように、現世代のプロセッサ１００では、第２バスへのアクセス要求要因が、前世代のプロセッサ５００に比べて大幅に増加しているが、図１２に示した前世代の優先順位テーブルを基に、図１４の現世代の各優先順位情報セットにおける優先順位を定めているため、ソフトウェアの互換性が保持できる。なお、現世代のプロセッサ１００における第２バス３３の優先順位情報セットに、ピクセルプロッタ５を含めても、前世代のプロセッサ５００がピクセルプロッタを有していないため、前世代のプロセッサ５００のソフトウェアでピクセルプロッタが使用されることはなく、互換性の保持には何ら影響はない。
【０１７６】
図１５は、図１の第２バスアービタ１４に備えられ、現世代のプロセッサ１００の第１バスのアドレス空間にマッピングされたハードウェア制御レジスタの一覧を示す図である。図１５に示すように、第２バスアービタ１４は、第０スロット優先順位レジスタ〜第７スロット優先順位レジスタを備える。各レジスタには、図１４の優先順位情報番号をコード化した優先順位情報番号が保持される。ＣＰＵ１は、これらのレジスタにアクセスすることで、保持する優先順位情報番号を変更できる。なお、これらのレジスタは、現世代のプロセッサ１００の第１バス３１の物理アドレス空間において、図中対応する第１バスアドレスが指し示す位置に配置される。
【０１７７】
図１３及び図１５から明らかなように、現世代の第２バスアービタ３３と前世代の第２バスアービタ５３３とで、優先順位情報番号を保持する制御レジスタの構成及びマッピングは同一となっている。
【０１７８】
さて、前世代のプロセッサ５００では、第２のバス５３３に対するアクセススピードの設定が可能である。具体的には、ＣＰＵ５０１は、図１３の第０領域アクセスサイクル数レジスタ、並びに第１及び第２領域アクセスサイクル数レジスタにアクセスすることにより、図６の「第２バス第０領域」並びに「第２バス第１領域及び第２バス第２領域」に対して、それぞれ内部クロックＩＣＬＫのサイクル数（２〜８サイクル）でバスサイクル長を定めることができる。但し、前世代のプロセッサ５００では、ページモードはサポートされていないため、各領域に対するバスサイクル長は、設定を変更しない限り常に一定である。
【０１７９】
一方、現世代のプロセッサ１００でも、第２バス３３に対するアクセススピードの設定が可能である。ただし、現世代のプロセッサ１００では、ＣＰＵ１が、図１５の第０領域ページサイズレジスタ、第１領域ページサイズレジスタ、第２領域ページサイズレジスタ、第０領域ページアクセスサイクル数レジスタ、第１領域ページアクセスサイクル数レジスタ、第２領域ページアクセスサイクル数レジスタ、第０領域ランダムアクセスサイクル数レジスタ、第１領域ランダムアクセスサイクル数レジスタ、第２領域ランダムアクセスサイクル数レジスタ、第０領域バス幅レジスタ、第１領域バス幅レジスタ、第２領域バス幅レジスタにアクセスすることで、図７の「第２バス第０領域」、「第２バス第１領域」、及び「第２バス第２領域」の三つの領域に対してそれぞれ、ページサイズ、ページアクセスサイクル数、ランダムアクセスサイクル数、及びデータバス幅（８ビット／１６ビット）を定めることができる。
【０１８０】
以上のように、前世代のプロセッサ５００では、第２バス５３３に対して、アクセスサイクル数の設定ができるのみであるのに対し、現世代のプロセッサ１００では、ページサイズ、ページアクセスサイクル数、ランダムアクセスサイクル数、及びデータバス幅を定めることができる。しかも、前世代のプロセッサ５００では、第２バス第１領域と第２バス第２領域とで、アクセスサイクル数の設定が共通であるのに対して、現世代のプロセッサ１００では、第２バス第１領域及び第２バス第２領域に対してそれぞれ独立した設定が可能である。
【０１８１】
図１５に示すように、現世代のプロセッサ１００では、図１３に示した前世代のプロセッサ５００の第０領域アクセスサイクル数レジスタ並びに第１及び第２領域アクセスサイクル数レジスタに相当する仮想の第０領域アクセスサイクル数レジスタ並びに仮想の第１及び第２領域アクセスサイクル数レジスタを、前世代のプロセッサ５００と同じ第１バスアドレスに配置している。
【０１８２】
現世代のプロセッサ１００のＣＰＵ１が、仮想の第０領域アクセスサイクル数レジスタが配置される第１バスアドレス上に値を書き込むと、同じ値が、第０領域ランダムアクセスサイクル数レジスタに書き込まれるとともに、第０領域ページサイズレジスタの値が「０」（ページサイズ＝０バイト）に設定され、ページモードによるアクセスが行われなくなる。同様に、現世代のプロセッサ１００のＣＰＵ１が、仮想の第１及び第２領域アクセスサイクル数レジスタが配置される第１バスアドレス上に値を書き込むと、同じ値が、第１領域ランダムアクセスサイクル数レジスタ及び第２領域ランダムアクセスサイクル数レジスタにそれぞれ書き込まれるとともに、第１領域ページサイズレジスタ及び第２領域ページサイズレジスタの値がそれぞれ「０」（ページサイズ＝０バイト）に設定され、ページモードによるアクセスが行われなくなる。
【０１８３】
以上のようにして、現世代のプロセッサ１００では、前世代のプロセッサ５００に対するソフトウェアの後方互換性を実現できる。現世代のプロセッサ１００では、前世代のプロセッサ５００と異なり、第２バス第１領域及び第２バス第２領域に対してそれぞれ独立して、アクセスサイクル数が設定されるが、仮想の第１及び第２領域アクセスサイクル数レジスタが配置される第１バスアドレス上に値が書き込まれると、同じ値が、第１領域ランダムアクセスサイクル数レジスタ及び第２領域ランダムアクセスサイクル数レジスタにそれぞれ書き込まれるため、互換性の保持の妨げにはならない。
【０１８４】
ここで、「仮想の」としたのは、プロセッサ１００において、第０領域アクセスサイクル数レジスタ並びに第１及び第２領域アクセスサイクル数レジスタが実体として存在するものではないからである。
【０１８５】
なお、図１３及び図１５から分かるように、前世代のプロセッサ５００における外部バス５４３の開放を要求するレジスタと、現世代のプロセッサ１００における外部バス４３の開放を要求するレジスタと、は同じ構成及びマッピングとなっている。
【０１８６】
次に、図１の第１バスアービタ１３についてより詳細に説明する。
【０１８７】
図１６は、図１の第１バスアービタ１３に対する入出力信号の説明図である。図１６を参照して、ＣＰＵ１から第１バスアービタ１３への命令フェッチ・アドレスＩＩＦＡ、ＣＰＵ１から第１バスアービタ１３への命令フェッチ・バス要求信号ＩＩＦＢ、及び第１バスアービタ１３からＣＰＵ１への命令フェッチ・リード許可信号ＩＩＦＲＧは、それぞれ、第１バス使用要求要因が「命令フェッチ」の場合のリードアドレス、リードのバス使用要求を示す信号、及びリードのバス使用要求が受け付けられて、内部データＩＤＡＩ［７：０］がフェッチ可能であることを示す信号、である。
【０１８８】
ＣＰＵ１から第１バスアービタ１３へのデータアクセス・アドレスＩＤＡＡ、ＣＰＵ１から第１バスアービタ１３へのデータアクセス・ライトデータＩＤＡＷ、ＣＰＵ１から第１バスアービタ１３へのデータアクセス・バス要求信号ＩＤＡＢ、ＣＰＵ１から第１バスアービタ１３へのデータアクセス・ライト要求信号ＩＤＡＷＲ、第１バスアービタ１３からＣＰＵ１へのデータアクセス・ライト受諾信号ＩＤＡＷＧ、及び第１バスアービタ１３からＣＰＵ１へのデータアクセス・リード許可信号ＩＤＡＲＧは、それぞれ、第１バス使用要求要因が「データアクセス」の場合のリードアドレス又はライトアドレス、ライト対象のデータ、リード又はライトのバス使用要求を示す信号、バス使用要求がライト要求であることを示す信号、ライトのバス使用要求が受け付けられたことを示す信号、及びリードのバス使用要求が受け付けられて、内部データＩＤＡＩ［７：０］がフェッチ可能であることを示す信号、である。
【０１８９】
グラフィックプロセッサ３から第１バスアービタ１３への第１バックグラウンドアレイデータ・アドレスＦＢＧＡ、グラフィックプロセッサ３から第１バスアービタ１３への第１バックグラウンドアレイデータ・バス要求信号ＦＢＧＢ、及び第１バスアービタ１３からグラフィックプロセッサ３への第１バックグラウンドアレイデータ・リード許可信号ＦＢＧＲＧは、それぞれ、第１バス使用要求要因が「第１バックグラウンドアレイデータ」の場合のリードアドレス、リードのバス使用要求を示す信号、及びリードのバス使用要求が受け付けられて、内部データＩＤＡＩ［７：０］がフェッチ可能であることを示す信号、である。
【０１９０】
グラフィックプロセッサ３から第１バスアービタ１３への第２バックグラウンドアレイデータ・アドレスＳＢＧＡ、グラフィックプロセッサ３から第１バスアービタ１３への第２バックグラウンドアレイデータ・バス要求信号ＳＢＧＢ、及び第１バスアービタ１３からグラフィックプロセッサ３への第２バックグラウンドアレイデータ・リード許可信号ＳＢＧＲＧは、それぞれ、第１バス使用要求要因が「第２バックグラウンドアレイデータ」の場合のリードアドレス、リードのバス使用要求を示す信号、及びリードのバス使用要求が受け付けられて、内部データＩＤＡＩ［７：０］がフェッチ可能であることを示す信号、である。
【０１９１】
グラフィックプロセッサ３から第１バスアービタ１３へのスプライトＤＭＡ・アドレスＩＳＰＡ、グラフィックプロセッサ３から第１バスアービタ１３へのスプライトＤＭＡ・バス要求信号ＩＳＰＢ、及び第１バスアービタ１３からグラフィックプロセッサ３へのスプライトＤＭＡ・リード許可信号ＩＳＰＲＧは、それぞれ、第１バス使用要求要因が「スプライトＤＭＡ」の場合のリードアドレス、リードのバス使用要求を示す信号、及びリードのバス使用要求が受け付けられて、内部データＩＤＡＩ［７：０］がフェッチ可能であることを示す信号、である。
【０１９２】
グラフィックプロセッサ３から第１バスアービタ１３へのキャラクタヘッダ・アドレスＩＣＨＡ、グラフィックプロセッサ３から第１バスアービタ１３へのキャラクタヘッダ・バス要求信号ＩＣＨＢ、及び第１バスアービタ１３からグラフィックプロセッサ３へのキャラクタヘッダ・リード許可信号ＩＣＨＲＧは、それぞれ、第１バス使用要求要因が「キャラクタヘッダ」の場合のリードアドレス、リードのバス使用要求を示す信号、及びリードのバス使用要求が受け付けられて、内部データＩＤＡＩ［７：０］がフェッチ可能であることを示す信号、である。
【０１９３】
グラフィックプロセッサ３から第１バスアービタ１３へのキャラクタデータ・アドレスＩＣＤＡ、グラフィックプロセッサ３から第１バスアービタ１３へのキャラクタデータ・バス要求信号ＩＣＤＢ、及び第１バスアービタ１３からグラフィックプロセッサ３へのキャラクタデータ・リード許可信号ＩＣＤＲＧは、それぞれ、第１バス使用要求要因が「キャラクタデータ」の場合のリードアドレス、リードのバス使用要求を示す信号、リードのバス使用要求が受け付けられて、内部データＩＤＡＩ［７：０］がフェッチ可能であることを示す信号、である。
【０１９４】
グラフィックプロセッサ３から第１バスアービタ１３へのビットマップデータ・アドレスＩＢＭＡ、グラフィックプロセッサ３から第１バスアービタ１３へのビットマップデータ・バス要求信号ＩＢＭＢ、及び第１バスアービタ１３からグラフィックプロセッサ３へのビットマップデータ・リード許可信号ＩＢＭＲＧは、それぞれ、第１バス使用要求要因が「ビットマップデータ」の場合のリードアドレス、リードのバス使用要求を示す信号、及びリードのバス使用要求が受け付けられて、内部データＩＤＡＩ［７：０］がフェッチ可能であることを示す信号、である。
【０１９５】
ピクセルプロッタ５から第１バスアービタ１３へのピクセルプロッタ・アドレスＩＰＰＡ、ピクセルプロッタ５から第１バスアービタ１３へのピクセルプロッタ・ライトデータＩＰＰＷ、ピクセルプロッタ５から第１バスアービタ１３へのピクセルプロッタ・バス要求信号ＩＰＰＢ、ピクセルプロッタ５から第１バスアービタ１３へのピクセルプロッタ・ライト要求信号ＩＰＰＷＲ、第１バスアービタ１３からピクセルプロッタ５へのピクセルプロッタ・ライト受諾信号ＩＰＰＷＧ、及び第１バスアービタ１３からピクセルプロッタ５へのピクセルプロッタ・リード許可信号ＩＰＰＲＧは、それぞれ、第１バス使用要求要因が「ピクセルプロッタ」の場合のリードアドレス又はライトアドレス、ライト対象のデータ、リード又はライトのバス使用要求を示す信号、バス使用要求がライト要求であることを示す信号、ライトのバス使用要求が受け付けられたことを示す信号、及びリードのバス使用要求が受け付けられて、内部データＩＤＡＩ［７：０］がフェッチ可能であることを示す信号、である。
【０１９６】
サウンドプロセッサ７から第１バスアービタ１３へのウェーブデータ・アドレスＩＷＡＡ、サウンドプロセッサ７から第１バスアービタ１３へのウェーブデータ・バス要求信号ＩＷＡＢ、及び第１バスアービタ１３からサウンドプロセッサ７へのウェーブデータ・リード許可信号ＩＷＡＲＧは、それぞれ、第１バス使用要求要因が「ウェーブデータ」の場合のリードアドレス、リードのバス使用要求を示す信号、及びリードのバス使用要求が受け付けられて、内部データＩＤＡＩ［７：０］がフェッチ可能であることを示す信号、である。
【０１９７】
サウンドプロセッサ７から第１バスアービタ１３へのエンベロープデータ・アドレスＩＥＶＡ、サウンドプロセッサ７から第１バスアービタ１３へのエンベロープデータ・ライトデータＩＥＶＷ、サウンドプロセッサ７から第１バスアービタ１３へのエンベロープデータ・バス要求信号ＩＥＶＢ、サウンドプロセッサ７から第１バスアービタ１３へのエンベロープデータ・ライト要求信号ＩＥＶＷＲ、第１バスアービタ１３からサウンドプロセッサ７へのエンベロープデータ・ライト受諾信号ＩＥＶＷＧ、及び第１バスアービタ１３からサウンドプロセッサ７へのエンベロープデータ・リード許可信号ＩＥＶＲＧは、それぞれ、第１バス使用要求要因が「エンベロープデータ」の場合のリードアドレス又はライトアドレス、ライト対象のデータ、リード又はライトのバス使用要求を示す信号、バス使用要求がライト要求であることを示す信号、ライトのバス使用要求が受け付けられたことを示す信号、リードのバス使用要求が受け付けられて、内部データＩＤＡＩ［７：０］がフェッチ可能であることを示す信号、である。
【０１９８】
ＤＭＡコントローラ９から第１バスアービタ１３へのＤＭＡデスティネーション・アドレスＩＤＤＡ、ＤＭＡコントローラ９から第１バスアービタ１３へのＤＭＡデスティネーション・ライトデータＩＤＤＷ、ＤＭＡコントローラ９から第１バスアービタ１３へのＤＭＡデスティネーション・バス要求信号ＩＤＤＢ、及び第１バスアービタ１３からＤＭＡコントローラ９へのＤＭＡデスティネーション・ライト受諾信号ＩＤＤＷＧは、それぞれ、第１バス使用要求要因が「ＤＭＡデスティネーション」の場合のライトアドレス、ライト対象のデータ、ライトのバス使用要求を示す信号、及びライトのバス使用要求が受け付けられたことを示す信号、である。
【０１９９】
ここで、上記アドレス信号ＩＩＦＡ，ＩＤＡＡ，ＦＢＧＡ，ＳＢＧＡ，ＩＳＰＡ，ＩＣＨＡ，ＩＣＤＡ，ＩＢＭＡ，ＩＰＰＡ，ＩＷＡＡ，ＩＥＶＡ及びＩＤＤＡは、それぞれ、１５ビットの信号である。また、上記ライトデータＩＤＡＷ，ＩＰＰＷ，ＩＥＶＷ，ＩＤＤＷは、それぞれ、８ビットの信号である。
【０２００】
第１バスアービタ１３は、第１バス３１へ、調停後の、第１バスアドレスＩＡＤ、内部ライトイネーブル信号ＩＲＷ、及び内部データＩＤＡＯを出力する。
【０２０１】
第１バスアドレスＩＡＤは、第１バス３１のアドレスバス３１１（後述の図１８参照）へ出力されるアドレス信号（１５ビット）である。内部ライトイネーブル信号ＩＲＷは、第１バス３１のコントロールバス３１３（図８参照）へ出力されるライトイネーブル信号である。内部ライトイネーブル信号ＩＲＷが、「１」のときライトイネーブルを示し、「０」のときリードイネーブルを示す。内部データＩＤＡＯは、第１バス３１のデータバス３１２（図８参照）へ出力されるデータ（８ビット）である。
【０２０２】
図１６に示すマルチプレクサ４０には、第１バスアービタ１３からのデータＦＢＤ０（後述）の他、他の機能ブロック（例えば、グラフィックプロセッサ３、ピクセルプロッタ５、サウンドプロセッサ７、ＤＭＡコントローラ９、第２バスアービタ１４、及びメインメモリ１７など）からのデータＦＢＤ１〜ＦＢＤｎ（ｎは整数）が入力される。
【０２０３】
やはり図１６に示すアドレスデコーダ３８は、第１バスアービタ１３が出力した第１バスアドレスＩＡＤをデコードして、データＦＢＤ０〜ＦＢＤｎのいずれかを選択する選択信号をマルチプレクサ４０に出力する。マルチプレクサ４０は、この選択信号に従って、入力されたデータＦＢＤ０〜ＦＢＤｎのうちのいずれか１つを選択して、内部データＩＤＡＩとして出力する。
【０２０４】
図１７は、図１６の第１バスアービタ１３の内部構成を示すブロック図である。図１７に示すように、第１バスアービタ１３は、アドレスデコーダ３１７、第０スロット優先順位レジスタ３００〜第１５スロット優先順位レジスタ３１５、マルチプレクサ３１９，３２１、リード許可／ライト受諾信号生成回路３２７、スロットカウンタ３２３、ＯＲ回路３２４、プライオリティデコーダ３２５、マルチプレクサ３２９，３３１，３３３，３３５、及びレジスタ３３７，３３９，３４１，３４３、を含む。
【０２０５】
第０スロット優先順位レジスタ３００〜第１５スロット優先順位レジスタ３１５を包括して表現するときは、優先順位レジスタＩＰＲＯと表記する。
【０２０６】
第０スロット優先順位レジスタ３００〜第１５スロット優先順位レジスタ３１５の各々には、図１０の優先順位情報番号０〜３のいずれかがセットされる。例えば、第０スロット優先順位レジスタ３００〜第１５スロット優先順位レジスタ３１５には、それぞれ、優先順位情報番号０、優先順位情報番号３、優先順位情報番号１、優先順位情報番号３、優先順位情報番号０、優先順位情報番号３、優先順位情報番号２、優先順位情報番号３、優先順位情報番号０、優先順位情報番号３、優先順位情報番号２、優先順位情報番号３、優先順位情報番号０、優先順位情報番号３、優先順位情報番号２、及び優先順位情報番号３がセットされる。なお、優先順位情報番号０〜３は２ビットにエンコードされている。従って、第０スロット優先順位レジスタ３００〜第１５スロット優先順位レジスタ３１５の各々は、２ビットのレジスタである。
【０２０７】
ＣＰＵ１は、第０スロット優先順位レジスタ３００〜第１５スロット優先順位レジスタ３１５に値をセットすることで、１６スロットで１巡する優先順位情報番号０〜３の組み合わせを任意に設定できる。また、ＣＰＵ１は、第０スロット優先順位レジスタ３００〜第１５スロット優先順位レジスタ３１５に設定された値を読み出すこともできる。
【０２０８】
アドレスデコーダ３１７は、バス調停の結果として生成された第１バスアドレスＩＡＤをデコードした結果、第１バスアドレスＩＡＤが、第０スロット優先順位レジスタ３００〜第１５スロット優先順位レジスタ３１５のいずれかを指し示している場合であって、内部ライトイネーブル信号ＩＲＷがライトイネーブルを示しているときに、第１バスアドレスＩＡＤにより指し示される優先順位レジスタＩＰＲＯに対して選択信号を出力する。
【０２０９】
アドレスデコーダ３１７から選択信号が入力された優先順位レジスタＩＰＲＯは、内部データＩＤＡＯとして与えられる優先順位情報番号を保持する。
【０２１０】
この場合の第１バスアドレスＩＡＤは、後述のマルチプレクサ３３１により選択された、ＣＰＵ１が出力したデータアクセス・アドレスＩＤＡＡである。この場合の内部ライトイネーブル信号ＩＲＷは、後述のマルチプレクサ３３５により選択された、ＣＰＵ１が出力したデータアクセス・ライト要求信号ＩＤＡＷＲである。この場合の内部データＩＤＡＯは、後述のマルチプレクサ３３３により選択された、ＣＰＵ１が出力したデータアクセス・ライトデータＩＤＡＷである。
【０２１１】
一方、アドレスデコーダ３１７は、バス調停の結果として生成された第１バスアドレスＩＡＤをデコードした結果、第１バスアドレスＩＡＤが、第０スロット優先順位レジスタ３００〜第１５スロット優先順位レジスタ３１５のいずれかを指し示している場合であって、内部ライトイネーブル信号ＩＲＷがリードイネーブルを示しているときに、第１バスアドレスＩＡＤにより指し示される優先順位レジスタＩＰＲＯを選択する選択信号をマルチプレクサ３１９に出力する。マルチプレクサ３１９は、この選択信号が示す優先順位レジスタＩＰＲＯが保持しているエンコードされた優先順位情報番号を、データＦＢＤ０として、図１６のマルチプレクサ４０に出力する。
【０２１２】
この場合の第１バスアドレスＩＡＤは、後述のマルチプレクサ３３１により選択された、ＣＰＵ１が出力したデータアクセス・アドレスＩＤＡＡである。この場合の内部ライトイネーブル信号ＩＲＷは、後述のマルチプレクサ３３５により選択された、ＣＰＵ１が出力したデータアクセス・ライト要求信号ＩＤＡＷＲである。
【０２１３】
以上のように、ＣＰＵ１は、第１バス３１を介して、第０スロット優先順位レジスタ３００〜第１５スロット優先順位レジスタ３１５に値を書き込み、あるいは、値を読み出すことができる。
【０２１４】
マルチプレクサ３２１は、スロットカウンタ３２３からの選択信号ＩＳＳＥＬに従って、第０スロット優先順位レジスタ３００〜第１５スロット優先順位レジスタ３１５のうちの１つを選択し、選択した優先順位レジスタＩＰＲＯが保持している優先順位情報番号をプライオリティデコーダ３２５に出力する。
【０２１５】
プライオリティデコーダ３２５には、ＣＰＵ１から、命令フェッチ・バス要求信号ＩＩＦＢ及びデータアクセス・バス要求信号ＩＤＡＢが入力され、グラフィックプロセッサ３から、第１バックグラウンドアレイデータ・バス要求信号ＦＢＧＢ、第２バックグラウンドアレイデータ・バス要求信号ＳＢＧＢ、スプライトＤＭＡ・バス要求信号ＩＳＰＢ、キャラクタヘッダ・バス要求信号ＩＣＨＢ、キャラクタデータ・バス要求信号ＩＣＤＢ、及びビットマップデータ・バス要求信号ＩＢＭＢが入力され、ピクセルプロッタ５から、ピクセルプロッタ・バス要求信号ＩＰＰＢが入力され、サウンドプロセッサ７から、ウェーブデータ・バス要求信号ＩＷＡＢ及びエンベロープデータ・バス要求信号ＩＥＶＢが入力され、ＤＭＡコントローラ９から、ＤＭＡデスティネーション・バス要求信号ＩＤＤＢが入力される。
【０２１６】
また、プライオリティデコーダ３２５には、リード許可／ライト受諾信号生成回路３２７から、命令フェッチ・リード許可信号ＩＩＦＲＧ、データアクセス・リード許可信号ＩＤＡＲＧ、データアクセス・ライト受諾信号ＩＤＡＷＧ、第１バックグラウンドアレイデータ・リード許可信号ＦＢＧＲＧ、第２バックグラウンドアレイデータ・リード許可信号ＳＢＧＲＧ、スプライトＤＭＡ・リード許可信号ＩＳＰＲＧ、キャラクタヘッダ・リード許可信号ＩＣＨＲＧ、キャラクタデータ・リード許可信号ＩＣＤＲＧ、ビットマップデータ・リード許可信号ＩＢＭＲＧ、ピクセルプロッタ・リード許可信号ＩＰＰＲＧ、ピクセルプロッタ・ライト受諾信号ＩＰＰＷＧ、ウェーブデータ・リード許可信号ＩＷＡＲＧ、エンベロープデータ・リード許可信号ＩＥＶＲＧ、エンベロープデータ・ライト受諾信号ＩＥＶＷＧ、及びＤＭＡデスティネーション・ライト受諾信号ＩＤＤＷＧが入力される。
【０２１７】
ここで、バス要求信号ＩＩＦＢ，ＩＤＡＢ，ＦＰＢＧ，ＳＢＧＢ，ＩＳＰＢ，ＩＣＨＢ，ＩＣＤＢ，ＩＢＭＢ，ＩＰＰＢ，ＩＷＡＢ，ＩＥＶＢ，ＩＤＤＢを包括して表現するときは、第１バス使用要求信号ＦＢＵＲＱ、と表記する。
【０２１８】
プライオリティデコーダ３２５は、マルチプレクサ３２１から現在入力されている優先順位情報番号をデコードする。そして、プライオリティデコーダ３２５は、デコードした優先順位情報番号に対応する優先順位情報セットに従って、アサートされている第１バス使用要求信号ＦＢＵＲＱに対応する第１バス使用要求要因のうち、現在第１バス３１を使用している第１バス使用要求要因を除いて最も優先順位の高い第１バス使用要求要因を選択する。ここで、現在第１バス３１を使用している第１バス使用要求要因は、リード許可／ライト受諾信号生成回路３２７から入力される第１バス使用許可信号ＦＡＧＲの状態から知ることができる。
【０２１９】
なお、第１バス使用許可信号ＦＡＧＲは、命令フェッチ・リード許可信号ＩＩＦＲＧ、データアクセス・リード許可信号ＩＤＡＲＧ、データアクセス・ライト受諾信号ＩＤＡＷＧ、第１バックグラウンドアレイデータ・リード許可信号ＦＢＧＲＧ、第２バックグラウンドアレイデータ・リード許可信号ＳＢＧＲＧ、スプライトＤＭＡ・リード許可信号ＩＳＰＲＧ、キャラクタヘッダ・リード許可信号ＩＣＨＲＧ、キャラクタデータ・リード許可信号ＩＣＤＲＧ、ビットマップデータ・リード許可信号ＩＢＭＲＧ、ピクセルプロッタ・リード許可信号ＩＰＰＲＧ、ピクセルプロッタ・ライト受諾信号ＩＰＰＷＧ、ウェーブデータ・リード許可信号ＩＷＡＲＧ、エンベロープデータ・リード許可信号ＩＥＶＲＧ、エンベロープデータ・ライト受諾信号ＩＥＶＷＧ、及びＤＭＡデスティネーション・ライト受諾信号ＩＤＤＷＧを包括した表記である。
【０２２０】
また、プライオリティデコーダ３２５は、選択した第１バス使用要求要因に基づいて、バスマスタセレクト信号ＩＢＭＳＬ［３：０］を生成して、マルチプレクサ３２９，３３１，３３３，３３５に出力する。つまり、プライオリティデコーダ３２５は、デコードした優先順位情報番号に対応する優先順位情報に従って、アサートされている第１バス使用要求信号ＦＢＵＲＱに対応する第１バス使用要求要因のうち、現在第１バス３１を使用している第１バス使用要求要因を除いて最も優先順位の高い第１バス使用要求要因を示す値にバスマスタセレクト信号ＩＢＭＳＬ［３：０］をセットする。
【０２２１】
ＯＲ回路３２４には、リード許可／ライト受諾信号生成回路３２７から、第１バス使用許可信号ＦＡＧＲ（ＩＩＦＲＧ、ＩＤＡＲＧ、ＩＤＡＷＧ、ＦＢＧＲＧ、ＳＢＧＲＧ、ＩＳＰＲＧ、ＩＣＨＲＧ、ＩＣＤＲＧ、ＩＢＭＲＧ、ＩＰＰＲＧ、ＩＰＰＷＧ、ＩＷＡＲＧ、ＩＥＶＲＧ、ＩＥＶＷＧ、ＩＤＤＷＧ）が入力される。
【０２２２】
スロットカウンタ３２３は、ＯＲ回路３２４からの信号が、「０（偽）」から「１（真）」に遷移するたびに、選択信号ＩＳＳＥＬ［３：０］の値をインクリメントして、マルチプレクサ３２１に、第０スロット優先順位レジスタ３００〜第１５スロット優先順位レジスタ３１５に格納されている優先順位情報番号を順次的かつ巡回的に選択させる。これは、バス使用許可が与えられたバスマスタの１バスサイクルの終端は、１５の第１バス使用許可信号ＦＡＧＲの論理和から求められるからである。
【０２２３】
マルチプレクサ３２９，３３１，３３３及び３３５の各々の１２の入力は、１２の第１バス使用要求要因「命令フェッチ」，「データアクセス」，「第１バックグラウンドアレイデータ」，「第２バックグラウンドアレイデータ」，「スプライトＤＭＡ」，「キャラクタヘッダ」，「キャラクタデータ」，「ビットマップデータ」，「ピクセルプロッタ」，「ウェーブデータ」，「エンベロープデータ」，「ＤＭＡデスティネーション」に対応している。
【０２２４】
マルチプレクサ３２９の１２の入力には、第１バス使用要求要因「命令フェッチ」を示すコード０ｂ０００００００００００１、第１バス使用要求要因「データアクセス」を示すコード０ｂ００００００００００１０、第１バス使用要求要因「第１バックグラウンドアレイデータ」を示すコード０ｂ０００００００００１００、第１バス使用要求要因「第２バックグラウンドアレイデータ」を示すコード０ｂ００００００００１０００、第１バス使用要求要因「スプライトＤＭＡ」を示すコード０ｂ０００００００１００００、第１バス使用要求要因「キャラクタヘッダ」を示すコード０ｂ００００００１０００００、第１バス使用要求要因「キャラクタデータ」を示すコード０ｂ０００００１００００００、第１バス使用要求要因「ビットマップデータ」を示すコード０ｂ００００１０００００００、第１バス使用要求要因「ピクセルプロッタ」を示すコード０ｂ０００１００００００００、第１バス使用要求要因「ウェーブデータ」を示すコード０ｂ００１０００００００００、第１バス使用要求要因「エンベロープデータ」を示すコード０ｂ０１００００００００００、及び第１バス使用要求要因「ＤＭＡデスティネーション」を示すコード０ｂ１０００００００００００が入力される。
【０２２５】
マルチプレクサ３２９は、プライオリティデコーダ３２５から入力されたバスマスタセレクト信号ＩＢＭＳＬが示す（第１バス３１の使用許可を与える）第１バス使用要求要因に対応したコードを選択してレジスタ３３７に出力する。
【０２２６】
レジスタ３３７は、マルチプレクサ３２９から入力されたコードを保持するとともに、リード許可／ライト受諾信号生成回路３２７へ出力する。
【０２２７】
リード許可／ライト受諾信号生成回路３２７は、レジスタ３３７から出力されたコードを基に、第１バス使用許可信号ＦＡＧＲを生成する。具体的には、次の通りである。
【０２２８】
リード許可／ライト受諾信号生成回路３２７は、レジスタ３３７が出力するコードが０ｂ０００００００００００１のときは、命令フェッチ・リード許可信号ＩＩＦＲＧをアサートする。リード許可／ライト受諾信号生成回路３２７は、レジスタ３３７が出力するコードが０ｂ００００００００００１０であって、かつ、データアクセス・ライト要求信号ＩＤＡＷＲがネゲートされているときは、データアクセス・リード許可信号ＩＤＡＲＧをアサートする。リード許可／ライト受諾信号生成回路３２７は、レジスタ３３７が出力するコードが０ｂ００００００００００１０であって、かつ、データアクセス・ライト要求信号ＩＤＡＷＲがアサートされているときは、データアクセス・ライト受諾信号ＩＤＡＷＧをアサートする。
【０２２９】
リード許可／ライト受諾信号生成回路３２７は、レジスタ３３７が出力するコードが０ｂ０００００００００１００のときは、第１バックグラウンドアレイデータ・リード許可信号ＦＢＧＲＧをアサートする。リード許可／ライト受諾信号生成回路３２７は、レジスタ３３７が出力するコードが０ｂ００００００００１０００のときは、第２バックグラウンドアレイデータ・リード許可信号ＳＢＧＲＧをアサートする。リード許可／ライト受諾信号生成回路３２７は、レジスタ３３７が出力するコードが０ｂ０００００００１００００のときは、スプライトＤＭＡ・リード許可信号ＩＳＰＲＧをアサートする。
【０２３０】
リード許可／ライト受諾信号生成回路３２７は、レジスタ３３７が出力するコードが０ｂ００００００１０００００のときは、キャラクタヘッダ・リード許可信号ＩＣＨＲＧをアサートする。リード許可／ライト受諾信号生成回路３２７は、レジスタ３３７が出力するコードが０ｂ０００００１００００００のときは、キャラクタデータ・リード許可信号ＩＣＤＲＧをアサートする。リード許可／ライト受諾信号生成回路３２７は、レジスタ３３７が出力するコードが０ｂ００００１０００００００のときは、ビットマップデータ・リード許可信号ＩＢＭＲＧをアサートする。
【０２３１】
リード許可／ライト受諾信号生成回路３２７は、レジスタ３３７が出力するコードが０ｂ０００１００００００００であって、かつ、ピクセルプロッタ・ライト要求信号ＩＰＰＷＲがネゲートされているときは、ピクセルプロッタ・リード許可信号ＩＰＰＲＧをアサートする。リード許可／ライト受諾信号生成回路３２７は、レジスタ３３７が出力するコードが０ｂ０００１００００００００であって、かつ、ピクセルプロッタ・ライト要求信号ＩＰＰＷＲがアサートされているときは、ピクセルプロッタ・ライト受諾信号ＩＰＰＷＧをアサートする。
【０２３２】
リード許可／ライト受諾信号生成回路３２７は、レジスタ３３７が出力するコードが０ｂ００１０００００００００のときは、ウェーブデータ・リード許可信号ＩＷＡＲＧをアサートする。リード許可／ライト受諾信号生成回路３２７は、レジスタ３３７が出力するコードが０ｂ０１００００００００００であって、かつ、エンベロープデータ・ライト要求信号ＩＥＶＷＲがネゲートされているときは、エンベロープデータ・リード許可信号ＩＥＶＲＧをアサートする。リード許可／ライト受諾信号生成回路３２７は、レジスタ３３７が出力するコードが０ｂ０１００００００００００であって、かつ、エンベロープデータ・ライト要求信号ＩＥＶＷＲがアサートされているときは、エンベロープデータ・ライト受諾信号ＩＥＶＷＧをアサートする。
【０２３３】
リード許可／ライト受諾信号生成回路３２７は、レジスタ３３７が出力するコードが０ｂ１０００００００００００のときは、ＤＭＡデスティネーション・ライト受諾信号ＩＤＤＷＧをアサートする。
【０２３４】
マルチプレクサ３３１の１２の入力には、命令フェッチ・アドレスＩＩＦＡ、データアクセス・アドレスＩＤＡＡ、第１バックグラウンドアレイデータ・アドレスＦＢＧＡ、第２バックグラウンドアレイデータ・アドレスＳＢＧＡ、スプライトＤＭＡ・アドレスＩＳＰＡ、キャラクタヘッダ・アドレスＩＣＨＡ、キャラクタデータ・アドレスＩＣＤＡ、ビットマップデータ・アドレスＩＢＭＡ、ピクセルプロッタ・アドレスＩＰＰＡ、ウェーブデータ・アドレスＩＷＡＡ、エンベロープデータ・アドレスＩＥＶＡ、及びＤＭＡデスティネーション・アドレスＩＤＤＡが入力される。
【０２３５】
マルチプレクサ３３１は、これら１２の入力アドレス信号のうち、バスマスタセレクト信号ＩＢＭＳＬが示す（第１バス３１の使用許可を与える）第１バス使用要求要因に対応するアドレス信号をレジスタ３３９に出力する。
【０２３６】
レジスタ３３９は、マルチプレクサ３３１から入力されたアドレス信号を保持するとともに、第１バスアドレスＩＡＤ［１４：０］として出力する。
【０２３７】
マルチプレクサ３３３の１２の入力には、第１バス使用要求要因「命令フェッチ」に対応した「０」、データアクセス・ライトデータＩＤＡＷ、第１バス使用要求要因「第１バックグランドアレイデータ」に対応した「０」、第１バス使用要求要因「第２バックグランドアレイデータ」に対応した「０」、第１バス使用要求要因「スプライトＤＭＡ」に対応した「０」、第１バス使用要求要因「キャラクタヘッダ」に対応した「０」、第１バス使用要求要因「キャラクタデータ」に対応した「０」、第１バス使用要求要因「ビットマップデータ」に対応した「０」、ピクセルプロッタ・ライトデータＩＰＰＷ、第１バス使用要求要因「ウェーブデータ」に対応した「０」、エンベロープデータ・ライトデータＩＥＶＷ、及びＤＭＡデスティネーション・ライトデータＩＤＤＷが入力される。
【０２３８】
この場合、「０」入力は、ライト要求がないことを意味する。なぜなら、第１バス使用要求要因「命令フェッチ」，「第１バックグランドアレイデータ」、「第２バックグランドアレイデータ」、「キャラクタヘッダ」，「キャラクタデータ」，「ビットマップデータ」，「ウェーブデータ」では、ライトを行わないからである。
【０２３９】
マルチプレクサ３３３は、上記１２の入力ライトデータのうち、バスマスタセレクト信号ＩＢＭＳＬが示す（第１バス３１の使用許可を与える）第１バス使用要求要因に対応する入力ライトデータをレジスタ３４１に出力する。
【０２４０】
レジスタ３４１は、マルチプレクサ３３３から入力されたライトデータを保持するとともに、内部データＩＤＡＯ［７：０］として出力する。
【０２４１】
マルチプレクサ３３５の１２の入力には、第１バス使用要求要因「命令フェッチ」に対応した「０」、データアクセス・ライト要求信号ＩＤＡＷＲ、第１バス使用要求要因「第１バックグランドアレイデータ」に対応した「０」、第１バス使用要求要因「第２バックグランドアレイデータ」に対応した「０」、第１バス使用要求要因「スプライトＤＭＡ」に対応した「０」、第１バス使用要求要因「キャラクタヘッダ」に対応した「０」、第１バス使用要求要因「キャラクタデータ」に対応した「０」、第１バス使用要求要因「ビットマップデータ」に対応した「０」、ピクセルプロッタ・ライト要求信号ＩＰＰＷＲ、第１バス使用要求要因「ウェーブデータ」に対応した「０」、エンベロープデータ・ライト要求信号ＩＥＶＷＲ、及び第１バス使用要求要因「ＤＭＡデスティネーション」に対応した「１」が入力される。
【０２４２】
この場合、「０」入力は、ライト要求を行わないことを意味する。なぜなら、第１バス使用要求要因「命令フェッチ」，「第１バックグランドアレイデータ」、「第２バックグランドアレイデータ」、「キャラクタヘッダ」，「キャラクタデータ」，「ビットマップデータ」，「ウェーブデータ」では、ライトを行わないからである。また、「１」入力は、リード要求を行わないことを意味する。なぜなら、第１バス要求要因「ＤＭＡデスティネーション」では、ライトしか行わないからである。
【０２４３】
マルチプレクサ３３５は、上記１２の入力信号のうち、バスマスタセレクト信号ＩＢＭＳＬが示す（第１バス３１の使用許可を与える）第１バス使用要求要因に対応する入力信号をレジスタ３４３に出力する。
【０２４４】
レジスタ３４３は、マルチプレクサ３３５から入力された信号を保持するとともに、内部ライトイネーブル信号ＩＲＷとして出力する。
【０２４５】
次に、図１の第２バスアービタ１４についてより詳細に説明する。
【０２４６】
図１８は、図１の第２バスアービタ１４に対する入出力信号の説明図である。図１８に示すように、第２バスアービタ１４の制御は、ＣＰＵ１が、アドレスバス３１１、データバス３１２、及びコントロールバス３１３を介して行う。
【０２４７】
ＣＰＵ１から第２バスアービタ１４への命令フェッチ・アドレスＥＩＦＡ、ＣＰＵ１から第２バスアービタ１４への命令フェッチ・サイズ信号ＥＩＦＳ、ＣＰＵ１から第２バスアービタ１４への命令フェッチ・バス要求信号ＥＩＦＢ、第２バスアービタ１４からＣＰＵ１への命令フェッチ・下位バイトリード許可信号ＥＩＦＬＲ、及び第２バスアービタ１４からＣＰＵ１への命令フェッチ・上位バイトリード許可信号ＥＩＦＵＲは、それぞれ、第２バス使用要求要因が「命令フェッチ」の場合のリードアドレス、要求するデータの転送量を示す信号（何バイトのリードを要求するかを示す信号）、リードのバス使用要求を示す信号、リードのバス使用要求が受け付けられて、外部データ入力ＥＤＡＩの下位バイト（［７：０］）がフェッチ可能であることを示す信号、及び、リードのバス使用要求が受け付けられて、外部データ入力ＥＤＡＩの上位バイト（［１５：８］）がフェッチ可能であることを示す信号、である。
【０２４８】
ＣＰＵ１から第２バスアービタ１４へのアドレスＥＤＡＡ、ＣＰＵ１から第２バスアービタ１４へのデータアクセス・ライトデータＥＤＡＷ、ＣＰＵ１から第２バスアービタ１４へのデータアクセス・バス要求信号ＥＤＡＢ、ＣＰＵ１から第２バスアービタ１４へのデータアクセス・ライト要求信号ＥＤＡＷＲ、第２バスアービタ１４からＣＰＵ１へのデータアクセス・ライト受諾信号ＥＤＡＷＧ、第２バスアービタ１４からＣＰＵ１へのデータアクセス・下位バイトリード許可信号ＥＤＡＬＲ、及び第２バスアービタ１４からＣＰＵ１へのデータアクセス・上位バイトリード許可信号ＥＤＡＵＲは、それぞれ、第２バス使用要求要因が「データアクセス」の場合のリードアドレス又はライトアドレス、ライト対象のデータ、リード又はライトのバス使用要求を示す信号、バス使用要求がライト要求であることを示す信号、ライトのバス使用要求が受け付けられたことを示す信号、リードのバス使用要求が受け付けられて、外部データ入力ＥＤＡＩの下位バイト（［７：０］）がフェッチ可能であることを示す信号、及び、リードのバス使用要求が受け付けられて、外部データ入力ＥＤＡＩの上位バイト（［１５：８］）がフェッチ可能であることを示す信号、である。
【０２４９】
グラフィックプロセッサ３から第２バスアービタ１４へのキャラクタヘッダ・アドレスＥＣＨＡ、グラフィックプロセッサ３から第２バスアービタ１４へのキャラクタヘッダ・サイズ信号ＥＣＨＳ、グラフィックプロセッサ３から第２バスアービタ１４へのキャラクタヘッダ・バス要求信号ＥＣＨＢ、第２バスアービタ１４からグラフィックプロセッサ３へのキャラクタヘッダ・下位バイトリード許可信号ＥＣＨＬＲ、及び第２バスアービタ１４からグラフィックプロセッサ３へのキャラクタヘッダ・上位バイトリード許可信号ＥＣＨＵＲは、それぞれ、第２バス使用要求要因が「キャラクタヘッダ」の場合のリードアドレス、要求するデータの転送量を示す信号（何バイトのリードを要求するかを示す信号）、リードのバス使用要求を示す信号、リードのバス使用要求が受け付けられて、外部データ入力ＥＤＡＩの下位バイト（［７：０］）がフェッチ可能であることを示す信号、及び、リードのバス使用要求が受け付けられて、外部データ入力ＥＤＡＩの上位バイト（［１５：８］）がフェッチ可能であることを示す信号、である。
【０２５０】
グラフィックプロセッサ３から第２バスアービタ１４へのキャラクタデータ・アドレスＥＣＤＡ、グラフィックプロセッサ３から第２バスアービタ１４へのキャラクタデータ・サイズ信号ＥＣＤＳ、グラフィックプロセッサ３から第２バスアービタ１４へのキャラクタデータ・バス要求信号ＥＣＤＢ、第２バスアービタ１４からグラフィックプロセッサ３へのキャラクタデータ・下位バイトリード許可信号ＥＣＤＬＲ、及び第２バスアービタ１４からグラフィックプロセッサ３へのキャラクタデータ・上位バイトリード許可信号ＥＣＤＵＲは、それぞれ、第２バス使用要求要因が「キャラクタデータ」の場合のリードアドレス、要求するデータの転送量を示す信号（何バイトのリードを要求するかを示す信号）、リードのバス使用要求を示す信号、リードのバス使用要求が受け付けられて、外部データ入力ＥＤＡＩの下位バイト（［７：０］）がフェッチ可能であることを示す信号、及び、リードのバス使用要求が受け付けられて、外部データ入力ＥＤＡＩの上位バイト（［１５：８］）がフェッチ可能であることを示す信号、である。
【０２５１】
グラフィックプロセッサ３から第２バスアービタ１４へのビットマップデータ・アドレスＥＢＭＡ、グラフィックプロセッサ３から第２バスアービタ１４へのビットマップデータ・バス要求信号ＥＢＭＢ、第２バスアービタ１４からグラフィックプロセッサ３へのビットマップデータ・下位バイトリード許可信号ＥＢＭＬＲ、及び第２バスアービタ１４からグラフィックプロセッサ３へのビットマップデータ・上位バイトリード許可信号ＥＢＭＵＲは、それぞれ、第２バス使用要求要因が「ビットマップデータ」の場合のリードアドレス、リードのバス使用要求を示す信号、リードのバス使用要求が受け付けられて、外部データ入力ＥＤＡＩの下位バイト（［７：０］）がフェッチ可能であることを示す信号、及び、リードのバス使用要求が受け付けられて、外部データ入力ＥＤＡＩの上位バイト（［１５：８］）がフェッチ可能であることを示す信号、である。
【０２５２】
ピクセルプロッタ５から第２バスアービタ１４へのピクセルプロッタ・アドレスＥＰＰＡ、ピクセルプロッタ５から第２バスアービタ１４へのピクセルプロッタ・ライトデータＥＰＰＷ、ピクセルプロッタ５から第２バスアービタ１４へのピクセルプロッタ・サイズ信号ＥＰＰＳ、ピクセルプロッタ５から第２バスアービタ１４へのピクセルプロッタ・バス要求信号ＥＰＰＢ、ピクセルプロッタ５から第２バスアービタ１４へのピクセルプロッタ・ライト要求信号ＥＰＰＷＲ、第２バスアービタ１４からピクセルプロッタ５へのピクセルプロッタ・ライト受諾信号ＥＰＰＷＧ、第２バスアービタ１４からピクセルプロッタ５へのピクセルプロッタ・下位バイトリード許可信号ＥＰＰＬＲ、及び第２バスアービタ１４からＣＰＵ１へのピクセルプロッタ・上位バイトリード許可信号ＥＰＰＵＲは、それぞれ、第２バス使用要求要因が「ピクセルプロッタ」の場合のリードアドレス又はライトアドレス、ライト対象のデータ、要求するデータの転送量を示す信号（何バイトのリード又はライトを要求するかを示す信号）、リード又はライトのバス使用要求を示す信号、バス使用要求がライト要求であることを示す信号、ライトのバス使用要求が受け付けられたことを示す信号、リードのバス使用要求が受け付けられて、外部データ入力ＥＤＡＩの下位バイト（［７：０］）がフェッチ可能であることを示す信号、及び、リードのバス使用要求が受け付けられて、外部データ入力ＥＤＡＩの上位バイト（［１５：８］）がフェッチ可能であることを示す信号、である。
【０２５３】
サウンドプロセッサ７から第２バスアービタ１４へのウェーブデータ・アドレスＥＷＡＡ、サウンドプロセッサ７から第２バスアービタ１４へのウェーブデータ・バス要求信号ＥＷＡＢ、第２バスアービタ１４からサウンドプロセッサ７へのウェーブデータ・下位バイトリード許可信号ＥＷＡＬＲ、及び第２バスアービタ１４からサウンドプロセッサ７へのウェーブデータ・上位バイトリード許可信号ＥＷＡＵＲは、それぞれ、第２バス使用要求要因が「ウェーブデータ」の場合のリードアドレス、リードのバス使用要求を示す信号、リードのバス使用要求が受け付けられて、外部データ入力ＥＤＡＩの下位バイト（［７：０］）がフェッチ可能であることを示す信号、及び、リードのバス使用要求が受け付けられて、外部データ入力ＥＤＡＩの上位バイト（［１５：８］）がフェッチ可能であることを示す信号、である。
【０２５４】
サウンドプロセッサ７から第２バスアービタ１４へのエンベロープデータ・アドレスＥＥＶＡ、サウンドプロセッサ７から第２バスアービタ１４へのエンベロープデータ・バス要求信号ＥＥＶＢ、第２バスアービタ１４からサウンドプロセッサ７へのエンベロープデータ・下位バイトリード許可信号ＥＥＶＬＲ、及び第２バスアービタ１４からサウンドプロセッサ７へのエンベロープデータ・上位バイトリード許可信号ＥＥＶＵＲは、それぞれ、第２バス使用要求要因が「エンベロープデータ」の場合のリードアドレス、リードのバス使用要求を示す信号、リードのバス使用要求が受け付けられて、外部データ入力ＥＤＡＩの下位バイト（［７：０］）がフェッチ可能であることを示す信号、及び、リードのバス使用要求が受け付けられて、外部データ入力ＥＤＡＩの上位バイト（［１５：８］）がフェッチ可能であることを示す信号、である。
【０２５５】
ＤＭＡコントローラ９から第２バスアービタ１４へのＤＭＡソース・アドレスＥＤＳＡ、ＤＭＡコントローラ９から第２バスアービタ１４へのＤＭＡソース・サイズ信号ＥＤＳＳ、ＤＭＡコントローラ９から第２バスアービタ１４へのＤＭＡソース・バス要求信号ＥＤＳＢ、第２バスアービタ１４からＤＭＡコントローラ９へのＤＭＡソース・下位バイトリード許可信号ＥＤＳＬＲ、及び第２バスアービタ１４からＤＭＡコントローラ９へのＤＭＡソース・上位バイトリード許可信号ＥＤＳＵＲは、それぞれ、第２バス使用要求要因が「ＤＭＡソース」の場合のリードアドレス、要求するデータの転送量を示す信号（何バイトのリードを要求するかを示す信号）、リードのバス使用要求を示す信号、リードのバス使用要求が受け付けられて、外部データ入力ＥＤＡＩの下位バイト（［７：０］）がフェッチ可能であることを示す信号、及び、リードのバス使用要求が受け付けられて、外部データ入力ＥＤＡＩの上位バイト（［１５：８］）がフェッチ可能であることを示す信号、である。
【０２５６】
ここで、上記アドレス信号ＥＩＦＡ，ＥＤＡＡ，ＥＣＨＡ，ＥＣＤＡ，ＥＢＭＡ，ＥＰＰＡ，ＥＷＡＡ，ＥＥＶＡ及びＥＤＳＡは、それぞれ、２７ビットの信号である。また、上記ライトデータＥＤＡＷ及びＥＰＰＷは、それぞれ、１６ビットの信号である。但し、ライトデータＥＤＡＷの有効なデータは、１６ビット中の下位８ビットである。
【０２５７】
図１９は、本実施の形態における第２バス使用要求要因ごとの要求サイズの例示図である。図１９に示すように、第２バス使用要求要因が「命令フェッチ」の場合は、ＣＰＵ１は、命令フェッチ・サイズ信号ＥＩＦＳにより、データ転送のサイズとして、１、２、３、あるいは４バイトのいずれかを要求できる（可変）。
【０２５８】
従って、ＣＰＵ１は、フェッチする命令のサイズに合わせたデータ転送のサイズを、命令フェッチ・サイズ信号ＥＩＦＳにより動的に設定できる。
【０２５９】
第２バス使用要求要因が「データアクセス」の場合は、データ転送のサイズは、１バイトで固定である。第２バス使用要求要因が「キャラクタヘッダ」の場合は、グラフィックプロセッサ３は、キャラクタヘッダ・サイズ信号ＥＣＨＳにより、データ転送のサイズとして、０バイトを要求できる（つまり、データ転送を行わない。）。
【０２６０】
第２バス使用要求要因が「キャラクタデータ」の場合は、グラフィックプロセッサ３は、キャラクタデータ・サイズ信号ＥＣＤＳにより、データ転送のサイズとして、１、２、３、…、１５あるいは１６バイトのいずれかを要求できる（可変）。
【０２６１】
キャラクタは、例えば、８×８ピクセル、８×１６ピクセル、１６×８ピクセル、１６×１６ピクセル、等というように、様々なサイズが用意されている。また、１ピクセルあたりのデータ量も１、２、３、…、７あるいは８ビット、というように様々なモードが用意されている。従って、グラフィックプロセッサ３は、キャラクタのサイズおよびピクセル当りのビット数に合わせたデータ転送のサイズを、キャラクタデータ・サイズ信号ＥＣＤＳにより動的に設定できる。
【０２６２】
第２バス使用要求要因が「ビットマップデータ」の場合は、データ転送のサイズは、８バイトで固定である。
【０２６３】
第２バス使用要求要因が「ピクセルプロッタ」の場合は、ピクセルプロッタ５は、ピクセルプロッタ・サイズ信号ＥＰＰＳにより、データ転送のサイズとして、１あるいは２バイトのいずれかを要求できる（可変）。
【０２６４】
例えば、ピクセルプロッタ５は、ピクセルプロッタ・サイズ信号ＥＰＰＳにより、通常のデータ転送のサイズを２バイトとする一方、ＬＳＢ（ｌｅａｓｔ  ｓｉｇｎｉｆｉｃａｎｔ  ｂｉｔ）が「１」のバイトアドレスが示す位置からアクセスを開始するときは、その時のピクセルプロッタ・サイズ信号ＥＰＰＳが示すサイズを１バイトとする。なぜなら、このようなアクセスのときは、下位バイトのリード／ライトは無駄だからである。
【０２６５】
第２バス使用要求要因が「ウェーブデータ」の場合は、データ転送のサイズは、１バイトで固定である。第２バス使用要求要因が「エンベロープデータ」の場合は、データ転送のサイズは、１バイトで固定である。
【０２６６】
第２バス使用要求要因が「ＤＭＡソース」の場合は、ＤＭＡコントローラ９は、ＤＭＡソース・サイズ信号ＥＤＳＳにより、データ転送のサイズとして、１、２、３あるいは４バイトのいずれかを要求できる（可変）。
【０２６７】
従って、ＤＭＡコントローラ９は、転送対象のＤＭＡ転送元データのサイズに合わせたデータ転送のサイズを、ＤＭＡソース・サイズ信号ＥＤＳＳにより動的に設定できる。
【０２６８】
図１８に戻って、第２バスアービタ１４は、第２バス３３へ、第２バスアドレスＥＡＤ、第２バスアドレス出力イネーブル信号ＥＡＤＯＥ、外部データＥＤＡＯ、外部データ出力イネーブル信号ＥＤＡＯＥ、外部リードイネーブル信号ＥＲＤＥ、外部ライトイネーブル信号ＥＷＲＥ、下位バイトイネーブル信号ＬＷＢＥ、上位バイトイネーブル信号ＵＰＢＥ、第１領域セレクト信号ＡＳＳＥＬ１、及び第２領域セレクト信号ＡＳＳＥＬ２を出力する。
【０２６９】
第２バスアドレスＥＡＤは、第２バス３３のアドレスバス（図示せず）へ出力されるアドレス信号（２７ビット）である。
【０２７０】
外部データＥＤＡＯは、第２バス３３のデータバス（図示せず）へ出力されるデータ（１６ビット）である。外部データ出力イネーブル信号ＥＤＡＯＥは、第２バス３３のデータバスを外部バス４３のデータバスへ接続する３ステートバッファ（図示せず）を制御し、出力／Ｈｉ−Ｚ（ハイインピーダンス）を切り換える信号である。
【０２７１】
外部リードイネーブル信号ＥＲＤＥは、第２バス３３のコントロールバス（図示せず）へ出力されるリードイネーブル信号である。外部ライトイネーブル信号ＥＷＲＥは、第２バス３３のコントロールバスへ出力されるライトイネーブル信号である。
【０２７２】
下位バイトイネーブル信号ＬＷＢＥは、第２バス３３のデータバスの下位バイトのイネーブル信号である。上位バイトイネーブル信号ＵＰＢＥは、第２バス３３のデータバスの上位バイトのイネーブル信号である。
【０２７３】
第１領域セレクト信号ＡＳＳＥＬ１は、プロセッサ１００の論理アドレス空間の第２バス第１領域を選択する信号である。第２領域セレクト信号ＡＳＳＥＬ２は、プロセッサ１００の論理アドレス空間の第２バス第２領域を選択する信号である。なお、第２バス第０領域を選択する信号（第０領域セレクト信号ＡＳＳＥＬ０）は、第２バスアドレスＥＡＤ［２２］で代用する。
【０２７４】
第２バスアドレス出力イネーブル信号ＥＡＤＯＥは、第２バス３３のアドレスバス、コントロールバス（ＥＲＤＥ及びＥＷＲＥ）、下位バイトイネーブル信号ＬＷＢＥ、上位バイトイネーブル信号ＵＰＢＥ、第１領域セレクト信号ＡＳＳＥＬ１、及び第２領域セレクト信号ＡＳＳＥＬ２を外部バス４３に接続する３ステートバッファ（図示せず）を制御し、出力／Ｈｉ−Ｚ（ハイインピーダンス）を切り換える信号である。
【０２７５】
図２０は、図１８の第２バスアービタ１４の内部構成を示すブロック図である。図２０に示すように、第２バスアービタ１４は、第１バスインタフェース回路１４０、マルチプレクサ１４１、ＯＲ回路２１０、プライオリティデコーダ１４２、マルチプレクサ１４３〜１４６、レジスタ２３０〜２３３、スロットカウンタ１４７、ＯＲ回路１４８、アドレスデコーダ１４９、バイトイネーブル信号生成回路１５０、マルチプレクサ１５１〜１５３、デコーダ１５４、ステートマシン１５５、外部バス開放要求レジスタ１５６、第０領域バス幅レジスタ１６０、第１領域バス幅レジスタ１６１、第２領域バス幅レジスタ１６２、第０領域ランダムアクセスサイクル数レジスタ１７０、第１領域ランダムアクセスサイクル数レジスタ１７１、第２領域ランダムアクセスサイクル数レジスタ１７２、第０領域ページアクセスサイクル数レジスタ１８０、第１領域ページアクセスサイクル数レジスタ１８１、第２領域ページアクセスサイクル数レジスタ１８２、第０領域ページサイズレジスタ１９０、第１領域ページサイズレジスタ１９１、第２領域ページサイズレジスタ１９２、及び第０スロット優先順位レジスタ２００〜第７スロット優先順位レジスタ２０７、を含む。
【０２７６】
第１バスインタフェース回路１４０は、第１バス３１と、各制御レジスタ１５６，１６０〜１６２，１７０〜１７２，１８０〜１８２，１９０〜１９２，２００〜２０７と、を接続するためのインタフェースである。
【０２７７】
ここで、制御レジスタ１５６，１６０〜１６２，１７０〜１７２，１８０〜１８２，１９０〜１９２，２００〜２０７を包括して表現するときは、制御レジスタＣＲと表記する。
【０２７８】
ＣＰＵ１は、第１バスインタフェース回路１４０を介して、制御レジスタＣＲに値を書き込み、あるいは、値を読み出すことができる。具体的には、ＣＰＵ１は、内部ライトイネーブル信号ＩＲＷにより、リードを指定して、第１バスアドレスＩＡＤで指定した、第２バスアービタ１５内の制御レジスタＣＲのデータを、内部データＩＤＡＩとして読み出すことができる。また、ＣＰＵ１は、内部ライトイネーブル信号ＩＲＷにより、ライトを指定して、第１バスアドレスＩＡＤで指定した、第２バスアービタ１５内の制御レジスタＣＲに、内部データＩＤＡＯとして与えたデータを書き込むことができる。
【０２７９】
外部バス開放要求レジスタ１５６の値は、ステートマシン１５５に入力される。ＣＰＵ１により、外部バス開放要求レジスタ１５６に「１」がセットされると、ステートマシン１５５は、外部バス４３のアドレスバス、データバス及びコントロールバス（図示せず）をハイインピーダンスにする。例えば、他のデバイスがプロセッサ１００の外部バス４３を共有しており、他のデバイスからの外部バス使用要求があった場合などに、外部バス開放要求レジスタ１５６に「１」をセットする。
【０２８０】
第０領域バス幅レジスタ１６０には、第２バス第０領域にアクセスする際のデータバスのバス幅を示す情報がセットされる。第１領域バス幅レジスタ１６１には、第２バス第１領域にアクセスする際のデータバスのバス幅を示す情報がセットされる。第２領域バス幅レジスタ１６２には、第２バス第２領域にアクセスする際のデータバスのバス幅を示す情報がセットされる。本実施の形態では、第０領域バス幅レジスタ１６０、第１領域バス幅レジスタ１６１、及び第２領域バス幅レジスタ１６２の各々には、バス幅８ビットあるいは１６ビットを示す情報をセットできる。
【０２８１】
第０領域ランダムアクセスサイクル数レジスタ１７０には、第２バス第０領域にランダムアクセスする際のバスサイクル期間長を示すアクセスサイクル数（クロックサイクル数）を示す情報がセットされる。第１領域ランダムアクセスサイクル数レジスタ１７１には、第２バス第１領域にランダムアクセスする際のバスサイクル期間長を示すアクセスサイクル数（クロックサイクル数）を示す情報がセットされる。第２領域ランダムアクセスサイクル数レジスタ１７２には、第２バス第２領域にランダムアクセスする際のバスサイクル期間長を示すアクセスサイクル数（クロックサイクル数）を示す情報がセットされる。ここで、バスサイクル期間長（１バスサイクルの期間長）は、内部クロック信号ＩＣＬＫのサイクル数で定義される。
【０２８２】
本実施の形態では、第０領域ランダムアクセスサイクル数レジスタ１７０、第１領域ランダムアクセスサイクル数レジスタ１７１、及び第２領域ランダムアクセスサイクル数レジスタ１７２の各々には、内部ＩＣＬＫクロック信号の２〜８サイクルを示す情報を設定できる。
【０２８３】
第０領域ページアクセスサイクル数レジスタ１８０には、第２バス第０領域にページモードでアクセスする際のバスサイクル期間長を示すアクセスサイクル数（クロックサイクル数）を示す情報がセットされる。第１領域ページアクセスサイクル数レジスタ１８１には、第２バス第１領域にページモードでアクセスする際のバスサイクル期間長を示すアクセスサイクル数（クロックサイクル数）を示す情報がセットされる。第２領域ページアクセスサイクル数レジスタ１８２には、第２バス第２領域にページモードでアクセスする際のバスサイクル期間長を示すアクセスサイクル数（クロックサイクル数）を示す情報がセットされる。ここで、バスサイクル期間長（１バスサイクルの期間長）は、内部クロック信号ＩＣＬＫのサイクル数で定義される。
【０２８４】
本実施の形態では、第０領域ページアクセスサイクル数レジスタ１８０、第１領域ページアクセスサイクル数レジスタ１８１、及び第２領域ページアクセスサイクル数レジスタ１８２の各々には、内部ＩＣＬＫクロック信号の１〜４サイクルを示す情報を設定できる。
【０２８５】
第０領域ページサイズレジスタ１９０には、第２バス第０領域にページモードでアクセスする際のページサイズを示す情報がセットされる。第１領域ページサイズレジスタ１９１には、第２バス第１領域にページモードでアクセスする際のページサイズを示す情報がセットされる。第２領域ページサイズレジスタ１９２には、第２バス第２領域にページモードでアクセスする際のページサイズを示す情報がセットされる。本実施の形態では、第０領域ページサイズレジスタ１９０、第１領域ページサイズレジスタ１９１、及び第２領域ページサイズレジスタ１９２の各々には、０、４、８あるいは１６バイトを示す情報をセットできる。
【０２８６】
ＣＰＵ１は、外部メモリ４５〜４７の仕様に応じて、上記制御レジスタ１６０〜１６２，１７０〜１７２，１８０〜１８２，１９０〜１９２の値を設定できる。また、ＣＰＵ１は、上記制御レジスタ１６０〜１６２に対して別個独立に値をセットできるし、上記制御レジスタ１７０〜１７２に対して別個独立に値をセットできるし、上記制御レジスタ１８０〜１８２に対して別個独立に値をセットできるし、上記制御レジスタ１９０〜１９２に対して別個独立に値をセットできる。
【０２８７】
第０スロット優先順位レジスタ２００〜第７スロット優先順位レジスタ２０７の各々には、図１４の優先順位情報番号０〜３のいずれかがセットされる。例えば、第０スロット優先順位レジスタ２００〜第７スロット優先順位レジスタ２０７には、それぞれ、優先順位情報番号１、優先順位情報番号３、優先順位情報番号１、優先順位情報番号２、優先順位情報番号１、優先順位情報番号３、優先順位情報番号１、及び優先順位情報番号０がセットされる。なお、優先順位情報番号０〜３は２ビットにエンコードされている。従って、第０スロット優先順位レジスタ２００〜第７スロット優先順位レジスタ２０７の各々は、２ビットのレジスタである。
【０２８８】
ＣＰＵ１は、第０スロット優先順位レジスタ２００〜第７スロット優先順位レジスタ２０７に値をセットすることで、８スロットで１巡する優先順位情報番号０〜３の組み合わせを任意に設定できる。
【０２８９】
マルチプレクサ１４１は、スロットカウンタ１４７からの選択信号ＥＳＳＥＬに従って、第０スロット優先順位レジスタ２００〜第７スロット優先順位レジスタ２０７のうちの１つを選択し、選択した優先順位レジスタが保持している優先順位情報番号をプライオリティデコーダ１４２に出力する。
【０２９０】
プライオリティデコーダ１４２及びＯＲ回路２１０には、ＣＰＵ１から、命令フェッチ・バス要求信号ＥＩＦＢ及びデータアクセス・バス要求信号ＥＤＡＢが入力され、グラフィックプロセッサ３から、キャラクタヘッダ・バス要求信号ＥＣＨＢ、キャラクタデータ・バス要求信号ＥＣＤＢ、及びビットマップデータ・バス要求信号ＥＢＭＢが入力され、ピクセルプロッタ５から、ピクセルプロッタ・バス要求信号ＥＰＰＢが入力され、サウンドプロセッサ７から、ウェーブデータ・バス要求信号ＥＷＡＢ及びエンベロープデータ・バス要求信号ＥＥＶＢが入力され、ＤＭＡコントローラ９から、ＤＭＡソース・バス要求信号ＥＤＳＢが入力される。
【０２９１】
また、プライオリティデコーダ１４２には、ステートマシン１５５から、命令フェッチ・リード許可信号ＥＩＦＲＧ、データアクセス・リード許可信号ＥＤＡＲＧ、データアクセス・ライト受諾信号ＥＤＡＷＧ、キャラクタヘッダ・リード許可信号ＥＣＨＲＧ、キャラクタデータ・リード許可信号ＥＣＤＲＧ、ビットマップデータ・リード許可信号ＥＢＭＲＧ、ピクセルプロッタ・リード許可信号ＥＰＰＲＧ、ピクセルプロッタ・ライト受諾信号ＥＰＰＷＧ、ウェーブデータ・リード許可信号ＥＷＡＲＧ、エンベロープデータ・リード許可信号ＥＥＶＲＧ、及びＤＭＡソース・リード許可信号ＥＤＳＲＧが入力される。
【０２９２】
ここで、バス要求信号ＥＩＦＢ，ＥＤＡＢ，ＥＣＨＢ，ＥＣＤＢ，ＥＢＭＢ，ＥＰＰＢ，ＥＷＡＢ，ＥＥＶＢ，ＥＤＳＢを包括して表現するときは、第２バス使用要求信号ＳＢＵＲＱ、と表記する。
【０２９３】
プライオリティデコーダ１４２は、マルチプレクサ１４１から現在入力されている優先順位情報番号をデコードして、その優先順位情報番号が示す優先順位情報セットに従って、第２バス使用要求信号ＳＢＵＲＱを発行しているバスマスタから、現在第２バス３３を使用している第２バス使用要求要因を除いた中で、最も優先順位の高い（第２バス３３の使用許可を与える）バスマスタを選択する。具体的には、次の通りである。
【０２９４】
プライオリティデコーダ１４２は、デコードした優先順位情報番号に対応する優先順位情報セットに従って、アサートされている第２バス使用要求信号ＳＢＵＲＱに対応する第２バス使用要求要因のうち、現在第２バス３３を使用している第２バス使用要求要因を除いて最も優先順位の高い第２バス使用要求要因を選択する。ここで、現在第２バスを使用している第２バス使用要求要因は、ステートマシン１５５から送出される、第２バス使用許可信号ＳＡＧＲの状態から知ることができる。
【０２９５】
なお、第２バス使用許可信号ＳＡＧＲは、命令フェッチ・リード許可信号ＥＩＦＲＧ、データアクセス・リード許可信号ＥＤＡＲＧ、データアクセス・ライト受諾信号ＥＤＡＷＧ、キャラクタヘッダ・リード許可信号ＥＣＨＲＧ、キャラクタデータ・リード許可信号ＥＣＤＲＧ、ビットマップデータ・リード許可信号ＥＢＭＲＧ、ピクセルプロッタ・リード許可信号ＥＰＰＲＧ、ピクセルプロッタ・ライト受諾信号ＥＰＰＷＧ、ウェーブデータ・リード許可信号ＥＷＡＲＧ、エンベロープデータ・リード許可信号ＥＥＶＲＧ、及びＤＭＡソース・リード許可信号ＥＤＳＲＧを包括した表記である。
【０２９６】
また、プライオリティデコーダ１４２は、選択した第２バス使用要求要因に基づいて、バスマスタセレクト信号ＥＢＭＳＬ［８：０］を生成して、ステートマシン１５５およびマルチプレクサ１４３〜１４６に出力する。バスマスタセレクト信号ＥＢＭＳＬ［８：０］の各ビットは、９つの第２バス使用要求要因に対応している。プライオリティデコーダ１４２は、選択した（第２バス３３の使用許可を与える）第２バス使用要求要因に対応するビットを「１」に、他のビットを「０」にセットする。つまり、プライオリティデコーダ１４２は、デコーダした優先順位情報番号に対応する優先順位情報セットに従って、アサートされている第２バス使用要求信号ＳＢＵＲＱに対応する第２バス使用要求要因のうち、現在第２バス３３を使用している第２バス使用要求要因を除いて最も優先順位の高い第２バス使用要求要因に対応したビットを「１」にする。
【０２９７】
ＯＲ回路１４８には、ステートマシン１５５から、１１の第２バス使用許可信号ＳＡＧＲ（ＥＩＦＲＧ，ＥＤＡＲＧ，ＥＤＡＷＧ，ＥＣＨＲＧ，ＥＣＤＲＧ，ＥＢＭＲＧ，ＥＰＰＲＧ，ＥＰＰＷＧ，ＥＷＡＲＧ，ＥＥＶＲＧ，ＥＤＳＲＧ）が入力される。
【０２９８】
スロットカウンタ１４７は、ＯＲ回路１４８からの信号が、「０（偽）」から「１（真）」に遷移するたびに、選択信号ＥＳＳＥＬ［２：０］の値をインクリメントして、マルチプレクサ１４１に、第０スロット優先順位レジスタ２００〜第７スロット優先順位レジスタ２０７に格納されている優先順位情報番号を順次的かつ巡回的に選択させる。これは、バス使用許可が与えられたバスマスタの１または連続したバスサイクルの終端は、１１の第２バス使用許可信号ＳＡＧＲの論理和から求められるからである。
【０２９９】
ＯＲ回路２１０には、９つの第２バス使用要求信号ＳＢＵＲＱが入力され、そのうちの１つ以上の第２バス使用要求信号ＳＢＵＲＱが「１」の場合に、第２バス使用要求信号ＳＢＲをアサートする。
【０３００】
マルチプレクサ１４３〜１４６の各々の９つの入力は、９つの第２バス使用要求要因「命令フェッチ」，「データアクセス」，「キャラクタヘッダ」，「キャラクタデータ」，「ビットマップデータ」，「ピクセルプロッタ」，「ウェーブデータ」，「エンベロープデータ」，「ＤＭＡソース」に対応している。
【０３０１】
マルチプレクサ１４３の９つの入力には、命令フェッチ・アドレスＩＦＡ、データアクセス・アドレスＥＤＡＡ、キャラクタヘッダ・アドレスＥＣＨＡ、キャラクタデータ・アドレスＥＣＤＡ、ビットマップデータ・アドレスＥＢＭＡ、ピクセルプロッタ・アドレスＥＰＰＡ、ウェーブデータ・アドレスＥＷＡＡ、エンベロープデータ・アドレスＥＥＶＡ、及びＤＭＡソース・アドレスＥＤＳＡが入力される。
【０３０２】
マルチプレクサ１４３は、これら９つの入力アドレス信号のうち、バスマスタセレクト信号ＥＢＭＳＬが示す（第２バス３３の使用許可を与える）第２バス使用要求要因に対応するアドレス信号をレジスタ２３０に出力する。
【０３０３】
レジスタ２３０は、入力されたアドレス信号を保持するとともに、統一アドレスＣＡＤＲ［２６：０］として出力する。この場合、統一アドレスＣＡＤＲ［２６：１］はステートマシン１５５へ、統一アドレスＣＡＤＲ［０］はバイトイネーブル信号生成回路１５０へ出力される。また、統一アドレスＣＡＤＲ［２２：２１］はアドレスデコーダ１４９へも出力される。
【０３０４】
アドレスデコーダ１４９は、統一アドレスＣＡＤＲ［２２：２１］をデコードして、統一第１領域セレクト信号ＣＡＳＥＬ１及び統一第２領域セレクト信号ＣＡＳＥＬ２を生成し、マルチプレクサ１５１〜１５３、デコーダ１５４、及びステートマシン１５５に出力する。この点を図７を用いて詳しく説明する。
【０３０５】
図７の下段に示すように、アドレスＡ２２（統一アドレスＣＡＤＲ［２２］）が「０」のときは、第２バス第０領域を示し、アドレスＡ２２（統一アドレスＣＡＤＲ［２２］）が「１」かつアドレスＡ２１（統一アドレスＣＡＤＲ［２１］）が「０」のときは、第２バス第１領域を示し、アドレスＡ２２（統一アドレスＣＡＤＲ［２２］）が「１」かつアドレスＡ２１（統一アドレスＣＡＤＲ［２１］）が「１」のときは、第２バス第２領域を示す。
【０３０６】
従って、アドレスデコーダ１４９は、統一アドレスＣＡＤＲ［２２：２１］をデコードすることで、第２バス第０領域、第２バス第１領域、及び第２バス第２領域のうち、どの領域が選択されているかを判別できる。
【０３０７】
そして、アドレスデコーダ１４９は、統一アドレスＣＡＤＲ［２２：２１］が、第２バス第０領域を示している場合は、統一第１領域セレクト信号ＣＡＳＥＬ１及び統一第２領域セレクト信号ＣＡＳＥＬ２の双方をネゲートし、第２バス第１領域を示している場合は、統一第１領域セレクト信号ＣＡＳＥＬ１をアサート、統一第２領域セレクト信号ＣＡＳＥＬ２をネゲートし、第２バス第２領域を示している場合は、統一第１領域セレクト信号ＣＡＳＥＬ１をネゲート、統一第２領域セレクト信号ＣＡＳＥＬ２をアサートする。
【０３０８】
図２０に戻って、マルチプレクサ１５１は、統一第１領域セレクト信号ＣＡＳＥＬ１および統一第２領域セレクト信号ＣＡＳＥＬ２に従って、３つのバス幅レジスタ１６０〜１６２のうちの１つを選択し、選択したバス幅レジスタの値を、統一バス幅信号ＣＢＷとして、ステートマシン１５５に出力する。
【０３０９】
つまり、マルチプレクサ１５１は、第２バス第０領域、第２バス第１領域、及び第２バス第２領域のうち、統一アドレス信号ＣＡＤＲが示す領域に対応するバス幅レジスタの値を、統一バス幅信号ＣＢＷとする。
【０３１０】
マルチプレクサ１５２は、統一第１領域セレクト信号ＣＡＳＥＬ１および統一第２領域セレクト信号ＣＡＳＥＬ２に従って、３つのランダムアクセスサイクル数レジスタ１７０〜１７２のうちの１つを選択し、選択したランダムアクセスサイクル数レジスタの値を、統一ランダムアクセスサイクル数信号ＣＲＣＹとして、ステートマシン１５５に出力する。
【０３１１】
つまり、マルチプレクサ１５２は、第２バス第０領域、第２バス第１領域、及び第２バス第２領域のうち、統一アドレス信号ＣＡＤＲが示す領域に対応するランダムアクセスサイクル数レジスタの値を、統一ランダムアクセスサイクル数信号ＣＲＣＹとする。
【０３１２】
マルチプレクサ１５３は、統一第１領域セレクト信号ＣＡＳＥＬ１および統一第２領域セレクト信号ＣＡＳＥＬ２に従って、３つのページアクセスサイクル数レジスタ１８０〜１８２のうちの１つを選択し、選択したページアクセスサイクル数レジスタの値を、統一ページアクセスサイクル数信号ＣＰＣＹとして、ステートマシン１５５に出力する。
【０３１３】
つまり、マルチプレクサ１５３は、第２バス第０領域、第２バス第１領域、及び第２バス第２領域のうち、統一アドレス信号ＣＡＤＲが示す領域に対応するページアクセスサイクル数レジスタの値を、統一ページアクセスサイクル数信号ＣＰＣＹとする。
【０３１４】
デコーダ１５４は、統一第１領域セレクト信号ＣＡＳＥＬ１および統一第２領域セレクト信号ＣＡＳＥＬ２に従って、３つのページサイズレジスタ１９０〜１９２のうちの１つを選択し、選択したページサイズレジスタの値をデコードする。
【０３１５】
つまり、デコーダ１５４は、第２バス第０領域、第２バス第１領域、及び第２バス第２領域のうち、統一アドレス信号ＣＡＤＲが示す領域に対応するページレジスタの値をデコードする。
【０３１６】
そして、デコーダ１５４は、デコード結果を、統一ページ境界信号ＣＰＢとして、ステートマシン１５５に出力する。ページサイズレジスタ１９０〜１９２の各々は、２ビットであり、これにより、ページサイズ０、４、８、１６バイトを表している。デコーダ１５４は、この２ビットをデコードして、第２バスアドレスＥＡＤ［３：０］のマスクを示す統一ページ境界信号ＣＰＢ［３：０］を生成する。
【０３１７】
マルチプレクサ１４４の９つの入力には、命令フェッチ・サイズ信号ＥＩＦＳ、データアクセス・サイズ信号ＥＤＡＳとしての「１」、キャラクタヘッダ・サイズ信号ＥＣＨＳ、キャラクタデータ・サイズ信号ＥＣＤＳ、ビットマップデータ・サイズ信号ＥＢＭＳとしての「８」、ピクセルプロッタ・サイズ信号ＥＰＰＳ、ウェーブデータ・サイズ信号ＥＷＡＳとしての「１」、エンベロープデータ・サイズ信号ＥＥＶＳとしての「１」、及びＤＭＡソース・サイズ信号ＥＤＳＳが入力される。
【０３１８】
このように、データアクセス・サイズ信号ＥＤＡＳ、ウェーブデータ・サイズ信号ＥＷＡＳ、及びエンベロープデータ・サイズ信号ＥＥＶＳとして、「１」が固定値として入力されている。これは、図１９から分かるように、これらに対応する第２バス使用要求要因において、要求できるデータ転送のサイズは、１バイトで固定されているからである。なお、マルチプレクサ１４４に入力される「１」は、要求するデータ転送のサイズが１バイトであることを意味する。また、ビットマップデータ・サイズ信号ＥＢＭＳとして「８」が固定値として入力されている（図１９参照）。
【０３１９】
マルチプレクサ１４４は、上記９つの入力サイズ信号のうち、バスマスタセレクト信号ＥＢＭＳＬが示す（第２バス３３の使用許可を与える）第２バス使用要求要因に対応するサイズ信号をレジスタ２３１へ出力する。
【０３２０】
レジスタ２３１は、入力されたサイズ信号を保持するとともに、統一サイズ信号ＣＳＺとして、ステートマシン１５５へ出力する。
【０３２１】
マルチプレクサ１４５の９つの入力には、第２バス使用要求要因「命令フェッチ」に対応した「０」、データアクセス・ライトデータＥＤＡＷ、第２バス使用要求要因「キャラクタヘッダ」に対応した「０」、第２バス使用要求要因「キャラクタデータ」に対応した「０」、第２バス使用要求要因「ビットマップデータ」に対応した「０」、ピクセルプロッタ・ライトデータＥＰＰＷ、第２バス使用要求要因「ウェーブデータ」に対応した「０」、第２バス使用要求要因「エンベロープデータ」に対応した「０」、及び第２バス使用要求要因「ＤＭＡソース」に対応した「０」が入力される。
【０３２２】
この場合、「０」入力は、ライトデータがないことを意味する。なぜなら、第２バス使用要求要因「命令フェッチ」，「キャラクタヘッダ」，「キャラクタデータ」，「ビットマップデータ」，「ウェーブデータ」，「エンベロープデータ」，「ＤＭＡソース」では、ライトを行わないからである。
【０３２３】
マルチプレクサ１４５は、上記９つの入力ライトデータのうち、バスマスタセレクト信号ＥＢＭＳＬが示す（第２バス３３の使用許可を与える）第２バス使用要求要因に対応する入力データをレジスタ２３２へ出力する。
【０３２４】
レジスタ２３２は、入力されたライトデータを保持するとともに、統一ライトデータＣＷＤとして、ステートマシン１５５へ出力する。
【０３２５】
マルチプレクサ１４６の９つの入力には、第２バス使用要求要因「命令フェッチ」に対応した「０」、データアクセス・ライト要求信号ＥＤＡＷＲ、第２バス使用要求要因「キャラクタヘッダ」に対応した「０」、第２バス使用要求要因「キャラクタデータ」に対応した「０」、第２バス使用要求要因「ビットマップデータ」に対応した「０」、ピクセルプロッタ・ライト要求信号ＥＰＰＷＲ、第２バス使用要求要因「ウェーブデータ」に対応した「０」、第２バス使用要求要因「エンベロープデータ」に対応した「０」、及び第２バス使用要求要因「ＤＭＡソース」に対応した「０」が入力される。
【０３２６】
この場合、「０」入力は、ライト要求がないことを意味する。なぜなら、第２バス使用要求要因「命令フェッチ」，「キャラクタヘッダ」，「キャラクタデータ」，「ビットマップデータ」，「ウェーブデータ」，「エンベロープデータ」，「ＤＭＡソース」では、ライトを行わないからである。
【０３２７】
マルチプレクサ１４５は、上記９つの入力信号のうち、バスマスタセレクト信号ＥＢＭＳＬが示す（第２バス３３の使用許可を与える）第２バス使用要求要因に対応する入力信号をレジスタ２３３に出力する。
【０３２８】
レジスタ２３３は、入力された信号を保持するとともに、統一ライト要求信号ＣＷＲＱとして、ステートマシン１５５へ出力する。
【０３２９】
バイトイネーブル信号生成回路１５０は、統一アドレスＣＡＤＲ［０］、統一バス幅信号ＣＢＷ、及び統一ライト要求信号ＣＷＲＱに基づいて、統一下位バイトイネーブル信号ＣＬＷＢＥ及び統一上位バイトイネーブル信号ＣＵＰＢＥを生成して、ステートマシン１５５へ出力する。具体的には次の通りである。
【０３３０】
まず、統一ライト要求信号ＣＷＲＱが「０」の場合（リードの場合）を説明する。バイトイネーブル信号生成回路１５０は、統一バス幅信号ＣＢＷがデータバス幅１６ビットを示しているときは、統一アドレスＣＡＤＲ［０］に関係なく、統一下位バイトイネーブル信号ＣＬＷＢＥ及び統一上位バイトイネーブル信号ＣＵＰＢＥの双方をアサートする。
【０３３１】
一方、バイトイネーブル信号生成回路１５０は、統一バス幅信号ＣＢＷがデータバス幅８ビットを示しているときは、統一アドレスＣＡＤＲ［０］が「０」であるときは統一下位バイトイネーブル信号ＣＬＷＢＥをアサートし、統一上位バイトイネーブル信号ＣＵＰＢＥをネゲートし、統一アドレスＣＡＤＲ［０］が「１」であるときは統一下位バイトイネーブル信号ＣＬＷＢＥをネゲートし、統一上位バイトイネーブル信号ＣＵＰＢＥをアサートする。
【０３３２】
以上のように、リードは、バス幅が１６ビットに設定されている領域において、１６ビット単位で行われ、バス幅が８ビットに設定されている領域において、８ビット単位で行われる。
【０３３３】
次に、統一ライト要求信号ＣＷＲＱが「１」の場合（ライトの場合）を説明する。バイトイネーブル信号生成回路１５０は、統一バス幅信号ＣＢＷの値に関係なく、統一アドレスＣＡＤＲ［０］が「０」であるときは、統一下位バイトイネーブル信号ＣＬＷＢＥをアサートし、統一上位バイトイネーブル信号ＣＵＰＢＥをネゲートし、統一アドレスＣＡＤＲ［０］が「１」であるときは、統一下位バイトイネーブル信号ＣＬＷＢＥをネゲートし、統一上位バイトイネーブル信号ＣＵＰＢＥをアサートする。
【０３３４】
以上のように、バス幅が１６ビットに設定されている領域、８ビットに設定されている領域のいずれにおいても、ライトは常に８ビット単位で行われる。
【０３３５】
ステートマシン１５５は、第２バス３３へのアクセスを複数のステート（状態）ＩＤＬＥ，ＦＲＥＥ，ＷＲＩＴＥ，ＲＥＡＤ，ＳＴＥＡＬに分けて、第２バスアドレスＥＡＤ、第２バスアドレス出力イネーブル信号ＥＡＤＯＥ、外部データ出力ＥＤＡＯ、外部データ出力イネーブル信号ＥＤＡＯＥ、外部リードイネーブル信号ＥＲＤＥ、外部ライトイネーブル信号ＥＷＲＥ、下位バイトイネーブル信号ＬＷＢＥ、上位バイトイネーブル信号ＵＰＢＥ、第１領域セレクト信号ＡＳＳＥＬ１、及び第２領域セレクト信号ＡＳＳＥＬ２、並びに、命令フェッチ・上位バイトリード許可信号ＥＩＦＵＲ、命令フェッチ・下位バイトリード許可信号ＥＩＦＬＲ、データアクセス・下位バイトリード許可信号ＥＤＡＬＲ、データアクセス・上位バイトリード許可信号ＥＤＡＵＲ，データアクセス・ライト受諾信号ＥＤＡＷＧ，キャラクタヘッダ・下位バイトリード許可信号ＥＣＨＬＲ，キャラクタヘッダ・上位バイトリード許可信号ＥＣＨＵＲ、キャラクタデータ・下位バイトリード許可信号ＥＣＤＬＲ、キャラクタデータ・上位バイトリード許可信号ＥＣＤＵＲ、ビットマップデータ・下位バイトリード許可信号ＥＢＭＬＲ、ビットマップデータ・上位バイトリード許可信号ＥＢＭＵＲ、ピクセルプロッタ・下位バイトリード許可信号ＥＰＰＬＲ、ピクセルプロッタ・上位バイトリード許可信号ＥＰＰＵＲ、ピクセルプロッタ・ライト受諾信号ＥＰＰＷＧ、ウェーブデータ・下位バイトリード許可信号ＥＷＡＬＲ、ウェーブデータ・上位バイトリード許可信号ＥＷＡＵＲ、エンベロープデータ・下位バイトリード許可信号ＥＥＶＬＲ、エンベロープデータ・上位バイトリード許可信号ＥＥＶＵＲ、ＤＭＡソース・下位バイトリード許可信号ＥＤＳＬＲ、ＤＭＡソース・上位バイトリード許可信号ＥＤＳＵＲ、命令フェッチ・リード許可信号ＥＩＦＲＧ、データアクセス・リード許可信号ＥＤＡＲＧ、キャラクタヘッダ・リード許可信号ＥＣＨＲＧ、キャラクタデータ・リード許可信号ＥＣＤＲＧ、ビットマップデータ・リード許可信号ＥＢＭＲＧ、ピクセルプロッタ・リード許可信号ＥＰＰＲＧ、ウェーブデータ・リード許可信号ＥＷＡＲＧ、エンベロープデータ・リード許可信号ＥＥＶＲＧ、及びＤＭＡソース・リード許可信号ＥＤＳＲＧを制御する。
【０３３６】
図２１は、図２０のステートマシン１５５における状態遷移の説明図である。図２１に示すように、ＩＤＬＥステートＳＴ０は、第２バス３３に対する使用要求の無い空き状態である。ＦＲＥＥステートＳＴ１では、ステートマシン１５５は、ＣＰＵ１からの外部バス４３の開放要求に応じて（外部バス開放要求レジスタ１５６に「１」がセット）、第２バスアドレスＥＡＤ、外部データ出力ＥＤＡＯ、外部リードイネーブル信号ＥＲＤＥ、外部ライトイネーブル信号ＥＷＲＥ、下位バイトイネーブル信号ＬＷＢＥ、上位バイトイネーブル信号ＵＰＢＥ、第１領域セレクト信号ＡＳＳＥＬ１、及び第２領域セレクト信号ＡＳＳＥＬ２をＨｉ−Ｚ（ハイインピーダンス）にする。
【０３３７】
ＷＲＩＴＥステートＳＴ２は、ライトサイクルである。複数バイト連続でのライトが行われることがある。
【０３３８】
ＲＥＡＤステートＳＴ３は、リードサイクルである。複数バイト連続でのリードが行われることがある。ただし、一定バイト数連続でのリードが要求され、かつ、サウンドプロセッサ７からのリード要求がある場合には、サウンドプロセサ７からのリードアクセスを割り込ませるためにＳＴＥＡＬステートＳＴ４へ移行する。
【０３３９】
ＳＴＥＡＬステートＳＴ４は、サウンドプロセッサ７からのバス使用要求は緊急度が高いため、他のバスマスタのリードアクセス中に、割り込みアクセスをするためのステートである。
【０３４０】
図に沿って、状態遷移を説明する。なお、図中、「∧」は論理積、「∨」は論理和、「＜」及び「≧」は不等号、「＝」は等号、を意味する。
【０３４１】
本実施の形態では、図中の条件式を満足したとき、次の内部クロック信号ＩＣＬＫの立ち上がりで、満足した条件式に応じた状態へ遷移する。
【０３４２】
まず、ＩＤＬＥステートＳＴ０からの状態遷移を説明する。
【０３４３】
ステートマシン１５５は、外部バス開放要求レジスタ１５６の値が「１」になったとき、ＦＲＥＥステートＳＴ１へ移行する。
【０３４４】
また、ステートマシン１５５は、外部バス開放要求レジスタ１５６の値が「０」、かつ、第２バス使用要求信号ＳＢＲが「１」、かつ、統一ライト要求信号ＣＷＲＱが「１」になったときに、ＷＲＩＴＥステートＳＴ２へ移行する。
【０３４５】
さらに、ステートマシン１５５は、外部バス開放要求レジスタ１５６の値が「０」、かつ、第２バス使用要求信号ＳＢＲが「１」、かつ、統一ライト要求信号ＣＷＲＱが「０」になったときに、ＲＥＡＤステートＳＴ３へ移行する。なお、第２バス使用要求信号ＳＢＲが「１」であって、統一ライト要求信号ＣＷＲＱが「０」の場合は、リード要求を意味する。
【０３４６】
さらに、ステートマシン１５５は、外部バス開放要求レジスタ１５６の値が「０」、かつ、第２バス使用要求信号ＳＢＲが「０」になったときは、同じＩＤＬＥステートＳＴ０に移行する。
【０３４７】
次に、ＦＲＥＥステートＳＴ１からの状態遷移を説明する。
【０３４８】
ステートマシン１５５は、サイクルカウントＣＹＣが「１」、かつ、外部バス開放要求レジスタ１５６の値が「０」になったときに、ＩＤＬＥステートＳＴ０へ移行する。
【０３４９】
ここで、サイクルカウンタは、３ビットのカウンタである。ＦＲＥＥステートＳＴ１でのサイクルカウントＣＹＣの初期値は、「０」、つまり、「０ｂ０００」であり、内部クロックＩＣＬＫの１サイクルごとにデクリメントされる。サイクルカウントＣＹＣの初期値「０ｂ０００」は、内部クロックＩＣＬＫの８サイクルを意味する。
【０３５０】
次に、ＷＲＩＴＥステートＳＴ２からの状態遷移を説明する。
【０３５１】
ステートマシン１５５は、サイクルカウントＣＹＣが「１」、かつ、バイトカウントＢＹＣが「２」未満、外部バス開放要求レジスタ１５６の値が「０」、かつ、第２バス使用要求信号ＳＢＲが「０」になったときに、ＩＤＬＥステートＳＴ０へ移行する。
【０３５２】
ここで、ＷＲＩＴＥステートＳＴ２でのサイクルカウントＣＹＣの初期値は、統一ランダムアクセスサイクル数信号ＣＲＣＹが示すランダムアクセスサイクル数である。また、ＷＲＩＴＥステートＳＴ２でのバイトカウントＢＹＣの初期値は、統一サイズ信号ＣＳＺが示すサイズ（図１９参照）であり、１バイトのライトが終了するたびにデクリメントされる。
【０３５３】
また、ステートマシン１５５は、サイクルカウントＣＹＣが「１」、かつ、バイトカウントＢＹＣが「２」未満、かつ、外部バス開放要求レジスタ１５６の値が「１」になったときに、ＦＲＥＥステートＳＴ１へ移行する。
【０３５４】
さらに、ステートマシン１５５は、サイクルカウントＣＹＣが「１」、かつ、バイトカウントＢＹＣが「２」未満、かつ、外部バス開放要求レジスタ１５６の値が「０」、かつ、第２バス使用要求信号ＳＢＲが「１」、かつ、統一ライト要求信号ＣＷＲＱが「１」になったときは、同じＷＲＩＴＥステートＳＴ２に移行する。
【０３５５】
さらに、ステートマシン１５５は、サイクルカウントＣＹＣが「１」、かつ、バイトカウントＢＹＣが「２」未満、かつ、外部バス開放要求レジスタ１５６の値が「０」、かつ、第２バス使用要求信号ＳＢＲが「１」、かつ、統一ライト要求信号ＣＷＲＱが「０」になったときに、ＲＥＡＤステートＳＴ３へ移行する。
【０３５６】
次に、ＲＥＡＤステートＳＴ３からの状態遷移について説明する。
【０３５７】
ステートマシン１５５は、サイクルカウントＣＹＣが「１」、かつ、図２１の条件１が「偽」、かつ、外部バス開放要求レジスタ１５６の値が「０」、かつ、第２バス使用要求信号ＳＢＲが「０」になったときに、ＩＤＬＥステートＳＴ０へ移行する。
【０３５８】
ここで、ＲＥＡＤステートＳＴ３でのサイクルカウントＣＹＣの初期値は、統一ランダムアクセスサイクル数信号ＣＲＣＹが示すランダムアクセスサイクル数あるいは統一ページアクセスサイクル数信号ＣＰＣＹが示すページアクセスサイクル数である。
【０３５９】
条件１は、第２バス幅信号ＳＢＷが「１」かつ第２バスアドレスＥＡＤ［０］が「０」かつバイトカウントＢＹＣが「３」以上、あるいは、第２バス幅信号ＳＢＷが「１」かつ第２バスアドレスＥＡＤ［０］が「１」かつバイトカウントＢＹＣが「２」以上、あるいは、第２バス幅信号ＳＢＷが「０」かつバイトカウントＢＹＣが「２」以上、のいずれかのときに「真」になる条件である。
【０３６０】
第２バス幅信号ＳＢＷが「０」のときは、要求されたバス幅が８ビットであることを意味し、「１」のきは、要求されたバス幅が１６であることを意味する。また、ＲＥＡＤステートＳＴ３でのバイトカウントＢＹＣの初期値は、統一サイズ信号ＣＳＺが示すサイズ（図１９参照）であり、１バイトのリードが終了するたびにデクリメントされる。また、第２バスアドレスＥＡＤ［０］が「０」のとき、１６ビットデータの下位バイトが指し示され、「１」のとき、１６ビットデータの上位バイトが指し示される。
【０３６１】
従って、条件１が「真」ということは、要求されたバス幅が１６ビットの場合において、現在の第２バスアドレスＥＡＤ［０］が下位バイトを示し、残りのリードデータが、３バイト以上であるため、１バスサイクルで、残りのリードデータ全てをリードできないこと、あるいは、要求されたバス幅が１６ビットの場合において、現在の第２バスアドレスＥＡＤ［０］が上位バイトを示し、残りのリードデータが、２バイト以上であるため、１バスサイクルで、残りのリードデータ全てをリードできないこと、あるいは、要求されたバス幅が８ビットの場合において、残りのリードデータが、２バイト以上であるため、１バスサイクルで、残りのリードデータ全てをリードできないこと、を意味する。
【０３６２】
逆に、条件１が「偽」ということは、要求されたバス幅が１６ビットの場合において、現在の第２バスアドレスＥＡＤ［０］が下位バイトを示し、残りのリードデータが、２バイト以下であるため、１バスサイクルで、残りのリードデータ全てをリードできること、あるいは、要求されたバス幅が１６ビットの場合において、現在の第２バスアドレスＥＡＤ［０］が上位バイトを示し、残りのリードデータが、１バイトであるため、１バスサイクルで、残りのリードデータ全てをリードできること、あるいは、要求されたバス幅が８ビットの場合において、残りのリードデータが、１バイトであるため、１バスサイクルで、残りのリードデータ全てをリードできること、を意味する。
【０３６３】
さて、ステートマシン１５５は、サイクルカウントＣＹＣが「１」、かつ、条件１が「偽」、かつ、外部バス開放要求レジスタ１５６の値が「１」になったときに、ＦＲＥＥステートＳＴ１へ移行する。
【０３６４】
また、ステートマシン１５５は、サイクルカウントＣＹＣが「１」、かつ、条件１が「偽」、かつ、外部バス開放要求レジスタ１５６の値が「０」、かつ、第２バス使用要求信号ＳＢＲが「１」、かつ、統一ライト要求信号ＣＷＲＱが「１」になったときに、ＷＲＩＴＥステートＳＴ２へ移行する。
【０３６５】
さらに、ステートマシン１５５は、サイクルカウントＣＹＣが「１」、かつ、条件１が「偽」、かつ、外部バス開放要求レジスタ１５６の値が「０」、かつ、第２バス使用要求信号ＳＢＲが「１」、かつ、統一ライト要求信号ＣＷＲＱが「０」になったときは、同じＲＥＡＤステートＳＴ３に移行する。
【０３６６】
さらに、ステートマシン１５５は、サイクルカウントＣＹＣが「１」、かつ、条件１が「真」、かつ、図２１に示された条件２が「真」になったときに、ＳＴＥＡＬステートＳＴ４へ移行する。
【０３６７】
ここで、条件２は、ウェーブデータ・バス要求信号ＥＷＡＢが「１」あるいはエンベロープデータ・バス要求信号ＥＥＶＢが「１」のときに「真」になる条件である。
【０３６８】
従って、サウンドプロセッサ７以外のバスマスタがリードアクセス中の場合でも、サイクルカウントＣＹＣが「１」のときに、サウンドプロセッサ７から、ウェーブデータ・バス要求信号ＥＷＡＢあるいはエンベロープデータ・バス要求信号ＥＥＶＢが発行されると、ＳＴＥＡＬステートＳＴ４に移行し、サウンドプロセッサ７のリードアクセスを割り込ませる。ただし、ＳＴＥＡＬステートＳＴ４への移行は、条件１が「真」であることが条件なので、１バスサイクルでは、残りのリードデータ全てがリード不可能なことが条件となる。言い換えると、条件１が「偽」のために、１バスサイクルで、残りのリードデータ全てがリード可能なときは、該バスマスタのリードアクセスを終了させるべく、ＲＥＡＤステートＳＴ３が維持される。
【０３６９】
次に、ＳＴＥＡＬステートＳＴ４からの状態遷移を説明する。
【０３７０】
ステートマシン１５５は、サイクルカウントＣＹＣが「１」になったときに、ＲＥＡＤステートＳＴ３へ移行する。
【０３７１】
さて、次に、ＨＤＬ（ｈａｒｄｗａｒｅ  ｄｅｓｃｒｉｐｔｉｏｎ  ｌａｎｇｕａｇｅ）によるステートマシン１５５の記述を基に、図２１の状態遷移を詳細に説明する。この場合、次のことを前提とする。上記と同様に、論理は、次の内部クロック信号ＩＣＬＫの立ち上がりで反映される。また、基本的に正論理で記載する。ただし、統一下位バイトイネーブル信号ＣＬＷＢＥ、統一上位バイトイネーブル信号ＣＵＰＢＥ、上位バイトイネーブル信号ＵＰＢＥ、及び下位バイトイネーブル信号ＬＷＢＥは、負論理とする。また、「＝」は、条件文では等号を意味し、それ以外では代入を意味する。
【０３７２】
また、下記の説明における、ライト受諾信号ＷＲＡＣ、ライトデータ保持値ＷＤＳＶ、ランダムアクセスサイクル数保持値ＲＡＣＳＶ、第２バスアドレス保持値ＥＡＤＳＶ、第１領域セレクト保持値ＦＳＳＶ、第２領域セレクト保持値ＳＳＳＶ、第２バス幅信号ＳＢＷ、第２バス幅保持値ＳＢＷＳＶ、リード許可信号ＲＥＧＲ、リード許可保持値ＲＥＧＲＳＶ、ページアクセスサイクル数保持値ＰＡＣＳＶ、下位バイトリード許可信号ＬＷＲＧ、及び上位バイトリード許可信号ＵＰＲＧは、ステートマシン１５５の内部信号であるため、図２０には示されていない。
【０３７３】
［ＩＤＬＥステートＳＴ０］
【０３７４】
ステートマシン１５５は、第２バスアドレス出力イネーブル信号ＥＡＤＯＥ＝１、外部データ出力イネーブル信号ＥＤＡＯＥ＝０（つまり、第２バス３３のデータバスをＨｉ−Ｚにする。）、外部ライトイネーブル信号ＥＷＲＥ＝０、及び、外部リードイネーブル信号ＥＲＤＥ＝０、とする。
【０３７５】
もし、外部バス開放要求レジスタ１５６＝１ならば、後述のＦＲＥＥ共通論理を実行し、それ以外で、第２バス使用要求信号ＳＢＲ＝１ならば、後述のＡＣＣＥＳＳ共通論理を実行し、さらにそれ以外の場合は、後述のＩＤＬＥ共通論理を実行する。
【０３７６】
［ＦＲＥＥステートＳＴ１］
【０３７７】
（１）＜サイクルカウントＣＹＣ≠１の場合＞
【０３７８】
ステートマシン１５５は、サイクルカウントＣＹＣを１つデクリメントする。
【０３７９】
（２）＜サイクルカウントＣＹＣ≠１でない場合、つまり、サイクルカウントＣＹＣ＝１の場合＞
【０３８０】
ステートマシン１５５は、第２バスアドレス出力イネーブル信号ＥＡＤＯＥ＝０とする。
【０３８１】
もし、外部バス開放要求レジスタ１５６＝０ならば、ステートマシン１５５は、第２バスアドレス出力イネーブルＥＡＤＯＥ＝１、ステートをＩＤＬＥステートＳＴ０とする。
【０３８２】
［ＷＲＩＴＥステートＳＴ２］
【０３８３】
（１）＜サイクルカウントＣＹＣ≠１の場合＞
【０３８４】
（１−１）ステートマシン１５５は、ライト受諾信号ＷＲＡＣ［８：０］＝０ｂ０００００００００、外部ライトイネーブル信号ＥＷＲＥ＝１、外部データ出力イネーブル信号ＥＤＡＯＥ＝１、とする。ここで、ライト受諾信号ＷＲＡＣ［８：０］をネゲートしているのは、バスサイクルの途中であるため、外部メモリ４５〜４７へのデータの書き込みが完了していないからである。
【０３８５】
（１−２）もし、第２バスアドレスＥＡＤ［０］＝１ならば、ステートマシン１５５は、外部データＥＤＡＯ［１５：８］＝ライトデータ保持値ＷＤＳＶ［１５：８］、外部データＥＤＡＯ［７：０］＝ライトデータ保持値ＷＤＳＶ［１５：８］、とする。ライトは、バイト単位で行われるので、外部メモリ４５〜４７にライトされるのは、データバス幅が１６ビットの場合には外部データＥＤＡＯ［１５：８］、データバス幅が８ビットの場合には外部データＥＤＡＯ［７：０］である。
【０３８６】
一方、第２バスアドレスＥＡＤ［０］＝１以外、つまり、第２バスアドレスＥＡＤ［０］＝０の場合は、ステートマシン１５５は、外部データＥＤＡＯ［１５：０］＝ライトデータ保持値ＷＤＳＶ［１５：０］、とする。ライトは、バイト単位で行われるので、外部メモリ４５〜４７にライトされるのは、外部データＥＤＡＯ［７：０］である。
【０３８７】
（１−３）ステートマシン１５５は、サイクルカウントＣＹＣを１つデクリメントする。
【０３８８】
（２）＜サイクルカウントＣＹＣ≠１でない場合、つまりサイクルカウントＣＹＣ＝１の場合で、バイトカウントＢＹＣ≧２の場合＞
【０３８９】
ステートマシン１５５は、ライト受諾信号ＷＲＡＣ［８：０］＝０ｂ０００００００００、外部ライトイネーブル信号ＥＷＲＥ＝０、外部データ出力イネーブル信号ＥＤＡＯＥ＝０、サイクルカウントＣＹＣ＝ランダムアクセスサイクル数保持値ＲＡＣＳＶ、第２バスアドレスＥＡＤ［２６：０］＝第２バスアドレスＥＡＤ［２６：０］＋１、上位バイトイネーブル信号ＵＰＢＥ＝第２バスアドレスＥＡＤ［０］を論理反転した値、とする。また、バイトカウントＢＹＣを１つデクリメントする。ここで、ライト受諾信号ＷＲＡＣ［８：０］をネゲートしているのは、ライトするデータが残っているからである。
【０３９０】
（３）＜サイクルカウントＣＹＣ≠１でない場合、つまりサイクルカウントＣＹＣ＝１の場合で、バイトカウント≧２でない場合、つまりバイトカウント＝１の場合＞
【０３９１】
ステートマシン１５５は、外部ライトイネーブル信号ＥＷＲＥ＝０、外部データ出力イネーブル信号ＥＤＡＯＥ＝０、とする。もし、外部バス開放要求レジスタ１５６＝１ならば、後述のＦＲＥＥ共通論理を実行し、それ以外で、第２バス使用要求信号ＳＢＲ＝１ならば、後述のＡＣＣＥＳＳ共通論理を実行し、さらにそれ以外の場合は、後述のＩＤＬＥ共通論理を実行する。
【０３９２】
［ＲＥＡＤステートＳＴ３］
【０３９３】
（１）ステートマシン１５５は、外部ライトイネーブル信号ＥＷＲＥ＝０、外部データ出力イネーブル信号ＥＤＡＯＥ＝０、とする。
【０３９４】
（２）＜サイクルカウントＣＹＣ≠１の場合＞
【０３９５】
ステートマシン１５５は、サイクルカウントＣＹＣを１つデクリメントし、外部リードイネーブル信号ＥＲＤＥ＝１、とする。
【０３９６】
（３）＜サイクルカウントＣＹＣ≠１でない場合、つまり、サイクルカウントＣＹＣ＝１の場合であって、図２１の条件１が「真」の場合＞
【０３９７】
（３−１）＜図２１の条件２が「真」の場合＞
【０３９８】
（３−１−１）ステートマシン１５５は、外部リードイネーブル信号ＥＲＤＥ＝０とする。
【０３９９】
（３―１−２）もし、第２バス幅信号ＳＢＷ＝１かつ第２バスアドレスＥＡＤ［０］＝０かつバイトカウントＢＹＣ≧３の場合は、ステートマシン１５５は、バイトカウントＢＹＣを２つデクリメントし、第２バスアドレス保持値ＥＡＤＳＶ［２６：０］＝第２バスアドレスＥＡＤ［２６：０］＋２、とする。一方、それ以外の場合であって、バイトカウントＢＹＣ≧２のときは、ステートマシン１５５は、バイトカウントＢＹＣを１つデクリメントし、第２バスアドレス保持値ＥＡＤＳＶ［２６：０］＝第２バスアドレスＥＡＤ［２６：０］＋１、とする。
【０４００】
（３−１−３）ステートマシン１５５は、第２バスアドレスＥＡＤ［２６：１］＝統一アドレスＣＡＤＲ［２６：１］、第２バスアドレスＥＡＤ［０］＝統一下位バイトイネーブル信号ＣＬＷＢＥ、第１領域セレクト信号ＡＳＳＥＬ１＝統一第１領域セレクト信号ＣＡＳＥＬ１、第２領域セレクト信号ＡＳＳＥＬ２＝統一第２領域セレクト信号ＣＡＳＥＬ２、第２バス幅保持値ＳＢＷＳＶ＝第２バス幅信号ＳＢＷ、第２バス幅信号ＳＢＷ＝統一バス幅信号ＣＢＷ、上位バイトイネーブル信号ＵＰＢＥ＝統一上位バイトイネーブル信号ＣＵＰＢＥ、サイクルカウントＣＹＣ＝統一ランダムアクセスサイクル数信号ＣＲＣＹ、リード許可保持値ＲＥＧＲＳＶ＝リード許可信号ＲＥＧＲ、リード許可信号ＲＥＧＲ＝バスマスタセレクト信号ＥＢＭＳＬ、ステートをＳＴＥＡＬステートＳＴ４とする。
【０４０１】
（３−２）＜図２１の条件２が「偽」の場合＞
【０４０２】
（３−２−１）ステートマシン１５５は、第１領域セレクト信号ＡＳＳＥＬ１＝第１領域セレクト保持値ＦＳＳＶ、第２領域セレクト信号ＡＳＳＥＬ２＝第２領域セレクト保持値ＳＳＳＶ、とする。
【０４０３】
（３−２−２）もし、第２バス幅信号ＳＢＷ＝１かつ第２バスアドレスＥＡＤ［０］＝０かつバイトカウントＢＹＣ≧３の場合は、ステートマシン１５５は、バイトカウントＢＹＣを２つデクリメントし、第２バスアドレスＥＡＤ［２６：０］＝第２バスアドレスＥＡＤ［２６：０］＋２、とする。一方、それ以外の場合であって、バイトカウントＢＹＣ≧２のときは、ステートマシン１５５は、バイトカウントＢＹＣを１つデクリメントし、第２バスアドレスＥＡＤ［２６：０］＝第２バスアドレスＥＡＤ［２６：０］＋１、とする。
【０４０４】
（３−２−３）もし、第２バス幅信号ＳＢＷ＝１の場合は、ステートマシン１５５は、上位バイトイネーブル信号ＵＰＢＥ＝０、とし、それ以外の場合は、つまり、第２バス幅信号ＳＢＷ＝０の場合は、ステートマシン１５５は、上位バイトイネーブル信号ＵＰＢＥ＝第２バスアドレスＥＡＤ［０］を論理反転した値、とする。
【０４０５】
（３−２−４）＜第２バス幅信号ＳＢＷ＝１の場合＞
【０４０６】
もし、第２バスアドレスＥＡＤ［３：１］の各ビットと、統一ページ境界信号ＣＰＢ［３：１］の各ビットと、の論理和が、「０ｂ１１１」でない場合は、ステートマシン１５５は、サイクルカウントＣＹＣ＝統一ページアクセスサイクル数信号ＣＰＣＹ、外部リードイネーブル信号ＥＲＤＥ＝１、とする。一方、第２バスアドレスＥＡＤ［３：１］の各ビットと、統一ページ境界信号ＣＰＢ［３：１］の各ビットと、の論理和が、「０ｂ１１１」である場合は、ステートマシン１５５は、サイクルカウントＣＹＣ＝ランダムアクセスサイクル数保持値ＲＡＣＳＶ、外部リードイネーブル信号ＥＲＤＥ＝０、とする。これらの点を詳しく説明する。
【０４０７】
デコーダ１５４は、本実施の形態では、例えば、ページサイズが０バイトのときページ境界信号ＣＰＢを「０ｂ１１１１」とし、４バイトのときページ境界信号ＣＰＢを「０ｂ１１００」とし、８バイトのときページ境界信号ＣＰＢを「０ｂ１０００」とし、１６バイトのときページ境界信号ＣＰＢを「０ｂ００００」とする。
【０４０８】
ここで、第２バス幅信号ＳＢＷ＝１ということは、第２バス３３のデータバス幅が１６ビット、つまり、外部メモリ４５〜４７の１ワードが１６ビットで構成されている場合である。この場合、次のワードを指し示すために第２バスアドレスＥＡＤが変化するとき、第２バスアドレスＥＡＤ［０］は「０」を示したまま変化せず、第２バスアドレスＥＡＤ［２６：１］の値がインクリメントされる。
【０４０９】
このことを踏まえた上で、ページ境界信号ＣＰＢ［３：０］が「０ｂ１１００」（４バイトを示す。）の場合を例に説明を行う。この場合、ページサイズが４バイトであるから、第２バスアドレスＥＡＤ［３：１］が、例えば、「０ｂ０００」、「０ｂ００１」の範囲は同一ページ内である。つまり、１ページが４バイトのときは、同一ページ内では、第２バスアドレスＥＡＤ［１］が、「０ｂ０」→「０ｂ１」と変化する。
【０４１０】
従って、４バイトのページの最後のワードでは、第２バスアドレスＥＡＤ［１］が「０ｂ１」になる。よって、ページ境界信号ＣＰＢ［３：１］（０ｂ１１０）の各ビットと、ページの最後のワードを示す第２バスアドレスＥＡＤ［３：１］（０ｂ＊＊１）の各ビットと、の論理和は、必ず、「０ｂ１１１」となる。このようにして、第２バスアドレスＥＡＤが指し示すワードが、ページの最後のワードか否かが判別される。なお、「＊」は任意の値である。
【０４１１】
（３−２−５）＜第２バス幅信号ＳＢＷ＝０の場合＞
【０４１２】
もし、第２バスアドレスＥＡＤ［３：０］の各ビットと、統一ページ境界信号ＣＰＢ［３：０］の各ビットと、の論理和が、「０ｂ１１１１」でない場合は、ステートマシン１５５は、サイクルカウントＣＹＣ＝統一ページアクセスサイクル数信号ＣＰＣＹ、外部リードイネーブル信号ＥＲＤＥ＝１、とする。一方、第２バスアドレスＥＡＤ［３：０］の各ビットと、統一ページ境界信号ＣＰＢ［３：０］の各ビットと、の論理和が、「０ｂ１１１１」である場合は、ステートマシン１５５は、サイクルカウントＣＹＣ＝ランダムアクセスサイクル数保持値ＲＡＣＳＶ、外部リードイネーブル信号ＥＲＤＥ＝０、とする。これらの点を詳しく説明する。
【０４１３】
第２バス幅信号ＳＢＷ＝０ということは、第２バス３３のデータバス幅が８ビット、つまり、外部メモリ４５〜４７の１ワードが８ビットで構成されている場合である。この場合、次のワードを指し示すために第２バスアドレスＥＡＤが変化するとき、第２バスアドレスＥＡＤ［２６：０］の値がインクリメントされる。
【０４１４】
このことを踏まえた上で、ページ境界信号ＣＰＢが「０ｂ１１００」（４バイトを示す。）の場合を例に説明を行う。この場合、ページサイズが４バイトであるから、第２バスアドレスＥＡＤ［３：０］が、例えば、「０ｂ００００」、「０ｂ０００１」、「０ｂ００１０」、「０ｂ００１１」の範囲は同一ページ内である。つまり、１ページが４バイトのときは、同一ページ内では、第２バスアドレスＥＡＤ［１：０］が、「０ｂ００」→「０ｂ０１」→「０ｂ１０」→「０ｂ１１」と変化する。
【０４１５】
従って、４バイトのページの最後のワードでは、第２バスアドレスＥＡＤ［１：０］が「０ｂ１１」になる。よって、ページ境界信号ＣＰＢ［３：０］（０ｂ１１００）の各ビットと、ページの最後のワードを示す第２バスアドレスＥＡＤ［３：０］（０ｂ＊＊１１）の各ビットと、の論理和は、必ず、「０ｂ１１１１」となる。このようにして、第２バスアドレスＥＡＤが指し示すワードが、ページの最後のワードか否かが判別される。なお、「＊」は任意の値である。
【０４１６】
（４）＜ＲＥＡＤステートＳＴ３において、サイクルカウントＣＹＣ≠１でない場合、つまり、サイクルカウントＣＹＣ＝１の場合であって、図２１の条件１が「偽」の場合＞
【０４１７】
ステートマシン１５５は、外部リードイネーブルＥＲＤＥ＝０とする。もし、外部バス開放要求レジスタ１５６＝１ならば、後述のＦＲＥＥ共通論理を実行し、それ以外で、第２バス使用要求信号ＳＢＲ＝１ならば、後述のＡＣＣＥＳＳ共通論理を実行し、さらにそれ以外の場合は、後述のＩＤＬＥ共通論理を実行する。
【０４１８】
［ＳＴＥＡＬステートＳＴ４］
【０４１９】
（１）＜サイクルカウントＣＹＣ≠１の場合＞
【０４２０】
ステートマシン１５５は、外部リードイネーブル信号ＥＲＤＥ＝１とし、サイクルカウントＣＹＣを１つデクリメントする。
【０４２１】
（２）＜サイクルカウントＣＹＣ≠１でない場合、つまりサイクルカウントＣＹＣ＝１の場合＞
【０４２２】
（２−１）ステートマシン１５５は、外部リードイネーブル信号ＥＲＤＥ＝０、第２バスアドレスＥＡＤ［２６：０］＝第２バスアドレス保持値ＥＡＤＳＶ［２６：０］、第１領域セレクト信号ＡＳＳＥＬ１＝第１領域セレクト保持値ＦＳＳＶ、第２領域セレクト信号ＡＳＳＥＬ２＝第２領域セレクト保持値ＳＳＳＶ、第２バス幅信号ＳＢＷ＝第２バス幅保持値ＳＢＷＳＶ、とする。
【０４２３】
（２−２）もし、第２バス幅保持値ＳＢＷＳＶ＝１ならば、ステートマシン１５５は、上位バイトイネーブル信号ＵＰＢＥ＝０とし、それ以外ならば（つまり、第２バス保持値ＳＢＷＳＶ＝０ならば）、上位バイトイネーブル信号ＵＰＢＥに第２バスアドレス保持値ＥＡＤＳＶ［０］を反転した値を代入する。
【０４２４】
（２−３）ステートマシン１５５は、サイクルカウントＣＹＣ＝ランダムアクセスサイクル数保持値ＲＡＣＳＶ［２：０］、リード許可信号ＲＥＧＲ［８：０］＝リード許可保持値ＲＥＧＲＳＶ［８：０］、ステートをＲＥＡＤステートＳＴ３とする。
【０４２５】
［ＩＤＬＥ共通論理］
【０４２６】
ステートマシン１５５は、リード許可信号ＲＥＧＲ［８：０］＝０とし、ステートをＩＤＬＥステートＳＴ０とする。
【０４２７】
［ＦＲＥＥ共通論理］
【０４２８】
ステートマシン１５５は、第２バスアドレスＥＡＤ［２６：０］＝０ｘ４００００００、上位バイトイネーブル信号ＵＰＢＥ＝１、第１領域セレクト信号ＡＳＳＥＬ１＝０、第２領域セレクト信号ＡＳＳＥＬ２＝０、サイクルカウントＣＹＣ＝０、ステートをＦＲＥＥステートＳＴ１とする。
【０４２９】
ここで、「０ｘ４００００００」は、リード／ライトいずれのアクセスの際にも使用されないアドレスである。サイクルカウントＣＹＣが「０」ということは、１バスサイクルを８クロックサイクルとすることを表している。なお、下位バイトイネーブル信号ＬＷＢＥは、第２バスアドレスＥＡＤ［０］と同じ挙動をとる。
【０４３０】
［ＡＣＣＥＳＳ共通論理］
【０４３１】
（１）ステートマシン１５５は、第２バス幅信号ＳＢＷ＝統一バス幅信号ＣＢＷ、第２バスアドレスＥＡＤ［２６：１］＝統一アドレスＣＡＤＲ［２６：１］、第２バスアドレスＥＡＤ［０］＝統一下位バイトイネーブル信号ＣＬＷＢＥ、上位バイトイネーブル信号ＵＰＢＥ＝統一上位バイトイネーブル信号ＣＵＰＢＥ、第１領域セレクト信号ＡＳＳＥＬ１＝統一第１領域セレクト信号ＣＡＳＥＬ１、第１領域セレクト保持値ＦＳＳＶ＝統一第１領域セレクト信号ＣＡＳＥＬ１、第２領域セレクト信号ＡＳＳＥＬ２＝統一第２領域セレクト信号ＣＡＳＥＬ２、第２領域セレクト保持値ＳＳＳＶ＝統一第２領域セレクト信号ＣＡＳＥＬ２、サイクルカウントＣＹＣ＝統一ランダムアクセスサイクル数信号ＣＲＣＹ、ランダムアクセスサイクル数保持値ＲＡＣＳＶ＝統一ランダムアクセスサイクル数信号ＣＲＣＹ、ページアクセスサイクル数保持値ＰＡＣＳＶ＝統一ページアクセスサイクル数信号ＣＰＣＹ、及び、バイトカウントＢＹＣ＝統一サイズ信号ＣＳＺ、とする。
【０４３２】
（２）＜統一ライト要求信号ＣＷＲＱ＝１の場合＞
【０４３３】
ステートマシン１５５は、ライト受諾信号ＷＲＡＣ［８：０］＝バスマスタセレクト信号ＥＢＭＳＬ［８：０］、リード許可信号ＲＥＧＲ［８：０］＝０ｂ０００００００００、ライトデータ保持値ＷＤＳＶ［１５：０］＝統一ライトデータＣＷＤ［１５：０］、及び、ステートをＷＲＩＴＥステートＳＴ２とする。
【０４３４】
（３）＜統一ライト要求信号ＣＷＲＱ＝１以外の場合、つまり統一ライト要求信号ＣＷＲＱ＝０の場合＞
【０４３５】
ステートマシン１５５は、リード許可信号ＲＥＧＲ［８：０］＝バスマスタセレクト信号ＥＢＭＳＬ［８：０］、及びステートをＲＥＡＤステートＳＴ３とする。
【０４３６】
［リード許可信号生成論理］
【０４３７】
（１）＜サイクルカウンタＣＹＣ＝１の場合＞
【０４３８】
（１−１）＜第２バス幅信号ＳＢＷ＝１（１６ビットデータバス幅を意味）の場合＞
【０４３９】
ステートマシン１５５は、下位バイトリード許可信号ＬＷＲＧ［８：０］＝リード許可信号ＲＥＧＲ［８：０］、及び、上位バイトリード許可信号ＵＰＲＧ［８：０］＝リード許可信号ＲＥＧＲ［８：０］、とする。
【０４４０】
（１−２）＜第２バス幅信号ＳＢＷ＝１以外の場合、つまり第２バス幅信号ＳＢＷ＝０（８ビットデータバス幅を意味）の場合＞
【０４４１】
第２バスアドレスＥＡＤ［０］＝０の場合は、ステートマシン１５５は、下位バイトリード許可信号ＬＷＲＧ［８：０］＝リード許可信号ＲＥＧＲ［８：０］、及び上位バイトリード許可信号ＵＰＲＧ［８：０］＝０ｂ０００００００００、とする。
【０４４２】
第２バスアドレスＥＡＤ［０］＝０以外の場合、つまり第２バスアドレスＥＡＤ［０］＝１の場合は、ステートマシン１５５は、下位バイトリード許可信号ＬＷＲＧ［８：０］＝０ｂ０００００００００、及び上位バイトリード許可信号ＵＰＲＧ［８：０］＝リード許可信号ＲＥＧＲ［８：０］、とする。
【０４４３】
（２）＜サイクルカウンタＣＹＣ＝１以外の場合＞
【０４４４】
ステートマシン１５５は、下位バイトリード許可信号ＬＷＲＧ［８：０］＝０ｂ０００００００００、及び上位バイトリード許可信号ＵＰＲＧ［８：０］＝０ｂ０００００００００、とする。
【０４４５】
（３）ステートマシン１５５は、リード許可信号ＲＥＧＲ［０］〜ＲＥＧＲ［８］を、それぞれ、ウェーブデータ・リード許可信号ＥＷＡＲＧ、エンべロープデータ・リード許可信号ＥＥＶＲＧ、ビットマップデータ・リード許可信号ＥＢＭＲＧ、キャラクタデータ・リード許可信号ＥＣＤＲＧ、キャラクタヘッダ・リード許可信号ＥＣＨＲＧ、ピクセルプロッタ・リード許可信号ＥＰＰＲＧ、ＤＭＡソース・リード許可信号ＥＤＳＲＧ、データアクセス・リード許可信号ＥＤＡＲＧ、及び命令フェッチ・リード許可信号ＥＩＦＲＧとする。
【０４４６】
（４）ステートマシン１５５は、下位バイトリード許可信号ＬＷＲＧ［０］〜ＬＷＲＧ［８］を、それぞれ、ウェーブデータ・下位バイトリード許可信号ＥＷＡＬＲ、エンべロープデータ・下位バイトリード許可信号ＥＥＶＬＲ、ビットマップデータ・下位バイトリード許可信号ＥＢＭＬＲ、キャラクタデータ・下位バイトリード許可信号ＥＣＤＬＲ、キャラクタヘッダ・下位バイトリード許可信号ＥＣＨＬＲ、ピクセルプロッタ・下位バイトリード許可信号ＥＰＰＬＲ、ＤＭＡソース・下位バイトリード許可信号ＥＤＳＬＲ、データアクセス・下位バイトリード許可信号ＥＤＡＬＲ、及び命令フェッチ・下位バイトリード許可信号ＥＩＦＬＲとする。
【０４４７】
（５）ステートマシン１５５は、上位バイトリード許可信号ＵＰＲＧ［０］〜ＵＰＲＧ［８］を、それぞれ、ウェーブデータ・上位バイトリード許可信号ＥＷＡＵＲ、エンべロープデータ・上位バイトリード許可信号ＥＥＶＵＲ、ビットマップデータ・上位バイトリード許可信号ＥＢＭＵＲ、キャラクタデータ・上位バイトリード許可信号ＥＣＤＵＲ、キャラクタヘッダ・上位バイトリード許可信号ＥＣＨＵＲ、ピクセルプロッタ・上位バイトリード許可信号ＥＰＰＵＲ、ＤＭＡソース・上位バイトリード許可信号ＥＤＳＵＲ、データアクセス・上位バイトリード許可信号ＥＤＡＵＲ、及び命令フェッチ・上位バイトリード許可信号ＥＩＦＵＲとする。
【０４４８】
［ライト受諾信号生成論理］
【０４４９】
ステートマシン１５５は、ライト受諾信号ＷＲＡＣ［５］がピクセルプロッタ・ライト受諾信号ＥＰＰＷＧとし、ライト受諾ＷＲＡＣ［７］がデータアクセス・ライト受諾信号ＥＤＡＷＧとする。
【０４５０】
さて、以上のように、本実施の形態では、現世代のプロセッサ１００のＣＰＵ１、グラフィックプロセッサ３、サウンドプロセッサ７、及びＤＭＡコントローラ９は、それぞれ、前世代のプロセッサ５００のＣＰＵ５０１、グラフィックプロセッサ５０３、サウンドプロセッサ５０７、及びＤＭＡコントローラ５０９と同じ機能を有する。但し、グラフィックプロセッサ３は、グラフィックプロセッサ５０３の機能に加え、新たに追加された機能を有する。
【０４５１】
そこで、現世代のプロセッサ１００において、ＣＰＵ１、グラフィックプロセッサ３、サウンドプロセッサ７、及びＤＭＡコントローラ９を、共通バスマスタ群と呼ぶ。そして、現世代のプロセッサ１００において、共通バスマスタ群に、ピクセルプロッタ５を加えたグループを、現世代バスマスタ群と呼ぶ。また、前世代のプロセッサ５００において、ＣＰＵ５０１、グラフィックプロセッサ５０３、サウンドプロセッサ５０７、及びＤＭＡコントローラ５０９を、共通バスマスタ群と呼ぶ。
【０４５２】
現世代のプロセッサ１００が有する第２バスアービタ１４の優先順位情報セットでは、１つのバスマスタに複数の第２バス使用要求要因が含まれる場合には、当該複数の第２バス使用要求要因に連続した優先順位が割り当てられる。このことを、図１４の優先順位情報番号０に対応する優先順位情報セットを例に挙げて説明する。例えば、グラフィックプロセッサ３には、３つの第２バス使用要求要因、つまり、キャラクタヘッダＨＤＲ、キャラクタデータＣＨＲ、及びビットマップデータＢＭＰが含まれ、これらにはそれぞれ、第３の優先順位、第４の優先順位、及び第５の優先順位というように、連続した優先順位が割り当てられている。このため、第２バスアービタ１４の優先順位情報セットは、バス使用要求要因毎にバス使用要求を行わない前世代のプロセッサ５００においても実行可能なソフトウェア（互換ソフトウェア）からは、バスマスタ毎に優先順位を定めたように見える。
【０４５３】
しかも、第２バスアービタ１４の優先順位情報セットにおける共通バスマスタ群のバスマスタ間の優先順位は、前世代のプロセッサ５００が有する第２バスアービタ５１４の優先順位情報セットにおける対応するバスマスタ間の優先順位と同じである。このことを、図１２の優先順位情報番号０に対応する優先順位情報セットおよび図１４の優先順位情報番号０に対応する優先順位情報セットを例に挙げて説明する。図１４に示すように、共通バスマスタ群に注目するとともに、第２バス使用要求要因を無視すれば、つまり、バスマスタだけに注目すると、優先順位は、高いほうから、サウンドプロセッサ７、グラフィックプロセッサ３、ＤＭＡコントローラ９、及びＣＰＵ１となる。一方、図１２に示すように、優先順位は、高いほうから、サウンドプロセッサ５０７、グラフィックプロセッサ５０３、ＤＭＡコントローラ５０９、及びＣＰＵ５０１となっている。これらのことから分かるように、共通バスマスタ群においては、バスマスタの優先順位は、第２バスアービタ１４と第２バスアービタ５１４とで同じである。
【０４５４】
以上のことは、現世代のプロセッサ１００の第１バスアービタ１２の優先順位情報と前世代のプロセッサ５００の第１バスアービタ５１２の優先順位情報との間の関係についても同様のことが言える。
【０４５５】
以上の結果、現世代のプロセッサ１００のバスマスタがバス使用要求要因毎にバス使用要求を行う場合においても、前世代のプロセッサ５００においても実行可能なソフトウェア（つまり、互換ソフトウェア）を正常に実行でき、バス調停に対する後方互換性が保持される。
【０４５６】
また、前世代のプロセッサ５００では、論理アドレス空間の第２バス第１領域にアクセスする際のアクセスサイクル数と、第２バス第２領域にアクセスする際のアクセスサイクル数と、は共通の値にしか設定できない。つまり、図１３に示すように、第２バス第１領域及び第２バス第２領域に対しては、アクセスサイクル数を設定するレジスタが共通である。
【０４５７】
一方、現世代のプロセッサ１００では、論理アドレス空間の第２バス第１領域にアクセスする際のアクセスサイクル数と、第２バス第２領域にアクセスする際のアクセスサイクル数と、を別個に設定できる。つまり、図１５に示すように、第２バス第１領域に対するランダムアクセスサイクル数を設定するレジスタ１７１と、第２バス第２領域に対するランダムアクセスサイクル数を設定するレジスタ１７２と、が独立して設けられる（図２０参照）。
【０４５８】
しかし、現世代のプロセッサ１００により実行された互換ソフトウェアが、図１５に示した仮想の第１及び第２領域アクセスサイクル数レジスタの内容を書き換える操作を行ったときに、つまり、現世代のプロセッサ１００により実行された互換ソフトウェアが、仮想の第１及び第２領域アクセスサイクル数レジスタが配置されるアドレス（前世代のプロセッサ５００の第１及び第２領域アクセスサイクル数レジスタのアドレスと同じアドレス）に対して書き込み動作を行ったときに、現世代のプロセッサ１００の第１領域ランダムアクセスサイクル数レジスタ１７１及び第２領域ランダムアクセスサイクル数レジスタ１７２の双方の内容が、仮想の第１及び第２領域アクセスサイクル数レジスタの内容（つまり、前世代のプロセッサ５００の第１及び第２領域アクセスサイクル数レジスタの内容）と同じになるように書き換えられる。
【０４５９】
その結果、アクセスサイクル数（つまり、アクセススピード）の観点からは、アドレス領域が、前世代のプロセッサ５００にとっては複数の領域に分割されていないが、現世代のプロセッサ１００にとっては複数の領域に分割されている場合でも、前世代のプロセッサ５００においても実行可能なソフトウェア（つまり、互換ソフトウェア）を正常に実行でき、アドレス領域へのアクセススピードに対する後方互換性が保持される。
【０４６０】
さらに、前世代のプロセッサ５００は、外部バス５４３に接続されたメモリ５４５〜５４７にページモードでアクセスする機能を備えていない。一方、現世代のプロセッサ１００は、外部バス４３に接続されたメモリ４５〜４７にページモードでアクセスする機能を備えている。
【０４６１】
しかし、現世代のプロセッサ１００により実行された互換ソフトウェアが、図１５に示した仮想の第０領域アクセスサイクル数レジスタの内容を書き換える操作を行ったときに、つまり、現世代のプロセッサ１００により実行された互換ソフトウェアが、仮想の第０領域アクセスサイクル数レジスタが配置されるアドレス（前世代のプロセッサ５００において第０領域アクセスサイクル数レジスタが配置されるアドレス）に対して書き込み動作を行ったときに、現世代のプロセッサ１００の第０領域ランダムアクセスサイクル数レジスタ１７０の内容が、仮想の第０領域アクセスサイクル数レジスタの内容（つまり、前世代のプロセッサ５００の第０領域アクセスサイクル数レジスタの内容）と同じになるように書き換えられるとともに、１ページのサイズが「０」を示すように第０領域ページサイズレジスタ１９０が設定され、ページモードでのアクセスが行われない。
【０４６２】
以上の結果、前世代のプロセッサ５００がページモードをサポートしていない場合でも、前世代のプロセッサ５００においても実行可能なソフトウェア（つまり、互換ソフトウェア）を正常に実行でき、アドレス領域へのアクセスモードに対する後方互換性が保持される。
【０４６３】
さらに、本実施の形態では、現世代のプロセッサ１００により実行された互換ソフトウェアが、図１５に示した仮想の第１及び第２領域アクセスサイクル数レジスタの内容を書き換える操作を行ったときに、つまり、現世代のプロセッサ１００により実行された互換ソフトウェアが、仮想の第１及び第２領域アクセスサイクル数レジスタが配置されるアドレスに対して書き込み動作を行ったときに、現世代のプロセッサ１００の第１領域ランダムアクセスサイクル数レジスタ１７１及び第２領域ランダムアクセスサイクル数レジスタ１７２の双方の内容が、仮想の第１及び第２領域アクセスサイクル数レジスタの内容と同じになるように書き換えられるとともに、１ページのサイズが「０」を示すように第１領域ページサイズレジスタ１９１及び第２領域ページサイズレジスタ１９２が設定され、ページモードでのアクセスが行われない。
【０４６４】
その結果、アクセスサイクル数（つまり、アクセススピード）の観点からは、アドレス領域が、前世代のプロセッサ５００にとっては複数の領域に分割されていないが、現世代のプロセッサ１００にとっては複数の領域に分割されている場合であって、しかも、前世代のプロセッサ５００がページモードをサポートしていない場合であっても、前世代のプロセッサ５００においても実行可能なソフトウェア（つまり、互換ソフトウェア）を正常に実行でき、アドレス領域へのアクセススピード及びアクセスモードに対する後方互換性が保持される。
【０４６５】
さらに、本実施の形態では、前世代のプロセッサ５００の論理アドレス空間は、Ｐ（Ｐは１以上の整数）ビット（図６の例では、２４ビット）のアドレス情報で示される。一方、現世代のプロセッサ１００の論理アドレス空間は、Ｑ（ＱはＰより大きい２以上の整数）ビット（図７の例では２７ビット）のアドレス情報で示される。そして、現世代のプロセッサ１００の論理アドレス空間は、Ｑビットのアドレス情報のうちの上位（Ｑ−Ｐ）ビットが「０」を示す第１のアドレス空間（前世代のプロセッサ５００の論理アドレス空間と同一）と、それ以外の空間全てを含む第２のアドレス空間とに分割されている。
【０４６６】
従って、前世代のプロセッサ５００のために作成された互換ソフトウェアを現世代のプロセッサ１００で実行する場合、Ｑビットのアドレス情報の上位（Ｑ−Ｐ）ビットを「０」にして出力するだけで、現世代のプロセッサ１００は、前世代のプロセッサ５００の論理アドレス空間と同じ第１のアドレス空間にアクセスすることができ、アドレス空間に対する互換性が容易に保持できる。
【０４６７】
また、前世代のプロセッサ５００のグラフィックプロセッサ５０３と同じ機能を有する、現世代のプロセッサ１００のグラフィックプロセッサ３は、第１のアドレス空間だけでなく、グラフィックプロセッサ５０３がアクセスできない第２のアドレス空間にもアクセスできる追加機能（つまり、追加された３種類のアドレシングモード）を有しており、前世代のプロセッサ５００との後方互換性を保持しながらも、アクセスできるアドレス領域を拡張できる。
【０４６８】
さらに、現世代のプロセッサ１００では、前世代のプロセッサ５００に比べて新たな機能を有するピクセルプロッタ５を設け、第１のアドレス空間及び第２のアドレス空間の双方にアクセスできるようにしている。しかし、前世代のプロセッサ５００には、そもそもピクセルプロッタ５と同じ機能を有するバスマスタが設けられていないため、前世代のプロセッサ５００との後方互換性の保持に何らの影響を与えるものではない。このように、現世代のプロセッサ１００では、後方互換性を保持しながらも、新たな機能を有するバスマスタを追加できる。
【０４６９】
さて、本実施の形態によれば、現世代のプロセッサ１００の第２バスアービタ１４の機能により、以下のような効果を奏する。
【０４７０】
第２バスアービタ１４は、バスマスタが要求したサイズ（図１９参照）に応じた数のバスサイクルを与えるので、バスマスタは、データを連続してリード／ライトできる。このように連続してバスサイクルを取得できるというメリットをバスマスタに与えながらも、バスマスタが要求したサイズに応じた数のバスサイクルを単位として、必ず調停動作が行われるので、バスの使用効率を高めることができ、かつ、バスマスタからのバス使用要求に対する応答のレイテンシを可能な限り小さくできる。
【０４７１】
しかも、リードまたはライトを行うデータのサイズを示すサイズ信号ＥＩＦＳ，ＥＣＨＳ，ＥＣＤＳ，ＥＰＰＳ，ＥＤＳＳはバスマスタが発行するので、データ転送に必要充分なサイズを示すサイズ信号の発行が可能であり、そうすると、ステートマシン１５５はバスサイクルの最適な数を設定できる。従って、この場合、バス使用効率のより一層の向上とバス使用要求に対する応答のレイテンシのより一層の短縮化を図ることができる。
【０４７２】
また、ステートマシン１５５は、プライオリティデコーダ１４２が選択したバスマスタに対して、次式（以下、最適バスサイクル数算出式、と呼ぶ。）で示されるＮバスサイクル分のバス使用許可を与える。
【０４７３】
Ｎ＝（（Ａ＋Ｂ−１）／Ｗ）−（Ａ／Ｗ）＋１
【０４７４】
ただし、「Ａ」は、バスマスタがバス使用要求を発行する際に発行するアドレス情報であって、リードまたはライト対象の先頭バイトをバイトアドレスで指し示すアドレス情報である。この「Ａ」は、図２０の統一アドレスＣＡＤＲに相当する。
【０４７５】
「Ｂ」は、バスマスタがリードまたはライトするデータのサイズ情報であって、バイト数で表される。この「Ｂ」は、図２０の統一サイズ信号ＣＳＺに相当する。このように、本実施の形態では、バスマスタは、リードまたはライトするデータのサイズをバイト数で要求する。
【０４７６】
「Ｗ」は、アドレス情報Ａが指し示す領域のデータバス幅のバイト数を示す。この「Ｗ」は、図２０の統一バス幅信号ＣＢＷが示すデータバスのバイト数に相当する。すなわち、統一バス幅信号ＣＢＷが「０」であれば、データバスのバス幅は１バイト（＝８ビット）であり、統一バス幅信号ＣＢＷが「１」であれば、データバスのバス幅は２バイト（＝１６ビット）である。
【０４７７】
アドレス情報Ａは、リード／ライトするデータの始端が第０バイト目から何バイト目にあたるかを示す。従って、（Ａ＋Ｂ−１）は、リード／ライトするデータの終端が第０バイト目から何バイト目にあたるかを示す。
【０４７８】
アドレス情報Ａが指し示す領域のデータバス幅のバイト数Ｗは、接続される外部メモリ４５〜４７の１ワードを構成するバイト数を示すため、（（Ａ＋Ｂ−１）／Ｗ）は、リード／ライトするデータの終端が第０ワード目から何ワード目にあたるかを示し、（Ａ／Ｗ）は、リード／ライトするデータの始端が第０ワード目から何ワード目にあたるかを示す。よって、Ｎは、換言すれば、リード／ライトするデータのワード数を示す。従って、１ワードのデータを１バスサイクルで転送することを想定すれば、Ｎが、データ転送に必要なバスサイクルの数を示すことを容易に理解できる。
【０４７９】
さらに、ＣＰＵ１は、第０領域バス幅レジスタ１６０、第１領域バス幅レジスタ１６１、及び第２領域バス幅レジスタ１６２に値を設定することで、データバス幅のバイト数Ｗを、領域（第２バス第０領域、第２バス第１領域、第２バス第２領域：図７参照）ごとに設定することができる。
【０４８０】
そして、アドレスデコーダ１４９は、プライオリティデコーダ１４２が選択したバスマスタが発行したアドレス情報Ａ、つまり統一アドレスＣＡＤＲが、３つの領域（第２バス第０領域、第２バス第１領域、第２バス第２領域）のいずれに相当するかを判別し、マルチプレクサ１５１は、この判別結果に従って、３つの領域のいずれかのデータバス幅を選択し、統一バス幅ＣＢＷとして、ステートマシン１５５に与える。
【０４８１】
ステートマシン１５５は、統一バス幅ＣＢＷが示すデータバスのバイト数Ｗに基づいて、最適バスサイクル数算出式からＮを算出する。
【０４８２】
従って、アドレス空間が複数の領域に分割され、かつそれぞれの領域が異なるデータバス幅を有している場合においても、ステートマシン１５５は、アクセス対象となる領域のデータバス幅に合わせて、必要充分な数のバスサイクルをバスマスタに与えることができる。
【０４８３】
さらに、ステートマシン１５５は、サウンドプロセッサ７以外のバスマスタが、第２バス３３を使用している時に、サウンドプロセッサ７からのバス使用要求（ウェーブデータ・バス要求ＥＷＡＢあるいはエンベロープデータ・バス要求ＥＥＶＢ）があった場合、第２バス３３を使用しているバスマスタの残りのバスサイクル数が所定値以上であることを条件として、そのバスマスタのバス使用を中断させ、サウンドプロセッサ７にバス使用許可を与える。
【０４８４】
従って、バスマスタに連続でバスサイクルを取得することによるメリットを与えながらも、サウンドプロセッサ７のような緊急度の高いバスマスタの迅速処理を図ることができる。詳しくは次の通りである。バスマスタに連続したバスサイクルの使用許可を与えることは、バス全体のデータスループットを高める効果を生むが、バスマスタがバス使用要求を発行してからバス使用許可を得るまでのレイテンシは大きくなる。バス使用要求からバス使用許可を得るまでを所定の時間内に完了しなければならない緊急度の高いバスマスタが存在する場合には、このようなレイテンシの増大はシステムの動作に問題を引き起こす場合がある。そこで、緊急度の高いバスマスタからのバス使用要求があり、かつ現在バスを使用しているバスマスタの残余のバスサイクル数が所定値以上の場合に、緊急度の高いバスマスタのバス使用を割り込ませることにより、スループットの増大を図りながらも、レイテンシ増大のデメリットを回避することができる。
【０４８５】
このように、サウンドプロセッサ７のバス使用要求が優先されるので、オーディオ信号ＡＵの出力に不連続が発生することを防止できる。
【０４８６】
さらに、第１バスアービタ１３は、第１バス使用要求要因ごとに調停を行い（図１０参照）、第２バスアービタ１４は、第２バス使用要求要因ごとに調停を行う（図１４参照）。従って、次の効果を奏する。
【０４８７】
バスマスタが複数のバス使用要求要因を有している場合において、バスアービタがバスマスタごとの調停のみを行う場合、各バスマスタ内にバス使用要求の調停を行う回路が必要になり、全体の回路規模が増加する。また、回路構成によっては、バス使用要求要因の調停のための時間的オーバーヘッドが発生する。本実施の形態のように、バスアービタ（第１バスアービタ１３、第２バスアービタ１４）がバス使用要求要因ごとの調停を行う場合、そのようなデメリットが発生しない。
【０４８８】
さらに、複数のバスマスタは、第２バス使用要求要因ごとに、異なるサイズを示すサイズ信号ＥＩＦＳ，ＥＣＤＳ，ＥＰＰＳ，ＥＤＳＳを発行可能である（図１９参照）。第１バス使用要求要因についても同様である。
【０４８９】
このように、バス使用要求要因ごとに、必要とするデータサイズに合わせて異なるサイズを示すサイズ信号を発行できるため、無駄なデータアクセスが減り、より一層の、バス使用効率の向上とバス使用要求に対する応答のレイテンシの短縮化を図ることができる。
【０４９０】
さらに、複数の優先順位情報セット（第１バスアービタ１３に関しては図１０の優先順位情報番号０〜３のいずれかを保持する１６個の優先順位レジスタ３００〜３１５、第２バスアービタ１４に関しては図１４の優先順位情報番号０〜３のいずれかを保持する８個の優先順位レジスタ２００〜２０７）を順次的かつ巡回的に選択することにより、バスマスタへのバスサイクルの配分比率を制御できる。
【０４９１】
さらに、ＣＰＵ１が、レジスタ１７０〜１７２，１８０〜１８２に値を書き込むことで、１バスサイクル期間を設定できるため、各領域（第２バス第０領域、第２バス第１領域、第２バス第２領域）に対するバスサイクルの期間長を第２バス３３に接続される外部メモリ４５〜４７の速度に応じて最適化できる。また、ＣＰＵ１により１バスサイクル期間長を動的に変更することで、動作モードに応じた消費電力節減の効果も期待できる。
【０４９２】
また、このようにして、ＣＰＵ１が、ランダムアクセスサイクル数及びページアクセスサイクル数を動的に設定できるため、１バスサイクル期間を示すクロックサイクル数を、第２バス３３に接続される外部メモリ４５〜４７のランダムアクセス速度およびページモード・アクセスでのページアクセス速度に応じて最適化できる。
【０４９３】
さらに、ステートマシン１５５は、バス使用許可を得たバスマスタに与えられるバスサイクル数が「１」の場合には、バスサイクルとして、統一ランダムアクセスサイクル数ＣＲＣＹを採用する。
【０４９４】
ここで、バスマスタに与えられるバスサイクル数が「１」の場合とは、最適バスサイクル数算出式で算出したＮが１の場合であり、例えば、統一バス幅信号ＣＢＷが示すバス幅が２バイトの場合において、統一サイズ信号ＣＳＺが示すサイズが２バイトのとき、あるいは、統一バス幅信号ＣＢＷが示すバス幅が１バイトの場合において、統一サイズ信号ＣＳＺが示すサイズが１バイトのとき、等である。
【０４９５】
一方、ステートマシン１５５は、バス使用許可を得たバスマスタに与えられるバスサイクル数が「２」以上の場合には、先頭のバスサイクルでは、バスサイクルとして統一ランダムアクセスサイクル数ＣＲＣＹを採用し、先頭以外のバスサイクルでは、第２バスアドレスＥＡＤが直前のバスサイクルの第２バスアドレスＥＡＤと同じページを指し示していれば、統一ページアクセスサイクル数ＣＰＣＹを採用し、第２バスアドレスＥＡＤが直前のバスサイクルの第２バスアドレスＥＡＤと異なるページを指し示していれば、統一ランダムアクセスサイクル数ＣＲＣＹを採用する。
【０４９６】
ここで、バスマスタに与えられるバスサイクル数が「２」以上の場合とは、最適バスサイクル数算出式で算出したＮが２以上の場合であり、例えば、統一バス幅信号ＣＢＷが示すバス幅が２バイトの場合において、統一サイズ信号ＣＳＺが示すサイズが４バイトのとき、あるいは、統一バス幅信号ＣＢＷが示すバス幅が１バイトの場合において、統一サイズ信号ＣＳＺが示すサイズが２バイトのとき、等である。
【０４９７】
以上により、ページモード・アクセス機能を備える外部メモリ４５〜４７が第２バス３３に接続されている場合に、バスサイクル期間長（バスサイクルあたりののクロック数）を最適化できる。
【０４９８】
さらに、ＣＰＵ１が、レジスタ１９０〜１９２に値を設定することで、ページサイズを動的に設定できる。このため、接続される外部メモリ４５〜４７のページサイズに合致させることができる。
【０４９９】
さらに、第２バス３３のアドレス空間は３つの領域に分割され（図７参照）、データバス幅のバイト数Ｗ、ランダムアクセスサイクル数、ページアクセスサイクル数、及び、ページサイズは、レジスタ１６０〜１６２，１７０〜１７２，１８０〜１８２，１９０〜１９２に値を設定することで、３つの領域ごとに設定可能である。そして、アドレスデコーダ１４９は、プライオリティデコーダ１４２が選択したバスマスタが発行したアドレス情報Ａ、つまり統一アドレスＣＡＤＲが、３つの領域（第２バス第０領域、第２バス第１領域、第２バス第２領域）のいずれに相当するかを判別し、マルチプレクサ１５１〜１５３及びデコーダ１５４は、この判別結果に従って、３つの領域のいずれかを選択し、統一バス幅信号ＣＢＷ、統一ランダムアクセスサイクル数信号ＣＲＣＹ、統一ページアクセスサイクル数信号ＣＰＣＹ、及び統一ページ境界信号ＣＰＢを、ステートマシン１５５に与える。
【０５００】
ステートマシン１５５は、統一バス幅ＣＢＷが示すデータバスのバイト数Ｗに基づいて、最適バスサイクル数算出式からＮを算出する。
【０５０１】
従って、アドレス空間が複数の領域に分割され、領域ごとに異なるランダムアクセス速度、ページアクセス速度、ページサイズおよびデータバス幅を持つ外部メモリ４５〜４７が接続された場合において、第２バスアービタ１４が、調停動作ごとに、アクセス対象の領域の設定に基づいて、ランダムアクセスサイクル数、ページアクセスサイクル数、ページサイズ、およびデータバス幅を切り替えることにより、バスサイクル期間長およびバスマスタに与えるバスサイクル数が最適化される。
【０５０２】
なお、本発明は、上記の実施の形態に限られるものではなく、その要旨を逸脱しない範囲で種々の態様において実施することが可能であり、例えば、以下のような変形も可能である。
【０５０３】
（１）上記では、現世代のプロセッサ１００においては、バス使用要求要因ごとにバス調停が行われた。ただし、現世代のプロセッサ１００において、前世代のプロセッサ５００と同様に、バスマスタごとにバス調停を行うこともできる。
【０５０４】
この場合、現世代のプロセッサ１００の第１バスアービタ１３の優先順位情報セットにおける共通バスマスタ群のバスマスタ間の優先順位を、前世代のプロセッサ５００の第１バスアービタ５１３の優先順位情報セットにおける共通バスマスタ群のバスマスタ間の優先順位と同じにする。同様に、現世代のプロセッサ１００の第２バスアービタ１４の優先順位情報セットにおける共通バスマスタ群のバスマスタ間の優先順位を、前世代のプロセッサ５００の第２バスアービタ５１４の優先順位情報セットにおける共通バスマスタ群のバスマスタ間の優先順位と同じにする。
【０５０５】
これにより、前世代のプロセッサ５００に含まれるバスマスタに、さらに新たなバスマスタ（上記例では、ピクセルプロッタ５）を加えた現世代のプロセッサ１００においても、前世代のプロセッサ５００においても実行可能なソフトウェア（つまり、互換ソフトウェア）を正常に実行でき、バス調停に対する後方互換性が保持される。
【０５０６】
（２）現世代のプロセッサ１００により実行された互換ソフトウェアが、図１５に示した仮想の第０領域アクセスサイクル数レジスタの内容を書き換える操作を行ったときに、つまり、現世代のプロセッサ１００により実行された互換ソフトウェアが、仮想の第０領域アクセスサイクル数レジスタが配置されるアドレスに対して書き込み動作を行ったときに、現世代のプロセッサ１００の第０領域ランダムアクセスサイクル数レジスタ１７０及び第０領域ページアクセスサイクル数レジスタ１８０の双方の内容を、仮想の第０領域アクセスサイクル数レジスタの内容と同じになるように書き換えることもできる。
【０５０７】
同様に、現世代のプロセッサ１００により実行された互換ソフトウェアが、図１５に示した仮想の第１及び第２領域アクセスサイクル数レジスタの内容を書き換える操作を行ったときに、つまり、現世代のプロセッサ１００により実行された互換ソフトウェアが、仮想の第１及び第２領域アクセスサイクル数レジスタが配置されるアドレスに対して書き込み動作を行ったときに、現世代のプロセッサ１００の第１領域ランダムアクセスサイクル数レジスタ１７１及び第２領域ランダムアクセスサイクル数レジスタ１７２の双方の内容並びに、第１領域ページアクセスサイクル数レジスタ１８１及び第２領域ページアクセスサイクル数レジスタ１８２の双方の内容を、仮想の第１及び第２領域アクセスサイクル数レジスタの内容と同じになるように書き換えることもできる。但し、この場合、ランダムアクセスサイクル数レジスタに設定可能な値の範囲と、ページアクセスサイクル数レジスタに設定可能な値の範囲は、同じである必要がある。
【０５０８】
以上の結果、ランダムアクセスモードとページモードとが実質的に同じモードとなるため、前世代のプロセッサ５００がランダムモードしかサポートしていない場合でも、前世代のプロセッサ５００においても実行可能なソフトウェア（つまり、互換ソフトウェア）を正常に実行でき、アドレス領域へのアクセスモードに対する後方互換性が保持される。
【０５０９】
（３）上記では、現世代のプロセッサ１００のアドレス空間において、仮想の第０領域アクセスサイクル数レジスタ及び仮想の第１及び第２領域アクセスサイクル数レジスタが、前世代のプロセッサ５００の対応するレジスタのアドレスにマッピングされている。しかし、このような仮想のレジスタを用いることなく、現世代のプロセッサ１００のレジスタを、アドレス空間にマッピングすることも可能である。
【０５１０】
図２２は、図１の第２バスアービタ１４に備えられ、現世代のプロセッサ１００の論理アドレス空間に、図１５に示されたアドレスとは別のアドレスにマッピングされたハードウェア制御レジスタの一覧を示す図である。図２２に示すように、現世代のプロセッサ１００の第０領域ランダムアクセスサイクル数レジスタに割り当てられたアドレスは、前世代のプロセッサ５００の第０領域アクセスサイクル数レジスタに割り当てられたアドレスと同一である。同様に、現世代のプロセッサ１００の第１領域ランダムアクセスサイクル数レジスタに割り当てられたアドレスは、前世代のプロセッサ５００の第１及び第２領域アクセスサイクル数レジスタに割り当てられたアドレスと同一である。
【０５１１】
これにより、前世代のプロセッサ５００においても実行可能なソフトウェア（つまり、互換ソフトウェア）が、現世代のプロセッサ１００上で実行され、第０領域アクセスサイクル数レジスタにアクセスする命令を実行した場合、現世代のプロセッサ１００の第０領域ランダムアクセスサイクル数レジスタがアクセスされる。現世代のプロセッサ１００の第０領域ランダムアクセスサイクル数レジスタは、互換ソフトウェアの実行において、前世代のプロセッサ５００の第０領域アクセスサイクル数レジスタとして機能するので、互換性の保持に問題は生じない。また、互換ソフトウェアが、現世代のプロセッサ１００上で実行され、第１及び第２領域アクセスサイクル数レジスタにアクセスする命令を実行した場合、現世代のプロセッサ１００の第１領域ランダムアクセスサイクル数レジスタがアクセスされる。ここで、現世代のプロセッサ１００において、第１及び第２領域アクセスサイクル数レジスタを書き換える命令が実行された場合、第１領域ランダムアクセスサイクル数レジスタだけではなく、第２領域ランダムアクセスサイクル数レジスタも書き換えられなければならない。
【０５１２】
従って、現世代のプロセッサ１００は、現在実行中のソフトウェアが、互換ソフトウェアか非互換ソフトウェアかによって、この命令が実行された場合に行われる処理を変える必要がある。互換ソフトウェアが実行中であれば、現世代のプロセッサ１００は、第１領域ランダムアクセスサイクル数レジスタを書き換える命令（つまり、第１及び第２領域アクセスサイクル数レジスタを書き換える命令）を実行する場合、第２領域ランダムアクセスサイクル数レジスタも書き換えて、第１領域ランダムアクセスサイクル数レジスタと同期させる。又、非互換ソフトウェアが実行中であれば、現世代のプロセッサ１００は、第１領域ランダムアクセスサイクル数レジスタを書き換える命令を実行する場合、第１領域ランダムアクセスサイクル数レジスタのみを書き換える。一つの実装では、現世代のプロセッサ１００は、互換ソフトウェアが実行中であることを示す互換モードと、非互換ソフトウェアが実行中であることを示す非互換モードの２つの実行モードを持ち、互換モードが初期モードとなっている。非互換ソフトウェアは、スタートアップルーチンで非互換モードへ切り換える命令を実行する。
【０５１３】
あるいは、互換モードと非互換モードの切り替え機能を、制御レジスタを利用することによって実装することも可能である。
【０５１４】
前述した実施例の説明は、例示説明の目的のために提示された。それは、説明された厳密な形式に発明を限定することを意図しておらず、上記教示を踏まえた変形が可能である。実施例は、発明の原理を最も明瞭に説明するために選択され、それによって当業者は、その現実的な適用が可能になり、意図された特定使用に向けられた様々な変形と形態で発明を最も効果的に利用することができる。
【図面の簡単な説明】
【０５１５】
付随する図面を使用した好ましい実施例の下記説明を参照することによって、本発明の前述の及び他の特徴と目的並びにそれらの達成方法は、より明らかになり、そして、その発明そのものも、最も良く理解できるであろう。
【図１】図１は、本発明の実施の形態によるデータ処理装置としての現世代のプロセッサ１００の全体構成を示すブロック図である。
【図２】図２Ａは、図１に示した現世代のプロセッサ１００に実装された８ビットキャラクタ番号モードの説明図である。図２Ｂは、図１に示した現世代のプロセッサ１００に実装された１６ビットキャラクタ番号モードの説明図である。図２Ｃは、図１に示した現世代のプロセッサ１００に実装されたアラインメント付き１６ビットポインタモードの説明図である。
【図３】図３Ａは、図１に示した現世代のプロセッサ１００に実装された１６ビットアドレスポインタモードの説明図である。図３Ｂは、図１に示した現世代のプロセッサ１００に実装された２４ビットアドレスポインタモードの説明図である。
【図４】図４Ａは、図１に示した現世代のプロセッサ１００に実装された１６ビット拡張キャラクタ番号モードの説明図である。図４Ｂは、図１に示した現世代のプロセッサ１００に実装された１６ビット拡張アドレスポインタモードの説明図である。図４Ｃは、図１に示した現世代のプロセッサ１００に実装されたアラインメント付き２４ビットポインタモードの説明図である。
【図５】図５は、本発明の実施の形態によるデータ処理装置としての前世代のプロセッサ５００の全体構成を示すブロック図である。
【図６】図６は、図５に示した前世代のプロセッサの論理アドレス空間の説明図である。
【図７】図７は、図１に示した現世代のプロセッサの論理アドレス空間の説明図である。
【図８】図８は、図５の第１バスアービタ５１３が有する優先順位テーブルの例示図である。
【図９】図９は、図５の第１バスアービタ５１３が備えるハードウェア制御レジスタの一覧を示す図である。
【図１０】図１０は、図１の第１バスアービタ１３が有する優先順位テーブルの例示図である。
【図１１】図１１は、図１の第１バスアービタ１３が備えるハードウェア制御レジスタの一覧を示す図である。
【図１２】図１２は、図５の第２バスアービタ５１４が有する優先順位テーブルの例示図である。
【図１３】図１３は、図５の第２バスアービタ５１４が備えるハードウェア制御レジスタの一覧を示す図である。
【図１４】図１４は、図１の第２バスアービタ１４が有する優先順位テーブルの例示図である。
【図１５】図１５は、図１の第２バスアービタ１４が備えるハードウェア制御レジスタの一覧を示す図である。
【図１６】図１６は、図１の第１バスアービタ１３に対する入出力信号の説明図である。
【図１７】図１７は、図１６の第１バスアービタ１３の内部構成を示すブロック図である。
【図１８】図１８は、図１の第２バスアービタ１４に対する入出力信号の説明図である。
【図１９】図１９は、図１に示した現世代のプロセッサ１００に実装された第２バス使用要求要因ごとの要求サイズの例示図である。
【図２０】図２０は、図１８の第２バスアービタ１４の内部構成を示すブロック図である。
【図２１】図２１は、図２０のステートマシン１５５における状態遷移の説明図である。
【図２２】図２２は、図１の第２バスアービタ１４に備えられ、現世代のプロセッサ１００の論理アドレス空間に、図１５に示されたアドレスとは別のアドレスにマッピングされたハードウェア制御レジスタの一覧を示す図である。
【図１】
2008505386.tif 000002
【図２】
2008505386.tif 000003
【図３】
2008505386.tif 000004
【図４】
2008505386.tif 000005
【図５】
2008505386.tif 000006
【図８】
2008505386.tif 000007
【図９】
2008505386.tif 000008
【図１０】
2008505386.tif 000009
【図１１】
2008505386.tif 000010
【図１２】
2008505386.tif 000011
【図１３】
2008505386.tif 000012
【図１４】
2008505386.tif 000013
【図１５】
2008505386.tif 000014
【図１６】
2008505386.tif 000015
【図１７】
2008505386.tif 000016
【図１８】
2008505386.tif 000017
【図１９】
2008505386.tif 000018
【図２０】
2008505386.tif 000019
【図２１】
2008505386.tif 000020
【図２２】
2008505386.tif 000021
【図６】
2008505386.tif 000022
【図７】
2008505386.tif 000023
【国際調査報告】
2008505386.tif 000024
2008505386.tif 000025