JPH04167134A - ビット転記方式 - Google Patents

ビット転記方式

Info

Publication number
JPH04167134A
JPH04167134A JP2294717A JP29471790A JPH04167134A JP H04167134 A JPH04167134 A JP H04167134A JP 2294717 A JP2294717 A JP 2294717A JP 29471790 A JP29471790 A JP 29471790A JP H04167134 A JPH04167134 A JP H04167134A
Authority
JP
Japan
Prior art keywords
data
mask
mask data
area
bit
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
JP2294717A
Other languages
English (en)
Other versions
JP2674301B2 (ja
Inventor
Shigeru Kimura
茂 木村
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2294717A priority Critical patent/JP2674301B2/ja
Publication of JPH04167134A publication Critical patent/JPH04167134A/ja
Application granted granted Critical
Publication of JP2674301B2 publication Critical patent/JP2674301B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔概 要〕 本発明はビット転記方式に関し、 転記処理を高速化することを目的とし、処理単位の第1
の領域のうちの相対ビット位置およびビット長で示され
る転記元領域をマスクして他の領域をクリアする第1の
マスクデータと、処理単位の第2の領域のデータのうち
の他の領域をマスクして転記先領域をクリアする第2の
マスクデータとを生成し、第1および第2の領域の前記
領域をクリアした後論理和して第1の領域から第2の領
域の対応する該転記先領域にデータを転記するビット転
記方式であって、クリア領域外をマスクするマスクビッ
トが下位側から連続する処理単位幅の複数のマスクデー
タから成る第1のテーブルと、該マスクビットが上位側
から連続する処理単位幅の複数のマスクデータから成る
第2のテーブルと、前記相対ビット位置およびビット長
に応じ、第1および第2のテーブルのうちのいずれか一
方のテーブルの1組のマスクデータ、または両方のテー
ブルの各1組のマスクデータを論理積したデータをそれ
ぞれ第1のマスクデータとし、他方のテーブルの1組の
マスクデータ、または両方のテーブルの各1組のマスク
データを論理和したデータをそれぞれ第2のマスクデー
タとして前記クリア処理を行う転記処理部とを設け、転
記元領域の相対ビット位置およびビット長に基づき、下
位側および上位側からマスクビットが連続する処理単位
幅の複数のマスクデータにより第1および第2のマスク
データを生成して転記処理を行うように構成する。
〔産業上の利用分野〕
本発明は、C0BOL言語等で作成されたプログラムを
実行する際、呼出されて転記処理を行う実行時ライブラ
リにおけるビット転記方式の改良に関する。
C0BOL言語等では、ハードウェアレベルの情報であ
るビットを操作する言語仕様が強化されつつある。
ビットを操作する項目として、ハードウェアの処理単位
(例えばバイト単位)で扱う外部プール項目と、ビット
そのものを扱う内部プール項目とがあるが、項目間の転
記処理は内部プール項目の方がメモリが少なくてすむた
め、内部プール項目として扱う方が主流となっている。
しかし、内部プール項目の転記処理は外部プール項目の
それよりも処理速度が遅く、より高速な転記処理方式が
求められている。
〔従来の技術〕
第7図はプログラム構成図、第8図は内部プール項目の
転記処理説明図、第9図は従来の転記処理フローチャー
ト図である。
C0BOLのソースプログラムで内部プール項目Xから
内部プール項目Yへの転記は、X  PIC1(2) Y  PIC1(2) MOVE  X  to  Y のように記述される。ここで(2)は項目長である。
このビット転記処理は、第7図に示すように、通常、実
行時に呼出される実行時ライブラリ2で処理されており
、コンパイラは、上記プログラムを、第8図に示すよう
に、プロセッサの処理単位の領域(例えば1バイト)の
アドレス(項目アドレス)x、y、項目長n、相対ビッ
ト位置i、j(ここでは下位側からの先頭ビット位置)
を設定しく第8図参照)、転記処理部10を呼び出す実
行形式プログラム1に翻訳する。
領域x、yには他の項目が格納されている場合があり、
呼出された転記処理部10は、指定された領域x、y内
の他のデータを保存しつつ転記処理を行う。このため、 (1)領域χの内容をワーク領域X”に転記し、領域X
”のうち、相対ビット位置i9項目長nで指定された領
域を除く他の領域をクリアし、(2)転記先の相対ビッ
ト位置jに合わせ、(3)領域yのうち転記先領域のみ
をクリアし、(3)  (2)と(3)の結果を論理和
することにより、領域Xの転記対象データを領域yに転
記する。
第9図は、以上の処理を実現する従来の転記処理例を示
したものである。即ち、 ■ x領域の内容をワーク領域X”に転記する。
■ 指定された項目のうちの1ビツトに着目し、他のビ
ットをクリアする。=+X′ ■ 転記元と転送先の相対ビット位置i、jを比較して
シフト要か否かをチエツクする。
■ シフト要ならば、転記先の相対ビット位置jに合わ
せるため、領域X゛内を1ビツトづつシフトする。
■ マスクデータを生成する。これは、例えば、ワーク
領域aに(01)(16進表示)を書込み、(i−j)
ビット公人にシフトした後、1の補数をとる等の方法に
より生成する。
■ マスクデータと領域yと論理積する。−8+y■ 
領域X′と領域yのデータを論理和する。
■の結果をyに格納し、次のビットに着目して■〜■の
処理を繰り返す。
以上のごとく、転送元または転送先が2バイトにまたが
る場合に対処できるよう、1ビツトつづ転記処理を行っ
ている。
〔発明が解決しようとする課題] 以上のごとく、従来では、1ビツトづつ転記処理を行っ
ているため、処理時間がかかるという課題がある。
この1ビツトづつ処理するのは、コンパイラが領域x、
yとして、いずれか一方または双方が2バイトにまたが
って指定する場合があり、これらを同一のアリプリズム
で対処できることと、複数ビットのマスクデータを生成
するためには多(の処理ステップ数が必要であるという
理由による。
本発明は、上記課題に鑑み、ビット転記処理を高速化す
るビット転記方式を提供することを目的とする。
〔課題を解決するための手段〕
第1図実施例の構成図および第3図本発明のマスクデー
タ生成説明図より対応する機能部分を抽出して説明する
3は第1のテーブルで、クリア領域外をマスクするマス
クビットが下位側から連続する処理単位幅の複数のマス
クデータから構成される。
4は第2のテーブルで、マスクビットが上位側から連続
する処理単位幅の複数のマスクデータから構成される。
5は転記処理部で、転記元領域の相対ビット位置および
ビット長に応じ、第1のテーブル3および第2のテーブ
ル4のうちのいずれか一方のテーブルの1組のマスクデ
ータ、または両方のテーブルの各1組のマスクデータを
論理積したデータをそれぞれ第1のマスクデータとし、
他方のテーブルの1組のマスクデータ、または両方のテ
ーブルの各1組のマスクデータを論理和したデータをそ
れぞれ第2のマスクデータとしてクリア処理を行い、ク
リア処理した両方のデータを論理和することにより転記
する。
〔作 用〕
転記元領域と転記先領域のビット位置が対応する状態に
おいて、転記処理部5は、一方の境界からマスクビット
“1”が連続する複数のマスクデータから成る第1のテ
ーブル(BITR)3と、他方の境界からマスクデータ
1”が連続する複数のマスクデータから成る第2のテー
ブル(BITL)4から、いずれか一方のテーブル、ま
たは両方のテーブルからマスクデータを読出し、組み合
わせにより第1のマスクデータおよび第2のマスクデー
タを生成する。
転記元領域が第1の領域の上位側または下位側境界に接
する場合、両境界とも接しない場合の3つのケースがあ
り、以下第3図を参照しつつ、説明する。
なお、処理単位幅を8ビツトとして図示領域の右側を下
位側、左側を上位側とし、第1のテーブルBITR3は
下位側よりマスクビット“1”が連続するマスクデータ
、第2のテーブルBITL4は上位側よりマスクビット
“1′が連続するマスクデータをそれぞれ格納するもの
とし、またビット番号は下位側から昇順にO〜7とする
。またiは第1の領域(または第2の領域)における相
対ビット位置(先頭ビット位置、左端を先頭、右端を最
終とする)、nはビット長(項目長)である。
(ケースI) 転記元領域の最終ビット位置kが第1の
領域の右側境界に一致する場合(k=i−n+1=0) 第1のテーブルBITR3から先頭ビット位置iとマス
クビットの先頭位置i′が一致するマスクデータ(第1
図のテーブル配置ではアドレスiのマスクデータ、BI
TR(i) と表す)を読出して第1のマスクデータと
し、第2のテーブルBITL4から(先頭ビット位置i
)+1とマスクビットの最終位置に′が一致するマスク
データ(BITL(i) )を読出して第2のマスクデ
ータとする。
(ケース■) 転記元領域の先頭ビット位Wiが第1の
領域の左側境界と一致する場合(i=7)第2のテーブ
ルBITL4から転送元領域の最終ビット位tl’にと
マスクビットの最終位置に′が一致するマスクデータ(
BITL(7−n) )を読出して第1のマスクデータ
とし、第1のテーブルBITR3から(最終ビット位f
k)−1とマスクビットの先頭位置i°が一致するマス
クデータ(BITR(7−n) )を読出して第2のマ
スクデータとする。
(ケース■) 転記元領域がどちらの境界にも接しない
場合 第2のテーブルBITL4のうちの最終ビット位置にと
マスクビットの最終位置に′が一致するマスクデータ(
BITL(i−n) )と、第1のテーブルBITL3
のうちの先頭ビット位置iとマスクビットの先頭位置i
′が一致するマスクデータ(BITR(i) 〕とを論
理積したデータを第1のマスクデータとし、第1のテー
ブルBITR3のうちの(最終ビット位置k)+1とマ
スクビットの先頭位置i′が一致するマスクデータ(B
ITR(i−n) )と、第2のテーブルBITL4の
うちの、(先頭ビット位置i)+1とマスクビットの最
終位置に゛が一致するマスクデータ[BITL(i) 
)とを論理和したデータを第2のマスクデータとする。
そして、転記処理部3は、第1のマスクデータと第1の
領域のデータとを論理積し、第2のマスクデータと第2
の領域のデータとを論理積してクリア処理を行った後、
クリア処理した両データを論理和する。
以上のごとく、画境界からそれぞれマスクビットが連続
する最小限のマスクデータにより第1および第2のマス
クデータを生成するため、1ビツトづつ転送処理を行う
場合に比較して大幅に転記処理を高速化することが可能
となる。
〔実施例〕
本発明の実施例を図を用いて詳細に説明する。
第1図は実施例の構成図、第乎図は本発明のマλ スフデータ生成説明図、第合図は実施例の転記処理フロ
ーチャート図、第4図は処理Aフローチャート図、第5
図は処理Bフローチャート図、第6図は処理Cフローチ
ャート図である。
以下、処理単位を8ビツトとし、従来例と同一条件とし
て説明する。
第1のマスクテーブルB I TR3は、下位側境界よ
リマスクビット“1#がそれぞれl、2.・・7個連続
し、それ以外のビットが0”の7組のマスクデータから
構成され、第1図のごとく配列されている。
第2のマスクテーブルB I TL4は、上位側境界よ
りマスクビット“1”がそれぞれ1〜7個連続し、それ
以外は”0”の7組のマスクデータから構成され、第1
図のごとく配列されている。
転記処理部5は、転記元および転記先の設定条件である
項目アドレスx、y、項目長n、相対ビット位置i、j
が与えられて呼出されたとき、第1および第2のマスク
テーブルBITR3、BTRL4がら転記処理に必要な
第1および第2のマスクデータを以下に示す処理によっ
て生成し、転記処理を行う。
第2図は、転記データの先頭ビットが上位側境界と一致
する場合(i=7)、転記データの最終ビットが下位側
境界と一致する場合(i−n+1=0)およびいずれも
一致しない場合を相対ビット位置iおよび項目長nによ
り判別してそれぞれの処理を行うように構成したもので
ある。即ち、(1)転記元領域と転記先領域のビット位
置が異なる(i−#j)か否かを判別し、異なる場合は
処理Dに進む。
(2)i=jで、且つi=7ならば転記元領域が上位側
境界に一致するから処理Aに進む。
(3)i=jで、且つj≠7ならば、最終ビット位置を
チエツクする。即ち、i−n+1=0ならば最終ビット
が下位側境界と一致するから、処理Bに進む。
(4)  i −n + 1≠0ならば、処理Cに進む
以下処理A〜処理りの詳細を説明するが、領域Xの他の
ビットを保存するため、すべての処理で領域Xのデータ
をワーク領域X” (第1の領域に対応する)に転記し
て(処理A−Cのステップ■)領域X゛から領域y(第
2の領域に対応する)への転記処理を行う。
〔処理A〕第4図参照 前述の(ケース■)に相当するもので、(7−n)をア
ドレスとして第2のテーブルBITL4および第1のテ
ーブルBITR3からマスクデータを読出し、それぞれ
第1および第2のマスクデータとする。第4図は処理ス
テップを示したもので、■(x’  )  ・BITL
(7−n) =>x’この論理積演算により、領域Xの
データのうち転記元領域以外の領域がクリアされたデー
タが領域X°に得られる。
■(y )  ・BITR(7−n)4yこれにより領
域yのうち転記先領域のみクリアされたデータが領域y
に得られる。
■(X“)+ (y)4y これにより、転記元領域のデータが領域yに転記される
〔処理B〕第5図参照 前述の(ケース■)に相当する。(i)をアドレスとし
て第1のテーブルBITR3および第2のテーブルB 
I TL4からマスクデータを読出し、処理Aと同様に
以下の演算処理を行う。
■(x’ )  ・BITR(i)→X′■(y)  
・BITR(i)悼y ■(x’ )+ (y)→y これにより、転記元領域のデータが領域yに転記される
〔処理C〕第6図参照 (ケース■)に相当するもので、第6図は第1および第
2のマスクデータを生成する代わりに、第1および第2
のテーブルから読出したそれぞれのマスクデータにより
直接(x’ )、  (y)に処理を施した例を示した
ものである。即ち、(BITR(i)  ・(x’) 
〕・(BITL(i−n)  ・(x’))を演算し、 (BITL(i)  ・(y’) ) + (BITR
(i−n)  ・(y’))を演算し、両者の結果を論
理和している。
〔処理D〕
i 4− jの場合、図示省略したが、領域X′をシフ
トして転記先に合わせ、処理A〜処理Cを適用する。な
お、この場合は従来の処理を行ってもよい。
以上の処理で、項目が1処理車位の領域に限ったが、2
領域にまたがる場合は、それぞれの領域で処理A〜処理
Cを通用すればよい。
以上のごとく、2組のテーブルよりマスクデータを生成
してクリア処理を施し転記処理を行うため、項目長が複
数ビットの場合でも一度の処理で行うことができ、また
、マスクデータの生成が簡単になるため、転記処理の高
速化が達成される。
〔発明の効果〕 以上説明したように、本発明は、最小限のマスクデータ
を格納したテーブルからマスクデータを生成して、転記
元および転記先領域のクリア処理を行うビット転記方式
を提供するもので、ビット転記処理の高速化に多大な効
果を奏する。
【図面の簡単な説明】
第1図は実施例の構成図、第2図は実施例の転記処理フ
ローチャート図、第3図は本発明のマスクデータ生成説
明図、第4図は処理Aフローチャート図、第5図は処理
Bフローチャート図、第6図は処理Cフローチャート図
、第7図はプログラム構成図、第8図は内部プール項目
の転記処理説明図、第9図は従来の転記処理フローチャ
ート図である。 図中、lは実行形式プログラム、2は実行時ライブラリ
、3は第1のテーブルBITR14は第2のテーブルB
IjL、5.10は転記処理部である。

Claims (1)

  1. 【特許請求の範囲】 処理単位の第1の領域のうちの相対ビット位置およびビ
    ット長で示される転記元領域をマスクして他の領域をク
    リアする第1のマスクデータと、処理単位の第2の領域
    のデータのうちの他の領域をマスクして転記先領域をク
    リアする第2のマスクデータとを生成し、第1および第
    2の領域の前記領域をクリアした後論理和して第1の領
    域から第2の領域の対応する該転記先領域にデータを転
    記するビット転記方式であって、 クリア領域外をマスクするマスクビットが下位側から連
    続する処理単位幅の複数のマスクデータから成る第1の
    テーブル(3)と、 該マスクビットが上位側から連続する処理単位幅の複数
    のマスクデータから成る第2のテーブル(4)と、 前記相対ビット位置およびビット長に応じ、第1および
    第2のテーブルのうちのいずれか一方のテーブルの1組
    のマスクデータ、または両方のテーブルの各1組のマス
    クデータを論理積したデータをそれぞれ第1のマスクデ
    ータとし、他方のテーブルの1組のマスクデータ、また
    は両方のテーブルの各1組のマスクデータを論理和した
    データをそれぞれ第2のマスクデータとして前記クリア
    処理を行う転記処理部(5)とを設け、 転記元領域の相対ビット位置およびビット長に基づき、
    下位側および上位側からマスクビットが連続する処理単
    位幅の複数のマスクデータにより第1および第2のマス
    クデータを生成して転記処理を行うことを特徴とするビ
    ット転記方式。
JP2294717A 1990-10-31 1990-10-31 ビット転記方式 Expired - Fee Related JP2674301B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2294717A JP2674301B2 (ja) 1990-10-31 1990-10-31 ビット転記方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2294717A JP2674301B2 (ja) 1990-10-31 1990-10-31 ビット転記方式

Publications (2)

Publication Number Publication Date
JPH04167134A true JPH04167134A (ja) 1992-06-15
JP2674301B2 JP2674301B2 (ja) 1997-11-12

Family

ID=17811395

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2294717A Expired - Fee Related JP2674301B2 (ja) 1990-10-31 1990-10-31 ビット転記方式

Country Status (1)

Country Link
JP (1) JP2674301B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7516171B2 (en) 2002-08-22 2009-04-07 Oki Semiconductor Co., Ltd. Arithmetic unit and method for data storage and reading
JP2014500546A (ja) * 2010-11-23 2014-01-09 アーム・リミテッド データ処理装置および方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5899859A (ja) * 1981-01-05 1983-06-14 スペリ・コ−ポレ−シヨン 可変フイ−ルド部分書込みデ−タ・マ−ジ・マスク・システム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5899859A (ja) * 1981-01-05 1983-06-14 スペリ・コ−ポレ−シヨン 可変フイ−ルド部分書込みデ−タ・マ−ジ・マスク・システム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7516171B2 (en) 2002-08-22 2009-04-07 Oki Semiconductor Co., Ltd. Arithmetic unit and method for data storage and reading
JP2014500546A (ja) * 2010-11-23 2014-01-09 アーム・リミテッド データ処理装置および方法
US9207937B2 (en) 2010-11-23 2015-12-08 Arm Limited Apparatus and method for processing a bitfield manipulation instruction having a control value indicating insertion or extraction form
US9619225B2 (en) 2010-11-23 2017-04-11 Arm Limited Apparatus and method including an instruction for performing a logical operation on a repeating data value generated based on data size and control parameter portions specified by the instruction
US10521232B2 (en) 2010-11-23 2019-12-31 Arm Limited Data processing apparatus and method for processing a SIMD instruction specifying a control value having a first portion identifying a selected data size and a second portion identifying at least one control parameter having a number of bits that varies in dependence on a number of bits comprised by the first portion

Also Published As

Publication number Publication date
JP2674301B2 (ja) 1997-11-12

Similar Documents

Publication Publication Date Title
JPH04230575A (ja) データプロセッサにおいてキーハッシングを行う方法およびその装置
JPS6149233A (ja) 高速デジタル加減算回路
JPH04167134A (ja) ビット転記方式
JPS6314378B2 (ja)
JP2990000B2 (ja) 検索システム
JPS6327746B2 (ja)
Berkling Computer architecture for correct programming
JP2819668B2 (ja) 命令の最適化方式
JP3766872B2 (ja) 論理シミュレーション装置
JP2914966B2 (ja) 画像処理方法および装置
JP3237591B2 (ja) コンパイル装置、コンパイル方法およびコンパイラを記録した記録媒体
JPH073664B2 (ja) セルデータ演算方法
US20070083511A1 (en) Finding similarities in data records
JPS5814251A (ja) 演算処理装置
JPS61110233A (ja) デ−タ処理装置
JPS60128529A (ja) マ−ジ処理器
JPS63132335A (ja) 計算機言語処理系の実行方式
JPS6242234A (ja) ビツト列属性を持つ変数の演算処理方式
JPH0786836B2 (ja) 多次元配列のメモリ割付け方式
JPH02212927A (ja) 2進整数乗算処理方法
JPH0844542A (ja) 論理演算処理方法
JPS62115531A (ja) ル−ル処理方式
JPH01213739A (ja) コマンド・マクロ登録方式
JPH03244031A (ja) 1ワード当りのビット数が異なるコンピュータ間のソフトウェア互換実現方式
JPH0553800A (ja) ベーシツク・インタプリタのスタツク演算処理方法

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees