JPS5872251A - デ−タ処理方式 - Google Patents

デ−タ処理方式

Info

Publication number
JPS5872251A
JPS5872251A JP17183281A JP17183281A JPS5872251A JP S5872251 A JPS5872251 A JP S5872251A JP 17183281 A JP17183281 A JP 17183281A JP 17183281 A JP17183281 A JP 17183281A JP S5872251 A JPS5872251 A JP S5872251A
Authority
JP
Japan
Prior art keywords
register
storage device
instruction
address
computer
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
JP17183281A
Other languages
English (en)
Inventor
Takashi Suga
菅 隆志
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP17183281A priority Critical patent/JPS5872251A/ja
Publication of JPS5872251A publication Critical patent/JPS5872251A/ja
Pending 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 本発明はデータ処理方式に係り、特に電子計算特におい
て、高いレベルのプログラミング言語を用いて作成した
プログラムでも、極めて効率良く処理できるようにして
なる改良されたデータ処理方式に関する。
従来の電子計算機においては、たとえ高いレベルのプロ
グラミング言語をもってプログラムを作成しても、この
プログラムを実行するためには、これの処理を行なう電
子計算機の機械語に翻訳する作業(以後、コンパイルと
いう)が必要となる。
この際、プログラム中で使用される変数は総て主記憶装
置又は仮想記憶装置等の記憶装置上の任意の番地に割り
付けられるが、実際に演算を行なう場合には、これらの
変数をいったん記憶装置から中央処理装置内のレジスタ
に取り込む動作が必要となるものである。このため、コ
ンパイルする時に限られた数のレジスタをいかに効率良
く使用するかが処理の実行速度を左右する大きな要因と
なる。また、レジスタの最適な使用方法は処理を行なう
電子計算機の処理方式や内部の構造によってもかなりの
差異がある。このような理由によって従来のデータ処理
方式では、プログラムを機械語に変換する翻訳プログラ
ムの負担が大きく、また処理を実行する電子計算機の構
造によって著しく相違する不都合があり、さらに機械語
によるプログラミングの際におけるレジスタの使い方で
誤りが生ずることが多いという欠点があった。
本発明は上述のような欠点を除去するために発明された
ものであり、複数の内部レジスタを持つ電子計算機にお
いて、命令実行時に記憶装置上の番地と前記内部レジス
タとの対応設定を行なうため、前記記憶装置上の番地1
割り付けられるレジスタ番号、読み出し・書き込み情報
及び再配置を行なうための情報を持つレジスタ管理テー
ブルと、該レジスタ管理テーブルにより管理されるレジ
スタ群とを備えてなる構成を有し、高いレベルでのプロ
グラムの機械語レベルにおいても電子計算機内部のレジ
スタを意識する必要がなく、総ての変数を主記憶装置又
は仮想記憶装置等の記憶装置上の番地のまま取り扱うこ
とにより、極めて高速に処理を行なうことができるよう
にしてなるデータ処理方式を提供することを目的とする
以下、図面に基づき本発明を実施例によって詳細に説明
する。第1図(a)は本発明及び従来例での各電子計算
機にそれぞれ用いられる機械語の相違を説明するための
簡単な例式P3 = PI +P2であり、第1図(b
)は上記第1図(a)の例式を従来例での電子計算機で
用いられるよう変換された機械語を示し、第1図(e)
は上記第1図(a)の例式を本発明に使用する場合に用
いられる電子計算機における機械語を示すものである。
ここで、第1図(C)に示されるADDXという命令は
、「PlとP2とを加算してP3へ格納せよ」という意
味を持つものである。
第2図は第1図(C)の例式で示される命令を本発明を
用いて処理する場合のデータの流れを示すブロック図で
ある。第2図において、lは命令レジスタ(IR)を示
し、OPは命令コード、81.82及びS3は第1図(
C)のPI、P2及びP3の各変数が割り当てられた番
地をそれぞれ示す。2は各変)数が格納されている番地
と割り当てられる各レジスタとの関係を管理するレジス
タ管理テーブルである。このレジスタ管理テーブル2の
7の列は各変数が割り当てられている番地、8の列は割
り当てられたレジスタ番号、また9の列はレジスタの割
り当て状況をそれぞれ示している。そして、9の列の要
素が「0」の時は変数が未だにレジスタに割り当てられ
ていない状態を示し、「1」の時は割り当てがなされ最
も最近の動作が読み出し動作であったことを示し、また
「2」の時は割り当てがなされ最も最近の動作が書き込
み動作であったことを示す。10の列はレジスタ・ファ
イルが一杯になった場合、どのレジスタから開放するか
を決定するためのアルゴリズムを実現する要素が設定さ
れる。第2図に示す3は命令の演算部で実行時に使用さ
れる命令デコード・レジスタ(IQ)であり、この時点
では既にレジスタの割り付けがなされて、さらに実行時
に必要なその他の情報が付加されている。4は複数のレ
ジスタの集合体である内部レジスタ・ファイル、5は主
記憶装置又は高速緩衝記憶装置等の記憶装置、6は演算
器である0 次に、第2図に示す“ブロック図についての動作を説明
する。−例として、第1図(a)に示すP3=P1+P
2なる例式で示される命令を考えてみると、本発明を使
用する場合に用いられる電子計算機では機械語レベルに
よりレジスタの割り当てを行なう必要がないため、翻訳
プログラムは第1図(C)に示すような変換で十分であ
る。ここで、第1図(C)のADDXなる命令は3オペ
ランドの加算命令であり、第1オペランド(ここではP
I)と第2オペランド(ここではP2)を加算し、第3
 、ii ヘランド(ここではP3)へ格納せよきいう
命令である。まず、第2図の命令レジスタl内の各オペ
ランドに対応する番地がレジスタに割り付けられている
かどうかを調査する。この動作はレジスタ管理テーブル
2の7の列における総ての要素を比較することにより行
われ、もし、既に第1オペランドの番地S1がレジスタ
管理テーブル2に登鍮されており、しかも、9の列の状
態フラグが「0」でない時にはそのまま対応するレジス
タ番号を命令デコード・レジスタ3の第1オペランドの
部分に設定する。次いで、第2オペランドの番地S2が
レジスタ管理テーブル2内に登録されていなかった場合
の動作につき説明する。この時には、まずレジスタ管理
テーブル2における9の列の要素が「0」の行を探し、
それが存在すればその行に第2オペランドの番地S2を
登録し、その時点で指定されていないレジスタ番号を8
の列の行に設定する。この際、空きレジスタが存在しな
い場合には9の列の要素が「1」で、しかも最後に使用
されてからの時間が最も長い要素を開放し、それによっ
て開放されたレジスタを新たに割り付け、内部レジスタ
・ファイル4内の対応するレジスタに記憶装置5から読
み出して格納し、レジスタ管理テーブル2内の9の列の
要素として「l」を設定する。これらの動作によって、
第1オペランドの番地S1と第2オペランドの番地S2
に対してレジスタR3とレジスタR5がそわぞれ割り当
てられる。これにより、第1オペランドの番地S1と第
2オペランドの番地S2の内容を各レジスタR3、R5
から読み出し、−演算器6で加算を行なつた後、第3オ
ペランドとして割り当てられている内部レジスタ・ファ
イル4のレジスタR7へ格納されると同時に記憶装置5
へも格納され、この動作の終了後、9の列の要素として
「2」を設定する。これは、一般に処理を行なう場合、
いったん演算器6による演算の結果を記憶装置5へ格納
し、それを再度読み出す可能性が高いために読み出しと
書き込みとを区別するためである。
なお、前述のような動作において、記憶装置5と各レジ
スタとの間のデータの転送は、各レジスタを使用して行
なう演算と並行して行なわれ得る。
以、F1詳述したように、本発明に係るデータ処理方式
によれば、プログラムはたとえ機械語レベルであっても
レジスタを意識する必要がなくなり、このため、高いレ
ベルのプログラミング言語を用いたプログラムにおいて
も比較的に容易に機械語へ書換することができ、また、
この霜の従来例での機械語レベルのプログラミングで起
こり易いレジスタの使用誤りを防止することができる特
長がある。さらに、本発明によって使用される機械語は
処理を行なう電子計算機の内部の構造には依存されない
ため、かなり構造が異なる電子計算機においても同じプ
ログラミング言語に対して同一の翻訳プログラムを使用
し得る利点がある。
一方、処理を行なう実行速度においても、この種の従来
例での翻訳プログラムによるレジスタ割り付は方法と同
様な手法をレジスタ管理テーブルの登録、更新時に使用
することにより、十分な処理に対しての一実行速度を得
ることが可能であり、この他に1ソース・プログラムの
制御構造を解析しであるまとまったブロック単位に特殊
な制御を行なう命令を使用することにより、より有効な
レジスタの利用が計られるなど、優れた効果を奏するも
のである。
【図面の簡単な説明】
第1図(a)は本発明及び従来例での各電子計算機にそ
れぞれ用いられる機械語の相違を説明するための簡単な
例式、第1図(b)は上記第1図(a)の例式を従来例
での電子計算機に用いられるよう変換された機械語、第
1図(c)は上記第1図(a)の例式を本発明に使用す
る場合に用いられる電子計算機における機械語、第2図
は第1図(c)の例式で示される命令を本発明を用いて
処理する場合のデータの流れを示すブロック図である。 l−一命令レジスタ、2 ・=−・・・レジスタ管理テ
ーブル、3−一命令デコード・レジスタ、4−内部レジ
スタ・ファイル、5・−・・・記憶装置、6−演算器。 代 理 人   葛  野  信  −第1図 (a) P3=Pl+P2 (b)  LOAD  R3,PI LOAD R5,R2 ADD  R3,R5 5TORE R3,R3 (c) ADDX PI 、 R2、P3第2図

Claims (1)

    【特許請求の範囲】
  1. 複数の内部レジスタを持つ電子計算機において、命令実
    行時に記憶装置上の番地と前記内部レジスタとの対応設
    定を行なうため、前記記憶装置上の番地1割り付けられ
    るレジスタ番号、読み出し・書き込み情報及び再配置を
    行なうための情報を持つレジスタ管理テーブルと、該レ
    ジスタ管理テーブルにより管理されるレジスタ群とを備
    えてなり、命令のオペランドとして前記記憶装置上の番
    地を指定していた場合にも、命令実行時に最適なレジス
    タ割り付けを自動的に行なうと共に、演算の実行と並行
    して記憶装置からレジスタへ、又はレジスタから記憶装
    置へのデータ転送を行なうことを特徴とするデータ処理
    方式0
JP17183281A 1981-10-27 1981-10-27 デ−タ処理方式 Pending JPS5872251A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17183281A JPS5872251A (ja) 1981-10-27 1981-10-27 デ−タ処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17183281A JPS5872251A (ja) 1981-10-27 1981-10-27 デ−タ処理方式

Publications (1)

Publication Number Publication Date
JPS5872251A true JPS5872251A (ja) 1983-04-30

Family

ID=15930568

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17183281A Pending JPS5872251A (ja) 1981-10-27 1981-10-27 デ−タ処理方式

Country Status (1)

Country Link
JP (1) JPS5872251A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009517568A (ja) * 2005-11-25 2009-04-30 アトラス コプコ ロツク ドリルス アクチボラグ ブームに組込まれた軸受

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009517568A (ja) * 2005-11-25 2009-04-30 アトラス コプコ ロツク ドリルス アクチボラグ ブームに組込まれた軸受

Similar Documents

Publication Publication Date Title
US20220237041A1 (en) Parallel processing system performing in-memory processing
JPS60176143A (ja) プログラム呼び出し装置
CN101847096B (zh) 包含栈变量函数的优化方法
JP4763598B2 (ja) プロセッサおよびデバイス
JP2009514043A5 (ja)
CN114253603A (zh) 用于处理器中的用户空间对象一致性的系统、装置和方法
KR102658600B1 (ko) 디바이스를 디버깅할 때 메타데이터에 액세스하기 위한 장치 및 방법
JPH0192856A (ja) アクセス及び欠陥論理信号を用いて主メモリユニットを保護する装置及び方法
JPS5872251A (ja) デ−タ処理方式
JP2009020695A (ja) 情報処理装置及びシステム
JPS61184643A (ja) 仮想計算機の起動制御方式
JPH0192843A (ja) データ処理装置
JP3006204B2 (ja) 情報処理装置
JP2552738B2 (ja) データ処理装置
JPH01123328A (ja) 計算機方式
JP3511935B2 (ja) マルチスレッド・プログラムにおけるファイル書込方式
JP3140028B2 (ja) サブルーチンの引数の受け渡し方式
JPS6042972B2 (ja) アドレス変換機能を有する情報処理装置
JPH02260082A (ja) 計算機方式
JPH0738168B2 (ja) データ処理装置
JPH02194439A (ja) プログラム実行方式
JPS6345652A (ja) 情報処理装置の無効化処理方式
JPS60215250A (ja) デ−タ処理装置
JPS6047613B2 (ja) マイクロプログラム制御方式
JP2018151692A (ja) 計算機及びアプリケーション管理方法