JPH06103024A - Cpuにおけるビット演算用制御装置 - Google Patents

Cpuにおけるビット演算用制御装置

Info

Publication number
JPH06103024A
JPH06103024A JP4273422A JP27342292A JPH06103024A JP H06103024 A JPH06103024 A JP H06103024A JP 4273422 A JP4273422 A JP 4273422A JP 27342292 A JP27342292 A JP 27342292A JP H06103024 A JPH06103024 A JP H06103024A
Authority
JP
Japan
Prior art keywords
register
bit
data
cpu
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.)
Pending
Application number
JP4273422A
Other languages
English (en)
Inventor
Hitoshi Ikeda
仁 池田
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP4273422A priority Critical patent/JPH06103024A/ja
Publication of JPH06103024A publication Critical patent/JPH06103024A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【目的】 少ないハードウェアでビット演算の高速化を
実現した、CPUにおけるビット演算用制御装置を提供
する。 【構成】 汎用レジスタファイル4内のレジスタに設定
されたデータは、接続切替回路6a,6bに供給され
る。予め設定されたフラグレジスタ5の値により、ビッ
ト位置の反転が指定されている場合、接続切替回路6
a,6bでは、各レジスタのデータのビット位置が反転
され、レジスタ選択回路7a,7bに供給される。レジ
スタ選択回路7a,7bでは、レジスタを1つずつ選択
し、内部バス1および2には、ビット位置が反転したデ
ータが出力される。ALU8では、内部バス1および2
上のデータを取り込み、演算を行ない、演算結果を内部
バス3に出力する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、CPUにおけるビット
演算を少ないハードウェアで、また高速に実行するため
のビット演算用制御装置に関するものである。
【0002】
【従来の技術】従来、CPUはコードデータの演算を目
的として作られている。そのため、ビット演算を行なう
ための命令が用意されていなかったり、あるいは、用意
されていても、ビットごとの論理演算や、ビットシフ
ト、ビットのオンオフ程度の演算機能しか用意されてい
ない。このような従来のCPUを用いてビット演算、例
えば、画像の鏡像変換処理などを行なおうとした場合、
ビットシフトやビットテスト等、多数の命令を実行して
処理を行なうことになる。しかし、このように多数の命
令を要して実行していたのでは、例えば、画像処理のよ
うに、多数のデータを処理する場合には、処理時間が非
常に長くなる。そのため、従来では、専用のハードウェ
アを設けている。
【0003】図6は、従来の画像処理装置の構成例を示
すブロック図である。図中、21はCPU、22はCP
Uバス、23はメモリ、24は画像処理プロセッサであ
る。この例では、画像処理演算を行なう専用ハードウェ
アを備えている。CPU21から延びるCPUバス22
に、メモリ23および画像処理プロセッサ24が接続さ
れている。通常の演算はCPU21が行ない、ビット演
算など、CPU21では困難な処理を画像処理プロセッ
サ24で行なう。そのため、ビット演算をCPU21で
行なう場合に比べ、高速にビット演算を行なうことがで
きる。しかし、このような構成の場合には、専用ハード
ウェアである画像処理プロセッサおよびその制御回路が
必要となるため、ハードウェア量が増加し、コスト的に
も高価なものになる。
【0004】図7は、従来の画像処理装置の別の構成例
を示すブロック図である。図中、25はデータバス、2
6はメモリ、27は画接続切替手段、28は接続条件レ
ジスタである。この例では、CPUのメモリ読み出し動
作によりビット位置の反転等を行なう構成例である。デ
ータバス25にメモリ26を接続する際に、メモリ26
からデータバス25へのデータ線の途中に、画接続切替
手段27を挿入し、データ線の接続を切り替え、ビット
位置の反転、すなわち鏡像変換を行なえるように構成し
ている。また、接続条件レジスタ28を画接続切替手段
27に接続して、接続の切替を行なうか否かを制御して
いる。このような構成を用いることにより、メモリの読
み出しのみによって鏡像変換などを行なうことができ
る。しかし、この場合にも、画接続切替手段27や接続
条件レジスタ28などがメモリ26などとは別に必要に
なるため、ハードウェア量がかなり増加し、また画接続
切替手段27などによる遅延により、CPUの処理に比
較して時間のかかるメモリアクセスがより遅くなってし
まう。
【0005】
【発明が解決しようとする課題】本発明は、上述した事
情に鑑みてなされたもので、少ないハードウェアでビッ
ト演算の高速化を実現したCPUにおけるビット演算用
制御装置を提供することを目的とするものである。
【0006】
【課題を解決するための手段】本発明は、CPUにおけ
るビット演算用制御装置において、汎用レジスタファイ
ルとALUの間に配置されビット位置の反転を行なう接
続切替手段と、ビット位置の反転を行なうか否かを選択
するフラグレジスタを備えたことを特徴とするものであ
る。
【0007】
【作用】本発明によれば、CPU内の汎用レジスタファ
イルとALUの間に、ビット位置の反転を行なう接続切
替手段が配置されているから、画像処理プロセッサや画
接続切替手段等のビット演算専用のハードウェアを外部
に設けることなく、鏡像処理などのビット演算を行な
い、さらに、ALUによって、所定の演算を行なうこと
ができ、同じマシンサイクル内でビット演算と、所定の
演算とを連続して行なうことができる。また、ビット位
置の反転を行なうか否かを選択するフラグレジスタを備
えているから、ビット位置の反転処理を行なう場合の
み、接続切替手段によりビット位置の反転を行なうよう
に制御でき、ビット位置の反転処理を行なわないときに
は、通常のCPUの演算をそのまま行なうことができ
る。
【0008】
【実施例】図1は、本発明のCPUにおけるビット演算
用制御装置の一実施例のブロック図である。図中、1乃
至3は内部バス、4は汎用レジスタファイル、5はフラ
グレジスタ、6a,6bは接続切替回路、7a,7bは
レジスタ選択回路、8はALU、9はバスインタフェイ
スである。
【0009】汎用レジスタファイル4は、8個のレジス
タを有しており、3ビットのレジスタアドレスWA3−
0およびレジスタ書き込み信号が入力される。レジスタ
書き込み信号がアクティブになると、レジスタアドレス
WA3−0によって指定されたレジスタに内部バス3上
のデータが書き込まれる。汎用レジスタファイル内の8
個のレジスタからの出力は、2つの接続切替回路6aお
よび6bに接続されている。フラグレジスタ5は、接続
切替回路6aおよび6bの動作を切り替えるためのデー
タが格納される。フラグレジスタ5には、内部バス3、
レジスタ書き込み信号、およびフラグレジスタ5のセレ
クト信号SFRが入力されている。セレクト信号SFR
によってフラグレジスタ5が指定されているときに、レ
ジスタ書き込み信号がアクティブになると、内部バス3
上のデータがフラグレジスタ5に書き込まれる。フラグ
レジスタ5の内容は、接続切替回路6aおよび6bに入
力されている。接続切替回路6aおよび6bは、汎用レ
ジスタファイルおよびレジスタ選択回路7a,7b、フ
ラグレジスタに接続されており、フラグレジスタの値に
応じて、汎用レジスタファイル4内の各レジスタのビッ
ト列の位置を反転させる。例えば、フラグレジスタ5の
出力が「1」のときは、汎用レジスタファイル4内のレ
ジスタのデータは、そのビット位置が反転されてレジス
タ選択回路7aまたは7bに出力される。フラグレジス
タ5の出力が「0」のときは、汎用レジスタファイル4
内のレジスタのデータは、そのビット位置が反転されず
にレジスタ選択回路7aまたは7bに出力される。レジ
スタ選択回路7a,7bは、接続切替回路6aまたは6
bおよび内部バス1または2に接続され、内部バス1ま
たは2を介してALU8に接続されている。また、3ビ
ットのレジスタアドレスRAA3−0,RAB3−0が
それぞれ入力されており、接続切替回路6aまたは6b
を介して送られてくる8個のレジスタ出力のうちの1つ
を選択する。ALU8は、内部バス1乃至3に接続され
ており、内部バス1,2により、レジスタ選択回路7a
および7bで選択されたレジスタ出力が入力され、入力
された2つのデータに対して、または、どちらか一方に
対して、図示しない制御回路によって指定された演算を
施し、内部バス3に出力する。バスインターフェイス9
は、内部バス3およびCPU外部バスに接続されてお
り、内部バス3上のデータを外部バスに送出し、また
は、外部バス上のデータを内部バス3に送出する。これ
らの各回路は、図示しない制御部により制御される。
【0010】上述の汎用レジスタファイル4内のレジス
タの数やビット構成等は、適宜変更可能である。接続切
替回路6aおよび6bは、レジスタ選択回路7aおよび
7bに汎用レジスタファイル4からの信号を分岐する前
に、1つだけ設け、接続切替回路からの出力を分岐して
レジスタ選択回路7aおよび7bに入力するように構成
することもできる。また、接続切替回路6aおよび6b
は、レジスタ選択回路7aおよび7bと、内部バス1お
よび2の間に挿入し、レジスタ選択回路7aおよび7b
により選択されたレジスタのデータのみに対してビット
位置の反転処理を行なうように構成することもできる。
さらに、接続切替回路6aと6bに対して別々のフラグ
レジスタ5を有する構成とすることもできる。このよう
に構成した場合、ALU8の一方の入力にはビット位置
の反転したデータを入力し、他方の入力にはビット位置
を反転しないデータを入力して、演算を行なうことも可
能となる。
【0011】本発明のCPUにおけるビット演算用制御
装置の一実施例の動作を説明する。接続切替回路6a,
6bは、フラグレジスタ5に設定された値が「1」のと
きに、レジスタのビット位置を反転させるものとする。
逆の論理でももちろんよい。
【0012】汎用レジスタファイル4中のレジスタへの
データの設定は、内部バス3上のデータを取り込むこと
により行なわれる。外部メモリ内のデータであれば、外
部メモリからデータが読み出され、CPU外部バス、バ
スインターフェイス9、内部バス3を介して汎用レジス
タファイル4にデータが供給され、レジスタ書き込み信
号がアクティブになった時点で、レジスタアドレスWA
3−0により指定されたレジスタへデータが書き込まれ
る。フラグレジスタ5へのデータの設定も同様に行なわ
れ、セレクト信号SFRがアクティブの場合に、レジス
タ書き込み信号がアクティブになると、内部バス3上の
データが書き込まれる。
【0013】フラグレジスタ5に設定された値が「0」
の場合は、汎用レジスタファイル4内のレジスタに設定
されたデータは、それぞれ接続切替回路6aおよび6b
に入力されるが、フラグレジスタ5に設定されている値
が「0」であるから、レジスタに設定されているデータ
をそのままレジスタ選択回路7aおよび7bに供給す
る。レジスタ選択回路7aおよび7bでは、それぞれレ
ジスタアドレスRAA3−0、RAB3−0によって汎
用レジスタファイル4中のレジスタを1つずつ選択し、
内部バス1および2に出力する。ALU8では、内部バ
ス1および2上のデータを取り込み、この2つのデータ
に対し、2項演算を施し、または、どちらか一方を選択
し、ある場合には単項演算を施し、内部バス3に出力す
る。ALU8において行なわれる演算は、図示しない制
御装置により、設定されている。内部バス3上のデータ
は、汎用レジスタファイル4や、フラグレジスタに書き
込まれたり、または、バスインターフェイスを介してC
PU外部バスに出力され、外部メモリや、外部記憶装
置、その他入出力機器などに送出される。
【0014】フラグレジスタ5に設定された値が「1」
の場合には、汎用レジスタファイル4内のレジスタに設
定されたデータは、接続切替回路6aおよび6bにおい
て、各レジスタのデータのビット位置が反転され、レジ
スタ選択回路7a、7bに供給される。レジスタ選択回
路7aおよび7bでは、それぞれレジスタアドレスRA
A3−0、RAB3−0によって汎用レジスタファイル
4中のレジスタを1つずつ選択することにより、内部バ
ス1および2には、ビット位置が反転したデータが出力
される。以下、フラグレジスタ5に設定された値が
「0」の場合と同様に、ALU8において、内部バス1
および2上のビット位置が反転したデータを取り込み、
2項演算、または、どちらか一方を選択し、ある場合に
は単項演算が行なわれて、内部バス3に出力され、汎用
レジスタファイル4や、フラグレジスタへの書き込み、
または、バスインターフェイスを介して、外部メモリ
や、外部記憶装置、その他入出力機器などに送出され
る。
【0015】このようにして、接続切替回路6aおよび
6bを用いたCPUの演算命令などが実行される。この
とき、フラグレジスタ5の出力が決定していれば、接続
切換回路6aおよび6bの出力も決定され、レジスタ選
択回路7aおよび7bに供給されている。そのため、接
続切換回路6aおよび6bの遅延時間により、CPUの
四則演算命令やビット演算命令などの実行スピードが低
下することはない。
【0016】図2は、接続切換回路の一実施例を示す概
略構成図である。図中、10−a乃至10−hは位置切
替回路、R0乃至R7は汎用レジスタファイル4内の各
レジスタの出力、A0乃至A7は各位置切替回路からの
出力である。接続切替回路は、汎用レジスタファイル4
内のレジスタの数だけの位置切替回路を有している。こ
こでは、レジスタの数を8として説明する。汎用レジス
タファイル4内の各レジスタからの出力信号は、それぞ
れ位置切替回路10−a乃至10−hに入力されてい
る。また、フラグレジスタ5の値がセレクト信号SEL
により供給されている。各位置切替回路10−a乃至1
0−hでは、セレクト信号SELの指示に従い、例えば
セレクト信号SELによってビット位置の反転が指示さ
れているときには、各レジスタの出力R0乃至R7のそ
れぞれについてビット位置の反転を行ない、出力信号A
0ないしA7としてレジスタ選択回路7aまたは7bに
出力する。
【0017】図3は、位置切替回路の一実施例を示す概
略構成図である。図中、11−a乃至11−pはマルチ
プレクサ、R0−0乃至R0−15は1つのレジスタか
らの入力線、A0−0乃至A0−15は位置切替回路の
出力線である。図3では、図2における位置切替回路1
0−aについて図示している。他の位置切替回路につい
ても同様の構成である。1つの位置切替回路は、レジス
タのビット数だけのマルチプレクサを有している。ここ
では、レジスタのビット数を16として説明する。16
個のマルチプレクサ11−a乃至11−pは、2入力1
出力のマルチプレクサであり、入力端子AまたはBに入
力された信号のうち、セレクト端子Sに入力される信号
により、どちらかを選択して出力端子Zより出力する。
位置切替回路10−aには、レジスタからの入力信号R
0が入力されているが、その入力信号の各ビットごとの
入力線R0−0乃至R0−15のうち、通常の状態で出
力すべきビットに対応する入力線と、位置を反転したと
きに出力すべきビットに対応する入力線の2本の入力線
が、それぞれマルチプレクサ11−a乃至11−pの入
力端子AまたはBに入力されている。すなわち、マルチ
プレクサ11−aは、通常の状態でビット0のデータを
出力し、また位置を反転する場合にはビット15のデー
タをビット0の位置のデータとして出力させるために、
入力端子Aに入力線R0−0が、入力端子Bに入力線R
0−15が入力される。同様に、マルチプレクサ11−
bには、通常の状態でビット1のデータを出力し、位置
を反転する場合にビット14のデータをビット1のデー
タとして出力させるために、入力端子Aに入力線R0−
1が、入力端子Bに入力線R0−14が入力される。以
下同様に配線され、マルチプレクサ11−pには、入力
端子Aに入力線R0−15が、入力端子Bに入力線R0
−0が入力される。各マルチプレクサ11−a乃至11
−pのセレクト端子Sには、図1のフラグレジスタ5か
らセレクト信号SELが供給されている。セレクト信号
SELが、例えば「0」のときには、各マルチプレクサ
11−a乃至11−pは入力端子Aの信号を出力端子Z
に出力するとすれば、この場合には、マルチプレクサ1
1−aからはレジスタの入力線R0−0のデータが位置
切替回路の出力線A0−0から出力される。同様に、マ
ルチプレクサ11−bからは、入力線R0−1のデータ
が出力線A0−1から出力され、マルチプレクサ11−
pからは、入力線R0−15のデータが出力線A0−1
5から出力される。また、セレクト信号SELが、
「1」のときには、各マルチプレクサ11−a乃至11
−pは入力端子Bの信号が出力端子Zに出力され、マル
チプレクサ11−aからはレジスタの入力線R0−15
のデータが位置切替回路の出力線A0−0から出力され
る。同様に、マルチプレクサ11−bからは、入力線R
0−14のデータが出力線A0−1から出力され、マル
チプレクサ11−pからは、入力線R0−0のデータが
出力線A0−15から出力される。
【0018】このようにして、位置切替回路では、フラ
グレジスタの値に応じて、汎用レジスタファイル4中の
各レジスタのビット構成を、通常の並び順またはビット
位置の反転した逆順に変換することができる。
【0019】図4は、ビット位置の反転の具体例の説明
図である。図4(A)に示したようなビット列のデータ
が汎用レジスタファイル4中のあるレジスタに格納され
ている場合に、セレクト信号SELが「1」であると、
位置切替回路から出力されるデータは、図4(B)に示
すように、ビット位置が反転したデータとなる。すなわ
ち、図4(A)において、第1,4,5,9,10,1
1ビットが「1」となっているデータは、位置切替回路
においてビット位置が反転され、第14,11,10,
6,5,4ビットが「1」となったデータが出力され
る。
【0020】図5は、ビット位置の反転処理の具体的な
応用例の説明図である。図5では、ビット演算の1つと
して鏡像変換を例として説明する。図5(A)は変換前
の画像を示し、図5(B)は変換後の画像を示す。図に
示すように、画像の左右を入れ換える変換を、ここでは
鏡像変換と呼ぶ。簡単のために、横方向に16ビットの
画素が並んでいるものとする。CPUは、CPU外部バ
スを通してメモリから、変換前の画像の横1列の16ビ
ットのデータを、汎用レジスタファイル4内の1つのレ
ジスタに読み込む。ビット位置が反転するようにフラグ
レジスタ5の値を予め設定しておく。すると、汎用レジ
スタファイル4から読み出される値は、接続切換手段6
aおよび6bを通過する際にビット位置が反転される。
このビット位置が反転したデータがレジスタ選択手段7
aまたは7bに供給され、レジスタ選択手段7aまたは
7bでレジスタが選択され、ALU8に供給される。A
LU8では、レジスタ選択手段7aまたは7bのどちら
か所定のデータを選択して内部バス3に出力する。内部
バス3上のデータは、バスインターフェース9、CPU
外部バスを介して外部のメモリの所定のアドレスに書き
込まれる。この処理を縦方向の画素数だけ繰り返すこと
により、図5(B)のような鏡像変換された画像を得る
ことができる。
【0021】
【発明の効果】以上の説明から明らかなように、本発明
によれば、CPU内部に接続切替手段およびフラグレジ
スタを有し、フラグレジスタの内容に従ってレジスタか
らの出力のビット位置を反転するか否かを選択すること
により、外部に演算回路などを設けずに、少ないハード
ウェア構成で、しかもCPUの演算時間を増大させるこ
となくビット演算を行なうことができる、という効果が
ある。
【図面の簡単な説明】
【図1】 本発明のCPUにおけるビット演算用制御装
置の一実施例のブロック図である。
【図2】 接続切換回路の一実施例を示す概略構成図で
ある。
【図3】 位置切替回路の一実施例を示す概略構成図で
ある。
【図4】 ビット位置の反転の具体例の説明図である。
【図5】 ビット位置の反転処理の具体的な応用例の説
明図である。
【図6】 従来の画像処理装置の構成例を示すブロック
図である。
【図7】 従来の画像処理装置の別の構成例を示すブロ
ック図である。
【符号の説明】
1乃至3 内部バス、4 汎用レジスタファイル、5
フラグレジスタ、6a,6b 接続切替回路、7a,7
b レジスタ選択回路、8 ALU、9 バスインタフ
ェイス、10−a乃至10−h 位置切替回路、11−
a乃至11−pマルチプレクサ。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 CPUにおけるビット演算用制御装置に
    おいて、汎用レジスタファイルとALUの間に配置され
    ビット位置の反転を行なう接続切替手段と、ビット位置
    の反転を行なうか否かを選択するフラグレジスタを備え
    たことを特徴とするCPUにおけるビット演算用制御装
    置。
JP4273422A 1992-09-18 1992-09-18 Cpuにおけるビット演算用制御装置 Pending JPH06103024A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4273422A JPH06103024A (ja) 1992-09-18 1992-09-18 Cpuにおけるビット演算用制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4273422A JPH06103024A (ja) 1992-09-18 1992-09-18 Cpuにおけるビット演算用制御装置

Publications (1)

Publication Number Publication Date
JPH06103024A true JPH06103024A (ja) 1994-04-15

Family

ID=17527682

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4273422A Pending JPH06103024A (ja) 1992-09-18 1992-09-18 Cpuにおけるビット演算用制御装置

Country Status (1)

Country Link
JP (1) JPH06103024A (ja)

Similar Documents

Publication Publication Date Title
US4222103A (en) Real time capture registers for data processor
US4255785A (en) Microprocessor having instruction fetch and execution overlap
JPH031699B2 (ja)
JP3237858B2 (ja) 演算装置
US5497459A (en) System for testing instruction queue circuit and central processing unit having the system
US4503511A (en) Computing system with multifunctional arithmetic logic unit in single integrated circuit
US3997771A (en) Apparatus and method for performing an arithmetic operation and multibit shift
GB2153558A (en) Pipelined data processing
US4677549A (en) Pipelined data processor system having increased processing speed
JPH06103024A (ja) Cpuにおけるビット演算用制御装置
US4747066A (en) Arithmetic unit
JP2922963B2 (ja) シーケンスコントローラ
US5479165A (en) Two-dimensional coding apparatus
GB2042227A (en) Rear time capture registers for data processor
JPH0310129B2 (ja)
JPH0346833B2 (ja)
JPH0668055A (ja) ディジタル信号処理装置
JP2945525B2 (ja) プロセッサ、メモリ、およびデータ処理装置
JPH0810443B2 (ja) メモリ制御回路
JP2004192405A (ja) Simd型プロセッサ
JPH09128233A (ja) 中央処理装置
KR19980083459A (ko) 데이터버스 사이즈 조정 장치
JPS5971510A (ja) シ−ケンス制御回路
JPH0236423A (ja) 退避/復帰レジスタアドレス生成回路
JPH01233515A (ja) 情報処理装置