JPS63226734A - メモリ制御方式 - Google Patents

メモリ制御方式

Info

Publication number
JPS63226734A
JPS63226734A JP6146187A JP6146187A JPS63226734A JP S63226734 A JPS63226734 A JP S63226734A JP 6146187 A JP6146187 A JP 6146187A JP 6146187 A JP6146187 A JP 6146187A JP S63226734 A JPS63226734 A JP S63226734A
Authority
JP
Japan
Prior art keywords
stack
memory
address
area
subprogram
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
JP6146187A
Other languages
English (en)
Inventor
Masatoshi Kumagai
熊谷 昌敏
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP6146187A priority Critical patent/JPS63226734A/ja
Publication of JPS63226734A publication Critical patent/JPS63226734A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔目次〕 概要 産業上の利用分野 従来の技術(第4図、第5図) 発明が解決しようとする問題点 問題点を解決するための手段(第1図)作用 実施例(第2図、第3図) 発明の効果 〔概要〕 プロセッサ(以下CPU)と主記憶を備えたデータ処理
装置において、スタックメモリとアドレス変換部を設け
、主記憶の特定領域をスタックメモリの任意の領域に設
定出来るようにしたものである。
〔産業上の利用分野〕
この発明はメモリ制御方式に係り、特に通常の主記憶の
他にスタックメモリを備えたデータ処理システムに関す
る。
〔従来の技術〕
例えば8ビツト・プロセッサ等のようなそのアドレス空
間が小さいデータ処理装置では、このアドレス空間を超
えるメモリを実装する手段としてバンク切り替え方式が
ある。これは、例えば第4図に示すように主記憶MMと
バンクメモリM1、M2、M3を具備して別のレジスタ
に記入するセレクトビットにより主記憶MMのバンク部
MM1、バンクメモリMl M2、M3のいずれかを選
択し、アドレスによりアクセスするものである。この場
合、主記憶MMのコモン部MMOは、一般的には常駐プ
ログラム格納領域やスタック領域として使用される。バ
ンク切替方式によれば大量のメモリが使用可能となるス
タック領域の利用法は次のとおりである。
例えば第5図(a)に示す如く、主プログラムが実行さ
れているときスタックポインタSPはスタック領域のア
ドレスa0を指している。主プログラムの実行中にサブ
プログラム5ublが呼出されるとき、第5図(b)に
示す如く、スタックポインタSPは第5図(b)の■で
示す如くアドレスa、を指示するように変更される。a
1〜a。の範囲をこのサブプログラム5ublが使用す
る一時変数領域とし、さらにこのサブプログラム5ub
lの実行中にサブプログラム5ub2が呼出されると、
スタックポインタSPは■のように変更されてスタック
領域のアドレスa2を指示し、a2〜a、の範囲をサブ
プログラム5ub2が使用する一時変数領域とする。そ
してこのサブプログラム5ub2が終了すれば、スタッ
クポインタSPは、第5図(b)の■で示す如く、変更
されて再びアドレスa、を指示する。さらにサブプログ
ラム5ublが終了すれば、スタックポインタspは、
第5図(b)の■で示す如く、変更されて再びアドレス
a0を指示するものとなる。
一時変数領域には、親プログラムへの戻り番地、親プロ
グラムからサブプログラムへ引渡す情報、サブプログラ
ム内でのみ使用する一時的情報などが格納される。サブ
プログラムの呼び出しが行われるたびにスタック領域が
消費されるが、再帰的呼び出しく自分自身を呼び出すこ
と)が含まれていると、呼び出しの入力子が深くなり、
大量のスタック領域が消費されることがある。
〔発明が解決しようとする問題点〕
バンク切り換え方式によると大量のメモリを使用可能で
あるが、一方、使用方法が非常に複雑であり、プログラ
ムが作りにくくなるという欠点がある。特に高級言語に
より使用する場合には、コンパイラがこれを使用して自
動的にメモリを管理することが必要となり、コンパイラ
の作成が非常に難しい。このように高級言語との整合性
がよくないという問題点がある。
また、従来ではスタック領域として相当大きな領域をコ
モン領域に確保しなければならなかったが、コモン領域
は常駐プログラムの格納等種々の用途のために必要であ
り、大きなスタック領域が確保できにくいという問題点
がある。しかも呼び出しの深さは予測しにくいものであ
るが、しかし常に不要にスタック領域を大きくとること
は問題がある。
従って本発明の目的は、前記問題点を解決するために、
スタック領域用の外部メモリ回路を設け、実質的に使用
する領域を容易に拡張するようにしたメモリ制御方式を
提供することである。
〔問題点を解決するための手段〕
前記目的を達成するため、本発明では、第1図に示す如
く、主メモリMと、スタック用メモリSMを設け、中央
処理装置からみたアドレス空間■MのうちA、〜A2を
スタック領域とする。そしてこのスタック領域の先頭ア
ドレスA、をスタック用メモリSMのアドレスSAに対
応させ、このアドレスSAを適宜選択できるように構成
する。
このスタック領域の先頭アドレスA、及び終了アドレス
A2は例えばスタック開始番地レジスタ3及びスタック
終了番地レジスタ4に記入しておく。
〔作用〕
スタック用メモリSMのアドレスSAは、例えば開始番
地レジスタ5に適宜記入する等の手段により選定するこ
とができるので、スタック用メモリSMをスタック領域
として広く使用することができ、そのアドレスSAの選
定も容易に行うことができる。
〔実施例〕
本発明の一実施例を第2図及び第3図にもとづき他国を
参照して説明する。
第2図は本発明の一実施例構成図、第3図はその動作説
明図である。
図中、1はCPU、2はレジスタ設定部、3はスタック
開始番地レジスタ、4はスタック終了番地レジスタ、5
は開始番地レジスタ、6はアドレス変換部、7は入出力
装置である。
レジスタ設定部2は前記スタック開始番地レジスタ3、
スタック終了番地レジスタ4、開始番地レジスタ5にそ
れぞれアドレスを設定するものである。
スタック開始番地レジスタ3にはCPUIよりみた主メ
モリMにおけるスタック領域の開始番地A+が記入され
るものである。
スタック終了番地レジスタ4には、CPUIよりみた主
メモリMにおけるスタック領域の終了番地A2が記入さ
れるものである。
開始番地レジスタ5には、スタック用メモリSMにおけ
るスタック領域の開始番地SAが記入されるものである
アドレス変換部6は、メモリMへのアクセス先がアドレ
スA、〜A2のスタック領域の場合にこれをスタック用
メモリSMへのアドレスに変換したり主メモリMまたは
スタック用メモリSMに対しアクセス可/不可信号(d
isable)を出力するものである。
次に、第2図に示す本発明の動作について、第5図(a
)に示す如き状態のプログラムを遂行する場合に対し説
明する。
■ 第2図において、CPU1が主プログラムを実行中
に、第5図(a)に示す、サブプログラム5ublに分
岐するとき、CPUIはそのスタック領域のアクセス先
、例えばA、を出力、する、アドレス変換部6はこのA
Iが、スタック開始番地レジスタ5に記入されたスタッ
ク領域の開始番地A、とスタック終了番地レジスタ4に
記入されたスタック領域の終了番地A2の範囲内のもの
か、つまりスタック領域アクセス用のアドレスか否かを
判断する。この場合、A1はスタック領域内であるので
、アドレス変換部6は開始番地レジスタ5に記入されて
いるスタック用メモリSMのスタック開始番地SAIに
変換し、スタック用メモリSMに対してこの変換したア
ドレスとアクセス可信号を出力し、主メモリMに対しア
クセス不可信号を出力する。これによりスタック用メモ
リSMのアドレスSA、より第3図に示すaoの範囲の
領域がサブプログラム5ublが使用する一時変数領域
として使用され、例えば主プログラムに対する戻り先番
地などが記入される。
■ ところでCPUIがサブプログラム5ublの実行
中において、さらにサブプログラム5ub2を実行する
ために一時変数領域が必要になりスタック領域が不足し
た場合、CPUIは開始番地レジスタ5の内容をS A
 zに変更しSMの新たな領域を使用することができる
(第3図■)。主メモリMのスタック領域内を指示する
アドレスを出力する。これに応じてアドレス変換部6は
開始番地レジスタ5に記入されているアドレスSA2を
使用して変換したアドレスとアクセス可信号をスタック
用メモリSMに出力する。これによりアドレスSA2〜
SAIの領域がサブプログラム5ub2の使用する一時
変数領域として使用され、またサブプログラム5ubl
に対する戻り番地が記入される。
■ そしてサブプログラム5ub2による処理が終了す
ると、その一時変数領域に記入された戻り先番地により
サブプログラム5ublが再び実行される。また開始番
地レジスタ5にはスタック用メモリSMのアドレスSA
、が記入される。
■ サブプログラム5ublの動作が終了すると、その
一時変数領域に記入されに戻り番地により主プログラム
が再び実行されることになる。
このように主メモリと別に具備したスタック用メモリS
Mへのアクセス先を開始番地レジスタ5に書込むことに
よりスタック用メモリSMを広く使用することが可能と
なる。
一般に、プログラム実行中に動的にメモリ領域を確保す
る方法の1つとしてサブプログラムごとにその一時変数
領域をスタック上にとることは、特に高級言語において
よく行われている。しかしながら、この方法によるとサ
ブプログラムの呼び出しを繰り返すと、スタックがかな
り深くなるということもあるため、大きめのスタック領
域を確保しておかなければならない。この場合、主記憶
上でプログラムやデータを格納するために使用できる領
域が小さくなってしまうことになる。
本発明によると、主記憶上での見かけ上のスタック領域
は小さいが、実質的には大量の領域を使用することがで
きる。またサブプログラム呼び出しを行った時に必要に
応じて開始番地レジスタを書きかえるだけでメモリの制
御を行えるので、前述のバンク切替方式に比較して使用
するのが非常に簡単である。
〔発明の効果〕
本発明によれば、メモリの限られたアドレス空間の多く
をつぶすことなく、高級言語からも容易に使用できる、
大容量のスタック領域を実現することができ、大きなプ
ログラムを実行できるようになる。
【図面の簡単な説明】
第1図は本発明の原理説明図、 第2図は本発明の一実施例構成図、 第3図は本発明のスタック領域使用状態説明図、第4図
はバンク切替説明図、 第5図はスタック領域の使用法説明図である。 1−プロセッサ   2− レジスタ設定部6−アドレ
ス変換部 本発明の原yi図 第1図 7−−2   アドレス 本発明の一実施例 第2図 スダヅク便閂状悠説明記 バンク切替説明已 第4図 (α) スダッグ 第 慟1(y姑りのイ受m 法 5図

Claims (1)

  1. 【特許請求の範囲】 プロセッサと主記憶手段(M)を備えたデータ処理シス
    テムにおいて、 スタックメモリ手段(SM)と、 スタック開始番地保持手段(3)と、 スタック終了番地保持手段(4)と、 前記スタックメモリ手段における番地を示す開始番地保
    持手段(5)を備え、 前記主記憶手段の特定領域を前記スタックメモリ手段の
    任意の領域に置き換えるようにしたことを特徴とするメ
    モリ制御方式。
JP6146187A 1987-03-17 1987-03-17 メモリ制御方式 Pending JPS63226734A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6146187A JPS63226734A (ja) 1987-03-17 1987-03-17 メモリ制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6146187A JPS63226734A (ja) 1987-03-17 1987-03-17 メモリ制御方式

Publications (1)

Publication Number Publication Date
JPS63226734A true JPS63226734A (ja) 1988-09-21

Family

ID=13171695

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6146187A Pending JPS63226734A (ja) 1987-03-17 1987-03-17 メモリ制御方式

Country Status (1)

Country Link
JP (1) JPS63226734A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5607827A (en) * 1994-10-31 1997-03-04 Minnesota Mining & Manufacturing Silver halide photographic material comprising pyridinium carbamoyl hardeners

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5607827A (en) * 1994-10-31 1997-03-04 Minnesota Mining & Manufacturing Silver halide photographic material comprising pyridinium carbamoyl hardeners

Similar Documents

Publication Publication Date Title
US4777588A (en) General-purpose register file optimized for intraprocedural register allocation, procedure calls, and multitasking performance
KR950033859A (ko) 부동 소숫점 유니트에서의 다이나믹 레지스터 관리 장치 및 방법
KR960001993A (ko) 메모리 관리 방법, 마이크로커널 구조 데이타 프로세싱 시스템, 운영 체제 퍼스낼리티 시스템 동작 방법, 퍼스낼리티 뉴트럴 서비스 프로그램 실행 방법 및 응용 프로그램 실행 방법
KR870011524A (ko) 마이크로프로세서칩의 스택프레임캐시
JPS61148551A (ja) アドレス変換方式
JPS6259812B2 (ja)
KR19990037571A (ko) 단일 주기 내에 간접 어드레싱 모드 어드레스를 출력하는 데이터 포인터 및 그 제공방법
JPS63226734A (ja) メモリ制御方式
KR20000003404A (ko) 외부 메모리 억세스를 위한 마이크로컨트롤러
JPS6220583B2 (ja)
JPS6273347A (ja) アドレス変換装置
JP2507314B2 (ja) リンケ−ジコンベンシヨン方法
JPS61276029A (ja) スタツク制御方式
JPS63237143A (ja) プログラマブルコントロ−ラ
JPS6031646A (ja) デ−タ処理装置
JPS63118852A (ja) 仮想記憶装置の制御方式
JPS60214040A (ja) デ−タ処理装置
JPS63263700A (ja) メモリ制御装置
JPS61190386A (ja) 表示制御方式
JPH0836522A (ja) メモリ制御方式
JPS5897755A (ja) 情報処理装置
JPS6061851A (ja) 入出力処理装置
JPH03204061A (ja) マイクロプロセッサ
JPS62154143A (ja) マイクロコンピユ−タ
JPH04333153A (ja) データ処理装置