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

データ処理装置

Info

Publication number
JPH0774990B2
JPH0774990B2 JP62246623A JP24662387A JPH0774990B2 JP H0774990 B2 JPH0774990 B2 JP H0774990B2 JP 62246623 A JP62246623 A JP 62246623A JP 24662387 A JP24662387 A JP 24662387A JP H0774990 B2 JPH0774990 B2 JP H0774990B2
Authority
JP
Japan
Prior art keywords
instruction
literal
operand
bit
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.)
Expired - Fee Related
Application number
JP62246623A
Other languages
English (en)
Other versions
JPS6488838A (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 JP62246623A priority Critical patent/JPH0774990B2/ja
Publication of JPS6488838A publication Critical patent/JPS6488838A/ja
Priority to US07/882,743 priority patent/US5307474A/en
Publication of JPH0774990B2 publication Critical patent/JPH0774990B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】 [産業上の利用分野] この発明は、命令内に含まれている定数データを使用す
るデータ処理装置に関するものである。
[発明が解決しようとする問題点] 命令内に含まれている定数データは、ビット幅が狭いた
めに表現可能な定数の範囲が狭く、表現可能な範囲を越
える定数データが必要な場合は、同一命令を複数反復す
るか、または定数データを含む命令より長い命令、ある
いは主記憶装置等を使用する必要がある他の命令で行わ
ねばならず、このため命令の数が増加するという問題点
があった。
この発明は、上記のような問題点を解消するためになさ
れれたもので、命令の数がより少なくて済むデータ処理
装置を得ることを目的とする。
[問題点を解決するための手段] 本発明に係るデータ処理装置は、主記憶手段から読出さ
れた命令を解読する命令解読部と、解読された命令を実
行する命令実行部と、前記命令内のリテラルでオペラン
ドを生成するリテラル拡張部とを備えるデータ処理装置
であって、前記リテラル拡張部は、第1の命令のリテラ
ル指定フィールドの幅と、第1の命令とは異なる第2の
命令のリテラル指定フィールドの幅とが等しく、かつ、
前記第1の命令のリテラル指定フィールド内のビット列
と前記第2の命令のリテラル指定フィールド内のビット
列とが等しい第1,第2の命令に関して、前記第1の命令
のリテラル指定フィールドのビット列から生成され前記
命令実行部へ入力される第1のオペランドの値と、前記
第2の命令のリテラル指定フィールドのビット列から生
成され前記命令実行部へ入力される第2のオペランドの
値とを異ならせるべくなしてあり、また加算に係る命令
内のリテラルが0である場合にのみオペランドの所定ビ
ットを1とすべくなしてあることを特徴とする。
[作用] この発明において、命令内に含まれる定数データの表現
可能な範囲から命令にとって不要な範囲を取り去り、取
り去った部分をその命令にとって有効なデータの範囲を
ひろげるために使用することにより、定数データの表現
可能な範囲が拡大され、命令の数が減少される。
そして加算に係る命令ではオペランド値としての0は不
適であるので、リテラルが0である場合にはオペランド
が所定ビットを1とする。
[発明の実施例] 以下、この発明の一実施例を図面を参照して説明する。
第1図は、本願出願人の出願に係る発明の名称「データ
処理装置」(特願昭62−247418号)に詳細が述べられて
いる本発明装置の定数データ(以下、リテラルと記述す
る)を含む命令の一例である。
第1図において、ADD:Q命令は加算命令であり、デステ
ィネーションオペランド(ADD:Q命令では、ShMで表され
ている)とソースオペランド(ADD:Q命令では、#3nで
表されている)を加算することを意味する。この命令の
ソースオペランド#3nはリテラルでビット幅は3ビット
である。
第1図のBSET:Q命令は、ビットネット命令であり、ベー
スとなる番地(BSET:Q命令ではShMfqで表されている)
オフセット(BSET:Q命令では#3zで表されている)を加
えたビットを1にセットすることを意味している。この
命令のソースオペランド#3zはリテラルでビット幅は3
ビットである。
第1図のSHA:C命令は、算術シフト命令であり、デステ
ィネーションオペランド(SHA:C命令ではShMで表されて
いる)をソースオペランド(SHA:C命令では#3cで表さ
れている)で指定されたビット数だけ算術シフトするこ
とを意味している。この命令のソースオペランド#3cは
リテラルでビット幅は3ビットである。
第1図のBRA:D命令は、分岐命令であり、現在実行して
いる命令に#d8から求まる相対値を加えた番地の命令が
次に実行する命令であることを意味している。
3ビットのリテラルで表現できるオペランド値の範囲と
しては、0から7までである。
ここでのオペランド値とは、データ処理装置内の実行部
(例えばALU)に直接入力される値で、32ビットタイプ
の本発明装置では32ビットの幅である。リテラルが表現
可能なオペランド値の範囲が一種類であれば、命令によ
っては不要なオペランド値の範囲が生じる場合がある。
例えば、第1図のADD:Q命令の場合、0を加算すること
は特殊な場合を除いて考えられないので、この命令に
は、オペランド値として0は不要なものとなる。そこ
で、第1図にあるように3ビットのリテラルとして#3
n、#3z、#3c等のように複数個準備しておき、命令に
応じてリテラルが表現可能なオペランド値の範囲を可変
にしてあれば、命令に応じてリテラルをより広範囲なオ
ペランド値として使えることになる。
第1図に示すリテラルの表現#3z、#3n、#3cにて可能
なオペランド値の違いを明確にするために、第2図にリ
テラル値とオペランド値との関係を示してある。
第2図から明かなように、3ビットのリテラル値“000"
でも#3zのオペランド値は0、#3nのオペランド値は
8、#3cのオペランド値は−8である。#3zのリテラル
がとり得るオペランド値は、0から7(=23−1)であ
り、#3nのリテラルがとり得るオペランド値は、1から
8(=23)であり、#3cのリテラルがとり得るオペラン
ド値は、−1から−8(=−23)である。
第1、2図には、リテラルとして3ビットの例を挙げて
あるが4ビット、6ビットのリテラルがある命令の場合
(例えば、TRAPA、ACB:Q命令など)も3ビットの場合と
同様であることはいうまでもない。
第1図のBRA:D命令の場合は、定数データ#d8を2倍し
て相対値を求めている。これは、分岐先のアドレスとし
ては偶数しかないため奇数のアドレスがあっても無意味
であるからである。リテラルが8ビットであれば、相対
値のとり得る値の範囲は0から510(=2×(28
1))の範囲である。但し、相対値は偶数値のみであ
る。
一般的に、#Nz(Nビットのリテラル)がとり得るオペ
ランド値は、0から2N−1、#Nnがとり得るオペランド
値は、1から2N、#Ncがとり得るオペランド値は、−1
から−2N、#dNの場合は、0から2×(2N−1)の偶数
値である。#Nzと#Nnの違いは、第2図に明らかなよう
にNビットのリテラルがすべて0の場合にオペランド値
として0(#Nzの場合)とするか2N(#Nnの場合)とす
るかである。また、#Ncのオペランド値は、リテラル値
の2の補数である。
第3図に、第1図の各命令の32ビットオペランド値への
拡張方法を示す。
ADD:Q命令の場合には、リテラル#3nの3ビットは、32
ビットオペランドのビット29から31へ入り、32ビットオ
ペランドのビット0から27までは0が入る。ビット28
(図のA)には、リテラルの3ビットがすべて0の場合
にのみ1が入り、その他の場合には0が入る。
BSET:Q命令の場合には、リテラル#3zが32ビットオペラ
ンドのビット29から31へ入り、ビット0から28までは0
が入る。
SHA:C命令の場合には、リテラル#3cは32ビットオペラ
ンドのビット29から31へ入り、ビット0から28までには
1が入る。
BRA:D命令の場合には、#d8は32ビットオペランドのビ
ット23から30へ入り、ビット0から22及びビット31には
0が入る。
第4図にリテラルの拡張機能を備えたデータ処理装置の
一部の構成のブロック図を示す。
第4図において、41は第1図にあるようなリテラルを含
んだ命令、42は命令内のリテラル、43は命令を解読して
必要な制御信号を生成する命令デコード部(命令解読
部)、44はリテラル拡張部、45はオペランド値である。
51は命令41内のリテラル部42をリテラル拡張部44に送る
信号線、52は命令デコード部43からリテラル拡張部44を
制御する信号であり、この信号はリテラルのビット幅と
リテラルの種類を表す。
命令41が命令デコード部43に入力された場合、命令デコ
ード部43は、リテラル42のビット幅とリテラルの種類を
リテラル拡張部44へ送る。リテラル拡張部44は、命令デ
コード部43からの制御信号52(リテラルのビット幅とリ
テラルの種類)にしたがってリテラルを拡張(例えば第
3図に示す如く)してオペランド値45を生成する。
第5図に第4図のリテラル拡張部44を実現する論理回路
の一例を第3図の3ビットリテラルの拡張に適用した場
合について示す。
第5図において、501〜503は命令デコード部43から与え
られる制御信号であり、501はリテラルが#3nであるこ
とを示す信号線、502はリテラルが#3zであることを示
す信号線、503はリテラルが#3cであることを示す信号
線である。501〜503の中でハイレベルになった信号線が
リテラルの種類を示し、同時に複数本ハイレベルになる
ことはない。
504は、命令41のリテラル部42の信号線である。第5図
の例では、リテラルが3ビットであり、命令ビットは第
1図に示す如く、ビット3〜5であるから、リテラルと
してビット3〜5までが入力されている。
505は、オペランド値45のビット信号線である。
第5図では3ビットのリテラル拡張の場合を示している
が、4、6あるいは8ビットに適用する場合にも同様に
構成できる。なお、第5図では4、6及び8ビットのリ
テラルの場合は省略してあるため、命令デコード部43か
らのリテラルのビット幅は入力されていない。
[発明の効果] 以上のように、この発明によれば、Nビットの定数デー
タが表現可能な範囲が、1から2Nまで、−1から−2N
でのように命令に応じて選択可能にしたので命令に含ま
れる変数データにて表現できる範囲が拡大され、命令の
数を減少させ得る。
更に加算に係る命令で不都合なオペランドが生成される
ことがない。
【図面の簡単な説明】
第1図はリテラルを有する命令の例を示す模式図、第2
図は3ビットのリテラルのオペランド値を示す模式図、
第3図はリテラルの種類によるオペランド値の生成状態
を示す模式図、第4図はデータ処理装置の一部で、リテ
ラルを有する命令を解読しオペランド値を生成する部分
の構成を示すブロック図、第5図はリテラル拡張部の論
理回路の一例を示す回路図である。 なお、図中同一符号は同一または相当部分を示す。 41……命令、42……命令内のリテラル、43……命令デコ
ード部、44……リテラル拡張部、45……オペランド値
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭62−3338(JP,A) 特開 昭62−3333(JP,A) 特開 昭63−629(JP,A) 特開 昭54−129944(JP,A)

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】主記憶手段から読出された命令を解読する
    命令解読部と、解読された命令を実行する命令実行部
    と、前記命令内のリテラルでオペランドを生成するリテ
    ラル拡張部とを備えるデータ処理装置であって、前記リ
    テラル拡張部は、第1の命令のリテラル指定フィールド
    の幅と、第1の命令とは異なる第2の命令のリテラル指
    定フィールドの幅とが等しく、かつ、前記第1の命令の
    リテラル指定フィールド内のビット列と前記第2の命令
    のリテラル指定フィールド内のビット列とが等しい第1,
    第2の命令に関して、前記第1の命令のリテラル指定フ
    ィールドのビット列から生成され前記命令実行部へ入力
    される第1のオペランドの値と、前記第2の命令のリテ
    ラル指定フィールドのビット列から生成され前記命令実
    行部へ入力される第2のオペランドの値とを異ならせる
    べくなしてあり、また加算に係る命令内のリテラルが0
    である場合にのみオペランドの所定ビットを1とすべく
    なしてあることを特徴とするデータ処理装置。
  2. 【請求項2】前記リテラルのビット数がNビットである
    場合に、前記オペランドがとり得る値の範囲として、1
    から2N範囲、又は−1から−2Nの範囲のいずれかを選択
    する手段を命令解読部に備えたことを特徴とする特許請
    求の範囲第1項記載のデータ処理装置。
JP62246623A 1987-09-30 1987-09-30 データ処理装置 Expired - Fee Related JPH0774990B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP62246623A JPH0774990B2 (ja) 1987-09-30 1987-09-30 データ処理装置
US07/882,743 US5307474A (en) 1987-09-30 1992-05-11 Apparatus and method for processing literal operand computer instructions

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JPS6488838A JPS6488838A (en) 1989-04-03
JPH0774990B2 true JPH0774990B2 (ja) 1995-08-09

Family

ID=17151158

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62246623A Expired - Fee Related JPH0774990B2 (ja) 1987-09-30 1987-09-30 データ処理装置

Country Status (1)

Country Link
JP (1) JPH0774990B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54129944A (en) * 1978-03-31 1979-10-08 Toshiba Corp Arithmetic controller
JPS623338A (ja) * 1985-06-28 1987-01-09 Yokogawa Hewlett Packard Ltd 直接値処理方式
JPS623333A (ja) * 1985-06-28 1987-01-09 Yokogawa Hewlett Packard Ltd ビツト群置数方式
JPS62259140A (ja) * 1986-05-06 1987-11-11 Oki Electric Ind Co Ltd アドレス生成回路
JPS63629A (ja) * 1986-06-20 1988-01-05 Fujitsu Ltd デ−タ処理方式

Also Published As

Publication number Publication date
JPS6488838A (en) 1989-04-03

Similar Documents

Publication Publication Date Title
US6098087A (en) Method and apparatus for performing shift operations on packed data
US6397318B1 (en) Address generator for a circular buffer
JPH0991197A (ja) データ転送制御装置
JPH0470662B2 (ja)
US5301338A (en) System including central processing unit
JP3032340B2 (ja) プロセッサのデータメモリ用アドレスジェネレータ
JP2549601B2 (ja) レジスタ制御回路
JPH034936B2 (ja)
JP3433588B2 (ja) マスクデータ生成回路及びビットフィールド操作回路
JPH0774990B2 (ja) データ処理装置
JP3462060B2 (ja) 符号拡張回路
JP4278320B2 (ja) シフト演算装置及びシステム
EP0661648B1 (en) Digital signal processing circuit
JPH0370416B2 (ja)
EP0444624A2 (en) Apparatus for generating an address to access a memory
JPS58208981A (ja) アドレス制御回路
JPH0831033B2 (ja) データ処理装置
JP4204482B2 (ja) ゼロ検出で速い計算が可能なインクリメンタ及びその方法
EP1041720B1 (en) Binary zero determination signal generating circuit
JPS6017131B2 (ja) メモリ制御回路
JP2803788B2 (ja) パリテイ予測およびストリング制御を有する高速パイプライン・シフタ要素
JPS6148174B2 (ja)
JPH0619700B2 (ja) 演算装置
JP3097081B2 (ja) 段数可変m系列符号発生器
JPH0431977A (ja) 色データの拡張回路

Legal Events

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