JPH09292990A - 論理演算ユニット - Google Patents

論理演算ユニット

Info

Publication number
JPH09292990A
JPH09292990A JP8130855A JP13085596A JPH09292990A JP H09292990 A JPH09292990 A JP H09292990A JP 8130855 A JP8130855 A JP 8130855A JP 13085596 A JP13085596 A JP 13085596A JP H09292990 A JPH09292990 A JP H09292990A
Authority
JP
Japan
Prior art keywords
bit
input
data
logical operation
output
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.)
Granted
Application number
JP8130855A
Other languages
English (en)
Other versions
JP3533825B2 (ja
Inventor
Kenji Ishii
健司 石井
Akihiro Tsutsui
章博 筒井
Toshiaki Miyazaki
敏明 宮崎
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP13085596A priority Critical patent/JP3533825B2/ja
Publication of JPH09292990A publication Critical patent/JPH09292990A/ja
Application granted granted Critical
Publication of JP3533825B2 publication Critical patent/JP3533825B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】 通信処理等に現れるビット間演算処理におい
て、従来のカスタムLSIやゲートアレイのみによって
実現した場合における非柔軟性、FPGAのみによって
実現した場合における機能変更の低速性、プロセッサを
利用した場合における莫大なクロック消費を排除するこ
とができる論理演算ユニットを提供することを目的とす
るものである。 【解決手段】 nビットのデータ入力ポートに入力され
たnビットデータの各ビット毎に有効/無効を設定し、
入力側マスキング回路において有効と設定されたビット
データのみを演算対象として、ビット間論理演算を行
い、出力されるmビット出力について、各ビット毎に有
効/無効を設定し、ここで有効と設定されたビット位置
のデータのみを保持するmビットの出力側ラッチ、また
はユニット外部に出力するmビットのデータ出力ポート
を設ける。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、論理演算ユニット
に関するものである。
【0002】
【従来の技術】まず、本発明の有力な適用領域の1つで
ある通信処理について説明する。なお、本発明は、様々
なビット間演算が行われる処理領域に幅広く適用できる
ものである。
【0003】様々な通信処理の中でも、伝送路を流れる
ディジタル信号を直接扱うレイヤでは、ビット間の論理
演算が多用される。一方、高速信号のリアルタイム処理
を達成するためには、伝送路をシリアルに流れるディジ
タル信号を、処理回路の入口でパラレル信号に展開す
る。しかし、このシリアル信号からパラレル信号に変換
する過程では、ビット間演算が全く行われていない。
【0004】次に、現状における処理手段について説明
する。論理演算を実現する手段としては、布線論理によ
る処理とプログラム論理による処理との2つの処理が知
られている。「布線論理による処理」とは、NAND素
子やNOR素子等、複数の論理素子をメタル配線を介し
て互いに接続し、所望の機能を実現する処理である。こ
の場合、論理素子間の配線を自由に決定することができ
るので、ビット間論理演算において、演算の対象となる
ビットデータがパラレル展開によってどのような位置に
割り付けられていても、対応することができる。また、
特定の演算を少ないクロック数で処理できるので、高速
ディジタル信号処理の分野において、布線論理による処
理が極めてよく利用されている。カスタムLSI、ゲー
トアレイ、FPGA等が、上記布線論理による処理回路
を提供するデバイスとして挙げられる。
【0005】一方、「プログラム論理による処理」と
は、処理の手順を示すプログラムをメモリに予め蓄え、
必要に応じてプログラムを逐一解読し、メモリまたはレ
ジスタに格納されている処理対象のデータを、汎用的な
算術演算や論理演算を提供する算術論理演算ユニットに
与え、処理を行い、その結果をメモリまたはレジスタに
書き戻すという一連の単純作業を繰り返すことによっ
て、所望の機能を実現する処理である。このようなプロ
グラム論理による処理を実現するデバイスは、一般にプ
ロセッサと呼ばれ、1サイクルで扱うデータの単位は8
ビットの倍数である。以後、この1サイクルで扱うデー
タの単位を、「ワード」と呼ぶ。
【0006】プロセッサで提供される論理演算は、デー
タのシフト、ローテートの他に、2つのデータ間の同ビ
ット位置同士で実行されるAND、OR、EOR等であ
る。したがって、ビット間演算において演算の対象とな
るビットデータが、1データ内に存在している場合や、
2つのデータ間でも異なるビット位置に割り付けられた
場合等では、データのシフト処理を前もって行う等、複
数の基本演算を組み合わせ、目的とする処理を実現す
る。プロセッサ自体の動作速度は近年極めて高速化して
いるが、上記のビット間演算のような演算粒度の小さい
処理が存在する高速信号処理の分野では、プログラム論
理による処理の利用は少ない。
【0007】
【発明が解決しようとする課題】次に、パラレル展開し
たディジタル信号をビット間で演算する場合における従
来方法の欠点について説明する。
【0008】なお、本明細書における「論理演算ユニッ
ト」は、可能な論理演算関数や処理対象データの形態が
1つに固定された専用演算回路ではなく、複数パターン
の論理演算のうちで、外部から指定された演算を実行す
る演算回路である。
【0009】カスタムLSIやマスクプログラマブルゲ
ートアレイのみによって機能を実現する場合、機能を確
定した上で専用回路を設計・製作するので、回路の汎用
性は全く無く、論理演算ユニットとしての多用性がない
という問題がある。
【0010】FPGA等のフイールドプログラマブルな
デバイスのみによって機能を実現する場合、インシステ
ムプログラミング手段によって回路機能の変更が可能で
あるが、システム動作中高速に回路を再プログラムする
ことができないので、論理演算ユニットとしての使用
は、厳しく制限を受けるという問題がある。
【0011】プロセッサによるプログラム処理によって
機能を実現する場合、各プロセッサが持つ固有のワード
幅から外れる単位で処理すると、オーバーヘッドが大き
くなる。たとえば、任意位置におけるビット間演算に対
して、通常の算術論理演算ユニットは、汎用的な命令を
組み合わせて処理する方法しか持たないので、多大なク
ロック数を消費することになる。これでは、ディジタル
信号の超高速処理の要求に応えることはできないという
問題がある。
【0012】本発明は、通信処理等に現れるビット間演
算処理において、従来のカスタムLSIやゲートアレイ
のみによって実現した場合における非柔軟性、FPGA
のみによって実現した場合における機能変更の低速性、
プロセッサを利用した場合における莫大なクロック消費
を排除することができる論理演算ユニットを提供するこ
とを目的とするものである。
【0013】
【課題を解決するための手段】請求項1記載発明は、n
ビットのデータ入力ポートに入力されたnビットデータ
の各ビット毎に有効/無効を設定するnビットの入力側
マスキング回路と、上記入力側マスキング回路において
有効と設定されたビットデータのみを演算対象として、
ビット間論理演算を行う最大nビット入力mビット出力
の論理演算実行部と、上記論理演算実行部から出力され
るmビット出力について、各ビット毎に有効/無効を設
定するmビットの出力側マスキング回路と、上記出力側
マスキング回路において有効と設定されたビット位置の
データのみを保持するmビットの出力側ラッチ、または
ユニット外部に出力するmビットのデータ出力ポートと
を有し、入力されるnビットデータから任意の組み合わ
せのビット間演算を行い、mビットのうちの1つまたは
複数の任意のビット位置に出力する論理演算ユニットで
ある。
【0014】請求項2記載発明は、請求項1記載の論理
演算ユニットにおいて、上記nビットデータ入力ポート
と上記nビット入力側マスキング回路とのセットが、任
意のビット幅で複数のポート、マスキング回路に区切ら
れた構成をとり、単一入力データ内でのビット間演算だ
けでなく、複数の任意ビット幅入力データ間で、任意の
組み合わせのビット間演算を行う論理演算ユニットであ
る。
【0015】請求項3記載発明は、請求項1または請求
項2記載の論理演算ユニットにおいて、上記入力ポート
から入力されるnビットのデータをmセットに分岐する
分岐回路が設けられ、上記論理演算ユニットがmセット
設けられ、上記分岐回路から出力されるmセットのnビ
ットデータのそれぞれが、上記mセットの論理演算ユニ
ットのそれぞれに入力され、上記mセットの論理演算ユ
ニットのそれぞれから出力される1ビットの演算結果を
パック回路が束ねてmビット幅にパックし、出力データ
の各ビット毎に独立の上記論理演算ユニットを割り当
て、並列処理を行う論理演算ユニットである。
【0016】請求項4記載の発明は、請求項1〜請求項
3のいずれか1項の論理演算ユニットにおいて、上記n
ビットのデータ入力ポートと上記nビットの入力側マス
キング回路との間に、上記nビットデータを保持するn
ビットの入力側ラッチを有する論理演算ユニットであ
る。
【0017】
【発明の実施の形態および実施例】図1は、本発明の一
実施例である8ビット入力8ビット出力機能回路FC1
を示すブロック図であり、請求項1に記載の論理演算ユ
ニットを含む機能回路を示すブロック図である。
【0018】8ビット入力8ビット出力機能回路FC1
は、nビットの入力側マスキング回路IMと、最大nビ
ット入力mビット出力の論理演算実行部AEと、mビッ
トの出力側マスキング回路OMと、データ出力ポート1
3とを有し、入力されるnビットデータから任意の組み
合わせのビット間演算を行い、mビットのうちの1つま
たは複数の任意のビット位置に出力する論理演算ユニッ
トである。
【0019】上記入力側ラッチは、nビットのデータ入
力ポート11に入力されるnビットデータを保持するn
ビットの入力側ラッチである。入力側マスキング回路I
Mは、上記入力側ラッチから出力されるnビットデータ
について、各ビット毎に有効/無効を設定するnビット
の入力側マスキング回路であり、4入力1出力セレクタ
SI0、SI1、SI2、SI3、SI4、SI5、S
I6、SI7を有するものである。
【0020】論理演算実行部AEは、入力側マスキング
回路IMにおいて有効と設定されたビットデータのみを
演算対象として、ビット間論理演算を行う最大nビット
入力mビット出力の論理演算実行部である。
【0021】出力側マスキング回路OMは、論理演算実
行部AEから出力されるmビット出力について、各ビッ
ト毎に有効/無効を設定するmビットの出力側マスキン
グ回路であり、4入力1出力セレクタSO0、SO1、
SO2、SO3、SO4、SO5、SO6、SO7を有
する。
【0022】データ出力ポート13は、出力側マスキン
グ回路OMにおいて有効と設定されたビット位置のデー
タのみをユニット外部に出力するmビットのデータ出力
ポートである。また、データ出力ポート13の代わり
に、出力側マスキング回路OMにおいて有効と設定され
たビット位置のデータのみを保持するmビットの出力側
ラッチを設けるようにしてもよい。
【0023】なお、ここでは、入力データのビット幅n
を8にし、出力データのビット幅mも8にする。したが
って、入力側のポート11、マスク情報作りおよび出力
側のポート13、マスク情報14の幅は、いずれも8に
なる。また、入力/出力側ともにラッチを使用しない構
成とし、論理演算実行部AEによって提供されるビット
間演算関数を、次の4種類としてある。
【0024】関数(a): 全ての有効ビットを演算対
象とする論理積(「All AND」という) 関数(b): 全ての有効ビットを演算対象とする論理
和(「All OR」という) 関数(c): 全ての有効ビットを演算対象とする排他
的論理和(「AllXOR」という) 関数(d): 全ての有効ビットについてそれぞれの論
理否定(「All NOT」という) これらの関数を実現する手段は、布線論理を提供するど
のようなデバイスでもよい。
【0025】たとえば、今回のように必要な論理関数が
予め分かっている場合には、カスタムLSIやマスクプ
ログラマブルゲートアレイを使用すれば、ハードウェア
リソースを最小限に抑えることができる。また、FPG
Aを利用すれば、後から回路の変更が可能になる。
【0026】図1では、上記関数(a)、(b)、
(c)、(d)のそれぞれを、「00」、「01」、
「10」、「11」とエンコードし、Function
Decoderで4ビット幅に展開する構成としてあ
る。もちろん、「0001」、「0010」、「010
0」、「1000」のようなデコード後の表現を直接用
いてもよい。
【0027】8ビット幅の入力側マスク情報12と、出
力側マスク情報14と、エンコードした2ビット幅の関
数指定情報15とを保持するようにするために、たとえ
ばSRAM、DRAM、フラッシュメモリ等の状態を保
持できる素子を利用する。
【0028】入力ポート11から入力された8ビットデ
ータは、まず、ビット位置毎に入力側マスキング回路I
Mに入力される。
【0029】図2は、上記実施例における8ビット入力
側マスキング回路IMの構成を示す図である。
【0030】ビット位置毎に独立動作する4入力1出力
セレクタSI0〜SI7の選択動作は、次の条件判定シ
ーケンス〜に従う。 ・条件判定シーケンス: 入力側マスキング情報21
から対象ビットの有効「1」または無効「0」を判定
し、「1」の場合は端子25を選択する。すなわち、入
力されたビット情報がそのまま出力され、演算対象とな
る。 ・条件判定シーケンス: 入力側マスキング情報21
が「0」の場合で、All AND26が「1」の場
合、端子22を選択する。すなわち、全ビットの論理積
演算に際して、Wide−AND素子16にデータ
「1」を与えることによって、このビット位置の情報を
無効化する。 ・条件判定シーケンス: 入力側マスキング情報21
が「0」の場合で、All OR27が「1」の場合、
端子23を選択する。すなわち、全ビットの論理和演算
に際し、Wide−OR素子17にデータ「0」を与え
ることによって、このビット位置の情報を無効化する。 ・条件判定シーケンス: 入力側マスキング情報21
が「0」の場合で、All XOR28が「1」の場
合、端子23を選択する。すなわち、全ビットの排他的
論理和演算に際し、Wide−XOR素子18にデータ
「1」を与えることによって、このビット位置の情報を
無効化する。 ・条件判定シーケンス: 入力側マスキング情報が
「0」の場合で、AllNOT29が「1」の場合は、
端子24を選択する。すなわち、全ビットの論理否定演
算に際し、入力されたビットの論理否定をNOT素子1
9に与えることによってキャンセルし、このビット位置
の情報を無効化する。
【0031】上記条件判定シーケンス〜は、論理素
子を用いた布線論理によって、容易に実現できる。つま
り、4入力1出力セレクタSI0〜SI7のそれぞれ
は、論理素子を用いた布線論理によって、容易に実現で
きる。
【0032】上記実施例は、無効化したいビット位置の
情報を、指定された関数に応じて、演算に影響が出ない
ように、入力側マスキング回路IMで加工して出力する
ので、入力ビット全てに対して一律に演算を行う論理素
子を、論理演算実行部AEとして使用することができ
る。すなわち、上記関数(a)〜(c)については、8
ビット全てを入力するWide Gate16〜18を
接続し、関数(d)は8ビット全てにNOT Gate
19を接続する。また、上記関数(a)〜(c)は1ビ
ット出力になるので、これを8ビットに分岐する。
【0033】論理演算実行部AEから出力される4種類
の論理演算結果は、各ビット位置毎に、出力側マスキン
グ回路OMに入力される。出力側マスキング回路OMの
仕事は、各ビットの有効/無効を示すWrite En
ableの設定と、指定された関数の演算結果を選択し
て出力することである。
【0034】図3は、上記実施例における8ビット出力
側マスキング回路OMの構成を示す図である。
【0035】Write Enableは、入力側マス
キング情報が有効「1」であるときに「1」を出力し、
無効「0」であるときに「0」を出力する。したがっ
て、出力側マスキング情報14をそのままWrite
Enableの状態としてよい。各ビットの4入力1出
力セレクタSO0、SO1、SO2、SO3、SO4、
SO5、SO6、SO7のそれぞれにおける選択動作
は、次の条件判定シーケンス〜に従う。 ・条件判定シーケンス: All AND36が
「1」の場合、端子32を選択する。すなわち、Wid
e−AND素子の結果を選択し、出力する。 ・条件判定シーケンス: All OR37が「1」
の場合は、端子33を選択する。すなわち、Wide−
OR素子の結果を選択し、出力する。 ・条件判定シーケンス: All XOR38が
「1」の場合、端子34を選択する。すなわち、Wid
e−XOR素子の結果を選択し、出力する。 ・条件判定シーケンス: All NOT39が
「1」の場合、端子35を選択する。すなわち、NOT
素子の結果を選択し、出力する。
【0036】上記条件判定シーケンス〜も、論理素
子を用いた布線論理で容易に実現できる。つまり、4入
力1出力セレクタSO0〜SO7のそれぞれは、論理素
子を用いた布線論理によって、容易に実現できる。
【0037】上記実施例によれば、入力ポートから入力
されるnビットのデータのうちで、任意の位置のビット
情報を、入力側マスキング回路IMによって取り出す機
構を備えているので、この入力側マスキング回路IMに
設定するマスク情報次第で、あらゆる組み合わせのビッ
トデータを生成することが可能である。
【0038】また、ここで生成されたビットデータを、
適用したい処理に特有のビット間演算関数のみをサポー
トした論理演算実行部AEに入力することによって、目
的とするビット間論理演算の結果を、小規模なハードウ
ェアで得ることができる。
【0039】さらに、論理演算実行部AEから出力され
るmビットの結果についても、任意の位置のビット情報
を出力側マスキング回路OMによって取り出し、出力ポ
ートに出力する機構を備えているので、この出力側マス
キング回路OMに設定するマスク情報次第で、希望する
ビット位置のみに演算結果を出力したり、処理結果に対
するフィルタリング処理が可能になる。
【0040】また、入力側/出力側の各ポートと各マス
キング回路IM、OMとの間に設けられたラッチ回路に
よって、必要な期間だけ入力データと出力データとを、
論理演算ユニット内部に留める処置によって、同一デー
タに対する複数の連続ビット間演算処理や、複数の処理
結果のmビットデータヘのパッキング処理等が可能であ
る。
【0041】図4は、ディジタル通信システムのスクラ
ンブル処理において、伝送データと合成されるスクラン
ブルパタンを生成するスクランブルパタン生成回路SP
を示す図であり、請求項3に記載の論理演算ユニットを
含む機能回路で構成した実施例で実現できることを説明
する図である。
【0042】ここで「スクランブル」とは、伝送された
ビット列を、ランダムなパタンに変換する処理であり、
スクランブルパタンの生成多項式は、X7 +X6 +1で
表される。すなわち、シリアルデータの時刻tにおける
スクランブルパタンは、時刻t−7のときのパタンと、
時刻t−6のときのパタンとの排他的論理和によって計
算される。シリアルデータを8ビットにパラレル展開し
た場合のスクランブルパタンは、次の式から計算でき
る。
【0043】時刻tのときのxビット位置のパタンを、
Dx(t)とすると、 D7(t)=D6(t−1) xor D5(t−1) D6(t)=D5(t−1) xor D4(t−1) D5(t)=D4(t−1) xor D3(t−1) D4(t)=D3(t−1) xor D2(t−1) D3(t)=D2(t−1) xor D1(t−1) D2(t)=D1(t−1) xor D0(t−1) D1(t)=D7(t−1) xor D5(t−1) D0(t)=D6(t−1) xor D4(t−1) である。
【0044】ここで、上記D1(t)とD0(t)との
導出法について説明する。一般に、時刻tにおけるスク
ランブルパタンは、時刻t−1におけるスクランブルパ
タンと時刻t−6におけるスクランブルパタンとの排他
的論理和で計算されるから、D1(t)=D0(t−
1) xor D7(t)であり、D0(t−1) xor D
7(t)={D7(t−1) xor D6(t−1)}xo
r {D6(t−1) xor D5(t−1)}=D7
(t−1) xor D5(t−1)である。したがって、
上記のように、 D1(t)=D7(t−1) xor D5(t−1) になる。また、D0(t)=D7(t) xor D6
(t)であり、D7(t) xor D6(t)={D6
(t−1) xor D5(t−1)} xor{D5(t−
1) xor D4(t−1)}=D6(t−1) xor D
4(t−1)である。したがって、上記のように、 D0(t)=D6(t−1) xor D4(t−1) になる。
【0045】すなわち、現時刻の各ビットのスクランブ
ルパタンは、前の時刻における8ビットスクランブルパ
タンのビット間排他的論理和演算で全て計算できる。
【0046】次に、スクランブルパタン生成回路SPの
実現方法について説明する。
【0047】スクランブルパタン生成回路SPは、一種
の論理演算ユニットであり、機能回路41〜48で構成
されている。つまり、スクランブルパタン生成回路SP
は、上記入力ポートから入力されるnビットのデータを
mセットに分岐する分岐回路と、上記分岐回路から出力
されるmセットのnビットデータをそれぞれの入力とす
るmセットの上記論理演算ユニット(8ビット入力8ビ
ット出力機能回路FC1)と、上記mセットの論理演算
ユニットのそれぞれから出力される1ビットの演算結果
を束ねてmビット幅にパックするパック回路とを有し、
出力データの各ビット毎に独立の上記論理演算ユニット
を割り当て、並列処理を行う論理演算ユニットである。
【0048】各ビット位置のスクランブルパタンを同時
に計算できるように演算ユニットを並列化した機能回路
41〜48のそれぞれは、図1、図2、図3で説明した
8ビット入力8ビット出力機能回路FC1と同じもので
ある。
【0049】上記8ビットパラレルスクランブルパタン
の計算式を参照し、入力側マスク情報12のうちで、演
算に必要なビット位置に「1」を立てる。また、関数指
定情報15として「10」を設定し、有効ビット間の排
他的論理和演算を指定した。xビット位置の演算結果が
xビット位置に出力されるように、出力側マスク情報1
4を設定する。ただし、図4に示すスクランブルパタン
生成回路SPを、スクランブルパタン生成専用回路とし
て使用する(多機能演算ユニットセットとして使用しな
い)場合、関数機能として排他的論理和のみを設定し、
関数指定情報15を省略するようにしてもよい。また、
出力データのビット幅mが1となっているので、出力側
マスク情報14も省略可能である。
【0050】出力側マスキング回路OMから出力される
8ビットデータのうちで、Write Enableに
なっている1ビットのみを抜き出す回路を、8ビット入
力8ビット出力機能回路FC1に付加すれば、スクラン
ブルパタン生成回路SPにおける機能回路41〜48を
作ることができる。ここで、上記Write Enab
leとなっている1ビットのみを抜き出す回路は、論理
素子を組み合わせれば、容易に実現できる。
【0051】図4に示すスクランブルパタン生成回路S
Pでは、現時刻のスクランブルパタンを、次の時刻の演
算対象データとして供給することができるように、入力
側ラッチと出力側ラッチとを共通化してある。実用のた
めには、スクランブルパタンを初期化する回路が他に必
要になる。
【0052】スクランブルパタン生成回路SPによれ
ば、出力されるビット数と同数の演算ユニットを用意
し、各ビット毎の演算を独立かつ同時に処理することに
よって、共通の入力データから複数パタンのビット間演
算を行ない、それぞれ異なるビット位置に出力する場合
に、処理時間が短縮される。
【0053】上記各実施例においては、nビットのデー
タ入力ポートとnビットの入力側マスキング回路とが直
接接続されているが、nビットのデータ入力ポートとn
ビットの入力側マスキング回路との間に、nビットデー
タを保持するnビットの入力側ラッチを設けるようにし
てもよい。このようにnビットの入力側ラッチを設けれ
ば、同じデータに対する演算を複数クロック実行するこ
とができる。なお、多機能回路として上記実施例を利用
する場合、必ずしもnビットの入力側ラッチを設ける必
要はないが、nビットの入力側ラッチを設けなければ、
演算の度に必ず入力ポートからデータを入力する必要が
ある。
【0054】また、データ出力側においても、上記のデ
ータ入力側の場合と同様に、ラッチを設けないようにし
てもよく、ラッチを設けるようにしてもよい。
【0055】図5は、上記実施例におけるプロセッサ用
ビット間論理演算ユニットAUを示すブロック図であ
り、請求項2に記載の論理演算ユニットを含むプロセッ
サ用ビット間論理演算ユニットを示すブロック図であ
る。
【0056】プロセッサ用ビット間論理演算ユニットA
Uは、入力側ラッチRA 、RB と、入力側マスキング回
路IM2と、論理演算実行部AE2と、出力側マスキン
グ回路OM2と、出力側ラッチRC とを有する。
【0057】つまり、プロセッサ用ビット間論理演算ユ
ニットAUは、nビット入力側ラッチとnビット入力側
マスキング回路とのセットが、任意のビット幅で複数の
ポート、ラッチ、マスキング回路に区切られた構成をと
り、単一入力データ内でのビット間演算だけでなく、複
数の任意ビット幅入力データ間で、任意の組み合わせの
ビット間演算を行う論理演算ユニットである。
【0058】プロセッサ用ビット間論理演算ユニットA
Uにおいて、その入力データの全ビット幅nを16と
し、これを8ビット+8ビットの2ポートに分けた構成
を採用し、出力データのビット幅mを8としてある。し
たがって、入力側ラッチRA と、入力側ラッチRB と、
入力側マスク情報51と、入力側マスク情報52と、出
力側ラッチRC と、マスク情報54との各ビット幅は、
いずれも8である。
【0059】論理演算実行部AE2において提供される
ビット間演算関数は、図1に示す8ビット入力8ビット
出力機能回路FC1で説明したビット間演算関数と同一
の4種(全有効ビットの論理積、論理和、排他的論理
和、各有効ビットの論理否定)である。したがって、論
理演算実行部AE2における関数指定情報53のビット
幅は、2である。
【0060】図1、図2、図3で説明した8ビット入力
8ビット出力機能回路FC1を拡張して、プロセッサ用
ビット間論理演算ユニットAUを実現することができ
る。すなわち、8ビットのラッチRA 、RB を設け、図
2に示す入力側マスキング回路IMを2セット用意し、
これら2セットの入力側マスキング回路IMによって入
力マスキング回路IM2を構成し、この入力マスキング
回路IM2が出力する合計16ビットのビット信号入力
58に対応できるように、図1に示す論理演算実行部A
Eにおける各論理素子16、17、18、19を変更し
たものを論理演算実行部AE2とし、さらに、出力側マ
スキング回路OMに8ビットのラッチRCを付加する。
このようにして、プロセッサ用ビット間論理演算ユニッ
トAUが構成される。
【0061】図5に示す演算ユニットAUをプロセッサ
のデータパス上に実装するには、8ビット+8ビットの
2入力ポートを、データパスの2つのソースバスに接続
し、8ビット出力ポートをデスティネーションバスに接
続すればよい。プロセッサの制御部またはインストラク
ションデコード部からの制御信号によって、演算ユニッ
トAUの制御を全て実行する。
【0062】各ラッチRA 、RB 、RC を、他の汎用レ
ジスタと同様にプログラムで指定できるようにする。演
算ユニットAUをプログラム制御可能にするために、命
令の符号形式(オペコード)の拡張を行う。
【0063】複数入力論理演算ユニットAUによれば、
入力ポートと入力側ラッチと入力側マスキング回路との
セットを複数設けることによって、複数の独立したデー
タ同士の間における任意のビット間論理演算が可能であ
る。また、複数の演算対象データをそれぞれ独立に扱う
ので、新規データと固定データとの間でビット間論理演
算を行う場合に、固定データ分に関して毎回入力する必
要がなくなる。
【0064】図6は、プロセッサ用ビット間論理演算ユ
ニットAUをプログラム制御するための命令の符号形式
(オペコード)の一例を示す図である。
【0065】図6において、「通常Operation
型命令」で示される形式は、汎用プロセッサにおけるレ
ジスタ−レジスタ間ALU演算のオペコードの典型を示
したものである。すなわち、ラッチRA 割り当てソース
62で指定されるレジスタと、ラッチRB 割り当てソー
ス63で指定されるレジスタとから、それぞれデータを
読み出し、それらをALUに入力し、Operator
61とFunction65とで指定される演算を行
い、その結果を、ラッチRC 割り当てソース64で指定
されるレジスタに書き戻す作業を指示するものである。
【0066】今回は、この形式のオペコードを、汎用レ
ジスタとプロセッサ用ビット間論理演算ユニットAU内
のレジスタとの間におけるレジスタ−レジスタ転送用途
にも使用する。すなわち、ラッチRA 割り当てソース6
2で指定されるレジスタのデータを、ラッチRA に転送
し、ラッチRB 割り当てソース63で指定されるレジス
タのデータ、ラッチRB に転送し、ラッチRC のデータ
をラッチRC 割り当てソース64で指定されるレジスタ
に転送する作業を指示する目的で、上記形式のオペコー
ドを使う。
【0067】このときに、Operator61とFu
nction65とによって、転送の種類を指定する。
たとえば、ラッチRA とラッチRC とに関する転送のみ
を指示し、ラッチRB へのデータ転送を禁止する命令で
ある。このようなポート毎の独立制御を行う命令を用意
することによって、複数用意した入力ポートのうちの一
部を、定数保持用または内部状態保持用として固定する
ことが可能になる。
【0068】ビット間論理演算対応ユニットAUに設定
される入力側マスク情報51、52と、出力側マスク情
報54と、関数指定情報53とは、図6中の「Bit
Operation型命令」で示される新たな形式を利
用して値を設定する。すなわち、Mask.In.1 66は、
入力側マスク情報51を指定し、Mask.In.2 67は、
入力側情報52を指定し、Mask.Out68は、出力側マス
ク情報54を指定し、B.F 69は、関数指定情報53を
指定する領域とする。
【0069】Operator610の欄には、ビット
間論理演算対応ユニットに対するオペコードであること
を明示するフラグの他に、演算継続/完了を示すフラグ
を与える。これは、他の算術論理演算ユニットに対する
オペコードと区別できるようにするためと、同一ビット
データ(入力側ラッチRA 、RB にロードされたデー
タ)に対する論理演算の繰り返し実行を可能にするため
の措置である。
【0070】任意のビット間論理演算処理への要求に対
し、図5に示すプロセッサ用ビット間論理演算ユニツト
AUと、図6に示す形式のオペコードとを用いて、次の
ようなシーケンスで処理を実現する。
【0071】処理シーケンス’: 図6の「通常Op
eration型命令」形式のオペコードを用いて、ユ
ニット内部の各ラッチと汎用レジスタとの間を接続す
る。このときに、ラッチRA とラッチRB とについて
は、レジスタからのデータ転送を直ちに実施するが、ラ
ッチRC は、転送先のレジスタとの接続を確保した状態
でデータ転送は保留する。
【0072】処理シーケンス’: 図6の「Bit
Operation型命令」形式のオペコードを用い
て、ユニット内部の各マスク情報と関数指定情報とにつ
いてセット&演算実行を行う。この動作は、Opera
tor欄の演算継続/完了フラグが継続中を示す間だけ
繰り返し、完了フラグが検出された場合、その時点のオ
ペコードで指定された演算を完了した後に、上記処理シ
ーケンス’で保留にしていたラッチRC のデータ転送
を実施して、一連のビット間演算を終了する。
【0073】図5で説明したプロセッサ用ビット間論理
演算ユニットAUと、図6で例示したオペコードとを組
み合わせることによって、通信処理で頻出する伝送信号
と内部状態との間のビット間演算処理を、蓄積プログラ
ム処理方式のプロセッサで高速に行うことが可能とな
る。
【0074】また、上記各実施例において、ビット間論
理演算機能を規定する論理演算実行部AEを、カスタム
LSIまたはマスクプログラマブルゲートアレイによっ
て必要な論理回路とその選択機構を作り込み、実行時に
回路を選択する構成によって、最小限のバードウェアリ
ソースで所望の機能に完全対応する論理演算ユニットを
提供することが可能である。
【0075】さらに、論理回路の実現手段にフィールド
でプログラム可能なデバイスを使用し、処理実行前に必
要な論理回路をユーザプログラムすれば、あらゆる論理
演算関数を現場で即座に実現できる極めて柔軟性の高い
論理演算ユニットを提供することが可能である。いずれ
の場合も、処理中の機能の変更はマスク情報のn+mビ
ットと回路の選択状態を示すための数ビットのメモリま
たはその複数セット分で行うので、高速な機能の変更が
可能である。
【0076】また、上記各実施例において、蓄積プログ
ラム処理方式プロセッサのデータバスに組み込み、プロ
グラムによって各マスキング情報および関数指定情報を
与えて本ユニットを制御することによって、プロセッサ
が持つ固有のワード幅の制約にとらわれない柔軟なビッ
ト間演算が可能になる。したがって、従来ではソースデ
ータのシフト処理が必要であったビット間演算でも、オ
ペコードに含まれるマスク情報によってダイレクトに演
算可能となり、消費クロック数を極めて削減することが
可能になる。
【0077】
【発明の効果】本発明によれば、通信処理等に現れるビ
ット間演算処理において、従来のカスタムLSIやゲー
トアレイのみによって実現した場合における非柔軟性を
排除でき、FPGAのみによって実現した場合における
機能変更の低速性を排除でき、プロセッサを利用した場
合における莫大なクロック消費を排除することができる
という効果を奏する。
【図面の簡単な説明】
【図1】本発明の一実施例である8ビット入力8ビット
出力機能回路FC1を示すブロック図であり、請求項1
に記載の論理演算ユニットを含む機能回路を示すブロッ
ク図である。
【図2】上記実施例における8ビット入力側マスキング
回路IMの構成図である。
【図3】上記実施例における8ビット出力側マスキング
回路OMの構成図である。
【図4】ディジタル通信システムのスクランブル処理に
おいて、伝送データと合成されるスクランブルパタンを
生成するスクランブルパタン生成回路SPを示す図であ
り、請求項3に記載の論理演算ユニットを含む機能回路
で構成した実施例で実現できることを説明する図であ
る。
【図5】上記実施例におけるプロセッサ用ビット間論理
演算ユニットAUを示すブロック図であり、請求項2に
記載の論理演算ユニットを含むプロセッサ用ビット間論
理演算ユニットを示すブロック図である。
【図6】プロセッサ用ビット間論理演算ユニットAUを
プログラム制御するための命令の符号形式(オペコー
ド)の一例を示す図である。
【符号の説明】
FC1…8ビット入力8ビット出力機能回路、 11…入力ポート、 12…入力側マスク情報、 13…出力ポート、 14…出力側マスク情報、 15…関数指定情報、 16…Wide−AND Gate、 17…Wide−OR Gate、 18…Wide−SOR Gate、 19…NOT Gate、 IM、IM2…入力側マスキング回路、 AE、AE2…論理演算実行部、 OM…出力側マスキング回路、 SI0〜SI7…4入力1出力セレクタ、 SO0〜SO7…4入力1出力セレクタ、 SP…スクランブルパタン生成回路、 AU…プロセッサ用ビット間論理演算ユニット、 RA 、RB …入力側ラッチ、 AC …出力側ラッチ。

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 nビットのデータ入力ポートに入力され
    たnビットデータの各ビット毎に有効/無効を設定する
    nビットの入力側マスキング回路と;上記入力側マスキ
    ング回路において有効と設定されたビットデータのみを
    演算対象として、ビット間論理演算を行う最大nビット
    入力mビット出力の論理演算実行部と;上記論理演算実
    行部から出力されるmビット出力について、各ビット毎
    に有効/無効を設定するmビットの出力側マスキング回
    路と;上記出力側マスキング回路において有効と設定さ
    れたビット位置のデータのみを保持するmビットの出力
    側ラッチ、またはユニット外部に出力するmビットのデ
    ータ出力ポートと;を有し、入力されるnビットデータ
    から任意の組み合わせのビット間演算を行い、mビット
    のうちの1つまたは複数の任意のビット位置に出力する
    ことを特徴とする論理演算ユニット。
  2. 【請求項2】 請求項1において、 上記nビットデータ入力ポートと上記nビット入力側マ
    スキング回路とのセットが、任意のビット幅で複数のポ
    ート、マスキング回路に区切られた構成をとり、単一入
    力データ内でのビット間演算だけでなく、複数の任意ビ
    ット幅入力データ間で、任意の組み合わせのビット間演
    算を行うことを特徴とする論理演算ユニット。
  3. 【請求項3】 請求項1または請求項2において、 上記入力ポートから入力されるnビットのデータをmセ
    ットに分岐する分岐回路が設けられ、上記論理演算ユニ
    ットがmセット設けられ、上記分岐回路から出力される
    mセットのnビットデータのそれぞれが、上記mセット
    の論理演算ユニットのそれぞれに入力され、上記mセッ
    トの論理演算ユニットのそれぞれから出力される1ビッ
    トの演算結果をパック回路が束ねてmビット幅にパック
    し、出力データの各ビット毎に独立の上記論理演算ユニ
    ットを割り当て、並列処理を行うことを特徴とする論理
    演算ユニット。
  4. 【請求項4】 請求項1〜請求項3のいずれか1項にお
    いて、 上記nビットのデータ入力ポートと上記nビットの入力
    側マスキング回路との間に、上記nビットデータを保持
    するnビットの入力側ラッチを有することを特徴とする
    論理演算ユニット。
JP13085596A 1996-04-26 1996-04-26 論理演算ユニットおよび論理演算装置 Expired - Fee Related JP3533825B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13085596A JP3533825B2 (ja) 1996-04-26 1996-04-26 論理演算ユニットおよび論理演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13085596A JP3533825B2 (ja) 1996-04-26 1996-04-26 論理演算ユニットおよび論理演算装置

Publications (2)

Publication Number Publication Date
JPH09292990A true JPH09292990A (ja) 1997-11-11
JP3533825B2 JP3533825B2 (ja) 2004-05-31

Family

ID=15044278

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13085596A Expired - Fee Related JP3533825B2 (ja) 1996-04-26 1996-04-26 論理演算ユニットおよび論理演算装置

Country Status (1)

Country Link
JP (1) JP3533825B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005038644A1 (ja) * 2003-10-17 2005-04-28 Matsushita Electric Industrial Co., Ltd. データ処理装置
WO2015015905A1 (ja) * 2013-07-29 2015-02-05 学校法人明星学苑 論理演算装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005038644A1 (ja) * 2003-10-17 2005-04-28 Matsushita Electric Industrial Co., Ltd. データ処理装置
WO2015015905A1 (ja) * 2013-07-29 2015-02-05 学校法人明星学苑 論理演算装置
US9866219B2 (en) 2013-07-29 2018-01-09 Meisei Gakuen Device for logic operation

Also Published As

Publication number Publication date
JP3533825B2 (ja) 2004-05-31

Similar Documents

Publication Publication Date Title
US6006321A (en) Programmable logic datapath that may be used in a field programmable device
US4472788A (en) Shift circuit having a plurality of cascade-connected data selectors
US5542074A (en) Parallel processor system with highly flexible local control capability, including selective inversion of instruction signal and control of bit shift amount
US6226735B1 (en) Method and apparatus for configuring arbitrary sized data paths comprising multiple context processing elements
JP2879070B2 (ja) プログラム可能論理ユニット及び信号プロセッサ
US4085447A (en) Right justified mask transfer apparatus
US4037213A (en) Data processor using a four section instruction format for control of multi-operation functions by a single instruction
JPH0431411B2 (ja)
US6150836A (en) Multilevel logic field programmable device
EP0070863A1 (en) CONTROL UNIT WITH SAVED PROGRAM.
US4503511A (en) Computing system with multifunctional arithmetic logic unit in single integrated circuit
US3436737A (en) Shift enable algorithm implementation means
JPS642986B2 (ja)
US20010028629A1 (en) Self-synchronous transfer control circuit and data driven information processing device using the same
US3753238A (en) Distributed logic memory cell with source and result buses
JP3533825B2 (ja) 論理演算ユニットおよび論理演算装置
JPH1185507A (ja) 中央処理装置およびマイクロコンピュータシステム
JP2002026721A (ja) 情報処理装置
JP5253406B2 (ja) デジタル電子バイナリ回転器及び反転器
JPS622328B2 (ja)
JP2885402B2 (ja) 並列形全加算器の桁上げ伝搬回路
JPH0679268B2 (ja) 可変のデ−タバス幅をもつプログラム装置におけるプログラム制御のシフト機構
US6317771B1 (en) Method and apparatus for performing digital division
JPH09185493A (ja) 加算器用集積回路
US5027300A (en) Two level multiplexer circuit shifter apparatus

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20031205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040203

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040227

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20040301

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040301

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090319

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090319

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100319

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees