Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPS6337416B2 - - Google Patents
[go: Go Back, main page]

JPS6337416B2 - - Google Patents

Info

Publication number
JPS6337416B2
JPS6337416B2 JP55029984A JP2998480A JPS6337416B2 JP S6337416 B2 JPS6337416 B2 JP S6337416B2 JP 55029984 A JP55029984 A JP 55029984A JP 2998480 A JP2998480 A JP 2998480A JP S6337416 B2 JPS6337416 B2 JP S6337416B2
Authority
JP
Japan
Prior art keywords
segment
address
subsequent
instruction
range
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
JP55029984A
Other languages
English (en)
Other versions
JPS56127986A (en
Inventor
Yoshinari Nakasaki
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.)
NEC Corp
Original Assignee
Nippon Electric Co 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP2998480A priority Critical patent/JPS56127986A/ja
Publication of JPS56127986A publication Critical patent/JPS56127986A/ja
Publication of JPS6337416B2 publication Critical patent/JPS6337416B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches

Landscapes

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

Description

【発明の詳細な説明】 本発明はデータ処理システム特に記憶装置を複
数ブロツクに分割して管理する仮想記憶方式の計
算機に関する。更に詳細には機械語命令列が複数
ブロツクに分割された場合にブロツクの最後尾命
令から後続ブロツクに特別な命令によらず制御を
移す装置に関する。
記憶装置をページあるいはセグメントと呼ばれ
るブロツクに分割して管理される計算機が市販さ
れている。以下ではブロツクに分割されている一
例としてセグメント方式について述べる。
仮想記憶方式の計算機においては、プログラム
作成者が計算機の容量に制限されることなくプロ
グラムを作成できるという利点がある。一方、こ
の方式では、実行速度を悪化させないために、セ
グメント連想記憶とセグメントベース記憶を備
え、プログラムの局所性を利用して近い過去に参
照されたセグメントの実記憶装置上での位置を保
持することが一般的である。
この仮想記憶方式における実記憶装置への参照
に至る過程を簡単に説明する。
プログラムから実記憶装置を参照することは、
常にセグメント名とセグメント内での相対番地に
よつて行なわれる。セグメント名に対応するセグ
メントが実記憶装置上のどこに存在するかについ
ては、プログラム作成時ではなく、プログラムを
実行するときに決定される。このためプログラム
で参照するセグメントの実記憶装置でのアドレス
を示すためにセグメントベース記憶を備える。プ
ログラムはセグメント連想記憶に格納されたセグ
メント名と参照しようとするセグメント名との一
致を調べ、一致したセグメント名に対応するセグ
メントベース記憶によつて実記憶装置上に配置さ
れているセグメントのアドレスを知ることができ
る。
上記の場合は、あらかじめセグメント連想記憶
にプログラムで参照するセグメントが存在してい
た場合であり、参照するセグメントがセグメント
連想記憶に存在しない場合について説明する。最
初にセグメント連想記憶に存在しないことを示す
信号が仮想記憶制御部に送られる。この信号によ
り仮想記憶制御部は対象となつているセグメント
が格納されている場所を探し、実記憶装置上に配
置する。このときにセグメントが格納されたアド
レスが決定されセグメントベース記憶にこのアド
レスが格納される。同時にセグメントベースが格
納されたセグメント名がセグメント連想記憶に格
納される。以後、今格納されたセグメント名をプ
ログラムで参照する場合には、セグメントベース
記憶中のアドレスにより高速な実記憶装置への参
照が可能になる。
従来上記のような仮想記憶方式の計算機では、
セグメントに分割されたときに最後尾となつた非
分岐命令から次に続くセグメントの先頭命令に制
御を移すために最後尾命令に無条件分岐命令を付
加している。この分岐命令を実行することにより
次に続くセグメントの先頭命令に制御が移され
る。
このような無条件分岐命令はプログラム作成時
には予期できない命令であり、仮想記憶方式では
なく、全命令列を物理アドレス順に記憶装置に格
納する方式では不要である。しかし、仮想記憶方
式においてはこの本来不要な分岐命令を機械語命
令列に付加することは機械語命令列を格納する記
憶装置の利用効率を悪化させ計算機の性能を悪化
させる要因となる。特に分割されたセグメントの
境界にまたがつて繰り返し、命令列が実行される
ループを形成する場合には性能の低下が著しくな
る。これを避けるためにプログラマが記述したソ
ースプログラムを機械語命令に変換するコンパイ
ル時に、ループする命令列の途中でセグメントを
分割しない方式が考えられる。しかし、この方式
を実現するためには高度なコンパイル機能が必要
であり、十分な機能を提供することは困難であ
る。
さらにプログラマが予期できない命令を機械語
命令列に挿入することは機械語命令列の解釈を困
難にする要因となる。
本発明は仮想記憶方式における上記の問題点を
解決するものであり、複数セグメントに分割され
た命令列においてプログラマに予期しない命令が
機械語命令列中に挿入されないことを目的として
いる。
さらに、セグメントに分割することにより付加
される分岐命令を省き、機械語命令列を短くする
ことにより記憶装置を有効に利用することを目的
としている。
またさらに、繰り返し処理を行う命令列の途中
でセグメントに分割された場合でも処理性能を悪
化させないことを目的としている。
さらに繰り返し処理される命令の途中でセグメ
ントを分割しないようにするための高度な機能を
コンパイラに備える必要をなくすことを目的とし
ている。
本発明によれば記憶装置のアドレス空間が複数
セグメントに分割されている計算機において、一
部あるいは全てのセグメント名を記憶しかつセグ
メント名により連想可能なセグメント連想記憶
と、セグメント連想記憶に格納されたセグメント
に対応するセグメントの大きさを記憶する範囲記
憶と、分岐命令以外の命令でセグメントの範囲を
越えて実行することを検出する範囲検出装置と、
前記セグメントの次に続く命令コード用セグメン
トを記憶する後続セグメント記憶と、セグメント
内の最後尾の命令を実行してさらに次に続く命令
を実行する場合のアドレスと前記範囲記憶のセグ
メントの範囲とを前記範囲検出装置でセグメント
範囲外であることが検出されると後続セグメント
記憶の内容により後続セグメントを決定しこの後
続セグメントのアドレスを求め後続セグメント記
憶の処理を開始させる仮想記憶制御部を備える電
子計算機が得られる。
次に本発明の実施例について図面を参照して説
明する。
第1図は本発明を用いた仮想記憶方式の計算機
の一実施例を示すブロツク図である。第1図のブ
ロツク図においては、セグメントの最後尾命令と
して無条件分岐命令を備える必要をなくすための
構成と繰り返し処理対象となる命令列の途中でセ
グメントに分割された場合に高速処理可能にする
ための構成を同時に示している。最初に無条件分
岐命令を不要にする構成について説明し、次に、
繰り返し処理を高速にするために付加する構成要
素について説明する。
従来の仮想記憶方式の計算機で利用していた構
成要素としては、以下の要素を本発明においても
備える。記憶装置1には機械語命令列およびデー
タが格納されている。命令アドレスカウンタ2に
は処理中の命令あるいは、次に処理を行う命令の
アドレスが格納される。この命令アドレスは論理
アドレスである。
第2図は命令アドレスカウンタを説明する概念
図であり、図に示すようにセグメント名とセグメ
ント内の相対番地で示される。セグメント連想記
憶3には、記憶装置1に配置された一部あるいは
全てのセグメントのセグメント名が格納されてい
る。このセグメント連想記憶3はセグメント名を
入力としてセグメント連想記憶3内の複数セグメ
ント名との比較を行い、一致を調べる連想機能を
持つ。命令アドレスカウンタ2のセグメント名と
は信号線20を介して連想される。セグメントベ
ース記憶7にはセグメント連想記憶3中のセグメ
ント名に対応してそのセグメントが記憶装置1に
配置されたときのセグメントベースアドレスが格
納されている。このセグメントベースアドレスは
信号線22を介して仮想記憶制御部14により設
定される。記憶装置1のアドレスを求めるために
セグメントベース記憶7の値と命令アドレスカウ
ンタ2の相対番地を加算する加算器13を備え
る。
これらの記憶装置1、命令アドレスカウンタ
2、セグメント連想記憶3、セグメントベース記
憶7、加算器13は従来の仮想記憶方式の計算機
での機能と同じである。記憶装置1は市販のラン
ダムアクセスメモリ(RAM)で構成され、命令
アドレスカウンタ2は、市販のレジスタと演算器
あるいはカウント機能付きレジスタで実現されて
いる。セグメント連想記憶3は複数語の一致を調
べることができる市販の連想メモリで構成され、
セグメントベース記憶7は市販の高速RAMで構
成される。また加算器13は市販のアリスメテイ
ツクロジツクユニツト(ALU)で構成される。
本発明においては、セグメントの最後尾命令と
して無条件分岐命令を備える必要はなく、代わり
にプログラムのコンパイル時にセグメントの大き
さと後続セグメントの情報が与えられる。この後
続セグメント情報を格納するために後続セグメン
ト記憶5を備える。後続セグメント記憶5にはセ
グメント連想記憶3のセグメント名で示されるセ
グメントが命令列である場合に、次に続くセグメ
ント名が記憶される。セグメントの大きさに関す
る情報を格納するために範囲記憶4を備える。命
令アドレスカウンタ2の相対番地の内容がセグメ
ントの大きさ以上になることを検出するために相
対番地と、範囲記憶4の値を入力とする範囲検出
装置9を備える。
仮想記憶制御部14では、命令列で参照対象と
なつたセグメントがセグメント連想記憶3に存在
しなかつた場合に従来例においても必要な、記憶
装置1へのセグメント配置、セグメント連想記憶
3及びセグメントベース記憶7への登録の他に次
の処理を行う。
処理対象セグメントがセグメント連想記憶3に
存在しないことが信号線24の不一致信号によつ
て検出されると従来方式で示したように、セグメ
ント情報を信号線21を介してセグメント連想記
憶3に登録する。同時に、範囲記憶4と後続セグ
メント記憶5への登録を行う。また範囲検出装置
9によりセグメントの範囲外を命令アドレスカウ
ンタ2で指示していることが検出されると、後続
セグメント記憶5の出力を信号線26を介して命
令アドレスカウンタ2のセグメント名に設定す
る。同時に相対番地を0にする。この操作により
無条件命令によりセグメント範囲外を命令アドレ
スカウンタ2で指示する場合には、後続セグメン
トの先頭命令に制御が移ることになる。仮想記憶
制御部14でのこれらの処理により、セグメント
の最後尾に無条件分岐命令を備えることなく、非
分岐命令から後続セグメントに制御を移すことが
できる。
仮想記憶制御部14は、従来の計算機と同様フ
アームウエアあるいはシステムソフトウエアによ
つて実現されている。また範囲記憶4、後続セグ
メント記憶5は高速RAMで実現され、範囲検出
装置9は市販のコンパレータ素子で実現される。
以上の第1図に関する説明においてセグメント
の最後尾命令として無条件分岐命令を備える必要
をなくすための構成を示した。さらに続けて、第
1図により繰り返し処理を高速にするために付加
する構成要素に関する説明を行う。
後続アドレス記憶6には後続セグメントが記憶
装置1に配置されたときのアドレスが格納され
る。したがつてこの値は後続のセグメントに対応
するセグメントベース記憶7の値に一致する。前
記構成と後続アドレス記憶6を付加した構成につ
いて、非分岐命令による後続セグメントへの制御
の移動処理方式を以下に比較する。前記構成にお
いてはセグメントの範囲を越えると、最初に、後
続セグメント記憶5により後続のセグメント名を
求める。その後、後続セグメント名とセグメント
連想記憶3との一致を調べ対応するセグメントベ
ース記憶7と命令アドレスカウンタ2の相対番地
により後続セグメントの実行アドレスを求める。
一方後続アドレス記憶6を備える構成において
は、セグメントの範囲を越えると後続セグメント
名を参照することなく後続アドレス記憶6の内容
を次の命令のアドレスとして実行を続ける。これ
により後続セグメントへの制御の移動を高速に行
う。
後続アドレス記憶6への登録は、最初にセグメ
ント最後尾命令を実行して次のセグメントに制御
が移つたときに行われる。このとき後続セグメン
トがセグメント連想記憶3内に存在する場合と、
存在しない場合とがある。
セグメント連想記憶3内に存在しない場合に
は、従来方式と同様仮想記憶制御部14によつて
記憶装置1に後続セグメントが配置され、セグメ
ントベースアドレスを決定する。このアドレス信
号線22を介してセグメントベース記憶7に登録
すると同時に、後続アドレス記憶6に登録する。
セグメント連想記憶3内に存在する場合には対
応するセグメントベース記憶7の値を信号線25
を介して後続アドレス記憶6に登録する。
後続アドレス記憶6に登録するいずれの場合に
おいても、後続セグメントをセグメント連想記憶
3で調べる以前の先行セグメントに対応する位置
に登録する必要がある。この先行セグメントのセ
グメント連想記憶3内の位置を保持し、先行セグ
メントに対応する後続アドレス記憶6の位置に後
続のセグメントベースアドレスを登録するために
先行セグメントアドレスレジスタ12を備える。
さらにセグメントの最後尾の非無条件分岐命令
による最初の後続セグメントへの制御の移動と2
回目以降の制御の移動を区別し、2回目以降にお
いては後続アドレス記憶6が利用可能であること
を示す後続アドレスフラグ8を備える。これらの
フラグはセグメント連想記憶3の各セグメント名
に対応して備えられ、“0”のときには、後続ア
ドレス記憶6の対応する内容が利用できないこと
を示し、“1”のときには、利用できることを示
す。
後続アドレス記憶6は市販の高速RAMで実現
され先行セグメントアドレスレジスタには市販の
レジスタ素子で実現される。また、後続アドレス
フラグ8は市販のフリツプフロツプによつて実現
される。
後続アドレスフラグ8を利用する場合には、フ
ラグのクリアが問題になる。後続アドレスフラグ
8のフラグが“1”のときに、仮想記憶制御部1
4により後続セグメントの記憶装置1内での配置
が変えられると、セグメントベースアドレスが変
化し後続アドレス記憶6の対応する値は無効にな
るのでフラグは“0”にされる必要がある。
本実施例においては、仮想記憶制御部14によ
りセグメント連想記憶3に登録されている任意の
セグメントの記憶装置1内での配置を変化させら
れると、後続アドレスフラグ8の全てがクリアさ
れる。
次にセグメントの最後尾の非無条件分岐命令か
ら後続セグメントの先頭命令に制御が移る処理に
ついて一例を示す。この例においては繰り返し処
理対象となる命令列を高速に処理する場合を含め
て説明する。
第3図は記憶装置1の中にセグメントが配置さ
れた結果を示す概念図である。セグメントXはA
番地から格納され、そのセグメントサイズは4000
バイトである。番地はバイト単位で計数する。セ
グメントYはB番地から格納され、そのセグメン
トサイズは3000バイトである。セグメントX,
Y,Zには命令列が格納されており、セグメント
Xの次にはセグメントYが続き、セグメントYの
次にはセグメントZが続いている。つまりセグメ
ントXの最後尾の命令が分岐命令でなければ次に
続く命令はセグメントYの先頭命令である。
第4図、第5図はセグメントXの中の命令を実
行しているときの後続アドレスフラグ8、セグメ
ント連想記憶3、範囲記憶4、後続セグメント記
憶5、後続アドレス記憶6とセグメントベース記
憶7の状態を示す概略図である。第4図におい
て、セグメント連想記憶3の1番地にセグメント
名Xが格納されている。範囲記憶4の1番地には
セグメントXのセグメントサイズである4000が格
納されている。次に後続セグメント記憶5の1番
地にはセグメントXに続くセグメントYが配置さ
れている。さらにセグメントベース記憶7の1番
地にはセグメントXの開始番地であるA番地が格
納されている。後続アドレス記憶6の1番地の内
容は不定であり有効ではないとする。したがつて
後続アドレスフラグ8の1番地は0になつてい
る。実行対象がセグメントXの最後尾命令とな
り、この最後尾命令は分岐命令ではない命令であ
る場合を以下に示す。この最後尾命令の実行を終
了すると命令アドレスカウンタ2が歩進させられ
る。この歩進結果を範囲検出装置9で範囲記憶4
の出力と比較すると命令アドレスカウンタ2がセ
グメントXの範囲外であることが検出される。つ
まり命令アドレスカウンタ2の相対番地は歩進さ
れた結果セグメントXの最後尾バイトの相対アド
レス3999に1が加えられ4000となる。一方命令ア
ドレスカウンタ2のセグメント名には現在実行し
ているセグメント名が格納されているのでセグメ
ントXとなつている。このセグメントXと信号線
20を介してセグメント連想記憶3の内容との連
想を行うと、1番地のXにより一致する。この1
番地のXにより範囲記憶4の内容を参照するとセ
グメントXのセグメントサイズ4000が得られる。
範囲検出装置9では、 範囲記憶4の出力命令アドレスカウンタ2の
相対アドレス のときにセグメント範囲外であることを検出す
る。したがつてセグメント最後尾命令の次の命令
番地が歩進により命令アドレスカウンタ2に格納
されると範囲検出装置9では、 40004000 となることから範囲外であることが検出される。
この信号を信号線により仮想記憶制御部14に出
力する。このときに先行セグメントアドレスレジ
スタ12には現在セグメント連想記憶3内での一
致が認められる番地の値“1”が格納される。仮
想記憶制御部14では後続アドレスフラグ8の1
番地を調べる。現在は1番地の内容が“0”であ
ることから後続アドレス記憶6には、有効な後続
セグメントアドレスが格納されていない。この場
合には後続セグメント記憶5の内容によつて次に
制御が移るセグメント名が指示される。
次に後続セグメント記憶5の1番地に格納され
ているセグメントYが信号線26を介して命令ア
ドレスカウンタ2のセグメント名として格納され
る。同時に命令アドレスカウンタ2の相対アドレ
ス部に“0”が格納される。この操作により命令
アドレスカウンタ2には次に実行すべき命令が格
納されているセグメントYの先頭アドレスが格納
される。この後、信号線20により、後続セグメ
ントYがセグメント連想記憶3に有るか否かを調
べる。
近い過去においてセグメントYが一度も参照さ
れていなければ、セグメントYはセグメント連想
記憶3には格納されていない。その結果は信号線
24により仮想記憶制御部14に報告する。仮相
制御部14は記憶装置1に格納されているセグメ
ントYに関するセグメント情報を参照し信号線2
1を介してセグメント連想記憶3、範囲記憶4と
後続セグメント記憶5に格納する。この結果は、
第5図に示すようにセグメント連想記憶3にはセ
グメントYのセグメント名が2番地に格納され、
範囲記憶4の2番地にはセグメントYのセグメン
トサイズ3000が格納され、後続セグメント記憶5
の2番地にはセグメントYに続くセグメントZの
セグメント名が格納される。さらにセグメントY
が記憶装置1に配置されたとき、セグメントYの
開始アドレスが決定する。本例においてはセグメ
ントYは“B”番地から格納される。開始アドレ
ス“B”の値がセグメントベースアドレスとして
信号線22を介してセグメントベース記憶7に格
納される。同時に先行セグメントアドレスレジス
タ12の内容“1”で示される後続アドレス記憶
6の1番地に信号線22を介してセグメントYの
セグメントベースアドレスを格納する。さらに、
先行セグメントアドレスレジスタ12の内容
“1”で示される後続アドレスフラグ8の1番地
の内容を“1”にする。これにより後続アドレス
記憶6の1番地のアドレスが有効であることが示
される。つまり第5図に示すようにセグメントX
に対応する後続アドレス記憶6の1番地にセグメ
ントXに続くセグメントYの開始番地Bが格納さ
れ、さらに後続アドレスフラグの1番地が1にセ
ツトされる。
セグメントYの実行開始は命令アドレスカウン
タ2に指示される命令から行う。前記の状態でセ
グメントXからセグメントYに制御が移るときに
は、命令アドレスカウンタ2のセグメント名は
Y、相対番地は“0”となつている。このセグメ
ント名をセグメント連想記憶3で調べると、第5
図に示すように2番地で一致が認められる。これ
に対応するセグメントベース記憶7は“B”を示
している。この“B”と命令アドレスカウンタ2
の相対番地“0”を加算器13で加算した結果
“B”番地が得られ、“B”番地にあるセグメント
Yの先頭命令から実行が行われる。
セグメントXに続くセグメントYを後続セグメ
ント記憶5から読み出して信号線26を介してセ
グメント連想記憶3の内容との一致を調べたとき
に一致が認められる場合がある。つまり近い過去
においてセグメントYが一度以上参照された場合
である。このときには、一致が認められたセグメ
ント連想記憶3の位置に対応するセグメントベー
ス記憶7のセグメントベースアドレスが信号線2
5を介して後続アドレス記憶6の1番地に格納さ
れ、同時に後続アドレスフラグ8の1番地が
“1”にセツトされる。このときの各記憶、フラ
グの状態は第5図と同様である。また信号線26
を介して命令アドレスカウンタ2のセグメント名
としてセグメントYが格納され、相対番地には
“0”が格納される。
上記の過程を経て実行の制御がセグメントYに
移る。セグメントYに移つた後、分岐命令により
セグメントXに再び制御が戻り、セグメントXの
最後尾命令の実行を終了する場合について説明す
る。最後尾命令の実行を終了し命令アドレスカウ
ンタ2を歩進した結果セグメントの範囲外である
ことが範囲検出装置9によつて判明する。このと
きセグメントXに対応する後続アドレスフラグ8
の1番地の内容は、第5図に示されるように
“1”となつている。このフラグが“1”の場合
には、後続アドレス記憶6の1番地の内容“B”
が次に実行する命令のアドレスとなる。
つまり最初にセグメントXの最後尾命令からセ
グメントYの先頭命令に制御が移る場合には、セ
グメント連想記憶3を用いた一致検査を2回行う
必要がある。最初は命令アドレスカウンタ2の中
のセグメントXを用いて一致検査を行い1番地で
の一致を検出する。次に後続セグメント記憶5の
1番地の内容“セグメントY”が命令アドレスカ
ウンタ2に格納され、このセグメントYを用いて
一致検査を行う。
セグメントXの最後尾命令からセグメントYの
先頭命令への制御の移動が2回目以降になると、
セグメント連想記憶3を用いた一致検査を1回行
えばよい。つまり、セグメントXで一致検査を行
うと後続アドレス記憶6が有効であるので、後続
アドレス記憶6の出力を次に実行する命令のアド
レスとして処理を続行する。
第6図は分岐命令でセグメント間の制御を移動
させる場合と、本発明における第1回目のセグメ
ント間制御の移動と第2回目以降のセグメント間
の制御の移動とをそれぞれa,b,cのフローで
t1,t2,t3,t4のタイミングと共に示す。図にお
いて、aは分岐命令、bは第1回目セグメント間
制御移行、cは第2回目以降のセグメント間制御
移行をそれぞれ示すフローチヤートである。第6
図ではセグメント連想記憶3に前もつて後続セグ
メントが登録されていた場合を示す。分岐命令と
第1回目のセグメント間の制御の移行とはt1〜t4
までの処理を必要とし処理速度は同じである。し
かし本発明における第2回目以降の制御の移行は
t1,t2の処理時間で実現され、高速に実行でき
る。
後続アドレス記憶6と後続アドレス記憶6の有
効性を示す後続アドレスフラグ8は第2回目以降
の処理を高速に行うために付加されたものであ
る。後続アドレス記憶6と後続アドレスフラグ8
が付加されない場合には、第2回目以降も第1回
目と同様の処理を行う。
これまでに示したように、本発明によれば記憶
装置を複数ブロツクに分割したことにより付加さ
れる分岐命令が機械語命令列中に不要になる。こ
れにより、機械語命令列が格納される記憶装置の
使用効率が改善される。また記憶装置がブロツク
に分割されているためにコンパイル時に計算機シ
ステムで生成される分岐命令をプログラム作成者
が考慮することなくソースプログラムと機械語命
令列とを対称させることができる。
後続アドレス記憶を付加することにより、ルー
プする命令列の途中でブロツク分割された場合
に、2回目以降のブロツク間の制御の移動を高速
に行うことができる。さらにコンパイラがプログ
ラムをブロツクに分割する際に、ループ途中の分
割による性能低下を考慮することなく分割でき
る。
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロツク図、
第2図は命令アドレスカウンタを説明する概念
図、第3図は命令列が複数ブロツクに分割されて
いる記憶装置の記憶概念図、第4図、第5図はブ
ロツク間を制御が移動する場合の各記憶およびフ
ラグの内容を説明する概念図、第6図は処理の流
れを示すタイミングフローチヤートである。 1……記憶装置、2……命令アドレスカウン
タ、3……セグメント連想記憶、4……範囲記
憶、5……後続セグメント記憶、6……後続アド
レス記憶、7……セグメントベース記憶、8……
後続アドレスフラグ、14……仮想記憶制御部。

Claims (1)

  1. 【特許請求の範囲】 1 記憶装置のアドレス空間が複数セグメントに
    分割されている計算機において、一部あるいは全
    部のセグメント名を記憶するとともに入力された
    セグメント名に一致するものが記憶されているか
    否かを検出するセグメント連想記憶手段と、前記
    セグメント連想記憶手段に格納されたセグメント
    に対応するセグメントの大きさを記憶する範囲記
    憶手段と、分岐命令以外の命令で前記セグメント
    の範囲を越えて次に続く命令を実行することを検
    出する範囲検出手段と、前記セグメントの次に続
    く命令コードセグメント名を記憶する後続セグメ
    ント記憶手段と、セグメント内の最後尾の命令を
    実行しさらに次に続く命令を実行する場合のアド
    レスと前記範囲検出手段のセグメントの範囲を比
    較する前記範囲検出手段で次に続く命令の格納場
    所がそのセグメントの範囲外であることが検出さ
    れると前記後続セグメント記憶手段の内容により
    後続セグメントを決定しこの後続セグメントのア
    ドレスを求め前記後続セグメント記憶手段の処理
    を開始させる仮想記憶制御手段を備えたことを特
    徴とする仮想記憶方式の計算機。 2 記憶装置のアドレス空間が複数セグメントに
    分割されている計算機において、一部あるいは全
    部のセグメント名を記憶するとともに入力された
    セグメント名に一致するものが記憶されているか
    否かを検出するセグメント連想記憶手段と、前記
    セグメント連想記憶手段に格納されたセグメント
    に対応するセグメントの大きさを記憶する範囲記
    憶手段と、分岐命令以外の命令で前記セグメント
    の範囲を越えて次に続く命令を実行することを検
    出する範囲検出手段と、前記セグメントの次に続
    く命令コード用セグメント名を記憶する後続セグ
    メント記憶手段と、セグメント内の最後尾の命令
    を実行しさらに続く命令を実行する場合のアドレ
    スと前記範囲検出手段のセグメントの範囲を比較
    する前記範囲検出手段で次に続く命令の格納場所
    がそのセグメントの範囲外であることが検出され
    ると前記後続セグメント記憶手段の内容により後
    続セグメントを決定しこの後続セグメントのアド
    レスを求め前記後続セグメント記憶手段の処理を
    開始させる仮想記憶制御手段と、前記後続セグメ
    ント記憶手段に対応した後続セグメントのアドレ
    スを記憶する後続アドレス記憶手段と、前記後続
    アドレス記憶が有効であるかを示す後続アドレス
    フラグと、最初にセグメントの最後尾命令から後
    続のセグメントに制御が移つたときに前記後続ア
    ドレス記憶手段に後続アドレスを設定し前記後続
    アドレスフラグを有効にする手段とを備え、前記
    後続アドレスフラグが前記後続アドレスが有効で
    あることを示すときにセグメントの最後尾命令か
    ら後続セグメントへの制御の移動を前記後続アド
    レス記憶手段によつて制御することを特徴とする
    仮想記憶方式の計算機。
JP2998480A 1980-03-10 1980-03-10 Computer of virtual storage system Granted JPS56127986A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2998480A JPS56127986A (en) 1980-03-10 1980-03-10 Computer of virtual storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2998480A JPS56127986A (en) 1980-03-10 1980-03-10 Computer of virtual storage system

Publications (2)

Publication Number Publication Date
JPS56127986A JPS56127986A (en) 1981-10-07
JPS6337416B2 true JPS6337416B2 (ja) 1988-07-25

Family

ID=12291217

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2998480A Granted JPS56127986A (en) 1980-03-10 1980-03-10 Computer of virtual storage system

Country Status (1)

Country Link
JP (1) JPS56127986A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61224042A (ja) * 1985-03-29 1986-10-04 Nec Corp 仮想記憶システムにおける配列要素接近に関する最適化コ−ド生成方式

Also Published As

Publication number Publication date
JPS56127986A (en) 1981-10-07

Similar Documents

Publication Publication Date Title
US6631460B1 (en) Advanced load address table entry invalidation based on register address wraparound
US5297281A (en) Multiple sequence processor system
JP2560988B2 (ja) 情報処理装置および処理方法
US5146570A (en) System executing branch-with-execute instruction resulting in next successive instruction being execute while specified target instruction is prefetched for following execution
US7100029B2 (en) Performing repeat string operations
JP2954178B1 (ja) 可変式キャッシュ方式
JPS6337416B2 (ja)
Gehringer Variable-length capabilities as a solution to the small-object problem
US4212058A (en) Computer store mechanism
JP2002014868A (ja) メモリ参照動作検出機構を有するマイクロプロセッサおよびコンパイル方法
JPH0877021A (ja) 割込処理装置および方法
JP3461185B2 (ja) ロードモジュールへのソースコード行番号登録方法および装置
JPH0552534B2 (ja)
JPS6032220B2 (ja) 情報処理装置
JPH0222418B2 (ja)
JP2783285B2 (ja) 情報処理装置
EP0155275B1 (en) Prefetch validation
JP2853460B2 (ja) データロード方法及びそれを用いた演算プロセッサ
JP2759952B2 (ja) キャッシュメモリ
JPS62219128A (ja) デ−タ処理装置
JPS6027418B2 (ja) 命令先取り制御装置
JPS6115235A (ja) 中央処理装置
JPH05143327A (ja) レジスタの制御機構を備えたデータ処理方法及び装置
JPH0769816B2 (ja) データ処理装置
JPS61216034A (ja) デ−タ処理装置