JP3428741B2 - 演算装置とアドレス発生装置及びプログラム制御装置 - Google Patents
演算装置とアドレス発生装置及びプログラム制御装置Info
- Publication number
- JP3428741B2 JP3428741B2 JP22080694A JP22080694A JP3428741B2 JP 3428741 B2 JP3428741 B2 JP 3428741B2 JP 22080694 A JP22080694 A JP 22080694A JP 22080694 A JP22080694 A JP 22080694A JP 3428741 B2 JP3428741 B2 JP 3428741B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- register
- arithmetic
- bit
- storing
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/50—Adding; Subtracting
- G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F9/30014—Arithmetic instructions with variable precision
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/3808—Details concerning the type of numbers or the way they are handled
- G06F2207/3828—Multigauge devices, i.e. capable of handling packed numbers without unpacking them
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Complex Calculations (AREA)
- Executing Machine-Instructions (AREA)
Description
ロセッサ(以下DSPと略称する)内部の演算装置とア
ドレス発生装置およびプログラム制御装置に関するもの
である。
多用されている。このような機器組み込み用のDSPに
おいては、消費電力やコストを抑えるため、固定小数点
演算を行う場合が多い。その場合、演算に使用するデー
タの有効桁を信号処理に必要な演算精度に合わせて変化
させる場合がある。
演算に使用するデータの有効桁が小さい場合、入出力デ
ータをマスクまたはシフトして演算回路のビット幅に合
わせる処理を高速化するための努力がされている。例え
ば、特開平2ー293928号公報においては、演算語
長可変の算術論理演算機構を用いる構成が記載されてい
る。
て説明する。図7は従来のマイクロコンピュータの演算
回路のブロック図である。この従来例によると、それ
は、演算回路の有効桁を設定する演算語長設定回路10
1と、該設定回路からの制御信号により演算回路に入力
する演算データを生成するデータ補正回路103、10
4と、該設定回路からの制御信号と前記データ補正回路
からのデータにより演算を行なう演算語長可変の算術・
論理演算回路100と、前記演算回路の出力結果の有効
桁を制御するビット精度設定回路102と、該設定回路
からの制御信号により有効桁の補正を行うビット精度補
正回路106とからなり、演算入力データ及び演算結果
のデータをマスクまたはシフトするようにしたことによ
り、演算有効桁を合わせるためのソフトウェアの負担を
削減して、システム全体の処理速度の向上を図るように
している。
来の演算装置では、データ補正回路から演算回路に対
し、演算回路のビット幅と同じ、すなわち、データの有
効桁よりも大きいビット幅のデータが供給されてしま
い、また演算回路内のキャリーの伝搬を制御しないの
で、演算回路内において有効桁の演算に必要がない部分
まで動作してしまうことにより、消費電力が大きくなる
という問題を有していた。
プロセッサ(DSP)を機器組み込み用に用いる場合、
データメモリーや命令メモリーを実装するワード数は、
組み込まれる機器のアプリケーションプログラムで使用
する量に合わせて、変化させる場合が多い。例えば、あ
るDSPのデータアドレスレジスタのビットが16ビッ
トであり、したがって、2の16乗すなわち65536
ワードのアドレス空間をデータメモリーに対して指示で
きる場合でも、実行するプログラムが実際に使用するデ
ータメモリーの容量が256ワードであることがわかっ
ていれば、DSPの半導体チップには、データメモリー
を256ワードだけ実装することが多い。そうすること
により、半導体チップの面積が小さくなるため、価格を
低減できるからである。しかし、その場合、データメモ
リーの256ワードのアドレス空間は、たかだか8ビッ
トで指示することができるので、16ビット幅のアドレ
スレジスタを有するDSP内部のアドレス発生装置は、
8ビット分だけ無駄な動作を行なうことになるという問
題があった。
するプログラムの行数が256ワードであれば、実装す
る命令メモリー容量は、256ワードだけの場合があ
る。DSPのプログラムカウンタのビット幅が16ビッ
トであれば、そのプログラムカウンタを有するDSP内
部のプログラム制御装置は、8ビット分だけ余分な動作
をすることになるという問題があった。
ので、データの有効桁が演算回路のビット幅より小さい
場合には、有効桁のみを動作するよう制御することによ
り、演算回路とその入力及び出力レジスタの消費電力を
低減し、また、演算速度を向上することができる演算装
置を提供することを目的とする。
れたもので、最大アドレスのビット幅をメモリーに合わ
せて小さくすると共に、データの有効桁が演算回路のビ
ット幅より小さい場合には、有効桁のみを動作するよう
制御することにより、演算回路とアドレスレジスタ及び
増分レジスタの消費電力を低減し、また、演算速度を向
上することができるアドレス発生装置及びプログラム制
御装置を提供することを目的とする。
は、上記の目的を達成するため、データの演算処理を行
う演算手段と、この演算手段による演算の有効桁を記憶
する演算語長記憶部と、該演算語長記憶部に接続され、
有効桁の演算に必要ない部分における演算手段の動作を
禁止する制御手段とを備え、有効桁のみを演算するよう
にしたことを特徴とするものである。
的を達成するため、演算手段が算術論理演算回路からな
り、該算術論理演算回路で演算処理を行うデータを記憶
する第1及び第2のレジスタと、算術論理演算回路の出
力を記憶する第3のレジスタと、演算語長記憶部に接続
され、第1、第2及び第3のレジスタに対して有効桁の
ビットのみを記憶するように指示するレジスタ制御部と
を備えたことを特徴とするものである。
上記の目的を達成するため、データを記憶するメモリー
の最大アドレスのビット幅を記憶する実装アドレス幅記
憶部と、メモリーにアドレスを与えるアドレス生成手段
と、実装アドレス幅記憶部に接続され、最大アドレスの
ビット幅以外のアドレス生成手段の動作を禁止する制御
手段とを備え、最大アドレスのビット幅のみの演算動作
を実行するようにしたことを特徴とするものである。
上記の目的を達成するため、アドレス生成手段が、メモ
リーに指示するアドレスを記憶するアドレスレジスタ
と、該アドレスレジスタの出力のアドレスを修飾する増
分値を記憶する増分レジスタと、アドレスレジスタから
のアドレスと増分レジスタからの増分値とを加算して該
アドレスレジスタに出力する加算器とからなり、制御手
段によりアドレスレジスタ及び前記増分レジスタに対し
有効桁のみを記憶するよう指示し、及び加算器に対し該
有効桁の演算に必要ない部分の動作を禁止する制御信号
を出力するようにしたことを特徴とするものである。
は、上記の目的を達成するため、プロセッサの命令を記
憶する命令メモリーと、該命令メモリーの最大アドレス
のビット幅を記憶する実装アドレス幅記憶部と、命令メ
モリーから読出す命令のアドレスを該命令メモリーに与
えるプログラムカウンタと、実装アドレス幅記憶部に接
続され、最大アドレスのビット幅以外のプログラムカウ
ンタの動作を禁止する制御手段とを備え、最大アドレス
のビット幅のみの演算動作を実行するようにしたことを
特徴とするものである。
は、上記の目的を達成するため、プログラムカウンタ
が、命令メモリーに指示するアドレスを記憶するアドレ
スレジスタと、該アドレスレジスタの出力のアドレスを
修飾する増分値を記憶する定数発生部と、アドレスレジ
スタからのアドレスと定数発生部からの増分値とを加算
して該アドレスレジスタに出力する加算器とからなり、
制御手段によりアドレスレジスタ及び定数発生部に対し
有効桁のみを記憶するよう指示し、及び加算器に対し有
効桁の演算に必要ない部分の動作を禁止する制御信号を
出力するようにしたことを特徴とするものである。
し、特に、制御手段が演算手段に対して有効桁の演算に
必要がない部分(例えば、最高有効桁及びそれ以上の
桁)に対するキャリーの伝搬を禁止する制御信号を送信
して、演算手段において有効桁の演算に必要がない部分
が動作しないようにすることにより、消費電力を低減
し、処理速度の向上を図ることができる。
うに構成し、特に、演算制御部が、算術論理演算回路に
対して有効桁の演算に必要がない部分に対するキャリー
の伝搬を禁止して、算術論理演算回路において有効桁の
演算に必要ない部分が動作しないようにすると共に、レ
ジスタ制御部が演算処理を行なうデータを記憶させる第
1および第2のレジスタに対して有効桁のビットのみを
記憶するように指示して、有効桁以外のビットが算術論
理演算回路に入力する値を変化させず、さらにレジスタ
制御部が演算結果を記憶する第3のレジスタに対して有
効桁のビットのみを記憶するように指示して、有効桁以
外の出力ビットを第3のレジスタに記憶させず、演算結
果の有効桁以外のビットが変化しないようにしたことに
より、消費電力を低減し、処理速度の向上を図ることが
できる。
ように構成し、特に、制御手段がアドレス生成手段に対
し、最大アドレスのビット幅以外のアドレス生成手段の
動作を禁止して、最大アドレスのビット幅のみの演算動
作を実行するようにすると共に、最大アドレスのビット
幅より有効桁のビット幅が小さい場合、有効桁の演算に
必要がない部分に対するキャリーの伝搬を禁止して、加
算器において有効桁の演算に必要がない部分が動作しな
いようにするほか、アドレスレジスタ及び増分レジスタ
に対して有効桁のビットのみを記憶するように指示し
て、有効桁以外のビットが加算器に入力しないようにす
ることにより、アドレス生成手段において、有効桁以外
のビットが動作しないようにしたことにより、消費電力
を低減し、処理速度の向上を図ることができる。
のように構成し、特に、制御手段がプログラムカウンタ
に対し、最大アドレスのビット幅以外のプログラムカウ
ンタの動作を禁止して、最大アドレスのビット幅のみの
演算動作を実行するようにすると共に、最大アドレスの
ビット幅より有効桁のビット幅が小さい場合、有効桁の
演算に必要がない部分に対するキャリーの伝搬を禁止し
て、加算器において有効桁の演算に必要がない部分が動
作しないようにするほか、アドレスレジスタ及び定数発
生部に対して有効桁のビットのみを記憶するように指示
して、有効桁以外のビットが加算器に入力しないように
することにより、プログラムカウンタにおいて、有効桁
以外のビットが動作しないようにしたことにより、消費
電力を低減し、処理速度の向上を図ることができる。
発明の実施例を詳細に説明する。まず、図1及び図2を
参照して、本発明の第1の実施例による演算装置につい
て説明する。図1は本発明の第1の実施例における演算
装置の概略ブロック図であり、図2は図1に示す加算器
の構成の一例を詳細に表す図である。
るメモリー(ビット0−ビットn)、3及び4はメモリ
ー1及び2に記憶されたデータの供給用バス(ビット0
−ビットn)、5及び6はX及びYレジスタ(第1及び
第2のレジスタ)であり、それぞれバス3及び4から供
給されるデータX、Yを記憶する。7はXレジスタ5及
びYレジスタ6から供給されるデータX、Yに対して加
算を行う加算器(演算手段または算術論理演算回路)、
8は加算器7の演算結果を記憶するレジスタ(第3のレ
ジスタ)、9は演算に使用するデータの有効桁のビット
数を記憶する有効桁数記憶レジスタ(演算語長記憶部)
である。
指定された値がnの場合には、レジスタ5、6、8に対
して、ビット0からビットnー1までのnビットのみを
記憶するように指示するレジスタ制御部、11は、後述
するように、加算器7内の各ビットの加算結果から生じ
た各キャリー(有る場合)の次のビットに対する出力を
制御する制御信号
生し、有効桁数記憶レジスタ9が指定された値がnの場
合、その制御信号〔n−1〕により加算器7に対してビ
ットnー1からビットnへのキャリーの伝搬を禁止する
ように指示する演算制御部(制御手段)である。尚、本
実施例におけるメモリー1、2及びバス3、4のビット
幅は8ビットとし、n=7とする。
算装置の動作を説明する前に、図2を参照して、図1に
示す加算器(演算手段)7の詳細な構造について説明す
る。図2は本実施例で使用する加算器7の構造の一例を
示すブロック図である。
5及びYレジスタ6から受けた2つのデータX、Yのビ
ット0からビットnまでの各データビットX
・・,X〔n−1〕,X〔n〕及びY
Y〔n−1〕,Y〔n〕を各ビットごとに加算して、各
ビットの加算結果(和)O
1〕,O〔n〕とキャリー(有る場合)C O
・・,C O〔n−1〕とを出力するn個の全加算器(ビ
ットnの全加算器12はキャリーを出力しない)、13
は各ビットの全加算器12からのキャリーC O
・・・,C O〔n−1〕を一方の入力に受け、それぞれ
対応する制御信号
方の入力に受けて論理積し、実際に次段の全加算器12
に渡すキャリーC i
出力するアンド回路である。
タは8ビット(0−7)であり、ビット0乃至ビット7
まで8個の全加算器12を使用する。従って、n=7,
n−1=6となり、それぞれ全加算器12に入力するデ
ータビットはX
〔7〕、その出力はO
O
ンド回路から出力するキャリーはそれぞれC i
C i〔6〕となる。
1からビットnへのキャリーの伝搬のみを禁止したい場
合には、演算制御部11からの制御信号はビットnー1
に対する制御信号〔n−1〕のみを0にし、他のビット
ットnー1からビットnへのキャリーC i〔n−1〕の
伝搬を禁止すればよい。
うに構成された演算装置において、有効桁(mビット)
が4ビット(ビット0−ビット3)であるデータX及び
Yの加算を行う場合の動作について説明する。Xレジス
タ5、Yレジスタ6、及びレジスタ8はあらかじめ0に
リセットされているものとする。
タ9にデータの有効桁(mビット)のビット数の値4を
記憶する。そして、データX及びYの値をそれぞれメモ
リー1及び2から読みだし、バス3及び4を介してXレ
ジスタ5及びYレジスタ6に格納する。このとき、レジ
スタ制御部10はX及びYレジスタ5、6に対して下位
の4ビットのみを記憶するように指示するので、X及び
Yレジスタ5、6の上位4ビットは0のまま保持され、
下位の4ビットにデータX及びYが格納される。加算器
7はX及びYレジスタ5、6に格納されたデータX及び
Yの加算を行う。
が0で、その他のビット0−2が1である制御信号
12のうち、ビット3の全加算器からビット4の全加算
器へのキャリーC i〔3〕の伝搬が禁止される。ビット
4からビット7までの4個の全加算器はX及びYレジス
タ5、6により入力が全て0に固定されているため動作
せず、ビット0から3までの4個の全加算器のみが動作
して演算を行う。レジスタ8はレジスタ制御部10から
の制御信号により加算器7の出力のうち、下位4ビット
のみを記憶する。以上の動作により有効桁4ビットの加
算を行う。
制御部10が、X及びYレジスタ5、6に対して有効桁
のビットのみを記憶するように指示するので、有効桁以
外のビットから加算器7に入力する値が0のまま変化せ
ず、また、演算制御部11が、加算器7に対して有効桁
の演算に必要がない部分に対するキャリーの伝搬を禁止
するので、加算器7において有効桁の演算に必要がない
部分の全加算器が動作せず、さらにレジスタ制御部10
がレジスタ8に対して演算結果の有効桁ビットのみを記
憶するように指示し、演算結果の有効桁以外のビットが
0のまま変化しないようにしたので、データの有効桁が
加算器7のビット幅よりも小さい場合には消費電力を低
減することができる。
にするため簡単なシステムについて説明したが、高速桁
上げ機構(例えば桁上げ先見回路)を採用した算術論理
演算回路等においても、上記のようにキャリーの伝搬と
入出力の各レジスタ(X及びYレジスタ5、6、レジス
タ8)を制御することにより同様の効果を得ることがで
きる。
(X及びYレジスタ5、6、レジスタ8)はあらかじめ
0にリセットされているものとして説明したが、0以外
の他の値が保持されたままでもよい。さらに、上記実施
例で演算制御部11は、出力する制御信号のビットnー
1のみを0として、加算器のビットnー1からビットn
へのキャリーの伝搬のみを禁止するようにしたが、制御
信号のビットn以上の値も0として加算器7のビットn
以上のキャリー伝搬を全て禁止するようにしてもよい。
第2の実施例によるアドレス発生装置について詳細に説
明する。図3は本発明の第2の実施例におけるアドレス
発生装置の概略ブロック図である。
モリー、30はメモリー31に読み書きするデータのア
ドレスを指示するアドレス生成手段である。33はメモ
リー31とアドレス生成手段30に接続されたバス、3
6はメモリー31に実装されているアドレス領域の最大
アドレスのビット幅を記憶する実装アドレス幅記憶部と
しての実装アドレス幅レジスタ、39はアドレス生成手
段30に最大アドレスのビット幅以外の動作を禁止する
ように指示する制御手段である。
明する前に、図4を参照して、図3に示すアドレス生成
手段30及び制御手段39の内部構成について詳細に説
明する。図4はアドレス生成手段30及び制御手段39
の内部構成例を示した第2の実施例におけるアドレス発
生装置のブロック図である。
あり、メモリー31に指示するアドレスを記憶する。3
4は増分レジスタであり、アドレスレジスタ32の出力
のアドレスを修飾するための増分値を記憶する。7は加
算器であり、アドレスレジスタ32の出力及び増分レジ
スタ34の出力を加算してアドレスレジスタ32に出力
するもので、アドレスレジスタ32には、バス33の値
(新設定値)、または加算器7の出力(加算により増分
された値)のいずれかが書き込まれて値が更新される。
アドレス幅レジスタ36に指定した値をnとすると、ア
ドレスレジスタ32及び増分レジスタ34に対して、ビ
ット0からビットnー1までのnビットのみを記憶する
ように指示する。38は加算制御部であり、実装アドレ
ス幅レジスタ36に指定した値がnの場合には、加算器
7に対してビットnー1からビットnへのキャリーの伝
搬を禁止するように指示する。
例として前述したが、第2の実施例における加算器7の
一例としても同様に使用することができる。従って、こ
こで、再度簡単に説明すると、図2に示す構成の加算器
7において、8個の全加算器12間を伝搬するキャリー
信号線に対し計7個のアンド回路13が配置され、各ア
ンド回路13の一方の入力に対し加算制御部38から各
1ビット、計7ビットの制御信号
〔6〕を入力する。制御信号をビットnー1(本実施例
ではビット6)のみ0で他のビットは1であるように設
定して、ビット6(nー1)からビット7(n)へのキ
ャリーの伝搬を禁止する。
びバス33のビット幅は8ビットであるとする。また、
メモリー31に実装されているアドレス領域は、0番地
からf番地の16ワード分であるものとする。
うに構成されたアドレス発生装置を用い、アドレスf番
地からー1ずつデクリメントして、順にアドレスを発生
する場合のアドレス発生装置の動作について説明する。
アドレスレジスタ32及び増分レジスタ34はあらかじ
め0にリセットされているものとする。
ット数は4ビット(ビット0−3)であるものとし、ま
ず、実装アドレス幅レジスタ36にアドレスの有効桁の
ビット数の値4を記憶する。また増分レジスタ34に
は、バス33を介してー1の値を記憶させる。このと
き、レジスタ制御部37は増分レジスタ34に対して下
位の4ビットのみを記憶するように指示するので、増分
レジスタ34の上位4ビットは0のまま保持され、下位
の4ビットに、ー1の値を4ビットの2の補数で表した
値fが格納される。そして発生したアドレスの先頭番地
の値fを、バス33を介してアドレスレジスタ32に格
納する。このとき、レジスタ制御部37はアドレスレジ
スタ32に対して下位の4ビットのみを記憶するように
指示するので、アドレスレジスタ32の上位4ビットは
0のまま保持され、下位の4ビットにアドレスの値fが
格納される。メモリー31にはアドレス値fが供給され
る。
の出力及び増分レジスタ34の出力の加算を行う。この
とき、加算制御部38はビット3のみが0で、その他の
ビットが1である制御信号
力するので、図2における全加算器12のうち、ビット
3の全加算器12からビット4の全加算器12へのキャ
リー伝搬が禁止される。ビット4からビット7までの4
個の全加算器12は入力がアドレスレジスタ32及び増
分レジスタ34により全て0に固定されるため動作せ
ず、ビット0からビット3までの4個の全加算器12の
みが動作して加算を行う。アドレスレジスタ32はレジ
スタ制御部37からの制御信号により加算器7の出力の
うち、下位の4ビットのみを記憶する。以上の動作を繰
り返すことにより、メモリー31には、4ビットのアド
レス値e、d、c、b、a、9、8、・・・が、順に供
給される。
制御部37が、アドレスレジスタ32及び増分レジスタ
34に対して、メモリー31に実装されている最大アド
レスのビット幅のみを記憶するように指示するので、最
大アドレスのビット幅以外のビットから加算器7に入力
する値が0のまま変化せず、また、加算制御部38が、
加算器7に対して最大アドレスのビット幅の加算に必要
がない部分に対するキャリーの伝搬を禁止するので、加
算器7において、最大アドレスのビット幅の加算に必要
がない部分の全加算器12が動作せず、さらにレジスタ
制御部37が、アドレスレジスタ32に対して有効桁の
ビットのみを記憶するように指示し、最大アドレスのビ
ット幅以外のビットが0のまま変化しないので、メモリ
ー31に実装されている最大アドレスのビット幅が、加
算器7のビット幅よりも小さい場合には消費電力を低減
することができる。
リー伝搬が禁止されることにより、加算に要する時間が
短くなるため、DSP全体のマシンサイクルを短縮し
て、高速に動作することが可能である。
第3の実施例によるプログラム制御装置について詳細に
説明する。図5は本発明の第3の実施例におけるプログ
ラム制御装置の概略ブロック図である。
る命令メモリー、52は命令メモリー51に対し、読み
だす命令コードのアドレスを指示するプログラムカウン
タである。50はプログラムカウンタ52に接続された
バス、54は命令メモリー51に実装されているアドレ
ス領域の最大アドレスのビット幅を記憶する実装アドレ
ス幅記憶部としての実装アドレス幅レジスタであり、5
3はプログラムカウンタ52に最大アドレスのビット幅
以外の動作を禁止するように指示する制御手段、55は
命令メモリー51から出力された命令コードをデコード
して制御信号を出力する命令デコーダである。
明する前に、図6を参照して、図5に示すプログラムカ
ウンタ52及び制御手段53の内部構成について詳細に
説明する。図6はプログラムカウンタ52及び制御手段
53の内部構成例を示した第3の実施例におけるプログ
ラム制御装置のブロック図である。
指示するアドレスを記憶するアドレスレジスタであり、
56はアドレスレジスタ57の出力のアドレスを修飾す
るための増分値1を発生して出力する定数発生部であ
り、7はアドレスレジスタ57の出力と定数発生部56
の出力を加算してアドレスレジスタ57に出力する内容
が前述同様の加算器である。
(新設定値)または加算器7の出力(加算された値)の
いずれかが書き込まれて、値が更新される。58はレジ
スタ制御部であり、レジスタ54に指定した値をnとす
ると、アドレスレジスタ57に対して、ビット0からビ
ットnー1までのnビットのみを記憶するように指示す
る。59は加算制御部であり、レジスタ54に指定した
値がnの場合には、加算器7に対してビットnー1から
ビットnへのキャリーの伝搬を禁止するように指示す
る。
器7の一例として前述したが、第3の実施例における加
算器7の一例としても使用することができる。従って、
ここで、再度簡単に説明すると、図2に示す構成の加算
器7において、8個の全加算器12間を伝搬するキャリ
ー信号線に対し計7個のアンド回路13が配置され、各
アンド回路13の一方の入力に対し加算制御部59から
各1ビット、計7ビットの制御信号
〔6〕を入力する。制御信号をビットnー1(本実施例
ではビット6)のみ0で他のビットは1であるように設
定して、ビット6(nー1)からビット7(n)へのキ
ャリーの伝搬を禁止する。
レスレジスタ57のビット幅は8ビットであるとする。
また、命令メモリー51に実装されているアドレス領域
は、0番地からf番地の16ワード分であるものとす
る。
うに構成されたプログラム制御装置を用い、アドレス0
番地から+1ずつインクリメントして、順にアドレスを
発生する場合のプログラム制御装置の動作について説明
する。アドレスレジスタ57はあらかじめ0にリセット
されているものとする。
ット数は4ビット(ビット0−3)であるものとし、ま
ず、実装アドレス幅レジスタ54にアドレスの有効桁の
ビット数の値4を記憶する。アドレスレジスタ57はあ
らかじめ0にリセットされているので、命令メモリー5
1には先頭番地の値0が供給される。
の出力及び定数発生部56の出力の加算を行う。このと
き、加算制御部59はビット3のみが0で、その他のビ
ットが1である制御信号
するので、図2における全加算器12のうち、ビット3
の全加算器12からビット4の全加算器12へのキャリ
ー伝搬が禁止される。ビット4からビット7までの4個
の全加算器12は入力が全て0に固定されるため動作せ
ず、ビット0からビット3までの4個の全加算器12の
みが動作して加算を行う。アドレスレジスタ57はレジ
スタ制御部58からの制御信号により加算器7の出力の
うち、下位の4ビットのみを記憶する。以上の動作を繰
り返すことにより、命令メモリー51には、4ビットの
アドレス値0、1、2、3、・・・が、順に供給され
る。
制御部58が、アドレスレジスタ57に対して、命令メ
モリー51に実装されている最大アドレスのビット幅の
みを記憶するように指示するので、最大アドレスのビッ
ト幅以外のビットから加算器7に入力する値が0のまま
変化せず、また、加算制御部59が、加算器7に対して
最大アドレスのビット幅の加算に必要がない部分へのキ
ャリーの伝搬を禁止するので、加算器7において、最大
アドレスのビット幅の加算に必要がない部分の全加算器
12が動作せず、さらにレジスタ制御部58が、アドレ
スレジスタ57に対して有効桁のビットのみを記憶する
ように指示し、最大アドレスのビット幅以外のビットが
0のまま変化しないので、命令メモリー51に実装され
ている最大アドレスのビット幅が、プログラムカウンタ
52のビット幅、すなわちアドレスレジスタ57のビッ
ト幅よりも小さい場合には、消費電力を低減することが
できる。
やすくするため、簡単なシステムについて説明したが、
プログラム分岐の際の戻りアドレスを保持するためのス
タックメモリーを有するプログラム制御装置等において
も、上記のようにキャリー伝搬及び各種レジスタを制御
することにより同様の効果が得られる。
ように構成して、制御手段が演算手段に対し有効桁の演
算に必要がない部分に対するキャリーの伝搬を禁止する
制御信号を送信して、演算手段において、有効桁の演算
に必要がない部分が動作しないようにすることにより、
消費電力を低減し、処理速度の向上を図ることができ
る。
したように構成して、演算制御部が、加算器に対し有効
桁の演算に必要がない部分に対するキャリーの伝搬を禁
止して、加算器において有効桁の演算に必要がない部分
が動作しないようにすると共に、レジスタ制御部が演算
処理を行なうデータを記憶させる第1および第2のレジ
スタに対して有効桁のビットのみを記憶するように指示
して、有効桁以外のビットが算術論理演算回路に入力す
る値を変化させず、さらにレジスタ制御部が演算結果を
記憶する第3のレジスタに対して有効桁のビットのみを
記憶するように指示して、有効桁以外の出力ビットを第
3のレジスタに記憶させず、演算結果の有効桁以外のビ
ットが変化しないようにしたことにより、更に消費電力
を低減し、処理速度の向上を図ることができる。
明したように構成して、制御手段がアドレス生成手段に
対し、最大アドレスのビット幅以外のアドレス生成手段
の動作を禁止して、最大アドレスのビット幅のみの演算
動作を実行するようにすると共に、最大アドレスのビッ
ト幅より有効桁のビット幅が小さい場合、アドレス生成
手段において、有効桁以上のビットが動作しないように
したことにより、消費電力を低減し、処理速度の向上を
図ることができる。
説明したように構成して、制御手段がプログラムカウン
タに対し、最大アドレスのビット幅以外のプログラムカ
ウンタの動作を禁止して、最大アドレスのビット幅のみ
の演算動作を実行するようにすると共に、最大アドレス
のビット幅より有効桁のビット幅が小さい場合、プログ
ラムカウンタにおいて、有効桁以外のビットが動作しな
いようにしたことにより、消費電力を低減し、処理速度
の向上を図ることができる。
発生装置およびプログラム制御装置は、以上説明したよ
うに、消費電力を低減し、処理速度の向上を図ることが
できるため、更に経済性の向上および機器使用上の利便
性の向上を図ることができる。
ブロック図
置の概略ブロック図
部構成例を示した第2の実施例におけるアドレス発生装
置のブロック図
装置の概略ブロック図
内部構成例を示した第3の実施例におけるプログラム制
御装置のブロック図
ック図
Claims (6)
- 【請求項1】データの演算処理を行う演算手段と、 該演算手段の有効桁を記憶する演算語長記憶部と、 該演算語長記憶部に接続され、前記有効桁の演算に必要
ない部分の前記演算手段の動作を禁止する制御手段とを
備え、 有効桁のみ演算することを特徴とする演算装置。 - 【請求項2】前記演算手段は算術論理演算回路からな
り、該算術論理演算回路で演算処理を行うデータを記憶
する第1及び第2のレジスタと、 前記算術論理演算回路の出力を記憶する第3のレジスタ
と、 前記演算語長記憶部に接続され、前記第1、第2及び第
3のレジスタに対して有効桁のビットのみを記憶するよ
うに指示するレジスタ制御部とを備えたことを特徴とす
る請求項1記載の演算装置。 - 【請求項3】データを記憶するメモリーの最大アドレス
のビット幅を記憶する実装アドレス幅記憶部と、 前記メモリーにアドレスを与えるアドレス生成手段と、 前記実装アドレス幅記憶部に接続され、前記最大アドレ
スのビット幅以外の前記アドレス生成手段の動作を禁止
する制御手段とを備え、 最大アドレスのビット幅のみの演算動作を実行すること
を特徴とするアドレス発生装置。 - 【請求項4】前記アドレス生成手段は、前記メモリーに
指示するアドレスを記憶するアドレスレジスタと、 該アドレスレジスタの出力のアドレスを修飾する増分値
を記憶する増分レジスタと、 前記アドレスレジスタからのアドレスと前記増分レジス
タからの増分値とを加算して該アドレスレジスタに出力
する加算器とからなり、 前記制御手段は前記アドレスレジスタ及び前記増分レジ
スタに対し有効桁のみを記憶するよう指示し、及び前記
加算器に対し該有効桁の演算に必要ない部分の動作を禁
止する制御信号を出力することを特徴とする請求項3記
載のアドレス発生装置。 - 【請求項5】プロセッサの命令を記憶する命令メモリー
と、 該命令メモリーの最大アドレスのビット幅を記憶する実
装アドレス幅記憶部と、 前記命令メモリーから読出す命令のアドレスを該命令メ
モリーに与えるプログラムカウンタと、 前記実装アドレス幅記憶部に接続され、前記最大アドレ
スのビット幅以外の前記プログラムカウンタの動作を禁
止する制御手段とを備え、 最大アドレスのビット幅のみの演算動作を実行すること
を特徴とするプログラム制御装置。 - 【請求項6】前記プログラムカウンタは、前記命令メモ
リーに指示するアドレスを記憶するアドレスレジスタ
と、 該アドレスレジスタの出力のアドレスを修飾する増分値
を記憶する定数発生部と、 前記アドレスレジスタからのアドレスと前記定数発生部
からの増分値とを加算して該アドレスレジスタに出力す
る加算器とからなり、前記制御手段は前記アドレスレジ
スタ及び前記定数発生部に対し有効桁のみを記憶するよ
う指示し、及び前記加算器に対し該有効桁の演算に必要
ない部分の動作を禁止する制御信号を出力することを特
徴とする請求項5記載のプログラム制御装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP22080694A JP3428741B2 (ja) | 1994-02-14 | 1994-08-24 | 演算装置とアドレス発生装置及びプログラム制御装置 |
| US08/385,121 US5615140A (en) | 1994-02-14 | 1995-02-07 | Fixed-point arithmetic unit |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6-17190 | 1994-02-14 | ||
| JP1719094 | 1994-02-14 | ||
| JP22080694A JP3428741B2 (ja) | 1994-02-14 | 1994-08-24 | 演算装置とアドレス発生装置及びプログラム制御装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH07271554A JPH07271554A (ja) | 1995-10-20 |
| JP3428741B2 true JP3428741B2 (ja) | 2003-07-22 |
Family
ID=26353676
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP22080694A Expired - Fee Related JP3428741B2 (ja) | 1994-02-14 | 1994-08-24 | 演算装置とアドレス発生装置及びプログラム制御装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US5615140A (ja) |
| JP (1) | JP3428741B2 (ja) |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5870616A (en) * | 1996-10-04 | 1999-02-09 | International Business Machines Corporation | System and method for reducing power consumption in an electronic circuit |
| US6076098A (en) * | 1996-10-18 | 2000-06-13 | Samsung Electronics Co., Ltd. | Adder for generating sum and sum plus one in parallel |
| US6260055B1 (en) * | 1997-10-15 | 2001-07-10 | Kabushiki Kaisha Toshiba | Data split parallel shifter and parallel adder/subtractor |
| TW514822B (en) * | 1999-05-06 | 2002-12-21 | Ind Tech Res Inst | Low power consumption mathematic apparatus and method |
| US6732136B1 (en) * | 1999-12-23 | 2004-05-04 | Intel Corporation | Differential, low voltage swing reducer |
| US20030037085A1 (en) * | 2001-08-20 | 2003-02-20 | Sandbote Sam B. | Field processing unit |
| US8595279B2 (en) * | 2006-02-27 | 2013-11-26 | Qualcomm Incorporated | Floating-point processor with reduced power requirements for selectable subprecision |
| JP2009187075A (ja) * | 2008-02-04 | 2009-08-20 | Japan Radio Co Ltd | デジタル回路 |
| CN101803206B (zh) * | 2008-08-15 | 2013-09-04 | Lsi公司 | 近码字的rom列表解码 |
| RU2674281C1 (ru) * | 2017-12-26 | 2018-12-06 | Федеральное государственное унитарное предприятие "Центральный научно-исследовательский институт машиностроения" (ФГУП ЦНИИмаш) | Устройство формирования оптимальных управляющих воздействий для обеспечения устойчивой работы сложных технических систем |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3331056A (en) * | 1964-07-15 | 1967-07-11 | Honeywell Inc | Variable width addressing arrangement |
| US5189636A (en) * | 1987-11-16 | 1993-02-23 | Intel Corporation | Dual mode combining circuitry |
| GB8904392D0 (en) * | 1989-02-27 | 1989-04-12 | Ibm | An arithmetic logic unit for a graphics processor |
| JPH02293928A (ja) * | 1989-05-08 | 1990-12-05 | Nec Ic Microcomput Syst Ltd | マイクロコンピュータ |
| US5237672A (en) * | 1989-07-28 | 1993-08-17 | Texas Instruments Incorporated | Dynamically adaptable memory controller for various size memories |
| US5210839A (en) * | 1990-12-21 | 1993-05-11 | Sun Microsystems, Inc. | Method and apparatus for providing a memory address from a computer instruction using a mask register |
| US5404474A (en) * | 1992-01-10 | 1995-04-04 | Digital Equipment Corporation | Apparatus and method for addressing a variable sized block of memory |
| US5390135A (en) * | 1993-11-29 | 1995-02-14 | Hewlett-Packard | Parallel shift and add circuit and method |
-
1994
- 1994-08-24 JP JP22080694A patent/JP3428741B2/ja not_active Expired - Fee Related
-
1995
- 1995-02-07 US US08/385,121 patent/US5615140A/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPH07271554A (ja) | 1995-10-20 |
| US5615140A (en) | 1997-03-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6668266B2 (en) | Data processing device having a central processing unit and digital signal processing unit | |
| US5511173A (en) | Programmable logic array and data processing unit using the same | |
| US5056004A (en) | Program control system which simultaneously executes a program to be repeated and decrements repetition numbers | |
| US5381360A (en) | Modulo arithmetic addressing circuit | |
| JP3428741B2 (ja) | 演算装置とアドレス発生装置及びプログラム制御装置 | |
| JPH02242425A (ja) | プログラム可能論理ユニット及び信号プロセッサ | |
| JPS61122747A (ja) | デ−タ処理装置 | |
| US5757685A (en) | Data processing system capable of processing long word data | |
| US4954947A (en) | Instruction processor for processing branch instruction at high speed | |
| US20030033499A1 (en) | Method and system for circular addressing with efficient memory usage | |
| US5402368A (en) | Computing unit and digital signal processor using the same | |
| JPS6227412B2 (ja) | ||
| JP3556252B2 (ja) | オフセット合計を計算するデータ処理システムとその方法 | |
| US5602767A (en) | Galois field polynomial multiply/divide circuit and a digital signal processor incorporating same | |
| JPH0816364A (ja) | カウンタ回路とそれを用いたマイクロプロセッサ | |
| JP2000039995A (ja) | 高性能マイクロプロセッサで使用するためのフレキシブル累算レジスタファイル | |
| JPH0619700B2 (ja) | 演算装置 | |
| JP4015411B2 (ja) | 演算装置及びその演算装置を用いた情報処理装置 | |
| JP2001216136A (ja) | 加算回路およびプロセッサ | |
| JPS60129853A (ja) | アドレス発生装置 | |
| JP4142299B2 (ja) | 円環状アドレスバッファのアドレス生成装置およびこれを備えた集積回路 | |
| KR100246472B1 (ko) | 디지탈신호처리기 | |
| KR19990061571A (ko) | 디지털 신호 처리기의 연산장치 | |
| Callahan | Dynamic instruction set coprocessors | |
| JP2616714B2 (ja) | 半導体記憶装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080516 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090516 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100516 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110516 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110516 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120516 Year of fee payment: 9 |
|
| LAPS | Cancellation because of no payment of annual fees |