以下、図面に基づいて本発明の実施形態について、比較例と比較しながら詳細に説明する。図1は本発明の一実施形態に係る情報処理装置1の電気的な構成を示すブロック図である。図2は比較例に係る情報処理装置3の電気的な構成を示すブロック図である。
情報処理装置1,3は複数の規格のバス(例えば三つの規格のバス)を備える。それぞれの規格のバスはアドレスバス、データバス及び制御バスによって構成されるが、本実施形態ではアドレスバスについて説明し、データバス及び制御バスの説明を省略する。
第1のアドレスバス5は一つ目の規格のバスを構成するアドレスバスであり、第2のアドレスバス7は二つ目の規格のバスを構成するアドレスバスであり、第3のアドレスバス9は三つ目の規格のバスを構成するアドレスバスである。第1のアドレスバス5は例えば36ビットのアドレス情報を伝送し、第2のアドレスバス7及び第3のアドレスバス9は例えば32ビットのアドレス情報を伝送する。第1のアドレスバス5、第2のアドレスバス7及び第3のアドレスバス9はシリアルバス及びパラレルバスのいずれでもよい。
第1のアドレスバス5はバスマスタ(図1及び図2では四つのバスマスタ11,13,15,17)からのアドレス情報を、下流側の第2のアドレスバス7及び第3のアドレスバス9に伝送する。情報処理装置1,3は第1のアドレスバス5により伝送されるアドレス情報で指定されるアドレスがエラーアドレスか否かを判別し、エラーアドレスであればそのアドレス情報(エラーのアドレス情報)をログとして記憶する回路(以下、エラーアドレス処理部19)が設けられている。エラーアドレス処理部19について、比較例に係る情報処理装置3から説明する。
図2に示すように、比較例に係る情報処理装置3はエラーアドレス処理部19として、36ビットレジスタ21、エラーアドレス判別部23、36ビットエラーアドレス記憶部25及び割込通知部27を備える。第1のアドレスバス5により伝送される36ビットのアドレス情報は36ビットレジスタ21に格納される。
エラーアドレス判別部23は第1のエラーアドレス空間の情報を有する。例えば36ビットの上位4ビットが「1000」のアドレス情報が第1のエラーアドレス空間に属する場合、上位4ビットが「1000」のアドレス情報をエラーのアドレス情報とする論理回路を備える。エラーアドレス判別部23は36ビットレジスタ21に格納された36ビットのアドレス情報の上位ビット(例えば上位4ビット)から、そのアドレス情報がエラーのアドレス情報か否かを判別する。
エラーアドレス判別部23がエラーのアドレス情報と判別すれば、36ビットレジスタ21に格納されているそのアドレス情報は36ビットエラーアドレス記憶部25に送られて、そこで記憶され、後でエラーアドレスの解析に利用される。36ビットエラーアドレス記憶部25は例えば36ビットレジスタの回路である。
また、エラーアドレス判別部23がエラーのアドレス情報と判別すれば、割込通知部27はバスマスタ11,13,15,17のうち、割り込み制御をするバスマスタに割り込み通知をする。この通知を受けたバスマスタにより割り込み制御がされる。
一方、図1に示す本実施形態に係る情報処理装置1はエラーアドレス処理部19として、36ビットレジスタ21、エラーアドレス判別部29(第1のエラーアドレス判別部)、エラーアドレスの上位ビット記憶部31、アドレス変換部33及びエラーアドレス設定部35を備える。情報処理装置1のエラーアドレス処理部19は割込通知部を備えておらず、アドレス変換部33及びエラーアドレス設定部35を備えており、36ビットエラーアドレス記憶部25の換わりに上位ビット記憶部31を備えている。この点で、図2に示す比較例に係る情報処理装置3のエラーアドレス処理部19と異なる。この理由は後で説明する。
情報処理装置1,3において、エラーアドレス判別部23,29がエラーのアドレス情報と判別しなかった36ビットのアドレス情報は、36ビットレジスタ21から第1のアドレスバス5に接続される複数のデコーダ(例えば、デコーダ37,39,41)へ伝送される。これらのデコーダは第1のアドレスバス5によって伝送されるアドレス情報の上位ビット(例えば上位4ビット)をデコードする。これにより、バスブリッジ43、バススレーブ45及びバスブリッジ47のいずれかが選択される。例えば上位4ビットが「1111」であればバスブリッジ47が選択される(第2のアドレスバス7が選択されると言うこともできる)。
バスブリッジ47は第1のアドレスバス5の規格(通信手順、通信速度等)を第2のアドレスバス7の規格に変換する機能を有する。バスブリッジ43は第1のアドレスバス5の規格を第3のアドレスバス9の規格に変換する機能を有する。
デコーダ41によりバスブリッジ47が選択された場合、36ビットのアドレス情報は上位4ビットが削除されて32ビットにされ、第1のアドレスバス5から第2のアドレスバス7へ伝送される。一方、デコーダ37によりバスブリッジ43が選択された場合、36ビットのアドレス情報は上位4ビットが削除されて32ビットにされ、第1のアドレスバス5から第3のアドレスバス9へ伝送される。第2のアドレスバス7には例えば、バススレーブ49を選択するデコーダ51とバススレーブ53を選択するデコーダ55が接続されている。また、第2のアドレスバス7はバスマスタ(図1及び図2では一つバスマスタ18)からのアドレス情報を下流側に伝送する。第3のアドレスバス9には例えば、バススレーブ57を選択するデコーダ59とバススレーブ61を選択するデコーダ63が接続されている。
図2に示す比較例に係る情報処理装置3は第2のアドレスバス7に対応するエラーアドレス処理部63として、32ビットレジスタ65、エラーアドレス判別部67、32ビットエラーアドレス記憶部69及び割込通知部71を備える。第3のアドレスバス9に対応するエラーアドレス処理部73として、32ビットレジスタ75、エラーアドレス判別部77、32ビットエラーアドレス記憶部79及び割込通知部81を備える。エラーアドレス処理部63,73がエラーアドレス処理部19と異なるのは、36ビットレジスタ21が32ビットレジスタ65,75であり、36ビットエラーアドレス記憶部25が32ビットエラーアドレス記憶部69,79である点である。これは第2のアドレスバス7及び第3のアドレスバス9が32ビットのアドレス情報を伝送し、第1のアドレスバス5が36ビットのアドレス情報を伝送するからである。
これに対して、図1に示す本実施形態に係る情報処理装置1は、第3のアドレスバス9に対応するエラーアドレス処理部が設けられていない。また、第2のアドレスバス7に対応するエラーアドレス処理部63として、32ビットレジスタ85、エラーアドレス判別部87、32ビットエラーアドレス記憶部89、割込通知部91及びエラーアドレス設定部93を備える。これらの理由は後で説明する。
次に本実施形態に係る情報処理装置1に設定されるアドレス空間及び比較例に係る情報処理装置3に設定されるアドレス空間について説明する。図3は本実施形態に係る情報処理装置1に設定されるアドレス空間の一例を示す図である。図4は比較例に係る情報処理装置3に設定されるアドレス空間を示す図である。
図4に示すように、比較例に係る情報処理装置3に設定されるアドレス空間は、第1のアドレスバス5によって伝送されるアドレス情報が属する36ビットの第1のアドレス空間(64GB)、第2のアドレスバス7によって伝送されるアドレス情報が属する32ビットの第2のアドレス空間(4GB)及び第3のアドレスバス9によって伝送されるアドレス情報が属する32ビットの第3のアドレス空間(4GB)を有する。アドレス情報は16進数で示されている。
第1のアドレス空間は第1のアドレスバス5によって伝送される36ビットのアドレス情報の上位4ビット(16進数の上位一桁)を基にして特定される第3のアドレス空間、バススレーブ45用のアドレス空間、第1のエラーアドレス空間及び第2のアドレス空間を含む。
上位4ビットが「0000」、すなわち16進数の上位一桁が「0」であれば第3のアドレス空間に属するアドレス情報であり、第3のアドレスバス9へ送られる。以下、上位4ビット又は8ビットの表現の最後に付けられた括弧内の記号は、16進数による表現を示す。例えば上位4ビット「1111(F)」の括弧内の記号Fは、「1111」の16進数による表現である。
上位4ビットが「0001(1)」であれば、バススレーブ45に割り当てられたアドレス空間である。上位4ビットが「0010(2)」〜「1110(E)」であれば、第1のエラーアドレス空間に属するアドレス情報(エラーのアドレス情報)である。第1のエラーアドレス空間に属するアドレス情報は、図2に示すエラーアドレス判別部23で判別される。上位4ビットが「1111(F)」であれば、第2のアドレス空間に属するアドレス情報であり、第2のアドレスバス7へ送られる。
第2のアドレス空間は32ビットの上位4ビットを基にして特定されるバススレーブ49用のアドレス空間、第2のエラーアドレス空間及びバススレーブ53用のアドレス空間に分けられる。
上位4ビットが「0000(0)」〜「1011(B)」であれば、バススレーブ49に割り当てられたアドレス空間である。上位4ビットが「1100(C)」〜「1110(E)」であれば、第2のエラーアドレス空間に属するアドレス情報(エラーのアドレス情報)である。第2のエラーアドレス空間に属するアドレス情報は、図2に示すエラーアドレス判別部67で判別される。上位4ビットが「1111(F)」であれば、バススレーブ53に割り当てられたアドレス空間である。
第3のアドレス空間は32ビットの上位4ビットを基にして特定されるバススレーブ57用のアドレス空間、第3のエラーアドレス空間及びバススレーブ61用のアドレス空間に分けられる。
第3のアドレス空間は32ビットの上位4ビットが「0000(0)」〜「1011(B)」であれば、バススレーブ57に割り当てられたアドレス空間である。上位4ビットが「1100(C)」であれば、第3のエラーアドレス空間に属するアドレス情報(エラーのアドレス情報)である。第3のエラーアドレス空間に属するアドレス情報は、図2に示すエラーアドレス判別部77で判別される。上位4ビットが「1101(D)」〜「1111(F)」であれば、バススレーブ61に割り当てられたアドレス空間である。
図3に示す本実施形態に係る情報処理装置1に設定されるアドレス空間のアドレスの設定は、図4に示すアドレス空間のアドレスの設定と同じである。
上述したように図2に示す比較例に係る情報処理装置3は、第1のアドレスバス5、第2のアドレスバス7、第3のアドレスバス9にそれぞれ対応させてエラーアドレス処理部19,63,73を設けている。第1のアドレスバス5に対応するエラーアドレス処理部19で第1のエラーアドレス空間に属するアドレス情報を処理し、第2のアドレスバス7に対応するエラーアドレス処理部63で第2のエラーアドレス空間に属するアドレス情報を処理し、第3のアドレスバス9に対応するエラーアドレス処理部73で第3のエラーアドレス空間に属するアドレス情報を処理している。なお、バスマスタ18から出力されたエラーのアドレス情報(エラーアドレス空間に属すると判別されたアドレス情報)は、比較例及び本実施形態においてエラーアドレス処理部63で処理される。
比較例のように、各バスに対応させてエラーアドレス処理部を設ければ、単純にこれらのバスを接続してシステムを構成した場合、バスの数が増えると、それに応じてエラーアドレス処理部が増加することになる。
これに対して本実施形態に係る情報処理装置1によれば、第1,第2及び第3のアドレスバス5,7,9のエラーアドレス処理部の機能を、第2のアドレスバス7に対応するエラーアドレス処理部63に集約することができる。以下、これについて説明する。
本実施形態に係る情報処理装置1では、図1に示す36ビットレジスタ21に格納された36ビットのアドレス情報が、エラーアドレス判別部29によって第1のエラーアドレス空間又は第3のエラーアドレス空間に属すると判別された場合、その36ビットのアドレス情報の上位ビットを変換して第2のエラーアドレス空間に属させる処理をする。
図5は図1に示すエラーアドレス判別部29及びアドレス変換部33のブロック図である。エラーアドレス判別部29は上位4ビット一致回路95と上位8ビット一致回路97を備える。上位4ビット一致回路95は第1のアドレスバス5によって伝送される36ビットのアドレス情報の上位4ビットが、「0010(2)」〜「1110(E)」のいずれかに一致するか否かを判定し、これによりそのアドレス情報が第1のエラーアドレス空間に属するかを判別する。
上位8ビット一致回路は36ビットのアドレス情報の上位8ビットが、「00001100(0C)」に一致するかを判定する。これによりそのアドレス情報が第3のエラーアドレス空間に属するかを判別する。
アドレス変換部33は上位8ビット設定回路99,101を備える。上位8ビット設定回路99は上位4ビット一致回路95により上位4ビットが「0010(2)」〜「1110(E)」のいずれかと判別された場合、36ビットレジスタ21に格納されている36ビットのアドレス情報の上位8ビットを「11111110(FE)」に変換する。(FE)はエラーアドレス処理部63を有する第2のアドレスバス7に対応するアドレスである。また、(E)は第2のアドレス空間における第2のエラーアドレス空間に対応するアドレスの上位4ビットである。これによりアドレス情報は第2のエラーアドレス空間に属するので、第2のアドレスバス7へ伝送される。
一方、上位8ビット設定回路101は上位8ビット一致回路97により上位8ビットが「00001100(0C)」と判別された場合、36ビットレジスタ21に格納されている36ビットのアドレス情報の上位8ビットを「11111100(FC)」に変換する。(FC)はエラーアドレス処理部63を有する第2のアドレスバス7に対応するアドレスである。また、(C)は第2のアドレス空間における第2のエラーアドレス空間に対応するアドレスの上位4ビットである。これによりアドレス情報は第2のエラーアドレス空間に属するので、第2のアドレスバス7へ伝送される。
図6は図1に示すエラーアドレス判別部87のブロック図である。エラーアドレス判別部87は上位4ビット一致回路103を備える。上位4ビット一致回路103は第2のアドレスバス7によって伝送される32ビットのアドレス情報の上位4ビットが、「1100(C)」、「1101(D)」及び「1110(E)」のいずれかに一致するか否かを判定し、これによりそのアドレス情報が第2のエラーアドレス空間に属するアドレス情報かを判別する。
次に、エラーのアドレス情報が発生した場合に本実施形態に係る情報処理装置1で実行される処理について、図1、図7及び図8を主に用いて説明する。図7及び図8はその処理を説明するフローチャートである。
バスマスタ11,13,15,17のいずれかにより出力された36ビットのアドレス情報は、第1のアドレスバス5によって伝送されて、36ビットレジスタ21に格納される(ステップS1)。エラーアドレス判別部29は36ビットレジスタ21に格納されたアドレス情報が第1のエラーアドレス空間に属するか否かを判別する(ステップS3)。これを図5及び図9を用いて詳細に説明する。図9は第1のエラーアドレス空間に属すると判別されたアドレス情報(エラーのアドレス情報)の処理を説明する図である。
エラーアドレス判別部29の上位4ビット一致回路95は、36ビットレジスタ21に格納されたアドレス情報の上位4ビットが「0010(2)」〜「1110(E)」のいずれかと一致するか判定する。上位4ビット一致回路95が一致すると判定した場合、エラーアドレス判別部29は36ビットレジスタ21に格納されたアドレス情報105が第1のエラーアドレス空間に属すると判別する(ステップS3でYes)。エラーアドレス判別部29はエラーフラグを立てて、36ビットレジスタ21に格納されているアドレス情報105の上位8ビットをログとして、エラーアドレスの上位ビット記憶部31に記憶させる(ステップS5)。
ステップS5の後、エラーアドレス判別部29はアドレス変換部33の上位8ビット設定回路99にアドレス変換を命令する。これは36ビットレジスタ21に格納されているアドレス情報105が第2のエラーアドレス空間に属するように、アドレス情報105を変換する処理である。上位8ビット設定回路99は、36ビットレジスタ21に格納されているアドレス情報105の上位8ビットを、「11111110(FE)」に変換する。これにより、36ビットレジスタ21に格納されているアドレス情報は、アドレス情報105からアドレス情報107に変換される(ステップS7)。アドレス情報107は第2のエラーアドレス空間に属する。36ビットのアドレス情報の上位4ビットが「1111(F)」で第2のアドレス空間に属することになるが、第2のエラーアドレス空間に属するように上位8ビットを変換している。
36ビットレジスタ21に格納されたアドレス情報107は、デコーダ37,39,41(図1)へ送られる。アドレス情報107の上位4ビットが「1111(F)」なので、デコーダ41によりバスブリッジ47が選択される。デコーダ41は36ビットのアドレス情報107の上位4ビット「1111(F)」を削除して、32ビットのアドレス情報109(図9)を第2のアドレスバス7へ送る(ステップS9)。
第2のアドレスバス7によって伝送されたアドレス情報109は、32ビットレジスタ85に格納される(ステップS11)。エラーアドレス判別部87(第2のエラーアドレス判別部)により、32ビットレジスタ85に格納されたアドレス情報109(図9)は第2のエラーアドレス空間に属すると判別される(ステップS13)。これを図6及び図9を用いて説明する。32ビットレジスタ85に格納されたアドレス情報109の上位4ビットが「1110(E)」なので、エラーアドレス判別部87の上位4ビット一致回路103は、アドレス情報109の上位4ビットが「1110(E)」と一致すると判定する。エラーアドレス判別部87はエラーフラグを立てて、32ビットレジスタ85に格納されている32ビットのアドレス情報109をログとして、32ビットエラーアドレス記憶部89に記憶させる(ステップS15)。
エラーアドレス判別部87によってアドレス情報109が第2のエラーアドレス空間に属すると判別されると、割込通知部91はバスマスタ11,13,15,17のうち、割り込み制御をするバスマスタに割り込み通知をする。この通知を受けたバスマスタにより割り込み制御がされる(ステップS17)。
ここで本実施形態に係る情報処理装置1の第1の効果を説明する。第1のアドレスバス5によって伝送される36ビットのアドレス情報が、エラーアドレス判別部29で第1のエラーアドレス空間に属すると判別された場合、そのアドレス情報(エラーのアドレス情報)の上位ビットがログとして上位ビット記憶部31に記憶される。そして、アドレス変換部33において、エラーのアドレス情報の上位ビットが第2のエラーアドレス空間に属するように変換されるので、エラーのアドレス情報は第2のアドレスバス7へ伝送される。これにより、エラーのアドレス情報はエラーアドレス判別部87で第2のエラーアドレス空間に属すると判別されて、ログとして32ビットエラーアドレス記憶部89に記憶される。
したがって、図9を参照して、情報処理装置1において第1のエラーアドレス空間に属する36ビットのアドレス情報105は、上位8ビットが上位ビット記憶部31で記憶され、残りの28ビットが32ビットエラーアドレス記憶部89で記憶される。これらはエラーの解析の際につなげられて、36ビットのアドレス情報105に復元される。
以上のように本実施形態によれば、第1のエラーアドレス空間に属するアドレス情報を記憶するのに、第2のエラーアドレス空間に属するアドレス情報が記憶される32ビットエラーアドレス記憶部89を利用している。これにより、図1に示すエラーのアドレス情報の記憶部(上位ビット記憶部31)は、36ビットの記憶回路にする必要がなく、8ビットの記憶回路でよい。よって、本実施形態によれば、第1のアドレスバス5に対応するエラーアドレス処理部19に設けられるエラーのアドレス情報の記憶回路(上位ビット記憶部31)のビット数を減らすことができる。
なお、32ビットのアドレス情報109の上位4ビット「1110(E)」は、第1のエラーアドレス空間に属するアドレス情報105が、第2のエラーアドレス空間に属するように上位8ビットが変換された際に加えられたものである。上位4ビット「1110(E)」は、第2のエラーアドレス空間に属する他のアドレス情報の上位4ビット「1100(C)及び「1101(D)」と区別されている。これにより、32ビットエラーアドレス記憶部89に格納されている残りの28ビットが第1のエラーアドレス空間に属するアドレス情報のものであることが分かる。
図7のフローチャートの説明に戻る。エラーアドレス判別部29の上位4ビット一致回路95が、36ビットレジスタ21に格納されたアドレス情報の上位4ビットが「0010(2)」〜「1110(E)」のいずれかと一致しないと判定した場合(ステップS3でNo)、エラーアドレス判別部29はそのアドレス情報が第3のエラーアドレス空間に属するか否かを判別する(ステップS19)。これを図5及び図10を用いて詳細に説明する。図10は第3のエラーアドレス空間に属すると判別されたアドレス情報の処理を説明する図である。
エラーアドレス判別部29の上位8ビット一致回路97は、36ビットレジスタ21に格納されたアドレス情報の上位8ビットが「00001100(0C)」と一致するか判定する。上位8ビット一致回路97が一致すると判定した場合、エラーアドレス判別部29は36ビットレジスタ21に格納されたアドレス情報111が第3のエラーアドレス空間に属すると判別する(ステップS19でYes)。
エラーアドレス判別部29はエラーフラグを立てて、36ビットレジスタ21に格納されているアドレス情報111の上位8ビットをログとして、エラーアドレスの上位ビット記憶部31に記憶させる(ステップS21)。
ステップS21の後、エラーアドレス判別部29はアドレス変換部33の上位8ビット設定回路101にアドレス変換を命令する。これは36ビットレジスタ21に格納されているアドレス情報111が第2のエラーアドレス空間に属するように、アドレス情報111を変換する処理である。上位8ビット設定回路101は、36ビットレジスタ21に格納されているアドレス情報111の上位8ビットを、「11111100(FC)」に変換する。これにより、36ビットレジスタ21に格納されているアドレス情報は、アドレス情報111からアドレス情報113に変換される(ステップS23)。アドレス情報113は第2のエラーアドレス空間に属する。
36ビットレジスタ21に格納されたアドレス情報113は、上位4ビットが「1111(F)」なので、デコーダ41によりバスブリッジ47が選択される。デコーダ41は36ビットのアドレス情報113の上位4ビット「1111(F)」を削除して、32ビットにしたアドレス情報115(図10)を第2のアドレスバス7へ送る(ステップS25)。そして、ステップS11の処理へ進む。後の処理は第1のエラーアドレス空間に属するアドレス情報と同じである。
ここで本実施形態に係る情報処理装置1の第2の効果を説明する。本実施形態に係る情報処理装置1によれば、第1のアドレスバス5に対応するエラーアドレス処理部19に備えられるエラーアドレス判別部29において、36ビットレジスタ21に格納された36ビットのアドレス情報が第3のエラーアドレス空間に属するか否か判別している。そのアドレス情報が第3のエラーアドレス空間に属すると判別した場合、第1のエラーアドレス空間に属するアドレス情報と同様にして、アドレス情報111の上位8ビットを上位ビット記憶部31に格納し、残りの28ビットを32ビットエラーアドレス記憶部89に格納している。これらはエラーの解析の際につなげられて、36ビットのアドレス情報111に復元される。したがって、本実施形態によれば、第3のアドレスバス9に対応するエラーアドレス処理部を設けなくても、第3のエラーアドレス空間に属するアドレス情報を処理することができる。よって、本実施形態によれば、第3のアドレスバス9に対応するエラーアドレス処理部を省くことができる。
なお、32ビットのアドレス情報115の上位4ビット「1100(C)」は、第3のエラーアドレス空間に属するアドレス情報111が、第2のエラーアドレス空間に属するように上位8ビットが変換された際に加えられたものである。上位4ビット「1100(C)は、第2のエラーアドレス空間に属する他のアドレス情報の上位ビット「1101(D)」及び「1110(E)」と区別されている。これにより、32ビットエラーアドレス記憶部89に格納されている残りの28ビットが第3のエラーアドレス空間に属するアドレス情報のものであることが分かる。
図7のフローチャートの説明に戻る。ステップS19でNoの場合、すなわち、図1に示す36ビットレジスタ21に格納された36ビットのアドレス情報が、第1及び第3のエラーアドレス空間のいずれにも属さない場合、そのアドレス情報の上位4ビットを基にしてデコーダ37,39,41によって、バスブリッジ43、バススレーブ45及びバスブリッジ47のいずれかが選択される(図8に示すステップS27)。
36ビットのアドレス情報が第3のアドレス空間に属する場合(図3)、すなわち36ビットの上位4ビットが「0000(0)」であれば、デコーダ37によってバスブリッジ43が選択されて、第3のアドレスバス9に32ビットのアドレス情報が送られる。第3のアドレス空間には第3のエラーアドレス空間が含まれるが、上述したように第3のエラーアドレス空間に属するアドレス情報は第2のエラーアドレス空間に属するように変換されて、エラーアドレス処理部63で処理される。したがって、本実施形態に係る情報処理装置1には第3のアドレスバス9に対応するエラーアドレス処理部が設けられていない。
36ビットのアドレス情報がバススレーブ45に割り当てられたアドレス空間に属する場合(図3)、すなわち36ビットの上位4ビットが「0001(1)」であれば、デコーダ39によってバススレーブ45が選択されて、32ビットのアドレス情報がバススレーブ45に送られる。
36ビットのアドレス情報が第2のアドレス空間に属する場合(図3)、すなわち36ビットの上位4ビットが「1111(F)」であれば、デコーダ41によってバスブリッジ47が選択されて、第2のアドレスバス7に32ビットのアドレス情報が送られる。
第2のアドレスバス7によって伝送されたアドレス情報は、32ビットレジスタ85に格納される(ステップS29)。エラーアドレス判別部87(第2のエラーアドレス判別部)により、32ビットレジスタ85に格納されたアドレス情報が、第2のエラーアドレス空間に属するか否かが判別される(ステップS31)。ここでの第2のエラーアドレス空間は第2のアドレス空間に本来含まれているものである。すなわち、図3に示す第2のアドレス空間において、32ビットのアドレス情報の上位4ビットが「1101(D)」のアドレス空間である。
これについて図6を用いて説明する。エラーアドレス判別部87の上位4ビット一致回路103は、32ビットレジスタ85に格納されたアドレス情報の上位4ビットが「1101(D)」と一致するか否か判定する。上位4ビット一致回路103が一致すると判定した場合(ステップS31でYes)、エラーアドレス判別部87はエラーフラグを立てて、32ビットレジスタ85に格納されている32ビットのアドレス情報をログとして、32ビットエラーアドレス記憶部89に記憶させる(ステップS15)。そしてステップS17の処理がされる。
エラーアドレス判別部87がエラーのアドレス情報と判別しなかった場合(ステップS31でNo)、そのアドレス情報の上位4ビットを基にして デコーダ51,55によって、バススレーブ49,53のいずれかが選択される(ステップS33)。32ビットのアドレス情報が選択されたバススレーブに送られる(ステップS35)。
以上がエラーのアドレス情報が発生した場合に本実施形態に係る情報処理装置1で実行される処理の説明である。上記第1及び第2の効果で説明したように、本実施形態に係る情報処理装置1によれば、第1,第2及び第3のアドレスバス5,7,9のエラーアドレス処理部の機能を、第2のアドレスバス7に対応するエラーアドレス処理部63に集約することができる。これにより、第3のアドレスバス9に対応するエラーアドレス処理部を省くことができる。また、第1のアドレスバス5に対応するエラーアドレス処理部19からは、エラーのアドレス情報を記憶する回路(上位ビット記憶部31)のビット数を小さくできると共に割込通知部を省くことができる。
ここで、図1に示すエラーアドレス設定部35,93について説明する。例えば、異なるメーカのチップセットを組み合わせて図1に示す情報処理装置1を作製する場合、各チップセットのエラーアドレス空間が予め固定されていれば、エラーアドレス空間が矛盾する等の場合、情報処理装置1を正常に動作させることができない。そこで、本実施形態では、エラーアドレス設定部35,93を設けることにより、エラーアドレス空間を設定できるようにしている。これにより、エラーアドレス空間が固定されている場合に比べて汎用性が向上させることができる。
エラーアドレス設定部35,93はキーボード等の入力装置及びエラーアドレス空間を特定する情報が格納されるレジスタ(エラーアドレス空間設定用レジスタ)等により構成される。情報処理装置1のシステムの設計者等が入力装置を用いてエラーアドレス空間を特定する情報を入力することにより、その情報がエラーアドレス空間設定用レジスタに格納される。エラーアドレス判別部29は36ビットレジスタ21に格納された36ビットアドレス情報がエラーアドレス設定部35のエラーアドレス空間設定用レジスタに格納されたエラーアドレス空間に属するか否かを判別し、エラーアドレス判別部87は32ビットレジスタ85に格納された32ビットアドレス情報がエラーアドレス設定部93のエラーアドレス空間設定用レジスタに格納されたエラーアドレス空間に属するか否かを判別する。
本実施形態において、上流側のアドレスバスに対応するエラーアドレス空間(第1のエラーアドレス空間)及び下流側のアドレスバスに対応するエラーアドレス空間(第3のエラーアドレス空間)に属するアドレス情報を、下流側の他のエラーアドレス判定部を備えたアドレスバスに対応するエラーアドレス空間(第2のエラーアドレス空間)に属するアドレス情報に変換できれば、上記第1及び第2の効果を得ることができる。したがって、本実施形態では第1のアドレスバス5によって伝送されるアドレス情報のビット数(36ビット)が、第2のアドレスバス7及び第3のアドレスバス9によって伝送されるアドレス情報のビット数(32ビット)より大きい場合で説明したが、同じ場合でもよい。また、情報処理装置1は複数の規格のバス(例えば三つの規格のバス)を備えているが、これらのバスは同じチップに搭載されていてもよいし、異なるチップに搭載されていてもよい。