JPH01149135A - メモリ管理方式 - Google Patents

メモリ管理方式

Info

Publication number
JPH01149135A
JPH01149135A JP30763587A JP30763587A JPH01149135A JP H01149135 A JPH01149135 A JP H01149135A JP 30763587 A JP30763587 A JP 30763587A JP 30763587 A JP30763587 A JP 30763587A JP H01149135 A JPH01149135 A JP H01149135A
Authority
JP
Japan
Prior art keywords
address
program
counter
memory
processing
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
JP30763587A
Other languages
English (en)
Inventor
Kazuya Sako
和也 佐古
Masaaki Nagami
正明 永海
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.)
Denso Ten Ltd
Original Assignee
Denso Ten 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 Denso Ten Ltd filed Critical Denso Ten Ltd
Priority to JP30763587A priority Critical patent/JPH01149135A/ja
Publication of JPH01149135A publication Critical patent/JPH01149135A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、メモリ管理方式に関し、より詳細には、ビン
数の比較的少ないチップ(マイクロプロセッサ)を用い
て複数のチップ(外部メモリ)に対しメモリアクセスを
行う場合のメモリ管理技術に関する。
〔従来の技術、および発明が解決しようとする問題点〕
特定用途用に対応化されたマイクロプロセッサは、汎用
のマイクロプロセッサに比べ、その処理の内容がそれ程
多岐に亘っていないので、比較的少ないビン数で所要の
機能を実現することができる。ところがその反面、複数
の外部メモリを管理する場合にはメモリアクセスに使用
できるビン数が少ないため、アクセス可能なアドレス空
間が限定されるという不都合がある。
しかしながら、ハードウェア上の簡素化および回路規模
の縮小化に対する昨今の要望とあいまって、このような
ビン数の少ないチップを種々の回路、装置等において用
いた場合でも、出来ることならアドレス空間を拡張して
使いたいという要望がある。従来知られているメiす管
理方式の一例として、マイクロプロセッサ内の特定のア
ドレスを用いて外部のハードウェアを制御し、それによ
って複数のメモリのアドレス空間、すなわちバンクの切
換を行うようにした方式がある。
この方式の一例が第5図に示される。第5図の例示は、
2つのメモリ領域(バンク)AおよびBを切換える場合
を示している。従来の方式ではバンク毎にタスク管理を
行い使用するのが一般的であったので、例えばメインル
ーチンをバンクAに置き、更に別の複数のサブルーチン
をバンクBに置くと、このサブルーチンを自由にコール
(CALL)するのは困難であった。これを行うために
は、第5図に示されるように各処理■、■の終わりのア
ドレスの部分に「バンク切換命令」をプログラムしてお
く必要がある。
ところがこの方式では、バンクAにおいて処理■を実行
した後、アドレスr1000Jにおいてバンク切換を行
うと、バンク切換後のバンクBにおける実行アドレスは
、バンク切換時点で処理を実行していた元のバンクAの
アドレスの次のアドレスrlo01Jにならざるを得な
い。従って、メモリ領域上に各処理をプログラムする場
合にプログラム配置上の自由度に欠けるという問題があ
った。
また、行うべき処理がプログラムされていない無駄なメ
モリ領域がバンク切換命令の前後で必然的に存在する(
例えばバンクBにおけるアドレスr0000J J〜r
l O00Jの部分)ので、メモリ空間を有効に利用す
るという観点から好ましいとは言えなかった。
さらに、ハードウェア上の切換動作がソフトウェア上の
切換命令実行中に行われる可能性があり、それによって
マイクロプロセッサが暴走状態になる危険性があった。
これを回避するためには、通常、バンク切換命令の後に
rNo 0Peration命令」を追加する必要があ
り、あるいは外部ハードウェア上で実行タイミング管理
等の配慮を払う必要があり、これは、上述したメモリ空
間の有効利用という観点から好適な方法とは言えない。
本発明の主な目的は、上述した従来技術における問題点
に鑑み、比較的簡易な構成で、有限のアドレス空間を可
能な限り拡張して利用することができるメモリ管理方式
を提供することにある。
本発明の他の目的は、メモリ領域上においてプログラム
配置に自由度を与え、アドレス空間の切換時にマイクロ
プロセッサ等の処理装置が暴走する可能性を皆無にする
ことができるメモリ管理方式を提供することにある。
〔問題点を解決するための手段〕
本発明によれば、N個の外部メモリと、内部メモリ及び
プログラムカウンタを有し、該プログラムカウンタによ
るアドレス更新に基づき前記外部メモリに書込まれたプ
ログラムに従って処理を実行する処理装置と、該処理装
置の処理実行中における特定のアドレスを検出してパル
スを出力するアドレス検出手段と、該アドレス検出手段
から出力されたパルスに応答して所定値からカウントア
ンプまたはカウントダウンを行い、N番目のパルスに応
答して該所定値に戻るようカウント動作を行うカウンタ
とを具備し、該カウンタの内容に応じて前記N個の外部
メモリから任意の1個を選択するようにしたことを特徴
とするメモリ管理方式が提供される。
〔作 用〕
上述した構成によれば、成る外部メモリのアドレス空間
に対して処理装置が所定の処理を行なっている過程にお
いて、特定のアドレスに到達した時点でカウンタが1ず
つカウントアツプまたはカウントダウンを行い、それに
よって次の外部メモリが自動的に選択されるようになっ
ている。つまり、カウンタの内容に応じてN個の外部メ
モリが順次選択され、処理装置からのメモリアクセスが
可能となるようになっている。
このように本発明のメモリ管理方式は、比較的簡易構成
でありながら、有限のアドレス空間を拡張して利用可能
とするものである。
なお、本発明の他の構成上の特徴および作用の詳細につ
いては、添付図面を参照しつつ以下に記述する実施例を
用いて説明する。
〔実施例〕
第1図には本発明のメそり管理方式を実現するだめの装
置の一実施例の構成がブロック的に示される。
第1図において、1〜7はそれぞれメモリ領域(以下、
バンクと称する)であって、それぞれ同じ容量を有して
いる。各バンクは例えば16ビツトのアドレスバスAD
BおよびデータバスDBを介してマイクロプロセッサ1
0に接続されており、このマイクロプロセッサ10は後
述のデータメモリ (内部RAM)11とプログラムカ
ウンタ12を内蔵している。
プログラムカウンタ12は、外部メモリのバンク1〜7
の中のいずれか1つに書込まれたプログラムに従ってマ
イクロプロセッサ10が所定の処理を実行中にそのアド
レスの更新を行う機能を有しており、例えば最終アドレ
スに達すると自動的に最初のアドレス、すなわち0番地
に戻るようになっている。
アドレスバスADBには第1バンク1〜第7ハンク7と
並列にアドレスデコーダ8が接続され、このアドレスデ
コーダ8は、マイクロプロセッサ10における処理が特
定のアドレス(本実施例では最終アドレス)に達したこ
とを検知してクロックパルスCLKを出力する機能を有
している。この場合の検知は、前述のプログラムカウン
タ12の最終アドレスから最初のアドレスへの更新動作
時に行われる。
9はカウンタであって、本実施例では、アドレスデコー
ダ8から出力されたクロックパルスCLKの立下がりに
応答してその内容を+1ずつカウントアツプし、そのカ
ウントされた内容に応じて、第1パンク1〜第7バンク
7に対して順次制御信号CEI〜CE7を供給する機能
を有している。従って、カウンタ9のカウントアツプは
特定アドレスからその次のアドレスへ変化するタイミン
グで行われる。各バンクは、それぞれに対応の制御信号
CEI〜CIE7に応答して順次「選択」状態となり、
マイクロプロセッサ10からメモリアクセスされ得る状
態となる。カウンタ9の内容は、リセット状態すなわち
初期状態においては「1」であり、1番目のクロックパ
ルスCLKが入力された時点で「2」となり、以降同様
にして6番目のクロックパルスCLKが入力された時点
で「7」となり、7番目のクロックパルスCLKが入力
された時点で初期値rlJに戻るようになっている。従
って、アドレスデコーダ8からクロックパルスCLKが
7個出力される毎に、7個のバンク1〜7が繰り返し順
次選択されることになる。
13は周知のパワー・オン・リセット回路であって、ス
イッチSWの操作に基づくシステム電源の投入時すなわ
ち電圧の立上がり時に、マイクロプロセッサlOおよび
システム内の各回路(図示の例ではカウンタ9)に対し
てリセット信号RSTを供給する機能を有している。こ
の場合、リセット信号R5Tは、パワー・オン・リセッ
ト回路13内の積分回路等の作用により、電圧の立上が
り開始時から所定時間だけ遅延した時点で出力されるよ
うになっている。
第4図には前述したデータメモ1月1に格納されている
本発明に係るデータの内容例が示される。
図中、FAIは戻り(RETURN)アドレスを規定し
、該RETURNアドレスは、7個のバンク1〜7のう
ちいずれのバンクを指定するかを表わすデータ(バンク
No、)と該バンク内の分岐元アドレス(以下CADD
で表わす)データとからなっている。  PBIは各バ
ンクに規定されている実行用プログラムすなわちサブル
ーチンに特有の識別データを規定し、この場合にはサブ
ルーチン番号(SUB、No、)を規定している。なお
、SUB、No、・0という状態は実行用プログラムの
実行が終了した状態を指す。以下同様にして、RETU
RNアトL/ スPA2およびSUB、No、PO2(
7)組合せのデータが格納されるようなされている。
次に、第1図装置を用いてメモリ管理を行う場合の動作
について、第2図および第3図を参照しながら説明する
。なお、第2図は第1図装置におけるプロセッサの本発
明に係る処理のフローチャートを示し、第3図は第1図
装置によるメモリ管理方式の概念を示す。
リセット解除後は第6図に示すバンクl内の制御プログ
ラムが実行される。ステップ41ではリセット解除後で
ある旨を示すフラグをチエツクし、リセット解除直後(
フラグがセットされている)の場合、イニシャルプログ
ラム(ステップ43)ヲ実行してステップ44へ移る。
このとき前記フラグもリセットされる。また、ステップ
41でリセット解除直後でなければバンクlにおける制
御用プログラムC0NTが実行される(ステップ42)
ステップ44では、通常の処理Aが実行される。
処理“A”の中では、目的処理を実現するため1〜7バ
ンク内にある複数個のサブルーチン(実行用プログラム
)を呼び出す。
尚、同一バンク内に存在するサブルーチンの呼び出しに
おいては通常のサブルーチン呼び出しに従って行われる
が他のバンク内に存在するサブルーチンを呼び出す場合
は次のような方法に従って行われる。まず、データメモ
リ11内の最後に書込まれたSUS、No、 とRET
IJRN 7’ドL、スの後(7)SUB、No。
とRETURNアドレスにそれぞれ呼び出すサブルーチ
ンの5IIS、NO,とRETURNアドレスを書き込
み、その後″END″アドレスへのジャンプにより次の
バンク(バンク2)が指定されて、以後各バンクに格納
された制御用プログラムC0NTによって、指定された
サブルーチンが実行される。バンク2以降のそれぞれに
格納されたプログラムのフローチャートを第2図に示す
以下、第2図を参照し説明する。まずステップ21では
プロセッサ10は、制御用プログラムC0NTを起動さ
せる。
これによってステップ22では最後に書き込まれたSU
B、 No、=0 (YES)か 否(NO)かの判定
を行い、判定がYESの場合にはステップ31に飛び、
判定がN。
の場合にはステップ23に進む。ステップ23ではSU
B、No、が当該バンクの制御用プログラムC0NTに
登録されている(Yt!S)か否(NO)かの判定を行
い、判定がYESの場合にはステップ24に進み、判定
がNOの場合にはステップ27に飛ぶ。
ステップ24ではその登録されているSUB、No、を
コール(CALL) L、、次のステップ25では該S
UB、No。
に対応するプログラムを実行する。このプログラムを実
行した後、ステップ26においてデータメモリ11内の
該SUB、No、を0にクリアする。
ステップ27では最終アドレス、つまりENDにジャン
プさせる。この時、アドレスデコーダ8は最終アドレス
に到達したことを検知してクロックパルスCLKを出力
する。これによってカウンタ9の内容が+1カウントア
ツプされ、それまで選択状態にあったバンクが第2バン
クであったとするならば、該カウンタ9は、制御信号と
して今までのCH2の代わりにCH2を出力する。これ
によって次のバンク、すなわち第3バンクが選択される
(ステップ28および第3図参照)。以降、ステップ2
1に戻り、上述のプロセスを繰り返す。
一方、SUB、No、・0の場合にはステップ31にお
いて、最新のRETURNアドレス(バンクNo、  
十指定アドレス)が当該バンクを指示している(YES
)か否(NO)かの判定を行い、判定がYESの場合に
はステップ32に進み、判定がNOの場合にはステップ
27に飛ぶ。ステップ32では戻りアドレス、すなわち
CADDを次のアドレスCADD+1にしく第3図の第
1バンクlを参照)、さらにステップ33でそのアドレ
スCADDに対してジャンプし、呼び出されたアドレス
の次のアドレスから通常処理に移る。この様な処理をく
り返し、処理“A”が遂行されていく。
尚、通常処理に移る際にデータメモリIl内の該SUB
、No、とRET[IRNアドレスは消却され、以後、
その1つ前に書込まれたSUB、No、  とRETt
lRNアドレスが最新のデータとして扱われる。第3図
の例示は最初に選択されるバンクが第1バンク1である
場合を示すものであるが、これは、カウンタ9の初期値
rlJを適宜別の値に設定することにより容易に優先順
位を変えることができる。第1図の構成に示されるよう
に、本実施例では比較的簡易構成で、限られたアドレス
空間を拡張して利用することが可能となる。
また、複数のバンクを順次切り換えるための制御は、従
来形(第5図参照)のようにソフトウェア上の処理に基
づいて行われるのではなく、マイクロプロセッサの外部
に設けたカウンタの内容に基づいて行われるようになっ
ている。従って、メモリ領域上においてプログラムの配
置に自由度を与えることができると共に、バンク切換時
にマイクロプロセッサが「暴走状態」になる可能性を無
くすことができる。
上述した実施例ではマイクロプロセッサ10 (7) 
外部にアドレスデコーダ8を設け、該デコーダによりマ
イクロプロセッサの処理実行中における最終アドレスの
検知を行い、それに基づきクロックパルスCIJを発生
させてカウンタ9に供給するような構成を採ったが、そ
れに限らず、例えばマイクロプロセッサ内にアドレスデ
コーダと同様の機能を持たせることにより該デコーダを
不要とした構成を採ることも可能である。
この場合の構成例は第1図に破線で示される。
すなわち、マイクロプロセッサ10に制御用端子14を
設け、マイクロプロセッサが処理を実行中に最終アドレ
スに到達した時点で該制御用端子14にパルスCLK”
を出力するように構成すればよい。但し、この機能は、
マイクロプロセッサ内部のプログラムカウンタ12のキ
ャリー又はボロー出力をそのまま使用することができる
ので、アドレスデコーダ8を設ける必要がなく、構成が
非常に節単になる。
また、上述した実施例ではカウンタ9としてアップカウ
ンタを用いた場合について説明したが、これは、ダウン
カウンタを用いても同様の作用および効果を得ることが
できる。ただしこの場合、カウンタは、リセット状態す
なわち初期状態においてはカウンタ内容が「7」であり
、この時制御信号CEIを出力し、1番目のクロックパ
ルスCLKが入力された時点でカウンタ内容が「6」と
なって制御信号CE2を出力し、以降同様にして6番目
のクロックパルスCLKが入力された時点でカウンタ内
容がrNとなって制御信号CE7を出力し、7番目のク
ロックパルスCIJが入力された時点でカウンタ内容が
元の初期値「7」に戻り、再び制御信号CEIを出力す
るようになっている。
〔発明の効果〕
以上説明したように本発明のメモリ管理方式によれば、
比較的節易なハードウェア構成で、有限のアドレス空間
を可能な限り拡張して利用することができると共に、メ
モリ領域上においてプログラム配置に自由度を与え、ア
ドレス空間の切換時にマイクロプロセッサ等の処理装置
が暴走する可能性を無くすことができる。
【図面の簡単な説明】
第1図は本発明のメモリ管理方式を実現するための装置
の一実施例の構成を示すブロック図、第2図は第1図装
置におけるプロセッサの本発明に係る処理を説明するた
めのフローチャート、第3図は第1図装置によるメモリ
管理方式を説明するための図、 第4図は第1図におけるデータメモリに格納されている
本発明に係るプログラムを示す図、第5図は従来形にお
けるメモリ管理方式を説明するための図、 第6図は第1バンク内の処理を説明するためのフローチ
ャート、 である。 (符号の説明) 1〜7・・・外部メモリ (バンク)、8・・・アドレ
スデコーダ、 9・・・カウンタ、 10・・・処理装置(マイクロプロセッサ)、11・・
・内部メモリ、 12・・・プログラムカウンタ、 14・・・制御用端子。

Claims (1)

  1. 【特許請求の範囲】 1、N個の外部メモリと、内部メモリ及びプログラムカ
    ウンタを有し、該プログラムカウンタによるアドレス更
    新に基づき前記外部メモリに書込まれたプログラムに従
    って処理を実行する処理装置と、該処理装置の処理実行
    中における特定のアドレスを検出してパルスを出力する
    アドレス検出手段と、該アドレス検出手段から出力され
    たパルスに応答して所定値からカウントアップまたはカ
    ウントダウンを行い、N番目のパルスに応答して該所定
    値に戻るようカウント動作を行うカウンタとを具備し、
    該カウンタの内容に応じて前記N個の外部メモリから任
    意の1個を選択するようにしたことを特徴とするメモリ
    管理方式。 2、前記N個の外部メモリの各個は、それぞれのメモリ
    領域に格納される予め設定された識別データを有する制
    御用プログラムと、前記識別データによって各々が指定
    される実行用プログラムとを有し、 前記処理装置は、処理を他の外部メモリに格納された実
    行プログラムに移行する際に、前記処理において移行先
    の実行用プログラムを示す前記識別データを表わすデー
    タを内部メモリに格納して前記特定アドレスに分岐する
    ことで前記カウンタによって選択された外部メモリに移
    行し、移行先の外部メモリに格納された制御用プログラ
    ムによって前記識別データに該当する実行用プログラム
    が当該外部メモリに存在するかを判断し、存在するなら
    ば該当する実行用プログラムを実行させ、存在しないな
    らば前記特定のアドレスに分岐されるようにして成るこ
    とを特徴とする特許請求の範囲第1項記載のメモリ管理
    方式。 3、前記特定のアドレスは最終アドレスであることを特
    徴とする特許請求の範囲第1項記載のメモリ管理方式。 4、前記アドレス検出手段はアドレスバスの信号をデコ
    ードすることによって特定のアドレスを検出するよう構
    成されることを特徴とする特許請求の範囲第1項記載の
    メモリ管理方式。 5、前記アドレス検出手段は前記プログラムカウンタの
    キャリーまたはボロー出力によって特定のアドレスを検
    出するよう構成されることを特徴とする特許請求の範囲
    第3項記載のメモリ管理方式。
JP30763587A 1987-12-07 1987-12-07 メモリ管理方式 Pending JPH01149135A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30763587A JPH01149135A (ja) 1987-12-07 1987-12-07 メモリ管理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30763587A JPH01149135A (ja) 1987-12-07 1987-12-07 メモリ管理方式

Publications (1)

Publication Number Publication Date
JPH01149135A true JPH01149135A (ja) 1989-06-12

Family

ID=17971409

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30763587A Pending JPH01149135A (ja) 1987-12-07 1987-12-07 メモリ管理方式

Country Status (1)

Country Link
JP (1) JPH01149135A (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61148550A (ja) * 1984-12-22 1986-07-07 Omron Tateisi Electronics Co メモリ装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61148550A (ja) * 1984-12-22 1986-07-07 Omron Tateisi Electronics Co メモリ装置

Similar Documents

Publication Publication Date Title
US7281113B2 (en) Microcomputer with built-in electrically rewritable nonvolatile memory
US6981109B2 (en) Digital signal processor system having programmable random access memory that executes processing during downloading of a program
JPH06275084A (ja) 不揮発性半導体記憶装置及びそれを用いたデータ処理装置
JPH01149135A (ja) メモリ管理方式
KR20000003404A (ko) 외부 메모리 억세스를 위한 마이크로컨트롤러
JPH04195481A (ja) シングルチツプマイクロコンピュータ及び多機能メモリ
JPH01261758A (ja) コンピュータ装置
JP2000040028A (ja) Cpu制御によるdspプログラム領域の拡張方式
JPH01205339A (ja) マイクロコンピュータシステム
JPS62297954A (ja) メモリ制御方式
JPH09114661A (ja) レジスタ制御装置
JPH082727Y2 (ja) プログラマブルシ−ケンサ
JP3033334B2 (ja) データ記憶装置
JPH04199228A (ja) 半導体集積回路装置
JPS6148746B2 (ja)
JPH05151369A (ja) 集積回路
JPH0520474A (ja) 1チツプマイクロコンピユータ
JPH09311845A (ja) Dsp信号処理装置及び信号処理方法
JPS63184833A (ja) マイクロコンピユ−タ
JPS6337404B2 (ja)
JPS6126699B2 (ja)
JPS58137179A (ja) デイジタル信号遅延装置
JPH0432422B2 (ja)
JPS6126701B2 (ja)
JPS6398735A (ja) マイクロ制御装置