JP3541936B2 - 命令実行装置 - Google Patents
命令実行装置 Download PDFInfo
- Publication number
- JP3541936B2 JP3541936B2 JP2000066218A JP2000066218A JP3541936B2 JP 3541936 B2 JP3541936 B2 JP 3541936B2 JP 2000066218 A JP2000066218 A JP 2000066218A JP 2000066218 A JP2000066218 A JP 2000066218A JP 3541936 B2 JP3541936 B2 JP 3541936B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- register
- source data
- data
- enable signal
- 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
Links
Images
Landscapes
- Executing Machine-Instructions (AREA)
Description
【発明の属する技術分野】
本発明は、命令コードを読み出して解読し、実行する命令実行装置に関する。
【0002】
【従来の技術】
従来、命令コードを読み出して解読し、実行する命令実行装置は図3のようになっている。
図3において、301はプログラムメモリ、302は命令デコーダ、303はレジスタ、304は演算部、305はライト許可信号、306はデスティネーションアドレス、307はソースアドレス、308は命令、309はソースデータ、310はデスティネーションデータ、311はプログラムデータである。
また、図4は、図3におけるプログラムデータの命令フォーマットとアドレスマップの模式図である。
このような命令実行装置において、プログラムメモリ301から出力されたプログラムデータ311は、命令デコーダ302によって、命令フォーマットを所定のフィールドに分割し、ソースアドレス307、デスティネーションアドレス306、命令信号308を抽出する。また、命令308が書込みを必要とする命令であれば、ライト許可信号305も発生する。レジスタ303は、演算命令を実行する際、演算に使用するデータを書き込み保持するためのものであって、ソースアドレス307に対応するソースデータ309を出力する。演算部304はソースデータ309を命令308に応じて演算し、デスティネーションデータ310として出力する。レジスタ303はライト許可信号305が有効であればデスティネーションデータ310を記憶する。
【0003】
【発明が解決しようとする課題】
ところが、従来の命令実行装置では以下の問題があった。
図5は、拡張後の命令フォーマットと拡張後のアドレスマップの模式図であって、デスティネーションアドレス、ソースアドレス及び命令のビット幅がそれぞれ8ビットで256番地のアドレス空間を持つ場合の例を示したものである。
図4に示した命令フォーマット401におけるアドレスマップ402を拡張しようとする際に、図5に示すように拡張後の命令フォーマット501は、ソースアドレス307とデスティネーションアドレス306のビット幅をそれぞれ拡張する必要がある。図5は、図4と比較してアドレス空間を2倍にした場合を示しているが、この場合プログラムメモリ301のビット幅が2ビット増えるため、プログラムメモリ301の容量を増やす必要が有ると共に、プログラムデータ311のビット幅を増やす必要がある。例えば、プログラムメモリ301以降の装置がLSI内部に入っているような場合には、プログラムデータ311のビット幅の増加はLSIの端子の増加となりコストの大きな上昇を招いていた。
本発明は、このような問題を解決するためになされたものであり、プログラムメモリのビット幅を増加することなくアドレスマップを拡張することができ、その結果、端子数を増加することのない安価な命令実行装置を提供することを目的とする。
【0004】
【課題を解決するための手段】
上記問題を解決するため,本発明は、プログラムデータを出力するプログラムメモリと、前記プログラムデータに基づいて演算命令、データ転送命令などの命令信号をデコードする命令デコーダと、前記命令デコーダから出力され、かつ、演算に使用するソースデータを書き込み保持するための第1レジスタと、前記第1レジスタとは別に演算に使用するソースデータを書き込み保持するための第2レジスタとを備え、命令コードを読み出して解読し、実行する命令実行装置において、前記第1レジスタおよび前記第2レジスタとのそれぞれの間でデータを転送するレジスタ間転送命令に応じて、前記第1レジスタへの書き込みを許可するライト許可信号および前記第2レジスタへの書き込みを許可するライト許可信号を出力するライト許可信号選択部と、前記第1レジスタと前記第2レジスタからそれぞれ出力される第1および第2ソースデータを、前記レジスタ間転送命令に応じて選択するソースデータ選択部と、前記ソースデータ選択部から出力されたソースデータを前記レジスタ間転送命令に応じて演算する演算部と、前記ライト許可信号選択部、前記ソースデータ選択部および前記演算部に設けられ、前記命令デコーダから出力された命令信号がレジスタ間転送命令であるかを判断するレジスタ間転送命令判断部と、を具備したことを特徴とするものである。
【0005】
【発明の実施の形態】
以下、本発明の実施例を図に基づいて説明する。
図1は本発明の実施例を示す命令実行装置のブロック図、図2は図1における命令フォーマットとアドレス空間の拡張の関係を示したものである。
図1において、101は命令実行装置、102はプログラムメモリ、103は命令デコーダ、104は第1レジスタ、105は第2レジスタ、106はソースデータ選択装置、107は演算部、108はライト許可信号選択部、109はライト許可信号、110はデスティネーションアドレス、111はソースアドレス,112は命令,113はソースデータ、114はデスティネーションデータ、115はプログラムデータ、116は第1ソースデータ、117は第2ソースデータ、118は第1ライト許可信号、119は第2ライト許可信号、120、121、122はレジスタ間転送判断部である。
本発明が従来技術と異なる点は、以下のとおりである。
命令実行装置1において、演算に使用するソースデータを書き込み保持するためのレジスタとして、第1レジスタ104と、前記第1レジスタ104とは別の第2レジスタ104を設けた点である。
また、命令デコーダ103と第1レジスタ104との間、および命令デコーダ103と第2レジスタ105との間には、ライト許可信号選択部108が設けられており、データを転送するレジスタ間転送命令に応じて、第1レジスタ104への書き込みを許可するライト許可信号118を出力すると共に、第2レジスタ105への書き込みを許可するライト許可信号119を出力するようになっている。
また、第1レジスタ104と第2レジスタ105の後段には、ソースデータ選択部106が設けられ、第1レジスタ104と第2レジスタ105からそれぞれ出力される第1ソースデータ116および第2ソースデータ117を、レジスタ間転送命令に応じて選択するようになっている。
また、ライト許可信号選択部108、ソースデータ選択部106および演算部107にはそれぞれレジスタ間転送命令判断部120、121、122が設けられ、命令デコーダ103から出力された命令信号112がレジスタ間転送命令であるか否かを判断するようになっている。
次に動作を説明する。
まず、プログラムメモリ102から出力されたプログラムデータ115は、命令デコーダ103でデスティネーションアドレス110,ソースアドレス111,命令112に分解される。このうち、ソースアドレス111は第1レジスタ104と第2レジスタ105に共通に入力され、そのアドレスに応じた値が第1ソースデータ116ならびに第2ソースデータ117として出力される。また、プログラムメモリ102に格納されたプログラムの一つであるレジスタ転送命令は命令デコーダ103から命令信号の中に含まれて出力されるが、ここではレジスタ間転送命令判断部120、121,122により、命令112がレジスタ間転送命令である場合とそうでない場合で出力信号の切替えを行なう。
また、命令112が第2レジスタ105から第1レジスタへ104のレジスタ間転送命令の場合には、ソースデータ選択部106が第2ソースデータ117をソースデータ113として出力し、それ以外の場合には、第1ソースデータ116をソースデータ113に出力する。さらに、演算部107を通過する命令112が通常の転送命令やレジスタ間転送命令の場合はソースデータ113をデスティネーションデータ114にそのまま出力しそれ以外の場合は命令112に応じた演算結果をデスティネーションデータ114に出力する。
また、ライト許可信号選択部108では、命令112が第1レジスタ104から第2レジスタ105へのレジスタ間転送命令の場合に限って第2ライト許可信号119を有効にして第1ライト許可信号118を無効にする。このときのデスティネーションデータ114の書込みは第2レジスタ105に対して行われる。命令112が第1レジスタ104から第2レジスタ105へのレジスタ間転送命令以外の場合は第1ライト許可信号118のみを有効にして第2ライト許可信号119は無効とする。このときのデスティネーションデータ114の書込みは第1レジスタ104に対して行われる。
このように第1レジスタ104から第2レジスタ105へのレジスタ間転送命令の際は、ソースデータ選択部106は第1ソースデータ116を選択し、ライト許可信号選択部108は第2ライト許可信号119を有効にする。逆に第2レジスタ105から第1レジスタ104へのレジスタ間転送命令の際は、ソースデータ選択部106は第2ソースデータ117を選択しライト許可信号選択部108は第1ライト許可信号118を有効にする。そのため、図2の命令フォーマット201に示す命令フィールドに使われていないビットパターンが2つ有れば、命令ビット幅を増やすこと無くアドレスマップを2倍に拡張することができる(第1アドレスマップ202と第2アドレスマップ203)。
もし、命令フィールドに空きのビットパターンが無い場合でも命令ビット幅を1ビット増やすだけでアドレスマップを拡張することができる。
したがって、本発明は、デスティネーションアドレス、ソースアドレスを別々のレジスタに書き込む構成にしたので、命令フォーマットのフィールドを拡大せず、また、プログラムメモリのビット幅を増加することなく、アドレスマップを拡張することができる。その結果、端子数を増加することのない安価な命令実行装置を提供することができる。
【0006】
【発明の効果】
以上述べたように、本発明によれば、デスティネーションアドレス、ソースアドレスを別々のレジスタに書き込む構成にしたので、プログラムメモリのビット幅を増加することなく、アドレスマップを拡張することができ、その結果、端子数を増加することのない安価な命令実行装置を提供できる効果がある。
【図面の簡単な説明】
【図1】本発明の実施例を示す命令実行装置のブロック図である。
【図2】図1における命令フォーマットと第1および第2アドレスマップの模式図である。
【図3】従来の命令実行装置のブロック図である。
【図4】図3におけるプログラムデータの命令フォーマットとアドレスマップの模式図であ
【図5】拡張後の命令フォーマットと拡張後のアドレスマップの模式図であって、デスティネーションアドレス、ソースアドレス及び命令のビット幅がそれぞれ8ビットで256番地のアドレス空間を持つ場合の例を示したものである。
【符号の説明】
101 命令実行装置
102 プログラムメモリ
103 命令デコーダ
104 第1レジスタ
105 第2レジスタ
106 ソースデータ選択部
107 演算部
108 ライト許可信号選択部
120〜122 レジスタ間転送命令判断部
201 命令フォーマット
202 第1アドレスマップ
203 第2アドレスマップ
Claims (1)
- プログラムデータを出力するプログラムメモリと、前記プログラムデータに基づいて演算命令、データ転送命令などの命令信号をデコードする命令デコーダと、前記命令デコーダから出力され、かつ、演算に使用するソースデータを書き込み保持するための第1レジスタと、前記第1レジスタとは別に演算に使用するソースデータを書き込み保持するための第2レジスタとを備え、命令コードを読み出して解読し、実行する命令実行装置において、
前記第1レジスタおよび前記第2レジスタとのそれぞれの間でデータを転送するレジスタ間転送命令に応じて、前記第1レジスタへの書き込みを許可するライト許可信号および前記第2レジスタへの書き込みを許可するライト許可信号を出力するライト許可信号選択部と、
前記第1レジスタと前記第2レジスタからそれぞれ出力される第1および第2ソースデータを、前記レジスタ間転送命令に応じて選択するソースデータ選択部と、
前記ソースデータ選択部から出力されたソースデータを前記レジスタ間転送命令に応じて演算する演算部と、
前記ライト許可信号選択部、前記ソースデータ選択部および前記演算部に設けられ、前記命令デコーダから出力された命令信号がレジスタ間転送命令であるかを判断するレジスタ間転送命令判断部と、を具備したことを特徴とする命令実行装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000066218A JP3541936B2 (ja) | 2000-03-10 | 2000-03-10 | 命令実行装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000066218A JP3541936B2 (ja) | 2000-03-10 | 2000-03-10 | 命令実行装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001256046A JP2001256046A (ja) | 2001-09-21 |
JP3541936B2 true JP3541936B2 (ja) | 2004-07-14 |
Family
ID=18585608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000066218A Expired - Fee Related JP3541936B2 (ja) | 2000-03-10 | 2000-03-10 | 命令実行装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3541936B2 (ja) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2551167B2 (ja) * | 1989-06-19 | 1996-11-06 | 日本電気株式会社 | マイクロコンピュータ |
-
2000
- 2000-03-10 JP JP2000066218A patent/JP3541936B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001256046A (ja) | 2001-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5499380A (en) | Data processor and read control circuit, write control circuit therefor | |
US6959367B2 (en) | System having read-modify-write unit | |
US7346760B2 (en) | Data processing apparatus of high speed process using memory of low speed and low power consumption | |
JPS593642A (ja) | 制御レジスタ処理方式 | |
WO2000077623A1 (en) | Data processor with an arithmetic logic unit and a stack | |
JP3541936B2 (ja) | 命令実行装置 | |
JP2006331391A (ja) | データ処理装置及びデータ処理方法 | |
US6564312B1 (en) | Data processor comprising an arithmetic logic unit | |
US6877062B2 (en) | Method and apparatus for increasing the memory read/write speed by using internal registers | |
KR960016401B1 (ko) | 레지스터 페이지 포인터를 이용한 레지스터 페이지간의 페이지 선택회로 | |
JPWO2010029682A1 (ja) | 情報処理装置 | |
JP2004021422A (ja) | マイクロコンピュータ | |
JPH08255034A (ja) | 低消費電力型データ処理装置 | |
JPS6049438A (ja) | メモリ装置 | |
JPH0743668B2 (ja) | アクセス制御装置 | |
JP2000029508A (ja) | プログラマブルコントローラ | |
JP2003108541A (ja) | プロセッサ、メモリテスト方法及びメモリテストシステム | |
JP4859176B2 (ja) | マイクロプロセッサ及びi/oポート置換方法 | |
JP2005056033A (ja) | レジスタ回路 | |
JP2869414B1 (ja) | データ処理装置 | |
JP3415408B2 (ja) | 通信制御装置 | |
JPS63317857A (ja) | メモリアクセス回路 | |
JP2006331281A (ja) | マルチプロセッサシステム | |
JPH05334074A (ja) | マイクロプロセッサ | |
JP2000132491A (ja) | デバイス制御方法及びシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20031202 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20031222 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040220 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040311 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040324 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090409 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090409 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100409 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100409 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110409 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120409 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120409 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130409 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |