JPH04135240A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH04135240A
JPH04135240A JP25845590A JP25845590A JPH04135240A JP H04135240 A JPH04135240 A JP H04135240A JP 25845590 A JP25845590 A JP 25845590A JP 25845590 A JP25845590 A JP 25845590A JP H04135240 A JPH04135240 A JP H04135240A
Authority
JP
Japan
Prior art keywords
arithmetic
storage unit
control signal
operations
possibility
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
JP25845590A
Other languages
English (en)
Inventor
Ryuichi Takahashi
隆一 高橋
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP25845590A priority Critical patent/JPH04135240A/ja
Publication of JPH04135240A publication Critical patent/JPH04135240A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、情報処理装置に関し、特に予め制約の定めら
れている情報処理装置に関する。
〔従来の技術〕
情報処理装置には、通常、「データ依存関係を崩さない
範囲内」という制約が定められている。
このような制約の定められている情報処理装置の一例を
第2図に示す。
第2図に示したように、記憶ユニット201に格納され
た命令は、命令間のデータ依存関係を検出する手段、す
なわちデータ依存関係検出回路220で解析され、スケ
シュリング回路206で、この結果に従ったスケシュリ
ングを受けた後、ハンファ207に送られ、制御信号発
生回路203での制御信号発生のためのデータとされて
いる。また、第2図では、202が処理対象を供給する
手段である供給手段、204が演算用のハードウェア資
源である演算回路(加算器と乗算器) 、205がデー
タを格納するレジスタである。
第2図において、記憶ユニツト201に列挙された命令
は、上から下へこの順に実行されることが期待されるこ
とを示している。また、ノ<7フア207に列挙された
命令は、同じ四角の中の命令が並列に、下から上へこの
順に実行されることを示している。
前述した「データ依存関係」とは、マイクロ操作問の半
順序関係であり、 (イ) 前の動作の結果を後の動作が使う、(ロ) 前
の動作が使うデータを後の動作が修正する、 (ハ) 前の動作の結果が後に続く動作に修正を受ける の3通りがある。
従来は、このようなデータ依存関係のある場合には、そ
の関係を破壊しない範囲、すなわち、関係があるマイク
ロ操作問では実行の前後関係を崩さない範囲内という制
約を設けた高速化を行っている。
具体的に、いわゆるコンピュータ全体の動きを考えた場
合、第2図の記憶ユニット201は主記憶装置に対応し
、データ依存関係を検出する手段220は機械語間のデ
ータ依存関係を破壊しないためのインクロック機構およ
びその周辺回路に対応しており、制御信号発生回路20
3は命令デコーダに対応する。この場合の従来技術は、
機械語を対象とした先行制御にほかならない。
また、コンピュータの内部を考えた場合は、たとえばマ
イクロプログラム制御方式の場合、第2図の記憶ユニッ
ト201は制御メモリに対応し、データ依存関係を検出
する手段220はマイクロプログラムの圧縮手段に対応
し、バッファ207は現実のマイクロプログラムに対応
し、制御信号発生回路203はマイクロ命令デコーダに
対応する。
コンピュータ全体を考えた場合は、多様なプログラムが
あとから与えられるが、マイクロプログラム制御方式で
のマイクロプログラムははじめから内容が定まっている
ため、データ依存関係の検出と圧縮(高速化)はまえも
って行うのが自然である。
〔発明が解決しようとする課題〕
上述したように、従来の情報処理装置では、あくまでデ
ータ依存関係を保存する範囲内での高速化を行っている
ため、最終結果があえば実行順序は問題でない場合に得
られる高速化の可能性が無視されている。
たとえば、工から10までの自然数の和を求めるために
、1,2.3をこの順に足すような命令があたえられて
いる場合、従来技術では、この順に逐次加算を行わざる
を得ないが、演算用のハードウェア資源に制約がなく、
データ依存関係の保存という制約がなければ、1と10
.2と9のように足し算をすすめても良い。前者では9
回の加算を行うことになるが、後者では2人力の加算器
を、はじめは5個、次は2個、最後は1個を用いて計3
回の計算で同じ結果が得られる。
第2図に示した従来技術の場合、バッファ207は明ら
かにデータ依存関係を破壊しない範囲内での最良のスケ
シュリングになっているが、よりいっそうの高速化が可
能なのである。
本発明の目的は、従来技術の「データ依存関係を崩さな
い範囲内」という制約に拘束されず、これを越えた高速
処理が可能な情報処理装置を捷供することにある。
(課題を解決するための手段〕 本発明は、命令を格納する記憶ユニットと、データを格
納するレジスタと、算術および論理演算を行う演算回路
と、前記記憶ユニットレジスタと演算回路との間のデー
タ転送や演算の内容を制御するための制御信号発生回路
とを備える情報処理装置において、 前記制御信号発生回路の制御信号の発生に際し、前記記
憶ユニットの内容の複数個に対し、算術および論理演算
の結合則、可換則、分配則の許す範囲内での先行した実
行の可能性を検出する手段を有し、 前記演算回路に許される限り、先行した演算を通常の演
算と並列に遂行することを特徴としでいる。
〔作用〕
本発明は、命令を格納する記憶ユニットと、データを格
納するレジスタと、算術/論理演算を行う演算回路と、
これらの間のデータ転送や演算の内容を制御するための
制御信号発生回路とを有し、特に、制御信号の発生に際
し、記憶ユニットの内容の複数個に対し、算術/論理演
算の結合剤、可換則、分配剤の許す範囲内での先行した
実行の可能性を検出する手段を有し、演算回路に許され
る限りにおいて、先行した演算を、通常の演算と並列に
、遂行する。
これにより、本発明は、通常の「データ依存関係を崩さ
ない範囲内」という制約に拘束されることなく、これを
越えた高速な処理を実行可能にする。
〔実施例〕
次に、本発明の実施例について図面を参照して説明する
第1図は、本発明の一実施例を示すブロック図である。
第1図に示される情報処理装置は、命令を格納する記憶
ユニッI−101と、処理対象を供給する供給手段10
2と、演算用のハードウェア資源である演算回路(加算
器と乗算器)104と、データを格納するレジスタ10
5と、記憶ユニット101、演算回路104およびレジ
スタ105との間のデータ転送や演算の内容を制御する
ための制御信号発生回路103と、スケシュリングを行
うスケシュリング回路106と、スケシュリングの結果
を格納するバンファ107と、算術/論理演算の結合剤
、可換則、分配剤の許す範囲内の、先行した実行の可能
性を検出する検出回路106とを備えている。
この実施例では、第2図に示した従来技術の説明に用い
たのと同じ7個の命令、すなわち、■ R1=A+B ■ R1=RIXC ■ R1=RI XD ■ R2=EXG ■ R3=FXG ■ R2=R2+R3 ■ R1=RIXR2 が、記憶ユニット101に格納されている。
従来技術では、命令■、■はこれ以前の命令と依存関係
がないため命令■と並列に実行するようスケシュリング
されたのに対し、本発明では、命令■、■に分配剤を通
用して、まず、値EとFの足し算を実行する。また、従
来技術では命令■と■の間にはデータ依存関係があるた
め、実行順序が崩せなかったのに対し、本発明では、結
合剤によって値CとDの乗算も行ってしまう。この結果
、スケシュリング回路106によって、 R1=A+B  R2=CxD、R3=E+FR1=R
IXR2,R3=R3XG R1=RIXR3 というスケシュリングが行われ、従来技術が4ステツプ
を要していたのに対し、計3ステップで同じ結果を得る
ことができる。
先行した実行の可能性を検出する手段は、演算回路に許
される限り、「できるだけ早く」という制約を単純に実
現してもよいが、可能なすべての組合せを調べるなどし
て、全体のステップ数が最も短くなるように、スケシュ
リングすることで、より大きな効果が得られる。また、
演算回路に許される限りという制約としては、無制限か
ら任意価までを自由に指定できる。具体的には、加算器
3個乗算器4個までといった制約を課して、最適なスケ
シュリングを行う。
本発明の適用対象は、コンピュータに対するプログラム
であっても、コンピュータ内部のマイクロプログラムで
あってもよい。前者の場合は、命令を複数個、先き読み
し、算術/論理演算の結合剤、可換則、分配剤の許す範
囲内で先行した命令の実行を行うことになる。後者の場
合は、マイクロプログラムを、算術/論理演算の結合剤
、可換則、分配剤の許す範囲内で圧縮しておくことが自
然な実施例となる。もちろん、マイクロプログラム制御
方式を先行制御で実現しても、同様な効果が期待できる
。また、本発明がソフトウェアのコンパイラ技術に流用
可能なことも容易に類推できる。すなわち、高級言語の
コンパイルに際し、算術/論理演算の結合剤、可換則、
分配剤の許す範囲内で圧縮した機械語を生成することが
考えられる。
本発明の変形として、命令が記憶ユニットに逐次的に格
納されているのではなく、電卓において、イコール「=
」が押されるまでに入力された式全体を対象とする場合
のように、複数の命令が式のかたちで、はじめから与え
られる場合を対象とすることも考えられる。従来技術で
は、逆ボーランド、記法に直すなどして、逐次的に実行
されるのが普通であり、高速化しても、データ依存関係
を保存する範囲内だったのに対し、本発明では、算術/
論理演算の結合側、可撓剤、分配則の許す範囲内の先行
した実行の可能性を検出することで、よりいっそうの高
速化が期待できる。
〔発明の効果〕
以上説明したように本発明は、命令を格納する記憶ユニ
ットと、データを格納するレジスタと、算術/論理演算
を行う演算回路と、これらの間のデータ転送や演算の内
容を制御するための制御信号発生回路とを有し、特に、
制御信号の発生に際し、記憶ユニットの内容の複数個に
対し、算術/論理演算の結合側、可撓剤、分配則の許す
範囲内での先行した実行の可能性を検出する手段を有し
、演算回路に許される限りにおいて、先行した演算を、
通常の演算と並列に、遂行することを特徴とすることに
よって、最終結果が合えば実行順序は問題でない場合に
与えられる高速化の可能性を無視することなく、「デー
タ依存関係を崩さない範囲内」という制約に拘束されず
、これを越えた拘束な処理が可能な情報処理装置を実現
可能ならしめるという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロック図、第2図は
従来技術の情報処理装置を示すブロック図である。 101  ・・・・・記憶ユニット 102 ・・・・・供給手段 103  ・・・・・制御信号発生回路104  ・・
・・・演算回路 105  ・・・・・レジスタ 106  ・・・・・スケシュリング回路107  ・
・ ・・・バッファ 110  ・・・・・検出回路 第1図 ¥2図

Claims (1)

    【特許請求の範囲】
  1. (1)命令を格納する記憶ユニットと、データを格納す
    るレジスタと、算術および論理演算を行う演算回路と、
    前記記憶ユニットレジスタと演算回路との間のデータ転
    送や演算の内容を制御するための制御信号発生回路とを
    備える情報処理装置において、 前記制御信号発生回路の制御信号の発生に際し、前記記
    憶ユニットの内容の複数個に対し、算術および論理演算
    の結合則、可換則、分配則の許す範囲内での先行した実
    行の可能性を検出する手段を有し、 前記演算回路に許される限り、先行した演算を通常の演
    算と並列に遂行することを特徴とする情報処理装置。
JP25845590A 1990-09-27 1990-09-27 情報処理装置 Pending JPH04135240A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25845590A JPH04135240A (ja) 1990-09-27 1990-09-27 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25845590A JPH04135240A (ja) 1990-09-27 1990-09-27 情報処理装置

Publications (1)

Publication Number Publication Date
JPH04135240A true JPH04135240A (ja) 1992-05-08

Family

ID=17320455

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25845590A Pending JPH04135240A (ja) 1990-09-27 1990-09-27 情報処理装置

Country Status (1)

Country Link
JP (1) JPH04135240A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5797325A (en) * 1995-07-11 1998-08-25 Komori Corporation Cylinder cleaning apparatus for printing press

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5797325A (en) * 1995-07-11 1998-08-25 Komori Corporation Cylinder cleaning apparatus for printing press

Similar Documents

Publication Publication Date Title
CN105453045B (zh) 使用动态宽度计算的壁垒同步
JPH02226420A (ja) 浮動小数点演算実行装置
US6934938B2 (en) Method of programming linear graphs for streaming vector computation
US20150007170A1 (en) Systems and Methods for Providing Hypercall Interface for Virtual Machines
WO1999031579A3 (en) Computer instruction which generates multiple data-type results
Kiessling An introduction to parallel programming with OpenMP
JPH04135240A (ja) 情報処理装置
US20040025153A1 (en) System and method for software pipelining loops with multiple control flow paths
US6981130B2 (en) Forwarding the results of operations to dependent instructions more quickly via multiplexers working in parallel
Döbrich et al. Exploring online synthesis for CGRAs with specialized operator sets
US10996960B1 (en) Iterating single instruction, multiple-data (SIMD) instructions
US5812845A (en) Method for generating an object code for a pipeline computer process to reduce swapping instruction set
KR102025694B1 (ko) 재구성 가능한 프로세서의 검증 방법
KR100639146B1 (ko) 카테시안 제어기를 갖는 데이터 처리 시스템
KR100246465B1 (ko) 마이크로프로세서 스택 명령어의 수행사이클을 줄이기 위한 장치 및 그 방법
WO2017056427A1 (ja) プログラム書換装置、方法および記憶媒体
Mangean et al. WCET analysis by model checking for a processor with dynamic branch prediction
Bilokon et al. Semi-static Conditions in Low-latency C++ for High Frequency Trading: Better than Branch Prediction Hints
JP3743155B2 (ja) パイプライン制御型計算機
Ogawa et al. A reconfigurable Java accelerator with software compatibility for embedded systems
CN116610367A (zh) 数据处理方法、数据处理装置和电子设备
JP2861234B2 (ja) 命令処理装置
JPS6257028A (ja) パイプライン制御の情報処理装置におけるブランチ制御方法
JP2003223318A (ja) キュープロセッサにおける投機実行方法
JPH02110636A (ja) タグ・アーキテクチャマシンのデバッグ装置とそのコンパイラ