JP2748957B2 - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JP2748957B2
JP2748957B2 JP62246627A JP24662787A JP2748957B2 JP 2748957 B2 JP2748957 B2 JP 2748957B2 JP 62246627 A JP62246627 A JP 62246627A JP 24662787 A JP24662787 A JP 24662787A JP 2748957 B2 JP2748957 B2 JP 2748957B2
Authority
JP
Japan
Prior art keywords
instruction
bit
memory
bits
bit string
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.)
Expired - Lifetime
Application number
JP62246627A
Other languages
English (en)
Other versions
JPS6488837A (en
Inventor
健 坂村
徹 清水
俊一 岩田
龍弥 榎本
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP62246627A priority Critical patent/JP2748957B2/ja
Publication of JPS6488837A publication Critical patent/JPS6488837A/ja
Priority to US07/677,363 priority patent/US5121474A/en
Application granted granted Critical
Publication of JP2748957B2 publication Critical patent/JP2748957B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30018Bit or string instructions

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Image Processing (AREA)

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は任意長のビットフィールド操作を可能とした
データ処理装置に関するものである。 [従来の技術] 従来のマイクロプロセッサ等のデータ処理装置は、固
定長のビットフィールド命令を反復実行するか、もしく
は固定長のビットフィールド命令を有していない場合に
はバイト単位の操作を行う命令とビット単位の操作を行
う命令を組合せることによって、任意長のビットフィー
ルド操作を実現していた。 [発明が解決しようとする問題点] 従来のデータ処理装置では、メモリ内でビット列のデ
ータの移動を行う命令のように、ビット列の読み出しと
書き込みとを行う命令について、ビット列の読み出し領
域と書き込み領域とがオーバーラップしている場合に、
前半のビットデータの書き込みに際して後半で読み出さ
れるビットデータが破壊される虞がある。 また、従来のデータ処理装置では、ビット列が任意長
の場合にビット列を操作する命令の実行時間がビット列
の長さに比例して長くなる結果、命令の実行終了までの
間、外部割込みの受付が中断される等の問題がある。 [問題点を解決するための手段] 本発明のデータ処理装置は、命令を解読する解読手段
と、処理対象となるビット列の先頭を指定するビットア
ドレスを保持する第1の手段と、処理対象となるビット
の数を保持する第2の手段と、ビット操作命令の実行中
に割込を受け付ける割込受け付け手段と、メモリにアク
セスし、前記メモリに対して所定ビット数単位でデータ
の読み出し及び書込みを行うメモリアクセス手段と、1
命令でメモリ内に記憶された任意のビットから任意のビ
ットまでの1または複数ビットにて構成された任意長の
ビット列のメモリ−メモリ間の演算を処理する命令を前
記解読手段が解読した場合に、前記メモリアクセス手段
により前記メモリから読み出された1単位のビット列の
内の前記第1の手段が保持するビットアドレスから前記
第2の手段が保持するビット数のビット列に対して前記
解読手段により解読された命令を実行し、その処理結果
を前記メモリアクセス手段に前記メモリへ書込ませる命
令実行手段と、前記命令実行手段が1単位のビット列の
処理を終了した場合に、前記第1の手段が保持するビッ
トアドレスを未だ処理されていない次の1単位のビット
列の先頭を指定するビットアドレスに更新し前記第2の
手段が保持するビット数を前記第1の手段により指定さ
れるビット列中で未だ処理されていないビットの数に更
新する第3の手段とを備え、前記割込受け付け手段が前
記命令実行手段による命令実行中に割込を受け付けた場
合は、前記第1の手段及び第2の手段はその時点におい
て前記第3の手段により更新されている状態を維持し、
前記割込受け付け手段が受け付けた割込処理終了後に、
前記第1の手段及び第2の手段が維持している状態から
前記命令実行手段が前記命令を再実行すべくなしてある
ことを特徴とする。 [作用] 本発明のデータ処理装置では、ビット列を操作する命
令の実行処理中、命令によるビット列の操作の進捗状況
を、操作対象のビット列を指定するレジスタ上のオペラ
ンドの更新により表すことにより、命令の実行中に外部
割込みを受け付けると、これを処理した後、命令の実行
開始と同様に再開処理される。 更に、ビット列の処理がバスのアラインメントに合わ
せて行われることにより、バスの容量が最大に活用され
る。 [発明の実施例] 以下、本発明の実施例を図面を参照して説明する。 第1図のブロック図は本発明のデータ処理装置の全体
構成を示している。 第1図において、1はアドレスバス8を通してアドレ
スをメモリ10に送出して命令をメモリ10からデータバス
9を通してフエッチする命令フエッチ部である。 2は命令フエッチ部1より命令を受取り、それをデコ
ードしてその命令の実行に必要な情報を出力する命令デ
コード部である。 3はデコード部2からの出力されたマイクロプログラ
ムエントリアドレスあるいは汎用レジスタ番号、オペラ
ンド、データサイズなどの情報をもとに、マイクロROM7
に格納され、その命令を実行するマイクロプログラムの
先頭番地をを示すマイクロプログラムエントリアドレス
をマイクロプログラムカウンタ6に出力し、マイクロプ
ログラムカウンタ6によって次々に指示されるアドレス
によりマイクロROM7から出力されたマイクロ命令と命令
デコード部2から出力された他の情報により命令実行部
5を制御して命令を実行する命令実行制御部である。 4は命令実行に際して必要となるオペランドがメモリ
10にある場合に、そのアドレスをアドレスバス8へ入力
してデータバス9を通してオペランドをフェッチし、あ
るいはオペランドをメモリ10に格納する必要がある場合
にそのアドレスをアドレスバス8に出力し、オペランド
をデータバス9へ出力するオペランドアクセス部であ
る。 第2図は第1図の命令実行部5の詳細を示すブロック
図である。 11はオペランドとなるデータを格納するレジスタファ
イルである。 12,13,14,15はそれぞれ演算装置である。なお、12は
2つの2進数の加算などの算術演算及び2つのビットフ
ィールドの論理積などの論理演算を行うALUである。 16,17はデータサイズがALU12のそれより小さいデータ
をALUに入力する際に、そのサイズをALU12が扱うデータ
サイズにゼロ拡張または符号拡張する拡張回路である。 13はデータを1度に複数ビット単位で右あるいは左に
シフトするバレルシフタである。 14はバイト列のバイト順を逆転させるバイト順逆転回
路、15はビット別のビット順を逆転させるビット順逆転
回路である。 18,19,20はレジスタファイル11と演算装置12,13,14,1
5を結合するバスである。 レジスタファイル11は、バス18,19,20を介してALU20
等の演算器12,13,14,15に32ビット並列に結合してい
る。なお、レジスタ11のビット格納位置とALU12の入出
力ビット位置とは1対1で対応している。 このような本発明装置の動作について以下に説明す
る。 なお、上述の如き本発明のデータ処理装置が、マイク
ロROM7に格納されたマイクロプログラムの制御によって
実行する命令の詳細は、本願出願人の出願に係る発明の
名称「データ処理装置」(特願昭62−247418号)に説明
されている。 以下、本願発明では特に任意長のビットフィールトの
操作を行うBVMAP命令と呼ばれる命令の動作について説
明する。 第3図はBVMAP命令のオペレーションコードを表した
模式図である。 この図でbビット21は、b=0の場合にはビットフィ
ールドの処理をビット番号の増加方向に進めるように指
示し、b=1の場合にはビットフィールドの処理をビッ
ト番号の減少方向に進めるように指示する。 第4図はBVMAP命令のオペランドを示す模式図であ
る。 BVMAP命令のオペランドは、レジスタファイル11中に
備えられている汎用のROレジスタ22,R1レジスタ23,R2レ
ジスタ24,R3レジスタ25,R4レジスタ26,R5レジスタ27に
格納される。 ROレジスタ22にはソース側のビットフィールドの基準
となるアドレス(以下、ソースアドレスという)が、R1
レジスタ23にはソース側のビットフィールドのビットオ
フセット(以下、ソースオフセットという)が、R2レジ
スタ24には処理するビットフィールドの長さをビット数
で示した値(以下、ビット数という)が、R3レジスタ25
にはデスティネーション側のビットフィールドの基準と
なるアドレス(以下、デスティネーションアドレスとい
う)が、R4レジスタ26にはデスティネーション側のビッ
トフィールドのビットオフセット(以下、デスティネー
ションオフセットという)がそれぞれおかれる。 そして、R5レジスタ27によりソース側のビットフィー
ルドとデスティネーション側のビットフィールドとの間
の演算の種類を指定する。 第5図はビットフィールドの構成について説明する模
式図である。 ソースビットフィールド28は、ソースアドレス(=
j)とソースアドレスの最上位ビットからソースビット
フィールド28の最上位ビットまでの間が何ビット離れて
いるかを示したソースオフセット(=k)と、ソースビ
ットフィールド28のビット数(デシティネーションビッ
トフィールドのビット数と共通)を示すビット数(=
l)とにより指定される。 デスティネーションビットフィールド29も同様にデス
ティネーションアドレスとデスティネーションオフセッ
トとビット数とで指定される。 第6図〜第11図は、マイクロROM7に格納されているマ
イクロプログラムの制御によってBVMAP命令を実行する
場合の実行シーケンスを示したフローチャートである。 このうち、第6図〜第8図はビットフィールドの処理
をビット番号の増加方向に進める場合のフローチャート
であり、第9図〜第11図はビットフィールドの処理をビ
ット番号の減少方向に進める場合のフローチャートであ
る。 第12図は、本発明のデータ処理装置の他の実施例によ
るBVMAP命令の実行シーケンスを示すフローチャートで
ある。 BVMAP命令のオペレーションコードは、命令フェッチ
部1にフェッチされた後、命令デコード部2でデコード
される。このとき、オペレーションコード中のbビット
21が‘0'の場合にはビットフィールドの処理をビット番
号の増加方向に進めるマイクロプログラムエントリを選
択するように命令実行制御部3に指示され、bビット21
が‘1'の場合にはビットフィールドの処理をビット番号
の減少方向に進めるマイクロプログラムエントリを選択
するよう命令実行制御部3に指示される。選択されたマ
イクロプログラムエントリのマイクロ命令がマイクロRO
M7から出力されると、命令実行制御部3が命令実行部5
を制御してBVMAP命令を実行する。 まず、ビットフィールドの処理をビット番号の増加方
向に進める場合についてマイクロ命令の実行シーケンス
を説明する。 命令がスタートすると最初に、R2レジスタ24に保持さ
れているビット数が負の数であるか否かのチェックが行
われる。この結果、負の数であるならばオペランドとし
て不適当であるため、この時点で命令を終了させる。一
方、負の数でなければ次の処理に移り、ソースアドレ
ス、ソースオフセット、デスティネーションアドレス、
デスティネーションオフセットがそれぞれ正規化され
る。 なお、ここでの正規化というのは、ビットフィールド
の最上位ビットを含むワードアライメントのとれたワー
ドのアドレスと、そのアドレスに対応するオフセット値
を求めることである。具体的には、アドレスの正規化
は、アドレスにオフセットを8で除した商を加えた後に
下位2ビットを0に変換することによって行われる。ま
た、オフセットの正規化は、オフセットを32で割った場
合の剰余を求めることによって行われる。 このようにして正規化が終了すると、まずソース側の
最初の1ワード(=4バイト)のデータを読み出す。SA
の値に従って1ワードのデータをオペランドアクセス部
4を介してメモリ10から読み出し、これをSとして、レ
ジスタファイル11中に備えられている汎用レジスタの1
つに格納する。そしてSAの値を‘4'加算して、今読み出
したデータに引き続くデータのアドレスになるようにし
ておく。 次いでデスティネーション側の最初の1ワード(=4
バイト)のデータを読み出す。DAの値で1ワードのデー
タをオペランドアクセス部4を介してメモリ10から読み
出し、これをDとしてレジスタファイル11中に備えられ
ている汎用レジスタの1つに格納する。 次に、Dの中に含まれているビットフィールドが何ビ
ットであるかが計算される。これは‘DO+R2'と32とを
比較して小さい方の値からDOを減算することによって求
めることができる。得られた値をΔとし、レジスタファ
イル11中にある汎用レジスタの1つに格納する。 ここで、S中に含まれるビットフィールドの長さがΔ
よりも小さいか否かのチェックを行う。もし、小さい場
合にはD中のビットフィールドと演算を行うためにはS
に引き続くデータをメモリ10から読み出してこなければ
ならない。しかし、S中のビットフィールドの長さがΔ
より大きい場合にはメモリ10からの読み出しを行わなく
てもよいので、これらの処理を分けて行う必要がある。
そこで、SOとΔを加算し、その結果が32以下であればS
中に含まれるビットフィールドの長さがΔ以上であるこ
とを示しており、(A)の処理へ進む。一方、SO+Δ>
32の場合にはS中のビットフィールドの長さがΔよりも
小であることを示しており、(B)の処理へ分岐する。 (A)に進んだ場合には、読み出してきたソース側の
データとデスティネーション側のデータとの間でR5レジ
スタ27により指定された論理演算を行い、その結果をD
がメモリ10中で格納されていた箇所に再び書き込む。 S中のビット番号‘SO'〜‘SO+Δ−1'のビット列を
抜きだしてXとし、D中のビット番号‘DO'〜‘DO+Δ
−1'のビット列を抜き出してYとし、それぞれレジスタ
ファイル11中にある汎用レジスタの1つに格納する。X
とYとの間でR5レジスタ27により指定された論理演算を
行い、その結果得られた長さΔのビット列をD中のビッ
ト番号‘DO'〜‘DO+Δ−1'へ挿入し、Dの値をメモリ
(10)中のDが格納されていた箇所に再び書き込む。そ
の後、DAの値を‘4'加算してDに引き続くデータのアド
レスを示すようにする。 また、SOの値を今処理した分(=Δ)だけ加算して未
処理のビットフィールドに対するソースオフセットとす
る。また、デスティネーション側の未処理のビットフィ
ールドはDに引き続くデータの最初(ビット番号‘0')
から始まるのでDOの値は0にしておく。 一方、(B)に分岐した場合には、まず、Sに引き続
く1ワードのデータが読み出される。SAの値は先の処理
でSに引き続くデータのアドレスを指しているので、SA
の値を用いてメモリ10から1ワード読み出し、これをT
としてレジスタファイル11中にある汎用レジスタ1つに
格納する。読み出した後はSAの値に4を加え、Tに引き
続くデータのアドレスを指すようにしておく。 SとTを結合して得られる2ワードのデータからビッ
ト番号‘SO'〜‘SO+Δ−1'のビット列を抜きだしてX
とし、D中のビット番号‘DO'〜‘DO+Δ−1'のビット
列を抜きだしてYとし、それぞれレジスタファイル11中
にある汎用レジスタの1つに格納する。 この後は(A)の処理と同じようにXとYとの間で論
理演算を行い、その結果をメモリ10中のDが格納されて
いた箇所に再び書き込む。そして、DAの値を4加算す
る。T中にまた未処理のビットフィールドが残っている
なら、それは次の演算処理に使用するのでTの値をSに
移しておく。また、SOの値はΔ−32を加算することによ
って未処理のビットフィールドに対するソースオフセッ
トになる。DOの値は0にして(D)に戻る。 ここで、R1レジスタ23、R4レジスタ26、R2レジスタ24
におかれているオフセットの値やビット数を未処理のビ
ットフィールドに対する情報とするためには、オフセッ
ト値は処理を行った分だけ増加させ、ビット数は処理を
行った分だけ減らさなければならない。従って、R1レジ
スタ23及びR4レジスタ26にはΔを加え、R2レジスタ24に
はΔを減じる。 このとき、R2レジスタ24の値が0になった場合には、
未処理のビットフィールドがなくなったことを意味して
おり、命令を終了させる。0でなければ、未処理のビッ
トフィールドは残っているため処理が続行される。 ここでもし命令が中断したとしても、先の処理でR1レ
ジスタ23、R4レジスタ26、R2レジスタ24の値が更新され
ているので、中断後再び命令の実行が再開されても未処
理のビットフィールドの処理を実行させることができ
る。従って、この時点で割り込みあるいは例外などを受
け付けるようにしておけば、もし割り込みや例外が発生
しているならば命令を中断して、対応する処理を行う。
割り込みあるいは例外の処理が終了した後に命令の再実
行が行われると、命令中断以前からの引き続く処理を実
行する。割り込み例外が発生していなければ(C)に戻
り、先に説明したシーケンスを再び実行し、処理すべき
ビットフィールドがなくなるまでこのループが繰り返さ
れる。 次に、ビットフィールドの処理をビット番号の減少方
向に進める場合についてマイクロ命令の実行シーケンス
を説明する。 基本的なシーケンスは、増加方向に進める場合と同様
であるので、異なる点以外は簡単に説明する。 命令がスタートするとR2レジスタ24に保持されている
ビット数が負の数であるか否かのチェックを行った後、
ソースとデスティネーションのアドレス、オフセットを
それぞれ正規化する。 ソース側の最初の1ワード(=4バイト)のデータを
メモリ10から読み出し、これをSとする。そしてSAの値
をこの場合は減少方向への処理のため‘4'減算する。 次いでデスティネーション側の最初の1ワード(=4
バイト)のデータをメモリ10から読み出し、これをDと
する。 Δの計算は、‘R2−DO'と‘0'とを比較して小さい方
と値に‘DO'を加算することによって行われる。 ここで、S中に含まれるビットフィールドの長さがΔ
よりも小さいか否かのチェックを行う。SOとΔとを比較
して‘SO≧Δ’であるばS中のビットフィールドの長さ
がΔ以上てあることを示しており、(a)の処理へ進
む。一方、‘SO<Δ’のときにはS中のビットフィール
ドの長さがΔよりも小さいことを示しており、(b)の
処理へ分岐する。 (a)に進むと、Sから抜きだしたビット列XとDか
ら抜きだしたビット列Yとの間でR5レジスタ27により指
定された論理演算を行い、その結果をDがメモリ10中で
格納されていた箇所に再び書き込む。このとき、XのS
中でのビット番号は‘SO−Δ’〜‘SO−1'、YのD中で
のビット番号は‘DO−Δ’〜‘DO−1'となり、D中のビ
ット番号‘DO−Δ’〜‘DO−1'に演算結果が挿入され
る。その後、DAの値を4減算する。 また、SOの値をSO−Δとして未処理のビットフィール
ドに対するソースオフセットにする。また、デスティネ
ーション側の未処理のビットフィールドはDに引き続く
データの最下位ビット(ビット番号‘31')からはじま
るのでDOの値は32にする。 一方、(b)に分岐した場合には、Sに引き続く1ワ
ードのデータを読み出して、これをTとした後、SAの値
を今度は4減じる。 SとTを結合して得られる2ワードのデータからビッ
ト番号‘32+SO−Δ’〜‘32+SO−1'のビット列を抜出
してXとし、D中からビット番号‘DO−Δ’〜‘DO−1'
のビット列を抜きだしてYとし、それぞれレジスタファ
イル11中にある汎用レジスタの1つに格納する。その
後、XとYとの間で論理演算を行い、その結果をメモリ
10中のDが格納されていた箇所に再び書き込む。そし
て、DAの値を4減算する。また、Tの値をSに移した
後、SOの値は32+SO−Δとし、DOの値は32にして(d)
に戻る。 R1レジスタ23、R4レジスタ26、R2レジスタ24の更新に
ついては、ビット番号の減少方向に処理されるので、オ
フセット値は処理を行った分だけ減少する。したがっ
て、R1レジスタ23及びR4レジスタ26をΔ分だけ減じる。
ビットフィールドの長さを示すR2レジスタ24は増加方向
の処理と同様にΔ分だけ減じる。 このとき、R2レジスタ24の値が0になれば、命令を終
了し、0でなければ、処理が続行される。 そして、この時点で割り込みや例外などを受け付け、
もし割り込みや例外が発生しているならば命令を中断し
て、対応する処理を行う。処理終了後、命令の再実行を
行うと中断以前からの引き続く処理を実行する。割り込
みや例外が発生していなければ(c)に戻り、処理すべ
きビットフィールドがなくなるまでこのループが繰り返
される。 以上のような方法でBVMAP命令を実行することができ
る。ここでは命令デコード部2でBVMAP命令のオペレー
ションコードをデコードする際にbビット21の値によっ
てビット番号の増加方向への処理か減少方向への処理か
を識別し、それぞれに対応するマイクロプログラムのエ
ントリを指定していたが、他の実施例として、命令デコ
ード部2では2種類の処理方法を区別しないでbビット
21の情報を命令実行制御部3に送り、マイクロ命令がそ
のbビット21の情報からビット番号の増加方向の処理か
減少方向の処理へ分岐するような方法をとってもBVMAP
命令を実行することが可能である。 [発明の効果] 以上のように、本発明のデータ処理装置では、操作対
象のビット列を指定する第2,第3手段におけるオペラン
ドの更新により表すことにより、ビット列を操作する命
令の実行処理を中断・再開することが可能となり、外部
割込みの受け付けを不必要に遅らせなくて済むと同時
に、命令の実行再開を命令の実行開始と同様に処理する
ことができる。 また、ビット列の処理をバスのアラインメントに併せ
て行うことにより、バスの容量を最大に活用して命令の
実行効率を上げることができる。
【図面の簡単な説明】 第1図は本発明のデータ処理装置の実施例の全体の構成
を示すブロック図、第2図は第1図に示されている命令
実行部の詳細図、第3図はBVMAP命令のオペレーション
コードを表す模式図、第4図はBVMAP命令のオペランド
を表す模式図、第5図はビットフィールドの説明のため
の模式図、第6図〜第11図は、マイクロROMに格納され
たマイクロプログラムの制御によってBVMAP命令を実行
するときの実行シーケンスを示すフローチャートであ
り、これらのうち、第6図〜第8図はビットフィールド
の処理をビット番号の増加方向に進める場合のフローチ
ャート、第9図〜第11図はビットフィールドの処理をビ
ット番号の減少方向に進める場合のフローチャート、第
12図は、本発明のデータ処理装置の他の実施例によるBV
MAP命令の実行シーケンスを示したフローチャートであ
る。 1……命令フェッチ部、2……命令デコード部、3……
命令実行制御部、4……オペンランドアクセス部、5…
…命令実行部、6……マイクロプログラムカウンタ、7
……マイクロプログラムROM、10……メモリ、11……レ
ジスタファイル、13……バレルシフタ なお、図中同一符号は同一または相当部分を示す。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 岩田 俊一 兵庫県伊丹市瑞原4丁目1番地 三菱電 機株式会社エル・エス・アイ研究所内 (72)発明者 榎本 龍弥 兵庫県伊丹市瑞原4丁目1番地 三菱電 機株式会社エル・エス・アイ研究所内 (56)参考文献 特開 昭60−245062(JP,A) 特開 昭51−114839(JP,A) 特開 昭62−3333(JP,A) 特開 昭60−215245(JP,A) 特開 昭61−502566(JP,A) 特公 昭58−47738(JP,B2) 特公 昭62−26728(JP,B2)

Claims (1)

  1. (57)【特許請求の範囲】 1.命令を解読する解読手段と、 処理対象となるビット列の先頭を指定するビットアドレ
    スを保持する第1の手段と、 処理対象となるビットの数を保持する第2の手段と、 ビット操作命令の実行中に割込を受け付ける割込受け付
    け手段と、 メモリにアクセスし、前記メモリに対して所定ビット数
    単位でデータの読み出し及び書込みを行うメモリアクセ
    ス手段と、 1命令でメモリ内に記憶された任意のビットから任意の
    ビットまでの1または複数ビットにて構成された任意長
    のビット列のメモリ−メモリ間の演算を処理する命令を
    前記解読手段が解読した場合に、前記メモリアクセス手
    段により前記メモリから読み出された1単位のビット列
    の内の前記第1の手段が保持するビットアドレスから前
    記第2の手段が保持するビット数のビット列に対して前
    記解読手段により解読された命令を実行し、その処理結
    果を前記メモリアクセス手段に前記メモリへ書込ませる
    命令実行手段と、 前記命令実行手段が1単位のビット列の処理を終了した
    場合に、前記第1の手段が保持するビットアドレスを未
    だ処理されていない次の1単位のビット列の先頭を指定
    するビットアドレスに更新し、前記第2の手段が保持す
    るビット数を前記第1の手段により指定されるビット列
    中で未だ処理されていないビットの数に更新する第3の
    手段と を備え、 前記割込受け付け手段が前記命令実行手段による命令実
    行中に割込を受け付けた場合は、前記第1の手段及び第
    2の手段はその時点において前記第3の手段により更新
    されている状態を維持し、 前記割込受け付け手段が受け付けた割込処理終了後に、
    前記第1の手段及び第2の手段が維持している状態から
    前記命令実行手段が前記命令を再実行すべくなしてある
    こと を特徴とするデータ処理装置。 2.前記第2及び第3の手段は汎用レジスタであること
    を特徴とする特許請求の範囲第1項記載のデータ処理装
    置。 3.演算処理のために、ビット列を含むソース側のメモ
    リ領域に対して所定サイズのバスを通して前記所定のサ
    イズのアクセスを行う手段と、 前記アクセスの結果得られた前記ビット列をデスティネ
    ーション側のメモリ領域へ移すに際し、ソース側及びデ
    スティネーション側のオフセットに関連づけたビット数
    に従って処理する手段と を備えたことを特徴とする特許請求の範囲第1項記載の
    データ処理装置。
JP62246627A 1987-09-30 1987-09-30 データ処理装置 Expired - Lifetime JP2748957B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP62246627A JP2748957B2 (ja) 1987-09-30 1987-09-30 データ処理装置
US07/677,363 US5121474A (en) 1987-09-30 1991-03-26 Bit string data processor using dynamically addressable bit locations in memory so overlapping strings do not destroy data in memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62246627A JP2748957B2 (ja) 1987-09-30 1987-09-30 データ処理装置

Publications (2)

Publication Number Publication Date
JPS6488837A JPS6488837A (en) 1989-04-03
JP2748957B2 true JP2748957B2 (ja) 1998-05-13

Family

ID=17151215

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62246627A Expired - Lifetime JP2748957B2 (ja) 1987-09-30 1987-09-30 データ処理装置

Country Status (2)

Country Link
US (1) US5121474A (ja)
JP (1) JP2748957B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0470570B1 (en) * 1990-08-09 1997-01-29 Silicon Graphics, Inc. Method and apparatus for byte order switching in a computer
US5706460A (en) * 1991-03-19 1998-01-06 The United States Of America As Represented By The Secretary Of The Navy Variable architecture computer with vector parallel processor and using instructions with variable length fields
JP3203401B2 (ja) * 1993-05-21 2001-08-27 三菱電機株式会社 データ処理装置
JPH07114469A (ja) * 1993-10-18 1995-05-02 Mitsubishi Electric Corp データ処理装置
JP2932963B2 (ja) * 1994-01-21 1999-08-09 モトローラ・インコーポレイテッド 効率的なビット移動能力を有するデータ・プロセッサとその方法
DE10314928A1 (de) * 2003-04-02 2004-11-04 Infineon Technologies Ag Verfahren und programmgesteuerte Einheit zur Bitfeldverschiebung
JP5263498B2 (ja) * 2008-07-09 2013-08-14 セイコーエプソン株式会社 信号処理プロセッサ及び半導体装置
JP5263497B2 (ja) * 2008-07-09 2013-08-14 セイコーエプソン株式会社 信号処理プロセッサ及び半導体装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4109310A (en) * 1973-08-06 1978-08-22 Xerox Corporation Variable field length addressing system having data byte interchange
US4099229A (en) * 1977-02-14 1978-07-04 The United States Of America As Represented By The Secretary Of The Navy Variable architecture digital computer
US4219874A (en) * 1978-03-17 1980-08-26 Gusev Valery Data processing device for variable length multibyte data fields
US4258419A (en) * 1978-12-29 1981-03-24 Bell Telephone Laboratories, Incorporated Data processing apparatus providing variable operand width operation
US4367524A (en) * 1980-02-07 1983-01-04 Intel Corporation Microinstruction execution unit for use in a microprocessor
JPS5847738A (ja) * 1981-09-14 1983-03-19 Matsushita Electric Works Ltd 合板完全一枚投入装置
JPS6226728A (ja) * 1985-07-26 1987-02-04 東芝テック株式会社 オ−ブント−スタ

Also Published As

Publication number Publication date
US5121474A (en) 1992-06-09
JPS6488837A (en) 1989-04-03

Similar Documents

Publication Publication Date Title
US4454578A (en) Data processing unit with pipelined operands
US4745547A (en) Vector processing
KR960003046B1 (ko) 비정렬 레퍼런스의 처리가 가능한 risc 컴퓨터 및 그 처리방법
RU2292581C2 (ru) Команды загрузки/перемещения и копирования для процессора
US5996057A (en) Data processing system and method of permutation with replication within a vector register file
US4740893A (en) Method for reducing the time for switching between programs
US6151669A (en) Methods and apparatus for efficient control of floating-point status register
TWI770721B (zh) 硬體處理器及處理器
JP3203401B2 (ja) データ処理装置
US7546442B1 (en) Fixed length memory to memory arithmetic and architecture for direct memory access using fixed length instructions
KR100254008B1 (ko) 2개의 명령을 동시에 실행할 수 있는 데이타 프로세서
JPH1091443A (ja) 情報処理回路、マイクロコンピュータ及び電子機器
USRE32493E (en) Data processing unit with pipelined operands
JPH03218523A (ja) データプロセッサ
JPH0831032B2 (ja) データ処理装置
JPH063584B2 (ja) 情報処理装置
US5761467A (en) System for committing execution results when branch conditions coincide with predetermined commit conditions specified in the instruction field
JP2002229777A (ja) プロセッサ装置
US6370639B1 (en) Processor architecture having two or more floating-point status fields
JPS59212958A (ja) コンピユ−タシステム
JPH01137331A (ja) 制御ワード分岐方法
JP2748957B2 (ja) データ処理装置
JP4228241B2 (ja) 演算処理装置
US20030037085A1 (en) Field processing unit
JPS6014338A (ja) 計算機システムにおける分岐機構

Legal Events

Date Code Title Description
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080220

Year of fee payment: 10