JPH03161831A - 演算装置 - Google Patents

演算装置

Info

Publication number
JPH03161831A
JPH03161831A JP1301711A JP30171189A JPH03161831A JP H03161831 A JPH03161831 A JP H03161831A JP 1301711 A JP1301711 A JP 1301711A JP 30171189 A JP30171189 A JP 30171189A JP H03161831 A JPH03161831 A JP H03161831A
Authority
JP
Japan
Prior art keywords
data
arithmetic
instruction
same
arithmetic unit
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
JP1301711A
Other languages
English (en)
Inventor
Tetsuya Tanaka
哲也 田中
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 JP1301711A priority Critical patent/JPH03161831A/ja
Publication of JPH03161831A publication Critical patent/JPH03161831A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 産業上の利用分野 本発明は同じ演算命令でかつ同じデータでの演算を繰り
返して行なう演算装置に関するものであも 従来の技術 従来の演算装置は過去に行った演算で入力された演算命
令、データと同じ演算命令でかつ同じデータを入力した
場合でも再度演算を行なう。一太コンパイラで作戒した
プログラム内には配列要素のアドレス計算や構造体のメ
ンバのアドレス計算のように同じ演算を繰り返し行うこ
とが数多くある。このようなプログラムを従来の演算器
で実行する場合は同じ演算を繰り返し行っていも また
これを回避するためコンパイラには同じ計算を最小にす
るような最適化するものかあも 以下に例を示す。最初の例は配列要素をスワップする手
順を示したものであも tmp−array[i]; array[i]ヰarray[j];array[ 
j コーtmp; ここでarrayは配JILi.jはarrayの要素
を指定する変改tmpは一時的な変数である。この例で
は配列arrayのiまたはjの要素をアクセスする毎
にアドレス計算を行なっていも 通焦 このような処理
はi5jのループ内にあるのでプログラムの実行速度へ
の影響は犬きリt また 次の例は構造体のメンバをアクセスする例であも struct S ( int  ml; int  m2; }S; s.m2−0; s.m2++; ここでSは2つの整数ml,m2をメンバとして持つ構
造体であも この例では構造体SのメンバiI2をアク
セスする毎にSのアドレスにm2のオフセットを加える
ためのアドレス計算を繰り返し行なっている。
以上の2つの例はプログラム中に通常よく使われている
ものであり、同じ演算が繰り返し行なわれていることに
なん 発明が解決しようとする課題 上記従来技術で(よ 過去に行った演算で入力された演
算命令、データと同じ演算命令でかつ同じデータを入力
した場合でも再度演算をするところに問題があも コン
パイラで作威したプログラムは同じ演算を繰り返し行っ
ているため無駄が多く実行速度が遅L〜 また コンパ
イラによって同じ演算を最小にするような最適化は処理
時間がかかるためコンパイラの負担が多くなり、コンパ
イル時間も多くなる。また このような最適化を完全に
行うことは不可能である。
本発明は上述の問題点に鑑みてなされたちの衣同じ演算
命令でかつ同じデータでの演算を繰り返して行なう場合
、高速に演算できる演算装置を提供することを目的とす
も 課題を解決するための手段 本発明{よ 上記課題を解決するために 演算命令とデ
ータを人力とし 演算結果を出力とする演算器と、前記
演算命令とデータをタグ入九 前記演算器の演算結果を
データ入力とし ヒット信号とデータ出力を出力する連
想記憶装置と、前記連想記憶装置のヒット信号により前
記演算器の出力と前記連想記憶装置のデータ出力を選択
するセレクタ回路とを備えた演算装置である。
作用 本発明の演算装置は前記した構戒にすることにより、過
去に行った演算で入力された演算命令、データと同じ演
算命令でかつ同じデータを入力した場合、入力された演
算命令、データに対応する連想記憶装置の演算結果を出
力すも そのた△コンパイラで作威したプログラムでも
同じ演算を繰り返し行うことがなくなり、実行速度が向
上すも また コンパイラによって同じ演算を最小にす
るような最適化が不要となるため高速なコンパイラを得
ることができも 実施例 第1図は本発明の一実施例における演算装置のブロック
図であも 第2図は本発明の一構戒要素である連想記憶
装置2のブロック図であも 第3図は本発明の動作例を
示すタイムチャートであも以下、第1は 第2図および
第3図を用いて説明すも 演算器1の演算が2マシンサイクル以上かかる場合、演
算命令入力端子から入力された演算命令10とデータ入
力端子から入力されたデータl1は演算器lと連想記憶
装置2に入力される。演算器1ではデータl1に演算命
令10を施し 演算結果13を出力する。連想記憶装置
2では比較器23を用いて人力データレジスタ22に入
力された演算命令10、データ1lとタグ部21に記憶
している演算命令、データの比較をすも 第3図のnは
演算命令IO、データ11がタグ部の演算命令、データ
の中で一致するものがない場合であもこの場合(よ 比
較器23はミスヒット信号l5を出力する。ミスヒット
信号l5はタグ部21およびメモリ部20に入力され演
算命令10、データ11をタグ部214..  演算器
出力結果13をアドレス30によりメモリ部20に記憶
すん またミスヒット信号15はセレクタ回路3の制御
を行へ セレクタ回路3の出力として演算器1の出力l
3を選択する。
第3図のn+iは演算命令IO、データ1lがタグ部2
1の演算命令、データの中で一致するものがある場合で
ある。この場合{よ 連想記憶装置2はヒット信号l5
及びデータl4を出力する。この出力データ14はこの
時の入力データ11に演算命令10を施した演算結果で
ある。ヒット信号15はセレクタ回路3の制御を行へ 
セレクタ回路3の出力として連想記憶装置2の出力l4
を選択すも 演算が1マシンサイクルで終わる場合は連想記憶装置2
が出力を出す場合の1マシンサイクルと同じになるた吹
 演算器lの出力l3と連想記憶装置2の出力l4のど
ちらを選択してもよl,%以上の動作を行うこと玄 演
算装置1に同じ演算命令でかつ同じデータを繰り返し入
力をした場合、毎回演算を行うことはせず連想記憶装置
2のデータを出力するため高速な演算装置を得ることが
できる。従来の技術で示した配列の場合、配列arra
yの要素iのアドレスの計算が2@.また要素jのアド
レス計算が2回の計4回になる。本発明の演算装置を用
いると、それぞれ1回になり計2回になる。通常このよ
うな配列のスワップはループ内にあるためかなりの処理
速度向上になる。また構造体の場合、構造体Sのメンバ
m2のアクセスする毎に構造体Sのメンバm2のアドレ
スを計算すも しかし 本発明の演算装置を用いること
により構造体Sのメンバffi2のアドレス計算が1回
になり処理速度が向上すも 発明の効果 以上の説明から明らかなように 本発明の演算装置によ
れば 同じ演算でかつ同じデータを繰り返し入力した場
合、高速に出力結果を得ることができも また コンパ
イラにおいて同じ演算命令でかつ同じデータを繰り返し
演算している部分を最小にする最適化が不要になるため
コンパイラの負担が軽くなり、高速なコンパイラを得る
ことができる。
【図面の簡単な説明】
第l図は本発明の一実施例における演算装置のブロック
は 第2図は本発明の一構戒要素である連想記憶装置の
ブロックは 第3図は本発明の一実施例における演算装
置の動作例を示すタイムチャート図であも ■・・・演算銖 2・・・連想記憶装[3・・・セレク
タ回区 lO・・・演算命令、 11・・・デー久 l
2・・・演算結果出九 l3・・・演算器出九 14・
・・データ出fi  15・・・ヒット/ミスヒット信
号、 20・・・メモリ敵 21・・・タグ敵 22・
・・データレジス久 23・・・比較沫 30・・・ア
ドレ入

Claims (1)

    【特許請求の範囲】
  1. 演算器と連想記憶装置とセレクタ回路を有し、前記演算
    器の演算命令と前記演算器のデータが前記連想記憶装置
    のタグ入力に入力されるように接続され、前記演算器の
    出力が前記連想記憶装置のデータ入力及びセレクタ回路
    の第1の入力に接続され、前記連想記憶装置のデータ出
    力がセレクタの第2の入力に接続され、前記連想記憶装
    置のヒット信号がセレクタの制御入力に接続されたこと
    を特徴とする演算装置。
JP1301711A 1989-11-20 1989-11-20 演算装置 Pending JPH03161831A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1301711A JPH03161831A (ja) 1989-11-20 1989-11-20 演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1301711A JPH03161831A (ja) 1989-11-20 1989-11-20 演算装置

Publications (1)

Publication Number Publication Date
JPH03161831A true JPH03161831A (ja) 1991-07-11

Family

ID=17900239

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1301711A Pending JPH03161831A (ja) 1989-11-20 1989-11-20 演算装置

Country Status (1)

Country Link
JP (1) JPH03161831A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999045463A1 (fr) * 1998-03-04 1999-09-10 Hitachi, Ltd. Processeur de donnees

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999045463A1 (fr) * 1998-03-04 1999-09-10 Hitachi, Ltd. Processeur de donnees
US6810474B1 (en) * 1998-03-04 2004-10-26 Hitachi, Ltd. Information processor

Similar Documents

Publication Publication Date Title
US4323963A (en) Hardware interpretive mode microprocessor
US6732253B1 (en) Loop handling for single instruction multiple datapath processor architectures
US5390306A (en) Pipeline processing system and microprocessor using the system
US4598358A (en) Pipelined digital signal processor using a common data and control bus
EP0164418B1 (en) Microprogram control system
JPH03161831A (ja) 演算装置
US5812836A (en) System for processing iterative tasks in data processing systems
US5812845A (en) Method for generating an object code for a pipeline computer process to reduce swapping instruction set
US5893928A (en) Data movement apparatus and method
CN1008667B (zh) 输出由微程序控制数据系统实现流水线执行的微命令的装置
US20220197647A1 (en) Near-memory determination of registers
WO1989009962A1 (en) Method and apparatus for improved execution of instruction sequences
JP2006515446A (ja) 関連アプリケーションを相互参照するカルテシアンコントローラを有するデータ処理システム
JPH0460719A (ja) 電子計算機、プログラマブル論理回路及びプログラム処理方法
EP0226103A2 (en) Address generation for cellular array processors
JPS5995646A (ja) 演算制御装置
JP2629899B2 (ja) タグ分岐装置
JPS6042968B2 (ja) 情報処理装置
JPH01284926A (ja) 演算装置の命令読出方式
JP2522562B2 (ja) プログラマブルコントロ―ラ
JPH01169607A (ja) プログラマブルコントローラ
KR20010011683A (ko) 중앙연산처리장치
JPH0855017A (ja) グラフィックスおよび画像処理用の整数データ処理回路、パイプライン付き乗算器ユニット、演算論理ユニット、およびシフト・レジスタ・ユニット
JPH03100829A (ja) プログラム内蔵型計算機
JPS59106048A (ja) マイクロプロセツサシステム