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

データ処理装置

Info

Publication number
JP2000112754A
JP2000112754A JP10283745A JP28374598A JP2000112754A JP 2000112754 A JP2000112754 A JP 2000112754A JP 10283745 A JP10283745 A JP 10283745A JP 28374598 A JP28374598 A JP 28374598A JP 2000112754 A JP2000112754 A JP 2000112754A
Authority
JP
Japan
Prior art keywords
operand field
operand
instruction
data
field storage
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
JP10283745A
Other languages
English (en)
Other versions
JP2000112754A5 (ja
Inventor
Hiromi Maeda
弘美 前田
Akihiko Ishida
明彦 石田
Yukihiko Shimazu
之彦 島津
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 JP10283745A priority Critical patent/JP2000112754A/ja
Priority to US09/266,590 priority patent/US6339821B1/en
Publication of JP2000112754A publication Critical patent/JP2000112754A/ja
Publication of JP2000112754A5 publication Critical patent/JP2000112754A5/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30185Instruction operation extension or modification according to one or more bits in the instruction, e.g. prefix, sub-opcode

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】 命令に必要なオペランドの数が多くても、多
くの命令を扱えるデータ処理装置を得る。 【解決手段】 命令のビットa1,a2を第1オペラン
ドフィールドとして抽出し、ビットa4から命令コード
を解読するためのデコード回路1と、デコード回路1か
らセレクタ2を介してビットa1,a2を格納する第1
オペランドフィールド格納部3a、ビットa2に基づい
て得られる第2オペランドフィールドを格納する第2オ
ペランドフィールド格納部3bを含むオペランドフィー
ルド格納部3と、オペランドフィールド格納部3から第
1及び第2オペランドフィールドを受け、複数のレジス
タのうち、当該第1及び第2オペランドフィールドが示
すレジスタのデータを処理するためのデータ処理部5と
を備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、複数の汎用レジ
スタを有し、汎用レジスタに格納されているデータを処
理するデータ処理装置に関する。
【0002】
【従来の技術】例えば、16個の汎用レジスタを有し、
3オペランドの加算命令を扱う従来のデータ処理装置を
説明する。図13は、データ処理装置においてマシン語
(コンピュータが理解できる言語)で表される命令のフ
ォーマットを例示する図である。ここでは、命令は16
ビットである。ビットa4は命令コードである。ビット
a1〜a3はそれぞれオペランドフィールドを構成す
る。
【0003】マシン語で示された命令のうち、ビットa
1〜a3のそれぞれのビット数は、16個の汎用レジス
タのアドレスを表す必要があるので、4ビット必要であ
る。よって、残り4ビットのビットa4が命令コードに
割り当てられる。
【0004】次に、従来のデータ処理装置の一部を図1
4に示す。データ処理装置は、次のようにして、命令を
実行する。すなわち、オペランドフィールド格納領域3
1,32,33はそれぞれビットa1,a2,a3を格
納する。レジスタ群51は16個の汎用レジスタR0〜
R15からなる。汎用レジスタR0〜R15にはそれぞ
れ#R0〜#R15(アドレス)が割り当てられてい
る。このデータ処理装置に用いられる命令の一例を表1
に示す。
【0005】
【表1】
【0006】表1において、ADD/#R2,#R1,
#R0は命令INaを構成する。なお、/は命令コード
とオペランドとの区切りを示す。ADDは従来の加算命
令の命令コードであり、図13のビットa4に対応す
る。#R2,#R1,#R0は、それぞれ図13のビッ
トa3,a2,a1に対応する。命令INaを実行する
際、セレクタ52aは、レジスタ群51のうち、ビット
a1に対応する汎用レジスタR0のデータを読み出す。
セレクタ52bは、レジスタ群51のうち、ビットa2
に対応する汎用レジスタR1のデータを読み出す。演算
回路53は、命令コードがADDなので、セレクタ52
a,52bによって読み出されたデータを足し合わせ
る。セレクタ54は、演算回路53が算出した処理結果
を、レジスタ群51のうち、ビットa3に対応する汎用
レジスタR2に書込む。
【0007】以上のように、ビットa1,a2はそれぞ
れ、命令INaを実行することによって処理されるデー
タの格納元を示し、ソースオペランドと呼ばれる。ビッ
トa3は命令INaを実行することによって処理される
データの格納先を示し、デスティネーションオペランド
と呼ばれる。従来では、1つの命令を実行するのに必要
なソースオペランド及びデスティネーションオペランド
の全てを1つの命令に含ませていた。
【0008】
【発明が解決しようとする課題】しかしながら、以上の
例では、ビットa4は4ビットになるので、命令コード
は16種類しか扱えず、16種類を越える命令コードを
扱うようにするならば、従来では命令INaのビット数
を増やし、通常、32ビットの命令を採用していた。こ
のように、従来では扱える命令コードの種類を増やそう
とすれば、命令INaのビット数を増やさなければなら
ないという問題点があった。
【0009】本発明は、これらの問題点を解決するため
になされたものであり、命令のビット数を増やさなくて
も、多くの種類の命令コードを扱えるデータ処理装置を
得ることを目的とする。
【0010】
【課題を解決するための手段】本発明の請求項1に係る
課題解決手段は、プログラムの命令を順に受け、前記命
令の所定ビットから少なくとも1つの第1オペランドフ
ィールドを抽出し、他のビットから命令コードを解読す
るためのデコード部と、前記デコード部から前記第1オ
ペランドフィールドを受けて当該第1オペランドフィー
ルドを格納するための第1オペランドフィールド格納
部、及び前記第1オペランドフィールドに基づいて得ら
れる第2オペランドフィールドを格納するための第2オ
ペランドフィールド格納部を含むオペランドフィールド
格納部と、複数のレジスタを含み、前記オペランドフィ
ールド格納部から前記第1及び前記第2オペランドフィ
ールドを受け、前記複数のレジスタのうち、当該第1及
び第2オペランドフィールドが示す前記レジスタのデー
タを処理するためのデータ処理部とを備える。
【0011】本発明の請求項2に係る課題解決手段は、
前記命令の実行が完了したことを検出する制御回路をさ
らに備え、前記オペランドフィールド格納部は、前記命
令の実行が完了したことを前記制御回路が検出すると、
前記第1オペランドフィールドの少なくとも1つを前記
第2オペランドフィールドとして前記第1オペランドフ
ィールド格納部から前記第2オペランドフィールド格納
部へ転送する。
【0012】本発明の請求項3に係る課題解決手段は、
前記デコード部から前記第1オペランドフィールドのう
ちの少なくとも1つを受け、当該第1オペランドフィー
ルドから前記第2オペランドフィールドを算出して、当
該第2オペランドフィールドを前記第2オペランドフィ
ールド格納部へ格納するためのデータ算出部をさらに備
える。
【0013】本発明の請求項4に係る課題解決手段は、
割り込みが生じると前記オペランドフィールド格納部内
のデータを退避させ、前記割り込みが終了すると、退避
させた前記データを前記オペランドフィールド格納部へ
戻すためのデータ保持部をさらに備える。
【0014】本発明の請求項5に係る課題解決手段にお
いて、前記デコード部は、前記命令が第1種のとき、第
2種のときと比較して、前記第1オペランドフィールド
を前記第2オペランドフィールドに対して増やし、前記
命令が前記第2種又は前記第1種かどうかに応じて、前
記第2オペランドフィールド格納部の前記第2オペラン
ドフィールドを前記処理部に出力するか否かするセレク
タをさらに備える。
【0015】本発明の請求項6に係る課題解決手段にお
いて、前記命令コードは、前記命令が第2種又は第1種
かどうかを示すモードビットを含む請求項5記載のデー
タ処理装置。
【0016】
【発明の実施の形態】実施の形態1.図1は本発明の実
施の形態1のデータ処理装置を示すブロック図である。
図1において、1はプログラムの命令INを順に受け、
命令INのオペランドフィールド(第1オペランドフィ
ールド)を抽出し、命令INの命令コードを解読するた
めのデコード回路(デコード部)、3はデコード回路1
からセレクタ2を介して第1オペランドフィールドを受
けて、当該第1オペランドフィールドを格納するための
オペランドフィールド格納部、4はオペランドフィール
ド格納部3に書込まれているオペランドフィールドD
1,D2,D3,D4,……を受け、これらの中から3
つを選択してオペランドフィールドA1〜A3として出
力するためのセレクタ、5はオペランドフィールドA1
〜A3を受け、オペランドフィールドA1〜A3が示す
汎用レジスタのデータを処理するための処理回路(デー
タ処理部)、6はデコード回路1から命令コードの解読
結果である制御信号S1を受け、制御信号S1に基づい
てセレクタ2、オペランドフィールド格納部3、セレク
タ4、処理回路5をそれぞれ制御する制御信号S2〜S
5を生成して出力するための制御回路である。
【0017】オペランドフィールド格納部3は、命令I
Nの第1オペランドフィールドを格納するための第1オ
ペランドフィールド格納部3aと、第1オペランドフィ
ールドに基づいて得られる第2オペランドフィールドを
格納するための第2オペランドフィールド格納部3bと
を含む。
【0018】処理回路5の内部構成を図2に示す。図2
の各符号は、図14に対応している。すなわち、レジス
タ群51は16個の汎用レジスタR0〜R15からな
る。汎用レジスタR0〜R15にはそれぞれ#R0〜#
R15(アドレス)が割り当てられている。セレクタ5
2aは、レジスタ群51のうち、オペランドフィールド
A1に対応する汎用レジスタのデータを読み出す。セレ
クタ52bは、レジスタ群51のうち、オペランドフィ
ールドA2に対応する汎用レジスタのデータを読み出
す。演算回路53は、制御信号S5によって加算、減算
等の演算が可能である。例えば命令コードがADDのと
き、演算回路53は、セレクタ52a,52bによって
読み出されたデータを足し合わせる。セレクタ54は、
演算回路53が算出した処理結果を、レジスタ群51の
うち、オペランドフィールドA3に対応する汎用レジス
タに書込む。
【0019】次に動作について説明する。まず、データ
処理装置は8ビットモードと4ビットモードを有する。
8ビットモードとは、命令が図3の第2種フォーマット
であり、例えば、命令INの0番目のビット(モードビ
ット)が”0”のときである。一方、4ビットモードと
は、命令が図4の第1種フォーマットであり、例えば、
命令INの0番目のビットが”1”のときである。
【0020】8ビットモードでは、命令コードがモード
ビットを除いて7ビットなので、128種類の命令が扱
える。4ビットモードでは、命令コードがモードビット
を除いて3ビットなので、8種類の命令コードが扱え
る。よって、8ビットモード及び4ビットモードを合わ
せて、合計136種類の命令コードが扱える。
【0021】次に、8ビットモードの場合の動作を説明
する。具体的に、汎用レジスタR0,R1のデータの和
を汎用レジスタR2に書込む場合の動作について説明す
る。この場合のプログラムを表2に示す。
【0022】
【表2】
【0023】LD命令は、予め用意されたデータをデス
ティネーションオペランドで示されるレジスタへ書込む
命令であり、ADDXは第1ソースオペランドと第2ソ
ースオペランドとで示されるレジスタのデータを加算し
てデスティネーションオペランドで示されるレジスタへ
と書込む命令である。
【0024】まず、ラッチ回路11は最初の命令INで
あるLD/#R0をラッチする。命令解読部12は、モ
ードビットの”0”から8ビットモードであることを解
読する。次に、デコード回路1は、命令INの8番目〜
15番目のビットa1,a2をそれぞれ第1オペランド
フィールドとして抽出し、残りの0番目〜7番目のビッ
トa3,a4から命令コードを解読する。#R0はビッ
トa2である。命令コードがLD(データ転送命令)で
あることを命令解読部12が判断すると、制御回路6は
次のように、セレクタ2及びオペランドフィールド格納
部3を制御する。すなわち、セレクタ2はビットa2を
オペランドフィールド格納部3のオペランドフィールド
格納領域33に書込む。LD命令では、予め用意された
データがオペランドフィールド格納領域33で示される
レジスタへ書込まれる。LD命令の実行が完了したこと
を制御回路6が検出すると、オペランドフィールド格納
部3はスイッチSW1をオンし、第1オペランドフィー
ルドのうちD3を第2オペランドフィールドとしてオペ
ランドフィールド格納領域33からオペランドフィール
ド格納領域34へ転送する。したがって、オペランドフ
ィールド格納領域34には#R0が書込まれる。
【0025】次に、ラッチ回路11は次の命令INであ
るADDX/#R2,#R1をラッチする。モードビッ
トが”0”なので、先の命令と同様に、デコード回路1
は、命令INの8番目〜15番目のビットa1,a2を
第1オペランドフィールドとして抽出し、残りの0番目
〜7番目のビットa3,a4から命令コードを解読す
る。#R2はビットa2であり、#R1はビットa1で
ある。命令コードがADDXであることを命令解読部1
2が判断すると、制御回路6は次のように、セレクタ2
及びオペランドフィールド格納部3を制御する。すなわ
ち、セレクタ2はビットa1、a2をそれぞれオペラン
ドフィールド格納部3のオペランドフィールド格納領域
31、33に書込む。この時点で、オペランドフィール
ド格納領域34、オペランドフィールド格納領域31、
オペランドフィールド格納領域33にはそれぞれ#R
0、#R1、#R2が格納されていることになる。次
に、セレクタ4は、オペランドフィールド格納領域3
1、オペランドフィールド格納領域34、オペランドフ
ィールド格納領域33のオペランドフィールドD1、D
4、D3をそれぞれオペランドフィールドA1、A2、
A3として出力する。これによって、処理回路5のセレ
クタ52a,52bはそれぞれ汎用レジスタR1,R0
からデータを読み出し、演算回路53は汎用レジスタR
1,R0の和を算出し、セレクタ54はその和を汎用レ
ジスタR2に書込む。ADDX命令の実行が完了したこ
とを制御回路6が検出すると、オペランドフィールド格
納部3はスイッチSW1をオンし、第1オペランドフィ
ールドのうちD3を第2オペランドフィールドとしてオ
ペランドフィールド格納領域33からオペランドフィー
ルド格納領域34へ転送する。したがって、オペランド
フィールド格納領域34には#R2が書込まれる。
【0026】以上の動作を等化的に表すと、図5のよう
になる。つまり、8ビットモードでは、命令コードLD
によって、ビットa2がオペランドフィールド格納領域
33、スイッチSW1を介してオペランドフィールド格
納領域34へ転送される。その後、命令コードADDX
によって、ビットa2がオペランドフィールド格納領域
33に書込まれ、ビットa1がオペランドフィールド格
納領域31に書込まれ、オペランドフィールドA1〜A
3が示す汎用レジスタのデータを処理する。
【0027】以上のように、命令コードADDXを実行
するのに必要なオペランドフィールドの一部が第2オペ
ランドフィールド格納部3bに予め格納されている。こ
のため、命令INはオペランドフィールドの一部を含ま
なくて済み、その分、命令のうち命令コードのビット数
を増やすことができるので、多くの種類の命令を扱え
る。
【0028】次に、4ビットモードで、汎用レジスタR
0,R1のデータの和を汎用レジスタR2に書込む場合
は次のようになる。この場合のプログラムを表3に示
す。
【0029】
【表3】
【0030】ADD0は第1ソースオペランドと第2ソ
ースオペランドとで示されるレジスタのデータを加算し
てデスティネーションオペランドで示されるレジスタへ
と書込む命令である。
【0031】まず、ラッチ回路11は命令INとしてA
DD0/#R2,#R1,#R0をラッチする。命令解
読部12は、モードビットの”1”から4ビットモード
であることを解読する。次に、デコード回路1は、命令
INの4番目〜15番目のビットa1,a2,a3を第
1オペランドフィールドとして抽出し、残りの0番目〜
3番目のビットa4から命令コードを解読する。すなわ
ち、デコード回路1は、命令が第1種フォーマットのと
き、第2種フォーマットのときと比較して、第1オペラ
ンドフィールドを第2オペランドフィールドに対して増
やす。#R2はビットa3であり、#R1はビットa2
であり、#R0はビットa1である。命令コードがAD
D0であることを命令解読部12が判断すると、制御回
路6は次のように、セレクタ2及びオペランドフィール
ド格納部3を制御する。すなわち、セレクタ2はビット
a1、a2、a3をそれぞれオペランドフィールド格納
部3のオペランドフィールド格納領域31、32、33
に書込む。次に、セレクタ4は、オペランドフィールド
格納領域31、32、33のオペランドフィールドD
1、D2、D3をそれぞれオペランドフィールドA1、
A2、A3として出力する。これによって、処理回路5
のセレクタ52a,52bはそれぞれ汎用レジスタR
0,R1からデータを読み出し、演算回路53は汎用レ
ジスタR0,R1の和を算出し、セレクタ54はその和
を汎用レジスタR2に書込む。
【0032】以上の動作を等化的に表すと、図6のよう
になる。つまり、4ビットモードでは、命令コードAD
D0によって、ビットa1〜a3がそれぞれオペランド
フィールド格納領域31〜33に書込まれ、ビットA1
〜A3が示す汎用レジスタのデータを処理する。
【0033】セレクタ4は、図5及び図6のように、モ
ードビットが8ビットモード又は4ビットモードを示す
かに応じて、第2オペランドフィールド格納部3bのオ
ペランドフィールド格納領域34のオペランドフィール
ドD4を処理回路5に出力するか否かする。よって、1
つのプログラムに、第2オペランドフィールド格納部3
bのオペランドフィールドD4を利用する命令コードA
DDXと、命令を実行するのに必要なオペランドフィー
ルドの全てを持つ命令コードADD0とを混在させるこ
とができる。
【0034】また、命令コードは、モードビットを含む
ので、命令単位で4ビットモードと8ビットモードとを
切り換えることができる。
【0035】実施の形態2.図7は本発明の実施の形態
2のデータ処理装置を示すブロック図である。図7にお
いて、7はデコード回路1からセレクタ2を介して第1
オペランドフィールドを受け、第1オペランドフィール
ドから第2オペランドフィールドを算出して、これを第
2オペランドフィールド格納部3b内のオペランドフィ
ールド格納領域35へ格納するための加算器(データ算
出部)である。その他の構成については実施の形態1と
同様である。
【0036】次に動作について説明する。実施の形態1
同様、データ処理装置は4ビットモードと8ビットモー
ドを有する。4ビットモードの動作については、実施の
形態1と同様なので説明を省略する。8ビットモードの
場合の動作について、具体的に、汎用レジスタR0,R
1のデータの和を汎用レジスタR2に書込む場合の動作
について説明する。この場合のプログラムを表4に示
す。
【0037】
【表4】
【0038】ADDYは第1ソースオペランドと第2ソ
ースオペランドとで示されるレジスタのデータを加算し
てデスティネーションオペランドで示されるレジスタへ
と書込む命令である。
【0039】次に、ラッチ回路11は命令INとしてA
DDY/#R2,#R0をラッチする。モードビット
が”0”なので、デコード回路1は、命令INの8番目
〜15番目のビットa1,a2を第1オペランドフィー
ルドとして抽出し、残りの0番目〜7番目のビットa
3,a4から命令コードを解読する。#R2はビットa
2であり、#R0はビットa1である。命令コードがA
DDYであることを命令解読部12が判断すると、制御
回路6は次のように、セレクタ2及びオペランドフィー
ルド格納部3を制御する。すなわち、セレクタ2はビッ
トa1、a2をそれぞれオペランドフィールド格納部3
のオペランドフィールド格納領域31、33に書込む。
ビットa1はオペランドフィールド格納領域31に書込
まれるとともに加算器7にも入力される。加算器7はビ
ットa1に1を足したもの、つまり#R1をオペランド
フィールド格納領域35に書込む。この時点で、#R
0、#R1、#R2はそれぞれ、オペランドフィールド
格納領域31、オペランドフィールド格納領域35、オ
ペランドフィールド格納領域33に格納されていること
になる。次に、セレクタ4は、オペランドフィールド格
納領域31、オペランドフィールド格納領域35、オペ
ランドフィールド格納領域33のオペランドフィールド
D1、D5、D3をそれぞれオペランドフィールドA
1、A2、A3として出力する。これによって、処理回
路5のセレクタ52a,52bはそれぞれ汎用レジスタ
R0,R1からデータを読み出し、演算回路53は汎用
レジスタR0,R1の和を算出し、セレクタ54はその
和を汎用レジスタR2に書込む。
【0040】以上の動作を等化的に表すと、図8のよう
になる。つまり、8ビットモードでは、ADDY命令に
よってビットa1,a2がそれぞれオペランドフィール
ド格納領域31,33に書込まれるとともに、加算器7
がビットa1に1を足したものを格納部35に書込む。
その後、オペランドフィールドA1〜A3が示す汎用レ
ジスタのデータを処理する。
【0041】以上のように、加算器7によって、プログ
ラムで第2オペランドフィールド格納部3bのオペラン
ドフィールドD5を設定することができる。
【0042】実施の形態3.実施の形態1において、表
2のプログラムのLD命令とADDX命令との間に割込
みが発生し、割り込みの処理が行われている間に、オペ
ランドフィールド格納領域34の内容が書き変えられる
ことがある。したがって、割り込みの処理が終了して、
ADDX命令が実行されても、意図した処理結果が得ら
れないことがある。
【0043】そこで、図9に示すように、割り込みが生
じるとオペランドフィールド格納領域33内のデータを
退避させ、割り込みが終了するとデータをオペランドフ
ィールド格納領域34へ戻すためのデータ保持部8をさ
らに備える。
【0044】データ保持部8はプロセッサ状態ワード
(PSW)81を含む。データ保持部8は制御回路6か
らの制御信号S8によって制御され、次のように動作す
る。すなわち、データ保持部8は割り込みが発生する
と、オペランドフィールド格納領域33からPSW81
の特定の領域F1へオペランドフィールドを退避する。
特に、LD命令の実行中に割り込みが発生したならば、
オペランドフィールド格納領域33からスイッチSW1
を介してオペランドフィールド格納領域34へオペラン
ドフィールドを転送してから、オペランドフィールド格
納領域33からPSW81の特定の領域F1へオペラン
ドフィールドを退避する。割り込みの処理が行われてい
る間は、領域F1の内容は変わらない。割り込みが終了
すると、データ保持部8はPSW81の領域F1からオ
ペランドフィールド格納領域34へデータを戻す。
【0045】以上のように、割り込みの前後ではオペラ
ンドフィールド格納領域34の内容が変わらないため、
意図した処理結果が得られる。
【0046】実施の形態4.図10は本発明の実施の形
態4のデータ処理装置を示すブロック図である。図10
において、SW2はST(データ転送命令)を実行する
ときオンして、オペランドフィールド格納領域31の第
1オペランドフィールドD1を第2オペランドフィール
ドとして第2オペランドフィールド格納部3b内のオペ
ランドフィールド格納領域36に格納するためのスイッ
チである。その他の構成については実施の形態1と同様
である。
【0047】次に動作について説明する。実施の形態1
同様、データ処理装置は4ビットモードと8ビットモー
ドを有する。4ビットモードの動作については、実施の
形態1と同様なので説明を省略する。8ビットモードの
場合の動作について、具体的に、汎用レジスタR0,R
1のデータの和を汎用レジスタR2に書込む場合の動作
について説明する。まず、オペランドフィールド格納領
域31に予め汎用レジスタR0を書込む。次に、表5の
プログラムを実行する。
【0048】
【表5】
【0049】ST命令は、デスティネーションオペラン
ドで示されるレジスタに格納されているデータを予め設
定されたところへ書込む命令であり、ADDZは第1ソ
ースオペランドと第2ソースオペランドとで示されるレ
ジスタのデータを加算してデスティネーションオペラン
ドで示されるレジスタへと書込む命令である。
【0050】まず、ラッチ回路11はST/#R0をラ
ッチする。命令解読部12は、モードビットの”0”か
ら8ビットモードであることを解読する。次に、デコー
ド回路1は、命令INの8番目〜15番目のビットa
1,a2を第1オペランドフィールドとして抽出し、残
りの0番目〜7番目のビットa3,a4から命令コード
を解読する。#R0はビットa2である。命令コードが
STであることを命令解読部12が判断すると、制御回
路6は次のように、セレクタ2及びオペランドフィール
ド格納部3を制御する。すなわち、セレクタ2はビット
a2をオペランドフィールド格納部3のオペランドフィ
ールド格納領域31に書込む。ST命令では、オペラン
ドフィールド格納領域33で示されるレジスタに格納さ
れているデータが予め設定されたところへ書込まれる。
ST命令の実行が完了したことを制御回路6が検出する
と、オペランドフィールド格納部3はスイッチSW2を
オンし、第1オペランドフィールドのうちD1を第2オ
ペランドフィールドとしてオペランドフィールド格納領
域31からオペランドフィールド格納領域36へ転送す
る。したがって、オペランドフィールド格納領域36に
は#R0が書込まれる。
【0051】次に、ラッチ回路11はADDZ/#R
2,#R1をラッチする。モードビットが”0”なの
で、先の命令と同様に、デコード回路1は、命令INの
8番目〜15番目のビットa1,a2を第1オペランド
フィールドとして抽出し、残りの0番目〜7番目のビッ
トa3,a4から命令コードを解読する。#R2はビッ
トa2であり、#R1はビットa1である。命令コード
がADDZであることを命令解読部12が判断すると、
制御回路6は次のように、セレクタ2及びオペランドフ
ィールド格納部3を制御する。すなわち、セレクタ2は
ビットa1、a2をそれぞれオペランドフィールド格納
部3のオペランドフィールド格納領域31、33に書込
む。この時点で、オペランドフィールド格納領域36、
オペランドフィールド格納領域31、オペランドフィー
ルド格納領域33にはそれぞれ#R0、#R1、#R2
が格納されていることになる。次に、セレクタ4は、オ
ペランドフィールド格納領域31、オペランドフィール
ド格納領域36、オペランドフィールド格納領域33の
オペランドフィールドD1、D6、D3をそれぞれオペ
ランドフィールドA1、A2、A3として出力する。こ
れによって、処理回路5のセレクタ52a,52bはそ
れぞれ汎用レジスタR1,R0からデータを読み出し、
演算回路53は汎用レジスタR1,R0の和を算出し、
セレクタ54はその和を汎用レジスタR2に書込む。A
DDZ命令の実行が完了したことを制御回路6が検出す
ると、オペランドフィールド格納部3はスイッチSW2
をオンし、第1オペランドフィールドのうちD1を第2
オペランドフィールドとしてオペランドフィールド格納
領域31からオペランドフィールド格納領域36へ転送
する。したがって、オペランドフィールド格納領域36
には#R1が書込まれる。
【0052】以上の動作を等化的に表すと、図11のよ
うになる。つまり、8ビットモードでは、STによっ
て、ビットa2がオペランドフィールド格納領域31、
スイッチSW2を介してオペランドフィールド格納領域
36へデータが転送される。その後、ADDZ命令によ
って、ビットa2がオペランドフィールド格納領域33
に書込まれ、ビットa1がオペランドフィールド格納領
域31に書込まれ、オペランドフィールドA1〜A3が
示す汎用レジスタのデータを処理する。
【0053】実施の形態5.実施の形態4において、表
2のプログラムのST命令とADDZ命令との間に割込
みが発生し、割り込みの処理が行われている間に、オペ
ランドフィールド格納領域36の内容が書き変えられる
ことがある。したがって、割り込みの処理が終了して、
ADDZ命令が実行されても、意図した処理結果が得ら
れないことがある。
【0054】そこで、図12に示すように、図9同様の
データ保持部8をさらに備える。
【0055】データ保持部8は制御回路6からの制御信
号S8によって制御され、次のように動作する。すなわ
ち、データ保持部8は割り込みが発生すると、オペラン
ドフィールド格納領域31からPSW81の特定の領域
F2へオペランドフィールドを退避する。特に、ST命
令の実行中に割り込みが発生したならば、オペランドフ
ィールド格納領域31からスイッチSW2を介してオペ
ランドフィールド格納領域36へオペランドフィールド
を転送してから、オペランドフィールド格納領域31か
らPSW81の特定の領域F2へオペランドフィールド
を退避する。割り込みの処理が行われている間は、領域
F2の内容は変わらない。割り込みが終了すると、デー
タ保持部8はPSW81の領域F2からオペランドフィ
ールド格納領域36へオペランドフィールドを戻す。
【0056】以上のように、割り込みの前後ではオペラ
ンドフィールド格納領域36の内容が変わらないため、
意図した処理結果が得られる。
【0057】変形例.なお、本発明は図示した構成に限
らない。例えば、命令に含まれるオペランドフィールド
は、2つや3つ以外に、1つや4つ以上であってもよ
い。
【0058】また、実施の形態1ではLD命令によっ
て、第1オペランドフィールド格納部3aから第2オペ
ランドフィールド格納部3bへオペランドフィールドD
3が転送される。実施の形態4ではST命令によって、
第1オペランドフィールド格納部3aから第2オペラン
ドフィールド格納部3bへオペランドフィールドD1が
転送される。このように、データ転送命令によって、第
1オペランドフィールド格納部3aから第2オペランド
フィールド格納部3bへ転送されるオペランドフィール
ドは、1つである場合を説明したが、2つ以上であって
もよい。
【0059】また、実施の形態2では、加算器7(デー
タ算出部)が受ける第1オペランドフィールドの数及び
加算器7が算出する第2オペランドフィールドの数はそ
れぞれ1つである場合を説明した。これに限らず、デー
タ算出部は、2つ以上の第1オペランドフィールドを受
け、2つ以上の第2オペランドフィールドを算出しても
よい。
【0060】また、データ転送命令はSTやLDの他で
もよい。データ保持部はPSW81以外を利用して構成
してもよい。モードビットは、命令以外から与えてもよ
い。
【0061】また、図9のデータ保持部8は、割り込み
が生じると、オペランドフィールド格納領域34内のオ
ペランドフィールドを退避させ、割り込みが終了すると
オペランドフィールドをオペランドフィールド格納領域
34へ戻してもよい。
【0062】また、図11のデータ保持部8は、割り込
みが生じると、オペランドフィールド格納領域36内の
オペランドフィールドを退避させ、割り込みが終了する
とオペランドフィールドをオペランドフィールド格納領
域36へ戻してもよい。
【0063】
【発明の効果】請求項1に記載の発明によれば、命令を
実行するのに必要なオペランドフィールドの一部が第2
オペランドフィールド格納部に格納されるので、命令は
オペランドフィールドの一部を含まなくて済み、その
分、命令のうち命令コードのビット数を増やすことがで
きるので、多くの種類の命令を扱える。
【0064】請求項2に記載の発明によれば、命令の実
行が完了したときに、第1オペランドフィールドを第2
オペランドフィールドとして設定することができる。
【0065】請求項3に記載の発明によれば、データ算
出部によって、第1オペランドフィールドから第2オペ
ランドフィールドを算出して設定することができる。
【0066】請求項4に記載の発明によれば、割り込み
の前後ではオペランドフィールド格納部内の内容が変わ
らないため、意図した処理結果が得られる。
【0067】請求項5に記載の発明によれば、1つのプ
ログラムに、第2オペランドフィールド格納部の第2オ
ペランドフィールドを利用する命令と、命令を実行する
のに必要なオペランドフィールドの全てを持つ命令とを
混在させることができる。
【0068】請求項6に記載の発明によれば、命令単位
で第1種と第2種とを切り換えることができる。
【図面の簡単な説明】
【図1】 本発明の実施の形態1のデータ処理装置を示
すブロック図である。
【図2】 本発明の実施の形態1の処理回路を示すブロ
ック図である。
【図3】 本発明の実施の形態1の命令のフォーマット
を示す図である。
【図4】 本発明の実施の形態1の命令のフォーマット
を示す図である。
【図5】 本発明の実施の形態1のデータ処理装置の動
作を等化的に示すブロック図である。
【図6】 本発明の実施の形態1のデータ処理装置の動
作を等化的に示すブロック図である。
【図7】 本発明の実施の形態2のデータ処理装置を示
すブロック図である。
【図8】 本発明の実施の形態2のデータ処理装置の動
作を等化的に示すブロック図である。
【図9】 本発明の実施の形態3のデータ処理装置の一
部を示すブロック図である。
【図10】 本発明の実施の形態4のデータ処理装置を
示すブロック図である。
【図11】 本発明の実施の形態4のデータ処理装置の
動作を等化的に示すブロック図である。
【図12】 本発明の実施の形態5のデータ処理装置の
一部を示すブロック図である。
【図13】 従来の命令のフォーマットを示す図であ
る。
【図14】 従来のデータ処理装置のブロック図であ
る。
【符号の説明】
1 デコード回路、3 オペランドフィールド格納部、
8 データ保持部。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 島津 之彦 東京都千代田区丸の内二丁目2番3号 三 菱電機株式会社内 Fターム(参考) 5B033 AA06 BA01 DC06

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 プログラムの命令を順に受け、前記命令
    の所定ビットから少なくとも1つの第1オペランドフィ
    ールドを抽出し、他のビットから命令コードを解読する
    ためのデコード部と、 前記デコード部から前記第1オペランドフィールドを受
    けて当該第1オペランドフィールドを格納するための第
    1オペランドフィールド格納部、及び前記第1オペラン
    ドフィールドに基づいて得られる第2オペランドフィー
    ルドを格納するための第2オペランドフィールド格納部
    を含むオペランドフィールド格納部と、 複数のレジスタを含み、前記オペランドフィールド格納
    部から前記第1及び前記第2オペランドフィールドを受
    け、前記複数のレジスタのうち、当該第1及び第2オペ
    ランドフィールドが示す前記レジスタのデータを処理す
    るためのデータ処理部と、を備えたデータ処理装置。
  2. 【請求項2】 前記命令の実行が完了したことを検出す
    る制御回路をさらに備え、 前記オペランドフィールド格納部は、前記命令の実行が
    完了したことを前記制御回路が検出すると、前記第1オ
    ペランドフィールドの少なくとも1つを前記第2オペラ
    ンドフィールドとして前記第1オペランドフィールド格
    納部から前記第2オペランドフィールド格納部へ転送す
    る請求項1記載のデータ処理装置。
  3. 【請求項3】 前記デコード部から前記第1オペランド
    フィールドのうちの少なくとも1つを受け、当該第1オ
    ペランドフィールドから前記第2オペランドフィールド
    を算出して、当該第2オペランドフィールドを前記第2
    オペランドフィールド格納部へ格納するためのデータ算
    出部をさらに備えた請求項1記載のデータ処理装置。
  4. 【請求項4】 割り込みが生じると前記オペランドフィ
    ールド格納部内のデータを退避させ、前記割り込みが終
    了すると、退避させた前記データを前記オペランドフィ
    ールド格納部へ戻すためのデータ保持部をさらに備えた
    請求項2に記載のデータ処理装置。
  5. 【請求項5】 前記デコード部は、前記命令が第1種の
    とき、第2種のときと比較して、前記第1オペランドフ
    ィールドを前記第2オペランドフィールドに対して増や
    し、 前記命令が前記第2種又は前記第1種かどうかに応じ
    て、前記第2オペランドフィールド格納部の前記第2オ
    ペランドフィールドを前記処理部に出力するか否かする
    セレクタをさらに備えた請求項1〜4のいずれかに記載
    のデータ処理装置。
  6. 【請求項6】 前記命令コードは、前記命令が第2種又
    は第1種かどうかを示すモードビットを含む請求項5記
    載のデータ処理装置。
JP10283745A 1998-10-06 1998-10-06 データ処理装置 Pending JP2000112754A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP10283745A JP2000112754A (ja) 1998-10-06 1998-10-06 データ処理装置
US09/266,590 US6339821B1 (en) 1998-10-06 1999-03-11 Data processor capable of handling an increased number of operation codes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10283745A JP2000112754A (ja) 1998-10-06 1998-10-06 データ処理装置

Publications (2)

Publication Number Publication Date
JP2000112754A true JP2000112754A (ja) 2000-04-21
JP2000112754A5 JP2000112754A5 (ja) 2005-11-24

Family

ID=17669571

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10283745A Pending JP2000112754A (ja) 1998-10-06 1998-10-06 データ処理装置

Country Status (2)

Country Link
US (1) US6339821B1 (ja)
JP (1) JP2000112754A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007316824A (ja) * 2006-05-24 2007-12-06 Sanyo Electric Co Ltd 可変機能実現装置、可変機能実現方法
JP2009093513A (ja) * 2007-10-11 2009-04-30 Oki Semiconductor Co Ltd 命令ビット長削減方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7947770B2 (en) * 2007-03-07 2011-05-24 E. I. Du Pont De Nemours And Company Flame retardant polycarbonate compositions
JP7020304B2 (ja) * 2018-06-07 2022-02-16 富士通株式会社 演算処理装置及び演算処理装置の制御方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0527970A (ja) * 1991-07-18 1993-02-05 Seikosha Co Ltd 演算装置
JPH09152971A (ja) * 1995-11-30 1997-06-10 Sanyo Electric Co Ltd データ処理装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4258419A (en) * 1978-12-29 1981-03-24 Bell Telephone Laboratories, Incorporated Data processing apparatus providing variable operand width operation
US4473881A (en) * 1982-09-27 1984-09-25 Data General Corp. Encachement apparatus
US4595911A (en) * 1983-07-14 1986-06-17 Sperry Corporation Programmable data reformat system
KR0163179B1 (ko) 1989-03-31 1999-01-15 미다 가쓰시게 데이타 프로세서
JPH1049369A (ja) * 1996-08-07 1998-02-20 Ricoh Co Ltd データ処理装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0527970A (ja) * 1991-07-18 1993-02-05 Seikosha Co Ltd 演算装置
JPH09152971A (ja) * 1995-11-30 1997-06-10 Sanyo Electric Co Ltd データ処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007316824A (ja) * 2006-05-24 2007-12-06 Sanyo Electric Co Ltd 可変機能実現装置、可変機能実現方法
JP2009093513A (ja) * 2007-10-11 2009-04-30 Oki Semiconductor Co Ltd 命令ビット長削減方法

Also Published As

Publication number Publication date
US6339821B1 (en) 2002-01-15

Similar Documents

Publication Publication Date Title
US5077657A (en) Emulator Assist unit which forms addresses of user instruction operands in response to emulator assist unit commands from host processor
US9092215B2 (en) Mapping between registers used by multiple instruction sets
JP6807383B2 (ja) 転送プレフィックス命令
US20010001874A1 (en) Data processor
EP0471191B1 (en) Data processor capable of simultaneous execution of two instructions
EP0148478A2 (en) A data processor with control of the significant bit lenghts of general purpose registers
US5682531A (en) Central processing unit
EP1680735B1 (en) Apparatus and method that accomodate multiple instruction sets and multiple decode modes
JPH06332695A (ja) データ処理装置及びその制御回路
JP2003044273A (ja) データ処理装置及びデータ処理方法
JPH1165839A (ja) プロセッサの命令制御機構
JPH0673105B2 (ja) 命令パイプライン方式のマイクロプロセッサ
US7003651B2 (en) Program counter (PC) relative addressing mode with fast displacement
GB2352308A (en) Conditional instruction execution
JPH0523447B2 (ja)
JP2000112754A (ja) データ処理装置
US7631166B1 (en) Processing instruction without operand by inferring related operation and operand address from previous instruction for extended precision computation
US20040024992A1 (en) Decoding method for a multi-length-mode instruction set
US6721867B2 (en) Memory processing in a microprocessor
JP2553200B2 (ja) 情報処理装置
US5463747A (en) Microprogram data processor processing operand address calculation and instruction execution with common hardware
US6922760B2 (en) Distributed result system for high-performance wide-issue superscalar processor
JPH1196001A (ja) プログラム実行装置及びプログラム変換方法
JP2005275703A (ja) プロセッサ及びコンテキスト切り替え方法
US9164761B2 (en) Obtaining data in a pipelined processor

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050927

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050927

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060523

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061003