JP2005182106A - Cpuメモリ装置及び配置プログラム配置変更方法 - Google Patents

Cpuメモリ装置及び配置プログラム配置変更方法 Download PDF

Info

Publication number
JP2005182106A
JP2005182106A JP2003417559A JP2003417559A JP2005182106A JP 2005182106 A JP2005182106 A JP 2005182106A JP 2003417559 A JP2003417559 A JP 2003417559A JP 2003417559 A JP2003417559 A JP 2003417559A JP 2005182106 A JP2005182106 A JP 2005182106A
Authority
JP
Japan
Prior art keywords
program
cpu
cpu memory
memory space
area
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
JP2003417559A
Other languages
English (en)
Inventor
Satoru Ochiai
覚 落合
Rie Kido
理恵 木戸
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.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric Corp
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 Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP2003417559A priority Critical patent/JP2005182106A/ja
Publication of JP2005182106A publication Critical patent/JP2005182106A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】 電源をOFFにしなくとも、プログラムの暴走なくプログラムの配置変更を可能とし、正常に動作を継続できるCPUメモリ装置及びプログラム配置変更方法を提供する。
【解決手段】 CPUメモリ空間に第1プログラムが配置されると共に、残るメモリ空間のサイズよりも大きいサイズの第2プログラムを前記第1プログラムと配置変更するCPUメモリ装置において、
前記CPUメモリ空間の第1プログラム及び前記第2プログラムを同一個数の複数領域に分割する手段と、
CPUがアクセスしていない前記第1プログラムの分割領域のプログラムデータを、前記第2プログラムの対応する分割領域のプログラムデータにより配置変更する手段と、
を備える。
【選択図】 図1

Description

本発明は、CPUメモリ空間に第1プログラムが配置されると共に、残るメモリ空間のサイズよりも大きいサイズの第2プログラムを前記第1プログラムと配置変更するCPUメモリ装置に関する。
CPUメモリ装置及びプログラム配置変更方法に関連する先行技術文献としては次のようなものがある。
特開2000−350504号公報
図2は、従来のCPUメモリ空間とプログラムを記憶保持している実在するメモリとの関係を説明する機能ブロック図である。1は、イメージとして表示されたCPUの論理的なメモリ空間である。2は実在する不揮発性メモリで構成される第1メモリ、3は同じく実在する不揮発性メモリで構成される第2メモリであり、夫々第1プログラムA及び第2プログラムBを記憶保持する。
4はCPUであり、CPUメモリ空間1に配置されたプログラムにアクセスするために、ゲートアレイ5を介して実在する第1メモリ2のプログラムA及び第2メモリ3のプログラムBにアクセスする。
フィールド機器のように、許容されている消費電流が制限されているシステムの場合、使用可能なマイクロプロセッサの機能制限のため、十分なCPUメモリ空間の確保が困難となる。そのため、メモリ空間上にROMやRAMで代表される広い領域を複数分設置することが不可能な状況に陥ることがある。
図2は、例えば第1メモリ2が記憶保持するサイズS1のプログラムAが、CPUメモリ空間1に配置されている状態を示している。S2は、CPUメモリ空間1の空き領域のサイズである。
この状態で、第2メモリ3が記憶保持するサイズS3のプログラムBをCPUメモリ空間1に追加配置しようとした場合、プログラムBのサイズS3がCPUメモリ空間の空き領域のサイズS2より大きい場合には、サイズS4(=S3−S2)のメモリ不足が発生するので、プログラムB全体の追加配置ができない。従って、プログラムBの機能の一部が利用不可能となったり、場合によればプログラムBの機能全てが利用不可能となる。
図3は、このような問題を回避し、従来のメモリ空間の機能構成で追加配置したいプログラムBの全機能を利用可能とする対応策を示す機能ブロック図である。主としてアクセスするサイズS1のプログラムAは、図2と同様に全体をCPUメモリ空間1に配置する。
サイズS2の空き領域の一部にサイズS2Aのウィンドウ領域Wのメモリ空間を形成し、このウィンドウ領域にプログラムBの一部を配置して利用する。第2メモリ3に記憶保持されているサイズS3のプログラムBは、複数の小さいサイズS3A,S3B,…の領域B1,B2,…に分割され、分割された領域のプログラムが選択されてCPUメモリ空間1のウィンドウ領域Wに選択配置される。
CPU4は、ウィンドウ領域Wに配置したプログラムBへアクセスする際には、アクセス前に利用したい機能を持つプログラムがある分割先領域を指定し、この領域のプログラムをウィンドウ領域Wに設定した上で、第2メモリ3の指定分割領域にアクセスを行う。
例えば、分割領域B1のプログラムにアクセスした後に、分割領域B2のプログラムにアクセスするという動作を行う場合には、
(1)ウィンドウ領域Wに分割領域B1のプログラムを設定。
(2)分割領域B1のプログラムにアクセス。
(3)ウィンドウ領域Wに分割領域B2のプログラムを設定。
(4)分割領域B2のプログラムにアクセス。
という作業を行う。
上記の場合、アクセス毎に領域の設定を必要とするため、頻繁にアクセスを行うプログラムを保持するメモリ(プログラムA1を保持する第1メモリ2)は、全体をCPUメモリ空間1に配置することとなる。
ここで、仮にシステム動作中において、頻繁にアクセスするプログラムをプログラムAからプログラムBへ配置変更したい場合には、CPUメモリ空間1に配置されているプログラムAの領域に、第2メモリ3に記憶保持されているプログラムBを配置するように、プログラム配置変更を実行すればよい。
例えば、第1メモリ2に現在動作中のプログラムデータ(Rev1)が保持され、第2メモリ3に同プログラムデータのRev2が保持されていると仮定する。このような場合、機器をRev2に更新するためには、プログラムの配置変更を実行すれば十分対応可能である。
しかし、システム動作中頻繁にアクセスするメモリ領域全体の内容を瞬時にかつ強制的に配置変更させることは、CPUが使用しているメモリ空間を壊されることと同様の現象を起こす危険性がある。
したがって、プログラムの暴走を回避するためには、メモリの配置は起動直後に決定していることが望ましく、プログラム配置変更を実施する際には一度電源OFFにし、システム動作を停止させてマッピングをし直し、その上でシステムを再起動させるという作業が必要となる。
頻繁にアクセスするプログラムを第1プログラムから第2プログラムへ配置変更する場合には、CPUメモリ空間に配置された第1プログラムAを第2プログラムBとする配置変更を実行することが望ましい。しかし、このようなメモリシステムを搭載した機器では、動作中にメモリ配置の変更を試みると、使用しているメモリ空間が壊されることと同じ状況に陥るため、プログラムの暴走が予想される。
そのため、本システム搭載の機器は、一度電源をOFFに(若しくはマイクロプロセッサのソフトリスタート機能を利用)し、動作を停止した上でプログラムの配置変更を実施する必要がある。
しかしながら、プラントに配置した工業計器のように継続したシステムの稼動が要求される状況下では、一度工業計器の電源をOFFするということは、プラント内のシステム動作を停止させてしまうこととなり、好ましくない。
従って本発明が解決しようとする課題は、電源をOFFにしなくとも、プログラムの暴走なくプログラムの配置変更を可能とし、正常に動作を継続できるCPUメモリ装置及びプログラム配置変更方法を提供することにある。
このような課題を達成するために、本発明の構成は次の通りである。
(1)CPUメモリ空間に第1プログラムが配置されると共に、残るメモリ空間のサイズよりも大きいサイズの第2プログラムを前記第1プログラムと配置変更するCPUメモリ装置において、
前記CPUメモリ空間の第1プログラム及び前記第2プログラムを同一個数の複数領域に分割する手段と、
CPUがアクセスしていない前記第1プログラムの分割領域のプログラムデータを、前記第2プログラムの対応する分割領域のプログラムデータにより配置変更する手段と、
を備えたことを特徴とするCPUメモリ装置。
(2)前記第1プログラム及び前記第2プログラムは、共に2分割されていることを特徴とする(1)に記載のCPUメモリ装置。
(3)前記第1プログラム及び前記第2プログラムの各分割領域のプログラムは、夫々独自の機能を有するプログラムであることを特徴とする(1)又は(2)に記載のCPUメモリ装置。
(4)前記配置変更が実行される対象となる前記第1プログラム及び第2プログラムの分割領域には、配置変更実行中は一切のアクセスが禁止されることを特徴とする(1)乃至(3)のいずれかに記載のCPUメモリ装置。
(5)前記第1プログラムと前記第2プログラムの配置変更は、システム停止又は再起動することなく、連続的に実行されることを特徴とする(1)乃至(4)のいずれかに記載のCPUメモリ装置。
(6)CPUメモリ空間に配置された第1プログラムの分割領域の一つにアクセスする第1ステップと、
アクセス中ではない第1プログラムの分割領域に配置されたプログラムデータを、複数領域に分割された第2プログラムの対応領域に配置されたプログラムデータにより配置変更する第2ステップと、
を有し、これらステップを前記分割数分繰り返することを特徴とするプログラム配置変更方法。
以上説明したことから明らかなように、本発明によりCPUメモリ空間に配置された第1プログラム領域を独立した複数領域に分割し、プログラムの配置変更をCPUがアクセスしていない分割領域毎に実施すれば、以下のような条件を保持した配置変更が可能となる。
(1)配置変更中は固定の領域(プログラム)へアクセスを行うため、システムは動作中の状態を維持する。
(2)配置変更中の不確かな領域へのアクセスは回避されるため、システムの暴走はなくなる。
(3)領域を分割して順に配置交換を完了させるため、配置交換中、および交換後もシステムを停止する必要はなくなる。
(4)従って、システム更新の際にも電源をOFFすることなく、半永久的に動作を継続する機器を実現することができるので、工業計器のような継続したシステムの稼動が要求される状況下でも、動作を停止することなく機器のプログラムの変更や更新に対応できる。
以下、本発明を図面により詳細に説明する。図1は本発明を適用したメモリ装置の一実施形態を示す機能ブロック図である。図2及び図3で説明した従来装置と同一要素には同一符号を付し、説明を省略する。以下、本発明の特徴部につき説明する。
システムは、主にプログラムAへのアクセスを中心に動作中であると仮定する。そのため、CPUメモリ空間1には第1メモリ2のプログラムAを配置しており、交換変更対象のプログラムBはCPUメモリ空間1には配置せず、第2メモリ2に記憶保持されているものとする。
頻繁にアクセスするプログラムを、プログラムAからプログラムBへ変更する場合、CPUメモリ空間1に配置するプログラムを、プログラムAからプログラムBへ配置変更しなければならない。
システム動作中はプログラムAへ頻繁にアクセスをしていることを考慮すると、システム動作中におけるプログラムAとプログラムBのメモリ空間1での配置変更の実施は、システムの暴走が予想される。
そのため、プログラムAを、プログラムA−1とプログラムA−2の2つの独立した領域に分割し、第2メモリ3のプログラムBも同様にプログラムB−1とプログラムB−2の2つの独立した領域に分割する。簡単のため、プログラムAと配置変更対象のプログラムBは同一サイズであり、分割は1/2の等分割であるとする。
CPU4がプログラムA−1領域にアクセスしている際に、アクセスしていないプログラムA−2領域のプログラムデータを、第2メモリ3のメモリのプログラムB−2領域のプログラムデータで置き換えて部分的な(1/2)配置変更を実行する。
次に、CPU4がプログラムA−2領域にアクセスしている際に、アクセスしていないプログラムA−1領域のプログラムデータを、第2メモリ3のメモリのプログラムB−1領域のプログラムデータで置き換えて残りの部分1/2の配置変更を実行する。
次に、レビジョンアップのためのプログラム配置変更を想定した動作手順を説明する。
例えば、第1メモリ2にはメモリ空間1に配置されて現在動作中のプログラムAのRev1のデータが、第2メモリ3には同プログラムのRev2データがプログラムBとして記憶保持されていると仮定する。
ここで、頻繁にアクセスをするプログラムAの領域は、2つの独立した領域をもつプログラムA−1及びA−2として存在させ、これをCPUメモリ空間1に配置する。この場合、プログラムA−1及びA−2は、予め決められた固定アドレス先に配置をしておく必要がある。
同様に、第2メモリ3に保持されたプログラムBも、2つの独立した領域をもつプログラムB−1及びB−2として存在させる。この場合、プログラムB−1及びB−2は、予め決められた固定アドレス先に配置をしておく必要がある。
CPU4のアクセス手順は、
(1)メモリ空間1に配置されたプログラムA−1を実行する。
尚、この時点では、メモリ空間1には、A−1及びA−2が配置されている。
(2)プログラムA−1を実行中に、メモリ空間1のプログラムA−2に配置されたプログラムデータを、第2メモリ3のプログラムB−2で置き換える配置変更を実施する。ただし、このプログラムの配置変更中は、CPUはプログラムA−1にアクセス中であることが前提であり、プログラムA−2領域へのアクセスは一切不可とする。
(3)プログラムA−2の配置変更完了後、メモリ空間1に配置されたプログラムA−2を実行する。尚、この時点でメモリ空間1には、プログラムA−1及びB−2が配置されている。
(4)プログラムA−2を実行中に、メモリ空間1のプログラムA−1に配置されたプログラムデータを、第2メモリ3のプログラムB−1で置き換える配置変更を実施する。ただし、このプログラムの配置変更中は、CPUはプログラムA−2にアクセス中であることが前提であり、プログラムA−1領域へのアクセスは一切不可とする。
上記のような手順を踏むと、システムの再起動なくプログラムAからプログラムBへと更新することが可能となり、半永久的にシステムが動作中の状況を維持しながら、最新な状態でのシステム動作が可能となる。
分割された領域のプログラムは、関連プログラムであっても夫々独立した独自の機能を有するプログラムであってもよい。独立したプログラムであった場合、図1に示すように、プログラムA−2をプログラムB−2で配置変更した部分変更状態で、プログラムA−1の機能とプログラムB−2の機能を用いて動作が可能となる。図1の2分割形態では、4種の機能の組み合わせでシステムの動作が可能となる。
この場合、プログラムの分割領域を増やせば、より多種の組み合わせのもとでシステムの動作が可能となり、ユーザ要求に応じた機能の組み合わせができる工業計器を実現することも可能となる。
以上説明した実施形態では、プログラム領域の分割は2等分割の例を説明したが分割数は任意個数であってもよい。更に、配置変更の対象となるプログラムBサイズは、プログラムAと同一サイズである必要はなく、プログラムAの分割領域のサイズが配置変更対象のプログラムBの分割領域のサイズと一致していればよい。
又、プログラムAとプログラムBは夫々独立した不揮発性の第1メモリ2及び第2メモリ3に記憶保持された例を説明したが、これらプログラムは1個のメモリ上に記憶保持されるものであってもよい。
本発明を適用したメモリ装置の一実施形態を示す機能ブロック図である。 従来のCPUメモリ空間とプログラムを記憶保持している実在するメモリとの関係を説明する機能ブロック図である。 空き領域の一部にウィンドウ領域を形成し、このウィンドウ領域にプログラムの一部を配置して利用する従来のCPUメモリ装置の機能ブロック図である。
符号の説明
1 CPUメモリ空間
2 第1メモリ
3 第2メモリ
4 CPU
5 ゲートアレイ

Claims (6)

  1. CPUメモリ空間に第1プログラムが配置されると共に、残るメモリ空間のサイズよりも大きいサイズの第2プログラムを前記第1プログラムと配置変更するCPUメモリ装置において、
    前記CPUメモリ空間の第1プログラム及び前記第2プログラムを同一個数の複数領域に分割する手段と、
    CPUがアクセスしていない前記第1プログラムの分割領域のプログラムデータを、前記第2プログラムの対応する分割領域のプログラムデータにより配置変更する手段と、
    を備えたことを特徴とするCPUメモリ装置。
  2. 前記第1プログラム及び前記第2プログラムは、共に2分割されていることを特徴とする請求項1に記載のCPUメモリ装置。
  3. 前記第1プログラム及び前記第2プログラムの各分割領域のプログラムは、夫々独自の機能を有するプログラムであることを特徴とする請求項1又は2に記載のCPUメモリ装置。
  4. 前記配置変更が実行される対象となる前記第1プログラム及び第2プログラムの分割領域には、配置変更実行中は一切のアクセスが禁止されることを特徴とする請求項1乃至3のいずれかに記載のCPUメモリ装置。
  5. 前記第1プログラムと前記第2プログラムの配置変更は、システム停止又は再起動することなく、連続的に実行されることを特徴とする請求項1乃至4のいずれかに記載のCPUメモリ装置。
  6. CPUメモリ空間に配置された第1プログラムの分割領域の一つにアクセスする第1ステップと、
    アクセス中ではない第1プログラムの分割領域に配置されたプログラムデータを、複数領域に分割された第2プログラムの対応領域に配置されたプログラムデータにより配置変更する第2ステップと、
    を有し、これらステップを前記分割数分繰り返することを特徴とするプログラム配置変更方法。

JP2003417559A 2003-12-16 2003-12-16 Cpuメモリ装置及び配置プログラム配置変更方法 Pending JP2005182106A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003417559A JP2005182106A (ja) 2003-12-16 2003-12-16 Cpuメモリ装置及び配置プログラム配置変更方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003417559A JP2005182106A (ja) 2003-12-16 2003-12-16 Cpuメモリ装置及び配置プログラム配置変更方法

Publications (1)

Publication Number Publication Date
JP2005182106A true JP2005182106A (ja) 2005-07-07

Family

ID=34780020

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003417559A Pending JP2005182106A (ja) 2003-12-16 2003-12-16 Cpuメモリ装置及び配置プログラム配置変更方法

Country Status (1)

Country Link
JP (1) JP2005182106A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012252567A (ja) * 2011-06-03 2012-12-20 Renesas Electronics Corp データ処理システム
WO2013031569A1 (ja) * 2011-09-02 2013-03-07 横河電機株式会社 フィールド機器

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5769459A (en) * 1980-10-17 1982-04-28 Fujitsu Ltd Program update processing system
JPS63201756A (ja) * 1987-02-17 1988-08-19 Nec Corp オンラインシステムのフアイル入替方法
JPH02161523A (ja) * 1988-12-14 1990-06-21 Hitachi Ltd 常駐化モジュール修正方式
JPH05297913A (ja) * 1992-04-17 1993-11-12 Toshiba Corp プログラマブルコントロ−ラ
JP2001056759A (ja) * 1999-08-18 2001-02-27 Matsushita Electric Ind Co Ltd ソフトウェア書換え方法およびソフトウェア書換え装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5769459A (en) * 1980-10-17 1982-04-28 Fujitsu Ltd Program update processing system
JPS63201756A (ja) * 1987-02-17 1988-08-19 Nec Corp オンラインシステムのフアイル入替方法
JPH02161523A (ja) * 1988-12-14 1990-06-21 Hitachi Ltd 常駐化モジュール修正方式
JPH05297913A (ja) * 1992-04-17 1993-11-12 Toshiba Corp プログラマブルコントロ−ラ
JP2001056759A (ja) * 1999-08-18 2001-02-27 Matsushita Electric Ind Co Ltd ソフトウェア書換え方法およびソフトウェア書換え装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012252567A (ja) * 2011-06-03 2012-12-20 Renesas Electronics Corp データ処理システム
WO2013031569A1 (ja) * 2011-09-02 2013-03-07 横河電機株式会社 フィールド機器
JP2013054497A (ja) * 2011-09-02 2013-03-21 Yokogawa Electric Corp フィールド機器
CN103718122A (zh) * 2011-09-02 2014-04-09 横河电机株式会社 现场仪器
CN103718122B (zh) * 2011-09-02 2016-02-10 横河电机株式会社 现场仪器以及现场仪器的动作方法

Similar Documents

Publication Publication Date Title
JP5044387B2 (ja) 情報処理装置及びそのスタックポインタ更新方法
KR20010070416A (ko) 컴퓨터
KR20180089631A (ko) 반도체 시스템 및 반도체 장치의 동작 방법
JP2011095952A (ja) ファームウェア更新方法および電子機器
JP2009110429A (ja) 電子機器およびその制御方法
JP2003196102A (ja) コンピュータシステム
JP2005182106A (ja) Cpuメモリ装置及び配置プログラム配置変更方法
WO2012008068A1 (ja) マイクロコントローラ及びその制御方法
JP2009205277A (ja) 工作機械の制御装置
JPS6234260A (ja) 不揮発性メモリアクセス方式
JP4760607B2 (ja) プログラマブルコントローラ
JP2017204083A (ja) メモリ保護システム
WO2010058525A1 (ja) 半導体集積回路及びレジスタアドレス制御装置
JP6676791B2 (ja) 情報処理装置
JP2005275841A (ja) メモリ保護装置
JP2010140167A (ja) 半導体集積回路
JP4479558B2 (ja) プログラマブルコントローラ及びそのプログラミングツール
JP2007241570A (ja) プログラマブルコントローラ間通信のための共有メモリの設定方式
JP6998434B2 (ja) 自動車用電子制御装置
JP6762411B2 (ja) 自動車用電子制御装置
JP2005025599A (ja) 画像処理装置
JPH05224707A (ja) プログラマブルコントローラのプログラム変更方法
JP6596455B2 (ja) 自動車用電子制御装置
JP2008071084A (ja) マイクロプロセッサ及び画像形成装置
JP2004287712A (ja) 電子装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061016

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100119

A131 Notification of reasons for refusal

Effective date: 20100125

Free format text: JAPANESE INTERMEDIATE CODE: A131

A521 Written amendment

Effective date: 20100302

Free format text: JAPANESE INTERMEDIATE CODE: A523

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100413