JPS638491B2 - - Google Patents

Info

Publication number
JPS638491B2
JPS638491B2 JP58009016A JP901683A JPS638491B2 JP S638491 B2 JPS638491 B2 JP S638491B2 JP 58009016 A JP58009016 A JP 58009016A JP 901683 A JP901683 A JP 901683A JP S638491 B2 JPS638491 B2 JP S638491B2
Authority
JP
Japan
Prior art keywords
address
offset
register
instruction
storage device
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
JP58009016A
Other languages
English (en)
Other versions
JPS59135550A (ja
Inventor
Yoshuki Uchama
Naosuke Haruna
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP58009016A priority Critical patent/JPS59135550A/ja
Publication of JPS59135550A publication Critical patent/JPS59135550A/ja
Publication of JPS638491B2 publication Critical patent/JPS638491B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/345Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results

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)

Description

【発明の詳細な説明】 産業上の利用分野 本発明は1命令語で多重アドレス修飾指定がで
きる可変長記憶装置参照命令のアドレス修飾処理
を行うアドレス修飾装置に関する。
従来例の構成とその問題点 近年、電子計算器の利用においては高級言語が
採用されてプログラミングがしやすくなり、ソフ
トウエア作成の効率が上がり、プログラムの変更
や保守がしやすくなつている。しかし最近の高級
言語のなかには複数データを結合した構造体型と
ポインタ型あるいはこれに類したものを有してい
る言語がある。プログラム作成時に、構造体型を
参照するポインタ型を多用すると、間接アドレス
修飾のために複数の命令語が必要となり、オブジ
エクト量が必要以上に大きくなり、これに伴つて
実行時間も増えるという欠点を有していた。
以下に従来のアドレス修飾装置の動作を下記表
に示すC言語のプログラムの第18行目のアドレス
修飾処理動作を例として説明する。
〈表〉 1 main( ){ 2 struct example1 *ex1; 3 struct example1 { 4 int a; 5 char *b; 6 struct example2 *ex2; 7 }; 8 struct example2 { 9 int c; 10 struct example3 *ex3; 11 }; 12 struct example3 { 13 char *d; 14 int e; 15 int f; 16 }; 17 18 ex1−>ex2−>ex3−>f=7; 19 } 第1図は従来の記憶装置参照命令の1フオーマ
ツト例を示しOPがオペレーシヨン部、M〜D部
がオペランド部である。また、第2図は従来のア
ドレス修飾装置の構成図である。1は記憶装置4
より読み出された命令を格納するインストラクシ
ヨンレジスタ、2はインストラクシヨンレジスタ
1のM部の内容に基づきアドレス修飾の種類を判
定しD部のデータから処理すべきデータの格納さ
れている記憶装置4上のアドレスを生成するアド
レス回路である。また、3はメモリアドレスレジ
スタ、5はメモリデータレジスタ、6は処理装
置、7は汎用レジスタである。
以上のように構成された従来のアドレス修飾装
置において、上記表に示すプログラムの第18行目
のアドレス修飾処理は以下のような命令で行なわ
れる。
LOAD R,ADDR1 ADD R, 2 LOAD R,(R) ADD R, 1 LOAD R,(R) ADD R, 2 なお、上記表のプログラムの第2行目から第16
行目の定義部は第3図のように記憶装置4上に領
域が確保されているものとする。
の命令がインストラクシヨンレジスタ1に取
り出され、アドレス回路2において、インストラ
クシヨンレジスタ1のM部の内容に基づきアドレ
ス修飾の種類を直接アドレス修飾と判定し、D部
の内容ADDR1をメモリアドレスレジスタ3に格
納する。メモリアドレスレジスタ3の指す記憶装
置4上のADDR1番地の内容ADDR2がメモリデ
ータレジスタ5に格納され、処理装置6を経由し
て汎用レジスタ7に格納される。次に、の命令
がインストラクシヨンレジスタ1に取り出されア
ドレス回路2において、インストラクシヨンレジ
スタ1のM部の内容に基づきアドレス修飾処理を
行なう必要なしと判定し、処理装置6によつてイ
ンストラクシヨンレジスタ1のD部の内容と汎用
レジスタ7の内容ADDR2を加算してADDR3を
得、汎用レジスタ7に格納する。次に、の命令
がインストラクシヨンレジスタ1に取り出されア
ドレス回路2において、インストラクシヨンレジ
スタ1のM部の内容に基づきアドレス修飾の種類
を間接アドレス修飾と判定し、D部の内容
ADDR3をメモリアドレスレジスタ3に格納す
る。メモリアドレスレジスタ3の指す記憶装置4
上のADDR3番地の内容ADDR4がメモリデータ
レジスタ5に格納され、処理装置6を経由して汎
用レジスタ7に格納される。以下,,の機
械語命令についても前記と同様に処理が行なわれ
の命令実行後に記憶装置4上の最終参照アドレ
スADDR7が得られ、汎用レジスタ7に格納され
る。
しかしながら上記の従来の例の場合、最終参照
アドレスADDR7を得るには、汎用レジスタ7を
1個専有してLOAD,ADD命令を繰返し実行し
なければならないので、オブジエクト量が必要以
上に大きくなりこれに伴つて実行時間も増えると
いう問題点を有していた。
発明の目的 本発明はソフトウエアにかかる負担を軽減し、
以つて実行時間、メモリ効率の向上を図ることが
できるアドレス修飾装置を提供することを目的と
する。
発明の構成 本発明のアドレス修飾装置は、1命令で多重ア
ドレス修飾処理を実行するための複数のオフセツ
ト部を有した可変長記憶装置参照命令を設ける手
段と、前記可変長記憶装置参照命令の多重アドレ
ス修飾の種類と前記オフセツト部の個数を解読す
るアドレス回路と、前記アドレス回路の解読結果
に基づいて、多重アドレス修飾の種類の解読によ
つて求まる最初のメモリアドレスに第1のオフセ
ツトを加算して第2のメモリアドレスを求め、求
められた第2のメモリアドレスに第2のオフセツ
トを加算して第3のメモリアドレスを求め、以上
の処理をオフセツト部の個数回繰返して最終メモ
リアドレスを求める制御回路とを設けたことを特
徴とする。
実施例の説明 以下、本発明の一実施例を図面に基づいて説明
する。第4図は本発明に於いて用いられる1命令
で多重アドレス修飾処理を実行する可変長記憶装
置参照命令の1フオーマツト例を示し、OPがオ
ペレーシヨン部、M〜Dがオペランド部、OFF1
〜OFFoがオフセツト部である。また第5図は本
発明の実施例におけるアドレス修飾装置の構成図
を示すものである。第5図において、8は記憶装
置14より読み出された命令を格納するインスト
ラクシヨンレジスタ、9はインストラクシヨンレ
ジスタ8のM部の内容に基づきアドレス修飾の種
類を判定しD部の内容から処理すべきデータの格
納されている記憶装置14上のアドレスを生成
し、かつ可変長記憶装置参照命令が読み出された
時にオフセツト部の個数を生成するアドレス回
路、10はインストラクシヨンレジスタ8のオフ
セツト部の値が順次格納されるオフセツトレジス
タ、11は可変長記憶装置参照命令が読み出され
た時にアドレス回路9で生成されるオフセツト部
の個数が格納されオフセツト部の値が読み出され
るごとに1づつ減算されるオフセツトカウンタ、
12はアドレス回路9で生成される記憶装置14
上のアドレスが格納されるメモリアドレスレジス
タ、13はメモリアドレスレジスタ12の内容と
オフセツトレジスタ10の内容とを加算して次に
処理すべきデータの格納されている記憶装置14
上のアドレスを生成するアドレス加算器である。
また、15はメモリデータレジスタ、16は処理
装置、17は汎用レジスタである。
以上のように構成された本実施例のアドレス修
飾装置について、以下その動作を前記表に示した
C言語のプログラムの第18行目のアドレス修飾処
理動作を例として説明する。
本実施例において、表のプログラムの第18行目
のアドレス修飾処理は以下のような1可変長記憶
装置参照命令で実行される。
LOAD R, ADDR1, 212 なお、プログラムの第2行目から第16行目の定
義部は第3図のように記憶装置14上に領域が確
保されているものとする。
の可変長記憶参照命令がインストラクシヨン
レジスタ8に読み出され、アドレス回路9におい
て、インストラクシヨンレジスタ8のM部の内容
に基づきアドレス修飾の種類を多重間接アドレス
修飾と判定し、D部の内容ADDR1をメモリアド
レスレジスタ12に格納するとともに、オフセツ
ト部の個数“3をオフセツトカウンタ11に格納
する。次にメモリアドレスレジスタ12の内容
ADDR1を実効アドレスとしADDR1の指す記憶
装置14上の内容ADDR2をメモリデータレジス
タ15に格納する。同時に、オフセツトカウンタ
11の値“3”を“1”だけ減算するとともに、
インストラクシヨンレジスタ8のオフセツト部の
最初の値“2”をオフセツトレジスタ10に格納
する。次に、メモリデータレジスタ15とオフセ
ツトレジスタ10の内容とをアドレス加算器13
で加算して、ADDR2+2=ADDR3を得、メモ
リアドレスレジスタ12に格納し、メモリアドレ
スレジスタ12の内容ADDR3を実効アドレスと
しADDR3の指す記憶装置14上の内容ADDR4
をメモリデータレジスタ15に格納する。同時
に、オフセツトカウンタ11の値“2”を“1”
だけ減算するとともにインストラクシヨンレジス
タ8のオフセツト部の値“1”をオフセツトレジ
スタ10に格納する。次に、再びメモリデータレ
ジスタ15とオフセツトレジスタ10の内容とを
アドレス加算器13で加算してADDR4+1=
ADDR5を得、メモリアドレスレジスタ12に格
納し、メモリアドレスレジスタ12の内容
ADDR5を実効アドレスとし、ADDR5の指す記
憶装置14上の内容ADDR6をメモリデータレジ
スタ15に格納する。同時に、オフセツトカウン
タ11の値“1”を“1”だけ減算するとともに
インストラクシヨンレジスタ8のオフセツト部の
次の値“2”をオフセツトレジスタ10に格納す
る。再び、メモリデータレジスタ15とオフセツ
トレジスタ10の内容とをアドレス加算器13で
加算して得られるADDR6+2=ADDR7を得、
メモリアドレスレジスタ12に格納する。この時
点でオフセツトカウンタ11の値は“0”となつ
ており、オフセツトカウンタ11の値が“0”と
なつた時点のメモリアドレスレジスタ12の内容
ADDR7を最終実行アドレスとする。
以上のように本実施例によれば、1命令で多重
アドレス修飾処理を実行する可変長記憶参照命令
を設け、前記可変長記憶参照命令の多重アドレス
修飾の解読と実行を行なうアドレス修飾装置をハ
ードウエアとして設けることにより、ソフトウエ
アにかかる負担を軽減し、以つて実行時間、メモ
リ効率の向上を図ることができる。
なお、本発明の実施例においてアドレス修飾方
式として間接アドレス修飾をもちいたが、アドレ
ス修飾方式としては、直接アドレス修飾、相対ア
ドレス修飾、相対間接アドレス修飾など公知のア
ドレス修飾方式でもよい。
発明の効果 以上説明のように本発明のアドレス修飾装置に
よると、可変長記憶装置参照命令を設ける手段
と、前期可変長記憶装置参照命令の多重アドレス
修飾の種類と前記オフセツト部の個数を解読する
アドレス回路と、アドレス回路の解読結果に基づ
く多重アドレス修飾処理を行う制御回路とを設け
たため、構造体、ポインタ型あるいはこれらに類
した型を有している高級言語を実行する際に、高
級言語で記述された多重アドレス修飾のためのス
テートメントを1命令で実行でき、ソフトウエア
にかかる負担を軽減し、以つて実行時間、メモリ
効率の向上を図ることができ、その実用的効果は
大きいものである。
【図面の簡単な説明】
第1図は従来の記憶装置参照命令のフオーマツ
ト図、第2図は従来のアドレス修飾装置の構成
図、第3図は多重アドレス修飾を必要とするプロ
グラムの定義部の記憶装置上の配置図、第4図は
本発明の実施例に於いて用いられる可変長記憶装
置参照命令のフオーマツト図、第5図は本発明の
一実施例におけるアドレス修飾装置の構成図であ
る。 8……インストラクシヨンレジスタ、9……ア
ドレス回路、10……オフセツトレジスタ、12
……メモリアドレスレジスタ、13……アドレス
加算器、14……記憶装置、15……メモリデー
タレジスタ、16……処理装置、17……汎用レ
ジスタ。

Claims (1)

  1. 【特許請求の範囲】 1 1命令で多重アドレス修飾処理を実行するた
    めの複数のオフセツト部を有した可変長記憶装置
    参照命令を設ける手段と、前記可変長記憶装置参
    照命令の多重アドレス修飾の種類と前記オフセツ
    ト部の個数を解読するアドレス回路と、前記アド
    レス回路の解読結果に基づいて、最初のメモリア
    ドレスに第1のオフセツトを加算して第2のメモ
    リアドレスを求め、求められた第2のメモリアド
    レスに第2のオフセツトを加算して、第3のメモ
    リアドレスを求め、以上の処理をオフセツト部の
    個数回繰返して最終メモリアドレスを求める制御
    回路とを設けたアドレス修飾装置。 2 制御回路を、可変長記憶装置参照命令のオフ
    セツト部の個数を格納しオフセツト部の値が読み
    出されるごとに1づつ減算されるオフセツトカウ
    ンタと、オフセツト部の値が順次格納されるオフ
    セツトレジスタと、前記オフセツトレジスタの内
    容とメモリアドレスレジスタの内容を加算するア
    ドレス加算器とで構成したことを特徴とする特許
    請求の範囲第1項記載のアドレス修飾装置。
JP58009016A 1983-01-21 1983-01-21 アドレス修飾装置 Granted JPS59135550A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58009016A JPS59135550A (ja) 1983-01-21 1983-01-21 アドレス修飾装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58009016A JPS59135550A (ja) 1983-01-21 1983-01-21 アドレス修飾装置

Publications (2)

Publication Number Publication Date
JPS59135550A JPS59135550A (ja) 1984-08-03
JPS638491B2 true JPS638491B2 (ja) 1988-02-23

Family

ID=11708852

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58009016A Granted JPS59135550A (ja) 1983-01-21 1983-01-21 アドレス修飾装置

Country Status (1)

Country Link
JP (1) JPS59135550A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01288693A (ja) * 1988-05-17 1989-11-20 Awaji Sangyo Kk 内面被覆管端継手用コア

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61117755A (ja) * 1984-11-12 1986-06-05 Copal Co Ltd デイスクドライブ装置における磁気記録媒体のチヤツク機構
JP2902402B2 (ja) * 1987-09-30 1999-06-07 三菱電機株式会社 データ処理装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0235743B2 (ja) * 1982-08-17 1990-08-13 Nippon Soda Co Hokozokukarubonsanbenjiruesuteruruinoseiho

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01288693A (ja) * 1988-05-17 1989-11-20 Awaji Sangyo Kk 内面被覆管端継手用コア

Also Published As

Publication number Publication date
JPS59135550A (ja) 1984-08-03

Similar Documents

Publication Publication Date Title
DE69627807T2 (de) Datenprozessor zum gleichzeitigen Dataladen und Durchführung einer multiplizier-addier Operation
JPH1091443A (ja) 情報処理回路、マイクロコンピュータ及び電子機器
JPS62197830A (ja) デ−タ処理システム
US4245327A (en) Data processor having two types of carry flags
JPS638491B2 (ja)
JPH0523447B2 (ja)
JP3511691B2 (ja) 演算処理装置
JPH0218729B2 (ja)
JPH0831033B2 (ja) データ処理装置
JP2743947B2 (ja) マイクロプログラム制御方式
JPH0340422B2 (ja)
JPH01134627A (ja) マイクロプロセサの命令拡張方式
JP3116444B2 (ja) 半導体計算装置および電子機器
JPS59148947A (ja) デ−タ処理装置
JPS6152747A (ja) マイクロプロセツサ
JPS6126693B2 (ja)
JPS61264444A (ja) 中央処理装置のデ−タ処理方式
JPS60122442A (ja) メモリ処理装置
JPS6224328A (ja) プログラムカウンタ回路
JPH11143710A (ja) 処理対象値入力装置及びプログラム変換装置
JPS61100836A (ja) 移動命令論理比較命令処理方式
JPS60220468A (ja) ベクトル演算制御方式
JPS62295138A (ja) アドレス生成方式
JPH05250156A (ja) Riscプロセッサ
JPS63206834A (ja) 命令制御におけるエラ−検出処理方式