JP4656960B2 - プログラム実行装置、方法及びプログラム実行方法のプログラム並びにプログラムコード圧縮装置、方法及びプログラムコード圧縮方法のプログラム - Google Patents

プログラム実行装置、方法及びプログラム実行方法のプログラム並びにプログラムコード圧縮装置、方法及びプログラムコード圧縮方法のプログラム Download PDF

Info

Publication number
JP4656960B2
JP4656960B2 JP2005028123A JP2005028123A JP4656960B2 JP 4656960 B2 JP4656960 B2 JP 4656960B2 JP 2005028123 A JP2005028123 A JP 2005028123A JP 2005028123 A JP2005028123 A JP 2005028123A JP 4656960 B2 JP4656960 B2 JP 4656960B2
Authority
JP
Japan
Prior art keywords
data
execution
command
program
code
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.)
Expired - Fee Related
Application number
JP2005028123A
Other languages
English (en)
Other versions
JP2006215827A (ja
Inventor
山彦 伊藤
繁樹 鈴木
淑子 落合
紀之 久代
吉秋 小泉
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi 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
Priority to JP2005028123A priority Critical patent/JP4656960B2/ja
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to ES06712888.4T priority patent/ES2687433T3/es
Priority to KR1020077016934A priority patent/KR100902461B1/ko
Priority to EP06712888.4A priority patent/EP1881401B1/en
Priority to EP10014002.9A priority patent/EP2330502B1/en
Priority to US11/883,627 priority patent/US8448158B2/en
Priority to CN2006800040337A priority patent/CN101116054B/zh
Priority to ES10014002T priority patent/ES2708499T3/es
Priority to PCT/JP2006/301745 priority patent/WO2006082878A1/ja
Priority to ES09014774T priority patent/ES2728318T3/es
Priority to CN 200810184954 priority patent/CN101458620B/zh
Priority to EP09014774.5A priority patent/EP2161659B1/en
Priority to TW095103700A priority patent/TWI312482B/zh
Publication of JP2006215827A publication Critical patent/JP2006215827A/ja
Priority to HK09108809.5A priority patent/HK1130916A1/xx
Application granted granted Critical
Publication of JP4656960B2 publication Critical patent/JP4656960B2/ja
Priority to US13/195,073 priority patent/US8572557B2/en
Priority to US13/195,107 priority patent/US8527967B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明はプログラムコードに基づいて実行処理を行うプログラム実行装置、方法等に関するものである。また、その装置、方法を実現するためのプログラムコード圧縮方法、装置等に関するものである。
家電機器(エアコン、冷蔵庫、洗濯機、放電灯点灯装置等)等においては、その動作を制御するため、プログラム実行装置を組み込んでいる(以下、このような家電機器、家電機器アダプタ等を組み込み機器という)。ここで、プログラム実行装置が実行処理を行うためには、あらかじめ定められたプログラムコードと呼ばれるデータを必要とする。このプログラムコードは、例えば組み込み機器内に設けられたROM(Read Only Memory)等の記憶手段にあらかじめ記憶されており、プログラム実行装置はROMに記憶されたプログラムコードを読み込んで(入力して)実行処理を行っている。
ここで、プログラムコードを圧縮処理して、記憶すべきデータ量を減らし、ROM等の記憶手段の記憶容量をできるだけ減らすことにより、記憶手段に係るコストを低減させているプログラム実行装置がある(例えば特許文献1参照)。このようにプログラムコードのデータ量を減らすことは、今後、組み込み機器がネットワークを介して相互に接続され、例えば、プログラムコードのデータを含む信号を送受信するような場合には都合がよい。
特開2002−318696号公報
通常、プログラムコードが圧縮されると、プログラム実行装置の実行処理速度が低減する。そこでRAM(Randam Access Memory)等で構成される、一時的な記憶手段(バッファ)に、伸張したプログラムコードを蓄えておく方法が採られている。そのため、RAMの容量を多く必要とする。
そこで、本発明は、圧縮したプログラムコードによりROMの記憶容量の低減を図りつつ、さらに、プログラム実行装置の実行処理速度の低減を防ぎながら、用意すべきバッファの記憶容量を低減することができるプログラム実行装置、方法等を得ることを目的とする。また、その装置、方法を実現するためのプログラムコード圧縮方法、装置等を実現することを目的とする。
本発明に係るプログラム実行装置は、実行処理に用いられる処理データと実行処理内容を表すコマンドとが順に並べられた実行コードにより構成されるプログラムコードを圧縮したデータを記憶する第1の記憶手段と、処理データを一時的に記憶するための第2の記憶手段と、プログラムコードを圧縮したデータを、第1の記憶手段から所定のデータ量毎に読み込み、コマンドを含むデータであるかどうかを判定し、コマンドを含まないデータと判定すると、そのデータ内の処理データを第2の記憶手段に記憶させる種別判定手段と、種別判定手段がコマンドを含むデータと判定すると、第2の記憶手段に記憶されている処理データとコマンドとに基づいて実行コードを生成するコード伸張手段と、コード伸張手段が生成した実行コードに基づいて、プログラムコードの実行処理を逐次行う実行手段とを備えたものである。
本発明によれば、第1の記憶手段から、プログラムコードを圧縮(符号化)したデータを所定のデータ量で読み込み、コード種別判定手段がコマンドを含まないデータであると判定すれば、第2の記憶手段に処理データを一時的に記憶させ、コマンドであると判定すれば、コード伸張手段が処理データ及びコマンドに基づいて実行コードを生成し、実行手段がその実行コードに基づく実行処理を行うようにしたので、第2の記憶手段は、実行コードを生成するまで処理データを記憶させておくだけでよく、これにより第2の記憶手段に設けておくべき記憶容量を少なくさせることができる。また、第1の記憶手段からのデータ読み込みから実行コードの実行処理に至るまでのプログラム実行装置の全体の処理がシンプルであるため、生成した実行コード(プログラムコード)を保持しておかなくても速度の低減を防ぐことができる。
実施の形態1.
図1は本発明の第1の実施の形態に係るプログラムコードの圧縮処理を表す図である。図1の上側には実行コードの一例を示している。ここではテキストデータとして記述されている。プログラムコードは1又は複数の実行コードで構成される。まず、実行コードについて説明する。本実施の形態においては、プログラムコードに用いる言語としてForth を用い、ECHONET (ECHONET はECHONET コンソーシアムの商標)の規格における実行処理を行うためのコードであるとする。ECHONET とは、家電機器同士を連携させつつ制御を行なうためのネットワーク(通信回線)の規格である。また、Forth は構文解析が簡単又は不要な逆ポーランド記法(後置記法)に基づく言語である。本実施の形態において、実行コードは、プログラム実行装置が実行すべき処理を表すコマンド(命令)のデータ(以下、コマンドという。Forth ではwordという)とコマンドに基づく実行処理を行う際に処理されるデータ(以下、処理データという)で構成されている。そして、処理データ、コマンドの順に記述される。ここで各コマンドとその処理内容については、あらかじめ定義づけられて(関連づけられて)データとして登録されている(以下、これを辞書という)。そのため、実行コード内の数字、文字列のデータについて、辞書に登録されていればコマンドであり、登録されていなければ処理データとなる。本実施の形態では、後述する記憶手段2に辞書が記憶されているものとする。
コマンドRGST_EPCは組み込み機器のプロパティ情報を登録を実行処理するために記述される。オブジェクトidは組み込み機器のオブジェクトに対して付されるidである。オブジェクトidを表すために2ビットを割り当てている。ECHONET プロパティは、組み込み機器の種類に応じて設定可能なプロパティ(例えば、エアコンにおける風量設定状態等)のコードである。コードの値はECHONET の規格で定められており、8ビットを割り当てている。また、ここではプロパティのデータ型として7種類を用意しており、3ビットを割り当てている。アクセスルールは書き込み(Set )、読み出し(Get )、通知の可否を示すもので3ビットを割り当てている。状変時アナウンス有無はプロパティの状態が変化した際に、ネットワークを介して通知するか否かを表す指標(フラグ)であり、1ビットを割り当てている。データサイズは、プロパティのデータサイズを規定するためのものであり、ECHONET の規格ではその最大値を8640バイトとしており、その数値を表すために14ビットを割り当てている。
次にプログラムコード圧縮処理装置の構成と処理について説明する。本実施の形態におけるプログラムコード圧縮装置は、制御処理手段1、記憶手段2及び通信手段3で構成されているものとする。制御処理手段1は、処理データ・コマンド識別部1A及び変換部1Bを有している。制御処理手段1には データ・コマンド識別部1Aでは、プログラムコードの各実行コードについて、記憶手段2に記憶されている辞書と照合し、辞書と合致しない文字列、数字等を処理データとし、合致した文字列(スクリプト)をコマンドとすることで、処理データとコマンドとを識別処理する。ここで、実行コードについては、例えば、オペレータが入力手段から入力した指示、データ等に基づいて制御処理手段1のデータ・コマンド識別部1Aの前段に設けられたプログラムコード生成部(図示せず)で生成するようにしてもよいし、別の装置において生成され、通信回線(ECHONET に係るものでなくてもよい)を介して送信された信号に含まれる実行コードを処理するようにしてもよい。
変換部1Bは、処理データとコマンドとをそれぞれバイナリ形式のデータ(以下、バイナリデータという)で表し、所定のデータ量毎に分けたデータを生成する。本実施の形態においては7ビットを所定の単位とする。例えば処理データが7で割り切れない場合は、例えば残りのビットに“0”を補充する。そして、処理データを表すデータ(以下、このデータについても処理データという)については分けたそれぞれの先頭のビットに“0”を付し、コマンドを判別するためのデータ(以下、このデータについてもコマンドという)については“1”を付す。つまり、これが、処理データであるかコマンドであるかを判定するための判定用ビット(フラグ)となる。これにより、図1の下側に示すように、各実行コード(プログラムコード)は1バイト(8ビット)を単位としたデータ(バイトデータ)に分けられる。このように、各要素(項目)の文字列に分かれていた処理データをバイナリデータとしてまとめて符号化(エンコード)処理してデータ量の低減を図る。
一方、コマンドについては、そのコマンドと1対1で対応する数値等(コード値)をバイナリデータで表す。これにより、そのバイナリデータが表すコマンドを判別することができる。このコマンドとバイナリデータとの関係は関連づけられて記憶手段2に記憶されており、変換部1Bはデータ生成に際してそのデータを参照する。ここで、コマンド数が128以下であればコマンドを判別するためには1バイトあれば足りる。例えばコマンド数がそれ以上となる等の場合には2バイト以上になるが、その場合でも、実行処理に使用(出現)する頻度の高いコマンド(例えばプロパティ関連等)については、1バイト分のデータでも判別できるようにすれば、プログラムコード全体に係るデータ量をさらに減らすことができる。なお、本実施の形態による方法によって生成したバイトデータを、さらにランレングス法のような公知のビット列圧縮法によって圧縮するようにしてもよい。
以上のようにして生成した圧縮したプログラムコードのデータを、例えばネットワークを介して組み込み機器側から送信されたダウンロード要求に応じ、又はプログラムコード圧縮処理装置(制御処理手段1)側から積極的な配信により、通信手段3、有線又は無線の通信回線を介して、後述する実施の形態2の組み込み機器のプログラムコード格納手段24に記憶する。
以上のように、第1の実施の形態によれば、各実行コードの処理データとコマンドとを識別し、処理データは各要素(項目)をまとめてバイナリデータとし、コマンドは対応する数値をバイナリデータとして、それぞれのデータを所定の単位(本実施の形態では7ビット)に分け、処理データを含むデータかコマンドを含むデータか判定するための判定用ビットを各データに付すようにして、1バイトのデータに分けるようにしたので、処理データとコマンドをそれぞれ圧縮できる。そして、実行処理を行う際に、読み込みを1バイト毎に行い、そのデータが処理データを含むかコマンドを含むかを簡単に判別できる。また、プログラムコードをForth 等の逆ポーランド記法に基づく言語とすることにより、実行コードが処理データ、コマンドの順に構成されているので、処理データとコマンドとの識別を容易に行うことができる。さらに、プログラムコードを分ける単位を1バイトとすることにより、実行処理を行う際に、例えばワンチップマイコン等のような処理装置でも対応することができる。そして、例えば、実行処理に使用(出現)する頻度の高いコマンドを含むバイト数を低くする等、頻度に応じた調整をすることで、より圧縮効果を高めることができる。
実施の形態2.
図2は本発明の実施の形態2に係るプログラム実行装置を表す図である。本実施の形態では、プログラム実行装置はコード種別判定手段21、コード伸張手段22、実行手段23、プログラムコード格納手段24及びバッファ記憶手段25で構成されている。そして、実施の形態1で生成した圧縮したプログラムコードに基づく実行処理を行うものとする。
コード種別判定手段21は、プログラムコード格納手段24に記憶された圧縮(エンコード)されたプログラムコードを所定のデータ量で読み込む(入力する)。本実施の形態では、実施の形態1に合わせて、所定のデータ量を1バイト(8ビット)とする。そして、読み込んだデータは処理データが含まれているデータ(データバイト。コマンドを含んでいないデータ)かコマンドが含まれているデータ(コマンドバイト)かを判定する。コード種別判定手段21は実施の形態1で説明した判定用ビット(フラグ)に基づいて判定を行うものとする。そして、処理データであると判定するとその処理データをバッファ記憶手段25に記憶させ、コマンドであると判定するとコード伸張手段22に処理の制御を渡す。
コード伸張手段22は、コード種別判定手段21がコマンドと判定すると、バッファ記憶手段25に記憶された処理データ及びコマンドに基づいて実行コードを生成(伸張、デコード)する。実行コードを生成すると実行手段23に処理の制御を渡す。
実行手段23は、コード伸張手段22が生成した実行コードに基づいて実行処理を行う。ここで、本実施の形態では、実行手段23は実行コードを解釈(翻訳)しながら処理データに対してコマンドの実行処理を行うインタプリタであるとする。したがって、プログラムコードは、実行コード毎に逐次的に実行処理されることになる。ここで、実行手段23は、実行コードを解釈するために、第1の実施の形態で説明した辞書を記憶手段(図示せず)に有しているものとする。実行処理を終了するとコード種別判定手段21に処理の制御を渡す。
プログラムコード格納手段24及びバッファ記憶手段25はともに記憶手段である。ここで、本実施の形態ではプログラムコード格納手段24を不揮発性メモリとするが、単なるROMではなく、追加、一部又は全部を変更、削除等、プログラムコードの書き換えができるような記憶手段(例えば、EPROM、EEPROM等)であるとする。プログラムコードを書き換える場合、実施の形態1で説明したように、例えばネットワークを介したダウンロードにより、プログラムコードを含む信号を組み込み機器が有する通信手段(図示せず)が受信し、プログラムコード格納手段24に記憶され、保持される。
バッファ記憶手段25は、例えば揮発性メモリとする。バッファ記憶手段25は、コード伸張手段22が実行コードを生成するまでに少なくとも処理データを記憶させておくための一時的な記憶手段であり、次の処理データが入力されれば残さない。したがって、バッファ記憶手段25が有する記憶容量は任意であるが、好ましくは、組み込み機器(プログラム実行装置)が1回に実行処理する実行コードの処理データ部分(又は実行コード)が記憶できる最大の記憶容量とする。
本実施の形態は、実行処理を行う圧縮されたプログラムコードのデータを1バイト毎に読み込み、そのデータに含まれているのが処理データであるかコマンドであるかの判定を行う。処理データであればバッファ記憶手段25に記憶させ、コマンドであると判定すると、伸張手段22がバッファ記憶手段25に記憶した処理データとコマンドとを実行コードにする。その実行コードを実行手段23が実行処理する。これにより、プログラム実行装置によるプログラムコード格納手段24に格納された圧縮されたプログラムコードに基づいて、実行コード毎の実行処理が行われる。ここで、実行処理が終了した実行コード(プログラムコード)を、RAM等のバッファ記憶手段25に不用意に残しておかないようにし、1回の実行処理に必要な実行コードの処理データ(又は実行コード)を一時的に記憶するために必要な量を越えないようにして、バッファ記憶手段25の記憶容量を抑える。また、コード種別判定手段21、コード伸張手段22及び実行手段23について、それぞれ物理的に独立した手段で構成してもよいが、通常、プログラム実行装置はいわゆるマイコン等のコンピュータで構成されており、これらの手段は、例えばCPUを中心とする制御処理装置で構成されている。そして、制御処理装置がそれぞれの手段の処理を実行することで、プログラム実行装置の実行処理を実現する。
図3はプログラム実行装置における実行処理を行う際の動作を表すフローチャートである。ここでは、特にプログラム実行装置のコード種別判定手段21、コード伸張手段22及び実行手段23が行う処理を中心に説明する。コード種別判定手段21は、プログラムコード格納手段24から圧縮されたプログラムコードのデータを1バイト単位で読み込む(S1)。そして、コード種別判定手段21は、実施の形態1で説明した判定用ビットが“0”であるか“1”であるかどうかによって、読み込んだデータがコマンドであるか又は処理データであるか(コマンドでないか)の判定を行う(S2)。処理データである(コマンドでない)と判断すると、判定用ビットを除いた上でバッファ記憶手段25に記憶し(S3)、さらに圧縮されたプログラムコードのデータを1バイト単位で読み込む(S1)。
一方、読み込んだデータがコマンドであると判断すると、コード伸張手段22に制御が渡される。コード伸張手段22は、読み込んだデータ(バイナリデータ)に基づいて、そのデータが表すコマンドを判別し、スクリプト形式のコマンドに変換する。この判別には、実施の形態1で説明したバイナリデータとコマンドとの関係を用いる。コマンドが判別できると、コマンドが実行処理を行う処理データの要素(項目)と割り当てられたデータ量(ビット数)がわかるので、処理データのバイナリデータに基づいて、各要素(項目)の処理データに分ける。以上のような伸張処理を行って実行コードを生成する(S4)。
そして、コード伸張手段22から実行手段23に制御が渡されると、コード伸張手段22が生成した実行コードに基づいて実行処理を行う(S5)。逆ポーランド記法に基づく言語においては、各要素(項目)はスタックに積まれ、コマンドに基づいて処理される。実行コードに基づく実行処理が終了すると、コード種別判定手段21に制御が渡され、次の実行コードに基づく実行処理に対する処理が行われる。以上のように実行コード毎の実行処理を逐次行ってプログラムコードを実行処理し、組み込み機器が動作する。また、実行処理に基づくデータを含む信号を組み込み機器外の機器にネットワークを介して送信して動作させる。
以上のように実施の形態2によれば、プログラムコード格納手段24から、圧縮されたプログラムコードのデータを所定のデータ量(本実施の形態では1バイト)で読み込み、コード種別判定手段21が処理データを含むデータであると判定すれば、バッファ記憶手段25に処理データを一時的に記憶させていき、コマンドを含むデータであると判定すれば、次にコード伸張手段22が実行コードを生成し、実行手段23がその実行コードに基づく実行処理を行うようにしたので、バッファ記憶手段25は、実行コードを生成するまで処理データを記憶させておくだけでよく、これによりバッファ記憶手段25として設けておくべき記憶容量を少なくさせることができる。また、圧縮されたプログラムコードのデータ読み込みから実行コードの実行処理に至るまでのプログラム実行装置の全体の処理がシンプルであるため、生成した実行コード(プログラムコード)を保持しておかなくても速度の低減を防ぐことができる。以上のように、本実施の形態のプログラム実行装置は、処理に係る記憶容量の低減、実行処理速度の維持の両面を両立できたため、動作制御のためのコスト抑制の要求が高い、家電機器に組み込む場合に特に効果を発揮する。また、通信回線を介して、圧縮されたプログラムコードのデータを含む信号を組み込み機器等に送信してプログラムコード格納手段24のデータを書き換えられるようにしたので、プログラムコード格納手段24のプログラムコードを最新に、より効率よく、高度な状態に保つことができる。
実施の形態3.
図4は本発明の実施の形態3に係る圧縮された実行コードのデータ構成を表す図である。上述の実施の形態1においては、バイナリデータにした処理データを先頭から7ビット毎に分けていき(表記されたデータ列においていわゆる左詰めにし)、処理データが7で割り切れない場合には余った残りのビットに“0”等を補充した。
ここで、実行コードに基づく実行処理を行う際に、スタックのようなデータ構造を採る場合、最後に積んだデータが先頭になり、そのデータから処理を行う(つまり、表記されたデータ列の右側のデータからの処理になる)。例えば、要素(項目)の個数を変化させることができる場合、その個数のデータがスタックの先頭に示される。このようなことから、同じ処理系において統一されている方がなにかと都合がよいこともある。そこで、図4(a)に示すように、バイナリデータをいわゆる右詰めにし、コード伸張手段22の伸張処理においても、その先頭が(補充のデータではなく)処理データの一部となるようにした。
また、図4(b)のように、最初に読み込まれる1バイトのデータ(コマンドを含まないデータ)内に、コマンドを含まないデータのバイト数を表すデータを含ませておくことで、コード種別判定手段21における、コマンドを含んだデータか否かの判定を行わせることができる。図4(b)では、5ビット分(0〜31までの数値)を処理データのバイト数を表すためのデータに割り当てている。これにより、各バイトデータについて判定用ビットを設ける必要がない。そのため、特に処理データを含むデータのバイト数(ビット数)が多いほど効率のよい圧縮を行うことができる。しかも、処理データのバイト数がわかっており、処理データの次にコマンドが続くため、コマンドに対しても判定用ビットを設ける必要がない。これにより、判定用ビットを設けた場合に比べて、例えば1バイトで判別できるコマンド数が2倍に増える。そのため、コマンド数が多い場合にも有効である。
実施の形態4.
上述した実施の形態では、プログラムコードを逆ポーランド記法に基づく言語で記述し、実行手段23は、その記述を解釈して実行処理を行うインタプリタとした。本発明はこれに限定するものではない。例えば、インタプリタをJavaVM(又はJVM (Java, Java Virtual Machine JVMはアメリカ合衆国およびその他の国における Sun Microsystems, Inc. の商標又は登録商標)等、スタック型言語の実行コードに基づく実行処理を行うインタプリタを処理系として構成してもよい。より汎用的な言語に適用できるようにしておくことで、さらに高度なコード生成ができる可能性がある。
第1の実施の形態に係るプログラムコードの圧縮処理を表す図である。 本発明の実施の形態2に係るプログラム実行装置を表す図である。 プログラム実行装置における動作を表すフローチャートである。 実施の形態3に係る圧縮された実行コードを表す図である。
符号の説明
1 制御処理手段、1A 処理データ・コマンド識別部、1B 変換部、2 記憶手段、3 通信手段、21 コード種別判定手段、22 コード伸張手段、23 実行手段、24 プログラムコード格納手段、25 バッファ記憶手段。

Claims (10)

  1. 実行処理に用いられる処理データと実行処理内容を表すコマンドとが順に並べられた実行コードにより構成されるプログラムコードを圧縮したデータを記憶する第1の記憶手段と、
    前記処理データを一時的に記憶するための第2の記憶手段と、
    前記プログラムコードを圧縮したデータを、前記第1の記憶手段から所定のデータ量毎に読み込み、前記コマンドを含むデータであるかどうかを判定し、前記コマンドを含まないデータと判定すると、そのデータ内の前記処理データを前記第2の記憶手段に記憶させる種別判定手段と、
    前記種別判定手段が前記コマンドを含むデータと判定すると、前記第2の記憶手段に記憶されている前記処理データとコマンドとに基づいて前記実行コードを生成するコード伸張手段と、
    該コード伸張手段が生成した実行コードに基づいて、前記プログラムコードの実行処理を逐次行う実行手段と
    を備えることを特徴とするプログラム実行装置。
  2. 前記処理データがスタックに積まれ、前記コマンドが前記スタックに対して作用して実行処理するためのスタック型言語で記述された前記プログラムコードに基づいて前記実行手段が実行処理を行うことを特徴とする請求項1記載のプログラム実行装置。
  3. 逆ポーランド記法に基づく言語で記述された前記プログラムコードに基づく実行処理を前記実行手段が行うことを特徴とする請求項1記載のプログラム実行装置。
  4. 前記所定のデータ量を1バイトとすることを特徴とする請求項1〜3のいずれかに記載のプログラム実行装置。
  5. 前記所定のデータ量のうち、1ビット分が、前記判定手段が前記コマンドを含むコードデータであるかどうかを判定するためのフラグのデータであることを特徴とする請求項1〜4のいずれかに記載のプログラム実行装置。
  6. 前記コマンドを含まないデータの数を表すデータを、最初に読み込まれる所定のデータ量のデータに含めておき、前記種別判定手段は、前記コマンドを含まないデータの数の分だけ読み込んだ前記所定のデータ量のデータを、前記コマンドを含まないデータと判定して、それらのデータ内の前記処理データを前記第2の記憶手段に記憶させ、その次に読み込んだ所定のデータ量のデータを前記コマンドを含むデータとすることを特徴とする請求項1〜4のいずれかに記載のプログラム実行装置。
  7. 前記プログラムコードにおける各コマンド使用頻度基づいて、前記コマンドを含むデータのデータ量を、各コマンドに設定することを特徴とする請求項1〜6のいずれかに記載のプログラム実行装置。
  8. 通信回線を介して送信される信号に含まれる前記プログラムコードを圧縮したデータを、前記第1の記憶手段に記憶することを特徴とする請求項1〜7のいずれかに記載のプログラム実行装置。
  9. 実行処理に用いられる処理データと実行処理内容を表すコマンドとが順に並べられた実行コードにより構成されるプログラムコードを圧縮したデータを、第1の記憶手段から所定のデータ量毎に読み込む工程と、
    読み込んだデータに前記コマンドが含まれているか否かを種別判定手段が判定する工程と、
    前記コマンドを含まないデータと判定すると、読み込んだデータに前記処理データが含まれていれば前記処理データを第2の記憶手段に記憶させ、前記コマンドを含むデータと判定すると、コード伸張手段が前記第2の記憶手段に記憶されている前記処理データとコマンドとに基づいて前記実行コードを生成する工程と、
    前記コード伸張手段が生成した実行コードに基づいて、実行手段が前記プログラムコードの実行処理を逐次行う工程と
    を有することを特徴とするプログラム実行方法。
  10. 実行処理に用いられる処理データと実行処理内容を表すコマンドとが順に並べられた実行コードにより構成されるプログラムコードを圧縮したデータを、第1の記憶手段から所定のデータ量毎に読み込む工程と、
    前記コマンドを含むデータであるかどうかを判定し、前記コマンドを含まないデータと判定すると、そのデータ内の前記処理データを第2の記憶手段に記憶させる工程と、
    前記コマンドを含むデータと判定すると、前記第2の記憶手段に記憶されている前記処理データとコマンドとに基づいて前記実行コードを生成する工程と、
    生成した実行コードに基づいて前記プログラムコードの実行処理を逐次行う工程と
    をコンピュータに実行させるプログラム実行方法のプログラム。
JP2005028123A 2005-02-03 2005-02-03 プログラム実行装置、方法及びプログラム実行方法のプログラム並びにプログラムコード圧縮装置、方法及びプログラムコード圧縮方法のプログラム Expired - Fee Related JP4656960B2 (ja)

Priority Applications (16)

Application Number Priority Date Filing Date Title
JP2005028123A JP4656960B2 (ja) 2005-02-03 2005-02-03 プログラム実行装置、方法及びプログラム実行方法のプログラム並びにプログラムコード圧縮装置、方法及びプログラムコード圧縮方法のプログラム
CN 200810184954 CN101458620B (zh) 2005-02-03 2006-02-02 程序执行装置及方法、程序码压缩处理装置及方法及设备
EP06712888.4A EP1881401B1 (en) 2005-02-03 2006-02-02 Program code generation support device and method, program execution device and method, program code compression device and method, program for the same
EP10014002.9A EP2330502B1 (en) 2005-02-03 2006-02-02 Program code generation support device and method, program execution device and method, and program code compression processing device and method and program thereof
US11/883,627 US8448158B2 (en) 2005-02-03 2006-02-02 Program code generation support device and method, program execution device and method, and program code compression processing device and method and program thereof
CN2006800040337A CN101116054B (zh) 2005-02-03 2006-02-02 程序码生成支持装置及方法、程序执行装置及方法、程序码压缩装置及方法及其程序
ES10014002T ES2708499T3 (es) 2005-02-03 2006-02-02 Dispositivo y método de soporte de la generación de código de programa, dispositivo y método de ejecución del programa, y dispositivo y método de procesamiento de la compresión del código de programa y programa para el mismo
PCT/JP2006/301745 WO2006082878A1 (ja) 2005-02-03 2006-02-02 プログラムコード生成支援装置及び方法、プログラム実行装置及び方法並びにプログラムコード圧縮処理装置及び方法並びにそれらのプログラム
ES06712888.4T ES2687433T3 (es) 2005-02-03 2006-02-02 Dispositivo y método de soporte de la generación de código de programa, dispositivo y método de ejecución del programa, dispositivo y método de compresión del código de programa, programa para el mismo
KR1020077016934A KR100902461B1 (ko) 2005-02-03 2006-02-02 프로그램 코드 생성 지원 장치 및 방법, 프로그램실행장치와 방법, 프로그램 코드 압축 처리 장치 및 방법과그들의 프로그램
EP09014774.5A EP2161659B1 (en) 2005-02-03 2006-02-02 Program code generation support device and method, program execution device and method, and program code compression processing device and method and program thereof
ES09014774T ES2728318T3 (es) 2005-02-03 2006-02-02 Dispositivo y método de soporte de la generación de código de programa, dispositivo y método de ejecución del programa, y dispositivo y método de procesamiento de la compresión del código de programa y programa para el mismo
TW095103700A TWI312482B (en) 2005-02-03 2006-02-03 Program codes generation supporting device and method, program execution device and method, program codes compressing processing device and method, and computer readable recording medium with its recorded program thereof
HK09108809.5A HK1130916A1 (en) 2005-02-03 2009-09-25 Program execution device and method, and program code compression processing device and method and apparatus
US13/195,073 US8572557B2 (en) 2005-02-03 2011-08-01 Program code generation support device and method, program execution device and method, and program code compression processing device and method and program thereof
US13/195,107 US8527967B2 (en) 2005-02-03 2011-08-01 Program code compression processing device and method and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005028123A JP4656960B2 (ja) 2005-02-03 2005-02-03 プログラム実行装置、方法及びプログラム実行方法のプログラム並びにプログラムコード圧縮装置、方法及びプログラムコード圧縮方法のプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2010258969A Division JP5247791B2 (ja) 2010-11-19 2010-11-19 プログラムコード圧縮装置、方法及びプログラムコード圧縮方法のプログラム

Publications (2)

Publication Number Publication Date
JP2006215827A JP2006215827A (ja) 2006-08-17
JP4656960B2 true JP4656960B2 (ja) 2011-03-23

Family

ID=36979017

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005028123A Expired - Fee Related JP4656960B2 (ja) 2005-02-03 2005-02-03 プログラム実行装置、方法及びプログラム実行方法のプログラム並びにプログラムコード圧縮装置、方法及びプログラムコード圧縮方法のプログラム

Country Status (1)

Country Link
JP (1) JP4656960B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101408388B1 (ko) 2013-01-29 2014-06-17 서울대학교산학협력단 소프트웨어 저작권 보호를 위한 워터마킹 장치 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10320172A (ja) * 1997-05-15 1998-12-04 Seiko Epson Corp プログラム圧縮方法およびプログラム復号方法ならびにプログラム格納装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10320172A (ja) * 1997-05-15 1998-12-04 Seiko Epson Corp プログラム圧縮方法およびプログラム復号方法ならびにプログラム格納装置

Also Published As

Publication number Publication date
JP2006215827A (ja) 2006-08-17

Similar Documents

Publication Publication Date Title
US8448158B2 (en) Program code generation support device and method, program execution device and method, and program code compression processing device and method and program thereof
JP2002529849A (ja) データ処理リソースを供給された内蔵システムにおいて実行可能な中間オブジェクトコードプログラムのためのデータ圧縮方法、および、この方法に対応しかつマルチアプリケーションを備えた内蔵システム
EP1652069B1 (en) Method and system for updating versions of content stored in a storage device
KR950001485A (ko) 연산처리방법 및 마이크로 컴퓨터
JP4638250B2 (ja) プログラムコード生成支援装置及び方法並びにプログラムコード生成支援方法のプログラム
KR20120134916A (ko) 저장 장치 및 저장 장치를 위한 데이터 처리 장치
CN101231597A (zh) 智能卡中java程序指令的执行方法
US8572557B2 (en) Program code generation support device and method, program execution device and method, and program code compression processing device and method and program thereof
JP4656960B2 (ja) プログラム実行装置、方法及びプログラム実行方法のプログラム並びにプログラムコード圧縮装置、方法及びプログラムコード圧縮方法のプログラム
JPH09231071A (ja) コンピュータ装置
JP5247791B2 (ja) プログラムコード圧縮装置、方法及びプログラムコード圧縮方法のプログラム
US7065751B2 (en) Program execution device operating based on compressed code
JPH09223023A (ja) コンパイル装置およびコンパイラ
CN100445951C (zh) 韧体执行装置与执行方法、韧体配置器与配置方法
JP6245028B2 (ja) 実行制御方法、実行制御プログラムおよび実行制御装置
JPH113105A (ja) プログラマブルコントローラのプログラミング装置
JP2009277062A (ja) データ書き換えシステム及び新版データ作成装置及び差分データ作成装置及び新版データ作成プログラム及び差分データ作成プログラム
JP2010020416A (ja) データ転送方法およびデータ転送装置
JP2007004475A (ja) プロセッサ及びプログラム実行方法
US7079054B2 (en) V.42bis standalone hardware accelerator and architecture of construction
JPS60134340A (ja) 端末制御装置
JP6615843B2 (ja) 命令処理装置、命令処理システム
CN115543472A (zh) 定长指令集程序的运行方法及中央处理器
JP2570977B2 (ja) 日本語コード変換装置
JP2004258711A (ja) 情報処理装置および関連するアセンブラ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100921

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101119

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101214

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101221

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140107

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4656960

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees