JPH04286024A - プログラム格納メモリー選択装置 - Google Patents

プログラム格納メモリー選択装置

Info

Publication number
JPH04286024A
JPH04286024A JP3051628A JP5162891A JPH04286024A JP H04286024 A JPH04286024 A JP H04286024A JP 3051628 A JP3051628 A JP 3051628A JP 5162891 A JP5162891 A JP 5162891A JP H04286024 A JPH04286024 A JP H04286024A
Authority
JP
Japan
Prior art keywords
program
storage means
memory
storage
ram
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
JP3051628A
Other languages
English (en)
Inventor
Koichi Masuda
浩一 増田
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.)
Panasonic Electric Works Co Ltd
Original Assignee
Matsushita Electric Works 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 Matsushita Electric Works Ltd filed Critical Matsushita Electric Works Ltd
Priority to JP3051628A priority Critical patent/JPH04286024A/ja
Publication of JPH04286024A publication Critical patent/JPH04286024A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プログラム格納メモリ
ー選択装置に関するものであり、アクセス速度の速いメ
モリー(例えば、RAM)とアクセス速度の遅いメモリ
ー(例えば、ROM)とが混在したマイクロコンピュー
タ・システムにおけるリアルタイム・マルチタスクOS
として利用されるものである。
【0002】
【従来の技術】図4は従来の一般的なマイクロコンピュ
ータ・システムのハードウェア構成を示すブロック図で
ある。CPU11には、システム・バス12を介してR
OM13、RAM14及びI/O装置15が接続されて
いる。まず、CPU11は周知のマイクロプロセッサで
あり、予めメモリーに格納されたプログラムを順次実行
するノイマン型のアーキテクチャーを備えている。シス
テム・バス12は、アドレスバスとデータバスと制御バ
スを含み、CPU11と周辺装置の間で双方向の信号伝
送を行う。ROM13は読み出し専用メモリーであり、
電源を切っても記憶が消えないので、システム起動用の
プログラムが格納される。また、システム起動後に実行
される各種のタスクも格納されている。RAM14はラ
ンダムアクセスメモリーであり、読み出しのみならず、
書き込みも可能であり、アクセス時間は一般的にROM
13よりも速いが、バックアップされていない限り電源
を切ると記憶は消えてしまう。RAM14は、ROM1
3上のタスクを実行するときに必要な変数やフラグ、テ
ーブル等を記憶するのに主として使用される。I/O装
置15は入出力装置であり、例えば、キーボードやディ
スプレイ、プリンタ、マウス、フロッピーディスク装置
、カードリーダー、OCR、ディジタイザ等が接続され
る。
【0003】
【発明が解決しようとする課題】ところで、従来、1つ
のCPU11で複数のタスクを時分割的に実行するリア
ルタイム・マルチタスクOS(オペレーティング・シス
テム)が知られている。このようなリアルタイム・マル
チタスクOSを使用したシステムにおいて、使用頻度の
高いタスクがアクセス速度の遅いメモリー(例えば、R
OM13)にロケートされていると、システム全体のレ
スポンス(応答速度)が著しく低下するという問題があ
る。そのため、システム起動時にプログラム全体をより
高速なメモリーへ転送してプログラムを動作させる方式
も考えられるが、それではプログラム全体を転送するた
めに高速なメモリーが大量に必要になり、コストアップ
を招くという問題があった。
【0004】本発明はこのような点に鑑みてなされたも
のであり、その目的とするところは、リアルタイム・マ
ルチタスクOSを使用したシステムにおいて、プログラ
ム全体を転送するのに必要なメモリーに比べて少ないメ
モリーを使って、システム全体のレスポンスを高めるこ
とが可能なプログラム格納メモリー選択装置を提供する
ことにある。
【0005】
【課題を解決するための手段】本発明のプログラム格納
メモリー選択装置にあっては、上記の課題を解決するた
めに、図1に示すように、複数のプログラムをそれぞれ
リロケータブルな形式で格納された第1の記憶手段1と
、少なくとも1つのプログラムを書き込み可能で且つ第
1の記憶手段1よりも読み出し速度が速い第2の記憶手
段2と、第1の記憶手段1に記憶された複数のプログラ
ムのうち1つを使用環境に応じた頻度で起動して選択的
に実行するプログラム実行手段3と、個々のプログラム
の起動回数をカウントするカウント手段4と、カウント
手段4がカウントしたプログラムの起動回数を各プログ
ラム毎に格納する第3の記憶手段5と、第3の記憶手段
5の記憶内容に基づいて起動回数の多いプログラムを判
定する判定手段6と、判定手段6で判定されたプログラ
ムを第1の記憶手段1から第2の記憶手段2に転送する
転送手段7と、第2の記憶手段2に転送されたプログラ
ムを実行するときには第1の記憶手段1に代えて第2の
記憶手段2からプログラムを読み出すことをプログラム
実行手段3に指示するメモリー指定手段8とを有するこ
とを特徴とするものである。
【0006】
【作用】以下、図1の構成を補足説明しながら本発明の
作用について説明する。第1の記憶手段1は、例えば図
4に示すROM13のようなアクセス速度の遅いメモリ
ーであり、CPU11で実行されるプログラムを複数個
リロケータブルな形式で記憶している。ここで、リロケ
ータブルな形式とは、アドレス空間内のどの位置にロケ
ートされていても実行可能な形式(つまり相対アドレス
形式)で記述されていることを意味する。第2の記憶手
段2は、例えば図4に示すRAM14のようなアクセス
速度の速いメモリーである。プログラム実行手段3は、
図4に示すCPU11のプログラム実行機能(つまり、
CPU11に内蔵されたプログラムカウンタで指定され
るメモリー上のアドレスから命令を1つずつフェッチし
て、実行する機能)により実現される。通常は、アクセ
ス速度の遅い第1の記憶手段1からプログラムが読み出
され、実行される。第1の記憶手段1に格納された複数
のプログラムのうち、どのプログラムが頻繁に起動され
るかは、システムの使用環境に応じて異なる。そこで、
カウンタ手段4では、個々のプログラムが起動される度
に、そのプログラムが起動された回数をカウントし、そ
のカウント値を第3の記憶手段5に各プログラム毎に格
納して行く。ここで、カウンタ手段4は、例えば図4に
示すCPU11の加算機能を用いて実現でき、また、第
3の記憶手段5は、例えば図4に示すRAM14上のメ
モリー空間に領域を割り当てられたテーブルで実現でき
る。つまり、具体的には、図4に示すCPU11がRO
M13上のプログラムを起動する度に、そのプログラム
の起動回数をRAM14上のテーブルから読み出して、
CPU11の加算機能により1つカウントアップした後
、再び、RAM14上のテーブルの同じ位置に書き込む
ようにすれば良い。
【0007】次に、判定手段6はCPU11の数値比較
機能を用いて実現することができる。つまり、RAM1
4上の前記テーブルから各プログラムの起動回数を読み
込み、この起動回数を所定の数値と比較する。そして、
起動回数が所定回数を越えるプログラムについては、ア
クセス速度の速いメモリーへリロケートすべきであると
判定し、転送手段7により第1の記憶手段1から第2の
記憶手段2へ当該プログラムを転送する。この転送手段
7は、CPU11によりROM13からプログラムを読
み出し、RAM14に書き込むことにより実現できるが
、CPU11の空き時間に、DMA(ダイレクト・メモ
リー・アクセス)を用いて直接メモリー間で転送すれば
更に高速度で転送することができる。
【0008】次に、メモリー指定手段8は、各プログラ
ム毎に割り当てられたフラグを用いて実現することがで
きる。つまり、プログラム実行手段3は、メモリー上の
プログラムを起動する前に、各プログラム毎に割り当て
られたメモリー指定用のフラグを参照し、フラグが立っ
ていればアクセス速度の速い第2の記憶手段2からプロ
グラムを読み出す。反対に、フラグが立っていなければ
、第3の記憶手段5(具体的にはRAM14上のテーブ
ル)から当該プログラムの過去の起動回数を読み込み、
カウント手段4によりカウントアップして再度テーブル
の同じ位置に書き込む。そして、この起動回数が所定回
数以内であれば、第1の記憶手段1からプログラムを読
み出す。また、この起動回数が所定回数を越えていれば
、転送手段7により当該プログラムを第1の記憶手段か
ら第2の記憶手段2へリロケートし、当該プログラムに
割り当てられたフラグを立てて、第2の記憶手段2から
プログラムを読み出すものである。なお、このフラグも
RAM14上の所定の領域に格納すれば良い。
【0009】
【実施例】図2は本発明の一実施例の概略構成図である
。リアルタイム・マルチタスクOS■は、複数個(例え
ば、i個)のタスクT1 ,T2 ,…,Tiを実時間
で管理するオペレーティングシステムである。従来は、
このリアルタイム・マルチタスクOS■を用いて、必要
なタスクを選択して実行していたものである。本発明で
は、従来のオペレーティングシステムの機能に加えて、
タスク監視部■とタスク使用頻度テーブル■及びリロケ
ート機能部■を備えている。タスク監視部■は、タスク
T1 ,T2 ,…,Tiの起動回数をカウントする。 また、タスク使用頻度テーブル■では、タスク監視部■
がカウントした回数を各タスク毎に格納する。そして、
リロケート機能部■は、ROM13とRAM14の間で
タスクをリロケートする機能を持ち、プログラムをロケ
ートする際に、使用頻度の高いタスクをより高速にアク
セスできるメモリー空間へリロケートするものである。
【0010】以下、本実施例の動作について説明する。 本実施例では、プログラム実行時にタスク監視部■によ
りタスクの起動回数をカウントし、各タスク毎の起動回
数をタスク使用頻度テーブル■に格納し、このテーブル
■を参照して使用頻度の高いタスクを一時的にCPU1
1の空き時間を利用して、より高速にアクセスできるメ
モリー空間へリロケートすることにより、小容量の高速
なメモリーでシステムの動作レスポンスを向上させるも
のである。
【0011】図3は本実施例において、CPU11に接
続されたROM13及びRAM14のメモリーマップで
ある。通常、CPU11は電源投入時又はリセット時に
は、アドレス空間の先頭(0番地)からプログラムの実
行を開始する。そこで、アドレス空間の先頭には、図3
(a)に示すように、ROM13のメモリー空間を配置
し、システム起動用のOS(オペレーティングシステム
)のプログラムを実行させる。システムが起動されると
、ROM13内のタスクが使用環境に応じた頻度で選択
されて実行される。このように、システム起動用のOS
及びタスクはアクセス速度の遅いROM13に格納され
ている。一方、RAM14はROM13に比べてアクセ
ス時間が十分に速く、ROM13のメモリー空間に続く
アドレス空間に配置されている。システムが起動される
と、OSのタスク監視部■は各タスクT1 ,T2 ,
…,Tiの起動回数をカウントし、RAM14上に領域
が確保されたタスク使用頻度テーブル■へ格納する。C
PU11に空き時間が生じると、OSはタスク使用頻度
テーブル■を参照し、使用頻度の高いタスク(例えば、
”タスク1”)を図3(b)の矢印に示すように、RO
M13からRAM14へリロケートする。なお、タスク
の転送は、DMA(ダイレクト・メモリー・アクセス)
を使用して実施しても良い。この場合、RAM14とR
OM13には重複して”タスク1”のプログラムが格納
されていることになるが、CPU11は、高速でアクセ
ス可能なRAM14の側から”タスク1”のプログラム
を読み出すものである。逆に、使用頻度の低いタスクは
RAM14からROM13へリロケートするが、実際に
は、上述したような、プログラム読出メモリー指定用の
フラグをリセットするだけで良く、これにより、CPU
11はタスクをRAM14から読み出す代わりにROM
13から読み出すようにプログラム読出メモリーを切り
換えるものである。
【0012】以上のように構成すれば、ROMのプログ
ラム全体をアクセス速度の速いRAMに転送する方式に
比べて少ないRAM容量でシステムの動作レスポンスを
向上させることができるものである。
【0013】なお、実施例では、第1の記憶手段1とし
てROM13、第2の記憶手段2としてRAM14を用
いたが、これに限定されるものではなく、例えば、第1
の記憶手段1としてアクセス速度が比較的遅いRAMを
使用し、第2の記憶手段2としてアクセス速度が比較的
速いRAMを使用するような場合にも本発明を適用する
ことができるものである。
【0014】
【発明の効果】本発明のプログラム格納メモリー選択装
置にあっては、上述のように、通常は第1の記憶手段か
らプログラムを読み出してプログラム実行手段で実行し
ており、使用環境に応じたプログラムの起動回数を個々
のプログラム毎にカウントして第3の記憶手段に格納し
、この第3の記憶手段の記憶内容に基づいて使用頻度が
高いプログラムについては転送手段により第1の記憶手
段から第2の記憶手段に転送し、その後は、第1の記憶
手段よりも高速な第2の記憶手段からプログラムを読み
出すようにプログラム実行手段に対してメモリー指定手
段から指示を与えるようにしたので、第2の記憶手段の
記憶容量は、第1の記憶手段のすべてのプログラムを転
送する場合に比べると少なくて済み、メモリー容量の増
大によるコストの上昇を抑制することができるという効
果がある。
【図面の簡単な説明】
【図1】本発明の基本構成を示すクレーム対応ブロック
図である。
【図2】本発明の一実施例を機能的にブロック化した示
した説明図である。
【図3】本発明の一実施例のメモリー上のプログラムの
配置図である。
【図4】従来の一般的なマイクロコンピュータ・システ
ムのブロック図である。
【符号の説明】
1    第1の記憶手段 2    第2の記憶手段 3    プログラム実行手段 4    カウント手段 5    第3の記憶手段 6    判定手段 7    転送手段 8    メモリー指定手段 11    CPU 12    システム・バス 13    ROM 14    RAM 15    I/O装置 ■    リアルタイム・マルチタスクOS■    
タスク監視部 ■    タスク使用頻度テーブル ■    リロケート機能部

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】    複数のプログラムをそれぞれリロ
    ケータブルな形式で格納された第1の記憶手段と、少な
    くとも1つのプログラムを書き込み可能で且つ第1の記
    憶手段よりも読み出し速度が速い第2の記憶手段と、第
    1の記憶手段に記憶された複数のプログラムのうち1つ
    を使用環境に応じた頻度で起動して選択的に実行するプ
    ログラム実行手段と、個々のプログラムの起動回数をカ
    ウントするカウント手段と、カウント手段がカウントし
    たプログラムの起動回数を各プログラム毎に格納する第
    3の記憶手段と、第3の記憶手段の記憶内容に基づいて
    起動回数の多いプログラムを判定する判定手段と、判定
    手段で判定されたプログラムを第1の記憶手段から第2
    の記憶手段に転送する転送手段と、第2の記憶手段に転
    送されたプログラムを実行するときには第1の記憶手段
    に代えて第2の記憶手段からプログラムを読み出すこと
    をプログラム実行手段に指示するメモリー指定手段とを
    有することを特徴とするプログラム格納メモリー選択装
    置。
JP3051628A 1991-03-15 1991-03-15 プログラム格納メモリー選択装置 Pending JPH04286024A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3051628A JPH04286024A (ja) 1991-03-15 1991-03-15 プログラム格納メモリー選択装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3051628A JPH04286024A (ja) 1991-03-15 1991-03-15 プログラム格納メモリー選択装置

Publications (1)

Publication Number Publication Date
JPH04286024A true JPH04286024A (ja) 1992-10-12

Family

ID=12892119

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3051628A Pending JPH04286024A (ja) 1991-03-15 1991-03-15 プログラム格納メモリー選択装置

Country Status (1)

Country Link
JP (1) JPH04286024A (ja)

Similar Documents

Publication Publication Date Title
US5357628A (en) Computer system having integrated source level debugging functions that provide hardware information using transparent system interrupt
US5557766A (en) High-speed processor for handling multiple interrupts utilizing an exclusive-use bus and current and previous bank pointers to specify a return bank
KR100309615B1 (ko) 고속프로그램가능로직컨트롤러(plc)
KR960011613A (ko) 데이터 처리장치
KR910001557A (ko) 컴퓨팅시스템의 명령 전달 장치 및 방법
WO1995027243B1 (en) Sound board emulation using digital signal processor
EP0740254A3 (en) Microprocessor and method for setting up its peripheral functions
US5802598A (en) Data memory access control and method using fixed size memory sections that are sub-divided into a fixed number of variable size sub-sections
US5293622A (en) Computer system with input/output cache
JPH04286024A (ja) プログラム格納メモリー選択装置
US8316192B2 (en) Multiple-port memory systems and methods
JPS63106836A (ja) 異ア−キテクチヤ・エミユレ−シヨン方式
JPH024936B2 (ja)
JPH0552535B2 (ja)
JPH09505428A (ja) ページアドレスモードを有するマイクロコントローラ
JPS6357821B2 (ja)
KR930002324B1 (ko) 기억버퍼를 갖는 마이크로 프로세서
JPS62120543A (ja) メモリバンクの切替方式
JPH0756633B2 (ja) タスク切換え方式
JP2731618B2 (ja) エミュレータ
KR930010775A (ko) 화상 처리 장치
JPS6125168B2 (ja)
KR100195221B1 (ko) 프로그램 수행시 명령어의 실행 횟수 측정장치
JPS6215645A (ja) 中央処理装置
Cates et al. An ASIC RISC-based I/O processor for computer applications