JP3329921B2 - 演算装置 - Google Patents

演算装置

Info

Publication number
JP3329921B2
JP3329921B2 JP32950593A JP32950593A JP3329921B2 JP 3329921 B2 JP3329921 B2 JP 3329921B2 JP 32950593 A JP32950593 A JP 32950593A JP 32950593 A JP32950593 A JP 32950593A JP 3329921 B2 JP3329921 B2 JP 3329921B2
Authority
JP
Japan
Prior art keywords
arithmetic
data
circuit
bit
arithmetic circuit
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.)
Expired - Lifetime
Application number
JP32950593A
Other languages
English (en)
Other versions
JPH07191830A (ja
Inventor
守保 伴野
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP32950593A priority Critical patent/JP3329921B2/ja
Priority to DE69423715T priority patent/DE69423715T2/de
Priority to EP94120122A priority patent/EP0660225B1/en
Priority to US08/364,729 priority patent/US5659783A/en
Priority to KR1019940037327A priority patent/KR0166403B1/ko
Publication of JPH07191830A publication Critical patent/JPH07191830A/ja
Application granted granted Critical
Publication of JP3329921B2 publication Critical patent/JP3329921B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • G06F7/509Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination for multiple operands, e.g. digital integrators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3828Multigauge devices, i.e. capable of handling packed numbers without unpacking them

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Executing Machine-Instructions (AREA)
  • Complex Calculations (AREA)
  • Image Processing (AREA)
  • Advance Control (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、高速処理が可能な演
算装置に関し、特に高速に演算を実行することが必要な
マイクロプロセッサなどに使用される演算装置である。
【0002】
【従来の技術】図5は、演算データ幅の最大が16ビッ
トの演算処理を行う従来の演算装置の一例の構成を示す
図である。
【0003】図5において、演算装置は16ビットの演
算を行う演算回路103と、演算回路103の入力に直
結されて演算データを一時的に保持するテンポラリ・レ
ジスタx101,y102とで構成される。
【0004】テンポラリ・レジスタx101,y102
は、それぞれ16ビットのデータバスd1,d2に接続
され、16ビットの演算回路103の出力はデータバス
d1又はd2に接続されている。図5では説明のために
8ビットのレジスタR1,R2,R3,R4を付加して
いる。レジスタR1とR2及びレジスタR3とR4はそ
れぞれ連結されて16ビット長のレジスタR12及びR
34のレジスタペアになる。レジスタR1,R2,R
3,R4は、データバスd1.d2の下位8ビットd1
L ,d2L 及びd1,d2の上位8ビットd1H ,d2
H のいずれにも接続可能とする。8ビット演算の場合、
レジスタR1,R2,R3,R4は、データバスd1,
d2の下位8ビットd1L ,d2L に接続され、レジス
タの内容の読み出しの時には、データバスd1,d2の
上位8ビットd1H ,d2H に“0”が与えられる。
【0005】次に、このような構成において、16ビッ
ト演算を行なうときの動作について図6に示すタイミン
グチャートを参照して説明する。
【0006】一例として、レジスタR12のペア(上位
8ビット側をR1,下位8ビット側をR2とする)の内
容にレジスタR34のペア(上位8ビット側をR3,下
位8ビット側をR4とする)の内容を加算して、加算結
果をレジスタR12のペアに書き込む(R12+R34
→R12)という演算処理について説明する。
【0007】まず、第1ステートで、レジスタR12の
ペアの内容をデータバスd1に(レジスタR1の内容を
データバスd1の上位8ビットd1H に、レジスタR2
の内容をデータバスd1の下位8ビットd1L に)、レ
ジスタR34ペアの内容をデータバスd2に(レジスタ
R3の内容をデータバスd2の上位8ビットd2H に、
レジスタR4の内容をデータバスd2の下位8ビットd
L に)読み出す。続いて、データバスd1からテンポ
ラリ・レジスタx101にレジスタR12ペアの内容が
書き込まれ、データバスd2からテンポラリ・レジスタ
y102にレジスタR34ペアの内容が書き込まれる。
演算制御信号fによって演算回路103には加算実行が
指示され、キャリー入力Cinには“0”が与えられ、演
算回路103は(x+y)を算出する。
【0008】次に、第2ステートで、演算回路103か
ら演算結果がデータバスd1に(演算結果の上位8ビッ
トがデータバスd1H に、演算結果の下位8ビットがデ
ータバスd1L に)出力され、レジスタR12ペアに書
き込まれる。
【0009】次に、8ビット演算を行なうときの動作に
ついて、図7に示すタイミングチャートを参照して説明
する。
【0010】一例として、レジスタR1の内容にレジス
タR2の内容を加算し、レジスタR1に書き込む処理
と、レジスタR3の内容からレジスタR4の内容を減算
し、レジスタR3に書き込む処理を実行する場合につい
て説明する。
【0011】このような場合は、たとえ8ビット演算で
あっても16ビットとして演算されるため、同時に2つ
の演算を実行することはできず、(レジスタR1+レジ
スタR2)→レジスタR1を実行した後、(レジスタR
3−レジスタR4)→レジスタR3を実行する。
【0012】まず、第1ステートで、レジスタR1,R
2の内容をそれぞれデータバスd1L ,d2L に読み出
す。その際、データバスd1H ,d2H には“0”が与
えられる。続いて、データバスd1,d2からそれぞれ
テンポラリ・レジスタx101,y102にレジスタR
1,R2の内容が書き込まれる。演算制御信号fにより
演算回路103に加算実行が指示され、キャリー入力C
inには“0”が与えられて、演算回路103は(x+
y)を算出する。
【0013】次に、第2ステートで、演算回路103か
ら演算結果がデータバスd1L に出力されてレジスタR
1に書き込まれる。
【0014】次に、第3ステートで、レジスタR3,R
4の内容をそれぞれデータバスd1L ,d2L に読み出
す。その際、データバスd1H ,d2H には“0”が与
えられる。続いて、データバスd1,d2からそれぞれ
テンポラリ・レジスタx101,y102にレジスタR
3,R4の内容が書き込まれる。演算制御信号fにより
演算回路103に減算実行が指示され、キャリー入力C
inには“0”が与えられ、演算回路103は(x−y)
を算出する。
【0015】次に、第4ステートで、演算回路103か
ら演算結果がデータバスd1L に出力されてレジスタR
3に書き込まれる。
【0016】このような演算処理では、8ビット演算で
も16ビットとして処理しているため、演算回路103
の上位8ビットを無駄に使用していることになる。した
がって、続けて8ビット演算を実行する場合、1つずつ
演算を実行することになり、上記の演算例では合計4ス
テートの処理時間を要することになる。
【0017】次に、後続の演算が先行する演算の結果を
使う場合、例えば、レジスタR1の内容にレジスタR2
の内容を加算し、和をレジスタR1に書き込む処理に続
き、レジスタR3の内容からレジスタR1の新しい内容
を引き、差をレジスタR3に書き込む処理を行なう場合
について、図8のタイミングチャートを参照して説明す
る。
【0018】このような演算処理を行なう場合、常に1
6ビットとして演算されるため、最初の(R1+R2)
→R1の処理が済むまでレジスタR3の内容をテンポラ
リ・レジスタx101又はy102に書き込むことはで
きない。そのため、(R3−R1)→R3の処理は(R
1+R2)→R1の処理終了後に行われる。
【0019】まず、第1ステートで、レジスタR1,R
2の内容をそれぞれデータバスd1L ,d2L に読み出
す。その際、データバスd1H ,d2H には“0”が与
えられる。続いて、データバスd1,d2からそれぞれ
テンポラリ・レジスタx101,y102にレジスタR
1,R2の内容が書き込まれる。演算制御信号fにより
演算回路103に加算実行が指示され、キャリー入力C
inには“0”が与えられ、演算回路103は(x+y)
を算出する。
【0020】次に、第2ステートで、演算結果すなわち
レジスタR1の内容とレジスタR2の内容の和が演算回
路103からデータバスd1L に出力され、レジスタR
1に書き込まれる。
【0021】次に、第3ステートで、レジスタR3,R
1の内容をそれぞれデータバスd1L ,d2L に読み出
す。その際、データバスd1H ,d2H には“0”が与
えられる。続いて、データバスd1,d2からそれぞれ
テンポラリ・レジスタx101,y102にレジスタR
3,R1の内容が書き込まれる。演算制御信号fにより
演算回路103に減算実行が指示され、キャリー入力C
inには“0”が与えられ、演算回路103は(x−y)
を算出する。
【0022】次に、第4ステートで、演算結果すなわち
レジスタR3の内容とレジスタR1の新しい内容の差
が、演算回路103からデータバスd1L に出力され、
レジスタR3に書き込まれる。
【0023】このように、従来では、続けて8ビット演
算を実行する場合は、1つずつ演算を実行することにな
り、上記の演算例では合計4ステートの処理時間を要す
ることになる。
【0024】
【発明が解決しようとする課題】以上説明したように、
演算装置の扱えるデータ幅未満のデータを演算している
時、例えば16ビット長のデータを演算できる演算装置
において8ビット長の2項演算をしている時、従来の演
算装置では、後続の演算が8ビット長の2項演算であっ
ても、先行する演算の終了まで後続の演算の開始ができ
なかった。すなわち、複数の演算が同時に実行できない
ため、処理時間がかかるという問題を招いていた。
【0025】そこで、この発明は、上記に鑑みてなされ
たものであり、その目的とするところは、複数の演算を
並行して実行可能とし、演算処理時間の短縮化を達成し
得る演算装置を提供することにある。
【0026】
【課題を解決するための手段】上記目的を達成するため
に、この発明は、取り扱う演算データの最大ビット幅を
mビット、最小ビット幅をnビットとし、それぞれ独立
して演算可能なnビットの演算回路を複数備え、nビッ
ト以上の演算データを演算する場合は、演算データがn
ビット毎に演算回路に与えられてそれぞれの演算回路が
並行動作し、下位側の演算回路から上位側の演算回路に
必要に応じてキャリーが与えられて演算処理が行われ、
mビット以下の演算データで一連の演算を連続して実行
する場合には、それぞれの演算回路が独立して並行動作
し、又は前段の演算回路の演算結果が直接後段の演算回
路側に与えられて複数の演算回路が順次動作して、一連
の演算を行う演算回路群と、それぞれの演算回路の直前
に設けられ、演算回路に与えられるnビット幅の演算デ
ータをそれぞれ独立して一時的に保持する保持手段と、
前段の演算回路から後段の演算回路にキャリーを伝達制
御する伝達手段と、それぞれの演算回路と保持手段との
間でデータの転送路となるデータバスとから構成され
前記後段の演算回路が前記前段の演算回路の演算結果を
用いて演算を行う場合、前記後段の演算回路に必要な演
算データを、後段の演算開始以前に予め前記保持手段に
保持させておくことを特徴とする。
【0027】
【作用】上記構成において、この発明は、演算データの
ビット幅を分割して分割した演算データをそれぞれ異な
る演算回路により並行して独立に演算処理し、又は先行
演算の結果が後続演算に必要な場合は、先行演算の結果
を除く後続演算の演算データを演算が開始される前に予
め保持手段に与えて準備しておくようにしている。
【0028】
【実施例】以下、図面を用いてこの発明の実施例を説明
する。
【0029】図1はこの発明の一実施例に係わる演算装
置の構成を示す図である。
【0030】図1において、演算装置は、8ビットの演
算を行う演算回路aL 1と演算回路aH 2とからなる演
算回路群と、演算回路aL 1又はaH 2の入力に直結さ
れて演算データを一時的に保持するテンポラリ・レジス
タxL 3,yL 4,xH 5,yH 6と、演算回路aL
から演算回路aH 2にキャリーを伝達制御するセレクタ
7と、演算回路aL 1及び演算回路aH 2とテンポラリ
・レジスタxL 3,yL 4,xH 5,yH 6との間でデ
ータの転送路となるデータバスd1L ,d2Lとd
H ,d2H とを有して構成される。図1では説明のた
めに演算装置の他に演算データ及び演算結果を保持する
8ビットのレジスタR1,R2,R3,R4を付加して
いる。
【0031】演算回路aL 1,aH 2は8ビットの演算
データを取扱い、演算装置全体としては一度に扱える演
算データの最大データ幅は16ビットとなる。演算回路
L1,aH 2は、演算の種類を指定する演算制御信号
L ,fH にしたがって演算を行い、8ビット演算を行
なうときは独立に動作し、16ビット演算を行なうとき
は演算回路aL 1を下位8ビット用、演算回路aH 2を
上位8ビット用として連結して動作する。この時、演算
回路aL 1のキャリー出力は、演算回路aH 2のキャリ
ー入力に接続される。
【0032】テンポラリ・レジスタxL 3,yL 4,x
H 5,yH 6は、下位8ビット(xL 3,yL 4)と上
位8ビット(xH 5,yH 6)に分割されて、それぞれ
データバスd1L ,d2L ,d1H ,d2H に接続され
ている。テンポラリ・レジスタxL 3,yL 4,x
H 5,yH 6は、演算制御信号fL ,fH にしたがって
テンポラリ・レジスタxL 3,yL 4又はテンポラリ・
レジスタxH 5,yH 6との間で演算され、例えば演算
制御信号fが加算を指示した場合は、テンポラリ・レジ
スタ(x+y)の結果が、演算回路aL 1,aH 2から
出力される。
【0033】レジスタR1とR2及びレジスタR3とR
4は、それぞれ連結されて16ビット長のレジスタR1
2及びR34のレジスタペアになる。レジスタR1〜R
4はデータバスd1L ,d2L ,d1H ,d2H のいず
れにも接続可能とする。ただし、16ビット演算の場
合、レジスタR1,R3はデータバスd1H 又はd2H
に、レジスタR2,R4はデータバスd1L 又はデータ
バスd2L と接続されるものとする。テンポラリ・レジ
スタxL 3,yL 4,xH 5,yH 6にデータ転送後の
次のステート以降で演算結果が出力される。レジスタペ
アR12,R34は、2本の16ビット・データバスd
1,d2を介してテンポラリ・レジスタxL 3,y
L 4,xH 5,yH 6の入力及び演算回路aL 1,aH
2の出力に接続されている。
【0034】16ビットのデータバスd1,d2は、下
位8ビット(d1L ,d2L )と上位8ビット(d
H ,d2H )に分割されており、演算回路aL 1とa
H 2の出力は、それぞれデータバスd1L 又はd2L
データバスd1H 又はd2H に接続されるものとする。
【0035】セレクタ7は、演算制御信号gにしたがっ
て演算回路aL 1から出力されるキャリー出力Cout
L 又はキャリー入力FCinH を選択して、演算回路a
H 2にキャリーCinH として与える。
【0036】このような構成において、まず、16ビッ
ト演算を行うときの動作について説明する。
【0037】一例として、レジスタペアR12の内容に
レジスタペアR34の内容を加算し、レジスタペアR1
2に書き込む場合について、図2に示すタイミングチャ
ートを参照して説明する。
【0038】まず、第1ステートで、レジスタペアR1
2の内容をデータバスd1に、レジスタペアR34の内
容をデータバスd2に読み出す。レジスタR2の内容が
データバスd1L からテンポラリ・レジスタxL 3に、
レジスタR1の内容がデータバスd1H からテンポラリ
・レジスタxH 4に書き込まれ、レジスタR4の内容が
データバスd2L からテンポラリ・レジスタyL 5に、
レジスタR3の内容がデータバスd2H からテンポラリ
・レジスタyH 6に書き込まれる。演算制御信号fL,f
H は、演算回路aL 1とaH 2の双方に加算実行を指示
し、演算制御信号gで演算回路aH 2のキャリー入力C
inH には演算回路aL 1のキャリー出力Cout L を接続
させる。演算回路aL 1のキャリー入力CinL には、
“0”を入れる。
【0039】演算回路aL 1は、和(xL +yL )及び
キャリーCout L を算出し、演算回路aH 2は、和(x
H +yH +CinH )を算出する。
【0040】次に、第2ステートで、演算結果が演算回
路aL 1,aH 2からデータバスd1L ,d1H にそれ
ぞれ出力され、レジスタR2及びレジスタR1に書き込
まれる。
【0041】このように、16ビット演算の場合、従来
例と本発明の上記実施例は、ともに2ステートで演算処
理されるので、処理時間の点で差は生じない。
【0042】次に、8ビット演算を行うときの動作につ
いて説明する。
【0043】一例として、レジスタR1の内容にレジス
タR2の内容を加算し、レジスタR1に書き込む処理と
レジスタR3の内容からレジスタR4の内容を引き、レ
ジスタR3に書き込む処理を並行して実行する場合につ
いて、図3に示すタイミングチャートを参照して説明す
る。
【0044】まず、第1ステートで、レジスタR1〜R
4の内容をそれぞれデータバスd1L ,d2L ,d
H ,d2H に読み出す。データバスd1L ,d2L
d1H ,d2H からそれぞれテンポラリ・レジスタxL
3,yL 4,xH 5,yH 6にレジスタR1〜R4の内
容が書き込まれる。
【0045】演算制御信号fL は、演算回路aL 1に加
算実行を指示し、演算回路aL 1のキャリー入力CinL
には、“0”を入れる。演算制御信号fH は、演算回路
H2に減算実行を指示する。演算制御信号gで演算回
路aH 2のキャリー入力CinH をFCinH にし、FCin
H には“0”を入れる。したがって、演算回路aL
は、和(xL +yL )を算出し、演算回路aH 2は、差
(xH −yH )を算出する。
【0046】次に、第2ステートで、演算結果が演算回
路aL 1,aH 2からデータバスd1L ,d1H にそれ
ぞれ出力され、レジスタR1及びレジスタR3に書き込
まれる。
【0047】このように、本発明の上記実施例では2つ
の演算を並行して同時に実行可能なため、2ステートの
処理時間で済むのに対して、従来の演算処理では、前述
したように8ビット演算でも16ビットとして処理して
いるため、演算回路103の上位8ビットを無駄に使用
しているため、続けて8ビット演算を実行する場合、1
つずつ演算を実行することになり、合計4ステートの処
理時間を要することになる。したがって、本発明の上記
実施例では、従来に比べて演算処理を高速に行うことが
できる。
【0048】次に、後続の演算が先行する演算の結果を
使う場合について説明する。
【0049】このような場合には、本発明では同時に演
算することはできないので、次のように2ステップ(1
ステップ目は第1〜第2ステート、2ステップ目は第2
〜第3ステート)に分けて実行する。
【0050】一例として、レジスタR1の内容にレジス
タR2の内容を加算し、和をレジスタR1に書き込む処
理に引き続き、レジスタR3の内容からレジスタR1の
新しい内容を引き、差をレジスタR3に書き込む処理を
行う場合について、図4に示すタイミングチャートを参
照して説明する。
【0051】まず、第1ステートで、レジスタR1〜R
3の内容をそれぞれデータバスd1L ,d2L 及びd1
H に読み出す。データバスd1L ,d2L 及びd1H
らそれぞれテンポラリ・レジスタxL 3,yL 4及びx
H 5にレジスタR1〜R3の内容が書き込まれる。演算
制御信号fL は、演算回路aL 1に加算実行を指示し、
演算回路aL 1のキャリー入力CinL には“0”を入れ
る。したがって、演算回路aL 1は和(xL +yL )を
算出する。
【0052】次に、第2ステートで、演算結果すなわち
レジスタR1の内容とレジスタR2の内容の和が、演算
回路aL 1からデータバスd2H に出力され、レジスタ
R1に書き込まれるとともにテンポラリ・レジスタyH
6に書き込まれる。演算制御信号fH は、演算回路aH
2に減算実行を指示し、演算制御信号gは、演算回路a
H 2のキャリー入力CinH にFCinH を選択し、FCin
H には“0”を入れる。したがって、演算回路aH 2は
差(xH −yH )を算出する。
【0053】次に、第3ステートで、演算結果すなわち
レジスタR3の内容とレジスタR1の新しい内容の差
が、演算回路aH 2からデータバスd2H に出力され、
レジスタR3に書き込まれる。
【0054】このように、続けて8ビット演算を実行す
る場合は、従来例では1つずつ演算を実行することにな
り、上記の演算例では合計4ステートの処理時間を要す
るのに対して、本発明の上記実施例では、1回目の演算
開始時に次の演算に必要なデータの一部をテンポラリ・
レジスタに書き込んでおくことができ(なお、次の演算
に必要なデータの一部すなわち上記の例ではレジスタR
3の内容を第2ステートでテンポラリ・レジスタに書き
込んでも良い)、また、演算結果をレジスタに書き込む
際、テンポラリ・レジスタにも書き込むことができるた
め、処理時間が1ステート分短縮される。
【0055】したがって、本願発明の実施例では8ビッ
ト演算が継続して実行される場合、従来例に比べて処理
時間が1〜2ステート短縮されるため、高速処理を必要
とする応用分野の演算装置に適している。
【0056】
【発明の効果】以上説明したように、この発明によれ
ば、演算データのビット幅を分割して分割した演算デー
タをそれぞれ異なる演算回路により並行して独立に演算
処理し、又は先行演算の結果が後続演算に必要な場合
は、先行演算の結果を除く後続演算の演算データを演算
が開始される前に予め第2の保持手段から第1の保持手
段に与えて準備しておくようにしたので、演算処理を高
速化することができる。
【図面の簡単な説明】
【図1】請求項1記載の発明の一実施例に係わる演算装
置の構成を示す図である。
【図2】図1に示す演算装置の動作タイミングチャート
である。
【図3】図1に示す演算装置の他の動作タイミングチャ
ートである。
【図4】図1に示す演算装置の他の動作タイミングチャ
ートである。
【図5】従来の演算装置の構成を示す図である。
【図6】図5に示す演算装置の動作タイミングチャート
である。
【図7】図5に示す演算装置の他の動作タイミングチャ
ートである。
【図8】図5に示す演算装置の他の動作タイミングチャ
ートである。
【符号の説明】
1,2 演算回路 3,4,5,6 テンポラリ・レジスタ 7 セレクタ R1〜R4 レジスタ d1,d2 データバス

Claims (17)

    (57)【特許請求の範囲】
  1. 【請求項1】 取り扱う演算データの最大ビット幅をm
    ビット、最小ビット幅をnビットとし、それぞれ独立し
    て演算可能なnビットの演算回路を複数備え、nビット
    以上の演算データを演算する場合は、演算データがnビ
    ット毎に演算回路に与えられてそれぞれの演算回路が並
    行動作し、下位側の演算回路から上位側の演算回路に必
    要に応じてキャリーが与えられて演算処理が行われ、m
    ビット以下の演算データで一連の演算を連続して実行す
    る場合には、それぞれの演算回路が独立して並行動作
    し、又は前段の演算回路の演算結果が直接後段の演算回
    路側に与えられて複数の演算回路が順次動作して、一連
    の演算を行う演算回路群と、 それぞれの演算回路の直前に設けられ、演算回路に与え
    られるnビット幅の演算データをそれぞれ独立して一時
    的に保持する保持手段と、 前段の演算回路から後段の演算回路にキャリーを伝達制
    御する伝達手段と、 それぞれの演算回路と保持手段との間でデータの転送路
    となるデータバスとを有し、 前記後段の演算回路が前記前段の演算回路の演算結果を
    用いて演算を行う場合、前記後段の演算回路に必要な演
    算データを、後段の演算開始以前に予め前記保持手段に
    保持させておく ことを特徴とする演算装置。
  2. 【請求項2】 データの演算を実行するために、各々の
    演算回路がデータを受け取る入力部を備える演算回路群
    と、 前記演算回路群のうち対応する演算回路の前記入力部に
    前記データを供給し、且つ前記演算回路群のうち対応す
    る演算回路の出力部からデータを取得するために、前記
    演算回路群のうち対応する演算回路に接続された、それ
    ぞれが少なくとも2個の組からなるデータバス群と、 前記演算回路の各々に接続された制御線と、 前記制御線の各々に接続され、前記演算回路がデータを
    与えられて処理する複数の異なるデータ処理モードを確
    立するための制御信号を供給する演算制御回路とから構
    され、 前記異なるデータ処理モードは、少なくとも、 (1) 前記演算回路群のうち対応する演算回路の入力部に
    少なくとも2組のデータバスからデータが同時に与えら
    れ、データを与えられた演算回路によって互いに排他的
    に且つ独立してデータが処理されるように、前記演算制
    御回路が前記演算回路を制御する第1のモード、 (2) 前記演算回路群のうち対応する演算回路の入力部に
    少なくとも2組のデータバスからデータが同時に与えら
    れ、データを与えられた演算回路によって互いに協調的
    にデータが処理されるように、前記演算制御回路が前記
    演算回路を制御する第2のモード、 (3) 第1の演算処理を実行する第1の演算回路の入力部
    に1組のデータバスからデータが与えられ、この第1の
    演算結果を更新する第2の演算処理を更に順次実行する
    少なくとも第2の演算回路に第1の演算結果を与え、前
    記第2の演算処理に必要なデータを、前記第2の演算処
    理開始以前に予め前記第2の演算回路の入力部に与えて
    おくように、前記演算制御回路が前記演算回路を制御す
    る第3のモード、 の3つのモードを含むことを特徴とする演算装置。
  3. 【請求項3】 請求項2に記載の演算装置は、更に、 前記演算回路群の各々の入力部に配置され、各々の入力
    部に供給するデータを一時的に保持する複数個の第1の
    保持手段と、 前記データバス群に接続され、データバスに供給し、且
    つデータバスから入手するデータを格納する複数個の第
    2の保持手段と、 前記異なるデータ処理モードのうちの少なくとも1つの
    モードにおいて、前記演算回路群のうち前段の演算回路
    の演算処理から得られる演算結果に対応したキャリー信
    号を、第2の演算回路に供給するために演算制御回路に
    よって制御されるキャリー伝達手段と、 からなることを特徴とする演算装置。
  4. 【請求項4】 前記複数個の第2の保持手段はレジスタ
    であることを特徴とする請求項3に記載の演算装置。
  5. 【請求項5】 各々のレジスタはnビットのデータ容量
    を持ち、該レジスタはmビットのデータを保持するレジ
    スタのグループを等分されたものである(但し、n及び
    mは2以上の整数であり、mはnの倍数である)ことを
    特徴とする請求項4に記載の演算装置。
  6. 【請求項6】 前記演算回路群は少なくとも1つのペア
    で構成され、少なくとも1つのペアにおける各々の演算
    回路は、nビットのデータ容量を持ち、且つnビットの
    演算を実行する(但し、nは2以上の整数である)こと
    を特徴とする請求項2に記載の演算装置。
  7. 【請求項7】 少なくとも1つのペアのうち、第1の演
    算回路は第1のデータバスと第2のデータバスを有する
    第1のデータバス群に接続され、少なくとも1つのペア
    のうち、第2の演算回路は第3のデータバスと第4のデ
    ータバスを有する第2のデータバス群に接続されてお
    り、前記第1、第2、第3及び第4のデータバスはいず
    れもnビットのデータ容量を持つことを特徴とする請求
    項6に記載の演算装置。
  8. 【請求項8】 請求項7に記載の演算装置は、更に、 前記第1のデータバスと前記第1の演算回路とに接続さ
    れる第1のテンポラリ・レジスタと、 前記第2のデータバスと前記第1の演算回路とに接続さ
    れる第2のテンポラリ・レジスタと、 前記第3のデータバスと前記第2の演算回路とに接続さ
    れる第3のテンポラリ・レジスタと、 前記第4のデータバスと前記第2の演算回路とに接続さ
    れる第4のテンポラリ・レジスタと、 からなることを特徴とする演算装置。
  9. 【請求項9】 請求項8に記載の演算装置は、更に、 前記第1のデータバスに接続される第1のnビットレジ
    スタと、 前記第2のデータバスに接続される第2のnビットレジ
    スタと、 前記第3のデータバスに接続される第3のnビットレジ
    スタと、 前記第4のデータバスに接続される第4のnビットレジ
    スタと、 からなることを特徴とする演算装置。
  10. 【請求項10】 請求項9に記載の演算装置は、更に、 前記異なるデータ処理モードのうち少なくとも1つのモ
    ードにおいて、前記第1の演算回路の第1の演算処理か
    ら得られる演算結果に対応したキャリー信号を、前記第
    2の演算回路に供給するために演算制御回路によって制
    御されるキャリー伝達手段と、からなることを特徴とす
    る演算装置。
  11. 【請求項11】 前記異なるデータ処理モードのうち少
    なくとも1つは、第1及び第2のデータバスから第1及
    び第2のテンポラリ・レジスタによってデータが受け取
    られ、前記第1の演算処理を実行する前記第1の演算回
    路に該データが供給されるように前記演算制御回路が前
    記少なくとも一つのペアを制御し、第1の演算処理に引
    き続いて第2の演算処理を実行するために前記第1の演
    算処理の結果を第2の演算回路に前記演算制御回路が供
    給するモードであることを特徴とする請求項10に記載
    の演算装置。
  12. 【請求項12】 前記異なるデータ処理モードのうち少
    なくとも1つは、前記演算制御回路が、前記第1及び第
    2のnビットレジスタに格納されたデータを第1のnビ
    ット演算を実行するための前記第1の演算回路に供給
    し、その一方で、前記第3及び第4のnビットレジスタ
    に格納されたデータを第2のnビット演算を同時に実行
    するための前記第2の演算回路に供給し、更に前記演算
    制御回路は、第1のnビット演算の実行結果を第1のn
    ビットレジスタに格納し、その一方で、第2のnビット
    演算の実行結果を第2のnビットレジスタに同時に格納
    するモードであることを特徴とする請求項11に記載の
    演算装置。
  13. 【請求項13】 前記異なるデータ処理モードのうち少
    なくとも1つは、 独立して演算処理されるように演算制御回路によって制
    御される少なくとも第1及び第2の演算回路を有する第
    1のモードと、 第1の演算回路が下位ビットの演算を実行する一方、第
    2の演算回路が上位ビットの演算を実行するように、演
    算制御回路によって少なくとも第1及び第2の演算回路
    が協調的に操作される第2のモードと、 からなるグループから選択されるモードであることを特
    徴とする請求項2に記載の演算装置。
  14. 【請求項14】 請求項13に記載の演算装置は、更
    に、 前記第2のモードにおいて、キャリー信号を前記第1の
    演算回路から前記第2の演算回路に選択的に供給するた
    めに、演算制御回路に応じるキャリー伝達手段と、から
    なることを特徴とする演算装置。
  15. 【請求項15】 請求項14に記載の演算装置は、更
    に、 第1及び第2の演算回路に接続されたデータバスに接続
    された第1、第2、第3及び第4のnビットレジスタ
    と、からなり、 前記第1及び第2のnビットレジスタは第1の2・nビ
    ットレジスタを形成するために組み合わされ、 前記第3及び第4のnビットレジスタは第2の2・nビ
    ットレジスタを形成するために組み合わされることを特
    徴とする演算装置。
  16. 【請求項16】 前記第1の演算回路は前記第1及び第
    2のデータバスに接続され、前記第2の演算回路は前記
    第3及び第4のデータバスに接続されることを特徴とす
    請求項15に記載の演算装置。
  17. 【請求項17】 請求項16に記載の演算装置は、更
    に、 前記第1のデータバスと前記第1の演算回路に接続され
    た第1のテンポラリ・レジスタと、 前記第2のデータバスと前記第1の演算回路に接続され
    た第2のテンポラリ・レジスタと、 前記第3のデータバスと前記第2の演算回路に接続され
    た第3のテンポラリ・レジスタと、 前記第4のデータバスと前記第2の演算回路に接続され
    た第4のテンポラリ・レジスタと、 からなることを特徴とする演算装置。
JP32950593A 1993-12-27 1993-12-27 演算装置 Expired - Lifetime JP3329921B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP32950593A JP3329921B2 (ja) 1993-12-27 1993-12-27 演算装置
DE69423715T DE69423715T2 (de) 1993-12-27 1994-12-19 Zur gleichzeitigen Ausführung von mehreren Operationen fähige ALE
EP94120122A EP0660225B1 (en) 1993-12-27 1994-12-19 ALU capable of simultaneously executing a plurality of operations
US08/364,729 US5659783A (en) 1993-12-27 1994-12-27 Operation unit with plural operation circuits having plural data buses providing plural operation modes
KR1019940037327A KR0166403B1 (ko) 1993-12-27 1994-12-27 연산장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32950593A JP3329921B2 (ja) 1993-12-27 1993-12-27 演算装置

Publications (2)

Publication Number Publication Date
JPH07191830A JPH07191830A (ja) 1995-07-28
JP3329921B2 true JP3329921B2 (ja) 2002-09-30

Family

ID=18222129

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32950593A Expired - Lifetime JP3329921B2 (ja) 1993-12-27 1993-12-27 演算装置

Country Status (5)

Country Link
US (1) US5659783A (ja)
EP (1) EP0660225B1 (ja)
JP (1) JP3329921B2 (ja)
KR (1) KR0166403B1 (ja)
DE (1) DE69423715T2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7506133B2 (en) * 2003-08-20 2009-03-17 Seiko Epson Corporation Method and apparatus for high speed addressing of a memory space from a relatively small address space
US9791511B2 (en) * 2013-03-15 2017-10-17 Teradyne, Inc. Method and apparatus for low latency communication in an automatic testing system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4393468A (en) * 1981-03-26 1983-07-12 Advanced Micro Devices, Inc. Bit slice microprogrammable processor for signal processing applications
US4528641A (en) * 1982-11-16 1985-07-09 The United States Of America As Represented By The Secretary Of The Air Force Variable radix processor
JPS61255433A (ja) * 1985-05-07 1986-11-13 Mitsubishi Electric Corp 演算装置
US4789957A (en) * 1986-03-28 1988-12-06 Texas Instruments Incorporated Status output for a bit slice ALU
US4811266A (en) * 1986-11-05 1989-03-07 Honeywell Bull Inc. Multifunction arithmetic indicator
US5301340A (en) * 1990-10-31 1994-04-05 International Business Machines Corporation IC chips including ALUs and identical register files whereby a number of ALUs directly and concurrently write results to every register file per cycle

Also Published As

Publication number Publication date
DE69423715D1 (de) 2000-05-04
KR0166403B1 (ko) 1999-03-20
US5659783A (en) 1997-08-19
DE69423715T2 (de) 2000-08-31
EP0660225B1 (en) 2000-03-29
JPH07191830A (ja) 1995-07-28
KR950022131A (ko) 1995-07-26
EP0660225A1 (en) 1995-06-28

Similar Documents

Publication Publication Date Title
JP2983542B2 (ja) 処理高速化装置
GB2330226A (en) Digital signal processor for performing fixed-point and/or integer arithmetic
JPS642986B2 (ja)
JP3329921B2 (ja) 演算装置
JP3277089B2 (ja) 乗算器及び積和演算装置
JPH0160856B2 (ja)
US7278090B2 (en) Correction parameter determination system
JPH06266536A (ja) 乗除算器
JP2605848B2 (ja) 非回復型除算器
JP3203454B2 (ja) 乗算器
JPH09185493A (ja) 加算器用集積回路
US5648921A (en) Digital operational circuit with pathmetrics calculating steps simplified
JP2003337694A (ja) シフト回路
JP3166781B2 (ja) 加算回路
JP3259116B2 (ja) パイプライン型除算処理装置
JP3412368B2 (ja) ビットシリアル2乗演算回路
GB2345563A (en) Digital signal processor for performing fixed-point and/or integer arithmetic
JP2000122845A (ja) 半導体集積回路
JPH06259231A (ja) 整数型除算器
JPH04324523A (ja) 演算装置
JPH05224889A (ja) 乗算装置
JPH07225672A (ja) バレルシフタ及び制御方法
JPS61134834A (ja) シフタ−回路
JPS615345A (ja) 直列乗算方法
JPH07114454A (ja) 乗算回路および乗算方法

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080719

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090719

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090719

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100719

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110719

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120719

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130719

Year of fee payment: 11

EXPY Cancellation because of completion of term