JPH04279934A - ビット処理装置 - Google Patents

ビット処理装置

Info

Publication number
JPH04279934A
JPH04279934A JP3041718A JP4171891A JPH04279934A JP H04279934 A JPH04279934 A JP H04279934A JP 3041718 A JP3041718 A JP 3041718A JP 4171891 A JP4171891 A JP 4171891A JP H04279934 A JPH04279934 A JP H04279934A
Authority
JP
Japan
Prior art keywords
bit
output
shift
circuit
constant
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
JP3041718A
Other languages
English (en)
Inventor
Toshihiro Ishikawa
石 川  利 広
Katsuhiko Ueda
上 田 勝 彦
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP3041718A priority Critical patent/JPH04279934A/ja
Publication of JPH04279934A publication Critical patent/JPH04279934A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ディジタル信号処理プ
ロセッサ等のディジタル演算制御プロセッサ内部のビッ
ト処理装置に関するものである。
【0002】
【従来の技術】近年、ディジタル信号処理プロセッサは
、移動体通信分野へのディジタルシステム導入の動きに
合わせて、携帯電話等への機器組み込み用途のプロセッ
サとして注目されている。このようなシステムオンチッ
プのプロセッサにおいては、音声の符号化処理等の数値
演算の他に、符号化データをビット単位で処理するチャ
ネルコーデック等の処理も行なう必要があるため、デー
タの特定のビットを更新したり、あるデータの特定のビ
ットの情報を別のデータの指定したビット位置に転送し
たりするビット処理は非常に重要な機能である。
【0003】以下図面を参照しながら、従来のビット処
理装置の一例について説明する。図5は従来のビット処
理装置の概略ブロック図を示すものである。図5におい
て、1はプロセッサの命令語やビット処理を行なうデー
タおよびビット処理を行なった結果等を格納するメモリ
である。2はメモリ1等に接続されているバスである。 3はビット処理を行なうデータとビットパターンデータ
との論理演算を行なう論理演算回路である。4は論理演
算回路3の左側入力の値を一時的に記憶するラッチ回路
であり、5は右側入力の値を一時的に記憶するラッチ回
路である。
【0004】以上のように構成されたビット処理装置に
ついて、以下、データのビット幅を8ビットとしてその
動作について説明する。
【0005】まずメモリ1内に記憶されたデータAの特
定のビットに対して、(1)セット(当該ビットを1に
する)、(2)リセット(当該ビットを0にする)、(
3)チェンジ(当該ビットを反転する)のビット処理を
行なう場合について説明する。
【0006】(1)セットの場合 例えばデータAの最下位ビットを1にする場合、まずメ
モリ1内のデータAをバス2に出力し、ラッチ回路4に
ラッチする。次に命令デコーダ部(図示せず)から出力
される命令語の即値指定フィールドに格納されたビット
パターンデータ(00000001)をラッチ回路5が
ラッチする。そして論理演算回路3でラッチ回路4の内
容とラッチ回路5の内容の論理和をとった結果をバス2
を介してメモリ1に格納する。
【0007】(2)リセットの場合 例えばデータAの最下位ビットを0にする場合、まずメ
モリ1内のデータAをバス2に出力し、ラッチ回路4に
ラッチする。次に命令デコーダ部(図示せず)から出力
される命令語の即値指定フィールドに格納されたビット
パターンデータ(11111110)をラッチ回路5が
ラッチする。そして論理演算回路3でラッチ回路4の内
容とラッチ回路5の内容の論理積をとった結果をバス2
を介してメモリ1に格納する。
【0008】(3)チェンジの場合 例えばデータAの最下位ビットを反転する場合、まずメ
モリ1内のデータAをバス2に出力し、ラッチ回路4に
ラッチする。次に命令デコーダ部(図示せず)から出力
される命令語の即値指定フィールドに格納されたビット
パターンデータ(00000001)をラッチ回路5が
ラッチする。そして論理演算回路3でラッチ回路4の内
容とラッチ回路5の内容の排他的論理和をとった結果を
バス2を介してメモリ1に格納する。
【0009】このように、上記従来のビット処理装置で
は、算術論理演算回路において命令語の即値指定フィー
ルドに格納されているビットパターンデータとビット処
理を行なうデータとの論理演算を行なうことにより、ビ
ット処理を行なうことができる。
【0010】
【発明が解決しようとする課題】しかしながら、上記従
来のビット処理装置では、特定ビットの「セット」、「
リセット」、「チェンジ」を行なうために必要なビット
パターンデータを命令語の即値指定フィールドに格納す
るので、命令語の語長を少なくともデータのビット幅よ
りも大きくする必要があるという問題点があった。
【0011】本発明は、このような従来の問題点を解決
するものであり、短い命令語長で制御することができる
優れたビット処理装置を提供することを目的とするもの
である。
【0012】本発明の他の目的は、少ない命令語で高速
にビット転送を行なうことができる優れたビット処理装
置を提供することである。
【0013】
【課題を解決するための手段】上記問題点を解決するた
めに、本発明のビット処理装置は、オペランドを記憶す
る記憶手段と、あらかじめ定めた特定のビット位置のビ
ットが1でそれ以外のビットが全て0である定数あるい
はこの定数の補数を出力する定数出力手段と、定数出力
手段の出力をシフトするシフト手段と、定数内の特定の
ビット位置のビットをオペランドのデスティネーション
ビットのビット位置までシフトするのに必要なシフトビ
ット数をシフト手段に出力するシフトビット数出力手段
と、シフト手段の出力とオペランドとの算術論理演算を
行なってその結果を記憶手段に出力する算術論理演算部
と、プロセッサからの制御信号により算術論理演算部の
演算モードを制御する制御手段とを備えたものである。
【0014】本発明はまた、オペランドを記憶する記憶
手段と、オペランドをシフトするシフト手段と、オペラ
ンドのソースビットをあらかじめ定めた特定のビット位
置までシフトするのに必要なシフトビット数をシフト手
段に出力するシフトビット数出力手段と、シフト手段の
出力結果の特定のビット位置のビットの零検出を行なう
零検出手段と、シフト手段の出力とオペランドの算術論
理演算を行なってその結果を記憶手段に出力する算術論
理演算部と、零検出手段からの信号により算術論理演算
部の演算モードを制御する制御手段とを備えたものであ
る。
【0015】
【作用】したがって本発明によれば、定数出力手段があ
らかじめ定めた特定のビット位置のビットが1でそれ以
外のビットが全て0である定数あるいはその補数をシフ
ト手段に出力し、その定数をシフト手段がシフトビット
数出力手段に指示されたビット数だけシフトすることに
より、ビット更新に必要なビットパターンデータを生成
することができ、プロセッサの命令語の中にビットター
ンデータを格納する必要がなく、命令語の語長を必ずし
もデータ語長より長くする必要がないので、短い語長の
命令語でビット処理を行なうことができるという効果を
有する。
【0016】また本発明によれば、零検出手段がシフト
手段の出力結果のあらかじめ定めた特定のビット位置の
ビットの零検出を行なって制御手段に零検出信号を出力
し、この零検出信号により制御手段が算術論理演算部の
演算モードを制御することにより、ビット転送処理を少
ない命令語で高速に実行することができるという効果を
有する。
【0017】
【実施例】以下、本発明のビット処理装置について、図
面を参照しながら説明する。図1は本発明の第1の実施
例におけるビット処理装置の構成を示すものである。図
1において、11はプロセッサの命令語やビット処理を
行なうデータおよびビット処理を行なった結果等のオペ
ランドを記憶するメモリ(記憶手段)、12はメモリ1
に接続されデータの供給や演算結果の格納等を行なうバ
ス、13は最下位ビットの値が1で他のビットが全て0
である定数を出力する定数回路(定数出力手段)、14
はバス12に接続されプロセッサの命令デコード部(図
示せず)から出力されるシフトビット数を一時的に記憶
して出力するレジスタ(シフトビット数出力手段)、1
5はバス12の出力または定数回路13の出力を入力と
して、レジスタ14で示されるシフトビット数だけシフ
トするバレルシフタ(シフト手段)、16はバレルシフ
タ15の出力をラッチするラッチ回路、17は排他的論
理和ゲートから構成されラッチ回路16の出力を反転ま
たは非反転して出力する反転回路、18はデータバス出
力をラッチして出力するラッチ回路、19はラッチ回路
18と反転回路17の出力を入力として論理演算を行な
う論理演算回路(算術論理演算部)、20は反転回路1
7に反転動作をするかしないかを指示する制御信号21
と論理演算回路19に論理和をとるか論理積をとるか排
他的論理和をとるかを指示する制御信号22を出力する
演算制御部(制御手段)である。
【0018】次に、上記第1の実施例の動作について、
図2および図3を参照しながら説明する。まず、図2は
、ビット処理内容と反転回路17および論理演算回路1
9の動作内容の関係を示したものであり、演算制御部2
0は、図2に示した関係にしたがって反転回路17と論
理演算回路19を制御する。
【0019】以下、最下位ビットのビット位置を0と定
義して、デスティネーションデータのビット位置nのビ
ットにビット処理を行なう場合の動作について説明する
。まずメモリ11に格納されたビット処理を行なうデス
ティネーションデータをバス12を介してラッチ回路1
8にラッチする。同時にバレルシフタ15は定数回路1
3から入力した定数(00000001)を、命令デコ
ード部からレジスタ14に格納されている値nだけ左に
シフトして出力し、ラッチ回路16にラッチする。次に
反転回路17は、図2に示した関係にしたがって、ラッ
チ回路16の内容を、「リセット」のビット処理の場合
は反転し、「セット」と「チェンジ」のビット処理の場
合は非反転のまま論理演算回路19に出力する。次いで
論理演算回路19は、ラッチ回路18に格納されている
デスティネーションデータと反転回路17の出力との論
理演算を、図2に示すように、「セット」の場合は論理
和、「リセット」の場合は論理積、「チェンジ」の場合
は排他的論理和を行ない、その結果をバス12に出力し
、メモリ11に格納する。
【0020】図3は、最下位ビットをビット位置0、最
上位ビットをビット位置7とする8ビットのデータ幅の
デスティネーションデータのビット位置3に対して、「
セット」、「リセット」、「チェンジ」の各ビット処理
を行なったときの各回路ブロック出力位置のデータの変
化の様子を例示したものである。
【0021】例えば、ビット処理内容がセットの場合、
定数回路13から出力された「00000001」を、
バレルシフタ15がレジスタ14に格納されているシフ
トビット数n=3(ビット位置3)だけ左にシフトして
「00001000」を出力すると、反転回路17は、
演算制御部20からの図2に示す非反転の制御信号21
のもとに非反転の「00001000」を出力し、論理
演算回路19は、ラッチ回路18に格納されているデス
ティネーションデータ(00000000)と反転回路
17からの出力「00001000」との論理和をとっ
て「00001000」を出力する。
【0022】このように、上記第1の実施例によれば、
あらかじめ定めたビット位置のビットが1でそれ以外の
ビットが全て0である定数を定数回路13が出力し、こ
れをバレルシフタ5がレジスタ4に指示されたビット数
だけ左にシフトすることにより、ビット更新に必要なビ
ットパターンデータを生成することができ、プロセッサ
の命令語の中にビットパターンデータ(データ幅8ビッ
トの場合8ビット)を保持する代わりに、ビット処理を
行なうビット位置に対応したシフトビット数(データ幅
8ビットの場合3ビット)のみを保持すればよいので、
短い語長の命令語でビット処理を行なうことができると
いう効果を有する。
【0023】また本実施例の構成要素であるバレルシフ
タ5や反転回路17、論理演算回路19等は、ディジタ
ル信号処理プロセッサ等には数値演算用にあらかじめ設
置されているのが普通であるため、わずかなハードウェ
アの追加のみでビット処理装置を実現できるという効果
も有する。
【0024】次に、本発明の第2の実施例について図4
を参照しながら説明する。図4において、メモリ11か
ら演算制御部20までは、上記した第1の実施例の構成
と同様なものであり、上記第1の実施例と異なるのは、
バレルシフタ15の出力結果の最上位ビットのビットの
零検出を行なって演算制御部20に零検出信号23を出
力する零検出回路(零検出手段)24を備えていること
であり、零検出信号23により演算制御部20で反転回
路17と論理演算回路19の演算モードを制御できるよ
うにした点である。
【0025】次に、この第2の実施例におけるビット転
送処理について、メモリ11に格納したkビットのソー
スデータのビット位置mのビット(以下、ソースビット
と表現する。)の値をデスティネーションデータのビッ
ト位置nのビット(以下、デスティネーションビットと
表現する。)に転送する場合の動作について、(1)ソ
ースビットのテストサイクル、(2)デスティネーショ
ンビットの更新サイクル、の2マシンサイクルに分けて
説明する。但し、ビット位置の定義は第1の実施例と同
じで、最下位ビットを0とする。
【0026】(1)ソースビットのテストサイクルまず
メモリ11に格納されたデスティネーションデータをバ
ス12を介してバレルシフタ15に入力する。バレルシ
フタ15は、入力されたデータを命令デコーダ部からレ
ジスタ14に格納されている(k−1−m)の値だけ左
にシフトする。すなわちソースビットが最上位ビット位
置(k−1)にくるようにシフトして出力する。零検出
回路24は、バレルシフタ15の出力結果の最上位ビッ
ト位置の値、すなわちソースビットの値に対応して、そ
の値が1なら零検出信号23として1を出力し、その値
が0なら零検出信号23として0を出力する。
【0027】(2)デスティネーションビットの更新サ
イクル 演算制御部20は、上記(1)のサイクルで入力した零
検出信号23の値に対応し、その値が1の時には図2に
示した「セット」の処理を行ない、値が0の時は「リセ
ット」の処理を行なう。このような演算制御部20の動
作以外は上記第1の実施例で示したのと同様の動作で、
メモリ11に格納されたデスティネーションデータに対
してビット処理を行なう。
【0028】このように、上記第2の実施例によれば、
(1)のマシンサイクルで零検出回路24がバレルシフ
タ15の出力結果の最上位ビットの零検出を行なって演
算制御部20に零検出信号23を出力し、零検出信号2
3により演算制御部20が(2)のマシンサイクルで反
転回路17の反転、非反転の制御と論理演算回路19の
演算モードを制御することにより、メモリ11に格納し
たkビットのソースデータのビット位置mのビットの値
をデスティネーションデータのビット位置nのビットに
2マシンサイクルで転送することができ、従来多数の命
令の組み合わせで実行していたビット転送処理を少ない
命令語で高速に実行することができるという効果を有す
る。
【0029】なお、上記第1の実施例において、定数回
路13の値は最下位ビットのみを1、他のビットを0と
したが、最上位ビットのみを1としてバレルシフタ15
で右シフトするようにしたり、上記定数の補数である最
下位ビットのみを0、他のビットを1として図2におけ
る反転回路17の反転、非反転の制御を逆にしたりして
もよい。
【0030】
【発明の効果】本発明は、上記実施例から明らかなよう
に、定数出力手段があらかじめ定めた特定のビット位置
のビットが1でそれ以外のビットが全て0である定数あ
るいはその補数をシフト手段に出力し、その定数をシフ
ト手段がシフトビット数出力手段に指示されたビット数
だけシフトすることにより、ビット更新に必要なビット
パターンデータを生成することができ、プロセッサの命
令語の中にビットパターンデータを格納する必要がなく
、命令語の語長を必ずしもデータ語長より長くする必要
がないので、短い語長の命令語でビット処理を行なうこ
とができるという効果を有する。
【0031】また本発明によれば、零検出手段がシフト
手段の出力結果のあらかじめ定めた特定のビット位置の
ビットの零検出を行なって制御手段に零検出信号を出力
し、この零検出信号により制御手段が算術論理演算部の
演算モードを制御することにより、ビット転送処理を少
ない命令語で高速に実行することができるという効果を
有する。
【図面の簡単な説明】
【図1】本発明の第1の実施例におけるビット処理装置
の構成を示す概略ブロック図
【図2】同実施例における動作説明のためのビット処理
内容と各回路ブロックの動作の関係を示す説明図
【図3
】同実施例における動作説明のためのビット処理内容と
各回路ブロックの出力データの関係を示す説明図
【図4
】本発明の第2の実施例におけるビット処理装置の構成
を示す概略ブロック図
【図5】従来のビット処理装置の構成を示す概略ブロッ
ク図
【符号の説明】
11  メモリ(記憶手段) 12  バス 13  定数回路(定数出力手段) 14  レジスタ(シフトビット数出力手段)15  
バレルシフタ(シフト手段) 16,18  ラッチ回路 17  反転回路 19  論理演算回路(算術論理演算部)20  演算
制御部(制御手段) 21,22  制御信号 23  零検出信号 24  零検出回路(零検出手段)

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】  オペランドを記憶する記憶手段と、あ
    らかじめ定めた特定のビット位置のビットが1でそれ以
    外のビットが全て0である定数あるいは前記定数の補数
    を出力する定数出力手段と、前記定数出力手段の出力を
    シフトするシフト手段と、前記定数内の前記特定のビッ
    ト位置のビットを前記オペランドのデスティネーション
    ビットのビット位置までシフトするのに必要なシフトビ
    ット数を前記シフト手段に出力するシフトビット数出力
    手段と、前記シフト手段の出力と前記オペランドとの算
    術論理演算を行なってその結果を前記記憶手段に出力す
    る算術論理演算部と、プロセッサからの制御信号により
    前記算術論理演算部の演算モードを制御する制御手段と
    を備えたビット処理装置。
  2. 【請求項2】  オペランドを記憶する記憶手段と、前
    記オペランドをシフトするシフト手段と、オペランドの
    ソースビットをあらかじめ定めた特定のビット位置まで
    シフトするのに必要なシフトビット数を前記シフト手段
    に出力するシフトビット数出力手段と、前記シフト手段
    の出力結果の前記特定のビット位置のビットの零検出を
    行なう零検出手段と、前記シフト手段の出力と前記オペ
    ランドとの算術論理演算を行なってその結果を前記記憶
    手段に出力する算術論理演算部と、前記零検出手段から
    の信号により前記算術論理演算部の演算モードを制御す
    る制御手段とを備えたビット処理装置。
JP3041718A 1991-03-07 1991-03-07 ビット処理装置 Pending JPH04279934A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3041718A JPH04279934A (ja) 1991-03-07 1991-03-07 ビット処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3041718A JPH04279934A (ja) 1991-03-07 1991-03-07 ビット処理装置

Publications (1)

Publication Number Publication Date
JPH04279934A true JPH04279934A (ja) 1992-10-06

Family

ID=12616206

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3041718A Pending JPH04279934A (ja) 1991-03-07 1991-03-07 ビット処理装置

Country Status (1)

Country Link
JP (1) JPH04279934A (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5385135A (en) * 1977-01-05 1978-07-27 Oki Electric Ind Co Ltd Instruction execution system of computer
JPS58159152A (ja) * 1982-03-17 1983-09-21 Matsushita Electric Ind Co Ltd ビツト転送制御装置
JPS61290531A (ja) * 1985-06-19 1986-12-20 Fujitsu Ltd テスト命令処理方式

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5385135A (en) * 1977-01-05 1978-07-27 Oki Electric Ind Co Ltd Instruction execution system of computer
JPS58159152A (ja) * 1982-03-17 1983-09-21 Matsushita Electric Ind Co Ltd ビツト転送制御装置
JPS61290531A (ja) * 1985-06-19 1986-12-20 Fujitsu Ltd テスト命令処理方式

Similar Documents

Publication Publication Date Title
JPS6351287B2 (ja)
US5978822A (en) Circuit for rotating, left shifting, or right shifting bits
JPH05265922A (ja) ダイレクト・メモリ・アクセス・コントローラ
JP2665081B2 (ja) マイクロコンピュータのレジスタ間データ転送方式
JPH0414385B2 (ja)
JPS58182754A (ja) 演算処理装置
US5546551A (en) Method and circuitry for saving and restoring status information in a pipelined computer
US4641278A (en) Memory device with a register interchange function
JPH04279934A (ja) ビット処理装置
EP0334131B1 (en) Data processor performing operation on data having length shorter than one-word length
US5001629A (en) Central processing unit with improved stack register operation
US6122651A (en) Method and apparatus for performing overshifted rotate through carry instructions by shifting in opposite directions
US4723258A (en) Counter circuit
US5220670A (en) Microprocessor having ability to carry out logical operation on internal bus
JP2615746B2 (ja) ビット操作回路
KR970007262B1 (ko) 데이타패스 및 명령세트 확장이 용이한 risc 구조
JPH01273132A (ja) マイクロプロセッサ
JPS6243775A (ja) ベクトル演算装置
JPH0228828A (ja) 最大値最小値検出回路
JPS62249228A (ja) シフト装置
JP2987281B2 (ja) プロセッサ
JPH08305564A (ja) マイクロコンピュータ
JPH10207708A (ja) プログラマブルコントローラ
JP2002323983A (ja) 命令生成方法、命令生成方法及び情報処理装置
JPH07109588B2 (ja) マイクロプロセッサ装置