(57)【要約】【課題】アドレスフィールドの長さが異なる２つ以上のアドレス空間でのアドレス処理【解決手段】アドレスフィールドの長さが異なる２つ以上のアドレス空間にアドレス(IO、MEM0、MEM1、SPEC)を割り当てる１つの例示的な方法は、アドレスタイプを定義し、第１の前記アドレスタイプを識別するために、値を前記アドレスフィールドの上位にある第１のビットに割り当て、前記第１のアドレスタイプのアドレスを識別するために、前記アドレスフィールドの下位にある第２のビットを割り当て、及び異なる数の追加ビットを前記２つ以上のアドレス空間における前記第１のビットと前記第２のビットとの間に挿入することを含む。【選択図】図４
2008108249.tif 000002
【特許請求の範囲】
【請求項１】
アドレスフィールドの長さが異なる２つ以上のアドレス空間にアドレスを割り当てる方法であって、
アドレスタイプ（ＳＰＥＣ、ＭＥＭ１、ＩＯ、ＭＥＭ０）を定義し、
第１の前記アドレスタイプを識別するために、値を前記アドレスフィールドの上位にある第１のビットに割り当て、
前記第１のアドレスタイプのアドレスを識別するために、前記アドレスフィールドの下位にある第２のビットを割り当て、及び
異なる数の追加ビットを前記２つ以上のアドレス空間における前記第１のビットと前記第２のビットとの間に挿入することを含む、アドレスフィールドの長さが異なる２つ以上のアドレス空間にアドレスを割り当てる方法。
【請求項２】
少なくとも１つの前記アドレスタイプについて、前記少なくとも１つのアドレスタイプ内のアドレス領域を識別するために、値を前記アドレスフィールド内の前記第１のビットと前記第２のビットとの間にある第３のビット（Ｍｅｍ Ｒ、ＩＯ Ｒ）に割り当て、及び
１つ又は複数の前記追加ビットを、前記第１のビットと前記第３のビットとの間の１つ又は複数のビット及び前記第３のビットと前記第２のビットとの間の１つ又は複数のビットのうちの少なくとも一方として挿入することをさらに含む、請求項１に記載の方法。
【請求項３】
前記追加ビットの代替の値により表される未使用アドレス空間のブロックを識別し、及び少なくとも１つの追加ビットの少なくとも１つの値を少なくとも１つのアドレス長の追加タイプ（ＭＥＭ２）を識別するものとして定義することをさらに含む、請求項１又は２に記載の方法。
【請求項４】
アドレスを解釈する方法であって、
アドレス長の値を判断し（100、302）、
アドレスタイプが認識されるまで、上位からタイプビットを読み取り（102、306）、
数及び位置が前記アドレスタイプ及び前記アドレス長によって決まる、さらなるビットを前記アドレスから読み取り（104、312）、及び
少なくとも１つの前記アドレスタイプ及び少なくとも１つの前記アドレス長のアドレスについて、前記タイプビットと前記さらなるビットとの間の１つ又は複数のビットを無視すること（106）を含む、アドレスを解釈する方法。
【請求項５】
前記少なくとも１つのアドレスタイプについて、前記アドレスは領域ビット及びアドレスビットを含み、前記さらなるビットを読み取ること（104、312）は、少なくとも前記領域ビットを読み取ることを含み、前記１つ又は複数のビットを無視すること（106）は、前記タイプビットと前記領域ビットとの間のビット及び前記領域ビットと前記アドレスビットとの間のビットのうちの少なくとも一方を無視することを含む、請求項４に記載の方法。
【請求項６】
アドレス空間でメッセージをルーティングする装置であって、
アドレスを有するメッセージを受け取り（304）、
前記アドレスのアドレス長を取得し（302）、
前記アドレスの上位にある第１のビットの値を読み取って（230、306）、アドレスタイプを識別し、
前記識別されたアドレスタイプ及び前記アドレス長によって決まる前記アドレスの位置にある複数の第２のビットを抽出し（104、312）、及び
前記アドレスの前記アドレスタイプ及び前記抽出された第２のビットに応じて前記メッセージを処理する（234、310、314）ように構成されたロジック（232）を含む、アドレス空間でメッセージをルーティングする装置。
【請求項７】
長さの異なるアドレスを並行して処理するように構成されたロジック（230）を含み、前記ロジック（232）が、前記取得されたアドレス長に応答して、前記取得されたアドレス長のアドレスを処理するように構成された前記ロジックに従って前記メッセージを処理する、請求項６に記載の装置。
【請求項８】
少なくとも１つのタイプのアドレスを認識するように構成されたロジック（230）を含み、前記第２のビットの数が前記アドレス長に依存し、前記ロジックは、前記アドレスフィールドのサイズから前記少なくとも１つのアドレスタイプの前記第１のビットの数を引いた数が前記第２のビットの最大数より大きい場合に、１つ又は複数の追加ビットを無視するように構成されている、請求項６又は７に記載の装置。
【請求項９】
より長いアドレスにおいて前記追加ビットの代替の値により表される未使用アドレス空間のブロックを識別し、且つ少なくとも１つの追加ビットの少なくとも１つの値を追加タイプを識別するものとして認識するように構成されたロジックを含む、請求項６〜８のいずれか１項に記載の装置。
【請求項１０】
少なくとも２つのアドレス空間に存在する少なくとも１つのアドレスタイプについて前記少なくとも２つのアドレス空間で前記少なくとも１つのアドレスタイプの異なる第２のビットを読み取るように構成されたロジック（230）を含む、請求項６〜９のいずれか１項に記載のアドレスの長さが異なる２つ以上のアドレス空間でメッセージをルーティングする装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アドレス処理に関する。
【背景技術】
【０００２】
多くのコンピューティングシステム及び通信システムは、アドレス空間の最上位ビット（単数または複数）がアドレスの範囲を識別する範囲ビットであり、下位ビットがその範囲内のアドレスを識別するアドレスビットであるアドレス指定方式を使用している。アドレス範囲は、例えば、装置又は資源（リソース）のタイプを識別することができ、アドレスビットは、例えば、指定された装置又は資源内のアドレスを識別することができる。同じタイプのいくつかの資源が存在する場合、アドレスビットが特定の資源、及び特定の資源内のアドレスを識別することができる。
【０００３】
かなり類似したコンピューティングシステムであってもアドレス空間のサイズが異なることがあり、アドレス空間のサイズは、ハードウェア資源の実質費用が低減するのと共に増大している。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従って、本発明の課題は、上述した技術的な問題を克服、又は少なくとも緩和することにある。
【課題を解決するための手段】
【０００５】
本発明の一実施形態によれば、アドレスフィールドの長さが異なる２つ以上のアドレス空間にアドレスを割り当てる方法が提供さる。その方法は、アドレスタイプを定義し、第１のアドレスタイプを識別するために、値をアドレスフィールドの上位にある第１のビットに割り当て、第１のアドレスタイプのアドレスを識別するために、アドレスフィールドの下位にある第２のビットを割り当て、及び異なる数の追加ビットを２つ以上のアドレス空間における第１のビットと第２のビットとの間に挿入することを含む。
【０００６】
また、本発明の一実施形態によれば、アドレス空間でメッセージをルーティングする装置が提供される。その装置は、ロジックを含み、そのロジックは、アドレスを有するメッセージを受け取り、アドレスのアドレス長を取得し、アドレスの上位にある第１のビットの値を読み取って、アドレスタイプを識別し、識別されたアドレスタイプ及びアドレス長によって決まるアドレスの位置にある複数の第２のビットを抽出し、及びアドレスのアドレスタイプ及び抽出された第２のビットに応じてメッセージを処理するように構成されている。
【発明を実施するための最良の形態】
【０００７】
上記の概説及び以下の詳細な説明の双方は、例示及び説明を目的としており、特許請求の範囲に記載される本発明のさらなる説明を提供するように意図されていることを理解されたい。
【０００８】
本発明のさらなる理解を提供するために本明細書に含められて組み込まれ、その一部を構成する添付図面は、本発明の実施形態を示し、その説明と共に本発明の原理を説明する役割を果たす。
【０００９】
ここで、本発明の各種実施形態を詳細に参照し、それらの例は添付図面に示される。
【００１０】
添付図面、最初に図１を参照すると、参照符号２０で全般的に示されるコンピュータシステムの一形態は、他の資源と装置との間の通信トラフィックのルーティング（経路指定）及び管理を行う中央電子処理装置（Central Electronics Complex：ＣＥＣ）２２を含む。他の資源及び装置としては、例えば、ＣＰＵ２４、メモリ２６、及びバス又は他のＩ／Ｏ２８を含むことができる。
【００１１】
使用中、ＣＥＣ２２は他の資源２４、２６、２８からメッセージを受け取る。ＣＥＣは、メッセージをルーティングするとともに、メッセージをログ記録するか、又は処理することもできる。また、ＣＥＣ２２は、異なるアドレス空間の間でメッセージアドレスを翻訳することもできる。
【００１２】
図２も参照すると、ステップ１００において、ＣＥＣは解釈されるべき特定のアドレスのアドレス長を取得し、ステップ１０２において、ＣＥＣ２２は入力メッセージのアドレスフィールドのタイプビットを読み取り、これにより、ＣＥＣ２２は、メッセージが送られる装置又は他の資源のタイプを識別することができる。
【００１３】
アドレス指定方式及びメッセージフォーマットに応じて、アドレス長を先に知らずともタイプビットを読み取れることもあれば、タイプビットを見つける際にアドレス長が使用されることもある。これらのオプションは、ステップ１００に低い番号を割り当てるが、フローチャートを通る代替路を示すことにより、図２に象徴的に示されている。
【００１４】
ステップ１０４において、ＣＥＣ２２は、資源タイプ及びアドレスフィールド長に適合したアドレスを形成する複数の下位ビットを読み取る。ステップ１０４において読み取られるビットは、ステップ１０２において読み取られなかった全ての有意味なビットより少ないことがある。例えば、アドレスが宛先装置及びその宛先装置に割り当てられたアドレスブロック又はアドレス領域内の宛先アドレスを特定する場合、ＣＥＣ２２はアドレスブロック又はアドレス領域を決定するだけで十分とすることができる。ビットの選択は、アドレスタイプ、アドレスフィールド長、又は両方に依存することができる。
【００１５】
ステップ１０６において、アドレスタイプにおける有意味なビットの数とアドレスにおける有意味なビットの数との和がアドレスフィールド長未満である場合、この実施形態ではアドレスタイプとアドレスとの間にあるアドレスフィールド内の適切な数の追加ビットが無視又は廃棄される。アドレスが別個の領域及びアドレスを含む場合、無視されるビットはアドレスタイプとアドレス領域との間に、アドレス領域とアドレスとの間に、又はこれらの両方にあることができる。
【００１６】
ＣＥＣ２２は、２つ以上の長さのアドレスフィールドを処理し、選択されたアドレスフィールド長について出力を生成するために設けられる。例えば、アドレス空間サイズ又はアドレスフィールド長は、ＣＥＣがメッセージを受け取る際に通知されてもよく、或いはその情報をシステム構成又はスタートアップ手順の一環としてロードされてもよい。入力Ｉ／Ｏ接続２８が２つ以上のアドレス空間サイズにフォーマットされているメッセージを、例えばパケットベースのシステムで伝送する場合、ＣＥＣは、パケットヘッダタイプを読み取って認識し、特定のパケットヘッダタイプに割り当てられているアドレスフィールド長を適用するようにプログラムされ得る。
【００１７】
表１を参照すると、表１は、コンピューティングシステムのパーティション内のアドレス空間をどのように構成することができるかの一例を示す。表１におけるアドレスフィールドは４０ビット幅であり、全部で１テラバイトのアドレス空間を与える。
【００１８】
【表１】
2008108249.tif 000003
【００１９】
表１において
ＳＰＥＣ＝アドレス空間のサイズに関係なく、特権空間がアドレス空間の上位１２８ＧＢを占める。
ＭＥＭ１＝メモリ１が８つのメモリ資源にアドレス空間を提供し、それぞれは６４ＧＢのアドレス空間を有する。割り当てられるアドレス範囲がＳＰＥＣ及びＩ／Ｏ装置に割り当てられるアドレス範囲に重なるため、実際に利用できるのは２つのエントリだけである。
ＩＯ＝Ｉ／Ｏ装置がアドレス空間を８つのＩ／Ｏ装置に提供し、それぞれが３２ＧＢのアドレス空間を有する。
ＭＥＭ０＝メモリ０が、通常は一般に利用できるメモリに６４ＧＢのゼロベース（zero-based）のアドレス空間を提供する。
【００２０】
表１に示されるように、各種アドレスタイプのアドレス範囲は、左側の（最上位）位置に示される個々のビットにより表される。アドレス範囲を定義するビットの数は、範囲によって異なることがきでる。異なるタイプのアドレス範囲は、ＭＥＭ１アドレスタイプ及びＩＯアドレスタイプに示されるように、実際のアドレスが両方の範囲に確実に割り当てられないように適切な規則が適用される場合に、重なってよい。例えば、表１中のＭＥＭ１アドレスタイプ及びＩＯアドレスタイプに示されるように、ＩＯアドレス範囲にはＭＥＭ１アドレス範囲の一部が割り当てられ、その重複領域のアドレスは、アドレス範囲の小さいほう（ＩＯ）に実際に割り当てられる。
【００２１】
表１に示されるように、アドレス範囲が、複数の別個の資源へのアドレスの領域（Ｒ）及び各資源に割り当てられる領域内のアドレスを提供するように、アドレス範囲内のアドレスを細分化することができる。
【００２２】
表１に示されるように、１ＴＢのアドレス空間全体は、ＩＯの最下位とＭＥＭ０の最上位との間の４４８ＧＢブロックを除いて、アドレス範囲に割り当てられる。
【００２３】
表２は、表１と同じ全体構造を使用して、コンピューティングシステムのパーティション内にアドレス空間をどのように構成することができるかの一例を示し、アドレスフィールドは４３ビット幅であり、全部で８ＴＢのアドレス空間が与えられる。簡潔にするために、表１とほぼ同じである表２の部分の説明は、繰り返されない。
【００２４】
【表２】
2008108249.tif 000004
【００２５】
表１と表２との比較により示されるように、アドレス範囲は、アドレスタイプＭＥＭ１及びアドレスタイプＩＯで同一の最上位ビットによって定義される。表２に示される例では、追加のアドレス空間は、表１における数及びサイズと比較して、各アドレス範囲内のアドレスブロックの数又はサイズのいずれかを増大するために使用される。代案として、ブロックの数及び各ブロックのサイズの双方は、より少ない程度に増大され得る。したがって、これらのアドレスタイプでは、左側のビットが、表１のアドレス空間から表２のアドレス空間に変更する際にさらに左側にシフトされるが、変更はされないデコードパターンを提供する。
【００２６】
アドレスタイプＭＥＭ０は追加のアドレス空間を必要としないため、このタイプのアドレスタイプビットは単に移動されて最上位位置に残るわけではない。むしろ、アドレスタイプビットは、ＭＥＭ０のアドレス範囲を６４ＧＢに維持するように調整される。したがって、ＩＯの最下位とＭＥＭ０の最上位との間の空間は、１９８４ＧＢである。しかしながら、このアドレスタイプの左側のビットはすべてゼロであるため、アドレスの左側の端部は事実上変更されない。
【００２７】
追加のアドレスタイプ、メモリ２（ＭＥＭ２）がこの空間のいくらかを使用するために追加されている。表２に示される例では、ＭＥＭ２は、例えば、追加のＭＥＭ１資源に使用され得る８つの６４ＧＢアドレス領域を含む。９つ以上の領域が利用可能な空間にはめ込まれることができる。しかしながら、表２の例では、追加のＭＥＭ２アドレスなしで、十分なＭＥＭアドレス領域が存在する。表２の左から５番目のビットであるビット３８は、ＳＰＥＣのためのＭＥＭ１からの分割は別として表１と表２の左側における第１の相違である。異なるアドレス空間サイズの左側のデコードパターンの類似性は、単純且つ効率的な実施に役立つ。
【００２８】
表３は、表１及び表２と同じ全体構造を使用して、コンピューティングシステムのパーティション内にアドレス空間をどのように構成することができるかの一例を示し、アドレスフィールドは４９ビット幅であり、全部で５１２ＴＢのアドレス空間が与えられる。簡潔にするために、表１及び表２とほぼ同じ表３の部分の説明は繰り返されない。
【００２９】
【表３】
2008108249.tif 000005
【００３０】
表２と表３との比較により示されるように、アドレス範囲は、アドレスタイプＭＥＭ１及びアドレスタイプＩＯの同一の最上位ビットにより定義される。表３に示される例では、タイプＭＥＭ１のアドレス領域のサイズは表２と比較して増大されている。しかしながら、アドレスタイプＭＥＭ１の場合及びアドレスタイプＭＥＭ０の場合の双方で、領域の数及び領域のサイズの双方が最大に達したと判断されている。最大は例えば、特定のコンピューティングシステム２０に必要な対応する資源の最大の数及びアドレスサイズとすることができ、又はコンピューティングシステム２０の特定のクラスに必要であると予想されるものである。それぞれの場合で、最大は各アドレスタイプに利用可能なアドレスサイズ未満である。アドレスタイプＭＥＭ１では、０として示される機能を有しない追加ビットが、アドレスフィールドの領域番号とアドレス部との間に挿入される。アドレスタイプＩＯでは、追加の０ビットが領域番号の前に挿入される。
【００３１】
表２と表３との比較により示されるように、アドレス範囲は同一の最上位ビットにより定義される。
【００３２】
異なるアドレスタイプに対して追加ビットの配置が異なることには、特定ビット、例えばアドレス領域又はアドレスの最上位ビットが異なるアドレスタイプに対して位置合わせされることを可能にし、アドレス構造を単純化するという利点がある。また、異なるアドレスタイプ間の重複を低減するように追加ビットを配置することが好ましいことがある。
【００３３】
表１〜表３の例では、タイプビットをアドレス長として割り当てるための規則セットは変化し、擬似コードとして表現され、以下ようにすることができる。各規則について、アドレスタイプが識別される。アドレスタイプの後にビットパターン一致規則が続く。これらの規則内では：
ｎはアドレスの有効ビット数、すなわちアドレス幅であり；
表記［ｊ：ｋ］は、ビットｊから始まりビットｋで終わるバイナリ値フィールドを表し、ここで、最下位ビットはビット０であり；
表記ｘｂｙ…ｙは、値ｙ…ｙを有する幅ｘのバイナリ値フィールドを表し；
表記ｘ｛ｂｙ｝は、ｙの値を繰り返す幅ｘのバイナリ値フィールドを表す。
【００３４】
規則によっては、ビットパターンが規則内に表される条件に依存する。アドレス条件が満たされず、代替の規則が提供されない場合、そのアドレスタイプはそのアドレス幅に対して実施されない。
SPEC: If(n>36) [n:37]==(n-36){b1}
IO: If(n>42) [n:41]=={2b10,(n-42){b0}}
else [n:n-1]==2b10
MEM1: n==1b1 and Not(IO) & Not(SPEC)
MEM2: if(n>39) [n:n-3]==4b0001
MEM0:           [n:36]==(n-35){b0}
ここで、ｎは最上位ビットである。他の構成が可能である。例えば、ＭＥＭ２が導入されるｎの値は、ＩＯに割り当てられる空間がどの程度まで、及びどれぐらい早く増大するかによって決まる。
【００３５】
ここで、図３を参照すると、参照符号２２０で全般的に示されるコンピューティングシステムの第２の形態は、他の資源と装置との間の通信トラフィックのルーティング及び管理を行う中央電子処理装置（ＣＥＣ）２２２を含む。他の資源及び装置は、例えば、ＣＰＵ２２４、メモリ２２６、通信バス又は他のＩ／Ｏ２２８、並びにシステム管理サブシステム、処理装置（complex）管理サブシステム、及びテストポート等の他の装置又は資源２２９を含むことができる。ＣＥＣ２２２は、複数のＩ／Ｏ、例えばネットワーク、ユーザインタフェース、及び記憶装置に接続され得る。ＣＥＣ２２２は、２つ以上の同種の装置又は資源に接続され得る。
【００３６】
使用中、ＣＥＣ２２２は他の資源２２４、２２６、２２８からメッセージを受け取る。ＣＥＣはメッセージをルーティングするとともに、メッセージをログ記録するか、又は処理することもできる。
【００３７】
ＣＥＣ２２２には、表１〜表３に示されたシステム又は何らかの他の適切なシステムに従ってフォーマットされている特定の長さのアドレスをデコードするようにそれぞれ予め構成された複数のアドレスデコーダ２３０が提供される。各デコーダ２３０は、特定のデコーダのアドレス長が正しい場合にアドレスビットであるビットを受け取るか、又は入力メッセージから該ビットを抽出するように構成される。これは、デコード開始前にアドレス長を特定又は確認するのに時間がかからないようにする。デコーダコントローラ２３２が、アクティブアドレス長を示す入力を受け取るように構成される。この情報は制御入力２３４により提供され得る。次に、デコーダコントローラ２３２は出力をデコーダ２３０から受け取り、デコーダ２３０からのアクティブアドレス長についての出力のみを送出する。出力は、メッセージが送信されるべき宛先、メッセージ又は受信側のタイプ、或いは双方を示すことができる。デコーダ２３０からの出力に応答して、さらなるメッセージングロジック（messaging logic）２３４がメッセージを適切に処理する。例えば、メッセージングロジック２３４は、メッセージを資源２２４，２２６，２２８のうちの１つに送出することができる。例えば、メッセージングロジック２３４は、そのメッセージ又はいくつかのタイプのメッセージをログ２３６にログ記録することができる。例えば、メッセージングロジックは、例えば、メッセージを異なるアドレス空間又は異なるアドレス構造に変換することによってメッセージを変更することができる。
【００３８】
図４も参照すると、ステップ３０２において、ＣＥＣ２２２は、アドレス空間のサイズを示す情報を取得する。アドレス空間のサイズは、構成プロセス又はスタートアッププロセスの一環として判断され特定され得る。アドレス空間のサイズは異なる資源２２４、２２６、２２８で異なることがあり、この場合、デコーダコントローラ２３２は、アドレスサイズに対するソースの一致を維持し、入力メッセージのソースを受け取って、それに応答することができる。バス２２８は、異なるアドレスサイズを有する遠隔資源からメッセージを伝えることができ、この場合、入力メッセージには、メッセージのアドレスサイズ又はソースを示す追加のヘッダ又は制御信号を付けることができる。
【００３９】
ステップ３０４において、ＣＥＣ２２２はメッセージを受け取る。ステップ３０６において、デコーダ２３０は、入力メッセージのアドレスフィールドのタイプビット、又はタイプビット及びブロックビットを読み取り、これにより、ＣＥＣ２２２は、ステップ３０８において、メッセージが向けられる装置又は他の資源のタイプを識別することができる。上記で説明されたように、異なるアドレス長毎に別個のデコーダ２３０が存在する場合、異なるデコーダがアドレスを解釈するための種々の試みを行うことができ、次いでデコーダコントローラ２３２が正しい解釈を選択することができる。ステップ３１０において、ＣＥＣ２２２は、識別された資源タイプに適合した態様でメッセージを処理する。例えば、ＣＥＣ２２２は特定の資源タイプに向けられるメッセージをログ記録するか、或いはメッセージアドレスを特定の資源タイプ又は資源、又はその資源が常駐するコンピューティングシステムの部分に適した形態に変換することができる。
【００４０】
ステップ３１２において、ＣＥＣ２２２はアドレスフィールド中の複数の下位ビットを読み取り、資源タイプ及びアドレスフィールド長に適合したアドレスを形成する。アドレス範囲のビット数とアドレスのビット数の和がアドレスフィールド長未満の場合、アドレスフィールドにおけるアドレス範囲とアドレスとの間の適切な数の追加ビットが無視又は廃棄される。表３に関連して上述されたように、無視されたビットは、アドレスタイプビットとアドレス領域ビットとの間に、アドレス領域ビットとアドレスビットとの間に、又は双方にあることができる。場合によっては、例えば、タイプ、又はタイプ及び領域が、ＣＥＣがメッセージの処理及びさらなるルーティングに必要とする情報をすべて提供し、アドレス自体がログ記録されないか、又は処理されない場合、ＣＥＣ２２２は全アドレスより少ないアドレスを読み取ることができる。
【００４１】
本発明の思想又は範囲から逸脱することなく、本発明において種々の修正及び変更を行うことができる。
【００４２】
例えば、いくつかのアドレスプロセッサ（デコーダ）２３０がメッセージアドレスを並行して解析しようとし、アドレスプロセッサコントローラ（デコーダコントローラ）２３２がアドレスプロセッサ２３０のうちの１つから出力を選択するＣＥＣ２２２について説明した。個々のアドレスプロセッサ２３０が単一のアドレス長について最適に構成されて配線で接続され得るので、及びどのアドレス長が正しいかについての判断が、アドレスの解析と同時に行われ得るので、この構成は高速であることができる。しかしながら、アドレスプロセッサコントローラ２３２が最初にアドレス長を識別し、メッセージを正しいアドレスプロセッサ２３０に対してのみ送信する構成も可能であり、よりエネルギーを節約することができる。アドレス長に応じて入力メッセージを別々に処理する単一のアドレスプロセッサ２３０を有するＣＥＣ２２２も可能である。後者の構成は、使用されるアドレスプロセッサが１つだけであるためハードウェアをより節約することができるが、より低速である。その理由は、アドレス解析が、アドレス長に応じて条件付きでロード又は分岐するソフトウェアに書かれる場合があるためである。
【００４３】
表１〜表３は、長さの異なるアドレス空間用のアドレス構造の具体例を示す。異なるアドレスタイプの数、定義される特定のアドレスタイプ、各アドレスタイプの領域数、及び各アドレス領域のサイズは、アドレス指定方式が使用されることを意図される特定のコンピューティングシステムのアーキテクチャに応じて選択され得る。
【００４４】
このように、本発明は、本発明の修正及び変更が添付の特許請求の範囲内及びそれらの等価物の範囲内に入る場合にそれらを包含することが意図されている。
【図面の簡単な説明】
【００４５】
【図１】コンピューティングシステムの第１の実施形態の一部のブロック図である。
【図２】方法の第１の実施形態のフローチャートである。
【図３】コンピューティングシステムの第２の実施形態の一部のブロック図である。
【図４】方法の第２の実施形態のフローチャートである。
【符号の説明】
【００４６】
20  コンピュータシステム
22、222  中央電子処理装置（ＣＥＣ）
24、224  ＣＰＵ
26、226  メモリ
28、228  バス又は他のＩ／Ｏ
229  資源
230  デコーダ
232  デコーダコントローラ
234  メッセージングロジック
236  ログ
【図１】
2008108249.tif 000006
【図２】
2008108249.tif 000007
【図３】
2008108249.tif 000008
【図４】
2008108249.tif 000009