JPH0319029A - データ処理装置 - Google Patents
データ処理装置Info
- Publication number
- JPH0319029A JPH0319029A JP1154886A JP15488689A JPH0319029A JP H0319029 A JPH0319029 A JP H0319029A JP 1154886 A JP1154886 A JP 1154886A JP 15488689 A JP15488689 A JP 15488689A JP H0319029 A JPH0319029 A JP H0319029A
- Authority
- JP
- Japan
- Prior art keywords
- bit
- bus
- address
- register
- offset
- 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
Links
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、ビット操作もしくはビットフィールド操作を
行う命令の実行が可能なデータ処理装置に関するもので
ある。
行う命令の実行が可能なデータ処理装置に関するもので
ある。
第7図は、従来のデータ処理装置においてビット操作命
令を実行する部分のブロック図である。
令を実行する部分のブロック図である。
図において、(1)〜(3)はそれぞれS1バス(第1
のバス)、S2バス(第2のバス)、Dバス(第3のバ
ス)で、それぞれ32ビット幅のバスである。(4)は
32ビットのレジスタRO〜Rnから成るレジスタファ
イルであり、Dバス(3)からデータを取り込み、S1
バス(1)か82バス(2)もしくは両方に出力するこ
とができる。(5)は0,1.3.7などの定数が格納
されている定数ROM部で、サイズ情報に応じた値を8
1バス(1)もしくはS2バス(2)に出力できる。(
6)、(9)はメモリアドレスレジスタとメモリデー・
タレジスタであり、メモリ内のデータをアクセスする際
に用いられる。メモリからデータを読み出す場合には、
そのデータのアドレスをメモリアドレスレジスタ(6)
にセットして読み出しを行うことにより、読み出された
データがメモリデータレジスタ(9〉に格納される。
のバス)、S2バス(第2のバス)、Dバス(第3のバ
ス)で、それぞれ32ビット幅のバスである。(4)は
32ビットのレジスタRO〜Rnから成るレジスタファ
イルであり、Dバス(3)からデータを取り込み、S1
バス(1)か82バス(2)もしくは両方に出力するこ
とができる。(5)は0,1.3.7などの定数が格納
されている定数ROM部で、サイズ情報に応じた値を8
1バス(1)もしくはS2バス(2)に出力できる。(
6)、(9)はメモリアドレスレジスタとメモリデー・
タレジスタであり、メモリ内のデータをアクセスする際
に用いられる。メモリからデータを読み出す場合には、
そのデータのアドレスをメモリアドレスレジスタ(6)
にセットして読み出しを行うことにより、読み出された
データがメモリデータレジスタ(9〉に格納される。
また、メモリへ書き込む場合には、書き込み先のアドレ
スをメモリアドレスレジスタ(6)に、書き込みデータ
をメモリデータレジスタ(9)にセットして書き込みを
行う。メモリアドレスレジスタ(6)にはカウンタ(7
)がイ寸いており、S1バス(1)から入力したアドレ
スをサイズ情報に応じて1か2か4をインクリメントも
しくはデクリメントすることができる。メモリデータレ
ジスタ(9)は書き込みデータをDバス(3)から取り
込み、読み出しデータを81バス(1)もしくはS2バ
ス(2)に出力する。(13)は算術演算や論理演算を
おこなう算術論理演篩部(ALU部)であり、Aレジス
タ(10)とBレジスタ(12)から出力されるデータ
間の演算を行い、その結果をOレジスタ(14)に出力
する。Aレジスタ(10)、Bレジスタ(12)は33
ビット幅のレジスタで、それぞれS1バス(1)、S2
バス(2)からの入力とALL1部(13)への出力を
行う。データを入力する際にはそのデータのサイズから
33ビットに符号拡張またはゼロ拡張してから取り込む
。また、ALLJ部(13)に出力する際にはAレジス
タ(10)、Bレジスタ(12)の内容をそのまま出力
する他に、反転した値を出力したり、ゼロを出力するこ
とができる。
スをメモリアドレスレジスタ(6)に、書き込みデータ
をメモリデータレジスタ(9)にセットして書き込みを
行う。メモリアドレスレジスタ(6)にはカウンタ(7
)がイ寸いており、S1バス(1)から入力したアドレ
スをサイズ情報に応じて1か2か4をインクリメントも
しくはデクリメントすることができる。メモリデータレ
ジスタ(9)は書き込みデータをDバス(3)から取り
込み、読み出しデータを81バス(1)もしくはS2バ
ス(2)に出力する。(13)は算術演算や論理演算を
おこなう算術論理演篩部(ALU部)であり、Aレジス
タ(10)とBレジスタ(12)から出力されるデータ
間の演算を行い、その結果をOレジスタ(14)に出力
する。Aレジスタ(10)、Bレジスタ(12)は33
ビット幅のレジスタで、それぞれS1バス(1)、S2
バス(2)からの入力とALL1部(13)への出力を
行う。データを入力する際にはそのデータのサイズから
33ビットに符号拡張またはゼロ拡張してから取り込む
。また、ALLJ部(13)に出力する際にはAレジス
タ(10)、Bレジスタ(12)の内容をそのまま出力
する他に、反転した値を出力したり、ゼロを出力するこ
とができる。
0レジスタ(14)はALU部(13)からの演算結果
をDバス(3)に出力する。(15)はデータを一度に
右や左にシフト及びローテートを行うバレルシフタ部で
あり、シフトすべぎデータをS2バス(2)から取り込
み、シフト幅レジスタ(16)が示すシフト幅だけシフ
トもしくはローデートしてDバス(3)に出力する。シ
フト幅レジスタ(16)はS1バス(1)からシフト幅
データを入力する。(17)はプライオリティエンコー
ダ部であり、S1バス(1)から取り込んだデータにお
いて、オフセットレジスタ(19)の値が示すビット位
置からOもしくは1を探し、見つかったビット位置のビ
ット番号をオフセットレジスタ(1つ)に返す。オフセ
ットレジスタ(19)はS2バス(2)から入力し、D
バス(3)に出力する。
をDバス(3)に出力する。(15)はデータを一度に
右や左にシフト及びローテートを行うバレルシフタ部で
あり、シフトすべぎデータをS2バス(2)から取り込
み、シフト幅レジスタ(16)が示すシフト幅だけシフ
トもしくはローデートしてDバス(3)に出力する。シ
フト幅レジスタ(16)はS1バス(1)からシフト幅
データを入力する。(17)はプライオリティエンコー
ダ部であり、S1バス(1)から取り込んだデータにお
いて、オフセットレジスタ(19)の値が示すビット位
置からOもしくは1を探し、見つかったビット位置のビ
ット番号をオフセットレジスタ(1つ)に返す。オフセ
ットレジスタ(19)はS2バス(2)から入力し、D
バス(3)に出力する。
第8図は、ビット操作命令を行う場合に、操作対象とな
るビットの位置がベースアドレスとビットオフセットに
よってどのように指定されるかを説明した図である。
るビットの位置がベースアドレスとビットオフセットに
よってどのように指定されるかを説明した図である。
第9図は、ビット操作命令を行う場合に、アクセスサイ
ズによってアクセスされるメモリ領域の範囲がどうなる
かを説明した図である。
ズによってアクセスされるメモリ領域の範囲がどうなる
かを説明した図である。
第10図は、ベースアドレスとビットオフセットから正
規化アドレスと正規化ピットオフセラI・かどのように
して求められるかを説明した図である。
規化アドレスと正規化ピットオフセラI・かどのように
して求められるかを説明した図である。
第11図は、前記データ処理装置のビット操作命令の実
行シーケンスを示したフローチャートである。
行シーケンスを示したフローチャートである。
次に、前記データ処理装置の動作について説明する。
まず、ビット操作命令におけるベースアドレスとビット
オフセットについて説明する。例えば、TR0Nチツプ
には4種類のビット操作命令がある。これらの命令は、
操作対象となるビットに対して、 1 のセットや反転
値のセット等の処理を行う。そして、操作対象となるビ
ットの指定にはベースアドレスとビットオフセットの二
つのパラメータを用いる。ベースアドレスでは汎用レジ
スタ番号やメモリ内のアドレスを、ビットオフセットで
は任意の数を指定する。第8図で示すように、メモリ上
のビットを操作する場合にはベースアドレスで示される
データの最上位ビット(MSB)からビットオフセット
で示されるビット数分だけ離れた位置にあるビットが操
作対象ビットとなる。ビットオフセットは符号付きの数
で表されるため、操作対象となるビットの位置は、ビッ
トオフセットが正の数の場合(同図(a))にはビット
番号の増加方向に、負の数の場合(同図(b))にはビ
ット番号の減少方向になる。
オフセットについて説明する。例えば、TR0Nチツプ
には4種類のビット操作命令がある。これらの命令は、
操作対象となるビットに対して、 1 のセットや反転
値のセット等の処理を行う。そして、操作対象となるビ
ットの指定にはベースアドレスとビットオフセットの二
つのパラメータを用いる。ベースアドレスでは汎用レジ
スタ番号やメモリ内のアドレスを、ビットオフセットで
は任意の数を指定する。第8図で示すように、メモリ上
のビットを操作する場合にはベースアドレスで示される
データの最上位ビット(MSB)からビットオフセット
で示されるビット数分だけ離れた位置にあるビットが操
作対象ビットとなる。ビットオフセットは符号付きの数
で表されるため、操作対象となるビットの位置は、ビッ
トオフセットが正の数の場合(同図(a))にはビット
番号の増加方向に、負の数の場合(同図(b))にはビ
ット番号の減少方向になる。
また、TR0Nチツプのビット操作命令ではアクセスサ
イズによってメモリアクセスの範囲を指定することがで
きる。アクセスサイズがバイト(=1バイト)の場合に
は対象ビットを含む1バイトが、ハーフワード(=2バ
イト〉の場合には2バイトが、ワード(=4バイト)の
場合には4バイトがそれぞれアクセスされる。このとき
、アクセスされるデータはアクセスサイズでアライメン
トのとれたデータになる。
イズによってメモリアクセスの範囲を指定することがで
きる。アクセスサイズがバイト(=1バイト)の場合に
は対象ビットを含む1バイトが、ハーフワード(=2バ
イト〉の場合には2バイトが、ワード(=4バイト)の
場合には4バイトがそれぞれアクセスされる。このとき
、アクセスされるデータはアクセスサイズでアライメン
トのとれたデータになる。
このようにメモリ上のビットを操作する場合にはベース
アドレス、ビットオフセット及びアクセスサイズの組合
せでアクセスすべきデータと操作対象となるビットが決
まる。アクセスすべきデータのアドレスを正規化アドレ
スと呼び、操作対象となるビットのアクセスするデータ
のなかでのビットオフセットを正規化ビットオフセット
と呼ぶ。
アドレス、ビットオフセット及びアクセスサイズの組合
せでアクセスすべきデータと操作対象となるビットが決
まる。アクセスすべきデータのアドレスを正規化アドレ
スと呼び、操作対象となるビットのアクセスするデータ
のなかでのビットオフセットを正規化ビットオフセット
と呼ぶ。
それでは、その−例を第9図を用いて説明する。
第9図はベースアドレスを103、ビットオフセットを
34とした場合にアクセスサイズによってどの範囲がア
クセスされるかを示したものである。
34とした場合にアクセスサイズによってどの範囲がア
クセスされるかを示したものである。
ベースアドレス=103.ビットオフセット=34から
、操作対象となるビットは103番地の最上位ビットか
ら34ビットめの位置となる。つまり、バイトアドレス
=107のビット番号=2の位置のビットである。アク
セスサイズがバイトの場合(同図(a))には107番
地の1バイトがアクセスされるので、正規化アドレスは
107、正規化ビットオフセットは2となる。アクセス
サイズがハーフワードの場合(同図(b))には107
〜108番地のデータでなく、ハーフワードでアライメ
ントをとるので106〜107番地の2バイトがアクセ
スされる。したがって、正規化アドレスは106となり
、正規化ビットオフセットは106番地の最上位ビット
からのビット位置である10となる。アクセスサイズが
ワードの場合(同図(C))には107〜110番地で
はなくワードでアライメントをとって104〜107番
地の4バイトがアクセスされる。正規化アドレスは10
4.正規化ビットオフセットは26となる。
、操作対象となるビットは103番地の最上位ビットか
ら34ビットめの位置となる。つまり、バイトアドレス
=107のビット番号=2の位置のビットである。アク
セスサイズがバイトの場合(同図(a))には107番
地の1バイトがアクセスされるので、正規化アドレスは
107、正規化ビットオフセットは2となる。アクセス
サイズがハーフワードの場合(同図(b))には107
〜108番地のデータでなく、ハーフワードでアライメ
ントをとるので106〜107番地の2バイトがアクセ
スされる。したがって、正規化アドレスは106となり
、正規化ビットオフセットは106番地の最上位ビット
からのビット位置である10となる。アクセスサイズが
ワードの場合(同図(C))には107〜110番地で
はなくワードでアライメントをとって104〜107番
地の4バイトがアクセスされる。正規化アドレスは10
4.正規化ビットオフセットは26となる。
次に、正規化アドレスと正規化ビットオフセットを得る
ためにどのような処理を行わなければならないかを第1
0図を用いて説明する。まず、正規化アドレスを得るた
めには対象ビットを含むバイトアドレスを求める。これ
は、“ベースアドレス十ビットオフセット/8″によっ
て求められる(同図(a))。つぎにアクセスサイズで
アライメントをとるために上で求めたバイトアドレスの
下位ビットをサイズに応じてOにする。すなわち、アク
セスサイズがバイトのときく同図(b))には上で求め
たバイトアドレスそのものが正規化アドレスとなるが、
ハーフワード(同図(C〉)では下位1ビットをOに、
ワード(同図(d))では下位2ビットをOにしなけれ
ばならない。一方、正規化ビットオフセットを求めるた
めにはまずパベースアドレス×8+ビットオフセット″
によってO番地からのビットオフセットである絶対ビッ
トオフセットを求める(同図(a))。そして、アクセ
スサイズがバイトの場合(同図(b))はO〜7の値を
とるので絶対ビットオフセットの下位3ビットが正規化
ビットオフセットとなる。アクセスサイズがハーフワー
ドの場合(同図(C))にはO〜15の値をとるので絶
対ビットオフセットの下位4ビットが、ワードの場合(
同図(d))にはO〜31の値をとるので絶対ビットオ
フセットの下位5ビットが正規化ビットオフセットにな
る。
ためにどのような処理を行わなければならないかを第1
0図を用いて説明する。まず、正規化アドレスを得るた
めには対象ビットを含むバイトアドレスを求める。これ
は、“ベースアドレス十ビットオフセット/8″によっ
て求められる(同図(a))。つぎにアクセスサイズで
アライメントをとるために上で求めたバイトアドレスの
下位ビットをサイズに応じてOにする。すなわち、アク
セスサイズがバイトのときく同図(b))には上で求め
たバイトアドレスそのものが正規化アドレスとなるが、
ハーフワード(同図(C〉)では下位1ビットをOに、
ワード(同図(d))では下位2ビットをOにしなけれ
ばならない。一方、正規化ビットオフセットを求めるた
めにはまずパベースアドレス×8+ビットオフセット″
によってO番地からのビットオフセットである絶対ビッ
トオフセットを求める(同図(a))。そして、アクセ
スサイズがバイトの場合(同図(b))はO〜7の値を
とるので絶対ビットオフセットの下位3ビットが正規化
ビットオフセットとなる。アクセスサイズがハーフワー
ドの場合(同図(C))にはO〜15の値をとるので絶
対ビットオフセットの下位4ビットが、ワードの場合(
同図(d))にはO〜31の値をとるので絶対ビットオ
フセットの下位5ビットが正規化ビットオフセットにな
る。
このように、メモリ内に操作対象となるビットがある場
合にはビットの操作を行う前に、メモリ内にあるデータ
をアクセスするために正規化アドレスを、アクセスして
きたデータに対してビット操作を行うために正規化ビッ
トオフセットを求める必要がある。
合にはビットの操作を行う前に、メモリ内にあるデータ
をアクセスするために正規化アドレスを、アクセスして
きたデータに対してビット操作を行うために正規化ビッ
トオフセットを求める必要がある。
そこで、第7図の回路で正規化アドレスと正規化ビット
オフセットを求めるにはどのような実行シーケンスにな
るかを第11図を用いて説明する。
オフセットを求めるにはどのような実行シーケンスにな
るかを第11図を用いて説明する。
なお、ベースアドレスはレジスタファイル(4)中のR
Oレジスタに、ビットオフセットはR1レジスタに格納
されている。
Oレジスタに、ビットオフセットはR1レジスタに格納
されている。
まず、第1サイクル〜第3サイクルで正規化アドレスを
求める。
求める。
第1サイクルではビットオフセットを右に3ビット分シ
フトすることによって“′ビットオフセット/8”を求
める。すなわち、定数ROM(5)中から3を呼び出し
てシフト幅レジスタ(16)に入れ、R1レジスタの値
をバレルシフタ部(15)にいれる。バレルシフタ部(
15)に右への算術シフトを指示し、その結果をR2レ
ジスタに格納する。これでR1レジスタに格納されてい
たビットオフセットが右に3ビット分だけ算術シフトさ
れてR2レジスタに格納される。
フトすることによって“′ビットオフセット/8”を求
める。すなわち、定数ROM(5)中から3を呼び出し
てシフト幅レジスタ(16)に入れ、R1レジスタの値
をバレルシフタ部(15)にいれる。バレルシフタ部(
15)に右への算術シフトを指示し、その結果をR2レ
ジスタに格納する。これでR1レジスタに格納されてい
たビットオフセットが右に3ビット分だけ算術シフトさ
れてR2レジスタに格納される。
第2サイクルでは第1サイクルで求めた値にベースアド
レスを加えることにより操作対象となるビットを含むバ
イトアドレスを得る。すなわち、ROレジスタの値とR
2レジスタの値をそれぞれS1バス(1)と82バス(
2)に出力してALU部(13)で加算を行い、その結
果をR2・レジスタに格納する。R2レジスタにはパビ
ットオフセット/8十ベースアドレス″が格納されてい
る。
レスを加えることにより操作対象となるビットを含むバ
イトアドレスを得る。すなわち、ROレジスタの値とR
2レジスタの値をそれぞれS1バス(1)と82バス(
2)に出力してALU部(13)で加算を行い、その結
果をR2・レジスタに格納する。R2レジスタにはパビ
ットオフセット/8十ベースアドレス″が格納されてい
る。
第3サイクルでは第2サイクルで求めた結果をアクセス
サイズでアライメントをとることにより正規化アドレス
を得る。すなわち、R2レジスタの値を82バス(2)
に、定数ROM(5)からアクセスサイズに応じた値を
呼び出して81バス(1)に出力させる。アクセスサイ
ズがバイトの場合にはOが、ハーフワードの場合には1
が、ワードの場合には3が出力される。ALU部(13
)ではS1バス(1)からAレジスタ(10)に取り込
んだ値を反転してR2レジスタの値との論理積をとる。
サイズでアライメントをとることにより正規化アドレス
を得る。すなわち、R2レジスタの値を82バス(2)
に、定数ROM(5)からアクセスサイズに応じた値を
呼び出して81バス(1)に出力させる。アクセスサイ
ズがバイトの場合にはOが、ハーフワードの場合には1
が、ワードの場合には3が出力される。ALU部(13
)ではS1バス(1)からAレジスタ(10)に取り込
んだ値を反転してR2レジスタの値との論理積をとる。
これによって、R2レジスタの値の下位ビットをアクセ
スサイズに応じてOにすることができる。演算結果はR
2レジスタに格納する。
スサイズに応じてOにすることができる。演算結果はR
2レジスタに格納する。
次のナイクルから正規化ビットオフセットを得るための
処理に移る。
処理に移る。
第4サイクルではベースアドレスを左に3ビットシフト
することにより゛ベースアドレス×8″を求める。すな
わち、ROレジスタを82バス(2)を介してバレルシ
フタ部(15)入れて左にシフトさせる。このとき、シ
フト幅レジスタ(16)には第1サイクルで入力した3
が格納されているのでシフト幅は3になる。シフト結果
はR3レジスタに格納する。また、このサイクルで空い
ているS1バス(1)を利用してR2レジスタの正規化
アドレスをメモリアドレスレジスタ(6)にセットして
おく。
することにより゛ベースアドレス×8″を求める。すな
わち、ROレジスタを82バス(2)を介してバレルシ
フタ部(15)入れて左にシフトさせる。このとき、シ
フト幅レジスタ(16)には第1サイクルで入力した3
が格納されているのでシフト幅は3になる。シフト結果
はR3レジスタに格納する。また、このサイクルで空い
ているS1バス(1)を利用してR2レジスタの正規化
アドレスをメモリアドレスレジスタ(6)にセットして
おく。
第5サイクルでは第4リーイクルで求めた゛ベースアド
レス×8″にビットオフセットを加えることにより絶対
ビットオフセットを求める。すなわち、R1レジスタの
値とR3レジスタの値をALU部(13)で加算して“
ベースアドレスxB十ビットオフセット°′を求め、R
3レジスタに格納する。
レス×8″にビットオフセットを加えることにより絶対
ビットオフセットを求める。すなわち、R1レジスタの
値とR3レジスタの値をALU部(13)で加算して“
ベースアドレスxB十ビットオフセット°′を求め、R
3レジスタに格納する。
第6サイクルでは第5サイクルで求めた絶対ビットオフ
セットに対して有効なビット以外をOにすることによっ
て正規化ビットオフセットを得る。
セットに対して有効なビット以外をOにすることによっ
て正規化ビットオフセットを得る。
すなわち、R3レジスタの値と定数ROM(5)から呼
び出してきた値とをALU部(13)を用いて論理積を
とる。定数ROM(5)からは、アクセスサイズがバイ
トのときには7、ハーフワードのときには15、ワード
のときには31が出力される。これによって、アクセス
サイズのバイト、ハーフワード、ワードに応じて、それ
ぞれ絶対ビットオフセットの下位3,4.5ビットのみ
が残り、上位ビットは仝てOになる。演算結果はR3レ
ジスタに格納する。
び出してきた値とをALU部(13)を用いて論理積を
とる。定数ROM(5)からは、アクセスサイズがバイ
トのときには7、ハーフワードのときには15、ワード
のときには31が出力される。これによって、アクセス
サイズのバイト、ハーフワード、ワードに応じて、それ
ぞれ絶対ビットオフセットの下位3,4.5ビットのみ
が残り、上位ビットは仝てOになる。演算結果はR3レ
ジスタに格納する。
以上の処理でメモリアドレスレジスタ(6)には正規化
アドレスが、レジスタファイル(4)のR3レジスタに
は正規化ビットオフセットが格納される。第7サイクル
以降では、得られた正規化アドレスと正規化ビットオフ
セットを用いてそれぞれの命令固有のビット操作の処理
が行われる。
アドレスが、レジスタファイル(4)のR3レジスタに
は正規化ビットオフセットが格納される。第7サイクル
以降では、得られた正規化アドレスと正規化ビットオフ
セットを用いてそれぞれの命令固有のビット操作の処理
が行われる。
このように、ビット操作命令の正規化アドレスと正規化
ビットオフセットの算出には6サイクルの処理が必要で
ある。また、ベースアドレス及びビットオフセットの3
ビットシフト、バイトアドレスのアライメントをとる処
理、絶対ビットオフセットから正規化ビットオフセット
を得る処理のためにOll、3.7.15.31の定数
が必要である。
ビットオフセットの算出には6サイクルの処理が必要で
ある。また、ベースアドレス及びビットオフセットの3
ビットシフト、バイトアドレスのアライメントをとる処
理、絶対ビットオフセットから正規化ビットオフセット
を得る処理のためにOll、3.7.15.31の定数
が必要である。
従来のデータ処理装置は以上のように構成されているの
で、ビット操作命令などのようにアクセスすべきデータ
がベースアドレスとビットオフセットによって与えられ
る命令を実行する場合、正規化アドレスと正規化ビット
オフセットを得るための処理に多くの実行時間が費やさ
れるという問題点があった。また、ベースアドレス及び
ビットオフセットの3ビットシフト、バイトアドレスの
アライメントをとる処理、絶対ビットオフセットから正
規化ビットオフセットを得る処理のために定数を使用し
なければならないという問題点もあった。
で、ビット操作命令などのようにアクセスすべきデータ
がベースアドレスとビットオフセットによって与えられ
る命令を実行する場合、正規化アドレスと正規化ビット
オフセットを得るための処理に多くの実行時間が費やさ
れるという問題点があった。また、ベースアドレス及び
ビットオフセットの3ビットシフト、バイトアドレスの
アライメントをとる処理、絶対ビットオフセットから正
規化ビットオフセットを得る処理のために定数を使用し
なければならないという問題点もあった。
この発明は上記のような問題点を解決するためになされ
たもので、正規化アドレスと正規化ビットオフセットを
得るための処理に要する時間をハードウェアにそれほど
負担をかけることなく短縮し、また、定数を不用にする
ことを目的とする。
たもので、正規化アドレスと正規化ビットオフセットを
得るための処理に要する時間をハードウェアにそれほど
負担をかけることなく短縮し、また、定数を不用にする
ことを目的とする。
この発明に係るデータ5!!!理装置は、第1サイクル
において第2のバスを介して送られてくるビットオフセ
ットを3ビット右方向にシフトし、第1のバスを介して
ベースアドレスが入力されるA10部に入力する第1の
手段と、前記ALU部の加算結果が第3のバスを介して
レジスタファイルに取り込まれ、第2サイクルにおいて
前記第1のバスを介して送られてくるバイトアドレスを
サイズ情報に基づき下位ビットをOにしてアドレスレジ
スタに入力して正規化アドレスを得る第2の手段と、第
1サイクルにおいて前記第2のバスを介して送られてく
るビットオフセット及び第2サイクルにおいて該第2の
バスを介して送られてくるバイトアドレスのうちサイズ
情報に基づく下位ビットをそれぞれオフセットレジスタ
の下位ビット及びその上位ビットに入力して正規化ビッ
トオフセットを得る第3の手段とを備えたものである。
において第2のバスを介して送られてくるビットオフセ
ットを3ビット右方向にシフトし、第1のバスを介して
ベースアドレスが入力されるA10部に入力する第1の
手段と、前記ALU部の加算結果が第3のバスを介して
レジスタファイルに取り込まれ、第2サイクルにおいて
前記第1のバスを介して送られてくるバイトアドレスを
サイズ情報に基づき下位ビットをOにしてアドレスレジ
スタに入力して正規化アドレスを得る第2の手段と、第
1サイクルにおいて前記第2のバスを介して送られてく
るビットオフセット及び第2サイクルにおいて該第2の
バスを介して送られてくるバイトアドレスのうちサイズ
情報に基づく下位ビットをそれぞれオフセットレジスタ
の下位ビット及びその上位ビットに入力して正規化ビッ
トオフセットを得る第3の手段とを備えたものである。
この発明におけるデータ処理装置は、第1サイクルで第
1の手段とALU部を用いてバイトアト7セツトレジス
タにサイズ情報に応じてビットオフセットの下位ビット
を入力し、オフセットレジスタの他の上位ビットはOに
する。次の第2サイクルで、第2の手段を用いて″ベー
スアドレス十ビットオフセット/8″をアドレスレジス
タにサイズ情報に応じて下位ビットをOにして入力覆る
ことにより正規化アドレスを獲得し、同時に第3の手段
を用いてオフセットレジスタにサイズ情報に応じて“ベ
ースアドレス十ヒツトオフセット/8″の下位ビットの
値をレジスタの上位ビットに入力することによって正規
化ビットオフセットを[19することができる。これに
より、正規化アドレス及び正規化ビットオフセットを短
時間で、かつ定数を使用することなく獲得できる。
1の手段とALU部を用いてバイトアト7セツトレジス
タにサイズ情報に応じてビットオフセットの下位ビット
を入力し、オフセットレジスタの他の上位ビットはOに
する。次の第2サイクルで、第2の手段を用いて″ベー
スアドレス十ビットオフセット/8″をアドレスレジス
タにサイズ情報に応じて下位ビットをOにして入力覆る
ことにより正規化アドレスを獲得し、同時に第3の手段
を用いてオフセットレジスタにサイズ情報に応じて“ベ
ースアドレス十ヒツトオフセット/8″の下位ビットの
値をレジスタの上位ビットに入力することによって正規
化ビットオフセットを[19することができる。これに
より、正規化アドレス及び正規化ビットオフセットを短
時間で、かつ定数を使用することなく獲得できる。
以下、この発明の一実施例を図について説明する。
第1図はこの発明の一実施例によるデータ処理装置のう
ちビット操作命令に用いられる部分のブロック図である
。図において、(1)〜(3)はそれぞれS1バス(第
1のバス)、S2バス(第2のバス)、Dバス(第3の
バス)で、それぞれ32ビット幅のバスである。(4)
は32ビットのレジスタRO〜Rnから成るレジスタフ
ァイルであり、Dバス(3)からデータを取り込み、S
1バス(1)か82バス(2)もしくは、両方に出力す
ることができる。(6)、(9)はメモリアドレスレジ
スタとメモリデータレジスタで、メモリ内のデータをア
クセスする際に用いられるゎメモリからデータを読み出
す場合には、そのデータのアドレスをメモリアドレスレ
ジスタ(6)にセットして読み出しを行えば、読み出さ
れたデータがメモリデータレジスタ(9)に格納される
。
ちビット操作命令に用いられる部分のブロック図である
。図において、(1)〜(3)はそれぞれS1バス(第
1のバス)、S2バス(第2のバス)、Dバス(第3の
バス)で、それぞれ32ビット幅のバスである。(4)
は32ビットのレジスタRO〜Rnから成るレジスタフ
ァイルであり、Dバス(3)からデータを取り込み、S
1バス(1)か82バス(2)もしくは、両方に出力す
ることができる。(6)、(9)はメモリアドレスレジ
スタとメモリデータレジスタで、メモリ内のデータをア
クセスする際に用いられるゎメモリからデータを読み出
す場合には、そのデータのアドレスをメモリアドレスレ
ジスタ(6)にセットして読み出しを行えば、読み出さ
れたデータがメモリデータレジスタ(9)に格納される
。
また、メモリへ書き込む場合には、書き込み先のアドレ
スをメモリアドレスレジスタ(6)に、書き込みデータ
をメモリデータレジスタ(9)にセットして書き込みを
行う。メモリアドレスレジスタ(6)はS1バス(1)
からの入力を本願の第2の手段をなすアドレスアライメ
ント回路(8)を介して行う。アドレスアライメント回
路(8)の動作は入力モードとサイズ情報によって制御
され、S1バス(1)から入力するアドレスをアライメ
ントのとれたアドレスにするのに用いられる。
スをメモリアドレスレジスタ(6)に、書き込みデータ
をメモリデータレジスタ(9)にセットして書き込みを
行う。メモリアドレスレジスタ(6)はS1バス(1)
からの入力を本願の第2の手段をなすアドレスアライメ
ント回路(8)を介して行う。アドレスアライメント回
路(8)の動作は入力モードとサイズ情報によって制御
され、S1バス(1)から入力するアドレスをアライメ
ントのとれたアドレスにするのに用いられる。
また、メモリアドレスレジスタ(6)にはカウンタ(7
)が付いており、S1バス(1)から入力したアドレス
をサイズ情報に応じて1か2か4をインクリメントもし
くはデクリメントすることができる。メモリデータレジ
スタ(9)は、書き込みデータをDバス(3)から取り
込み、読み出しデータを81バス(1)もしくはS2バ
ス(2)に出力する。(13)は算術演算や論理演算を
おこなうALU部であり、Aレジスタ(10)と8レジ
スタ(12)から取り込んだデータ間で演算を行い、そ
の演算結果をOレジスタ(14)を介してDバス(3)
に出力する。Aレジスタ(10)及びBレジスタ(12
)は33ビット幅をもつレジスタで、Aレジスタ(10
)はS1バス(1)から、Bレジスタ(12)はS2バ
ス(2)から本願の第1の手段をなす3ビット右シフト
回路(11)を通してデータを取り込む。データを取り
込む際にはそのデータのサイズから33ビットに符号拡
張又はゼロ拡張してから取り込み、A10部(13)に
出力する。またALU部(13)に出力する際にはAレ
ジスタ(10)、Bレジスタ(12)の内容をそのまま
出力する他に、反転した値を出力したり、ゼロを出力す
ることができる。3ビット右シフト回路(11)が動作
すると82バス(2)から取り込まれたデータを右に3
ビットだけ算術シフト(上位ビットにはそのデータの最
上位ビットと同じ値を入れていく)を行い、Bレジスタ
(12)に出力する。(15)はデータを一度に石や左
にシフトおよびローテートを行うバレルシフタ部であり
、シフトすべきデータを82バス(2)から取り込み、
シフト幅レジスタ(16)が示すシフト幅だけシフトも
しくはローテートしてDバス(3)に出力する。シフト
幅レジスタ(16)はS1バス(1)からシフト幅を入
力する。(17)はプライオリティエンコーダ部であり
、S1バス(1)から取り込/νだデータにおいてオフ
セットレジスタ(19)の値が示すビット位置からOも
しくは1を探し、見つかったビット位置のビット番号を
オフセットレジスタ(19)に返す。オフセットレジス
タ(19)は5ビットのレジスタで、S2バス(2)や
プライオリティエンコーダ部(17)からのデータは本
願の第3の手段をなすオフセット正規化回路(18)を
通して取り込み、Dバス(3)及びプライオリデイエン
コーダ部(17)に出力する。オフセット正規化回路(
18)の動作は入力モードとサイズ情報によって制御さ
れ、ビットオフセットを正規化するのに用いられる。
)が付いており、S1バス(1)から入力したアドレス
をサイズ情報に応じて1か2か4をインクリメントもし
くはデクリメントすることができる。メモリデータレジ
スタ(9)は、書き込みデータをDバス(3)から取り
込み、読み出しデータを81バス(1)もしくはS2バ
ス(2)に出力する。(13)は算術演算や論理演算を
おこなうALU部であり、Aレジスタ(10)と8レジ
スタ(12)から取り込んだデータ間で演算を行い、そ
の演算結果をOレジスタ(14)を介してDバス(3)
に出力する。Aレジスタ(10)及びBレジスタ(12
)は33ビット幅をもつレジスタで、Aレジスタ(10
)はS1バス(1)から、Bレジスタ(12)はS2バ
ス(2)から本願の第1の手段をなす3ビット右シフト
回路(11)を通してデータを取り込む。データを取り
込む際にはそのデータのサイズから33ビットに符号拡
張又はゼロ拡張してから取り込み、A10部(13)に
出力する。またALU部(13)に出力する際にはAレ
ジスタ(10)、Bレジスタ(12)の内容をそのまま
出力する他に、反転した値を出力したり、ゼロを出力す
ることができる。3ビット右シフト回路(11)が動作
すると82バス(2)から取り込まれたデータを右に3
ビットだけ算術シフト(上位ビットにはそのデータの最
上位ビットと同じ値を入れていく)を行い、Bレジスタ
(12)に出力する。(15)はデータを一度に石や左
にシフトおよびローテートを行うバレルシフタ部であり
、シフトすべきデータを82バス(2)から取り込み、
シフト幅レジスタ(16)が示すシフト幅だけシフトも
しくはローテートしてDバス(3)に出力する。シフト
幅レジスタ(16)はS1バス(1)からシフト幅を入
力する。(17)はプライオリティエンコーダ部であり
、S1バス(1)から取り込/νだデータにおいてオフ
セットレジスタ(19)の値が示すビット位置からOも
しくは1を探し、見つかったビット位置のビット番号を
オフセットレジスタ(19)に返す。オフセットレジス
タ(19)は5ビットのレジスタで、S2バス(2)や
プライオリティエンコーダ部(17)からのデータは本
願の第3の手段をなすオフセット正規化回路(18)を
通して取り込み、Dバス(3)及びプライオリデイエン
コーダ部(17)に出力する。オフセット正規化回路(
18)の動作は入力モードとサイズ情報によって制御さ
れ、ビットオフセットを正規化するのに用いられる。
第2図は第1図のオフセット正規化回路(18)の詳細
なブロック図である。オフセット正規化回路(18)は
5つのセレクタ1 (21)〜5(25)から構成され
ており、セレクタ1(21>及びセレクタ2 (22)
はサイズ情報と入力モードに応じて次の5つのオペレー
ションのうちのひとつを選択する。
なブロック図である。オフセット正規化回路(18)は
5つのセレクタ1 (21)〜5(25)から構成され
ており、セレクタ1(21>及びセレクタ2 (22)
はサイズ情報と入力モードに応じて次の5つのオペレー
ションのうちのひとつを選択する。
■ニブライオリティエンコーダ部(17)からの値をオ
フセットレジスタ(19)に出力。
フセットレジスタ(19)に出力。
■:82バス(2)のピット位置[セレクタ1(21)
は27、セレクタ2 (22>は28]の値をオフセッ
トレジスタ(19)に出力。
は27、セレクタ2 (22>は28]の値をオフセッ
トレジスタ(19)に出力。
■:82バス(2)のピット位置[セレクタ1(21)
は30、セレクタ2 (22>は31]の値をオフセッ
トレジスタ(19)に出力。
は30、セレクタ2 (22>は31]の値をオフセッ
トレジスタ(19)に出力。
■:ゼロをオフセットレジスタ(19)に出力。
■:オフセットレジスタ(19)へは何も出力しない。
セレクタ3 (23)〜セレクタ5 (25)は入力モ
ードに応じて次の3つのオペレーションからひとつを選
択する。
ードに応じて次の3つのオペレーションからひとつを選
択する。
■ニブライオリティエンコーダ部(17)からの値をオ
フセットレジスタ(19)に出力。
フセットレジスタ(19)に出力。
■:82バス(2)のピット位置[セレクタ3(23)
は29、セレクタ4 (24)は30、セレクタ5 (
25>は31]の値をオフセットレジスタ(19)に出
力。
は29、セレクタ4 (24)は30、セレクタ5 (
25>は31]の値をオフセットレジスタ(19)に出
力。
■:オフセットレジスタ(19)へは何も出力しない。
オフセット正規化回路(18)が82バス(2)から入
力する場合に、入力モードとサイズ情報に応じてそれぞ
れのセレクタがどのオペレーションを選択し、どのよう
な操作が行われるかを第3図を用いて説明する。オフセ
ットレジスタ(19)の入力モードを“通常人力″にす
るとサイズ情報がバイトの場合にはセレクタ1 (21
>及びセレクタ2 (22>が1口を選択し、セレクタ
3(23)〜セレクタ5 (25>が82バス(2)を
選択するため、オフセットレジスタ(19)には上位2
ビットがOになって入力される。サイズ情報がハーフワ
ードの場合にはセレクタ1 (21)がOを選択し、残
りのセレクタ2 (22)〜5(25)はS2バス(2
)を選択するので、オフセットレジスタ(19)には上
位1ビットだけがOになって入力される。サイズ情報が
ワードの場合にはセレクタ1 (21)〜セレクタ5
(25>全てが82バス(2)を選択するため、オフセ
ットレジスタ(19)にはS2バス(2)の下位5ビッ
トがそのまま入力される。
力する場合に、入力モードとサイズ情報に応じてそれぞ
れのセレクタがどのオペレーションを選択し、どのよう
な操作が行われるかを第3図を用いて説明する。オフセ
ットレジスタ(19)の入力モードを“通常人力″にす
るとサイズ情報がバイトの場合にはセレクタ1 (21
>及びセレクタ2 (22>が1口を選択し、セレクタ
3(23)〜セレクタ5 (25>が82バス(2)を
選択するため、オフセットレジスタ(19)には上位2
ビットがOになって入力される。サイズ情報がハーフワ
ードの場合にはセレクタ1 (21)がOを選択し、残
りのセレクタ2 (22)〜5(25)はS2バス(2
)を選択するので、オフセットレジスタ(19)には上
位1ビットだけがOになって入力される。サイズ情報が
ワードの場合にはセレクタ1 (21)〜セレクタ5
(25>全てが82バス(2)を選択するため、オフセ
ットレジスタ(19)にはS2バス(2)の下位5ビッ
トがそのまま入力される。
次に、入力モードを゛正規化人力″にするとサイズ情報
がバイトの場合にはセレクタ1 (21)〜セレクタ5
(25)は全てOFFとなるため、オフセットレジス
タ(19)には何も入力されない。サイズ情報がハーフ
ワードの場合にはセレクタ2 (22>が82バス(2
)のピット位置31を選択し、残りのセレクタがOFF
となるので、オフセットレジスタ(19)の上位2ビッ
ト目に82バス(2)の最下位ビットが入力される。サ
イズ情報がワードの場合にはセレクタ1 (21)が3
2 (30) 、セレクタ2 (22)が82(31)
、残りのセレクタがOFFとなるので、オフセットレジ
スタ(19)の上位2ビットに82バス(2)の下位2
ピツ+が入力される。
がバイトの場合にはセレクタ1 (21)〜セレクタ5
(25)は全てOFFとなるため、オフセットレジス
タ(19)には何も入力されない。サイズ情報がハーフ
ワードの場合にはセレクタ2 (22>が82バス(2
)のピット位置31を選択し、残りのセレクタがOFF
となるので、オフセットレジスタ(19)の上位2ビッ
ト目に82バス(2)の最下位ビットが入力される。サ
イズ情報がワードの場合にはセレクタ1 (21)が3
2 (30) 、セレクタ2 (22)が82(31)
、残りのセレクタがOFFとなるので、オフセットレジ
スタ(19)の上位2ビットに82バス(2)の下位2
ピツ+が入力される。
第4図は第1図のアドレスアライメント回路(8)の詳
細なブロック図である。アドレスアライメント回路(8
)は2つのディスチャージ回路1 (31)、2 (3
2)から構成されており、ディスチャージ回路1 (3
1)、ディスチャージ回路2 (32)はそれぞれS1
バス(1)からメモリアドレスレジスタ(6)への入力
線のうちビット位置30,31に接続されている。ディ
スチャージ回路が“OFF”の場合にはS1バス(1)
の値をそのままメモリアドレスレジスタ(6)に伝達す
るが、“ON″の場合にはS1バス(1)からの入力線
をディスチャージするため、メモリアドレスレジスタ(
6)にはゼロが入力される。
細なブロック図である。アドレスアライメント回路(8
)は2つのディスチャージ回路1 (31)、2 (3
2)から構成されており、ディスチャージ回路1 (3
1)、ディスチャージ回路2 (32)はそれぞれS1
バス(1)からメモリアドレスレジスタ(6)への入力
線のうちビット位置30,31に接続されている。ディ
スチャージ回路が“OFF”の場合にはS1バス(1)
の値をそのままメモリアドレスレジスタ(6)に伝達す
るが、“ON″の場合にはS1バス(1)からの入力線
をディスチャージするため、メモリアドレスレジスタ(
6)にはゼロが入力される。
ディスチャージ回路の0N10FII作は入力−[−ド
とサイズ情報に依存する。
とサイズ情報に依存する。
アドレスアライメント回路(8)の動作と入力モード及
びサイズ情報の関係を第5図を用いて説明する。アドレ
スアライメント回路(8)の入力モードを“′通常人力
″にするとサイズ情報に関係なくディスチャージ回路1
(3’l)及びディスチャージ回路2 (32)はO
FFとなり、メモリアドレスレジスタ(6)にはS1バ
ス(1)の値がそのまま入力される。入力モードがパア
ライメント人力″の場合にはサイズ情報によって動作が
異なる。サイズ情報がバイトのときには“通常人力″の
時と同じで81バス(1)の値をそのままメモリアドレ
スレジスタ(6)に入力する。ハーフワードの時にはデ
ィスチャージ回路1(31)は“OF F ”となるが
ディスチャージ回路2(32は# ON j#となるの
で、メモリアドレスレジスタ(6)への入力の際には下
位1ビットが強制的kOとなる。ワードのときにはディ
スチャージ回計1 (31L 2 (32)とも#ON
uとなるので下位2ビットが強制的に0となってメモリ
アドレスしてメモリアドレスをセットして所望のデータ
をアクセスするが、ビット操作命令などのようにアクセ
スサイズでアライメントの取れたデータをアクセスする
必要がある場合には″アライメント人力″モードにする
と、サイズ情報に応じてアドレスの下位ビットをOにす
るのでアライメントのとれたアドレスを1qることがで
きる。
びサイズ情報の関係を第5図を用いて説明する。アドレ
スアライメント回路(8)の入力モードを“′通常人力
″にするとサイズ情報に関係なくディスチャージ回路1
(3’l)及びディスチャージ回路2 (32)はO
FFとなり、メモリアドレスレジスタ(6)にはS1バ
ス(1)の値がそのまま入力される。入力モードがパア
ライメント人力″の場合にはサイズ情報によって動作が
異なる。サイズ情報がバイトのときには“通常人力″の
時と同じで81バス(1)の値をそのままメモリアドレ
スレジスタ(6)に入力する。ハーフワードの時にはデ
ィスチャージ回路1(31)は“OF F ”となるが
ディスチャージ回路2(32は# ON j#となるの
で、メモリアドレスレジスタ(6)への入力の際には下
位1ビットが強制的kOとなる。ワードのときにはディ
スチャージ回計1 (31L 2 (32)とも#ON
uとなるので下位2ビットが強制的に0となってメモリ
アドレスしてメモリアドレスをセットして所望のデータ
をアクセスするが、ビット操作命令などのようにアクセ
スサイズでアライメントの取れたデータをアクセスする
必要がある場合には″アライメント人力″モードにする
と、サイズ情報に応じてアドレスの下位ビットをOにす
るのでアライメントのとれたアドレスを1qることがで
きる。
第6図は前記データ処理装置のビット操作命令の実行シ
ーケンスを示したフローチャートであるフローチャート
の横には各サイクルで値の変化したレジスタの内容を示
している。
ーケンスを示したフローチャートであるフローチャート
の横には各サイクルで値の変化したレジスタの内容を示
している。
次に、本実施例のデータ処理装置がアドレスとビットオ
フセットの正規化を行う場合の実行シーケンスを第6図
を用いて説明する。なお、この実行シーケンスは当該デ
ータ処理装置の制御ROMに予め格納された複数のマイ
クロ命令の中から所定のマイクロ命令を呼び出すことに
より実行され、また、レジスタファイル(4)のROレ
ジスタにはベースアドレスが、R1レジスタにはビット
オフセットが格納されている。
フセットの正規化を行う場合の実行シーケンスを第6図
を用いて説明する。なお、この実行シーケンスは当該デ
ータ処理装置の制御ROMに予め格納された複数のマイ
クロ命令の中から所定のマイクロ命令を呼び出すことに
より実行され、また、レジスタファイル(4)のROレ
ジスタにはベースアドレスが、R1レジスタにはビット
オフセットが格納されている。
まず、第1サイクルでは゛ベースアドレス十ビットオフ
セット/8″を得ると同時にビットオフセットの中で有
効な下位ビットだけをオフセットレジスタ(19)に取
り込む。すなわち、ROレジスタの値を81バス(1)
に、R1レジスタの値を82バス(2)に出力する。A
LI(13)ではAレジスタ(10)にROレジスタの
値を取り込み、Bレジスタ(12)には3ビット右シフ
ト回路(11)を動作させてR1レジスタの値を右に3
ビット輝術シフトさせてから取り込む。
セット/8″を得ると同時にビットオフセットの中で有
効な下位ビットだけをオフセットレジスタ(19)に取
り込む。すなわち、ROレジスタの値を81バス(1)
に、R1レジスタの値を82バス(2)に出力する。A
LI(13)ではAレジスタ(10)にROレジスタの
値を取り込み、Bレジスタ(12)には3ビット右シフ
ト回路(11)を動作させてR1レジスタの値を右に3
ビット輝術シフトさせてから取り込む。
ALLJ部(13)で加痺を行い、それをR2レジスタ
に格納する。こうしてR2レジスタには゛′ベースアド
レス十ビットオフセット/8″の値が格納される。一方
、オフセットレジスタ(19)が、S2バス(2)上の
R1レジスタの値をオフセット正規化回路(18)を介
し“′通常人力″モードで取り込む。オフセットレジス
タ(19)はサイズ情報に応じてオフセットレジスタ(
19)の上位ビットがOになる。サイズがバイトの場合
はオフセットレジスタ(19)の上位2ビットを0に、
ハーフワードの場合には上位1ビットを0に、ワードの
場合にはそのまま取り込む。つまり、オフセットレジス
タ(19)はビットオフセットのうちサイズに応じて有
効な下位ビットの値だけを保持している。
に格納する。こうしてR2レジスタには゛′ベースアド
レス十ビットオフセット/8″の値が格納される。一方
、オフセットレジスタ(19)が、S2バス(2)上の
R1レジスタの値をオフセット正規化回路(18)を介
し“′通常人力″モードで取り込む。オフセットレジス
タ(19)はサイズ情報に応じてオフセットレジスタ(
19)の上位ビットがOになる。サイズがバイトの場合
はオフセットレジスタ(19)の上位2ビットを0に、
ハーフワードの場合には上位1ビットを0に、ワードの
場合にはそのまま取り込む。つまり、オフセットレジス
タ(19)はビットオフセットのうちサイズに応じて有
効な下位ビットの値だけを保持している。
第2サイクルで、正規化アドレスと正規化ビットオフセ
ットを得ることができる。すなわち、R2レジスタの値
をアドレスアライメント回路(8)を介しパアライメン
ト人力″モードでメモリアドレスレジスタ(6)に入力
する。メモリアドレスレジスタ(6)にはサイズ情報に
応じて下位ビットがOになるため、アクセスサイズでア
ライメントをとることができ、正規化アドレスを得るこ
とができる。また、R2レジスタの値を82バス(2)
にも出力させ、オフセット正規化回路18を介してオフ
セットレジスタ(19)に″正規化人力″モードで取り
込む。オフセットレジスタ(19)の上位ビットにはサ
イズ情報に応じてR2レジスタの値の下位ビットが入る
。この値をDバス(3)に出力し、R2レジスタに格納
する。
ットを得ることができる。すなわち、R2レジスタの値
をアドレスアライメント回路(8)を介しパアライメン
ト人力″モードでメモリアドレスレジスタ(6)に入力
する。メモリアドレスレジスタ(6)にはサイズ情報に
応じて下位ビットがOになるため、アクセスサイズでア
ライメントをとることができ、正規化アドレスを得るこ
とができる。また、R2レジスタの値を82バス(2)
にも出力させ、オフセット正規化回路18を介してオフ
セットレジスタ(19)に″正規化人力″モードで取り
込む。オフセットレジスタ(19)の上位ビットにはサ
イズ情報に応じてR2レジスタの値の下位ビットが入る
。この値をDバス(3)に出力し、R2レジスタに格納
する。
こうしてR2レジスタに正規化ビットオフセットを得る
ことができる。
ことができる。
以上の処理でメモリアドレスレジスタ(6)には正規化
アドレスが、R2レジスタには正規化ビットオフセット
が格納される。第3サイクル以降で、得られた正規化ア
ドレスと正規化ビットオフセットを用いてそれぞれの命
令固有のビット操作の処理が行われる。
アドレスが、R2レジスタには正規化ビットオフセット
が格納される。第3サイクル以降で、得られた正規化ア
ドレスと正規化ビットオフセットを用いてそれぞれの命
令固有のビット操作の処理が行われる。
このように、上記データ処理装置では正規化アドレス及
び正規化ビットオフセットを獲得するための処理を2サ
イクルで実行できる。また、定数を使用しなくてもよい
。
び正規化ビットオフセットを獲得するための処理を2サ
イクルで実行できる。また、定数を使用しなくてもよい
。
以上のような方法でTR0Nチツプのビット操作命令を
実行できる。ここではビット操作命令を例にして説明し
たが、その伯にもビットフィールドを処理する命令など
のようにベースアドレスとビットオフセット値によって
アクセスすべきメモリ領域が決まるような命令には本発
明のデータ処理装置が有効である。
実行できる。ここではビット操作命令を例にして説明し
たが、その伯にもビットフィールドを処理する命令など
のようにベースアドレスとビットオフセット値によって
アクセスすべきメモリ領域が決まるような命令には本発
明のデータ処理装置が有効である。
(発明の効果)
以上のように、この発明によれば、第1サイクルにおい
て第2のバスを介して送られてくるビットオフセットを
3ビット右方向にシフトし、第1のバスを介してベース
アドレスが入力されるALU部に入力する第1の手段と
、前記ALU部の加算結果が第3のバスを介してレジス
タファイルに取り込まれ、第2サイクルにおいて第1の
バスを介して送られてくるバイトアドレスをサイズ情報
に基づき下位ビットをOにしてアドレスレジスタに入力
して正規化アドレスを得る第2の手段と、第1サイクル
において前記第2のバスを介して送られてくるビットオ
フセット及び第2サイクルにおいて該第2のバスを介し
て送られてくるバイトアドレスのうちサイズ情報に基づ
く下位ビットをそれぞれオフセットレジスタの下位ビッ
ト及びその上位ビットに入力して正規化ビットオフセッ
トを(qる第3の手段とを備えたので、正規化アドレス
と正規化ビットオフセットを定数を使用することなく2
サイクルで獲得でき、したがって、ビット操作命令やビ
ットフィールド操作命令などのようなアクセスすべきデ
ータがベースアドレスとビットオフセットで与えられる
J:うな命令の実行を高速に行うことができる。
て第2のバスを介して送られてくるビットオフセットを
3ビット右方向にシフトし、第1のバスを介してベース
アドレスが入力されるALU部に入力する第1の手段と
、前記ALU部の加算結果が第3のバスを介してレジス
タファイルに取り込まれ、第2サイクルにおいて第1の
バスを介して送られてくるバイトアドレスをサイズ情報
に基づき下位ビットをOにしてアドレスレジスタに入力
して正規化アドレスを得る第2の手段と、第1サイクル
において前記第2のバスを介して送られてくるビットオ
フセット及び第2サイクルにおいて該第2のバスを介し
て送られてくるバイトアドレスのうちサイズ情報に基づ
く下位ビットをそれぞれオフセットレジスタの下位ビッ
ト及びその上位ビットに入力して正規化ビットオフセッ
トを(qる第3の手段とを備えたので、正規化アドレス
と正規化ビットオフセットを定数を使用することなく2
サイクルで獲得でき、したがって、ビット操作命令やビ
ットフィールド操作命令などのようなアクセスすべきデ
ータがベースアドレスとビットオフセットで与えられる
J:うな命令の実行を高速に行うことができる。
第1図はこの発明の一実施例によるデータ処理装置のう
ちビット操作命令に用いられる部分のブロック図、第2
図はオフセット正規化回路の詳細なブロック図、第3図
はS2バスからの入力時におけるオフセット正規化回路
の動作を説明する図、第4図はアドレスアライメント回
路の詳細なブロック図、第5図はアドレスアライメン回
路の動作を説明する図、第6図は前記データ処理装置の
ビット操作命令の実行シーケンスを示したフローチャー
ト、第7図は従来のデータ処理装置においてビット操作
命令を実行する部分のブロック図、第8図(a)、(b
)はビット操作命令を行う場合に、操作対象となるビッ
トの位置がベースアドレスとビットオフセットによって
どのように指定されるかを説明した図、第91(a)〜
(C)はビット操作命令を行う場合に、アクセスサイズ
によってアクセスされるメモリ領域の範囲がどうなるか
を説明した図、第10図(a)〜(d)はベースアドレ
スとビットオフセットから正規化アドレスと正規化ビッ
トオフセットがどのようにして求められるかを説明した
図、第11図は前記従来のデータ処理装置のビット操作
命令の実行シーケンスを示したフローチャートである。 図において、(1)はS1バス(第1のバス)、(2)
はS2バス(第2のバス)、(3)はDバス(第3のバ
ス)、(4)はレジスタファイル、(5)は定数ROM
部、(6)はメモリアドレスレジスタ、(7)はカウン
タ、(8)はアドレスアライメント回路(第2の手段)
、(9)はメモリデータレジスタ、(10)はAレジス
タ、(11)は3ビット右シフト回路(第1の手段)、
(12)はBレジスタ、(13)はALU部(鋒術論理
演弁部)、(14)はOレジスタ、(15)はバレルシ
フタ部、(16)はシフト幅レジスタ、(17)はプラ
イオリティエンコーダ部、(18〉はオフセット正規化
回路(第3の手段〕、(19)はオフセットレジスタ、
(21)はセレクタ1、(22)はセレクタ2、(23
)はセレクタ3、(24)はセレクタ4、(25)はセ
レクタ5、(31)はディスチー−2回路1、(32)
はディスチP−ジ回路2である。 なお、各図中、同一符号は同一または相当する部分を示
す。
ちビット操作命令に用いられる部分のブロック図、第2
図はオフセット正規化回路の詳細なブロック図、第3図
はS2バスからの入力時におけるオフセット正規化回路
の動作を説明する図、第4図はアドレスアライメント回
路の詳細なブロック図、第5図はアドレスアライメン回
路の動作を説明する図、第6図は前記データ処理装置の
ビット操作命令の実行シーケンスを示したフローチャー
ト、第7図は従来のデータ処理装置においてビット操作
命令を実行する部分のブロック図、第8図(a)、(b
)はビット操作命令を行う場合に、操作対象となるビッ
トの位置がベースアドレスとビットオフセットによって
どのように指定されるかを説明した図、第91(a)〜
(C)はビット操作命令を行う場合に、アクセスサイズ
によってアクセスされるメモリ領域の範囲がどうなるか
を説明した図、第10図(a)〜(d)はベースアドレ
スとビットオフセットから正規化アドレスと正規化ビッ
トオフセットがどのようにして求められるかを説明した
図、第11図は前記従来のデータ処理装置のビット操作
命令の実行シーケンスを示したフローチャートである。 図において、(1)はS1バス(第1のバス)、(2)
はS2バス(第2のバス)、(3)はDバス(第3のバ
ス)、(4)はレジスタファイル、(5)は定数ROM
部、(6)はメモリアドレスレジスタ、(7)はカウン
タ、(8)はアドレスアライメント回路(第2の手段)
、(9)はメモリデータレジスタ、(10)はAレジス
タ、(11)は3ビット右シフト回路(第1の手段)、
(12)はBレジスタ、(13)はALU部(鋒術論理
演弁部)、(14)はOレジスタ、(15)はバレルシ
フタ部、(16)はシフト幅レジスタ、(17)はプラ
イオリティエンコーダ部、(18〉はオフセット正規化
回路(第3の手段〕、(19)はオフセットレジスタ、
(21)はセレクタ1、(22)はセレクタ2、(23
)はセレクタ3、(24)はセレクタ4、(25)はセ
レクタ5、(31)はディスチー−2回路1、(32)
はディスチP−ジ回路2である。 なお、各図中、同一符号は同一または相当する部分を示
す。
Claims (1)
- 【特許請求の範囲】 第1のバスと、第2のバスと、第3のバスと、前記第
3のバスからデータを取り込み第1、第2のバスへ出力
するレジスタファイルと、前記第1、第2のバスから送
られてくるデータ間で算術論理演算を行い、その結果を
第3のバスに出力する算術論理演算部と、アクセスする
アドレスが前記第1のバスを介してセットされ、アクセ
スすべきデータのバイト数を示すサイズ情報に応じて増
減されるアドレスレジスタと、前記第2のバスを介して
ビットオフセットがセットされ、第3のバスに出力する
オフセットレジスタとを備え、アクセスすべきデータが
ベースアドレスとビットオフセットによって与えられる
命令を実行する際に、前記ベースアドレスとビットオフ
セットからアクセスサイズに応じて正規化アドレス、正
規化ビットオフセットを求めることにより、ビット操作
命令やビットフィールド操作命令の実行を可能としたデ
ータ処理装置において、 第1サイクルにおいて前記第2のバスを介して送られて
くるビットオフセットを3ビット右方向にシフトし、第
1のバスを介してベースアドレスが入力される算術論理
演算部に入力する第1の手段と、前記算術論理演算部の
加算結果が第3のバスを介してレジスタファイルに取り
込まれ、第2サイクルにおいて前記第1のバスを介して
送られてくるバイトアドレスをサイズ情報に基づき下位
ビットを0にしてアドレスレジスタに入力して正規化ア
ドレスを得る第2の手段と、第1サイクルにおいて前記
第2のバスを介して送られてくるビットオフセット及び
第2サイクルにおいて該第2のバスを介して送られてく
るバイトアドレスのうちサイズ情報に基づく下位ビット
をそれぞれ前記オフセットレジスタの下位ビット及びそ
の上位ビットに入力して正規化ビットオフセットを得る
第3の手段とを備えたことを特徴とするデータ処理装置
。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1154886A JPH0833821B2 (ja) | 1989-06-16 | 1989-06-16 | データ処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1154886A JPH0833821B2 (ja) | 1989-06-16 | 1989-06-16 | データ処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0319029A true JPH0319029A (ja) | 1991-01-28 |
| JPH0833821B2 JPH0833821B2 (ja) | 1996-03-29 |
Family
ID=15594108
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1154886A Expired - Fee Related JPH0833821B2 (ja) | 1989-06-16 | 1989-06-16 | データ処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0833821B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2016045761A (ja) * | 2014-08-25 | 2016-04-04 | サンケン電気株式会社 | 演算処理装置 |
-
1989
- 1989-06-16 JP JP1154886A patent/JPH0833821B2/ja not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2016045761A (ja) * | 2014-08-25 | 2016-04-04 | サンケン電気株式会社 | 演算処理装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0833821B2 (ja) | 1996-03-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5132898A (en) | System for processing data having different formats | |
| US4219874A (en) | Data processing device for variable length multibyte data fields | |
| JPH0235523A (ja) | フレキシブルasicマイクロコンピュータ | |
| JP3233163B2 (ja) | メモリ拡張スキームを切り替える疑似直線バンクを有するマイクロコントローラ | |
| JPH06332792A (ja) | データ処理装置及びそのデータ読み出し制御回路,データ書き込み制御回路 | |
| US5440702A (en) | Data processing system with condition code architecture for executing single instruction range checking and limiting operations | |
| US5682531A (en) | Central processing unit | |
| KR100465388B1 (ko) | Risc 구조의 8비트 마이크로 제어기 | |
| CN107003852A (zh) | 用于执行向量位混洗的方法和装置 | |
| CN107003840A (zh) | 用于执行检查以优化指令流的装置和方法 | |
| US4347566A (en) | Data processor with register file and arithmetic logic circuit on one chip and register means directly connected to the chip | |
| JPH1055274A (ja) | 飽和演算命令を有するマイクロプロセッサ | |
| JPS6014338A (ja) | 計算機システムにおける分岐機構 | |
| US7546442B1 (en) | Fixed length memory to memory arithmetic and architecture for direct memory access using fixed length instructions | |
| JP2551167B2 (ja) | マイクロコンピュータ | |
| JPH034936B2 (ja) | ||
| JP2690406B2 (ja) | プロセッサおよびデータ処理システム | |
| US6223275B1 (en) | Microprocessor with reduced instruction set limiting the address space to upper 2 Mbytes and executing a long type register branch instruction in three intermediate instructions | |
| JPH0319029A (ja) | データ処理装置 | |
| JP2520882B2 (ja) | デ−タ処理装置およびデ−タ処理方法 | |
| US5708800A (en) | High speed microprocessor for processing and transferring N-bits of M-bit data | |
| US4866608A (en) | Microprocessor with improved execution of instructions | |
| JPH0679268B2 (ja) | 可変のデ−タバス幅をもつプログラム装置におけるプログラム制御のシフト機構 | |
| US4807124A (en) | Register addressing system for efficient microroutine sharing and optimization | |
| EP1089165A2 (en) | A floating point instruction set architecture and implementation |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| LAPS | Cancellation because of no payment of annual fees |