トップ :: G 物理学 :: G06 計算;計数




【発明の名称】 アドレス空間割当方式
【発明者】 【氏名】平井 智則

【氏名】佐藤 慎一

【氏名】神山 洋平

【要約】 【課題】I/0バス制御装置21のアドレス空間13に対する各インタフェースカード22の使用アドレス空間の割付けを効率的に行う。

【解決手段】本発明は、CPUに対して、複数のインタフェースカードが接続されたI/OバスをI/Oバス制御装置を介して接続した計算機システムにおけるCPUから与えられたI/Oバス制御装置のアドレス空間に対して各インタフェースカードの使用アドレス空間を割当てるアドレス空間割当方式に適用さける。そして、I/Oバス制御装置のアドレス空間をインタフェースカードの設置数より多い所定数の単位アドレス空間に分割し、各インタフェースカードの使用アドレス空間を、この使用アドレス空間の大きさに対応した数の単位アドレス空間に割当てる。
【特許請求の範囲】
【請求項1】 CPUに対して、複数のインタフェースカードが接続されたI/OバスをI/Oバス制御装置を介して接続した計算機システムにおける前記CPUから与えられたI/Oバス制御装置のアドレス空間に対して前記各インタフェースカードの使用アドレス空間を割当てるアドレス空間割当方式において、前記I/Oバス制御装置のアドレス空間を前記インタフェースカードの設置数より多い所定数の単位アドレス空間に分割し、前記各インタフェースカードの使用アドレス空間を、この使用アドレス空間の大きさに対応した数の単位アドレス空間に割当てることを特徴とするアドレス空間割当方式。
【請求項2】 CPUに対して、複数のインタフェースカードが接続されたI/OバスをI/Oバス制御装置を介して接続した計算機システムにおける前記CPUから与えられたI/Oバス制御装置のアドレス空間に対して前記各インタフェースカードの使用アドレス空間を割当てるアドレス空間割当方式において、前記I/Oバス制御装置のアドレス空間を前記インタフェースカードの設置数より多い所定数の単位アドレス空間に分割し、前記各インタフェースカードの使用アドレス空間を、この使用アドレス空間の大きさに対応した数の単位アドレス空間に割当て、前記各インタフェースカード毎に、該当インタフェースカードに割当てられた各単位アドレス空間の指定情報と自己の使用アドレス空間の各上位アドレスとの関係を示すアドレス変換テーブルを備え、前記CPUは前記I/Oバス制御装置のアドレス空間のアドレスを前記単位アドレス空間の指定情報と下位アドレスとで指定し、前記各インタフェースカードは前記CPUから指定されたアドレスに含まれる単位アドレス空間の指定情報を自己のアドレス変換テーブルを用いて上位アドレスに変換し、この変換された上位アドレスと前記下位アドレスとを合成したアドレスで自己の使用アドレス空間をアクセスすることを特徴とするアドレス空間割当方式。
【請求項3】 CPUに対して、複数のインタフェースカードが接続されたI/OバスをI/Oバス制御装置を介して接続した計算機システムにおける前記CPUから与えられたI/Oバス制御装置のアドレス空間に対して前記各インタフェースカードの使用アドレス空間を割当てるアドレス空間割当方式において、前記I/Oバス制御装置のアドレス空間を前記インタフェースカードの設置数より多く、かつそれぞれの大きさが複数種類に設定された複数の単位アドレス空間に分割し、前記各インタフェースカードの使用アドレス空間を、この使用アドレス空間の大きさに対応した数及び種類の単位アドレス空間に割当て、前記各インタフェースカード毎に、該当インタフェースカードに割当てられた各単位アドレス空間の指定情報と自己の使用アドレス空間の各上位アドレスとの関係を示すアドレス変換テーブルを備え、前記CPUは前記I/Oバス制御装置のアドレス空間のアドレスを前記単位アドレス空間の指定情報と下位アドレスとで指定し、前記各インタフェースカードは前記CPUから指定されたアドレスに含まれる単位アドレス空間の指定情報を自己のアドレス変換テーブルを用いて上位アドレスに変換し、この変換された上位アドレスと前記下位アドレスとを合成したアドレスで自己の使用アドレス空間をアクセスすることを特徴とするアドレス空間割当方式。
【請求項4】 CPUに対して、複数のインタフェースカードが接続されたI/OバスをI/Oバス制御装置を介して接続した計算機システムにおける前記CPUから与えられたI/Oバス制御装置のアドレス空間に対して前記各インタフェースカードの使用アドレス空間を割当てるアドレス空間割当方式において、前記I/Oバス制御装置のアドレス空間をそれぞれ前記インタフェースカードの使用アドレス空間の大きさを有した複数のブロックアドレス空間に分割し、前記I/Oバス制御装置に、このI/Oバス制御装置のアドレス空間における各上位アドレスを、自己が含まれるブロックアドレス空間に割当てられたインタフェースカードの指定情報に変換するカードデコーダを備え、前記CPUは前記I/Oバス制御装置のアドレス空間のアドレスを上位アドレスと下位アドレスとで指定し、前記I/Oバス制御装置は前記CPUから指定されたアドレスに含まれる上位アドレスを前記カードデコーダでインタフェースカードの指定情報に変換し、前記各インタフェースカードは自己の指情報を含むアドレスに含まれる下位アドレスで自己の使用アドレス空間をアクセスすることを特徴とするアドレス空間割当方式。
【発明の詳細な説明】【0001】
【発明の属する技術分野】本発明はI/Oバスに複数のインタフェースカードが接続された計算機システムにおけるアドレス空間に対して各インタフェースカードの使用アドレス空間を割当てるアドレス空間割当方式に関する。
【0002】
【従来の技術】外部から多数のデータを取込んでデータ処理する計算機システムにおいては、各データを計算機で使用できるデータ形式に変換するためにそれぞれ専用のインタフェースカードを用いる。図11は複数のインタフェースカードが組込まれた計算機システムの概略構成図である。
【0003】システムバス1に対してCPU2,ROM3,RAM4及びI/Oバス制御装置5が接続されている。さらに、I/Oバス制御装置5に対して複数のバススロット7がI/Oバス6を介して接続されている。そして、各バススロット7に対してそれぞれインタフェースカード8が装着可能である。この各インタフェースカード8に対して外部からそれぞれデータが入出力される。
【0004】そして、図12に示すように、各インタフェースカード8は、互いに等しい大きさのアドレス空間9を有する。また、CPU2が指定可能なアドレス空間10は大きく分けて、ROM3やRAM4で使用される内部レジスタ領域12と、I/Oバス制御装置5で使用されるアドレス空間13とに分割される。そして、このアドレス空間13は等分に各バススロット7に割当てられている。
【0005】したがって、各バススロット7に割当られた各アドレス空間14の大きさは該当バススロット7に装着される各インタフェースカード8のアドレス空間9に等しい大きさに設定されている。
【0006】このように各インタフェースカード8のアドレス空間9がI/Oバス制御装置5で使用されるアドレス空間13に割当られた計算機システムにおいて、CPU2が各インタフェースカード8のアドレス空間9内の特定のアドレスをアクセスする場合、CPU2のアドレス空間10におけるI/Oバス制御装置5で使用されるアドレス空間13内の該当インタフェースカード8に対応するスロット7のアドレス空間14内のアドレスを指定すればよい。
【0007】このように、I/Oバス制御装置5がCPU2から自己に与えられたアドレス空間13を、各インタフェースカード8のアドレス空間9に割当てることによって、CPU2は各インタフェースカード8のアドレス空間9内の任意のアドレスをアクセス可能である。
【0008】
【発明が解決しようとする課題】しかしながら。図12に示すように、各インタフェースカード8のアドレス空間9をI/Oバス制御装置5のアドレス空間13内に割当てるアドレス空間割当方式においてもまだ解消すべき次のような課題かあった。
【0009】すなわち、図12に示すように、各インタフェースカード8は同一の大きさのアドレス空間9を有しているが、各インタフェースカード8に対して外部から入出力される各データの種類やデータ量は一定していない。各インタフェースカード8毎に、アドレス空間9内における実際の使用アドレス空間15と空きアドレス空間16とそれぞれ個別に設定される。
【0010】その結果、I/Oバス制御装置5のアドレス空間13内に各バススロット7のアドレス空間14毎にそれぞれ大きさが異なる複数の使用アドレス空間15aと空きアドレス空間16aとが形成される。したがって、I/Oバス制御装置5のアドレス空間13全体として、使用されない多数の空きアドレス空間16aが存在して、アドレス空間13全体を有効に使用できない問題がある。
【0011】本発明はこのような事情に鑑みてなされたものであり、I/Oバス制御装置のアドレス空間を大きさが小さい多数の単位アドレス空間に分割することによって、また、I/Oバス制御装置のアドレス空間を各インタフェースカードの使用アドレス空間の大きさを有した複数のブロックアドレス空間に分割することによって、このアドレス空間に対して各インタフェースカードの使用アドレス空間のみを効率的に割当でき、I/Oバス制御装置のアドレス空間を有効に使用できるアドレス空間割当方式を提供することを目的とする。
【0012】
【課題を解決するための手段】本発明は、CPUに対して、複数のインタフェースカードが接続されたI/OバスをI/Oバス制御装置を介して接続した計算機システムにおけるCPUから与えられたI/Oバス制御装置のアドレス空間に対して各インタフェースカードの使用アドレス空間を割当てるアドレス空間割当方式に適用される。
【0013】そして、上述した課題を解消するために、本発明のアドレス空間割当方式においては、I/Oバス制御装置のアドレス空間をインタフェースカードの設置数より多い所定数の単位アドレス空間に分割し、各インタフェースカードの使用アドレス空間を、この使用アドレス空間の大きさに対応した数の単位アドレス空間に割当てる。
【0014】このように構成されたアドレス空間割当方式においては、I/Oバス制御装置のアドレス空間をインタフェースカードの設置数より多い所定数の単位アドレス空間に分割し、各インタフェースカードの使用アドレス空間を、この使用アドレス空間の大きさに対応した数の単位アドレス空間に割当てる。
【0015】したがって、従来方式のように、各インタフェースカードの使用アドレス空間と空きアドレス空間とからなるインタフェースカード全体のアドレス空間をI/Oバス制御装置のアドレス空間に割当てる場合に比較して、各空きアドレス空間をI/Oバス制御装置のアドレス空間に割当てない分だけ、I/Oバス制御装置のアドレス空間を有効に使用できる。
【0016】また、別の発明のアドレス空間割当方式においては、I/Oバス制御装置のアドレス空間をインタフェースカードの設置数より多い所定数の単位アドレス空間に分割する。そして、各インタフェースカードの使用アドレス空間を、この使用アドレス空間の大きさに対応した数の単位アドレス空間に割当てる。各インタフェースカード毎に、該当インタフェースカードに割当てられた各単位アドレス空間の指定情報と自己の使用アドレス空間の各上位アドレスとの関係を示すアドレス変換テーブルを備えている。
【0017】そして、CPUはI/Oバス制御装置のアドレス空間のアドレスを単位アドレス空間の指定情報と下位アドレスとで指定する。すると、各インタフェースカードはCPUから指定されたアドレスに含まれる単位アドレス空間の指定情報を自己のアドレス変換テーブルを用いて上位アドレスに変換し、この変換された上位アドレスと下位アドレスとを合成したアドレスで自己の使用アドレス空間をアクセスする。
【0018】このように構成されたアドレス空間割当方式においては、上述した発明と同様に、各空きアドレス空間をI/Oバス制御装置のアドレス空間に割当てない分だけ、I/Oバス制御装置のアドレス空間を有効に使用できる。
【0019】さらに、各インタフェースカード内にアドレス変換テーブルを設けているので、CPUが各インタフェースカードの使用アドレス空間内のアドレスを簡単に指定できる。
【0020】また、別の発明のアドレス空間割当方式においては、I/Oバス制御装置のアドレス空間をインタフェースカードの設置数より多く、かつそれぞれの大きさが複数種類に設定された複数の単位アドレス空間に分割し、かつ、各インタフェースカードの使用アドレス空間を、この使用アドレス空間の大きさに対応した数及び種類の単位アドレス空間に割当てる。
【0021】このように、それぞれ大きさが異なる複数種類の単位アドレス空間を予め準備しておくことによつて、各インタフェースカードの使用アドレス空間をI/Oバス制御装置のアドレス空間の各単位アドレス空間に割当てる場合に生ずる空きアドレス領域をより一層少なくできる。
【0022】さらに、別の発明のアドレス空間割当方式においては、I/Oバス制御装置のアドレス空間をそれぞれインタフェースカードの使用アドレス空間の大きさを有した複数のブロックアドレス空間に分割する。さらに、I/Oバス制御装置に、このI/Oバス制御装置のアドレス空間における各上位アドレスを、自己が含まれるブロックアドレス空間に割当てられたインタフェースカードの指定情報に変換するカードデコーダを備えている。
【0023】そして、CPUはI/Oバス制御装置のアドレス空間のアドレスを上位アドレスと下位アドレスとで指定する。すると、I/Oバス制御装置はCPUから指定されたアドレスに含まれる上位アドレスをカードデコーダでインタフェースカードの指定情報に変換する。さらに、各インタフェースカードは自己の指情報を含むアドレスに含まれる下位アドレスで自己の使用アドレス空間をアクセスする。
【0024】このように構成されたアドレス空間割当方式においては、I/Oバス制御装置のアドレス空間はそれぞれインタフェースカードの使用アドレス空間の大きさを有した複数のブロックアドレス空間に分割され、各ブロックアドレス空間に対応する大きさを有したインタフェースカードの使用アドレス空間が割当てられる。よって、割当終了後のI/Oバス制御装置のアドレス空間における空きアドレス空間をより一層小さくできる。
【0025】なお、CPUが各インタフェースカードの使用アドレス空間内のアドレスを指定するために、I/Oバス制御装置内に、指定したアドレスの上位アドレスから該当指定アドレスが存在するインタフェースカードを特定するためのカードデコーダを設けている。
【0026】
【発明の実施の形態】以下本発明の各実施形態を図面を用いて説明する。
(第1実施形態)図1は本発明の第1実施形態のアドレス空間割当方式が採用された計算機システムを示す模式図である。図11に示す従来のアドレス空間割当方式が採用された計算機システムと同一部分には同一符号が付してある。したがって、重複する部分の詳細説明は省略されている。
【0027】システムバス1に対してCPU2,ROM3,RAM4及びI/Oバス制御装置21が接続されている。さらに、I/Oバス制御装置21に対して複数のバススロット7がI/Oバス6を介して接続されている。この各バススロット7に対してそれぞれインタフェースカード22が装着可能である。図3(b)に示すように、各インタフェースカード22は互いに等しい大きさのアドレス空間9を有する。そして、図示するように、アドレス空間9には実際に利用される利用アドレス空間15以外に空きアドレス空間16が存在する。
【0028】また、図2に示すように、CPU2が指定可能なアドレス空間10は前述したレジスタ領域12と、I/Oバス制御装置21で使用されるアドレス空間13とに分割される。そして、このアドレス空間13はインタフェースカード22の設置数より多い所定数の単位アドレス空間23に分割されている。各単位アドレス空間23はアドレス上において同一大きさを有している。さらに、各単位アドレス空間23は、図2に示すように、アドレス値の小さい順にページ番号(1,2,3,4,5,6,7,…)が付されている。
【0029】そして、I/Oバス制御装置21で使用されるアドレス空間13内を指定するアドレスADを上位アドレスADU と下位アドレスADL とを合成したアドレスで示すことができる。
【0030】
AD=上位アドレスADU +下位アドレスADLそして、前記各単位アドレス空間23は互いに異なる上位アドレスADU になるように、上位アドレスADU の桁数と下位アドレスADL の桁数とが設定されている。その結果、各単位アドレス空間23を特定する各ページ番号(1,2,3,4,5,6,7,…)はそれぞれ異なる上位アドレスADU に1対1で対応している。
【0031】そして、各インタフェースカード22の各アドレス空間9のうちの各使用アドレス空間15が、I/Oバス制御装置21で使用されるアドレス空間13に形成された各ページ番号(1,2,3,4,5,6,7,…)が付された各単位アドレス空間23にページ番号順に割当てられている。各使用アドレス領域15の大きさと単位アドレス空間23の大きさとは一般に一致しないので、図3(a)に示すように、各インタフェースカード22の使用アドレス空間15を1個又は複数の単位アドレス空間23に割当てている。その結果、使用アドレス空間15が割当てられた単位アドレス空間23においても多少の空き領域が存在する場合もある。
【0032】逆に、各インタフェースカード22のアドレス空間9内の空きアドレス空間16のアドレスはI/O制御装置21のアドレス空間13内に割当てられていない。
【0033】各インタフェースカード22内には、図1に示すように、アドレス変換テーブル24、及びプログラム上に形成されたアドレス変換部25とアクセス処理部26が設けられており、これらを用いてこのインタフェースカード22の前述したアドレス空間9内のCPU2が指定した使用アドレス空間15内のアドレスを指定する。このアドレス空間9内のアドレスADは、上述したI/Oバス制御装置21で使用されるアドレス空間13内の自己に割当られた単位アドレス空間23の上位アドレスADU と下位アドレスADL とを合成したアドレスで示すことができる。
【0034】アドレス変換テーブル24内には、自己のアドレス空間9内の使用アドレス空間15が割当てられた各単位アドレス空間23の指定情報としてのページ番号と自己のインタフェースカード22のアドレス空間9内の使用アドレス空間15内の上位アドレスADU との関係が記憶されている。
【0035】したがつて、使用アドレス空間15が小さい場合は、1個の単位アドレス空間23のみしか割当てられていないので、アドレス変換テーブル24内には1個のペーシ番号とこのページ番号に対応する一つの上位アドレスADU が設定されている。
【0036】逆に、使用アドレス空間15が大きい場合は、複数の単位アドレス空間23が割当てられているので、アドレス変換テーブル24内には複数のペーシ番号とこの各ページ番号に対応する複数の上位アドレスADU が設定されている。
【0037】各インタフェースカード22内に、自己の使用アドレス空間15に対応するアドレス変換テーブル24が設定された状態で、CPU2が任意のインタフェースカード22の使用アドレス空間15の一つのアドレスをアクセスする場合の手順を図4の模式図を用いて説明する。
【0038】CPU2は自己の指定可能なアドレス空間10内のI/Oバス制御装置21を指定する最上位アドレスと、インタフェースカード22の使用アドレス空間15が割当てられた単位アドレス空間23を特定するページ番号、及び使用アドレス空間15の下位アドレスADL からなるアドレス情報27をシステムバス1へ出力する。
【0039】I/Oバス制御装置21は、このシステムバス1上に出力された自己を指定したアドレス情報27を取込み、このアドレス情報27から自己を特定する最上位アドレスを取除いたページ番号と下位アドレスADL とからなるアドレス情報28をI/Oバス6へ出力する。I/Oバス6に接続された各インタフェースカード22はI/Oバス6上に出力されたアドレス情報28を取込み、このアドレス情報28に含まれるページ番号が自己のアドレス変換テーブル24に設定されているか否かを調べる。
【0040】該当ページ番号が設定されていない場合は、このアドレス情報28を破棄する。該当ページ番号が設定されている場合は、このページ番号に対応する使用アドレス空間15の上位アドレスADU を読出す。そしてこの読出した上位アドレスADU と元のアドレス情報28に含まれる下位アドレスADL を合成してアドレスAD29を作成する。
【0041】
AD=上位アドレスADU +下位アドレスADLそして、このアドレスAD29で、自己の使用アドレス空間15の最終目標アドレスに対してアクセスする。
【0042】なお、各インタフェースカード22の使用アドレス空間15のI/O制御装置21のアドレス空間13の各単位アドレス空間23に対する割当処理は、オペレータがマニュアル操作で実施してもよいが、この計算機システムの電源を投入した時点で、CPU2側でアプリケーションプログラムを用いて自動的に割当てることが可能である。この場合、割当て処理に最低限必要な各単位アドレス空間23のアドレス情報を含む情報を不揮発性メモリに予め記憶保持しておく。
【0043】そして、割当て処理の過程でCPU2は各インタフェースカード22のアドレス空間9における使用アドレス空間15の大きさを調べて、該当使用アドレス空間15をI/O制御装置21のアドレス空間13の各単位アドレス空間23に割当てる。また、割当て処理の最終段階で、CPU2は各インタフェースカード22のアドレス変換デーブル25にページ番号を含む必要事項を設定する。
【0044】このように構成されたアドレス空間割当方式においては、図3に示すように、I/Oバス制御装置21のCPU2から与えられたアドレス空間13をインタフェースカード22の設置数より多いそれぞれページ番号(1,2,3,4,5,6,7,…)が付された多数の単位アドレス空間23に分割し、各インタフェースカード22のアドレス空間9のなかの空のアドレス空間16を除いた実際の使用アドレス空間15を、この使用アドレス空間15の大きさに対応した数の単位アドレス空間23に割当てる。
【0045】したがって、各インタフェースカード8の使用アドレス空間15と空きアドレス空間16とからなるインタフェースカード全体のアドレス空間9をI/Oバス制御装置5のアドレス空間13に割当てる図12に示した従来のアドレス空間割当方式の場合に比較して、本実施形態方式においては、各空きアドレス空間16をI/Oバス制御装置21のアドレス空間13に割当てない分だけ、I/Oバス制御装置21のアドレス空間13を有効に使用できる。
【0046】その結果、図3に示すように、I/Oバス制御装置21のアドレス空間13におけるインタフェースカード22の使用アドレス空間15が割当てられていない単位アドレス空間23が多数残存することになり、この未使用の各単位アドレス空間23に追加のインタフェースカード22の使用アドレス空間15を割当てることが可能である。
【0047】よって、この計算機システムに対して簡単にインタフェースカード22を増設できる。
(第2実施形態)図5は本発明の第2実施形態に係わるアドレス空間割当方式が採用された計算機システムを示す模式図である。図1に示す第1実施形態のアドレス空間割当方式が採用された計算機システムと同一部分には同一符号が付してある。したがって、重複する部分の詳細説明は省略されている。
【0048】この第2実施形態の計算機システムにおいては、I/Oバス制御装置30内に、カードデコーダ31が設けられ、かつプログラム上に形成されたI/F変換部32が設けられている。
【0049】CPU2から与えられたI/Oバス制御装置30のアドレス空間13の各アドレスADは、第2実施形態と同様に、上位アドレスADU と下位アドレスADLとに分割できる。
【0050】そして、I/Oバス制御装置30のCPU2から与えられたアドレス空間13は、図6(a)に示すように、各インタフェースカード34のアドレス領域9内の使用アドレス空間15の大きさにほぼ対応する大きさを有した複数のブロックアドレス空間33に分割されている。
【0051】具体的には、各インタフェースカード34の各使用アドレス空間15のうち最も大きい使用アドレス空間15のブロックアドレス空間33がI/Oバス制御装置30のアドレス空間13の先頭部分に割当てられ、次に大きい使用アドレス空間15のブロックアドレス空間33がアドレス空間13の先頭部分の次に割当てられる。このように、各インタフェースカード34の各使用アドレス空間15のブロックアドレス空間33は大きい順にI/Oバス制御装置30のアドレス空間13に順番に割当てられる。
【0052】なお、各ブロックアドレス空間33の大きさは対応する使用アドレス空間15の大きさと完全に一致していなくて、使用アドレス空間15の大きさのアドレス値上での端数の発生や、隣接するブロックアドレス空間33とで上位アドレスADU が重複することを避けるために、多少の空きアドレス空間が存在する。逆に、大きい使用アドレス空間15に対応するブロックアドレス空間33には連続した複数種類の上位アドレスADU が割付けられる。
【0053】したがって、上位アドレスADU が特定されると、この上位アドレスADU が含まれるブロックアドレス空間33が特定され、さらにこのブロックアドレス空間33に対応する使用アドレス空間15のインタフェースカード34が特定される。使用アドレス空間15が大きい場合、複数の上位アドレスADU で一つのインタフェースカード34が指定される。
【0054】前記I/Oバス制御装置30内に形成されたカードデコーダ31内には、使用アドレス空間15内の各上位アドレスADU 毎に、該当上位アドレスADU で特定されるインタフェースカード34の指定情報であるインタフェースカード番号が設定されている。したがって、ブロックアドレス空間33が割当てられていない大きいアドレス値の上位アドレスADU にはインタフェースカード番号は設定されていない。
【0055】I/Oバス制御装置30内にカードデコーダ31が設定された状態で、CPU2が任意のインタフェースカード34の使用アドレス空間15の一つのアドレスをアクセスする場合の手順を図7の模式図を用いて説明する。
【0056】CPU2は自己の指定可能なアドレス空間10内のI/Oバス制御装置30を指定する最上位アドレスと、インタフェースカード34の使用アドレス空間15が割当てられたブロックアドレス空間33を特定する上位アドレスADU 、及び使用アドレス空間15の下位アドレスADL からなるアドレス情報35をシステムバス1へ出力する。
【0057】I/Oバス制御装置30は、このシステムバス1上に出力された自己を指定したアドレス情報35を取込み、このアドレス情報35から自己を特定する最上位アドレス及び上位アドレスADU を取除いた下位アドレスADL のみのアドレス情報37をI/Oバス6へ出力する。同時に、I/F変換部32が起動して、アドレス情報35から上位アドレスADU を取出して、この上位アドレスADU をカードデコーダ31を用いて、この上位アドレスADU に対応するインタフェースカード番号に変換する。そして、このインタフェースカード番号のインタフェースカード34に対するセレクト(選択)信号36をI/Oバス6へ出力する。
【0058】よって、このセレクト(選択)信号36で指定されたインタフェースカード34は、I/Oバス6上のアドレス情報37を取込み、このアドレス情報37に含まれる下位アドレスADL で自己のアドレス空間9の使用アドレス空間15内をアクセスする。
【0059】このように構成された第2実施形態のアクセス空間割当方式においては、I/Oバス制御装置30のCP2から与えられたアドレス空間13はそれぞれインタフェースカード34の使用アドレス空間15の大きさを有した複数のブロックアドレス空間33に分割される。そして、各ブロックアドレス空間33に対応する大きさを有したインタフェースカード34の使用アドレス空間15が割当てられる。
【0060】よって、割当終了後のI/Oバス制御装置30のアドレス空間13における空きアドレス空間をより一層小さくできる。
(第3実施形態)図8は本発明の第3実施形態のアドレス空間割当方式が採用された計算機システムにおける各インタフェースカードの概略構成図であり、図9はI/O制御装置のCPUから与えられたアドレス空間における各インタフェースカードの使用アドレス空間の割当状態を示す図である。
【0061】図1,図3と同一部分には同一符号が付してある。したがって、重複する部分の詳細説明は省略されている。なお、計算機システムの全体構成は図1に示す第1実施形態とほぼ同じである。
【0062】この第3実施形態においては、図9に示すように、I/O制御装置21のCPU2から与えられたアドレス空間13は、それぞれ大きさが異なる大,中,小の3種類の単位アドレス空間23a,23b,23cに分割される。そして、各単位アドレス空間23a,23b,23cには大,中,小毎にそれぞ連続するページ番号が付されている。
【0063】そして、各インタフェースカード22aのアドレス空間9の使用アドレス空間15は、大,中,小の各単位アドレス空間23a,23b,23cにおける自己の大きさに応じた単位アドレス空間23a,23b,23cに割当られる。例えば、3番のインタフェースカード22aの使用アドレス空間15は大きいので、大の単位アドレス空間23a(大ページ番号1)に割当られ、4番のインタフェースカード22aの使用アドレス空間15は小さいので、小の単位アドレス空間23c(小ページ番号2)に割当られる。
【0064】なお、1番のインタフェースカード22aのように、アドレス空間9内に使用アドレス空間15が2箇所に分散している場合は、それぞれの大きさに対応した中の単位アドレス空間23b(中ページ番号1)、及び小の単位アドレス空間23c(小ページ番号1)に割当られる。
【0065】したがって、一つのインタフェースカード22aに対して互いに大きさが異なる複数の単位アドレス空間23a〜23cが割当られる場合も存在する。そして、図8に示す各インタフェースカード22aのアドレス変換テーブル24a内には、自己の使用アドレス空間15が割当られたI/O制御装置21のアドレス空間13の1個又は複数の単位アドレス空間23a,23b,23cを指定する大,中,小のページ番号と、該当ページ番号で特定される自己のアドレス空間9の使用アドレス空間15の上位アドレスADU が設定されている。
【0066】したがって、自己の使用アドレス空間15の大きさや分散されて配置された場合等も考慮すると、図8に示すように、複数のページ番号及び上位アドレスADU が登録される場合もある。
【0067】各インタフェースカード22a内に、自己の使用アドレス空間15に対応するアドレス変換テーブル24aが設定された状態で、CPU2が任意のインタフェースカード22aの使用アドレス空間15の一つのアドレスをアクセスする場合の手順を図10の模式図を用いて説明する。
【0068】CPU2は自己の指定可能なアドレス空間10内のI/Oバス制御装置21を指定する最上位アドレスと、インタフェースカード22aの使用アドレス空間15が割当てられた大,中,小のいずれか一つの単位アドレス空間23a〜23cを特定するページ番号、及び使用アドレス空間15の下位アドレスADL からなるアドレス情報27aをシステムバス1へ出力する。
【0069】I/Oバス制御装置21は、このシステムバス1上に出力された自己を指定したアドレス情報27aを取込み、このアドレス情報27aから自己を特定する最上位アドレスを取除いた大,中,小いずれかのページ番号と下位アドレスADLとからなるアドレス情報28aをI/Oバス6へ出力する。I/Oバス6に接続された各インタフェースカード22aはI/Oバス6上に出力されたアドレス情報28aを取込み、このアドレス情報28aに含まれる大,中,小いずれかのページ番号が自己のアドレス変換テーブル24aに設定されているか否かを調べる。
【0070】該当ページ番号が設定されていない場合は、このアドレス情報28aを破棄する。該当ページ番号が設定されている場合は、このアドレス変換テーブル24aからこの大,中,小いずれかのページ番号に対応する使用アドレス空間15の上位アドレスADU を読出す。そしてこの読出した上位アドレスADU と元のアドレス情報28に含まれる下位アドレスADL とを合成してアドレスAD29aを作成する。
【0071】
AD=上位アドレスADU +下位アドレスADLそして、このアドレスAD29aで、自己の使用アドレス空間15の最終目標アドレスに対してアクセスする。
【0072】このように構成された第3実施形態のアドレス空間割当方式においても、各インタフェースカード22aのアドレス空間9内の実際に使用されている使用アドレス空間15のみがI/Oバス制御装置21のCPU2から与えられたアドレス空間13の各単位アドレス空間23a〜23cに割当られるので、第1実施形態のアドレス空間割当方式とほぼ同様の効果を得ることができる。
【0073】さらに、この第3実施形態のアドレス空間割当方式においては、I/Oバス制御装置21のCPU2から与えられたアドレス空間13をそれぞれ大きさが異なる大,中,小等の複数種類の単位アドレス空間23a,23b,23cに分割している。
【0074】したがって、各インタフェースカード22aの使用アドレス空間15をI/Oバス制御装置21のアドレス空間31の各単位アドレス空間23a,23b.23cに割当てる場合に生ずる無駄な空きアドレス領域をより一層少なくできる。
【0075】
【発明の効果】以上説明したように本発明のアドレス空間割当方式においては、I/Oバス制御装置のアドレス空間を大きさが小さい多数の単位アドレス空間に分割して、この各単位アドレス空間に対して、各インタフェースカードの指定可能なアドレス空間のうち実際に使用されている使用アドレス空間のみを割当ている。
【0076】したかって、I/Oバス制御装置のCPUから与えられたアドレス空間を有効に使用でき、かつ新規のインタフェースカードの増設も容易にできる計算機システムが実現できる。
【0077】また、I/Oバス制御装置のアドレス空間を各インタフェースカードの使用アドレス空間の大きさを有した各ブロックアドレス空間に分割して、各インタフェースカードの実際の使用アドレス空間を大きさに応じたブロックアドレス空間に割当てている。したがって、I/Oバス制御装置のCPUから与えられたアドレス空間をより有効に使用できる。
【出願人】 【識別番号】000003078
【氏名又は名称】株式会社東芝
【出願日】 平成9年(1997)8月27日
【代理人】 【弁理士】
【氏名又は名称】鈴江 武彦 (外6名)
【公開番号】 特開平11−65983
【公開日】 平成11年(1999)3月9日
【出願番号】 特願平9−231048