JPH0816364A - カウンタ回路とそれを用いたマイクロプロセッサ - Google Patents

カウンタ回路とそれを用いたマイクロプロセッサ

Info

Publication number
JPH0816364A
JPH0816364A JP6263762A JP26376294A JPH0816364A JP H0816364 A JPH0816364 A JP H0816364A JP 6263762 A JP6263762 A JP 6263762A JP 26376294 A JP26376294 A JP 26376294A JP H0816364 A JPH0816364 A JP H0816364A
Authority
JP
Japan
Prior art keywords
adder
value
output
order part
order
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.)
Pending
Application number
JP6263762A
Other languages
English (en)
Inventor
Kazumasa Suzuki
一正 鈴木
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP6263762A priority Critical patent/JPH0816364A/ja
Priority to US08/428,542 priority patent/US5682342A/en
Publication of JPH0816364A publication Critical patent/JPH0816364A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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/5055Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination in which one operand is a constant, i.e. incrementers or decrementers

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Microcomputers (AREA)
  • Advance Control (AREA)

Abstract

(57)【要約】 【構成】 レジスタ5と、レジスタ5の出力を入力し1
加え出力を再びレジスタ5に入力するnビット加算器1
でカウンタ回路を構成する。加算器1は、下位部分を、
1加えるmビット加算器2で求め、上位部分を、1加え
るn−mビットパイプライン加算器で求めた値とレジス
タ5出力上位部分を入力し下位部分の桁上げ信号で制御
する選択器6で求める。下位部分は1クロックで前回の
値に1加える加算処理され、上位部分は下位部分が桁上
げ発生しない場合は1クロックで、桁上げを発生する場
合は2クロックで加算処理される。 【効果】 下位部分は2のm乗回に1回だけ、しかも周
期的に桁上げ信号を発生するので、その間上位の加算器
に入力される値は変化しない。桁上げを起こすときには
上位の加算器は既に演算を終了しているので、滞りなく
毎クロックカウントを続けられる。プログラムカウンタ
に使えばクロック周波数を上げられる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は高速動作を要するカウン
タ回路とそれを用いたマイクロプロセッサに関する。
【0002】
【従来の技術】プロセッサ等の回路は、クロック周波数
を高くして演算等をパイプライン処理することによっ
て、演算処理能力を向上させている。
【0003】図3にパイプライン加算器の例を示す。回
路の処理時間がほぼ一定になる所で、加算器を前半部3
aと後半部3bに分割し、その間にパイプラインレジス
タ4を挿入する。これによって、この加算器を動作させ
るためのクロックが3aと3bを合わせた処理時間以上
の周期でなくてはならなかったのが、3aと3bの何れ
か処理時間の長いほうとパイプラインレジスタの処理時
間を合わせた時間まで、クロック周期を短縮できる。パ
イプラインレジスタの処理時間は加算器の処理時間に比
べ短いので、クロックの周波数をパイプライン化する前
の半分近くにする事ができる。この加算器を用いれば、
加算処理を連続して行う等の場合は処理能力を向上させ
ることができる。回路の分割数を増やし、パイプライン
レジスタの挿入箇所を増やせば、さらにクロック周期を
短縮でき、処理能力を上げることもできる。
【0004】ところが、パイプライン加算器は演算結果
を得るまでにパイプライン段数と等しいクロックだけの
時間がかかる。そのため、図4に示すカウンタ回路のよ
うに加算器1の出力を入力値を与えるレジスタ5にフィ
ードバックする回路の場合、毎クロックでカウンタ出力
を1増加させるには、加算器1の出力を1クロックで求
めなくてはならない。
【0005】加算器を高速化する技術は幾つか知られて
いる。
【0006】図5に高速加算器の一例として桁上げ選択
加算器を示す。この加算器はnビットの加数と被加数を
上位部分mビットと下位部分n−mビットにそれぞれ分
割し、並列に加算を実行する。上位部分の加算について
は下位からの桁上げが0の場合と1の場合を加算器11
を2つ用いて並列に求め、選択器16の2つの入力に入
力し一方の値を選択できるようにする。加算器12から
出力される下位部分の加算の結果に桁上げが生じたか否
かによって選択器16を制御し、nビットの加算を行う
ものである。ビット長の短い加算はビット長の長い加算
より処理時間が短いため、高速加算が実現できる。
【0007】特開昭2−500310号公報「高速加算
器」には、前記桁上げ選択加算器の上位部分のみをパイ
プライン化し、加数の上位部分が0の場合の加算を高速
に行う回路が示されている。その構成を図6に示す。下
位部分は加算器2で、上位部分は加算器11で演算し、
加算器11の出力をパイプラインレジスタ4を通して選
択器6の一方の入力に入力する。選択器6のもう一方の
入力には被加数入力の上位部分を入力する。加算器2か
らの桁上げ信号を選択器6の制御信号として用い、桁上
げがなければ被加数をそのまま出力し、1クロックで加
算を終え、桁上げがあれば加算器11の出力を出力し2
クロックで加算を終える。特に、加算が繰り返し行わ
れ、上位の値が変化しない場合には選択器に入力される
値が変化しないので、パイプライン化した部分を隠すこ
とができる。オフセットの計算等では上位のビットが0
であることが多く、また、繰り返しオフセットの計算を
することが多いので、この加算器を演算器として用いれ
ばプロセッサの処理効率を向上させることができる、と
記載されている。
【0008】また特開平2−309423号公報「パイ
プラインプロセッサにおける実効アドレス計算制御方
式」には、同様の高速加算器が示されている。図7に示
すように、加数と被加数を下位部分mビットと上位部分
n−mビットに分割し、それぞれmビット加算器2とn
−mビット加算器11で演算する。加算器11の出力は
パイプラインレジスタ4を通じて、1加えるn−mビッ
ト加算器12に入力される。加算器11の出力と加算器
12の出力を選択器6の2つの入力に入力する。下位部
分の桁上げ信号で選択器6を制御する。下位部分に桁上
げがなければ、加算器11の出力を選択して1クロック
で加算が行える。下位部分に桁上げがある場合は、加算
器12の出力を選択して加算に2クロックかかる。しか
し、実効アドレスを計算する場合、オフセット値は上位
部分が0であることが多いため、ほとんどの場合1クロ
ックで計算できるため、平均で全体の処理能力が向上す
る。
【0009】
【発明が解決しようとする課題】前述の2つの加算器は
何れもマイクロプロセッサの一般の加算処理や、アドレ
スの計算に使用することで処理能力を向上させるもので
あった。また、加算が1クロックで終了しない場合には
全体をインターロックする、つまり正しいデータが得ら
れるまで待ち状態にする必要があった。しかし、マイク
ロプロセッサの処理能力を向上させるために、演算器や
メモリ等のデータバスをパイプライン化して、クロック
周波数を上げていくと、プログラムカウンタも高速化し
なくてはならなくなる。前述したように、カウンタ回路
は加算結果をフィードバックするパスがあり、1クロッ
クで完全に加算を行わないと毎クロックカウントアップ
できない。また、上位と下位部分に分割すると桁上げ処
理が必ず数クロックに1回発生するが、その場合にイン
ターロックすると処理能力が低下する。
【0010】本発明の目的は、高いクロック周波数でも
カウントアップできるカウンタ回路を提供することにあ
る。また、このカウンタ回路をマイクロプロセッサのプ
ログラムカウンタに使用しても処理能力がほとんど低下
しない回路を提供することにある。
【0011】
【課題を解決するための手段】本願のカウンタ回路は、
レジスタと、前記レジスタの出力に1を加える加算器
と、前記加算器の出力を前記レジスタに再入力すること
によって構成されるカウンタ回路において、前記加算器
を、加算の下位部分を求める、1カウント時間内に1加
える第1の加算器ならびに、加算の上位部分を求める、
前記下位部分の値が一巡する時間内に1加える第2の加
算器および、前記レジスタ出力の上位部分の値と前記第
2の加算器の出力を入力とする下位部分の加算の桁上げ
信号を用いて制御される選択器によって構成することを
特徴としている。
【0012】第2の加算器は段数2段以上のパイプライ
ン構成にしてもよい。
【0013】また本願のマイクロプロセッサは上述のカ
ウンタ回路を、マイクロプロセッサが実行する命令が格
納されているアドレスを指定するプログラムカウンタと
して用いることを特徴としている。
【0014】
【実施例】図1(a)に本発明の第1の実施例を示す。
【0015】カウンタ回路を、レジスタ5と、レジスタ
5の出力を入力し1加えて、出力を再びレジスタ5に入
力するnビット加算器1で構成する。この加算器1は、
下位部分を、1加えるmビット加算器2で求め、上位部
分を、1加えるn−mビットパイプライン加算器で求め
た値とレジスタ5出力上位部分を入力し下位部分の桁上
げ信号で制御する選択器6で求める構成になっている。
下位部分は1クロックで前回の値に1加える加算処理を
行う。加算器1の加数は常に1であるので、加数は最下
位ビットが1である以外は全て0であり、上位部分は前
回の値か、下位から桁上げがあったときのみ前回の値に
1加えた値となる。下位部分は2のm乗回に1回だけ、
しかも周期的に桁上げ信号を発生する。その間上位の加
算器に入力される値は変化しないため、桁上げを起こす
ときには上位の加算器は既に演算を終了している。
【0016】図1(b)は全体2ビット、下位部分2ビ
ットの場合の動作例である。最初レジスタ5の値が“1
111”であったとする。加算器2の出力である下位2
ビットはクロック毎に1ずつ増加する。上位の選択器6
の入力は一方はレジスタ出力の値をそのまま、もう一方
は1クロック遅れてレジスタの値に1加えられる値であ
る。桁上げ信号が入らないとき(“0”のとき)は選択
器6はレジスタ5からの入力を出力し、桁上げ信号が入
ったとき(“1”のとき)は選択器6は加算器からの入
力を出力する。下位部分が増加し、桁上げが発生したと
きには既に上位の加算は終了していて、選択器で上位の
加算器の結果の方を選択出力するので、レジスタに書き
込まれる値は毎クロック1ずつ増加した値になる。桁上
げ処理時に出力が不連続になることはない。これはカウ
ンタ回路にこの加算器を利用したことによって、加算器
1の加数を1に特化でき、また、加数が連続して行われ
るために現れる効果である。
【0017】図2は本発明の第2の実施例を示した図で
ある。加算器2に入力する値の全てのビットが1の時に
桁上げが発生するので、AND回路を用いて桁上げ信号
を加算と並列に求めることができる。これによって第1
の実施例よりも、選択器の制御が速い分、高速処理がで
きる。
【0018】上位部分の加算結果は(2m −1)クロッ
ク後に使用されるだけなので、パイプライン段数も(2
m −1)段までなら増やすことができ、同様の効果が得
られる。また、上位の加算部分をさらに上位と下位に分
割してパイプライン段数を上位にいくほど深くしても同
様である。その加算部分以下にmビットある場合、(2
m −1)段のパイプラインにする事ができる。
【0019】第1の実施例では上位加算をパイプライン
加算器を用いて行っている。しかし、図1(b)の動作
例に示されているように、上位の値が変化してから数ク
ロックの間、上位の加算器の結果が使われることはな
い。従って、この間、上位加算器の出力が不確定であっ
てもレジスタに書き込まれる値に何等影響はない。
【0020】図8は本発明の第3の実施例を示した図で
ある。第1の実施例と比べ、パイプラインレジスタ4が
削除されている。パイプラインレジスタ4がないため、
入力値が変化して数クロックの間、加算器3cの出力値
は確定しない。しかし、下位部分のカウントが進み、桁
上げ信号が発生するまでに1加える加算が終了し、出力
値が確定していれば、上位の選択器が加算器側を選択す
るときに、正しいカウント値がレジスタに書き込まれ
る。パイプラインレジスタの数が少なくなるので、第1
の実施例より回路面積を小さく、また、消費電力も小さ
くできる。また、桁上げ信号の処理は第2の実施例のよ
うにAND回路を用いて行うこともできる。
【0021】マイクロプロセッサは、プログラムを順次
実行させるため命令が格納されているメモリのアドレス
を毎クロック1増分させるプログラムカウンタを搭載し
ている。マイクロプロセッサのデータパスがパイプライ
ン化され、パイプライン1段当たりの処理時間が短くな
ると、プログラムカウンタを1増分させる処理時間も短
くする必要がある。本発明のカウンタ回路を用いること
によって、パイプライン処理時間の短いマイクロプロセ
ッサが実現できる。また、カウント値が常に連続してい
るため、このカウンタ回路を用いたことによって性能は
ほとんど低下しない。
【0022】
【発明の効果】本発明を用いると、加算器をパイプライ
ン化すると約2倍の速度で動作させることができるのと
同様に、カウンタ回路も約2倍の周波数のクロックで動
作させることができる。カウンタ回路の上位部分をパイ
プライン化してあるが、毎クロック滞りなくカウントを
続けることができる。
【0023】また、このカウンタ回路をプロセッサのプ
ログラムカウンタとして使用することによって、プロセ
ッサのデータパスの1クロック当たりの処理時間を短く
することができ、処理能力が向上する。
【図面の簡単な説明】
【図1】本発明の第1の実施例とその動作を示した図で
ある。
【図2】本発明の第2の実施例を示した図である。
【図3】従来のパイプライン加算器の図である。
【図4】従来のカウンタ回路の構成例を示した図であ
る。
【図5】従来の桁上げ選択加算器の構成例を示した図で
ある。
【図6】従来の高速パイプライン加算器の第1の構成例
を示した図である。
【図7】従来の高速パイプライン加算器の第2の構成例
を示した図である。
【図8】本発明の第3の実施例を示した図である。
【符号の説明】
1 nビット加算器 1a nビット加算器 2 mビット加算器 3a n−mビット加算器前半部 3b n−mビット加算器前半部 3c n−mビット加算器 4 パイプラインレジスタ 5 パイプラインレジスタ 6 n−mビット選択器 7 mビットNOR回路 11 n−mビット加算器 12 mビット加算器 16 n−mビット選択器

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】レジスタと、前記レジスタの出力に1を加
    える加算器と、前記加算器の出力を前記レジスタに再入
    力することによって構成されるカウンタ回路において、
    前記加算器を、加算の下位部分を求める、1カウント時
    間内に1加える第1の加算器ならびに、加算の上位部分
    を求める、前記下位部分の値が一巡する時間内に1加え
    る第2の加算器および、前記レジスタ出力の上位部分の
    値と前記第2の加算器の出力を入力とする下位部分の加
    算の桁上げ信号を用いて制御される選択器によって構成
    することを特徴とするカウンタ回路。
  2. 【請求項2】第2の加算器が2段以上のパイプライン構
    成であることを特徴とする請求項1に記載のカウンタ回
    路。
  3. 【請求項3】請求項1または請求項2に記載のカウンタ
    回路を、実行する命令が格納されているアドレスを指定
    するプログラムカウンタとして用いることを特徴とする
    マイクロプロセッサ。
JP6263762A 1994-04-26 1994-10-27 カウンタ回路とそれを用いたマイクロプロセッサ Pending JPH0816364A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP6263762A JPH0816364A (ja) 1994-04-26 1994-10-27 カウンタ回路とそれを用いたマイクロプロセッサ
US08/428,542 US5682342A (en) 1994-04-26 1995-04-25 High-speed counter

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP8858094 1994-04-26
JP6-88580 1994-04-26
JP6263762A JPH0816364A (ja) 1994-04-26 1994-10-27 カウンタ回路とそれを用いたマイクロプロセッサ

Publications (1)

Publication Number Publication Date
JPH0816364A true JPH0816364A (ja) 1996-01-19

Family

ID=26429941

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6263762A Pending JPH0816364A (ja) 1994-04-26 1994-10-27 カウンタ回路とそれを用いたマイクロプロセッサ

Country Status (2)

Country Link
US (1) US5682342A (ja)
JP (1) JPH0816364A (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5956502A (en) * 1997-03-05 1999-09-21 Micron Technology, Inc. Method and circuit for producing high-speed counts
US5889693A (en) * 1997-05-05 1999-03-30 Intel Corporation CMOS sum select incrementor
US6014759A (en) 1997-06-13 2000-01-11 Micron Technology, Inc. Method and apparatus for transferring test data from a memory array
US6044429A (en) 1997-07-10 2000-03-28 Micron Technology, Inc. Method and apparatus for collision-free data transfers in a memory device with selectable data or address paths
US6405280B1 (en) 1998-06-05 2002-06-11 Micron Technology, Inc. Packet-oriented synchronous DRAM interface supporting a plurality of orderings for data block transfers within a burst sequence
KR100308205B1 (ko) * 1998-09-29 2001-11-30 윤종용 저전력소모카운터
DE10144077A1 (de) * 2001-09-07 2003-03-27 Philips Corp Intellectual Pty Binärzähler
FR2891654A1 (fr) * 2005-10-05 2007-04-06 Proton World Int Nv Compteur d'evenements

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5244545A (en) * 1975-10-02 1977-04-07 Hughes Aircraft Co Circuit for dividing frequency into n at high speed
JPH02309423A (ja) * 1989-05-24 1990-12-25 Fujitsu Ltd パイプラインプロセッサにおける実効アドレス計算制御方式
JPH05216624A (ja) * 1992-02-03 1993-08-27 Mitsubishi Electric Corp 演算装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54117646A (en) * 1978-03-06 1979-09-12 Toshiba Corp Computer
JPS59188740A (ja) * 1983-04-11 1984-10-26 Hitachi Ltd フロ−テイング加算器
JP2610417B2 (ja) * 1985-12-23 1997-05-14 日本テキサス・インスツルメンツ株式会社 アドレス信号生成方法及びその回路
JPH01204138A (ja) * 1988-02-09 1989-08-16 Nec Corp 演算回路
US4994996A (en) * 1989-02-03 1991-02-19 Digital Equipment Corporation Pipelined floating point adder for digital computer
US5053987A (en) * 1989-11-02 1991-10-01 Zoran Corporation Arithmetic unit in a vector signal processor using pipelined computational blocks
JPH04227329A (ja) * 1990-06-05 1992-08-17 Mitsubishi Electric Corp バイナリカウンタ
JPH07120929B2 (ja) * 1990-10-29 1995-12-20 三菱電機株式会社 パルス発生回路
US5410721A (en) * 1992-12-24 1995-04-25 Motorola, Inc. System and method for incrementing a program counter
US5504698A (en) * 1994-05-17 1996-04-02 Silicon Graphics, Inc. Compact dual function adder

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5244545A (en) * 1975-10-02 1977-04-07 Hughes Aircraft Co Circuit for dividing frequency into n at high speed
JPH02309423A (ja) * 1989-05-24 1990-12-25 Fujitsu Ltd パイプラインプロセッサにおける実効アドレス計算制御方式
JPH05216624A (ja) * 1992-02-03 1993-08-27 Mitsubishi Electric Corp 演算装置

Also Published As

Publication number Publication date
US5682342A (en) 1997-10-28

Similar Documents

Publication Publication Date Title
US6523057B1 (en) High-speed digital accumulator with wide dynamic range
US8271571B2 (en) Microprocessor
JP2002108606A (ja) スティッキービット生成回路及び乗算器
WO2003040859A2 (en) High-speed computation in arithmetic logic circuit
US5528529A (en) Electronic multiplying and adding apparatus and method
KR100432401B1 (ko) 제산 명령 및 잉여 명령을 실행하는 방법 및 이 방법을이용한 데이터 처리 장치
JPH0816364A (ja) カウンタ回路とそれを用いたマイクロプロセッサ
JPH07234778A (ja) 演算回路
JPH04270415A (ja) 高性能加算器
JP3537378B2 (ja) 加算器および集積回路
US6202078B1 (en) Arithmetic circuit using a booth algorithm
JP2006508464A (ja) ルックアップテーブルを備える乗算器
JPH09198231A (ja) 演算処理装置
US6725360B1 (en) Selectively processing different size data in multiplier and ALU paths in parallel
JP3252954B2 (ja) 乗算方法および乗算回路
US6584556B1 (en) Modulo address generation method and apparatus
JP2664750B2 (ja) 演算装置及び演算処理方法
US5706420A (en) Super pipelined speculative execution vector generator
JP3685634B2 (ja) アドレス演算装置およびアドレス演算方法
JP3456450B2 (ja) 固定小数点乗算器および方法
JPH02178833A (ja) 異なるビット長のデータを加算する加算器
JPH11312074A (ja) Dsp用除算処理補助回路
JPH0553759A (ja) 固定小数点演算ユニツト
JPH1069372A (ja) 演算実行方法及び演算装置
JPH0962490A (ja) 整数除算装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19970401

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19970909