JP2002132576A - 多重可変アドレスマッピング回路 - Google Patents

多重可変アドレスマッピング回路

Info

Publication number
JP2002132576A
JP2002132576A JP2000314605A JP2000314605A JP2002132576A JP 2002132576 A JP2002132576 A JP 2002132576A JP 2000314605 A JP2000314605 A JP 2000314605A JP 2000314605 A JP2000314605 A JP 2000314605A JP 2002132576 A JP2002132576 A JP 2002132576A
Authority
JP
Japan
Prior art keywords
address
register
array
mapper
logic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2000314605A
Other languages
English (en)
Other versions
JP3497810B2 (ja
Inventor
Boku Go
穆 呉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute for Information Industry
Original Assignee
Institute for Information Industry
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to US09/670,554 priority Critical patent/US6427200B1/en
Application filed by Institute for Information Industry filed Critical Institute for Information Industry
Priority to JP2000314605A priority patent/JP3497810B2/ja
Publication of JP2002132576A publication Critical patent/JP2002132576A/ja
Application granted granted Critical
Publication of JP3497810B2 publication Critical patent/JP3497810B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】 構造性非連続アドレスマッピング処理におい
て大量にソフト方式のアドレス演算を減少できる多重可
変アドレスマッピング回路の提供。 【解決手段】 アレイ中のある一つのフィールドアレイ
の入力ロジックアドレスと出力実体アドレスの変換を行
う少なくとも一つのアドレスマッパと、実体アドレス出
力にどの組のアドレスマッパーを採用するかを選択する
マッパセレクタと、ベースシフトレジスタ、ロジックベ
ースレジスタ、フィールド長レジスタ及び記録長度レジ
スタの内容を設定し並びにアドレスマッパ及びマッパセ
レクの動作を制御する制御及びインタフェース回路と、
を包括する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は一種のアドレスマッ
ピング処理の回路に係り、特に、構造性が非連続のアド
レスのマッピング処理において大量にソフト方式のアド
レス演算を減少できる多重可変アドレスマッピング回路
に関する。
【0002】
【従来の技術】現在、プロセッサのメモリ或いは周辺機
器に対するアクセスには、いずれも単一の固定アドレス
マッピングアクセス方式が採用され、ハードウエア回路
設計時に、メモリ或いは周辺機器のアクセスアドレスを
固定する。ある回路はアドレスデコード時に不完全デコ
ードテクニックを採用し、ただ一部のアドレス線をデコ
ードして、同じ周辺機器或いはメモリを異なるアドレス
に対応させている。しかしこのテクニックによると、異
なるアドレスのデータ配列方式が却って同じとなった。
【0003】ある嵌入式CPU(Embedded C
PU)は、アドレスデコード回路をプロセッサ内にビル
ドインし、プログラム設定方式を用い、連接するメモリ
或いは周辺機器のアドレスを指定するが、しかしそのア
クセスはいずれも連続アドレス空間とされる。
【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,4
024,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,40
08,4016,・・・のデータにアクセスする。
【0012】メモリ91或いは入出力設備92は、多種
のロジックアドレス(或いは仮想アドレスと称する)と
実体アドレスの対応関係を有しうる。即ち多重アドレス
機能であり、各一種類のアドレスのアドレシング方式は
いずれも異なる。図1に示されるように、外部のプロセ
ッサのアドレスバス93(即ちLogical Add
r.bus;LA)が多重可変アドレスマッピング回路
10の三組のアドレスマッパ20a、20b、20cを
透過し、三種類の異なるアドレスマッピング方式を以
て、メモリの実体アドレス(Physical Add
ress,PA)に変換し、メモリデータにアクセスす
る。入出力設備92は二組のアドレスマッパ20d,2
0eを使用する。 アドレスマッパ20a: PA=F1(LA) アドレスマッパ20b: PA=F2(LA) アドレスマッパ20c: PA=LA F1、F2は異なるマッピング関数で、アドレスマッパ
20cは即ちいかなる変換も行わない。
【0013】異なるマッピング関数設定により、メモリ
91を入出力設備92のアドレス範囲にマッピングする
か、或いは入出力設備92をメモリ91の範囲にマッピ
ングすることができる。
【0014】使用者はアドレス区域対応方式を採用し
て、異なるアドレス空間を異なるマッパにマッピングす
ることができ、例えば、アドレス0000−3fffは
自動的にアドレスマッパ20aを使用し、4000−B
FFFはいかなるマッピングも行わず、C000−DF
FFはアドレスマッパ20bを使用し、F000−FF
FFはアドレスマッパ20cを使用する、というマッピ
ングが行える。
【0015】以上のようなロジックアドレスと実体アド
レスの変換は、ハードウエア回路の利用により完成し、
大量のソフトウエア演算及びアクセス時間を節約でき
る。例えば、構造性が非連続のデータを処理する時、ハ
ードウエアのアドレスマッピング回路を採用することで
周知の大量のソフトウエアによるアドレス演算に代える
ことができる。仮に4000,4008,4016,4
024,4032,・・・アドレス内のデータにアクセ
スしたいならば、以下に例示する簡単なアドレス変換関
数を使用する。即ち、 F1(x)=4000+(x)*
【0016】ソフトウエアでアドレス計算する時、一回
の乗法或いはシフト演算及び一回の加法演算が必要であ
る。80×86の組合せ言語を以て一次アクセス時に必
要な命令を説明すると、以下のようになる。 MOV BX,x SHL BX,3 ; Multiply 8 ADD BX,4000 MOV AX,〔BX〕
【0017】もし関数がさらに複雑であると、必要な演
算もさらに多くなる。もし本発明の技術方式でアクセス
すると、アドレスマッパ設定後に、僅かに以下の命令に
より完成することができる。 MOV BX,x MOV AX,〔BX〕
【0018】もし、比較的複雑な方式であり、例えば、
20アドレス毎に三つのアドレスの内容データを取る場
合も、この回路を利用してアクセスを完成できる。回路
(loop)を使用して大量のデータにアクセスする
時、大量の時間を節約できる。
【0019】このほか、本発明はプログラムの可移植性
(Portability)を増加することができる。
なぜなら実体アドレスをロジックアドレスにマッピング
でき、プログラマーがメインシステムプログラム設計時
に直接ロジックアドレスを採用するのに、僅かに初期設
定時にアドレスマッピング回路のマッピング関数を設定
するだけで、速やかにプログムを異なるプラットホーム
設備に移植できるためである。
【0020】本発明の技術の特徴を説明するため、図2
の、本発明をアレイ中データアクセスに応用した例を参
照する。例えば表A(TableA)の姓名A(Nam
eA)のフィールドのデータを取り出して表B(Tab
leB)の顧客B(CustomB)のフィールドに入
れる場合を以下に説明する。アドレス4000h部分に
は、一組のマルチフィールドデータ(表A;Table
A)があり、TableAは三組のフィールドを有し、
フィールド名称及びフィールド長はそれぞれNoAが4
バイトを、姓名Aが16バイトを、NIDAが8バイト
を占める。このほか、アドレス6000h部分にはもう
一組のマルチフィールドデータ(表B;TableB)
があり、TableBは二つのフィールドを有し、SI
DBは4バイトを、顧客Bは16バイトを有する。 姓名A開始アドレス: 4000h+4+(1Ch*
i),i=0,1,2,・・・(iは列数を代表す
る),各姓名A開始アドレスは4004h,4020
h,403ch,4058h,・・・とされる。 顧客B開始アドレス: 6000h+4+(14h*
j),j=0,1,2,・・・(jは列数を代表す
る),各顧客B開始アドレスは6004h,6018
h,602ch,6040h,・・・とされる。 各一つの表中の任意の一つのフィールドの開始アドレス
とフィールド幅は、以下の公式を用いて表示できる。 Addr start=Base+FieldOffs
et+n* RecordLen=(Base+Fiel
dOffset)+n* RecordLen 各変数は以下のとおり: Base: 表開始アドレス、例えば表Aなら4000
hであり、表Bなら6000hである。 FieldOffset: フィールドの各筆データ中
の移植値である。 表Aと表Bの各フィールドは以下のように移動する。 NoA:0,姓名A:4,NIDA:14h SIDB:0,顧客B:4 RecordLen: 各筆データ長であり、表Aでは
1Ch,表Bでは14hである。もし、全てのフィール
ドデータのアドレスに連続データを以てアクセスしたい
なら、公式は以下のように改修する。 公式1: S〔x〕=(Base+FieldOffset)+I
NT(x/FieldLen)* RecordLen+
(x mod FieldLen) そのうち、xはデータのロジックアレイS中の移動値で
ある。 FieldLen:フィールド幅。各フィールドのFi
eldLenは以下のとおりである: NoA:4,姓名A、10h,NIDA:8 SIDB:4,顧客B:10h 今仮に、表Aがn個のデータを有するとして、周知のソ
フトウエア方式によりこのフィールドを複製すると、プ
ログラム仮想コード式は以下のようになる:
【数1】 以上のプログラム中、下線をひいたプログラムコード部
分は、もしハードウエアで計算すると、我々は上述のf
or回路プログラム・・・・・・を簡単にすることがで
き、 ptrA=VbaseA;// VbaseAはNam
eAフィールドのロジック開始アドレス ptrB=VbaseB;// VbaseBはCus
tomBフィールドのロジック開始アドレス cout=n* FieldLen(NameA); for(x=0;x<count;x++) { * ptrB++=* ptrA++}
【0021】本発明はハードウエア方式を採用し、この
快速演算の目的を達成し、本発明は非連続性のアレイデ
ータアクセスに相当に有用である。上述の例の目的を達
成するためのアドレスマッパ20のブロック実施例図が
図3であり、該アドレスマッパ20のブロック図が代表
する公式は上述の公式1を参照されたい。 前述の公式1: S〔x〕=(Base+FieldOffset)+I
NT(x/FieldLen)* RecordLen+
(x mod FieldLen) xはデータがある一つのロジックアレイS(例えば表A
の姓名Aフィールドアレイ)中の移動値で、これにより
アレイインデックスとすることができる。s〔x〕は出
力実体アドレス52とされる。ロジックアレイSの入力
ロジックアドレス51はSBase+xで表示され、そ
のうちSbaseは該フィールドアレイのアドレスマッ
ピングの開始ロジックアドレスを代表し、よってxは計
算で出され、即ちx=入力ロジックアドレス51−Sb
aseである。
【0022】アドレスマッパ20は以下のレジスタによ
り相関関数を保存する。ベースシフトレジスタ21は、
該フィールドアレイが行うアドレスマッピングの開始実
体アドレス、即ち、Base+FieldOffset
値、上述の実施例では4000h+4=4004hを記
録する。ロジックベースレジスタ22。このレジスタ
は、該フィールドアレイが行うアドレスマッピングの開
始ロジックアドレス、即ち、Sbase、例えばC00
0h或いは0(進入するアドレス線が完全なアドレス線
C000hか或いは僅かに低レベルアドレス部分かによ
って定められる)を記録する。もしロジックアドレスア
レイ開始アドレスが0000より開始されるか或いは取
り入れる有効低レベルアドレスが0である時(これは例
えばロジックアドレス開始アドレスがC000hである
が、ただし、ただ低レベルの12条のアドレス線だけ使
用するため、送り込まれるアドレスが000とされる場
合である)、回路上にはロジックベースレジスタ22及
び減法器25を設けなくともよい。フィールド長レジス
タ23。このレジスタは、このアレイの長度、即ちFi
eldLen値、上述の実施例では10hを記録する。
記録長度レジスタ24。このレジスタは、該アレイの長
度、即ちRecordLen値、以上の実施例では1C
hを記録する。
【0023】アドレスマッパ20は以下の数学演算器を
以て完成する。即ち、減法器25は、入力ロジックアド
レス51とロジックベースレジスタ22に保存したロジ
ックベースアドレスに対して減法の演算を行い、即ちア
レイインデックスx=入力ロジックアドレス51−Sb
aseを求める。例えば、入力ロジックアドレス51が
C004hであれば、即ち、x=C004h−C000
h=4となる。除法/余数ジェネレータ26は、減法器
25の出力値とフィールド長レジスタ23が保存するフ
ィールド長に対して除法/余数の演算を行い、即ち、I
NT(x/FieldLen)商数の値、及び、(x
mod FieldLen)余数の値を求める。例えば
x=12hであれば、求める商数の値=1で、余数の値
=2である。乗法器27は、記録長度レジスタ24の保
存するアレイ長と除法/余数ジェネレータ26の商数出
力値に対して乗法の演算を行い、即ちINT(x/Fi
eldLen)* 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 Addre
ss;即ち入力ロジックアドレス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のY
0 ,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】本発明は一種の多重可変アドレスマッピン
グ回路を提供し、それによりプログラムの可移植性(P
ortability)を増加し、実体アドレスをロジ
ックアドレスにマッピングし、プログラマーがメインシ
ステムプログラムを設計する時に直接ロジックアドレス
を採用し、僅かに初期設定時にアドレスマッピング回路
のマッピング関数を設定するだけで、速やかにプログム
を異なるプラットホーム設備に移植できるようにしてい
る。
【0034】本発明は多重可変アドレスマッピング回路
のアドレスマッピング回路内に、複数のレジスタを設け
て、レジスタ内の内容を改変してマッピング関数を改変
できるようにしている。
【図面の簡単な説明】
【図1】本発明の多重可変アドレスマッピング回路のブ
ロック実施例図である。
【図2】本発明をアレイ中データアクセスに応用した応
用例図である。
【図3】本発明のアドレスマッパ回路に関する実施例ブ
ロック図である。
【図4】本発明のアドレスマッパ回路に関するブロック
実施例図である。
【図5】本発明のORゲートマスク回路の実施例図であ
る。
【図6】本発明の制御及びインタフェース回路に関する
ブロック実施例図である。
【符号の説明】
10 多重可変アドレスマッピング回路 20 アド
レスマッパ 21 ベースシフトレジスタ 22 ロジッ
クベースレジスタ 23 フィールド長レジスタ 24 記録
長度レジスタ 25 減法器 26 除法/余数ジ
ェネレータ 27 乗法器 28 加法器 30 マッパセレクタ 31 アドレスバン
クデコーダ 32 ORゲートマスク回路 33 バンクマスクレジスタ 34 優先権エンコーダ 35 マルチプレク
サ 40 制御及びインタフェース回路 41 入出力
デコーダ 51 入力ロジックアドレス 52 出力実
体アドレス 91 メモリ 92 入出力
設備 93 アドレスバス 94 データ
バス

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 アレイデータ中のある一つのフィールド
    アレイの入力ロジックアドレスを受け取り、それを処理
    して出力実体アドレスとする多重可変アドレスマッピン
    グ回路において、 アレイ中のある一つのフィールドアレイの入力ロジック
    アドレスと出力実体アドレスの変換を行う少なくとも一
    つのアドレスマッパを具え、 該少なくとも一つのアドレスマッパが、 該フィールドアレイのアドレスマッピングを要する開始
    実体アドレスを記録するベースシフトレジスタと、 該フィールドアレイのアドレスマッピングを要する開始
    ロジックアドレスを記録するロジックベースレジスタ
    と、 該フィールドアレイの長さを記録するフィールド長レジ
    スタと、 該アレイの長さを記録する記録長度レジスタと、 入力ロジックアドレスとロジックベースレジスタに保存
    したロジックベースアドレスに対して減法の演算を行う
    減法器と、 該減法器の出力値とフィールド長レジスタが保存するフ
    ィールド長に対して除法/余数の演算を行う除法/余数
    ジェネレータと、 該記録長度レジスタの保存するアレイ長と除法/余数ジ
    ェネレータの商数出力値に対して乗法の演算を行う乗法
    器と、 該ベースシフトレジスタの保存する開始実体アドレス、
    除法/余数ジェネレータの余数出力値、及び乗法器の出
    力値に対して加法の演算を行い出力実体アドレスを得る
    加法器と、 実体アドレスの出力にどのアドレスマッパを使用するか
    を選択するマッパセレクタと、 ベースシフトレジスタ、ロジックベースレジスタ、フィ
    ールド長レジスタ及び記録長度レジスタの内容を選択し
    並びにアドレスマッパとマッパセレクタの動作を制御す
    る、制御及びインタフェース回路と、 を包括することを特徴とする、多重可変アドレスマッピ
    ング回路。
  2. 【請求項2】 前記アドレスマッパの個数が複数とされ
    たことを特徴とする、請求項1に記載の多重可変アドレ
    スマッピング回路。
  3. 【請求項3】 前記制御及びインタフェース回路が、ベ
    ースシフトレジスタ、ロジックベースレジスタ、フィー
    ルド長レジスタ及び記録長度レジスタのアドレスをデコ
    ードしアクセスを進行するための入出力デコーダを包括
    することを特徴とする、請求項1に記載の多重可変アド
    レスマッピング回路。
  4. 【請求項4】 アレイデータ中のある一つのフィールド
    アレイの入力ロジックアドレスを受け取り、それを処理
    して出力実体アドレスとする多重可変アドレスマッピン
    グ回路において、 アレイ中のある一つのフィールドアレイの入力ロジック
    アドレスと出力実体アドレスの変換を行う少なくとも一
    つのアドレスマッパを具え、 該少なくとも一つのアドレスマッパが、 該フィールドアレイのアドレスマッピングを要する開始
    実体アドレスを記録するベースシフトレジスタと、 該フィールドアレイのアドレスマッピングを要する開始
    ロジックアドレスを記録するロジックベースレジスタ
    と、 該フィールドアレイの長さを記録するフィールド長レジ
    スタと、 該アレイの長さを記録する記録長度レジスタと、 減法器の出力値とフィールド長レジスタが保存するフィ
    ールド長に対して除法/余数の演算を行う除法/余数ジ
    ェネレータと、 該記録長度レジスタの保存するアレイ長と除法/余数ジ
    ェネレータの商数出力値に対して乗法の演算を行う乗法
    器と、 該ベースシフトレジスタの保存する開始実体アドレス、
    除法/余数ジェネレータの余数出力値、及び乗法器の出
    力値に対して加法の演算を行い出力実体アドレスを得る
    加法器と、 実体アドレスの出力にどのアドレスマッパを使用するか
    を選択するマッパセレクタと、 ベースシフトレジスタ、ロジックベースレジスタ、フィ
    ールド長レジスタ及び記録長度レジスタの内容を選択し
    並びにアドレスマッパとマッパセレクタの動作を制御す
    る、制御及びインタフェース回路と、 を包括することを特徴とする、多重可変アドレスマッピ
    ング回路。
  5. 【請求項5】 前記アドレスマッパの個数が複数とされ
    たことを特徴とする、請求項4に記載の多重可変アドレ
    スマッピング回路。
  6. 【請求項6】 前記制御及びインタフェース回路が、ベ
    ースシフトレジスタ、ロジックベースレジスタ、フィー
    ルド長レジスタ及び記録長度レジスタのアドレスをデコ
    ードしアクセスを進行するための入出力デコーダを包括
    することを特徴とする、請求項4に記載の多重可変アド
    レスマッピング回路。
JP2000314605A 2000-09-27 2000-10-16 多重可変アドレスマッピング回路 Expired - Fee Related JP3497810B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US09/670,554 US6427200B1 (en) 2000-09-27 2000-09-27 Multiple changeable addressing mapping circuit
JP2000314605A JP3497810B2 (ja) 2000-09-27 2000-10-16 多重可変アドレスマッピング回路

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/670,554 US6427200B1 (en) 2000-09-27 2000-09-27 Multiple changeable addressing mapping circuit
JP2000314605A JP3497810B2 (ja) 2000-09-27 2000-10-16 多重可変アドレスマッピング回路

Publications (2)

Publication Number Publication Date
JP2002132576A true JP2002132576A (ja) 2002-05-10
JP3497810B2 JP3497810B2 (ja) 2004-02-16

Family

ID=26602113

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000314605A Expired - Fee Related JP3497810B2 (ja) 2000-09-27 2000-10-16 多重可変アドレスマッピング回路

Country Status (2)

Country Link
US (1) US6427200B1 (ja)
JP (1) JP3497810B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6721839B1 (en) * 2000-12-27 2004-04-13 International Business Machines Corporation Method of mapping multiple address spaces into single PCI bus
US7478248B2 (en) * 2002-11-27 2009-01-13 M-Systems Flash Disk Pioneers, Ltd. Apparatus and method for securing data on a portable storage device
US8695087B2 (en) * 2008-04-04 2014-04-08 Sandisk Il Ltd. Access control for a memory device
CN103914390B (zh) * 2013-01-06 2016-08-17 北京忆恒创源科技有限公司 存储设备
US10860219B2 (en) * 2018-10-05 2020-12-08 Micron Technology, Inc. Performing hybrid wear leveling operations based on a sub-total write counter

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DD208499A3 (de) * 1982-10-26 1984-05-02 Adw Ddr Mehrdimensionaler paralleler speicher
EP0443551B1 (en) * 1990-02-21 1997-05-02 Matsushita Electric Industrial Co., Ltd. A multidimensional address generator and a system for controlling the generator
JP3449566B2 (ja) * 1994-01-28 2003-09-22 株式会社リコー アドレス発生装置
JPH07253922A (ja) * 1994-03-14 1995-10-03 Texas Instr Japan Ltd アドレス生成回路
US5860154A (en) * 1994-08-02 1999-01-12 Intel Corporation Method and apparatus for calculating effective memory addresses
US5699545A (en) * 1996-02-05 1997-12-16 Hughes Electronics Row address generator in a memory address system
US5940876A (en) * 1997-04-02 1999-08-17 Advanced Micro Devices, Inc. Stride instruction for fetching data separated by a stride amount

Also Published As

Publication number Publication date
US6427200B1 (en) 2002-07-30
JP3497810B2 (ja) 2004-02-16

Similar Documents

Publication Publication Date Title
JP2932963B2 (ja) 効率的なビット移動能力を有するデータ・プロセッサとその方法
Peleg et al. Intel MMX for multimedia PCs
JP3924307B2 (ja) 算術演算装置及び算術演算方法
CA2735354C (en) Programmable processor and method with wide operations
US20050198471A1 (en) Micro-controller for reading out compressed instruction code and program memory for compressing instruction code and storing therein
EP1468367A1 (en) Multithreaded processor with efficient processing for convergence device applications
CN113743599A (zh) 一种卷积神经网络的运算装置及服务器
JP2682264B2 (ja) プログラムカウンタ装置
JPH07181969A (ja) コードセグメント置換装置及びそれを用いたリアルタイム信号処理システム並びにオーディオ処理システム
JP3497810B2 (ja) 多重可変アドレスマッピング回路
JP2009093513A (ja) 命令ビット長削減方法
JP2003108435A (ja) ユーザによりプログラム可能なアドレス指定モードを有するシステム及びその方法
JP2002125228A (ja) ディジタルデータの伸張システムおよび伸張方法
CN1173272C (zh) 多重可变地址映射电路
JP2002171525A (ja) ビットプレーン演算命令を備えたsimd型演算装置
JP4479370B2 (ja) プロセッサ
JP2001125785A (ja) 命令コード割り当て方法及び命令解読装置
JP3786329B2 (ja) 符号化復号化装置
JP2002344328A (ja) 復号化装置、プログラム及び可変長符号の復号方法
JPH02242471A (ja) ディスクリートコサイン演算装置
TW200415515A (en) System for allowing only a partial value prediction field/cache size
JP3474347B2 (ja) マイクロコンピュータの命令解読部
JP2003233496A (ja) マイクロプロセッサ
JP2622553B2 (ja) マイクロコンピュータ
JPH0758459B2 (ja) マイクロプログラム制御装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20031111

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081128

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091128

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091128

Year of fee payment: 6

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091128

Year of fee payment: 6

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101128

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101128

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111128

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees