| 【発明の名称】 |
多重可変アドレスマッピング回路 |
| 【発明者】 |
【氏名】呉 穆
|
| 【要約】 |
【課題】構造性非連続アドレスマッピング処理において大量にソフト方式のアドレス演算を減少できる多重可変アドレスマッピング回路の提供。
【解決手段】アレイ中のある一つのフィールドアレイの入力ロジックアドレスと出力実体アドレスの変換を行う少なくとも一つのアドレスマッパと、実体アドレス出力にどの組のアドレスマッパーを採用するかを選択するマッパセレクタと、ベースシフトレジスタ、ロジックベースレジスタ、フィールド長レジスタ及び記録長度レジスタの内容を設定し並びにアドレスマッパ及びマッパセレクの動作を制御する制御及びインタフェース回路と、を包括する。 |
【特許請求の範囲】
【請求項1】 アレイデータ中のある一つのフィールドアレイの入力ロジックアドレスを受け取り、それを処理して出力実体アドレスとする多重可変アドレスマッピング回路において、アレイ中のある一つのフィールドアレイの入力ロジックアドレスと出力実体アドレスの変換を行う少なくとも一つのアドレスマッパを具え、該少なくとも一つのアドレスマッパが、該フィールドアレイのアドレスマッピングを要する開始実体アドレスを記録するベースシフトレジスタと、該フィールドアレイのアドレスマッピングを要する開始ロジックアドレスを記録するロジックベースレジスタと、該フィールドアレイの長さを記録するフィールド長レジスタと、該アレイの長さを記録する記録長度レジスタと、入力ロジックアドレスとロジックベースレジスタに保存したロジックベースアドレスに対して減法の演算を行う減法器と、該減法器の出力値とフィールド長レジスタが保存するフィールド長に対して除法/余数の演算を行う除法/余数ジェネレータと、該記録長度レジスタの保存するアレイ長と除法/余数ジェネレータの商数出力値に対して乗法の演算を行う乗法器と、該ベースシフトレジスタの保存する開始実体アドレス、除法/余数ジェネレータの余数出力値、及び乗法器の出力値に対して加法の演算を行い出力実体アドレスを得る加法器と、実体アドレスの出力にどのアドレスマッパを使用するかを選択するマッパセレクタと、ベースシフトレジスタ、ロジックベースレジスタ、フィールド長レジスタ及び記録長度レジスタの内容を選択し並びにアドレスマッパとマッパセレクタの動作を制御する、制御及びインタフェース回路と、を包括することを特徴とする、多重可変アドレスマッピング回路。 【請求項2】 前記アドレスマッパの個数が複数とされたことを特徴とする、請求項1に記載の多重可変アドレスマッピング回路。 【請求項3】 前記制御及びインタフェース回路が、ベースシフトレジスタ、ロジックベースレジスタ、フィールド長レジスタ及び記録長度レジスタのアドレスをデコードしアクセスを進行するための入出力デコーダを包括することを特徴とする、請求項1に記載の多重可変アドレスマッピング回路。 【請求項4】 アレイデータ中のある一つのフィールドアレイの入力ロジックアドレスを受け取り、それを処理して出力実体アドレスとする多重可変アドレスマッピング回路において、アレイ中のある一つのフィールドアレイの入力ロジックアドレスと出力実体アドレスの変換を行う少なくとも一つのアドレスマッパを具え、該少なくとも一つのアドレスマッパが、該フィールドアレイのアドレスマッピングを要する開始実体アドレスを記録するベースシフトレジスタと、該フィールドアレイのアドレスマッピングを要する開始ロジックアドレスを記録するロジックベースレジスタと、該フィールドアレイの長さを記録するフィールド長レジスタと、該アレイの長さを記録する記録長度レジスタと、減法器の出力値とフィールド長レジスタが保存するフィールド長に対して除法/余数の演算を行う除法/余数ジェネレータと、該記録長度レジスタの保存するアレイ長と除法/余数ジェネレータの商数出力値に対して乗法の演算を行う乗法器と、該ベースシフトレジスタの保存する開始実体アドレス、除法/余数ジェネレータの余数出力値、及び乗法器の出力値に対して加法の演算を行い出力実体アドレスを得る加法器と、実体アドレスの出力にどのアドレスマッパを使用するかを選択するマッパセレクタと、ベースシフトレジスタ、ロジックベースレジスタ、フィールド長レジスタ及び記録長度レジスタの内容を選択し並びにアドレスマッパとマッパセレクタの動作を制御する、制御及びインタフェース回路と、を包括することを特徴とする、多重可変アドレスマッピング回路。 【請求項5】 前記アドレスマッパの個数が複数とされたことを特徴とする、請求項4に記載の多重可変アドレスマッピング回路。 【請求項6】 前記制御及びインタフェース回路が、ベースシフトレジスタ、ロジックベースレジスタ、フィールド長レジスタ及び記録長度レジスタのアドレスをデコードしアクセスを進行するための入出力デコーダを包括することを特徴とする、請求項4に記載の多重可変アドレスマッピング回路。
|
【発明の詳細な説明】【0001】 【発明の属する技術分野】本発明は一種のアドレスマッピング処理の回路に係り、特に、構造性が非連続のアドレスのマッピング処理において大量にソフト方式のアドレス演算を減少できる多重可変アドレスマッピング回路に関する。 【0002】 【従来の技術】現在、プロセッサのメモリ或いは周辺機器に対するアクセスには、いずれも単一の固定アドレスマッピングアクセス方式が採用され、ハードウエア回路設計時に、メモリ或いは周辺機器のアクセスアドレスを固定する。ある回路はアドレスデコード時に不完全デコードテクニックを採用し、ただ一部のアドレス線をデコードして、同じ周辺機器或いはメモリを異なるアドレスに対応させている。しかしこのテクニックによると、異なるアドレスのデータ配列方式が却って同じとなった。 【0003】ある嵌入式CPU(Embedded CPU)は、アドレスデコード回路をプロセッサ内にビルドインし、プログラム設定方式を用い、連接するメモリ或いは周辺機器のアドレスを指定するが、しかしそのアクセスはいずれも連続アドレス空間とされる。 【0004】周知の技術は、構造性非連続のアドレスマッピングの処理に対して、ソフトウエア方式のアドレス演算処理を行い、このため大量にソフトウエア方式のアドレス演算が増加し、アレイデータなどの経常的な処理に対して、プロセッサの負荷が増加した。 【0005】 【発明が解決しようとする課題】本発明の主要な目的は一種の多重可変アドレスマッピング回路を提供し、それにより構造性非連続データを処理する時に、ハードウエアのアドレスマッピング回路を従来の大量のソフトウエアアドレス演算に代えられるようにすることにある。 【0006】本発明の次の目的は一種の多重可変アドレスマッピング回路を提供し、それによりプログラムの可移植性(Portability)を増加し、実体アドレスをロジックアドレスにマッピングし、プログラマーがメインシステムプログラムを設計する時に直接ロジックアドレスを採用し、僅かに初期設定時にアドレスマッピング回路のマッピング関数を設定するだけで、速やかにプログムを異なるプラットホーム設備に移植できるようにすることにある。 【0007】本発明のさらにもう一つの目的は、多重可変アドレスマッピング回路のアドレスマッピング回路内に、複数のレジスタを設けて、レジスタ内の内容を改変してマッピング関数を改変できるようにすることにある。 【0008】 【課題を解決するための手段】請求項1の発明は、アレイデータ中のある一つのフィールドアレイの入力ロジックアドレスを受け取り、それを処理して出力実体アドレスとする多重可変アドレスマッピング回路において、アレイ中のある一つのフィールドアレイの入力ロジックアドレスと出力実体アドレスの変換を行う少なくとも一つのアドレスマッパを具え、該少なくとも一つのアドレスマッパが、該フィールドアレイのアドレスマッピングを要する開始実体アドレスを記録するベースシフトレジスタと、該フィールドアレイのアドレスマッピングを要する開始ロジックアドレスを記録するロジックベースレジスタと、該フィールドアレイの長さを記録するフィールド長レジスタと、該アレイの長さを記録する記録長度レジスタと、入力ロジックアドレスとロジックベースレジスタに保存したロジックベースアドレスに対して減法の演算を行う減法器と、該減法器の出力値とフィールド長レジスタが保存するフィールド長に対して除法/余数の演算を行う除法/余数ジェネレータと、該記録長度レジスタの保存するアレイ長と除法/余数ジェネレータの商数出力値に対して乗法の演算を行う乗法器と、該ベースシフトレジスタの保存する開始実体アドレス、除法/余数ジェネレータの余数出力値、及び乗法器の出力値に対して加法の演算を行い出力実体アドレスを得る加法器と、実体アドレスの出力にどのアドレスマッパを使用するかを選択するマッパセレクタと、ベースシフトレジスタ、ロジックベースレジスタ、フィールド長レジスタ及び記録長度レジスタの内容を選択し並びにアドレスマッパとマッパセレクタの動作を制御する、制御及びインタフェース回路と、を包括することを特徴とする、多重可変アドレスマッピング回路としている。請求項2の発明は、前記アドレスマッパの個数が複数とされたことを特徴とする、請求項1に記載の多重可変アドレスマッピング回路としている。請求項3の発明は、前記制御及びインタフェース回路が、ベースシフトレジスタ、ロジックベースレジスタ、フィールド長レジスタ及び記録長度レジスタのアドレスをデコードしアクセスを進行するための入出力デコーダを包括することを特徴とする、請求項1に記載の多重可変アドレスマッピング回路としている。請求項4の発明は、アレイデータ中のある一つのフィールドアレイの入力ロジックアドレスを受け取り、それを処理して出力実体アドレスとする多重可変アドレスマッピング回路において、アレイ中のある一つのフィールドアレイの入力ロジックアドレスと出力実体アドレスの変換を行う少なくとも一つのアドレスマッパを具え、該少なくとも一つのアドレスマッパが、該フィールドアレイのアドレスマッピングを要する開始実体アドレスを記録するベースシフトレジスタと、該フィールドアレイのアドレスマッピングを要する開始ロジックアドレスを記録するロジックベースレジスタと、該フィールドアレイの長さを記録するフィールド長レジスタと、該アレイの長さを記録する記録長度レジスタと、減法器の出力値とフィールド長レジスタが保存するフィールド長に対して除法/余数の演算を行う除法/余数ジェネレータと、該記録長度レジスタの保存するアレイ長と除法/余数ジェネレータの商数出力値に対して乗法の演算を行う乗法器と、該ベースシフトレジスタの保存する開始実体アドレス、除法/余数ジェネレータの余数出力値、及び乗法器の出力値に対して加法の演算を行い出力実体アドレスを得る加法器と、実体アドレスの出力にどのアドレスマッパを使用するかを選択するマッパセレクタと、ベースシフトレジスタ、ロジックベースレジスタ、フィールド長レジスタ及び記録長度レジスタの内容を選択し並びにアドレスマッパとマッパセレクタの動作を制御する、制御及びインタフェース回路と、を包括することを特徴とする、多重可変アドレスマッピング回路としている。請求項5の発明は、前記アドレスマッパの個数が複数とされたことを特徴とする、請求項4に記載の多重可変アドレスマッピング回路としている。請求項6の発明は、前記制御及びインタフェース回路が、ベースシフトレジスタ、ロジックベースレジスタ、フィールド長レジスタ及び記録長度レジスタのアドレスをデコードしアクセスを進行するための入出力デコーダを包括することを特徴とする、請求項4に記載の多重可変アドレスマッピング回路としている。 【0009】 【発明の実施の形態】本発明の多重可変アドレスマッピング回路は、アレイ中のある一つのフィールドアレイの入力ロジックアドレスと出力実体アドレスの変換を行う少なくとも一つのアドレスマッパと、実体アドレス出力にどの組のアドレスマッパを採用するかを選択するマッパセレクタと、ベースシフトレジスタ、ロジックベースレジスタ、フィールド長レジスタ及び記録長度レジスタの内容を設定し並びにアドレスマッパ及びマッパセレクの動作を制御する制御及びインタフェース回路と、を包括する。 【0010】そのうちアドレスマッパはベースシフトレジスタ、ロジックベースレジスタ、フィールド長レジスタ、記録長度レジスタ、減法器、除法/余数ジェネレータ、乗法器、及び加法器を包括する。 【0011】 【実施例】図1は本発明の多重可変アドレスマッピング回路10のブロック図である。多重可変アドレスマッピング回路10に関して説明すると、入力ロジックアドレス51はコンピュータのプロセッサ或いはロジカルアドレスバス93が認定したアドレスであり、出力実体アドレス52は、多重可変アドレスマッピング回路10が入力ロジックアドレス51を変換した後のアドレスであり、出力実体アドレス52は真正のメモリ91或いは入出力設備92に送られるアドレス信号である。入力ロジックアドレス51と出力実体アドレス52の対応関係は可変的であり、且つ連続或いは非連続の対応関係たりうる。図1に示される実施例では、5組のアドレスマッパ20a、20b、20c、20d、20eがあり、各一つのアドレスマッパ20はいずれも個別にマッピング方式を設定でき、虚偽の入力ロジックアドレス51を出力実体アドレス52にマッピングする。仮に出力実体アドレス52、例えば、4000,4008,4016,4024,4032,・・・が、ロジックアドレス0、1、2、3、4、5,・・・に対応するとすると、アドレスマッパ20aを以下のように設定できる。 アドレスマッパ20a: PA=F1(LA),F1(x)=4000+(x)* 8並びにマッパセレクタ30を、CS0がアドレスマッパ20aを採用したと設定し、プロセッサが入力ロジックアドレス51即ち0,1,2,3,・・・にアクセスする時、実際に出力実体アドレス52即ち4000,4008,4016,・・・のデータにアクセスする。 【0012】メモリ91或いは入出力設備92は、多種のロジックアドレス(或いは仮想アドレスと称する)と実体アドレスの対応関係を有しうる。即ち多重アドレス機能であり、各一種類のアドレスのアドレシング方式はいずれも異なる。図1に示されるように、外部のプロセッサのアドレスバス93(即ちLogical Addr.bus;LA)が多重可変アドレスマッピング回路10の三組のアドレスマッパ20a、20b、20cを透過し、三種類の異なるアドレスマッピング方式を以て、メモリの実体アドレス(Physical Address,PA)に変換し、メモリデータにアクセスする。入出力設備92は二組のアドレスマッパ20d,20eを使用する。 アドレスマッパ20a: PA=F1(LA) アドレスマッパ20b: PA=F2(LA) アドレスマッパ20c: PA=LAF1、F2は異なるマッピング関数で、アドレスマッパ20cは即ちいかなる変換も行わない。 【0013】異なるマッピング関数設定により、メモリ91を入出力設備92のアドレス範囲にマッピングするか、或いは入出力設備92をメモリ91の範囲にマッピングすることができる。 【0014】使用者はアドレス区域対応方式を採用して、異なるアドレス空間を異なるマッパにマッピングすることができ、例えば、アドレス0000−3fffは自動的にアドレスマッパ20aを使用し、4000−BFFFはいかなるマッピングも行わず、C000−DFFFはアドレスマッパ20bを使用し、F000−FFFFはアドレスマッパ20cを使用する、というマッピングが行える。 【0015】以上のようなロジックアドレスと実体アドレスの変換は、ハードウエア回路の利用により完成し、大量のソフトウエア演算及びアクセス時間を節約できる。例えば、構造性が非連続のデータを処理する時、ハードウエアのアドレスマッピング回路を採用することで周知の大量のソフトウエアによるアドレス演算に代えることができる。仮に4000,4008,4016,4024,4032,・・・アドレス内のデータにアクセスしたいならば、以下に例示する簡単なアドレス変換関数を使用する。即ち、F1(x)=4000+(x)* 8【0016】ソフトウエアでアドレス計算する時、一回の乗法或いはシフト演算及び一回の加法演算が必要である。80×86の組合せ言語を以て一次アクセス時に必要な命令を説明すると、以下のようになる。 MOV BX,xSHL BX,3 ; Multiply 8ADD BX,4000MOV AX,〔BX〕 【0017】もし関数がさらに複雑であると、必要な演算もさらに多くなる。もし本発明の技術方式でアクセスすると、アドレスマッパ設定後に、僅かに以下の命令により完成することができる。 MOV BX,xMOV AX,〔BX〕 【0018】もし、比較的複雑な方式であり、例えば、20アドレス毎に三つのアドレスの内容データを取る場合も、この回路を利用してアクセスを完成できる。回路(loop)を使用して大量のデータにアクセスする時、大量の時間を節約できる。 【0019】このほか、本発明はプログラムの可移植性(Portability)を増加することができる。なぜなら実体アドレスをロジックアドレスにマッピングでき、プログラマーがメインシステムプログラム設計時に直接ロジックアドレスを採用するのに、僅かに初期設定時にアドレスマッピング回路のマッピング関数を設定するだけで、速やかにプログムを異なるプラットホーム設備に移植できるためである。 【0020】本発明の技術の特徴を説明するため、図2の、本発明をアレイ中データアクセスに応用した例を参照する。例えば表A(TableA)の姓名A(NameA)のフィールドのデータを取り出して表B(TableB)の顧客B(CustomB)のフィールドに入れる場合を以下に説明する。アドレス4000h部分には、一組のマルチフィールドデータ(表A;TableA)があり、TableAは三組のフィールドを有し、フィールド名称及びフィールド長はそれぞれNoAが4バイトを、姓名Aが16バイトを、NIDAが8バイトを占める。このほか、アドレス6000h部分にはもう一組のマルチフィールドデータ(表B;TableB)があり、TableBは二つのフィールドを有し、SIDBは4バイトを、顧客Bは16バイトを有する。 姓名A開始アドレス: 4000h+4+(1Ch* i),i=0,1,2,・・・(iは列数を代表する),各姓名A開始アドレスは4004h,4020h,403ch,4058h,・・・とされる。 顧客B開始アドレス: 6000h+4+(14h* j),j=0,1,2,・・・(jは列数を代表する),各顧客B開始アドレスは6004h,6018h,602ch,6040h,・・・とされる。 各一つの表中の任意の一つのフィールドの開始アドレスとフィールド幅は、以下の公式を用いて表示できる。 Addr start=Base+FieldOffset+n* RecordLen=(Base+FieldOffset)+n* RecordLen各変数は以下のとおり:Base: 表開始アドレス、例えば表Aなら4000hであり、表Bなら6000hである。 FieldOffset: フィールドの各筆データ中の移植値である。 表Aと表Bの各フィールドは以下のように移動する。 NoA:0,姓名A:4,NIDA:14hSIDB:0,顧客B:4RecordLen: 各筆データ長であり、表Aでは1Ch,表Bでは14hである。もし、全てのフィールドデータのアドレスに連続データを以てアクセスしたいなら、公式は以下のように改修する。 公式1:S〔x〕=(Base+FieldOffset)+INT(x/FieldLen)* RecordLen+(x mod FieldLen) そのうち、xはデータのロジックアレイS中の移動値である。 FieldLen:フィールド幅。各フィールドのFieldLenは以下のとおりである:NoA:4,姓名A、10h,NIDA:8SIDB:4,顧客B:10h今仮に、表Aがn個のデータを有するとして、周知のソフトウエア方式によりこのフィールドを複製すると、プログラム仮想コード式は以下のようになる:【数1】
以上のプログラム中、下線をひいたプログラムコード部分は、もしハードウエアで計算すると、我々は上述のfor回路プログラム・・・・・・を簡単にすることができ、ptrA=VbaseA;// VbaseAはNameAフィールドのロジック開始アドレスptrB=VbaseB;// VbaseBはCustomBフィールドのロジック開始アドレスcout=n* FieldLen(NameA); for(x=0;x<count;x++) { * ptrB++=* ptrA++} 【0021】本発明はハードウエア方式を採用し、この快速演算の目的を達成し、本発明は非連続性のアレイデータアクセスに相当に有用である。上述の例の目的を達成するためのアドレスマッパ20のブロック実施例図が図3であり、該アドレスマッパ20のブロック図が代表する公式は上述の公式1を参照されたい。 前述の公式1:S〔x〕=(Base+FieldOffset)+INT(x/FieldLen)* RecordLen+(x mod FieldLen) xはデータがある一つのロジックアレイS(例えば表Aの姓名Aフィールドアレイ)中の移動値で、これによりアレイインデックスとすることができる。s〔x〕は出力実体アドレス52とされる。ロジックアレイSの入力ロジックアドレス51はSBase+xで表示され、そのうちSbaseは該フィールドアレイのアドレスマッピングの開始ロジックアドレスを代表し、よってxは計算で出され、即ちx=入力ロジックアドレス51−Sbaseである。 【0022】アドレスマッパ20は以下のレジスタにより相関関数を保存する。ベースシフトレジスタ21は、該フィールドアレイが行うアドレスマッピングの開始実体アドレス、即ち、Base+FieldOffset値、上述の実施例では4000h+4=4004hを記録する。ロジックベースレジスタ22。このレジスタは、該フィールドアレイが行うアドレスマッピングの開始ロジックアドレス、即ち、Sbase、例えばC000h或いは0(進入するアドレス線が完全なアドレス線C000hか或いは僅かに低レベルアドレス部分かによって定められる)を記録する。もしロジックアドレスアレイ開始アドレスが0000より開始されるか或いは取り入れる有効低レベルアドレスが0である時(これは例えばロジックアドレス開始アドレスがC000hであるが、ただし、ただ低レベルの12条のアドレス線だけ使用するため、送り込まれるアドレスが000とされる場合である)、回路上にはロジックベースレジスタ22及び減法器25を設けなくともよい。フィールド長レジスタ23。このレジスタは、このアレイの長度、即ちFieldLen値、上述の実施例では10hを記録する。記録長度レジスタ24。このレジスタは、該アレイの長度、即ちRecordLen値、以上の実施例では1Chを記録する。 【0023】アドレスマッパ20は以下の数学演算器を以て完成する。即ち、減法器25は、入力ロジックアドレス51とロジックベースレジスタ22に保存したロジックベースアドレスに対して減法の演算を行い、即ちアレイインデックスx=入力ロジックアドレス51−Sbaseを求める。例えば、入力ロジックアドレス51がC004hであれば、即ち、x=C004h−C000h=4となる。除法/余数ジェネレータ26は、減法器25の出力値とフィールド長レジスタ23が保存するフィールド長に対して除法/余数の演算を行い、即ち、INT(x/FieldLen)商数の値、及び、(x mod FieldLen)余数の値を求める。例えばx=12hであれば、求める商数の値=1で、余数の値=2である。乗法器27は、記録長度レジスタ24の保存するアレイ長と除法/余数ジェネレータ26の商数出力値に対して乗法の演算を行い、即ちINT(x/FieldLen)* RecordLenの値を求める。例えばx=12hであれば、求める商数の値=1で、乗法器出力=1Chとなる。加法器28は、ベースシフトレジスタ21の保存する開始実体アドレス、除法/余数ジェネレータ26の余数出力値、及び乗法器27の出力値に対して加法の演算を行い出力実体アドレス52を得る。即ち、入力ロジックアドレス51はC012h、出力実体アドレス52は4022hである。 【0024】以上から分かるように、ただ一つのロジックアドレスを送り込むだけで、回路が対応する実体アドレスを出力する。このロジックアドレス範囲内にあって、プロセッサがデータに連続アクセス或いは随意アクセスする。即ち、複雑なソフトウエアアドレス演算を必要としない。並びにベースシフトレジスタ21、ロジックベースレジスタ22、フィールド長レジスタ23及び記録長度レジスタ24の内容を改変するだけで、マッピング関数を改変できる。 【0025】上述の図2の実施例にあって、表Aの姓名Aフィールドの実体アドレスを求め、及び表Bの顧客Bフィールドの実体アドレスを求める必要があるため、二つのアドレスマッパ20を利用するのが最も望ましい。 【0026】図4はマッパセレクタ30の回路ブロック図である。その主要な機能は、アドレスバンクデコーダ31を透過してバンクアドレス(Bank Address;即ち入力ロジックアドレス51の高レベルアドレス線)をデコードし、デコード結果とバンクマスクレジスタ33(Bank Mask Resister)の内容に基づき、選択使用するアドレスマッパ20を決定することにある。その回路について以下に説明する。バンクアドレスをアドレスバンクデコーダ31でデコードする。X0 からXm は異なるデコード範囲を示す。例えば、0000−0fffにデコードされればX0 を1とし、X1 からXm は即ち0となる。1000−1fffであれば、X1 を1とし、その他は0とし、以上を以て類推する。これらの結果が多組のORゲートマスク回路32(MASK OR)に送られる。この回路はバンクマスクレジスタ33の内容を先にアドレスバンクデコーダ31の出力と対応するビットとロジックAND演算し、さらに、一緒に出力してOR演算する。これはどのバンクデコードアドレスをZへの出力とするかを制御するのに用いられる。もしバンクマスクレジスタ33のY0 ,Y1 及びY2 を1と設け、Y3 からYm を0と設けると、これはX0 ,X1 ,X2 の三つのアドレスデコード範囲が有効であって、残りは無効であることを表示する。一旦、アドレス範囲がX0 ,X1 ,X2 のうち任意の一つの範囲に落ちつくと、Z出力は1となり、そうでなければ0となる。ORゲートマスク回路32は図5に示されるとおりである。各アドレスマッパ20は、一つのバンクマスクレジスタ33と一つのORゲートマスク回路32を有しうる。もし三つのアドレスマッパ20があれば、三つのバンクマスクレジスタ33と三つのORゲートマスク回路32がある。 【0027】各組のORゲートマスク回路32の出力は優先権エンコーダ34で送られ、それは優先権の方式でエンコードし、例えばZ2 の出力が1であり、その他の入力が0であれば、即ち優先権エンコーダ34の出力は2となる。もし二組以上の入力が同時に1であれば、即ち優先順序に照らしてエンコード出力する。 【0028】マルチプレクサ35は、優先権エンコーダ34の出力に基づき、選択使用するアドレスマッパ20を決定し、そのアドレスマッパの実体マッピングアドレスを出力する。 【0029】優先権エンコーダ34の出力が0の時、出力するアドレスは入力するアドレスとなり、回路はアドレスマッピング変換を行わない。 【0030】図6は本発明の制御及びインタフェース回路40のブロック実施例図である。制御及びインタフェース回路40は、アドレスマッパ20及びマッパセレクタ30の内部のレジスタのデータの設定とアクセスに用いられる。入出力デコーダ41は、各レジスタのアドレスのデコードに用いられる。データバッファ42は外界データバス94のデータのレジスタに保存させるか、或いはレジスタデータを外界データバス94に送る。 【0031】なお、以上の説明は本発明の実施例に関するものであり、本発明の請求範囲を限定するものではなく、本発明の技術の属する分野における通常の知識を有する者が本発明に基づきなしうる改変或いは修飾は、いずれも本発明の請求範囲に属するものとする。 【0032】 【発明の効果】本発明は一種の多重可変アドレスマッピング回路を提供し、それにより構造性非連続データを処理する時に、ハードウエアのアドレスマッピング回路を従来の大量のソフトウエアアドレス演算に代えられるようにしている。 【0033】本発明は一種の多重可変アドレスマッピング回路を提供し、それによりプログラムの可移植性(Portability)を増加し、実体アドレスをロジックアドレスにマッピングし、プログラマーがメインシステムプログラムを設計する時に直接ロジックアドレスを採用し、僅かに初期設定時にアドレスマッピング回路のマッピング関数を設定するだけで、速やかにプログムを異なるプラットホーム設備に移植できるようにしている。 【0034】本発明は多重可変アドレスマッピング回路のアドレスマッピング回路内に、複数のレジスタを設けて、レジスタ内の内容を改変してマッピング関数を改変できるようにしている。
|
| 【出願人】 |
【識別番号】599060434 【氏名又は名称】財團法人資訊工業策進會
|
| 【出願日】 |
平成12年10月16日(2000.10.16) |
| 【代理人】 |
【識別番号】100082304 【弁理士】 【氏名又は名称】竹本 松司 (外5名)
|
| 【公開番号】 |
特開2002−132576(P2002−132576A) |
| 【公開日】 |
平成14年5月10日(2002.5.10) |
| 【出願番号】 |
特願2000−314605(P2000−314605) |
|