JPH07182234A - プログラム記憶装置 - Google Patents
プログラム記憶装置Info
- Publication number
- JPH07182234A JPH07182234A JP5325425A JP32542593A JPH07182234A JP H07182234 A JPH07182234 A JP H07182234A JP 5325425 A JP5325425 A JP 5325425A JP 32542593 A JP32542593 A JP 32542593A JP H07182234 A JPH07182234 A JP H07182234A
- Authority
- JP
- Japan
- Prior art keywords
- execution module
- storage device
- stored
- microprocessor
- program
- 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
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Abstract
(57)【要約】
【目的】 プログラムをデータ圧縮してROMに格納し
ておくマイクロプロセッサシステムにおいて、キャッシ
ュミスが発生した場合にも迅速な処理が可能なマイクロ
プロセッサシステムを提供する。 【構成】 マイクロプロセッサ100は接続されている
いずれか一方のキャッシュメモリに格納されている実行
モジュールを実行し、その間他方のキャッシュメモリに
は、マイクロプロセッサ100が現在実行している実行
モジュールの次に実行されると考えられる実行モジュー
ルが転送される。各実行モジュールの次にどの実行モジ
ュールがアクセスされるかの情報がテーブル116に記
憶されている。制御部108は、このテーブル116を
参照することによって、次にキャッシュメモリに転送さ
れるべき実行モジュールを決定する。
ておくマイクロプロセッサシステムにおいて、キャッシ
ュミスが発生した場合にも迅速な処理が可能なマイクロ
プロセッサシステムを提供する。 【構成】 マイクロプロセッサ100は接続されている
いずれか一方のキャッシュメモリに格納されている実行
モジュールを実行し、その間他方のキャッシュメモリに
は、マイクロプロセッサ100が現在実行している実行
モジュールの次に実行されると考えられる実行モジュー
ルが転送される。各実行モジュールの次にどの実行モジ
ュールがアクセスされるかの情報がテーブル116に記
憶されている。制御部108は、このテーブル116を
参照することによって、次にキャッシュメモリに転送さ
れるべき実行モジュールを決定する。
Description
【0001】
【産業上の利用分野】本発明は、マイクロプロセッサを
使用したシステムにおいて、そのマイクロプロセッサが
実行するプログラムを記憶する記憶装置に関する。
使用したシステムにおいて、そのマイクロプロセッサが
実行するプログラムを記憶する記憶装置に関する。
【0002】
【従来の技術】マイクロプロセッサは、様々な機器に用
いられ、種々のコントロールに利用されている。一般的
な組込み用マイクロプロセッサシステムは、図3に示さ
れているように、マイクロプロセッサ10と、RAM1
2と、ROM14とが含まれている。そして、これらの
マイクロプロセッサ10などは、一般にバスで直接接続
されている。このような構成において、ROM14に
は、マイクロプロセッサが実行するプログラムが一般に
は格納されており、RAM12には、各種のデータが保
持されている場合が多い。また、一般にはRAM12の
方がアクセス速度が速いため、ROM14に格納されて
いたプログラムを電源投入時にRAM12に転送し、こ
のRAM12上でプログラムの実行が行われることも多
い。
いられ、種々のコントロールに利用されている。一般的
な組込み用マイクロプロセッサシステムは、図3に示さ
れているように、マイクロプロセッサ10と、RAM1
2と、ROM14とが含まれている。そして、これらの
マイクロプロセッサ10などは、一般にバスで直接接続
されている。このような構成において、ROM14に
は、マイクロプロセッサが実行するプログラムが一般に
は格納されており、RAM12には、各種のデータが保
持されている場合が多い。また、一般にはRAM12の
方がアクセス速度が速いため、ROM14に格納されて
いたプログラムを電源投入時にRAM12に転送し、こ
のRAM12上でプログラムの実行が行われることも多
い。
【0003】近年、装置の小型化のため、ROM14の
容量を小さくするためにマイクロプロセッサ10が実行
するプログラムを圧縮してROM14に格納する手法が
提案されている。このように、プログラムを圧縮してR
OMに格納する方法が例えば特開平4−284551号
公報に記載されている。この特開平4−284551号
公報に記載されている装置の構成ブロック図が図4に示
されている。図4に示されているように、この装置にお
いてもマイクロプロセッサ(同号公報においては、「C
PU」と呼ばれている)21と、RAM22と、ROM
24とが含まれている。そして、このROM24にはマ
イクロプロセッサ21が実行するプログラムが格納され
ている。この装置においては、プログラムは圧縮してこ
のROM24に格納されており、RAM22は、いわゆ
る命令キャッシュとして動作する。そして、ROM24
に格納されている圧縮されたプログラムは、データ伸張
回路23によって伸長されてからRAM22に格納され
る。このようにして、伸長されたプログラムを、マイク
ロプロセッサ21が実行する。
容量を小さくするためにマイクロプロセッサ10が実行
するプログラムを圧縮してROM14に格納する手法が
提案されている。このように、プログラムを圧縮してR
OMに格納する方法が例えば特開平4−284551号
公報に記載されている。この特開平4−284551号
公報に記載されている装置の構成ブロック図が図4に示
されている。図4に示されているように、この装置にお
いてもマイクロプロセッサ(同号公報においては、「C
PU」と呼ばれている)21と、RAM22と、ROM
24とが含まれている。そして、このROM24にはマ
イクロプロセッサ21が実行するプログラムが格納され
ている。この装置においては、プログラムは圧縮してこ
のROM24に格納されており、RAM22は、いわゆ
る命令キャッシュとして動作する。そして、ROM24
に格納されている圧縮されたプログラムは、データ伸張
回路23によって伸長されてからRAM22に格納され
る。このようにして、伸長されたプログラムを、マイク
ロプロセッサ21が実行する。
【0004】
【発明が解決しようとする課題】従来のマイクロプロセ
ッサシステムにおいては、上述した特開平4−2845
51号公報に記載されているように、マイクロプロセッ
サが実行するプログラムは圧縮されてから、ROMに格
納される場合が多い。これによってROMの容量を小さ
くすることが可能である。しかしながら、同号公報に記
載されている方法によれば、キャッシュミスが発生した
時点においてROMの内容を伸長するため、この伸長作
業が、データ伸長回路23によって処理されている間は
マイクロプロセッサは待ち状態となってしまう問題があ
った。そのため、キャッシュに格納されているプログラ
ムの実行単位である実行モジュールが頻繁に切り替わる
ようなプログラムにおいては、キャッシュミスが多発す
るため、実行速度の低下を招くという問題がある。
ッサシステムにおいては、上述した特開平4−2845
51号公報に記載されているように、マイクロプロセッ
サが実行するプログラムは圧縮されてから、ROMに格
納される場合が多い。これによってROMの容量を小さ
くすることが可能である。しかしながら、同号公報に記
載されている方法によれば、キャッシュミスが発生した
時点においてROMの内容を伸長するため、この伸長作
業が、データ伸長回路23によって処理されている間は
マイクロプロセッサは待ち状態となってしまう問題があ
った。そのため、キャッシュに格納されているプログラ
ムの実行単位である実行モジュールが頻繁に切り替わる
ようなプログラムにおいては、キャッシュミスが多発す
るため、実行速度の低下を招くという問題がある。
【0005】本発明は、上記課題に鑑みなされたもので
あり、本発明の目的はデータ圧縮技術を用いて、マイク
ロプロセッサが実行するプログラムを圧縮して格納して
あるROMを備えたマイクロプロセッサシステムにおい
て、キャッシャミスが発生しても、実行速度の低下を招
かないマイクロプロセッサシステムを実現することであ
る。
あり、本発明の目的はデータ圧縮技術を用いて、マイク
ロプロセッサが実行するプログラムを圧縮して格納して
あるROMを備えたマイクロプロセッサシステムにおい
て、キャッシャミスが発生しても、実行速度の低下を招
かないマイクロプロセッサシステムを実現することであ
る。
【0006】
【課題を解決するための手段】上記課題を解決するため
に、第一の本発明は、マイクロプロセッサが実行するプ
ログラムを記憶するプログラム記憶装置において、複数
の記憶領域から構成され、前記プログラムを記憶する2
次記憶装置であって、前記プログラムを構成する複数の
実行ジュールのそれぞれが前記各記憶領域に記憶されて
いる2次記憶装置と、独立にアクセス可能な複数の1次
記憶装置と、前記各実行モジュールの間の関連性を記憶
するテーブルと、前記2次記憶装置からいずれかの前記
1次記憶装置に転送された実行モジュールであって、現
在マイクロプロセッサにより実行されている現用実行モ
ジュールと関連性を有する関連実行モジュールを前記固
定テーブルを参照することにより求め、この求められた
関連実行モジュールを前記2次記憶装置から読み出し、
前記現用実行モジュールが転送されている前記1次記憶
装置以外のいずれかの前記1次記憶装置へ転送する転送
手段と、を含み、前記マイクロプロセッサが実行してい
る現用実行モジュールが記憶されている1次記憶装置以
外の1次記憶装置には、前記現用実行モジュールと関連
性を有する実行モジュールが前記2次記憶からあらかじ
め転送されていることを特徴とするプログラム記憶装置
である。
に、第一の本発明は、マイクロプロセッサが実行するプ
ログラムを記憶するプログラム記憶装置において、複数
の記憶領域から構成され、前記プログラムを記憶する2
次記憶装置であって、前記プログラムを構成する複数の
実行ジュールのそれぞれが前記各記憶領域に記憶されて
いる2次記憶装置と、独立にアクセス可能な複数の1次
記憶装置と、前記各実行モジュールの間の関連性を記憶
するテーブルと、前記2次記憶装置からいずれかの前記
1次記憶装置に転送された実行モジュールであって、現
在マイクロプロセッサにより実行されている現用実行モ
ジュールと関連性を有する関連実行モジュールを前記固
定テーブルを参照することにより求め、この求められた
関連実行モジュールを前記2次記憶装置から読み出し、
前記現用実行モジュールが転送されている前記1次記憶
装置以外のいずれかの前記1次記憶装置へ転送する転送
手段と、を含み、前記マイクロプロセッサが実行してい
る現用実行モジュールが記憶されている1次記憶装置以
外の1次記憶装置には、前記現用実行モジュールと関連
性を有する実行モジュールが前記2次記憶からあらかじ
め転送されていることを特徴とするプログラム記憶装置
である。
【0007】上記課題を解決するために、第二の本発明
は、上記第一の本発明において、前記テーブルは、少な
くとも、前記各実行モジュール名と、前記各実行モジュ
ールに対応して、その実行モジュールの次に実行される
確率の高い実行モジュール名と、を記憶していることを
特徴とするプログラム記憶装置である。
は、上記第一の本発明において、前記テーブルは、少な
くとも、前記各実行モジュール名と、前記各実行モジュ
ールに対応して、その実行モジュールの次に実行される
確率の高い実行モジュール名と、を記憶していることを
特徴とするプログラム記憶装置である。
【0008】上記課題を解決するために、第三の本発明
は、上記第一または二の本発明において、前記2次記憶
装置を構成する各記憶領域には、前記各実行モジュール
が、圧縮されて記憶されており、前記転送手段は、前記
2次記憶装置から読み出した前記各実行モジュールを伸
長する伸長手段を含み、前記読み出された各実行モジュ
ールは前記伸長手段によって伸長されてから伸前記1次
記憶装置に転送されることを特徴とするプログラム記憶
装置である。
は、上記第一または二の本発明において、前記2次記憶
装置を構成する各記憶領域には、前記各実行モジュール
が、圧縮されて記憶されており、前記転送手段は、前記
2次記憶装置から読み出した前記各実行モジュールを伸
長する伸長手段を含み、前記読み出された各実行モジュ
ールは前記伸長手段によって伸長されてから伸前記1次
記憶装置に転送されることを特徴とするプログラム記憶
装置である。
【0009】
【作用】第1の本発明における転送手段は、現在実行さ
れている実行モジュールと関連性を有する実行モジュー
ルを予め2次記憶装置が読み出して、いずれかの1次記
憶装置へ転送する。従って、マイクロプロセッサが実行
する実行モジュールから別の実行モジュールへ処理が移
行する場合に、予め次に実行する実行モジュルが他の1
次記憶装置に格納されていることが多くなり、転送手段
が2次記憶装置から1次記憶装置へ実行モジュールを転
送し終るのをマイクロプロセッサが待つ必要は少なくな
る。
れている実行モジュールと関連性を有する実行モジュー
ルを予め2次記憶装置が読み出して、いずれかの1次記
憶装置へ転送する。従って、マイクロプロセッサが実行
する実行モジュールから別の実行モジュールへ処理が移
行する場合に、予め次に実行する実行モジュルが他の1
次記憶装置に格納されていることが多くなり、転送手段
が2次記憶装置から1次記憶装置へ実行モジュールを転
送し終るのをマイクロプロセッサが待つ必要は少なくな
る。
【0010】第2の本発明におけるテーブルは、関連性
として、次に実行される確率が高いことを採用してい
る。すなわち、第2の本発明におけるテーブルを引くこ
とにより、所定の実行モジュールの次に実行される確率
の高い実行モジュールが判明する。
として、次に実行される確率が高いことを採用してい
る。すなわち、第2の本発明におけるテーブルを引くこ
とにより、所定の実行モジュールの次に実行される確率
の高い実行モジュールが判明する。
【0011】第3の本発明における2次記憶装置にはデ
ータ圧縮技術を用いてプログラムが圧縮されて格納され
ている。そして、転送手段は2次記憶装置から読み出し
た実行モジュールを伸長してから、1次記憶装置に格納
する。従って、2次記憶装置の容量を小さくすることが
可能である。
ータ圧縮技術を用いてプログラムが圧縮されて格納され
ている。そして、転送手段は2次記憶装置から読み出し
た実行モジュールを伸長してから、1次記憶装置に格納
する。従って、2次記憶装置の容量を小さくすることが
可能である。
【0012】
【実施例】以下、本発明の好適な実施例を図面に基づい
て説明する。
て説明する。
【0013】図1には、本発明の好適な実施例であるマ
イクロプロセッサシステムの構成ブロック図が示されて
いる。図1に示されているように、マイクロプロセッサ
100は、セレクタ102を介して、第1キャッシュメ
モリ104もしくは第2キャッシュメモリ106のいず
れか一方のキャッシュメモリをアクセスする。セレクタ
102をコントロールしているのは制御部108であ
り、マイクロプロセッサ100からのアドレス信号は、
この制御部108にも供給されており、制御部108は
キャッシュミスの検出も行っている。
イクロプロセッサシステムの構成ブロック図が示されて
いる。図1に示されているように、マイクロプロセッサ
100は、セレクタ102を介して、第1キャッシュメ
モリ104もしくは第2キャッシュメモリ106のいず
れか一方のキャッシュメモリをアクセスする。セレクタ
102をコントロールしているのは制御部108であ
り、マイクロプロセッサ100からのアドレス信号は、
この制御部108にも供給されており、制御部108は
キャッシュミスの検出も行っている。
【0014】第1キャッシュメモリ104及び第2キャ
ッシュメモリ106には、もう1つのセレクタ110が
接続されており、このセレクタ110も、セレクタ10
2と同様に制御部108によってコントロールされてい
る。そして、第1キャッシュメモリ104か、第2キャ
ッシュメモリ106のいずれか一方がセレクタ110を
介して転送回路112に接続されている。この転送回路
112は、ROM114に格納されているプログラムを
第1のキャッシュメモリ104もしくは第2のキャッシ
ュメモリ106のいずれか一方に転送する。この転送回
路112も、上述した制御部108によってコントロー
ルされている。
ッシュメモリ106には、もう1つのセレクタ110が
接続されており、このセレクタ110も、セレクタ10
2と同様に制御部108によってコントロールされてい
る。そして、第1キャッシュメモリ104か、第2キャ
ッシュメモリ106のいずれか一方がセレクタ110を
介して転送回路112に接続されている。この転送回路
112は、ROM114に格納されているプログラムを
第1のキャッシュメモリ104もしくは第2のキャッシ
ュメモリ106のいずれか一方に転送する。この転送回
路112も、上述した制御部108によってコントロー
ルされている。
【0015】本実施例において特徴的なことは、第1キ
ャッシュメモリ104と第2キャッシュメモリ106と
のいずれか一方が常にマイクロプロセッサ100に接続
されており、そして他方のキャッシュメモリが転送回路
112に接続されていることである。そして、後述する
ようにマイクロプロセッサ100がいずれか一方のキャ
ッシュメモリ(104もしくは106)をアクセスして
いる場合に、他方のキャッシュメモリには次にマイクロ
プロセッサ100が実行しそうな実行モジュールが転送
されるのである。これによって、キャッシュミスが生じ
た場合にも、新にROM114から実行モジュールを転
送しなくとも、セレクタ102(及び110)を切り替
えることにより、マイクロプロセッサ100が処理を続
行することが可能となる。
ャッシュメモリ104と第2キャッシュメモリ106と
のいずれか一方が常にマイクロプロセッサ100に接続
されており、そして他方のキャッシュメモリが転送回路
112に接続されていることである。そして、後述する
ようにマイクロプロセッサ100がいずれか一方のキャ
ッシュメモリ(104もしくは106)をアクセスして
いる場合に、他方のキャッシュメモリには次にマイクロ
プロセッサ100が実行しそうな実行モジュールが転送
されるのである。これによって、キャッシュミスが生じ
た場合にも、新にROM114から実行モジュールを転
送しなくとも、セレクタ102(及び110)を切り替
えることにより、マイクロプロセッサ100が処理を続
行することが可能となる。
【0016】また、本実施例においては、ROM114
に格納されているプログラムは、所定の実行モジュール
毎にデータ圧縮され、格納されている。そして、この圧
縮して格納されている各実行モジュールの情報がテーブ
ル116に格納されている。そして、制御部108は、
このテーブル116を参照することにより、どの実行モ
ジュールをキャッシュメモリに転送するのかを容易に判
断することが可能である。なお、ROM114の中にデ
ータ圧縮されて格納されているプログラムは実行モジュ
ール毎に転送回路112において伸長されて、第1キャ
ッシュメモリ104もしくは第2キャッシュメモリ10
6のいずれかに転送される。
に格納されているプログラムは、所定の実行モジュール
毎にデータ圧縮され、格納されている。そして、この圧
縮して格納されている各実行モジュールの情報がテーブ
ル116に格納されている。そして、制御部108は、
このテーブル116を参照することにより、どの実行モ
ジュールをキャッシュメモリに転送するのかを容易に判
断することが可能である。なお、ROM114の中にデ
ータ圧縮されて格納されているプログラムは実行モジュ
ール毎に転送回路112において伸長されて、第1キャ
ッシュメモリ104もしくは第2キャッシュメモリ10
6のいずれかに転送される。
【0017】以下、本実施例の詳細な動作を説明する。
【0018】今、第1キャッシュメモリ104に実行モ
ジュール2が格納されており、第2キャッシュメモリ1
06には実行モジュール1が格納されているものとす
る。そして、マイクロプロセッサ100は第1キャッシ
ュメモリ104をアクセスしているものとする。このよ
うに、マイクロプロセッサ100が、第1キャッシュメ
モリ104に格納されている実行モジュール2を実行し
続けており、キャッシュミスが発生すると、制御部10
8がこのキャッシュミスを検出する。上述したように制
御部108はマイクロプロセッサ100が出力するアド
レスを監視しているため、このキャッシュミスを検出す
ることが可能である。それと共に、制御部108は、マ
イクロプロセッサ100が次にアクセスする番地の内容
が第2キャッシュメモリに格納されているかを調べる。
すなわち、マイクロプロセッサ100が次にアクセスす
るのは第2キャッシュメモリ106に格納されている実
行モジュール1であるか否かを判断するのである。この
ことを判断するのに用いられるのが制御部108内に記
憶されているキャッシュメモリアドレス情報である。こ
のキャッシュメモリアドレス情報は4個のアドレスから
構成される。キャッシュメモリアドレス情報のイメージ
構成図が図2に示されている。図2に示されているよう
に、このキャッシュメモリアドレス情報は、第1キャッ
シュメモリ104に格納されている実行モジュールのト
ップアドレスと、エンドアドレスとが格納されている。
さらに、第2キャッシュメモリ106に格納されている
実行モジュールのトップアドレスとエンドアドレス共キ
ャッシュメモリアドレス情報として記憶保持されてい
る。制御部108は、このキャッシュメモリアドレス情
報の第2キャッシュメモリのトップアドレス及びエンド
アドレスと、マイクロプロセッサ100が出力するアド
レスとを比較することにより、マイクロプロセッサ10
0が次にアクセスする番地の内容が第2キャッシュメモ
リに格納されているか否かを調べることが可能である。
ジュール2が格納されており、第2キャッシュメモリ1
06には実行モジュール1が格納されているものとす
る。そして、マイクロプロセッサ100は第1キャッシ
ュメモリ104をアクセスしているものとする。このよ
うに、マイクロプロセッサ100が、第1キャッシュメ
モリ104に格納されている実行モジュール2を実行し
続けており、キャッシュミスが発生すると、制御部10
8がこのキャッシュミスを検出する。上述したように制
御部108はマイクロプロセッサ100が出力するアド
レスを監視しているため、このキャッシュミスを検出す
ることが可能である。それと共に、制御部108は、マ
イクロプロセッサ100が次にアクセスする番地の内容
が第2キャッシュメモリに格納されているかを調べる。
すなわち、マイクロプロセッサ100が次にアクセスす
るのは第2キャッシュメモリ106に格納されている実
行モジュール1であるか否かを判断するのである。この
ことを判断するのに用いられるのが制御部108内に記
憶されているキャッシュメモリアドレス情報である。こ
のキャッシュメモリアドレス情報は4個のアドレスから
構成される。キャッシュメモリアドレス情報のイメージ
構成図が図2に示されている。図2に示されているよう
に、このキャッシュメモリアドレス情報は、第1キャッ
シュメモリ104に格納されている実行モジュールのト
ップアドレスと、エンドアドレスとが格納されている。
さらに、第2キャッシュメモリ106に格納されている
実行モジュールのトップアドレスとエンドアドレス共キ
ャッシュメモリアドレス情報として記憶保持されてい
る。制御部108は、このキャッシュメモリアドレス情
報の第2キャッシュメモリのトップアドレス及びエンド
アドレスと、マイクロプロセッサ100が出力するアド
レスとを比較することにより、マイクロプロセッサ10
0が次にアクセスする番地の内容が第2キャッシュメモ
リに格納されているか否かを調べることが可能である。
【0019】この結果、マイクロプロセッサ100が次
に第2キャッシュメモリに格納されている実行モジュー
ル1をアクセスする場合、すなわちキャッシュヒットし
ている場合は、制御部108はセレクタ102を切り替
え、同時にセレクタ110も切り替える。この切替の結
果、第1キャッシュメモリ104に代わって第2キャッ
シュメモリ106がマイクロプロセッサ100に接続さ
れることになる。一方、第1キャッシュメモリ104
は、セレクタ110を介して転送回路112に接続され
ることになる。以上の切替の結果、マイクロプロセッサ
100は、第2キャッシュメモリ106をアクセスして
プログラムの実行を続けることになる。マイクロプロセ
ッサ100が第2キャッシュメモリ106をアクセスし
てプログラムの処理を続行しているのと平行して、制御
部108は、テーブル116を検索する。このテーブル
には、ROM114に格納されている各実行モジュール
毎に所定の事項が記憶されている。本実施例においては
このテーブル116は、それぞれの実行モジュール毎
に、伸長された場合の実行モジュールのトップアドレ
ス、圧縮された実行モジュールが格納されているROM
114のトップアドレス、及びその実行モジュールの次
に実行されると考えられる実行モジュールの伸長された
場合の先頭アドレスとが記憶保持されている。従って、
制御部108は、現在実行されている実行モジュール
(上述したように、マイクロプロセッサ100は今第2
キャッシュメモリ106に格納されている実行モジュー
ル1を実行している)から、次に実行されると考えられ
る実行モジュールが格納されているROM114のトッ
プアドレスを検索することが可能である。以上のように
して制御部108は次に実行されると考えられる実行モ
ジュール(本実施例においては実行モジュール4)を知
ることができ、この結果に基づいて転送回路112に対
して実行モジュール4をROM114から取り出し、伸
長して第1のキャッシュメモリ104に格納するように
指示を出す。
に第2キャッシュメモリに格納されている実行モジュー
ル1をアクセスする場合、すなわちキャッシュヒットし
ている場合は、制御部108はセレクタ102を切り替
え、同時にセレクタ110も切り替える。この切替の結
果、第1キャッシュメモリ104に代わって第2キャッ
シュメモリ106がマイクロプロセッサ100に接続さ
れることになる。一方、第1キャッシュメモリ104
は、セレクタ110を介して転送回路112に接続され
ることになる。以上の切替の結果、マイクロプロセッサ
100は、第2キャッシュメモリ106をアクセスして
プログラムの実行を続けることになる。マイクロプロセ
ッサ100が第2キャッシュメモリ106をアクセスし
てプログラムの処理を続行しているのと平行して、制御
部108は、テーブル116を検索する。このテーブル
には、ROM114に格納されている各実行モジュール
毎に所定の事項が記憶されている。本実施例においては
このテーブル116は、それぞれの実行モジュール毎
に、伸長された場合の実行モジュールのトップアドレ
ス、圧縮された実行モジュールが格納されているROM
114のトップアドレス、及びその実行モジュールの次
に実行されると考えられる実行モジュールの伸長された
場合の先頭アドレスとが記憶保持されている。従って、
制御部108は、現在実行されている実行モジュール
(上述したように、マイクロプロセッサ100は今第2
キャッシュメモリ106に格納されている実行モジュー
ル1を実行している)から、次に実行されると考えられ
る実行モジュールが格納されているROM114のトッ
プアドレスを検索することが可能である。以上のように
して制御部108は次に実行されると考えられる実行モ
ジュール(本実施例においては実行モジュール4)を知
ることができ、この結果に基づいて転送回路112に対
して実行モジュール4をROM114から取り出し、伸
長して第1のキャッシュメモリ104に格納するように
指示を出す。
【0020】本実施例において特徴的なことは、各実行
モジュールに対して、その実行モジュールの次に実行さ
れると考えられる実行モジュールを記憶したテーブル1
16を備えていることである。このようなテーブル11
6が備えられているため、本実施例によればマイクロプ
ロセッサ100が第2キャッシュメモリ106をアクセ
スしている間に制御部108が第1キャッシュメモリ1
04に次に実行されると考えられる実行モジュールを予
め格納することが可能となる。
モジュールに対して、その実行モジュールの次に実行さ
れると考えられる実行モジュールを記憶したテーブル1
16を備えていることである。このようなテーブル11
6が備えられているため、本実施例によればマイクロプ
ロセッサ100が第2キャッシュメモリ106をアクセ
スしている間に制御部108が第1キャッシュメモリ1
04に次に実行されると考えられる実行モジュールを予
め格納することが可能となる。
【0021】制御部108からの指示を受け取って、転
送回路112は、ROM114から実行モジュール4を
読み出す。読み出す際のアドレスは、上述したようにテ
ーブル116に格納されているため制御部108はこの
アドレスを転送回路に知らせることが可能である。転送
回路112は、この呼び出した実行モジュール4の内容
を伸長してから、セレクタ110を介して第1キャッシ
ュメモリ104に格納する。なお、本実施例における第
1キャッシュメモリ104及び第2キャッシュメモリ1
06は、アドレス変換回路を内蔵している。このアドレ
ス変換回路によって、マイクロプロセッサ100から送
出されるアドレス信号を、自己の物理アドレスに変換し
てマイクロプロセッサ100に対してそのプログラム本
来のアドレスであるかのように振舞う。このようなアド
レス変換回路の調整も、制御部108からの指示によっ
て適宜行われる。また、制御部108の中には、上述し
たようにキャッシュメモリアドレス情報が記憶されてい
るが、第1キャッシュメモリに新な実行モジュール4が
格納されると共に、このキャッシュメモリアドレス情報
の第1キャッシュメモリのトップアドレスと、第1キャ
ッシュメモリのエンドアドレスとが更新される。ここ
で、トップアドレスは、上述したようにテーブル116
の中に記憶されている。そして、エンドアドレスは、上
述したテーブル116には記憶されてはいないが、隣接
する実行モジュールの先頭アドレスを知ることにより、
その先頭アドレスの直前までがその実行モジュールのエ
ンドアドレスと見ることができる。従って、隣接する実
行モジュールの先頭アドレスから1を引いた値をエンド
アドレスとしてキャッシュメモリアドレス情報に記憶す
る。
送回路112は、ROM114から実行モジュール4を
読み出す。読み出す際のアドレスは、上述したようにテ
ーブル116に格納されているため制御部108はこの
アドレスを転送回路に知らせることが可能である。転送
回路112は、この呼び出した実行モジュール4の内容
を伸長してから、セレクタ110を介して第1キャッシ
ュメモリ104に格納する。なお、本実施例における第
1キャッシュメモリ104及び第2キャッシュメモリ1
06は、アドレス変換回路を内蔵している。このアドレ
ス変換回路によって、マイクロプロセッサ100から送
出されるアドレス信号を、自己の物理アドレスに変換し
てマイクロプロセッサ100に対してそのプログラム本
来のアドレスであるかのように振舞う。このようなアド
レス変換回路の調整も、制御部108からの指示によっ
て適宜行われる。また、制御部108の中には、上述し
たようにキャッシュメモリアドレス情報が記憶されてい
るが、第1キャッシュメモリに新な実行モジュール4が
格納されると共に、このキャッシュメモリアドレス情報
の第1キャッシュメモリのトップアドレスと、第1キャ
ッシュメモリのエンドアドレスとが更新される。ここ
で、トップアドレスは、上述したようにテーブル116
の中に記憶されている。そして、エンドアドレスは、上
述したテーブル116には記憶されてはいないが、隣接
する実行モジュールの先頭アドレスを知ることにより、
その先頭アドレスの直前までがその実行モジュールのエ
ンドアドレスと見ることができる。従って、隣接する実
行モジュールの先頭アドレスから1を引いた値をエンド
アドレスとしてキャッシュメモリアドレス情報に記憶す
る。
【0022】以上、第1キャッシュメモリにキャッシュ
ミスが発生し、マイクロプロセッサ100が第2キャッ
シュメモリに対してアクセスを続行する場合に第1キャ
ッシュメモリ104が更新される動作について説明し
た。以後、第2キャッシュメモリにキャッシュミスが発
生した場合にその第2キャッシュメモリに対しても同様
の操作が行われる。
ミスが発生し、マイクロプロセッサ100が第2キャッ
シュメモリに対してアクセスを続行する場合に第1キャ
ッシュメモリ104が更新される動作について説明し
た。以後、第2キャッシュメモリにキャッシュミスが発
生した場合にその第2キャッシュメモリに対しても同様
の操作が行われる。
【0023】以上、第1キャッシュメモリ104にキャ
ッシュミスが生じた場合に第2キャッシュメモリ106
がキャッシュヒットした場合の例について説明したが、
第2キャッシュメモリ106がキャッシュヒットしない
場合には、マイクロプロセッサ100が出力するアドレ
スと、テーブル116に記憶されている内容とに基づい
て制御部108はROM114から取り出すべき実行モ
ジュールを比べ、その実行モジュールを第2キャッシュ
メモリに格納するように転送回路112に指示する。こ
の場合、転送回路112が、ROM114から実行モジ
ュールを取り出し、伸長し、第2キャッシュメモリ10
6に格納するまでは、マイクロプロセッサ100が実行
すべき実行モジュールはキャッシュメモリには存在しな
い。従って、制御部108は、第2キャシッユメモリ1
06への実行モジュールの格納が終了するまで、マイク
ロプロセッサ100を停止状態にする。
ッシュミスが生じた場合に第2キャッシュメモリ106
がキャッシュヒットした場合の例について説明したが、
第2キャッシュメモリ106がキャッシュヒットしない
場合には、マイクロプロセッサ100が出力するアドレ
スと、テーブル116に記憶されている内容とに基づい
て制御部108はROM114から取り出すべき実行モ
ジュールを比べ、その実行モジュールを第2キャッシュ
メモリに格納するように転送回路112に指示する。こ
の場合、転送回路112が、ROM114から実行モジ
ュールを取り出し、伸長し、第2キャッシュメモリ10
6に格納するまでは、マイクロプロセッサ100が実行
すべき実行モジュールはキャッシュメモリには存在しな
い。従って、制御部108は、第2キャシッユメモリ1
06への実行モジュールの格納が終了するまで、マイク
ロプロセッサ100を停止状態にする。
【0024】本実施例において特徴的なことは、上述し
たように、キャッシュミスが生じた場合にマイクロプロ
セッサ100が次にアクセスすると考えられる実行モジ
ュールを予めキャッシュメモリに格納したことである。
従来、キャッシュメモリにデータが格納されるのは、キ
ャッシュミスが生じてからである。それは、新たにどの
実行モジュールをキャッシュメモリに格納すべきかは、
キャッシュミスが生じてからでなければ確定しないから
である。本実施例においては、現在マイクロプロセッサ
100が実行している実行モジュールの次に実行される
と考えられる実行モジュールを予めテーブル116に記
憶しておいた。そして、このテーブル116に記憶され
ている内容に基づいて、予め次に実行されそうな実行モ
ジュールをキャッシュメモリに格納することが可能とな
ったのである。
たように、キャッシュミスが生じた場合にマイクロプロ
セッサ100が次にアクセスすると考えられる実行モジ
ュールを予めキャッシュメモリに格納したことである。
従来、キャッシュメモリにデータが格納されるのは、キ
ャッシュミスが生じてからである。それは、新たにどの
実行モジュールをキャッシュメモリに格納すべきかは、
キャッシュミスが生じてからでなければ確定しないから
である。本実施例においては、現在マイクロプロセッサ
100が実行している実行モジュールの次に実行される
と考えられる実行モジュールを予めテーブル116に記
憶しておいた。そして、このテーブル116に記憶され
ている内容に基づいて、予め次に実行されそうな実行モ
ジュールをキャッシュメモリに格納することが可能とな
ったのである。
【0025】本実施例におけるテーブル116に格納さ
れている「次に実行されると考えられる実行モジュー
ル」の情報は、プログラムをアセンブル、リンクする時
に、アセンブラもしくはリンカが決定する。なお、高級
言語の場合には、この実行モジュールの情報は一般にコ
ンパイラが決定するのが好適である。「次に実行される
と考えられる実行モジュール」が一意に決まらない場合
は、最も確率が高い実行モジュールを指定するのが好適
である。なおこの確率の算出も上述したようにアセンブ
ラ、リンカもしくはコンパイラが行うのが好適である。
これによって、テーブル116に記憶されている「次に
実行されると考えられる実行モジュール」の情報は決定
されるのである。
れている「次に実行されると考えられる実行モジュー
ル」の情報は、プログラムをアセンブル、リンクする時
に、アセンブラもしくはリンカが決定する。なお、高級
言語の場合には、この実行モジュールの情報は一般にコ
ンパイラが決定するのが好適である。「次に実行される
と考えられる実行モジュール」が一意に決まらない場合
は、最も確率が高い実行モジュールを指定するのが好適
である。なおこの確率の算出も上述したようにアセンブ
ラ、リンカもしくはコンパイラが行うのが好適である。
これによって、テーブル116に記憶されている「次に
実行されると考えられる実行モジュール」の情報は決定
されるのである。
【0026】
【発明の効果】以上述べたように、第1の本発明によれ
ば、マイクロプロセッサが現在実行している実行モジュ
ールと関連の強い実行モジュールを予め2次記憶装置か
ら1次記憶装置へ転送した。従って、次にマイクロプロ
セッサがアクセスする可能性の高い実行モジュールを記
憶させたのでキャッシュミスの際にも改めて実行モジュ
ールを1次記憶装置へ格納するという作業が必要なくな
る。この結果、マイクロプロセッサの処理を待たせるこ
とないので迅速な処理の可能なマイクロプロセッサシス
テムが構築可能である。
ば、マイクロプロセッサが現在実行している実行モジュ
ールと関連の強い実行モジュールを予め2次記憶装置か
ら1次記憶装置へ転送した。従って、次にマイクロプロ
セッサがアクセスする可能性の高い実行モジュールを記
憶させたのでキャッシュミスの際にも改めて実行モジュ
ールを1次記憶装置へ格納するという作業が必要なくな
る。この結果、マイクロプロセッサの処理を待たせるこ
とないので迅速な処理の可能なマイクロプロセッサシス
テムが構築可能である。
【0027】第2の本発明によれば、マイクロプロセッ
サがいずれかの実行モジュールを実行している場合に、
その実行モジュールの次に実行される確率に高い実行モ
ジュールを予め1次記憶装置に転送したので、次にマイ
クロプロセッサがキャッシュミスを生じた場合に、改め
て実行モジュールを1次記憶装置に転送することなく、
マイクロプロセッサは処理の続行が可能となる割合が高
くなる。従って、迅速に処理をすることが可能なマイク
ロプロセッサシステムが提供できるという効果を有す
る。
サがいずれかの実行モジュールを実行している場合に、
その実行モジュールの次に実行される確率に高い実行モ
ジュールを予め1次記憶装置に転送したので、次にマイ
クロプロセッサがキャッシュミスを生じた場合に、改め
て実行モジュールを1次記憶装置に転送することなく、
マイクロプロセッサは処理の続行が可能となる割合が高
くなる。従って、迅速に処理をすることが可能なマイク
ロプロセッサシステムが提供できるという効果を有す
る。
【0028】第3の本発明によれば、2次記憶装置に
は、プログラムがデータ圧縮されて格納されている。従
って、マイクロプロセッサが1次記憶装置内に格納され
ている実行モジュールを実行中に、転送手段は、2次記
憶装置からプログラムの実行モジュールを呼び出し、伸
長してから1次記憶装置に格納することができる。従っ
て、従来データ圧縮をしてプログラムを2次記憶装置に
格納するシステムにおいてはプログラムのモジュールの
伸長に時間がかかったが、本発明によればデータの伸長
時間を無視することができ、迅速な処理が可能なマイク
ロプロセッサシステムを構築できるという効果を有す
る。
は、プログラムがデータ圧縮されて格納されている。従
って、マイクロプロセッサが1次記憶装置内に格納され
ている実行モジュールを実行中に、転送手段は、2次記
憶装置からプログラムの実行モジュールを呼び出し、伸
長してから1次記憶装置に格納することができる。従っ
て、従来データ圧縮をしてプログラムを2次記憶装置に
格納するシステムにおいてはプログラムのモジュールの
伸長に時間がかかったが、本発明によればデータの伸長
時間を無視することができ、迅速な処理が可能なマイク
ロプロセッサシステムを構築できるという効果を有す
る。
【図1】本発明の好適な実施例であるマイクロプロセッ
サシステムの構成ブロック図である。
サシステムの構成ブロック図である。
【図2】本発明の好適な実施例であるマイクロプロセッ
サシステムの制御部108が記憶しているキャッシュメ
モリアドレス情報のイメージ構成図である。
サシステムの制御部108が記憶しているキャッシュメ
モリアドレス情報のイメージ構成図である。
【図3】従来のマイクロプロセッサシステムの構成ブロ
ック図である。
ック図である。
【図4】プログラムを圧縮してROMに格納したマイク
ロプロセッサシステムの構成ブロック図である。
ロプロセッサシステムの構成ブロック図である。
100 マイクロプロセッサ 102、110 セレクタ 104 第1キャッシュメモリ 106 第2キャッシュメモリ 108 制御部 112 転送回路 114 ROM 116 テーブル
Claims (3)
- 【請求項1】マイクロプロセッサが実行するプログラム
を記憶するプログラム記憶装置において、 複数の記憶領域から構成され、前記プログラムを記憶す
る2次記憶装置であって、前記プログラムを構成する複
数の実行ジュールのそれぞれが前記各記憶領域に記憶さ
れている2次記憶装置と、 独立にアクセス可能な複数の1次記憶装置と、 前記各実行モジュールの間の関連性を記憶するテーブル
と、 前記2次記憶装置からいずれかの前記1次記憶装置に転
送された実行モジュールであって、現在マイクロプロセ
ッサにより実行されている現用実行モジュールと関連性
を有する関連実行モジュールを前記固定テーブルを参照
することにより求め、この求められた関連実行モジュー
ルを前記2次記憶装置から読み出し、前記現用実行モジ
ュールが転送されている前記1次記憶装置以外のいずれ
かの前記1次記憶装置へ転送する転送手段を含み、前記
マイクロプロセッサが実行している現用実行モジュール
が記憶されている1次記憶装置以外の1次記憶装置に
は、前記現用実行モジュールと関連性を有する実行モジ
ュールが前記2次記憶からあらかじめ転送されているこ
とを特徴とするプログラム記憶装置。 - 【請求項2】請求項1記載のプログラム記憶装置におい
て、 前記テーブルは、少なくとも、 前記各実行モジュール名と、 前記各実行モジュールに対応して、その実行モジュール
の次に実行される確率の高い実行モジュール名と、を記
憶していることを特徴とするプログラム記憶装置。 - 【請求項3】請求項1または2記載のプログラム記憶装
置において、 前記2次記憶装置を構成する各記憶領域には、前記各実
行モジュールが、圧縮されて記憶されており、 前記転送手段は、前記2次記憶装置から読み出した前記
各実行モジュールを伸長する伸長手段を含み、前記読み
出された各実行モジュールは前記伸長手段によって伸長
されてから伸前記1次記憶装置に転送されることを特徴
とするプログラム記憶装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5325425A JPH07182234A (ja) | 1993-12-22 | 1993-12-22 | プログラム記憶装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5325425A JPH07182234A (ja) | 1993-12-22 | 1993-12-22 | プログラム記憶装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07182234A true JPH07182234A (ja) | 1995-07-21 |
Family
ID=18176716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5325425A Pending JPH07182234A (ja) | 1993-12-22 | 1993-12-22 | プログラム記憶装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH07182234A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005524170A (ja) * | 2002-04-30 | 2005-08-11 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 不揮発性メモリを備える集積回路及び前記メモリからのデータをフェッチするための方法 |
-
1993
- 1993-12-22 JP JP5325425A patent/JPH07182234A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005524170A (ja) * | 2002-04-30 | 2005-08-11 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 不揮発性メモリを備える集積回路及び前記メモリからのデータをフェッチするための方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR950001485A (ko) | 연산처리방법 및 마이크로 컴퓨터 | |
US20020029359A1 (en) | Method and apparatus for getting dump of a computer system | |
JP2001075866A (ja) | 記憶装置を動作する方法および記憶装置 | |
KR19990017082A (ko) | 직병렬 선택 캐쉬 장치 | |
JP2002149491A (ja) | プロセッサメモリシステム | |
JPH05241952A (ja) | 命令データのキャッシュメモリへの転送方法及びデータ処理装置 | |
JPH1027127A (ja) | データ圧縮記憶演算装置 | |
JPH07182234A (ja) | プログラム記憶装置 | |
US5933856A (en) | System and method for processing of memory data and communication system comprising such system | |
JPH05120131A (ja) | コンピユータにおける記憶管理方式 | |
JP2005141637A (ja) | メモリ管理装置 | |
US7136965B2 (en) | Microcomputer | |
JP2005025740A (ja) | ホットルーチンメモリを有するマイクロプロセッサシステム及びその使用方法 | |
JP3146197B2 (ja) | データ転送装置及び記憶装置 | |
JPH0553912A (ja) | キヤツシユメモリの制御方法 | |
JPH04165440A (ja) | バンク切り換えによる動作モード変更装置 | |
KR19990048393A (ko) | 디램 내장형 중앙 연산 처리장치 및 그의 데이터액세스 방법 | |
JPH05204821A (ja) | 入出力処理装置 | |
JPS63180171A (ja) | 情報処理装置 | |
JPH10177493A (ja) | 図形処理システム | |
JPH0652058A (ja) | アドレス変換装置 | |
JPH07152642A (ja) | データ領域拡張方式 | |
JP2000163264A (ja) | Cpu用のプログラム記憶装置 | |
JPS62177644A (ja) | オ−バレイ制御方式 | |
JP2001166945A (ja) | 半導体装置及び圧縮プログラムの生成方法 |