JPS6017135B2 - デ−タ処理装置 - Google Patents

デ−タ処理装置

Info

Publication number
JPS6017135B2
JPS6017135B2 JP54116838A JP11683879A JPS6017135B2 JP S6017135 B2 JPS6017135 B2 JP S6017135B2 JP 54116838 A JP54116838 A JP 54116838A JP 11683879 A JP11683879 A JP 11683879A JP S6017135 B2 JPS6017135 B2 JP S6017135B2
Authority
JP
Japan
Prior art keywords
tag
register
main memory
bit
data
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.)
Expired
Application number
JP54116838A
Other languages
English (en)
Other versions
JPS5558900A (en
Inventor
グレン・ロバ−ト・ミツチエル
ウイリアム・ジヨ−ジ・ケンプク
ユ−ジン・リ−ス・ジヨ−ンズ
マ−ル・エドワ−ド・ハウデツク
ジエ−ムズ・グレゴリ−・ランウエイラ−
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 JPS5558900A publication Critical patent/JPS5558900A/ja
Publication of JPS6017135B2 publication Critical patent/JPS6017135B2/ja
Expired 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/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)
  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】 本発明は計算機システムのためのタグ付きポィンタを処
理する装置に、より具体的にはタグ付きポィンタがデー
タと混在しているような装置に、さらに具体的にはポィ
ンタが有効である事を確認するためにポィンタを検査す
る能力と命令制御の下でタグを操作する能力とを与える
装置に関する。
本発明はデータ及びポィンタの保全性が重要であるよう
な計算機システムで特に有用である。
主記憶装置における記憶保護は重要な考慮すべき問題で
あって、記憶された情報を破壊から守るために種々の対
策がとられて来た。記憶保護の主要な原動力は主記憶装
置を多重プログラムが共用する技術において生じている
。そのような場合プログラムの実行中記憶装置は一般に
その構造が変更されるので、主記憶装置を効率的に使う
ならば記憶装置の単一の固定された領域は許されない。
過去において、管理プログラムに他のプログラムによっ
て変更され得る記憶装置の領域を制御する事を許す習慣
的に行なわれていた。記憶保護の一形式では現在ランし
ているプログラムの範囲を特定するレジスタを管理プロ
グラムが利用する。各プログラム有効アドレスは範囲レ
ジスタに関してチェックされ、もしそれが範囲ならば記
憶装置へのアクセスが許され、もしそうでなければアク
セスが抑えられる。単一の範囲レジス夕に代わるものは
記憶装置を小さな固定されたブロックに分割されたもの
と考えその各々に保護タグを割り当てる事である。
タグ割り当てはある記憶デバイスにおいて管理プログラ
ムによってしか変化され得ないように保たれる。各プロ
セッサ又はチャネルは、その内容が記憶レファレンスに
関するタグを指定する保護キー・レジス夕を含む。保護
キーは管理プログラムによってしか変更され得ず、プロ
セッサがあるプログラムから別のプログラムに切り換わ
る時に変更される。記憶装置を参照する度に保護キーと
記憶装置タグとの一致検査が行なわれ、もしそれらが一
致しなければアクセスは抑制される。夕グ−キー法は範
囲レジスタ方式よりも高価であるが、保護される記憶装
置が一組の隣接した記憶位置に限定されない。従って保
護タグの使用はプログラムが記憶装置中の非隣接位置を
占有する事を可能にし、動的記憶装置条件の下でプログ
ラムのセグメントのセグメンテーション及びリロケーシ
ョンを容易化する。
本発明は、従来のように主記憶装置のブロックに対して
タグ付けあるいは識別を行なうのでなく、主記憶装置の
各ワードがタグ付けされる事を可能にする。この事は同
じ記憶装置スペース内にデータとポィンタを混在させる
事を容易にし、従って性能を強化する。本発明は、他の
命令の動作又は性能に影響を与えずにポインタの有効性
を検査し確認する能力を与える。プログラムの実行には
、プログラムが変数を操作し又は記憶する事ができる記
憶装置の領域が伴なつている。
この記憶領域はスペースとも呼ばれ、スペース内の変数
はポィン夕及びデータと呼0ばれる。ポインタはカツド
・ワード(q肌dword)(4ワード、即ち10ゞイ
ト)であり、スペース内のバイト又は多数のバイトを指
定するバイトのアドレスを他のものと共に含んでいる。
良好な性能及び使いやすさのために、特に主記憶装置夕
との間でデータ及びポィンタを動させるために多数のデ
ィスク・アクセスが必要な場合、データとポィンタを同
じスペース内に混在させておく事が望ましい。しかしあ
るスペース中のポィンタは他のスペース中のバイトをア
クセスするために使う0かもしれないので、データへの
誤った正当でないアクセスを阻止するためにポィンタの
保全性あるいは有効性を検査する能力が必要である。本
発明では主記憶装置中の各ワード毎にハードウェア・タ
グが設けられる。
ハードウェア・タグタはポィン夕への正当でない変更を
検出するために使われる。ポィンタはカード・ワードの
4つの全部のハードウェア・タグ・ビットがオンの時タ
グ付けされたものとみなされ、4つのハードウェア・タ
グ・ビットのどれかがオンでなければタグ0付けされて
いないとみなされる。タグ命令だけが主記憶装置中のタ
グ・ビットをオンにセットできる。他の命令は全てデー
タを記憶させ対応するタグ・ビットをオフにセットする
。従ってもしポィンタがこれらデ−タ処理命令のどれか
によって誤5つて変更されたならば、「ロード&タグ確
認一命令によってポインタが使用される時ポインタがタ
グ付けされていない事が検出され、そのポィンタ中の数
値は無効の取扱いを受ける。本発明は夕クー付きポィン
タを検査してそのポィ0ン夕が有効である事を確認する
能力を持つ装置を与え、さらにタグをロード、記憶、セ
ット、移動、抽出及び挿入するタグ命令を与える。
「ロード&タグ確認一命令はタグ付きポィンタの有効性
を判定しポィンタを指定された汎用レジス外こロ−ドす
るために使われる。「記憶&タグ・セット一命令は指定
された汎用レジスタ中の数値を主記憶装置に記憶し対応
するカッドワードに関するハードウェア・タグをオンに
セットする。汎用レジスタ中の数値はタグ・ビット位置
を持った記憶データ・レジスタを経て主記憶装置に転送
される。「移動&タグ・セット一命令は主記憶装置中の
ある記憶位置からカッド・ワードを主記億装置中の同じ
又は違った記憶位置に一時に1ワードずつ記憶データ・
レジスタを経て移動させる。ハードウェア・夕グは移動
が起きる時に記憶データ・レジス夕で発生される。「文
字及びタグ移動一命令は記憶データ・レジスタを使って
ある記憶位置から別の記憶位置へワードを移動させる。
この命令によって夕グ・ビットを記憶データ・レジスタ
を経て記憶装置に転送するための信号が発生する。タグ
抽出命令は主記憶装置中のオペランドから各ワ−ド及び
対応するハードウェア・タグ・ビットを取り出し、タグ
・ビットをタグ右シフト・レジス外こ入れる。
4ワードの各ワードが読取られた後、4つのタグ・ビッ
トの論理積がタグ・シフト・レジス夕中にシフトされる
全部のカッド・ワードが取り出され全部の夕グ・ビット
がタグ・シフト・レジスタ中の貯えられた時、タグはシ
フト・レジスタ中の最も左のタグ・ビットがオペランド
の最初のカッド・ワード‘こ対応するように左位置調整
される。次に夕グ・シフト・レジスタの内容は記憶デー
タ・レジスタを経て主記憶装置中に記憶される。タグ挿
入命令は主記憶装置中に記憶されているタグ・ビットを
記憶データ・レジスタ中に取り出し、タグ・シフト・レ
ジスタへ転送させる。
タグ・シフト・レジスタの最も左側のビットはタグ・ビ
ットの挿入を要求しているオペランドの最初のカッド・
ワードに関するタグを含む。カッド・ワードは1ワード
ずつ取り出され、タグ・シフト・レジスタからの対応す
るタグ・ビットと共に記憶される。従って本発明の主な
目的は、ポィンタが有効である事を確認するためにタグ
付きポィンタを検査する能力を持つ装置を与える事であ
る。
本発明の他の目的は、データに対する対応する動作と共
にタグを記憶、セット、移動、抽出及び挿入する装置を
与える事である。
本発明の他の目的は、他の命令の動作又は性能に影響を
与えないでそれらのタグ動作を実行する装置を与える事
である。
これらの諸目的、利点及び特徴は以下の記載から明らか
になるであろう。
本発明を限定するためでなく説明のために本発明の例示
的実施例を図面に示す。第1図を参照すると、アドレス
可能領域(即ち0ワード)11に分割され各ワード11
がハードウェア・タグ・ビット12を含む主記憶装置1
0を有するプログラム記憶式計算機システムに組み込ま
れた本発明の一実施例が説明されている。
ポインター4は記憶装置中のカッド・ワード(4ワータ
ド、即ち1がゞィト)であり、全部の4つのハードウェ
ア・タグ・ビット12がオンの時タグ付けされたものと
みなされ、4つのハードウェア・タグ・ビット12のい
ずれか1つ以上がオフの時タグ付けされていないとみな
される。0データに対する対応する動作と共にタグをロ
ードし、記憶し、セットし、移動し、抽出及び挿入する
命令は水平マイクロ・コードの形で実施されている。
又主記憶装置10からの及び主記憶装置への夕グー・ビ
ット12の転送を制御するために物タ理的インタフェー
スが設けられている。タグ・ィンタフェス論理42、主
記憶装置10及びマイクロコード・プロセッサ43の間
の相互接続が第1図に示されている。制御ワードからの
即値データは算術論理ュニッ0ト(ALU)46を経て
タグ制御レジスタ40及びタグ・データ・レジスタ48
に同時にゲートされる。
この構成によってマイクロコード制御ワードはタグ制御
レジスタ4川こ任意のタグ制御モードをセットする事が
できる。もし主記憶装置10タ中のワード11について
タグ・ビット12がオンにセットされるべきならば、タ
グ・データ・レジス夕48はオンにセットされる。タグ
・データ・レジスタ48のビットは、主記憶袋鷹10か
らタグ・ビット12がオンのワード011を取り出す事
によってもオンにセットされ得る。
取り出しコマンドが主記憶装置10からSAレジスタ8
4及びSBレジスタ88にデータをゲートする時、対応
するタグ・ビット12は主記憶装置10からタグ制御レ
ジスタ40の制御の下に夕グ制御論理50を経てゲート
され、タグ・デー夕・レジスタ48に挿入される。同様
にSAレジスタ84又はSBレジスタ88からワードを
主記憶装置10に記憶する時、対応するタグ・データ・
レジスタ48はタグ制御レジスタ40の制御の下にタグ
制御論理50を経て主記憶装置のタグ・ビット12へゲ
ートもしくはデゲートされる。タグ・データ・レジスタ
48はALU46へもゲートされる。
そこでタグ・ビットは別のレジスタにる事もでき、又は
ある外部条件コードをセットするために制御ワードから
の即値データと比較する事もできる。第2図はタグ・イ
ンタフェース論理42の詳細を示す。
ラツチ70,72及びラツチ74,76はタグ制御レジ
スタ40及びタグ・データ・レジスタ48にそれぞれ相
当する。図中のNは反転器、AはAND回路、ORはO
R回路を表わしている。ALUバス・アウトの取り出し
禁止ビット、記憶ェネーフル・ビット、SAタグ・ビッ
ト及びSBタグ・ビットはどのラツチ70,72,74
,76がセット又はリセットされるべきかを選択する。
もしALU46バス・アウトのセット・ビットがオンな
らば、選択されたラッチ70,72,74,76は制御
ワードからのタグ・レジスタ・ロード信号によってオン
にセットされる。もしALUバス・アウトのセット・ビ
ットがオフならば選択されたラッチ70,72,74,
76は制御ワードからのタグ・レジスタ・ロード信号に
よってオフにセットされる。従って選択されたラッチは
制御ワードからのタグ・レジスタ・ロード信号によって
リセット又はセットされ、一方選択されなかったラッチ
は何の影響も受けない。各ラッチ74,76からのSA
及びSBタグ・ビットは制御ワードからのタグ・レジス
夕論取信号によってALUバス・イン線にゲートされる
。例えばタグ・ビットは、他のレジスタに転送するため
又は制御ワードからの即値データと共にALU46中で
テストするために、ALU4 6にゲートされる。取り
出し禁止ラッチ70はワード11が主記憶装置10から
取り出される時タグ・ビット12の取り出しを制御する
取り出し禁止ラッチ70がオフの場合、ワード11が主
記憶装置10から取り出されSAレジスタ84にゲート
される時、対応するタグ・ビット12は制御ワードから
のSA取り出し信号によってSAタグ・ビット・ラッチ
74にゲートされる。同様に取り出し禁止ラッチ70が
オフの場合、データが主記憶装置10から取り出されS
Bレジスタ88にゲートされる時、対応する夕グ・ビッ
ト12はSB取り出し信号によってSBタグ・ビット・
ラツチ76にゲートされる。もし取り出し禁止ラッチ7
0がオンならば、主記憶装置10からのタグ・データ・
バス・アウトはSAタグ・ビット・ラツチ74及びSB
タグ・ビット・ラツチ76をセットもしくはリセットす
る事を禁止される。もしSAレジスタ84中のワードを
主記憶装置1川こ記憶させるならば、記憶ェネーフル・
ラツチ72がオンの時、SAタグ・ビット・ラツチ74
の出力は制御ワードからのSA記憶信号によって主記憶
装置10へゲートされる。
同様にもしSBレージスタ88中のワードを主記憶装置
10に記憶させるならば、記憶ェネーフル・ラッチ72
がオンであるとして、SBタグ・ビット・ラツチ76の
出力は制御ワードからのSB記憶信号によって主記憶装
置1川こゲートされる。もし記憶ェネーフル・ラツチ7
2がオフならば、SAタグ・ビット・ラッチ74及びS
Bタグ・ビット・ラッチ76からの出力は主記憶装置に
ゲートされず記憶されたタグ・ビット12はオフである
。このように記憶ェネーフル・ラッチ72は、ワード1
1がSAレジスタ84又はSBレジスタ88から主記憶
装置10に記憶される時タグ・ビット12の記憶を制御
する。通常の動作の時、あるタグ命令を除く全ての命令
に関して取り出し禁止ラッチ70及び記憶ェネーフル・
ラツチ72はオフにセットされている。
従ってそれらの命令によってはどのタグ・ビット12も
セットされない。多くの命令における動作のシーケンス
は、共通のマイクロコード・ルーチンを用いてオペラン
ドを取り出し、次に各々の命令又は命令の型に関する特
別のマイクロコードに分岐する事である。
共通のマイクロコード・ルーチンを実行する時、取り出
し禁止ラッチ70及び記憶ェネーフル・ラッチ72は両
方オフであり、命令がタグ命令であると判明した場合に
夕グ・ビット12を読取る事が許される。もし命令がタ
グを記憶させないタグ命令か又は非タグ命令ならば、タ
グ制御レジスタ40には何の変化も起きない。もし実行
されている命令が取り出されたタグを無視しタグをオン
にセットするタグ命令ならば、即値データを通じてマイ
クロコードは4つの全てのラツチ70,72,74,7
6をオンにセットし、それによって主記憶装置10から
取り出されたタグ・ビット12を無視し主記憶装置10
に記憶されるワード11毎に主記憶装置にタグ・ビット
12を記憶させる。この命令に関する動作が完了すると
、マイクロコードは全部の4つのラツチ70,72,7
4,76をリセットし、タグ制御レジスタ40を次の命
令に備えるモードに置く。もし命令が記憶装置中のある
記憶位薄から別の記憶位置へデータ・ワード11及びタ
グ12を移動させる事を要求するならば、記憶ェネーフ
ル・ラッチ72のみがオンにセットされ、従って取り出
された任意のタグ・ビット12は対応するデータ・ワー
ド11と共に新しい記憶位置に記憶される事を許される
この命令の動作の終了する時、マイクロコードは次の命
令の実行に備えるため4つの全部のラツチ70,72,
74,76をリセットする。制御ラッチ70,72,7
4,76及び信号の上記の組み合わせは、共通のオペラ
ンド取り出しが終了した後タグ制御をセット・アップし
、その命令の完全な動作のためにオンにし、そして命令
の終了時にターン。
オフし通常のモー日こ戻す事を可能にしている。従って
タグ制御モードは命令当り1回だけセットされ次の命令
当り1回だけリセットされるので、これらの命令に関し
て最良の可能な性能が得られる。非選択ラツチ70,7
2,74,T6に影響を与えずに選択されたラツチ70
,72,74,76をセットもしくはリセットする能力
は、他の目的のためにタグ・インタフェースに付属しな
い別のラッチを設け、タグ制御レジスタ40及び/又は
タグ・データ・レジスタ48が処理される時そのままに
しておく事を可能にする。
この選択されたラッチをセット又はリセットする能力は
、共通オペランド取り出しルーチンからの取り出しが完
全ではなく、マイクロコードがSAタグ・ビット・ラツ
チ74又はSBタグ・ビット・ラツチ76への不完全な
取り出し動作に影響を与えずに記憶ェネーフル・ラッチ
72をセットできる状況においても役に立つ。取り出し
禁止ラッチ70は取り出しェネーフル・ラツチの代わり
に使われているので、タグ制御レジスタ40は各タグ命
令の終了する時全ての4つのラツチ70,72,74,
76をリセットする事によってマイクロコードからの1
つのコマンドにおいて取り出し及び非記憶モード‘こ置
く事ができる。
上述の論理はタグ・ビットを確認、セット、移動、記憶
、抽出及び挿入するためのタグ命令を実際に構成するた
めに使われる。
タグ命令のみが主記憶装置10中のタグ・ビット12を
オンにセットできる。他の全ての命令は対応するタグ・
ビット12をオフにセット及び記憶する。従ってもしポ
ィンタ14がこれらのタグ命令以外の命令によって変更
される事が起きると、ポィンタがタグ付けされていない
事が検出され、ポィンタ中の数値は無効として取り扱わ
れる。表1は、所望の機能を実行するために必要なタグ
制御レジスタ40及びタグ・データ・レジスタ48から
の信号の組み合わせ並びにタグ命令の解読を示す。
各タグ命令の動作の説明は第3図を特に参照して以下に
示す。第3図において取り出し禁止信号及び記憶ェネー
ブル信号は各々第2図に示されるラッチ70及び72に
よって発生される。
タグ・ビット・セット信号は第2図に示されるSAタグ
・ビット・ラツチ74又はSBタグ・ビット・ラツチの
いずれかによって発生される。記憶データ・レジスター
6及びタグ・シフト・レジスタ34は第1図に示される
SAレジスタ84又はSBレジスタ88のいずれかに相
当する。記憶データ・レジスタ16のタグ・ビット20
は第1図のタグ・データ・レジスタ48に相当する。タ
グ右シフト・レジスタ22は第1図に示される他のCP
Uレジスタの1つに相当する。表I 「ロード&タグ確認一命令は主記憶装置10中のポィン
タ14の有効性を参照し判定する。
主記憶装置101こ接続された記憶データ・レジスタ1
6は主記憶装置10から議取り、主記憶装置10へ書き
込む予定のワード11及びタグ・ビット12を記憶する
。ポィンタ14のワードが主記憶装置10から記憶デー
タ・レジスタ16に読取られる時、主記憶装置10から
のタグ・ビット12は取り出し禁止信号の補信号によっ
て条件付けされるAND回路1 8に加えられる。AN
D回路1 8の出力は記憶データ・レジスタ16のタグ
・ビット位置2川こ加えられる。記憶データ・レジスタ
16のタグ・ビット20はタグ右シフト・レジスタ22
に加えられ記憶される。今述べた動作はポインター4の
全部の4つのタグ・ビットがタグ右シフト・レジスタ2
2に記憶されてしまうまで反復される。タグ右シフト・
レジスタ22の出力はAND回路24に加えられる。
AND回路24の出力は反転器26に加えられ、その出
力は「ロード&タグ確認」信号によって条件付けられる
AND回路28に加えられる。もしタグ右シフト・レジ
スタ22に記憶されている4つのタグ・ビットが全てオ
ンならば、AND回路28からエラー確認信号は生じな
い。しかしもしタグ・ビットのどれか1つ以上がオフな
らば、AND回路28からエラー確認信号が検出されプ
ログラミング・システムに知らされる。もしエラーが検
出されないならば、ポィンタ中に存在するアドレスは命
令によって指定される汎用レジスタ3川こロードされる
。「記憶&タグ・セット一命令は指定された汎用レジス
タ30中の数値を主記憶装置10に記憶し、対応するカ
ッド・ワード14に関するタグ・ビット12をオンにセ
ットする。
汎用レジスタ30′からのワードは記憶データ・レジス
タ16に転送され、そのタグ・ビット20はタグ・ビッ
ト・セット信号によってオンにされる。ワードが記憶デ
ータ・レジスタ16から主記憶装置101こ転送される
時、タグ・ビット20の出力は記憶ェネーブル信号によ
って条件付けられるAND回路32に加えられる。従っ
て記憶ェネーブル信号と夕グ・ビット・セット信号がオ
ンの時、汎用レジスタ30からデータが記憶データ・レ
ジスタ16を経由して主記憶装置101こ転送されると
、タグ・ビット12はセットされる。「移動&タグ・セ
ット一命令は、主記憶装置10中のある記憶位置から言
己億データ・レジスタ16を経て主記憶装置10の新し
い記憶位置又は同じ記憶位置に一時に1ワードずつカツ
ド・ワードを移動させ、タグ・ビット12をオンにセッ
トする。
ポィンタのワードが主記憶装置10から記憶データ・レ
ジスタ16に読取られる時、タグ・ビット・セット信号
がタグ・ビット20をオンにセットする。ワードが記憶
データ・レジスタ16から主記憶装置101こ転送され
る時、タグ・ビット20の出力は記憶ヱネーブル信号に
よって条件付けられるAND回路32に加えられる。従
って記憶ェネーブル信号と夕グ・ビット・セット信号の
両者がオンなので、カツド・ワード14に関するタグ・
ビット12の以前の状態に無関係に移動動作中タグ・ビ
ット12はオンにセットされる。「文字及びタグ移動一
命令は、ワード11及び対応するタグ・ビット12を主
記憶装置10のある記憶位置から記憶データ・レジスタ
16を経て主記憶装置10の新しい記憶位置に移動させ
る。カッド・ワード14のワード11が主記憶装置10
から記憶データ・レジスタ16に読取られる時、タグ・
ビット1 2はAND回路1 8に加えられ、そのAN
D回路18は取り出し禁止信号の補信号によって条件付
けられる。AND回路18の出力は記憶データ・レジス
タ16のタグ・ビット位置20に加えられる。ワードが
記憶データ・レジスタ16から主記憶装置10に転送さ
れる時、タグ・ビット20の出力は記憶ェネープル信号
によって条件付けられたAND回路32に加えられる。
従って記憶ェネーブル信号がオンなので、対応するタグ
・ビット12はワード11と共に主記憶装置10の新し
い記憶位置に記憶される。夕グー・ビット12は取り出
された値によってオン・オフであり得る。ハードウェア
・タグをディスク・ファイル上に直接記憶させる機構が
存在しないので、主記憶装置のページからタグを抽出し
データとして主記憶装置に戻し言己臆させる能力が必要
である。
その後でタグはディスク・ファイルにデータとして記憶
される。「タグ抽出一命令は、主記憶装置10の可変長
オペランドに関するワード11からタグ・ビット12を
抽出し主記憶装置1川こタグ・ビットをデータとして記
憶する。ワード11が主記憶装置10から記憶データ・
レジスタ16に読取られる時、主記憶装置10からのタ
グ・ビット12は取り出し禁止信号の補信号によって条
件付けられたAND回路18に加えられる。AND回路
18の力は記憶データ・レジスター6のタグ・ビット位
置201こ加えられる。記憶データ・レジスター6のタ
グ・ビット20はタグ右シフト・レジスタ22に加えら
れそこに記憶される。次に今説明した動作が、タグ右シ
フト・レジスタ22に全部の4つのタグ・ビットが記憶
されてしまうまで、繰り返される。タグ右シフト・レジ
スタ22の出力はAND回路24に加えられ、AND回
路24の出力はタグ・シフト・レジスタ34に加えられ
記憶される。
従ってワード11が主記憶装置10から謙取られデータ
として記憶される時、各カッド・ワード14タグ・ビッ
ト12の論理積がタグ・シフト・レジスタ34に蓄積さ
れる。タグ・シフト・レジスタ34が満員になると、そ
の内容は記憶データ・レジスタ16を経てデータとして
主記憶装置1川こ移される。この動作は全てのワード1
1が読取られるまで繰り返される。オペランドの最後の
ワード11が稀取られた時タグ・シフト・レジスタ34
が満員になっていなければ、タグ・シフト・レジスタ3
4はその内容が記憶データ・レジスター6を経て主記憶
装置10へ移される前に位置調整される。「タグ挿入一
命令は、データとして主記憶装置1川こ記憶されている
タグ・ビット12を検索しそれらをカッド・ワード14
に挿入する。
主記憶装置101こデータとして記憶されているタグ・
ビットは記憶データ・レジスタ16を経てタグ・シフト
・レジスタ34に移される。この時タグ・シフト・レジ
スタの一番左側のビットが、夕グ・ビットの挿入を要求
しているページの最初のカッド。ワ−ド‘こついてのタ
グを含んでいる。データとして記憶されているワード1
1が主記憶装置10から記憶データ・レジスタ16に読
取られる時、タグ・シフト・レジスタ34の一番左側の
タグ・ビットが記憶データ・レジスタ16のタグ・ビッ
ト20‘こ読取られる。ワード11が記憶データ・レジ
スタ16から主記憶袋簿1川こ転送される時、タグ・ビ
ット20の出力は記憶ェネーブル信号によって条件付け
られたAND回路32に加えられる。従って記憶ェネー
ブル信号がオンなので、タグ・ビット12はワード11
と共に記憶される。与えられたカッド・ワード14に関
する全てのタグ・ビットが主記憶装置1川こ記憶された
後、タグ・シフト・レジスタ34は1位置左へシフトさ
れ、タグ・シフト・レジスタ34中の次のタグ・ビット
が主記憶装置10中の次のカッド・ワード14と共に記
憶される事が可能となる。この手順は全てのワード11
が対応するタグ・ビット12と共に主記憶装置101こ
記憶されるまで反復される。図面の簡単な説明第1図は
タグ・インタフェース論理とマイクロプログラム方式プ
ロセッサとの相互接続を示す図、第2図はタグ・インタ
フェース論理の図、第3図はタグ命令を実行する回路の
図である。
10・・・・・・主記憶装置、11・・・・・・ワード
、12..・…タグ、14……ポィンタ、40……タグ
制御レジスタ、42・・・・・・タグ・インタフェース
論理、43…・・・プロセッサ、46…・・・ALU、
48・・…・タグ・データ・レジスタ、50・・・・・
・タグ制御論理、84・・・・.・SAレジスタ、88
..・.・・SBレジスタ。
′】 −/‐−′J ‐2 −け。

Claims (1)

    【特許請求の範囲】
  1. 1 アドレス可能領域に分割され、各アドレス可能領域
    がタグ・ビツト位置を有するアドレス可能主記憶装置と
    、上記タグ・ビツト位置を含む上記アドレス可能領域か
    ら読取られたデータ及び該領域へ書込むべきデータを記
    憶するための上記主記憶装置に接続された第1のレジス
    タ装置と、1単位で複数の上記アドレス可能領域を占め
    るポインタ情報を上記主記憶装置に記憶する時に、該複
    数のアドレス可能領域の各タグ・ビツトをセツトする装
    置と、ポインタ以外のデータを上記主記憶装置に記憶す
    る時に、タグ・ビツトをリセツトする装置と、上記1単
    位のポインタ情報を上記主記憶装置の各アドレス可能領
    域から順次に上記第1のレジスタ装置に転送する時に1
    単位のポインタに対応するタグ・ビツトを順次に蓄積す
    る第2のレジスタ装置と、上記第2のレジスタ装置に含
    まれるタグ・ビツトのうちにリセツトされたものがある
    時エラー信号を発生する装置とを有するデータ処理装置
JP54116838A 1978-10-23 1979-09-13 デ−タ処理装置 Expired JPS6017135B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US953666 1978-10-23
US05/953,666 US4241396A (en) 1978-10-23 1978-10-23 Tagged pointer handling apparatus

Publications (2)

Publication Number Publication Date
JPS5558900A JPS5558900A (en) 1980-05-01
JPS6017135B2 true JPS6017135B2 (ja) 1985-05-01

Family

ID=25494363

Family Applications (1)

Application Number Title Priority Date Filing Date
JP54116838A Expired JPS6017135B2 (ja) 1978-10-23 1979-09-13 デ−タ処理装置

Country Status (5)

Country Link
US (1) US4241396A (ja)
EP (1) EP0010186B1 (ja)
JP (1) JPS6017135B2 (ja)
DE (1) DE2961891D1 (ja)
IT (1) IT1165345B (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55162167A (en) * 1979-06-05 1980-12-17 Canon Inc Electronic program computer
US4574351A (en) * 1983-03-03 1986-03-04 International Business Machines Corporation Apparatus for compressing and buffering data
US4757440A (en) * 1984-04-02 1988-07-12 Unisys Corporation Pipelined data stack with access through-checking
US4896258A (en) * 1985-07-04 1990-01-23 Hitachi, Ltd. Data processor provided with instructions which refer to both tagged and tagless data
US4807124A (en) * 1986-09-26 1989-02-21 Performance Semiconductor Corporation Register addressing system for efficient microroutine sharing and optimization
JP2613223B2 (ja) * 1987-09-10 1997-05-21 株式会社日立製作所 演算装置
JPH0820944B2 (ja) * 1989-03-20 1996-03-04 株式会社日立製作所 電子化情報作成装置
EP0438011A3 (en) * 1990-01-18 1993-05-19 International Business Machines Corporation Logic on main storage memory cards for insertion and extraction of tag bits
US5201056A (en) * 1990-05-02 1993-04-06 Motorola, Inc. RISC microprocessor architecture with multi-bit tag extended instructions for selectively attaching tag from either instruction or input data to arithmetic operation output
US5325496A (en) * 1991-12-24 1994-06-28 Intel Corporation Selectable pointer validation in a computer system
DE4235310C2 (de) * 1992-10-20 1996-07-11 Knorr Bremse Ag Vorrichtung zur Parallelführung des Bremsklotzschuhs einer Klotzbremse
US5845331A (en) * 1994-09-28 1998-12-01 Massachusetts Institute Of Technology Memory system including guarded pointers
DE19701166A1 (de) * 1997-01-15 1998-07-23 Siemens Ag Verfahren zur Überwachung der bestimmungsgemäßen Ausführung von Softwareprogrammen
US7555703B2 (en) * 2004-06-17 2009-06-30 Intel Corporation Method and apparatus for reducing false error detection in a microprocessor
US20080133858A1 (en) * 2004-11-04 2008-06-05 Board Of Trustees Of Michigan State University Secure Bit
US8166279B2 (en) 2007-05-03 2012-04-24 International Business Machines Corporation Method for predictive decoding of a load tagged pointer instruction
US8095777B2 (en) * 2007-11-01 2012-01-10 International Business Machines Corporation Structure for predictive decoding
US7849293B2 (en) * 2008-01-31 2010-12-07 International Business Machines Corporation Method and structure for low latency load-tagged pointer instruction for computer microarchitechture
GB2572158B (en) 2018-03-20 2020-11-25 Advanced Risc Mach Ltd Random tag setting instruction

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3328768A (en) * 1964-04-06 1967-06-27 Ibm Storage protection systems
US3398405A (en) * 1965-06-07 1968-08-20 Burroughs Corp Digital computer with memory lock operation
US3405394A (en) * 1965-12-22 1968-10-08 Ibm Controlled register accessing
US3573736A (en) * 1968-01-15 1971-04-06 Ibm Interruption and interlock arrangement
US3611310A (en) * 1969-07-30 1971-10-05 Burroughs Corp Discriminating store operator method and apparatus for data processors
US3731285A (en) * 1971-10-12 1973-05-01 C Bell Homogeneous memory for digital computer systems
US3920976A (en) * 1974-08-19 1975-11-18 Sperry Rand Corp Information storage security system
US4104721A (en) * 1976-12-30 1978-08-01 International Business Machines Corporation Hierarchical security mechanism for dynamically assigning security levels to object programs

Also Published As

Publication number Publication date
DE2961891D1 (en) 1982-03-04
US4241396A (en) 1980-12-23
JPS5558900A (en) 1980-05-01
IT7926080A0 (it) 1979-09-28
IT1165345B (it) 1987-04-22
EP0010186B1 (de) 1982-01-20
EP0010186A1 (de) 1980-04-30

Similar Documents

Publication Publication Date Title
JPS6017135B2 (ja) デ−タ処理装置
US3576544A (en) Storage protection system
EP0306702B1 (en) Virtual input/output commands
US3377624A (en) Memory protection system
US7873794B2 (en) Mechanism that provides efficient multi-word load atomicity
CA1313424C (en) Nonhierarchical program authorization mechanism
US7213125B2 (en) Method for patching virtually aliased pages by a virtual-machine monitor
EP0121700B1 (en) Multiprocessor storage serialization apparatus
KR860000838B1 (ko) 데이타 처리시스템
US6266755B1 (en) Translation lookaside buffer with virtual address conflict prevention
EP0115877B1 (en) Critical system protection
JP2776132B2 (ja) オペランド内の情報のスタティックおよびダイナミック・マスキングを兼ね備えるデータ処理システム
US4498132A (en) Data processing system using object-based information and a protection scheme for determining access rights to such information and using multilevel microcode techniques
US4079453A (en) Method and apparatus to test address formulation in an advanced computer system
JPS6022377B2 (ja) アドレス制御方式
US4866599A (en) Call instruction, return instruction and trap procedure for ring crossing architecture
US4999770A (en) Command controlled multi-storage space protection key pretesting system permitting access regardless of test result if selected key is predetermined value
JPH03225455A (ja) データ処理システム
DE112009000344T5 (de) Zugriffsrechte auf eine Speicher-Map
US6529862B1 (en) Method and apparatus for dynamic management of translated code blocks in dynamic object code translation
US3510847A (en) Address manipulation circuitry for a digital computer
US6728846B2 (en) Method and data processing system for performing atomic multiple word writes
JPS603652B2 (ja) デ−タ処理装置
US6516295B1 (en) Method and apparatus for emulating self-modifying code
US4670836A (en) Device for detecting an overlap of operands to be accessed