JP3453938B2 - 演算回路および演算方法 - Google Patents

演算回路および演算方法

Info

Publication number
JP3453938B2
JP3453938B2 JP18726095A JP18726095A JP3453938B2 JP 3453938 B2 JP3453938 B2 JP 3453938B2 JP 18726095 A JP18726095 A JP 18726095A JP 18726095 A JP18726095 A JP 18726095A JP 3453938 B2 JP3453938 B2 JP 3453938B2
Authority
JP
Japan
Prior art keywords
instruction
result
address
value
alu
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 - Fee Related
Application number
JP18726095A
Other languages
English (en)
Other versions
JPH0934703A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP18726095A priority Critical patent/JP3453938B2/ja
Priority to US08/580,085 priority patent/US5764941A/en
Priority to EP95120263A priority patent/EP0756230B1/en
Priority to DE69531610T priority patent/DE69531610T2/de
Publication of JPH0934703A publication Critical patent/JPH0934703A/ja
Application granted granted Critical
Publication of JP3453938B2 publication Critical patent/JP3453938B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/324Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address using program counter relative addressing
    • 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/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30058Conditional branch instructions

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は信号処理用プロセッ
サに関し、特にADPCM装置用演算回路において、命
令がストアされた命令ROMから命令を読み出すための
アドレス設定を少ないクロックサイクルで行なうアドレ
スユニット部の演算回路に関する。
【0002】
【従来の技術】ディジタル通信においては、音声データ
等を圧縮し送信し、受信側でその圧縮された受信信号を
伸長することによって通信効率を向上させている。音声
の圧縮方式としては例えばITU勧告のG.726に定
められたADPCM方式がある。本発明はADPCM等
の信号処理において、命令がストアされた命令ROMか
ら命令を読み出すためのアドレス設定を行うアドレスユ
ニット部を専用のハードウエアで構成し、命令の読み出
し動作を少ないクロックサイクルで高速かつ低消費電力
で行う演算回路に関する。
【0003】図12は、ADPCM装置用演算回路の一
般的な構成を示す図である。図12において、28は種
々の命令コードがストアされた命令ROM28である。
この命令ROM28はアドレス・ユニット29の出力デ
ータであるプログラム・カウント値16がアドレスデー
タとして入力したときに、命令ROM28中の対応する
アドレスにストアされた命令コードを信号線30に出力
する。命令デコーダ31は命令ROM28から読み出さ
れた命令コードをデコードして信号線11に出力し、命
令コードの種類によってアドレス・ユニット29、レジ
スタ・ファイル32またはALU33を制御する。
【0004】レジスタ・ファイル32は、命令デコード
出力により2つのデータを信号線34、35に出力する
とともに、ALU33の出力信号線3上の処理結果をス
トアするための複数のレジスタ(例えば、Xレジスタ、
Yレジスタ、Zレジスタ)から構成される。ALU33
は2つの入力データ34、35を入力とし、命令デコー
ダ31から出力される信号線11上のデコードされた命
令コードに従って処理を行ない、信号線3に出力する。
アドレス・ユニット29は、信号線3上に出力されるA
LU33の出力と信号線11上の命令コードの値に基づ
いてプログラム・カウント値を出力する。
【0005】図13は、図12中のアドレス・ユニット
29の一般的な従来構成を示す図である。図14は従来
の命令コードのフォーマットを示す図である。図14に
おいては、それぞれ条件分岐または即値ロードを行う命
令コードの命令フォーマットを示す。
【0006】図14において、ビット23、22は命令
の種類(type)を示すビットである。ビット23、22
が”00”の場合は条件分岐命令であることを表わ
し、”01”の場合は即値ロード命令を表わす。ビット
23、22が”00”の時、つまり条件分岐命令の時、
ビット21、20はcall、jmp、return等の条件分岐コ
ード(br_code)を示し、ビット19〜16はzro、on
e、neg、pos、uncondition等の条件(condition)を示
す。ビット10〜0はビット19〜16が”01”つま
り条件ジャンプ付き(たは無条件命令時)のジャンプ先
アドレス(jmp address)を示す。ビット23、22
が”01”の時、つまり即値ロード命令の時、ビット2
1〜6は即値データ(imm-data)を示し、ビット5〜0
は即値データを転送する転送先アドレス(dst)を示
す。
【0007】図13において、1は結果レジスタ1であ
る。この結果レジスタ1は、信号線2上のクロックCL
KBによって、ALU33から入力する信号線3上の入
力データをストアすると同時にFLAG判定のためにス
トアした値を信号線4に出力する。20はFLAG判定
回路であり、信号線4上の結果データと信号線11上の
命令コードに含まれる命令種類(type)、条件分岐コー
ド(br_code)および条件(condition)に基づいてFL
AG判定を行い、判定結果を信号線22に出力する。た
とえば、命令種類(type)が”00(条件分岐)”であ
り、かつ、ALUの結果が条件(condition)の条件に
ヒットした場合に、条件分岐コード(br_code)によっ
て指示された条件分岐を行うためにセレクタ23がjmp
adsressをその出力線25に指示するための指示信号を
信号線22に出力する。
【0008】15は、信号線2上のクロックCLKBに
よって現在のプログラム・カウント値をストアすると同
時にストアした値を信号線17に出力するラッチであ
る。18は加算器であり、信号線10上のデータと信号
線17上のデータを加算し、その結果を信号線19に出
力する。23はセレクタであり、FLAG判定回路20
の出力のFLAG判定結果によって、信号線19上のデ
ータもしくは信号線11上の命令コードに含まれるジャ
ンプ先アドレス(jmp address)のどちらか一方を信号
線25に出力する。26はプログラムカウンタ26であ
り、信号線27上のクロックCLKCによって、信号線
25上のデータをストアすると同時にストアしたプログ
ラム・カウント値を信号線16に出力するプログラムカ
ウンタである。
【0009】次に、図12のアドレス・ユニット29の
動作を図13を用いて詳細に説明する。図6は、マシン
・サイクルとクロック(CLKBおよびCLKC)のタ
イミング関係を示す図である。図6に示すように、信号
線2上のクロックCLKBが”H”になった時、結果レ
ジスタ1はALUから出力される信号線3上の処理結果
をストアすると同時に、ストアした値を信号線4に出力
する。
【0010】FLAG判定回路20は、信号線11上の
命令コードが図14に示す条件分岐命令中の条件分岐コ
ード(br_code)が”01”の時、すなわち条件付きジ
ャンプ命令時にビット19〜16で示された条件(cond
ition)が信号線4上の結果データと一致するか否かを
判定する。プログラムカウンタ26は、現在のプログラ
ム・カウント値をストアすると同時にストアした値を信
号線16に出力する。加算器18は、マシン・サイクル
ごとにプログラム・カウント値をストアするラッチ15
の出力と固定値”1”を加算し、結果を信号線19に出
力する。セレクタ23は、信号線22上のFLAG判定
結果によって、マシン・サイクルのプログラム・カウン
ト値+1である信号線19上のデータまたは信号線11
上のジャンプ先アドレス(jmp address)のどちらか一
方を選択する。ジャンプ先アドレス(jmp address)を
選択するのは、ジャンプ命令時に、信号線4上の結果デ
ータと条件(condition)が一致した場合のみであるの
で、それ以外の場合は常に信号線19上のデータ(プロ
グラム・カウント値+1)を選択して信号線25に出力
する。
【0011】図6に示すように、信号線2上のクロック
CLKBが”H”になった時、プログラム・カウント値
をストアするプログラムカウンタ26は、信号線27上
のクロックCLKCによってストアされた値すなわち更
新されたプログラム・カウント値を信号線16に出力す
る。
【0012】従来の回路では、1回の数値判定を行うの
に、閾値のロード、入力数値から閾値の減算、その減算
結果の判定に基づく条件分岐の3つの処理が必要であっ
た。これらの処理は各々1マシン・サイクルを要するの
で、1つの数値判定を行うのに3マシン・サイクルを要
した。
【0013】入力数値(X)がどの値域に該当するか判
定する手順を図15に示す。入力数値(X)と値域との
関係を図4に示す。図16,図17は、命令ROM28
中にストアされた命令コードを示し、この命令コードを
適宜使用して、入力数値がどの値域に該当するかを判定
するための複数の処理を行なう。図16、図17におい
て、「アドレス」は、プログラム・カウント値に対応す
る命令ROM28のアドレスである。X、Y、Zはそれ
ぞれレジスタであり、Xは入力数値をストアするレジス
タであり、Y,Zは演算用のレジスタである。また、命
令ROM28から読み出された命令コードは信号線11
上に出力される。
【0014】図15において、従来の値域判定処理を簡
単に説明する。まず、入力数値(X)≧128であるか
否かを判定する。X≧128の場合は、次にX≧204
8であるか否かを判定する。X≧2048の場合は、次
にX≧8192であるか否かを判定する。X≧8192
の場合は、次にX≧16384であるか否かを判定す
る。X≧16384の場合は、Xは「X≧16384」
の値域に属すると最終的に決定する。このように、Xの
大きさによって、場合分けを何回も繰り返して、目的の
値域を決定する。
【0015】一例として入力数値(X)が2048の場
合に、入力数値(X)がどの値域に該当するかを判定す
るための複数の処理を以下に示す。この処理はアドレス
・ユニット29から出力されるアドレスに対応した命令
ROM28中の命令コードを順次実行することによって
行われる。
【0016】 アドレス 命令コード 0000000H : Yへ128を代入 0000001H : 2048−128を演算し、Zへ減算結果1920を代入 0000010H : Zが0以上のため、0101000Hへジャンプ 0101000H : Yへ2048を代入 0101001H : 2048−2048を演算し、Zへ減算結果0を代入 0101010H : Zが0以上のため、0111100Hへジャンプ 0111100H : Yへ8192を代入 0111101H : 2048−8192を演算しZへ減算結果−6146を代入 0111110H : Zが0以上でないため、ジャンプしない 0111111H : Yへ4096を代入 1000000H : 2048−4096を演算しZへ減算結果−2048を代入 1000001H : Zが0以上でないため、ジャンプしない 1000010H : 4095≧X≧2048の場合の処理を実行 1000011H : 次命令のアドレス1001100Hへ無条件ジャンプ。
【0017】上記のように、図16、17に示す命令コ
ードを用いて値域判定を行なう従来の場合は、入力数値
(X)に関わらず、閾値のロード演算が4回、入力数値
から閾値を減算する演算が4回、減算結果の判定による
条件分岐演算が4回必要であり、計12マシン・サイク
ルを要する。また、条件分岐後の処理および次命令への
ジャンプに各1マシン・サイクルが必要であるので、計
14マシン・サイクルを要する。
【0018】上記の入力数値が2048の場合に図1
6,図17に従って値域判定を行い、決定された値域に
対応してそれぞれ異なる処理を行なう時の動作を図1
2,図13の回路を用いて説明する。ここで、入力数値
2048は既にレジスタ・ファイル32中のXレジスタ
にロードされているものとする。
【0019】1マシン・サイクル目に、アドレス・ユニ
ット29から出力されたプログラム・カウント値、すな
わちスタートアドレス”0000000”によって、命令RO
M28のスタートアドレス”0000000”にストアされた
即値命令コード「Yへ128を代入」を信号線30に出
力する。命令デコーダ31はその命令コードをデコード
して、信号線11に出力する。その信号線11上の即値
命令コードのビット21〜6にストアされた閾値128
をビット5〜0で示されたレジスタ・ファイル32のY
レジスタへロードする。レジスタ・ファイル32は、入
力数値2048(X)を信号線34に出力し、閾値12
8(Y)をもう一方の信号線35へ出力する。
【0020】次の第2マシン・サイクル目に、アドレス
・ユニット29は、1だけインクリメントしたプログラ
ム・カウント値”0000001”を命令ROM28に出力
し、命令ROM28はこの値をアドレスとして、図16
に示される減算の命令コード「2048−128を演算
し、信号線11に減算結果1920を出力する。一方、
レジスタ・ファイル32では、減算結果1920がレジ
スタZに代入される。
【0021】次の第3マシン・サイクル目は、Zが0以
上のため、アドレス・ユニット29によってポインタ
は、図17に示されるアドレス0101000Hへジャンプす
る。次の第4マシン・サイクルにおいて、命令ROM2
8のアドレス0101000Hにストアされた命令コード「Yへ
2048を代入」が実行される。次の第5マシン・サイ
クルで、命令ROM28中のアドレス0101001Hの「Zへ
X−Yを代入」の命令コードが実行され、「2048−
2048が演算され、Zへ減算結果0が代入」される。
次の第6マシン・サイクルにおいて、命令ROM28中
のアドレス0101010Hの命令コードが実行され、この場
合、「Zが0以上のため、アドレス・ユニット29によ
ってポインタはアドレス0111100Hへジャンプ」する。
【0022】次の第7マシン・サイクルにおいて、命令
ROM28中のアドレス0111100Hの命令コードによって
「Yへ8192が代入」される。次の第8マシン・サイ
クルにおいて、命令ROM28中のアドレス0111101Hの
命令コードによって「2048−8192を演算し、Z
へ減算結果−6144を代入」される。次の第9マシン
・サイクルにおいて、命令ROM28中のアドレス0111
110Hの命令コードが実行されるが「Zが0以上でないた
め、ジャンプ」しないで、次のアドレスの命令コードに
ポインタが移動する。
【0023】次の第10マシン・サイクルにおいて、命
令ROM28中のアドレス0111111Hの命令コードによっ
て「Yへ4096を代入」が行われる。次の第11マシ
ン・サイクルにおいて、命令ROM28中のアドレス10
00000Hの命令コードによって「2048−4096を演
算し、Zへ減算結果2048が代入」される。次の第1
2マシン・サイクルにおいて、命令ROM28中のアド
レス1000001Hの命令コードが実行されるが「Zが0以上
でないため、ジャンプ」しないしないで、次のアドレス
の命令コードにポインタが移動する。
【0024】次の13マシン・サイクルにおいて、命令
ROM28中のアドレス1000010Hの命令コードによって
Xの値域が「4095≧X≧2048」と決定される。
次の14マシン・サイクルにおいて、命令ROM28中
のアドレス1000011Hの命令コードによって「次命令のア
ドレス1001100Hへ無条件ジャンプ」が実行される。
【0025】以上述べたように、この従来の値域判定に
おいては14マシン・サイクル目に入力数値の値域が決
定される。
【0026】次に、入力数値が図9に示すどの値判定値
に該当するかを検出する複数の処理手順を図式化したも
のを図18に示し、その具体的な命令コードを図19,
図20に示す。
【0027】図18において、従来の値判定処理を簡単
に説明する。まず、入力数値(X)≧8であるか否かを
判定する。X≧8の場合は、次にX≧12であるか否か
を判定する。X≧12の場合は、次にX≧14であるか
否かを判定する。X≧14の場合は、次にX≧15であ
るか否かを判定する。X≧15の場合は、Xは「X=1
5」の値であると最終的に決定する。このように、Xの
大きさによって、場合分けを何回も繰り返して、目的の
値を決定する。
【0028】上記の入力数値が、例えば、10の場合に
図19,図20に従って値判定を行う。この場合の命令
コードは次のシーケンスによって実行される。
【0029】
【0030】以下具体的に、入力数値10が入力した場
合の動作を図12,図13の回路を用いて説明する。こ
こで、入力数値10は既にレジスタ・ファイル32中の
Xレジスタにロードされているものとする。
【0031】第1マシン・サイクル目に、アドレス・ユ
ニット29から出力されたプログラム・カウント値、す
なわちスタートアドレス”0000000”によって、命令R
OM28のスタートアドレス”0000000”にストアされ
た即値命令コード「Yへ8を代入」を信号線30に出力
する。命令デコーダ31はその命令コードをデコードし
て、信号線11に出力する。その信号線11上の即値命
令コードのビット21〜6にストアされた閾値8をビッ
ト5〜0で示されたレジスタ・ファイル32のYレジス
タへロードする。
【0032】次の第2マシン・サイクル目に、アドレス
・ユニット29は、1だけインクリメントしたプログラ
ム・カウント値”0000001”を命令ROM28に出力
し、命令ROM28はこの値をアドレスとして、図19
に示される減算の命令コードを命令デコーダ31に出力
し、命令デコーダ31はその命令コードをデコードし
て、信号線11に出力する。その信号線11上の命令コ
ードによりALU33で命令ROM28中のアドレス00
00001Hの命令コード「ZへX−Yを代入」が実行され、
10−8=2がZにストアされる。
【0033】次の第3マシン・サイクル目に、命令RO
M28中のアドレス0101010Hの命令コード「Z≧0な
ら、0101000Hへジャンプ」が実行される。この場合は、
Z=2であるので、この条件を満足するのでアドレス01
01010Hにジャンプする。次の第4マシン・サイクル目
に、命令ROM28中のアドレスの0101000H命令コード
「Yへ12を代入」が実行され、12がYレジスタにス
トアされる。次の第5マシン・サイクル目に、命令RO
M28中のアドレス0101001Hの命令コード「ZへX−Y
を代入」が実行され、Z=10−12=−2がZレジス
タにストアされる。次の第6マシン・サイクル目に、命
令ROM28中のアドレス0101010Hの命令コード「Z≧
0ならば、0111100Hへジャンプ」が実行される。この場
合は、条件を満足しないので、次のアドレス、0101011H
に移る。
【0034】次の第7マシン・サイクル目に、命令RO
M28中のアドレス0101011Hの命令コード「Yへ10を
代入」が実行され、10がYレジスタに装置される。次
の第8マシン・サイクル目に、命令ROM28中のアド
レス0101100Hの命令コード「ZへX−Yを代入」が実行
され、Z=10−10=0がZレジスタにストアされ
る。次の第9マシン・サイクル目に、命令ROM28中
のアドレス0101101Hの命令コード「Z≧0ならば、0110
101Hへジャンプ」が実行される。この場合は、条件を満
足するので、命令ROM28のアドレス0110101Hが命令
ROM28に送出される。
【0035】次の第10マシン・サイクル目に、命令R
OM28中のアドレス0110101Hの命令コード「Yへ11
を代入」が実行され、11がYレジスタにストアされ
る。次の第11マシン・サイクル目に、命令ROM28
中のアドレス0110110Hの命令コード「ZへX−Yを代
入」が実行され、Z=10−11=−1がZレジスタに
ストアされる。次の第12マシン・サイクル目に、命令
ROM28中のアドレス0110111Hの命令コード「Z≧0
ならば、0111010Hへジャンプ」が実行される。この場合
は、条件を満足しないので次のアドレス0111000Hにポイ
ンタが移動する。
【0036】次の第13マシン・サイクル目に、命令R
OM28中のアドレス0111000Hの命令コード「X=10
の場合の処理」が行われ、ここで初めて値が決定され
る。次の第14マシン・サイクル目に、命令ROM28
中のアドレス0111001Hの命令コード「1001100Hへ無条件
ジャンプ」が実行され、処理は終了する。以上述べたよ
うに、この従来の値判定回路においては14マシン・サ
イクルで入力数値の値が決定される。
【0037】
【発明が解決しようとする課題】従来の技術では、入力
数値の値によって、その値域または値の判定を行なうの
に入力数値から閾値を減じ、その結果により判定してい
た。そのため、多くの減算と判断のステップ数が必要で
あり、処理時間が遅い問題点があった。また、処理サイ
クル数が多かったので、消費電力が増加するなどの問題
点があった。ITU勧告のG.726に定められたAD
PCM方式では、上記のように値域判定または値判定に
多数の処理ステップを必要としていたために、少ないス
テップ数で高速かつ低消費電力で処理できる装置が必要
とされていた。
【0038】
【課題を解決するための手段】本発明は、プログラムの
内容をストアする命令ROMと、この命令ROMのアド
レスを指定するプログラム・カウンタと、プログラム・
カウンタの指定する命令ROMの内容をデコードする命
令デコーダと、この命令デコーダのデコード結果に従っ
てレジスタ・ファイルの内容の演算を行う演算論理ユニ
ット(ALU)と、ALUの演算結果から次の命令RO
Mのアドレス値を計算するアドレス・ユニットとからな
り、命令ROM中の命令コードに従って演算を順次実行
する演算回路において:ALUの出力結果をストアし出
力する結果レジスタと、前記結果レジスタの出力がどの
値域に含まれるかを判定する値域判定手段と、現在のプ
ログラム・カウント値をストアするラッチ手段と、前記
値域判定手段からの値域判定結果および前記ラッチ手段
にストアされた現プログラム・カウント値を加算し次の
プログラム・カウント値を算出する加算手段と、この加
算結果を選択し命令ROM28中の次の命令アドレスを
決定するする第1のセレクタ手段とを備え、ALUから
の演算結果が含まれる値域に対応した命令アドレスに条
件分岐を行うように構成される。
【0039】本発明は、プログラムの内容をストアする
命令ROMと、この命令ROMのアドレスを指定するプ
ログラム・カウンタと、プログラム・カウンタの指定す
る命令ROMの内容をデコードする命令デコーダと、こ
の命令デコーダのデコード結果に従ってレジスタ・ファ
イルの内容の演算を行うALUと、ALUの演算結果か
ら次の命令ROMのアドレス値を計算するアドレス・ユ
ニットからなり命令ROM中の命令コードに従って演算
を順次実行する演算回路において:ALUの出力結果を
ストアし出力する結果レジスタと、前記結果レジスタの
出力を1だけインクリメントする値判定手段と、現在の
プログラム・カウント値をストアするラッチ手段と、前
記値判定手段からの値判定結果および前記ラッチ手段に
ストアされた現プログラム・カウント値を加算し次のプ
ログラム・カウント値を算出する加算手段と、この加算
結果を選択し命令ROM28中の次の命令アドレスを決
定するする第1のセレクタ手段とを備え、ALUからの
演算結果の値に対応した命令アドレスに条件分岐を行う
ように構成される。
【0040】本発明の演算回路において:さらに、結果
レジスタからの出力によって命令デコーダからの命令種
類(type)、条件分岐コード(br_code)および条件(c
ondition)を解読し、その結果をセレクタに送出するフ
ラッグ判定回路を設けるように構成される。
【0041】本発明の演算回路の第1のセレクタは、前
記フラッグ判定回路からの出力によって前記加算器の出
力アドレスまたは命令デコーダからの出力に含まれるジ
ャンプ先アドレス(jmp address)のいずれか一方を選
択するように構成される。
【0042】本発明の演算回路の結果レジスタは、さら
に、命令デコーダからの出力に含まれる命令種類(typ
e)、条件分岐コード(br_code)および条件(conditio
n)に従って固定値”1”、デコーダからの出力または
命令デコーダ中のアドレス偏位分(disp)のいずれかを
選択する第2のセレクタを含むように構成される。
【0043】本発明の演算回路は、値域判定または値判
定により条件分岐した先のアドレスの命令コードとして
通常の演算命令の他に現プログラムカウンタ値から次の
プログラム・カウント値への変位を指定し演算実行と同
時にその変位分プログラムカウンタ値を変位させる手段
を設け、この手段によってALUが値域判定または値判
定を行った後の分岐処理を行うように構成される。
【0044】本発明の演算回路を用いてADPCMエン
コード/デコード演算処理中に頻繁に出現する条件分岐
処理を実行するように構成される。
【0045】本発明は、プログラムの内容をストアする
命令ROMと、この命令ROMのアドレスを指定するプ
ログラム・カウンタと、プログラム・カウンタの指定す
る命令ROMの内容をデコードする命令デコーダと、こ
の命令デコーダのデコード結果に従ってレジスタ・ファ
イルの内容の演算を行う演算論理ユニット(ALU)
と、ALUの演算結果から次の命令ROMのアドレス値
を計算するアドレス・ユニットとから構成される演算装
置を用いて、命令ROM中の命令コードに従って演算を
順次実行する演算方法において:ALUの出力結果をス
トアし出力し、前記出力がどの値域に含まれるかを判定
し、現在のプログラム・カウント値をストアし、前記値
域判定結果および前記現プログラム・カウント値を加算
し次のプログラム・カウント値を算出し、この加算結果
を選択し命令ROM28中の次の命令アドレスを決定す
ることによって、ALUからの演算結果が含まれる値域
に対応した命令アドレスに条件分岐を行う用に構成され
る。
【0046】本発明は、プログラムの内容をストアする
命令ROMと、この命令ROMのアドレスを指定するプ
ログラム・カウンタと、プログラム・カウンタの指定す
る命令ROMの内容をデコードする命令デコーダと、こ
の命令デコーダのデコード結果に従ってレジスタ・ファ
イルの内容の演算を行うALUと、ALUの演算結果か
ら次の命令ROMのアドレス値を計算するアドレス・ユ
ニットとから構成される演算装置を用いて、命令ROM
中の命令コードに従って演算を順次実行する演算方法に
おいて:ALUの出力結果をストアし出力し、前記出力
を1だけインクリメントし、現在のプログラム・カウン
ト値をストアし、前記インクリメント結果および前記現
プログラム・カウント値を加算し次のプログラム・カウ
ント値を算出し、この加算結果を選択し命令ROM28
中の次の命令アドレスを決定することによって、ALU
からの演算結果の値に対応した命令アドレスに条件分岐
を行うように構成される。
【0047】
【発明の実施の形態】
実施の形態1.図1は本発明の値域判定を行う実施の一
形態を示すブロック図である。このブロックは、図12
中のアドレス・ユニット29を示す図である。図12
は、従来の技術と同様であり、本発明は従来の装置のア
ドレス・ユニット29をハードウエア化することによっ
て少ないマシン・サイクルで処理を行うようにしたもの
である。
【0048】まず、値域判定による条件分岐を行う場合
について説明する。図1および図12の信号線11上の
命令コードのフォーマットを図3を用いて説明する。図
3において、ビット28、27は命令の種類を示し、ビ
ット28、27が”00”の場合は条件分岐命令であ
り、”01”の場合は即値ロード命令である。ビット2
6、25は条件分岐コード(br_code)を示し、その値
が”00”は「call」、”01”は「jmp」、”10”
は「return」、”11”は「sw」を示す。ビット24〜
21は条件(condition)を示し、その値が”000
0”は「zro」、”0001”は「one」、”0010”
は「neg」、”0011”は「pos」、”0100”は
「mag」、”0101”は「result」、”0110”は
「uncondition」に対応している。ビット10〜0はジ
ャンプ命令時のジャンプ先アドレス「jmpaddress」を示
す。ビット20〜11は任意の値でよい。
【0049】ここで、ビット28、27(type)が”0
0”であり、ビット26、25の条件分岐コード(br_c
ode)が”11”つまりswの場合は、値域判定による
条件分岐、すなわちmagか値域判定による条件分岐すな
わちresultであることを示す。また、ビット28、27
が”00”であり、ビット26、25が”11”かつビ
ット24〜21が”0100”の時に値域判定による条
件分岐magであることを示す。また、値域判定による条
件分岐すなわち、SW命令の場合は、次のアドレスは
(現アドレス)+(条件)に基づいた変位量になるの
で、ジャンプ先の絶対アドレスを指定する必要はないの
で、ビット10〜0のジャンプ先アドレスは任意の値で
よい。
【0050】図1において、1は結果レジスタである。
結果レジスタ1は信号線2上のクロックCLKBによっ
てALU33の処理結果をストアすると同時に、ストア
した値をFLAG判定のために信号線4に出力し、値域
判定のためにストアした値のうち即値のみを信号線5に
出力する。7は値域判定回路であり、入力データ(X)
が図4の判定範囲のどの値域に入るかを判定し、その判
定結果をデコーダ40に出力する。デコーダ40は判定
結果を信号線8を介してセレクタ9に出力される。セレ
クタ9は、値域判定結果である入力データ8、信号線1
0上のプログラム・カウント値を1インクリメントする
ための固定値”1”および信号線12上のアドレス偏位
分(disp)のいずれか1つのデータを信号線11上の命
令デコーダからの命令の種類(type)、条件分岐コード
(br_code)および条件(condition)に従って選択し、
信号線14に出力する。18は、加算器であり、ラッチ
15の出力であるプログラムカウンタPCとセレクタ9
からの出力とを加算する。15〜27は、図13と同様
または相当部分を示すので詳細は省略する。この値域判
定回路の一例を図5に示す。
【0051】次に、値域判定による条件分岐を高速かつ
効率的に行う本実施の形態の動作を図1を用いて以下に
説明する。信号線11上の命令コードは、図3に示すよ
うに値域判定による条件分岐の命令の28、27ビット
(type)、ビット26、25ビット(br_code)、24
〜21ビット(condition)がそれぞれ”00(条件分
岐)”、”11(SW)”、”0100(mag)”である
とする。
【0052】図6に示すように、信号線2上のクロック
CLKBが”H”になった時、結果レジスタ1は図12
のALU33の処理結果(X)をストアすると同時にス
トアした値のうち値域判定のために演算結果(ALU3
3からのオーバフローフラッグ、キャリアフラッグ等を
除く)のみを信号線5に出力する。値域判定回路7は、
信号線5上の入力データ(X)に対し、図7に従って値
域判定結果をデコーダ40に出力し、このデコーダ40
はデコード結果を信号線8に出力する。セレクタ9は、
信号線11上の命令コードのビット28、27が”0
0”かつビット26、25が”11”かつビット24〜
21が”0100”である時のみ、すなわち値域判定に
よる条件分岐命令時のみ値域判定結果である信号線8上
の入力データを選択し、信号線14に出力する。
【0053】一方、ラッチ15は、信号線16上の現在
のプログラム・カウント値をストアすると同時にストア
した値を信号線17に出力する。加算器18は、マシン
・サイクルごとにラッチ15の出力(プログラム・カウ
ント値)と信号線14上の値域判定結果とを加算し、そ
の結果を信号線19に出力する。セレクタ23は、信号
線19上のデータと信号線11上の命令コード(jmp ad
dress)を選択して信号線25に出力する。すなわち、
セレクタ23は、プログラム・カウント値+値域判定結
果を信号線25に出力することになる。
【0054】信号線2上のクロックCLKB(図6)
が”H”になった時の動作は従来の技術と同様に、プロ
グラム・カウント値をストアするプログラムカウンタ2
6は、信号線27上のクロックCLKCによってストア
された値すなわち更新されたプログラム・カウント値を
信号線16に出力する。
【0055】上述のように、本実施の形態においては、
入力数値の値域判定を値域判定回路7により行い、図8
に示すように、プログラム・カウント値と値域判定結果
を加算し、その加算結果のカウント値によって命令RO
M28内の条件分岐を実行できる。これを詳細に説明す
る。最初に、プログラムカウンタPCは、X=Xの位置
にあるので、ALU33の出力はXとなる。次にプログ
ラムカウンタPCは、通常のALUの演算処理のため1
だけインクリメントされSW(mag)を指示する。この
とき、直前のALU演算結果を用いてSW命令が実行さ
れるので、Xの値域判定結果がnであるとすれば、次の
プログラムカウンタPC値は現PC値+nとなる。図8
においては、n=7の場合を示し、プログラムカウンタ
は処理(7)に移る。
【0056】従って、本実施の形態においては、従来の
技術が必要としていた、閾値のロード、入力数値から閾
値の減算および減算結果の判定による条件分岐の3つの
処理を行うことなしに、1マシン・サイクルで値域判定
による条件分岐を行うことができる点に特徴がある。こ
こで、「X=X」命令は、ALUの命令をスルーで出力
する命令であり、レジスタファイルからXを読出しAL
UはXをそのまま出力し、レジスタファイルはXを保持
し直す。すなわち、Xレジスタの結果は再度Xとなる。
また、「SW(mag)」命令は、条件分岐命令であり、
直前のALUの演算結果の値+1だけ現プログラムカウ
ンタから変位させる命令である。
【0057】実施の形態2.図2は、本発明の値判定に
よる条件分岐を行う他の実施の一形態を示すブロック図
を示す。値判定による条件分岐を行う場合の図2および
図12の信号線11上の命令コードのフォーマットは図
3に示されるように実施の形態1と同様である。
【0058】次に、値判定による条件分岐を高速かつ効
率的に行う本実施の形態の動作を図2を用いて以下に説
明する。この場合、ビット28、27(type)が”00
(条件分岐)”であり、ビット26、25(br_code)
が”11(SW)”かつビット24〜21が”0101
(result)”であると仮定する。また、値判定による条
件分岐命令時は、ジャンプ先アドレスは不要であるの
で、ビット10〜0のジャンプ先アドレスは任意の値で
よい。
【0059】図6に示す信号線2上のクロックCLKB
が”H”になった時、結果レジスタ1は図12のALU
33からの処理結果をストアすると同時にストアした値
の内、値判定のために即値の下位4ビットのみを信号線
6に出力する。値判定回路36は信号線6上の入力デー
タに1を加算しその結果を値判定結果として信号線37
に出力する。判定値は図9に示すように、何らかの手段
を用いて値判定を行わなくても、即値の下位4ビットの
信号線6上の入力データに1を加算した値が値判定結果
となる。セレクタ9は、信号線11上の命令コードのビ
ット28、27が”00”、ビット26、25が”1
1”かつビット24〜21が”0101”である時の
み、すなわち値判定による条件分岐命令時のみ、値判定
結果37を選択し、信号線14に出力する。
【0060】ラッチ15は、信号線16上の現在のプロ
グラム・カウント値をストアすると同時にストアした値
を信号線17に出力する。加算器18は、マシン・サイ
クルごとにラッチ15からの信号線17上の出力とセレ
クタ9からの信号線14上の値判定結果とを加算し、そ
の結果を信号線19に出力する。セレクタ23は、信号
線19上のデータを選択して信号線25に出力する。セ
レクタ23は、プログラム・カウント値+値判定結果を
信号線25に出力する。
【0061】図6の信号線2上のクロックCLKBが”
L”になった時の動作は、従来の技術と同様に、プログ
ラム・カウント値をストアするプログラムカウンタ26
は、信号線27上のクロックCLKCによってストアさ
れた値すなわち更新されたプログラム・カウント値を信
号線16に出力する。
【0062】つまり、本実施の形態は図10に示すよう
に、プログラム・カウント値に値判定結果を加算するだ
けで値判定による条件分岐を行うことができる。従っ
て、本発明においては、従来の技術が必要としていた、
閾値のロード、入力数値から閾値の減算および減算結果
の判定による条件分岐の3つの処理を行うことなしに、
1マシン・サイクルで値判定による条件分岐を行うこと
ができる。これを詳細に説明する。
【0063】最初に、プログラムカウンタPCは、X=
Xの位置にあるので、ALU33の出力はXとなる。次
にプログラムカウンタPCは、通常のALUの演算処理
のため1だけインクリメントされSW(result)を指示
する。このとき、直前のALU演算結果を用いてSW命
令が実行されるので、Xの値域判定結果がnであるとす
れば、次のプログラムカウンタPC値は現PC値+nと
なる。図10においては、n=7の場合を示し、プログ
ラムカウンタは処理(7)に移る。
【0064】実施の形態3.図11は、本発明の即値ロ
ードを行う場合の実施の一形態を示すブロック図を示す
図である。図11においては、PC+nに移る過程は図
10と同じである。図11の場合は、PC+nの内容は
即値ロード命令である。即値ロード命令は即値を実行す
ると同時に、現プログラムカウンタ値からなる変位を指
定する。ここで、「X=X」命令は、ALUの命令をス
ルーで出力する命令であり、レジスタファイルからXを
読出しALUはXをそのまま出力し、レジスタファイル
はXを保持し直す。すなわち、Xレジスタの結果は再度
Xとなる。また、「SW(result)」命令は、条件分岐
命令であり、直前のALUの演算結果の値+1だけ現プ
ログラムカウンタから変位させる命令である。
【0065】図11において変位(disp)は、10であ
るので、次のプログラムカウンタ値は現プログラムカウ
ンタ値+10となる。nが7以外であっても変位値(di
sp)をROMアドレス中に指定しておくことによって、
PC+nのアドレスにある命令を実行することによっ
て、即値ロードと実行分岐の一連の処理を2ステップで
行うことができる。
【0066】図3において、即値ロードを行う場合の図
1および図12の信号線11上の命令コードの命令フォ
ーマットを説明する。図3におけるビット28、27は
命令の種類(type)を示し、ビット28、27が”0
1”の場合は即値ロード命令となる。また、ビット2
8、27が”01”の時つまり即値ロード命令の時、ビ
ット26〜11は即値データ(imm-data)を示し、ビッ
ト10〜6は即値ロードと同時にアドレス変位を行うた
めのアドレス変位分(disp)を示し、ビット5〜0はデ
ータ転送先アドレス(dst)を示す。
【0067】次に、値域判定あるいは値判定による条件
分岐後の即値ロードおよび無条件ジャンプを高速かつ効
率的に行う本実施の形態の動作を図1および図を用いて
以下に説明する。
【0068】図6に示すように、信号線2上のクロック
CLKBが”H”になった時、セレクタ9は、信号線1
1上の命令コードのビット28、27が”01”の時、
すなわち即値ロード命令時のみ信号線11上の命令コー
ドのビット10〜6のアドレス変位分(disp)データを
信号線12から選択し、信号線14に出力する。ラッチ
15は、現在のプログラム・カウント値をストアすると
同時にストアした値を信号線17に出力する。加算器1
8は、マシン・サイクルごとにプログラム・カウント値
をストアするラッチ15の信号線17上のプログラムカ
ウンタ出力とアドレス変位分(disp)とを加算し、結果
を信号線19に出力する。セレクタ23は、信号線19
上のデータを選択して信号線25に出力する。従って、
この場合は、セレクタ23は、プログラム・カウント値
+アドレス変位分を信号線25に出力することになる。
【0069】図6の信号線2上のクロックCLKBが”
L”になった時の動作は、従来の技術と同様に、プログ
ラム・カウント値をストアするプログラムカウンタ26
は、信号線27上のクロックCLKCによってストアさ
れた値すなわち更新されたプログラム・カウント値を信
号線16に出力する。
【0070】つまり、本実施の形態は、図12に示すよ
うに、即値ロードが出力されると同時に、プログラム・
カウント値にアドレス変位分を加算することによりプロ
グラム・カウント値の更新を行うため、従来の技術が2
マシン・サイクル要した処理を1マシン・サイクルで行
うことができる。また、本実施の形態を実施の形態1ま
たは実施の形態2と組み合わせることにより、従来の技
術が14マシン・サイクルを要した処理を2マシン・サ
イクルで行うことができる。
【0071】
【発明の効果】本発明によれば、ALUの演算結果がど
の値域に入るかをハードウエアで構成されたアドレス・
ユニットを設けることによって1マシンサイクル以内に
条件分岐を行うために、処理時間が短くさらに低消費電
力の演算回路を提供できる。
【0072】本発明によれば、値域判定、値判定及びそ
の判定結果から時期プログラムカウンタ値を決定する専
用のハードウエアを用意することにより、また条件分岐
後の処理命令に命令実行後のプログラムカウンタ相対変
位を指定しプログラムカウンタを更新することにより2
ステップ以内に条件判定処理を実行することができる。
これにより命令コードを高速に実行することが可能なだ
けでなく低消費電力の演算回路、特に低消費電力で処理
ステップ数の少ないADPCMエンコーダ/デコーダを
提供することが可能である。
【0073】本発明の演算回路によれば、ALUの出力
結果をストアし出力し、前記出力がどの値域に含まれる
かを判定し、現在のプログラム・カウント値をストア
し、前記値域判定結果および前記現プログラム・カウン
ト値を加算し次のプログラム・カウント値を算出し、こ
の加算結果を選択し命令ROM28中の次の命令アドレ
スを決定することによって、ALUからの演算結果が含
まれる値域に対応した命令アドレスに条件分岐を行うの
で、命令コードを高速に実行することが可能なだけでな
く低消費電力の演算回路を提供することが可能である。
【0074】本発明の演算回路によれば、ALUの出力
結果をストアし出力し、前記出力を1だけインクリメン
トし、現在のプログラム・カウント値をストアし、前記
インクリメント結果および前記現プログラム・カウント
値を加算し次のプログラム・カウント値を算出し、この
加算結果を選択し命令ROM28中の次の命令アドレス
を決定することによって、ALUからの演算結果の値に
対応した命令アドレスに条件分岐を行うので、命令コー
ドを高速に実行することが可能なだけでなく低消費電力
の演算回路を提供することが可能である。
【0075】本発明の演算回路においては、さらに、結
果レジスタからの出力によって命令デコーダからの命令
種類(type)、条件分岐コード(br_code)および条件
(condition)を解読し、その結果をセレクタに送出す
るので、命令コードを高速に実行することが可能なだけ
でなく低消費電力の演算回路を提供することが可能であ
る。
【0076】本発明の演算回路の第1のセレクタは、前
記フラッグ判定回路からの出力によって前記加算器の出
力アドレスまたは命令デコーダからの出力に含まれるジ
ャンプ先アドレス(jmp address)のいずれか一方を選
択するので、命令コードを高速に実行することが可能な
だけでなく低消費電力の演算回路を提供することが可能
である。
【0077】本発明の演算回路は、さらに、第2のセレ
クタによって、命令デコーダからの出力に含まれる命令
種類(type)、条件分岐コード(br_code)および条件
(condition)に従って、固定値”1”、デコーダから
の出力または命令デコーダ中のアドレス偏位分(disp)
のいずれかを選択するので、命令コードを高速に実行す
ることが可能なだけでなく、低消費電力の演算回路を提
供することが可能である。
【0078】本発明の演算回路は、値域判定または値判
定により条件分岐した先のアドレスの命令コードとして
通常の演算命令の他に現プログラムカウンタ値から次の
プログラム・カウント値への変位を指定し演算実行と同
時にその変位分プログラムカウンタ値を変位させ、これ
によってALUが値域判定または値判定を行った後の分
岐処理を行うので、命令コードを高速に実行することが
可能なだけでなく低消費電力の演算回路を提供すること
が可能である。
【0079】本発明の演算回路を用いてADPCMエン
コード/デコード演算処理中に頻繁に出現する条件分岐
処理を実行するので、命令コードを高速に実行すること
が可能なだけでなく低消費電力の演算回路を提供するこ
とが可能である。
【図面の簡単な説明】
【図1】 本発明の実施の形態1のアドレス・ユニット
の構成を示す図である。
【図2】 本発明の実施の形態2のアドレス・ユニット
の構成を示す図である。
【図3】 本発明の実施の形態で用いる命令コードのフ
ォーマットを示す図である。
【図4】 値域判定を行う際の判定範囲を示す図であ
る。
【図5】 本発明の実施の一形態で用いられる値域判定
回路を示す図である。
【図6】 マシン・サイクルおよびクロックタイミング
を示す図である。
【図7】 本発明の実施の形態1の値域判定範囲と値域
判定結果の対応を示す図である。
【図8】 本発明の実施の形態1の動作を簡略に示す図
である。
【図9】 本発明の実施の形態2の値判定値と値判定結
果の対応を示す図である。
【図10】 本発明の実施の形態の動作を簡略に示す図
である。
【図11】 本発明の実施の形態の動作を簡略に示す図
である。
【図12】 本発明が静電容量されるADPCM装置の
主要部の動作を簡略に示す図である。
【図13】 従来のアドレス・ユニットの構成を示す図
である。
【図14】 従来の命令フォーマットを示す図である。
【図15】 従来の値域判定の手順を示す図である。
【図16】 命令ROM28にストアされた従来の値域
判定を行う手順を示す図である(その1)。
【図17】 命令ROM28にストアされた従来の値域
判定を行う手順を示す図である(その2)。
【図18】 従来の値判定の手順を示す図である。
【図19】 命令ROM28にストアされた従来の値判
定を行う手順を示す図である(その1)。
【図20】 命令ROM28にストアされた従来の値判
定を行う手順を示す図である(その2)。
【符号の説明】
1 結果レジスタ 7 値域判定回路 9 セレクタ 15 ラッチ 18 加算器 20 FLAG判定回路 26 プログラムカウンタ 28 命令ROM 29 アドレス・ユニット 31 命令デコーダ 32 レジスタ・ファイル 33 ALU 36 値判定回路 40 デコーダ

Claims (9)

    (57)【特許請求の範囲】
  1. 【請求項1】 プログラムの内容をストアする命令RO
    Mと、この命令ROMのアドレスを指定するプログラム
    ・カウンタと、プログラム・カウンタの指定する命令R
    OMの内容をデコードする命令デコーダと、この命令デ
    コーダのデコード結果に従ってレジスタ・ファイルの内
    容の演算を行う演算論理ユニット(ALU)と、ALU
    の演算結果から次の命令ROMのアドレス値を計算する
    アドレス・ユニットとからなり、命令ROM中の命令コ
    ードに従って演算を順次実行する演算回路において:A
    LUの出力結果をストアし出力する結果レジスタと、 前記結果レジスタの出力が、どの値域に含まれるかを判
    定する値域判定手段と、 現在のプログラム・カウント値をストアするラッチ手段
    と、 前記値域判定手段からの値域判定結果および前記ラッチ
    手段にストアされた現プログラム・カウント値を加算し
    次のプログラム・カウント値を算出する加算手段と、 この加算結果を選択し命令ROM28中の次の命令アド
    レスを決定するする第1のセレクタ手段と、 を備え、ALUからの演算結果が含まれる値域に対応し
    た命令アドレスに条件分岐を行うことを特徴とする演算
    回路。
  2. 【請求項2】 プログラムの内容をストアする命令RO
    Mと、この命令ROMのアドレスを指定するプログラム
    ・カウンタと、プログラム・カウンタの指定する命令R
    OMの内容をデコードする命令デコーダと、この命令デ
    コーダのデコード結果に従ってレジスタ・ファイルの内
    容の演算を行うALUと、ALUの演算結果から次の命
    令ROMのアドレス値を計算するアドレス・ユニットか
    らなり命令ROM中の命令コードに従って演算を順次実
    行する演算回路において:ALUの出力結果をストアし
    出力する結果レジスタと、 前記結果レジスタの出力を1だけインクリメントする値
    判定手段と、 現在のプログラム・カウント値をストアするラッチ手段
    と、 前記値判定手段からの値判定結果および前記ラッチ手段
    にストアされた現プログラム・カウント値を加算し次の
    プログラム・カウント値を算出する加算手段と、 この加算結果を選択し命令ROM28中の次の命令アド
    レスを決定するする第1のセレクタ手段と、 を備え、ALUからの演算結果の値に対応した命令アド
    レスに条件分岐を行うことを特徴とする演算回路。
  3. 【請求項3】 請求項1または2のいずれかに記載の演
    算回路において:さらに、前記結果レジスタからの出力
    によって命令デコーダからの命令種類(type)、条件分
    岐コード(br_code)、および条件(condition)を解読
    し、その結果をセレクタに送出するフラッグ判定回路を
    設けたことを特徴とする演算回路。
  4. 【請求項4】 請求項1、2または3のいずれかに記載
    の演算回路において:前記第1のセレクタは、前記フラ
    ッグ判定回路からの出力によって前記加算器の出力アド
    レスまたは命令デコーダからの出力に含まれるジャンプ
    先アドレス(jmp address)のいずれか一方を選択する
    ことを特徴とする演算回路。
  5. 【請求項5】 請求項1から4のいずれかに記載の演算
    回路において:さらに、命令デコーダからの出力に含ま
    れる命令種類(type)、条件分岐コード(br_code)お
    よび条件(condition)に従って、固定値”1”、デコ
    ーダからの出力または命令デコーダ中のアドレス偏位分
    (disp)のいずれかを選択する第2のセレクタを含むこ
    とを特徴とする演算回路。
  6. 【請求項6】 請求項1から5のいずれかに記載の演算
    回路において:値域判定または値判定により条件分岐し
    た先のアドレスの命令コードとして通常の演算命令の他
    に現プログラムカウンタ値から次のプログラム・カウン
    ト値への変位を指定し演算実行と同時にその変位分プロ
    グラムカウンタ値を変位させる手段を設け、この手段に
    よってALUが値域判定または値判定を行った後の分岐
    処理を行うことを特徴とする演算回路。
  7. 【請求項7】 請求項1から6のいずれかに記載の演算
    回路を用いてADPCMエンコード/デコード演算処理
    中に頻繁に出現する条件分岐処理を実行することを特徴
    とするADPCMエンコード/デコード演算回路。
  8. 【請求項8】 プログラムの内容をストアする命令RO
    Mと、この命令ROMのアドレスを指定するプログラム
    ・カウンタと、プログラム・カウンタの指定する命令R
    OMの内容をデコードする命令デコーダと、この命令デ
    コーダのデコード結果に従ってレジスタ・ファイルの内
    容の演算を行う演算論理ユニット(ALU)と、ALU
    の演算結果から次の命令ROMのアドレス値を計算する
    アドレス・ユニットとから構成される演算装置を用い
    て、命令ROM中の命令コードに従って演算を順次実行
    する演算方法において:ALUの出力結果をストアし出
    力し、 前記出力がどの値域に含まれるかを判定し、 現在のプログラム・カウント値をストアし、 前記値域判定結果および前記現プログラム・カウント値
    を加算し次のプログラム・カウント値を算出し、 この加算結果を選択し命令ROM28中の次の命令アド
    レスを決定することによって、 ALUからの演算結果が含まれる値域に対応した命令ア
    ドレスに条件分岐を行うことを特徴とする演算方法。
  9. 【請求項9】 プログラムの内容をストアする命令RO
    Mと、この命令ROMのアドレスを指定するプログラム
    ・カウンタと、プログラム・カウンタの指定する命令R
    OMの内容をデコードする命令デコーダと、この命令デ
    コーダのデコード結果に従ってレジスタ・ファイルの内
    容の演算を行うALUと、ALUの演算結果から次の命
    令ROMのアドレス値を計算するアドレス・ユニットと
    から構成される演算装置を用いて、命令ROM中の命令
    コードに従って演算を順次実行する演算方法において:
    ALUの出力結果をストアし、出力し、 前記出力を1だけインクリメントし、 現在のプログラム・カウント値をストアし、 前記インクリメント結果および前記現プログラム・カウ
    ント値を加算し次のプログラム・カウント値を算出し、 この加算結果を選択し命令ROM28中の次の命令アド
    レスを決定することによって、 ALUからの演算結果の値に対応した命令アドレスに条
    件分岐を行うことを特徴とする演算方法。
JP18726095A 1995-07-24 1995-07-24 演算回路および演算方法 Expired - Fee Related JP3453938B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP18726095A JP3453938B2 (ja) 1995-07-24 1995-07-24 演算回路および演算方法
US08/580,085 US5764941A (en) 1995-07-24 1995-12-20 Operating circuit and method for processing signals in ADPCM system
EP95120263A EP0756230B1 (en) 1995-07-24 1995-12-21 Operating circuit and method for selecting signal processing commands in ADPCM system
DE69531610T DE69531610T2 (de) 1995-07-24 1995-12-21 Ansteuerschaltung und Verfahren zur Auswahl von Signalverarbeitungsbefehlen in einem ADPCM-System

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18726095A JP3453938B2 (ja) 1995-07-24 1995-07-24 演算回路および演算方法

Publications (2)

Publication Number Publication Date
JPH0934703A JPH0934703A (ja) 1997-02-07
JP3453938B2 true JP3453938B2 (ja) 2003-10-06

Family

ID=16202870

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18726095A Expired - Fee Related JP3453938B2 (ja) 1995-07-24 1995-07-24 演算回路および演算方法

Country Status (4)

Country Link
US (1) US5764941A (ja)
EP (1) EP0756230B1 (ja)
JP (1) JP3453938B2 (ja)
DE (1) DE69531610T2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6446196B1 (en) * 1999-02-17 2002-09-03 International Business Machines Corporation Method apparatus and computer program product including one-of and one-of-and-jump instructions for processing data communications
CN1205540C (zh) * 2000-12-29 2005-06-08 深圳赛意法微电子有限公司 含有解码器的电路、时分寻址的方法和一个微控制器
JP4364077B2 (ja) 2004-06-30 2009-11-11 富士通株式会社 演算装置及び演算装置の制御方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3979725A (en) * 1973-08-06 1976-09-07 Xerox Corporation Multi-way program branching circuits
US4090250A (en) * 1976-09-30 1978-05-16 Raytheon Company Digital signal processor
US4891754A (en) * 1987-07-02 1990-01-02 General Datacomm Inc. Microinstruction sequencer for instructing arithmetic, logical and data move operations in a conditional manner
CA1311063C (en) * 1988-12-16 1992-12-01 Tokumichi Murakami Digital signal processor
US5450555A (en) * 1990-06-29 1995-09-12 Digital Equipment Corporation Register logging in pipelined computer using register log queue of register content changes and base queue of register log queue pointers for respective instructions
US5410660A (en) * 1992-12-24 1995-04-25 Motorola, Inc. System and method for executing branch on bit set/clear instructions using microprogramming flow

Also Published As

Publication number Publication date
EP0756230A3 (en) 1997-10-15
EP0756230A2 (en) 1997-01-29
US5764941A (en) 1998-06-09
DE69531610T2 (de) 2004-06-09
JPH0934703A (ja) 1997-02-07
DE69531610D1 (de) 2003-10-02
EP0756230B1 (en) 2003-08-27

Similar Documents

Publication Publication Date Title
JP2640454B2 (ja) ディジタル命令プロセッサ制御装置および1サイクル内で分岐を実行する方法
US7956776B2 (en) Arithmetic decoding apparatus
KR100233220B1 (ko) 파이프라인 처리기
WO1997030389A2 (en) Method and apparatus for improved branch prediction accuracy in a superscaler microprocessor
US4945511A (en) Improved pipelined processor with two stage decoder for exchanging register values for similar operand instructions
KR20100108509A (ko) 레지스터 명령 필드를 인코딩하는 방법
EP0201833A2 (en) Instruction processor
US6189092B1 (en) Pipeline processor capable of reducing branch hazards with small-scale circuit
US6760836B2 (en) Apparatus for issuing an instruction to a suitable issue destination
JP3453938B2 (ja) 演算回路および演算方法
EP0394711A2 (en) Branch instruction control unit based on a pipeline method
EP0423726A2 (en) Branch control circuit
US5142630A (en) System for calculating branch destination address based upon address mode bit in operand before executing an instruction which changes the address mode and branching
US20050091478A1 (en) Processor using less hardware and instruction conversion apparatus reducing the number of types of instructions
US6182211B1 (en) Conditional branch control method
JPH01183737A (ja) 情報処理装置
JP2883035B2 (ja) パイプライン・プロセッサ
US20060101240A1 (en) Digital signal processing circuit and digital signal processing method
JP2001043082A (ja) 情報処理装置並びに命令コーディング方法及び命令デコーディング方法
JPH06121172A (ja) 画像符号化装置
US20040243788A1 (en) Vector processor and register addressing method
EP0843253A1 (en) A method for reducing the number of bits needed for the representation of constant values in a data processing device
JPS60117335A (ja) 情報処理装置
JP2772100B2 (ja) 並列命令フェッチ機構
US20060015704A1 (en) Operation apparatus and instruction code executing method

Legal Events

Date Code Title Description
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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: 20080725

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20080725

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090725

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100725

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110725

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110725

Year of fee payment: 8

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20110725

Year of fee payment: 8

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees