JPH11249895A - プログラム命令実行装置及びプログラム命令実行方法 - Google Patents

プログラム命令実行装置及びプログラム命令実行方法

Info

Publication number
JPH11249895A
JPH11249895A JP10053873A JP5387398A JPH11249895A JP H11249895 A JPH11249895 A JP H11249895A JP 10053873 A JP10053873 A JP 10053873A JP 5387398 A JP5387398 A JP 5387398A JP H11249895 A JPH11249895 A JP H11249895A
Authority
JP
Japan
Prior art keywords
register
registers
instruction
same data
data
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
Application number
JP10053873A
Other languages
English (en)
Inventor
Yoshiki Kuramoto
芳樹 倉本
Kenji Matsumoto
松本  健志
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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric 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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP10053873A priority Critical patent/JPH11249895A/ja
Publication of JPH11249895A publication Critical patent/JPH11249895A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】 複数のレジスタに同一データを書き込む際の
プログラムサイズを削減する。 【解決手段】 命令フェッチ部2がメモリ1から命令を
フェッチし、命令デコード部3に供給する。命令デコー
ド部3は、命令をデコードし、汎用レジスタ部4にレジ
スタ選択信号として供給する。汎用レジスタ部4はレジ
スタ選択装置及びレジスタ群を有し、所定の転送命令の
ディスティネーションオペランドとして先頭レジスタ及
び個数が指定された場合に、レジスタ選択装置はレジス
タ群の中の指定された先頭レジスタから指定された個数
のレジスタに同一データを同時に書き込む。1つの転送
命令で複数のレジスタに同時に書き込むことで、プログ
ラムサイズを削減できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はプログラム命令実行
装置及び方法、特に複数のレジスタ等に同一データを書
き込む装置及び方法に関する。
【0002】
【従来の技術】演算命令を実行する際、演算に使用する
データは予めレジスタに書き込む必要がある。レジスタ
に任意の値を書き込むには、対象となるプログラム命令
実行装置の有するデータ転送命令を使用することで行
う。
【0003】例えば、レジスタ群r1、r2、・・・が
存在し、レジスタr1にデータd1を書き込む場合に
は、mov r1,d1なる転送命令を実行することで
行っていた。ここで、movはオペレーションコードで
あり、r1はデータの格納場所を示すディスティネーシ
ョンオペランド、d1は書き込むデータを指定するソー
スオペランドである。
【0004】なお、RISC型あるいはCold RI
SC型と呼ばれるアーキテクチャでは、演算命令におい
て複数(3つあるいは2つ)のレジスタを指定すること
ができるが、値を格納するディスティネーションレジス
タは1個であることに変わりない。
【0005】従って、レジスタ群r1、r2、・・・の
中の複数のレジスタに同一のデータを書き込む際には、
各レジスタ毎に転送命令を用いて順次書き込む必要があ
った。例えば、レジスタr1、r2、r3に同一データ
0を書き込む際には、 mov r1,0 mov r2,0 mov r3,0 等の転送命令を用いて書き込んでいた。
【0006】
【発明が解決しようとする課題】しかしながら、このよ
うに複数のレジスタに同一データを書き込む際に、レジ
スタの数だけ同じ命令を繰り返すのは煩雑であり、プロ
グラムサイズの増大を招く問題があった。
【0007】また、このような命令の繰り返しにより、
プログラム全体の処理速度の遅延をもたらす問題もあっ
た。
【0008】本発明は、上記従来技術の有する課題に鑑
みなされたものであり、その目的は、複数のレジスタ等
に同一データを書き込む際のプログラムサイズを減少さ
せ、かつ、プログラムの処理速度も向上できるプログラ
ム命令実行装置及び方法を提供することにある。
【0009】
【課題を解決するための手段】上記目的を達成するため
に、第1の発明は、データ転送命令によるアクセスが可
能な複数の記憶手段を有するプログラム命令実行装置で
あって、1つの所定転送命令に従い、前記複数の記憶手
段の内、同一データを書き込むべき複数の記憶手段を選
択する選択手段と、前記選択手段により選択された複数
の記憶手段に前記同一データを同時に書き込む書き込み
制御手段とを有することを特徴とする。所定の転送命令
1つに応じて複数の記憶手段を選択し、データを書き込
むことで、従来のように同一データを書き込む記憶手段
をその都度繰り返し指定するプログラムが不要となり、
プログラムサイズを削減できるとともに、処理速度を向
上できる。
【0010】また、第2の発明は、データ転送命令によ
るアクセスが可能なレジスタ群を有するプログラム命令
実行装置であって、1つの所定転送命令に従い、前記レ
ジスタ群のうち、同一データを書き込むべき複数のレジ
スタを選択するレジスタ選択手段と、前記レジスタ選択
手段により選択された複数のレジスタに前記同一データ
を同時に書き込む書き込み制御手段とを有することを特
徴とする。所定の転送命令1つに応じて複数のレジスタ
を選択し、データを書き込むことで、従来のように同一
データを書き込むレジスタをその都度繰り返し指定する
プログラムが不要となり、プログラムサイズを削減でき
るとともに、処理速度を向上できる。
【0011】また、第3の発明は、第2の発明におい
て、前記レジスタ選択手段により選択された複数のレジ
スタは、前記レジスタ群の中で連続するレジスタである
ことを特徴とする。なお、連続するレジスタとは、レジ
スタを特定するための番号(レジスタ番号)が連続して
いるレジスタをいい、例えば互いに隣接しているレジス
タが該当する。
【0012】また、第4の発明は、第3の発明におい
て、前記レジスタ選択手段は、先頭レジスタ番号及び連
続する個数に基づき選択することを特徴とする。先頭レ
ジスタ番号及び個数を指定することで、少ないオペラン
ドで複数のレジスタを指定することができる。
【0013】また、第5の発明は、第3の発明におい
て、前記レジスタ選択手段は、先頭レジスタ番号及び予
め定められた終了レジスタ番号に基づき選択することを
特徴とする。終了レジスタ番号を予め設定することで、
より少ないオペランドで複数のレジスタを指定すること
ができる。
【0014】また、第6の発明は、第3の発明におい
て、前記レジスタ選択手段は、終了レジスタ番号及び予
め定められた開始レジスタ番号に基づき選択することを
特徴とする。開始レジスタ番号を予め設定することで、
より少ないオペランドで複数のレジスタを指定すること
ができる。
【0015】また、第7の発明は、第2の発明におい
て、前記レジスタ選択手段により選択された複数のレジ
スタは、前記レジスタ群の中で不連続パターンを構成す
るレジスタであることを特徴とする。
【0016】また、第8の発明は、第2〜第7の発明に
おいて、前記同一データは、固定値であることを特徴と
する。
【0017】また、第9の発明は、第2〜第8の発明に
おいて、プログラムを記憶する記憶手段と、前記記憶手
段から命令をフェッチする命令フェッチ手段と、フェッ
チされた前記命令をデコードする命令デコード手段とを
さらに有し、前記レジスタ選択手段は、前記命令デコー
ド手段でデコードされた前記所定転送命令に従って選択
することを特徴とする。
【0018】また、第10の発明は、複数の記憶手段に
同一データを書き込むプログラム命令実行方法であっ
て、1つの所定転送命令に従い、前記複数の記憶手段の
内、前記同一データを書き込むべき複数の記憶手段を選
択し、選択された前記複数の記憶手段に前記同一データ
を同時に書き込むことを特徴とする。1つの転送命令で
複数の記憶手段を選択することで、複数の記憶手段に同
一データを書き込むことができ、プログラムサイズ及び
処理時間を削減することが可能となる。
【0019】また、第11の発明は、レジスタ群に同一
データを書き込むプログラム命令実行方法であって、1
つの所定転送命令に従い、前記レジスタ群の内、前記同
一データを書き込むべき複数のレジスタを選択し、選択
された複数のレジスタに前記同一データを同時に書き込
むことを特徴とする。1つの転送命令で複数のレジスタ
を選択することで、複数のレジスタに同一データを書き
込むことができ、プログラムサイズ及び処理時間を削減
することが可能となる。
【0020】また、第12の発明は、第11の発明にお
いて、選択された前記複数のレジスタは、前記レジスタ
群の中で連続するレジスタであることを特徴とする。
【0021】また、第13の発明は、第12の発明にお
いて、前記所定転送命令は、ディスティネーションオペ
ランドとして先頭レジスタ番号及び該先頭レジスタから
の個数を含むことを特徴とする。先頭レジスタ番号及び
個数を指定することで、少ないオペランドで複数のレジ
スタを指定することができる。
【0022】また、第14の発明は、第12の発明にお
いて、前記所定転送命令は、ディスティネーションオペ
ランドとして先頭レジスタ番号を含み、該先頭レジスタ
から予め定められた終了レジスタ番号まで前記同一デー
タを書き込むことを特徴とする。終了レジスタを予め決
定しておくことで、転送命令において終了レジスタを指
定することが不要となり、より少ないオペランドで複数
のレジスタを指定することができる。
【0023】また、第15の発明は、第12の発明にお
いて、前記所定転送命令は、ディスティネーションオペ
ランドとして終了レジスタ番号を含み、予め定められた
開始レジスタ番号から該終了レジスタ番号まで前記同一
データを書き込むことを特徴とする。開始レジスタ番号
を予め決めておくことで、転送命令において開始レジス
タを指定することが不要となり、より少ないオペランド
で複数のレジスタを指定することができる。
【0024】また、第16の発明は、第11の発明にお
いて、前記所定転送命令は、ディスティネーションオペ
ランドとしてパターン番号を含み、不連続パターンを構
成する複数のレジスタが選択されることを特徴とする。
【0025】また、第17の発明は、第11〜第16の
発明において、前記同一データは、固定値であることを
特徴とする。
【0026】また、第18の発明は、第11〜第17の
発明において、前記所定転送命令をフェッチするステッ
プと、フェッチされた前記所定転送命令をデコードする
ステップとをさらに有し、デコードされた前記所定転送
命令に応じて前記複数のレジスタを選択することを特徴
とする。
【0027】
【発明の実施の形態】以下、図面に基づき本発明の実施
形態について説明する。
【0028】<第1実施形態>図1には、本実施形態の
構成ブロック図が示されている。本実施形態のプログラ
ム命令実行装置は、メモリ1、命令フェッチ部2、命令
デコード部3、汎用レジスタ部4、演算部5、データア
クセス部6及び各種バスを含んで構成されている。
【0029】メモリ1は、命令及びデータを記憶するた
めのものであり、命令バス1A及びデータバス1Bが接
続されている。命令は命令バス1Aを介してアクセスさ
れ、データはデータバス1Bを介してアクセスされる。
【0030】命令フェッチ(読み出し)部2は、メモリ
1からデータ転送命令や演算命令をフェッチ(読み出
す)ためのもので、転送命令や演算命令等を順次フェッ
チして命令デコード部3に供給する。
【0031】命令デコード部3は、命令フェッチ部2か
らの命令をデコードする。具体的には、命令の種類に従
って命令コードを所定のフィールドに分割し、処理すべ
き演算種を示すオペレーション、命令コード内に埋め込
まれた即値オペランド、ソースオペランド、ディスティ
ネーションオペランド等を抽出する。命令のフィールド
の詳細については後述する。命令デコード部3で抽出さ
れたオペレーションは演算部5に供給され、命令デコー
ド部3で抽出されたディスティネーションオペランド等
は汎用レジスタ部4に供給される。本実施形態では、デ
ータ転送命令において複数のレジスタ選択信号が抽出さ
れ、汎用レジスタ部4に供給される。なお、演算命令の
場合には、演算部5が汎用レジスタ部4に格納されたデ
ータを用いて指定された演算(加算や乗算)を実行し、
得られたデータをデータアクセス部6を介してメモリ1
に格納する。
【0032】データアクセス部6は、メモリから汎用レ
ジスタへのデータ転送命令においてはデータバス1Bを
介してメモリ1にアクセスしてデータを読み出し、汎用
レジスタ部4に供給する。また、命令で指定する即値の
汎用レジスタへのデータ転送命令の場合は、命令デコー
ド部3で取り出された即値データを演算部5では何もせ
ずにデータアクセス部6に供給し、データアクセス部6
はこれを汎用レジスタ部4に供給する。また、任意の汎
用レジスタのデータの汎用レジスタへのデータ転送命令
の場合は、汎用レジスタ部4から読み出したデータを演
算部5では何もせずにデータアクセス部6に供給し、デ
ータアクセス部6はこれを汎用レジスタ部4に供給す
る。
【0033】汎用レジスタ部4は、レジスタ群を有して
構成され、命令デコード部3から供給された複数レジス
タ選択信号に基づいて選択された複数のレジスタにデー
タアクセス部6から供給されたデータを格納する。
【0034】図2には、汎用レジスタ部4の構成ブロッ
ク図が示されている。汎用レジスタ部4は、レジスタ選
択装置7、書き込み制御装置8及び複数のレジスタから
なるレジスタ群9を含んで構成されている。
【0035】レジスタ選択装置7は、命令デコード部3
からの複数レジスタ選択信号を解釈し、書き込み制御装
置8のデータの流れを制御する。具体的には、選択され
たレジスタへのデータの流れを開放する。
【0036】書き込み制御装置8は、データアクセス部
6からのデータをレジスタ群9の中でレジスタ選択装置
7により選択されたレジスタのみに格納する。本実施形
態では、選択されるレジスタが複数であり、複数のレジ
スタに同一データが同時に格納される点に特徴がある。
【0037】以下、複数のレジスタに同一データを同時
に書き込むための具体的な方法について説明する。な
お、説明の都合上、16ビットの基本命令を採用した1
6個の汎用レジスタを有するRISC型演算装置を例に
とり説明する。
【0038】一般に、複数のレジスタに同一データ(任
意の値で良い)を書き込むには、データを指定するソー
スオペランドとデータの格納場所を指定する複数のディ
スティネーションオペランドが必要となる。しかし、こ
の命令を長いビット列の命令や複数の命令で表現したの
では、従来のようにプログラムサイズや処理時間の増大
を招く。
【0039】そこで、本実施形態では、図3に示すよう
に、命令のフィールドをオペレーションコード、先頭レ
ジスタ、個数及び即値とし、ディスティネーションオペ
ランドとして、先頭のレジスタとそのレジスタからの個
数を設定し、ソースオペランドとして即値を設定してい
る。
【0040】具体的には、複数のレジスタに同一データ
を書き込む転送命令のオペレーションをmmov(従来
の転送命令であるmovの拡張に相当)とし、例えばm
mov r4,5,0とする。先頭のレジスタはr4であ
り、個数は5、即値は0である。従って、この命令は、
レジスタr4から5個のレジスタ、すなわちレジスタr
4からr8までに同一データの0を書き込めという命令
になる。汎用レジスタ部4のレジスタ選択装置7は、こ
の命令に従って書き込み制御装置8に対してレジスタr
4からr8までのデータの流れを開放し、書き込み制御
装置8はデータ0を同時に書き込む。
【0041】これにより、1つの転送命令で複数のレジ
スタに同一データを同時に書き込むことができる。
【0042】なお、オペレーションコード(mmov)
に6ビット必要であるとすると、2つのディスティネー
ションオペランド(r4、5)を表現するためにそれぞ
れ4ビット必要であるため、ソースオペランドに割り当
てることができるビット数は16−(6+4×2)=2
ビットのみとなる。
【0043】従って、この2ビットを効率的に活用して
即値を設定する必要があるが、この方法としては、例え
ば本願出願人が先に特願平7−148511号にて開示
した方法を用いることができる。すなわち、例えば符号
化された即値と対応する復号後のデータを次のように定
める。
【0044】 符号化データ0:復号化データ0x0000(16進
数) 符号化データ1:復号化データ0x0001(16進
数) 符号化データ2:復号化データ0x00FF(16進
数) 符号化データ3:復号化データ0xFFFF(16進
数) これによれば、例えば転送命令が mmov r4,5,3 である場合には、レジスタr4からレジスタr8まで0
xFFFFの値が書き込まれることになり、2ビットの
ソースオペランドを有効利用できる。
【0045】<第2実施形態>上述した第1実施形態で
は、ディスティネーションオペランドとして、先頭のレ
ジスタとそのレジスタからの個数を設定し、ソースオペ
ランドとして即値を設定したが、本実施形態では、図4
に示されるように、ディスティネーションオペランドと
して先頭レジスタとそのレジスタからの個数を設定し、
ソースオペランドとしてレジスタ番号を設定し、指定さ
れたレジスタの値を代入することとしている。
【0046】具体的には、複数のレジスタに同一データ
を書き込む転送命令のオペレーションをmmovとし、
例えば mmov r4,5,r1 とする。先頭のレジスタはr4であり、個数は5、レジ
スタはr1である。従って、この命令は、レジスタr4
から5個のレジスタ、すなわちレジスタr4からr8ま
でにレジスタr1の値を書き込めという命令になる。汎
用レジスタ部4のレジスタ選択装置7は、この命令に従
って書き込み制御装置8に対してレジスタr4からr8
までのデータの流れを開放し、書き込み制御装置8はレ
ジスタr1の値を同時に書き込む。
【0047】これにより、1つの転送命令で複数のレジ
スタに同一データを同時に書き込むことができる。
【0048】なお、この実施形態においても、オペレー
ションコードに6ビット、2つのディスティネーション
オペランドに4ビットづつ用いると、ソースオペランド
としては2ビットのみであるので、r0〜r3のレジス
タしか指定することができない。
【0049】そこで、この2ビットを効率的に活用すべ
く、例えば本願出願人が先に特願平7−313146号
で開示した方法を用いるのが好適である。すなわち、ソ
ースオペランドとしてレジスタに対応するコードを使用
し、例えば次のようにコードを指定する。
【0050】CD:現在の命令で指定されているディス
ティネーションレジスタ PD1:直前に実行された演算命令で指定されたディス
ティネーションレジスタ PD2:2つ前に実行された演算命令で指定されたディ
スティネーションレジスタ PD3:3つ前に実行された演算命令で指定されたディ
スティネーションレジスタ これによれば、例えば転送命令が mmov r9,3,CD である場合には、レジスタr9からr11までレジスタ
r9の値が書き込まれることになり、2ビットのソース
オペランドを有効に利用できる。
【0051】<第3実施形態>本実施形態では、図5に
示されるように、ディスティネーションオペランドとし
て先頭レジスタを設定し、ソースオペランドとして第2
実施形態と同様にレジスタを設定する。そして、予め終
了レジスタを定めておき、先頭レジスタからこの終了レ
ジスタまでソースオペランドとして指定されるレジスタ
値を書き込むものである。具体的には、予め終了レジス
タをr15に定め、転送命令が例えば mmov r10,r3 である場合には、これはレジスタr10からレジスタr
15までレジスタr3の値を書き込めという命令にな
る。もちろん、ソースオペランドとして第2実施形態の
ようにレジスタに対応するコードを用いることもでき、
あるいは第1実施形態のように即値を用いて mmov r12,31 とすることもできる。この命令は、レジスタr12から
r15まで31を書き込めという命令である。即値とし
ては、第1実施形態と同様に符号化されたデータを用い
ることも可能であることは言うまでもない。
【0052】<第4実施形態>本実施形態では、図6に
示されるように、ディスティネーションオペランドとし
て最後レジスタを設定し、ソースオペランドとして第2
実施形態と同様にレジスタを設定する。そして、予め開
始レジスタを定めておき、開始レジスタからこの最後レ
ジスタまでソースオペランドとして指定されるレジスタ
値を書き込むものである。具体的には、予め開始レジス
タをr10に定め、転送命令が例えば mmov r14,r3 である場合には、これはレジスタr10からr14まで
レジスタr3の値を書き込めという命令になる。もちろ
ん、ソースオペランドとして第2実施形態のようにレジ
スタに対応するコードを用いることもでき、あるいは第
1実施形態のように即値を用いて mmov r12,31 とすることもできる。この命令は、レジスタr10から
r12まで31を書き込めという命令である。即値とし
ては、第1実施形態と同様に符号化されたデータを用い
ることも可能である。
【0053】<第5実施形態>上述した第1〜第4実施
形態では、転送命令の場合について説明したが、通常の
演算命令(加算や乗算)にも適用することができる。
【0054】例えば、オペレーションコードとして加算
結果を複数のレジスタに書き込む命令をmaddとし、
第3実施形態のように予め終了レジスタがr15に定め
られているとする。そして、加算演算の対象となるソー
スオペランドを設定する。具体的には、従来の加算命令
が add r13,r2 であり、これがレジスタr13の値にレジスタr2の値
を足してその結果をレジスタr13に格納するという命
令であったとすると、本実施形態の加算命令は mmad r13,r2 となり、これはレジスタr13の値にレジスタr2の値
を足し、その結果をレジスタr13から予め定められた
レジスタr15まで書き込めという命令になる。これに
より、同一加算結果を複数のレジスタに同時に書き込む
ことができる。
【0055】<第6実施形態>上述した各実施形態で
は、複数のレジスタに同一データ(任意)を同時に書き
込んでいるが、書き込むべきデータをある値に固定して
複数のレジスタに同時に書き込むこともできる。
【0056】例えば、図7に示すようにディスティネー
ションレジスタとして先頭レジスタとそのレジスタから
の個数を設定し、予め書き込むデータを例えば0xFF
に固定する。具体的には、 mmov r3,10 などとする。これは、レジスタr3からレジスタr12
まで合計10個のレジスタに固定値0xFFを書き込め
という命令である。これにより、1つの転送命令で、か
つ少ないオペランドで複数のレジスタに同時に同一デー
タを書き込むことができる。
【0057】なお、本実施形態において、予め開始レジ
スタを定めて最後レジスタのみを指定することもでき、
あるいは予め終了レジスタを定めて開始レジスタのみを
指定することもできる。
【0058】<第7実施形態>上述した各実施形態で
は、レジスタ群9の中から複数のレジスタを選択して同
一データを同時に書き込んでいるが、レジスタ群9の全
てのレジスタに同一データを書き込むことも可能であ
る。
【0059】例えば、図8に示すようにソースオペラン
ドとして即値を設定し、ディスティネーションオペラン
ドは設定しない。具体的には、 mmov 0 などとする。これは、レジスタ群9の中の全てのレジス
タに0を書き込めという命令である。もちろん、ソース
オペランドとしては、図9に示すように即値ではなくレ
ジスタを設定し、 mmov r0 などとすることもできる。これは、レジスタ群9の中の
全てのレジスタにレジスタr0の値を書き込めという命
令である。これにより、1つの転送命令で、かつ少ない
オペランドで全てのレジスタに同一データを同時に書き
込むことができる。
【0060】<第8実施形態>上述した各実施形態で
は、連続する複数のレジスタに同一データを同時に書き
込んでいるが、同一データを書き込むレジスタは連続で
はなく、不連続であってもよい。
【0061】例えば、レジスタ群9の中でr0、r2の
2つのレジスタに同一データ(例えば0)を書き込む場
合、図10に示すようにディスティネーションオペラン
ドとして先頭レジスタとそのパターンを設定する。ここ
で、パターンとは、同一データを同時に書き込むべき複
数レジスタの配置パターンのことで、上述のr0、r
1、r2の例でいえば(r0に書き込む、r1に書き込
まない、r2に書き込む)=(1、0、1)のパターン
=パターン1等である。従って、転送命令を mmmov r0,1 などとし、先頭レジスタr0からパターン1で複数のレ
ジスタに不連続的に同一データを同時に書き込むことが
できる。なお、この場合、命令デコード部3がオペレー
ションコードmmmovを不連続的に書き込むパターン
であると解釈し、レジスタ選択装置7が指定されたパタ
ーン1に相当する複数のレジスタへのデータの流れを開
放してデータを書き込むことは言うまでもない。
【0062】<第9実施形態>上述した各実施形態で
は、汎用レジスタ部4内のレジスタ群9に同一データを
同時に書き込む場合について説明したが、汎用レジスタ
以外のレジスタにも同様に適用することができる。
【0063】例えば、本願出願人が先に特願平7−15
4695号で提案したように、図1の構成にさらに乗算
等を演算するためのコプロセッサを設け、コプロセッサ
内の複数のレジスタ(例えば2つのレジスタSR0とS
R1)にデータを順次書き込むことでコプロセッサの演
算が起動されて乗算などを行う構成において、複数のレ
ジスタに順次データを書き込むのではなく、所定の転送
命令に応じてコプロセッサ内の2つのレジスタSR0、
SR1に同時に同一データを書き込み、コプロセッサ内
の演算部が2つのレジスタSR0、SR1に格納された
データを用いて自動的に乗算(この場合には、結果とし
て2乗演算になる)し、その結果を出力することもでき
る。
【0064】これによれば、従来であればコプロセッサ
で2乗演算を行う場合には、コプロセッサの2つのレジ
スタSR0、SR1に順次データを格納する2つの転送
命令が必要であったが、本実施形態によれば、1つの転
送命令でコプロセッサの2つのレジスタSR0、SR1
に同時に同一データを書き込むことができるので、1つ
の転送命令で2乗演算を実行することができる。もちろ
ん、上述したコプロセッサに限らず、任意のコプロセッ
サを用いた構成においても、同様に適用することが可能
である。
【0065】以上、本発明の実施形態について説明した
が、本発明はレジスタに限らず、任意の記憶媒体に適用
することができる。
【0066】また、本実施形態では、複数のレジスタに
同一データを書き込む所定の転送命令をmmovと規定
しているが、もちろんこれに限定されることなく任意の
オペレーションコードを転送命令とすることが可能であ
る。
【0067】さらに、本実施形態では、命令で指定した
即値を汎用レジスタに書き込む転送命令の場合と、任意
の汎用レジスタのデータを読み出して汎用レジスタに書
き込む転送命令の場合について示したが、メモリからデ
ータを読み出して汎用レジスタの複数のレジスタに同一
データを同時に書き込む場合も同様に処理することがで
きる。
【0068】
【発明の効果】以上説明したように、本発明によれば、
複数のレジスタ等に同一データを書き込む際のプログラ
ムサイズを減少させることができ、またプログラムの処
理速度を向上させることができる。
【図面の簡単な説明】
【図1】 本発明の実施形態の構成ブロック図である。
【図2】 図1の汎用レジスタ部の構成ブロック図であ
る。
【図3】 本発明の実施形態の命令フォーマット説明図
(その1)である。
【図4】 本発明の実施形態の命令フォーマット説明図
(その2)である。
【図5】 本発明の実施形態の命令フォーマット説明図
(その3)である。
【図6】 本発明の実施形態の命令フォーマット説明図
(その4)である。
【図7】 本発明の実施形態の命令フォーマット説明図
(その5)である。
【図8】 本発明の実施形態の命令フォーマット説明図
(その6)である。
【図9】 本発明の実施形態の命令フォーマット説明図
(その7)である。
【図10】 本発明の実施形態の命令フォーマット説明
図(その8)である。
【符号の説明】
1 メモリ、2 命令フェッチ部、3 命令デコード
部、4 汎用レジスタ部、5 演算部、6 データアク
セス部、7 レジスタ選択装置、8 書き込み制御装
置、9 レジスタ群。

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】 データ転送命令によるアクセスが可能な
    複数の記憶手段を有するプログラム命令実行装置であっ
    て、 1つの所定転送命令に従い、前記複数の記憶手段の内、
    同一データを書き込むべき複数の記憶手段を選択する選
    択手段と、 前記選択手段により選択された複数の記憶手段に前記同
    一データを同時に書き込む書き込み制御手段と、 を有することを特徴とするプログラム命令実行装置。
  2. 【請求項2】 データ転送命令によるアクセスが可能な
    レジスタ群を有するプログラム命令実行装置であって、 1つの所定転送命令に従い、前記レジスタ群のうち、同
    一データを書き込むべき複数のレジスタを選択するレジ
    スタ選択手段と、 前記レジスタ選択手段により選択された複数のレジスタ
    に前記同一データを同時に書き込む書き込み制御手段
    と、 を有することを特徴とするプログラム命令実行装置。
  3. 【請求項3】 前記レジスタ選択手段により選択された
    複数のレジスタは、前記レジスタ群の中で連続するレジ
    スタであることを特徴とする請求項2記載のプログラム
    命令実行装置。
  4. 【請求項4】 前記レジスタ選択手段は、先頭レジスタ
    番号及び連続する個数に基づき選択することを特徴とす
    る請求項3記載のプログラム命令実行装置。
  5. 【請求項5】 前記レジスタ選択手段は、先頭レジスタ
    番号及び予め定められた終了レジスタ番号に基づき選択
    することを特徴とする請求項3記載のプログラム命令実
    行装置。
  6. 【請求項6】 前記レジスタ選択手段は、終了レジスタ
    番号及び予め定められた開始レジスタ番号に基づき選択
    することを特徴とする請求項3記載のプログラム命令実
    行装置。
  7. 【請求項7】 前記レジスタ選択手段により選択された
    複数のレジスタは、前記レジスタ群の中で不連続パター
    ンを構成するレジスタであることを特徴とする請求項2
    記載のプログラム命令実行装置。
  8. 【請求項8】 前記同一データは、固定値であることを
    特徴とする請求項2〜請求項7のいずれかに記載のプロ
    グラム命令実行装置。
  9. 【請求項9】 プログラムを記憶する記憶手段と、 前記記憶手段から命令をフェッチする命令フェッチ手段
    と、 フェッチされた前記命令をデコードする命令デコード手
    段と、 をさらに有し、前記レジスタ選択手段は、前記命令デコ
    ード手段でデコードされた前記所定転送命令に従って選
    択することを特徴とする請求項2〜請求項8のいずれか
    に記載のプログラム命令実行装置。
  10. 【請求項10】 複数の記憶手段に同一データを書き込
    むプログラム命令実行方法であって、 1つの所定転送命令に従い、前記複数の記憶手段の内、
    前記同一データを書き込むべき複数の記憶手段を選択
    し、 選択された前記複数の記憶手段に前記同一データを同時
    に書き込むことを特徴とするプログラム命令実行方法。
  11. 【請求項11】 レジスタ群に同一データを書き込むプ
    ログラム命令実行方法であって、 1つの所定転送命令に従い、前記レジスタ群の内、前記
    同一データを書き込むべき複数のレジスタを選択し、 選択された複数のレジスタに前記同一データを同時に書
    き込むことを特徴とするプログラム命令実行方法。
  12. 【請求項12】 選択された前記複数のレジスタは、前
    記レジスタ群の中で連続するレジスタであることを特徴
    とする請求項11記載のプログラム命令実行方法。
  13. 【請求項13】 前記所定転送命令は、ディスティネー
    ションオペランドとして先頭レジスタ番号及び該先頭レ
    ジスタからの個数を含むことを特徴とする請求項12記
    載のプログラム命令実行方法。
  14. 【請求項14】 前記所定転送命令は、ディスティネー
    ションオペランドとして先頭レジスタ番号を含み、該先
    頭レジスタから予め定められた終了レジスタ番号まで前
    記同一データを書き込むことを特徴とする請求項12記
    載のプログラム命令実行方法。
  15. 【請求項15】 前記所定転送命令は、ディスティネー
    ションオペランドとして終了レジスタ番号を含み、予め
    定められた開始レジスタ番号から該終了レジスタ番号ま
    で前記同一データを書き込むことを特徴とする請求項1
    2記載のプログラム命令実行方法。
  16. 【請求項16】 前記所定転送命令は、ディスティネー
    ションオペランドとしてパターン番号を含み、不連続パ
    ターンを構成する複数のレジスタが選択されることを特
    徴とする請求項11記載のプログラム命令実行方法。
  17. 【請求項17】 前記同一データは、固定値であること
    を特徴とする請求項11〜請求項16のいずれかに記載
    のプログラム命令実行方法。
  18. 【請求項18】 前記所定転送命令をフェッチするステ
    ップと、 フェッチされた前記所定転送命令をデコードするステッ
    プと、 をさらに有し、デコードされた前記所定転送命令に応じ
    て前記複数のレジスタを選択することを特徴とする請求
    項11〜請求項17のいずれかに記載のプログラム命令
    実行方法。
JP10053873A 1998-03-05 1998-03-05 プログラム命令実行装置及びプログラム命令実行方法 Pending JPH11249895A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10053873A JPH11249895A (ja) 1998-03-05 1998-03-05 プログラム命令実行装置及びプログラム命令実行方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10053873A JPH11249895A (ja) 1998-03-05 1998-03-05 プログラム命令実行装置及びプログラム命令実行方法

Publications (1)

Publication Number Publication Date
JPH11249895A true JPH11249895A (ja) 1999-09-17

Family

ID=12954878

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10053873A Pending JPH11249895A (ja) 1998-03-05 1998-03-05 プログラム命令実行装置及びプログラム命令実行方法

Country Status (1)

Country Link
JP (1) JPH11249895A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020076118A (ko) * 2001-03-26 2002-10-09 안도덴키 가부시키가이샤 데이터 전송회로 및 방법
CN103677749A (zh) * 2012-09-14 2014-03-26 通用电气公司 用于控制处理器指令执行的系统和方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020076118A (ko) * 2001-03-26 2002-10-09 안도덴키 가부시키가이샤 데이터 전송회로 및 방법
CN103677749A (zh) * 2012-09-14 2014-03-26 通用电气公司 用于控制处理器指令执行的系统和方法

Similar Documents

Publication Publication Date Title
CN109643233B (zh) 具有带读取和读取/前进操作数编码的流引擎的数据处理设备
US4954943A (en) Data processing system
KR20130016246A (ko) 다중 명령 세트에 의해 사용되는 레지스터 간의 매핑
JPH0827716B2 (ja) データ処理装置及びデータ処理方法
US6687808B2 (en) Data processor using indirect register addressing
JPH03233630A (ja) 情報処理装置
WO2004111834A2 (en) Data access program instruction encoding
EP0240606B1 (en) Pipe-line processing system and microprocessor using the system
JPH11249895A (ja) プログラム命令実行装置及びプログラム命令実行方法
JPS6161416B2 (ja)
JP2553200B2 (ja) 情報処理装置
JPS6217773B2 (ja)
US5187782A (en) Data processing system
JP3027627B2 (ja) プログラマブルコントローラの演算プロセッサ
JP3644892B2 (ja) 複数組の命令組を実行するためのデータ処理装置
JP2636821B2 (ja) 並列処理装置
KR960016401B1 (ko) 레지스터 페이지 포인터를 이용한 레지스터 페이지간의 페이지 선택회로
JPH06103064A (ja) データ処理装置及びそのデータ処理方法
JPH06332701A (ja) 情報処理装置
JPS63293638A (ja) データ処理装置
JP2987281B2 (ja) プロセッサ
JP2522564B2 (ja) プログラマブルコントロ―ラ
JP2004005738A (ja) データ処理装置及び命令セット拡張方法
JPH0218732B2 (ja)
JP2867798B2 (ja) 先行制御装置