JPH0588886A - 5オペランド型シフト命令方式 - Google Patents

5オペランド型シフト命令方式

Info

Publication number
JPH0588886A
JPH0588886A JP3247856A JP24785691A JPH0588886A JP H0588886 A JPH0588886 A JP H0588886A JP 3247856 A JP3247856 A JP 3247856A JP 24785691 A JP24785691 A JP 24785691A JP H0588886 A JPH0588886 A JP H0588886A
Authority
JP
Japan
Prior art keywords
register
shift
data
stored
bits
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
JP3247856A
Other languages
English (en)
Other versions
JP3140812B2 (ja
Inventor
Ryuji Sakai
隆二 境
Yoichiro Takeuchi
陽一郎 竹内
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP03247856A priority Critical patent/JP3140812B2/ja
Publication of JPH0588886A publication Critical patent/JPH0588886A/ja
Application granted granted Critical
Publication of JP3140812B2 publication Critical patent/JP3140812B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【目的】 高速度でシフト処理を行なう。 【構成】 2つのソースレジスタrs1,rs2を任意
ビットbだけシフトした結果を2つのデスティネーショ
ンレジスタrd1,rd2に格納するようにした5オペ
ランド型シフト命令方式を用いて、ソースレジスタrs
1,rs2に設定されている倍語データをシフトコード
bに適当な数値nをセットすることによりシフト処理を
行ない、デスティネーションレジスタrd1,rd2に
格納するようにすることにより任意ビットのシフト処理
及びローテート処理を簡単に1サイクルだけで行なえる
ようにする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、5オペランド型シフ
ト命令方式に関する。
【0002】
【従来の技術】従来、電子計算機における倍語データの
シフトには、図6に示すように最低4命令を必要として
いた。すなわち、ソースレジスタrs1,rs2それぞ
れに格納されているデータa11,a12と、b11,
b12とをnビット右にシフトさせ、デスティネーショ
ンレジスタrd1,rd2に格納することを目的とする
場合、同図(b)に示すように、まずソースレジスタr
s1に格納されているデータa11,a12のうち、デ
ータa12を残すことを目的として、このソースレジス
タrs1を左に(32−n)ビットシフトして、レジス
タrtに格納する。
【0003】さらに、ソースレジスタrs1の格納デー
タa11を残すことを目的として、同図(c)に示すよ
うにソースレジスタrs1を右にnビットシフトして、
デスティネーションレジスタrd1に格納する。
【0004】さらに、同図(d)に示すように、ソース
レジスタrs2に格納されているデータb11,b12
に対して右にnビットシフトしてデスティネーションレ
ジスタrd2に格納することにより、データb11を右
寄せ状態で格納する。
【0005】続いて、同図(e)に示すようにレジスタ
rtとデスティネーションレジスタrd2とのORを取
って、これを、デスティネーションレジスタrd2に改
めて格納する。
【0006】以上の処理によって、図4(a)に示すよ
うに、ソースレジスタrs1,rs2に格納されている
倍語データを右にnビットシフト処理を行なうことがで
きるのである。
【0007】また、図7(a)に示すようにソースレジ
スタrsに格納されている倍語データa11,a12を
ローテートさせるための処理手順としては、まず、同図
(b)に示すように、ソースレジスタrsのデータを左
へ(32−n)ビットシフトしてレジスタrtに格納
し、倍語データa12だけを左寄せの状態で残す処理を
行なう。
【0008】そして、同図(c)に示すようにソースレ
ジスタrsのデータを右にnビットシフトしてデスティ
ネーションレジスタrdに格納し、倍語データa11を
右寄せ状態にする。
【0009】続いて、同図(d)に示すように、レジス
タrtとデスティネーションレジスタrdとのORを取
り、この結果をデスティネーションレジスタrdに格納
することより、倍語データa11,a12が左右入れ代
わったローテート処理が行なえることになる。
【0010】さらに、図8(a)に示すように、従来の
シフト命令でビット列挿入を実現する処理を行なう場合
には、まず、同図(b)に示すように、ソースレジスタ
rs1と(2m+1 −1)とのANDを取ってレジスタr
tに格納することにより、mビットの倍語データa12
を右寄せ状態で取り出す。
【0011】続いて、同図(c)に示すように、ソース
レジスタrs2に格納されているnビットの倍語データ
bをmビット左へシフトしデスティネーションレジスタ
rdに格納する。
【0012】さらに、同図(d)に示すように、レジス
タrtとデスティネーションレジスタrdのORを取っ
てその結果をデスティネーションレジスタrdに格納す
ることにより、倍語データb,a12を右寄せ状態でデ
スティネーションレジスタに格納する。
【0013】続いて、同図(e)に示すように、ソース
レジスタrs1を右へmビットシフトしてレジスタrt
に格納することにより、倍語データa11を右寄せ状態
でレジスタrtに改めて格納する。
【0014】続いて、同図(f)に示すように、このレ
ジスタrtのデータを左へ(m+n)ビットシフトし、
再びレジスタrtに格納し、右側に(n+m)ビット分
の空欄を形成した状態にする。
【0015】次に、同図(g)に示すように、最終的に
このレジスタrtと先程のデスティネーションレジスタ
rdとのORを取り、これをデスティネーションレジス
タrdに改めて格納することにより、倍語データa1
1,a12の間に倍語データbが挿入された形のデータ
列を得る。
【0016】
【発明が解決しようとする課題】ところが、このような
従来の電子計算機における倍語データのシフト処理方式
では、倍語シフトに4サイクル、ローテート処理に3サ
イクル、ビット列挿入には6サイクルかかることにな
り、さらにローテート処理やビット列挿入処理にはrt
のワークレジスタが1つ余分に必要となり、処理速度が
遅くなる問題点があった。
【0017】この発明は、このような従来の問題点に鑑
みてなされたものであって、5オペランド型シフト命令
を用いることにより、倍語データのシフト、ローテート
及びビット列操作が高速に行なえるようにした5オペラ
ンド型シフト命令方式を提供することを目的とする。
【0018】
【課題を解決するための手段】この発明の5オペランド
型シフト命令方式は、2つのソースレジスタrs1,r
s2を任意ビットbだけシフトした結果を、デスティネ
ーションレジスタrd1,rd2に格納する方式であ
る。
【0019】
【作用】この発明の5オペランド型シフト命令方式で
は、任意ビットnだけ倍語データをシフトするに際して
は、ソースレジスタrs1,rs2に設定されている倍
語データを、シフトビットnに設定することにより、n
ビットシフトさせてデスティネーションレジスタrd
1,rd2に格納するだけで、任意のビットnだけのシ
フトを行なうことができる。
【0020】また、ローテートを行なう場合には、ソー
スレジスタrs1,rs2それぞれに同じように設定さ
れている任意のビット数n,m((n+m)はrs1,
rs2それぞれのビット数)の倍語データに対して、シ
フトビットbを所定の値mに設定することによりmビッ
トシフトさせてデスティネーションレジスタrd1,r
d2に格納するだけで、デスティネーションレジスタr
d2からソースレジスタrs1に格納されている倍語デ
ータのローテートした結果のデータを取り出すことがで
きる。
【0021】さらに、mビットと(32−m)ビットと
で構成されるソースレジスタrs1の倍語データにnビ
ット列のデータを挿入する場合には、ソースレジスタr
s1のデータをmビット右にシフトさせてレジスタrt
とデスティネーションレジスタrd1に格納し、挿入用
のnビットの倍語データの格納されているソースレジス
タrs2と先程のデスティネーションレジスタrd1と
に対してnビットのシフト操作を行ない、デスティネー
ションレジスタrd1にmビットのデータとnビットの
データとを並べて格納させるようにし、第3サイクルで
は先程のレジスタrtのデータとデスティネーションレ
ジスタrd1のデータとに対して、(32−(n+
m))ビットのシフトを行ない、改めてrd1に格納す
ることにより、デスティネーションレジスタrd1から
nビットの倍語データの挿入された新たなデータを取り
出すことができる。
【0022】このようにして、任意のビットのシフト、
ローテート及びビット列挿入処理を少ないサイクルのシ
フト操作のみで高速に行なうことができる。
【0023】
【実施例】以下、この発明の実施例を図に基づいて詳説
する。
【0024】図1はこの発明の5オペランド型シフト命
令方式の構成例を示しており、32×2ビット構成の命
令語形式で構成されており、10ビット長の命令コード
op1と5ビット長の命令コードop2と、64ビット
長命令の第2語である命令コードop3と、6ビット長
のデスティネーションレジスタrd1,rd2と、同じ
く6ビット長のソースレジスタrs1,rs2と、シフ
ト幅指定コードb1とから構成されている。
【0025】この5オペランド型シフト命令方式を用い
た、シフト、ローテート、任意ビット列挿入操作につい
て、次に説明する。
【0026】図2及び図3にそれぞれ示すようにシフト
コードb1にnをセットし、SRLL(Sift Right Log
ical Long )の操作をシフトコードb1=nで行なう
と、ソースレジスタrs1,rs2それぞれに格納され
ている倍語データa1,b1は、nビット右にシフトさ
れ、デスティネーションレジスタrd1,rd2に格納
され、デスティネーションレジスタrd1には、元の倍
語データa1のnビットだけ右にシフトされた残りの部
分が格納され、デスティネーションレジスタrd2に
は、元の倍語データb1のnビット右にシフトされたも
のと、元の倍語データa1の右のnビット分とが同時に
格納されることになり、この結果として、1サイクルだ
けでnビット右にシフト操作された結果が得られること
になる。
【0027】また、図3に示すように、SRAL(Sift
Right Arithmetic Long)の操作を、シフトコードb=
mについて行なうならば、ソースレジスタrs1,rs
2それぞれに格納されている倍語データa1,b1は、
デスティネーションレジスタrd1,rd2において、
右にmビットシフトされ、デスティネーションレジスタ
rd1の左mビットのついては1がセットされることに
なる。
【0028】また、上記実施例の5オペランド型シフト
命令を用いてローテート処理を行なう場合には、図4に
示す方法に従う。すなわち、ソースレジスタrs1,r
s2それぞれに同じ倍語データa11,a12を格納し
ておき、このソースレジスタrs1,rs2について、
データa12のビット数nだけ右にシフトさせるSRL
L操作を行なうことにより、デスティネーションレジス
タrd1には倍語データa11だけが格納され、デステ
ィネーションレジスタrd2には、ソースレジスタrs
1の倍語データa12と、元のソースレジスタrs2の
倍語データa11だけが格納されることになり、この結
果としてデスティネーションレジスタrd2にローテー
トした結果が格納されることになる。
【0029】次に、ビット列挿入処理の実現方法につい
て説明する。
【0030】図5はビット列挿入処理の実現方法を示し
ており、同図(a)に示すように、ソースレジスタrs
1に格納されているデータa11,a12に対しソース
レジスタrs2に格納されているデータa13を挿入す
る場合には、まず、同図(b)に示すようにソースレジ
スタrs1とデスティネーションレジスタrd1に対し
てSLLL(Sift Left Logical Long)の操作をmビッ
ト分行ない、レジスタrtとデスティネーションレジス
タrd1に格納することにより、レジスタrtには倍語
データa11を格納し、デスティネーションレジスタr
d1にはnビットのデータa12を格納する。
【0031】続く第2サイクルでは、ソースレジスタr
s2とデスティネーションレジスタrd1に対してデー
タa13のビット長n分のシフト操作、SLLLを行な
い、デスティネーションレジスタrd1にデータa13
とa12を格納する。
【0032】続いて、同図(d)に示す第3サイクルに
おいて、先程のレジスタrtとデスティネーションレジ
スタrd1に対して(32−(m+n))のシフト操
作、SLLLを行ない、最終的にデスティネーションレ
ジスタrd1にデータa11,a12の間にnビットの
データa13が挿入された形のデータを得ることができ
る。
【0033】このようにしてこの実施例の5オペランド
型シフト命令方式では、任意のビット数のシフト操作及
びローテート操作がただ1サイクルのシフト操作で行な
うことができ、ビット列挿入操作も3サイクルという数
少ないシフト操作によって行なうことができ、高速な処
理を実現することができることになる。
【0034】
【発明の効果】以上のようにこの発明によれば、2つの
ソースレジスタを任意のビットだけシフトした結果を2
つのデスティネーションレジスタに格納するようにした
5オペランド型シフト命令方式であるため、単にシフト
ビット数を適当に設定するだけで任意のシフトやローテ
ートを1サイクルのシフト処理で完了することができ、
またビット列挿入処理も少ないサイクルで実行すること
ができ、高速なシフト処理を実現することができる。
【図面の簡単な説明】
【図1】この発明の一実施例の命令語形式を示す説明
図。
【図2】上記実施例におけるSRLL操作を示す説明
図。
【図3】上記実施例におけるSRAL操作を示す説明
図。
【図4】上記実施例によるローテート操作を示す説明
図。
【図5】上記実施例によるビット列挿入処理を示す説明
図。
【図6】従来例におけるシフト操作を示す説明図。
【図7】従来例のローテート操作を示す説明図。
【図8】従来例のビット列挿入処理を示す説明図。
【符号の説明】
op1,op2,op3 命令コード rs1,rs2 ソースレジスタ rd1,rd2 デスティネーションレジスタ b シフトコード a1,a11,a12,a13 倍語データ b1,b11,b12 倍語データ rt レジスタ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 2つのソースレジスタrs1,rs2を
    任意ビットbだけシフトした結果を2つのデスティネー
    ションレジスタrd1,rd2に格納する5オペランド
    型シフト命令方式。
JP03247856A 1991-09-26 1991-09-26 5オペランド型シフト命令方式 Expired - Fee Related JP3140812B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP03247856A JP3140812B2 (ja) 1991-09-26 1991-09-26 5オペランド型シフト命令方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP03247856A JP3140812B2 (ja) 1991-09-26 1991-09-26 5オペランド型シフト命令方式

Publications (2)

Publication Number Publication Date
JPH0588886A true JPH0588886A (ja) 1993-04-09
JP3140812B2 JP3140812B2 (ja) 2001-03-05

Family

ID=17169668

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03247856A Expired - Fee Related JP3140812B2 (ja) 1991-09-26 1991-09-26 5オペランド型シフト命令方式

Country Status (1)

Country Link
JP (1) JP3140812B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002529847A (ja) * 1998-11-06 2002-09-10 アナログ デバイセス インコーポレーテッド ビットfifoを有するディジタル信号プロセッサ
JP2012220789A (ja) * 2011-04-11 2012-11-12 Toshiba Corp ハッシュ関数演算装置及び演算プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002529847A (ja) * 1998-11-06 2002-09-10 アナログ デバイセス インコーポレーテッド ビットfifoを有するディジタル信号プロセッサ
JP4955149B2 (ja) * 1998-11-06 2012-06-20 アナログ デバイセス インコーポレーテッド ビットfifoを有するディジタル信号プロセッサ
JP2012220789A (ja) * 2011-04-11 2012-11-12 Toshiba Corp ハッシュ関数演算装置及び演算プログラム

Also Published As

Publication number Publication date
JP3140812B2 (ja) 2001-03-05

Similar Documents

Publication Publication Date Title
US7000099B2 (en) Large table vectorized lookup by selecting entries of vectors resulting from permute operations on sub-tables
US4219874A (en) Data processing device for variable length multibyte data fields
JPS628817B2 (ja)
US20050289323A1 (en) Barrel shifter for a microprocessor
JP2002512398A (ja) パックデータ上でシフト演算を実行するための方法および装置
JPH0477338B2 (ja)
JPH11203131A (ja) データ語からnビットを抽出する方法および装置
US4130880A (en) Data storage system for addressing data stored in adjacent word locations
JPS6227412B2 (ja)
JPH0588886A (ja) 5オペランド型シフト命令方式
JPH034936B2 (ja)
EP0334131B1 (en) Data processor performing operation on data having length shorter than one-word length
JPH09114639A (ja) マスクデータ生成回路及びビットフィールド操作回路
US3911405A (en) General purpose edit unit
GB1593136A (en) Data processing
JPS6148177B2 (ja)
JPS6148174B2 (ja)
JP3476618B2 (ja) バレルシフト演算装置
JP2667810B2 (ja) ベクトル処理装置
JP2615746B2 (ja) ビット操作回路
JPH0625966B2 (ja) マイクロプログラム制御装置
JPS6373325A (ja) 情報処理装置
JPS62143130A (ja) 中央処理装置
JPH01156824A (ja) マイクロプロセッサ
JPH0736857A (ja) 信号処理プロセッサ

Legal Events

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