JPH06348490A - 演算処理方法、及びマイクロコンピュータ - Google Patents

演算処理方法、及びマイクロコンピュータ

Info

Publication number
JPH06348490A
JPH06348490A JP5164079A JP16407993A JPH06348490A JP H06348490 A JPH06348490 A JP H06348490A JP 5164079 A JP5164079 A JP 5164079A JP 16407993 A JP16407993 A JP 16407993A JP H06348490 A JPH06348490 A JP H06348490A
Authority
JP
Japan
Prior art keywords
program
compressed
address
instruction
data
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.)
Withdrawn
Application number
JP5164079A
Other languages
English (en)
Inventor
Hiroshi Yajima
宏 矢島
Yuugo Kashiwagi
有吾 柏木
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP5164079A priority Critical patent/JPH06348490A/ja
Priority to KR1019940011642A priority patent/KR950001485A/ko
Publication of JPH06348490A publication Critical patent/JPH06348490A/ja
Priority to US08/515,398 priority patent/US5632024A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/3017Runtime instruction translation, e.g. macros
    • G06F9/30178Runtime instruction translation, e.g. macros of compressed or encrypted instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering

Abstract

(57)【要約】 【目的】 本発明の目的は、主記憶装置の使用容量を低
減するための技術を提供することにある。 【構成】 実行形式のプログラムを圧縮処理された状態
でROM5に格納しておき、このROM5から圧縮プロ
グラムデータをフェッチし、それを、伸長部108によ
り、圧縮前の形式に伸長してから、命令デコーダ110
でデコードして実行することによって、ROM5を含む
主記憶装置のメモリ使用量の低減を図る。そして分岐命
令が出現した場合、制御部111において、圧縮後分岐
先アドレスに変換し、それをプログラムカウンタ114
にセットする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プログラムを構成する
一連の命令を実行することによって所定の演算処理を行
う演算処理方法、及びマイクロコンピュータに関し、例
えば、CPU(中央処理装置)とメモリとを内蔵する1
チップ型のマイクロコンピュータ(シングルチップマイ
クロコンピュータ)に適用して有効な技術に関する。
【0002】
【従来の技術】シングルチップマイクロコンピュータ
は、CPUを中心に所要の周辺回路が1個の半導体基板
に含まれていて、その動作プログラムを保有するプログ
ラムROM(リード・オンリー・メモリ)を内蔵する。
一方、マルチチップマイクロコンピュータにおいては、
その動作プログラムを格納するためのROMを内蔵せ
ず、必要な動作プログラムは、マルチチップマイクロコ
ンピュータの外部に配置された外部メモリ(ROM)か
ら得るようにしている。
【0003】そのようなシングルチップマイクロコンピ
ュータにおいては、プログラムROM等の主記憶装置に
記憶された命令がCPUに直接読込まれるようになって
いるため、プログラムサイズが大きくなると、それに伴
い、主記憶装置の記憶容量を増やす必要がある。しか
し、それは半導体チップにおける主記憶装置の占有面積
の増大、さらにはコストの増大を招来する。
【0004】また、従来技術として、例えば特開昭55
−131848号公報に記載されているように、プログ
ラムを圧縮して補助記憶装置に記憶しておき、当該プロ
グラムを主記憶装置にロードする際に元のサイズに伸長
する方式がある。
【0005】
【発明が解決しようとする課題】しかしながら、特開昭
55−131848号公報記載技術によれば、補助記憶
装置におけるプログラムサイズを小さくすることによっ
て当該補助記憶装置の記憶容量を見かけ上大きくするこ
とができるものの、主記憶装置にプログラムをロードす
る際に元のサイズに伸長されるため、主記憶装置のメモ
リ使用量を特に少なくすることはできない。マイクロコ
ンピュータ組込みシステムにおいては、特にROMサイ
ズ、RAMサイズを小さくし、メモリ使用量を減らすこ
とによってシステム全体のコストを抑えることが重要で
ある。
【0006】本発明の目的は、主記憶装置の使用容量を
低減するための技術を提供することにある。
【0007】本発明の別の目的は、そのように主記憶装
置の使用容量を低減した場合において、プログラム実行
速度の低下を可能な限り抑えるための技術を提供するこ
とにある。
【0008】本発明の前記並びにその他の目的と新規な
特徴は本明細書の記述及び添付図面から明らかになるで
あろう。
【0009】
【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を簡単に説明すれば下記
の通りである。
【0010】すなわち、プログラムが圧縮されて記憶手
段に記憶されるとき、上記記憶手段内の圧縮プログラム
データをフェッチし、このフェッチされたプログラムデ
ータを伸長することによって命令コードを再現し、得ら
れた命令コードをデコードする。この命令コードが、プ
ログラム実行順序の変更を伴う命令である場合に、命令
実行順序が変更されるべき飛び先アドレスを、圧縮プロ
グラムにおける飛び先アドレスに変換し、それをプログ
ラムカウンタにセットする。また、プログラムを構成す
る主要命令のみが圧縮されている場合においては、フェ
ッチされた全てのデータを伸長する必要がないから、デ
ータがフェッチされる毎に伸長の必要性の有無を判別
し、この判別結果に応じて伸長処理を行うようにするこ
とができる。
【0011】そして、命令アドレスを指定するためのプ
ログラムカウンタを含み、プログラムを構成する一連の
命令をデコードして実行することにより所定の演算処理
を行うようにマイクロコンピュータが構成されるとき、
圧縮処理されたプログラムデータを記憶するための記憶
手段と、この記憶手段からフェッチされた圧縮プログラ
ムデータを伸長することによって命令コードを得るため
の伸長手段と、それをデコードデコーダとを設ける。ま
た、伸長された命令コードがプログラム実行順序の変更
を伴う場合に、命令順序が変更されるべき飛び先アドレ
スを、圧縮プログラムにおける飛び先アドレスに変換す
るためのアドレス変換手段と、変換された飛び先アドレ
スを上記プログラムカウンタにセットするためのプログ
ラムカウンタセット手段とを設ける。このとき、データ
がフェッチされる毎に伸長の必要性の有無を判別する手
段を設け、この判別結果に応じて伸長処理を行うように
することができる。
【0012】さらに、具体的な態様では、上記記憶手段
からフェッチされたデータを圧縮前の形式に伸長するた
めの変換規則テーブルを設け、この変換規則テーブルを
検索することによって、命令を圧縮前の形式に伸長する
ように構成することができ、また、飛び先アドレスを圧
縮プログラムにおけるアドレスに変換するためのアドレ
ス変換テーブルを設け、このアドレス変換テーブルを検
索することにより、圧縮プログラムにおける飛び先アド
レスを求めるように構成することができる。
【0013】
【作用】上記した手段によれば、プログラムを圧縮処理
された状態で記憶する記憶手段から命令をフェッチし、
フェッチされた命令を圧縮前の形式に伸長することによ
って当該命令を実行することは、記憶手段のメモリ使用
量の低減を達成する。また、飛び先アドレスを変換テー
ブルによって求めることは、プログラム実行速度の低下
を抑える。
【0014】
【実施例】ここで先ず、本願発明者によって検討された
技術について説明する。
【0015】プログラムサイズを縮小する技術として、
ハフマン符号化アルゴリズムに代表されるデータ圧縮ア
ルゴリズムを用いる技法がある。そのような既存のデー
タ圧縮アルゴリズムを使用して圧縮されたプログラムを
プログラムROMなどの主記憶装置に配置し、他方、C
PUには圧縮されたプログラムを伸長するするための手
段を設け、プログラムを伸長しながら実行することによ
って、主記憶装置のメモリ使用量を低減する技術につい
て、本願発明者が検討した。その結果、圧縮前のプログ
ラムのアドレス割付けと、圧縮後のプログラムのアドレ
ス割付けが異なるため、例えばJMP(ジャンプ)命令
などの分岐命令においては、圧縮前のプログラムの飛び
先アドレスに飛ぶ操作を、圧縮後の飛び先アドレスに飛
ぶ操作に変更してから当該分岐命令を実行する必要があ
ることが分かった。つまり、プログラム圧縮前のアドレ
スからプログラム圧縮後のアドレスを求める必要のある
ことが見いだされた。プログラム圧縮前のアドレスから
プログラム圧縮後のアドレスを求めるのに、全アドレス
についての対応表を予め作成しておき、アドレス変換の
必要がある場合に、当該対応表を参照して、対応する飛
び先アドレスを求めることが考えられる。しかしなが
ら、全てのアドレスについてアドレス対応表を作成する
のは、そのような対応表を保存するために膨大な記憶域
が必要とされ、かえって主記憶装置のメモリ使用量が多
くなってしまう。また、他の方法として、プログラム圧
縮前のアドレスをプログラム圧縮後のアドレスに変換す
るのに、何等かのアルゴリズムに応じて計算する方式が
考えられるが、それはプログラムを実行しながらの処理
になるため、プログラム実行速度の低下につながる虞が
あることが分かった。本発明は、上記検討によって生れ
たものである。
【0016】図2には本発明の一実施例に係るシングル
チップマイクロコンピュータ1が示される。このシング
ルチップマイクロコンピュータ1は、特に制限されない
が、CPU(中央処理装置)3、ROM(リード・オン
リ・メモリ)5、RAM(ランダム・アクセス・メモ
リ)7、タイマ9、シリアルコミュニケーションインタ
フェース(SCI)11、A/D変換器13、割込みコ
ントローラ15、並びに第1乃至第9ポート21〜29
などの機能ブロックを含み、それらは内部アドレスバス
31や内部バス33などに共通接続されて構成され、公
知の半導体集積回路製造技術によって単結晶シリコンな
どの一つの半導体基板上に形成されている。
【0017】本実施例におけるシングルチップマイクロ
コンピュータ1の主記憶装置は上記RAM7とROM5
であり、RAM7はCPU3の作業領域又はデータの一
時記憶領域として利用される。ROM5は、特に制限さ
れないが、CPU3の動作プログラムを圧縮処理された
状態で保有する。図6に示されるように、このROM5
には、圧縮処理されたプログラム(圧縮プログラムと称
する)500の他に、所定のテーブル形成情報が記憶さ
れることによって、アドレス変換テーブル314や、変
換規則テーブル303が形成されている。特に制限され
ないが、このROM5は、EPROMライタによって情
報をマイクロコンピュータの外部から書込み可能なEP
ROM(エレクトリカリ・プログラマブル・リード・オ
ンリー・メモリ)とされる。
【0018】ここで、上記動作プログラムは圧縮処理さ
れた状態でROM5に記憶されており、当該プログラム
データがCPU3によってフェッチされ、それが実行さ
れる前に当該データが伸長されるようになっている。換
言すれば、ROM5上のプログラムが圧縮されたままの
状態で、プログラムが実行される。すなわち、実行段階
に移行される前に、予め一括して命令を伸長しておくと
いった操作は行われず、1バイト単位でフェッチされた
圧縮プログラムデータを逐次伸長していく。本実施例で
は、そのように動作プログラムが圧縮処理された状態で
ROM5に記憶されることによって、ROM5を含む主
記憶装置のメモリ使用量の減少を図っている。
【0019】また、上記半導体基板の周縁部には、電極
パッドとして例えば多数のボンディングパッドが配置さ
れ、例えば、第1乃至第9ポート21〜29の入出力端
子に結合されたンディングパッドP10〜P17,P2
0〜P24,P30〜P37、P40〜P47、P50
〜P57、P60〜P63、P70〜P77、P80〜
P87、P90〜P97、クロックジェネレータ17の
入力に結合されていて図示しない振動子に接続されある
いは外部クロックが供給されるボンディングパッドXT
AL,EXTALなどが配置される。
【0020】このよにして構成されたチップ若しくはペ
レットとしてのシングルチップマイクロコンピュータ1
は組み立て工程において、パッケージのマウント部にダ
イボンディングされ、パッケージのリード端子にボンデ
ィングパッドがワイヤボンディングされた後、封止され
る。
【0021】図2に示されるシングルチップマイクロコ
ンピュータは、各種ポートを介して外部とのインタフェ
ースを行うよになっている。ポートの機能は動作モード
の設定で指定することができ、アドレス信号を外部に出
力して外部メモリや周辺デバイスをアクセスする動作モ
ードもサポートする。
【0022】ここで、このシングルチップマイクロコン
ピュータ1の代表的な動作モードは、シングルチップモ
ードと拡張モードとされる。シングルチップモードは、
アドレス信号を外部に出力してアクセスする動作が一切
禁止される動作モード若しくは内部バスが外部に開放さ
れない動作モードである。かかる動作モードにおいてC
PU3はその動作プログラムを内蔵ROM5から順次読
出すことになる。このとき殆ど全てのポートはタイマ9
やSCI11のためにユーザが任意に利用することがで
きるようにされる。拡張モードは特定のポートをアドレ
スの出力並びにデータの入出力に割り当てて外部メモリ
やその他周辺デバイスをアクセス可能にする動作モード
であり、設定される拡張モードの種類に応じて内部回路
モジュールのアドレスマップ並びにポートにおける入出
力信号の割当が変更される。例えば拡張モードが設定さ
れると、内蔵ROM5に割り当てられるアドレス空間が
外部メモリ空間にされ、ROM5に対するモジュール選
択信号は一切非選択レベルにされ、ソフトウェア的にも
ハードウェア的にも使用できず、あたかもROM5が存
在しないかのように取扱われる。このときCPU3の動
作プログラムは専ら外部ROMから読み込まれることに
なる。
【0023】かかる動作モードの設定は、CPU3の動
作モードを指示するための制御号入力用パッドCP1〜
CP3から供給される信号レベルの組合せに従って行わ
れる。例えば、リセット時に制御号入力用パッドCP1
〜CP3から供給される信号が所定のタイミングで図示
しないモードコントロールレジスタにラッチされること
によって動作モードの設定が行われる。
【0024】また、かかるシングルチップマイクロコン
ピュータ1はデバイステスティング時に不良個所を外部
から容易に判断できるようにしてテスティングの効率化
を図れるようにするためのテストモードを持ち、所定の
端子に入力される信号レベルの組合せなどよってテスト
モードが設定されると、所定のポートを介して内部バス
が直接外部に開放される。
【0025】図1にはCPU3の構成例が示される。
【0026】算術論理演算ユニット(ALU)107
は、データに対して必要な数値演算、及び論理演算を行
うためのハードウェアユニットである。数値演算には加
算、減算、掛算、割算等があり、論理演算には論理和、
論理積の演算があり、2進法加算回路を基本として実行
される。そのようなALU107には、演算途中で生ず
る種々の状態を保持するためのフラグフリップフロップ
108が結合されている。また、ALU107での演算
のために一時的にデータを保持するためのレジスタ10
5や、演算の一方の入力又はその演算結果を蓄えるため
のアキュムレータ104、種々のデータを保持するため
の汎用レジスタ112、サブルーチン実行時の各種レジ
スタの内容待避のためのスタック領域の最上位を示すス
タックポインタ113、 次に実行すべき命令アドレス
を示すプログラムカウンタ114、出力アドレスを一時
的に保持するためのアドレスラッチ115、CPU3の
外部との間でデータのやり取りを可能とするためのデー
タバッファ117等が、内部バス103によって相互に
結合されている。116はアドレスの出力を可能とする
ためのアドレスバッファである。
【0027】108は伸長部であり、この伸長部108
は、内部バス103に結合され、実行形式のプログラム
を圧縮処理された状態で記憶するROM5(図2参照)
からフェッチされた圧縮プログラムデータを圧縮前の形
式に伸長する機能を有する。すなわち、伸長部108
は、例えば8ビットに圧縮された圧縮プログラムデータ
を、例えば16ビットのような圧縮前のプログラムデー
タに変換するデータ長変換機能を有する。本発明におけ
る伸長手段は、この伸長部108によって形成される。
この伸長部108の後段には、当該伸長部108で伸長
されることによって得られた命令コードを保持するため
の命令レジスタ109が配置され、さらにこの命令レジ
スタ109の保持命令をデコードすることによって当該
命令を解読するための命令デコーダ110が配置され
る。このデコード結果は、後段に配置された制御部11
1に入力される。この制御部111は、CPU3の内部
及び外部に対して適当な制御信号を送出して、上記命令
デコーダ110でデコードされた命令で指定される必要
な動作を、いくつかのステップに分けて実行する。
【0028】図3には上記伸長部108、及び制御部1
11の主要機能ブロックが示される。
【0029】伸長部108は、特に制限されないが、R
OM5からフェッチされた圧縮プログラムデータが伸長
対象であるか否かを判別するための判別手段301と、
この判別結果に応じて、フェッチされた圧縮プログラム
データを圧縮前の形式に伸長するための変換規則テーブ
ル検索手段302と、上記命令判別手段301の判別結
果に応じて、フェッチされたデータ、及び変換規則テー
ブル検索手段302によって検索された命令を選択的に
後段の命令レジスタ109に伝達するための選択手段3
04とを含む。ここで、上記変換規則テーブル検索手段
302は、変換規則テーブル302を検索し、対応する
命令コードを読出すことによって圧縮プログラムデータ
を伸長する。
【0030】上記制御部111は、特に制限されない
が、命令デコーダ110のデコード出力から、それが分
岐命令であるか否かを判別するための命令判別手段31
1と、この命令判別手段311によって分岐命令である
と判断された場合に、アドレス変換テーブル314を検
索して飛び先アドレスを圧縮プログラムにおけるアドレ
スに変換するためのアドレス変換テーブル検索手段31
3と、変換されたアドレスをプログラムカウンタ114
(図1参照)にセットするためのプログラムカウンタセ
ット手段315と、上記命令デコーダ110のデコード
出力に応じてALU109や各種レジスタ等の動作を制
御するための実行制御手段312とを含む。
【0031】尚、本明細書において、分岐命令とは、サ
ブルーチンジャンプ命令や割込み処理命令等のように、
命令実行順序を変更する必要のある命令を総称するもの
として理解されたい。また、飛び先アドレスとは、命令
実行順序の変更によって次に実行されるべき命令アドレ
スを意味する。すなわち、CPU3が、命令実行順序を
変更する必要のない一連の命令を実行する場合、プログ
ラムカウンタ114の値は、CPU3が一つの命令を実
行する毎にインクリメントされて、次に実行すべき命令
アドレスの値とされる。一方、CPU3が、命令実行順
序を変更する必要のある命令を実行する場合、プログラ
ムカウンタ114の値は、上述のようにインクリメント
されるのではなく、命令実行順序の変更によって、次に
実行されるべき命令のアドレス(飛び先アドレス)の値
にセットされる。
【0032】次に、上記ROM5に記憶される動作プロ
グラムについて詳述する。
【0033】図7にはソースプログラムのアセンブルか
らROM書込みまでの処理の流れが示される。
【0034】特に制限されないが、アセンブリ言語によ
って書かれたソースプログラム701がアセンブラ70
2によって機械語に変換されることによって、リロケー
タブルオブジェクト703が得られる。図10にはソー
スプログラムと機械語命令との対応関係が示される。リ
ンケージエディタ704は、複数のリロケータブルオブ
ジェクト703を取込んで、実行オブジェクト705を
生成する。リロケータブルオブジェクトは、外部記号
表、テキスト、及び再配置結合表から構成される。外部
記号表にはそのモジュール中から参照する外部記号名
と、逆にそのモジュール内で定義され、他のモジュール
から参照される記号名の全てが含まれる。そして、得ら
れた実行オブジェクトは、圧縮ツール706によって圧
縮されることによって圧縮後実行オブジェクト(圧縮プ
ログラム)707が得られる。このとき、アドレス変換
テーブル314(図3参照)を形成するためのアドレス
変換テーブルデータ708や、変換規則テーブル303
(図3参照)を形成するための変換規則テーブルデータ
709が生成される。そのようにして得られた圧縮後実
行オブジェクト707、アドレス変換テーブルデータ7
08、及び変換規則テーブルデータ709が、EPRO
Mライタ710により、ROM5(図2参照)に書込ま
れる。
【0035】図8には上記圧縮ツール706での圧縮処
理の流れが示される。
【0036】本実施例では、特に制限されないが、命令
フェッチがバイト単位で行われることとの整合上、単純
に出現頻度の高い複数バイト列データについて1バイト
圧縮表現し、出現頻度の低いデータについてはそのよう
な圧縮処理を行わないで、そのデータの直前に所定の接
頭語を配置することによって、上記圧縮表現されたもの
と区別している。そのような圧縮処理について以下に詳
述する。
【0037】図8に示されるように、実行オブジェクト
の全てのデータが読込まれ(801)、データの出現頻
度が調べられる(802)。この出現頻度は、特に制限
されないが、例えば実行オブジェクトの先頭より複数バ
イト単位、例えば2又は3バイト単位でプログラムデー
タがチェックされることによって求められる。図5に
は、実行オブジェクトに含まれるデータの出現頻度の一
例が示される。この例ではバイト列データの出現頻度
が最も高く、バイト列データ、バイト列データ、バ
イト列データ、バイト列データ、バイト列データ
の順に出現頻度が低くなる。そして、出現頻度の高い順
に、例えば、00 01 02 …等のように、1バイトコード
が割り当てられる(803)。つまり、出現頻度の高い
バイト列データには、00 が割り当てられ、次に出現頻
度が高いデータには、01 が割り当てられと、いうよう
に、出現頻度の高い順にコードが割り当てられる。その
ように1バイトコードが割り当てられることによって、
変換規則テーブル303が形成される。すなわち、1バ
イト命令と、それに対応する機械語コードとの対応表が
形成される。そして、この変換規則テーブル303が参
照されることによって、以下のようにプログラム圧縮が
行われる。
【0038】すなわち、実行オブジェクトの全てについ
ての圧縮処理を終了するか否かの判別が行われ(80
5)、この判別において、終了しないと判断された場合
には、上記ステップ804で形成された変換規則テーブ
ル303に従って、プログラムデータが、対応する1バ
イトコードに変換されることによって、当該プログラム
データが圧縮される(806)。このとき、処理対象と
されるプログラムデータから、それに飛び先アドレスを
含むか否かの判別、換言すれば、圧縮処理対象にかかる
データが分岐命令に対応するものか否かの判別が可能と
される(807)。そこで、そのような判別において、
飛び先アドレスが出現したと判断された場合には、対応
する圧縮後アドレス(圧縮プログラムにおける飛び先ア
ドレス)が求められ(808)、それによって、アドレ
ス変換テーブル314を形成するためのデータ708が
得られる。そのように飛び先アドレスの変換を行うの
は、圧縮前のプログラムのアドレス割付けと、圧縮後の
プログラムのアドレス割付けとが異なるため、例えばJ
MP(ジャンプ)命令などの分岐命令においては、圧縮
前のプログラムの飛び先アドレスに飛ぶ操作を、圧縮後
の飛び先アドレスに飛ぶ操作に変更しなければ、当該分
岐命令による命令実行ルーチンが異常を来すことになる
からである。
【0039】そして、上記ステップ805の判別におい
て、非圧縮命令が存在しないと判断されない限り、換言
すれば、動作プログラムを構成する全ての命令について
の処理が終了するまでは、上記ステップ806〜809
の処理が繰返される。
【0040】また、上記のように本実施例では、出現頻
度の低いバイト列データは圧縮の対象とはされず、上記
のような1バイト圧縮表現は行われず、元のバイト列デ
ータがそのまま配置される。そして、そのような非圧縮
バイト列データを、圧縮済みのものと区別すため、当該
非圧縮バイト列データの直前に、ff 等の接頭語が配置
される。そのように接頭語 ff が配置されることによ
り、それに続く、1バイトコードは、非圧縮データであ
ることが分かる。図3の命令判別手段301では、接頭
語 ff がフェッチされたか否かをチェックすることによ
って、伸長の必要性の有無の判別が可能とされる。つま
り、接頭語 ff が検出された場合、それに続く命令は非
圧縮データであり、圧縮されたものではないので、伸長
処理の対象から外される。
【0041】図10に示される機械語データに従えば、
圧縮前、及び圧縮後のプログラムイメージは図4に示さ
れるようになる。例えば、圧縮前の 3バイト列データ
04 00 8C は、最も出現頻度が高く、それに、1バイト
コード 00 が割り当てられ、その次に出現頻度が高いに
2バイト列データ 1d ff には、1バイトコード 01が割
り当てられ、その次に出現頻度が高い 2バイト列デー
タ 0e 80 には、1バイトコード 02 が割り当てられる
ことによって、変換規則テーブル302が形成された場
合、圧縮処理の際に当該テーブルが参照されることによ
って、3バイト列データ 04 00 8C は、1バイトコード
00 に変換され、2バイト列データ 1dff は、1バイト
コード 01 に変換され、2バイト列データ 0e 80 は、0
2 に変換される。そのように、2バイト以上のデータ
が、1バイトコードに割り当てられることによって、プ
ログラムデータの減少が図られる。
【0042】尚、図4における圧縮後データにおいて、
接頭語 ff の直後に配置される1バイトコードは、接頭
語 ff の存在によって、それが非圧縮データであること
が分かる。すなわち、”10 20”、”30 10 00”は、出
現頻度が少ないために、圧縮対象とはされない。
【0043】次に、上記のように形成された圧縮プログ
ラム、アドレス変換テーブル314、変換規則テーブル
303(図6参照)が格納されたROM5を内蔵する本
実施例マイクロコンピュータにおける命令実行につい
て、図9のフローチャートに従って詳述する。
【0044】先ず、ROM5から、圧縮プログラムデー
タが1バイト単位でフェッチされ(901)、当該デー
タが伸長処理の対象であるか否かについての判別が、命
令判別手段301により行われる(902)。この判別
は、基本的に、フェッチされた1バイトデータが、非圧
縮状態を示す接頭語 ff であるか否かによって可能とさ
れる。接頭語 ff が検出されない場合には、フェッチさ
れた1バイトデータは、伸長の対象とされ、変換規則テ
ーブル検索手段302により変換規則テーブル303が
検索されることによって、対応する命令コードが求めら
れ、それが、命令レジスタ109に書込まれる(90
4)。例えば、フェッチされたデータが、00 であった
場合、変換規則テーブルによれば、それに対応する命令
コードは、04008c となるから、それが、バイト単位で
命令レジスタ109に書込まれ、さらにこの命令コード
が、命令デコーダ110でデコードされる(905)。
そに対して、接頭語 ff がフェッチされた場合には、そ
の次にフェッチされる命令は非圧縮状態であるから、そ
れについては変換規則テーブル303の検索が行われる
ことなく、当該命令が命令レジスタ109へ書込まれ
(903)、それが命令デコーダ110によってデコー
ドされる(905)。
【0045】次に、制御部111内の命令判別手段31
1によって、上記命令デコーダ110でデコードされた
ものが、分岐命令か否かの判別が行われる(906)。
例えば、図10に示されるように、ラベル L:(010
0番地)へのジャンプ命令 JMP であることが、命令判
別手段311によって検出されると、アドレス変換テー
ブル検索手段313によって、アドレス検索テーブル3
14が検索され、対応する分岐先アドレスが求められる
(908)。ここで求められる分岐先アドレスは、RO
M5に格納されている圧縮プログラムデータにおける分
岐先アドレスとされる。そしてその分岐先アドレスが、
プログラムカウンタセット手段315によってプログラ
ムカウンタ114にセットされ、圧縮プログラムにおけ
る分岐先アドレスへジャンプされ(909)、上記ステ
ップ901の圧縮プログラムの読込みに戻る。また、上
記ステップ906の判別において分岐命令ではないと、
判断された場合には、当該命令に応じた制御が行われる
ことによって、当該命令が実行される。
【0046】上記実施例によれば以下の作用効果が得ら
れる。
【0047】(1)実行形式のプログラムを圧縮処理さ
れた状態で記憶するROM5から圧縮プログラムデータ
を1バイト単位でフェッチし、それを圧縮前の形式に伸
長してから、デコードして実行するように構成されてい
るため、ROM5を含む主記憶装置のメモリ使用量の低
減を図ることができる。例えば、一般的なマイクロコン
ピュータ応用プログラムにおいては、機械語プログラム
中に出現する飛び先ラベルは20バイトに一回程度の割
合であり、また、全体のプログラムサイズは数10Kバ
イトから数100Kバイト程度であることから、応用プ
ログラムの圧縮率を50パーセント、変換規則テーブル
303形成のための変換規則を、3バイト×200個、
アドレス変換テーブル314の大きさを、4バイト×
(プログラムサイズ)×(1/20)とすると、10K
バイトの応用プログラムは圧縮後に7.6Kバイトに、
また、60Kバイトの応用プログラムは圧縮後に43.
6Kバイトに、それぞれ縮小されるから、ROM5を含
む主記憶装置のメモリ使用量を大幅に低減することがで
きる。
【0048】(2)圧縮されたプログラムを実行する場
合において、圧縮前のプログラムのアドレス割付けと、
圧縮後のプログラムのアドレス割付けが異なるため、例
えばJMP(ジャンプ)命令などの分岐命令において
は、圧縮前のプログラムの飛び先アドレスに飛ぶ操作
を、圧縮後の飛び先アドレスに飛ぶ操作に変更してから
当該分岐命令を実行しなければならず、例えば、プログ
ラム圧縮前のアドレスからプログラム圧縮後のアドレス
を求めるのに、全アドレスについての対応表を予め作成
し、アドレス変換の必要がある場合に、当該対応表を参
照して、対応する飛び先アドレスを求めることが考えら
れるが、上記実施例によれば、圧縮前プログラムにおけ
る分岐先アドレスと圧縮プログラムにおける分岐先アド
レスとの関係を示すアドレス変換テーブル314をRO
M5に形成し、それを検索することによって、分岐先ア
ドレスの変換を行うようにしているので、アドレス変換
テーブルの大きさは、4バイト×(プログラムサイズ)
×(1/20)程度であり、上記のように、全てのアド
レスについてアドレス対応表を作成する場合に比して、
メモリ使用量の増大を抑えることができる。また、プロ
グラム圧縮前のアドレスをプログラム圧縮後のアドレス
に変換するのに、何等かのアルゴリズムに応じて計算す
る方式の場合には、プログラムを実行しながらの処理に
なるため、プログラム実行速度の低下につながる虞があ
るが、上記実施例の場合には、アドレス変換テーブル3
14の検索により、分岐先アドレスの変換を行うもので
あるため、プログラム実行速度の低下を抑えることがで
きる。
【0049】以上本発明者によってなされた発明を実施
例に基づいて具体的に説明したが、本発明はそれに限定
されるものではなく、その要旨を逸脱しない範囲におい
て種々変更可能であることは言うまでもない。
【0050】例えば、上記実施例では、ROM5やRA
M7をシングルチップマイクロコンピュータ1の外部に
配置するようにしてもよい。
【0051】上記実施例では、ROM5として、EPR
OMを適用したものについて説明したが、記憶情報を電
気的に消去可能なEEPROM(エレクトリカリ・イレ
ーザブル・アンド・プログラマブル・リード・オンリ・
メモリ)、さらには、ユーザの要求仕様に基づいた固有
のホトマスクを用いて例えば所定のメモリセルトランジ
スタに選択的にイオンを注入することによって情報書込
みが可能なマスクROMを適用することもできる。
【0052】上記実施例ではアセンブリ言語を用いた場
合について説明したが、他のプログラミング言語を用い
ることができる。
【0053】上記実施例では、ROM5に格納される圧
縮プログラムデータにおいて、出現頻度の低い命令につ
いては圧縮処理をしないようにしたが、この出現頻度に
かかわらず、全ての命令について圧縮処理するようにし
てもよい。また、上記実施例では、複数バイト列データ
単位で出現頻度を求め、出現頻度の高い順に1バイトコ
ードに変換することによって圧縮するものについて説明
したが、命令単位で出現頻度を求め、出現頻度の高い順
に1バイトコードに変換するようにしてもよい。
【0054】変換規則テーブル303や、アドレス変換
テーブル314をRAM7に形成するようにしてもよ
い。
【0055】以上の説明では主として本発明者によって
なされた発明をその背景となった利用分野であるシング
ルチップマイクロコンピュータに適用した場合について
説明したが、本発明はそれに限定されるものではなく、
内蔵プログラムROM5を持たない汎用利用可能なシン
グルチップマイクロコンピュータ、さらには各種データ
処理装置における演算処理に適用することができる。
【0056】本発明は、少なくとも、プログラムを構成
する一連の命令を順次デコードして実行することによっ
て所定の演算処理を行うことを条件に適用することがで
きる。
【0057】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば下記
の通りである。
【0058】すなわち、プログラムを圧縮処理された状
態で記憶する記憶手段から圧縮プログラムデータをフェ
ッチし、それを圧縮前の形式に伸長し、それをデコード
して実行することにより、主記憶装置のメモリ使用量の
低減を図ることができ、さらには半導体チップの縮小
化、コスト低下を図ることができる。また、上記デコー
ド出力に応じて飛び先アドレスを、圧縮プログラムにお
ける飛び先アドレスに変換し、この変換された飛び先ア
ドレスをプログラムカウンタにセットすることにより、
分岐命令をも的確に実行可能とされ、しかも、分岐先ア
ドレスの変換を変換テーブルで行うことにより、演算処
理速度の低下を抑えることができる。
【図面の簡単な説明】
【図1】本発明の一実施例であるシングルチップマイク
ロコンピュータにおけるCPUの構成ブロック図であ
る。
【図2】本発明の一実施例であるシングルチップマイク
ロコンピュータの全体的な構成ブロック図である。
【図3】上記CPUに含まれる伸長部、及び制御部の機
能ブロック図である。
【図4】プログラムのメモリイメージを、圧縮前と圧縮
後とで比較するための説明図である。
【図5】プログラムを構成する命令の出現頻度の説明図
である。
【図6】上記シングルチップマイクロコンピュータに含
まれるROMの記憶内容説明図である。
【図7】ソースプログラムのアセンブルからROM書込
みまでの処理のフローチャートである。
【図8】ソースプログラムのアセンブルからROM書込
みまでの処理に含まれる圧縮処理のフローチャートであ
る。
【図9】上記シングルチップマイクロコンピュータでの
命令実行のフローチャートである。
【図10】ソースプログラムと機械語命令との対応関係
説明図である。
【符号の説明】
3 CPU 5 ROM 7 RAM 103 内部バス 104 アキュムレータ 105 一時レジスタ 106 フラグフリップフロップ 107 ALU 108 伸長部 109 命令レジスタ 110 命令デコーダ 111 制御部 112 汎用レジスタ 113 スタックポインタ 114 プログラムカウンタ 115 アドレスラッチ 116 アドレスバッファ 117 データバッファ 301 命令判別手段 302 変換規則テーブル検索手段 303 変換規則テーブル 304 選択手段 311 命令判別手段 312 実行制御手段 313 アドレス変換テーブル検索手段 314 アドレス変換テーブル 315 プログラムカウンタセット手段 500 圧縮プログラム

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 プログラムを圧縮して記憶手段に記憶
    し、この圧縮プログラムに基づいて所定の演算処理を行
    う演算処理方法において、上記記憶手段内の圧縮プログ
    ラムデータをフェッチするステップと、フェッチされた
    プログラムデータを伸長することによって圧縮前の形式
    に変換するステップと、この伸長によって得られたコー
    ドをデコードするステップと、このデコード出力が、プ
    ログラム実行順序の変更を伴う命令である場合に、命令
    実行順序が変更されるべき飛び先アドレスを、圧縮プロ
    グラムにおける飛び先アドレスに変換し、それをプログ
    ラムカウンタにセットするステップとを含むことを特徴
    とする演算処理方法。
  2. 【請求項2】 プログラムを圧縮して記憶手段に記憶
    し、この圧縮プログラムに基づいて所定の演算処理を行
    う演算処理方法において、上記記憶手段内の圧縮プログ
    ラムデータをフェッチするステップと、フェッチされた
    圧縮プログラムデータから伸長の必要性の有無を判別す
    るステップと、この判別結果に応じて、圧縮プログラム
    データを伸長することによって圧縮前の形式に変換する
    ステップと、この伸長によって得られた命令コードをデ
    コードするステップと、このデコード出力が、プログラ
    ム実行順序の変更を伴う命令である場合に、命令実行順
    序が変更されるべき飛び先アドレスを、圧縮プログラム
    における飛び先アドレスに変換し、それをプログラムカ
    ウンタにセットするステップとを含むことを特徴とする
    演算処理方法。
  3. 【請求項3】 命令アドレスを指定するためのプログラ
    ムカウンタを含み、プログラムを構成する命令をデコー
    ドして実行することにより所定の演算処理を行うための
    マイクロコンピュータにおいて、圧縮処理されたプログ
    ラムデータを記憶するための記憶手段と、上記プログラ
    ムカウンタによって示されるアドレスに基づいて上記記
    憶手段からフェッチされた圧縮プログラムデータを伸長
    することによって圧縮前の形式に変換するための伸長手
    段と、この伸長によって得られたコードをデコードする
    ためのデコーダとを含むことを特徴とするマイクロコン
    ピュータ。
  4. 【請求項4】 命令アドレスを指定するためのプログラ
    ムカウンタを含み、プログラムを構成する命令をデコー
    ドして実行することにより所定の演算処理を行うための
    マイクロコンピュータにおいて、圧縮処理されたプログ
    ラムデータを記憶するための記憶手段と、この記憶手段
    からフェッチされた圧縮プログラムデータを伸長するこ
    とによって圧縮前の形式に変換するための伸長手段と、
    この伸長によって得られたコードをデコードするための
    デコーダと、このデコード出力がプログラム実行順序の
    変更を伴う場合に、命令順序が変更されるべき飛び先ア
    ドレスを、圧縮プログラムにおける飛び先アドレスに変
    換するためのアドレス変換手段と、変換された飛び先ア
    ドレスを上記プログラムカウンタにセットするためのプ
    ログラムカウンタセット手段とを含むことを特徴とする
    マイクロコンピュータ。
  5. 【請求項5】 上記伸長手段は、プログラムを圧縮処理
    された状態で記憶するための記憶手段からフェッチされ
    た圧縮プログラムデータから伸長の必要性の有無を判別
    するための判別手段を含み、この判別結果に応じて、伸
    長処理を行うように構成されて成る請求項3又は4記載
    のマイクロコンピュータ。
  6. 【請求項6】 上記記憶手段からフェッチされた圧縮プ
    ログラムデータを圧縮前の形式に伸長するための変換規
    則テーブルを有し、この変換規則テーブルを検索するこ
    とによって、上記圧縮プログラムデータを伸長するよう
    に構成されて成る請求項3乃至5のいずれか1項記載の
    マイクロコンピュータ。
  7. 【請求項7】 飛び先アドレスを圧縮プログラムにおけ
    る飛び先アドレスに変換するためのアドレス変換テーブ
    ルを有し、このアドレス変換テーブルを検索することに
    よって圧縮プログラムにおける飛び先アドレスを求める
    ように構成されて成る請求項4乃至6のいずれか1項記
    載のマイクロコンピュータ。
  8. 【請求項8】 上記記憶手段は、圧縮前プログラムデー
    タにおいて出現頻度の高いバイト列データが1バイトコ
    ードで表現されることによって圧縮されたプログラムデ
    ータを格納する読出し専用メモリである請求項3乃至7
    のいずれか1項記載のマイクロコンピュータ。
  9. 【請求項9】 一つの半導体基板に形成された請求項3
    乃至8のいずれか1項記載のマイクロコンピュータ。
JP5164079A 1993-06-08 1993-06-08 演算処理方法、及びマイクロコンピュータ Withdrawn JPH06348490A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP5164079A JPH06348490A (ja) 1993-06-08 1993-06-08 演算処理方法、及びマイクロコンピュータ
KR1019940011642A KR950001485A (ko) 1993-06-08 1994-05-27 연산처리방법 및 마이크로 컴퓨터
US08/515,398 US5632024A (en) 1993-06-08 1995-08-15 Microcomputer executing compressed program and generating compressed branch addresses

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5164079A JPH06348490A (ja) 1993-06-08 1993-06-08 演算処理方法、及びマイクロコンピュータ

Publications (1)

Publication Number Publication Date
JPH06348490A true JPH06348490A (ja) 1994-12-22

Family

ID=15786385

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5164079A Withdrawn JPH06348490A (ja) 1993-06-08 1993-06-08 演算処理方法、及びマイクロコンピュータ

Country Status (3)

Country Link
US (1) US5632024A (ja)
JP (1) JPH06348490A (ja)
KR (1) KR950001485A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6801996B2 (en) 2000-02-08 2004-10-05 Kabushiki Kaisha Toshiba Instruction code conversion unit and information processing system and instruction code generation method
JP2007226615A (ja) * 2006-02-24 2007-09-06 Matsushita Electric Ind Co Ltd 情報処理装置、圧縮プログラム生成方法及び情報処理システム
JP2011243134A (ja) * 2010-05-21 2011-12-01 Mitsubishi Electric Corp プログラム圧縮装置及びプログラム実行装置及びプログラム
JP2012098893A (ja) * 2010-11-01 2012-05-24 Fujitsu Semiconductor Ltd 圧縮命令処理装置及び圧縮命令生成装置
JP2021518710A (ja) * 2018-03-27 2021-08-02 エヌチェーン ホールディングス リミテッドNchain Holdings Limited 演算回路のシリアル化のためのコンピュータにより実装されるシステム及び方法

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9406666D0 (en) * 1994-04-05 1994-05-25 Communicate Ltd Computer system
US5943421A (en) * 1995-09-11 1999-08-24 Norand Corporation Processor having compression and encryption circuitry
US5787302A (en) * 1996-05-15 1998-07-28 Philips Electronic North America Corporation Software for producing instructions in a compressed format for a VLIW processor
US8583895B2 (en) * 1996-05-15 2013-11-12 Nytell Software LLC Compressed instruction format for use in a VLIW processor
US5867681A (en) * 1996-05-23 1999-02-02 Lsi Logic Corporation Microprocessor having register dependent immediate decompression
US5765157A (en) * 1996-06-05 1998-06-09 Sun Microsystems, Inc. Computer system and method for executing threads of execution with reduced run-time memory space requirements
US6216213B1 (en) * 1996-06-07 2001-04-10 Motorola, Inc. Method and apparatus for compression, decompression, and execution of program code
US20010025337A1 (en) * 1996-06-10 2001-09-27 Frank Worrell Microprocessor including a mode detector for setting compression mode
US5896519A (en) * 1996-06-10 1999-04-20 Lsi Logic Corporation Apparatus for detecting instructions from a variable-length compressed instruction set having extended and non-extended instructions
US5794010A (en) * 1996-06-10 1998-08-11 Lsi Logic Corporation Method and apparatus for allowing execution of both compressed instructions and decompressed instructions in a microprocessor
US5905893A (en) * 1996-06-10 1999-05-18 Lsi Logic Corporation Microprocessor adapted for executing both a non-compressed fixed length instruction set and a compressed variable length instruction set
DE19629130A1 (de) * 1996-07-19 1998-05-14 Philips Patentverwaltung Signalprozessor
JPH1091537A (ja) * 1996-09-13 1998-04-10 Oki Electric Ind Co Ltd マイクロコンピュータ
US5764994A (en) * 1996-09-16 1998-06-09 International Business Machines Corporation Method and system for compressing compiled microcode to be executed within a data processing system
JPH10116263A (ja) * 1996-10-15 1998-05-06 Nec Corp マイクロコンピュータとそのデータ読み出し試験方法
US5940871A (en) * 1996-10-28 1999-08-17 International Business Machines Corporation Computer system and method for selectively decompressing operating system ROM image code using a page fault
US5870576A (en) * 1996-12-16 1999-02-09 Hewlett-Packard Company Method and apparatus for storing and expanding variable-length program instructions upon detection of a miss condition within an instruction cache containing pointers to compressed instructions for wide instruction word processor architectures
FR2764717B1 (fr) * 1997-06-17 2001-08-03 Thomson Multimedia Sa Procede de lecture d'instructions de microprocesseur de decodeur de donnees numeriques et decodeur utilisant un tel procede
US6023761A (en) * 1997-08-13 2000-02-08 Vlsi Technology, Inc. Method and system for using decompression on compressed software stored in non-volatile memory of an embedded computer system to yield decompressed software including initialized variables for a runtime environment
US6618506B1 (en) * 1997-09-23 2003-09-09 International Business Machines Corporation Method and apparatus for improved compression and decompression
US6012138A (en) * 1997-12-19 2000-01-04 Lsi Logic Corporation Dynamically variable length CPU pipeline for efficiently executing two instruction sets
US6138254A (en) * 1998-01-22 2000-10-24 Micron Technology, Inc. Method and apparatus for redundant location addressing using data compression
DE69815286T2 (de) 1998-03-27 2003-12-11 Motorola Inc Rechnersystem mit einem einzigen Sprungbefehlszeiger und Verfahren
EP0945795B1 (en) * 1998-03-27 2003-06-18 Motorola, Inc. Computer system having a multi-pointer branch instruction and method
DE69823642T2 (de) * 1998-03-27 2005-04-21 Motorola Inc System und Verfahren zur Umwandlung von Befehlen
US6178496B1 (en) 1999-02-17 2001-01-23 Motorola, Inc. System for converting instructions, and method therefore
US6691305B1 (en) * 1999-11-10 2004-02-10 Nec Corporation Object code compression using different schemes for different instruction types
JP3629181B2 (ja) * 2000-03-28 2005-03-16 Necマイクロシステム株式会社 プログラム開発支援装置
US6484228B2 (en) 2000-04-19 2002-11-19 Motorola, Inc. Method and apparatus for data compression and decompression for a data processor system
US6633969B1 (en) 2000-08-11 2003-10-14 Lsi Logic Corporation Instruction translation system and method achieving single-cycle translation of variable-length MIPS16 instructions
US7149878B1 (en) * 2000-10-30 2006-12-12 Mips Technologies, Inc. Changing instruction set architecture mode by comparison of current instruction execution address with boundary address register values
US6985633B2 (en) * 2001-03-26 2006-01-10 Ramot At Tel Aviv University Ltd. Device and method for decoding class-based codewords
JP2002318686A (ja) * 2001-04-19 2002-10-31 Sony Corp プロセッサ
US7107439B2 (en) * 2001-08-10 2006-09-12 Mips Technologies, Inc. System and method of controlling software decompression through exceptions
US6907516B2 (en) * 2002-05-30 2005-06-14 Microsoft Corporation Compression of program instructions using advanced sequential correlation
US7707389B2 (en) * 2003-10-31 2010-04-27 Mips Technologies, Inc. Multi-ISA instruction fetch unit for a processor, and applications thereof
JP4986431B2 (ja) * 2005-09-29 2012-07-25 ルネサスエレクトロニクス株式会社 プロセッサ
US7873819B2 (en) 2008-01-03 2011-01-18 Freescale Semiconductor, Inc. Branch target buffer addressing in a data processor
US20090249048A1 (en) * 2008-03-28 2009-10-01 Sergio Schuler Branch target buffer addressing in a data processor
US9361097B2 (en) * 2013-10-18 2016-06-07 Via Technologies, Inc. Selectively compressed microcode

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55131848A (en) * 1979-04-02 1980-10-14 Nippon Telegr & Teleph Corp <Ntt> Data processor
US4694391A (en) * 1980-11-24 1987-09-15 Texas Instruments Incorporated Compressed control decoder for microprocessor system
US4402044A (en) * 1980-11-24 1983-08-30 Texas Instruments Incorporated Microprocessor with strip layout of busses, ALU and registers
JPH0644712B2 (ja) * 1984-05-22 1994-06-08 株式会社アドバンス 信号処理方式
JPS62171031A (ja) * 1986-01-23 1987-07-28 Nec Corp フア−ムウエア保護装置
US4868570A (en) * 1988-01-15 1989-09-19 Arthur D. Little, Inc. Method and system for storing and retrieving compressed data
US4890249A (en) * 1988-03-16 1989-12-26 Hughes Simulation Systems, Inc. Data compression and decompression for digital radar landmass simulation
US5307173A (en) * 1988-12-23 1994-04-26 Gemstar Development Corporation Apparatus and method using compressed codes for television program record scheduling
JPH02297626A (ja) * 1989-05-12 1990-12-10 Nec Corp プログラム及びデータの内容隠蔽方式
US5303356A (en) * 1990-05-04 1994-04-12 International Business Machines Corporation System for issuing instructions for parallel execution subsequent to branch into a group of member instructions with compoundability in dictation tag
JPH0557071A (ja) * 1991-08-31 1993-03-09 Brother Ind Ltd 電子制御式ミシン用外部メモリ
US5155484A (en) * 1991-09-13 1992-10-13 Salient Software, Inc. Fast data compressor with direct lookup table indexing into history buffer
US5463746A (en) * 1992-10-30 1995-10-31 International Business Machines Corp. Data processing system having prediction by using an embedded guess bit of remapped and compressed opcodes
JP3007235B2 (ja) * 1992-11-10 2000-02-07 富士写真フイルム株式会社 可変長符号の伸長装置および圧縮伸長装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6801996B2 (en) 2000-02-08 2004-10-05 Kabushiki Kaisha Toshiba Instruction code conversion unit and information processing system and instruction code generation method
JP2007226615A (ja) * 2006-02-24 2007-09-06 Matsushita Electric Ind Co Ltd 情報処理装置、圧縮プログラム生成方法及び情報処理システム
US7590832B2 (en) 2006-02-24 2009-09-15 Panasonic Corporation Information processing device, compressed program producing method, and information processing system
JP2011243134A (ja) * 2010-05-21 2011-12-01 Mitsubishi Electric Corp プログラム圧縮装置及びプログラム実行装置及びプログラム
JP2012098893A (ja) * 2010-11-01 2012-05-24 Fujitsu Semiconductor Ltd 圧縮命令処理装置及び圧縮命令生成装置
JP2021518710A (ja) * 2018-03-27 2021-08-02 エヌチェーン ホールディングス リミテッドNchain Holdings Limited 演算回路のシリアル化のためのコンピュータにより実装されるシステム及び方法

Also Published As

Publication number Publication date
US5632024A (en) 1997-05-20
KR950001485A (ko) 1995-01-03

Similar Documents

Publication Publication Date Title
JPH06348490A (ja) 演算処理方法、及びマイクロコンピュータ
US4839797A (en) Microprocessor compatible with any software represented by different types of instruction formats
US20050198471A1 (en) Micro-controller for reading out compressed instruction code and program memory for compressing instruction code and storing therein
EP0127440A2 (en) Integrated circuit device incorporating a data processing unit and a ROM storing applications program therein
KR970004473B1 (ko) 마이크로 프로세서
US7287149B2 (en) Inserting decoder reconfiguration instruction for routine with limited number of instruction types recoded for reduced bit changes
EP0945783A2 (en) Variable length register device
JP3201716B2 (ja) コンピュータ装置
EP1393183B1 (en) Modified harvard architecture processor having data memory space mapped to program memory space with erroneous execution protection
US20060117308A1 (en) Data processing apparatus and ic card
US7676651B2 (en) Micro controller for decompressing and compressing variable length codes via a compressed code dictionary
EP0626640A1 (en) Program translator with selective data value amendment and processor with data extension instructions
JPS5826584B2 (ja) デ−タ処理装置
EP0905613B1 (en) Method for storing and using executable programs and apparatus therefor
US6005502A (en) Method for reducing the number of bits needed for the representation of constant values in a data processing device
WO2003081422A1 (fr) Processeur d&#39;operations, procede de construction, systeme de traitement d&#39;operations et procede de traitement d&#39;operations
JPH04104350A (ja) マイクロプロセッサ
EP0232796B1 (en) Pseudo-microprogramming in microprocessor with compressed control rom and with strip layout of busses, alu and registers
JP3586689B2 (ja) 演算装置および演算装置設計方法
JP3182497B2 (ja) 演算処理装置および命令変換装置
JP2002175198A (ja) 演算処理装置および演算処理装置のデバッグ方法とそのシステム
JP3792633B2 (ja) マイクロコントローラ、及びマイクロコントローラ装置
JPH05334074A (ja) マイクロプロセッサ
JP2004038586A (ja) データ処理システム、データ処理装置及びデータ処理方法
JP2728008B2 (ja) プログラム評価装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20000905