JPH01307869A - ビット入換え装置 - Google Patents

ビット入換え装置

Info

Publication number
JPH01307869A
JPH01307869A JP13984188A JP13984188A JPH01307869A JP H01307869 A JPH01307869 A JP H01307869A JP 13984188 A JP13984188 A JP 13984188A JP 13984188 A JP13984188 A JP 13984188A JP H01307869 A JPH01307869 A JP H01307869A
Authority
JP
Japan
Prior art keywords
bits
register
bit
circuit
binary
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
JP13984188A
Other languages
English (en)
Inventor
Sadaji Takeuchi
竹内 貞二
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 JP13984188A priority Critical patent/JPH01307869A/ja
Publication of JPH01307869A publication Critical patent/JPH01307869A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 ′高速フーリエ変換(以下、FFTと略す)を行う装置
に関し、特に、FFT処理に必要なビット入換え処理を
任意のビット数で行う装置に関する。
〔従来の技術〕
近年、時系列的な音声信号や空間系列的な画像信号を周
波数領域で処理したり、また周波数成分を調べたりする
場合、FFTを用いることが多々ある。FFTは種々の
文献(例えば、安居院猛、中嶋正之著rFFTの使い方
」産業報知センター)にて紹介されているように、数点
の離散的信号を高速に周波数成分に分解する演算方法で
ある、FFTの演算を行う際に必要なデータの格納アド
レス、または結果の格納アドレスを順次指し示すのに、
ポインタ内のビットの順序を入換える必要がある。例え
ば、nビットのポインタのビ。
ト順序を入換えるとは、ビット1とビットn−1を、ビ
ット2とビットn−2を、・・・・・・入換えることで
ある。
従来、ビットテストおよびビットセット命令を持つプロ
セ、すでは、プログラムにより各ビットをテストし、そ
の結果に応じて逆の位置のビットにセットしていた。
一方、第3図に示すようなビット入換え回路を持つプロ
セッサでは、そのビット入換え回路を用いてビットの順
序を入換えていた。
それでは、第3図を用いて、例えば16点のFFTを実
行する前に時系列的に入力される16点のデータをデー
タ記憶回路へビットを入換えた順序で格納する動作を説
明する。第3図において、10は32ワードのデータを
記憶することができるデータ記憶回路、11は5ビツト
のポインタ、17は5ビツトのレジスタ、18はレジス
タ17の内容をインクリメント(+1)するインクリメ
ンタ、19はデータバス、32は16点のデータを記憶
するために4ビツトのアドレスを入換える必要があるの
で4ビツトを入換えるビット入換え回路である。ここで
1ビット入換え回路32は、入力のビット0が出力のビ
ット3に、入力のビット1が出力のビット2に、入力の
ビット2が出力のビット1に、入力のビット3が出力の
ビット0に配線されているだけの回路である。また、レ
ジスタ17には予め00000’ (2進)が設定され
ているものとする。まず、レジスタ17の内容“ooo
oo”(2進)の下位4ビツトは入換え回路を通り、ポ
インタ11に00000’ (2進)が入力されるので
、データバス19からの1点目のデータはデータ記憶回
路の00000’ (2進)番地に格納される。それと
同時にインクリメンタ18はレジスタ17の内容をイン
クリメントし、レジスタ17に戻す。次に、インクリメ
ントされたレジスタ17内の00001’ (2進)が
ビット入換え回路な通り、ポインタ11に01000’
 (2進)が入力されるので、2点目のデータはデータ
記憶回路の’01000’(2進)番地に格納される。
それと同時にインクリメンタ18はレジスタ17の内容
をインクリメントし、レジスタ17に戻す。この動作を
166点目データまで繰り返すことにより、16点のデ
ータをデータ記憶回路へビットを入換えた順序で格納す
ることができる。
〔発明が解決しようとする課題〕
しかしながら、上述したビットテストおよびピットセッ
ト命令を持つプロセッサでは、プログラムによりビット
入換えを行うので、入換えをするビット数だけビットテ
スト命令とピットセット命令を繰り返す必要があり、入
換え処理に著しく時間が費やされるという欠点がある。
また、ビット入換え回路を持つプロセッサでは、ビット
入換え回路の配線は固定ビット数しか接続されておらず
(従来例では4ビツト)、任意のビット数を入換えでき
ないので、固定点のFFTしか実行できないという欠点
がある。
〔発明の従来技術に対する相違点〕
従来のビット入換え回路に加えて、任意のビット数をシ
フトすることができるバレルシフタと、論理和または論
理積を取ることのできる論理演算回路とを用いることに
より、ポインタの下位から任意のビット数を入換えする
ことができるという相違点がある。
一方、バレルシフタと数値演算および論理演算回路を有
する浮動小数演算プロセッサにおいては、そのバレルシ
フタと数値演算および論理演算回路にビット入換え回路
を組み合わせるだけで、ポインタの下位から任意のビッ
ト数を入換えすることができるという相違点がある。
〔課題を解決するための手段〕
本特許の1つビット入換え装置は、ビット順序を入換え
るビット入換え手段と、レジスタと、前記ビット入換え
手段の出力を前記レジスタの内容によって指示されたビ
ット数シフトするバレルシフタと、前記ビット入換え手
段の入力と同じデータを入力し前記レジスタの内容によ
って指示されたビットだけを通過させるゲートと、前記
バレルシフタの出力と前記ゲートの出力との論理積を取
る論理積回路または論理和を取る論理和回路とを具備す
る。
本特許のもう1つのビット入換え装置は、レジスタと、
前記レジスタの内容によって指示されたビット数シフト
するバレルシフタと、前記バレルシフタの出力のビット
順序を入換えるビット入換え手段と、前記バレルシフタ
の入力と同じデータを入力し前記レジスタの内容によっ
て指示されたビットだけを通過させるゲートと、前記バ
レルシフタの出力と前記ゲートの出力との論理塵を取る
論理積回路または論理和を取る論理和回路とを具備する
〔第1の実施例〕 次に、本発明について図面を参照して説明する。
第1図は本発明の第1の実施例を示すブロック図である
。第1図において、12は5ビツトのビット入換え回路
、13は任意のビット数を右にシフトすることができる
バレルシフタ、14は論理和を取ることのできる論理和
演算回路、15はビット入換えするビット数を記憶して
いるレジスタ、16は入換えを行なうビットを全てOに
するゲートである。その他の構成要素は第3図内で用い
た同じ番号の構成要素と同じ機能を持つので、ここでは
説明を省略する。ここで、レジスタ17には予め000
00’ (2進)が設定されているものとする。
例えば、従来例と同様に、16点のFFTを実行する前
にデータバス19より時系列的に入力される16点のデ
ータをデータ記憶回路へビットを入換えた順序で格納す
る動作を説明する。この場合、16点のデータを記憶す
るために4ビツトのアドレスを入換える必要があるので
、レジスタ15は予め入換えするビット数4を記憶して
いるものとする。まずレジスタ17の内容’00000
’ (2進)はゲート16およびビット入換え回路12
に送られる。ゲート16はレジスタ15の指示により下
位から4ビツトを0000’ (2進)にし、上位1ビ
ツトをそのまま通す。一方、ビット入換え回路12では
ポインタ11の内容の全ビット入換え’00000’ 
(2進)にする。バレルシフタ13ではビット入換え回
路12からの入換えされた全ビ。
トを入力し、全ビット数5からレジスタ15の内容4を
引いた数1だけのビットを右にシフトする。
その時上位ビットにOを入力し、’00000’ (2
進)にする。そして、論理和演算回路14ではゲート1
6の出力’00000’ (2進)とバレルシフタ13
の出力’00000’ (2進)との論理和を取り、ポ
インタ11に出力する。データ記憶回路10はポインタ
11の内容’00000’ (2進)に応じてデータバ
スからの1点目のデータを記憶する。
それと同時にインクリメンタ18はレジスタ17の内容
をインクリメントし、レジスタ17に戻す。
次に、インクリメントされたレジスタ17内の’000
01’ (2進)はゲート16およびビット入換え回路
12に送られる。ゲート16はレジスタ15の指示によ
り下位から4ビツトなoooo’(2進)にし、上位1
ビツトをそのまま通す。−方、ビット入換え回路12で
はポインタ11の内容の全ビット入換え10000’ 
(2進)にする。バレルシフタ13ではビット入換え回
路12からの入換えされた全ビットを入力し、全ビット
数5からレジスタ15の内容4を引いた数1だけのビッ
トを右にシフトする。その時上位ビットにOを入力し、
’01000’ (2進)にする。そして、論理和演算
回路14ではゲート16の出力’00000’ (2進
)とバレルシフタ13の出力’01000’ (2進)
との論理和を取り、ポインタ11に出力する。
データ記憶回路10はポインタ11の内容’01000
゜(2進)に応じてデータバスからの2点目のデータを
記憶する。そhと同時にインクリメンタ18はレジスタ
17の内容をインクリメントし、レジスタ17に戻す。
この動作を166点目データまで繰り返し、16点のデ
ータをデータ記憶回路へビットを入換えた順序で格納す
る。
次に、例えば8点のFFTを実行する前にデータバス1
9より時系列的に入力されるデータをデータ記憶回路へ
ビットを入換えた順序で格納する動作を説明する。この
場合、8点のデータを記憶スるために3ビツトのアドレ
スを入換える必要があるので、レジスタ15は予め入換
えするビット数3を記憶しているものとする。まずレジ
スタ17の内容’00000’ (2進)はゲート16
およびビット入換え回路12に送られる。ゲート16は
レジスタ15の指示により下位から3ビツトを’000
’ (2進)にし、上位2ビツトをそのまま通す。一方
、ビット入換え回路12ではポインタ11の内容の全ビ
ット入換え’00000’ (2進)にする。バレルシ
フタ13ではビット入換え回路12からの入換えされた
全ビットを入力し、全ビット数5からレジスタ15の内
容3を引いた数2だけのビットを右にシフトする。その
時上位ビットに0を入力し、’00000’ (2進)
にする。そして、論理和演算回路14ではゲート16の
出力’ooooo’(2進)とバレルシフタ13の出力
’00000’ (2進)との論理和を取り、ポインタ
11に出力する。
データ記憶回路10はポインタ11の内容’ooooo
’(2進)に応じてデータバスからの1点目のデータを
記憶する。それと同時にインクリメンタ18はレジスタ
17の内容をインクリメントし、レジスタ17に戻す。
次に、インクリメントされたレジスタ17内の0000
1’ (2進)はゲート16およびビット入換え回路1
2に送られる。ゲート16はレジスタ15の指示により
下位から3ビツトを000’ (2進)にし、上位2ビ
ツトをそのまま通す。一方、ビット入換え回路12では
ポインタ11の内容の全ビット入換え’10000°(
2進)にスル。バレルシフタ13ではビット入換え回路
12からの入換えされた全ビットを入力し、全ビット数
5からレジスタ15の内容3を引いた数2だけのビット
を右にシフトする。その時上位ビットに0を入力し、’
00100’ (2進)にする。
そして、論理和演算回路14ではゲート16の出力’0
0000’ (2進)とバレルシフタ13の出力’00
100’ (2進)との論理和を取り、ポインタ11に
出力する。データ記憶回路10はポインタ11の内容’
00100’ (2進)に応じてデータバスからの2点
目のデータを記憶する。それと同時にインクリメンタ1
8はレジスタ17の内容をインクリメントし、レジスタ
17に戻す。この動作を8点目のデータまで繰り返し、
8点のデータをデータ記憶回路へビットを入換えた順序
で格納する。
〔第2の実施例〕 第2図は本発明の第2の実施例を示すブロック図である
。第2図において、23は任意のビット数を左にシフト
することができるバレルシフタ、24は論理積を取るこ
とのできる論理積演算回路、25は全ビット数からビッ
ト入換えするビット数を引いた数を記憶しているレジス
タ、26は入換えを行なうビットを全てlにするゲート
である。
その他の構成要素は第3図及び第2図内で用いた同じ番
号の構成要素と同じ機能を持つので、ここでは説明を省
略する。ここで、レジスタ1,7には予め’00000
’ (2進)が設定されているものとする。
倒えば、16点のFFTを実行する前にデータバス19
より時系列的に入力されるデータをデータ記憶回路へビ
ットを入換えた順序で格納する動作を説明する。この場
合、16点のデータを記憶するために4ビツトのアドレ
スを入換える必要があるので、レジスタ25は予め全ビ
ット数5から入換えするビット数4を引いた数1を記憶
しているものとする。まずレジスタ17の内容’ooo
oo’(2進)はゲート26およびバレルシフタ23に
送られる。ゲート26はレジスタ15の指示により上位
1ビツトをそのまま通し、下位から4ビツトを1111
°(2進)にする。一方、バレルシフタ23ではレジス
タ25の内容1だけ左にシフトする。その時下位ビット
に1を入力し、’00001’(2進)にする。ビット
入換え回路12ではバレルシフタ23の出力の全ビット
を入換え10000’(2進)にする。そして、論理積
演算回路24ではゲート26の出力’01111’ (
2進)とビット入換え回路12の出力’10000’ 
(2進)との論理積を取り、ポインタ11に出力する。
データ記憶回路10はポインタ11の内容’00000
’ (2進)に応じてデータバスからの1点目のデータ
を記憶する。それと同時にインクリメンタ18はレジス
タ17の内容をインクリメントし、レジスタ17に戻す
。次に、インクリメントされたレジスタ17内の’00
000’ (2進)はゲート16およびバレルシフタ2
3に送られる。ゲート26はレジスタ15の指示により
上位1ビツトをそのまま通し、下位から4ビツトな11
11’ (2進)にする。−方、バレルシフタ23では
レジスタ25の内容1だけ左にシフトする。その時下位
ビットに1を入力し、’00011’ (2進)にする
。ビット入換え回路12ではバレルシフタ23の出力の
全ビットを入換え11000’ (2進)にする。そし
て、論理積演算回路24ではゲート26の出力’011
11’ (2進)とビット入換え回路12の出力’11
000’ (2進)との論理積を取り、ポインタ11に
出力する。
データ記憶回路10はポインタ11の内容’01000
’(2進)に応じてデータバスからの2点目のデータを
記憶する。それと同時にインクリメンタ18はレジスタ
17の内容をインクリメントし、レジスタ17に戻す。
この動作を166点目データまで繰り返し、16点のデ
ータをデータ記憶回路ヘビ、トを入換えた順序で格納す
る。
次に、例えば8点のFFTを実行する前にデータバス1
9より時系列的に入力されるデータをデータ記憶回路へ
ビットを入換えた順序で格納する動作を説明する。この
場合、8点のデータを記憶するために3ビツトのアドレ
スを入換える必要があるので、レジスタ25は予め全ビ
ット数5から入換えするビット数3を引いた数2を記憶
しているものとする。まずレジスタ17の内容’ooo
oo’(2進)はゲート26およびバレルシフタ23に
送られる。ゲート26はレジスタ15の指示により上位
2ビツトをそのまま通し、下位から3ピツ)ヲ’lll
’ (2進)にする。一方、バレルシフタ23ではL”
;’スタ25の内容2だけ左にシフトする。その時下位
ビットに1を入力し、’00011°(2進)ニスる。
ビット入換え回路12ではバレルシフタ23の出力の全
ビットを入換え11000’ (2進)にする。そして
、論理積演算回路24ではゲート26の出力’0011
1’ (2進)とビット入換え回路12の出力’110
00’ (2進)との論理積を取り、ポインタ11に出
力する。データ記憶回路10はポインタ11の内容’o
oooo°(2進)に応じてデータバスからの1点目の
データを記憶する。
それと同時にインクリメンタ18はレジスタ17の内容
をインクリメントし、レジスタ17に戻ス。
次に、インクリメントされたレジスタ17内の’000
01’ (2進)はゲート16およびバレルシフタ23
に送られる。ゲート26はレジスタ15の指示により上
位2ビツトをそのまま通し、下位から3ビツトを111
’ (2進)にする。一方、バレルシフタ23ではレジ
スタ25の内容2だけ左にシフトする。その時下位ビッ
トに1を入力し、’00111’ (2進)にする。ビ
ット入換え回路12ではバレルシフタ23の出力の全ビ
ットを入換え’11100’ (2進)にする。そして
、論理積演算回路24ではゲート26の出力“0011
1’ (2進)とビット入換え回路12の出力’111
00’ (2進)との論理積を取り、ポインタ11に出
力する。データ記憶回路10はポインタ11の内容’0
0100’(2進)に応じてデータバスからの2点目の
データを記憶する。それと同時にインクリメンタ18ハ
L/ シスタ17の内容をインクリメントし、レジスタ
17に戻す。この動作を8点目のデータまで繰り返し、
8点のデータをデータ記憶回路へビットを入換えた順序
で格納する。
〔発明の効果〕
以上に説明したように、第1の実施例では、レジスタ1
5に入換えするビット数を予め記憶させておくことによ
り、任意のビット数を高速に入換えることができるとい
う効果が得られる。
また第2の実施例では、レジスタ25にポインタ11の
全ビット数から入換えするビット数を引いた数を予め記
憶させておくことにより、任意のビット数を高速に入換
えすることができるという効果が得られる。
尚、第1の実施例と第2の実施例の間でビット入換え回
路とバレルシフタの位置、入換えるビット数を記憶して
いるレジスタの内容の表現方法、または論理演算回路の
種類に対し、そhぞれ異なった例を用いて説明したが、
その異なった例の組合せを替えても同様の効果が得られ
ることは明白である。
【図面の簡単な説明】
第1図は本発明の第1の実施例を示すブロック図で、第
2図は本発明の第2の実施例を示すブロック図で、第3
図は従来例を示すブロック図である。 lO・・・・・・データ記憶回路、11・・・・・・ポ
インタ、12.32・・・・・・ビット入換え回路、1
3.23・・・・・・バレルシフタ、14・・・・・・
論理和演算回路、24・・・・・・論理積演算回路、1
5,17.25・・・・・・レジスタ、16,26・・
・・・・ゲート、18・・・・・・インクリメンタ、1
9・・・・・・データバス。 代理人 弁理士  内 原   音

Claims (1)

  1. 【特許請求の範囲】 1、ビット順序を入換えるビット入換え手段と、レジス
    タと、前記ビット入換え手段の出力を前記レジスタの内
    容によって指示されたビット数シフトするバレルシフタ
    と、前記ビット入換え手段の入力と同じデータを入力し
    前記レジスタの内容によって指示されたビットだけを通
    過させるゲートと、前記バレルシフタの出力と前記ゲー
    トの出力との論理積を取る論理積回路または論理和を取
    る論理和回路とを具備することを特徴とするビット入換
    え装置。 2、レジスタと、前記レジスタの内容によって指示され
    たビット数シフトするバレルシフタと、前記バレルシフ
    タの出力のビット順序を入換えるビット入換え手段と、
    前記バレルシフタの入力と同じデータを入力し前記レジ
    スタの内容によって指示されたビットだけを通過させる
    ゲートと、前記バレルシフタの出力と前記ゲートの出力
    との論理積を取る論理積回路または論理和を取る論理和
    回路とを具備することを特徴とするビット入換え装置。
JP13984188A 1988-06-06 1988-06-06 ビット入換え装置 Pending JPH01307869A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13984188A JPH01307869A (ja) 1988-06-06 1988-06-06 ビット入換え装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13984188A JPH01307869A (ja) 1988-06-06 1988-06-06 ビット入換え装置

Publications (1)

Publication Number Publication Date
JPH01307869A true JPH01307869A (ja) 1989-12-12

Family

ID=15254758

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13984188A Pending JPH01307869A (ja) 1988-06-06 1988-06-06 ビット入換え装置

Country Status (1)

Country Link
JP (1) JPH01307869A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6788617B1 (en) * 1999-07-30 2004-09-07 Lg Information & Communications, Ltd. Device for generating memory address and mobile station using the address for writing/reading data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6788617B1 (en) * 1999-07-30 2004-09-07 Lg Information & Communications, Ltd. Device for generating memory address and mobile station using the address for writing/reading data

Similar Documents

Publication Publication Date Title
US5957996A (en) Digital data comparator and microprocessor
JPH0769782B2 (ja) マイクロプログラム可能な32ビットカスケード可能ビットスライス
US4815021A (en) Multifunction arithmetic logic unit circuit
US5109524A (en) Digital processor with a four part data register for storing data before and after data conversion and data calculations
KR19980052740A (ko) 디지탈 신호 처리기에서의 2배 정밀도 곱셈연산 수행방법
US5991786A (en) Circuit and method for shifting or rotating operands of multiple size
JPH01307869A (ja) ビット入換え装置
CN108196881B (zh) 一种基于可配置技术的定点运算加速单元
US4974188A (en) Address sequence generation by means of reverse carry addition
JPS5968058A (ja) フロ−テイング乗算器
US4611273A (en) Synchronized microsequencer for a microprocessor
US6035310A (en) Method and circuit for performing a shift arithmetic right operation
JP2615746B2 (ja) ビット操作回路
JPS59184943A (ja) 情報処理装置
JPH02220172A (ja) 高速フーリエ変換におけるバタフライ演算用アドレス発生回路
JPH0784763A (ja) 乗算回路
JPS6168636A (ja) デ−タ処理装置
JP2654062B2 (ja) 情報処理装置
JPH05174047A (ja) ベクトル処理装置
JPH10334081A (ja) リストベクトル処理装置
JPH04184535A (ja) 並列演算装置
JP3696307B2 (ja) 積和演算装置
JPH08292876A (ja) 演算装置
JPH0431977A (ja) 色データの拡張回路
JP3331682B2 (ja) 演算装置