JPH1063503A - 演算処理装置及び演算処理方法 - Google Patents
演算処理装置及び演算処理方法Info
- Publication number
- JPH1063503A JPH1063503A JP8234741A JP23474196A JPH1063503A JP H1063503 A JPH1063503 A JP H1063503A JP 8234741 A JP8234741 A JP 8234741A JP 23474196 A JP23474196 A JP 23474196A JP H1063503 A JPH1063503 A JP H1063503A
- Authority
- JP
- Japan
- Prior art keywords
- data
- bit width
- result
- data storage
- storage means
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
Abstract
つ演算結果を生成する演算を専用一時記憶装置を使用す
る特殊な処理を行うことなく実行し、制御回路の複雑化
を抑えた高速動作可能な演算処理装置及び演算処理方法
を提供する。 【解決手段】 演算に必要なデータ及び演算結果を格納
する記憶装置101、演算データを用いて演算処理を行
う演算装置104、演算結果が記憶装置のビット幅より
大きいビット幅の場合に、演算結果のうち記憶装置のビ
ット幅以下のデータ部分を選択して記憶装置に格納する
選択装置105を備え、演算結果が記憶装置のビット幅
より大きいビット幅の場合に、同じ演算データによる同
じ演算処理を繰り返して演算結果と同じ演算結果を生成
し、複数の演算結果のうち互いに異なるデータ部分であ
って記憶装置のビット幅以下のデータ部分を、複数の演
算結果からそれぞれ選択して格納する。
Description
びその演算処理方法に関し、特にデータ記憶装置のビッ
ト幅(バス幅)を越えるビット幅の演算結果を生成する
演算処理を複雑で特殊な処理を行うことなく可能とする
演算処理装置およびその演算処理方法に関する。
ビット幅より大きいビット幅の演算結果を生成する演算
処理を行い、その演算結果を記憶装置に記憶する方法と
しては、演算装置の出力を一時的に専用の一時記憶装置
に記録し、その後順次記憶装置に転送する方法が広く知
られている。
処理装置の構成を示すブロック図である。図9は図8に
示す演算処理装置のパイプライン動作図である。図示の
ように、この演算処理装置は、演算データを記憶する記
憶装置801、記憶装置801から読み出した演算に必
要なデータを保持する一時記憶装置802,803、一
時記憶装置802,803に保持されたデータを用いて
演算処理を行う演算装置804、セレクタ805、記憶
装置801のビット幅(すなわち、バス幅)を越える分
の演算結果を保持する一時記憶装置806を備えて構成
される。
うな演算処理を行う場合について説明する。
幅以下のビット幅を持つ演算結果を生成する演算命
令、”op2”は記憶装置のビット幅より大きいビット
幅を持つ演算結果を生成する演算命令を示している。
ル(1)で、演算処理装置は、まず演算命令”opl”
に必要なデータを記憶装置801より読み出し、一時記
憶装置802、803に保持する。次のサイクル(2)
で、一時記憶装置802、803に保持されているデー
タを用いて演算命令”opl”による演算を行い、演算
結果を記憶装置801に書き込む。同時に、演算命令”
op2”に必要なデータを記憶装置801より読み出
し、一時記憶装置802、803に保持する。
803に保持されているデータを用いて演算命令”op
2”による演算を行う。ここで、演算命令”op2”は
記憶装置801の幅以上の演算結果を生成するため、演
算結果の一部を記憶装置801に書き込み、演算結果の
残りを一時記憶装置806に書き込み、同時に、演算命
令op3に必要なデータを記憶装置801より読み出
し、一時記憶装置802、803に保持する。
保持されている演算命令”op2”の演算結果の残りを
記憶装置801に書き込む。演算命令”op3”による
演算を行っても記憶装置801への書き込みが行えない
ため、演算命令”op3”は保留される。サイクル
(5)で、一時記憶装置802、803に保持されてい
るデータを用いて演算命令”op3”による演算を行
い、演算結果を記憶装置801に書き込む。
理装置及び演算処理方法には、以下のような問題点があ
った。
ット幅を持つ演算結果を記憶装置に書き込む際、記憶装
置のビット幅を越える分の演算結果の保持のためだけに
使用する専用の一時記憶装置が必要であり、回路の小規
模化を損なうという問題があった。その理由は、従来の
演算処理装置においては処理のビット幅が固定されてお
り、一度に記憶装置に書き込むデータのビット幅もそれ
によって制限されるためである。
前サイクルの演算結果を記憶装置に書き込むために、次
の演算実行を保留する必要があるため、規則的な演算処
理動作の中に不規則な制御が必要な動作が現れるため、
制御が複雑になるという問題があった。
大きいビット幅を持つ演算結果を生成する演算を専用の
一時記憶装置を使用することなく処理することができ、
これにより回路規模を抑えることのできる演算処理装置
及び演算処理方法を提供することにある。
ット幅より大きいビット幅を持つ演算を特殊な処理を行
うことなく実行することにより、制御回路の複雑化を抑
えた高速動作可能な演算処理装置及び演算処理方法を提
供することにある。
明の演算処理装置は、演算に必要なデータ及び演算結果
を格納する演算データ記憶手段と、前記演算データ記憶
手段から読み出した演算データを用いて演算処理を行う
演算実行手段と、前記演算実行手段による演算結果が前
記演算データ記憶手段のビット幅より大きいビット幅の
場合に、前記演算結果のうち前記演算データ記憶手段の
ビット幅以下のデータ部分であって後の演算に必要なデ
ータ部分を選択して前記演算データ記憶手段に格納する
選択手段とを備えたことを特徴とする。
算実行手段によって実行され、前記演算データ記憶手段
のビット幅より大きいビット幅の演算結果を生成し、か
つ演算結果のうち前記演算データ記憶手段に格納すべき
データとして前記演算データ記憶手段のビット幅以下の
データ部分であって後の演算に必要なデータ部分を指定
する演算命令群を有し、選択手段は、前記演算結果のう
ち前記演算命令群で指定されるデータ部分を選択するこ
とを特徴とする。
算に必要なデータ及び演算結果を格納する演算データ記
憶手段と、前記演算データ記憶手段から読み出した演算
データを用いて演算処理を行う演算実行手段と、前記演
算実行手段による演算結果が前記演算データ記憶手段の
ビット幅より大きいビット幅の場合に、前記演算結果の
うち前記演算データ記憶手段のビット幅以下のデータ部
分を選択して前記演算データ記憶手段に格納する選択手
段とを備え、前記演算実行手段では、演算結果が前記演
算データ記憶手段のビット幅より大きいビット幅の場合
に、同じ演算データによる同じ演算処理を繰り返して前
記演算結果と同じ演算結果を生成し、前記選択手段で
は、複数の前記演算結果のうち互いに異なるデータ部分
であって前記前記演算データ記憶手段のビット幅以下の
データ部分を、複数の前記演算結果からそれぞれ選択し
て前記演算データ記憶手段に格納することを特徴とす
る。
記演算実行手段によって実行され、前記演算データ記憶
手段のビット幅より大きいビット幅の演算結果を生成
し、かつ演算結果のうち前記演算データ記憶手段に格納
すべきデータとして前記演算データ記憶手段のビット幅
以下のデータ部分を指定する第1の演算命令と前記第1
の演算命令と同じ演算データによる同じ演算処理を繰り
返して前記演算結果と同じ演算結果を生成し、かつ演算
結果のうち前記第1の演算命令によって指定されないデ
ータ部分を前記演算データ記憶手段に格納すべきデータ
として指定する第2の演算命令を含む演算命令群を有
し、前記選択手段は、前記演算結果のうち前記第1の演
算命令と前記第2の演算命令によって指定されるデータ
部分を選択してそれぞれ前記演算データ記憶手段に格納
することを特徴とする。
に格納された演算データの演算を行うと共に、該演算に
よる演算結果を前記演算データ記憶手段に格納する演算
処理方法において、前記演算結果が前記演算データ記憶
手段のビット幅より大きいビット幅の場合に、前記演算
結果のうち前記演算データ記憶手段のビット幅以下のデ
ータ部分であって後の演算に必要とするデータ部分を選
択して前記演算データ記憶手段に格納することを特徴と
する。
に格納された演算データの演算を行うと共に、該演算に
よる演算結果を演算データ記憶手段に格納する演算処理
方法において、演算結果が前記演算データ記憶手段のビ
ット幅より大きいビット幅の場合に、同じ演算データに
よる同じ演算処理を繰り返して前記演算結果と同じ演算
結果を生成し、複数の前記演算結果のうち互いに異なる
データ部分であって前記前記演算データ記憶手段のビッ
ト幅以下のデータ部分を、複数の前記演算結果からそれ
ぞれ選択して前記演算データ記憶手段に格納することを
特徴とする。
演算データ記憶手段のビット幅より大きいビット幅の演
算結果を生成し、かつ演算結果のうち前記演算データ記
憶手段に格納すべきデータとして前記演算データ記憶手
段のビット幅以下のデータ部分を指定する第1の演算ス
テップと、前記第1の演算ステップと同じ演算データに
よる同じ演算処理を繰り返して前記演算結果と同じ演算
結果を生成し、かつ演算結果のうち前記第1の演算ステ
ップによって指定されないデータ部分を前記演算データ
記憶手段に格納すべきデータとして指定する第2の演算
ステップと、前記演算結果のうち前記第1の演算命令と
前記第2の演算命令によって指定されるデータ部分を選
択してそれぞれ前記演算データ記憶手段に格納するステ
ップとを備える。
て図面を参照して詳細に説明する。図1は本発明の実施
の形態による演算処理装置の構成を示すブロック図であ
る。図1において、この演算処理装置は、演算に必要な
データ及び演算結果を格納する記憶装置101、記憶装
置101から読み出した演算に必要なデータを保持する
一時記憶装置102、103、一時記憶装置102,1
03に保持されたデータを用いて演算処理を行う演算装
置104、演算結果が記憶装置101のビット幅(バス
幅)より大きいビット幅の場合にその演算結果のうち演
算命令によって指定されるデータを選択する選択装置1
05を備えて構成され、かつ演算結果が記憶装置101
のビット幅より大きいビット幅を持つ時演算結果のうち
記憶すべきデータを指定する演算命令群を有している。
いて、以下に示すように、記憶装置101のビット幅よ
り大きいビット幅を持つ演算結果を生成する演算を行
い、その演算結果の一部のみを後の演算で使用する第1
の演算処理を実行する場合について説明する。
算命令であり、記憶装置101のビット幅より大きいビ
ット幅を持つ演算結果を生成し、その一部を記憶装置1
01に書き込む演算命令、”opl”及び”op3”は
記憶装置101の幅以下のビット幅を持つ演算結果を生
成する演算命令である。例えば、記憶装置101のビッ
ト幅が32ビットで、演算命令”op2a”による演算
で生成される演算結果が64ビットである場合、演算命
令”op2a”は演算結果の一部である上位又は下位の
32ビットを記憶装置101に書き込む。
a”によって記憶装置101のビット幅より大きいビッ
ト幅を持つ演算結果を生成する演算を行い、その演算結
果の一部(記憶装置101のビット幅以下のデータ)の
みを記憶装置101に記憶して後の演算で使用する演算
例を示している。
を実行する場合のパイプライン動作図を示す。図3に示
すように、本発明の演算処理装置は、まず最初のサイク
ル(1)で、演算命令”opl”に必要なデータを記憶
装置101より読み出し、一時記憶装置102、103
に保持する。
2、103に保持されているデータを用いて演算装置1
04により演算命令”opl”による演算を実行し、そ
の演算結果を記憶装置101に書き込む。そして、現サ
イクルにおいて、同時に、演算命令”op2a”に必要
なデータを記憶装置101より読み出し、一時記憶装置
102、103に保持する。
置102、103に保持されているデータを用いて演算
命令”op2a”による演算を行い、演算により得られ
た記憶装置101のビット幅より大きいビット幅の演算
結果の一部のデータ(例えば、上位の所定ビット)を選
択装置105によって選択し記憶装置101に書き込
む。同時に、演算命令”op3”に必要なデータを記憶
装置101より読み出し、一時記憶装置102、103
に保持する。
103に保持されているデータを用いて演算命令”op
3”による演算を実行し、その演算結果を記憶装置10
1に書き込む。
り大きいビット幅を持つ演算結果を生成する演算を行
い、その演算結果の一部のみを後の演算で使用する演算
においては、本発明の命令群に属する記憶装置101の
幅より大きいビット幅を持つ演算結果を生成し、その演
算結果の一部を記憶装置102,103に書き込む演算
命令”op2a”を用いることで、記憶装置のビット幅
を越える分のデータのために記憶装置への書き込みのた
めの特殊な処理が不要となり、次の演算を遅滞なく処理
することができる。また、上記のような演算命令を使用
することで、記憶装置101のビット幅を越える分の演
算結果の保持のためだけに使用する専用の一時記憶装置
を不要としている。
置において、以下に示すように、記憶装置101のビッ
ト幅より大きいビット幅を持つ演算結果を生成する演算
を行うと共に、その演算結果の全部を後の演算に使用す
る第2の演算処理の例について説明する。
令であり、記憶装置101のビット幅より大きいビット
幅を持つ演算結果を生成し、その一部を記憶装置に書き
込む演算命令である。この演算命令”op2b”は、演
算命令”op2a”と同一の演算(同一の演算データ)
を行うと共に、演算命令”op2a”において記憶装置
101に書き込まない演算結果の一部を記憶装置101
に書き込む。
のビット幅が32ビットで、演算命令”op2a”によ
る演算で生成される演算結果が64ビットである場合、
演算命令”op2a”がその演算結果の一部である上位
の32ビットを記憶装置101に書き込む演算命令であ
れば、演算命令”op2b”は同じデータによる演算に
より64ビットの演算結果を生成し、その演算結果の一
部である下位の32ビットを記憶装置101に書き込む
演算命令となる。
を実行する場合のパイプライン動作図を示す。図4に示
すように、本発明の演算処理装置は、まず最初のサイク
ル(1)で、演算命令”opl”に必要なデータを記憶
装置101より読み出し、一時記憶装置102、103
に保持する。
2、103に保持されているデータを用いて演算命令”
opl”による演算を行い、演算結果を記憶装置101
に書き込む。同時に、演算命令”op2a”に必要なデ
ータを記憶装置101より読み出し、一時記憶装置10
2、103に保持する。
2、103に保持されているデータを用いて演算命令”
op2a”による演算を行い、演算により得られた記憶
装置101のビット幅より大きいビット幅の演算結果の
一部(例えば、上位の所定ビット)を記憶装置101に
書き込む。そして、同時に、演算命令”op2b”に必
要なデータを記憶装置101より読み出し、一時記憶装
置102、103に保持する。
2、103に保持されているデータを用いて演算命令”
op2b”による演算を行い、演算により得られた記憶
装置101のビット幅より大きいビット幅の演算結果の
一部(例えば、下位の所定ビット)を記憶装置101に
書き込む。同時に、演算命令”op3”に必要なデータ
を記憶装置101より読み出し、一時記憶装置102、
103に保持する。
2、103に保持されているデータを用いて演算命令”
op3”による演算を実行し、その演算結果を記憶装置
101に書き込む。
り大きいビット幅を持つ演算結果を生成する演算を行
い、その演算結果の全部を後の演算に使用する演算にお
いては、本発明の命令群に属する記憶装置101のビッ
ト幅より大きいビット幅を持つ演算結果を生成しその一
部を記憶装置に書き込む演算命令”op2a”と、演算
命令”op2a”と同じ演算を行うと共に、演算命令”
op2a”によって記憶装置101に書き込まれない部
分を記憶装置101に書き込む演算命令”op2b”を
用いることで、一時記憶装置に保持された記憶装置のビ
ット幅を越える分のデータのために記憶装置への書き込
みのための特殊な処理が不要となり、次の演算を遅滞な
く処理することができる。
とで、記憶装置101のビット幅を越える分の演算結果
の保持のためだけに使用する専用の一時記憶装置を不要
としている。
5〜図7を用いて説明する。図2は本発明を適用した実
施例による5段パイプライン構造のRISC型のマイク
ロプロセッサの演算実行ユニットの構成ブロック図であ
る。ここで、201は32ビット×32本の記憶装置で
ある演算に必要なデータ及び演算結果を格納するレジス
タ・ファイル、202及び203はテンポラリ・レジス
タ、204は算術論理演算器、205は算術論理演算器
204のテンポラリ・レジスタ、206は積和演算器、
207は積和演算器206の中間レジスタ、208はデ
ータ・セレクタ、209はテンポラリ・レジスタであ
る。
ットの一覧を示す。図7に示す機械語命令セットのう
ち、演算命令“mult3”、演算命令“mact3”
が本発明の実施例による命令セットである。
ult3 r3,r4,r5”においては、”r3”
と”r4”の32ビット・データを乗算し、その乗算結
果である64ビット・データのうち、上位32ビット
を”r5”に書き込むといった演算処理を行う。
算“mact3 r3,r4,r5”においては、”r
3”と”r4”の32ビット・データを乗算し、その乗
算結果である64ビット・データのうち、上位32ビッ
トと”r5”の内容を加算し加算結果を”r5”に書き
込むといった演算処理を行う。
“mact3”は、上述した演算命令”op2a”の種
類に含まれる具体的な演算命令である。
ult3”を使用した以下に示す命令列の実行を例に説
明する。この命令列での演算処理は、実施の形態で説明
した記憶装置101のビット幅より大きいビット幅を持
つ演算結果を生成する演算を行い、その演算結果の一部
のみを後の演算で使用する第1の演算処理に対応してい
る。
セッサによって実行する場合のパイプライン動作図であ
る。
(1)でまず機械語命令xorを読み込む。次のサイク
ル(2)で、機械語命令mult3を読み込むと同時
に、演算命令xorに必要なデータをレジスタ・ファイ
ル201より読み出し、テンポラリ・レジスタ202、
203に保持する。
を読み込む。同時にテンポラリ・レジスタ202、20
3に保持されているデータを用いて算術論理演算器20
4で演算命令xorの演算を行い、その演算結果をテン
ポラリ・レジスタ205に保持する。同時に、演算命令
mult3に必要なデータをレジスタ・ファイル201
より読み出し、テンポラリ・レジスタ202、203に
保持する。
スタ205に保持されている演算命令xorの演算結果
をテンポラリ・レジスタ209に書き込む。同時にテン
ポラリ・レジスタ202、203に保持されているデー
タを用いて積和演算器204で演算命令mult3の演
算を開始し、その演算の途中結果を中間レジスタ207
に保持する。同時に、演算命令addに必要なデータを
レジスタ・ファイル201より読み出し、かつテンポラ
リ・レジスタ202、203に保持する。
スタ209に保持されている演算命令xorの演算結果
をレジスタ・ファイル201に書き込む。同時に中間レ
ジスタ207に保持されているデータを用いて積和演算
器206で演算命令mult3による後半の演算を行
い、その演算結果の上位32ビットをテンポラリ・レジ
スタ309に保持する。同時に、テンポラリ・レジスタ
202、203に保持されているデータを用いて算術論
理演算器204で演算命令addによる演算を行い、そ
の演算結果をテンポラリ・レジスタ205に保持する。
スタ209に保持されている演算命令mult3による
演算結果をレジスタ・ファイル201に書き込む。同時
にテンポラリ・レジスタ206に保持されている演算命
令addの演算結果をテンポラリ・レジスタ209に書
き込む。次のサイクル(7)で、テンポラリ・レジスタ
209に保持されている演算命令addによる演算結果
をレジスタ・ファイル201に書き込む。
サは、パイプライン動作を乱す複雑な制御を行うことな
く、32ビット・データどうしの乗算を行い、必要な上
位32ビットの演算結果を得ることが可能である。
ットに機械語命令である演算命令“mult13”を持
つ。この演算命令“mult13”を用いた演算”mu
lt13 r3,r4,r5”は、”r3”と”r4”
の32ビット・データを乗算し、その乗算結果の64ビ
ット・データのうち、下位32ビットを”r5”に書き
込むといった演算処理を行う。この演算命令“mult
13”は、上述した演算命令”op2b”の種類に含ま
れる具体的な演算命令である。すなわち、この演算命令
“mult13”では、演算命令“mult3”と同じ
演算を行い、かつ演算命令“mult3”が記憶装置に
書き込まない演算結果の一部を記憶装置に書き込む。
動作について上記演算命令“mult3”と演算命令
“mult13”を使用した以下に示す命令列の実行を
例に説明する。この命令列での演算処理は、実施の形態
で説明した記憶装置のビット幅より大きいビット幅を持
つ演算結果を生成する演算を行い、その演算結果の全部
を後の演算で使用する第2の演算処理に対応している。
マイクロプロセッサは、まずサイクル(1)で演算命
令”xor”を読み込む。
t3”を読み込む。同時に演算命令xorに必要なデー
タをレジスタ・ファイル201より読み出し、テンポラ
リ・レジスタ202、203に保持する。
t13”を読み込む。同時にテンポラリ・レジスタ20
2、203に保持されているデータを用いて算術論理演
算器204で演算命令”xor”による演算を行い、演
算結果をテンポラリ・レジスタ205に保持する。同時
に、演算命令”mult3”に必要なデータをレジスタ
・ファイル201より読み出し、テンポラリ・レジスタ
202、203に保持する。
d”を読み込む。同時にテンポラリ・レジスタ205に
保持されている演算命令”xor”の演算結果をテンポ
ラリ・レジスタ209に書き込む。同時にテンポラリ・
レジスタ202、203に保持されているデータを用い
て積和演算器206で演算命令”mult3”による演
算を開始し、演算の途中結果を中間レジスタ207に保
持する。同時に、演算命令”mult13”に必要なデ
ータをレジスタ・ファイル201より読み出し、テンポ
ラリ・レジスタ202、203に保持する。
スタ209に保持されている演算命令”xor”の演算
結果をレジスタ・ファイル201に書き込む。同時に中
間レジスタ207に保持されているデータを用いて積和
演算器206で演算命令”mult3”の後半の演算を
行い、その演算結果の上位32ビットをテンポラリ・レ
ジスタ209に保持する。同時に、テンポラリ・レジス
タ202、203に保持されているデータを用いて積和
演算器206で演算命令”mult13”による演算を
開始し、演算の途中結果を中間レジスタ207に保持す
る。同時に、演算命令”add”に必要なデータをレジ
スタ・ファイル201より読み出し、テンポラリ・レジ
スタ202、203に保持する。
スタ209に保持されている演算命令”mult3”の
演算結果をレジスタ・ファイル201に書き込む。同時
に中間レジスタ207に保持されているデータを用いて
積和演算器206で演算命令”mult13”による後
半の演算を行い、演算結果の上位32ビットをテンポラ
リ・レジスタ209に保持する。同時に、テンポラリ・
レジスタ202、203に保持されているデータを用い
て算術論理演算器204で演算命令”add”の演算を
行い、かつその演算結果をテンポラリ・レジスタ206
に保持する。
スタ209に保持されている演算命令”mult13”
の演算結果をレジスタ・ファイル201に書き込む。同
時にテンポラリ・レジスタ205に保持されている演算
命令”add”の演算結果をテンポラリ・レジスタ20
9に書き込む。
スタ209に保持されている演算命令”add”の演算
結果をレジスタ・ファイル201に書き込む。
サでは、パイプライン動作を乱す複雑な制御を行うこと
なく、32ビット・データどうしの乗算を行うことによ
り、記憶装置であるレジスタ・ファイル201のビット
幅より大きい64ビットの演算結果を得ることができ
る。
したが、本発明は必ずしも上記実施例の内容に限定され
るものではない。
置及びその演算処理方法によれば、以下に示すような効
果が得られる。
ット幅を持つ演算結果を生成する演算を行う際、演算結
果の必要な部分のみを記憶装置に選択的に書き込む構成
としたので、記憶装置のビット幅より大きいビット幅を
持つ演算結果を生成する演算で記憶装置のビット幅を越
える分の演算結果を保持するための専用の一時記憶装置
を設ける必要性がなくなる。
ット幅を持つ演算結果を生成する演算を行う際、必要な
部分の演算結果を記憶装置に選択的に書き込むことによ
り、特殊な処理によってパイプライン動作による演算処
理を乱す事なく必要な演算結果が得られるため、記憶装
置のビット幅より大きいビット幅を持つ演算結果を生成
する演算を行う際でも規則的なパイプライン動作による
処理を維持でき、制御を簡略化することができる。
ット幅を持つ演算結果の全てを必要とする場合、同じ演
算データによる同じ演算処理を繰り返して同じ演算結果
を生成し、複数の演算結果のうち互いに異なるデータ部
分であって記憶装置のビット幅以下のデータ部分を、複
数の演算結果からそれぞれ選択して記憶装置に格納する
ことにより、記憶装置のビット幅を越える分の演算結果
を保持するためだけに使用する専用の一時記憶装置を設
ける必要がないと共に、特殊な処理によってパイプライ
ン動作による演算処理を乱すことなく記憶装置のビット
幅より大きいビット幅の演算結果を得ることが可能とな
る。
成を示すブロック図である。
セッサの構成を示すブロック図である。
プライン動作図である。
プライン動作図である。
である。
である。
示す図である。
である。
Claims (7)
- 【請求項1】 演算に必要なデータ及び演算結果を格納
する演算データ記憶手段と、 前記演算データ記憶手段から読み出した演算データを用
いて演算処理を行う演算実行手段と、 前記演算実行手段による演算結果が前記演算データ記憶
手段のビット幅より大きいビット幅の場合に、前記演算
結果のうち前記演算データ記憶手段のビット幅以下のデ
ータ部分であって後の演算に必要なデータ部分を選択し
て前記演算データ記憶手段に格納する選択手段とを備え
たことを特徴とする演算処理装置。 - 【請求項2】 前記演算実行手段によって実行され、前
記演算データ記憶手段のビット幅より大きいビット幅の
演算結果を生成し、かつ演算結果のうち前記演算データ
記憶手段に格納すべきデータとして前記演算データ記憶
手段のビット幅以下のデータ部分であって後の演算に必
要なデータ部分を指定する演算命令群を有し、 前記選択手段は、前記演算結果のうち前記演算命令群で
指定されるデータ部分を選択することを特徴とする請求
項1に記載の演算処理装置。 - 【請求項3】 演算に必要なデータ及び演算結果を格納
する演算データ記憶手段と、 前記演算データ記憶手段から読み出した演算データを用
いて演算処理を行う演算実行手段と、 前記演算実行手段による演算結果が前記演算データ記憶
手段のビット幅より大きいビット幅の場合に、前記演算
結果のうち前記演算データ記憶手段のビット幅以下のデ
ータ部分を選択して前記演算データ記憶手段に格納する
選択手段とを備え、 前記演算実行手段では、演算結果が前記演算データ記憶
手段のビット幅より大きいビット幅の場合に、同じ演算
データによる同じ演算処理を繰り返して前記演算結果と
同じ演算結果を生成し、 前記選択手段では、複数の前記演算結果のうち互いに異
なるデータ部分であって前記前記演算データ記憶手段の
ビット幅以下のデータ部分を、複数の前記演算結果から
それぞれ選択して前記演算データ記憶手段に格納するこ
とを特徴とする演算処理装置。 - 【請求項4】 前記演算実行手段によって実行され、前
記演算データ記憶手段のビット幅より大きいビット幅の
演算結果を生成し、かつ演算結果のうち前記演算データ
記憶手段に格納すべきデータとして前記演算データ記憶
手段のビット幅以下のデータ部分を指定する第1の演算
命令と前記第1の演算命令と同じ演算データによる同じ
演算処理を繰り返して前記演算結果と同じ演算結果を生
成し、かつ演算結果のうち前記第1の演算命令によって
指定されないデータ部分を前記演算データ記憶手段に格
納すべきデータとして指定する第2の演算命令を含む演
算命令群を有し、 前記選択手段は、前記演算結果のうち前記第1の演算命
令と前記第2の演算命令によって指定されるデータ部分
を選択してそれぞれ前記演算データ記憶手段に格納する
ことを特徴とする請求項3に記載の演算処理装置。 - 【請求項5】 演算データ記憶手段に格納された演算デ
ータの演算を行うと共に、該演算による演算結果を前記
演算データ記憶手段に格納する演算処理方法において、 前記演算結果が前記演算データ記憶手段のビット幅より
大きいビット幅の場合に、前記演算結果のうち前記演算
データ記憶手段のビット幅以下のデータ部分であって後
の演算に必要とするデータ部分を選択して前記演算デー
タ記憶手段に格納することを特徴とする演算処理方法。 - 【請求項6】 演算データ記憶手段に格納された演算デ
ータの演算を行うと共に、該演算による演算結果を前記
演算データ記憶手段に格納する演算処理方法において、 演算結果が前記演算データ記憶手段のビット幅より大き
いビット幅の場合に、同じ演算データによる同じ演算処
理を繰り返して前記演算結果と同じ演算結果を生成し、 複数の前記演算結果のうち互いに異なるデータ部分であ
って前記前記演算データ記憶手段のビット幅以下のデー
タ部分を、複数の前記演算結果からそれぞれ選択して前
記演算データ記憶手段に格納することを特徴とする演算
処理方法。 - 【請求項7】 前記演算データ記憶手段のビット幅より
大きいビット幅の演算結果を生成し、かつ演算結果のう
ち前記演算データ記憶手段に格納すべきデータとして前
記演算データ記憶手段のビット幅以下のデータ部分を指
定する第1の演算ステップと、 前記第1の演算ステップと同じ演算データによる同じ演
算処理を繰り返して前記演算結果と同じ演算結果を生成
し、かつ演算結果のうち前記第1の演算ステップによっ
て指定されないデータ部分を前記演算データ記憶手段に
格納すべきデータとして指定する第2の演算ステップ
と、 前記演算結果のうち前記第1の演算命令と前記第2の演
算命令によって指定されるデータ部分を選択してそれぞ
れ前記演算データ記憶手段に格納するステップとを備え
ることを特徴とする請求項6に記載の演算処理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8234741A JP2885197B2 (ja) | 1996-08-16 | 1996-08-16 | 演算処理装置及び演算処理方法 |
US08/910,027 US5854919A (en) | 1996-08-16 | 1997-08-12 | Processor and its operation processing method for processing operation having bit width exceeding data width of bit storage unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8234741A JP2885197B2 (ja) | 1996-08-16 | 1996-08-16 | 演算処理装置及び演算処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1063503A true JPH1063503A (ja) | 1998-03-06 |
JP2885197B2 JP2885197B2 (ja) | 1999-04-19 |
Family
ID=16975640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8234741A Expired - Fee Related JP2885197B2 (ja) | 1996-08-16 | 1996-08-16 | 演算処理装置及び演算処理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5854919A (ja) |
JP (1) | JP2885197B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060230198A1 (en) * | 2005-03-30 | 2006-10-12 | Kabushiki Kaisha Toshiba | Data processing circuit, data processing method and image forming apparatus |
US20100199067A1 (en) * | 2009-02-02 | 2010-08-05 | International Business Machines Corporation | Split Vector Loads and Stores with Stride Separated Words |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS55138156A (en) * | 1979-04-16 | 1980-10-28 | Hitachi Ltd | Information processor |
US5168571A (en) * | 1990-01-24 | 1992-12-01 | International Business Machines Corporation | System for aligning bytes of variable multi-bytes length operand based on alu byte length and a number of unprocessed byte data |
JPH04172533A (ja) * | 1990-11-07 | 1992-06-19 | Toshiba Corp | 電子計算機 |
US5680632A (en) * | 1992-12-24 | 1997-10-21 | Motorola, Inc. | Method for providing an extensible register in the first and second data processing systems |
US5615402A (en) * | 1993-10-18 | 1997-03-25 | Cyrix Corporation | Unified write buffer having information identifying whether the address belongs to a first write operand or a second write operand having an extra wide latch |
US5590352A (en) * | 1994-04-26 | 1996-12-31 | Advanced Micro Devices, Inc. | Dependency checking and forwarding of variable width operands |
-
1996
- 1996-08-16 JP JP8234741A patent/JP2885197B2/ja not_active Expired - Fee Related
-
1997
- 1997-08-12 US US08/910,027 patent/US5854919A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2885197B2 (ja) | 1999-04-19 |
US5854919A (en) | 1998-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8595280B2 (en) | Apparatus and method for performing multiply-accumulate operations | |
JPS6077265A (ja) | ベクトル処理装置 | |
JPH02226420A (ja) | 浮動小数点演算実行装置 | |
JPS61107431A (ja) | 演算装置 | |
JP3237858B2 (ja) | 演算装置 | |
JPH03286332A (ja) | デジタルデータ処理装置 | |
JP2885197B2 (ja) | 演算処理装置及び演算処理方法 | |
JPH0650512B2 (ja) | デ−タ処理装置 | |
US6981130B2 (en) | Forwarding the results of operations to dependent instructions more quickly via multiplexers working in parallel | |
JP2020502669A (ja) | ベクトル生成命令 | |
JPH0528431B2 (ja) | ||
JP2812610B2 (ja) | パイプライン制御方式 | |
KR100246465B1 (ko) | 마이크로프로세서 스택 명령어의 수행사이클을 줄이기 위한 장치 및 그 방법 | |
JP2009059187A (ja) | マイクロプロセッサおよびデータ処理方法 | |
JPS60204029A (ja) | 信号処理装置 | |
JP2819733B2 (ja) | 情報処理装置 | |
JP3825709B2 (ja) | パイプライン処理方法及びプロセッサ装置 | |
JP3523407B2 (ja) | 情報処理装置 | |
JP3088956B2 (ja) | 演算装置 | |
JP3693873B2 (ja) | マスクビット数演算装置、ベクトル処理装置、情報処理装置 | |
JPS6162174A (ja) | 情報婦理装置 | |
JPS60144874A (ja) | ベクトルデ−タ処理装置 | |
JPH0218732B2 (ja) | ||
JP2004303058A (ja) | ベクトルプロセッサおよびそのデータ処理方法 | |
JPH0222417B2 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080212 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090212 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100212 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100212 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110212 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110212 Year of fee payment: 12 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110212 Year of fee payment: 12 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110212 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120212 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130212 Year of fee payment: 14 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140212 Year of fee payment: 15 |
|
LAPS | Cancellation because of no payment of annual fees |