JPH0193847A - アドレス拡張方式 - Google Patents
アドレス拡張方式Info
- Publication number
- JPH0193847A JPH0193847A JP62250913A JP25091387A JPH0193847A JP H0193847 A JPH0193847 A JP H0193847A JP 62250913 A JP62250913 A JP 62250913A JP 25091387 A JP25091387 A JP 25091387A JP H0193847 A JPH0193847 A JP H0193847A
- Authority
- JP
- Japan
- Prior art keywords
- bit
- address
- domain
- operand
- instruction
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1036—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User 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 Of A Hierarchy Structure (AREA)
- Memory System (AREA)
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は情報処理装置のアドレス拡張方式に係り、特に
既存ソフトウェアとの“互換性を保ちつ\アドレスを拡
張するのに好適なアドレス拡張方式〔従来の技術〕 現在の汎用計算機のアーキテクチャは、一般に命令カウ
ンタや汎用レジスタなどが31ビツトまたは32ビツト
であり、既存のソフトウェアも31ビツトアドレスを前
提に作られている。なお、この種の汎用計算機のアーキ
テクチャについては、例えばアイ・ビー・エムシステム
/370 イクステンデッドアーキテクチャ プリンシ
プルズオブオペレーション(I BM System
370E xtended A rchitectur
e P rinciples of Operatio
n、5A22−7085−0.1983年)において論
じられている。
既存ソフトウェアとの“互換性を保ちつ\アドレスを拡
張するのに好適なアドレス拡張方式〔従来の技術〕 現在の汎用計算機のアーキテクチャは、一般に命令カウ
ンタや汎用レジスタなどが31ビツトまたは32ビツト
であり、既存のソフトウェアも31ビツトアドレスを前
提に作られている。なお、この種の汎用計算機のアーキ
テクチャについては、例えばアイ・ビー・エムシステム
/370 イクステンデッドアーキテクチャ プリンシ
プルズオブオペレーション(I BM System
370E xtended A rchitectur
e P rinciples of Operatio
n、5A22−7085−0.1983年)において論
じられている。
近年のデータ量の増大に伴ない、仮想アドレス、実アド
レス共に31ビツト以上のアドレスが必要になってきた
。このアドレスを31ビツト以上に拡張した新しいアー
キテクチャを規定する場合、既存の31ビツトアドレス
のアーキテクチャとの互換性を保つことが重要である。
レス共に31ビツト以上のアドレスが必要になってきた
。このアドレスを31ビツト以上に拡張した新しいアー
キテクチャを規定する場合、既存の31ビツトアドレス
のアーキテクチャとの互換性を保つことが重要である。
すなわち、新アーキテクチャの情報処理装置においても
、既存の31ビツトアドレスのソフトウェアを何ら変更
すること無く走行できることが必要である。
、既存の31ビツトアドレスのソフトウェアを何ら変更
すること無く走行できることが必要である。
本発明の目的は、現在の31ビツトアーキテクチヤとの
互換性を保ちつ\、31ビツト以上にアドレスを拡張す
るアドレス拡張方式を提供することにある。
互換性を保ちつ\、31ビツト以上にアドレスを拡張す
るアドレス拡張方式を提供することにある。
上記目的は、従来のページ(1ページは例えば4にバイ
ト)、セグメント(1セグメントは例えば1Mバイト)
という仮想空間の構成単位に、新たにドメイン(1ドメ
インは例えば2Gバイト)という構成単位を追加して、
命令ドメイン・レジスタ(IDR)と、に個のオペラン
ド・ドメイン・レジスタ (ODRj、j=1.2.・
・・、 k、 kは自然数)と、プログラムからセ
ット、リセットできる命令アドレス拡張モード(I E
)ビットとオペランドアドレス拡張モード(OE)ビッ
トを設け、更にセグメント・テーブル・オリジン・レジ
スタ(STOR)の他にドメイン・テーブル・オリジン
・レジスタ(DTOR)を設けることにより達成される
。
ト)、セグメント(1セグメントは例えば1Mバイト)
という仮想空間の構成単位に、新たにドメイン(1ドメ
インは例えば2Gバイト)という構成単位を追加して、
命令ドメイン・レジスタ(IDR)と、に個のオペラン
ド・ドメイン・レジスタ (ODRj、j=1.2.・
・・、 k、 kは自然数)と、プログラムからセ
ット、リセットできる命令アドレス拡張モード(I E
)ビットとオペランドアドレス拡張モード(OE)ビッ
トを設け、更にセグメント・テーブル・オリジン・レジ
スタ(STOR)の他にドメイン・テーブル・オリジン
・レジスタ(DTOR)を設けることにより達成される
。
Niビット(31ビツトとする)の命令カウンタをイン
クリメントした時、最上位ビットからキャリーが出る場
合、IEビットが111 IIの時にはIDRの最下位
ビットに“1″を加え、IEビットがll OIIの時
にはキャリーを無視する。Noビット(31ビツトとす
る)のオペランドアドレス計算でも、最上位ビットから
キャリーが出る場合、OEビットがIt I IIの時
、あらかじめ指定されているi番目のODRjの最下位
ビットに′“1”を加え、IEビットが′0′″の時、
キャリーを無視する。
クリメントした時、最上位ビットからキャリーが出る場
合、IEビットが111 IIの時にはIDRの最下位
ビットに“1″を加え、IEビットがll OIIの時
にはキャリーを無視する。Noビット(31ビツトとす
る)のオペランドアドレス計算でも、最上位ビットから
キャリーが出る場合、OEビットがIt I IIの時
、あらかじめ指定されているi番目のODRjの最下位
ビットに′“1”を加え、IEビットが′0′″の時、
キャリーを無視する。
アドレス変換は次のようにして行う。IDRまたはOD
Rjが“0″の時は、従来と同じアドレス変換を行う。
Rjが“0″の時は、従来と同じアドレス変換を行う。
すなわち5TORで示されるセグメント・テーブル(S
T)と、STエントリの指定するページ・テーブル(
PT)を参照し、PTエントリ内のページフレームアド
レス(PFRA)と、仮想アドレスのバイトインデック
ス部を結合し、31ビツトの実アドレスを得る。一方、
IDRまたはODRjが11011で無い時、仮想アド
レスは拡張されているため、前記DTORを用いてアド
レス変換を行う。
T)と、STエントリの指定するページ・テーブル(
PT)を参照し、PTエントリ内のページフレームアド
レス(PFRA)と、仮想アドレスのバイトインデック
ス部を結合し、31ビツトの実アドレスを得る。一方、
IDRまたはODRjが11011で無い時、仮想アド
レスは拡張されているため、前記DTORを用いてアド
レス変換を行う。
従来の31ビツト・アドレスのプログラムは、IEモー
ド、OEモードを共に“0”にしておけば、何らプログ
ラムを変更せずに走行できる。−方、アドレスを拡張し
たプログラムおよび/またはデータを使用する時は、I
Eモード/○Eモードを“1”にし、IDR,ODRj
を用いることにより、拡張されたアドレスを使用するこ
とができる。
ド、OEモードを共に“0”にしておけば、何らプログ
ラムを変更せずに走行できる。−方、アドレスを拡張し
たプログラムおよび/またはデータを使用する時は、I
Eモード/○Eモードを“1”にし、IDR,ODRj
を用いることにより、拡張されたアドレスを使用するこ
とができる。
以下、本発明の一実施例について図を用いて説明する。
本実施例では、命令ドメイン・レジスタ(IDR)、オ
ペランド・ドメイン・レジスタ(ODRj)は共に16
ビツトとし、ODRjはJ=1゜2の2本で、○DRI
は第1オペランド用、0DR2は第2オペランド用とし
て用いることにする。
ペランド・ドメイン・レジスタ(ODRj)は共に16
ビツトとし、ODRjはJ=1゜2の2本で、○DRI
は第1オペランド用、0DR2は第2オペランド用とし
て用いることにする。
第2図は本実施例における拡張仮想アドレスで、47ビ
ツト構成をとるとしている。ビット16からビット46
までの31ビツトは従来の31ビツト仮想アドレスと同
じで、セグメント・インデックス(SX)が11ビツト
、ページインデックス(px)が8ビツト、バイト・イ
ンデックス(BX)が12ビツトで、セグメント・サイ
ズ1Mバイト、ページサイズが4にバイトである。これ
に。
ツト構成をとるとしている。ビット16からビット46
までの31ビツトは従来の31ビツト仮想アドレスと同
じで、セグメント・インデックス(SX)が11ビツト
、ページインデックス(px)が8ビツト、バイト・イ
ンデックス(BX)が12ビツトで、セグメント・サイ
ズ1Mバイト、ページサイズが4にバイトである。これ
に。
本発明ではさらに16ビツトのドメイン・インデックス
(D X)を追加する。こNで、2ギガ(G)バイトの
大きさの仮想空間を仮想ドメインと呼ぶことにする。す
なわち、47ビツトで表現される仮想空間は、2”=6
4に個の1つが2Gバイトの大きさの仮想ドメインに分
割されている。DX部がdの仮想ドメインを仮想ドメイ
ンdと呼ぶことにする。
(D X)を追加する。こNで、2ギガ(G)バイトの
大きさの仮想空間を仮想ドメインと呼ぶことにする。す
なわち、47ビツトで表現される仮想空間は、2”=6
4に個の1つが2Gバイトの大きさの仮想ドメインに分
割されている。DX部がdの仮想ドメインを仮想ドメイ
ンdと呼ぶことにする。
第1図は本発明の一実施例のハードウェア・ブロック図
である。
である。
まず、命令のメモリアクセスを説明する。命令アドレス
(31ビツト)はプログラム・カウンタ(PC)1に格
納されており、実行した命令の長さは命令長コードレジ
スタ(ILC)2に格納されている。PCIとILC2
をpc加算回路(PCADDER)3によって加算する
ことで次に実行すべき命令アドレスを求める。加算結果
は出力レジスタ(PCD)4にセットされ、さらにPC
Iにセットされる。PCD4の内容はメモリから命令を
フェッチするために仮想アドレスレジスタ(VAR)5
に送られる。この仮想アドレスは、実アドレスにアドレ
ス変換するため、アドレス変換バッファ(TLB)6を
参照する。本実施例では仮想アドレスのSX部をTLB
5のアドレスとして用いることにする。TLB6の各エ
ントリは、当該エントリが有効であることを示すVフィ
ールド、仮想ドメインOの時はセグメント・テーブル・
オリジン・レジスタ(STO)、仮想ドメイン0以外の
時はドメイン・テーブル・オリジン・レジスタ(DTO
)が格納されるDTO/STOフィールド、ドメイン・
インデックス(DX)、ページインデックス(P X)
フィールド、そしてページ・フレーム・リアル・アドレ
ス(PFRA)フィールドよりなる。プログラム実行時
の命令ドメイン、第17第2オペランド・ドメインの値
は、IDR7、OCR(1)8.0DR(2)9に格納
されており、命令フェッチか、第1オペランドのリクエ
ストか第2オペランドのリクエストかによって、これら
3レジスタのいずれかの出力が選択される。この選択後
のドメイン番号が0かどうかをオール検出回路10で検
出し、ドメインOの場合にはSTOレジスタ(STOR
)11を、ドメインがOでない場合にはDT○レジスタ
(DT、0R)12を選択する。
(31ビツト)はプログラム・カウンタ(PC)1に格
納されており、実行した命令の長さは命令長コードレジ
スタ(ILC)2に格納されている。PCIとILC2
をpc加算回路(PCADDER)3によって加算する
ことで次に実行すべき命令アドレスを求める。加算結果
は出力レジスタ(PCD)4にセットされ、さらにPC
Iにセットされる。PCD4の内容はメモリから命令を
フェッチするために仮想アドレスレジスタ(VAR)5
に送られる。この仮想アドレスは、実アドレスにアドレ
ス変換するため、アドレス変換バッファ(TLB)6を
参照する。本実施例では仮想アドレスのSX部をTLB
5のアドレスとして用いることにする。TLB6の各エ
ントリは、当該エントリが有効であることを示すVフィ
ールド、仮想ドメインOの時はセグメント・テーブル・
オリジン・レジスタ(STO)、仮想ドメイン0以外の
時はドメイン・テーブル・オリジン・レジスタ(DTO
)が格納されるDTO/STOフィールド、ドメイン・
インデックス(DX)、ページインデックス(P X)
フィールド、そしてページ・フレーム・リアル・アドレ
ス(PFRA)フィールドよりなる。プログラム実行時
の命令ドメイン、第17第2オペランド・ドメインの値
は、IDR7、OCR(1)8.0DR(2)9に格納
されており、命令フェッチか、第1オペランドのリクエ
ストか第2オペランドのリクエストかによって、これら
3レジスタのいずれかの出力が選択される。この選択後
のドメイン番号が0かどうかをオール検出回路10で検
出し、ドメインOの場合にはSTOレジスタ(STOR
)11を、ドメインがOでない場合にはDT○レジスタ
(DT、0R)12を選択する。
命令フェッチではIDR7が選択されており、IDR7
とTLB6のDXフィールド、5TOR11又はDTO
R12とTLB6のDTO/ST0フィー/l/ド、V
AR5のpx部とTLB6のPXフィールドの一致を比
較回路13,14.15で検出し、かつTLB6のVフ
ィールドが“1”の時、アンドゲート25の出力HIT
が“1″となる。この場合、TLB6に目的のアドレス
変換対が登録されている(ヒツトした)と判定され、T
LB6のPFRAフィールドの内容を実アドレスレジス
タ(RAR)16の上位にセットし、該RAR16の下
位にVAR5の下位をセットする。
とTLB6のDXフィールド、5TOR11又はDTO
R12とTLB6のDTO/ST0フィー/l/ド、V
AR5のpx部とTLB6のPXフィールドの一致を比
較回路13,14.15で検出し、かつTLB6のVフ
ィールドが“1”の時、アンドゲート25の出力HIT
が“1″となる。この場合、TLB6に目的のアドレス
変換対が登録されている(ヒツトした)と判定され、T
LB6のPFRAフィールドの内容を実アドレスレジス
タ(RAR)16の上位にセットし、該RAR16の下
位にVAR5の下位をセットする。
このRAR16の実アドレスはメモリ(図示せず)に送
られ、命令がフェッチされる。
られ、命令がフェッチされる。
次にオペランドのメモリリクエストについて説明する。
オペランドアドレス(31ビツト)はペースレジスタ(
BR)とインデックスレジスタ(XR)とディスプレー
スメント(D)をアドレス加算器(ADRADDER)
17で加算して得、二の結果をVAR5にセットする。
BR)とインデックスレジスタ(XR)とディスプレー
スメント(D)をアドレス加算器(ADRADDER)
17で加算して得、二の結果をVAR5にセットする。
以下、TLB6を参照し実アドレスを求める過程は前述
の命令フェッチと同じなので省略する。たゾし、IDR
7の代わりにODR(1)8 (第1オペランドアクセ
ス時)又はODR(2)9 (第2オペランドアクセス
時)が選ばれるところだけが命令フェッチと異なる。
の命令フェッチと同じなので省略する。たゾし、IDR
7の代わりにODR(1)8 (第1オペランドアクセ
ス時)又はODR(2)9 (第2オペランドアクセス
時)が選ばれるところだけが命令フェッチと異なる。
次にアドレス拡張モードについて述べる。命令アドレス
拡張モードピット(IE)18、オペランド・アドレス
拡張モードピット(OE)19は、共にプログラムの指
示により、マイクロプログラム制御部(MPC)20を
介してセット/リセットができる。IE18が1”の時
、PCADDER3の最上位ビットからキャリーが発生
(桁上りが発生)すると、MPC20にアンドゲート2
6を介して信号が送られ、IDR更新マイク。
拡張モードピット(IE)18、オペランド・アドレス
拡張モードピット(OE)19は、共にプログラムの指
示により、マイクロプログラム制御部(MPC)20を
介してセット/リセットができる。IE18が1”の時
、PCADDER3の最上位ビットからキャリーが発生
(桁上りが発生)すると、MPC20にアンドゲート2
6を介して信号が送られ、IDR更新マイク。
プログラムが起動され、IDR7の値にIt I II
を加算する。同様に0E19が1の時に、ADRADD
ER17の最上位ビットからキャリーが発生する、MP
C20にアンドゲート27を介して信号が送られ、OD
R更新マイクロプログラムが起動され、第1オペランド
アクセス時は0DR(1)8の値、第2オペランドアク
セス時はODR(2)9の値に111 IIを加算する
。このときのLL I IIの加算の結果、IDR,0
DRI又は0DR2の最上位からキャリーが発生する場
合はプログラム割込gを発生させる。
を加算する。同様に0E19が1の時に、ADRADD
ER17の最上位ビットからキャリーが発生する、MP
C20にアンドゲート27を介して信号が送られ、OD
R更新マイクロプログラムが起動され、第1オペランド
アクセス時は0DR(1)8の値、第2オペランドアク
セス時はODR(2)9の値に111 IIを加算する
。このときのLL I IIの加算の結果、IDR,0
DRI又は0DR2の最上位からキャリーが発生する場
合はプログラム割込gを発生させる。
次に、目的のアドレス変換対がTLB6に登録されてい
ない時に発生するアドレス変換(AT)過程について述
べる。
ない時に発生するアドレス変換(AT)過程について述
べる。
TLB6がヒツトしないと、アドレス変換制御部(AT
C)21により、アドレス変換(AT)が起動される。
C)21により、アドレス変換(AT)が起動される。
ATC31には、IDR710DR(1)810DR(
2)9のドメインかOか否かの信号がオールO検出回路
10より入力されており、ドメインOの場合には、従来
の31ピツ1へ・アーキテクチャのアドレス変換を行い
、ドメインがOで無い場合には拡張アドレス用変換を行
う。
2)9のドメインかOか否かの信号がオールO検出回路
10より入力されており、ドメインOの場合には、従来
の31ピツ1へ・アーキテクチャのアドレス変換を行い
、ドメインがOで無い場合には拡張アドレス用変換を行
う。
まず従来のアドレス変換を説明する。アドレス変換対象
の仮想アドレスはVAR5から変換アドレスレジスタ(
TAR)22に移されている。5TORI 1(7)S
TOとTAR22内(7)SXをアドレス変換加算器(
AT ADDER)23で加算し、RAR16にセッ
トし、メモリからセグメント・テーブル(ST)をフェ
ッチする。STエントリは、テーブルレジスタ(TBR
)24にセットされる。STエントリのフォーマットを
第5図に示す。TBR24にセットされているSTエン
トリのPTOとTAR22のpx部をAT ADDE
R23で加算し、RAR16にセットし、メモリからペ
ージテーブル(PT)をフェッチし、TBR24にセッ
トする。PTエントリ内のPFRAとTAR22のBX
部を結合して、実アドレスが求まり、RAR16にセッ
トされる。RAR16のPFRA部と5TORIIと、
IDR7又はODR(1)8又はODR(2)9と、T
AR22のPX部をTLB6に登録する。この時TLB
6の該エントリのVを“1”にする。
の仮想アドレスはVAR5から変換アドレスレジスタ(
TAR)22に移されている。5TORI 1(7)S
TOとTAR22内(7)SXをアドレス変換加算器(
AT ADDER)23で加算し、RAR16にセッ
トし、メモリからセグメント・テーブル(ST)をフェ
ッチする。STエントリは、テーブルレジスタ(TBR
)24にセットされる。STエントリのフォーマットを
第5図に示す。TBR24にセットされているSTエン
トリのPTOとTAR22のpx部をAT ADDE
R23で加算し、RAR16にセットし、メモリからペ
ージテーブル(PT)をフェッチし、TBR24にセッ
トする。PTエントリ内のPFRAとTAR22のBX
部を結合して、実アドレスが求まり、RAR16にセッ
トされる。RAR16のPFRA部と5TORIIと、
IDR7又はODR(1)8又はODR(2)9と、T
AR22のPX部をTLB6に登録する。この時TLB
6の該エントリのVを“1”にする。
次にドメインがOで無い場合の拡張アドレス変換につい
て述べる。ドメインがOで無い時は、5TORIIでは
無<DTOR12が選ばられている。第3図にDTOR
12のフォーマットを示す。
て述べる。ドメインがOで無い時は、5TORIIでは
無<DTOR12が選ばられている。第3図にDTOR
12のフォーマットを示す。
DTOR12のDTO部とIDR710DR(1)81
0DR(2)9の出力のドメインインデックス値をAT
ADDER23で加算し、ドメイン・テーブル(D
T)アドレスを求め、メモリからDTをフェッチする
。DTエントリは、TBR24にセットされる。DTエ
ントリのフォーマットを第4図に示すが、これは従来ア
ーキテクチャのセグメントテーブル(ST)ディスティ
ネーションのフォーマットに、インバリッドビットIを
追加したフォーマットにしである。次にDTエントリの
STO部を従来のアドレス変換時の5TOR11の代わ
りに用いて、前述と同様のアドレス変換動作を行う。た
ゾし、従来のアドレス変換がST、PTの2つのテーブ
ルを参照するのに対し、拡張アドレス変換では、DT、
ST、PTの3テーブルを参照する。また、実アドレス
も拡張しているため、ページテーブルを8バイトに拡張
し、第6図に示すフォーマットに変更しである。PFR
Aは35ビツトである。また、TLB6には5TOR1
1の代わりにDTOR12が登録される。
0DR(2)9の出力のドメインインデックス値をAT
ADDER23で加算し、ドメイン・テーブル(D
T)アドレスを求め、メモリからDTをフェッチする
。DTエントリは、TBR24にセットされる。DTエ
ントリのフォーマットを第4図に示すが、これは従来ア
ーキテクチャのセグメントテーブル(ST)ディスティ
ネーションのフォーマットに、インバリッドビットIを
追加したフォーマットにしである。次にDTエントリの
STO部を従来のアドレス変換時の5TOR11の代わ
りに用いて、前述と同様のアドレス変換動作を行う。た
ゾし、従来のアドレス変換がST、PTの2つのテーブ
ルを参照するのに対し、拡張アドレス変換では、DT、
ST、PTの3テーブルを参照する。また、実アドレス
も拡張しているため、ページテーブルを8バイトに拡張
し、第6図に示すフォーマットに変更しである。PFR
Aは35ビツトである。また、TLB6には5TOR1
1の代わりにDTOR12が登録される。
本実施例では、拡張アドレス変換を3テ一ブル方式とし
たが、2テ一ブル方式でもよい。また、0でないドメイ
ンの場合も、セグメント、ページのサイズを従来と同じ
としたが、2Gバイト以上の拡張空間では従来のセグメ
ント、ページのサイズを変えたり、あるいはページの概
念を無くしてセグメントをページング/アドレス変換対
象の最小単位とする方式も考えられる。この場合には、
ドメイン・テーブルとセグメント・テーブルの2テ一ブ
ル方式となる。
たが、2テ一ブル方式でもよい。また、0でないドメイ
ンの場合も、セグメント、ページのサイズを従来と同じ
としたが、2Gバイト以上の拡張空間では従来のセグメ
ント、ページのサイズを変えたり、あるいはページの概
念を無くしてセグメントをページング/アドレス変換対
象の最小単位とする方式も考えられる。この場合には、
ドメイン・テーブルとセグメント・テーブルの2テ一ブ
ル方式となる。
追加命令は、少なくともIDR7、○RD (1)8.
0DR(2)9に任意の値をロードする命令でよい。I
E18,0E29はpsw (プログラム状態語)の現
在未使用のビットを用いれば、Lpsw命令で設定でき
る。
0DR(2)9に任意の値をロードする命令でよい。I
E18,0E29はpsw (プログラム状態語)の現
在未使用のビットを用いれば、Lpsw命令で設定でき
る。
本実施例によれば、少ないハードウェアの追加で、31
ビツトを越える仮想/実アドレス空間を使用でき、しか
も命令アドレス/オペランドアドレス共にアドレス拡張
が可能である。例えば、図示のように仮想アドレスと実
アドレスを47ビツトに拡張しても、47ビツトのアド
レスが必要なハードウェアはRAR16、TBR24だ
けであり、追加するレジスタは各々16ビツト構成のD
TOR12とIDR7、ODR(1)8.0DR(2)
9及び各1ビツトのIE18.0E19(各1ビツト)
である。PCADDER3やADRADDER17は共
に従来と同じ31ビツトでよく、またドメインテーブル
などのアドレス変換テーブルをドメイン0の実アドレス
空間に限定して置くことにより、AT ADDERも
従来と同じ31ビツトでよい。
ビツトを越える仮想/実アドレス空間を使用でき、しか
も命令アドレス/オペランドアドレス共にアドレス拡張
が可能である。例えば、図示のように仮想アドレスと実
アドレスを47ビツトに拡張しても、47ビツトのアド
レスが必要なハードウェアはRAR16、TBR24だ
けであり、追加するレジスタは各々16ビツト構成のD
TOR12とIDR7、ODR(1)8.0DR(2)
9及び各1ビツトのIE18.0E19(各1ビツト)
である。PCADDER3やADRADDER17は共
に従来と同じ31ビツトでよく、またドメインテーブル
などのアドレス変換テーブルをドメイン0の実アドレス
空間に限定して置くことにより、AT ADDERも
従来と同じ31ビツトでよい。
以上の明から明らかな如く、本発明によれば、現在のア
ーキテクチャと互換性を保ちつ\、また追加されるハー
ドウェア量を少なく、制御も容易なアドレス拡張を行う
ことができる。
ーキテクチャと互換性を保ちつ\、また追加されるハー
ドウェア量を少なく、制御も容易なアドレス拡張を行う
ことができる。
第1図は本発明の一実施例のブロック図、第2図は本発
明による拡張仮想アドレスのフォーマット例を示す図、
第3図はドメイン・テーブル・オリジン・レジスタのフ
ォーマット例を示す図、第4図はドメイン・テーブル・
エントリのフォーマット例を示す図、第5図はセグメン
ト・テーブル・エントリのフォーマット例を示す図、第
6図は拡張ページ・テーブル・エントリのフォーマット
例を示す図である。 1・・・プログラム・カウンタ、 2・・・命令長コードレジスタ、 3・・・pc加算回路、 5・・・仮想アドレスレジスタ、 6・・・アドレス変換バッファ 7・・・命令ドメインレジスタ、 8.9・・・オペランド・ドメイン・レジスタ、11・
・・STOレジスタ、 12・・・DTOレジスタ、 16・・・実アドレスレジスタ、 17・・・アドレス加算回路、 18・・・命令アドレス拡張ビット。 19・・・オペランドアドレス拡張ビット、20・・・
マイクロプログラム制御部、21・・・アドレス変換制
御部、 22・・・変換アドレスレジスタ、 23・・・AT加算回路。 24・・・テーブルレジスタ。 第2図 第3図 第4図 第5図 第6図
明による拡張仮想アドレスのフォーマット例を示す図、
第3図はドメイン・テーブル・オリジン・レジスタのフ
ォーマット例を示す図、第4図はドメイン・テーブル・
エントリのフォーマット例を示す図、第5図はセグメン
ト・テーブル・エントリのフォーマット例を示す図、第
6図は拡張ページ・テーブル・エントリのフォーマット
例を示す図である。 1・・・プログラム・カウンタ、 2・・・命令長コードレジスタ、 3・・・pc加算回路、 5・・・仮想アドレスレジスタ、 6・・・アドレス変換バッファ 7・・・命令ドメインレジスタ、 8.9・・・オペランド・ドメイン・レジスタ、11・
・・STOレジスタ、 12・・・DTOレジスタ、 16・・・実アドレスレジスタ、 17・・・アドレス加算回路、 18・・・命令アドレス拡張ビット。 19・・・オペランドアドレス拡張ビット、20・・・
マイクロプログラム制御部、21・・・アドレス変換制
御部、 22・・・変換アドレスレジスタ、 23・・・AT加算回路。 24・・・テーブルレジスタ。 第2図 第3図 第4図 第5図 第6図
Claims (3)
- (1)Niビットの命令アドレス、Noビットのオペラ
ンドアドレスを採用する情報処理装置において、Miビ
ットの命令ドメイン・レジスタ(IDR)と、オペラン
ド用にMoビットから成るk種類(kは自然数)のオペ
ランド・ドメイン・レジスタ(ODRj、j=1、2、
・・・、k)を設け、IDRまたはODRjが0でない
時は、(Mi+Ni)ビットまたは(Mo+No)ビッ
トの命令アドレスまたはオペランドアドレスとして扱う
ことを特徴とするアドレス拡張方式。 - (2)命令拡張モードビット(IEビット)を設け、N
iビットの命令カウンタの最上位ビットから桁上りが生
じる場合、前記IEビットが“1”の時には、前記ID
Rの最下位ビットに1を加算し、“0”の時にはMiビ
ットの命令カウンタからの桁上りを無視することを特徴
とする特許請求の範囲第1項記載のアドレス拡張方式。 - (3)オペランド拡張モードビット(OEビット)を設
け、オペランドアドレス計算でMoビットのオペランド
アドレスの最上位ビットから桁上りが生じる場合、前記
OEビットが“1”の時には該オペランドアドレスに対
応付けられたODRjの最下位ビットに“1”を加算し
、“0”の時には桁上りを無視することを特徴とする特
許請求の範囲第1項記載のアドレス拡張方式。
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62250913A JP2507756B2 (ja) | 1987-10-05 | 1987-10-05 | 情報処理装置 |
| US07/252,815 US5023777A (en) | 1987-10-05 | 1988-10-03 | Information processing system using domain table address extension for address translation without software modification |
| DE3833933A DE3833933C2 (de) | 1987-10-05 | 1988-10-05 | Informationsverarbeitungseinrichtung mit einer Adressenerweiterungsfunktion |
| US07/664,099 US5287475A (en) | 1987-10-05 | 1991-03-04 | Data processing apparatus operable in extended or unextended virtual address spaces without software modification |
| US08/153,612 US5426751A (en) | 1987-10-05 | 1993-11-17 | Information processing apparatus with address extension function |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62250913A JP2507756B2 (ja) | 1987-10-05 | 1987-10-05 | 情報処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0193847A true JPH0193847A (ja) | 1989-04-12 |
| JP2507756B2 JP2507756B2 (ja) | 1996-06-19 |
Family
ID=17214885
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP62250913A Expired - Lifetime JP2507756B2 (ja) | 1987-10-05 | 1987-10-05 | 情報処理装置 |
Country Status (3)
| Country | Link |
|---|---|
| US (3) | US5023777A (ja) |
| JP (1) | JP2507756B2 (ja) |
| DE (1) | DE3833933C2 (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05233453A (ja) * | 1991-12-06 | 1993-09-10 | Internatl Business Mach Corp <Ibm> | 大規模仮想アドレス空間の提供装置及びアドレス変換方法 |
| JP2003519868A (ja) * | 2000-01-14 | 2003-06-24 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | プロセッサ内での動作モードの確立 |
| JP2008515093A (ja) * | 2004-09-30 | 2008-05-08 | インテル コーポレイション | 大アドレス容量に及ぶ変換テーブルを用いた、アドレス変換の性能向上 |
Families Citing this family (29)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR2629930B1 (fr) * | 1988-04-12 | 1991-03-15 | Labo Electronique Physique | Procede et unite de gestion de mots d'adresse |
| JPH0290349A (ja) * | 1988-09-28 | 1990-03-29 | Hitachi Ltd | 仮想記憶システムのアドレス空間制御装置 |
| US5226132A (en) * | 1988-09-30 | 1993-07-06 | Hitachi, Ltd. | Multiple virtual addressing using/comparing translation pairs of addresses comprising a space address and an origin address (sto) while using space registers as storage devices for a data processing system |
| JPH02202652A (ja) * | 1989-02-01 | 1990-08-10 | Hitachi Ltd | 多重仮想記憶管理方式 |
| JP2858795B2 (ja) * | 1989-07-14 | 1999-02-17 | 株式会社日立製作所 | 実記憶割り当て方法 |
| US5469556A (en) * | 1989-12-12 | 1995-11-21 | Harris Corporation | Resource access security system for controlling access to resources of a data processing system |
| US5175835A (en) * | 1990-01-10 | 1992-12-29 | Unisys Corporation | Multi-mode DRAM controller |
| EP0492970B1 (en) * | 1990-12-21 | 1995-08-02 | Sun Microsystems, Inc. | Method and apparatus for extending computer architecture from thirty-two to sixty-four bits |
| ES2132073T3 (es) * | 1991-01-10 | 1999-08-16 | Siemens Ag | Disposicion de circuito para la reproduccion del espacio de direccionamiento logico de una unidad de procesador sobre el espacio de direccionamiento fisico de una memoria. |
| US5426748A (en) * | 1992-01-03 | 1995-06-20 | International Business Machines Corporation | Guest/host extended addressing method and means with contiguous access list entries |
| US5617554A (en) * | 1992-02-10 | 1997-04-01 | Intel Corporation | Physical address size selection and page size selection in an address translator |
| US5574877A (en) * | 1992-09-25 | 1996-11-12 | Silicon Graphics, Inc. | TLB with two physical pages per virtual tag |
| JPH06231047A (ja) * | 1993-02-05 | 1994-08-19 | Fujitsu Ltd | アドレス変換方法および装置 |
| US5479628A (en) * | 1993-10-12 | 1995-12-26 | Wang Laboratories, Inc. | Virtual address translation hardware assist circuit and method |
| US5752275A (en) * | 1995-03-31 | 1998-05-12 | Intel Corporation | Translation look-aside buffer including a single page size translation unit |
| US5649125A (en) * | 1995-10-30 | 1997-07-15 | Motorola, Inc. | Method and apparatus for address extension across a multiplexed communication bus |
| US5826074A (en) * | 1996-11-22 | 1998-10-20 | S3 Incorporated | Extenstion of 32-bit architecture for 64-bit addressing with shared super-page register |
| EP0992897B1 (en) * | 1998-10-06 | 2006-07-26 | Texas Instruments Inc. | Stack pointer management |
| KR100285122B1 (ko) | 1999-01-13 | 2001-03-15 | 이수복 | 인터넷 전자우편 부가 서비스 시스템 |
| DE10058457A1 (de) * | 2000-11-24 | 2002-06-13 | Marconi Comm Gmbh | Verfahren und Vorrichtung zum Multiplexen von Datenpaketen |
| US20020073295A1 (en) * | 2000-12-13 | 2002-06-13 | Bowers Thomas Earl | Enhanced memory addressing capability |
| US6920460B1 (en) * | 2002-05-29 | 2005-07-19 | Oracle International Corporation | Systems and methods for managing partitioned indexes that are created and maintained by user-defined indexing schemes |
| US7886126B2 (en) * | 2005-01-14 | 2011-02-08 | Intel Corporation | Extended paging tables to map guest physical memory addresses from virtual memory page tables to host physical memory addresses in a virtual machine system |
| US7509474B2 (en) | 2005-06-08 | 2009-03-24 | Micron Technology, Inc. | Robust index storage for non-volatile memory |
| US7594094B2 (en) * | 2006-05-19 | 2009-09-22 | International Business Machines Corporation | Move data facility with optional specifications |
| US7581074B2 (en) * | 2006-05-19 | 2009-08-25 | International Business Machines Corporation | Facilitating use of storage access keys to access storage |
| US7464230B2 (en) * | 2006-09-08 | 2008-12-09 | Jiun-In Guo | Memory controlling method |
| CN101216778B (zh) * | 2008-01-21 | 2011-04-13 | 中国科学院计算技术研究所 | 一种risc处理器装置及其指令地址转换查找方法 |
| CN101763313B (zh) | 2009-12-17 | 2011-09-07 | 成都市华为赛门铁克科技有限公司 | 一种服务器及其访问卷的方法 |
Family Cites Families (24)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3735355A (en) * | 1971-05-12 | 1973-05-22 | Burroughs Corp | Digital processor having variable length addressing |
| US3761881A (en) * | 1971-06-30 | 1973-09-25 | Ibm | Translation storage scheme for virtual memory system |
| US3854126A (en) * | 1972-10-10 | 1974-12-10 | Digital Equipment Corp | Circuit for converting virtual addresses into physical addresses |
| US3976976A (en) * | 1975-04-04 | 1976-08-24 | The United States Of America As Represented By The Secretary Of The Navy | Method and means to access and extended memory unit |
| US4092715A (en) * | 1976-09-22 | 1978-05-30 | Honeywell Information Systems Inc. | Input-output unit having extended addressing capability |
| US4340932A (en) * | 1978-05-17 | 1982-07-20 | Harris Corporation | Dual mapping memory expansion unit |
| FR2428871A1 (fr) * | 1978-06-15 | 1980-01-11 | Philips Data Syst | Extension de l'espace d'adressage direct dans un systeme d'ordinateur |
| NL7807314A (nl) * | 1978-07-06 | 1980-01-08 | Philips Nv | Inrichting voor het vergroten van de lengte van een logisch computeradres. |
| US4388685A (en) * | 1978-08-04 | 1983-06-14 | Digital Equipment Corporation | Central processor with apparatus for extended virtual addressing |
| DE2846054C2 (de) * | 1978-10-23 | 1985-08-14 | Siemens AG, 1000 Berlin und 8000 München | Schaltungsanordnung zur Erweiterung des Adressierungsvolumens einer Zentraleinheit, insbesondere eines Mikroprozessors |
| US4482952A (en) * | 1980-12-15 | 1984-11-13 | Nippon Electric Co., Ltd. | Virtual addressing system using page field comparisons to selectively validate cache buffer data on read main memory data |
| DE3176950D1 (en) * | 1981-08-12 | 1989-01-12 | Ibm | Extended addressing apparatus and method for direct storage access devices |
| US4792895A (en) * | 1984-07-30 | 1988-12-20 | International Business Machines Corp. | Instruction processing in higher level virtual machines by a real machine |
| JPS6184754A (ja) * | 1984-10-03 | 1986-04-30 | Hitachi Ltd | 拡張アドレス変換装置 |
| JPH0652511B2 (ja) * | 1984-12-14 | 1994-07-06 | 株式会社日立製作所 | 情報処理装置のアドレス変換方式 |
| DE3683123D1 (de) * | 1985-04-30 | 1992-02-06 | Fujitsu Ltd | Adressenerweiterungssystem. |
| US4777589A (en) * | 1985-06-28 | 1988-10-11 | Hewlett-Packard Company | Direct input/output in a virtual memory system |
| JPH087680B2 (ja) * | 1985-09-19 | 1996-01-29 | 日本電気株式会社 | 命令カウンタのロード装置 |
| JPH0658650B2 (ja) * | 1986-03-14 | 1994-08-03 | 株式会社日立製作所 | 仮想計算機システム |
| US4849875A (en) * | 1987-03-03 | 1989-07-18 | Tandon Corporation | Computer address modification system with optional DMA paging |
| US4843541A (en) * | 1987-07-29 | 1989-06-27 | International Business Machines Corporation | Logical resource partitioning of a data processing system |
| US4926322A (en) * | 1987-08-03 | 1990-05-15 | Compag Computer Corporation | Software emulation of bank-switched memory using a virtual DOS monitor and paged memory management |
| JPS6467680A (en) * | 1987-09-09 | 1989-03-14 | Hitachi Ltd | Vector processor |
| US5127094A (en) * | 1987-11-09 | 1992-06-30 | Hitachi, Ltd. | Virtual storage type computer system |
-
1987
- 1987-10-05 JP JP62250913A patent/JP2507756B2/ja not_active Expired - Lifetime
-
1988
- 1988-10-03 US US07/252,815 patent/US5023777A/en not_active Expired - Lifetime
- 1988-10-05 DE DE3833933A patent/DE3833933C2/de not_active Expired - Lifetime
-
1991
- 1991-03-04 US US07/664,099 patent/US5287475A/en not_active Expired - Lifetime
-
1993
- 1993-11-17 US US08/153,612 patent/US5426751A/en not_active Expired - Lifetime
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05233453A (ja) * | 1991-12-06 | 1993-09-10 | Internatl Business Mach Corp <Ibm> | 大規模仮想アドレス空間の提供装置及びアドレス変換方法 |
| JP2003519868A (ja) * | 2000-01-14 | 2003-06-24 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | プロセッサ内での動作モードの確立 |
| JP2008515093A (ja) * | 2004-09-30 | 2008-05-08 | インテル コーポレイション | 大アドレス容量に及ぶ変換テーブルを用いた、アドレス変換の性能向上 |
| JP4772795B2 (ja) * | 2004-09-30 | 2011-09-14 | インテル コーポレイション | 大アドレス容量に及ぶ変換テーブルを用いた、アドレス変換の性能向上 |
Also Published As
| Publication number | Publication date |
|---|---|
| US5426751A (en) | 1995-06-20 |
| US5287475A (en) | 1994-02-15 |
| JP2507756B2 (ja) | 1996-06-19 |
| DE3833933C2 (de) | 1996-06-27 |
| DE3833933A1 (de) | 1989-04-20 |
| US5023777A (en) | 1991-06-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0193847A (ja) | アドレス拡張方式 | |
| US6321314B1 (en) | Method and apparatus for restricting memory access | |
| JP3936378B2 (ja) | アドレス変換装置 | |
| US5652872A (en) | Translator having segment bounds encoding for storage in a TLB | |
| KR960001946B1 (ko) | 우선 변환 참조버퍼 | |
| US20050268045A1 (en) | Method, system and program product for invalidating a range of selected storage translation table entries | |
| JPH04232551A (ja) | 多重仮想アドレス変換方法及び装置 | |
| JPH03225455A (ja) | データ処理システム | |
| JPH0315211B2 (ja) | ||
| JPH07210381A (ja) | プロセッサ及びコンピュータ・システム | |
| US5764944A (en) | Method and apparatus for TLB invalidation mechanism for protective page fault | |
| US5226132A (en) | Multiple virtual addressing using/comparing translation pairs of addresses comprising a space address and an origin address (sto) while using space registers as storage devices for a data processing system | |
| JP2001222470A (ja) | トランスレーション・ルックアサイド・バッファ回路 | |
| JP2001034537A (ja) | アドレス変換回路 | |
| GB2200481A (en) | Maintaining coherence between a microprocessor's integrated cache and external memory | |
| JPH0550776B2 (ja) | ||
| JP3210637B2 (ja) | データ処理システム内のキャッシュ・メモリにアクセスするための方法およびシステム | |
| JPS6167160A (ja) | 仮想アドレス変換装置 | |
| JPH027097B2 (ja) | ||
| US6324635B1 (en) | Method and apparatus for address paging emulation | |
| US4517642A (en) | Digital computer system having unique means of referring to operands and ability to execute a plurality of internal languages | |
| JPH0262645A (ja) | 記憶保護方式 | |
| JPH0336647A (ja) | キャッシュ・バッファリング制御方式 | |
| JPH02168332A (ja) | データ処理装置 | |
| JP2635310B2 (ja) | アドレス変換装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| EXPY | Cancellation because of completion of term | ||
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080416 Year of fee payment: 12 |