JPH0683614A - マイクロコンピュータ - Google Patents
マイクロコンピュータInfo
- Publication number
- JPH0683614A JPH0683614A JP4233386A JP23338692A JPH0683614A JP H0683614 A JPH0683614 A JP H0683614A JP 4233386 A JP4233386 A JP 4233386A JP 23338692 A JP23338692 A JP 23338692A JP H0683614 A JPH0683614 A JP H0683614A
- Authority
- JP
- Japan
- Prior art keywords
- control
- operand
- instruction
- operand control
- register
- 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
Links
Landscapes
- Executing Machine-Instructions (AREA)
- Microcomputers (AREA)
Abstract
(57)【要約】
【目的】 プログラム容量を削減し、しかも実行時間を
短縮できるマイクロコンピュータを提供する。 【構成】 制御用レジスタ群内に2オペランド制御・3
オペランド制御切り替えレジスタを設ける。複数のタス
ク実行キューごとに設定された、切り替えレジスタの論
理値を命令解読部で命令コードと共に解読することによ
って、オペランドに関する情報を解読する。これにより
同一命令コードでありながらタスクごとに2オペランド
制御と3オペランド制御を容易に切り替えることができ
る。
短縮できるマイクロコンピュータを提供する。 【構成】 制御用レジスタ群内に2オペランド制御・3
オペランド制御切り替えレジスタを設ける。複数のタス
ク実行キューごとに設定された、切り替えレジスタの論
理値を命令解読部で命令コードと共に解読することによ
って、オペランドに関する情報を解読する。これにより
同一命令コードでありながらタスクごとに2オペランド
制御と3オペランド制御を容易に切り替えることができ
る。
Description
【0001】
【産業上の利用分野】本発明は、制御用レジスタ群内部
にある2オペランド制御3オペランド制御切り替えレジ
スタの出力によって、同一命令コードでありながら2オ
ペランド制御、3オペランド制御の切り替えが可能なマ
イクロコンピュータに関するものである。
にある2オペランド制御3オペランド制御切り替えレジ
スタの出力によって、同一命令コードでありながら2オ
ペランド制御、3オペランド制御の切り替えが可能なマ
イクロコンピュータに関するものである。
【0002】
【従来の技術】従来の2オペランド制御のマイクロコン
ピュータのプログラムでは、n番地に命令コード、(n
+1)番地にソースアドレス、(n+2)番地にディス
ティネーションアドレスが格納されているものが多かっ
た。
ピュータのプログラムでは、n番地に命令コード、(n
+1)番地にソースアドレス、(n+2)番地にディス
ティネーションアドレスが格納されているものが多かっ
た。
【0003】例えば加算命令の場合ソースアドレスで示
される番地のデータと、ディスティネーションアドレス
で示される番地のデータが加算された後、この加算され
たデータが再びディスティネーションアドレスで示され
る番地に格納される。このためディスティネーションア
ドレスで示される番地のデータを書き換えたくない場合
には、事前にディスティネーションアドレスで示される
番地のデータを別の場所にコピーしてから加算する必要
があった。この場合のアセンブラプログラムの例を挙げ
ると、 (プログラム) MOV B C ADD A C (A,B,Cはアドレスを示
す) のようになり、アドレスBで示されるデータをアドレス
Cへコピーし、アドレスAで示されるデータとアドレス
Cで示されるデータを加算するというように2命令の実
行が必要であった。
される番地のデータと、ディスティネーションアドレス
で示される番地のデータが加算された後、この加算され
たデータが再びディスティネーションアドレスで示され
る番地に格納される。このためディスティネーションア
ドレスで示される番地のデータを書き換えたくない場合
には、事前にディスティネーションアドレスで示される
番地のデータを別の場所にコピーしてから加算する必要
があった。この場合のアセンブラプログラムの例を挙げ
ると、 (プログラム) MOV B C ADD A C (A,B,Cはアドレスを示
す) のようになり、アドレスBで示されるデータをアドレス
Cへコピーし、アドレスAで示されるデータとアドレス
Cで示されるデータを加算するというように2命令の実
行が必要であった。
【0004】一方、3オペランド制御のマイクロコンピ
ュータのプログラムでは上記のようなアセンブラプログ
ラムは、 ADD A B C となり、1命令の実行で済む。
ュータのプログラムでは上記のようなアセンブラプログ
ラムは、 ADD A B C となり、1命令の実行で済む。
【0005】しかし、ディスティネーションアドレスB
に示されるデータを加算した結果に書き換えたい場合、
すなわち、アドレスAで示されるデータとアドレスBに
示されるデータを加算し、この加算した結果を再びアド
レスBに格納したい場合には、2オペランド制御では、 ADD A B となり、命令コードと2つのアドレス指定部で済むが、
3オペランド制御では、 ADD A B B となり、命令コードと3つのアドレス指定部が必要であ
る。
に示されるデータを加算した結果に書き換えたい場合、
すなわち、アドレスAで示されるデータとアドレスBに
示されるデータを加算し、この加算した結果を再びアド
レスBに格納したい場合には、2オペランド制御では、 ADD A B となり、命令コードと2つのアドレス指定部で済むが、
3オペランド制御では、 ADD A B B となり、命令コードと3つのアドレス指定部が必要であ
る。
【0006】従来のマイクロコンピュータでは、2オペ
ランド制御、3オペランド制御のどちらか一方の制御し
か行わなかったので、プログラム容量の増加や実行時間
の増大を招いていた。
ランド制御、3オペランド制御のどちらか一方の制御し
か行わなかったので、プログラム容量の増加や実行時間
の増大を招いていた。
【0007】
【発明が解決しようとする課題】このように従来のマイ
クロコンピュータでは2オペランド制御か3オペランド
制御のどちらか一方でしか制御を行わないため、アドレ
ス指定部の増加によりプログラムの容量が大きくなって
しまったり、実行命令の増加により実行時間が長くなる
という課題があった。
クロコンピュータでは2オペランド制御か3オペランド
制御のどちらか一方でしか制御を行わないため、アドレ
ス指定部の増加によりプログラムの容量が大きくなって
しまったり、実行命令の増加により実行時間が長くなる
という課題があった。
【0008】本発明は、プログラム容量を削減し、しか
も実行時間を短縮することのできるマイクロコンピュー
タを提供することを目的とする。
も実行時間を短縮することのできるマイクロコンピュー
タを提供することを目的とする。
【0009】
【課題を解決するための手段】本発明に係るマイクロコ
ンピュータは前記課題を解決するために、以下のような
構成を有している。すなわち、命令コードを解読する命
令解読部と、前記命令解読部で解読した命令を実行する
命令実行部と、制御用レジスタ群を備え、データレジス
タ、アドレスポインタ等で構成される複数のタスク実行
キューをハードウェアで切り替え、時分割マルチタスク
処理を行うマイクロコンピュータであって、前記制御用
レジスタ群内にタスク実行キューごとに2オペランド制
御か3オペランド制御かで異なる論理値が設定されるオ
ペランド制御切り替えレジスタを備えたことを特徴とす
る。
ンピュータは前記課題を解決するために、以下のような
構成を有している。すなわち、命令コードを解読する命
令解読部と、前記命令解読部で解読した命令を実行する
命令実行部と、制御用レジスタ群を備え、データレジス
タ、アドレスポインタ等で構成される複数のタスク実行
キューをハードウェアで切り替え、時分割マルチタスク
処理を行うマイクロコンピュータであって、前記制御用
レジスタ群内にタスク実行キューごとに2オペランド制
御か3オペランド制御かで異なる論理値が設定されるオ
ペランド制御切り替えレジスタを備えたことを特徴とす
る。
【0010】
【作用】本発明の構成によれば、2オペランド制御か3
オペランド制御かで異なる論理値が設定される切り替え
レジスタを制御用レジスタ群内に設け、このレジスタの
出力を命令解読部により解読するようにしたことによ
り、同一命令コードでありながら2オペランド制御と3
オペランド制御を適宜切り替えることが可能となる。
オペランド制御かで異なる論理値が設定される切り替え
レジスタを制御用レジスタ群内に設け、このレジスタの
出力を命令解読部により解読するようにしたことによ
り、同一命令コードでありながら2オペランド制御と3
オペランド制御を適宜切り替えることが可能となる。
【0011】
【実施例】以下本発明の一実施例について図面を参照し
ながら説明する。図1は基本的なシステム構成図であ
る。このマイクロコンピュータは、時分割マルチタスク
処理をハードウェアで行うことを可能にするため、デー
タレジスタ、アドレスポインタ等から構成されるレジス
タファイルを備えたタスク実行キュー0〜7を持ち、こ
れらすべてのタスク実行キューに共通な制御用レジスタ
群8、プログラム格納領域(図示せず)等から読み込ん
だ命令コードを解読する命令解読部9、解読された命令
を実行する命令実行部10から構成されている。また、
制御用レジスタ群8内にはタスク実行キューの数に等し
いビット幅の2オペランド制御3オペランド制御切り替
えレジスタ11を備え、特定のアドレスが与えられてい
る。
ながら説明する。図1は基本的なシステム構成図であ
る。このマイクロコンピュータは、時分割マルチタスク
処理をハードウェアで行うことを可能にするため、デー
タレジスタ、アドレスポインタ等から構成されるレジス
タファイルを備えたタスク実行キュー0〜7を持ち、こ
れらすべてのタスク実行キューに共通な制御用レジスタ
群8、プログラム格納領域(図示せず)等から読み込ん
だ命令コードを解読する命令解読部9、解読された命令
を実行する命令実行部10から構成されている。また、
制御用レジスタ群8内にはタスク実行キューの数に等し
いビット幅の2オペランド制御3オペランド制御切り替
えレジスタ11を備え、特定のアドレスが与えられてい
る。
【0012】信号aは制御用レジスタ群へのアクセス信
号であり、制御用レジスタ群内のデータの読み出し、書
き込みが可能である。
号であり、制御用レジスタ群内のデータの読み出し、書
き込みが可能である。
【0013】信号bは制御用レジスタ群の出力信号であ
り、2オペランド制御3オペランド制御切り替えレジス
タの出力信号を含んでいる。この切り替えレジスタの出
力は命令コードと共に命令解読部に入力される。
り、2オペランド制御3オペランド制御切り替えレジス
タの出力信号を含んでいる。この切り替えレジスタの出
力は命令コードと共に命令解読部に入力される。
【0014】信号cは命令解読部で解読された結果出力
される信号であり、命令実行部を制御するための信号で
ある。
される信号であり、命令実行部を制御するための信号で
ある。
【0015】信号dは各タスク実行キューへのアクセス
信号である。図2は2オペランド制御3オペランド制御
切り替えレジスタを示した図である。このレジスタはb
p(ビットポジション)0〜bp7まで8個のビットポ
ジションを持ち、それぞれのビット位置は、どのタスク
実行キューに対する切り替えレジスタかを示している。
すなわちbp0に設定された論理値はタスク実行キュー
0が2オペランド制御を行うか3オペランド制御を行う
かを示している。また、この切り替えレジスタは、特定
のタスク実行キューからのみ書き込みが可能であり、全
てのタスク実行キューから読み出しが可能である。
信号である。図2は2オペランド制御3オペランド制御
切り替えレジスタを示した図である。このレジスタはb
p(ビットポジション)0〜bp7まで8個のビットポ
ジションを持ち、それぞれのビット位置は、どのタスク
実行キューに対する切り替えレジスタかを示している。
すなわちbp0に設定された論理値はタスク実行キュー
0が2オペランド制御を行うか3オペランド制御を行う
かを示している。また、この切り替えレジスタは、特定
のタスク実行キューからのみ書き込みが可能であり、全
てのタスク実行キューから読み出しが可能である。
【0016】図3は本発明を用いたアセンブラプログラ
ム例である(アセンブラプログラム記述方法は従来の技
術で説明したとおりである)。タスク0は、切り替えレ
ジスタの書き込みが可能なタスク実行キューであり、タ
スク1、タスク2は読み込みのみ可能なタスク実行キュ
ーである。いま切り替えレジスタの論理値が“1”にセ
ットされているとき3オペランド制御、“0”にリセッ
トされているとき2オペランド制御をそれぞれ行なうも
のとする。
ム例である(アセンブラプログラム記述方法は従来の技
術で説明したとおりである)。タスク0は、切り替えレ
ジスタの書き込みが可能なタスク実行キューであり、タ
スク1、タスク2は読み込みのみ可能なタスク実行キュ
ーである。いま切り替えレジスタの論理値が“1”にセ
ットされているとき3オペランド制御、“0”にリセッ
トされているとき2オペランド制御をそれぞれ行なうも
のとする。
【0017】タスク0のeで示す命令はアドレスXに割
り当てられた2オペランド制御3オペランド制御切り替
えレジスタに22(16進数)を書き込む命令である。
すなわち、タスク実行キュー1と5では3オペランド制
御を行い、残りの6つのタスク実行キューでは2オペラ
ンド制御を行うことを設定するものである。
り当てられた2オペランド制御3オペランド制御切り替
えレジスタに22(16進数)を書き込む命令である。
すなわち、タスク実行キュー1と5では3オペランド制
御を行い、残りの6つのタスク実行キューでは2オペラ
ンド制御を行うことを設定するものである。
【0018】この22(16進数)が書かれた切り替え
レジスタのデータは図1の信号bを通じて命令解読部9
に送られる。そして、タスク実行キュー1が次に実行さ
れるタスク実行キューだとすると、オペランド制御レジ
スタの対応するビットポジション1の論理値“1”がプ
ログラム格納領域から取り出された命令コードと共に解
読される。
レジスタのデータは図1の信号bを通じて命令解読部9
に送られる。そして、タスク実行キュー1が次に実行さ
れるタスク実行キューだとすると、オペランド制御レジ
スタの対応するビットポジション1の論理値“1”がプ
ログラム格納領域から取り出された命令コードと共に解
読される。
【0019】これによって、命令コード以降に配置され
ているアドレス指定部の数等オペランドに関する情報を
順次解読する。この動作を繰り返すことによって、これ
以降に実行される命令は3オペランド制御が行われる。
ているアドレス指定部の数等オペランドに関する情報を
順次解読する。この動作を繰り返すことによって、これ
以降に実行される命令は3オペランド制御が行われる。
【0020】次にタスク実行キューが切り替わって2に
なると、オペランド制御切り替えレジスタの対応するビ
ットポジション2の論理値“0”がプログラム格納領域
から取り出された命令コードと共に解読される。
なると、オペランド制御切り替えレジスタの対応するビ
ットポジション2の論理値“0”がプログラム格納領域
から取り出された命令コードと共に解読される。
【0021】これによって、命令コード以降に配置され
ているアドレス指定部の数等オペランドに関する情報を
順次解読する。この動作を繰り返すことによって、これ
以降に実行される命令は2オペランド制御が行われる。
ているアドレス指定部の数等オペランドに関する情報を
順次解読する。この動作を繰り返すことによって、これ
以降に実行される命令は2オペランド制御が行われる。
【0022】また、現在実行中のタスクや別のタスクの
オペランド制御を切り替えたい場合には、特定のオペラ
ンド制御レジスタの書き込みが可能なタスク実行キュー
を呼出し、この切り替えレジスタの内容を書き換えるこ
とで可能となる。
オペランド制御を切り替えたい場合には、特定のオペラ
ンド制御レジスタの書き込みが可能なタスク実行キュー
を呼出し、この切り替えレジスタの内容を書き換えるこ
とで可能となる。
【0023】さらに、プログラムの実行中に割り込みや
例外処理等によりプログラムの流れが中断された場合に
は、この切り替えレジスタの値はCPUの内部情報とし
て他の情報と共に特定の記憶空間に退避される。次に、
割り込みや例外処理等の処理ルーチンから復帰した時に
は、CPUの内部情報として退避された値が切り替えレ
ジスタにも書き込まれる。これによってCPUの状態は
プログラムの流れが中断される前と等しくなる。
例外処理等によりプログラムの流れが中断された場合に
は、この切り替えレジスタの値はCPUの内部情報とし
て他の情報と共に特定の記憶空間に退避される。次に、
割り込みや例外処理等の処理ルーチンから復帰した時に
は、CPUの内部情報として退避された値が切り替えレ
ジスタにも書き込まれる。これによってCPUの状態は
プログラムの流れが中断される前と等しくなる。
【0024】以上の操作をすることによって、容易に2
オペランド制御と3オペランド制御を切り替えることが
できる。
オペランド制御と3オペランド制御を切り替えることが
できる。
【0025】
【発明の効果】本発明のマイクロコンピュータによれ
ば、2オペランド制御か3オペランド制御かで異なる論
理値が設定される切り替えレジスタを制御用レジスタ群
内に設け、この切り替えレジスタの出力を命令解読部に
より解読するようにしたことにより、同一命令コードで
ありながら2オペランド制御、3オペランド制御を適宜
切り替えることが可能となる。
ば、2オペランド制御か3オペランド制御かで異なる論
理値が設定される切り替えレジスタを制御用レジスタ群
内に設け、この切り替えレジスタの出力を命令解読部に
より解読するようにしたことにより、同一命令コードで
ありながら2オペランド制御、3オペランド制御を適宜
切り替えることが可能となる。
【図1】本発明の一実施例のシステム構成図
【図2】本発明の一実施例における2オペランド制御3
オペランド制御切り替えレジスタ図
オペランド制御切り替えレジスタ図
【図3】本発明の一実施例のマイクロコンピュータにお
けるアセンブラプログラム例を示す図
けるアセンブラプログラム例を示す図
0〜7 タスク実行キュー 8 制御用レジスタ群 9 命令解読部 10 命令実行部 11 2オペランド制御・3オペランド制御切り替えレ
ジスタ a 制御用レジスタのアクセス信号 b 2オペランド制御3オペランド制御切り替えレジス
タの出力信号 c 命令実行部制御信号 d 各タスク実行キューのアクセス信号 e 2オペランド制御3オペランド制御切り替えレジス
タへのアクセス命令
ジスタ a 制御用レジスタのアクセス信号 b 2オペランド制御3オペランド制御切り替えレジス
タの出力信号 c 命令実行部制御信号 d 各タスク実行キューのアクセス信号 e 2オペランド制御3オペランド制御切り替えレジス
タへのアクセス命令
Claims (1)
- 【請求項1】命令コードを解読する命令解読部と、前記
命令解読部で解読した命令を実行する命令実行部と、制
御用レジスタ群を備え、データレジスタ、アドレスポイ
ンタ等で構成される複数のタスク実行キューをハードウ
ェアで切り替え、時分割マルチタスク処理を行うマイク
ロコンピュータであって、前記制御用レジスタ群内にタ
スク実行キューごとに2オペランド制御か3オペランド
制御かで異なる論理値が設定されるオペランド制御切り
替えレジスタを備えたことを特徴とするマイクロコンピ
ュータ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4233386A JPH0683614A (ja) | 1992-09-01 | 1992-09-01 | マイクロコンピュータ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4233386A JPH0683614A (ja) | 1992-09-01 | 1992-09-01 | マイクロコンピュータ |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0683614A true JPH0683614A (ja) | 1994-03-25 |
Family
ID=16954285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4233386A Pending JPH0683614A (ja) | 1992-09-01 | 1992-09-01 | マイクロコンピュータ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0683614A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021157448A1 (ja) * | 2020-02-03 | 2021-08-12 | 株式会社ソニー・インタラクティブエンタテインメント | データ処理システム、データ転送装置およびコンテキストスイッチ方法 |
-
1992
- 1992-09-01 JP JP4233386A patent/JPH0683614A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021157448A1 (ja) * | 2020-02-03 | 2021-08-12 | 株式会社ソニー・インタラクティブエンタテインメント | データ処理システム、データ転送装置およびコンテキストスイッチ方法 |
JPWO2021157448A1 (ja) * | 2020-02-03 | 2021-08-12 |
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 | |
EP0087978B1 (en) | Information processing unit | |
KR100848603B1 (ko) | 데이터 처리장치와 복귀상태의 저장방법 | |
WO2001016715A9 (en) | Branch instructions in a multithreaded parallel processing system | |
JP2004185637A (ja) | 複数型レジスタ・セットを採用したriscマイクロプロセッサ・アーキテクチャ | |
US5682531A (en) | Central processing unit | |
JP2004520662A (ja) | 共通の名前を有する複数のレジスタへの選択的なアクセス | |
US5802359A (en) | Mapping processor state into a millicode addressable processor state register array | |
JP3605978B2 (ja) | マイクロコンピュータ | |
JPH0673105B2 (ja) | 命令パイプライン方式のマイクロプロセッサ | |
JPH03171231A (ja) | マイクロコンピュータシステム | |
KR940002322B1 (ko) | 전송 내부 레지스터 지정 방법 | |
EP0660229A1 (en) | Method and apparatus for modifying the contents of a register | |
JPH0683614A (ja) | マイクロコンピュータ | |
JPS63268033A (ja) | データ処理装置 | |
JPH056281A (ja) | 情報処理装置 | |
JPS6217773B2 (ja) | ||
JP2671161B2 (ja) | レジスタ干渉チェック方式 | |
JPH04319729A (ja) | マイクロコンピュータ | |
JP2000112754A (ja) | データ処理装置 | |
JP2853647B2 (ja) | デバッガ付きインタプリタへの機能付加方式 | |
JP2942449B2 (ja) | データ処理装置 | |
JP2883489B2 (ja) | 命令処理装置 | |
JPH08305564A (ja) | マイクロコンピュータ | |
JPH0315770B2 (ja) |