JPH0512107A - プログラム実行方式 - Google Patents

プログラム実行方式

Info

Publication number
JPH0512107A
JPH0512107A JP16723691A JP16723691A JPH0512107A JP H0512107 A JPH0512107 A JP H0512107A JP 16723691 A JP16723691 A JP 16723691A JP 16723691 A JP16723691 A JP 16723691A JP H0512107 A JPH0512107 A JP H0512107A
Authority
JP
Japan
Prior art keywords
bank
memory
program
instruction
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.)
Pending
Application number
JP16723691A
Other languages
English (en)
Inventor
Keita Miyamoto
啓太 宮本
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer 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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP16723691A priority Critical patent/JPH0512107A/ja
Publication of JPH0512107A publication Critical patent/JPH0512107A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【目的】データ領域として使用されているバンクメモリ
へ切り換えても、プログラムの命令コードのフェッチは
当該プログラムの命令コードが格納されているバンクメ
モリから自動的に行われるようにする。 【構成】バンクコントロール部は、命令フェッチ信号b
がONになっているときは、バンクセレクト信号aがバ
ンク1、2または3のいずれをセレクトしていても、メ
モリセレクト信号e1 のみをONに設定し、命令コード
が格納されているバンクメモリM1を選択する。一方、
プログラムフェッチ信号bがOFFとなっているとき
は、バンクセレクト信号aにより指定されているバンク
に対応するメモリセレクト信号(e1 、e2 または
3)のみをONに設定し、CPUから出力されるバン
ク切り換え信号aに対応するバンクメモリ(M1、M2
またはM3)を選択する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、CPUのプログラム
実行方式に係わり、特に、プログラムとそのプログラム
のデータ領域とが異なるバンクメモリに格納されている
システムにおけるプログラム実行方式に関する。
【0002】
【従来の技術】本来、CPU(中央演算処理装置)のア
ドレス空間は、基本的にアドレス情報のビット数によっ
て決定され、例えば、8ビット・マイクロプロセッサで
は64Kバイト、16ビット・マイクロプロセッサでは
1Mバイトというように限定される。しかし、このCP
Uのアドレス情報のビット数によって決定されてしまう
アドレス空間を拡張する方式としてバンク切り換え方式
が知られてしる。
【0003】この方式は、図5に示すように、CPUの
メモリ空間上の一部の領域をバンク空間に設定し、その
バンク空間と同じ容量のバンクメモリを複数個(同図に
示す例では、3個のバンクメモリ101、102、10
3)設けて、必要に応じて、そのバンク空間にバンクメ
モリ101、102、103のいずれか1個を割り当て
て使用するものである。
【0004】
【発明が解決しようとする課題】しかし、これらのバン
クメモリにプログラムの命令コードとそのプログラムの
データ領域とを分割して配置するようにした場合、すな
わち、例えば、図6に示すように、バンクメモリ101
にプログラムの命令コードを、バンクメモリ102、1
03に上記プログラムがアクセスするデータを格納する
ようにした場合、バンクメモリのソフトウェア管理が複
雑になってしまう問題があった。すなわち、図6に示す
例を取り上げて説明すると、CPUは、プログラムの命
令コードをステップ1、2、・・・と順次実行してく。
そして、例えばステップ4に、バンクメモリ102のデ
ータを参照するためのバンク切り換え命令が格納されて
いると、CPUはそのバンク切り換え命令を読み出して
実行することにより、CPUのバンク空間はバンクメモ
リ102に切り換わる。そのため、CPUがバンクメモ
リ101への切り換え命令を実行せずに、直ちに次の実
行命令であるステップ5の命令コードをフェッチし、実
行すると、CPUはそのデータ・コードバンクメモリ1
02に格納されているデータ5を実行してしまうので、
CPUが暴走してしまう。
【0005】このため、プログラム作成者は、バンクメ
モリ102のデータを参照後、再びバンクメモリ101
に切り換える命令をコーディングする必要がある。この
ように、プログラムの命令コードとデータ領域とを、異
なるバンクメモリに分割して格納するようなシステム構
成を採った場合、バンクメモリの切り換えを極めて綿密
なソフトウエア管理により行う必要が生じ、その管理処
理のためのプログラム作成の負担は非常に大きなものと
なっていた。そして、このことは、プログラム作成の効
率を著しく阻害する原因ともなっていた。
【0006】上記の問題は、バンク切り換えを行うと、
データ、命令コードの別なく、切り換えられたバンクメ
モリから読み出しが行われるようになっていることに起
因していると考えられる。
【0007】してみれば、プログラムの命令コードが格
納されているバンクメモリからデータが格納されている
バンクメモリへバンク切り換えを行っても、プログラム
の命令コードのフェッチのときだけは、上記プログラム
の命令コードが格納されているバンクメモリから当該命
令コードを読み出すようにすれば、異なるバンクメモリ
上にプログラムの命令コードとデータ領域が分離して配
置される構成のシステムにおいて、ソフトウェア側での
バンク切り換え管理の負担が軽減され、プログラム作成
の効率を向上させることができるようになることは明ら
かである。
【0008】本発明の課題は、プログラムの命令コード
が格納されているバンクメモリからデータが格納されて
いるバンクメモリへバンク切り換えを行っても、プログ
ラムの命令コードのフェッチのときだけは、上記プログ
ラムの命令コードが格納されているバンクメモリから当
該命令コードが読み出すことができるようにすることで
ある。
【0009】
【課題を解決するための手段】この発明の手段は次の通
りである。この発明は、プログラムの命令コードとデー
タ領域が互いに異なるバンクメモリ1(図1のブロック
図を参照、以下同じ)に格納されているシステムにおけ
るプログラムの実行方式を前提とする。バンク切換手段
2は、CPU3から出力される命令コードを読み出すた
めの命令フェッチ信号fと複数のバンクメモリ1−1,
1−2,・・・1−Nの内から一つのバンクメモリ1−
i(i=1,2,・・・N)を指定するバンク指定信号
Sとに基づいて、命令フェッチサイクル時には、現在C
PUが実行中のプログラムの命令コードが格納されてい
るバンクが強制的に選択されるように制御する。
【0010】
【作用】この発明の手段の作用は次の通りである。CP
U3は、命令フェッチサイクル時において、バンク切換
手段2に対して、現在実行中のプログラムの命令コード
を読み出すためのフェッチ信号fと上記複数のバンクメ
モリの内から一つのバンクメモリを指定するためのバン
ク指定信号Sを出力する。バンク切換手段2は上記2つ
の信号に基づき命令フェッチサイクル時には、CPU3
が現在実行中のプログラムの命令コードが格納されてい
るバンクメモリ1−i(i=1,2,・・・N)を強制
的に選択する。したがって、プログラムの命令コードが
格納されているバンクメモリからデータが格納されてい
るバンクメモリへバンク切り換えを行っても、プログラ
ムの命令コードのフェッチのときだけは、上記プログラ
ムの命令コードが格納されているバンクメモリから当該
命令コードが読み出される。
【0011】
【実施例】以下、図2〜図4を参照して一実施例を説明
する。図2は、複数のバンクメモリを有するコンピュー
タのシステム構成図である。
【0012】同図において、CPU21はマイクロプロ
セッサ等からなり、特には図示しない内蔵のメモリに格
納されたマイクロプログラムに従って動作し、システム
全体を制御する。また、CPU21には信号線Aならび
にBを介してバンクコントロール部22が接続されてお
り、さらにまた、アドレスバスCならびにデータバスD
を介してCPU21の主記憶であるバンクメモリ(M
1)23、バンクメモリ(M2)24、およびバンクメ
モリ(M3)25が接続されている。
【0013】バンクコントロール部22はデコーダ等か
らなり、上記CPU21以外に、それぞれ信号線E−
1、E−2、及びE−3を介して、メモリ(M1)2
3、メモリ(M2)24、及びメモリ(M3)25に接
続されている。そして、CPU21から入力するバンク
セレクト信号a及び命令フェッチ信号bをデコードし
て、後述するメモリセレクト信号e1 、e2 またはe3
のいずれか1つをONにして上記バンクメモリ(M1)
23、(M2)24、または(M3)25の何れか1つ
を選択する。
【0014】バンクメモリ(M1)23、バンクメモリ
(M2)24、およびバンクメモリ(M3)25は、R
AM(ランダム・アクセス・メモリ)等からなるメモリ
チップであり、それぞれバンクメモリ1,2,3が割り
当てられている。そして、バンクメモリ(M1)23に
はプログラムの命令コードが格納されており、メモリ
(M2)24、およびメモリ(M3)25には上記プロ
グラムが使用するデータが格納されている。各バンクメ
モリ23〜25は、バンクコントロール部22から加わ
るメモリセレクト信号e1 、e2 またはe3 の入力に応
じて切り換え選択される。例えばメモリM1セレクト信
号e1 がアクティブであればメモリ(M1)23が選択
され、そのバンクメモリ(M1)23のアドレスバスC
上に出力されているアドレスデータに対応するアドレス
に格納されているプログラムの命令コードがデータバス
D上に出力され、CPU21により読み込まれる。ま
た、例えばメモリM2セレクト信号e2 がアクティブで
あればメモリ(M2)24が選択され、そのメモリ(M
2)24のアドレスバスC上に出力されているアドレス
データに対応するアドレスに格納されているデータがデ
ータバスD上に出力され、CPU21により読み出され
る。
【0015】図3に、上記CPU21から出力されるバ
ンクセレクト信号aおよび命令フェッチ信号bに対応す
る、バンクコントロール部22の動作、即ちONとなる
メモリセレクタ信号e1 、e2 またはe3 、及びONと
なるそれらのメモリセレクト信号e1 、e2 、e3 によ
り選択(セレクト)されるメモリ(M1)23、(M
2)24、又は(M3)25を示す。
【0016】同図に示すように、バンクセレクト信号a
がバンクメモリ1をセレクトしているときに、命令フェ
ッチ信号bがONならば、メモリセレクト信号e1 がO
Nとなり、バンクメモリ(M1)23がセレクトされ
る。また、命令フェッチ信号bがOFFであれば、バン
クセレクト信号aがバンク1をセレクトしていることに
よって、この場合もメモリセレクト信号e1 はONとな
り、バンクメモリ(M1)23がセレクトされる。
【0017】そして、バンクセレクト信号aがバンク2
をセレクトしているときは、命令フェッチ信号bがON
なら、メモリセレクト信号e1 がONとなって、バンク
メモリ(M1)23がセレクトされる。しかし、命令フ
ェッチ信号bがOFFであれば、メモリセレクト信号e
2 がONとなって、バンクセレクト信号aによりセレク
トされているバンクメモリ(M2)24がセレクトされ
る。
【0018】同様に、バンクセレクト信号aがバンク3
をセレクトしているときは、プログラムフェッチ信号b
がONならば、メモリセレクト信号e1 がONとなっ
て、バンクメモリ(M1)23がセレクトされる。そし
て、プログラムフェッチ信号bがOFFであれば、メモ
リセレクト信号e3 がONとなって、バンクセレクト信
号aによりセレクトされているバンクメモリ(M3)2
5がセレクトされる。
【0019】このように、バンクセレクト信号aがいず
れのバンクメモリM1、M2、又はM3をセレクトして
いても、プログラムフェッチ信号bがONであれば、メ
モリセレクト信号e1 は常にONに設定され、プログラ
ムの命令コードが格納されているバンクメモリ(M1)
23が強制的にセレクトされる。一方、プログラムフェ
ッチ信号bがOFFのときは、バンクセレクト信号aに
より指定されるバンクに対応するバンクメモリが、その
ままセレクトされる。
【0020】次に、上記バンクコントロール部22を介
しCPU21により行われるバンクメモリ(M1)21
に格納されているプログラムの実行動作を、図4のタイ
ムチャートを参照しながら説明する。
【0021】同図において、(a) は命令のフェッチ、命
令の実行の各マシンサイクルを交互に繰り返すCPU2
1の動作を示すタイムチャート、(b) は例えば2ビット
で構成されバンク1〜バンク3の中からいずれか1つを
指定するバンクセレクト信号aのタイムチャートであ
る。さらに、(c) は命令のフェッチ時にON、命令の実
行時にOFFとなる命令フェッチ信号bのタイムチャー
ト、(d) はメモリセレクト信号e(e1 ,e2 ,e3
のタイムチャートである。このメモリセレクト信号e
は、前述したように、命令フェッチ信号bがONのとき
は、常に信号e1 がON(アクティブ)となり、プログ
ラムフェッチ信号bがOFFのときはバンクセレクト信
号aの指定に従って、信号e1 、e2 、またはe3 のい
ずれか1つがON(アクティブ)となる。
【0022】上記命令フェッチ信号bは、特には図示し
ないクロックにより制御されており、ON/OFFを交
互に繰り返し、CPU21は、この命令フェッチ信号b
に同期して、プログラムの命令コードのフェッチ(命令
フェッチ信号bのONのとき)、その命令コードの実行
(命令フェッチ信号bがOFFのとき)を交互に繰り返
す(同図(a)、(c) 参照)。
【0023】同図において、CPU21は時間t0 〜t
1 の期間、バンクセレクト信号aによりバンク1(バン
クメモリ(M1)21)をセレクトする。このバンク1
のセレクト期間、バスコントロール部22はメモリセレ
クト信号eを、命令フェッチ信号bのON/OFF状態
に係わらず、常に、セレクト信号e1 をONに設定しバ
ンクメモリ(M1)23がセレクトされるよう制御する
(同図(b),(c),(d) ,及び図3参照)。
【0024】このため、プログラムの命令コードが格納
されているバンクメモリ(M1)23がセレクトされて
いる期間(t0 〜t1 )、CPU21は、バンクメモリ
(M1)23に格納されているステップ2からステップ
4までの命令コードを順次フェッチし、そのフェッチし
た命令を逐次実行する(同図(a) 参照)。そして、ステ
ップ4のバンク2への切り換え命令の実行により、バン
クセレクト信号aをバンク2(メモリ(M2)24)を
セレクトする値に変化させる(同図(b) 参照)。
【0025】これに応じて、バスコントロール部22
は、メモリセレクト信号e1 をONからOFFに変化さ
せると共に、メモリセレクト信号e2 をOFFからON
に変化させる。そして、このことにより、セレクトされ
るバンクがバンクメモリ(M2)24に切り替わり(同
図(a)、(d) 参照)、CPU21は、メモリ(M2)24
から当該データを読み出す。
【0026】次に、ステップ5の命令コードのフェッチ
のために命令フェッチ信号bがONとなると、バスコン
トロール部22は、メモリセレクト信号e1を再びON
に変化させる(同図(c)、(d) 参照)。そして、このこと
により、CPU21は、ステップ5の命令フェッチサイ
クルで、バンク1であるメモリ(M1)23からステッ
プ5の命令コードをフェッチする。
【0027】そして、次の命令実行サイクルでのステッ
プ5の命令コード実行時には、命令フェッチ信号bがO
FFとなり、一方バンクセレクト信号aがバンク2をセ
レクトしたままであるので(同図(b),(c) 参照)、メモ
リセレクト信号e2 がONとなり(同図(d) 参照)、C
PU21は、バンクメモリ(M2)24から当該データ
を読み出す。さらに、次の命令フェッチサイクルでは、
再びメモリセレクト信号e1 がONとなるので、CPU
21は、バンクメモリ(M1)23からステップ6の命
令コードをフェッチする。
【0028】このように、本実施例においては、命令コ
ードを読み出すマシンサイクルである命令フェッチサイ
クルを指定する命令フェッチ信号bがONのときは強制
的にバンク1のメモリ(M1)23をセレクトし、プロ
グラムの命令コードのフェッチを常にプログラムの命令
コードが格納されているバンクメモリ(M1)23から
強制的に行なわれるようにハードウェアにより制御する
ので、データ領域として使用されているバンクに切り換
えた後、ソフトウェア命令によりプログラムの命令コー
ドが格納されているバンクメモリ(M1)へのバンク切
り換えを行わなくても、CPU21が命令コードの代り
にデータをフェッチして暴走することはなくなる。そし
てまた、この実施例におけるバンク切り換え制御は、C
PUが命令フェッチサイクルにおいてONとするフェッ
チ信号bを用いたハードウェア論理回路により行われる
ので、データ格納域として使用されているバンク2また
はバンク3への切り換えを行ったとき、命令フェッチを
行う毎にバンク1への切り換えを行う命令をコーディン
グする必要はなくなるので、プログラム作成の負担が大
幅に軽減されると共に、バンク切り換え命令を削減でき
る分、高速処理が可能となる。
【0029】尚、上記実施例では、バンクメモリを3個
使用しているが、本発明は、これに限定されることな
く、任意の数のバンクメモリを用いたシステムに適用可
能である。
【0030】
【発明の効果】この発明によれば、プログラムの命令コ
ードが格納されているバンクメモリからデータが格納さ
れているバンクメモリへバンク切り換えを行っても、プ
ログラムの命令コードのフェッチのときだけは、上記プ
ログラムの命令コードが格納されているバンクメモリか
ら当該命令コードを読み出すので、異なるバンクメモリ
上にプログラムの命令コードとデータ領域とが分離して
配置される構成のシステムにおいて、ソフトウェア側で
のバンク切り換え管理の負担が軽減され、プログラム作
成の効率を向上させることができる。
【図面の簡単な説明】
【図1】本発明のブロック図である。
【図2】一実施例のシステム構成図である。
【図3】バンクセレクト信号a、命令フェッチ信号b、
およびメモリセレクト信号eの状態と、セレクトされる
バンクメモリとの関係を示す図である。
【図4】CPU及びバスコントロール部の動作を説明す
るタイムチャートである。
【図5】CPUのメモリ空間とバンクメモリとの関係を
説明する図である。
【図6】従来の、バンクメモリの切り換え動作を説明す
る図である。
【符号の説明】
1(1−1,1−2,・・・1−N) バンクメモリ 2 バンク切換手段 3 CPU f 命令フェッチ信号 sバンク指定信号

Claims (1)

  1. 【特許請求の範囲】 【請求項1】 プログラムの命令コードとデータ領域
    が、互いに異なるバンクメモリに格納されているシステ
    ムにおけるプログラム実行方式において、 CPUから出力される命令コードを読み出すための命令
    フェッチ信号と複数のバンクメモリの内から一つのバン
    クメモリを指定するバンク指定信号とに基づいて、命令
    フェッチサイクル時には、現在CPUが実行中のプログ
    ラムの命令コードが格納されているバンクメモリが強制
    的に選択されるように制御するバンク切換手段を有する
    ことを特徴とするプログラム実行方式。
JP16723691A 1991-07-08 1991-07-08 プログラム実行方式 Pending JPH0512107A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16723691A JPH0512107A (ja) 1991-07-08 1991-07-08 プログラム実行方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16723691A JPH0512107A (ja) 1991-07-08 1991-07-08 プログラム実行方式

Publications (1)

Publication Number Publication Date
JPH0512107A true JPH0512107A (ja) 1993-01-22

Family

ID=15845985

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16723691A Pending JPH0512107A (ja) 1991-07-08 1991-07-08 プログラム実行方式

Country Status (1)

Country Link
JP (1) JPH0512107A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000056982A (ja) * 1998-05-04 2000-02-25 Internatl Business Mach Corp <Ibm> 非持続メモリ内にオブジェクトを作成する方法および装置、ならびにオブジェクトへのアクセス可能性を維持する方法
US8142084B2 (en) 2005-12-14 2012-03-27 Panasonic Corporation Method for manufacture of dome cover, dome cover, and dome-type camera

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000056982A (ja) * 1998-05-04 2000-02-25 Internatl Business Mach Corp <Ibm> 非持続メモリ内にオブジェクトを作成する方法および装置、ならびにオブジェクトへのアクセス可能性を維持する方法
US6772171B1 (en) 1998-05-04 2004-08-03 International Business Machines Corporation Method and device for creating an object in a non-persistent memory and/or keeping accessibility to said object
US8142084B2 (en) 2005-12-14 2012-03-27 Panasonic Corporation Method for manufacture of dome cover, dome cover, and dome-type camera

Similar Documents

Publication Publication Date Title
JPH0916462A (ja) データ処理装置および処理方法
EP0163279B1 (en) Vector processor
JPH05165718A (ja) 処理システム
JPH0512107A (ja) プログラム実行方式
JPS5844263B2 (ja) 記憶制御回路
JP3349942B2 (ja) 命令メモリ回路
JPH01233537A (ja) キャッシュメモリを備えた情報処理装置
US6772271B2 (en) Reduction of bank switching instructions in main memory of data processing apparatus having main memory and plural memory
US5933856A (en) System and method for processing of memory data and communication system comprising such system
JP3507193B2 (ja) ロード・ストア命令処理装置
JPH01177145A (ja) 情報処理装置
KR200204909Y1 (ko) 분할된 내부 코드 메모리를 갖는 마이크로컨트롤러
JP2003196087A (ja) マイクロコントローラのメモリアドレッシング方法及びページマッピング装置
JP2845746B2 (ja) マイクロプログラム制御装置
JPH06103056A (ja) アドレス制御装置
JP3392413B2 (ja) 2レベルマイクロ制御方式及び方法
JP2982129B2 (ja) マイクロプログラム制御装置
JPS6126701B2 (ja)
JPH0683986A (ja) シングルチップ・マイクロコンピュータ
JPH0778730B2 (ja) 情報処理装置
JPS603656B2 (ja) 計算機のメモリ拡張方式
JPH08297583A (ja) 割り込み処理装置およびその方法
JPH01269140A (ja) メモリ拡張回路
JPS631623B2 (ja)
JPH07152630A (ja) ディジタルシグナルプロセッサ