JPH08227360A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH08227360A
JPH08227360A JP7032561A JP3256195A JPH08227360A JP H08227360 A JPH08227360 A JP H08227360A JP 7032561 A JP7032561 A JP 7032561A JP 3256195 A JP3256195 A JP 3256195A JP H08227360 A JPH08227360 A JP H08227360A
Authority
JP
Japan
Prior art keywords
instruction
operand
word overlap
word
field
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
JP7032561A
Other languages
English (en)
Inventor
Masashi Hakamata
正史 袴田
Toru Hiraoka
徹 平岡
Shigeru Mori
茂 森
Michitaka Yamamoto
通敬 山本
Tomonaga Itoi
朋永 糸井
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.)
Hitachi Microcomputer System Ltd
Hitachi Ltd
Hitachi Computer Engineering Co Ltd
Original Assignee
Hitachi Microcomputer System Ltd
Hitachi Ltd
Hitachi Computer Engineering 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 Hitachi Microcomputer System Ltd, Hitachi Ltd, Hitachi Computer Engineering Co Ltd filed Critical Hitachi Microcomputer System Ltd
Priority to JP7032561A priority Critical patent/JPH08227360A/ja
Publication of JPH08227360A publication Critical patent/JPH08227360A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】 ワードオーバラップ検出を伴う処理を行う情
報処理装置に関し、ワードオーバラップの検出タイミン
グを早め、ワードオーバラップ検出に伴って生ずるオー
バヘッドを削減する。 【構成】 第1ワードオーバラップ検出器150に加
え、B1およびB2フィールドで指定される第1および第2
オペランドの基底アドレスレジスタ番号が等しい場合に
D1フィールド104,D2フィールド106,Lフィール
ド102の内容のみを用いてワードオーバラップを検出
する第2ワードオーバラップ検出器110を設ける。ま
た、第2ワードオーバラップ検出信号111に応じて後
続する命令群についてのパイプライン制御によるデコー
ドの先行処理を一時的に抑止する。これによって、ワー
ドオーバラップの検出タイミングが早まり、従来は後続
する命令のキャンセルで生じていた命令再読出しのオー
バヘッドがなくなるので、情報処理装置の処理速度向上
を容易に実現できる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は情報処理装置に係り、特
に、ワードオーバラップ検出を伴う処理を行う情報処理
装置に関する。
【0002】
【従来の技術】一般的に、高性能の情報処理装置では、
一度に複数バイト(例えば8バイト)のオペランドデー
タについて、主記憶装置からの読み出し,演算,主記憶
装置への格納などの処理を行うことにより、処理の高速
化を図っている。
【0003】すなわち、“IBM System/370 Principles
of Operation”において定義されている「MVC命令」
は、指定されたオペランド長のデータを主記憶装置から
主記憶装置へ転送する命令であり、その動作は1バイト
ずつデータの読み出しおよび格納を行うように規定され
ている。このため、オペランドデータの読み出し領域と
格納領域との間に重なりがある場合、前述したようにオ
ペランド長単位(例えば8バイト単位)で主記憶装置か
らの読み出しおよび主記憶装置への格納を行うと命令に
よる処理が誤動作してしまう。そこで、「MVC命令」
を実行する際には、オペランドデータの読み出し領域と
格納領域との間に重なりがあるか否かの検出処理(ワー
ドオーバラップ検出)を事前に行うことが必要となる。
【0004】図3は、従来の情報処理装置の一例の基本
的な構成を示すブロック図である。同図中、201はオ
ペランド長が格納されるLフィールド,202は第1オ
ペランドの基底アドレスレジスタ番号が格納されるB1フ
ィールド,203は第1オペランドの変位アドレスが格
納されるD1フィールド,204は第2オペランドの基底
アドレスレジスタ番号が格納されるB2フィールド,20
5は第2オペランドの変位アドレスが格納されるD2フィ
ールドである。そして、200はLフィールド201,
B1フィールド202,D1フィールド203,B2フィール
ド204,D2フィールド205を含み、次にパイプライ
ン制御による先行処理の対象とする機械語命令が格納さ
れる命令レジスタ(IR)である。
【0005】また、215はIR200に格納された機
械語命令を解読する命令デコーダ,220は汎用レジス
タ群(GPR),230はオペランドの論理アドレスの
計算を行う第1アドレス加算器,240はオペランドの
論理アドレスの計算を行う第2アドレス加算器,250
はワードオーバラップの検出を行うワードオーバラップ
検出器,251はワードオーバラップ検出器250でワ
ードオーバラップが検出されたことを示すワードオーバ
ラップ検出信号,260は演算実行部290で行う演算
を制御するための情報群をマイクロプログラムとして記
憶している制御記憶、290は制御記憶260から出力
されたマイクロプログラムに制御されて実際の演算処理
を行う演算実行部である。
【0006】図4は、従来の情報処理装置で「MVC命
令」を含む連続した命令列について処理を行う場合のパ
イプラインフローの一例を示すタイムチャートであり、
「MVC命令」→「命令1」→「命令2」→「命令3」
の順序で連続している命令列に対する処理について示
す。以下、本実施例の処理対象となる「MVC命令」の
オペランド長は8バイトであり、ワードオーバラップが
検出されるものとした上で、図3および図4を用いて従
来の情報処理装置におけるワードオーバラップ検出を伴
うオペランドデータ転送処理の説明を行う。
【0007】〔第1サイクル(ワードオーバラップ検
出):D'ステージ〕ワードオーバラップ検出を行うため
にIR200およびGPR220を参照するステージで
ある。IR200に格納された「MVC命令」における
B1フィールド202およびB2フィールド204の内容
は、それぞれGPR220に転送される。また、D1フィ
ールド203の内容は第1アドレス加算器230に、D2
フィールド205の内容は第2アドレス加算器240
に、それぞれ転送される。Lフィールド201の内容は
ワードオーバラップ検出器250に転送される。ここ
で、GPR220は、例えば16本の汎用レジスタ群に
より構成されており、各々の汎用レジスタには0〜15
の識別番号が割り当てられている。GPR220はB1フ
ィールド202の内容に対応する識別番号の汎用レジス
タを選択し、その内容を第1オペランドの基底アドレス
レジスタの内容として第1アドレス加算器230に転送
する。また、GPR220はB2フィールド204の内容
に対応する識別番号の汎用レジスタを選択し、その内容
を第2オペランドの基底アドレスレジスタの内容として
第2アドレス加算器240に転送する。
【0008】〔第2サイクル(ワードオーバラップ検
出):A'ステージ〕ワードオーバラップ検出のためにオ
ペランドの論理アドレスを求めるステージである。第1
アドレス加算器230では、GPR220から転送され
た第1オペランドの基底アドレスレジスタの内容とD1フ
ィールド203の内容とを加算することにより、第1オ
ペランドの論理アドレス(オペランドデータの格納先ア
ドレス)を求め、その結果をワードオーバラップ検出器
250に転送する。第2アドレス加算器240では、G
PR220から転送された第2オペランドの基底アドレ
スレジスタの内容とD2フィールド205の内容とを加算
することにより、第2オペランドの論理アドレス(オペ
ランドデータの読出し先アドレス)を求め、その結果を
ワードオーバラップ検出器250に転送する。
【0009】〔第3サイクル(ワードオーバラップ検
出)〕第1アドレス加算器230で求められた第1オペ
ランドの論理アドレスの値,第2アドレス加算器240
で求められた第2オペランドの論理アドレスの値,Lフ
ィールド201の内容を用いて、ワードオーバラップの
検出を行う。具体的には、第1オペランドの論理アドレ
スの値をLA1,第2オペランドの論理アドレスの値をL
A2,Lフィールド201の内容をLとして、ワードオー
バラップ検出器250により、次に示す条件式(1)が
成立するか否かを判定する。 LA2 < LA1 ≦ LA2+L ………(1) 以上。
【0010】〔第4サイクル(ワードオーバラップ検
出)〕上記条件式(1)が成立した場合、ワードオーバ
ラップ検出器250はこの第4サイクルでワードオーバ
ラップ検出信号251の出力を確定させる。
【0011】〔第2サイクル(オペランドデータ転
送):Dステージ〕IR200に格納された「MVC命
令」におけるB1フィールド202およびB2フィールド2
04の内容は、それぞれGPR220に転送される。ま
た、D1フィールド203の内容は第2アドレス加算器2
40に、D2フィールド205の内容は第1アドレス加算
器230に、それぞれ転送される。GPR220は転送
されたB1フィールド202に対応する識別番号の汎用レ
ジスタを選択し、その内容を第1オペランドの基底アド
レスレジスタの内容として第2アドレス加算器240に
転送する。同様に、GPR220は転送されたB2フィー
ルド204に対応する識別番号の汎用レジスタを選択
し、その内容を第2オペランドの基底アドレスレジスタ
の内容として第1アドレス加算器230に転送する。最
後に、命令デコーダ215はIR200に格納されてい
る命令を解読し、得られた命令解読情報を制御記憶26
0に転送する。
【0012】〔第3サイクル(オペランドデータ転
送):Aステージ〕第1アドレス加算器230では、G
PR220から転送された第2オペランドの基底アドレ
スレジスタの内容とD2フィールド205の内容とを加算
することにより、第2オペランドの論理アドレスを求め
る。同様に、第2アドレス加算器240では、GPR2
20から転送された第1オペランドの基底アドレスレジ
スタの内容とD1フィールド203とを加算することによ
り、第1オペランドの論理アドレスを求める。
【0013】〔第4サイクル(オペランドデータ転
送):Tステージ〕上記Aステージで求められた第2オ
ペランドの論理アドレスおよび第1オペランドの論理ア
ドレスをそれぞれ実アドレスに変換する。
【0014】〔第5サイクル(オペランドデータ転
送):Bステージ〕制御記憶260は、命令デコーダ2
15から転送される命令解読情報と第4サイクルで確定
したワードオーバラップ検出信号251に基づいて参照
され、「MVC命令」を処理するためのマイクロプログ
ラム261を選択する。このとき、ワードオーバラップ
検出信号251が出力されていない場合には、8バイト
単位で主記憶装置の読み出しおよび格納を行う通常のマ
イクロプログラムが選択される。一方、本実施例のよう
に、ワードオーバラップ検出信号251が出力されてい
る場合には、ワードオーバラップ処理用の特別なマイク
ロプログラムが選択される。
【0015】〔第6サイクル(オペランドデータ転
送):Lステージ〕上記Bステージで選択されたマイク
ロプログラム261を制御記憶260から演算実行部2
90に転送する。
【0016】〔第7〜14サイクル(オペランドデータ
転送):Eステージ〕「MVC命令」の演算実行ステー
ジである。演算実行部290はマイクロプログラム26
1によって制御され、1サイクルごとに1バイトずつ8
サイクルをかけて、8バイトの演算すなわち主記憶装置
から主記憶装置へのオペランドデータの転送を行う。マ
イクロプログラム261は、第2アドレス加算器240
で求めた第2オペランドの論理アドレスに基づいて1バ
イトのオペランドデータを主記憶装置から読み出し、第
2アドレス加算器240で求めた第1オペランドの論理
アドレスに基づいて上記オペランドデータを主記憶装置
に格納する動作を、Eステージの各サイクルごとに行
う。なお、主記憶装置の読み出しおよび格納の詳細につ
いては本発明の範囲外であるため、説明を省略する。
【0017】また、マイクロプログラム261は、Eス
テージの最初のサイクルである第7サイクルで、後続す
る命令(「命令1」,「命令2」,「命令3」)を対象
とするパイプライン制御による先行処理のキャンセルを
行う。これは、「MVC命令」に後続する命令中に主記
憶装置からオペランドデータを読み出す命令が存在する
場合には、この命令によるオペランドデータの読み出し
と、「MVC命令」のマイクロプログラムによるオペラ
ンドデータ読み出しとが競合して、予期しない誤動作を
招くおそれがあるからである。
【0018】「MVC命令」に後続する命令について
は、当該「MVC命令」の実行終了を待って、再度パイ
プライン制御による先行処理をやり直す。すなわち、
「MVC命令」のEステージ最終サイクルである第14
サイクルに、マイクロプログラム261は「MVC命
令」に後続する命令に対する命令読出し指示を行う。例
えば、図4中に示したDi,Ai,Ti,Bi,Liは、第7ステ
ージでキャンセルされた「命令1」についての再度の命
令読み出しのパイプラインステージである(命令読み出
し処理の詳細については本発明の範囲外なので省略す
る。)。命令読み出し処理後、「命令1」はIR200
に格納されてパイプライン制御による先行処理が直ちに
開始されると、続いて「命令2」および「命令3」につ
いても順次パイプライン制御による先行処理が行われ
る。以上の結果、「命令3」に関する演算処理が完了す
るのは第26サイクルとなる。
【0019】
【発明が解決しようとする課題】上記従来の情報処理装
置では、「MVC命令」の処理開始からワードオーバラ
ップ検出信号が確定するまでに実行時間として4サイク
ルを要しており、ワードオーバラップの検出タイミング
が遅いので、ワードオーバラップが検出された時点で、
すでにパイプライン処理によって後続する命令の解読が
行われてしまっている。そして、ワードオーバラップを
発生させた「MVC命令」以降の処理が正常に行われる
ことを保証するためには、ワードオーバラップが検出さ
れた時点で後続する命令に対するパイプライン処理をす
べてキャンセルし、「MVC命令」の終了後に後続する
命令の読み出しから再実行しなければならず、このよう
な処理の再実行に伴って生ずるオーバヘッドが情報処理
装置の処理速度向上の大きな障害となってしまうという
問題点があった。
【0020】したがって本発明の目的は、上記の問題点
を解決して、ワードオーバラップの検出タイミングを早
め、ワードオーバラップ検出に伴って生ずるオーバヘッ
ドを削減することのできる情報処理装置を提供すること
にある。
【0021】
【課題を解決するための手段】上記の目的を達成するた
め、本発明の情報処理装置は、主記憶上のオペランドデ
ータを対象とする所定の演算処理によって得られる処理
結果データを前記主記憶上に格納するタイプの命令の実
行に際して、前記主記憶上における前記オペランドデー
タおよび前記処理結果データの格納領域が相互に重なり
合うか否かのワードオーバラップ検出を当該命令中に記
述されている各種の値に基づいて行った後、前記ワード
オーバラップ検出の結果に応じて相異なる演算処理を選
択的に行う情報処理装置において、各々の前記格納領域
を広域的な管理単位で指定する汎用レジスタが一致する
場合には、各々の前記格納領域の大きさを指定するオペ
ランド長の値および各々の前記格納領域を厳密に指定す
る変位アドレスの値のみを用いて早期に前記ワードオー
バラップ検出を行うワードオーバラップ検出手段を具備
する構成としたものである。
【0022】また、前記ワードオーバラップ検出で前記
オペランドデータおよび前記処理結果データの格納領域
が相互に重なり合うことが検出されたとき、当該命令に
後続する命令群についてのパイプライン制御による先行
処理を一時的に抑止し、さらに、前記ワードオーバラッ
プ検出の結果に応じて選択された演算処理が完了した
後、当該命令に後続する命令群についての前記パイプラ
イン制御による先行処理を再開する構成としたものであ
る。
【0023】
【作用】上記構成に基づく作用を説明する。
【0024】本発明の情報処理装置は、主記憶上のオペ
ランドデータを対象とする所定の演算処理によって得ら
れる処理結果データを前記主記憶上に格納するタイプの
命令の実行に際して、前記主記憶上における前記オペラ
ンドデータおよび前記処理結果データの格納領域が相互
に重なり合うか否かのワードオーバラップ検出を当該命
令中に記述されている各種の値に基づいて行った後、前
記ワードオーバラップ検出の結果に応じて相異なる演算
処理を選択的に行う情報処理装置において、各々の前記
格納領域を広域的な管理単位で指定する汎用レジスタが
一致する場合には、各々の前記格納領域の大きさを指定
するオペランド長の値および各々の前記格納領域を厳密
に指定する変位アドレスの値のみを用いて早期に前記ワ
ードオーバラップ検出を行うワードオーバラップ検出手
段を具備する構成としている。すなわち、オペランドデ
ータの格納領域の基底アドレスを保持している汎用レジ
スタと、処理結果データの格納領域の基底アドレスを保
持している汎用レジスタについて、同一の汎用レジスタ
であったような場合には、基底アドレスの値と変位アド
レスの値とを加算することなく、オペランド長の値と変
位アドレスの値との大小比較のみによってワードオーバ
ラップ検出を行うワードオーバラップ検出手段を具備し
たので、ワードオーバラップの検出タイミングを従来よ
りも早めることができる。
【0025】また、前記ワードオーバラップ検出で前記
オペランドデータおよび前記処理結果データの格納領域
が相互に重なり合うことが検出されたとき、当該命令に
後続する命令群についてのパイプライン制御による先行
処理を一時的に抑止し、さらに、前記ワードオーバラッ
プ検出の結果に応じて選択された演算処理が完了した
後、当該命令に後続する命令群についての前記パイプラ
イン制御による先行処理を再開する構成としている。す
なわち、ワードオーバラップ検出手段がオペランドデー
タおよび処理結果データの格納領域が相互に重なり合う
こと(ワードオーバラップ)を検出すると、後続する命
令群の解読処理などのパイプライン制御による先行処理
が抑止されるので、後続する命令群のオーバランを防止
できるとともに、従来行われていた後続する命令群のキ
ャンセルと再実行に伴うオーバヘッドを削減することが
できる。
【0026】したがって、情報処理装置の処理速度向上
を容易に実現できるようになる。
【0027】
【実施例】以下、本発明の情報処理装置の一実施例を図
面を用いて詳細に説明する。
【0028】図1は、本発明の情報処理装置の一実施例
の基本的な構成を示すブロック図である。同図中、10
1はオペランド長が格納されるLフィールド,102は
第1オペランドの基底アドレスレジスタ番号が格納され
るB1フィールド,103は第1オペランドの変位アドレ
スが格納されるD1フィールド,104は第2オペランド
の基底アドレスレジスタ番号が格納されるB2フィール
ド,105は第2オペランドの変位アドレスが格納され
るD2フィールドである。そして、100はLフィールド
101,B1フィールド102,D1フィールド103,B2
フィールド104,D2フィールド105を含み、次にパ
イプライン制御による先行処理の対象とする機械語命令
が格納される命令レジスタ(IR)である。
【0029】また、110は新規に設けられた第2ワー
ドオーバラップ検出器(請求項中の“ワードオーバラッ
プ検出手段”に相当する)、111は第2ワードオーバ
ラップ検出器110でワードオーバラップが検出された
ことを示す第2ワードオーバラップ検出信号、115は
IR200に格納された機械語命令を解読する命令デコ
ーダ,120は汎用レジスタ群(GPR),130はオ
ペランドの論理アドレスの計算を行う第1アドレス加算
器,140はオペランドの論理アドレスの計算を行う第
2アドレス加算器,150は従来技術と同様にワードオ
ーバラップの検出を行う第1ワードオーバラップ検出
器,151は第1ワードオーバラップ検出器150でワ
ードオーバラップが検出されたことを示すワードオーバ
ラップ検出信号,160は演算実行部190で行う演算
を制御するための情報群をマイクロプログラムとして記
憶している制御記憶、190は制御記憶160から出力
されたマイクロプログラムに制御されて実際の演算処理
を行う演算実行部である。
【0030】図2は、本発明の情報処理装置で「MVC
命令」を含む連続した命令列について処理を行う場合の
パイプラインフローの一例を示すタイムチャートであ
り、「MVC命令」→「命令1」→「命令2」→「命令
3」の順序で連続している命令列に対する処理について
示す。以下、本実施例の処理対象となる「MVC命令」
のオペランド長は8バイトであり、B1フィールド102
およびB2フィールド104の値が等しく、ワードオーバ
ラップが検出されるものとした上で、図1および図2を
用いて本発明の情報処理装置におけるワードオーバラッ
プ検出を伴うオペランドデータ転送処理の説明を行う。
【0031】〔第1サイクル(ワードオーバラップ検
出):D'ステージ〕IR100に格納された「MVC命
令」におけるB1フィールド102およびB2フィールド1
04の内容は、それぞれ第2ワードオーバラップ検出器
110およびGPR120に転送される。また、D1フィ
ールド103の内容は第2ワードオーバラップ検出器1
10および第1アドレス加算器130に、D2フィールド
105の内容は第2ワードオーバラップ検出器110お
よび第2アドレス加算器140に、それぞれ転送され
る。Lフィールド101の内容は第2ワードオーバラッ
プ検出器110および第1ワードオーバラップ検出器1
50に転送される。
【0032】第2ワードオーバラップ検出器110は、
「MVC命令」におけるLフィールド101,B1フィー
ルド102,D1フィールド103,B2フィールド10
4,D2フィールド105の各値を用いてワードオーバラ
ップの検出を行う。具体的には、次に示す条件式(2)
が成立するか否かを判定する。そして、条件式(2)が
成立した場合、第2ワードオーバラップ検出器110
は、続く第2サイクルで第2ワードオーバラップ検出信
号111の出力を確定させる。 B1 = B2 かつ D2 < D1 ≦ D2+L ………(2) 以上。
【0033】また、GPR120は、例えば16本の汎
用レジスタ群により構成されており、各々の汎用レジス
タには0〜15の識別番号が割り当てられている。GP
R120はB1フィールド102の内容に対応する識別番
号の汎用レジスタを選択し、その内容を第1オペランド
の基底アドレスレジスタの内容として第1アドレス加算
器130に転送する。また、GPR120はB2フィール
ド104の内容に対応する識別番号の汎用レジスタを選
択し、その内容を第2オペランドの基底アドレスレジス
タの内容として第2アドレス加算器140に転送する。
【0034】〔第2サイクル(ワードオーバラップ検
出):A'ステージ〕第1ワードオーバラップ検出150
器におけるワードオーバラップ検出のためにオペランド
の論理アドレスを求めるステージである。第1アドレス
加算器130では、GPR120から転送された第1オ
ペランドの基底アドレスレジスタの内容とD1フィールド
103の内容とを加算することにより、第1オペランド
の論理アドレス(オペランドデータの格納先アドレス)
を求め、その結果を第1ワードオーバラップ検出器15
0に転送する。第2アドレス加算器140では、GPR
120から転送された第2オペランドの基底アドレスレ
ジスタの内容とD2フィールド105の内容とを加算する
ことにより、第2オペランドの論理アドレス(オペラン
ドデータの読出し先アドレス)を求め、その結果を第1
ワードオーバラップ検出器150に転送する。
【0035】〔第3サイクル(ワードオーバラップ検
出)〕第1加算器で求められた第1オペランドの論理ア
ドレスの値,第2加算器で求められた第2オペランドの
論理アドレスの値,Lフィールド101の内容を用い
て、ワードオーバラップの検出を行う。具体的には、第
1オペランドの論理アドレスの値をLA1,第2オペラン
ドの論理アドレスの値をLA2,Lフィールド201の内
容をLとして、第1ワードオーバラップ検出器150に
より、従来と同様に次に示す条件式(1)が成立するか
否かを判定する。 LA2 < LA1 ≦ LA2+L ………(1) 以上。
【0036】〔第4サイクル(ワードオーバラップ検
出)〕上記条件式(1)が成立した場合には、第1ワー
ドオーバラップ検出器150は、この第4サイクルで第
1ワードオーバラップ検出信号151の出力を確定させ
る。
【0037】〔第2サイクル(オペランドデータ転
送):Dステージ〕IR100に格納された「MVC命
令」におけるB1フィールド102およびB2フィールド1
04の内容は、それぞれGPR120に転送される。ま
た、D1フィールド103の内容は第2アドレス加算器1
40に、D2フィールド105の内容は第1アドレス加算
器130に、それぞれ転送される。GPR120は転送
されたB1フィールド102に対応する識別番号の汎用レ
ジスタを選択し、その内容を第1オペランドの基底アド
レスレジスタの内容として第2アドレス加算器140に
転送する。同様に、GPR120は転送されたB2フィー
ルド104に対応する識別番号の汎用レジスタを選択
し、その内容を第2オペランドの基底アドレスレジスタ
の内容として第1アドレス加算器130に転送する。最
後に、命令デコーダ115はIR110に格納されてい
る命令を解読し、得られた命令解読情報を制御記憶16
0に転送する。
【0038】〔第3サイクル(オペランドデータ転
送):Aステージ〕第1アドレス加算器130では、G
PR120から転送された第2オペランドの基底アドレ
スレジスタの内容とD2フィールド105の内容とを加算
することにより、第2オペランドの論理アドレスを求め
る。同様に、第2アドレス加算器140では、GPR1
20から転送された第1オペランドの基底アドレスレジ
スタの内容とD1フィールド113とを加算することによ
り、第1オペランドの論理アドレスを求める。
【0039】〔第4サイクル(オペランドデータ転
送):Tステージ〕上記Aステージで求められた第2オ
ペランドの論理アドレスおよび第1オペランドの論理ア
ドレスをそれぞれ実アドレスに変換する。
【0040】〔第5サイクル(オペランドデータ転
送):Bステージ〕制御記憶160は、命令デコーダ1
15から転送される命令解読情報,第2サイクルで確定
した第2ワードオーバラップ検出信号111,第4サイ
クルで確定した第1ワードオーバラップ検出信号151
に基づいて参照され、「MVC命令」を処理するための
マイクロプログラム161を選択する。このとき、第2
ワードオーバラップ検出信号111および第1ワードオ
ーバラップ検出信号151がいずれも出力されていない
場合には、8バイト単位で主記憶装置の読み出しおよび
格納を行う通常のマイクロプログラムが選択される。ま
た、第2ワードオーバラップ検出信号111が出力され
ておらず、第1ワードオーバラップ検出信号151のみ
が出力されている場合には、従来技術で説明したワード
オーバラップ処理用の特別なマイクロプログラムが選択
される。さらに、第1ワードオーバラップ検出信号15
1に加えて第2ワードオーバラップ検出信号111が出
力されている場合には、従来技術で説明したワードオー
バラップ処理用のマイクロプログラムとはまた別な、
(後続命令の先行処理のキャンセルおよび命令読み出し
からのやり直しを行わない)ワードオーバラップ処理用
の特別なマイクロプログラムが選択される。
【0041】〔第6サイクル(オペランドデータ転
送):Lステージ〕上記Bステージで選択されたマイク
ロプログラム161を制御記憶160から演算実行部1
90に転送する。
【0042】〔第7〜14サイクル(オペランドデータ
転送):Eステージ〕「MVC命令」の演算実行ステー
ジである。演算実行部190はマイクロプログラム16
1によって制御され、1サイクルごとに1バイトずつ8
サイクルをかけて、8バイトの演算すなわち主記憶装置
から主記憶装置へのオペランドデータの転送を行う。マ
イクロプログラム161は、第2アドレス加算器130
で求めた第2オペランドの論理アドレスに基づいて1バ
イトのオペランドデータを主記憶装置から読み出し、第
1アドレス加算器130で求めた第1オペランドの論理
アドレスに基づいて上記オペランドデータを主記憶装置
に格納する動作を、Eステージの各サイクルごとに行
う。なお、主記憶装置の読み出しおよび格納の詳細につ
いては本発明の範囲外であるため、説明を省略する。
【0043】一方、「MVC命令」に後続する「命令
1」は、パイプライン制御による先行処理で第3サイク
ルにIR100に格納される。命令デコーダ115は、
第2サイクルに出力が確定した第2ワードオーバラップ
検出信号111の有無に応じて第3サイクルから後続す
る命令の解読を抑止するように構成され、この命令解読
の抑止は「MVC命令」の実行終了まで続けられる。し
たがって、「命令1」の解読が再開されるのは、「MV
C命令」の最終サイクルである第14サイクルの次の第
15サイクルとなる。すなわち、この命令解読の抑止に
より、「命令1」以降の命令の主記憶装置からのオペラ
ンドデータ読出しが一時的に抑止された後に、抑止され
た時点のサイクルから処理が再開されるので、「命令
1」,「命令2」,「命令3」が誤動作してしまうこと
はない。以上のように、第15サイクルにおける「命令
1」の解読終了により、順次「命令2」および「命令
3」もパイプライン制御による先行処理の対象となり、
「命令3」についての演算実行が終了するのは第22サ
イクルとなる。
【0044】
【発明の効果】以上詳しく説明したように、本発明の情
報処理装置によれば、主記憶上のオペランドデータを対
象とする所定の演算処理によって得られる処理結果デー
タを前記主記憶上に格納するタイプの命令の実行に際し
て、前記主記憶上における前記オペランドデータおよび
前記処理結果データの格納領域が相互に重なり合うか否
かのワードオーバラップ検出を当該命令中に記述されて
いる各種の値に基づいて行った後、前記ワードオーバラ
ップ検出の結果に応じて相異なる演算処理を選択的に行
う情報処理装置において、各々の前記格納領域を広域的
な管理単位で指定する汎用レジスタが一致する場合に
は、各々の前記格納領域の大きさを指定するオペランド
長の値および各々の前記格納領域を厳密に指定する変位
アドレスの値のみを用いて早期に前記ワードオーバラッ
プ検出を行うワードオーバラップ検出手段を具備する構
成としている。すなわち、オペランドデータの格納領域
の基底アドレスを保持している汎用レジスタと、処理結
果データの格納領域の基底アドレスを保持している汎用
レジスタについて、同一の汎用レジスタであったような
場合には、基底アドレスの値と変位アドレスの値とを加
算することなく、オペランド長の値と変位アドレスの値
との大小比較のみによってワードオーバラップ検出を行
うワードオーバラップ検出手段を具備したので、ワード
オーバラップの検出タイミングを従来よりも早めること
ができるという効果が得られる。
【0045】また、前記ワードオーバラップ検出で前記
オペランドデータおよび前記処理結果データの格納領域
が相互に重なり合うことが検出されたとき、当該命令に
後続する命令群についてのパイプライン制御による先行
処理を一時的に抑止し、さらに、前記ワードオーバラッ
プ検出の結果に応じて選択された演算処理が完了した
後、当該命令に後続する命令群についての前記パイプラ
イン制御による先行処理を再開する構成としている。す
なわち、ワードオーバラップ検出手段がオペランドデー
タおよび処理結果データの格納領域が相互に重なり合う
こと(ワードオーバラップ)を検出すると、後続する命
令群の解読処理などのパイプライン制御による先行処理
が抑止されるので、後続する命令群のオーバランを防止
できるとともに、従来行われていた後続する命令群のキ
ャンセルと再実行に伴うオーバヘッドを削減することが
できるという効果が得られる。
【0046】したがって、情報処理装置の処理速度向上
を容易に実現できるようになるという効果が得られる。
【図面の簡単な説明】
【図1】本発明の情報処理装置の一実施例の基本的な構
成を示すブロック図である。
【図2】本発明の情報処理装置で「MVC命令」を含む
連続した命令列について処理を行う場合のパイプライン
フローの一例を示すタイムチャートである。
【図3】従来の情報処理装置の一例の基本的な構成を示
すブロック図である。
【図4】従来の情報処理装置で「MVC命令」を含む連
続した命令列について処理を行う場合のパイプラインフ
ローの一例を示すタイムチャートである。
【符号の説明】
100,200 命令レジスタ(IR) 101,201 オペランド長(L) 102,202 第1オペランドの基底アドレスレジス
タ番号(B1) 103,203 第1オペランドの変位アドレス(D
1) 104,204 第2オペランドの基底アドレス番号
(B2) 105,205 第2オペランドの変位アドレス(D
2) 110 第2ワードオーバラップ検出器 111 第2ワードオーバラップ検出信号 115,215 命令デコーダ 120,220 汎用レジスタ群(GPR) 130,230 第1アドレス加算器 140,240 第2アドレス加算器 150 第1ワードオーバラップ検出器 151 第1ワードオーバラップ検出信号 160,260 制御記憶 161,261 マイクロプログラム 190,290 演算実行部 250 ワードオーバラップ検出器 251 ワードオーバラップ検出信号
フロントページの続き (72)発明者 袴田 正史 神奈川県秦野市堀山下1番地 株式会社日 立製作所汎用コンピュータ事業部内 (72)発明者 平岡 徹 東京都小平市上水本町5丁目22番1号 株 式会社日立マイコンシステム内 (72)発明者 森 茂 神奈川県秦野市堀山下1番地 日立コンピ ュータエンジニアリング 株式会社内 (72)発明者 山本 通敬 神奈川県秦野市堀山下1番地 株式会社日 立製作所汎用コンピュータ事業部内 (72)発明者 糸井 朋永 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 主記憶上のオペランドデータを対象とす
    る所定の演算処理によって得られる処理結果データを前
    記主記憶上に格納するタイプの命令の実行に際して、前
    記主記憶上における前記オペランドデータおよび前記処
    理結果データの格納領域が相互に重なり合うか否かのワ
    ードオーバラップ検出を当該命令中に記述されている各
    種の値に基づいて行った後、前記ワードオーバラップ検
    出の結果に応じて相異なる演算処理を選択的に行う情報
    処理装置において、 各々の前記格納領域を広域的な管理単位で指定する汎用
    レジスタが一致する場合には、各々の前記格納領域の大
    きさを指定するオペランド長の値および各々の前記格納
    領域を厳密に指定する変位アドレスの値のみを用いて早
    期に前記ワードオーバラップ検出を行うワードオーバラ
    ップ検出手段を具備する構成としたことを特徴とする情
    報処理装置。
  2. 【請求項2】 前記ワードオーバラップ検出で前記オペ
    ランドデータおよび前記処理結果データの格納領域が相
    互に重なり合うことが検出されたとき、当該命令に後続
    する命令群についてのパイプライン制御による先行処理
    を一時的に抑止する構成としたことを特徴とする請求項
    1記載の情報処理装置。
  3. 【請求項3】 前記ワードオーバラップ検出の結果に応
    じて選択された演算処理が完了した後、当該命令に後続
    する命令群についての前記パイプライン制御による先行
    処理を再開する構成としたことを特徴とする請求項2記
    載の情報処理装置。
JP7032561A 1995-02-21 1995-02-21 情報処理装置 Pending JPH08227360A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7032561A JPH08227360A (ja) 1995-02-21 1995-02-21 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7032561A JPH08227360A (ja) 1995-02-21 1995-02-21 情報処理装置

Publications (1)

Publication Number Publication Date
JPH08227360A true JPH08227360A (ja) 1996-09-03

Family

ID=12362330

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7032561A Pending JPH08227360A (ja) 1995-02-21 1995-02-21 情報処理装置

Country Status (1)

Country Link
JP (1) JPH08227360A (ja)

Similar Documents

Publication Publication Date Title
JPS6028015B2 (ja) 情報処理装置
US5088030A (en) Branch address calculating system for branch instructions
US4631672A (en) Arithmetic control apparatus for a pipeline processing system
EP0240606B1 (en) Pipe-line processing system and microprocessor using the system
US6044455A (en) Central processing unit adapted for pipeline process
EP0324952B1 (en) Branching circuit for a pipelined processor
JPS6116335A (ja) 情報処理装置
JPH08227360A (ja) 情報処理装置
JPS5890247A (ja) 情報処理装置のパイプライン制御方式
JP3490191B2 (ja) 計算機
JPS61288230A (ja) パイプライン制御方式
JP2000112754A (ja) データ処理装置
JP2503223B2 (ja) 先行制御方式
JP2843844B2 (ja) 並列演算処理装置
JPH0248733A (ja) 情報処理装置
JP3414579B2 (ja) プログラマブルコントローラ
JPH0419575B2 (ja)
JPS59220844A (ja) 命令再実行制御方式
JPH04245333A (ja) 情報処理装置
JPH03154929A (ja) 中央処理装置
JPH02254541A (ja) 条件分岐命令の制御方式
JPH06337785A (ja) 情報処理装置およびその命令実行制御方法
JPH02206836A (ja) データ処理装置
JPH0227429A (ja) パイプライン制御方式
JPS5920055A (ja) 分岐命令のリトライ方式

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20011211