JPS5858652A - 最適な変位の決定方法 - Google Patents

最適な変位の決定方法

Info

Publication number
JPS5858652A
JPS5858652A JP15644881A JP15644881A JPS5858652A JP S5858652 A JPS5858652 A JP S5858652A JP 15644881 A JP15644881 A JP 15644881A JP 15644881 A JP15644881 A JP 15644881A JP S5858652 A JPS5858652 A JP S5858652A
Authority
JP
Japan
Prior art keywords
displacement
value
array
contents
register
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
JP15644881A
Other languages
English (en)
Other versions
JPS6229818B2 (ja
Inventor
Masao Kikuchi
正夫 菊池
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP15644881A priority Critical patent/JPS5858652A/ja
Publication of JPS5858652A publication Critical patent/JPS5858652A/ja
Publication of JPS6229818B2 publication Critical patent/JPS6229818B2/ja
Granted 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/355Indexed addressing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 本発明は、配列の要素の主記憶装置上の番地を計算スる
ためのオブジェクト・プログラムの命令の数を減少でき
ると共に、インデックス・レジスタをも共通化できるよ
5Kt、た最適な変位の決定方法に関するものである。
計算機の主記憶装置上の番地をアクセスするための命令
である、PX型式の命令は という形式を有している。こ〜で、OPはオペレーショ
ンΦコード、Rは汎用レジスタの番号、Xハインデック
ス・レジスタの番号、Bはベース・レジスタノ番号、D
は変位(ディスプレースメント又はオフセント)を示し
ている。主記憶上の番地は、インデックス・レジスタの
内容、ベースOレジスタの内容およびディスプレースメ
ントの和で表わされる。配列は同じ特性をもつ要素を所
定の規則和したがって並べたものであるか、配列は主記
憶上の連続した領域に格納されている。
第1図は配列アクセスの基本を示すものであって、Aは
配列名、(1)、(2)・・・(りは配列の要素のj一
番を示している。なお、図示の例では配列の要素の大き
さは4”としている。ベース・レジスタには一要素分だ
け前の番地(小さい番地]を設定する。
これによりてインデック拳レジスタ12は(z−1)×
4ではな(てtX4を設足するだけで済む。配列の要素
人@の番地を示す場合にはインデックス・レジスタは使
用せず変位を2×4とする。配列の要業人(りを表わす
場合にはインデックス・レジスタの内容なix4とし、
変位を101とする。配列の要素ム(t+3・)を表わ
す場合には、インデックス・レジスタの内容な龜×4と
し、変位を3×4とする。
第2図は配列のアクセスの一般的方法を示すものであり
、第2図においてBおよびCも配列を示している。計算
機におけるレジスタの個数は有限であるので、異なる複
数の配列で1つのベース・レジスタを使用することか望
まれる。このため、ベース・レジスタには、l要素分で
はなくて(犠+4)だけ前の番地を設定する。第2図の
例においては、配列の要素人(2)の番地を示す場合、
インデックス・レジスタは使用せず。変位は2X4+m
とされる。配列の要素人Ci)を表わす場合、インデッ
クス・レジスタの内容はix4とされ、変位は慣とされ
る。配列の要素A(143)を表わす場合、インデック
ス・レジスタの内容はi×4とされ、変位は3X4+m
とされる。
変位が例えば12ビツト構成であるとすると、−変位は
0”ないし“4095”の範囲の値を堆ることが出来る
。変位のとり得る最大値が決っているので、配列の要素
数が多い場合や配列の要素の寸 5法が大きい場合には
、上記のようにして計算された変位の値が最大値を1越
えてしまう場合がある。
例えば配列の要素A (441200)の変位を前記し
た方法で計算すると、1200X44mとなり、最大値
14095 ”を越えてしまう、計算の結果得られた変
位が’ 4095 ’の値を越えた場合、従来技術にお
いては、計算によって得られたインデックス・レジスタ
の内容に1200X4+sを加えたものを新たにインデ
ックス・レジスタに設足し、変位の値を101にしてい
た。このような従来方式によると、さらに配列の要素ム
(i+1500)の主記憶上の番地を求める場合、15
00X4+y+sを針算し、別のインデックス・レジス
タに’ X 4 + 1500 X 4 + 慣を設定
する必要があった。即ち、オブジェクト・プログラム上
で配列の要素A (s+1200)とA (t+150
0)の王記憶装置上の番地を求吟る場合、  iX4+
1200X4+漢を求める命令と、’、 (X4+11
・f(IOX4+v+sを求める命令とを余分に必要と
し、さらに、とれらの計算結果を設定する2個のインデ
ックス・レジスタを必要とした。
本発明は、上記の考察に基づくものであって、配列の要
素の主記憶上の番地を求める場合、主記憶上の番地を計
算するための命令とインデックス・レジスタの個数を減
少できるようKなった最適な変位の決足方法を提供する
ことを目的としている。そしてそのため、本発明の最適
な変位の決足方法は、ソース・プログラム上の配列Aの
要素A(z+A)  (ただし、tは変数、には定数)
の番地を、配列Aの先頭番地なO番地と返電したとき、
中間段階において第+D(ただし、Dは配列の要素の大
きさ)の内容゛を持つベース・レジス/、jX])ノ内
容ヲ持つインデックス−レジスタ、A+l)+Bの値を
もつディスプレースメントで表し、デイスプレスメント
の値か所定値を越えている場合、上記ベース・レジスタ
又はインデックス慟レジスタの内容を調節して上記配列
の要素(ink)の番地をオブジェクト・コードで表わ
すよ5Kした”3ン。
バイラにいて、中間段階において、上記デイスプ ・レ
ースメントの値tLispが所定値d*zp−を越えて
いる場合、値dizpを値dizp惰で除算したとぎに
生スる余りd*ap’をディスプレースメントの値とし
、dizp東P)dizp’を減算した値dizptを
上記ベース・レジスタ又はインデックス・レジスIの内
容に加算したことを特徴とするものである。以下、本発
明を図面を参照しつつ説明する。
第3図はコンパイラ処理の一部を説明するための図であ
る。ソース・プログラムが図示のよ5な配列の要素とD
O文を含んでいるものとすると、中間テキストの段階で
テーブルTlとT2が作成される。テーブルTIは配列
の要素人(j+1200) K対応するものであり、A
部はベース・レジスIをポイントしており、i部は制御
変数−の格納されているレジスタをポイントしてあり、
 dizp1部には1200X4+wが格納されている
。テーブルT2は配列の要素A (i+1500)に対
応するものであラズ、dizpZ部には1500X4+
sか格納されている。テーブルT2のA部およびi部は
テーブルTlのそれと同じである。中間テキストから機
械語を生成する最適化の段階において、コン/(イラは
変位tiizp1とdzIp2が4095を越えている
か否かを調べ、越えている場合には変位が4095以内
になるよ5に調整すると共に、インデックス・レジスタ
の内容(又はベース・レジスタの内容)に成る値を加算
するための命令を追加する。
第4図は本発明の詳細な説明する図であって、この第4
図においては、中間テキストの段階で配列の要素A (
j+x2oo)のメモリ・アドレスがインデックス・レ
ジスタσ)内容と変位displで表わされ、配列のi
NmA (t+1500)がインデックス・レジスタの
内容と変位dizp2で表わされるものとしている。第
4図では説明の簡単なためベース・レジスタは省略され
ている。変位diJPplおよびdizpQが’409
6’以上の場合、dIiIpl冨deept+ diz
pl’tLizp2m tLizp@ + dizp2
 ’とすることかできるなら、値dizp@をインデッ
クス・レジスタに加算し、値dizpt’を配列の要素
人(j+xzoo)のメモリ・アドレスを示す場合に用
いられる変位とし、値diep’J、’を配列の要素A
 ti+xsoo)のメモリ・アドレスを示す場合に用
いられる変位とする。このようKすれば、オブジェクト
・プログラムK Wmae + disptを計算する
命令を新I   / たに追加するだけで良く、また、インデックス−レジス
タは1個だけで良い。
第5図は中間テキスト段階で変位dizpが’4095
’を越える場合におけるインデックス・レジスタに加え
る値d龜zptおよび最終的に変位の値となるdhzp
dを求める方法を説明するものである。値dizpb1
に値dizpを最大値“4095 ”で割ったときの余
りとすれば良く、値dizptを値diりから値diz
pdを引算した結果とすれば曳い。
以上の説明から明らかなように、本発明によれば、配列
の要素のメモリ上のアドレスを求めるための命令数を従
来例に比して減少できると共に、インデックス・レジス
タを共通化できるという効果が得られる・
【図面の簡単な説明】
第1図は配列のアクセスの基本を示す図、第2図は配列
のアクセスの一般を示す図、第3図を1コンバイ2処理
の一部を示す図、第4図TIt本発明の原理を示す図、
第5図はインデックス・レジスタの内容の修正およびデ
ィスプレースメントの修正の方法を説明する図である。 特許出願人  富士通株式会社 代理人弁理士  京 谷 四 部 ヤ 1 口 ヤ2図 才3図

Claims (1)

    【特許請求の範囲】
  1. ンース・プログラム上の配列ムの要素人(t4−A)(
    ただし、iは変数、kは電数)の番地t、配列ムの先頭
    ’eo番地と仮足したとき、中間段階において−(s+
    D)  (ただし、Dは配列の要素の大きさ)の内容を
    持つベース−レジスタ、  jxl)の内容を持つイン
    デックス・レジスタ、AXD+sの値をもつディスプレ
    ースメントで表し、デイスプトスメントの値が所足値を
    越えている場合、上記ベース・レジスタ又はインデック
    ス・レジスタの内容を調節して上記配列の要素ム(g+
    A)の番地をオブジェクト・コードで表わすようにした
    コシノくイツにおいて、中間段階において上記ディスプ
    レースメントの値d i z′Pbs所定値d*Ipv
    mk越えている場合、値d目pt−値di#psで除算
    したときに生ずる余りdizp’?ディスプレースメン
    トの値とし、dizpからdizp’を減算した値di
    zptを上記ベース・レジスタ又はインデックス・レジ
    スタの内容に加算したことを特徴とする最適な変位の決
    定方法。
JP15644881A 1981-09-30 1981-09-30 最適な変位の決定方法 Granted JPS5858652A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15644881A JPS5858652A (ja) 1981-09-30 1981-09-30 最適な変位の決定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15644881A JPS5858652A (ja) 1981-09-30 1981-09-30 最適な変位の決定方法

Publications (2)

Publication Number Publication Date
JPS5858652A true JPS5858652A (ja) 1983-04-07
JPS6229818B2 JPS6229818B2 (ja) 1987-06-29

Family

ID=15627964

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15644881A Granted JPS5858652A (ja) 1981-09-30 1981-09-30 最適な変位の決定方法

Country Status (1)

Country Link
JP (1) JPS5858652A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60200341A (ja) * 1984-03-23 1985-10-09 Fujitsu Ltd 文字デ−タの仮想先頭アドレツシング方式
JPS61224042A (ja) * 1985-03-29 1986-10-04 Nec Corp 仮想記憶システムにおける配列要素接近に関する最適化コ−ド生成方式

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02138013U (ja) * 1989-04-18 1990-11-19

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60200341A (ja) * 1984-03-23 1985-10-09 Fujitsu Ltd 文字デ−タの仮想先頭アドレツシング方式
JPS61224042A (ja) * 1985-03-29 1986-10-04 Nec Corp 仮想記憶システムにおける配列要素接近に関する最適化コ−ド生成方式

Also Published As

Publication number Publication date
JPS6229818B2 (ja) 1987-06-29

Similar Documents

Publication Publication Date Title
JPS5858652A (ja) 最適な変位の決定方法
JP3489365B2 (ja) 表データ処理装置
JPH0421224B2 (ja)
JP2586479B2 (ja) 日本語ワ−ドプロセツサ
JP2650803B2 (ja) フルスクリーンエディタ制御処理装置
JP2889431B2 (ja) 文字処理装置
JPH0922343A (ja) 演算装置
JPS63311527A (ja) 情報処理装置
JPH08115322A (ja) 文字処理装置および方法
JPH05181819A (ja) データ入力装置
JPH04318893A (ja) 文字処理装置
JPH02297240A (ja) 入力装置
JPH02120918A (ja) 非線形入力のリニアライズ法
JPS63268026A (ja) デイスプレイ装置
JPH01112355A (ja) データ転送制御装置
JPH047746A (ja) 機械語翻訳プログラム方式
JPH06342430A (ja) 自動ページ分割表示編集装置
JPS61112261A (ja) デ−タ連鎖走査方式
JPH10307702A (ja) 小数点位置揃えプログラムを記録したコンピュータ読み取り可能な記録媒体
JPS6336475A (ja) 転置行列の作成装置
JPH05181845A (ja) 文字列割付け制御方式
JPH0683820A (ja) 文書データ出力装置
JPS61255459A (ja) 表計算処理装置
JPH05216764A (ja) 仮想空間選択装置
JPH04109322A (ja) キー入力処理装置