JPH01152538A - データ参照方式 - Google Patents
データ参照方式Info
- Publication number
- JPH01152538A JPH01152538A JP62311233A JP31123387A JPH01152538A JP H01152538 A JPH01152538 A JP H01152538A JP 62311233 A JP62311233 A JP 62311233A JP 31123387 A JP31123387 A JP 31123387A JP H01152538 A JPH01152538 A JP H01152538A
- Authority
- JP
- Japan
- Prior art keywords
- data
- subprogram
- displacement
- register
- instruction
- 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)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔概要〕
副プログラムで用いる局所データを参照するデータ参照
方式に関し、 オブジェクト効率及びデバッグ効率が向上し、プログラ
ム開発が簡単なデータ参照方式を提供することを目的と
し、 副プログラムで用いる局所データを参照するデータ参照
方式において、副プログラム呼出し命令の実行により該
副プログラムの先頭番地を専用レジスタに格納し、該副
プログラム内のデータ参照命令に変位を付加し、該デー
タ参照命令の実行時に、該専用レジスタの値からの該変
位だけの相対変位により該局所データを参照するよう構
成する。
方式に関し、 オブジェクト効率及びデバッグ効率が向上し、プログラ
ム開発が簡単なデータ参照方式を提供することを目的と
し、 副プログラムで用いる局所データを参照するデータ参照
方式において、副プログラム呼出し命令の実行により該
副プログラムの先頭番地を専用レジスタに格納し、該副
プログラム内のデータ参照命令に変位を付加し、該デー
タ参照命令の実行時に、該専用レジスタの値からの該変
位だけの相対変位により該局所データを参照するよう構
成する。
(産業上の利用分野)
本発明はデータ参照方式に関し、副プログラムで用いる
局所データを参照するデータ参照方式に関する。
局所データを参照するデータ参照方式に関する。
マイクロプロセッサ、中央処即装fi(CPU)等では
実行するプログラム及びこのプログラムで使用するデー
タをメモリに格納しており、プログラムを構成する命令
を順次読み出して実行し、命令で指示されたデータを参
照して各種演算を行なう。
実行するプログラム及びこのプログラムで使用するデー
タをメモリに格納しており、プログラムを構成する命令
を順次読み出して実行し、命令で指示されたデータを参
照して各種演算を行なう。
このようなデータ参照は副プログラム(サブルーチンプ
ログラム)内でも行なわれ、データ参照が簡単で分りや
すく、かつ記述が短かくて効率的であることが要望され
ている。
ログラム)内でも行なわれ、データ参照が簡単で分りや
すく、かつ記述が短かくて効率的であることが要望され
ている。
第3図は従来方式のマイクロプロセッサの一例のブロッ
ク図を示す。
ク図を示す。
同図中、10はバスインターフェースユニット(BIU
)、11は実行ユニット(EU)である。
)、11は実行ユニット(EU)である。
BIUIOはレジスタ及びポインタ12、加算器13、
命令キュー・バッファ14より構成されている。BIU
loはメモリ・インターフェース15を介してメモリを
アクセスし、フェッチした命令を命令キュー・バッファ
14に格納する。
命令キュー・バッファ14より構成されている。BIU
loはメモリ・インターフェース15を介してメモリを
アクセスし、フェッチした命令を命令キュー・バッファ
14に格納する。
EUllは汎用レジスタ17、算術論理演算装置(AL
U)18、フラグ・レジスタ19、コントロール・シス
テム20より構成されている。
U)18、フラグ・レジスタ19、コントロール・シス
テム20より構成されている。
EUllはBItJ10内の命令キュー・バッファ14
からプリフェッチされた命令を受取って実行する。
からプリフェッチされた命令を受取って実行する。
(発明が解決しようとする問題点)
従来方式では例えばアドレスが2バイトのメモリを第4
図に示す如く命令コード領域25とデータ領域26とに
分けて使用している。
図に示す如く命令コード領域25とデータ領域26とに
分けて使用している。
このため、副プログラム(サブルーチンプログラム)の
アドレスと、このサブルーチンプログラムで用いる局所
データ(サブルーチンデータ)のアドレスとが離れてし
まう。
アドレスと、このサブルーチンプログラムで用いる局所
データ(サブルーチンデータ)のアドレスとが離れてし
まう。
サブルーチンプログラム内でサブルーチンデータを参照
するには絶対番地参照又はインデックスレジスタを用い
た相対番地参照が行なわれている。
するには絶対番地参照又はインデックスレジスタを用い
た相対番地参照が行なわれている。
しかし、絶対番地参照ではオブジェクトコードを2バイ
トつまり16ビツトの絶対番地を指定しなければならず
オブジェクト効率が悪い。また相対番地参照ではインデ
ックスレジスタからの変位を小さ(してオブジェクト効
率を向上することが可能ではあるが、データ参照を行な
う毎にインデックスレジスタの値を考慮しなければなら
ずプログラム開発に手間がかかり、どのデータを参照し
ているかがソースプログラムを一見しても分かりにくい
という問題点があった。
トつまり16ビツトの絶対番地を指定しなければならず
オブジェクト効率が悪い。また相対番地参照ではインデ
ックスレジスタからの変位を小さ(してオブジェクト効
率を向上することが可能ではあるが、データ参照を行な
う毎にインデックスレジスタの値を考慮しなければなら
ずプログラム開発に手間がかかり、どのデータを参照し
ているかがソースプログラムを一見しても分かりにくい
という問題点があった。
更に、サブルーチンプログラム、サブルーチンデータ夫
々のアドレスが離れており、プログラム開発時にデイス
プレィ上でサブルーチンプログラムとサブルーチンデー
タとを一画面内に表示できないため、デバッグ効率が悪
いという問題点があった。
々のアドレスが離れており、プログラム開発時にデイス
プレィ上でサブルーチンプログラムとサブルーチンデー
タとを一画面内に表示できないため、デバッグ効率が悪
いという問題点があった。
本発明は上記の点に鑑みてなされたもので、オブジェク
ト効率及びデバッグ効率が向上し、プログラム開発が簡
単なデータ参照方式を提供することを目的とする。
ト効率及びデバッグ効率が向上し、プログラム開発が簡
単なデータ参照方式を提供することを目的とする。
本発明のデータ参照方式は、副プログラムで用いる局所
データを参照するデータ参照方式において、副プログラ
ム呼出し命令の実行により副プログラムの先頭番地を専
用レジスタ(FP)に格納し、副プログラム内のデータ
参照命令に変位を付加し、データ参照命令の実行時に、
専用レジスタ(FP)の値からの変位だけの相対変位に
より局所データを参照する。
データを参照するデータ参照方式において、副プログラ
ム呼出し命令の実行により副プログラムの先頭番地を専
用レジスタ(FP)に格納し、副プログラム内のデータ
参照命令に変位を付加し、データ参照命令の実行時に、
専用レジスタ(FP)の値からの変位だけの相対変位に
より局所データを参照する。
本発明においては、副プログラムで用いる局所データは
メモリ上で副プログラムに隣接して配置され、専用レジ
スタ(FP)の副プログラムの先頭番地とデータ参照命
令の変位との相対変位によってアクセスされる。
メモリ上で副プログラムに隣接して配置され、専用レジ
スタ(FP)の副プログラムの先頭番地とデータ参照命
令の変位との相対変位によってアクセスされる。
このため、データ参照命令に付加する変位は小さくて済
みオブジェクト効率が向上し、プログラム開発時に専用
レジスタ(FP)の値を考慮する必要がなくプログラム
開発が効率的で簡単となる。
みオブジェクト効率が向上し、プログラム開発時に専用
レジスタ(FP)の値を考慮する必要がなくプログラム
開発が効率的で簡単となる。
第1図は本発明のデータ参照方式を適用したマイクロプ
ロセッサの一実施例のブロック図を示す。
ロセッサの一実施例のブロック図を示す。
同図中、第3図と同一部分には同一符号を付す。
第1図において、マイクロプロセッサはBtu30とE
U31よりなり、BIU30はレジスタ及びポインタ3
2、加算器33、命令キュー・バッファ14より構成さ
れ、EU31は汎用レジスタ17、A L U 18
、オペランド及びフラグ・レジスタ19、コントロール
システム40より構成されている。
U31よりなり、BIU30はレジスタ及びポインタ3
2、加算器33、命令キュー・バッファ14より構成さ
れ、EU31は汎用レジスタ17、A L U 18
、オペランド及びフラグ・レジスタ19、コントロール
システム40より構成されている。
レジスタ及びポインタ32は従来と同様に用途に応じた
4つのセグメント・レジスタ(C8゜DS、88.ES
)と、セグメントレジスタで指定されたセグメント内の
オフセットアドレスを指示するインストラクション・ポ
インタIPとを持つ他に、サブルーチンプログラムの先
頭アドレスを指示するファンクション・ポインタFPを
有している。
4つのセグメント・レジスタ(C8゜DS、88.ES
)と、セグメントレジスタで指定されたセグメント内の
オフセットアドレスを指示するインストラクション・ポ
インタIPとを持つ他に、サブルーチンプログラムの先
頭アドレスを指示するファンクション・ポインタFPを
有している。
加算器33は後述するコントロール・システム40の制
御により、通常コード・セグメント・レジスタC8の値
を上位ビット、インストラクション・ポインタIPの値
を下位ビットとして加算し、フェッチする命令のアドレ
スを生成し、データ・セグメント・レジスタO8の値を
上位ビット、データ参照命令中の変位を下位ビットとし
て加締し、データのアドレスを生成する。また、サブル
ーチンプログラムの実行時にサブルーチンデータを参照
するとき、データセグメント・レジスタDSの値を上位
ビットとし、ファンクション・ポインタFPの値とデー
タ参照命令に含まれている変位との減算した値を下位ビ
ットとして加算しサブルーチンデータのアドレスを生成
する。
御により、通常コード・セグメント・レジスタC8の値
を上位ビット、インストラクション・ポインタIPの値
を下位ビットとして加算し、フェッチする命令のアドレ
スを生成し、データ・セグメント・レジスタO8の値を
上位ビット、データ参照命令中の変位を下位ビットとし
て加締し、データのアドレスを生成する。また、サブル
ーチンプログラムの実行時にサブルーチンデータを参照
するとき、データセグメント・レジスタDSの値を上位
ビットとし、ファンクション・ポインタFPの値とデー
タ参照命令に含まれている変位との減算した値を下位ビ
ットとして加算しサブルーチンデータのアドレスを生成
する。
上記の如くして得られたアドレスがメモリ・インターフ
ェース15を介してメモリ(図示せず)に供給され、メ
モリより読み出された命令及びデータはメモリ・インタ
ーフェース15を介して命令キュー・バッフ7F14に
供給され格納される。
ェース15を介してメモリ(図示せず)に供給され、メ
モリより読み出された命令及びデータはメモリ・インタ
ーフェース15を介して命令キュー・バッフ7F14に
供給され格納される。
EU31はコントロールシステム40で命令キュー・バ
ッファ14よりの命令をデコードして、BILI30及
びEU31の各部をコントロールし命令を実行する。な
お、メモリから読み出したデータはメモリインターフェ
ース15からBIU30のバス35を経てEU31のバ
ス36に入来する。
ッファ14よりの命令をデコードして、BILI30及
びEU31の各部をコントロールし命令を実行する。な
お、メモリから読み出したデータはメモリインターフェ
ース15からBIU30のバス35を経てEU31のバ
ス36に入来する。
汎用レジスタ17にはアキュムレータAX、ベースレジ
スタBX、カウントレジスタCx1データレジスタDX
、スタックポインタSP1ベースポインタBP、ソース
インデックス81.デスティネーションインデックスD
Iがあり、各種演算及びスタック操作、ストリング操作
等に用いられる。
スタBX、カウントレジスタCx1データレジスタDX
、スタックポインタSP1ベースポインタBP、ソース
インデックス81.デスティネーションインデックスD
Iがあり、各種演算及びスタック操作、ストリング操作
等に用いられる。
ALU18は粋術論理演算を行ない、オペランド及びフ
ラグ・レジスタ19には演算のオペランド及び演算結果
に応じたキャリー、パリティ、オーバーフロー等のフラ
グが格納される。
ラグ・レジスタ19には演算のオペランド及び演算結果
に応じたキャリー、パリティ、オーバーフロー等のフラ
グが格納される。
ここで、コントロールシステム40はサブルーチン呼出
し命令の実行により、インストラクション・ポインタI
P及びファンクション・ポインタFP夫々にサブルーチ
ンの先頭番地を格納する。
し命令の実行により、インストラクション・ポインタI
P及びファンクション・ポインタFP夫々にサブルーチ
ンの先頭番地を格納する。
更に、サブルーチンの実行時に別のサブルーチン呼出し
命令があれば現在実行中のインストラクション・ポイン
タIP及びファンクション・ポインタFP夫々の値をス
タックに退避させ、新たなサブルーチンの先頭番地を上
記インストラクション・ポインタIP、ファンクション
・ポインタFP夫々に格納する。
命令があれば現在実行中のインストラクション・ポイン
タIP及びファンクション・ポインタFP夫々の値をス
タックに退避させ、新たなサブルーチンの先頭番地を上
記インストラクション・ポインタIP、ファンクション
・ポインタFP夫々に格納する。
この後、新たなサブルーチンからの復帰命令があれば、
スタックから旧IP、FP夫々の値をインストラクショ
ン・ポインタIP1ファンクション・ポインタFP夫々
に戻す。
スタックから旧IP、FP夫々の値をインストラクショ
ン・ポインタIP1ファンクション・ポインタFP夫々
に戻す。
サブルーチンの各命令を実行する毎にインストラクショ
ン・ポインタIPの値はインクリメントされるが、ファ
ンクション・ポインタFPの値は変化しない。
ン・ポインタIPの値はインクリメントされるが、ファ
ンクション・ポインタFPの値は変化しない。
また、サブルーチンプログラムを構成する命令で、かつ
、このサブルーチンだけで使用するサブルーチンデータ
をアクセスするデータ参照命令として、ファンクション
・ポインタFPの値と命令中の変位とを減算した値をデ
ータのアドレスの下位アドレスとする命令を設ける。
、このサブルーチンだけで使用するサブルーチンデータ
をアクセスするデータ参照命令として、ファンクション
・ポインタFPの値と命令中の変位とを減算した値をデ
ータのアドレスの下位アドレスとする命令を設ける。
これによって、メモリは第2図に示す如くプログラムと
データとが領域分割されず混在する構成であり、ザブル
ーチンプログラムの直前にサブルーチンデータが配置さ
れる。そして、サブルーチンデータはファンクション・
ポインタFPにあるサブルーチンの先頭番地からデータ
参照命令の変位だけの相対変位により参照される。
データとが領域分割されず混在する構成であり、ザブル
ーチンプログラムの直前にサブルーチンデータが配置さ
れる。そして、サブルーチンデータはファンクション・
ポインタFPにあるサブルーチンの先頭番地からデータ
参照命令の変位だけの相対変位により参照される。
従って、第2図に示すメモリ全体が2バイトのアドレス
であっても、サブルーチンデータのバイト数は小さく、
変位としては1バイトで充分に表わすことができ、オブ
ジェクト効率が向上する。
であっても、サブルーチンデータのバイト数は小さく、
変位としては1バイトで充分に表わすことができ、オブ
ジェクト効率が向上する。
また、サブルーチンプログラム実行時にはその先頭番地
がファンクション・ポインタFPに格納されているため
、プログラム開発時にファンクション・ポインタFPの
値を考慮する必要はなくプログラム開発が簡単となる。
がファンクション・ポインタFPに格納されているため
、プログラム開発時にファンクション・ポインタFPの
値を考慮する必要はなくプログラム開発が簡単となる。
更にサブルーチンデータ及びザブルーチンプログラムが
隣接したアドレスにあるため、プログラム開発時にデイ
スプレィ上にザブルーチンプログラムとサブルーチンデ
ータとを一画面内に表示することが可能であり、デバッ
グ効率が向上する。
隣接したアドレスにあるため、プログラム開発時にデイ
スプレィ上にザブルーチンプログラムとサブルーチンデ
ータとを一画面内に表示することが可能であり、デバッ
グ効率が向上する。
(発明の効果)
上述の如く、本発明のデータ参照方式によれば、オブジ
ェクト効率及びデバッグ効率が向上し、かつプログラム
開発が簡単となり、実用上きわめて有用である。
ェクト効率及びデバッグ効率が向上し、かつプログラム
開発が簡単となり、実用上きわめて有用である。
第1図は本発明方式を適用したマイクロプロセッサの一
実施例のブロック図、 第2図は本発明方式によるメモリ使用状態を示す図、 第3図は従来方式のマイクロプロセッサの一例のブロッ
ク図、 第4図は従来方式によるメモリの使用状態を示す図であ
る。 図において、 14は命令キュー・バッファ、 15はメモリ・インターフェース、 17は汎用レジスタ、 18は算術論理演算装置(ALtJ)、19はオペラン
ド及びフラグ・レジスタ、30はバス・インターフェー
ス・ユニット(BID)、31は実行ユニット(EU)
、 32はレジスタ及びポインタ、 33は加算器、 40はコントロール中システム。 を示す。 特許出願人 富 士 通 株式会社 同 富士通マイコンシステムズ株式会社代 理 人
弁理士 伊 東 忠 彦i’ i −”、” 、十。 丈とり′ 本宅哨すべの74207艶静すのプわッ2図第1図 第2図 第4図 従*ixのマづクロプロ慨−y〒咋ブ℃hグ図島3図
実施例のブロック図、 第2図は本発明方式によるメモリ使用状態を示す図、 第3図は従来方式のマイクロプロセッサの一例のブロッ
ク図、 第4図は従来方式によるメモリの使用状態を示す図であ
る。 図において、 14は命令キュー・バッファ、 15はメモリ・インターフェース、 17は汎用レジスタ、 18は算術論理演算装置(ALtJ)、19はオペラン
ド及びフラグ・レジスタ、30はバス・インターフェー
ス・ユニット(BID)、31は実行ユニット(EU)
、 32はレジスタ及びポインタ、 33は加算器、 40はコントロール中システム。 を示す。 特許出願人 富 士 通 株式会社 同 富士通マイコンシステムズ株式会社代 理 人
弁理士 伊 東 忠 彦i’ i −”、” 、十。 丈とり′ 本宅哨すべの74207艶静すのプわッ2図第1図 第2図 第4図 従*ixのマづクロプロ慨−y〒咋ブ℃hグ図島3図
Claims (1)
- 【特許請求の範囲】 副プログラムで用いる局所データを参照するデータ参
照方式において、 副プログラム呼出し命令の実行により該副プログラム
の先頭番地を専用レジスタ(FP)に格納し、 該副プログラム内のデータ参照命令に変位を付加し、 該データ参照命令の実行時に、該専用レジスタ(FP)
の値からの該変位だけの相対変位により該局所データを
参照することを特徴とするデータ参照方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62311233A JPH01152538A (ja) | 1987-12-09 | 1987-12-09 | データ参照方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62311233A JPH01152538A (ja) | 1987-12-09 | 1987-12-09 | データ参照方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH01152538A true JPH01152538A (ja) | 1989-06-15 |
Family
ID=18014693
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP62311233A Pending JPH01152538A (ja) | 1987-12-09 | 1987-12-09 | データ参照方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH01152538A (ja) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS49113540A (ja) * | 1973-02-26 | 1974-10-30 | ||
| JPS62191933A (ja) * | 1986-02-19 | 1987-08-22 | Hitachi Ltd | レジスタ制御方式 |
-
1987
- 1987-12-09 JP JP62311233A patent/JPH01152538A/ja active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS49113540A (ja) * | 1973-02-26 | 1974-10-30 | ||
| JPS62191933A (ja) * | 1986-02-19 | 1987-08-22 | Hitachi Ltd | レジスタ制御方式 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4729094A (en) | Method and apparatus for coordinating execution of an instruction by a coprocessor | |
| US4715013A (en) | Coprocessor instruction format | |
| JPS61206043A (ja) | 仮想計算機システムにおける割込制御方法 | |
| JPS6010354A (ja) | プログラム追跡方法 | |
| JP2581236B2 (ja) | データ処理装置 | |
| CN101375248A (zh) | 硬件JavaTM字节码译码器 | |
| US4731736A (en) | Method and apparatus for coordinating execution of an instruction by a selected coprocessor | |
| US4750110A (en) | Method and apparatus for executing an instruction contingent upon a condition present in another data processor | |
| JP2847974B2 (ja) | データ処理装置 | |
| JPH0766365B2 (ja) | コ・プロセツサ制御方式 | |
| US5021991A (en) | Coprocessor instruction format | |
| JP4004915B2 (ja) | データ処理装置 | |
| US20090144511A1 (en) | Enhanced Microprocessor or Microcontroller | |
| EP0523758B1 (en) | A method and apparatus for coordinating execution of an instruction by a coprocessor | |
| US4821231A (en) | Method and apparatus for selectively evaluating an effective address for a coprocessor | |
| US4758950A (en) | Method and apparatus for selectively delaying an interrupt of a coprocessor | |
| US7437535B1 (en) | Method and apparatus for issuing a command to store an instruction and load resultant data in a microcontroller | |
| EP0969357A2 (en) | Utilizing a program counter with one or more data counters for executing instructions | |
| Sakamura | TRON VLSI CPU: concepts and architecture | |
| US4994961A (en) | Coprocessor instruction format | |
| JPH01152538A (ja) | データ参照方式 | |
| JPS6273333A (ja) | エミュレーション制御装置 | |
| US4758978A (en) | Method and apparatus for selectively evaluating an effective address for a coprocessor | |
| JPH0754468B2 (ja) | 仮想計算機システム | |
| US6934728B2 (en) | Euclidean distance instructions |