JPS623333A - ビツト群置数方式 - Google Patents
ビツト群置数方式Info
- Publication number
- JPS623333A JPS623333A JP61111740A JP11174086A JPS623333A JP S623333 A JPS623333 A JP S623333A JP 61111740 A JP61111740 A JP 61111740A JP 11174086 A JP11174086 A JP 11174086A JP S623333 A JPS623333 A JP S623333A
- Authority
- JP
- Japan
- Prior art keywords
- register
- field
- bit
- bits
- bit group
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 22
- 230000000295 complement effect Effects 0.000 abstract description 10
- 230000000694 effects Effects 0.000 description 2
- 101000935638 Homo sapiens Basal cell adhesion molecule Proteins 0.000 description 1
- 235000014121 butter Nutrition 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 102000056491 human BCAM Human genes 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30018—Bit or string instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
- G06F9/30167—Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の技術分野〕
本発明はビット群をレジスタ中に置数する命令によりな
されるビット群置数方式に関する。
されるビット群置数方式に関する。
コンピュータ・システム中のプロセラ丈にはしばしば指
定されたビット数だけレジスタでビットを左右に7フト
する命令が設けられ−〔いる。更に、あるグロセンナに
は、所定数のビットを、ソース番オペランドから、ター
ゲット・オペランド中の右端が所定ビット位置から始ま
るフィールドへ押入する命令を設けているものもあった
。しかしながら処理効率の一ノーの向上を図るには、レ
ジスタ中のビットを処理するためのより汎用性のある手
段を設ける必要があった。
定されたビット数だけレジスタでビットを左右に7フト
する命令が設けられ−〔いる。更に、あるグロセンナに
は、所定数のビットを、ソース番オペランドから、ター
ゲット・オペランド中の右端が所定ビット位置から始ま
るフィールドへ押入する命令を設けているものもあった
。しかしながら処理効率の一ノーの向上を図るには、レ
ジスタ中のビットを処理するためのより汎用性のある手
段を設ける必要があった。
本発明の目的は単純な命令で汎用性のあるビット群の置
数を行な5方式を提供することを目的とするO 〔発明の概要〕 本発明の一実施例によれば、命令レジスタ中のビット群
は、算術論理ユニット(入LU)に対しビット群のソー
スと、ビット数と、ターゲット・レジスタ中のビット位
置を指示する。ALUは1命令サイクル内でビット群を
ビット群のソースからターゲット・レジスタ中の指定位
置へ転送する。
数を行な5方式を提供することを目的とするO 〔発明の概要〕 本発明の一実施例によれば、命令レジスタ中のビット群
は、算術論理ユニット(入LU)に対しビット群のソー
スと、ビット数と、ターゲット・レジスタ中のビット位
置を指示する。ALUは1命令サイクル内でビット群を
ビット群のソースからターゲット・レジスタ中の指定位
置へ転送する。
ビット群のソースは、他のレジスタでも良いし、あるい
は命令中の直接値フィールドであっても良い。またター
ゲット・レジスタ中のビット群が置数される位置の指定
は、命令中の特定のフィールドで指定しても良いし、あ
るいは別のレジスタによって指定しても良い。更に、タ
ーゲット・レジスタ中のビット群が置数されないビット
位置の値は、以前の直を保持してもよいし、あるいは特
定の直、たとえば0.に設定されても良い。
は命令中の直接値フィールドであっても良い。またター
ゲット・レジスタ中のビット群が置数される位置の指定
は、命令中の特定のフィールドで指定しても良いし、あ
るいは別のレジスタによって指定しても良い。更に、タ
ーゲット・レジスタ中のビット群が置数されないビット
位置の値は、以前の直を保持してもよいし、あるいは特
定の直、たとえば0.に設定されても良い。
以下では、本発明の一実施例におけるビット群置数のだ
めの命令の各攬の動作を夫々図面に基いて説明する。
めの命令の各攬の動作を夫々図面に基いて説明する。
第1図において、入LU50はレジスタ110゜140
からのビット自パターンを処理し、レジスタ120から
のビット群をレジスタ130内に置数する。
からのビット自パターンを処理し、レジスタ120から
のビット群をレジスタ130内に置数する。
なお、レジスタ長は本発明の要旨とは関連しない事項で
あるが、以下では全て32ビットであるとして説明する
。レジスタ110はいくつかのフィールドに分割されて
いる。フィールド111には6ビットの命令コードが含
まれている。この直も本発明の要旨とは関係ないが、2
進数で011101であるとして説明する。なお、この
詰合コードの値は第2図ないし第8図においても同じ1
直である。
あるが、以下では全て32ビットであるとして説明する
。レジスタ110はいくつかのフィールドに分割されて
いる。フィールド111には6ビットの命令コードが含
まれている。この直も本発明の要旨とは関係ないが、2
進数で011101であるとして説明する。なお、この
詰合コードの値は第2図ないし第8図においても同じ1
直である。
フィールド112には汎用レジスタのひとつを指示する
5ビットのアドレスが含すれている。この汎用レジスタ
中にビット群が置数される。フィールド112のアドレ
スが5ビット長であることによ枚32個の汎用レジスタ
からひとつの汎用レジスタを選択することができる。こ
こでは、このようにして選択された汎用レジスタはレジ
スタ130である。
5ビットのアドレスが含すれている。この汎用レジスタ
中にビット群が置数される。フィールド112のアドレ
スが5ビット長であることによ枚32個の汎用レジスタ
からひとつの汎用レジスタを選択することができる。こ
こでは、このようにして選択された汎用レジスタはレジ
スタ130である。
フィールド113には、置数されるべきビット群のソー
スとなる第2の汎用レジスタ濠指示する5ビットのアド
レスが含まれている。ここでは、このようにして選択さ
れた第2の汎用レジスタはレジスタ120である。レジ
スタ120からビット群を選択するには、予め位置が定
められたフィールドから選択して良い。たとえば、レジ
スタ120の右端のフィールド121がこのフィールド
であって良い。
スとなる第2の汎用レジスタ濠指示する5ビットのアド
レスが含まれている。ここでは、このようにして選択さ
れた第2の汎用レジスタはレジスタ120である。レジ
スタ120からビット群を選択するには、予め位置が定
められたフィールドから選択して良い。たとえば、レジ
スタ120の右端のフィールド121がこのフィールド
であって良い。
フィールド114には3ビットの条件コードが含まれて
いる。もしこの条件コードによる条件判定の結果が真と
なれば、この命令の次の命令は無効化(nut l1f
y ) されて良い。表1に条件コードの一例を示す
。なお、命令の無効化とは、その命令が実質的に実行さ
れないようにすることであって、スキップと同じ効果を
与える。
いる。もしこの条件コードによる条件判定の結果が真と
なれば、この命令の次の命令は無効化(nut l1f
y ) されて良い。表1に条件コードの一例を示す
。なお、命令の無効化とは、その命令が実質的に実行さ
れないようにすることであって、スキップと同じ効果を
与える。
表 1
000 常に偽
001 レジスタ130の全ビットがOになったら真
010 レジスタ130の最上位ビットが1になった
ら真 011 レジスタ130の最上位ビットが1になっ
たら真 100 常に真 101 レジスタ130の少なくとも1つのビットが
Oでない1直になったら真 110 レジスタ130の最丁位ビットがOになっ
たら真 111 レジスタ130の最上位ビットがOになった
ら真 フィールド115は3ビットの拡張コー ドである。
010 レジスタ130の最上位ビットが1になった
ら真 011 レジスタ130の最上位ビットが1になっ
たら真 100 常に真 101 レジスタ130の少なくとも1つのビットが
Oでない1直になったら真 110 レジスタ130の最丁位ビットがOになっ
たら真 111 レジスタ130の最上位ビットがOになった
ら真 フィールド115は3ビットの拡張コー ドである。
このフィールドはどの、に5なタイプの置数命令が実行
されているかを示す。こ、れら3ビットによシa) ビ
ット群のソースは直接値か、それともレジスタか b)ターゲット拳レジスタ中でのビット位置は直接値で
与えられるか、それともある予め定められたレジスタ中
に設定されている1直により与えられるか C)ターゲット−レジスタ中のビット群が置数されない
ビット位置の直をOとするか、それとも以前からターゲ
ット−レジスタ中に入っていた直をそのまま用いるか が指定される。ここでは2進数で001がこのフこれら
のビットは従って全て0に設定されていて良い。
されているかを示す。こ、れら3ビットによシa) ビ
ット群のソースは直接値か、それともレジスタか b)ターゲット拳レジスタ中でのビット位置は直接値で
与えられるか、それともある予め定められたレジスタ中
に設定されている1直により与えられるか C)ターゲット−レジスタ中のビット群が置数されない
ビット位置の直をOとするか、それとも以前からターゲ
ット−レジスタ中に入っていた直をそのまま用いるか が指定される。ここでは2進数で001がこのフこれら
のビットは従って全て0に設定されていて良い。
フィールド117は5ビットである。このフィールドは
、レジスタ120からレジスタ130へ置数されるビッ
ト群のビット数を示す。この5ビットは補数形式でビッ
ト数を示す。すなわちこの5ビットで表わされる数を3
2から引くことによりレジスタ120からレジスタ13
0へ置数されるビット数が得られる。たとえば、フィー
ルド117が2進数で11010(10進数で26)で
あれば、レジスタ120のフィールド121は6ビット
(32−26)を含み、またレジスタ130中のフィー
ルド131もまた6ビットを含む。フィールド131は
レジスタ130内のフィールドであり、ここにレジスタ
120からフィールド1210ビットが置数される。な
おビット数を補数形式で与える点は第2図ないし第8図
についても同様である。
、レジスタ120からレジスタ130へ置数されるビッ
ト群のビット数を示す。この5ビットは補数形式でビッ
ト数を示す。すなわちこの5ビットで表わされる数を3
2から引くことによりレジスタ120からレジスタ13
0へ置数されるビット数が得られる。たとえば、フィー
ルド117が2進数で11010(10進数で26)で
あれば、レジスタ120のフィールド121は6ビット
(32−26)を含み、またレジスタ130中のフィー
ルド131もまた6ビットを含む。フィールド131は
レジスタ130内のフィールドであり、ここにレジスタ
120からフィールド1210ビットが置数される。な
おビット数を補数形式で与える点は第2図ないし第8図
についても同様である。
レジスタ140はビット位置数を含む/ジスタである。
このビット位置数によりレジスタ130内のフィールド
のビット位置が表わされる。ビット位置数はレジスタ1
40内の右端のフィールド141に置かれる。なおレジ
スタ140は、ここでは予め定められたレジスタである
。ビット位置数はレジスタ130内のフィールド131
の右端のビットの位置を示す。たとえば、フィールド1
41中で与えられる右端のビット位置の番号が17であ
る場合は、フィールド131の右端のビット位置は17
7番目なる。ここでレジスタのに端のビット位置をO番
目、右端を31番目とするうこのビット位置の数え方も
、第2図ないし第8図に関して同様に用いられる。
のビット位置が表わされる。ビット位置数はレジスタ1
40内の右端のフィールド141に置かれる。なおレジ
スタ140は、ここでは予め定められたレジスタである
。ビット位置数はレジスタ130内のフィールド131
の右端のビットの位置を示す。たとえば、フィールド1
41中で与えられる右端のビット位置の番号が17であ
る場合は、フィールド131の右端のビット位置は17
7番目なる。ここでレジスタのに端のビット位置をO番
目、右端を31番目とするうこのビット位置の数え方も
、第2図ないし第8図に関して同様に用いられる。
第2図において、ALU50はレジスタ210からのビ
ット・パターンを処理し、レジスタ220からのビット
群をレジスタ230内に置数する。レジスタ210はい
くつかのフィールドに分けられ−〔いる。フィールド2
11は6ビットの命令コードであり、たとえば置数命令
を表わす011101である。
ット・パターンを処理し、レジスタ220からのビット
群をレジスタ230内に置数する。レジスタ210はい
くつかのフィールドに分けられ−〔いる。フィールド2
11は6ビットの命令コードであり、たとえば置数命令
を表わす011101である。
フィールド212はビット群が置数される汎用レジスタ
を指示する5ビットのアドレスを含む。ここでは選択さ
れたレジスタはレジスタ230である。
を指示する5ビットのアドレスを含む。ここでは選択さ
れたレジスタはレジスタ230である。
フィールド213は、置数されるべきビット群のソース
である第2の汎用レジスタを指示する5ビットのアドレ
スを含む。ここでは選択された第2の汎用レジスタはレ
ジスタ220である。レジスタ220から選択されるビ
ット群は所定の7.イールドから選択して良い。たとえ
ば、レジスタ220内の右端のフィールド221がこの
フィールドであって良い。
である第2の汎用レジスタを指示する5ビットのアドレ
スを含む。ここでは選択された第2の汎用レジスタはレ
ジスタ220である。レジスタ220から選択されるビ
ット群は所定の7.イールドから選択して良い。たとえ
ば、レジスタ220内の右端のフィールド221がこの
フィールドであって良い。
フィールド214は3ビットの条件コードを含む。
もし条件が真となれば、たとえば後続する命令は無効化
されて良い。この条件の例は既に表1に示した。
されて良い。この条件の例は既に表1に示した。
フィールド215はどのようなタイプの置数命令が実行
されるかを示す3ビットの拡張コードである。ここでは
2進数で011が与えられている。
されるかを示す3ビットの拡張コードである。ここでは
2進数で011が与えられている。
フィール216はビット位置数用の5ビットを含む。ビ
ット位置数はレジスタ230内のフィールド2310ビ
ット位置を表している。フィールド231はレジスタ2
30内にあシ、このフィールドにフィールド221から
のビットが置数される。ビット位置数は第1図について
説明したように、レジスタ230内でのフィールド23
1の右端のビット位置を表す。たとえばフィールド21
6で与えられる右端のビット番号が19ならば、フィー
ルド231の右端のビットはレジスタ230の第19番
目のビット位置となる。
ット位置数はレジスタ230内のフィールド2310ビ
ット位置を表している。フィールド231はレジスタ2
30内にあシ、このフィールドにフィールド221から
のビットが置数される。ビット位置数は第1図について
説明したように、レジスタ230内でのフィールド23
1の右端のビット位置を表す。たとえばフィールド21
6で与えられる右端のビット番号が19ならば、フィー
ルド231の右端のビットはレジスタ230の第19番
目のビット位置となる。
フィールド217は、フィールド221からレジスタ2
30中に置数されるビット数を補数で表した5ビットの
数を含んでいる。たとえば、フィード217が2進数で
11010なら、レジスタ22中のフィールド221は
32−26=6ビットであり、またレジスタ230中の
フィールド231も同じく6ビットである。
30中に置数されるビット数を補数で表した5ビットの
数を含んでいる。たとえば、フィード217が2進数で
11010なら、レジスタ22中のフィールド221は
32−26=6ビットであり、またレジスタ230中の
フィールド231も同じく6ビットである。
第3図において、ALU50はレジスタ310およびレ
ジスタ340からのビット・パターンを処理して、レジ
スタ310内のフィールド313からのビット群をレジ
スタ330中に置数する。レジスタ310は7つのフィ
ールドに分けられている。フィールド311は既に述べ
たように6ビントで、置数命令であることを表すコード
011101が入っている。
ジスタ340からのビット・パターンを処理して、レジ
スタ310内のフィールド313からのビット群をレジ
スタ330中に置数する。レジスタ310は7つのフィ
ールドに分けられている。フィールド311は既に述べ
たように6ビントで、置数命令であることを表すコード
011101が入っている。
フィールド312にはビット群が置数される汎用レジス
タを指示する5ビットのアドレスが含まれている。フィ
ールド312中の5ビットのアドレスにより、32個の
汎用レジスタ中から1個を選択できる。ここでは選択さ
れる汎用レジスタはレジスタ330である。
タを指示する5ビットのアドレスが含まれている。フィ
ールド312中の5ビットのアドレスにより、32個の
汎用レジスタ中から1個を選択できる。ここでは選択さ
れる汎用レジスタはレジスタ330である。
フィールド313は置数されるビット群のソースとなる
5ビットの直接値を含む。
5ビットの直接値を含む。
フィールド314は3ビットの条件コードを含む。
ここで指定された条件が満足されたなら(つまシ真とな
れば)、たとえば、次の命令が無効化される。条件コー
ドの例は既に表1に示した。
れば)、たとえば、次の命令が無効化される。条件コー
ドの例は既に表1に示した。
フィールド315は3ビットの拡張コードを含む。
この拡張コードによりどのようなタイプの置数命令が実
行されるかが示される。この場合にはフィールド315
は2進数で101となっており、置数されるべき可変長
のビット群は命令中に直接値として含まれていること等
が示されている。
行されるかが示される。この場合にはフィールド315
は2進数で101となっており、置数されるべき可変長
のビット群は命令中に直接値として含まれていること等
が示されている。
フィールド316は5ビットの未使用フ、イールドであ
シ、従って全て0に設定して良い。
シ、従って全て0に設定して良い。
フィールド317は、直接値を含むフィールド313か
らレジスタ330へ置数されるビット数を補数表現した
数を含んでいる。たとえば、フィール317が2進数で
11100ならば、フィールド313の右側部分32−
28=4ビットが転送され、レジスタ330中のフィー
ルド331も4ビットを含むことになる。フィールド3
31はレジスタ330内にあり。
らレジスタ330へ置数されるビット数を補数表現した
数を含んでいる。たとえば、フィール317が2進数で
11100ならば、フィールド313の右側部分32−
28=4ビットが転送され、レジスタ330中のフィー
ルド331も4ビットを含むことになる。フィールド3
31はレジスタ330内にあり。
ここへフィールド313の右側4ビットが置数される。
レジスタ340は、レジスタ330内でのフィールド3
310ビット位置を表すビット位置数を含んでいる。こ
のビット位置数はレジスタ340内の右端のフィールド
341に置かれている。ビット位置数はフィールド33
1の右端のビットのレジスタ330内でのビット位置を
示す。たとえば、フィード341で俸えられる右端のビ
ット位置を示す番号が12ならば、フィールド331の
右端ビットはレジスタ330012番目のビット位置に
来る。
310ビット位置を表すビット位置数を含んでいる。こ
のビット位置数はレジスタ340内の右端のフィールド
341に置かれている。ビット位置数はフィールド33
1の右端のビットのレジスタ330内でのビット位置を
示す。たとえば、フィード341で俸えられる右端のビ
ット位置を示す番号が12ならば、フィールド331の
右端ビットはレジスタ330012番目のビット位置に
来る。
第4図において、入LU50はレジスタ410からのビ
ット・パターンを処理して、レジスタ410内のフィー
ルド413からのビット群をレジスタ430内に置数す
る。レジスタ410は7個のフィールドに分けられてい
る。フィールド411は置数命令であることを示す6ビ
ットの命令コード(011101)を含んでいる。
ット・パターンを処理して、レジスタ410内のフィー
ルド413からのビット群をレジスタ430内に置数す
る。レジスタ410は7個のフィールドに分けられてい
る。フィールド411は置数命令であることを示す6ビ
ットの命令コード(011101)を含んでいる。
フィールド412は、ビット群が置数されるべき汎用レ
ジスタを指示する5ビットのアドレスを含んでいる。フ
ィールド412内の5ビットのアドレスを用いることに
より、32個の汎用レジスタ中から1個を選択すること
ができる。ここでは選択される汎用レジスタはレジスタ
430である。
ジスタを指示する5ビットのアドレスを含んでいる。フ
ィールド412内の5ビットのアドレスを用いることに
より、32個の汎用レジスタ中から1個を選択すること
ができる。ここでは選択される汎用レジスタはレジスタ
430である。
フィールド413は、置数されるべきビット群のソース
である5ビットの直接値を含む。
である5ビットの直接値を含む。
フィールド414は3ピツトの条件コードを含む。
もしこの条件が真となれば、たとえば、次の命令が無効
化される。条件コードの例は表1に示した。
化される。条件コードの例は表1に示した。
フィールド415は、どのようなタイプの置数命令が実
行されるのかを示す3ビットの拡張コードである。ここ
では、砧令それ自体の中に含まれている直接値であ0い
くつかのビットを置数すること等が示されている。ここ
では拡張コードは2進数で001となっている。
行されるのかを示す3ビットの拡張コードである。ここ
では、砧令それ自体の中に含まれている直接値であ0い
くつかのビットを置数すること等が示されている。ここ
では拡張コードは2進数で001となっている。
フィールド41−6はビット位置数として用いられる5
ビットを含んでいる。ビットiff置数は、これまでと
同様に、フィールド431のレジスタ430内における
ビット位置を示す。フィールド431は1亘接喧が入っ
ているフィールド413からのビット群が置数されるレ
ジスタ430内のフィールドである。
ビットを含んでいる。ビットiff置数は、これまでと
同様に、フィールド431のレジスタ430内における
ビット位置を示す。フィールド431は1亘接喧が入っ
ているフィールド413からのビット群が置数されるレ
ジスタ430内のフィールドである。
ビット位置数はフィールド431の右端のビットのレジ
スタ430内での位置を示す。たとえば、フィールド4
16で与えられる右端ビットの番号が17ならば、フィ
ールド431の右端ビットはレジスタ430の第17番
目のビット位置にある。
スタ430内での位置を示す。たとえば、フィールド4
16で与えられる右端ビットの番号が17ならば、フィ
ールド431の右端ビットはレジスタ430の第17番
目のビット位置にある。
フィールド417は、フィールド413からレジスタ4
30へ置数されるビット数を補数表現で示す。
30へ置数されるビット数を補数表現で示す。
たとえば、もしフィールド417が2進数で11011
ならば、32−27=5ビットがフィールド413から
レジスタ430のフィールド431へ転送されろう第5
図において、人LU50はレジスタ510およびレジス
タ540からのビット・パターンヲ処11して、レジス
タ520からのビット群をレジスタ530へ置数する。
ならば、32−27=5ビットがフィールド413から
レジスタ430のフィールド431へ転送されろう第5
図において、人LU50はレジスタ510およびレジス
タ540からのビット・パターンヲ処11して、レジス
タ520からのビット群をレジスタ530へ置数する。
第1図ないし第4図においては、指定された数のビット
が置数されたフィールド以外の部分のターゲット・レジ
スタ中のビットは以前の直をそのまま保持していた。し
かし、第5図ないし第8図に示す動作においては、ター
ゲット−レジスタがいったんクリアされてから置数が行
なわれる。すなわち置数が行なわれる以外のフィールド
は全てクリアされる。フィールド511は置数命令を示
す6ビントのコード、0IIHN、を含んでいる。
が置数されたフィールド以外の部分のターゲット・レジ
スタ中のビットは以前の直をそのまま保持していた。し
かし、第5図ないし第8図に示す動作においては、ター
ゲット−レジスタがいったんクリアされてから置数が行
なわれる。すなわち置数が行なわれる以外のフィールド
は全てクリアされる。フィールド511は置数命令を示
す6ビントのコード、0IIHN、を含んでいる。
フィールド512は、ビット群が置数される汎用レジス
タを指示するための5ビットのアドレスを含んでいる。
タを指示するための5ビットのアドレスを含んでいる。
フィールド512中の5ビットのアドレスにより32個
の汎用レジスタから1個を選択できる。ここでは選択さ
れる汎用レジスタはレジスタ530である。
の汎用レジスタから1個を選択できる。ここでは選択さ
れる汎用レジスタはレジスタ530である。
フィールド513は、置数されるビット群のソースとな
る第2の汎用レジスタを指示する5ビットのアドレスを
含む。ここでは選択された第2の汎用レジスタはレジス
タ520である。レジスタ520中から選択されるビッ
トuは所定のフィールドから選択されて良い。たとえば
、レジスタ520内の右端のフィールド521をこのフ
ィールドとして良い。
る第2の汎用レジスタを指示する5ビットのアドレスを
含む。ここでは選択された第2の汎用レジスタはレジス
タ520である。レジスタ520中から選択されるビッ
トuは所定のフィールドから選択されて良い。たとえば
、レジスタ520内の右端のフィールド521をこのフ
ィールドとして良い。
フィールド514は3ビットの条件コードを含む。
もしこの条件が真となったら、たとえば、次の命令を無
効化して良い。上述の表IVC条件コードの例が示され
ている。
効化して良い。上述の表IVC条件コードの例が示され
ている。
フィールド515は、どのようなタイプの置数命令が実
行されるかを示す3ビットの拡張コードを含んでいる。
行されるかを示す3ビットの拡張コードを含んでいる。
ここでは、ターゲット・レジスタを七ロークリアして可
変数のビットを置数すること等が示されている。フィー
ルド515は000となっている。
変数のビットを置数すること等が示されている。フィー
ルド515は000となっている。
フィールド516は5ビットの不便用フィールドである
。従ってこれらのビットは全てセロとして良い。
。従ってこれらのビットは全てセロとして良い。
フィールド517は、レジスタ520からレジスタ53
0へ置数されるビット数を補数の形で指示する5ビット
を含む。たとえば、もしフィール517が2進数で11
010ならレジスタ520中のフィールド521は32
−26二6ビントを含み、レジスタ530中のフィール
ド531も同様に6ビントを含む。
0へ置数されるビット数を補数の形で指示する5ビット
を含む。たとえば、もしフィール517が2進数で11
010ならレジスタ520中のフィールド521は32
−26二6ビントを含み、レジスタ530中のフィール
ド531も同様に6ビントを含む。
7オールド531はレジスタ530中のフィールドであ
り、この中にレジスタ520がそのフイ・−ルド521
からのビット群を置数する。
り、この中にレジスタ520がそのフイ・−ルド521
からのビット群を置数する。
レジスタ540は、レジスタ530内のフィールド53
10ビット(i置を示すビット位置数を含んでいる。こ
のビット位置数はレジスタ540内の右端のフィールド
541に置かれている。このビット位置数は、レジスタ
530内のフィールド531の右端のビットのビット位
置を示し−〔いる。たとえば、フィールド541中で与
えられた右端ビット位置の番号が17であれば、フィー
ルド531の右端のビットはレジスタ530中で第17
番目のビット位置にある。
10ビット(i置を示すビット位置数を含んでいる。こ
のビット位置数はレジスタ540内の右端のフィールド
541に置かれている。このビット位置数は、レジスタ
530内のフィールド531の右端のビットのビット位
置を示し−〔いる。たとえば、フィールド541中で与
えられた右端ビット位置の番号が17であれば、フィー
ルド531の右端のビットはレジスタ530中で第17
番目のビット位置にある。
第6図において、ALU50はレジスタ610からのビ
ット・パターンを処理して、レジスタ630中の全ヒツ
トをクリアしまたレジスタ620からのビット群をレジ
スタ630中に置数する。レジスタ610は7個のフィ
ールドに分けられている。フィールド611は、置数命
令であることを示す011101なる6ビットの命令コ
ードを含んでいる。
ット・パターンを処理して、レジスタ630中の全ヒツ
トをクリアしまたレジスタ620からのビット群をレジ
スタ630中に置数する。レジスタ610は7個のフィ
ールドに分けられている。フィールド611は、置数命
令であることを示す011101なる6ビットの命令コ
ードを含んでいる。
フィールド612は、ビットmが置数される汎用レジス
タを指示する5ビットのアドレスを含む。
タを指示する5ビットのアドレスを含む。
フィールド612中の5ビットのアドレスにより、32
個の汎用レジスタから1個を選択できる。ここでは、選
択される汎用レジスタはレジスタ630である。
個の汎用レジスタから1個を選択できる。ここでは、選
択される汎用レジスタはレジスタ630である。
フィールド613は5ビットのアドレスで、これにより
置数されるビット群のソースとなる第2の汎用レジスタ
を指示する。ここでは選択される第2の汎用レジスタは
レジスタ620である。レジスタ620中から選択され
るビット群は所定のフィールドから選択されて良い。た
とえばレジスタ620中の右端のフィールド621がこ
のフィールドであって良い。
置数されるビット群のソースとなる第2の汎用レジスタ
を指示する。ここでは選択される第2の汎用レジスタは
レジスタ620である。レジスタ620中から選択され
るビット群は所定のフィールドから選択されて良い。た
とえばレジスタ620中の右端のフィールド621がこ
のフィールドであって良い。
フィールド614は3ビットの条件コードを含むっもし
この条件が真となれば、たとえば、次の命令が無効化さ
れて良い。表1にこのような条件コードの例を示した。
この条件が真となれば、たとえば、次の命令が無効化さ
れて良い。表1にこのような条件コードの例を示した。
フィールド615はどのようなタイプの置数命令が実行
されるのかを示す3ビットの拡張コードを。
されるのかを示す3ビットの拡張コードを。
含む。ここではフィールド615は、ターゲット・レジ
スタをゼロ・クリアしていくつかのビットを置数するこ
と等を示している。この拡張コードは2進数で010で
ある。
スタをゼロ・クリアしていくつかのビットを置数するこ
と等を示している。この拡張コードは2進数で010で
ある。
フィールド616は、レジスタ630内のフィールド6
310ビット位置を示すビット位置数として用いられる
5ビットを含んでいる。フィールド631はレジスタ6
30内のフィールドであってここにレジスタ620がそ
のフィールド621からビット群を置数する。ビット位
置数はフィールド631の右端のビットのレジスタ63
0内でのビット位置を示す。
310ビット位置を示すビット位置数として用いられる
5ビットを含んでいる。フィールド631はレジスタ6
30内のフィールドであってここにレジスタ620がそ
のフィールド621からビット群を置数する。ビット位
置数はフィールド631の右端のビットのレジスタ63
0内でのビット位置を示す。
たとえば、フィールド616により右端ビット位置の番
号として19が与えられれば、フィールド631の右端
のビットのレジスタ630内でのビット位置は19査目
となる。
号として19が与えられれば、フィールド631の右端
のビットのレジスタ630内でのビット位置は19査目
となる。
フィールド617にはレジスタ630ヘフイールド62
1から置数されるビット数を補数形式で示す5ビットが
含まれ゛〔いる。たとえば、フィールド617が2進数
で11010であれば、レジスタ620のフィールド6
21は32−26=6ビットを含み、またレジスタ63
0中のフィールド631も同様に6ビットを含む。
1から置数されるビット数を補数形式で示す5ビットが
含まれ゛〔いる。たとえば、フィールド617が2進数
で11010であれば、レジスタ620のフィールド6
21は32−26=6ビットを含み、またレジスタ63
0中のフィールド631も同様に6ビットを含む。
第7図においては、ALU50はレジスタ710とレジ
スタ740からのビット・バター7を処理し、レジスタ
730中の全ビットをゼロ・クリアして、レジスタ71
0内のフィールド713からのビット群をレジスタ73
0に置数する。レジスタ710は7個のフィールドに分
けられている。6ビットのフィールド711は置数命令
を示す命令コード、011101、を含む。
スタ740からのビット・バター7を処理し、レジスタ
730中の全ビットをゼロ・クリアして、レジスタ71
0内のフィールド713からのビット群をレジスタ73
0に置数する。レジスタ710は7個のフィールドに分
けられている。6ビットのフィールド711は置数命令
を示す命令コード、011101、を含む。
フィールド712は、ビット群が置数される汎用レジス
タを指示する5ビットのアドレスを含む。
タを指示する5ビットのアドレスを含む。
フィールド71205ビットのアドレスにより、32個
の汎用レジスタから1個を選択できる。ここでは、選択
される汎用レジスタはレジスタ730である。
の汎用レジスタから1個を選択できる。ここでは、選択
される汎用レジスタはレジスタ730である。
フィールド713は置数されるビット群のソースである
5ビットの直接値を含むフィールドである。
5ビットの直接値を含むフィールドである。
フィールド714は3ビットの条件コードを含む。
もしこの条件が真となれば、たとえば、次の命令が無効
化される。表1にこのような条件コードの例を示した。
化される。表1にこのような条件コードの例を示した。
フィールド715は、どのようなタイプの置数命令が実
行されるかを示す拡張コードを含む。ここでは、)・イ
ールド715が示しているのは、この命令はレジスタ7
30をゼロ・クリアし、そこへ命令自体から来る可変数
のビットを置数する、ということ等である。これを示す
フイ・−ルド715は2進数で101を含む。
行されるかを示す拡張コードを含む。ここでは、)・イ
ールド715が示しているのは、この命令はレジスタ7
30をゼロ・クリアし、そこへ命令自体から来る可変数
のビットを置数する、ということ等である。これを示す
フイ・−ルド715は2進数で101を含む。
フィールド716は5ビットの不使用フィールドである
。従ってこれらのビットは全てゼロに設定されていて良
い。
。従ってこれらのビットは全てゼロに設定されていて良
い。
フィールド717は、直接値フイールド713からレジ
スタ730へ置数されるビット数を補数形式で示す5ビ
ットを含む。たとえばもしフィールド717が2進数で
11100であれば、直接値フイールド713からその
右端4ピツト(32−28)が取出され、またVジスタ
フ30中のフィールド7314) 4ビットを含む。フ
ィールド731は、レジスタ730中にあって、そこへ
フィールド713からの右端4ビットが置かれるフィー
ルドである。
スタ730へ置数されるビット数を補数形式で示す5ビ
ットを含む。たとえばもしフィールド717が2進数で
11100であれば、直接値フイールド713からその
右端4ピツト(32−28)が取出され、またVジスタ
フ30中のフィールド7314) 4ビットを含む。フ
ィールド731は、レジスタ730中にあって、そこへ
フィールド713からの右端4ビットが置かれるフィー
ルドである。
レジスタ740は予め定められたレジスタであって、フ
ィールド731のレジスタ730内でのビット位置を示
すビット立置数を含む。ビット位置数はレジスタ740
内の右端のフィールド741に置かれる。このビット位
置数はフィールド731の右端のビットのレジスタ73
0内での位置を示す。たとえば、フィールド741で与
えられる右端のビット番号が12であれば、フィールド
731の右端のビットはレジスタ730の第12番目の
ビット位置にある。
ィールド731のレジスタ730内でのビット位置を示
すビット立置数を含む。ビット位置数はレジスタ740
内の右端のフィールド741に置かれる。このビット位
置数はフィールド731の右端のビットのレジスタ73
0内での位置を示す。たとえば、フィールド741で与
えられる右端のビット番号が12であれば、フィールド
731の右端のビットはレジスタ730の第12番目の
ビット位置にある。
第8図において、ALU50はレジスタ810からのビ
ット・パターンを処理して、レジスタ810内のフィー
ルド813からのビット群をVラスタ830に置数する
。レジスタ810は7個のフィールドに分けられている
。フィールド811には、置数命令であることを示す6
ビットの命令コード、011101、が含まれている。
ット・パターンを処理して、レジスタ810内のフィー
ルド813からのビット群をVラスタ830に置数する
。レジスタ810は7個のフィールドに分けられている
。フィールド811には、置数命令であることを示す6
ビットの命令コード、011101、が含まれている。
フィールド812は、ビット群が置数される汎用レジス
タを指示する5ビットのアドレスが含まれている。フィ
ールド81205ビットのアドレスによシ、32個の汎
用レジスタから1個を選択することができる。ここでは
、選択される汎用レジスタは830である。
タを指示する5ビットのアドレスが含まれている。フィ
ールド81205ビットのアドレスによシ、32個の汎
用レジスタから1個を選択することができる。ここでは
、選択される汎用レジスタは830である。
フィールド813は、置数されるべきビット群のソース
である5ビットの直接値を含む。
である5ビットの直接値を含む。
フィールド814は3ビットの条件コードを含む。
もしこの条件が真となれば、たとえば、次の命令が無効
化される。表1にこのような条件コードの例を示しであ
る。
化される。表1にこのような条件コードの例を示しであ
る。
フィールド815は、どのようなタイプの置数命令が実
行されるかを示す3ビットの拡張コードを含んでいる。
行されるかを示す3ビットの拡張コードを含んでいる。
ここでは、フィールド815は、ターゲット−レジスタ
内の全ビットをゼロ・クリアして、そこへ命令自体から
取出されたビット群を置数すること等を示す拡張コード
110を含んでいる。
内の全ビットをゼロ・クリアして、そこへ命令自体から
取出されたビット群を置数すること等を示す拡張コード
110を含んでいる。
フィールド816は、フイ・−ルド831のレジスタ8
30内におけるビット位置を示すビット位置数として使
用される5ビットを含んでいる。フィールド831はレ
ジスタ830内のフィールドであって、ここへ直接値フ
イールド813からのビット群が置数される。ビット位
置数はフィールド831の右端ビットのレジスタ830
内での位置を示す。たとえば、フィールド816で与え
られる右端ビットの番号が17であれば、フィールド8
31の右端のビットはレジスタ830の第17番目のビ
ット位置にある。
30内におけるビット位置を示すビット位置数として使
用される5ビットを含んでいる。フィールド831はレ
ジスタ830内のフィールドであって、ここへ直接値フ
イールド813からのビット群が置数される。ビット位
置数はフィールド831の右端ビットのレジスタ830
内での位置を示す。たとえば、フィールド816で与え
られる右端ビットの番号が17であれば、フィールド8
31の右端のビットはレジスタ830の第17番目のビ
ット位置にある。
フィールド817は、フィールド813からレジスタ8
30へ置数されるビット数を補数形式で示す5ビットが
含まれている。たとえば、フールド817が2進数で1
1011であれば、フィールド813から32−27=
5ビットがレジスタ830内のフィールド831へ転送
される。
30へ置数されるビット数を補数形式で示す5ビットが
含まれている。たとえば、フールド817が2進数で1
1011であれば、フィールド813から32−27=
5ビットがレジスタ830内のフィールド831へ転送
される。
なお、直接[ya−ターゲット・レジスタへlt数fる
例をいくつかあげて説明してきた。ここで置数すべきビ
ット群の長さが直接値よりも長い場合は。
例をいくつかあげて説明してきた。ここで置数すべきビ
ット群の長さが直接値よりも長い場合は。
直接値を符号付き数と見なして上位ビット側へ符号拡張
して得られるビット群を置数しても良いし。
して得られるビット群を置数しても良いし。
またあるいは符号拡張を行なわず上位側をたとえば全て
ゼロとして得られるビット群を置数しても良い。
ゼロとして得られるビット群を置数しても良い。
以上説明したように、本発明によれば、レジスタ中の可
変位置に可変長のビット群を自由に置数できるので、単
純な命令体系により、少ないステップ数で自由なビット
処理が可能となる。
変位置に可変長のビット群を自由に置数できるので、単
純な命令体系により、少ないステップ数で自由なビット
処理が可能となる。
第1図ないし第8図は本発明の実施例のビット群置数方
式で用いられる置数命令の各種の動作を説明するための
図である。 50:ALU。 110.120,130,140,210,220゜2
30、 310. 330. 340. 410. 4
30゜510.520. 530. 540. 610
. 620゜630、 710. 730. 740.
810. 830:レジスタ。 出願人 横河・ヒユーレフト・パンカード・株式会社代
理人 弁理士 長 谷 川 次 男IG 1 〆210 IG 2 FIG 5 FIG 6
式で用いられる置数命令の各種の動作を説明するための
図である。 50:ALU。 110.120,130,140,210,220゜2
30、 310. 330. 340. 410. 4
30゜510.520. 530. 540. 610
. 620゜630、 710. 730. 740.
810. 830:レジスタ。 出願人 横河・ヒユーレフト・パンカード・株式会社代
理人 弁理士 長 谷 川 次 男IG 1 〆210 IG 2 FIG 5 FIG 6
Claims (8)
- (1)操作対象のレジスタ中にビット群を置数するビッ
ト群置数方式において、 ビット群供給手段と、 ビット位置指定手段と、 ビット群長指定手段と を設け、 一命令で前記レジスタ中の任意位置に任意長のビット群
を置数することを特徴とするビット群置数方式。 - (2)特許請求の範囲第1項記載のビット群置数方式に
おいて、 前記レジスタは前記命令によつて指定されることを特徴
とするビット群置数方式。 - (3)特許請求の範囲第1項記載のビット群置数方式に
おいて、 前記レジスタ中で前記ビット群が置数されないビット位
置の値は変化しないことを特徴とするビット群置数方式
。 - (4)特許請求の範囲第1項記載のビット群置数方式に
おいて、 前記レジスタ中で前記ビット群が置数されないビット位
置の値は特定の値に設定されることを特徴とするビット
群置数方式。 - (5)特許請求の範囲第1項記載のビット群置数方式に
おいて、 前記置数されるビット群は前記命令中に直接値として含
まれていることを特徴とするビット群置数方式。 - (6)特許請求の範囲第1項のビット群置数方式におい
て、 前記置数されるビット群は前記命令中で指定されるレジ
スタ中に含まれていることを特徴とするビット群置数方
式。 - (7)特許請求の範囲第1項記載のビット群置数方式に
おいて、 前記ビット群がレジスタ中に置数されるビット位置は前
記命令中に直接値として含まれていることを特徴とする
ビット群置数方式。 - (8)特許請求の範囲第1項記載のビット群置数方式に
おいて、 前記ビット群がレジスタ中に置数されるビット位置は所
定のレジスタ中に含まれていることを特徴とするビット
群置数方式。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US75057785A | 1985-06-28 | 1985-06-28 | |
US750577 | 1985-06-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS623333A true JPS623333A (ja) | 1987-01-09 |
Family
ID=25018423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61111740A Pending JPS623333A (ja) | 1985-06-28 | 1986-05-15 | ビツト群置数方式 |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP0207664A3 (ja) |
JP (1) | JPS623333A (ja) |
KR (1) | KR870000640A (ja) |
CN (1) | CN86103906A (ja) |
AU (1) | AU595212B2 (ja) |
CA (1) | CA1270571A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6488838A (en) * | 1987-09-30 | 1989-04-03 | Takeshi Sakamura | Data processor |
JP2002529847A (ja) * | 1998-11-06 | 2002-09-10 | アナログ デバイセス インコーポレーテッド | ビットfifoを有するディジタル信号プロセッサ |
JP5853177B2 (ja) * | 2011-04-08 | 2016-02-09 | パナソニックIpマネジメント株式会社 | データ処理装置、及びデータ処理方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5854939A (en) * | 1996-11-07 | 1998-12-29 | Atmel Corporation | Eight-bit microcontroller having a risc architecture |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3982229A (en) * | 1975-01-08 | 1976-09-21 | Bell Telephone Laboratories, Incorporated | Combinational logic arrangement |
US4569016A (en) * | 1983-06-30 | 1986-02-04 | International Business Machines Corporation | Mechanism for implementing one machine cycle executable mask and rotate instructions in a primitive instruction set computing system |
-
1986
- 1986-05-15 JP JP61111740A patent/JPS623333A/ja active Pending
- 1986-06-02 CN CN198686103906A patent/CN86103906A/zh active Pending
- 1986-06-12 CA CA000511441A patent/CA1270571A/en not_active Expired - Lifetime
- 1986-06-12 EP EP86304497A patent/EP0207664A3/en not_active Withdrawn
- 1986-06-24 AU AU59170/86A patent/AU595212B2/en not_active Ceased
- 1986-06-27 KR KR1019860005171A patent/KR870000640A/ko not_active Application Discontinuation
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6488838A (en) * | 1987-09-30 | 1989-04-03 | Takeshi Sakamura | Data processor |
JP2002529847A (ja) * | 1998-11-06 | 2002-09-10 | アナログ デバイセス インコーポレーテッド | ビットfifoを有するディジタル信号プロセッサ |
JP4955149B2 (ja) * | 1998-11-06 | 2012-06-20 | アナログ デバイセス インコーポレーテッド | ビットfifoを有するディジタル信号プロセッサ |
JP5853177B2 (ja) * | 2011-04-08 | 2016-02-09 | パナソニックIpマネジメント株式会社 | データ処理装置、及びデータ処理方法 |
Also Published As
Publication number | Publication date |
---|---|
AU5917086A (en) | 1987-01-08 |
AU595212B2 (en) | 1990-03-29 |
KR870000640A (ko) | 1987-02-19 |
EP0207664A2 (en) | 1987-01-07 |
CN86103906A (zh) | 1986-12-24 |
CA1270571A (en) | 1990-06-19 |
EP0207664A3 (en) | 1988-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4785393A (en) | 32-Bit extended function arithmetic-logic unit on a single chip | |
JP2005537592A5 (ja) | ||
US4258419A (en) | Data processing apparatus providing variable operand width operation | |
DE60018078D1 (de) | Einstellung von bedingungswerten in einem rechner | |
JP2832899B2 (ja) | データ処理装置およびデータ処理方法 | |
JPS5569855A (en) | Data processing system | |
EP0368826A2 (en) | Data processing circuit | |
CA1171181A (en) | Data processor performing a decimal multiply operation using a read only memory | |
KR19990013698A (ko) | 연산방법 및 연산장치 | |
JPS623333A (ja) | ビツト群置数方式 | |
Leiserson et al. | Using de Bruijn sequences to index a 1 in a computer word | |
MY121677A (en) | Non-instruction base register addressing in a data processing apparatus | |
US4870563A (en) | Information processing apparatus having a mask function | |
EP0310701A1 (en) | BCD arithmetic using binary arithmetic and logical operations | |
CA1115425A (en) | Data processor with address extension | |
CN112559169A (zh) | 资源分配方法以及装置 | |
US20040025121A1 (en) | Method of and apparatus for information processing | |
WO2004095234A3 (en) | Efficient multiplication sequence for large integer operands wider than the multiplier hardware | |
CA1232382A (en) | Input device of character data | |
WO2009042112A2 (en) | Shift-add based multiplication | |
TWI384398B (zh) | 於指令中指定立即值之系統及方法 | |
Barbacci | The symbolic manipulation of computer descriptions: an introduction to ISPS | |
JPS5856040A (ja) | デ−タ処理装置 | |
JP2654062B2 (ja) | 情報処理装置 | |
JPS63111534A (ja) | 半導体集積回路 |