JPH05210570A - アドレス拡張をする方法及び手段 - Google Patents

アドレス拡張をする方法及び手段

Info

Publication number
JPH05210570A
JPH05210570A JP4224275A JP22427592A JPH05210570A JP H05210570 A JPH05210570 A JP H05210570A JP 4224275 A JP4224275 A JP 4224275A JP 22427592 A JP22427592 A JP 22427592A JP H05210570 A JPH05210570 A JP H05210570A
Authority
JP
Japan
Prior art keywords
address
extender
field
small
memory
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
JP4224275A
Other languages
English (en)
Other versions
JPH0831060B2 (ja
Inventor
Richard I Baum
リチャード・アーウィン・バウム
Brent A Carlson
ブレント・アレン・カールソン
Moon Ju Kim
ムーン・ジュ・キム
Michael G Mall
マイケル・ジェラード・モール
Casper A Scalzi
キャスパー・アンソニー・スカルジ
Bhaskar Sinha
バースカー・シンハ
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH05210570A publication Critical patent/JPH05210570A/ja
Publication of JPH0831060B2 publication Critical patent/JPH0831060B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/342Extension of operand address space
    • 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
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/0623Address space extension for memory modules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/206Memory mapped I/O

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Executing Machine-Instructions (AREA)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
  • Memory System (AREA)
  • Shift Register Type Memory (AREA)

Abstract

(57)【要約】 【目的】 小さいアドレスのサイズ(最大31ビット)
をきわめて大きなメモリ(2の31乗超)内のいずれか
の場所にデータ等を配置できるように拡張する方法。 【構成】 従来通りに生成された実または絶対アドレス
の上端にエクステンダEXR348を連結する。各EX
R348の値はきわめて大きなメモリのセクションを画
定し、使用されるEXR位置のタイプはCP拡張アドレ
ス・モード(CPEAM)フィールド30を制御レジス
タ(CR)に設けることによって示される。CPEAM
フィールドはCP EXRフィールドがAR、PTE、
STEまたはASTEと関連付けられているかどうかを
示し、CPがDAT−ONモード31で作動している場
合、アドレス変換プロセス中に、示されたEXRタイプ
がアクセスされる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は中央演算処理装置及び入
出力装置の命令、オペランドならびに若干の制御テーブ
ルについて得られるアドレスに対して拡張されたアドレ
ッシングを提供する技術に係わる。具体的には、旧プロ
グラムで生成された以前の小さいサイズのアドレス(以
下小アドレスという)がきわめて大きなメモリにおいて
作動できるようにすることにある。本発明は拡張アドレ
スをメモリの同じ部分または異なる部分にマップする方
法も制御する。
【0002】本発明を従来の論理アドレッシング(従来
の31または24ビットの実アドレスまたは仮想アドレ
スなどの)を使用する命令及びオペランドとともに使用
して、きわめて大きなメモリに対するアドレスを生成す
ることができる。本明細書において、きわめて大きなメ
モリとは、31ビットのアドレスによって全部をアドレ
スすることのできない2の31乗のデータ・ユニットを
超えるサイズを有するメモリと定義する。本発明によれ
ば、きわめて大きなメモリは2ギガバイトという従来の
最大メモリ・サイズの200万倍のものであっても構わ
ず、しかも31ビット(または24ビット)のアドレス
を使用したプログラムによってアドレスすることが可能
となる。たとえば、本発明は63ビットのサイズを有す
る実/絶対アドレスを生成できるとともに、現行タイプ
の32ビット・アドレスの演算回路を使用することがで
きる。
【0003】
【従来の技術】コンピュータ・システムにおけるメモリ
はより多くの、しかもより大きなプログラム及びデータ
ベースに適合するために、サイズをますます増加させて
いく傾向がある。
【0004】現在のコンピュータ・システムは一般に、
32ビット以下、一般的には16ビット、20ビット、
24ビット及び31ビットのサイズの実アドレスまたは
仮想アドレスを有するプログラム式命令を実行してい
る。このような仮想アドレスを使用した場合、これらの
アドレスはしばしば32ビット以下のサイズを有する実
アドレスまたは絶対アドレスに変換される。絶対アドレ
スは複数の処理装置が同一のメモリを共用できるように
するためにプレフィクスがつけられた実アドレスであ
る。
【0005】アドレス・サイズを拡張すると、コンピュ
ータのアドレス指定方式の複雑度が増加する。ある手法
は他の手法よりも複雑度を高くする。複雑なことの1つ
はアドレスの拡張後にプログラミングの下位互換性を維
持することである。アドレス・サイズを増加させること
を試みた周知の特許の例としては、米国特許第4675
809号、第4825358号、及び第4868740
号がある。これらの周知の特許はいずれも実アドレス拡
張機能を生成する独自の方法を提供することによって、
きわめて大きなシステム・メモリを使えるようにすると
いう本発明のアドレス拡張方法を開示していない。
【0006】
【発明が解決しようとする課題】本発明は拡張された実
/絶対アドレッシングをコンピュータ・システムで生成
することを可能とするとともに、小アドレスとの下位互
換性を維持できるものである。本発明によって、従来の
コンピュータで使用されているタイプの小アドレスの演
算回路を使用することが可能となる。従来のアドレス拡
張方式は通常、増加したアドレス・サイズに適合するよ
うにアドレス演算回路の修正または拡張を必要とするも
のであったが、これは本発明では必要ではない。
【0007】さらに、本発明はきわめて大きなメモリで
使用するために拡張された実/絶対アドレスを生成する
ときに、アドレス生成の速度を遅くすることを必要とし
ない。
【0008】
【課題を解決するための手段】本発明は小さな実アドレ
ス及び絶対アドレスに対するアドレス・サイズを拡張
し、これらをきわめて大きなメモリにマップする比較的
単純な方法を提供する。たとえば、IBM ESA/3
90及びS/370システムで現在使用されている実/
絶対アドレスは、現在最大の31ビットのサイズを有し
ており、これは2ギガバイト(2GB=2の31乗バイ
ト)という最大システム・メモリにバイト・アドレスで
きるものである。本発明はコンピュータ・システムがき
わめて大きなメモリ(2GB超の)における任意のバイ
ト・データ単位にアドレスできるようにするとともに、
24ビットまたは31ビットのアドレスを生成するプロ
グラムを実行できるようにする。24ビットまたは31
ビットのアドレスを生成するための従来の32ビット・
アドレス演算回路を、本発明の拡張アドレス生成方法及
び手段とともに使用することもできる。
【0009】本発明は小アドレスを生成する種々さまざ
まな方法を利用した拡張実アドレス生成を含んでいる。
命令及びオペランドから直接生成される小アドレス(E
SA/390アーキテクチャにおいてDAT−OFFモ
ードを使用した)、あるいはアドレス変換から間接的に
生成される小アドレス(ESA/390アーキテクチャ
においてDAT−ONモードを使用した)が含まれる。
ESA/390アーキテクチャについての説明は、資料
番号SA22−7201でIBMコーポレーションに注
文することができ、その内容を参照することによって本
明細書の一部となる「Enterprise Systems Architectur
e/390」などの周知の刊行物に記載されている。さら
に、入出力プログラム(中央演算処理装置(CP)プロ
グラムとは異なる構成となっている)などの非同期プロ
グラムは、CPプログラムとは異なるそのアドレスの拡
張を処理しなければならない。
【0010】本発明は32ビット未満のサイズの従来方
式で生成された実アドレスまたは絶対アドレスの高位端
に連結された1つまたは複数のアドレス・エクステンダ
(EXR)を独自に提供し、31ビット超のサイズの実
/絶対アドレスをもたらす。「絶対アドレス」とは、そ
れぞれの処理装置に単独に割り当てられた(ESA/3
90アーキテクチャにしたがって)プレフィクス値によ
って実アドレスが調節された後、同一のメモリを共有す
る複数の処理装置のいずれかによって与えられ、各処理
装置がその割り当てられたプレフィクス・ページのみに
アクセスできるようにするが(他の処理装置のプレフィ
クス・ページにはアクセスできない)、メモリ内の残り
の部分(プレフィクスのついていないページ)をすべて
の処理装置が共有することを妨げない実アドレスであ
る。
【0011】「連結」とは2つの異なるセットのビット
を、これらを単一のレジスタ内で隣り合わせにおいた
り、これらを並列バスの連続したセットのラインに転送
するか、あるいはこれらを直列バスの順次タイム・スロ
ットに転送するかして、組み合わせることをいう。EX
Rは小アドレスがそのアドレス生成回路から与えられる
のと同時に、あるいはそれ以前に連結プロセスに与えら
れるのが好ましい。
【0012】各EXR値はきわめて大きなメモリのセク
ションを画定し、小アドレスをマップするためのメモリ
・セクションの潜在的なアドレスとなる。「セクショ
ン」とはきわめて大きなメモリにマップされる小アドレ
スのうちもっとも大きいものによって画定されるきわめ
て大きなメモリの単位である。たとえば、小さな31ビ
ット・バイトのアドレスのマッピングに合わせるための
きわめて大きなメモリの各セクションは、2の31乗バ
イトという最大サイズを有し、これはきわめて大きなメ
モリのセクションあたり2ギガバイトのサイズとなる。
【0013】本発明をDAT−OFFモードで作動する
CPプログラムとともに使用する場合、各オペランド・
データ・アドレスに対するEXRはオペランド・アドレ
ス生成に現在使用されている基本レジスタに関連したレ
ジスタ(ESA/390アーキテクチャで定義されたア
クセス・レジスタARなどの)に収められる。次いで、
それぞれの基本レジスタの内容、オペランドDフィール
ド、及び関連するインデックス・レジスタの内容が小ア
ドレスの生成時にアクセスされ、使用される。関連する
ARのEXR内容は生成された小アドレスの高位端に自
動的に連結され、きわめて大きなメモリにアクセスする
ために必要な拡張アドレスをもたらす。複数の基本レジ
スタの各々を異なるEXRに関連付け、きわめて大きな
メモリの異なるセクションにアクセスできる異なる拡張
アドレスを生成することもできる。EXR値を任意のE
XRレジスタ内で変更して、関連する基本レジスタがア
クセスするメモリのセクションを変えることもできる。
【0014】現行の処理装置の次のCP命令アドレスは
小アドレスであり、これはきわめて大きなメモリのいず
れかのセクションをアドレスできるのであれば、拡張し
なければならないものである。命令アドレスは論理アド
レスであり、DAT−ONモードがが処理装置に存在し
ているのか、あるいはDAT−OFFモードが存在して
いるのかにしたがってアドレス変換を必要としたり、あ
るいは必要としなかったりするものである。DAT−O
FFモードの小さな命令アドレスの場合、EXRを制御
レジスタ(CR)フィールドまたは現行のPSW(プロ
グラム状況ワード)に一意に設けられ、これに連結され
たEXRフィールドに格納することができる。DAT−
ONモードの小さな命令アドレスは、CRフィールド、
または現行のPSW(プログラム状況ワード)、または
プログラムが呼び出したASTE(アドレス・スペース
・テーブル項目)に格納されているEXRに連結でき
る。命令のアドレッシングにEXRが何も指定されてい
ない場合、すべての命令はデータ・アクセスの互換性モ
ードで行われるのと同様に、きわめて大きなメモリの最
初のセクションでのみアクセスされる。
【0015】DAT−OFFモードにおいてアクセス・
レジスタ(AR)ハードウェアを使用することは、本発
明の新規なところである。ARはこれまでDAT−OF
Fモードでは使い道のないものであった。これが使われ
るのはESA/390アーキテクチャのDAT−ONモ
ードでのみであった。ARハードウェア自体をDAT−
ONモードでの実アドレスの拡張には使用できないが、
これはARが仮想アドレス・スペースを選択するという
以前に定義されたAR機能のために使用されているから
である。
【0016】DAT−ONモードにおいて、本発明はC
Pアドレスに対してEXRを獲得するために、きわめて
大きなメモリのセクションについて異なる特性を有して
いるいくつかの異なる方法を提供する。これらの異なる
方法はすべて、従来のアドレス変換に使用されるエンテ
ィティと関連したEXRフィールドを使用することに含
まれるものである。たとえば、EXRフィールドをAS
TE(ASN第2テーブル項目)と、あるいはSTE
(セグメント・テーブル項目)と、あるいはPTE(ペ
ージ・テーブル項目)と関連付けることができる。指定
された項目から読み取られたEXRは、他の場合には周
知のものであるアドレス変換プロセスによって生成され
た小さな実アドレスと連結される。
【0017】ASTE、STEまたはPTEの新規なE
XRフィールドはアドレス変換プロセスに使用されるも
のではなく、アドレスの拡張のみに使用されるものであ
る。それ故、EXRフィールドの内容は従来の方法で変
換された小さな仮想アドレスの高位端に連結される。変
換プロセスに影響を及ぼさないことによって、本発明は
従来の小(たとえば、31ビット)アドレスを、きわめ
て大きなメモリの任意の位置にアクセスできる31ビッ
ト超のアドレスに変換することによって、このような小
さい実アドレスをもたらすプログラムとの下位互換性を
維持する。
【0018】EXRフィールドは48ビットの実/絶対
アドレスの生成のためにASTE、STE、PTEまた
はARに17ビットのサイズを有することができるし、
また63ビットの実/絶対アドレスの生成のためにAS
TE、STE、PTEまたはARに32ビットのサイズ
を有することもできる。
【0019】DAT−ONモードにおいて、本発明によ
れば、きわめて大きなメモリに変換されたアドレスを含
んでいるページ・フレームをマップするためのセクショ
ンの選択にさまざまな度合いの融通性が可能である。こ
の融通性によって、特定のアドレス・スペースのすべて
の変換されたアドレスを、最初のセクションだけに、あ
るいは任意の単一のセクションに、あるいはきわめて大
きなメモリの2つのセクションからすべてのセクション
までを含む複数のセクションにマップできるようにな
る。
【0020】互換モードにおいて、すべての変換された
アドレスは最初のメモリ・セクションのみにマップされ
る。
【0021】ASTEモードにおいて、EXRフィール
ドはそれぞれASTE項目に配置され、ASTEによっ
て記述された仮想アドレス内のすべての変換されたアド
レスは任意の単一のメモリ・セクションにマップされ
る。
【0022】STEモードにおいて、EXRフィールド
はそれぞれSTE項目に配置される。変換されたアドレ
スを任意の1つまたは複数のメモリ・セクションにマッ
プすることができる。しかしながら、いずれかのSTE
によってアクセスされるページ・フレームは同じ2GB
のセクション(STE内のEXRによって定義される)
に配置される。これらのページ・フレームはどのような
PFRA値がPTEに存在していてもそのセクションに
配置されるものであり、このPTEはこれらのページ・
フレームをそのセクションにおそらくは非連続的に配置
するため変換プロセスで使用されるものである。すなわ
ち、同一の仮想セグメント(1メガバイトの連続した仮
想ページは同一のSTEを使用する)内に仮想アドレス
を有するすべての変換されたアドレスは、同一のメモリ
・セクション(EXRがそのSTEに定義する)にマッ
プされる。したがって、このモードが複数のメモリ・セ
クションへのページ・マッピングを可能とするとして
も、このマッピングは同一の仮想セグメント内のページ
の位置を同一のセグメントに制限することが分かる。こ
れは重要でない場合も、重要である場合もある。
【0023】PTEモードにおいて、EXRフィールド
はそれぞれPTE項目に配置される。この場合、変換さ
れた各ページ・アドレスはきわめて大きなメモリ内の任
意のメモリ・セクションである固有のページ・フレーム
にマップされる。それ故、PTEモードはSTEモード
にあったセグメントの制約を排除し、きわめて大きなメ
モリへの仮想アドレスのマッピングに総合的な融通性を
もたらす。ページのセットに使用されたPTEに対して
同じEXRを繰り返すことにより、ページのどの(ある
いはすべての)サブセットも同一のメモリ・セクション
に、あるいは所定のセットのセクションにマップでき
る。
【0024】拡張アドレス・モード(EAM)フィール
ドが本発明により、制御レジスタ(CR)に提供され、
どのマッピング・モードが処理装置の小さいアドレスに
よって使用されているかを示す。たとえば、EAMフィ
ールドをゼロにセットし、拡張アドレッシングが使用さ
れていないことを示すことができる(システム・メモリ
がきわめて大きなサイズに合わせて構成されていない
が、メモリ・サイズを拡張する機能をシステムが保留し
ている場合など)。あるいは、EAMフィールドを複数
の非ゼロ値の1つにセットし、DATモードと共同し
て、中央演算処理装置でAR、PTE、STEまたはA
STEのいずれかと関連して実行されているプログラム
がどのタイプのEXRフィールドを使用しているかを示
すこともできる。
【0025】本発明はAR、ASTE、STE及びPT
Eというタイプのうち2つ以上を使用する場合などの、
複数のEXRを同一のアドレスで使用することを包含し
ている。複数のEXRを連結し、きわめて大きなメモリ
のアクセス可能サイズを増加させることもできる。しか
しながら、複数のEXRを従来の小さい実/絶対アドレ
スと連結すると、単一のEXRの連結の場合よりも、シ
ステムでのアドレッシングの複雑度が増加してしまう。
この場合、EAMフィールドは複数のEXRが使用され
ていることを示さなければならない。したがって、複数
のタイプのEXRを連結すると、1タイプだけのEXR
を連結した場合よりも大きなシステム・メモリを使用で
きるようになる。
【0026】本発明はきわめて大きなメモリで作動する
入出力(I/O)装置プログラムに対するデータ・アド
レスを拡張することにも適用される。I/Oデータのア
ドレッシングは一般に、コンピュータ・システムのI/
Oチャネル及びサブチャネルで実行されるプログラムに
よって行われる。I/O拡張アドレッシングは異なるE
AMフィールド(I/O制御ブロックに配置されたI/
O EAM)を使用して、1つまたは複数のメモリ・セ
クションを選択する際の融通性を制御する。個別のI/
O EAM制御によって、I/Oデータをきわめて大き
なメモリに独立してマップし、同じメモリにマップされ
たCPデータによって非同期的にアクセスすることが可
能となる。
【0027】ESA/390システムにおけるI/Oデ
ータ転送はESA/390サブチャネル始動(SSC
H)命令によって制御される。関連するI/Oデータ制
御プログラムをアドレスするESA/390サブチャネ
ル始動(SSCH)命令によってアドレスされる周知の
ORB(操作要求ブロック)に、I/O EAM制御フ
ィールドを設けることができる。
【0028】同一のSSCH命令によって制御されるす
べてのI/Oデータ、I/Oプログラム及びI/O制御
ブロックが、SSCH命令を出したCPによって使用さ
れるきわめて大きなメモリの同じセクションにマップさ
れる場合、現行のCP EXRをすべてのI/Oデータ
・アドレスを拡張するためのI/O EXRとしても使
用することができる。この場合、CP EXRは使用さ
れる唯一のEXRとなり、CP及びI/Oデータ両方の
アドレスを含むすべての生成されたアドレスの高位端に
連結される。
【0029】I/OデータをCP EXRがアドレスす
るセクションとは異なるセクションにマップできること
が必要な場合には、別なI/O EXRフィールド(O
RBなどのI/Oプログラム制御ブロック内の)を、拡
張I/Oデータ・アドレスの生成に使用することができ
る。この場合、このフィールドのI/O EXR値は、
I/Oプログラムから得られる小さいデータ・アドレス
との連結のために使用され、I/Oデータのマッピング
をもたらす。
【0030】I/Oプログラム及び任意のIDAWをか
ら鳴るCCWをきわめて大きなメモリのCPデータ・セ
クションにおき、またCCW及びIDAWによってアド
レスされるI/Oデータをメモリの1つまたは複数の他
のセクションにおくことができる。(それ故、ORB、
CCW及び任意のIDAWにアクセスするための各アド
レスは、現行のCP EXRによって拡張されるが、C
CW内の各I/Oデータ・アドレスはI/O EXRに
よって拡張される。)
【0031】さらに、EXRフィールドを各CCWまた
は各IDAWに関連付けることにより、CCW及びID
AWがアドレスするデータをきわめて大きなメモリの複
数のセクションに分散することができる。IDAW E
XRを従来のIDAWが含んでいる小さなデータ・アド
レスと連結し、IDAWデータ・アドレスを拡張する。
また、一連のCCWまたはIDAWによってアドレスさ
れるデータのブロックを、I/Oデータを収めるために
割り当てられた、きわめて大きなメモリの異なる不連続
なセクションにおくこともできる。
【0032】このようにして、本発明は単一のSSCH
命令のI/Oデータをきわめて大きなメモリの1つまた
は複数のセクションにマップすることもできる。1つの
セクションはCP EXRがアドレスするセクションと
同じものであっても、異なるものであってもよい。
【0033】したがって、多くの異なるタイプのCP
EXR及びI/O EXRを拡張アドレスを生成するた
めに記述し、きわめて大きなメモリの処理装置及びI/
O両方の拡張アドレッシングをサポートする。
【0034】システム制御プログラムのセットアップ命
令によって、EXR値を任意の宛先EXRフィールドに
まずロードすることができる。たとえば、EXRフィー
ルドがASTE、STE、PTE、ORB、CCW、I
DAWなどのシステム・メモリ内のフィールドにある場
合に、周知の格納命令を使用して、これを行うことがで
きる。DAT−OFF PSWモードの拡張アドレッシ
ングに使用されるEXR値とともにARをロードするL
AM(アクセス倍数ロード)命令によって、AR内のE
XRフィールドをロードすることができる。
【0035】
【実施例】本発明の実施例は、小アドレスを使用してい
るプログラム(現在利用可能な中央演算処理装置(C
P)及びI/O処理装置で実行可能な)が、きわめて大
きなメモリが必要とする大きなアドレスに小アドレスを
拡張することによって、きわめて大きなメモリにあるデ
ータにアクセスできるようにするものである。本発明は
アドレスがアドレス変換を使用して得られたものである
か否かにかかわりなく、実(及び絶対)アドレスを拡張
する。アドレスの拡張が修正ART/DATハードウェ
ア操作によって、プログラムに自動的に適用されるの
で、アドレス変換(DAT−ON)を使用している従来
のプログラムはそのコードに対して透過的にきわめて大
きなメモリを使用できる。
【0036】本発明の実施例は小アドレスの大きなアド
レスへの異なる拡張を行う中央演算処理装置及びI/O
処理装置に対して、異なるモードの操作を実現する。モ
ード間の相違はこれらが小アドレスをきわめて大きなメ
モリにマップするのが異なっている点である。
【0037】小アドレスのエクステンダを生成するため
の本明細書に記載する各種のモードによってもたらされ
るデータ・マッピングの制約に関する選択肢には、次の
ようなものがある。1.小アドレスのデータを、小アド
レスを生成するプログラムを収めているきわめて大きな
メモリの第1セクションに限定する。CP互換モードに
おいては、すべての小アドレスが第1メモリ・セクショ
ンのみにマップされる。(これは拡張アドレッシングを
サポートしていない旧バージョンの制御プログラムに対
するサポートをもたらす。)2.所与の仮想アドレス・
スペース内の小アドレスのデータを、プログラムを収め
ているセクションと同じものであっても、異なるもので
あってもよいきわめて大きなメモリの任意の単一のセク
ションに配置できるようにする。単一セクションのCP
データ・マッピングはASTEモードによって、またI
/Oデータに対してはORBモードによって行われる。
3.所与の仮想アドレス・スペースの小アドレスのデー
タを、きわめて大きなメモリの複数のセクションに配置
できるようにする。複数セクションのマッピングはCP
データに対してはSTE及びPTEモードによって、ま
たI/Oデータに対してはCCW及びIDAWモードに
よって行われる。しかしながら、これらのモードは複数
のセクションにおけるデータのマッピングに対して異な
る特性を有している。
【0038】図1はCPに対する互換モードを示してお
り、これはきわめて大きなメモリの第1セクションに、
CPのアドレスがこれを拡張せずにアクセスできるよう
にするものである。これらの小アドレスはIBM S/
390、ESA/370またはS/370のアドレス変
換手段によってもたらすことができる。このようなアド
レスは、処理装置の現行のPSWにDAT−OFFモー
ドが存在している場合には実アドレスであり、処理装置
の現行のPSWにDAT−ONモードが示されている場
合は仮想アドレスである31ビットの有効論理アドレス
を生成するための周知のB、X、D及びB、D形式を使
用する記憶域操作によってもたらされる。
【0039】図1には、それぞれのCP処理装置に対し
て複数のDAT(動的アドレス変換)ハードウェア2
1、23、25を有するシステムが示されている。各C
PはDAT−ONモードで作動しており、これによって
実行中のプログラムの論理アドレスの変換が可能であ
る。それぞれのCPは異なる仮想アドレス・スペース
1、2及び3にアクセスしているものとする。各DAT
操作は次の周知の態様でアドレス変換を行う。現行の論
理アドレスのインデックス部分を使用してST(セグメ
ント・テーブル)のセグメント・テーブル項目にアクセ
スし、PT(ページ・テーブル)を探し出し、また現行
のアドレスのページ・インデックスを使用してPFRA
(ページ・フレーム実アドレス)を取得し、必要なペー
ジ・フレームを探し出す。現行の論理アドレスの低位部
分(12ビット)はPFRAに連結され、変換されたア
ドレスを生成する。この変換されたアドレスはアドレス
変換によってもたらされる実アドレスである。マルチプ
ロセッサにおいては、この実アドレスには周知の態様で
プレフィクスがつけられ、メモリにアクセスするために
使用される絶対アドレスをもたらす。ユニ・プロセッサ
においては、プレフィクスをつけることはオプションで
あり、つけてもつけなくても構わない。
【0040】DAT操作のためのアドレス・スペースは
STの選択によって決定される。システムによっては、
STは現行オペランドのBフィールドによって選択され
る基本レジスタに関連したアクセス・レジスタ(AR)
の内容によって選択される。このような場合、ARの内
容はアクセス・レジスタ変換(ART)を必要とするE
SA/390アーキテクチャのALET(アクセス・リ
スト項目トークン)である。
【0041】図1のARTハードウェア20、22、2
4は動的アドレス変換のためのそれぞれのアドレス・ス
ペースを定義するそれぞれのSTを選択する。図1のア
ドレス変換によって生成されて得られる各実アドレス
は、きわめて大きなメモリ(本明細書においては、2の
31乗を超えるバイトを有するメモリと定義する)にア
クセスできない小さな31ビットの実アドレスである。
【0042】本実施例はきわめて大きなメモリを2の3
1乗から2の63乗の範囲の2の31乗バイトを超える
ものと定義する。2の63乗バイトのメモリは、従来の
最大バイト数2の31乗を有するメモリの429496
7296倍の大きさである。
【0043】31ビットの実アドレスでアドレス可能な
最大メモリ・サイズは2の31乗のデータ単位以下のメ
モリ・サイズとなるが、これは31ビットのアドレスが
アドレスできるのがメモリ内の2の31乗のデータ単位
だけだからである。従来の小さな31ビットのアドレス
は一般に、きわめて大きなメモリをアドレスできない。
【0044】本実施例の各CPはCPEAM(中央演算
処理装置拡張アドレス・モード)フィールドを有してお
り、このフィールドをCPの制御レジスタ(CR)に配
置して、きわめて大きなメモリをアドレスするCPデー
タをサポートすることができる。CPEAMフィールド
を複数の状態の任意のものにセットし、きわめて大きな
メモリのセクションを小さなCPアドレスに対して選択
する方法を制御することもできる。
【0045】また、各I/O装置は装置のサブチャネル
のI/O制御ブロック内のIOEAM(入出力拡張アド
レス・モード)フィールドを使用して、きわめて大きな
メモリにアクセスするために小さなI/Oデータ・アド
レスを拡張するのをサポートする。IOEAMフィール
ドを複数の状態の任意のものにセットし、きわめて大き
なメモリのセクションを小さなI/Oアドレスに対して
選択する方法を制御することもできる。
【0046】本発明は小さな各アドレスの高位端に連結
されたアドレス・エクステンダ(EXR)を提供するこ
とによって、小アドレスの制限(31ビットのアドレス
の)を解決する。EXRは小アドレスによってアクセス
されるきわめて大きなメモリのセクションの選択を制御
する。それぞれのEXR値はきわめて大きなメモリを、
各セクションが2の31乗バイトのそれぞれのセクショ
ンに分割する働きをする。
【0047】31ビット未満のあらゆるアドレスを、そ
の高位ビット位置にゼロを埋め込み、埋め込まれたアド
レスを合計31ビットにすることによって、簡単に31
ビットのアドレスにできる。
【0048】CPEAM及びIOEAMフィールドはき
わめて大きなメモリで実行するのに必要なセクションの
選択タイプにしたがって、CP及びI/Oプログラムを
現在実行するためのシステム制御プログラムによってセ
ットされる。
【0049】きわめて大きなメモリに対する互換モード
(図2) 図2は本実施例の互換モードを示しており、このモード
はDAT−ONモードが存在するときにCPEAMをゼ
ロ値にセットする(CPEAR=00)ことによって示
される。互換モードは小アドレス(31ビット)がきわ
めて大きなメモリの第1セクションのみにマップされる
ものであり、アドレス・エクステンダ(EXR)が生成
されていないことを示す。ANDゲート手段32はCR
フィールド30からのEAM=00信号と、処理装置の
PSWレジスタ31からのDAT−ON信号の両方を受
け取り、互換モード信号を出力する。この信号は図2の
DATハードウェア21及びARTハードウェア20に
与えられ、CPハードウェアに設けられたすべてのEX
Rフィールドを使用禁止とする。結果として、DATハ
ードウェア及びARTハードウェアは従来の態様で作動
し、非拡張31ビット実アドレスをシステムのきわめて
大きなメモリの低位セクションのみに与える。
【0050】図2において、現行オペランドの従来のB
及びXアドレス成分は、基本汎用レジスタ41及びイン
デックス汎用レジスタ42を選択し、これらのレジスタ
の内容は現行オペランドのDフィールド44とともにハ
ードウェア加算器43に与えられ、DATハードウェア
21に与えられる有効論理アドレスを従来通りに生成す
る。ASTE、STE及びPTE(これらはDATプロ
セス中にアクセスされる)内の、あるいはその他の制御
ブロック内のEXRの内容はCPEAM=00の間無視
される。
【0051】したがって、ASTE(ASN第2テーブ
ル項目)46をARTプロセスが選択し、DATプロセ
スが必要とするSTを配置するアドレス(STOと呼
ぶ)を得る。ASTE及びその操作はESA/390ア
ーキテクチャによって定義されており、このアーキテク
チャはそれぞれのアドレス・スペースのアクセスに関連
したASTE内の他のフィールドを定義している。
【0052】DAT−OFFの場合の拡張実アドレッシ
ング(図3) CPの小さな実アドレスを生成する従来の方法はDAT
−OFFモードの場合と、DAT−ONモードの場合と
で異なっている。DAT−OFFモードの際には、論理
アドレスがページ・フレームの境界を横切ったときのペ
ージ・クロッシングの認識は必要ないが、これは隣接す
る実記憶域の位置がこれらが異なるページ・フレームに
あっても、メモリ内で隣接しているからである。しかし
ながら、DAT−ON論理アドレスがページ境界を横切
った場合には、次の必要なページ・フレームが次の隣接
する実記憶域の位置にない可能性がある。DAT−ON
モードでは、アドレス変換を呼び出し、次の必要なペー
ジ・フレームの実メモリ位置を見つけだすために、各ペ
ージ境界の横断を認識しなければならない。DAT−O
Nモードにおいては、ページ変換プロセスによって、次
のページをメモリまたはバックアップ記憶装置の任意の
ページ・フレームにおくことができ、また次に要求され
た仮想アドレスがページ境界を横切る場合には、ページ
不在信号が生成され、指定されたセグメント・テーブル
/ページ・テーブルにアクセスすることによってアドレ
ス変換プロセスを呼び出し、次に要求されたページ・フ
レームのメモリ内の実アドレスを見つけだす。
【0053】したがって、本実施例においては、DAT
−OFF論理アドレッシングは4KBのページ境界横断
を認識する必要がなく、また認識していない。しかし、
本実施例において、DAT−ON論理アドレッシングは
4KBのページ境界の横断を認識し、仮想アドレス変換
プロセスを呼び出して、ページ境界を横切るこの仮想ア
ドレスがマップされる次の必要な実記憶域のページ・フ
レームを見つけだす必要がある。
【0054】しかしながら、DAT−OFFの実施例に
おいては、きわめて大きなメモリの2GBの境界を実ア
ドレスが横切ると、セクション不在が呼び出され、次の
DAT−OFF論理アドレスをきわめて大きなメモリの
任意の他のセクションにマップすることが可能となる。
ただし、次のセクションまで増加する実アドレスが常に
きわめて大きなメモリの次の順次セクションまで続く場
合には、セクション不在の通知は必要なく、EXR値を
増加させることだけが必要となる。
【0055】図3は拡張実アドレスを生成するための実
施例を示す。この実施例はCPがDAT−OFF状態で
あり、かつそのCPEAMが拡張アドレスをCPが必要
としていないことを示す非ゼロである場合に、CPの小
アドレスにエクステンダ(EXR)を提供する。非ゼロ
のCPEAM値はCPが互換モード(図2で説明した)
で作動していないことを示し、この場合、CPには拡張
アドレスが必要である。ANDゲート手段34がDAT
ビットの反転状態によって与えられるCRフィールド3
0からのCPEAM≠0信号及びPSWフィールド31
からのDAT−OFF信号を受け取った場合に、拡張実
アドレス信号が該ANDゲート手段から出力される。A
NDゲート手段34からの信号によって、CPのARを
ARのこれまでの使い方とは異なる新規な態様で使用す
ることが可能となる。(これまで、ARは仮想アドレス
・スペースの選択を制御するために、DAT−ONモー
ドだけで使用されていた。)本発明において、ARは仮
想アドレッシングが使用されていないときに、小さな実
アドレスにアドレス・エクステンダ(EXR)を提供す
るというまったく異なる目的で、DAT−OFFモード
において使用される。それ故、本発明において、ARは
実アドレッシングを目的として使用されるが、これまで
ARは仮想アドレッシングのためにだけ使用されてい
た。
【0056】現行の命令オペランドの関連する基本GP
Rによって選択されたB−AR51を含むすべてのAR
が通知を受け、その内容を必要なEXRとしてゲートか
ら出し、これを加算器ハードウェア43によって生成さ
れた小アドレスの高位端に連結して、きわめて大きなメ
モリをアドレッシングするための63ビット拡張実アド
レス(ERA)52をもたらす。
【0057】基本アドレス・レジスタB−AR51、イ
ンデックス・アドレス・レジスタXGPR41、アドレ
ス変位ソースD44、及び加算器43は、従来の31ビ
ット有効アドレス(CONV ADR)を各オペランド
の構成要素から生成する現在のコンピュータにあるもの
と同様な、周知の構成要素であっても構わない。
【0058】また、2GBのセクション境界の横断はD
AT−OFF実アドレッシング・モードの場合と、DA
T−ON仮想アドレッシング・モードの場合とでは異な
る処理が行われる。実アドレスの増加は任意の2GBの
境界を越えて続くこともある。しかし、セクション境界
の横断時には、拡張アドレスの31ビット位置からのオ
ーバーフローが生じ、2GBの境界の横断が行われたこ
とを示し、次いで、それぞれのARのアドレス・エクス
テンダ・フィールドの低位ビット位置が増加させられ
る。システム制御プログラムにオーバーフローの指示を
検知させ、かつDAT−OFFモードでの境界の横断を
処理するためにそれぞれのARのEXR値を増加させる
命令を実行させることによって、この増加を行うことが
できる。
【0059】メモリに対するEXR値を、小アドレスを
生成するオペランドに関連したARにおくことによっ
て、あらゆる小アドレスをきわめて大きなメモリの任意
のセクションにマップすることができる。
【0060】DAT−OFFの場合のARルックアサイ
ド・バッファ(ALB)のエクステンダ DAT−OFFモードで生成されたARエクステンダ
は、各CPでARルックアサイド・バッファ(ALB)
を使用することができる。(これまで、ALBはDAT
−OFFモードで使用されていなかった。)ARのAR
エクステンダ・フィールドをオペランドがアクセスする
と、そのEXRがアクセスされたALB項目の対応する
EXRフィールドに複写される。本実施例に合わせて、
EXRはすべてのALB項目に一意的におかれる。AL
B項目がEXRによって初期設定された後、EXRにそ
れぞれのARからアクセスするのではなく、対応するA
LB項目からアクセスすることができる。これが役立つ
のは、構成されたすべてのARがすべてハードウェア・
レジスタに組み込まれるのではなく、またALBが高速
アクセスに使用される場合である。
【0061】DAT−ONの場合の拡張実アドレッシン
グ(図4) 図4は複数のCP(3つが示されているが、1個または
それ以上の任意の数が存在していてもかまわない)を含
んでいるシステムにおける各CPにおけるDAT−ON
の場合のメモリ・エクステンダ(EXR)の生成を表
す。ARTハードウェア120、122及び124なら
びにDATハードウェア121、123、125がそれ
ぞれの処理装置に対して示されている。各CPはDAT
−ONで作動するものとして示されているが、いずれか
のCPがDAT−OFFで作動していてもかまわない。
【0062】各CPにおいて、アドレス・エクステンダ
はアドレス変換プロセス中に新規な方法で生成される。
ただし、DAT−ONモードが存在して、アドレス変換
プロセスを可能としている場合に、アドレス拡張プロセ
スがアドレス変換プロセスと新規の方法で組み合わされ
ているとしても、アドレス拡張プロセスはアドレス変換
プロセスとは別のものである。エクステンダには変換さ
れたアドレス(TA)が連結される。
【0063】アドレス拡張ハードウェアはアドレス変換
ハードウェア(ARTまたはDATハードウェア)を共
有している。図5、6または7のDAT−ONアドレス
拡張手法のうちの1つだけが任意の時点でCPに使用さ
れることとなる。
【0064】図5の実施例はARTハードウェアがアク
セスするASTEを使用してEXRを生成する。図6の
実施例はDATハードウェアがアクセスするSTEを使
用してEXRを生成する。図7の実施例はDATハード
ウェアがアクセスするPTEからEXRを生成する。新
規な改変がASTE、STEまたはPTEハードウェ
ア、これらのアドレス変換ハードウェアに対するプロセ
ス、及びこれらの任意アドレス拡張プロセスに適合する
プロセスに対して行われる。
【0065】CPEAMフィールドはEXRを生成する
新規の方法の各々について異なるCPEAM状態にセッ
トされる。本明細書記載の実施例はCP EXRを生成
するための4種類の方法を教示する。CPの変換された
アドレスに対するアドレス拡張の3種類の方法を使用し
て、処理装置の変換されたアドレスをマップするために
きわめて大きなメモリのセクションを選択するに当たり
さまざまな度合いの融通性を提供する。
【0066】CPアドレスに対して提供されるEXRを
図5、6及び7においてEXR1と呼び、図9、10及
び11においてEXR2と呼ぶ入出力アドレスに対して
生成されたアドレス・エクステンダと区別する。それ
故、EXR1はCP EXRであり、EXR2はI/O
EXRである。
【0067】ASTEエクステンダを使用した拡張実ア
ドレッシング(図5) 図5の実施例はそのCRエクステンダ・タイプ・フィー
ルド30にCPEAM=01が設定されて作動し、AS
TE EXR1項目が使用されていることを示す。AN
Dゲート手段35はCRフィールド30からのCPEA
M=01信号及びPSWフィールド31からのDAT−
ON信号の両方を受け取ったときに、ASTE EXR
1制御信号をもたらす。
【0068】ゲート35からのエクステンダ制御信号は
ART作動120中にASTE EXR1フィールドの
使用を活動化し、ARTプロセス中にASTE146に
アクセスしてそのSTD(セグメント・テーブル記述
子)フィールド147を取得するときに、EXR1フィ
ールド148をASTE146からのアドレス・エクス
テンダとして出力する。同時に、ARTプロセス120
中に、ASTE146にアクセスし、STO(セグメン
ト・テーブル起点)フィールドとSTL(セグメント・
テーブル長)フィールドを含んでいるSTD147の内
容に、B−AR51のALETを変換する。アドレス・
スペースの選択がアドレス・スペースを定義するセグメ
ント・テーブルのASTEのSTDフィールドの選択ご
とに、該STDフィールド内のSTOアドレスによって
決定される。ART/DATプロセスが行われるのは、
DAT−ON状態がCPに存在している場合だけであ
る。
【0069】ASTE EXR1の生成は独自のもので
あるが、TA(変換されたアドレス)を生成するための
図5のART/DATプロセス自体は、図2について説
明したように、周知のものである。出力されたASTE
EXR1は出力されたTAの上端に連結され、拡張実
アドレス(ERA)を生成し、これはこのERAに配置
されているデータにアクセスするために関連するきわめ
て大きなメモリに送られる。
【0070】同じASTEエクステンダを使用すること
によって拡張されたすべての小アドレスは、きわめて大
きなメモリの任意のセクションでかまわない同一のセク
ションにマップされる。
【0071】ARルックアサイド・バッファ(ALB)
のASTEエクステンダ ARルックアサイド・バッファ(ALB)はESA/3
90システムのアクセス・レジスタに対するアドレス・
スペース変換のアクセスを高速化するために従来から使
用されているもので、これはアドレス・スペース変換操
作で使用されると、ASTEの再アクセスを回避するも
のである。ASTEアドレス拡張プロセスはALBを使
用して、アドレス変換プロセスの完了後にASTE E
XRを獲得することを行うこともできる。
【0072】それ故、ASTEエクステンダ・フィール
ドをARルックアサイド・バッファ(ALB)の各項目
に入れることができ、ARに対する仮想アドレス・スペ
ース変換プロセス中に、EXRを有するASTEにアク
セスした場合に、この項目にはEXRが埋め込まれる。
したがって、ASTE EXRフィールドはすべてのA
LB項目内に一意的に入れ、この実施例に適合させるこ
とができる。アドレス・スペースを選択するためのAR
T操作が行われた後、ALB項目が有効である限り、そ
のASTE EXRにALB項目からアクセスすること
ができるが、これはこのALB項目に定義されている仮
想アドレス・スペースに対するすべてのアクセスについ
て、ARTを繰り返すよりも高速なものである。
【0073】それ故、ARTプロセス中に、まずAST
Eのアドレス・エクステンダ・フィールドにオペランド
がアクセスした場合、ASTE EXRを割り当てられ
たALB項目の対応するASTE EXRフィールドに
複写することができる。したがって、ALB項目をAS
TE EXRによって初期化した後、ASTE EXR
にそれぞれのASTEによってアクセスするのではな
く、対応するALB項目からアクセスすることができ
る。
【0074】STEエクステンダを使用した拡張実アド
レッシング(図6) 図6の実施例はそのCRフィールド・エクステンダ・タ
イプ・フィールド30にCPEAM=10が設定されて
作動し、各STE(セグメント・テーブル項目)にEX
R1フィールドがあることを示す。STEエクステンダ
制御信号はANDゲート手段36によって生成されるも
のであり、該ゲート手段はCRフィールド30からのC
PEAM=10信号及びPSWフィールド31からDA
T−ON信号の両方を受け取ったときに、STEエクス
テンダ操作のために使用可能制御信号を出力する。
【0075】各STE73はDATプロセス中に拡張ア
ドレス生成に使用するためのEXR1フィールド248
を含んでいる。(EXRフィールドは図1、2、4、5
または7のDATのSTEには存在していない。)
【0076】ゲート36からの信号はDATハードウェ
アに対して、選択されたSTE73のEXR1フィール
ド248が拡張アドレスの生成に使用されることを示
す。図6において、ARTプロセス20は図2について
上述したように、アドレス・スペースの選択には周知の
ものである。また、EXR処理を除き、DATプロセス
も周知のものである。ただし、DATプロセス中のEX
R1を生成するSTEの態様は、図6独自のものであ
る。STEから出力されたEXR1はレジスタ78に与
えられ、該レジスタにおいて、拡張実アドレス(ER
A)が変換されたアドレスの上端にEXR1を連結する
ことによって生成され、これはPTEから出力されたP
FRA(ページ・フレーム実アドレス)と現行オペラン
ドのD値からのBx(バイト・アドレス)を含んでい
る。ERAはERAに配置されているデータにアクセス
するために、レジスタ78からきわめて大きなメモリに
送られる。
【0077】特定のSTEのEXR1値を使用して拡張
されたすべての小アドレスは、きわめて大きなメモリの
同一のセクションにマップされる。これらのアドレスは
このSTEによってアドレスされるPTE内のページ・
フレーム実アドレスのセットである。ページ・フレーム
のこのセットは一般にこのメモリ・セクション内で連続
していない。ESA/390システムにおいて、各ST
Eは合計1MBになるページのセットをアドレスする。
【0078】PTEエクステンダを使用した拡張実アド
レッシング(図7) 図7の実施例はそのCRエクステンダ・タイプ・フィー
ルドにCPEAM=11が設定されて作動し、EXR1
フィールドが各PTE(ページ・テーブル項目)にある
ことを示す。PTEエクステンダ制御信号はANDゲー
ト手段37によって生成され、該ゲート手段はCRフィ
ールド30からのCPEAM=11信号及びPSWフィ
ールド31からのDAT−ON信号の両方を受け取った
ときに、PTEエクステンダ操作のための出力可能信号
をもたらす。
【0079】各PTE177は任意のDATプロセス中
に拡張アドレスの生成に使用されるEXR1フィールド
348を含んでいる。(EXRフィールドは図1、2、
4、5または6のPTEには存在していない。)AND
ゲート37からの信号はDATプロセスに対して、各P
TE177が任意のDATプロセス中に拡張アドレスの
生成に使用されるEXR1フィールド348を含んでい
ることを示す。
【0080】図7において、周知のARTプロセス20
が図2に関して本明細書で上述したような態様でアドレ
ス・スペースの選択に使用される。また、EXR処理を
除き、DATプロセスは周知のものである。ただし、D
ATプロセス中のEXR1生成のPTEの態様は図7独
自のものである。PTEから出力されるEXR1はレジ
スタ178に与えられ、該レジスタにおいて、拡張実ア
ドレス(ERA)が変換されたアドレスの上端にEXR
1を連結することによって生成され、これはPTEから
出力されたPFRA(ページ・フレーム実アドレス)と
現行オペランドのD値からのBx(バイト・アドレス)
を含んでいる。
【0081】ERAはERAに配置されているデータに
アクセスするために、レジスタ178からきわめて大き
なメモリに送られる。
【0082】このPTEアドレス拡張技法によって、E
XR1値を各ページ(それぞれのPTEにおける)に対
して独自のものとすることができるので、DATを必要
とするあらゆる小さな仮想メモリがきわめて大きなメモ
リの何らかのセクションに配置されているページ・フレ
ームにマップされている変換された実アドレスを有する
ことが可能となる。ESA/390システムにおいて、
各ページは4096バイトを含んでいる。
【0083】TLBのSTE及びPTEエクステンダ 仮想アドレス変換をTLB(変換ルックアサイド・バッ
ファ)におき、TLBが高速なアクセスをもたらすもの
であるため、変換が行われてから、TLBによって変換
された実アドレスにアクセスすることは周知である。S
TE及びPTEエクステンダ・フィールドを割り当てら
れたTLB項目におくこともできるので、変換された実
アドレスが要求された場合に、EXR1をもたらすこと
ができる。したがって、この場合、STEまたはPTE
EXR1を受け取るために、各TLB項目はEXR1
フィールドを備えている。こうして、STEまたはPT
Eの代わりに、TLB EXR1にアクセスすることが
できる。それ故、TLBを使用することによって、行っ
た場合に、アドレス拡張プロセスの速度を大幅に低下さ
せることになるそれぞれのSTEまたはPTEにアクセ
スすることを回避できる。
【0084】CPプログラム及び制御ブロックに対する
拡張実アドレッシング これまで、この詳細な説明においては、CPオペランド
・データ・アドレスのみをEXR1値によって拡張し
た。
【0085】上記において、ART/DATプロセスが
使用するようなEXRはCPプログラム及びCP制御ブ
ロックには提供されていない。この場合、CPプログラ
ム及びCP制御ブロックはこれらに対する明示のエクス
テンダが欠落していることによってすべてゼロのエクス
テンダが含意されるため、きわめて大きなメモリの最初
のセクションにおかれるだけである。
【0086】しかしながら、CPプログラム及びCP制
御ブロックに、これらが使用するため他の制御レジスタ
(CR)フィールドにEXR3値を与えることなどによ
って明示のEXR値を提供することができる。(CPデ
ータの拡張としてEXR3を使用することによっても、
CPデータをCPプログラム及びCP制御ブロックと同
じメモリ・セクションにおくこともできよう。)
【0087】ASTEのEXR1フィールドをこのAS
TE(DATプロセスが使用するSTを見つけだす)に
おけるSTO(セグメント・テーブル起点)として、か
つアクセスされるSTEにアドレスされるPTO(ペー
ジ・テーブル起点)に対するアドレス・エクステンダと
して使用し、独自のセクション選択をDATがアクセス
する制御ブロック(ST及びPT)に提供することがで
きる。あるいはまた、ASTEのEXRをアクセスされ
るSTOに対するエクステンダとしてのみ使用すること
ができ、次いでこの拡張したSTOアドレスによってア
クセスされるSTで得られるSTEは得られたSTEの
PTOのアドレスを拡張するために使用されるEXRを
含むことができる。これらの技法によって、アクセスさ
れたST及びPTをきわめて大きなメモリの任意のセク
ションに配置することが可能となる。
【0088】入出力データに対する拡張実アドレッシン
グ 入出力データのアクセスはCPデータのアクセスと同じ
きわめて大きなメモリに行われる。入出力データ・アク
セス命令及びプログラムは一般に、CPアドレッシング
が使用するのと同じ31ビットまたは24ビットのアド
レスなどの小アドレスの形式を使用する。したがって、
同じタイプのアドレス拡張がCPの小アドレスに適用さ
れるのと同様に、入出力データの小アドレスをきわめて
大きなメモリに適合させる際に適用される。一般に、入
出力データ・アドレスはアドレス変換を必要としない実
アドレスであり、現行のPSWのDAT状態を無視す
る。入出力データアクセスはCPのデータ・アクセスと
同期していない。
【0089】入出力とCPのデータ・アドレスの特性の
相違によって、入出力データ・アドレス及びCPの小ア
ドレスに対してアドレス拡張を提供するのに異なる方法
が使用される。入出力データの小アドレスに対するエク
ステンダを、入出力装置プログラムに関連した制御ブロ
ックのいずれかに提供し、これから生じる異なるマッピ
ングを行うことができる。これは各オペランドのBフィ
ールドに関連したレジスタのCPの小さな実アドレスに
アドレス・エクステンダを提供するのと対照的なもので
ある。
【0090】ESA/390システムの入出力データ・
アドレッシングはサブチャネル開始(SSCH)命令に
よって開始されるが、この命令は本明細書記載の入出力
アドレス・エクステンダの実施例に使用されるものであ
る。SSCHはCP命令であり(入出力命令ではな
い)、SSCHはORB(操作要求ブロック)にアクセ
スするための論理アドレスを提供する単一のオペランド
を有している。ORBアドレスはCPのPSWがDAT
−OFFモードであるか、DAT−ONモードであるか
にしたがい、実アドレスであっても、仮想アドレスであ
ってもかまわない。ORB内及びORBによって評価さ
れる他の入出力制御ブロック(たとえば、CCW及びI
DAW)内のアドレス・フィールドは常に、現行PSW
のDATの設定にかかわりなく実アドレスを含んでい
る。ORBは一連のCCW(チャネル制御ワード)から
なる入出力制御プログラムをアドレスする。チャネル・
プログラムのいずれのCCWも、メモリ内の不連続ブロ
ックにある入出力データにアクセスすることを可能とす
る1つまたは複数のIDAW(間接アドレス・ワード)
のブロックをアドレスすることができる。
【0091】SSCH、ORB、CCW及びIDAWな
らびにその作動は本発明の先行技術のものである。ただ
し、拡張アドレッシングを入出力データ・アクセス処理
及びハードウェアと組み合わせる方法は、本発明独自の
ものである。
【0092】本明細書記載の入出力の実施例はIOEA
Mを有しており、これは特定の実施例で使用される入出
力EXR(EXR2と呼ぶ)のタイプを識別するための
複数の値のいずれかを有している入出力EAMフィール
ドである。CP命令(拡張CPアドレスを使用すること
ができる)を実行し、拡張アドレッシングを使用して入
出力データのアクセスを開始するCP実施例を、各入出
力の実施例が必要とするので、各入出力の実施例もCP
EAMフィールドを有しているCPの実施例を使用す
る。
【0093】CPEAMフィールド及びIOEAMフィ
ールドはまず、現在実行されているCP及び入出力プロ
グラムに対するセクションの割当ての各々による融通性
の度合いにしたがって、これらが取り得る値の1つに対
して、システム制御プログラムによってセットされる。
CPEAMのセッティングはCPアドレス・エクステン
ダ(EXR1)が得られるフィールドを選択し、IOE
AMのセッティングは入出力アドレス・エクステンダ
(EXR2)が得られるフィールドを選択する。CP及
び入出力EAMのセッティングはシステム制御プログラ
ムの現在の要件にしたがって互いに無関係に、あるいは
互いに依存して行われる。
【0094】DAT−OFFモードが存在しており、非
ゼロのCPEAMが拡張アドレッシングの使用を示して
いる場合、図3の実施例について本明細書で前述したよ
うに、処理装置エクステンダ(EXR1)が現行オペラ
ンドのBフィールドがアクセスするARから導かれる。
DAT−ONモードが存在している場合、図5、6及び
7の実施例について本明細書で前述したように、処理装
置エクステンダ(EXR1)が現在のCPEAMのセッ
ティングにしたがってASTE、STEまたはPTEか
ら導かれる。
【0095】CPEAM及びIOEAMのセッティング
はきわめて大きなメモリのCP及び入出力データに対す
る2GBのセクション・マッピングの融通性を制御す
る。入出力の実施例によっては、IOEAMのセッティ
ングがCPEAMのセッティングと無関係に行えること
もある。
【0096】さらに、実アドレッシング操作のタイプの
選択は、コンピュータ・システムの設計で制限されるこ
とがあり、CPEAM及びIOEAMのセッティングの
数がが本明細書記載の実施例で得られるものよりも少な
くなることがある。たとえば、CPの実アドレッシング
を次の3つのモードに制限することができる(PSWに
2つのCPEAMのセッティングとDAT−ONモード
を使用して)。すなわち、互換(図2)、拡張DAT−
OFF(図3)、ならびに3つの拡張DAT−OFF
(図5、6または7)の1つである。また、IOEAM
を入出力互換(図8の)、及び拡張入出力の1つ(図
9、10または11の)という2つのセッティングに制
限することもできる。
【0097】別々のCPEAM及びIOEAMフィール
ドを使用することによって、本明細書記載の実施例にお
けるCP及び入出力のアクセスに対する独立したアドレ
ス拡張制御が可能となる。ただし、このようなオプショ
ンをIOEAM及びEXR2フィールドに対して選択し
た値によって限定することができる。
【0098】ORBが入出力装置に対する入出力プログ
ラムが現在アクセスしているすべての入出力データに共
通の制御ブロックであるから、IOEAMフィールドは
本明細書記載の入出力エクステンダの実施例のすべての
ORBに配置される。
【0099】入出力データに対する互換拡張実アドレッ
シング(図8) 図8は下位互換入出力拡張アドレス・モードを表すもの
であり、00に設定されたIOEAMフィールド(IO
EAM=00)によって示されている。入出力互換モー
ドにより、処理装置アドレス・エクステンダ(EXR
1)が入出力アドレス・エクステンダ(EXR2)とし
ても使用される。すなわち、EXR2=EXR1とな
る。結果として、入出力データがCPデータと同じセク
ションにマップされる。CPEAM=00というセッテ
ィングを使用している(CPが下位互換モードで作動し
ていることを示す)場合には、CP及び入出力両方のデ
ータがすべて、CPまたは入出力のいずれかに対する拡
張を使用せずに、きわめて大きなメモリの最初のブロッ
クにマップされる。
【0100】図8において、CPEAMはその2進値
(00ないし11)のいずれかにセットできる。しかし
ながら、CPEAMの非ゼロのセッティングを使用した
場合には、CPアドレス・エクステンダ(EXR1)が
入出力アドレス・エクステンダ(EXR2)にもなる。
また、処理装置データ及び入出力データの両方は、EX
R1によって指定されたメモリ内の任意のセクションで
あるきわめて大きなメモリの同じセクションにおかれ
る。この場合、CP EXRはCPデータ・アドレス及
び入出力データ・アドレス両方に対するエクステンダと
して使用されるという2重の役割を有している。それ
故、CPEAMが非ゼロの値を有している場合、処理装
置エクステンダをCPEAMの非ゼロの値にしたがっ
て、かつDAT−ONモードが存在しているのか、ある
いはDAT−OFFモードが存在しているのかにしたが
って、ASTE、STE、PTEまたはARのいずれか
から導くことができる。
【0101】入出力データに対するORB拡張実アドレ
ッシング制御(図9) 図9はORB制御ブロックのフィールドにアドレス・エ
クステンダEXR2をもたらす。ORBにEXR2フィ
ールドをおき、これを現行のORB EXR2値が定義
するメモリ・セクションにマップすることによって、O
RBが制御するすべての入出力データのマッピングを制
約する。
【0102】IOEAM=01というセッティングはE
XR2フィールドがORB181にあることを示し、こ
れは実行されたSSCH命令によって開始されるサブチ
ャネル・プログラムに対する主制御ブロックである。E
XR2の値はこのSSCH命令によって開始されるチャ
ネル・プログラムのCCW82及びIDAW83に含ま
れている小さい実アドレスによってアクセスされるすべ
ての入出力データに対するアドレス・エクステンダとし
て使用される。結果として得られる拡張実アドレス(E
RA)はきわめて大きなメモリのデータをアクセスする
ために使用される。
【0103】しかしながら、図9の制御ブロック(OR
B181、CCWブロック82及びIDAWブロック8
3)に対する拡張は、CPデータを含んでいるメモリ・
セクションに入出力制御ブロックをマップするCPEA
MのセッティングによってEXR1制御される。それ
故、入出力プログラムがアクセスする入出力データはE
XR2によって、EXR1によって配置される入出力制
御ブロックを含んでいるセクションと無関係に、きわめ
て大きなメモリの任意のセクションにマップされる。
【0104】ORB181のEXR2フィールドの内容
によって指定される2GBのメモリ・セクションは、現
行のCPEAMのセッティングによって選択されるEX
R1の内容によって指定される2GBのメモリ・セクシ
ョンと異なっていてもよい。したがって、非ゼロのIO
EAMのセッティングによって、EXR1及びEXR2
フィールドが異なるエクステンダ値を含んでいる場合
に、入出力操作に関連するCP及び入出力データをメモ
リの異なるセクションにマップすることが可能となる。
【0105】入出力データに対するCCW拡張実アドレ
ッシング 図10はサブチャネル(入出力)プログラムの各CCW
にEXR2フィールドを有している実施例を表してお
り、これは現在実行されている入出力プログラムのOR
BブロックにあるIOEAMフィールドのIOEAM=
10というセッティングによって示されている。この場
合、複数のCCWを有する入出力プログラムは、それぞ
れをメモリの任意のセクションにセットできるそれぞれ
の複数のEXR2フィールドを含んでいる。すなわち、
CCWのそれぞれのEXR2フィールドを同一のEXR
2値にセットすることも、異なる値にセットすることも
できる。特定のCCWを有するEXR2フィールドはC
CWによって、またCCWによってアクセスされる何ら
かのIDAWによって生成されるデータERA(拡張実
アドレス)のみを拡張する。結果として得られるERA
は要求された入出力データにアクセスするためにきわめ
て大きなメモリに送られる。図10はIDAWを使用す
る場合、及び使用しない場合の2つの可能性を示してい
る。図10に示す第2のCCWはIDAWを使用しな
い。これは以前のCCWとは異なるアドレス・エクステ
ンダを有することができる。これはこれをEXR2^と
呼ぶことによって示されている。
【0106】しかしながら、図10の制御ブロック(O
RB81、CCWブロック182及びIDAWブロック
83)に対する拡張は、入出力プログラムを開始したS
SCH命令を出したCPプログラムを含んでいるメモリ
・セクションに、入出力制御ブロックをマップするCP
EAMのセッティングによってEXR1制御される。そ
れ故、この入出力プログラムがアクセスする入出力デー
タはEXR2値によって任意のセクションへ、独立して
マップされ、入出力プログラムをCPプログラムとは異
なり、かつきわめて大きなメモリのCPデータとは異な
るセクションにおくことが可能となる。
【0107】それ故、IOEAM=10の効果は、アク
セスされた入出力データ位置を、異なるCCW EXR
2フィールドの内容によって指定されたきわめて大きな
メモリの2GBのセクションの任意のものにマップする
ことを可能とするものである。したがって、高位セクシ
ョンの選択の融通性が得られ、各CCWに対して、現行
のCPデータのマッピングを制御する現行のEXR1値
によって選択されたメモリ・セクションとは異なるセク
ションを使用することが可能となる。
【0108】入出力データに対するIDAW拡張実アド
レッシング制御 従来の入出力プログラムは入出力プログラムのCCWに
よってアクセスされるIDAWブロック(一連の1つま
たは複数のIDAWを含んでいる)を有することができ
る。各IDAWは入出力データをメモリに配置するため
の小さい実アドレスを含んでいる。入出力プログラムの
異なるCCWは異なるIDAWブロックをアドレスする
ことができる。入出力プログラムの中には、このプログ
ラムがアクセスする入出力データに対して分散したメモ
リ位置をアドレスする多数のIDAWを含んでいる単一
のIDAWブロックをアドレスする単一のCCWからな
るものもある。この実施例によって、ブロック内のID
AWが提供する小アドレスをきわめて大きなメモリの異
なるセクションに配置することが可能となる。
【0109】図11はIDAWの実施例を表しており、
これはサブチャネル(入出力)プログラムのORB I
OEAMフィールドのIOEAM=11によって示され
ており、プログラムの各IDAWにはEXR2フィール
ドが設けられている。
【0110】IDAWのあらゆるEXR2フィールド
を、メモリ内で利用できるあらゆるセクションを表すよ
うに設定することができる。特定のIDAWのEXR2
フィールドはそのIDAWに対して生成された小アドレ
スのみを拡張する。すなわち、IDAWのそれぞれのE
XR2フィールドを同じEXR2または異なるEXR
2、すなわちEXR2^に設定することができる。この
場合、複数のIDAWを有している入出力プログラムは
それぞれの複数のEXR2フィールドを有しており、こ
れらはそれぞれにメモリの任意のセクションに設定され
る。すなわち、IDAWのそれぞれのEXR2フィール
ドを同じEXR2値に設定することも、異なる値に設定
することができる。
【0111】特定のIDAWを有するEXR2フィール
ドはこのIDAWによって生成されたデータERA(拡
張実アドレス)のみを拡張する。結果として得られるE
RAは要求された入出力データにアクセスするためにき
わめて大きなメモリに送られる。
【0112】図11のCCWはEXRフィールドを有し
ていない(ただし、IDAWをアドレスしないCCWが
EXR2フィールドも有している他のIOEAMモード
を提供することは容易にできる)。図11の実施例にお
いて、CCWデータ・アドレスはCPEAMから得られ
るEXR1によって拡張されるので、CCWがアドレス
するデータがCPデータと同じセクションにおかれ、同
じ出入力プログラムでIDAWがアドレスするデータが
きわめて大きなメモリの他のセクションにおかれる。
【0113】図11の入出力制御ブロック(ORB8
1、CCWブロック82及びIDAWブロック183)
対するアドレスの拡張は、CPEAMのセッティングに
よってEXR1制御される。それ故、入出力制御ブロッ
クはSSCH開始命令を出したCPプログラムを含んで
いるメモリ・セクションに配置される。したがって、入
出力プログラムがアクセスする入出力データはEXR2
値によって、、CPプログラムを含んでいるセクション
と無関係にきわめて大きなメモリの任意のセクションに
配置される。
【0114】それ故、IOEAM=11の効果は、ID
AWに対して生成される結果として得られる拡張実アド
レス(ERA)を、同じ入出力プログラムのCCWによ
って直接アドレスされる入出力データを受け取るセクシ
ョンとは異なるものでよいきわめて大きなメモリの1つ
または複数の異なるセクションにマップすることを可能
とするものである。したがって、IDAWを使用して同
じプログラムのCCWのデータ・アドレスとは異なるメ
モリのセクションの選択を制御することを可能とするこ
とによって、入出力データに対するメモリ・セクション
の選択での融通性が得られる。したがって、IDAW
EXR2フィールドが異なるエクステンダ値を含んでい
る場合に、メモリの多くの異なるセクションを使用する
ことができる。
【0115】本発明を好ましい実施例を参照して説明し
たが、特許請求の範囲で規定する本発明の真の精神及び
範囲から逸脱することなく行うことのできる各種の改変
及び変更が、当分野の技術者には明かであろう。
【図面の簡単な説明】
【図1】独立したアドレス・スペース内のそれぞれの仮
想アドレスが、従来技術におけるような31ビットの実
アドレスを使用するために最大2ギガバイトのサイズを
有する同一の小さい実メモリに同時にアドレスできるよ
うにするために、アクセス・レジスタ変換(ART)を
利用して動的アドレス変換(DAT)を行う複数の処理
装置を示す図面である。
【図2】小さな論理アドレスを使用する古いプログラム
が大きな実アドレスを必要とするきわめて大きなメモリ
にアクセスするのを可能とするために、本発明の実施例
が使用する互換モードを示す図面である。
【図3】きわめて大きなメモリを使用できるように、中
央演算処理装置によって提供される小さな実アドレスを
拡張するための本発明の実施例のDAT−OFFモード
を示す図面である。
【図4】仮想アドレスから一意の拡張実アドレスを生成
するために、中央演算処理装置が本発明の実施例で使用
する修正ART/DATプロセスを示す図面である。
【図5】きわめて大きなメモリ内のデータにアクセスす
るための拡張アドレスを生成するために従来の小さな仮
想アドレスを変換している中央演算処理装置によって得
られる小さな実アドレスを拡張するためのASTEモー
ドを示す図面である。
【図6】きわめて大きなメモリ内のデータにアクセスす
るための拡張アドレスを生成するために従来の小さな仮
想アドレスを変換している中央演算処理装置によって得
られる小さな実アドレスを拡張するためのSTEモード
を示す図面である。
【図7】きわめて大きなメモリ内のデータにアクセスす
るための拡張アドレスを生成するために従来の小さな仮
想アドレスを変換している中央演算処理装置によって得
られる小さな実アドレスを拡張するためのPTEモード
を示す図面である。
【図8】小さなデータ・アドレスが、小アドレスを使用
するプログラムによってI/O装置に与えられている小
さなデータアドレスが、きわめて大きなメモリとの間で
データの読み書きを行えるようにするための本発明の実
施例の互換モードを示す図面である。
【図9】I/O装置に与えられている小さなI/Oデー
タ・アドレスがきわめて大きなメモリとの間でデータの
読み書きを行えるようにするために、本発明の実施例で
I/Oデータ・アドレスを拡張するためのORBモード
を示す図面である。
【図10】I/O装置に与えられている小さなI/Oデ
ータ・アドレスがきわめて大きなメモリとの間でデータ
の読み書きを行えるようにするために、本発明の実施例
でI/Oデータ・アドレスを拡張するためのCCWモー
ドを示す図面である。
【図11】I/O装置に与えられている小さなI/Oデ
ータ・アドレスがきわめて大きなメモリとの間でデータ
の読み書きを行えるようにするために、本発明の実施例
でI/Oデータ・アドレスを拡張するためのIDAWモ
ードを示す図面である。
フロントページの続き (72)発明者 ブレント・アレン・カールソン アメリカ合衆国55901、ミネソタ州ロチェ スター、エイス・ストリート・エヌ・ダブ リュー 228番地 (72)発明者 ムーン・ジュ・キム アメリカ合衆国12524、ニューヨーク州フ ィッシュキル、フリントロック・ロード 33番地 (72)発明者 マイケル・ジェラード・モール アメリカ合衆国12540、ニューヨーク州ラ グランジェビル、スクェア・ウッド・ドラ イブ 20番地 (72)発明者 キャスパー・アンソニー・スカルジ アメリカ合衆国12601、ニューヨーク州ポ ーキープシー、アカデミー・ストリート 160番地 (72)発明者 バースカー・シンハ アメリカ合衆国12590、ニューヨーク州ワ ッピンジャース・フォールス、ケンデル・ ドライブ 19番地

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】小アドレスのサイズをより大きなメモリの
    任意の位置にアクセスすることを可能ならしめることに
    よって拡張するコンピュータ・システムにおけるアドレ
    ス拡張方法において、 実行されているプログラムの命令のオペランドによって
    1つの小アドレスを生成するステップと、 小アドレスにエクステンダを提供するために複数のタイ
    プのエクステンダ・フィールドのうち使用可能となって
    いるものを示すためのエクステンダ・モード・フィール
    ドを提供し、及び大きなメモリ中の特定のセクションを
    表示する1つのエクステンダ値を前記エクステンダ・フ
    ィールドにおくステップと、 前記エクステンダ値を前記1つの小アドレスの上位の桁
    端に連結することによって、大きなメモリの任意のセク
    ションの位置をアドレスする拡張アドレスを生成するス
    テップとを含む方法。
  2. 【請求項2】大きなメモリの任意の位置へのアクセスを
    可能とするために小アドレスのサイズを拡張するコンピ
    ュータ・システムの方法において、 前記小アドレスがアドレス変換されたものではない実ア
    ドレスであることをコンピュータ・システムにおいて示
    すステップと、 前記エクステンダ・フィールドを、コンピュータ・シス
    テム内の基本レジスタとして使用可能な各汎用レジスタ
    と関連付けるステップと、 各基本レジスタが関連するエクステンダ・フィールドを
    有していることを示すためにエクステンダ・モード・フ
    ィールドを初期化するステップと、 をさらに含んでいる請求項1記載の方法。
  3. 【請求項3】大きなメモリの任意の位置へのアクセスを
    可能とするために小アドレスのサイズを拡張するコンピ
    ュータ・システムの方法において、 汎用レジスタが基本レジスタとして使用されているとき
    は、当該汎用レジスタはそれぞれが関連付けられたアク
    セス・レジスタを有し、 前記アクセス・レジスタと関連付けられた汎用レジスタ
    が小さい実アドレス生成命令のオペランドを格納する基
    本レジスタとして使用されているときに、前記エクステ
    ンダ・フィールドを各アクセス・レジスタに提供するス
    テップと、 をさらに含んでいる請求項2記載の方法。
  4. 【請求項4】大きなメモリの任意の位置にアクセスする
    ために小アドレスの初期サイズを拡張する方法におい
    て、 前記エクステンダ・モード・フィールドに互換標識を設
    けることによって拡張アドレスが生成されないことを示
    すステップと、 全てのエクステンダ・フィールドが活動化されていない
    ことをエクステンダ・タイプ選択フィールドが示してい
    る場合は、前記小アドレスが大きなメモリの最初のセク
    ションのみにアクセスするステップと、 をさらに含んでいる請求項1記載の方法。
  5. 【請求項5】大きなメモリの任意の位置にアクセスする
    ことを可能とするために、小アドレスのサイズを拡張す
    るためのコンピュータ・システムの方法において、 入出力装置データ・アクセス・プログラムのための制御
    ブロックに前記エクステンダ・モード・フィールドを配
    置するステップと、 前記エクステンダ・フィールドを制御ブロックに関連付
    けるステップと、 前記関連付けられたエクステンダ・フィールドのエクス
    テンダ値を前記1つの小アドレスの上端に連結すること
    によって拡張アドレスを生成するステップと、 を含む請求項1記載の方法。
  6. 【請求項6】小アドレスのサイズをより大きなメモリの
    任意の位置にアクセスすることを可能ならしめるために
    拡張するコンピュータ・システムにおける手段であっ
    て、 複数の中央演算処理装置(CP)及び大きなアドレスに
    よってアドレスされるきわめて大きなメモリを有するコ
    ンピュータ・システムと、 小さい仮想アドレスから小さい実アドレスのアドレス変
    換に使用するエクステンダ・フィールドであって、その
    各々がページ・テーブル項目(PTE)またはセグメン
    ト・テーブル項目(STE)と関連付けられたエクステ
    ンダ・フィールドと、 いずれかのCPからの命令オペランドのアドレス変換中
    に前記関連付けられたPTEがアクセスされたときに、
    前記エクステンダ・フィールドの内容を出力する手段
    と、 出力された前記エクステンダ・フィールドの内容を前記
    小さい実アドレスの上位の桁端に連結し、オペランドが
    きわめて大きなメモリ内で要求したデータにアクセスす
    るための大きなアドレスを提供する手段と、 からなる前記手段。
  7. 【請求項7】小アドレスのサイズをより大きなメモリの
    任意の位置にアクセスすることを可能ならしめるために
    拡張するためのコンピュータ・システムの手段におい
    て、 コンピュータ・システムが複数の中央演算処理装置(C
    P)、及び大きなアドレスによってアドレスされるきわ
    めて大きなメモリを有しており、 コンピュータ・システムの各中央演算処理装置(CP)
    が汎用レジスタのセット(GR)、ならびに基本レジス
    タとして使用することができるGRに関連付けられたア
    クセス・レジスタのセット(AR)を有しており、前記
    関連付けられたGRが基本レジスタとして使用されるも
    のである場合はARにそれぞれのアドレス・スペースの
    表示とともにARをロードするステップと、 コンピュータ・システムが認識する各アドレス・スペー
    スに対する項目を含んでいる仮想アドレス・スペース内
    で各項目(ASTE)に関連付けられているエクステン
    ダ・フィールドと、 前記関連付けられたASTEが、小さい実アドレスへの
    仮想アドレス変換を要求する命令オペランドを含んでい
    るアドレス・スペースによってアクセスされた場合に、
    ASTEに関連したエクステンダ・フィールドの内容を
    出力するための手段と、 前記出力されたエクステンダ・フィールドの内容をオペ
    ランドとして提供された仮想アドレスをアドレス変換し
    て生成された小さい実アドレス出力の上位の桁端に連結
    する手段と、 からなる前記手段。
  8. 【請求項8】小アドレスのサイズをより大きなメモリの
    任意の位置にアクセスすることを可能ならしめることに
    よって拡張するためのコンピュータ・システムの手段に
    おいて、 コンピュータ・システムが少なくとも1つの中央演算処
    理装置(CP)、及び大きなアドレスによってアドレス
    されるきわめて大きなメモリを有しており、 メモリ内でアクセスされる各命令に対してCP内に命令
    アドレスを生成する手段と、 各命令アドレスと関連付けるためにCPに配置されたエ
    クステンダ・フィールドと、 エクステンダ・フィールドに含まれているエクステンダ
    を、命令アドレスの上位の桁端に連結することによって
    拡張命令アドレスを生成し、前記きわめて大きなメモリ
    内の命令にアクセスするための拡張命令アドレスを形成
    する手段と、 からなる前記手段。
JP4224275A 1991-09-04 1992-08-24 コンピュータ・システム Expired - Lifetime JPH0831060B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US754810 1991-09-04
US07/754,810 US5423013A (en) 1991-09-04 1991-09-04 System for addressing a very large memory with real or virtual addresses using address mode registers

Publications (2)

Publication Number Publication Date
JPH05210570A true JPH05210570A (ja) 1993-08-20
JPH0831060B2 JPH0831060B2 (ja) 1996-03-27

Family

ID=25036442

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4224275A Expired - Lifetime JPH0831060B2 (ja) 1991-09-04 1992-08-24 コンピュータ・システム

Country Status (7)

Country Link
US (1) US5423013A (ja)
EP (1) EP0530682B1 (ja)
JP (1) JPH0831060B2 (ja)
AT (1) ATE180338T1 (ja)
CA (1) CA2075305C (ja)
DE (1) DE69229203T2 (ja)
MX (1) MX9205088A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002539555A (ja) * 1999-03-12 2002-11-19 インテル・コーポレーション 32ビット・マイクロプロセッサにおける4および8バイト・ページ・テーブル・エントリを使用した線形アドレス拡張および物理メモリへのマッピング
JP2009282651A (ja) * 2008-05-21 2009-12-03 Hitachi Ltd 仮想計算機システム

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5680598A (en) * 1995-03-31 1997-10-21 International Business Machines Corporation Millicode extended memory addressing using operand access control register to control extended address concatenation
US5796974A (en) * 1995-11-07 1998-08-18 Advanced Micro Devices, Inc. Microcode patching apparatus and method
US5961580A (en) * 1996-02-20 1999-10-05 Advanced Micro Devices, Inc. Apparatus and method for efficiently calculating a linear address in a microprocessor
US5835968A (en) * 1996-04-17 1998-11-10 Advanced Micro Devices, Inc. Apparatus for providing memory and register operands concurrently to functional units
US6085302A (en) * 1996-04-17 2000-07-04 Advanced Micro Devices, Inc. Microprocessor having address generation units for efficient generation of memory operation addresses
US5940868A (en) * 1997-07-18 1999-08-17 Digital Equipment Corporation Large memory allocation method and apparatus
US6289432B1 (en) 1998-03-25 2001-09-11 International Business Machines Corporation Sharing segments of storage by enabling the sharing of page tables
DE60012257T2 (de) * 1999-04-15 2005-09-08 Elf Atochem S.A., Puteaux Thermoplastische Harzzusammensetzungen mit einer dispergierten starren Phase
US6779049B2 (en) 2000-12-14 2004-08-17 International Business Machines Corporation Symmetric multi-processing system with attached processing units being able to access a shared memory without being structurally configured with an address translation mechanism
FR2831289B1 (fr) * 2001-10-19 2004-01-23 St Microelectronics Sa Microprocesseur disposant d'un espace adressable etendu
US6898677B2 (en) * 2002-12-05 2005-05-24 International Business Machines Corporation Dynamic software accessibility to a microprocessor system with a high speed memory cloner
US8423682B2 (en) * 2005-12-30 2013-04-16 Intel Corporation Address space emulation
US20090300030A1 (en) * 2008-05-30 2009-12-03 Microsoft Corporation Large capacity data processing models

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5416939A (en) * 1977-07-08 1979-02-07 Hitachi Ltd Address conversion system
JPS5464933A (en) * 1977-11-01 1979-05-25 Panafacom Ltd Main storage extension system
JPS5981742A (ja) * 1982-11-01 1984-05-11 Nippon Telegr & Teleph Corp <Ntt> アドレス拡張方式

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3657705A (en) * 1969-11-12 1972-04-18 Honeywell Inc Instruction translation control with extended address prefix decoding
US4042911A (en) * 1976-04-30 1977-08-16 International Business Machines Corporation Outer and asynchronous storage extension system
US4096568A (en) * 1976-09-24 1978-06-20 Sperry Rand Corporation Virtual address translator
US4223381A (en) * 1978-06-30 1980-09-16 Harris Corporation Lookahead memory address control system
NL7807314A (nl) * 1978-07-06 1980-01-08 Philips Nv Inrichting voor het vergroten van de lengte van een logisch computeradres.
US4355355A (en) * 1980-03-19 1982-10-19 International Business Machines Corp. Address generating mechanism for multiple virtual spaces
US4564903A (en) * 1983-10-05 1986-01-14 International Business Machines Corporation Partitioned multiprocessor programming system
JPS6097435A (ja) * 1983-11-02 1985-05-31 Hitachi Ltd 演算処理装置
US4758951A (en) * 1985-04-09 1988-07-19 Tektronix, Inc. Method for translating virtual addresses into real addresses
US4825358A (en) * 1985-04-10 1989-04-25 Microsoft Corporation Method and operating system for executing programs in a multi-mode microprocessor
US4868740A (en) * 1986-06-04 1989-09-19 Hitachi, Ltd. System for processing data with multiple virtual address and data word lengths
US4979098A (en) * 1988-02-10 1990-12-18 International Business Machines Corporation Multiple address space token designation, protection controls, designation translation and lookaside
US5023773A (en) * 1988-02-10 1991-06-11 International Business Machines Corporation Authorization for selective program access to data in multiple address spaces

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5416939A (en) * 1977-07-08 1979-02-07 Hitachi Ltd Address conversion system
JPS5464933A (en) * 1977-11-01 1979-05-25 Panafacom Ltd Main storage extension system
JPS5981742A (ja) * 1982-11-01 1984-05-11 Nippon Telegr & Teleph Corp <Ntt> アドレス拡張方式

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002539555A (ja) * 1999-03-12 2002-11-19 インテル・コーポレーション 32ビット・マイクロプロセッサにおける4および8バイト・ページ・テーブル・エントリを使用した線形アドレス拡張および物理メモリへのマッピング
JP2009282651A (ja) * 2008-05-21 2009-12-03 Hitachi Ltd 仮想計算機システム

Also Published As

Publication number Publication date
JPH0831060B2 (ja) 1996-03-27
EP0530682A1 (en) 1993-03-10
CA2075305C (en) 1998-09-29
DE69229203T2 (de) 1999-12-09
US5423013A (en) 1995-06-06
CA2075305A1 (en) 1993-03-05
DE69229203D1 (de) 1999-06-24
MX9205088A (es) 1993-03-01
ATE180338T1 (de) 1999-06-15
EP0530682B1 (en) 1999-05-19

Similar Documents

Publication Publication Date Title
US8799621B2 (en) Translation table control
US5802605A (en) Physical address size selection and page size selection in an address translator
US5230045A (en) Multiple address space system including address translator for receiving virtual addresses from bus and providing real addresses on the bus
JPH04320553A (ja) アドレス変換機構
JPH04319747A (ja) アドレス変換機構
JPH05210570A (ja) アドレス拡張をする方法及び手段
JPH02189659A (ja) 仮想記憶動的アドレス変換システム
JPH10247163A (ja) コンピュータ・システム及びそのメモリ管理方法
JPS62184551A (ja) コンピユ−タア−キテクチヤ
JPH11161547A (ja) データ処理装置用記憶装置、および記憶場所にアクセスする方法
JP3449487B2 (ja) 変換索引緩衝機構
JPH10187538A (ja) 仮想アドレス変換資源の共用化の方法及びシステム
JPS62164148A (ja) デ−タ処理システム
JP2768503B2 (ja) 仮想記憶アドレス空間アクセス制御方式
JPH10283259A (ja) 情報処理装置およびプロセッサ
US20230350811A1 (en) Real time input/output address translation for virtualized systems
JPH04308953A (ja) 仮想アドレス計算機装置
JPH0969072A (ja) メモリマップトi/o制御回路
JP2000267932A (ja) タグアドレス比較装置
JP2954988B2 (ja) 情報処理装置
JPH02101552A (ja) アドレス変換バッファ処理方式
JPH0561769A (ja) メモリ・アクセス方法
JPS63261446A (ja) 拡張仮想記憶制御方式
JPH03198288A (ja) メモリアクセス制御装置
JPH0259841A (ja) 拡張記憶制御システム