JPH08263263A - データ処理装置および圧縮プログラム作成装置 - Google Patents

データ処理装置および圧縮プログラム作成装置

Info

Publication number
JPH08263263A
JPH08263263A JP6227195A JP6227195A JPH08263263A JP H08263263 A JPH08263263 A JP H08263263A JP 6227195 A JP6227195 A JP 6227195A JP 6227195 A JP6227195 A JP 6227195A JP H08263263 A JPH08263263 A JP H08263263A
Authority
JP
Japan
Prior art keywords
program
compression
instruction
compressed
execution
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
JP6227195A
Other languages
English (en)
Inventor
Kenji Matsumoto
松本  健志
Hiroki Miura
宏喜 三浦
Yasuto Komura
康人 甲村
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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co 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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP6227195A priority Critical patent/JPH08263263A/ja
Publication of JPH08263263A publication Critical patent/JPH08263263A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【構成】 メモリ12にはハフマン符号化手法で圧縮さ
れた実行形式プログラムが記憶される。命令伸長器22
は、メモリ12に記憶されている圧縮実行形式プログラ
ムを伸長用テーブル24を参照しつつ基本ブロック毎に
伸長するとともに、伸長しながら、伸長された命令また
は命令列を、一旦蓄積することなく、命令実行パイプラ
イン26に与える。命令実行パイプライン26は、この
伸長された命令を順次実行する。 【効果】 メモリには圧縮実行プログラムが記憶され、
命令を実行する前に実行可能な形式に伸長されるため、
プログラムの変更を伴うことなく、本来のプログラムの
記憶に必要な容量よりも小さなメモリ量で、同様の処理
をするプログラムを実行できる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明はデータ処理装置および
圧縮プログラム作成装置に関し、特にたとえばプログラ
ム中の各命令を順次実行するデータ処理装置、および実
行形式プログラムを圧縮することによって圧縮実行形式
プログラムを作成する圧縮プログラム作成装置に関す
る。
【0002】
【従来の技術】マイクロプロセサなどのデータ処理装置
は、メモリに記憶されたプログラムを読み込み実行する
が、近年のエレクトロニクス製品の高機能化ニーズに伴
い、データ処理装置が実行するプログラムのサイズは急
激に増大している。このため、データ処理装置におい
て、中央処理装置(CPU)のハードウェアコストより
も、プログラムメモリのハードウェアコストの方が遥か
に大きくなるというケースが増えており、プログラムの
サイズを小さくすることが重要かつ重大な課題となって
いる。特に、プログラム作成者が、C言語などの高級言
語によってプログラムを作成する場合には、アセンブリ
言語によりプログラムを作成する場合に比して、実行形
式のプログラムコード量がさらに大きくなるという問題
点がある。
【0003】
【発明が解決しようとする課題】しかしながら、プログ
ラム作成者にとって、手作業によるプログラム変更は、
データ処理装置のアーキテクチャの詳細な理解を必要と
する場合が多く、非常に困難な作業であった。また、た
とえアーキテクチャに精通したプログラマが変更を行っ
た場合でも、このような変更作業には多大な時間を要す
るとともに、時間を多く費やしても大幅なプログラムサ
イズの削減は望めない場合が多かった。また、このよう
な変更作業の過程で、プログラムに新たな誤りが紛れ込
む場合も多く、このために、プログラムの開発期間がさ
らに長くなってしまうという問題点もあった。
【0004】それゆえに、この発明の主たる目的は、プ
ログラム作成者が、プログラム記述に変更を加えること
を必要とせずに、元のプログラムサイズよりも大幅に小
さいプログラムを作成できる、圧縮プログラム作成装置
を提供することである。この発明の他の目的は、プログ
ラムの変更を伴うことなく、本来のプログラムの記憶に
必要な容量よりも小さなメモリ容量で同様の処理をする
ことができる、新しい、高機能のデータ処理装置を提供
することである。
【0005】
【課題を解決するための手段】第1の発明は、実行形式
プログラムを圧縮することによって圧縮実行形式プログ
ラムを作成する圧縮プログラム作成装置であって、実行
形式プログラムを部分プログラム単位で所定の符号化手
法によって符号化することによって実行形式プログラム
を圧縮する圧縮手段、および符号化手法に対応する伸長
用テーブルを作成するテーブル作成手段を備える、圧縮
プログラム作成装置である。
【0006】第2の発明は、所定のデータ圧縮手法によ
って実行形式プログラムを圧縮した圧縮実行形式プログ
ラムを記憶するメモリ手段、圧縮実行形式プログラムを
所定のデータ伸長手法によって伸長するプログラム伸長
手段、および伸長された実行形式プログラムが含む各命
令を順次実行する命令実行手段を備える、データ処理装
置である。
【0007】
【作用】第1の発明では、実行形式プログラムがたとえ
ば基本ブロック単位でハフマン符号化手法によって圧縮
されるとともに、ハフマン符号テーブル形式の伸長用テ
ーブルが作成される。第2の発明では、メモリ手段には
たとえば圧縮プログラム作成装置で圧縮された実行形式
プログラムが記憶される。プログラム伸長手段は、メモ
リ手段に記憶されている圧縮実行形式プログラムを、た
とえば圧縮プログラム作成装置で作成された伸長用テー
ブルを参照しつつ基本ブロック毎に伸長するとともに、
伸長を行いながら、伸長された命令または命令列を、一
旦蓄積することなく、命令実行手段に与える。命令実行
手段は、この伸長された命令を順次実行する。
【0008】
【発明の効果】第1の発明によれば、実行形式プログラ
ムが部分プログラム単位で圧縮されるため、プログラム
作成者がプログラム記述に変更を加えることなく、元の
プログラムサイズよりも大幅に小さいプログラムを作成
できる。第2の発明によれば、メモリには圧縮実行プロ
グラムが記憶され、命令を実行する前に実行可能な形式
に伸長されることから、プログラムの変更を伴うことな
く、本来のプログラムの記憶に必要な容量よりも小さな
メモリ量で、同様の処理をするプログラムの実行が可能
となる。
【0009】この発明の上述の目的,その他の目的,特
徴および利点は、図面を参照して行う以下の実施例の詳
細な説明から一層明らかとなろう。
【0010】
【実施例】図1を参照して、この実施例のデータ処理装
置10は、メモリ12およびI/O装置14を含む。メ
モリ(ROM)12には圧縮された実行形式のプログラ
ム(圧縮実行形式プログラム)が記憶されており、この
圧縮実行形式プログラムは、バス16および命令キャッ
シュ18を介して順次命令プリフェッチキュー20に読
み込まれる。命令伸長器22は、命令プリフェッチキュ
ー20から圧縮実行形式プログラムを基本ブロック毎に
読み出し、伸長用テーブル24を参照しつつ、圧縮実行
形式プログラムを伸長する。伸長された実行形式のプロ
グラム(実行形式プログラム)は、順次命令実行パイプ
ライン26において実行される。命令実行に必要なデー
タは、メモリ12あるいはI/O装置14から、バス1
6およびデータキャッシュ28を介して読み込まれる。
【0011】図2を参照して、プログラム30中の分岐
命令の飛び先となる位置(ラベル位置)301a,30
1b…にある命令から次のラベル位置の直前にある命令
までを基本ブロック302a,302b…と定義し、基
本ブロックを部分プログラムとすると、圧縮はこの基本
ブロックを単位として行われる。圧縮によって、たとえ
ばプログラム30の基本ブロック301aは、圧縮され
たプログラム32における基本ブロック322aとな
り、ラベル位置301aはラベル位置321aとなる。
図2ではラベルおよび基本ブロックの説明のために、ア
センブラ言語記述のプログラムを記しているが、実際に
は、図3に示す手順で実行形式プログラムが圧縮され
る。
【0012】すなわち、メモリ34に書き込まれた実行
形式プログラムが、圧縮プログラム作成装置36で、基
本ブロックを単位としてハフマン符号化法によって圧縮
されるとともに、実行形式プログラムの先頭から各ブロ
ックの先頭の位置、すなわちラベル位置までのバイト変
位が計算され、実行形式プログラム中の分岐命令に、適
切な分岐先アドレスが設定される。生成された圧縮実行
形式プログラムは、データ圧縮装置10のメモリ12に
焼き付けられる。また同時に、ハフマン符号化テーブル
形式の伸長用テーブル24が生成される。なお、この符
号化/圧縮には、ハフマン符号化法のほか、ランレング
ス法、モディファイド・ハフマン符号化法などの各種の
データ符号化手法を利用できる。また、伸長用テーブル
としては、そのテーブル自体がメモリである場合も考え
られるが、伸長用テーブルをロジック回路で構成しても
よく、あるいはマイクロプログラムのようなソフトウェ
アのテーブルであってもよい。さらに、この圧縮プログ
ラム作成装置36は、プログラム開発支援装置の一部で
あるか、あるいは汎用ワークステーションなどである。
【0013】圧縮実行形式プログラムは、プログラム実
行の進行に沿って、命令キャッシュ18を介して命令プ
リフェッチキュー20によって先行読み出しされる。実
行形式プログラムは基本ブロック単位で圧縮されている
ため、命令プリフェッチキュー20は、先行読み出しし
た圧縮実行形式プログラムを基本ブロック単位で命令伸
長器22に受けわたす。命令伸長器22は、受け取った
圧縮実行形式プログラムを、伸長用テーブル24を参照
して伸長するとともに、伸長しながら、伸長された命令
または命令列を、一旦蓄積することなく、プログラム実
行の流れに沿って順次命令実行パイプライン26にわた
す。命令実行パイプライン26では、同様に、受け取っ
た実行可能な命令を順次実行していく。必要なデータ
は、メモリ12あるいはI/O装置14からデータキャ
ッシュ28を介して読み込まれる。
【0014】この実施例によれば、メモリ12上には圧
縮実行形式プログラムが記憶され、命令実行パイプライ
ン26で実行する前に実行形式プログラムに伸長され
る。したがって、プログラムの変更を伴うことなく、か
つ本来の記憶に必要な容量よりも小さなメモリ量で、こ
のプログラムの実行が可能となる。なお、この実施例で
は実行形式プログラムを圧縮するとき、基本ブロックを
部分プログラムとしていたが、2命令以上基本ブロック
以下のいずれかの長さで部分プログラム長を規定し、こ
の単位で実行形式プログラムを符号化/圧縮してもよ
い。
【0015】また、実行形式プログラムの圧縮の方法と
して、1命令を部分プログラムとし、1命令を単位とし
て符号化/圧縮してもよい。この場合、プログラム全体
から各命令の出現頻度を調べ、より頻繁に表れる命令ほ
どビット長の短い符号を割り当てることによって、効果
的な圧縮を図ることができる。すなわち、プログラムに
よってよく出現する命令が異なるので、プログラム毎に
符号の割り当てを変えることで、それぞれのプログラム
で最適な圧縮を行うことができる。
【0016】さらに、この実施例では命令の読み込みに
は命令キャッシュを介し、データの読み込みにはデータ
キャッシュを介するようにしたが、この発明はこの場合
に限らず、命令キャッシュおよびデータキャッシュを用
いない場合にも適用できることはもちろんである。
【図面の簡単な説明】
【図1】この発明の一実施例を示すブロック図である。
【図2】この発明における実行形式プログラム圧縮の概
念を示す図である。
【図3】この発明における実行形式プログラム圧縮の手
順を示すブロック図である。
【符号の説明】
10 …データ圧縮装置 12 …メモリ 20 …命令プリフェッチキュー 22 …命令伸長器 24 …伸長用テーブル 26 …命令実行パイプライン 36 …圧縮プログラム作成装置

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】実行形式プログラムを圧縮することによっ
    て圧縮実行形式プログラムを作成する圧縮プログラム作
    成装置であって、 実行形式プログラムを部分プログラム単位で所定の符号
    化手法によって符号化することによって前記実行形式プ
    ログラムを圧縮する圧縮手段、および前記符号化手法に
    対応する伸長用テーブルを作成するテーブル作成手段を
    備える、圧縮プログラム作成装置。
  2. 【請求項2】前記圧縮手段は、2命令以上で基本ブロッ
    ク以下のいずれかの長さで部分プログラム長を規定す
    る、請求項1記載の圧縮プログラム作成装置。
  3. 【請求項3】前記圧縮手段は、前記実行形式プログラム
    の1つの命令を1つの部分プログラムとし、前記実行形
    式プログラムにおける各命令の出現頻度に応じたビット
    長の符号を割り当てて符号化する、請求項1記載の圧縮
    プログラム作成装置。
  4. 【請求項4】前記実行形式プログラムに含まれる各ラベ
    ル位置の圧縮後のアドレス値を計算するアドレス値計算
    手段、および前記実行形式プログラム中の各分岐命令に
    前記圧縮後のアドレス値を設定するアドレス値設定手段
    をさらに備える、請求項1ないし3のいずれかに記載の
    圧縮プログラム作成装置。
  5. 【請求項5】前記圧縮手段はハフマン符号化手法によっ
    て前記実行形式プログラムを圧縮するハフマン符号化手
    段を含み、 前記テーブル生成手段はハフマン符号化テーブル形式の
    伸長用テーブルを生成するハフマン符号化テーブル生成
    手段を含む、請求項1ないし4のいずれかに記載の圧縮
    プログラム作成装置。
  6. 【請求項6】所定のデータ圧縮手法によって実行形式プ
    ログラムを圧縮した圧縮実行形式プログラムを記憶する
    メモリ手段、 前記圧縮実行形式プログラムを所定のデータ伸長手法に
    よって伸長するプログラム伸長手段、および伸長された
    実行形式プログラムが含む各命令を順次実行する命令実
    行手段を備える、データ処理装置。
  7. 【請求項7】前記メモリ手段は実行形式プログラムを所
    定のデータ圧縮手法によって部分プログラム単位で圧縮
    した圧縮実行形式プログラムを記憶し、 前記プログラム伸長手段は前記圧縮実行形式プログラム
    を所定のデータ伸長手法によって部分プログラム単位で
    伸長し、そして前記命令実行手段は伸長された部分プロ
    グラムが含む各命令を順次実行する、請求項6記載のデ
    ータ処理装置。
  8. 【請求項8】前記メモリ手段は、2命令以上で基本ブロ
    ック以下のいずれかの長さでプログラム長が規定された
    部分プログラムを単位として圧縮した圧縮実行形式プロ
    グラムを記憶する、請求項7記載のデータ処理装置。
  9. 【請求項9】前記メモリ手段は、前記実行形式プログラ
    ムの1つの命令を1つの部分プログラムとし、前記実行
    形式プログラムにおける各命令の出現頻度に応じたビッ
    ト長の符号を割り当てて符号化した圧縮実行形式プログ
    ラムを記憶する、請求項8記載のデータ処理装置。
JP6227195A 1995-03-22 1995-03-22 データ処理装置および圧縮プログラム作成装置 Pending JPH08263263A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6227195A JPH08263263A (ja) 1995-03-22 1995-03-22 データ処理装置および圧縮プログラム作成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6227195A JPH08263263A (ja) 1995-03-22 1995-03-22 データ処理装置および圧縮プログラム作成装置

Publications (1)

Publication Number Publication Date
JPH08263263A true JPH08263263A (ja) 1996-10-11

Family

ID=13195327

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6227195A Pending JPH08263263A (ja) 1995-03-22 1995-03-22 データ処理装置および圧縮プログラム作成装置

Country Status (1)

Country Link
JP (1) JPH08263263A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007226615A (ja) * 2006-02-24 2007-09-06 Matsushita Electric Ind Co Ltd 情報処理装置、圧縮プログラム生成方法及び情報処理システム
JP2012098893A (ja) * 2010-11-01 2012-05-24 Fujitsu Semiconductor Ltd 圧縮命令処理装置及び圧縮命令生成装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007226615A (ja) * 2006-02-24 2007-09-06 Matsushita Electric Ind Co Ltd 情報処理装置、圧縮プログラム生成方法及び情報処理システム
JP2012098893A (ja) * 2010-11-01 2012-05-24 Fujitsu Semiconductor Ltd 圧縮命令処理装置及び圧縮命令生成装置

Similar Documents

Publication Publication Date Title
KR950001485A (ko) 연산처리방법 및 마이크로 컴퓨터
WO2021034749A1 (en) Decompression engine for decompressing compressed input data that includes multiple streams of data
JPH07121352A (ja) 演算処理装置
CN102741817B (zh) 方法和装置和记录载体
CN112783558B (zh) 一种加快Linux内核启动的自解压阶段的方法
JP2026048814A (ja) アプリケーションプロセスコンテキストの圧縮及びリプレイ
US20130262808A1 (en) Compression and decompression system, compression apparatus, decompression apparatus and compression and decompression method
JP3488160B2 (ja) 命令セットの拡張を通じて、risc実行可能コードを圧縮する方法及びシステム
JPH09231071A (ja) コンピュータ装置
JP7430195B2 (ja) 複数のマシン世代にわたる複合体の機能の互換性の維持
JPH08263263A (ja) データ処理装置および圧縮プログラム作成装置
JP2012098893A (ja) 圧縮命令処理装置及び圧縮命令生成装置
JPH11259335A (ja) トレーサ装置、トレースデータ圧縮方法および圧縮トレースデータ読み出し方法
JPH0628150A (ja) プログラム容量圧縮方法
JP2002318686A (ja) プロセッサ
JP2001142696A (ja) マイクロプロセッサにおける命令供給装置および命令供給方法
JPS6220032A (ja) 情報処理装置
JP2000163264A (ja) Cpu用のプログラム記憶装置
KR100251952B1 (ko) 그래픽압축데이터용압축해제장치및방법
JP2503634B2 (ja) マイクロプログラム制御装置
JPH08147139A (ja) データ処理装置
JPS61161509A (ja) 高速シ−ケンス演算方式及びその装置
JPH09326707A (ja) 可変長符号復号化演算処理装置
JPS6051736B2 (ja) 情報処理装置
JPS63228332A (ja) 命令実行制御方式

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041124

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050322