JPH03271929A - 壱個数検出回路 - Google Patents
壱個数検出回路Info
- Publication number
- JPH03271929A JPH03271929A JP7236190A JP7236190A JPH03271929A JP H03271929 A JPH03271929 A JP H03271929A JP 7236190 A JP7236190 A JP 7236190A JP 7236190 A JP7236190 A JP 7236190A JP H03271929 A JPH03271929 A JP H03271929A
- Authority
- JP
- Japan
- Prior art keywords
- data
- adder
- parallel
- input
- supplied
- 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
Links
- 238000001514 detection method Methods 0.000 claims description 38
- 230000001186 cumulative effect Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 7
- 238000000034 method Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 102100030613 Carboxypeptidase A1 Human genes 0.000 description 1
- 102100030614 Carboxypeptidase A2 Human genes 0.000 description 1
- 108091006675 Monovalent cation:proton antiporter-2 Proteins 0.000 description 1
- BRZANEXCSZCZCI-UHFFFAOYSA-N Nifenazone Chemical compound O=C1N(C=2C=CC=CC=2)N(C)C(C)=C1NC(=O)C1=CC=CN=C1 BRZANEXCSZCZCI-UHFFFAOYSA-N 0.000 description 1
- 238000001342 constant potential amperometry Methods 0.000 description 1
- 230000033001 locomotion Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
E概要】
ニューロコンピュータ等に用いられ、並列2値入力デー
タのビットが1の個数を検出する壱個数検出回路に関し
、 簡単な構成で高速処理可能にすることを目的とし、 並列2値入力データを複数ビットのグループに分割した
ときの各グループについて、ビットが1の個数を同時に
計数する並列カウンタと、加算器がツリー状に縦続接続
されたツリー状加算器群とを有し、該ツリー状加算器群
の入力側初段の該加算器のデータ入力側子に、該並列カ
ウンタのデータ出力端子が接続され、該ツリー状加算器
群の出力側最終段の該加算器から、該並列2値入力デー
タのビットが1の個数値が出力されるように第1発明を
構成し、 並列2値入力データを保持する入力保持回路と、ビット
が1の個数を同時に計数する並列カウンタと、クロック
に同期して、保持された該データを複数ビットのグルー
プに分割したときの各グループのデータを1つずつ選択
し、該並列カウンタへ供給するセレクタと、一方のデー
タ入力側子に該並列カウンタの計数値が供給され、該計
数値と他方のデータ入力側子に供給されるデータとを加
算する加算器と、クロックに同期して、該加算器による
加算結果を保持し、該保持値を該加算器の該他方のデー
タ入力側子に供給する累積加算値保持回路とを備えて第
2発明を構成し、 並列2値入力データを保持する入力保持回路と、クロッ
クに同期して、保持された該データを1ビットずつ選択
するセレクタと、該セレクタで選択されたビットデータ
が一方のデータ入力側子に供給され、該値と他方のデー
タ入力側子に供給されるデータとを加算する加算器と、
クロックに同期して、該加算器による加算結果を保持し
、該保持値を該加算器の該他方のデータ入力側子に供給
する累積加算値保持回路とを備えて第3発明を構成する
。
タのビットが1の個数を検出する壱個数検出回路に関し
、 簡単な構成で高速処理可能にすることを目的とし、 並列2値入力データを複数ビットのグループに分割した
ときの各グループについて、ビットが1の個数を同時に
計数する並列カウンタと、加算器がツリー状に縦続接続
されたツリー状加算器群とを有し、該ツリー状加算器群
の入力側初段の該加算器のデータ入力側子に、該並列カ
ウンタのデータ出力端子が接続され、該ツリー状加算器
群の出力側最終段の該加算器から、該並列2値入力デー
タのビットが1の個数値が出力されるように第1発明を
構成し、 並列2値入力データを保持する入力保持回路と、ビット
が1の個数を同時に計数する並列カウンタと、クロック
に同期して、保持された該データを複数ビットのグルー
プに分割したときの各グループのデータを1つずつ選択
し、該並列カウンタへ供給するセレクタと、一方のデー
タ入力側子に該並列カウンタの計数値が供給され、該計
数値と他方のデータ入力側子に供給されるデータとを加
算する加算器と、クロックに同期して、該加算器による
加算結果を保持し、該保持値を該加算器の該他方のデー
タ入力側子に供給する累積加算値保持回路とを備えて第
2発明を構成し、 並列2値入力データを保持する入力保持回路と、クロッ
クに同期して、保持された該データを1ビットずつ選択
するセレクタと、該セレクタで選択されたビットデータ
が一方のデータ入力側子に供給され、該値と他方のデー
タ入力側子に供給されるデータとを加算する加算器と、
クロックに同期して、該加算器による加算結果を保持し
、該保持値を該加算器の該他方のデータ入力側子に供給
する累積加算値保持回路とを備えて第3発明を構成する
。
本発明は、ニューロコンピュータ等に用いられ、並列2
値入力データのビットが1の個数を検出する壱個数検出
回路に関する。
値入力データのビットが1の個数を検出する壱個数検出
回路に関する。
ニューロコンビコータでは、並列2値入力データのビッ
トが1の個数を検出し、壱個数が基準値以上のとき出力
をオン又はオフにする処理が必要となる。 従来では、この処理をソフトウェアで行っていた。すな
わち、並列データを1ビットずつシフトし、キャリーの
値を累積加算することにより、壱個数を検出していた。 また、この処理を機械語1命令で実行するために、マイ
クロプログラム化した場合においても、前記同様の処理
を行っていた。 r発明が解決しようとする課題】 ところが、このような処理方式では、処理速度が遅いた
め、ニューロコンピュータの処理情報量の大量化に伴う
ニコーロン動作の高速処理の要求に応えることができな
くなってきた。 PLAで壱個数検出回路を構成することもできるが、構
成が複雑で回路規模が大きくなり、また、プリチャージ
動作及びディスチャージ動作を必要とするため、必然的
に同期式となり、構成の複雑さに比例した高速処理が期
待できない。 本発明の目的は、このような問題点に鑑み、簡単な構成
で高速処理可能な壱個数検出回路を提供することにある
。
トが1の個数を検出し、壱個数が基準値以上のとき出力
をオン又はオフにする処理が必要となる。 従来では、この処理をソフトウェアで行っていた。すな
わち、並列データを1ビットずつシフトし、キャリーの
値を累積加算することにより、壱個数を検出していた。 また、この処理を機械語1命令で実行するために、マイ
クロプログラム化した場合においても、前記同様の処理
を行っていた。 r発明が解決しようとする課題】 ところが、このような処理方式では、処理速度が遅いた
め、ニューロコンピュータの処理情報量の大量化に伴う
ニコーロン動作の高速処理の要求に応えることができな
くなってきた。 PLAで壱個数検出回路を構成することもできるが、構
成が複雑で回路規模が大きくなり、また、プリチャージ
動作及びディスチャージ動作を必要とするため、必然的
に同期式となり、構成の複雑さに比例した高速処理が期
待できない。 本発明の目的は、このような問題点に鑑み、簡単な構成
で高速処理可能な壱個数検出回路を提供することにある
。
第1図は本第1発明の原理構成を示す。
図中、IA、IB、 ・・・lDは並列カウンタであり
、並列2値入力データを複数ビットのグループに分割し
たときの各グループについて、ビットが1の個数を同時
に計数する。 2はツリー状加算器群であり、加算器2 A、¥゛J2
B、−−−2Cがツリー状に縦続接続さ れツリー状加
算器群2の入力側初段の加算器 2A1 ・2Bの
データ入力側子には、並列カウンタIA、IB、
・・IDのデータ出力端子が接続されており、ツリー状
加算器群2の出力側最終段の加算器2Cから、該並列2
値入力データのビットが1の個数値が出力される。 第2図は本第2発明の原理構成を示す。 図中、3は入力保持回路であり、並列2値入力データを
保持する。 5は並列カウンタであり、ビットが1の個数を同時に計
数する。 4はセレクタであり、クロックに同期して、入力保持回
路3に保持されたデータを複数ビットのグループに分割
したときの各グループのデータを1つずつ選択し、並列
カウンタ5へ供給する。 6は加算器であり、一方のデータ入力側子に並列カウン
タ5の計数値が供給され、該計数値と他方のデータ入力
側子に供給されるデータとを加算する。 7は累積加算値保持回路であり、クロックに同期して、
加算器6による加算結果を保持し、該保持値を加算器6
の該他方のデータ入力側子に供給する。 本第3発明は、上記第2発明において、入力保持回路3
に保持されたデータを1ビットずつ選択するセレクタを
用いることにより、並列カウンタを不要とし、セレクタ
4の出力端子を直接に加算器6の一方の入力側子に接続
している。他の点は第2発明と同一になっている。
、並列2値入力データを複数ビットのグループに分割し
たときの各グループについて、ビットが1の個数を同時
に計数する。 2はツリー状加算器群であり、加算器2 A、¥゛J2
B、−−−2Cがツリー状に縦続接続さ れツリー状加
算器群2の入力側初段の加算器 2A1 ・2Bの
データ入力側子には、並列カウンタIA、IB、
・・IDのデータ出力端子が接続されており、ツリー状
加算器群2の出力側最終段の加算器2Cから、該並列2
値入力データのビットが1の個数値が出力される。 第2図は本第2発明の原理構成を示す。 図中、3は入力保持回路であり、並列2値入力データを
保持する。 5は並列カウンタであり、ビットが1の個数を同時に計
数する。 4はセレクタであり、クロックに同期して、入力保持回
路3に保持されたデータを複数ビットのグループに分割
したときの各グループのデータを1つずつ選択し、並列
カウンタ5へ供給する。 6は加算器であり、一方のデータ入力側子に並列カウン
タ5の計数値が供給され、該計数値と他方のデータ入力
側子に供給されるデータとを加算する。 7は累積加算値保持回路であり、クロックに同期して、
加算器6による加算結果を保持し、該保持値を加算器6
の該他方のデータ入力側子に供給する。 本第3発明は、上記第2発明において、入力保持回路3
に保持されたデータを1ビットずつ選択するセレクタを
用いることにより、並列カウンタを不要とし、セレクタ
4の出力端子を直接に加算器6の一方の入力側子に接続
している。他の点は第2発明と同一になっている。
壱個数検出回路全体を並列カウンタで構成することも可
能であるが、回路構成が極めて複雑になるので、本第1
発明では、比較的小規模の並列カウンタ1A〜1Dを複
数用い、これをツリー状加算器群2と組み合わせ、非同
期で動作させることにより、構成を簡単にしかつ高速処
理を可能にしている。 なお、各並列カウンタIA−IDの入力ビット数を2′
′−1(n≧2)とすれば、全体の構成がより簡単にな
る。 本第2発明は同期式であり、並列カウンタ5及び加算器
6を繰り返し使用することにより、構成を第1発明より
も簡単化している。反面、この繰り返し使用により、第
2発明よりも処理が低速になる。 したがって、本第2発明は、クロック周波数が比較的高
く、かつ、入力ビット長が比較的短い場合に有利となる
。 本第3発明は、セレクタ4の構成が第2発明よりも簡単
になり、かつ、第2発明で使用している並列カウンタ5
を不要としているので、第1〜3発明のなかでは構成が
最も簡単である。反面、セレクタ4による切換回数が第
2発明の場合よりも増えるので、第2発明よりも処理が
低速になる。 したがって、本発明は、クロック周波数が比較的高く、
かつ、入力ビット長が比較的短い場合に有利となる。
能であるが、回路構成が極めて複雑になるので、本第1
発明では、比較的小規模の並列カウンタ1A〜1Dを複
数用い、これをツリー状加算器群2と組み合わせ、非同
期で動作させることにより、構成を簡単にしかつ高速処
理を可能にしている。 なお、各並列カウンタIA−IDの入力ビット数を2′
′−1(n≧2)とすれば、全体の構成がより簡単にな
る。 本第2発明は同期式であり、並列カウンタ5及び加算器
6を繰り返し使用することにより、構成を第1発明より
も簡単化している。反面、この繰り返し使用により、第
2発明よりも処理が低速になる。 したがって、本第2発明は、クロック周波数が比較的高
く、かつ、入力ビット長が比較的短い場合に有利となる
。 本第3発明は、セレクタ4の構成が第2発明よりも簡単
になり、かつ、第2発明で使用している並列カウンタ5
を不要としているので、第1〜3発明のなかでは構成が
最も簡単である。反面、セレクタ4による切換回数が第
2発明の場合よりも増えるので、第2発明よりも処理が
低速になる。 したがって、本発明は、クロック周波数が比較的高く、
かつ、入力ビット長が比較的短い場合に有利となる。
以下、図面に基づいて本発明の詳細な説明する。
(1)第1実施例
第3図は第1実施例の壱個数検出回路を示す。
この壱個数検出回路は、第1図の一態様であり、並列2
値入力データ1.〜I Isのビットが1の個数を非同
期で検出し、これを並列5ビットで出力するものである
。 16ビットの入力データ10〜I Isは、Ioと、3
ビット単位のグループ11〜1..1.〜I6.1、〜
Is 、!、、 〜1..及び−1Is 〜I Isに
分けられ、各グループは、それぞれ同一構成の並列カウ
ンタ10〜14に供給される。並列カウンタ10〜14
は、それぞれ3ビットの壱個数を同時に検出するのもで
あり、第4図に示す如く構成されている。 すなわち、並列カウンタ10は、■。〜1.が供給され
るイクスクルーシブオアゲート1aと、Io及び11が
供給されるアントゲ−)1bと、11及び■、が供給さ
れるアンドゲート1cと、■、及びIoが供給されるア
ントゲ−)1dと、アントゲ−)1b〜1cの出力が供
給されるオアゲー)1eとから成る。イクスクルーシブ
オアゲ−)laの出力C0は、■。〜I、の壱個数が奇
数のとき1となり、オアゲート1eの出力C3は、■。 〜I、の壱個数が2以上のときlとなる。したがって、
壱個数検出値の第0ビット(最下位ビット)が00とな
り、壱個数検出値の第1ビットがC+となる。 第31!lにおいて、入力ビット】。と並列カウンタ1
0の壱個数検出値は、キャリー伝播型加算器(CPA)
20へ供給されて両者が加算され、並列カウンタ11と
12との各壱個数検出値は、CPA21へ供給されて両
者が加算され、並列カウンタ13と14の壱個数検出値
は、CPA22へ供給されて両者が加算される。CPA
20〜22は同一構成であり、2ビット2入力である。 CPA20〜22の加算結果は、3ビット3入力のキャ
リー保存型加算器(C3A)30に供給されて加算され
る。C3A30のサム出力S0〜S、とキャリー出力C
9〜C4は、5ビット2入力のCPA40に供給されて
両者が加算され、その結果が壱個数検出値として取り出
される。 この壱個数検出回路は、構成を簡単にしかつ高速処理を
可能にするために、次のような工夫をしている。 壱個数検出回路全体を並列カウンタで構成することも可
能であるが、回路構成が極めて複雑になるので、小規模
の並列カウンタ10〜14を用いている。この場合、並
列カウンタ全体の構成を簡単にするためには、各並列カ
ウンタの入力ビット数を2″−1(n≧2)にする必要
がある。本実施例では、n=2.3又は4となるが、n
=2として全体の回路構成を最も簡単化している。 また、C3A30及びCPA40の代わりに、CPA2
0と21の加算結果を加算する3ビット2入力のCPA
と、このCPAの加算結果とCPA22の加算結果を加
算する4ビット2入力のCPAを用いることもできるが
、キャリー伝播時間を短くして高速化するために、CP
A20〜22とCPA40との間に、3ビット3入力の
C3A30を接続している。 このような工夫により、構成の簡単化と処理の高速化を
図っている。 (2)第2実施例 第5図は第2実施例の壱個数検出回路を示す。 この壱個数検出回路は、第2図の壱個数検出回路の一態
様である。本実施例は同期式であり、並列カウンタ10
及びCPA20を各1個にし、これらを繰り返し使用す
ることにより、構成を簡単化している。したがって、本
壱個数検出回路は、その分、低速になるが、クロック周
波数が比較的高く、かつ、入力ビット長が仕較的短い場
合に有利となる。 並列2値入力データ■。〜I Isは、初期化信号のタ
イミングでラッチ回路50に保持される。ラッチ回路5
0の出力は、4ビット毎の4グループに分割され、各グ
ループはそれぞれゲート60.61.62及び63に供
給される。ゲート60〜63の対応する各出力端子は共
通に接続され、並列カウンタ70の入力側子に接続され
ている。 ゲート60〜63のいずれかを1つずつ開いてその入力
データを並列カウンタ70に供給するために、カウンタ
80の計数値をデコーダ81で解読し、デコーダ81の
4つの出力をそれぞれゲート60〜63の制御端子に供
給している。カウンタ80は初期化信号でクリアされ、
クロックを計数する。 並列カウンタ70の出力は、CPA90の一方の入力側
子に供給される。CPA90は5ビット2入力であり、
他方の入力側子には、ラッチ回路91の出力が供給され
る。ラッチ回路91の入力側子には、CPA90の出力
が供給され、ラッチ回路91はクロックの立ち上がりで
その入力値を保持する。 上記構成において、最初に初期化信号が、ラッチ回路5
0のラッチ制御端子と、カウンタ80及びラッチ回路9
1のクリア端子とに供給される。 これにより、並列2値入力データ10〜I +aがラッ
チ回路50に保持され、同時に、カウンタ80及びラッ
チ回路91の内容がゼロクリアされる。 次に、カウンタ80及びラッチ回路91のクロック端子
GKに1個のクロックが供給され、これにより、ゲート
60〜63のうちゲート60のみが開かれて、■、〜1
.が並列カウンタ70に供給され、I0〜I3の壱個数
N1がCPA90へ供給される。したがって、CPA9
0の出力値はN、となる。次の1個のクロックにより、
N1がラッチ回路91に保持されて、N、がCPA90
の他方の入力側子に供給される。これと同時に、ゲート
60〜63のうちゲー)61のみが開かれて、1.〜I
、が並列カウンタ70に供給され、壱個数N、がCPA
90の一方の入力側子に供給されてCPA90の出力値
が(N + + N s )になる。以下同様にして、
4ビットずつの壱個数が累積加算され、合計4個のクロ
ックで並列2値入力データI0〜I +sの壱個数がC
PA90から出力される。 高速処理するためには、CPA90の入力ビット数を多
くする必要があるが、並列カウンタ70及びCPA90
の構成が複雑になる。そこで、本実施例では、CPA9
0の入力ビット数を4として壱個数検出回路の回路構成
を簡単化するとともに、処理の高速化を図っている。 (3)第3実施例 第6図は、第3実施例の壱個数検出回路の要部構成を示
す。 この実施例は、第2図のセレクタの構成の多様性を示す
ためのものであり、第5図のゲート60〜63の代わり
に、マルチプレクサ60A〜63Aを用い、第5図のデ
コーダ81を用いずに、カウンタ80の出力を直接マル
チプレクサ60A〜63Aの制御端子に供給している。 他の点は第5図と同一になっている。 上記構成において、カウンタ80の計数値が1(0≦i
≦3)のとき、マルチプレクサ60A〜63八によりI
i s II+4 % Il+11 、■+。1
2が選択されて、並列カウンタ70に供給される。 (4)第4実施例 第7図は、第4実施例の壱個数検出回路を示す。 説明の簡単化のために、第7図では壱個数検出回路の入
力ビット長を4にしている。この壱個数検出回路は、■
。〜■5を1ビットずつCPA90Aの一方の入力側子
に供給して累積加算する構成であり、第5図に示す並列
カウンタ70を不要としている。また、第5図のゲート
60〜63の代わりに、アンドゲート64〜67を用い
、アンドゲート64〜67の各出力をオアゲート68に
供給し、オアゲート68の出力をCPA90Aの一方の
入力側子に供給している。他の点は第5図と同様になっ
ている。 この壱個数検出回路は、構成が最も簡単であり、その分
低速になるが、クロック周波数が比較的高く、かつ、入
力ビット長が比較的短い場合に有利となる。 (5)第5実施例 第8図は、第5実施例の壱個数検出回路を示す。 第7図の壱個数検出回路は、オアゲート68の出力が0
の場合にも一律に加算動作を行っているので、無駄時間
が生じる。そこで、本実施例では、1のみを検出して加
算するために、第2図の入力保持回路3及びセレクタ4
の一態様として、先行壱検出回路Cを用いている。 この先行壱検出回路Cは、並列カウンタ10〜1ONと
、ゲート110〜IINと、アンドゲート120〜12
Nとから成る。Dフリップ70ツブ100〜IONの入
力側子りには、それぞれ10〜!工が供給される。Dフ
リップフロップ100〜IONの非反転出力端子Qから
出力されるQ0〜Qwはそれぞれ、ゲート110〜II
Nの一方の入力側子に供給される。ゲート110〜11
Nは同一構成であり、2つの入力側子がそれぞれ共通に
接続されたアントゲ−)11aとオアゲ−トllbとか
らなる。ゲートl1i(i=l〜N−1)のオアゲート
llbの出力は、ゲート11i+1の他方の入力側子に
供給されている。ゲ−)110の他方の入力側子には、
論理値0が供給されている。また、ゲー)11Nのオア
ゲート11bの出力Xは、CPA90Bの一方の入力側
子に供給されている。ゲート110〜IINの各アンド
ゲートllaの出力S。−8,は、それぞれアンドゲー
ト120〜12Nの一方の入力側子に供給されている。 アンドゲート120〜12Nの他方の入力側子には、共
通にクロックが供給される。アンドゲート120〜12
Nの出力は、Dフリップフロップ100〜IONのクリ
ア端子に供給される。 第9図は、′j48図に示す先行壱検出回路Cのタイミ
ングチャートである。この図は、初期化信号によりDフ
リップフロップ100.101.102・・・IONに
それぞれ1.0.1、 ・・lが保持されているとき
に、クロックにより、QO%QI%Q*% ・・・Q
Il及びS、、S、 、S、、・Sllがどのように変
化するかを示している。 Q、〜Q、にlのビットが含まれている場合に、lのビ
ットのうち最下位側ビットをQ、とすると、S、〜S、
のうちSJのみ1となり、Xも1となる。次に、1個の
クロックで10jがクリアされてQ、及びS、が0にな
り、以下同様の動作が繰り返される。第9図では、最初
はj=1であり、次にj=3となり、最後にj=Nとな
る。 先行壱検出回路Cの出力Xは、Dフリップフロップ10
0〜IONの非反転出力が全て0になるまでlとなるの
で、初期化信号を供給後、Xが0になったときに、並列
2値入力データI0〜I +sの壱個数がCPA90B
から出力される。 本実施例は、処理対象の性質上、並列2値入力データの
ビット長に対する壱個数の割合が小さい場合に特に有利
となる。
値入力データ1.〜I Isのビットが1の個数を非同
期で検出し、これを並列5ビットで出力するものである
。 16ビットの入力データ10〜I Isは、Ioと、3
ビット単位のグループ11〜1..1.〜I6.1、〜
Is 、!、、 〜1..及び−1Is 〜I Isに
分けられ、各グループは、それぞれ同一構成の並列カウ
ンタ10〜14に供給される。並列カウンタ10〜14
は、それぞれ3ビットの壱個数を同時に検出するのもで
あり、第4図に示す如く構成されている。 すなわち、並列カウンタ10は、■。〜1.が供給され
るイクスクルーシブオアゲート1aと、Io及び11が
供給されるアントゲ−)1bと、11及び■、が供給さ
れるアンドゲート1cと、■、及びIoが供給されるア
ントゲ−)1dと、アントゲ−)1b〜1cの出力が供
給されるオアゲー)1eとから成る。イクスクルーシブ
オアゲ−)laの出力C0は、■。〜I、の壱個数が奇
数のとき1となり、オアゲート1eの出力C3は、■。 〜I、の壱個数が2以上のときlとなる。したがって、
壱個数検出値の第0ビット(最下位ビット)が00とな
り、壱個数検出値の第1ビットがC+となる。 第31!lにおいて、入力ビット】。と並列カウンタ1
0の壱個数検出値は、キャリー伝播型加算器(CPA)
20へ供給されて両者が加算され、並列カウンタ11と
12との各壱個数検出値は、CPA21へ供給されて両
者が加算され、並列カウンタ13と14の壱個数検出値
は、CPA22へ供給されて両者が加算される。CPA
20〜22は同一構成であり、2ビット2入力である。 CPA20〜22の加算結果は、3ビット3入力のキャ
リー保存型加算器(C3A)30に供給されて加算され
る。C3A30のサム出力S0〜S、とキャリー出力C
9〜C4は、5ビット2入力のCPA40に供給されて
両者が加算され、その結果が壱個数検出値として取り出
される。 この壱個数検出回路は、構成を簡単にしかつ高速処理を
可能にするために、次のような工夫をしている。 壱個数検出回路全体を並列カウンタで構成することも可
能であるが、回路構成が極めて複雑になるので、小規模
の並列カウンタ10〜14を用いている。この場合、並
列カウンタ全体の構成を簡単にするためには、各並列カ
ウンタの入力ビット数を2″−1(n≧2)にする必要
がある。本実施例では、n=2.3又は4となるが、n
=2として全体の回路構成を最も簡単化している。 また、C3A30及びCPA40の代わりに、CPA2
0と21の加算結果を加算する3ビット2入力のCPA
と、このCPAの加算結果とCPA22の加算結果を加
算する4ビット2入力のCPAを用いることもできるが
、キャリー伝播時間を短くして高速化するために、CP
A20〜22とCPA40との間に、3ビット3入力の
C3A30を接続している。 このような工夫により、構成の簡単化と処理の高速化を
図っている。 (2)第2実施例 第5図は第2実施例の壱個数検出回路を示す。 この壱個数検出回路は、第2図の壱個数検出回路の一態
様である。本実施例は同期式であり、並列カウンタ10
及びCPA20を各1個にし、これらを繰り返し使用す
ることにより、構成を簡単化している。したがって、本
壱個数検出回路は、その分、低速になるが、クロック周
波数が比較的高く、かつ、入力ビット長が仕較的短い場
合に有利となる。 並列2値入力データ■。〜I Isは、初期化信号のタ
イミングでラッチ回路50に保持される。ラッチ回路5
0の出力は、4ビット毎の4グループに分割され、各グ
ループはそれぞれゲート60.61.62及び63に供
給される。ゲート60〜63の対応する各出力端子は共
通に接続され、並列カウンタ70の入力側子に接続され
ている。 ゲート60〜63のいずれかを1つずつ開いてその入力
データを並列カウンタ70に供給するために、カウンタ
80の計数値をデコーダ81で解読し、デコーダ81の
4つの出力をそれぞれゲート60〜63の制御端子に供
給している。カウンタ80は初期化信号でクリアされ、
クロックを計数する。 並列カウンタ70の出力は、CPA90の一方の入力側
子に供給される。CPA90は5ビット2入力であり、
他方の入力側子には、ラッチ回路91の出力が供給され
る。ラッチ回路91の入力側子には、CPA90の出力
が供給され、ラッチ回路91はクロックの立ち上がりで
その入力値を保持する。 上記構成において、最初に初期化信号が、ラッチ回路5
0のラッチ制御端子と、カウンタ80及びラッチ回路9
1のクリア端子とに供給される。 これにより、並列2値入力データ10〜I +aがラッ
チ回路50に保持され、同時に、カウンタ80及びラッ
チ回路91の内容がゼロクリアされる。 次に、カウンタ80及びラッチ回路91のクロック端子
GKに1個のクロックが供給され、これにより、ゲート
60〜63のうちゲート60のみが開かれて、■、〜1
.が並列カウンタ70に供給され、I0〜I3の壱個数
N1がCPA90へ供給される。したがって、CPA9
0の出力値はN、となる。次の1個のクロックにより、
N1がラッチ回路91に保持されて、N、がCPA90
の他方の入力側子に供給される。これと同時に、ゲート
60〜63のうちゲー)61のみが開かれて、1.〜I
、が並列カウンタ70に供給され、壱個数N、がCPA
90の一方の入力側子に供給されてCPA90の出力値
が(N + + N s )になる。以下同様にして、
4ビットずつの壱個数が累積加算され、合計4個のクロ
ックで並列2値入力データI0〜I +sの壱個数がC
PA90から出力される。 高速処理するためには、CPA90の入力ビット数を多
くする必要があるが、並列カウンタ70及びCPA90
の構成が複雑になる。そこで、本実施例では、CPA9
0の入力ビット数を4として壱個数検出回路の回路構成
を簡単化するとともに、処理の高速化を図っている。 (3)第3実施例 第6図は、第3実施例の壱個数検出回路の要部構成を示
す。 この実施例は、第2図のセレクタの構成の多様性を示す
ためのものであり、第5図のゲート60〜63の代わり
に、マルチプレクサ60A〜63Aを用い、第5図のデ
コーダ81を用いずに、カウンタ80の出力を直接マル
チプレクサ60A〜63Aの制御端子に供給している。 他の点は第5図と同一になっている。 上記構成において、カウンタ80の計数値が1(0≦i
≦3)のとき、マルチプレクサ60A〜63八によりI
i s II+4 % Il+11 、■+。1
2が選択されて、並列カウンタ70に供給される。 (4)第4実施例 第7図は、第4実施例の壱個数検出回路を示す。 説明の簡単化のために、第7図では壱個数検出回路の入
力ビット長を4にしている。この壱個数検出回路は、■
。〜■5を1ビットずつCPA90Aの一方の入力側子
に供給して累積加算する構成であり、第5図に示す並列
カウンタ70を不要としている。また、第5図のゲート
60〜63の代わりに、アンドゲート64〜67を用い
、アンドゲート64〜67の各出力をオアゲート68に
供給し、オアゲート68の出力をCPA90Aの一方の
入力側子に供給している。他の点は第5図と同様になっ
ている。 この壱個数検出回路は、構成が最も簡単であり、その分
低速になるが、クロック周波数が比較的高く、かつ、入
力ビット長が比較的短い場合に有利となる。 (5)第5実施例 第8図は、第5実施例の壱個数検出回路を示す。 第7図の壱個数検出回路は、オアゲート68の出力が0
の場合にも一律に加算動作を行っているので、無駄時間
が生じる。そこで、本実施例では、1のみを検出して加
算するために、第2図の入力保持回路3及びセレクタ4
の一態様として、先行壱検出回路Cを用いている。 この先行壱検出回路Cは、並列カウンタ10〜1ONと
、ゲート110〜IINと、アンドゲート120〜12
Nとから成る。Dフリップ70ツブ100〜IONの入
力側子りには、それぞれ10〜!工が供給される。Dフ
リップフロップ100〜IONの非反転出力端子Qから
出力されるQ0〜Qwはそれぞれ、ゲート110〜II
Nの一方の入力側子に供給される。ゲート110〜11
Nは同一構成であり、2つの入力側子がそれぞれ共通に
接続されたアントゲ−)11aとオアゲ−トllbとか
らなる。ゲートl1i(i=l〜N−1)のオアゲート
llbの出力は、ゲート11i+1の他方の入力側子に
供給されている。ゲ−)110の他方の入力側子には、
論理値0が供給されている。また、ゲー)11Nのオア
ゲート11bの出力Xは、CPA90Bの一方の入力側
子に供給されている。ゲート110〜IINの各アンド
ゲートllaの出力S。−8,は、それぞれアンドゲー
ト120〜12Nの一方の入力側子に供給されている。 アンドゲート120〜12Nの他方の入力側子には、共
通にクロックが供給される。アンドゲート120〜12
Nの出力は、Dフリップフロップ100〜IONのクリ
ア端子に供給される。 第9図は、′j48図に示す先行壱検出回路Cのタイミ
ングチャートである。この図は、初期化信号によりDフ
リップフロップ100.101.102・・・IONに
それぞれ1.0.1、 ・・lが保持されているとき
に、クロックにより、QO%QI%Q*% ・・・Q
Il及びS、、S、 、S、、・Sllがどのように変
化するかを示している。 Q、〜Q、にlのビットが含まれている場合に、lのビ
ットのうち最下位側ビットをQ、とすると、S、〜S、
のうちSJのみ1となり、Xも1となる。次に、1個の
クロックで10jがクリアされてQ、及びS、が0にな
り、以下同様の動作が繰り返される。第9図では、最初
はj=1であり、次にj=3となり、最後にj=Nとな
る。 先行壱検出回路Cの出力Xは、Dフリップフロップ10
0〜IONの非反転出力が全て0になるまでlとなるの
で、初期化信号を供給後、Xが0になったときに、並列
2値入力データI0〜I +sの壱個数がCPA90B
から出力される。 本実施例は、処理対象の性質上、並列2値入力データの
ビット長に対する壱個数の割合が小さい場合に特に有利
となる。
以上説明した如く、本発明によれば、以下のような優れ
た効果を奏し、回路規模をあまり大きくすることなくニ
ューロコンピュータ等の処理速度の高速化に寄与すると
ころが大きい。 (1)本第1発明に係る壱個数検出回路では、比較的小
規模の並列カウンタを複数用い、これをツリー状加算器
群と組み合わせて、非同期で動作するように構成してい
るので、構成が簡単で高速処理が可能になる。 (2)本第2発明では、並列カウンタ及び加算器を繰り
返し使用することにより、構成を第1発明よりも簡単化
しており、その分、第1発明よりも処理が低速になるが
、クロック周波数を比較的高くすることができ、かつ、
入力ビット長が比較的短い場合に有利となる。 (3)本第3発明では、セレクタの構成が第2発明より
も簡単になり、かつ、第2発明で使用している並列カウ
ンタを不要としているので、第1〜3発明のうち構成が
最も簡単きなり、その分、処理が低速になるが、第2発
明と同様に、クロック周波数を比較的高くすることがで
き、かつ、入力ビット長が比較的短い場合に有利となる
。
た効果を奏し、回路規模をあまり大きくすることなくニ
ューロコンピュータ等の処理速度の高速化に寄与すると
ころが大きい。 (1)本第1発明に係る壱個数検出回路では、比較的小
規模の並列カウンタを複数用い、これをツリー状加算器
群と組み合わせて、非同期で動作するように構成してい
るので、構成が簡単で高速処理が可能になる。 (2)本第2発明では、並列カウンタ及び加算器を繰り
返し使用することにより、構成を第1発明よりも簡単化
しており、その分、第1発明よりも処理が低速になるが
、クロック周波数を比較的高くすることができ、かつ、
入力ビット長が比較的短い場合に有利となる。 (3)本第3発明では、セレクタの構成が第2発明より
も簡単になり、かつ、第2発明で使用している並列カウ
ンタを不要としているので、第1〜3発明のうち構成が
最も簡単きなり、その分、処理が低速になるが、第2発
明と同様に、クロック周波数を比較的高くすることがで
き、かつ、入力ビット長が比較的短い場合に有利となる
。
第1図及び第2図は本発明に係る壱個数検出回路の原理
構成を示すブロック図である。 第3図及び第4図は本発明の第1実施例に係り、第3図
は壱個数検出回路図、 第4図は第3図の並列カウンタの論理回路図である。 第5図は本発明の第2実施例の壱個数検出回路図である
。 第6図は本発明の第3実施例の壱個数検出回路の要部回
路図である。 第7図は本発明の第4実施例の壱個数検出回路図である
。 第8図及び第9図は本発明の第5実施例に係り、第8図
は壱個数検出回路図、 第9図は第8図の先行壱検出回路のタイミングチャート
である。 図中、 1O111,12,13,14,70は並列力ウンタ 20.21,22.40.90.90A、90Bはキャ
リー伝播型加算器(CPA) 30はキャリー保存型加算器(C3A)50.5QA、
91.91A191Bはラッチ回路 60.61.62.63はゲート 81はデコーダ 60A、61A、62A、63Aはマルチプレクサ 100〜IONはDフリップフロップ Cは先行壱検出回路 20〜22.40・キャリー伝播型加算器30:キャリ
ー保存型加算器 第3図 並列カウンタ 第4図 壱個数検出回路(第4実施例) 第7図 81数1門−り出イー11 クロック 初期化信号 第9図
構成を示すブロック図である。 第3図及び第4図は本発明の第1実施例に係り、第3図
は壱個数検出回路図、 第4図は第3図の並列カウンタの論理回路図である。 第5図は本発明の第2実施例の壱個数検出回路図である
。 第6図は本発明の第3実施例の壱個数検出回路の要部回
路図である。 第7図は本発明の第4実施例の壱個数検出回路図である
。 第8図及び第9図は本発明の第5実施例に係り、第8図
は壱個数検出回路図、 第9図は第8図の先行壱検出回路のタイミングチャート
である。 図中、 1O111,12,13,14,70は並列力ウンタ 20.21,22.40.90.90A、90Bはキャ
リー伝播型加算器(CPA) 30はキャリー保存型加算器(C3A)50.5QA、
91.91A191Bはラッチ回路 60.61.62.63はゲート 81はデコーダ 60A、61A、62A、63Aはマルチプレクサ 100〜IONはDフリップフロップ Cは先行壱検出回路 20〜22.40・キャリー伝播型加算器30:キャリ
ー保存型加算器 第3図 並列カウンタ 第4図 壱個数検出回路(第4実施例) 第7図 81数1門−り出イー11 クロック 初期化信号 第9図
Claims (1)
- 【特許請求の範囲】 1)、並列2値入力データを複数ビットのグループに分
割したときの各グループについて、ビットが1の個数を
同時に計数する並列カウンタ(1A〜1D)と、 加算器(2A〜2C)がツリー状に縦続接続されたツリ
ー状加算器群(2)とを有し、 該ツリー状加算器群の入力側初段の該並列加算器(2A
〜2B)のデータ入力端子に、該並列カウンタのデータ
出力端子が接続され、該ツリー状加算器群の出力側最終
段の該加算器(2C)から、該並列2値入力データのビ
ットが1の個数値が出力されることを特徴とする壱個数
検出回路。 2)、並列2値入力データを保持する入力保持回路(3
)と、 ビットが1の個数を同時に計数する並列カウンタ(5)
と、 クロックに同期して、保持された該データを複数ビット
のグループに分割したときの各グループのデータを1つ
ずつ選択し、該並列カウンタへ供給するセレクタ(4)
と、 一方のデータ入力端子に該並列カウンタの計数値が供給
され、該計数値と他方のデータ入力端子に供給されるデ
ータとを加算する加算器(6)と、クロックに同期して
、該加算器による加算結果を保持し、該保持値を該加算
器の該他方のデータ入力端子に供給する累積加算値保持
回路(7)と、を有することを特徴とする壱個数検出回
路。 3)、並列2値入力データを保持する入力保持回路(3
)と、 クロックに同期して、保持された該データを1ビットず
つ選択するセレクタ(4)と、 該セレクタで選択されたビットデータが一方のデータ入
力端子に供給され、該値と他方のデータ入力端子に供給
されるデータとを加算する加算器(6)と、 クロックに同期して、該加算器による加算結果を保持し
、該保持値を該加算器の該他方のデータ入力端子に供給
する累積加算値保持回路(7)と、を有することを特徴
とする壱個数検出回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7236190A JPH03271929A (ja) | 1990-03-20 | 1990-03-20 | 壱個数検出回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7236190A JPH03271929A (ja) | 1990-03-20 | 1990-03-20 | 壱個数検出回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH03271929A true JPH03271929A (ja) | 1991-12-03 |
Family
ID=13487102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7236190A Pending JPH03271929A (ja) | 1990-03-20 | 1990-03-20 | 壱個数検出回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH03271929A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06324843A (ja) * | 1992-10-09 | 1994-11-25 | Internatl Business Mach Corp <Ibm> | 有限状態機械において非同期事象を管理する装置及び方法 |
US8661072B2 (en) | 2008-08-19 | 2014-02-25 | International Business Machines Corporation | Shared parallel adder tree for executing multiple different population count operations |
-
1990
- 1990-03-20 JP JP7236190A patent/JPH03271929A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06324843A (ja) * | 1992-10-09 | 1994-11-25 | Internatl Business Mach Corp <Ibm> | 有限状態機械において非同期事象を管理する装置及び方法 |
US8661072B2 (en) | 2008-08-19 | 2014-02-25 | International Business Machines Corporation | Shared parallel adder tree for executing multiple different population count operations |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4592005A (en) | Masked arithmetic logic unit | |
US4682303A (en) | Parallel binary adder | |
US3814924A (en) | Pipeline binary multiplier | |
GB1570791A (en) | Multiplication apparatus | |
EP0113391A2 (en) | Digital multiplier and method for adding partial products in a digital multiplier | |
JPS6131890B2 (ja) | ||
US5126964A (en) | High performance bit-sliced multiplier circuit | |
US5025408A (en) | Bit serial multiplier with parallel-in-serial-out carry and partial product shift registers | |
JP3323312B2 (ja) | 高速化した試験パターン発生器 | |
JPH02278382A (ja) | 図形処理装置用の演算論理機構 | |
JPS60140428A (ja) | 除算装置 | |
JPH03271929A (ja) | 壱個数検出回路 | |
US5235539A (en) | Method and apparatus for generating carry out signals | |
Unwala et al. | Superpipelined adder designs | |
US5192882A (en) | Synchronization circuit for parallel processing | |
US7206802B2 (en) | Hybrid carry look ahead/carry select adder including carry logic generating complementary hot carry signals, and method for producing the carry logic | |
US4941121A (en) | Apparatus for high performance multiplication | |
Issa et al. | High Precision Binary Coded Decimal (BCD) unit for 128-bit addition | |
US4742480A (en) | Cycle counter/shifter for division | |
JPH07141148A (ja) | パイプライン並列乗算器 | |
GB2337621A (en) | Determining a scaling factor | |
JP2617591B2 (ja) | シリアル演算回路 | |
JPH0365723A (ja) | 並列乗算回路 | |
KR970005175A (ko) | 파이프라인 구조에 근거한 곱셈/나눗셈 공유 처리기 구조 | |
JP2517897B2 (ja) | 同期式2進カウンタ |