[go: up one dir, main page]

JPH06139068A - ビットオフセット量計算装置 - Google Patents

ビットオフセット量計算装置

Info

Publication number
JPH06139068A
JPH06139068A JP12584492A JP12584492A JPH06139068A JP H06139068 A JPH06139068 A JP H06139068A JP 12584492 A JP12584492 A JP 12584492A JP 12584492 A JP12584492 A JP 12584492A JP H06139068 A JPH06139068 A JP H06139068A
Authority
JP
Japan
Prior art keywords
bit
offset
bits
address
bus
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
JP12584492A
Other languages
English (en)
Other versions
JP3125436B2 (ja
Inventor
Torabarii Hatsusan
トラバリー ハッサン
Kozo Kimura
浩三 木村
Kazunori Takahashi
一徳 高橋
Takuzou Kiyohara
▲たく▼三 清原
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP04125844A priority Critical patent/JP3125436B2/ja
Publication of JPH06139068A publication Critical patent/JPH06139068A/ja
Application granted granted Critical
Publication of JP3125436B2 publication Critical patent/JP3125436B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【目的】 オフセット量の計算において、ソフトウエア
の負担を軽減する。 【構成】 初期アドレスを入力するアドレスバスと、初
期オフセットを入力するオフセットバスと、Mビットの
加算を行なうMビット加算手段を具備し、前記アドレス
バスの出力の最下位Mビットは前記Mビット加算手段の
一つの入力に接続され、前記オフセットバスの出力の最
下位N(N>M)ビットの内先頭Mビットは前記Mビッ
ト加算手段のもう一方の入力に接続された構成。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はビットオフセット量計算
装置に関するものである。
【0002】
【従来の技術】従来の選択手段がビット操作対象とされ
るオペランドのサイズ情報に従ってデコーダが取り込む
ビットを変更し、オペランドのビット数と最大のオペラ
ンドのビット数との差をそのオフセットデータにより所
定のビット操作を行ない、オフセット量間接指定制御シ
ステムとしては、例えば特開平1−134621号公報
に示されている。図8はこの従来のオフセット量間接指
定制御システムの構成図を示すものであり、80は32
ビット入力バス、81は入力部、82はセレクタ、83
はデコーダ、84は出力回路部、と85は出力バスであ
る。5ビットデコーダ回路部1の入力部10に内部バス
を介してビット命令に基づいたオフセットデータを取り
込み、採り入れたデータの下位5ビットを有効データと
して出力する。このデータの内の下位3ビットをデコー
ダ83に、上位2ビットをセレクタ82を介してデコー
ダ83に供給する。このデコーダ83でビットコードを
数値に変換する。そして変換した対応する位置のビット
を1に、その他のビットを0にして、32ビットのデー
タを出力回路部5を介して内部バス7に出力し、ソフト
ウエアの負担を軽減して高速に処理する。
【0003】また、操作対象ビットのベースアドレス及
びそのオフセット量を求めることはマイクロプログラム
により加算器、バレルシフタのようなシフト及びマスク
手段、とデータが退避できるテンポラリレジスタなどを
制御することにより実現できる。
【0004】例えば、オフセットを求める場合、マイク
ロプログラムにより制御すると、まず初期オフセットを
バレルシフタのようなシフト手段に入力し、3ビット算
術シフトダウンし、そして、シフトダウンするときに溢
れる3ビットをテンポラリレジスタに退避し、加算器に
初期アドレスとシフトダウンされたオフセットを入力し
て加算し、その結果の下位2ビット以外のビットを全て
マスクすることにより求まる。
【0005】また、ベースアドレスを求める場合、マイ
クロプログラムにより制御すると、初期アドレスと3ビ
ット算術シフトダウンされた初期オフセットを32ビッ
ト加算器に入力して加算した後、バレルシフタのような
ビットマスク手段を通じて、ビットサイズ指定に応じ
て、ビットマスクを行なう必要がある。バレルシフタに
よりビットマスクを行なう場合、例えば、下位2ビット
をマスクしたいとき、まず、2ビットシフトダウンし、
2ビットシフトアップすることにより、下位2ビットを
0で置き換える。しかし、このような処理を行なうと少
なくても2クロックかかる。
【0006】
【発明が解決しようとする課題】しかしながら上記のよ
うな構成では、ベースアドレスを求めることができず、
32ビットのデコーダが必要となり、ハードウエアの増
加にもなり、またマイクロプログラムにより制御すると
数クロック必要になるという課題を有していた。
【0007】
【課題を解決するための手段】初期アドレスを入力する
アドレスバスと、初期オフセットを入力するオフセット
バスと、Mビットの加算を行なうMビット加算手段を具
備し、前記アドレスバスの出力の最下位Mビットは前記
Mビット加算手段の一つの入力に接続され、前記オフセ
ットバスの出力の最下位N(N>M)ビットの内先頭M
ビットは前記Mビット加算手段のもう一つの入力に接続
されたオフセット量計算装置。
【0008】初期アドレスを入力するアドレスバスと、
3ビット算術シフトダウンされた初期オフセットを入力
するオフセットバスと、加算を行なう加算手段と、マス
ク信号によるビットマスクを行なうビットマスク手段を
具備し、前記アドレスバスの出力は前記加算手段の一つ
の入力に接続され、前記オフセットバスの出力は前記加
算手段のもう一つの入力に接続され、前記加算手段の出
力は前記ビットマスク手段の入力に接続されたベースア
ドレス計算装置。
【0009】初期アドレスを入力するアドレスバスと、
初期オフセットを入力するオフセットバスと、Mビット
の加算を行なうMビット加算手段と、補数出力信号によ
りデータの補数出力を行なう補数出力手段を具備し、前
記アドレスバスの出力の最下位Mビットは前記Mビット
加算手段の一つの入力に接続され、前記オフセットバス
の出力の最下位Nビットの内先頭Mビットは前記Mビッ
ト加算手段のもう一つの入力に接続され、前記Mビット
加算手段の出力は前記補数出力手段の入力に接続された
オフセット量補数計算装置。
【0010】
【作用】本発明は前記した構成により、初期アドレスの
最下位Mビットを初期オフセットの最下位Nビットの内
先頭MビットとMビット加算し、オフセット値を求め、
オフセット補数出力信号に従って、オフセットかオフセ
ットの補数を出力する。初期アドレスと3ビットシフト
ダウンされた初期オフセットを加算し、指定サイズに従
ってビットマスクすることによりベースアドレスを求め
る。
【0011】
【実施例】図1は本発明の第1の実施例におけるオフセ
ット量計算装置のブロック図を示すものである。同図に
おいて、10は32ビットの初期アドレスを供給するア
ドレスバス、11は32ビットの初期オフセットを供給
するオフセットバス、12は2ビット加算器、そして1
3は3ビットバイパスである。
【0012】図2は本発明の第1の実施例におけるベー
スアドレス計算装置のブロック図を示すものである。同
図において、20は32ビットの初期アドレスを供給す
るアドレスバス、21は3ビットシフトダウンされた3
2ビットの初期オフセットを供給するオフセットバス、
22は32ビット加算器であり、23はビットマスク装
置である。
【0013】以上示す装置を用いて、ビット操作命令、
ビットフィールド命令及び任意長ビット操作命令で任意
のベースアドレス及びオフセットがそれぞれ初期アドレ
ス及び初期オフセットとして与えられたときに、実際に
アクセスすべき32ビットワード内のオフセット(アク
セスオフセット)とそのときのベースアドレス(アクセ
スベースアドレス)を計算する。この実施例では処理単
位は32ビットであり、アクセスアドレス基本単位は2
**N(N=3)で8ビットである。そして、オフセッ
ト量計算に必要とする加算手段はM(log2(32/
8))=2ビット加算手段である。なお、処理単位が6
4ビットの場合にはM=3ビット加算手段が必要とな
る。図1及び図2に示すそれぞれの装置の動作について
以下説明する。
【0014】図3はアクセスオフセットの計算における
加算手段の動作説明図であり、以下図3に従って図1の
動作を説明する。初期アドレス10の最下位2ビット
と、初期オフセット11の最下位5ビットの内先頭2ビ
ット、つまり27ビット目と28ビット目を2ビット加
算器12に入力し、演算を行なうことにより5ビットオ
フセットの先頭2ビットを求める。5ビットオフセット
の下位3ビットは初期オフセットの最下位3ビットと同
一であり、初期オフセットバス11からバイパス13を
介して出力する。以上によりアクセスオフセットが求ま
る。
【0015】実際にはハードウエアの増加としては三の
論理XORゲートと論理NORゲートの追加によりマイ
クロプログラム制御に対してアクセスオフセット及びア
クセスベースアドレスが素早く計算でき、演算速度の高
速化という効果がある。
【0016】図4はアクセスベースアドレスの計算にお
ける加算手段及びビットマスク手段の動作説明図であ
り、以下図4に従って図2の動作を説明する。32ビッ
トの初期アドレス20と3ビットシフトダウンされた3
2ビットの初期オフセット21を32ビット加算器22
に入力して加算し、アクセスベースアドレスを求める。
ビットサイズ指定により、ビットマスク装置でアクセス
ベースアドレスの下位2ビットをマスクする。例えば、
ビットサイズ指定がハーフワード(16ビット)であっ
たとすると、上記のバイト境界のベースアドレスの下位
ビットをマスクすることによりハーフワード境界アクセ
スベースアドレスが求まる。又、ビットサイズ指定がワ
ードの場合、下位2ビットをマスクすることによりワー
ド境界アクセスベースアドレスが求まる。
【0017】実際には、ビットマスク装置にワードマス
ク信号またはハーフワードマスク信号を入力することに
より、加算器の出力であるバイト境界アクセスベースア
ドレスを2入力論理ANDゲートを介し、それぞれ、下
位2ビットまたは下位1ビットをマスクすることにより
簡単に実現できる。
【0018】上記の装置の動作を図7を用いて具体的に
説明する。図7はビット操作命令及びビットフィールド
命令における操作対象ビットのアクセス方式を示す説明
図であり、それを参照にして初期オフセットと初期アド
レスが与えられているときに操作対象ビットのアクセス
ベースアドレスとアクセスオフセットの求め方を説明す
る。初期アドレスを20h(h:16進数)とし、初期
オフセットを1BChとする。この初期オフセットはビ
ットオフセットであるため、3ビットシフトダウンして
バイトオフセットを求め、このバイトオフセット、37
hと初期アドレス20hを32ビット加算し、アクセス
ベースアドレス、57hを求める。次に、初期アドレス
の最下位2ビット、この場合、00b(b:2進数)と
初期オフセットの27,28ビット目、この場合、11
bを2ビット加算し、アクセスオフセットの上位2ビッ
トを求める。初期オフセットの最下位3ビット、この場
合、100bをそのままアクセスオフセットの下位3ビ
ットとし、アクセスオフセットは11100b(1C
h)として計算される。図9にビットサイズ指定によ
り、それぞれバイト、ハーフワード、とワードのときの
アクセスベースアドレス及びアクセスオフセットを示
す。
【0019】図5は本発明の第2の実施例における補数
出力装置のブロック図を示すものである。図5におい
て、10は32ビットの初期アドレスを供給するアドレ
スバス、11は32ビットの初期オフセットを供給する
オフセットバス、12は2ビット加算器、13は3ビッ
トバイパス、そして、14は補数を出力する補数出力装
置である。オフセットの計算は図1に示すように、初期
アドレス10の最下位2ビットと、初期オフセット11
の最下位5ビットの内先頭2ビット、つまり27ビット
目と28ビット目を2ビット加算器12に入力し、演算
を行なうことにより5ビットオフセットの先頭2ビット
を求める。5ビットオフセットの下位3ビットは初期オ
フセットの最下位3ビットと同一であり、11から13
のバイパスを介して補数出力装置14の入力として出力
する。補数出力信号に従って補数出力装置を通じてオフ
セットの補数(オフセット)を出力する。
【0020】図6はオフセット補数によりビットマスク
作成方法の説明図であり、それを用いて、補数出力装置
によりオフセットの補数を計算する必要性を説明する。
例えば、32ビットワードの20ビット目がビット操作
命令における操作対象ビットである。そうすると、20
ビット目に1が立つマスクを作成し、ビット操作を行な
う。このようなマスクを作る方法として最上位ビットを
1にしてオフセット分だけシフトダウンするか、最下位
ビットを1にして5ビットオフセットの補数、オフセッ
ト(31−オフセット)分シフトアップすることであ
る。最上位ビットを1にすることよりも最下位ビットを
1にすることが容易にできる。オフセットの値が求まっ
た後、オフセットの補数を求めるにはマイクロプログラ
ム制御よりも5ビットオフセットを論理NOTゲートを
介した方が高速に実現できる。
【0021】
【発明の効果】以上説明したように、本発明によれば、
次のような効果が得られる。
【0022】オフセットを求めるときに、Mビット加算
手段を設けることによりソフトウエアにかかる負担の軽
減及び処理速度の高速化を実現できる。
【0023】ベースアドレスを求めるときに、ビットマ
スク手段を設けることによりソフトウエアにかかる負担
の軽減とともに処理速度の高速化を実現することができ
る。
【0024】ビット操作命令では、オフセットの補数を
出力する補数出力手段を設けることによりソフトウエア
にかかる負担を軽減し、高速に処理を行なうことができ
る。
【0025】このように小さなハードウエアをつけるこ
とにより高速に演算が実現でき、実用的効果は大きい。
【図面の簡単な説明】
【図1】本発明における第1の実施例のオフセット量計
算装置のブロック図
【図2】同実施例のベースアドレス計算装置のブロック
【図3】オフセットの計算における加算手段の動作説明
【図4】ベースアドレスの計算における加算手段及びビ
ットマスク手段の動作説明図
【図5】本発明における第2の実施例のオフセット補数
出力装置のブロック図
【図6】オフセット補数によりビットマスク作成方法の
説明図
【図7】ビット操作命令及びビットフィールド命令にお
ける操作対象ビットのアクセス方式を示す説明図
【図8】従来例のオフセット量間接指定制御システムの
ブロック図
【図9】ビットサイズ指定による違いの説明図
【符号の説明】
10 初期アドレスバス 11 初期オフセットバス 12 2ビット加算手段 13 3ビットバイパス 14 補数出力手段 22 32ビット加算手段 23 ビットマスク手段
───────────────────────────────────────────────────── フロントページの続き (72)発明者 清原 ▲たく▼三 大阪府門真市大字門真1006番地 松下電器 産業株式会社内

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】アドレスを入力するためのアドレスバス
    と、ビットオフセット値を入力するためのオフセットバ
    スと、データ処理の基本単位のビット長の2を底とする
    対数値(M)からアドレスにより指定できる最小単位の
    データのビット長の2を底とする対数値(N)を減じた
    ビット数の加算を行ない、前記アドレスバスから入力さ
    れるアドレスの最下位Mビットと、前記オフセットバス
    から入力されるビットオフセットの最下位のMビットの
    内先頭の(M−N)ビットを入力とする加算手段を具備
    し、出力の最下位Nビットには前記オフセットバスから
    入力されるビットオフセット値の最下位Nビットを出力
    し、より上位の(M−N)ビットには前記加算手段の出
    力を出力することを特徴とするビットオフセット量計算
    装置。
  2. 【請求項2】アドレスを入力するためのアドレスバス
    と、アドレスにより指定できる最小単位のデータのビッ
    ト長の2を底とする対数値(N)ビット算術シフトダウ
    ンされたビットオフセットを入力するオフセットバス
    と、加算を行なう加算手段と、マスク信号によるビット
    マスクを行なうビットマスク手段を具備し、前記アドレ
    スバスの出力は前記加算手段の一つの入力に接続され、
    前記オフセットバスの出力は前記加算手段のもう一つの
    入力に接続され、前記加算手段の出力は前記ビットマス
    ク手段の入力に接続されたアクセスベースアドレス計算
    装置。
  3. 【請求項3】アドレスを入力するためのアドレスバス
    と、ビットオフセット値を入力するためのオフセットバ
    スと、データ処理の基本単位のビット長の2を底とする
    対数値(M)からアドレスにより指定できる最小単位の
    データのビット長の2を底とする対数値(N)を減じた
    ビット数の加算を行ない、前記アドレスバスから入力さ
    れるアドレスの最下位Mビットと、前記オフセットバス
    から入力されるビットオフセットの最下位のMビットの
    内先頭の(M−N)ビットを入力とする加算手段と、補
    数出力信号によりデータの補数出力を行なう補数出力手
    段を具備し、出力の最下位Nビットには前記オフセット
    バスから入力されるビットオフセット値の最下位Nビッ
    トを出力し、より上位の(M−N)ビットには前記加算
    手段の出力を出力し、前記の出力を前記補数出力手段の
    入力に接続されることを特徴とするビットオフセット量
    補数計算装置。
JP04125844A 1992-05-19 1992-05-19 ビットオフセット量計算装置 Expired - Fee Related JP3125436B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP04125844A JP3125436B2 (ja) 1992-05-19 1992-05-19 ビットオフセット量計算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP04125844A JP3125436B2 (ja) 1992-05-19 1992-05-19 ビットオフセット量計算装置

Publications (2)

Publication Number Publication Date
JPH06139068A true JPH06139068A (ja) 1994-05-20
JP3125436B2 JP3125436B2 (ja) 2001-01-15

Family

ID=14920348

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04125844A Expired - Fee Related JP3125436B2 (ja) 1992-05-19 1992-05-19 ビットオフセット量計算装置

Country Status (1)

Country Link
JP (1) JP3125436B2 (ja)

Also Published As

Publication number Publication date
JP3125436B2 (ja) 2001-01-15

Similar Documents

Publication Publication Date Title
US5497341A (en) Sign-extension of immediate constants in an ALU using an adder in an integer logic unit
JPH05216624A (ja) 演算装置
JP2002512398A (ja) パックデータ上でシフト演算を実行するための方法および装置
JPH0542011B2 (ja)
US3751650A (en) Variable length arithmetic unit
JPH0470662B2 (ja)
JPS5811652B2 (ja) 演算ユニツト
US4677582A (en) Operation processing apparatus
US4893267A (en) Method and apparatus for a data processor to support multi-mode, multi-precision integer arithmetic
US4598359A (en) Apparatus for forward or reverse reading of multiple variable length operands
KR19980052740A (ko) 디지탈 신호 처리기에서의 2배 정밀도 곱셈연산 수행방법
US4608633A (en) Method for decreasing execution time of numeric instructions
US4691282A (en) 16-bit microprocessor system
JPH07234778A (ja) 演算回路
JPH0371329A (ja) 算術論理演算処理装置の演算制御回路
JPH034936B2 (ja)
US4575795A (en) Apparatus for detecting a predetermined character of a data string
JPH06139068A (ja) ビットオフセット量計算装置
KR100431726B1 (ko) 부호달린나눗셈을이행하는방법
JPH0346024A (ja) 浮動小数点演算器
US6122651A (en) Method and apparatus for performing overshifted rotate through carry instructions by shifting in opposite directions
EP0265948A2 (en) Data processor capable of immediately calculating branch address in relative address branch
JPH0619700B2 (ja) 演算装置
JPH0251732A (ja) 浮動小数点演算器
JP2621494B2 (ja) 浮動小数点加減算装置

Legal Events

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