JPS61253541A - 命令処理装置 - Google Patents
命令処理装置Info
- Publication number
- JPS61253541A JPS61253541A JP60095444A JP9544485A JPS61253541A JP S61253541 A JPS61253541 A JP S61253541A JP 60095444 A JP60095444 A JP 60095444A JP 9544485 A JP9544485 A JP 9544485A JP S61253541 A JPS61253541 A JP S61253541A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- address
- general
- register
- operand
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3824—Operand accessing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の利用分野〕
本発明は複数のアドレス加算器を有する命令処理装置に
係り、特にレジスタオペランドに対して演算を施すと共
に、分岐先命令のアドレス計算を行う分岐命令の処理に
好適な命令処理装置に関する。
係り、特にレジスタオペランドに対して演算を施すと共
に、分岐先命令のアドレス計算を行う分岐命令の処理に
好適な命令処理装置に関する。
先行する命令が変更した汎用レジスタを、後続の命令が
アドレス計算に利用する場合、従来の装置では特開昭5
4−41641に記載されているように、主演算装置と
は別の簡単な副演算装置を設け、汎用レジスタを変更す
る命令を副演算装置で高速に処理し、その演算結果を汎
用レジスタを介することなくアドレス加算器に直接入力
し、その結果を利用する後続命令のアドレス計算の遅れ
を短縮していた。
アドレス計算に利用する場合、従来の装置では特開昭5
4−41641に記載されているように、主演算装置と
は別の簡単な副演算装置を設け、汎用レジスタを変更す
る命令を副演算装置で高速に処理し、その演算結果を汎
用レジスタを介することなくアドレス加算器に直接入力
し、その結果を利用する後続命令のアドレス計算の遅れ
を短縮していた。
しかし、加減算を行う命令に関しては、副演算装置を別
に設けることなく、既存のアドレス加算器を利用するこ
とが可能であり、この結果後続命令のアドレス計算の遅
れを従来より短縮することができる。
に設けることなく、既存のアドレス加算器を利用するこ
とが可能であり、この結果後続命令のアドレス計算の遅
れを従来より短縮することができる。
本発明の目的は、複数のアドレス加算器を有する命令処
理装置で分岐命令を処理するにあたり、分岐先命令のア
ドレス加算と、レジスタオペランドに対する演算を、そ
れぞれ別のアドレス加算器を利用して同時に行い、該分
岐命令と後続命令との間のレジスタコンフリクトを早期
に解消し得る命令処理装置を提供することにある。
−〔発明の概要〕 記憶装置上に複数のオペランドを有する命令を高速に処
理するためには、各オペランドのアドレス計算を同時に
行えるように複数個のアドレス加算器を設ければ良い、
一方分岐命令は分岐先命令のアドレスを計算するだけな
のでアドレス加算器が空いてしまう、そこで、レジスタ
オペランドに対して演算を施す分岐命令を処理する場合
、空いたアドレス加算器でレジスタ演算を行うことによ
り、演算結果を早期に求めることができる。
理装置で分岐命令を処理するにあたり、分岐先命令のア
ドレス加算と、レジスタオペランドに対する演算を、そ
れぞれ別のアドレス加算器を利用して同時に行い、該分
岐命令と後続命令との間のレジスタコンフリクトを早期
に解消し得る命令処理装置を提供することにある。
−〔発明の概要〕 記憶装置上に複数のオペランドを有する命令を高速に処
理するためには、各オペランドのアドレス計算を同時に
行えるように複数個のアドレス加算器を設ければ良い、
一方分岐命令は分岐先命令のアドレスを計算するだけな
のでアドレス加算器が空いてしまう、そこで、レジスタ
オペランドに対して演算を施す分岐命令を処理する場合
、空いたアドレス加算器でレジスタ演算を行うことによ
り、演算結果を早期に求めることができる。
以下、本発明の一実施例を第1図〜第5図により説明す
る。
る。
第1図は、記憶装置上に2つのオペランド(それぞれ第
1オペランド、第2オペランドと称す、)を有する命令
を高速に処理する命令処理装置を示している。オペラン
ドの記憶装置上のアドレス(これをオペランドアドレス
と称す)は、命令で指定する汎用レジスタ(Bl、B2
)の内容と、命令の一部である偏位値(Di、B2.)
を加えて求めることができる。第1図に示した命令処理
装置では、2つのオペランドのオペランドアドレスを同
時に計算し、記憶装置からのオペランドの読出しを同時
に行うことができる。すなわち、第1オペランドのオペ
ランドアドレスは、B1で指定されたレジスタの内容を
汎用レジスタ11より読出し、信号線54を経由してア
ドレス加算器14に入力すると共に、偏位値D1の値を
信号線52によりアドレス加算器14に直接入力し1両
データの加算を実行することにより求める。第1オペラ
ンドのオペランドアドレスの計算と同時に、第2オペラ
ンドのオペランドアドレスが、B2で指定された汎用レ
ジスタ11の内容と、偏位値D2の値をそれぞれ信号線
55および53によりアドレス加算器15に入力し、両
者の加算を行うことによって求められる。ここで、イン
クリメンタ12.13はそれぞれ命令の種類に応じて定
数を発生し、アドレス加算器14.15に入力する回路
であり1本実施例では常に値がOであるものとする。ア
ドレス加算器14.15によって算出されたオペランド
アドレスは、それぞれ信号m 58 。
1オペランド、第2オペランドと称す、)を有する命令
を高速に処理する命令処理装置を示している。オペラン
ドの記憶装置上のアドレス(これをオペランドアドレス
と称す)は、命令で指定する汎用レジスタ(Bl、B2
)の内容と、命令の一部である偏位値(Di、B2.)
を加えて求めることができる。第1図に示した命令処理
装置では、2つのオペランドのオペランドアドレスを同
時に計算し、記憶装置からのオペランドの読出しを同時
に行うことができる。すなわち、第1オペランドのオペ
ランドアドレスは、B1で指定されたレジスタの内容を
汎用レジスタ11より読出し、信号線54を経由してア
ドレス加算器14に入力すると共に、偏位値D1の値を
信号線52によりアドレス加算器14に直接入力し1両
データの加算を実行することにより求める。第1オペラ
ンドのオペランドアドレスの計算と同時に、第2オペラ
ンドのオペランドアドレスが、B2で指定された汎用レ
ジスタ11の内容と、偏位値D2の値をそれぞれ信号線
55および53によりアドレス加算器15に入力し、両
者の加算を行うことによって求められる。ここで、イン
クリメンタ12.13はそれぞれ命令の種類に応じて定
数を発生し、アドレス加算器14.15に入力する回路
であり1本実施例では常に値がOであるものとする。ア
ドレス加算器14.15によって算出されたオペランド
アドレスは、それぞれ信号m 58 。
59を通って記憶装置16.17に転送され、記憶装置
上の対応するデータの読出しに利用されろ。
上の対応するデータの読出しに利用されろ。
読出したデータは信号@60.61を通り、オペランド
バッファ18.19を経由して、信号線62.63によ
り演算器20に入力され、命令によって決められた演算
を施し、演算結果を信号線64によ゛つて記憶装置16
.17あるいは汎用レジスタ11に格納する。
バッファ18.19を経由して、信号線62.63によ
り演算器20に入力され、命令によって決められた演算
を施し、演算結果を信号線64によ゛つて記憶装置16
.17あるいは汎用レジスタ11に格納する。
このように、記憶装置上に2つ以トのオペランドを有す
る命令では、オペランドと同数の汎用レジスタからのデ
ータ読出しルート及びアドレス加算器とそれに対応する
記憶装置を設けることにより、命令処理を高速化するこ
とができる。
る命令では、オペランドと同数の汎用レジスタからのデ
ータ読出しルート及びアドレス加算器とそれに対応する
記憶装置を設けることにより、命令処理を高速化するこ
とができる。
本発明の主眼点は、第1図に示した楕成を有する命令処
理装置において、計数分岐命令を高速に処理し、計算分
岐命令が変更したレジスタを後続の命令が使用する場合
、これを命令処理のオーバヘッドなく対処することであ
る。第2図に計数分岐命令の°命令形式を示す、(1)
の命令形式においてビット0−7は命令コードを示す、
ビット8−11は第1オペランドの汎用レジスタ番号を
示し、ビット12−15は分岐先命令の命令アドレスを
保持する汎用レジスタ番号を示す、(2)の命令形式に
おいても、ビットO−7は命令コードを示し。
理装置において、計数分岐命令を高速に処理し、計算分
岐命令が変更したレジスタを後続の命令が使用する場合
、これを命令処理のオーバヘッドなく対処することであ
る。第2図に計数分岐命令の°命令形式を示す、(1)
の命令形式においてビット0−7は命令コードを示す、
ビット8−11は第1オペランドの汎用レジスタ番号を
示し、ビット12−15は分岐先命令の命令アドレスを
保持する汎用レジスタ番号を示す、(2)の命令形式に
おいても、ビットO−7は命令コードを示し。
ビット8−11は第1オペランドの汎用レジスタ番号を
示している。さらに、ビット12−15゜16−19.
20−31はそれぞれ分岐先命令の命令アドレスを計算
するためのインデクスレジスタ番号、ペースレジスタ番
号及び偏位値を示す。
示している。さらに、ビット12−15゜16−19.
20−31はそれぞれ分岐先命令の命令アドレスを計算
するためのインデクスレジスタ番号、ペースレジスタ番
号及び偏位値を示す。
(1)あるいは(2)の命令形式を有する計数分岐命令
は、第1オペランドで指定した汎用レジスタの内容から
1を減じ、その結果を同一の汎用レジスタに格納すると
同時に、演算結果がOでない場合には、第2オペランド
で指定したアドレスへ分岐する機能を有する。
は、第1オペランドで指定した汎用レジスタの内容から
1を減じ、その結果を同一の汎用レジスタに格納すると
同時に、演算結果がOでない場合には、第2オペランド
で指定したアドレスへ分岐する機能を有する。
(3)、 (4)の命令ではビットO−7が命令コード
。
。
ビット8−11.12−15がそれ、ぞれ第1.第3オ
ペランドの汎用レジスタ番号、ビット16−20.21
−31が分岐先アドレスを計算するためのペースレジス
タ番号および偏位値を示している。命令(3)では、第
1オペランド、第3オペランドの汎用レジスタの値を加
算し、その結果がR3’で示される汎用レジスタ(R3
が奇数の時R3’ =R3,R3が偶数の時R3’ =
R3+1)の値より大きければ第2オペランドで指定し
たアドレスへ分岐する。命令(4)では、第1オペラン
ド、第3オペランドの汎用レジスタの値の加算結果がR
3’で示される汎用レジスタの値より小さいか1等しい
場合に分岐する機能を有する。
ペランドの汎用レジスタ番号、ビット16−20.21
−31が分岐先アドレスを計算するためのペースレジス
タ番号および偏位値を示している。命令(3)では、第
1オペランド、第3オペランドの汎用レジスタの値を加
算し、その結果がR3’で示される汎用レジスタ(R3
が奇数の時R3’ =R3,R3が偶数の時R3’ =
R3+1)の値より大きければ第2オペランドで指定し
たアドレスへ分岐する。命令(4)では、第1オペラン
ド、第3オペランドの汎用レジスタの値の加算結果がR
3’で示される汎用レジスタの値より小さいか1等しい
場合に分岐する機能を有する。
(1)〜(2)の分岐命令はいずれも汎用レジスタの値
のみによって分岐判定を行うことができるという点で共
通している1本発明の実施例としては特に(1)、 (
2)で示した計数分岐命令の処理をとりあげ説明する。
のみによって分岐判定を行うことができるという点で共
通している1本発明の実施例としては特に(1)、 (
2)で示した計数分岐命令の処理をとりあげ説明する。
計数分岐命令を処理する場合、従来装置では。
命令のデコードサイクルにおいて、分岐先命令アドレス
を計算すると同時に、R1で指定した汎用アドレスの内
容が1か否かを認識しくすなわち。
を計算すると同時に、R1で指定した汎用アドレスの内
容が1か否かを認識しくすなわち。
1を減じてOになるか否かを!!!識し)、分岐判定を
行うことができる。しかし、実際の演算(R1)−1は
デコードサイクルで行うことができず、演算器(あるい
は副演算器)において演算サイクルに同期して行うため
、該計数分岐命令が変更した汎用レジスタ(R1で指定
した汎用レジスタ)を後続の命令がアドレス計算あるい
は同じく計数分岐命令のR1として使用した場合、後続
命令の処理開始(デコードサイクル)が前の計数分岐命
令の演算終了まで待たされてしまう、第3図に、計算分
岐命令のR1で指定した汎用レジスタを直後の命令がア
ドレス計算に利用した場合の命令処理の流れを示す、第
3図は横軸が命令処理の流れ(時間)を、縦軸が命令列
を示しており、(1)。
行うことができる。しかし、実際の演算(R1)−1は
デコードサイクルで行うことができず、演算器(あるい
は副演算器)において演算サイクルに同期して行うため
、該計数分岐命令が変更した汎用レジスタ(R1で指定
した汎用レジスタ)を後続の命令がアドレス計算あるい
は同じく計数分岐命令のR1として使用した場合、後続
命令の処理開始(デコードサイクル)が前の計数分岐命
令の演算終了まで待たされてしまう、第3図に、計算分
岐命令のR1で指定した汎用レジスタを直後の命令がア
ドレス計算に利用した場合の命令処理の流れを示す、第
3図は横軸が命令処理の流れ(時間)を、縦軸が命令列
を示しており、(1)。
(2)いずれにおいてもaが計数分岐命令、bが直後の
命令を示している。
命令を示している。
一つの命令はり、A、L、E、Pと5つのサイクルによ
り処理され、Dサイクルでは命令のデコードおよびアド
レス計算を行い、Aサイクルでバッファ記憶の参照を行
い、Lサイクルでバッファ記憶から読出したオペランド
の転送を行い、Eサイクルで演算を実行し、Pサイクル
で演算結果の汎用レジスタへの書込みを行う、第3図に
は、aの計数分岐命令はいずれもDサイクルで分岐判定
を行い、分岐不成功であった場合を示している。
り処理され、Dサイクルでは命令のデコードおよびアド
レス計算を行い、Aサイクルでバッファ記憶の参照を行
い、Lサイクルでバッファ記憶から読出したオペランド
の転送を行い、Eサイクルで演算を実行し、Pサイクル
で演算結果の汎用レジスタへの書込みを行う、第3図に
は、aの計数分岐命令はいずれもDサイクルで分岐判定
を行い、分岐不成功であった場合を示している。
第3図(1)は、計数分岐命令aが変更した汎用レジス
タの値を直後の命令すがアドレス計算に利用する場合、
計数分岐命令aの演算終了後、演算結果を汎用レジスタ
に格納するのを待って命令すのアドレス計算を開始した
場合を示している。この時計数分岐命令aの分岐判定は
Dサイクルで行われているにも拘らず、直後の命令のデ
コードの開始が4サイクル遅れてしまう。
タの値を直後の命令すがアドレス計算に利用する場合、
計数分岐命令aの演算終了後、演算結果を汎用レジスタ
に格納するのを待って命令すのアドレス計算を開始した
場合を示している。この時計数分岐命令aの分岐判定は
Dサイクルで行われているにも拘らず、直後の命令のデ
コードの開始が4サイクル遅れてしまう。
第3図(2)は、特開昭54−41641に示された如
く主演算器とは別の簡単な演算器(副演算器)を設け、
計数分岐命令aの演算を該副演算器にて行い。
く主演算器とは別の簡単な演算器(副演算器)を設け、
計数分岐命令aの演算を該副演算器にて行い。
その結果を直接後続命令のアドレス加算に利用できるよ
うにした場合の命令処理である。この場合副演算器にお
ける演算は、主演算器における演算より1サイクル早く
開始できるだけであるので、やはり、命令すのデコード
開始は2サイクル遅れてしまう、このように、計数分岐
命令で変更した汎用レジスタを直後の命令がアドレス計
算に利用する場合従来装置では計数分岐命令の演算サイ
クルに同期して後続命令のデコードを開始するため、命
令処理に空きが生じる。
うにした場合の命令処理である。この場合副演算器にお
ける演算は、主演算器における演算より1サイクル早く
開始できるだけであるので、やはり、命令すのデコード
開始は2サイクル遅れてしまう、このように、計数分岐
命令で変更した汎用レジスタを直後の命令がアドレス計
算に利用する場合従来装置では計数分岐命令の演算サイ
クルに同期して後続命令のデコードを開始するため、命
令処理に空きが生じる。
第4図に、計数分岐命令を高速に処理できる命令処理装
置の一例を示す。命令レジスタ110には第2図(ロ)
で示した形式の計数分岐命令が設定されている。従来、
計数分岐命令の処理においては、第1オペランドに対す
る減算を演算器で行い、分岐先命令のアドレス計算をア
ドレス加算器で行っていた。第4図に示した命令処理装
置では、これら2種類の演算を共にアドレス加算器で行
うことにより、命令処理の高速化を実現している。
置の一例を示す。命令レジスタ110には第2図(ロ)
で示した形式の計数分岐命令が設定されている。従来、
計数分岐命令の処理においては、第1オペランドに対す
る減算を演算器で行い、分岐先命令のアドレス計算をア
ドレス加算器で行っていた。第4図に示した命令処理装
置では、これら2種類の演算を共にアドレス加算器で行
うことにより、命令処理の高速化を実現している。
すなわち、インデクスレジスタ番号およびベースレジス
タ番号を信号線151,152により汎用レジスタ11
1に送り、対応する汎用レジスタの内容を信号線155
.156によりアドレス加算器に入力する。偏位値は命
令レジスタ110から信号線153により直接アドレス
加算器115に入力し、これら3種のデータを加算して
分岐先命令のアドレスを求めることができる。ただし計
数分岐命令処理中、セレクタ133は汎用レジスタ11
1側を選んでいるものとする。算出したアドレスは記憶
装置117に送られ、対応する命令を読み出すのに利用
する。読出した命令に対する処理は、第1図で説明した
オペランドに対する処理とは異なるが、本発明とは直接
関係がないので省略する。このような1分岐先命令のア
ドレス計算と並行して、第1オペランドで指定した汎用
レジスタ番号を信号線150により汎用レジスタ111
に送り、対応するデータを読出して、信号線154およ
びセレクタ131を経てアドレス加算器114に入力す
る。さらに、−1発生器121により−1をアドレス加
算器に入力し、′第1オペランドから1を減じる演算を
ここで実現することができる。ただし、計数分岐命令実
行時、セレクタ130はOを出力し、セレクタ131は
信号線154をセレクトし、セレクタ132は一1発生
器121をセレクトする。このように算出した値は、ア
ドレスとして用いることはなく、すなわち、記憶装置1
16に送ることなく、レジスタ140に保持する。レジ
スタ140に保持した値は信号線164により、アドレ
ス加算器への入力データとなり得ると同時に、バッファ
150に格納し、計数分岐命令の演算終了まで保持する
。計算分岐命令の終了時に、バッファ141から読出し
たデータを、信号線166によって汎用レジスタに送り
第1オペランドで指定したレジスタに書込む、ここで、
計数分岐命令の後続の命令が、計数分岐命令の第1オペ
ランドで指定した汎用レジスタをアドレス計算に用いる
場合、計数分岐命令に対するアドレス加算器114にお
ける減算終了後、演算結果はレジスタ140に保持され
ているため、後続命令のインデクスレジスタあるいはペ
ースレジスタで指定した汎用レジスタの内容を入力する
代わりにセレクタ130を信号線165をセレクトする
ように制御することにより後続命令のアドレス加算を行
うことができる。この結果、後続命令のアドレス加算は
、計数分岐命令の演算終了まで待たされる必要がなくな
る。
タ番号を信号線151,152により汎用レジスタ11
1に送り、対応する汎用レジスタの内容を信号線155
.156によりアドレス加算器に入力する。偏位値は命
令レジスタ110から信号線153により直接アドレス
加算器115に入力し、これら3種のデータを加算して
分岐先命令のアドレスを求めることができる。ただし計
数分岐命令処理中、セレクタ133は汎用レジスタ11
1側を選んでいるものとする。算出したアドレスは記憶
装置117に送られ、対応する命令を読み出すのに利用
する。読出した命令に対する処理は、第1図で説明した
オペランドに対する処理とは異なるが、本発明とは直接
関係がないので省略する。このような1分岐先命令のア
ドレス計算と並行して、第1オペランドで指定した汎用
レジスタ番号を信号線150により汎用レジスタ111
に送り、対応するデータを読出して、信号線154およ
びセレクタ131を経てアドレス加算器114に入力す
る。さらに、−1発生器121により−1をアドレス加
算器に入力し、′第1オペランドから1を減じる演算を
ここで実現することができる。ただし、計数分岐命令実
行時、セレクタ130はOを出力し、セレクタ131は
信号線154をセレクトし、セレクタ132は一1発生
器121をセレクトする。このように算出した値は、ア
ドレスとして用いることはなく、すなわち、記憶装置1
16に送ることなく、レジスタ140に保持する。レジ
スタ140に保持した値は信号線164により、アドレ
ス加算器への入力データとなり得ると同時に、バッファ
150に格納し、計数分岐命令の演算終了まで保持する
。計算分岐命令の終了時に、バッファ141から読出し
たデータを、信号線166によって汎用レジスタに送り
第1オペランドで指定したレジスタに書込む、ここで、
計数分岐命令の後続の命令が、計数分岐命令の第1オペ
ランドで指定した汎用レジスタをアドレス計算に用いる
場合、計数分岐命令に対するアドレス加算器114にお
ける減算終了後、演算結果はレジスタ140に保持され
ているため、後続命令のインデクスレジスタあるいはペ
ースレジスタで指定した汎用レジスタの内容を入力する
代わりにセレクタ130を信号線165をセレクトする
ように制御することにより後続命令のアドレス加算を行
うことができる。この結果、後続命令のアドレス加算は
、計数分岐命令の演算終了まで待たされる必要がなくな
る。
第5図に、本発明を利用した命令処理装置において、計
数分岐命令aと計数分岐命令が変更した汎用レジスタの
値をアドレス計算に用いる命令すが連続した場合の命令
処理の流れを示した。ここで計数分岐命令aの分岐判定
はDサイクルにて行い、その結果分岐不成立であったと
する。計数分岐命令aに対する演算がDサイクルに行わ
れるので、処理サイクルに空きを生じることなく直後の
命令の処理を開始できる。このように従来装置で生じて
いたオーバヘッドを全く無くすことができる。
数分岐命令aと計数分岐命令が変更した汎用レジスタの
値をアドレス計算に用いる命令すが連続した場合の命令
処理の流れを示した。ここで計数分岐命令aの分岐判定
はDサイクルにて行い、その結果分岐不成立であったと
する。計数分岐命令aに対する演算がDサイクルに行わ
れるので、処理サイクルに空きを生じることなく直後の
命令の処理を開始できる。このように従来装置で生じて
いたオーバヘッドを全く無くすことができる。
本発明によれば、計数分岐命令が変更した汎用レジスタ
を、後続命令がオペランドアドレスの計算あるいは、分
岐命令の場合には分岐先命令アドレスを計算するために
利用する場合、後続命令のアドレス加算を、計数分岐命
令の演算終了まで待たせることなく、計数分岐命令のア
ドレス計算終了後、即座に開始できるので、後続命令の
命令処理を待たせることなく、連続的に行うことができ
る。
を、後続命令がオペランドアドレスの計算あるいは、分
岐命令の場合には分岐先命令アドレスを計算するために
利用する場合、後続命令のアドレス加算を、計数分岐命
令の演算終了まで待たせることなく、計数分岐命令のア
ドレス計算終了後、即座に開始できるので、後続命令の
命令処理を待たせることなく、連続的に行うことができ
る。
第1図は、複数のオペランドを記憶装置上に有する命令
を高速に処理する命令処理装置を示す。 第2図は、計数分岐命令の命令形式を示す、第3図は、
従来装置による命令処理の流れを示す。第4図は、計数
分岐命令を高速に処理する命令処理装置を示す。第5図
は、本発明による命令処理装置における命令処理の流れ
を示す。 10.110・・・命令レジスタ、11,111・・・
汎用レジスタ群、12,13,112,113・・・定
数発生器、14,15,114,115・・・アドレス
加算器、16,17,116,117・・・記憶装置、
18,19,118.119・・・オペランドバッファ
、20,120・・・演算器、121・・・−1発生器
、140・・・レジスタ、141・・・バッファ、罵
1 図 TZ図 (Iン [======]=互コニm¥33 図
を高速に処理する命令処理装置を示す。 第2図は、計数分岐命令の命令形式を示す、第3図は、
従来装置による命令処理の流れを示す。第4図は、計数
分岐命令を高速に処理する命令処理装置を示す。第5図
は、本発明による命令処理装置における命令処理の流れ
を示す。 10.110・・・命令レジスタ、11,111・・・
汎用レジスタ群、12,13,112,113・・・定
数発生器、14,15,114,115・・・アドレス
加算器、16,17,116,117・・・記憶装置、
18,19,118.119・・・オペランドバッファ
、20,120・・・演算器、121・・・−1発生器
、140・・・レジスタ、141・・・バッファ、罵
1 図 TZ図 (Iン [======]=互コニm¥33 図
Claims (1)
- 【特許請求の範囲】 1、命令で指定された汎用レジスタの内容に対して所定
の演算を施し、演算結果を汎用レジスタに格納すると共
に、該演算結果によつて条件分岐を行う分岐命令を処理
するにあたり、命令のデコードサイクルにおいて分岐先
命令のアドレス計算と並列に汎用レジスタに対する演算
を行う演算器を備え、該演算器の演算結果を後続命令の
アドレス計算に利用できるよう該演算器からアドレス加
算器へのデータ転送バスを有することを特徴とする命令
処理装置。 2、複数のオペランドを記憶装置上にもつ命令の各々の
オペランドを、並列に同時参照できるように、それぞれ
のオペランドのアドレスを計算するためのアドレス加算
器を複数個備えている命令処理装置において、命令で指
定された汎用レジスタの内容に演算を施し、演算結果を
汎用レジスタに格納すると共に、その演算結果によつて
条件分岐を行う分岐命令を処理するにあたり、分岐先命
令のアドレスを前記アドレス加算器の1つを用いて計算
すると同時に、命令で指定されたレジスタを他のアドレ
ス加算器に読出せるように汎用レジスタからアドレス加
算器へのデータ読出しバスを設け、さらにアドレス加算
器にて所定の演算を施すことができるような機能を備え
たことを特徴とする命令処理装置。 3、第2項においてアドレス加算器の出力結果を保持す
るレジスタを備え、分岐命令が変更する汎用レジスタの
内容を後続命令がアドレス計算用データとして読出す場
合、汎用レジスタや演算器を介することなく、上記レジ
スタから直接アドレス加算器へデータを転送するルート
を設けることを特徴とする命令処理装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60095444A JPH0752390B2 (ja) | 1985-05-07 | 1985-05-07 | 命令処理装置 |
EP86106128A EP0201833B1 (en) | 1985-05-07 | 1986-05-05 | Instruction processor |
DE86106128T DE3688806T2 (de) | 1985-05-07 | 1986-05-05 | Instruktionsprozessor. |
US07/336,741 US4954947A (en) | 1985-05-07 | 1989-03-21 | Instruction processor for processing branch instruction at high speed |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60095444A JPH0752390B2 (ja) | 1985-05-07 | 1985-05-07 | 命令処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS61253541A true JPS61253541A (ja) | 1986-11-11 |
JPH0752390B2 JPH0752390B2 (ja) | 1995-06-05 |
Family
ID=14137860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP60095444A Expired - Lifetime JPH0752390B2 (ja) | 1985-05-07 | 1985-05-07 | 命令処理装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US4954947A (ja) |
EP (1) | EP0201833B1 (ja) |
JP (1) | JPH0752390B2 (ja) |
DE (1) | DE3688806T2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01214931A (ja) * | 1988-02-23 | 1989-08-29 | Mitsubishi Electric Corp | データ処理装置 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5265220A (en) * | 1986-12-23 | 1993-11-23 | Nec Corporation | Address control device for effectively controlling an address storing operation even when a request is subsequently cancelled |
JP2690921B2 (ja) * | 1987-12-25 | 1997-12-17 | 株式会社日立製作所 | 情報処理装置 |
US5522053A (en) * | 1988-02-23 | 1996-05-28 | Mitsubishi Denki Kabushiki Kaisha | Branch target and next instruction address calculation in a pipeline processor |
US5099419A (en) * | 1988-11-25 | 1992-03-24 | Nec Corporation | Pipeline microcomputer having branch instruction detector and bus controller for producing and carrying branch destination address prior to instruction execution |
EP0404068A3 (en) * | 1989-06-20 | 1991-12-27 | Fujitsu Limited | Branch instruction executing device |
US5203002A (en) * | 1989-12-27 | 1993-04-13 | Wetzel Glen F | System with a multiport memory and N processing units for concurrently/individually executing 2N-multi-instruction-words at first/second transitions of a single clock cycle |
US5333288A (en) * | 1990-02-23 | 1994-07-26 | Nec Corporation | Effective address pre-calculation type pipelined microprocessor |
JP2922723B2 (ja) * | 1992-06-29 | 1999-07-26 | キヤノン株式会社 | 情報処理装置 |
JP2857600B2 (ja) * | 1995-05-11 | 1999-02-17 | 松下電器産業株式会社 | プロセッサ及びプログラム翻訳装置 |
US6385720B1 (en) * | 1997-07-14 | 2002-05-07 | Matsushita Electric Industrial Co., Ltd. | Branch prediction method and processor using origin information, relative position information and history information |
JP3606435B2 (ja) * | 1999-09-29 | 2005-01-05 | 富士通株式会社 | モードを変更する分岐命令を制御する命令処理装置および方法 |
JP2005259113A (ja) * | 2004-02-12 | 2005-09-22 | Ricoh Co Ltd | プロセス編集装置、プロセス管理装置、プロセス編集プログラム、プロセス管理プログラム、記録媒体、プロセス編集方法及びプロセス管理方法 |
GB2464674C (en) * | 2008-10-20 | 2013-04-03 | Avdel Uk Ltd | Blind fastener |
US10514911B2 (en) * | 2014-11-26 | 2019-12-24 | International Business Machines Corporation | Structure for microprocessor including arithmetic logic units and an efficiency logic unit |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5441641A (en) * | 1977-09-09 | 1979-04-03 | Hitachi Ltd | Data processing system having data producing unit |
JPS5478941A (en) * | 1977-12-07 | 1979-06-23 | Hitachi Ltd | High speed operation system |
JPS57755A (en) * | 1980-06-02 | 1982-01-05 | Hitachi Ltd | Information processor |
JPS5734253A (en) * | 1980-08-09 | 1982-02-24 | Fujitsu Ltd | Brunch instruction controlling circuit |
JPS6017538A (ja) * | 1983-07-11 | 1985-01-29 | Hitachi Ltd | 命令処理装置 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4025771A (en) * | 1974-03-25 | 1977-05-24 | Hughes Aircraft Company | Pipe line high speed signal processor |
JPS6029126B2 (ja) * | 1977-01-14 | 1985-07-09 | 株式会社日立製作所 | デ−タ処理装置 |
JPS5440537A (en) * | 1977-09-07 | 1979-03-30 | Hitachi Ltd | Pipeline control system |
US4325120A (en) * | 1978-12-21 | 1982-04-13 | Intel Corporation | Data processing system |
US4295193A (en) * | 1979-06-29 | 1981-10-13 | International Business Machines Corporation | Machine for multiple instruction execution |
JPS5621240A (en) * | 1979-07-27 | 1981-02-27 | Hitachi Ltd | Information processor |
JPS5927935B2 (ja) * | 1980-02-29 | 1984-07-09 | 株式会社日立製作所 | 情報処理装置 |
JPS56129950A (en) * | 1980-03-07 | 1981-10-12 | Hitachi Ltd | Information processor |
JPS56149646A (en) * | 1980-04-21 | 1981-11-19 | Toshiba Corp | Operation controller |
CA1174370A (en) * | 1980-05-19 | 1984-09-11 | Hidekazu Matsumoto | Data processing unit with pipelined operands |
JPS5858653A (ja) * | 1981-10-02 | 1983-04-07 | Hitachi Ltd | デ−タ処理装置 |
US4435756A (en) * | 1981-12-03 | 1984-03-06 | Burroughs Corporation | Branch predicting computer |
JPS58189739A (ja) * | 1982-04-30 | 1983-11-05 | Hitachi Ltd | デ−タ処理システム |
US4594655A (en) * | 1983-03-14 | 1986-06-10 | International Business Machines Corporation | (k)-Instructions-at-a-time pipelined processor for parallel execution of inherently sequential instructions |
JPS60178539A (ja) * | 1984-02-24 | 1985-09-12 | Fujitsu Ltd | 情報処理装置におけるバイパス制御方式 |
JPS60204036A (ja) * | 1984-03-28 | 1985-10-15 | Hitachi Ltd | デ−タ処理装置 |
-
1985
- 1985-05-07 JP JP60095444A patent/JPH0752390B2/ja not_active Expired - Lifetime
-
1986
- 1986-05-05 EP EP86106128A patent/EP0201833B1/en not_active Expired - Lifetime
- 1986-05-05 DE DE86106128T patent/DE3688806T2/de not_active Expired - Fee Related
-
1989
- 1989-03-21 US US07/336,741 patent/US4954947A/en not_active Expired - Lifetime
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5441641A (en) * | 1977-09-09 | 1979-04-03 | Hitachi Ltd | Data processing system having data producing unit |
JPS5478941A (en) * | 1977-12-07 | 1979-06-23 | Hitachi Ltd | High speed operation system |
JPS57755A (en) * | 1980-06-02 | 1982-01-05 | Hitachi Ltd | Information processor |
JPS5734253A (en) * | 1980-08-09 | 1982-02-24 | Fujitsu Ltd | Brunch instruction controlling circuit |
JPS6017538A (ja) * | 1983-07-11 | 1985-01-29 | Hitachi Ltd | 命令処理装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01214931A (ja) * | 1988-02-23 | 1989-08-29 | Mitsubishi Electric Corp | データ処理装置 |
Also Published As
Publication number | Publication date |
---|---|
EP0201833A3 (en) | 1989-11-08 |
EP0201833B1 (en) | 1993-08-04 |
DE3688806D1 (de) | 1993-09-09 |
EP0201833A2 (en) | 1986-11-20 |
DE3688806T2 (de) | 1994-01-05 |
JPH0752390B2 (ja) | 1995-06-05 |
US4954947A (en) | 1990-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS61253541A (ja) | 命令処理装置 | |
US5274777A (en) | Digital data processor executing a conditional instruction within a single machine cycle | |
JP2928680B2 (ja) | 複合条件処理方式 | |
KR100382018B1 (ko) | 프로세서 장치 | |
JP2000181707A (ja) | 命令制御装置及びその方法 | |
JP5813484B2 (ja) | Vliwプロセッサと命令構造と命令実行方法 | |
JPH06309349A (ja) | プログラム制御のプロセッサ | |
JP3771682B2 (ja) | ベクトル処理装置 | |
JPH0444136A (ja) | メモリアクセス制御装置 | |
JP2591325B2 (ja) | 分岐制御装置 | |
JPS60105050A (ja) | パイプライン制御方式 | |
JPS59201144A (ja) | 10進数演算回路 | |
JP2765058B2 (ja) | ストリーム演算終了検知方法及びその装置 | |
JPS6023378B2 (ja) | 情報処理装置 | |
JPS60178539A (ja) | 情報処理装置におけるバイパス制御方式 | |
JPS60178540A (ja) | 情報処理装置におけるバイパス制御方式 | |
JPH07191911A (ja) | アドレス変換装置及びマイクロプロセッサ算出方法 | |
JPH01147723A (ja) | 情報処理装置のパイプライン処理方式 | |
JPH04130536A (ja) | 分岐制御方法 | |
JPH0266628A (ja) | 情報処理装置 | |
JPH04149637A (ja) | 情報処理装置 | |
JPH01271842A (ja) | 情報処理装置 | |
JPS6027966A (ja) | データ処理装置 | |
JPS63245526A (ja) | 情報処理装置 | |
JPH0731588B2 (ja) | ベクトル処理装置 |