JPS62295138A - アドレス生成方式 - Google Patents

アドレス生成方式

Info

Publication number
JPS62295138A
JPS62295138A JP13731986A JP13731986A JPS62295138A JP S62295138 A JPS62295138 A JP S62295138A JP 13731986 A JP13731986 A JP 13731986A JP 13731986 A JP13731986 A JP 13731986A JP S62295138 A JPS62295138 A JP S62295138A
Authority
JP
Japan
Prior art keywords
address
data
memory
register
instruction
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
JP13731986A
Other languages
English (en)
Inventor
Kazunori Sekido
一紀 関戸
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.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
Agency of Industrial Science and Technology
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 Agency of Industrial Science and Technology filed Critical Agency of Industrial Science and Technology
Priority to JP13731986A priority Critical patent/JPS62295138A/ja
Publication of JPS62295138A publication Critical patent/JPS62295138A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Complex Calculations (AREA)

Abstract

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

Description

【発明の詳細な説明】 3、発明の詳細な説明 [発明の目的] (産業上の利用分野) 本発明はメモリに対して3つのアドレスを指定し、メモ
リの第1のアドレスに格納されたデータと第2のアドレ
スに格納されたデータとの間の演算結果を第3のアドレ
スに格納して、例えばベクトル等の長いデータを処理す
る3アドレス方式す計算機におけるアドレス生成方式に
関する。
(従来の技術) ベクトルデータ等の長いデータを処理する場合には、例
えば第6図に示すようにメモリ1の第1のアドレスAに
格納されたデータと第2のアドレスBに格納されたデー
タとを演算器2に読出し、これらのデータの間で所定の
演算を行わせた演算結果を上記メモリlの第3のアドレ
スCに直接格納する処理が行われる。
このような演算処理形態は3アドレス指定方式と称され
、例えば第7図に示すようなフォーマットの命令を用い
て上記メモリlに対する3つのアドレスを直接的に指定
することによって行われる。
即ち、この命令は、演算の種類を指定するコードが与え
られるOP(演算)フィールド、メモリ1に対する3つ
のアドレスをそれぞれ指定するデータが与えられる3つ
のアドレスフィールドを備えて構成される。
3アドレス方式の計算機は、このような命令を受けてA
フィールドおよびBフィールドのアドレスデータで示さ
れるメモリ1のアドレスに格納されたデータを読出し、
それらのデータ間で上記OPフィールドで示される演算
を実行し、その演算結果をCフィールドのアドレスデー
タで示され゛る前記メモリ1のアドレスに格納して、そ
の命令を実行することになる。
またこのようなフォーマットの命令に代えて、3つのア
ドレスレジスタを設け、これらの各レジスタに上述した
3つのアドレスデータをそれぞれ格納して、その演算を
実行する方式もある。
ところが、この3アドレス方式による計算機において1
つの演算を実行する場合、それに必要な命令語を取出す
には何回もメモリリードしなければならないと云う不具
合がある。
即ち、1回のメモリアクセスのビット幅(1語)が32
ビツトの計算機において、そのメモリ1に準備されたア
ドレス空間が2の24乗(224)である場合、前述し
た命令における3つのアドレスフィールドのビット幅を
それぞれ24ビットとすることが必要となる。ここで演
算の形式を指定するOPフィールドが8ビツトで与えら
れるとしても、その命令語のビット長は72ビツトにも
達する。
これ故、この命令語を上述したメモリアクセスのビット
幅が32ビツトの計算機で取出す為には、少なくとも3
回のメモリリードが必要となる。
ちなみに前述した3つのアドレスレジスタを用いる場合
であっても、これらの各レジスタにそれぞれアドレスデ
ータをセットするには3回の命令が必要となり、やはり
3回以上のメモリリードが必要となる。
このようなメモリリードに要する時間は、例えばベクト
ル演算のようにその演算の実行に長い時間を要する場合
にはさほど問題とならないが、スカラ演算のように演算
実行時間が短い場合には、演算処理効率の点で大きな問
題となる。
例えば1回のメモリリードに要する時間をtとすると、
上記命令語の読出しに3tの時間を必要とする。ここで
ベクトル演算に要する時間が100t、スカラ演算に要
する時間がtであるとする。この場合、上記ベクトル演
算を実行する所要時間中の実際に演算に用いられた時間
の割合いが(100/103 ’) 、つまり約97%
であるのに対し、スカラ演算にあっては(1/4 ) 
、つまり25%にしか過ぎない。つまりスカラ演算の如
き簡単な演算にあっては、その殆んど時間をメモリリー
ドに費やすことになり、甚だ処理効率が悪い。
(発明が解決しようとする問題点) このように3アドレス方式にあっては、実行時間の短い
演算が多い場合には計算機の性能を低下させてしまう。
これ故、3アドレス方式を汎用の計算機に適用する上で
大きな問題となっている。
特に専用の3アドレス方式の計算機にあっても、上述し
たベクトル演算とスカラ演算とを同じ演算器2で実行す
るような場合でも同様な問題がある。
本発明はこのような事情を考慮してなされたもので、そ
の目的とするところは、3アドレス方式の計算機におい
て必要な命令語を取出す為のメモリリードの回数を減少
させ、その実質的な演算処理効率の向上を図ることので
きるアドレス生成方式を提供することにある。
[発明の構成] (問題点を解決する為の手段) 本発明はメモリに対して3つのアドレスを指定して所定
の演算を実行させる3アドレス方式の31算機において
、 演算フィールドと3つのアドレスフィールドを持つ命令
を入力し、上記演算フィールドのデータにより陽または
陰に指定されるレジスタに格納されたアドレスデータと
、上記3つのアドレスフィールドにそれぞれ格納された
相対アドレスデータとの加算値を求め、これらの加算値
を前記メモリに対して指定する3つのアドレスとして生
成するようにしたものである。
つまり命令語の3つのフィールドに、上記レジスタによ
って指定されるアドレスからの、必要とする3つのアド
レスの相対アドレスをそれぞれ格納しておき、これらの
各相対アドレスを上記レジスタが示すアドレスに加算し
、3アドレス方式の演算に必要な3つのアドレスデータ
をそれぞれ求めるようにしたものである。
(作用) かくして本発明によれば、3アドレス方式の;演算に必
要な3つのアドレスを特定するデータが、レジスタによ
って示される成るアドレスからの相対アドレス(オフセ
ット)として与えられるので、メモリ空間が膨大であり
、そのアドレスを直接的に指定する為には長いビット長
のデータを必要とする場合であっても、これを短いビッ
ト長で表現することが可能となる。例えば前述した例で
は各相対アドレスのデータをそれぞれ8ビツトで表現す
ることが可能となり、命令語の長さを32ビツトに抑え
ることが可能となる。
従ってこの場合には命令語を1回のメモリリードで取出
すことが可能となり、一般的には上述した従来のシステ
ムに比較してそのメモリリードの回数を少なくすること
が可能となる。
(実施例) 以下、図面を参照して本発明の実施例につき説明する。
第1図は本方式を適用して構成されるアドレス生成回路
の概略構成図であり、第2図はそこで用いられる命令語
のフォーマットを示す図である。
この実施例で示す3アドレス方式の計算機は、例えば3
2ビツトを1語(メモリアクセスのビット幅)として動
作し、232のメモリアドレス空間を1)えたものとな
っている。しかしてそこで用いら・11 1゛ つのアドレスフィールドを備えた32ビツトの命令語と
して構成される。
この命令語の1〜8ビツト目のOPフィールドにはその
演算の種別を示すデータが入れられ、9〜16ビツト目
のアドレスフィールドAにはメモリに対する第1のソー
スアドレスを指定するデータが入れられる。また17〜
24ビツト目のアドレスフィールドBにはメモリに対す
る第2のソースアドレスを指定するデータが、そして2
5〜32ビツト目のアドレスフィールドCにはメモリに
対するディスティネーショシアドレスを指定するデータ
がそれぞれ入れられる。
しかしてこの命令語は、計算機の制御部によって取出さ
れ、第1図に示す命令レジスタ11に保持される。計算
機は、この命令レジスタ11に保持されfこOPフィー
ルドのデータをデコードする等してその演算命令を認識
する。また図中12はその演算命令によって陽または陰
に指定されるレジスタであり、その演算に応じたアドレ
スデータ(32ビツト)を格納している。即ち、このレ
ジスタ12は、演算命令によって固定的に指定されるも
のであっても良く、或いはその演算命令に応じて流動的
に指定されるものであっても良い。要は、命令レジスタ
11にセットされた命令に対応してレジスタ12衿〈定
められるものとなっている。
ここでレジスタ12は、例えば第3図に示すようへこ2
32のアドレス空間を持つメモリ13の、指定された演
算命令の実行の基準となる基準アドレスを1〜24ビツ
ト目の上位24ビツトを用いて指示するアドレスデータ
を格納している。この場合、レジスタ12に格納された
データの25〜32ビツト目のデータは0であって良い
これに対して、このレジスタ12を指定する前記命令語
のアドレスフィールドA、B、Cには、上記レジスタ1
2に格納された 1〜24ビツト目の上位24ビツトの
データで指定されるメモリ13の基準アドレスからの相
対アドレスを示すデータがそれぞれ格納されている。換
言すれば、命令語のアドレスフィールドA、B、Cには
、メモリ13のアドレスをそれぞれ直接指定するアドレ
スデータではなく、上記基準アドレスからのずれ量を示
すアドレスオフセットとしての相対アドレスのデータが
、それぞれ8ビツトで表現されて格納されている。
しかして第1図に示すアドレス生成回路では、レジスタ
12に格納された上位24ビツトのアドレスデータに前
記命令レジスタ11に格納されたアドレスフィールドA
の 8ビツトの相対アドレスデータを下位ビットデータ
として加算し、その加算データ (32ビツト)をメモ
リ13に対する第1のソースアドレスデータSAIとし
て生成している。
同様にしてアドレス生成回路は、上記上位24ビツトの
データにアドレスフィールドBの 8ビツトの相対アド
レスデータを下位ビットデータとして加算し、その加算
データ(32ビツト)をメモリ13に対する第2のソー
スアドレスデータSA2とし、また上記上位24ビツト
のデータにアドレスフィールドCの8ビツトの相対アド
レスデータを下位ビットデータとして加算し、その加算
データ(32ビツト)をメモリ13に対するディスティ
ネーションアドレスデータDAとしている。
この結果、メモリ13のアドレスSA1.SA2がそれ
ぞれ指定され、そこに格納されたデータが演算器14に
読出されて前記演算命令で示される演算が実行される。
そしてその演算結果がメモリ13のアドレスDAに格納
されることになる。
このように本方式によれば、メモリ13に対するアドレ
スのデータが、レジスタ12に格納されたデータによっ
て示されるところの基準アドレスからの変位量、つまり
相対アドレスとして指定されるので、その命令語のビッ
ト長を短くすることができる。
なる。従って1つの演算を実行するに必要な命令語の取
出しの為のメモリリード量(回数)を減らし、多数のメ
モリリードを行う為に発生する計算機処理性能の低下を
防ぐことが可能となる。
故に、3アドレス方式による演算処理の適用範囲の拡大
を図ることが可能となり、また汎用計算機への適用も容
易となる。
ここで命令レジスタ11は、計算機を制御する為の重要
な構成要素であり、必ず備えられているものである。そ
して新たに必要とするのはレジスタ12であるが、計算
機に備えられている複数のレジスタの1つを利用すれば
良いものであるから、ハードウェアの量を増やすことな
く上述した方式による効率の良い演算の実行が可能とな
る。
尚、このような方式による演算を実行するに際しては、
例えば演算に用いるデータを基準アドレスをベースとし
て1か所に集め、そのデータの集団の先頭アドレスを上
記基準アドレスとしておく等の工夫を必要とする。しか
しその工夫はソフトタ集団としてメモリアドレスの割付
けを行うこと1こよって、上3己アドレスデータのセッ
トをプログラム単位内で1回だけ行えば十分となる。従
ってレジスタ12へのアドレスデータのセットは、全体
的にみて処理性能の低下には殆んどつながらない。
ところでCUBIE(3,3,3)で宣言されるベクト
ルデータは、例えばフォートランでは第4図に示すよう
にメモリ上に割付けられる。故に、例えばCUBE (
1,2,I)   I−1,3で示されるベクトルデー
タの要素は、9アドレスの間隔で配列されることになる
このように配列されたベクトルデータに対する演算を行
う場合には、例えば第5図に示す如く構成されたアドレ
ス生成回路を用いるようにすれば良い。
このアドレス生成回路は、命令レジスタ11にセットさ
れた各相対アドレスデータとレジスタ12にセットされ
た基準アドレスデータとから、前述した第1および第2
のソースアドレスSA1.SA2とディスティネーショ
ンアドレスDAをそれぞれ生成する演算部15.18.
17を備えて構成される。
これらの演算部15.18.17は、それぞれ前記レジ
スタ12から与えられるデータを格納する第1のバッフ
ァレジスタ21、前記命令語の相対アドレスデータがセ
ットされる第2のバッファレジスタ22と、これらのバ
ッフ7レジスタ21.22にセットされたデータを加算
し、その加算データで上記第1のバッファレジスタ21
のセットデータを更新する加算器23によって構成され
る。
しかしてこのアドレス生成回路は、命令レジス′夕11
にセットされた演算命令の実行開始が指定されたとき、
先ず前記レジスタ12にセットされている基準アドレス
データを各演算部15.16.17の第1のバッファレ
ジスタ21にそれぞれ読出し、同時に命令レジスタ11
の各アドレスフィールドにセットされている相対アドレ
スデータを各演算部15゜10、17の第2のバッファ
レジスタ22にそれぞれ読出している。
この状態で、先ず上記第1および第2のバッファレジス
タ21.22に格納されたデータの加算値を求め、これ
を第1のバッファレジスタ21に格納している。この結
果、各演算部15.18.17の多筒1のバッファレジ
スタ21から、第1および第2のソースアドレスSA1
.SA2とディスティネーションアドレスDAがそれぞ
れ出力される。
しかる後、次のタイミングでは、上記第1のバッファレ
ジスタ21に格納された各アドレスデータおよび第2の
ソースアドレスSA1.SA2とディスティネーション
アドレスDAとしてそれぞれ出力している。
以下、この処理を順次繰返して、次々と新しいソースア
ドレスSAI、SA2とディスティネーションアドレス
DAとを生成するものとなっている。
このようにしてこのアドレス生成回路では、レジスタI
2にセットされた基準アドレスをベースとし、これに相
対アドレスデータを次々と加算し、その相対アドレスデ
ータで示されるステップ(アドレス間隔)でソースアド
レスSAI、SA2とディスティネーションアドレスD
Aとを順次生成している。
従って前述した第4図に示すキューブ配列構造のデータ
を順次読出して、それらのデータ間のベクトル演算を行
うような場合、そのデータのアドレス間隔を示す相対ア
ドレスデータを前記命令語のアドレスフィールドにセッ
トしておくことによって、前述した配列構造のデータを
次々とアクセスすることが可能となる。
そしてこの場合にあっても、上記命令語を取出すメモリ
リードは1回で十分であり、先に説明した実施例と同様
な効果が奏せられる。
尚、本発明は上述した実施例に限定されるものではない
。ここでは32ビツトをを1語とする計算機を例に説明
したが特に限定されるものではなく、また処理対象とす
るメモリアドレス空間の大きさも特に限定されない。要
は、3アドレス方式の計算機におけるアドレス生成方式
として幅広く適用することができ、汎用計算機に対して
も適用可能である。その他、本発明はその要旨を逸脱し
ない範囲で種々変形して実施することができる。
[発明の効果〕 以上説明したように本発明によれば、レジスタにセット
された基準アドレスデータに対して、命令語のアドレス
フィールドにセットされた相対アドレスを加算してメモ
リに対するアドレスを生成するので、命令語のビット長
を短くすることができる。これ故、その命令語を取出す
為のメモリリードの回数を少なくすることが可能となり
、計算機の処理性能の低下を防ぐことが可能となる。
そしてスカラ演算やベクトル演算等を3アドレス方式に
より効率良く実行することが可能となる。
【図面の簡単な説明】
第1図は本発明の一実施例方式を適用したアープ配列さ
れたベクトル演算データの構造を示す図、第5図は本発
明の他の実施例を示すアドレス生成回路の概略構成図、
第6図は3アドレス方式の演算処理を説明する為の図、
第7図は3アドレス方式で用いられる従来の命令語のフ
ォーマットの例を示す図である。 11・・・命令レジスタ、12・・・レジスタ、13・
・・メモリ、14−’・演算器、15.16.17・・
・演算部、21.22・・・バッファレジスタ、23・
・・加算器、A、B、C・・・アドレスフィールド(相
対アドレス)、OP・・・演算フィールド。 出願人 工業技術院長 等々力 達 第4図(SAI) (SA2)(DA)第2図 第3図 第4図 第 5図 第6図 M7図

Claims (2)

    【特許請求の範囲】
  1. (1)メモリに対して3つのアドレスを指定し、上記メ
    モリの第1のアドレスに格納されたデータと第2のアド
    レスに格納されたデータとの間の演算結果を第3のアド
    レスに格納する3アドレス方式の計算機において、 演算フィールドと3つのアドレスフィールドを持つ命令
    は、指定されたレジスタに格納されたデータが示す前記
    メモリのアドレスに対する前記3つのアドレスの各相対
    アドレスデータを上記3つのアドレスフィールドにそれ
    ぞれ格納し、 各アドレスフィールドに格納された相対アドレスデータ
    と前記レジスタに格納されたデータとの加算値を前記メ
    モリに対して指定する3つのアドレスとして生成してな
    ることを特徴とするアドレス生成方式。
  2. (2)レジスタは、演算フィールドに格納されるデータ
    によって陽または陰に指定されるものである特許請求の
    範囲第1項記載のアドレス生成方式。
JP13731986A 1986-06-14 1986-06-14 アドレス生成方式 Pending JPS62295138A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13731986A JPS62295138A (ja) 1986-06-14 1986-06-14 アドレス生成方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13731986A JPS62295138A (ja) 1986-06-14 1986-06-14 アドレス生成方式

Publications (1)

Publication Number Publication Date
JPS62295138A true JPS62295138A (ja) 1987-12-22

Family

ID=15195901

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13731986A Pending JPS62295138A (ja) 1986-06-14 1986-06-14 アドレス生成方式

Country Status (1)

Country Link
JP (1) JPS62295138A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02301831A (ja) * 1989-05-17 1990-12-13 Mitsubishi Electric Corp ディジタル信号処理プロセッサ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02301831A (ja) * 1989-05-17 1990-12-13 Mitsubishi Electric Corp ディジタル信号処理プロセッサ

Similar Documents

Publication Publication Date Title
US4539635A (en) Pipelined digital processor arranged for conditional operation
JPH04172533A (ja) 電子計算機
US4598358A (en) Pipelined digital signal processor using a common data and control bus
JPH03233630A (ja) 情報処理装置
JP2002229778A (ja) 高速ディスプレースメント付きpc相対分岐方式
JPS62226231A (ja) プロセツサ
US6223275B1 (en) Microprocessor with reduced instruction set limiting the address space to upper 2 Mbytes and executing a long type register branch instruction in three intermediate instructions
JPH034936B2 (ja)
JPS62295138A (ja) アドレス生成方式
JP2020502669A (ja) ベクトル生成命令
EP0180077B1 (en) A data processing machine for compiling computer programs
JPH0512751B2 (ja)
JPH07110769A (ja) Vliw型計算機
JPH1173301A (ja) 情報処理装置
JP2009059187A (ja) マイクロプロセッサおよびデータ処理方法
JPS61173345A (ja) 計算機システム
JP2576589B2 (ja) 仮想記憶アクセス制御方式
JP2722493B2 (ja) レジスタ割り付け処理方法
JPS6116362A (ja) ベクトルプロセツサ制御処理方式
JP3523407B2 (ja) 情報処理装置
JP5263498B2 (ja) 信号処理プロセッサ及び半導体装置
JP2522564B2 (ja) プログラマブルコントロ―ラ
JP2583614B2 (ja) ベクトル演算装置
JPH05250156A (ja) Riscプロセッサ
JPS60214039A (ja) デ−タ処理装置