JPS623358A - 複数アドレス空間アクセス方式 - Google Patents

複数アドレス空間アクセス方式

Info

Publication number
JPS623358A
JPS623358A JP61111738A JP11173886A JPS623358A JP S623358 A JPS623358 A JP S623358A JP 61111738 A JP61111738 A JP 61111738A JP 11173886 A JP11173886 A JP 11173886A JP S623358 A JPS623358 A JP S623358A
Authority
JP
Japan
Prior art keywords
space
address
register
instruction
indicator
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.)
Pending
Application number
JP61111738A
Other languages
English (en)
Inventor
Esu Uoorii Jiyunia Uiriamu
ウイリアム・エス・ウオーリイ.ジユニア
Shii Miraa Terensu
テレンス・シー・ミラー
Esu Miyuchiniku Suteibun
ステイブン・エス・ミユチニク
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.)
Hewlett Packard Japan Inc
Original Assignee
Yokogawa Hewlett Packard Ltd
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 Yokogawa Hewlett Packard Ltd filed Critical Yokogawa Hewlett Packard Ltd
Publication of JPS623358A publication Critical patent/JPS623358A/ja
Pending 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
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation

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)
  • Storage Device Security (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明は複数のアドレス空間を効率良く指定するための
複数アドレス空間アクセス方式に関する。
〔従来技術およびその問題点〕
コンピュータが使用できるアドレス可能仮想記憶メモリ
の量は、コンピュータがアクセスすることができるアド
レス空間の個数を増加することにより大きくすることが
できる。32ビツト・アドレスを用いれば、32ビツト
・コンピュータハヒとりの与えられたアドレス空間内で
2 個の相異なる仮想記憶のロケーションをアクセスす
る能力がある。別の32ピントを空間識別子として用い
ることにより、32ビツト・コンピュータは232°個
のアドレス空間の夫々について2 個のメモリ・ロケー
ションをアクセスできる。すなわち全体では264個の
仮想記憶のメモリ・ロケーションをアクセスする能力を
持つことになる。しかし不都合なことには、このような
64ビツトの長いボイ/りは取扱いが困難であり、また
このような多数のアドレス空間を使用することにより、
仮想アドレスを実アドレスへ変換するのに心安な/S−
ドウエアおよびソフトウェアが複雑になってしまうとい
う問題があった。
〔発明の目的〕
本発明は従来技術の上記問題点を解消し、多数のアドレ
ス空間をハードウェアおよびソフトウェアの過大な負担
なしに効率的にアクセスすることを目的とする。
〔発明の概要〕
本発明の一実施例によれば、必要な場合には長ポインタ
を、また少数のアドレス空間にしかアクセスする必要が
ない場合(はとんどのコンピュータ・プログラムではこ
の条件が成立する)には、短ポインタを使用して4つの
アドレス空間にアクセスできる複数アトVス空間アクセ
ス方式が与えられる。メモリ参照命令は各々2ビツトの
空間指示子およびベース・アドレスを持っているベース
・レジスタヲ示スペース・ツイールドラ含んでいる。も
し長ポインタが必要な場合には、この空間指示子の値を
1,2または3としてこれにより長ポインタのうちの3
2ビツトの空間識別部を含む空間レジスタを指示する。
もし長ポイントが必要でない場合には、空間指示子の1
をOとする。これにより、ベース・アドレスの上位2ビ
ツトを用いて空間レジスタ4ないし7のうちの1つを選
択してそこに入っている空間識別部分を使用することを
指定する。ベース・アドレスの上位2ビツトが空間識別
部分の指定に使用されるので、空間レジスタないし7で
指定される各空間の1/4だけが直接にアクセスされる
。従って、4つの空間の各々の1/4ずつから構成され
る1つの擬似空間(Pseudo−space )が作
られる0〔発明の実施例〕 第4図には本発明の複数アドレス空間アクセス方式の一
実施例に用いることができる32ビツト・コンピュータ
・システムの概略図を示す。アクセスt1は高速キャッ
シュのメモリ(図示せず)を介してメモリからデータと
命令を受取ることができる。このシステムには汎用レジ
スタ5が設けられている。このなかにはベース・レジス
タ9および汎用レジスタ11.13が含まれている。更
に8個の空間レジスタ5R−0ないし5R−7も本シス
テムに含まれている。
第2図にはLOAD命令や5TORE命令等の32ビツ
ト長のメモリ参照命令のフォーマットを示す。
この命令を第4図に示すコンピュータ・システムで用い
て、64ビツトの長ポインタと短ポインタのいずれかに
よシ、多数のアドレス空間のひとつの中の特定のメモリ
ーロケーションをアクセスすることができる。6ビツト
の命令コード・フィールド11によりどの命令かが指示
される。5ピントのベース・フィールド13により、ベ
ース・アドレスを含むレジスタが特定される。この特定
されたレジスタをベース。レジスタと呼び、ここではベ
ース・レジスタ9が指定される。ターゲットあるいはソ
ースを指定するフィールド15により、ターゲット−レ
ジスタまたはソース・レジスタのアドレスが与えられる
。これらの使い方について     :は1985年6
月28日に米国出願された1METHOD’□FORE
MEDDING  D入T入 IN  AN  lN5
TRUCTIONSTRε騙”(出願番号7.S′″o
、376 )中等に詳細     ゛に述べられている
。2ビツトの空間指示子17は以下に詳細に説明するよ
うに、特定のアドレス空間にアクセスするために用いら
れる。14ピント     □のディスプレースメント
・フィールド19内の1直を、上述の出願中に示される
ように、ベース・レジスタ内のベース・アドレスに対す
るデイスプレースメントとしてアドレス修飾に用いて良
い。
第3人図および第3B図は、第2図に示す命令21の実
行の間に、第4図に示すコンピュータ・システムで行な
われる各ステップを示すフローチ     □ヤードで
ある。
ステップ31において、メモリ参照命令21が    
 ″読出され、またステップ33ではアドレス(たとえ
はベース・レジスタ9に入っているベース・アドレス)
が上述のように修飾されて良い。ステップ35では、S
S、すなわち2ビツトの空間指示子17が調べられる。
もし空間指示子17が0でない値を持っていれば、以降
の動作は第3N図中に示されたようになされる。また空
間指示子17がOである場合は、第3B図中に示された
動作がなされる。
第3人図および第1B図には、空間指示子17が0でな
く従って長ポインタが使用される場合のフローチャート
およびアドレス空間指定の動作が図示されている。空間
レジスタ5R−1,5R−2および5R−3は、非特罹
モードのプログラムによって変更されて各種のアドレス
空間のアドレス空間の空間識別番号を持つようにするこ
とができる。空間指示子17の値がOL、10あるいは
11であれば、夫々空間レジスタ5R−1,5R−2あ
るいは5R−3の内容を長ポインタの空間識別部分とし
て使用することが指示される。これにより、第18図に
示されるように、3つのアドレス空間8.C%Dがアク
セスされる。
長ポインタを用いたメモリ参照命令を実行するには、そ
のメモリ参照命令自体の他に、2つのMC)VE  命
令が心安とされる。たとえば、長ポインタを用い、第1
B図に示される指定されたアドレス空間B内の所望のメ
モリ・ロケーションからデータをターゲット・レジスタ
にロードするLO入り動作を考える。この場合、下記の
命令シーケンスが必要とされる MOVCdata  1.  SR−1MOVg  d
ata  2 、 GR−9LOAD  (ss=01
.b=GR−9)、t1番目のMOVE命令は32ビツ
トの空間識別番号をメモリあるいは命令列内から空間レ
ジスタ5R−1に移送する。2番目のMOVE命令はベ
ース・アドレスをメモリあるいは命令列内から汎用レジ
スタGR−9へ移送する。その後I、 OA D命令が
、空間レジスタ5R−1(空間指示子5s=01)に記
憶されている空間識別番号および汎用レジスタGR−9
に記憶されているベース・アドレスを長ポインタとして
用いることによって実行される。この命令のターゲント
ーレジスタのアドレスtはフィールド15で曝えられる
。従って、長ポインタを使うには、ひとつのメモリ参照
命令の実行につき合計3命令が必要とされる。爽に、長
ポインタの空間識別部分がメモリ参照命令の実行に先立
って適切にレジスタに移送されなければならない。
第3B図は類ポインタを使用したメモリ参照命令の実行
においてなされるステップを示す。空間指示子5s=0
0の場合、ベース・アドレスの上位2ビツトが、空間レ
ジスタ5R−4ないし5R−7のうちのどれが使用され
るかを指示するために使用される。空間レジスタ5R−
4ないし5R−7の各々は、第1人図に示されるような
、所望のアドレス空間CないしHな指定するための空間
識別番号を記憶している。空間レジスタ5R−4ないし
5R−7のうちのひとつあるいはそれ以上は特権モード
のプログラムによってのみ変更できるようにし、これに
よって不適正な変更からの保護を図ることができる。こ
のようにして、メモリ参照命令毎に空間識別番号を再指
定をすることを必要とせずに、所望のアドレス空間Eな
いしHへの継続的なアクセスを保証することができる。
ベース・レジスタ9中に含まれている32ビツトノヘー
ス・アドレス全体が指定されたアドレス空間さないしH
内の特定のメモリーロケーションをアドレスするために
使用される。しかし、ベース・アドレスの上位2ビツト
がある特定の直をとるのは1つのアドレス空間内の1/
4においてγだけである。よって、ベース・レジスタ9
によって指定されるアドレスがメモリーアクセス前に更
にまたオフセットによって修飾されない限りは。
アドレス空間CないしHの各々の1/4づつだけがアク
セスされる。なお、上述のオフセット修飾を行なうこと
により、指定されたアドレス空間のどの1/4部分の参
照を可能とすることもできる。
従って、32ビツト長のポインタで指定される擬似空間
が生成され、この擬似空間の構成は、アドレス空間Cの
最初の1/4部、アドレス空間Fの2番目の1/4部分
、アドレス空間Gの3番目の1/4部分およびアドレス
空間Hの4番目の1/4部分から成っている。
短ポインタを用いたメモリ参照命令の実行にあたっては
、長ポインタに関して3個の命令が必要であったのとは
異なり、2個の命令だけが必要とされる。たとえば、第
1A図に示されるアドレス空間C中の所望メモリ・ロケ
ーションからターゲット・レジスタtヘデーターワード
をロードするLO人Dd作では、単に MOVE  data、 GR−9 LO入D   (5s=oo 、 b=GR−9) 、
 tなる命令クーケンスが必要とされるだけである。
MOVE命令によりベース・アドレスをメモリあるいは
命令列内から汎用レジスタGR−9へ移送する。ここに
おいてベース−アドレスの上位2ビツトは00となって
いるとする。ここにおいてLO入り命令が実行されると
このベース・アドレスの上位2ビツトにより空間レジス
タ5R−4の内容が使用されて、アドレス空間6がアク
セスされる。32ビツトのベース・アドレス全体がアド
レス空間E丙のメモリ・ロケーションの特定に使用され
るが、ベース・アドレスの上位2ビツトがOOになって
いるのでこのメモリ・ロケーションはアドレス空間Eの
最初の1,74部分内に制限される。
LO人り命令のフィールド15はLO入り動作のための
ターゲントーアドレスtを与える。従って、短ポインタ
を用いたメモリ参照命令では長ポインタの場合に必要と
なるよりも1個少ない命令しか必要とせず、また空間レ
ジスタ以外のレジスタは不要である。
システムの一構成例では、擬似空間の各1/4部分に記
憶されている情報のタイプは予め定められている。その
最初の1/4部分にはプログラム・コードだけが入って
いる。またこの最初の1/4部分のための空間識別番号
を入れてどく空間レジスタ5R−4の内容はどの非特権
プログラムからも変更できる。これにより、各種のプロ
グラムのプログラム・コードな夫々のアドレス空間内で
同じロケーションに配置しておくことができる。このよ
うにすることによって、スケジューリングやアクセスが
簡単になる。この場合、各々のプログラムへのアクセス
は、空間レジスタS R−4の空間識別番号の内容を変
更することによって簡単に行なえる。2番目の1/4部
分にはプログラムのデータが入つ−(いる。また、ここ
に用いられるアドレス空間を指示する空間レジスタ5R
−5の内容は特権モードのプログラムのみによって変更
できる。、これにより、データは正当なプログラム以外
からのアクセス等に対して保護される。3番目の1/4
部分には他の重%lコードを入れておいて良い。空間レ
ジスタ5R−6の壁間識別番号内容は持曙モードのプロ
グラムのみによって変更できる。4番目の1/4g分に
はオペレーティング−システムが入っており、ここに関
連する空間レジスタ5R−7の内容は保護されている。
〔発明の効果〕
以上説明したように5本発明によれば、多数のアドレス
空間を持っていても、特に多数のアドレス空間へのアク
セスを必要としないプログラムにおいては、短ポインタ
を用いることによってアドレス空間の切換の管理をほと
んど行なうことなしに簡単にかつ少ない命令ステップで
いくつかのアドレス空間へアクセスすることができる。
【図面の簡単な説明】
第1A図および第1B図は本発明の一実施例におけるア
ドレス空間へのアクセス動作を示す図、第2図は本発明
の一実施例で用いられるメモリ参照命令のフォーマット
を示す図、第3N図および第3B図は第2図に示すメモ
リ参照命令の動作を示すフローチャート、第4図は本発
明の実施例に用いられるコンピュータ・システムの概略
図である。 B%C,D、E、 F、 G ニアドレス空間。 5R−0ないし5R−7:空間レジスタ、GR−9:ベ
ース0レジスタ、 SS:空間指示子。

Claims (2)

    【特許請求の範囲】
  1. (1)複数のアドレス空間のひとつを指示する空間番号
    と空間内アドレスとによりアドレスを指定する複数アド
    レス空間アクセス方式において、前記空間番号を保持す
    る空間番号レジスタ を設けるとともに、 メモリ参照命令内に空間指示子を設け、 前記空間指示子が所定値をとつた場合には 前記空間内アドレスの一部を用いて前記空間番号レジス
    タを指示することにより該指示された空間番号レジスタ
    に保持されている空間番号を有するアドレス空間にアク
    セスする ことを特徴とする複数アドレス空間アクセス方式。
  2. (2)特許請求の範囲第1項記載の複数アドレス空間ア
    クセス方式において、 前記空間指示子が前記所定値をとらない場合には前記空
    間指示子の値に基いて前記空間番号レジスタを指示する
    ことにより該指示された空間番号レジスタに保持されて
    いる空間番号を有するアドレス空間にアクセスすること
    を特徴とする複数アドレス空間アクセス方式。
JP61111738A 1985-06-28 1986-05-15 複数アドレス空間アクセス方式 Pending JPS623358A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US75037485A 1985-06-28 1985-06-28
US750374 1985-06-28

Publications (1)

Publication Number Publication Date
JPS623358A true JPS623358A (ja) 1987-01-09

Family

ID=25017610

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61111738A Pending JPS623358A (ja) 1985-06-28 1986-05-15 複数アドレス空間アクセス方式

Country Status (5)

Country Link
EP (1) EP0208429A2 (ja)
JP (1) JPS623358A (ja)
KR (1) KR870000646A (ja)
CN (1) CN86103710A (ja)
AU (1) AU5916786A (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4928237A (en) * 1987-03-27 1990-05-22 International Business Machines Corp. Computer system having mode independent addressing
FR2652926B1 (fr) * 1989-10-06 1994-07-08 Bull Sa Procede d'exploitation de la memoire dans un systeme informatique du type a adressage virtuel et dispositif pour la mise en óoeuvre dudit procede.
CN1068687C (zh) * 1993-01-20 2001-07-18 联华电子股份有限公司 存录多段语音的存储器动态分配方法
FR2708767B1 (fr) * 1993-07-29 1995-09-01 Cga Hbs Procédé pour structurer des objets de télé transactions dans un équipement embarqué.
US5732404A (en) * 1996-03-29 1998-03-24 Unisys Corporation Flexible expansion of virtual memory addressing
US5940868A (en) * 1997-07-18 1999-08-17 Digital Equipment Corporation Large memory allocation method and apparatus
US9836291B1 (en) 2016-07-22 2017-12-05 International Business Machines Corporation Reconfiguration of address space based on loading short pointer mode application
US10592407B2 (en) 2016-07-22 2020-03-17 International Business Machines Corporation Short pointer mode applications in long pointer mode environments
US10248423B2 (en) 2016-07-22 2019-04-02 International Business Machines Corporation Executing short pointer mode applications
CN111310171A (zh) * 2020-02-21 2020-06-19 华大半导体有限公司 一种硬件级主动防御的实现方法及装置

Also Published As

Publication number Publication date
AU5916786A (en) 1987-01-08
CN86103710A (zh) 1986-12-24
KR870000646A (ko) 1987-02-19
EP0208429A2 (en) 1987-01-14

Similar Documents

Publication Publication Date Title
JP3683230B2 (ja) データ処理装置、命令セット切換方法、データ処理アーキテクチャおよびデータ処理装置作動方法
US4945480A (en) Data domain switching on program address space switching and return
EP0148478A2 (en) A data processor with control of the significant bit lenghts of general purpose registers
TW200403586A (en) Control register access virtualization performance improvement in the virtual-machine architecture
US4079453A (en) Method and apparatus to test address formulation in an advanced computer system
JPS589455B2 (ja) 多重長アドレス構成を有するマイクロプログラム化デ−タ処理システム
JPH0364890B2 (ja)
KR102590679B1 (ko) 벡터 요소들 내부의 비트 값들의 시험
US7546442B1 (en) Fixed length memory to memory arithmetic and architecture for direct memory access using fixed length instructions
JPS623358A (ja) 複数アドレス空間アクセス方式
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
US20200310808A1 (en) Processor having multiple operating modes
KR920004279B1 (ko) 포인터레지스터를 구비한 마이크로프로세서
JPH03233630A (ja) 情報処理装置
JPH07120318B2 (ja) アクセス及び欠陥論理信号を用いて主メモリユニットを保護する装置及び方法
US5615354A (en) Method and system for controlling references to system storage by overriding values
US5493661A (en) Method and system for providing a program call to a dispatchable unit's base space
EP0327839B1 (en) Information handling system
US6237078B1 (en) Code segment default operation determination
EP0040703B1 (en) Enhancements in system/370 type of data processing apparatus
US11720619B2 (en) Filtering based on a range specifier
JP2798275B2 (ja) 仮想記憶アドレス空間アクセス制御方式
JPS60134937A (ja) アドレス拡張装置
JPH03109656A (ja) 多重仮想アドレス空間アクセス方法およびデータ処理装置
TW202307653A (zh) 陳述技術