JP3310525B2 - デジタルデータ処理装置 - Google Patents
デジタルデータ処理装置Info
- Publication number
- JP3310525B2 JP3310525B2 JP02455196A JP2455196A JP3310525B2 JP 3310525 B2 JP3310525 B2 JP 3310525B2 JP 02455196 A JP02455196 A JP 02455196A JP 2455196 A JP2455196 A JP 2455196A JP 3310525 B2 JP3310525 B2 JP 3310525B2
- Authority
- JP
- Japan
- Prior art keywords
- code
- conversion unit
- bit
- memory
- address
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/3017—Runtime instruction translation, e.g. macros
- G06F9/30178—Runtime instruction translation, e.g. macros of compressed or encrypted instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Memory System (AREA)
Description
理装置に関し、特にたとえば、マイクロプロセッサ,パ
ーソナルコンピュータ,ワードプロセッサ,携帯情報端
末,デジタルシグナルプロセッサ等のたとえば半導体メ
モリを有するデジタルデータ処理装置に関する。
いて、デジタルデータの圧縮/伸長技術として、さまざ
まな方式が用いられている。動画像の圧縮/伸長方式と
しては、離散コサイン変換であるDCT(Discre
te Cosine Transformation)
や、符号化方式として「離散コサイン変換」を用い、予
測符号化手法として「動き補償フレーム間予測」を用い
るMPEG(Motion Picture Expe
rt Group)等がある。静止画の圧縮/伸長方式
としては、「ハフマン符号化」と「離散コサイン変換」
とによる色データの間引きを用いるJPEG(Join
t Photographic Expert Gro
up)がある。これらの圧縮/伸長方式は、非コード系
の画像処理に適用されるものである。
方式として、ランレングス符号化方式が用いられ、MR
/MH/MMRの方式として知られている。さらに、テ
キスト(数値,文字)の圧縮/伸長方式としては、Le
mpel Zivの方法が古くから知られており、この
方式はいわゆるロス・レス(可逆性を有するコード圧
縮)の手法である。その他の圧縮/伸長方式として、算
術符号化(JBIG)の方法も知られており、この方式
もロス・レスの手法である。
は、動画像,静止画の圧縮/伸長方式であるMPEGや
JPEGは、ロス(非可逆性のコード圧縮)のある手法
である。それに対し、本願発明に係るデジタルデータ処
理装置では、ロス・レスの圧縮/伸長方式が用いられ
る。
長方式では、ロス・レスの手法であっても、マイクロプ
ロセッサの命令コードやデータコードのように、固定長
(たとえば、32ビットプロセッサでは、命令コードや
データコードは32ビットである。)の圧縮/伸長に対
しては、有効ではなかった。すなわち、従来のロス・レ
スの手法では、圧縮効果が可変長になってしまう。その
ため、伸長に要する時間も大きく、ロジック回路規模も
大きい。また、ソフトウェア処理による伸長では、極め
て長時間を要し、ほとんど実用にならなかった。このよ
うに、従来のデジタルデータ処理装置の圧縮/伸長方式
では、高速処理を行うことができなかった。
技術分野の一つとして、低電力化技術がある。近年の携
帯情報端末を始めとして、デジタルデータ処理装置で
は、プログラムやデータを記憶するメモリ容量は、極め
て増加してきている。しかも、使用されるマイクロプロ
セッサも、32ビットプロセッサのように高性能化して
きている。しかし、従来のデジタルデータ処理装置の圧
縮/伸長方式では、低電力で高速なシステムを実現する
ことができなかった。
電力で高速なシステムを実現することができるデジタル
データの圧縮/伸長方式を有するデジタルデータ処理装
置を提供することである。
重複するコードに仮想的コードを割り振り、仮想的コー
ドを実コードに変換するコード変換部であって、コード
変換部はアドレス部と命令部とを有し、メモリがデータ
伝達経路を介してコード変換部にアドレスを発する、コ
ード変換部と、コード変換部の命令部から命令を受ける
中央処理装置と、命令部とアドレス部を有するコード逆
変換部であって、中央処理装置はコード変換部の命令部
に接続し、コード逆変換部は命令をデータ伝達経路を介
してメモリに対して出力されるアドレスに変換するコー
ド変換部を含むことを特徴とする、デジタルデータ処理
装置である。
いし、メモリは外部メモリであり、外部メモリがコード
変換部を含んでもよい。コード変換部は書き変え可能R
OMであるのが好ましい。コード変換部はRAMであっ
てもよい。中央処理装置はマイクロプロセッサであって
もよいし、外部メモリは半導体メモリであってもよい。
納され、メモリは、コード変換部によって、第1次圧縮
したのち、さらに、高次圧縮できるプログラムを含んで
もよい。メモリには、複数のデータが格納され、メモリ
は、コード変換部によって、第1次圧縮したのち、さら
に、高次圧縮できるデータを含んでもよい。また、デー
タやプログラムの重複するコードに対して仮想コードを
割り振り、仮想コードを実コードに変換してもよい。
振ることによって、外部メモリ容量が、大きく圧縮され
る。また、仮想的コードを実コードに変換することによ
って、圧縮されたコードを瞬間的に伸長することができ
る。
大きく圧縮される。また、圧縮されたコードを瞬間的に
伸長することができる。さらに、アクセスの遅いメモリ
が高速に使える上に、ローパワーなメモリが構成でき
る。そのため、低コストのデジタルデータ処理装置が得
られる。すなわち、低電力で高速なシステムを実現する
ことができるデジタルデータの圧縮/伸長方式を有する
デジタルデータ処理装置が得られる。
れるのみならず、この発明は、ビット長が96ビット,
128ビット,256ビット,512ビット,640ビ
ット,・・・のような多ビット長のマイクロプロセッサ
または超多ビット長のマイクロプロセッサのコード圧縮
と伸長とにも極めて有効である。
ruction Word)方式のマイクロプロセッサ
では、LSIのピン数が極めて多くなる。この発明によ
れば、大きくピン数が削減できるので、VLIW方式の
マイクロプロセッサにも有効である。
複数の独立した機能ユニットが用いられるので、1個の
命令は、複数の演算操作を行うために、非常に長いワー
ド長をもつこととなる。そして、この命令が実行処理さ
れるときには、命令の同時実行が行われる。このような
場合、この発明を適用することによって、仮想的コード
(圧縮されたコード)をあらかじめロードしておき、コ
ード変換部で実コードに変換して、命令の同時実行を行
うという命令の新しい実行処理が可能となる。
方式にも適用することができる。パーソナルコンピュー
タの画面表示のサイズとしては、640×480ドット
で構成されるVGA(Video Graphic A
rray)が通常よく用いられる。画像処理において
は、CRTまたはLCD(液晶表示)のいずれの場合に
も、画面制御には、V−RAM(Video Memo
ry)と呼ばれる画像メモリが用いられる。このとき、
画面のビットデータは、このV−RAMに格納される
が、640×480の構成を、例えば32ビットでは3
2×20×480として、64ビットでは64×10×
480として、画像メモリを構成することができる。そ
して、それぞれの場合のメモリ構成は、1面当たり32
×9600または64×4800となる。すなわち、そ
れぞれのビット長(32ビットまたは64ビット)とア
ドレス長(9600または4800)とを有するメモリ
とすることができ、この発明を適用することによって、
画像メモリであるV−RAMのメモリ容量を圧縮して伸
長させることができる。この発明は、画像イメージデー
タの文字フォント,GPS(Groval Posit
ioning System)を応用したカーナビゲー
ションの地図データまたは辞書データ等の固定記憶のメ
モリ圧縮と伸長に特に有効である。
GAを構成して制御する場合には、複数個または複数面
のV−RAMを必要とするが、1面当たりについて、こ
の発明を適用できるので、カラー画像であっても、V−
RAMの圧縮と伸長が可能となる。
とによって、ソフトウェアの互換性を保ちながら、中央
処理装置を高性能化することができる。すなわち、メモ
リに格納されるソフトウェアは、中央処理装置から独立
しているので、蓄積されるソフトウェアのリソースに依
存しないで、ソフトウェアの互換性を保ちながら、中央
処理装置の性能を上げていくことができる。また、コー
ド変換部を中央処理装置に形成することは、コンピュー
タシステムとしてのコンピュータセキュリティにつなが
る。
によって、メモリ自身が圧縮機能をもつこととなる。そ
して、同一のソフトウェア機能を実現するのに、大幅に
メモリ容量を減少させることができる。逆に、同じメモ
リ容量であれば、格納できるソフトウェア機能を大幅に
増やすことができる。すなわち、コード変換部を外部メ
モリに形成することによって、「圧縮機能をもつメモ
リ」を実現でき、さらに、コンピュータシステムとして
のコンピュータセキュリティにつながる。
ことによって、コード変換部を自由に書き変えられ、コ
ンピュータシステムとしてのコンピュータセキュリティ
につながる。さらに、コード変換部を書き変え可能RO
Mとすることによって、インストラクションインディペ
ンデントなマイクロプロセッサおよびプロセッサインデ
ィペンデントなソフトウェアを実現できる。
徴および利点は、図面を参照して行う以下の発明の実施
の形態の詳細な説明から一層明らかとなろう。
理装置について、32ビットマイクロプロセッサを例に
して説明する。
2ビットマイクロプロセッサ10を示すブロック図であ
る。このマイクロプロセッサ10は、外部メモリからバ
スを通って入力された16ビット命令を記録する16ビ
ットレジスタ12を有する。16ビットレジスタ12は
コード変換部14に接続される。コード変換部14は1
6ビット長のアドレス部16および32ビット長の命令
部18を含む。コード変換部14では、重複があるコー
ド、たとえば、重複があるオブジェクトコード(バイナ
リーコード)に対し、実際に使われているオブジェクト
コードを重複させないで、個々に仮想的(疑似的)コー
ドを割り振り、アドレス部16に仮想的コードが収納さ
れる。そして、命令部18にオブジェクトコードが収納
される。すなわち、命令部18のオブジェクトコードで
ある命令と、アドレス部16の仮想的コードであるアド
レスとは、一対一で対応することとなる。なお、16ビ
ットレジスタ12が接続されるのはコード変換部14の
アドレス部16である。そして、16ビットレジスタ1
2がコード変換部14をアクセスする際には、16ビッ
ト長のアドレス部16にアクセスされる。すなわち、外
部メモリはバスからコード変換部14にアドレスを出し
ているだけである。そして、アクセスされたアドレス部
16のアドレスに対応する命令部18の命令すなわち実
コードがCPU20にアウトプットされる。すなわち、
コード変換部14は、16ビット長から32ビット長へ
変換する機能を有する。なお、16ビットレジスタ12
を用いずに、外部のバスから16ビットのアドレスを直
接コード変換部14にアクセスしてもよいが、16ビッ
トレジスタ12を用いるのが一般的である。
2,24,インストラクションデコーダ26,レジスタ
グループ28,乗算器30,キャシュメモリ(Cach
eMemory)32およびMMU(Memory M
anagement Unit)34などを含む。命令
部18からアウトプットされた32ビットの命令は、3
2ビットレジスタ22にアクセスされ、32ビットレジ
スタ22からキャシュメモリ32をアクセスして、イン
ストラクションデコーダ26にアクセスされる。
逆変換部38に接続される。コード逆変換部38は、3
2ビット長の命令部40および16ビット長のアドレス
部42を含む。コード逆変換部38には命令部40のオ
ブジェクトコードである命令と、アドレス部42の仮想
的(疑似的)コードであるアドレスとは、一対一で対応
するよう記録されている。そして、32ビットレジスタ
24がコード逆変換部38をアクセスする際には、32
ビット長の命令部40にアクセスされる。アクセスされ
た命令部40の命令に対応するアドレス部42のアドレ
スが、16ビットレジスタ44にアクセスされ、外部の
バスにアウトプットされる。すなわち、コード逆変換部
38は、32ビット長から16ビット長へ変換する機能
を有し、圧縮されたデータが外部メモリのバスへアウト
プットされる。
は、CPU20の外部に、32ビットアドレスレジスタ
46を含む。32ビットアドレスレジスタ46からは、
外部のバスとの間で32ビットアドレスが入出力され
る。さらに、32ビットマイクロプロセッサ10から
は、外部のバスを通して32ビットのデータが入出力さ
れる。
も、32ビット長のすべての命令コードやデータコード
が使用されることはない。すなわち、実態のプログラム
においては、オブジェクトコード(バイナリーコード)
には、かなり重複がある。そこで、実際に使われている
オブジェクトコードを重複させないで、個々に仮想的
(疑似的)コードを割り振る。仮想的(疑似的)コード
とは、CPU20をアクセスするのに実際に使用される
オブジェクトコードに対して、重複しないように、仮想
的に割り振られるコードをいう。このとき、アドレスの
長さは、32ビット長の命令コードと同じとする。する
と、図2に示すように、外部メモリ47のメモリエリア
がカットされ、コードが圧縮されることとなる。そし
て、コード変換部14は、上述のように、重複があるオ
ブジェクトコードに対し、仮想的(疑似的)コードを割
り振ったのち、仮想的(疑似的)コードを瞬間的に伸長
し、仮想的(疑似的)コードを実コードに変換する。実
コードとは、CPU20をアクセスするのに実際に使用
されるコードをいう。
2ビットマイクロプロセッサ10を示すブロック図であ
る。後述のように、32ビットアクセスの場合、プロセ
ッサ内部のアドレスPが偶数か奇数かによって管理され
る。すなわち、プロセッサ内部のアドレスP0 が0か1
かによって管理する。
は、外部からバスを通って入力された32ビット命令を
記録する2つの16ビットレジスタ12a,12bを有
する。16ビットレジスタ12aは、上位アクセス用で
あり、16ビットレジスタ12bは、下位アクセス用で
ある。また、16ビットレジスタ12a,12bは、A
NDゲートをもつインデックスレジスタ48を通して、
コード変換部14に接続される。16ビットレジスタ1
2a,12bが、インデックスレジスタ48を通して、
コード変換部14をアクセスするとき、インデックスレ
ジスタ48は、アドレスPが偶数か奇数かを判断する。
すなわち、インデックスレジスタ48は、アドレスP0
が0か1かを判断する。アドレスPが偶数ならば、上位
アクセス用の16ビットレジスタ12aが、コード変換
部14をアクセスし、アドレスPが奇数ならば、下位ア
クセス用の16ビットレジスタ12bが、コード変換部
14をアクセスする。
レス部16および32ビット長の命令部18を含む。こ
こで、コード変換部14では、重複があるコード、たと
えば、重複があるオブジェクトコード(バイナリーコー
ド)に対し、実際に使われているオブジェクトコードを
重複させないで、個々に仮想的(疑似的)コードを割り
振り、アドレス部16に仮想的コードが収納される。そ
して、命令部18にオブジェクトコードが収納される。
すなわち、命令部18のオブジェクトコードである命令
と、アドレス部16の仮想的コードであるアドレスと
は、一対一で対応することとなる。なお、16ビットレ
ジスタ12a,12bが接続されるのはコード変換部1
4のアドレス部16である。そして、16ビットレジス
タ12a,12bがコード変換部14をアクセスする際
には、16ビット長のアドレス部16にアクセスされ
る。アクセスされたアドレス部16のアドレスに対応す
る命令部18の命令すなわち実コードがCPU20にア
ウトプットされる。すなわち、外部メモリはバスからコ
ード変換部14にアドレスを出しているだけである。そ
して、アクセスされたアドレス部16のアドレスに対応
する命令部18の命令すなわち実コードがCPU20に
アウトプットされる。すなわち、コード変換部14は、
16ビット長から32ビット長へ変換する機能を有す
る。
2,24,インストラクションデコーダ26,レジスタ
グループ28,乗算器30,キャシュメモリ(Cach
eMemory)32およびMMU(Memory M
anagement Unit)34等を含む。命令部
18からアウトプットされた32ビットの命令は、32
ビットレジスタ22にアクセスされ、32ビットレジス
タ22からキャシュメモリ32をアクセスして、インス
トラクションデコーダ26にアクセスされる。
逆変換部38と接続される。コード逆変換部38は、3
2ビット長の命令部40および16ビット長のアドレス
部42を含む。そして、32ビットレジスタ24がコー
ド逆変換部38をアクセスする際には、32ビット長の
命令部40にアクセスされる。アクセスされた命令部4
0の命令に対応するアドレス部42のアドレスが、AN
Dゲートをもつインデックスレジスタ50を通して、2
つの16ビットレジスタ44a,44bにアクセスさ
れ、外部のバスにアウトプットされる。このとき、イン
デックスレジスタ50は、上位アクセス用の16ビット
レジスタ44aにアクセスされたか、下位アクセス用の
16ビットレジスタ44bにアクセスされたかを判断す
る。上位アクセス用の16ビットレジスタ44aにアク
セスされた場合には、アドレスP0に0を付与し、下位
アクセス用の16ビットレジスタ44bにアクセスされ
た場合には、アドレスP0 に1を付与する。
は、CPU20の外部に、32ビットアドレスレジスタ
46および31ビットアドレスレジスタ52を含む。3
2ビットアドレスレジスタ46からは、32ビットのア
ドレスのうちアドレスレジスタP0 を除く31ビットの
アドレスが31ビットアドレスレジスタ52にアクセス
される。また、31ビットアドレスレジスタ52からは
31ビットのアドレスにアドレスP0 を加えた32ビッ
トのアドレスが32ビットアドレスレジスタ46にアク
セスされる。31ビットアドレスレジスタ52からは、
外部のバスとの間で31ビットアドレスが入出力され
る。さらに、32ビットマイクロプロセッサ10から
は、外部のバスを通して32ビットのデータが入出力さ
れる。
コードが外部メモリ47に収納された例について説明す
る。図4ないし図7において、格納コードはテーブルの
アドレスコードである。図4は図1の例の16ビットア
クセスの場合であり、アドレス管理が簡単である。16
ビットアクセスの場合、実アドレスはNである。図5は
図3の例の32ビットアクセスの場合であり、アドレス
管理が複雑である。上位16ビットを実行するかまたは
下位16ビットを実行するかについては、図8に示すよ
うに、プロセッサ内部のアドレスPが偶数か奇数かによ
って管理する。これは、図9に示すように、プロセッサ
内部のアドレスP0 が0か1かによって管理するのと同
じことである。32ビットアクセスの場合、実アドレス
はN/2である。図6は48ビットアクセスの場合であ
り、アドレス管理が複雑である。図10に示すように、
プロセッサ内部のアドレス(P0 ,P1 )が(0,
0),(0,1),(1,0)のいずれかによって、ア
クセス部分が管理される。48ビットアクセスの場合、
実アドレスはN/3である。図7は64ビットアクセス
の場合であり、アドレス管理が複雑である。図11に示
すように、プロセッサ内部のアドレス(P0 ,P1 )が
(0,0),(0,1),(1,0),(1,1)のい
ずれかによって、アクセス部分が管理される。64ビッ
トアクセスの場合、実アドレスはN/4である。このよ
うなアクセス管理が可能なのは、データが圧縮されてい
るからである。
マイクロプロセッサ10は、コード変換部14およびコ
ード逆変換部38を含んだが、外部メモリがROMの場
合には、32ビットマイクロプロセッサ10は、コード
逆変換部38を含まず、コード変換部14のみを含む。
を生成するソフトウェアを作成することが必要である。
必要な第1のプログラムは、実態のプログラムで実際に
使用されているコードを重複することなく検索して、コ
ードの種類の全数を出力する高速ソートプログラムであ
る。この第1のプログラムは、実際に使用されているコ
ードを重複することなく個々に出力するとともに、個々
のコードに対する数も同時に出力する。必要な第2のプ
ログラムは、プロセッサ内部のコード変換部のテーブル
データを生成するプログラムである。この第2のプログ
ラムは、個々のコードをテーブルの先頭アドレスから順
番に対応させる。必要な第3のプログラムは、原始デー
タ(32ビットの命令のコード)から、圧縮データであ
る仮想的(疑似的)コードを決められた実アドレスに格
納するプログラムである。この第3のプログラムは、プ
ロセッサ内部のテーブルからバイナリーサーチして、所
定のアドレスにあるコードがテーブルの先頭から何番目
にあるかを検出して、そのアドレスコードを所定の実ア
ドレスに格納する。
ト管理を示すブロック図である。プログラムが大きい
と、セグメント管理を行う必要がある場合があり、プロ
グラムはたとえば(m+1)個のセグメント54に分割
される。分割されたセグメント54は、マイクロプロセ
ッサ内部のセグメントレジスタ56によって制御され
る。また、セグメントレジスタ56は、たとえば8ビッ
ト〜9ビットである。
の数xがnビットで表せるとすると、x=2n (n=l
ogx/log2)で圧縮率n/32となる。図14は
n=16の場合のセグメント54のセグメントサイズと
同一命令の平均数(または同一オブジェクトコードの平
均容量)との関係を示すグラフである。また、図15は
n=13の場合のセグメント54のセグメントサイズと
同一命令の平均数(または同一オブジェクトコードの平
均容量)との関係を示すグラフである。図16はn=1
0の場合のセグメント54のセグメントサイズと同一命
令の平均数(または同一オブジェクトコードの平均容
量)との関係を示すグラフである。同一命令の平均数
が、たとえば32〜64であるとき、同一オブジェクト
コードの平均容量は、128B〜256Bである。この
とき、n=16の場合、図14に示すように、セグメン
ト54のセグメントサイズは、8MB〜16MBであ
る。また、n=13の場合、図15に示すように、セグ
メント54のセグメントサイズは、1MB〜2MBであ
る。さらに、n=10の場合、図16に示すように、セ
グメント54のセグメントサイズは、1/8MB〜1/
4MBである。このようにnが小さく、圧縮率n/32
が小さいほど、分割されたセグメント54のセグメント
サイズは小さくなる。
われている種類の数によって異なってくる。一般に、オ
ブジェクトコードの種類の数xがnビットで表せるとす
ると、x=2n (n=logx/log2)で圧縮率n
/32となる。図12はオブジェクトコードの種類の数
xのビット数nと圧縮率n/32との関係を示すグラフ
である。図12中の数字は、順に、「圧縮率」(「コー
ド変換部の長さ」):「必要なメモリ容量」を示す。た
とえば、オブジェクトコードの種類の数xが16ビット
で表せるとすると、x=216=65536で圧縮率1/
2となる。予測としては、オブジェクトコードの種類の
数xは必ずこの範囲に入る。また、オブジェクトコード
の種類の数xが20ビットで表せるとすると、x=220
=1048576で圧縮率5/8(62.5%)とな
る。オブジェクトコードの種類の数xがこの範囲になる
ことはあり得ないと考えられる。さらに、オブジェクト
コードの種類の数xが12ビットで表せるとすると、x
=212=4096で圧縮率3/8(37.5%)とな
る。予測としては、オブジェクトコードの種類の数xは
この範囲に入る可能性が高い。
きく圧縮されるが、32ビットマイクロプロセッサにつ
いて圧縮シミュレーションを行ったところ、15通りの
シミュレーションに対し、圧縮率は、25.000%,
25.000%,25.000%,25.000%,2
5.000%,25.000%,31.250%,3
4.375%,37.500%,40.625%,4
3.750%,34.375%,40.625%,4
6.875%,46.875%となった。
きく、たとえば30%〜40%に圧縮される。現在、デ
ジタルデータ処理装置は、8ビットから16ビットへ、
16ビットから32ビットへと発展してきており、近い
将来、32ビットが主流になると思われる。そのため、
外部メモリ容量が、大きく圧縮されることによる効果は
特に大きい。また、圧縮されたコードを瞬間的に伸長す
ることができる。さらに、アクセスの遅いメモリが高速
に使える上に、ローパワーなメモリが構成できる。その
ため、低コストのデジタルデータ処理装置が得られる。
すなわち、低電力で高速なシステムを実現することがで
きるデジタルデータの圧縮/伸長方式を有するデジタル
データ処理装置が得られる。
ナルコンピュータ,ワードプロセッサ,携帯情報端末,
デジタルシグナルプロセッサ,コンピュータ等のデジタ
ルデータ処理装置に適用でき、パーソナル・デジタル・
アシスタンス(PDA)のNewton(登録商標)等
様々な商品に適用できる。また、この発明は、16ビッ
トマイクロプロセッサおよび16ビットマイコンにも適
用できる。さらに、この発明は、書き変え可能ROM内
蔵マイクロプロセッサおよび書き変え可能ROM内蔵マ
イコンにも応用できる。このように、コード変換部14
を書き変え可能ROMとすることによって、コード変換
部14を自由に書き変えられ、コンピュータシステムと
してのコンピュータセキュリティにつながる。この発明
によれば、同容量のメモリに対して、約2倍の機能(プ
ログラム)を実現でき、同程度の機能(プログラム)に
対して、約1/2倍の容量のメモリを使用できる。
14を書き変え可能ROMとすることによって、マイク
ロプロセッサを変えても、コード変換部14を書き変え
さえすれば、同じ機能が実現できるので、インストラク
ションインディペンデントなマイクロプロセッサを実現
できる。同様に、この発明によれば、コード変換部14
を書き変え可能ROMとすることによって、インストラ
クションを変えても、コード変換部14を書き変えさえ
すれば、同じ機能が実現できるので、プロセッサインデ
ィペンデントなソフトウェアを実現でき、他のマイクロ
プロセッサのソフトウェアリソースにすることが可能と
なる。さらに、この発明によれば、コード変換部14を
用いることによって、CISC(Complex In
struction Set Computer)命令
をRISC(Reduced Instruction
Set Computer)命令に変換して実行する
ことができる。すなわち、CISC命令で書かれたソフ
トウェアをRISC命令で走らせることも可能となる。
に係るものであるが、デジタルデータ処理装置には、デ
ジタル信号処理装置も含まれる。
依存性(予測値)を示すグラフである。プロセッサビッ
ト長Mが8ビット長の場合、圧縮率n/Mは、7/8〜
8/8であり、約90%〜100%とほとんど圧縮効果
は出ない。また、プロセッサビット長Mが16ビット長
の場合、圧縮率n/Mは、9/16〜11/16であ
り、約60%〜約70%である。プロセッサビット長M
が32ビット長の場合、圧縮率n/Mは、12/32〜
16/32であり、約40%〜50%である。また、プ
ロセッサビット長Mが64ビット長の場合、圧縮率n/
Mは、19/64〜24/64であり、約30%〜約4
0%である。このように、プロセッサビット長Mが大き
くなるに従って、圧縮率n/Mは小さくなる。
マイクロプロセッサ11内にコード変換部14が形成さ
れたが、外部メモリにコード変換部が形成されてもよ
い。図18はコード変換部14を含む半導体メモリ装置
を示すブロック図である。このように、外部メモリ47
にコード変換部14を形成した場合、コード変換部14
にフラッシュメモリ,FRAM(強誘電体RAM)を集
積することによって、コード変換部14を書き変え可能
ROMとすることが可能になる。コード変換部14を自
由に書き変えられるということは、メモリとしてのコン
ピュータセキュリティにつながる。
納される実コード(プログラムやデータ)は、すべて仮
想コードに圧縮された後、コード変換部14によって、
実コードに変換される。すなわち、上述の各々の例は、
コード変換部14の大きさを固定しないで、実コードを
復元させる場合であって、完全な実現性と柔軟性とを有
しており、実用上、ほとんどの場合、コード変換部14
の大きさを固定しない方法が用いられる。
される場合があり、この場合にも、この発明を適用でき
る。以下に、コード変換部14の大きさが固定される場
合について説明する。コード変換部14の大きさを固定
したために、実コードに変換できない非圧縮コードがあ
る場合に有効である。例えば、決められた大きさのコー
ド変換部14で実コードに変換できないプログラムやデ
ータの追加を行うような場合である。
される場合を説明するためのメモリイメージの例を示す
図である。図19(A)に示す例では、アドレス長Nの
部分においては、コードは16ビット長であり、1/2
に圧縮されているが、アドレス長xの部分においては、
コードは32ビット長であり、非圧縮のままである。図
19(A)に示す状態のままでは、実行処理が困難であ
るので、図19(B)および図19(C)に示すよう
に、アドレス長をN/2として、16ビットの仮想コー
ドを横に並べて、32(16×2)ビットの外部メモリ
47が構成される。このように、16ビットの仮想コー
ドを横に並べて、32(16×2)ビットの外部メモリ
47が構成されるのは、図5に示す例と同様である。こ
のとき、アドレス長N/2の空きアドレススペースが生
じるが、図19(B)に示す例では、アドレス長xの部
分のアドレスが変化していない。それに対し、図19
(C)に示す例では、アドレス長N/2の空きアドレス
スペースをなくし、アドレス長(N/2+x)の連続ア
ドレスとしている。
ドレス管理を示すフロー図であり、図20(B)は図1
9(C)に示す例のアドレス管理を示すフロー図であ
る。図20(A)および図20(B)に示すフロー図の
点線内のフローチャートは、図9に示すフローチャート
と同じである。図20(A)に示すフロー図と図9に示
すフロー図との異なる部分は、「P>N」の判定部と
「P→P′」の部分であり、図20(B)に示すフロー
図と図9に示すフロー図との異なる部分は、「P>N」
の判定部と「P−N/2→P′」の部分である。
10は、外部メモリ47から出力される命令(仮想的コ
ード)の入力部に、16ビットレジスタ12を有してい
る。また、図3に示す32ビットマイクロプロセッサ1
0は、外部メモリ47から出力される命令(仮想的コー
ド)の入力部に、16ビットレジスタ12a,12bを
有している。すなわち、図1および図3に示す32ビッ
トマイクロプロセッサ10は、レジスタを有し、レジス
タ制御が行われている。しかし、命令実行の並列性を高
め、高速で処理するために、パイプライン制御すること
も可能である。パイプライン制御とは、機械命令の実行
をオーバーラップさせて行う方式であり、命令実行の並
列性を高め、処理の高速化を図ることができ、高性能マ
イクロプロセッサ等で用いられている。
は、外部メモリ47から出力される命令(仮想的コー
ド)が16ビットで構成されているため、次々とパイプ
ラインに流れて行く。それに対して、図3に示す例で
は、命令(仮想的コード)が32ビットで構成されてい
るため、2つの16ビット命令が入力される。このと
き、外部からのフェッチ動作では、2つの16ビット命
令が読み込まれるが、1つの16ビット命令がパイプラ
インに流れ、他の1つの命令は、16ビット分のプリフ
ェッチバッファになっている16ビットのラッチに書き
込まれる。そして、次のフェッチ動作で、この書き込ま
れた16ビット命令が、即時実行可能となる。すなわ
ち、2つの16ビット命令が入力された場合、2つの命
令ごとに1回しか外部メモリ47をアクセスしないの
で、さらに高速処理が可能となる。ここで説明した例
は、図1および図3で図示されているレジスタ制御の部
分に対して、パイプライン制御による手段を用いた構成
である。
ROMがコード変換部14として用いられている。な
お、ROMの代わりに、AND/OR回路によるハード
ワイヤードロジックを用いてもよい。次に、RAMがコ
ード変換部14として用いられ例について説明する。
図であり、図22は図21に示す例の変形例を示すブロ
ック図である。図21に示す例では、32ビットマイク
ロプロセッサ10は、外部記憶装置58,外部メモリ4
7およびCPU20を含む。2次記憶装置とも呼ばれる
外部記憶装置58には、ハードディスクシステムやフロ
ッピーディスクシステムのように、複数のプログラムが
仮想コード化されて格納されている。そして、外部記憶
装置58に、各々のプログラム#1,プログラム#2,
・・・,プログラム#mが、それぞれに対応するコード
変換部60と共に格納されている。この例では、外部メ
モリ47内にコード変換部14が形成され、このコード
変換部14はRAMである。また、CPU20は、パイ
プライン62,命令デコーダ64,レジスタグループ2
8,乗算器30およびキャシュメモリ32などを含む。
ク装置やフロッピーディスク装置に限らず、メモリディ
スクと呼ばれる半導体メモリの他、固定記憶のM−RO
M(Mask Rom),書き変え可能なフラッシュメ
モリ,強誘電体メモリなどが用いられる。
スクシステムでは、主記憶装置とも呼ばれる外部メモリ
との間でプログラム(ジョブ)やデータの入出力が行わ
れる。そして、プログラムやデータの入出力に際して、
スワッピング(スワップイン,スワップアウト)という
制御手段がしばしば用いられる。このスワッピング手法
は、従来からよく知られている。スワッピングとは、主
記憶装置と2次記憶装置との間でジョブの入出力を行う
ことをいう。主記憶装置上に存在するジョブを2次記憶
装置上に書き出すことをスワップアウトといい、2次記
憶装置上に存在するジョブを主記憶装置内に読み込むこ
とをスワップインという。
格納された各プログラム#1,#2,・・・,#mが個
々にRAMである外部メモリ47にスワップインされる
とともに、各プログラムに対応するコード変換部60も
外部メモリ47内のコード変換部14にスワップインさ
れる。スワップインされたのち、外部メモリ47とCP
U20との間で、個々のプログラムが上述の方法で実行
処理される。外部記憶装置58に格納される情報がデー
タである場合には、外部メモリ47から仮想コードが、
外部記憶装置58にコード変換部14と共にスワップア
ウトされる。
コード変換部14が形成されるのに対し、図22に示す
例では、CPU20内にコード変換部14が形成され
る。また、CPU20内に形成されるコード変換部14
もRAMである。図22に示す例では、外部記憶装置5
8に格納された各プログラム#1,#2,・・・,#m
が個々にRAMである外部メモリ47にスワップインさ
れるとともに、各プログラムに対応するコード変換部6
0もCPU20内のコード変換部14にスワップインさ
れ、上述の方法で実行処理される。図21および図22
に示す例では、外部記憶装置58と外部メモリ47との
間のダウンロードによる実行処理にも対応できる。
部14を示すブロック図である。外部メモリ47のN・
lのデータが、外部メモリ47のn・Nのデータとコー
ド変換部14の2n ・lのデータとの和に圧縮されるこ
ととなる。すなわち、下の数式(1)が成立するとき
に、圧縮効果を有することとなる。
有するオブジェクトコードに対して、圧縮効果を有する
こととなる。
モリと第1次圧縮用のコード変換部とを示すブロック図
である。第1次圧縮の場合、図23に示すように、外部
メモリ47のN・lのデータが、外部メモリ47のn・
Nのデータとコード変換部14の2n ・lのデータとの
和に圧縮されることとなる。さらに、第1次圧縮後、第
2次圧縮して、nビットのデータをkビット圧縮し、
(n−k)ビットに圧縮すると、外部メモリ47のN・
lのデータが、外部メモリ47の(n−k)・Nのデー
タとコード変換部14の2n ・lのデータとの和に圧縮
されることとなる。下の数式(3)が成立すると仮定す
る。
合があると仮定すると、N=2n となる場合があり得
る。すなわち、このことは、アドレス長Nが2nで、ビ
ット長nのメモリを外部にもつことがあることを示して
いる。
リ47,第1次圧縮用のコード変換部14aおよび第2
次圧縮用のコード変換部14bを示すブロック図であ
る。
上の評価について述べる。圧縮を対象とするコードの種
類の数をx(最大値)としたとき、第1次圧縮では、x
≦2n (n:整数でn<l)を満足するnの最小値まで
外部メモリを削減することができる。lビット長をもつ
コード変換部において、その長さ2n に対して、アドレ
ス長がNで、ビット長がlで、外部メモリの総容量Nl
が同一であっても、2n の長さを必要としないコード集
合が存在する。このことは、第2次圧縮において、外部
メモリのビット幅nをさらにkビット圧縮できる可能性
があることを示している。nビット長の外部メモリから
(n−k)ビット長をもつ外部メモリにあるコードに2
次圧縮した場合、コードの種類は(x−α)になるか
ら、下の数式(5)が成立する。
能で、外部メモリをk・Nビット削減できる可能性があ
る。このことを数式化すると、下の数式(7)が成立す
る。
示すと下の数式(8)となる。
(9)が成立する。
k)・Nより下の数式(10)が成立する。
の数式(11)が成立する。
の数式(12)が成立する。
の数式(13)が成立する。
の数式(14)が成立する。
の数式(15)が成立する。
率n/lから、さらにkビットだけ第2次圧縮できる可
能性があることを示している。ただし、第2次圧縮でき
るアドレス長Nには、下限と限界とがある。それは、k
に対して、数式(9),(10),(11)で示される
アドレス長Nの下限または限界である。図26に示すよ
うに、kが大きくできる場合には、アドレス長Nの下限
または限界は小さくなり、kが小さい場合には、アドレ
ス長Nの下限または限界は大きくなる。
る可能性を示すと、以下のようになる。
6)となる。
たがって、下の数式(17)が成立するアドレス長Nが
下限となり、このときの圧縮率はn/lである。
第2次圧縮を加えたときのアドレス長Nと第2次圧縮ビ
ット長kとの関係を示すグラフである。図27に示すよ
うに、第1次圧縮に続いて、さらに第2次圧縮できる可
能性がある。さらに、第3次圧縮,第4次圧縮,第5次
圧縮,・・・,第i次圧縮,・・・と続け、高次圧縮す
ると、計算上は限りなく、限界のアドレス長N=2n を
もつ外部メモリの容量まで圧縮が可能なことを図27は
示している。なお、図27において、第1次圧縮と第2
次圧縮との境界は、マイクロプロセッサのビット長lが
大きくなれば、下方に変化する。
す。
9)が用いられる。
イクロプロセッサになるに従って、第1次圧縮の圧縮領
域が大きくなり、コード圧縮の効果が大きい。実用的に
は、第1次圧縮で十分な圧縮率が得られ、外部メモリの
容量を圧縮できる。表1から明らかなように、lビット
長のマイクロプロセッサにおいて、第2次圧縮を加える
ことによって、さらにkビットだけ外部メモリを圧縮す
ることができる。たとえば、ビット長l=32の場合、
32ビットマイクロプロセッサとなるが、k=2とな
り、さらに2ビット圧縮できることとなるので、(n−
2)に圧縮できる。32ビットマイクロプロセッサの実
験例では、n=16であるから、第2次圧縮を加えるこ
とによって、外部メモリメモリのビット幅を14ビット
にできる可能性が高い。
縮の場合の圧縮効果をもつアドレス長Nの下限を表2に
示す。
第1次圧縮の場合であるから、下の数式(20)が成立
する。
ットマイクロプロセッサの第1次圧縮の場合には、下の
数式(21)が成立する。
縮の場合の圧縮効果をもつアドレス長Nの下限を表3に
示す。
第2次圧縮の場合であるから、下の数式(22)が成立
する。
の64ビットマイクロプロセッサの第2次圧縮の場合に
は、下の数式(23)が成立する。
ス長Nとnとの関係を示すグラフである。図28におい
て、実線はf(0)≧f(k)の場合を示し、点線はf
(0)≦f(k)の場合を示す。このように、f(0)
≦f(k)となる場合があるが、それはマイクロプロセ
ッサのビット長に依存する。また、32ビットマイクロ
プロセッサの場合、k=2のとき、l=32でn=16
となる。
は接点cを数値化した例を表4に示す。
ッサにおいて、以下のようになる。 (1)l=16のとき、n=8は3≦n≦13の中点と
なる。 (2)l=32のとき、n=16は3≦n≦29の中点
となる。 (3)l=48のとき、n=24は11≦n≦37の中
点となる。 (4)l=64のとき、n=32は10≦n≦54の中
点となる。 (5)l=96のとき、n=48は9≦n≦87の中点
となる。 (6)l=128のとき、n=64は33≦n≦95の
中点となる。 (7)l=256のとき、n=128は27≦n≦22
9の中点となる。 (8)l=512のとき、n=256は75≦n≦43
7の中点となる。 (9)l=640のとき、n=320は73≦n≦56
7の中点となる。
メモリが圧縮され、その後第2次圧縮を加えることによ
って得られるメモリイメージの例を示す図である。プロ
グラムまたはデータは、通常複数個からなっている場合
が多く、図29に示すように、さらにkビットの第2次
圧縮が可能なN2 やN4 のアドレス領域が存在する。ま
た、第2次圧縮以上の高次圧縮が可能なアドレス領域が
存在する場合もある。しかし、実用上では、ビット幅n
のメモリによって設計される。
イクロプロセッサ10を示すブロック図である。
ドが圧縮される状態を示す概念図である。
イクロプロセッサ10を示すブロック図である。
された一例を示すメモリイメージ図である。
された他の例を示すメモリイメージ図である。
されたさらに他の例を示すメモリイメージ図である。
された別の例を示すメモリイメージ図である。
すフロー図である。
すフロー図である。
示すフロー図である。
示すフロー図である。
nと圧縮率n/32との関係を示すグラフである。
すブロック図である。
イズと同一命令の平均数(または同一オブジェクトコー
ドの平均容量)との関係を示すグラフである。
イズと同一命令の平均数(または同一オブジェクトコー
ドの平均容量)との関係を示すグラフである。
イズと同一命令の平均数(または同一オブジェクトコー
ドの平均容量)との関係を示すグラフである。
測値)を示すグラフである。
ブロック図である。
明するためのメモリイメージの例を示す図である。
理を示すフロー図であり、(B)は図19(C)に示す
例のアドレス管理を示すフロー図である。
ある。
ク図である。
次圧縮用のコード変換部とを示すブロック図である。
圧縮用のコード変換部および第2次圧縮用のコード変換
部を示すブロック図である。
を示す図である。
を加えたときのアドレス長Nと第2次圧縮ビット長kと
の関係を示すグラフである。
との関係を示すグラフである。
縮され、その後第2次圧縮を加えることによって得られ
るメモリイメージの例を示す図である。
Claims (13)
- 【請求項1】 メモリと、 重複するコードに仮想的コードを割り振り、前記仮想的
コードを実コードに変換するコード変換部であって、前
記コード変換部はアドレス部と命令部とを有し、前記メ
モリがデータ伝達経路を介して前記コード変換部にアド
レスを発する、コード変換部と、 前記コード変換部の前記命令部から命令を受ける中央処
理装置と、 命令部とアドレス部を有するコード逆変換部であって、
前記中央処理装置は前記コード変換部の命令部に接続
し、前記コード逆変換部は前記命令をデータ伝達経路を
介して前記メモリに対して出力されるアドレスに変換す
るコード変換部を含むことを特徴とする、デジタルデー
タ処理装置。 - 【請求項2】 前記中央処理装置が前記コード変換部を
含む、請求項1のデジタルデータ処理装置。 - 【請求項3】 前記メモリは外部メモリであり、前記外
部メモリは前記コード変換部を含む、請求項1のデジタ
ルデータ処理装置。 - 【請求項4】 前記コード変換部は書き変え可能ROM
である、請求項2のデジタルデータ処理装置。 - 【請求項5】 前記コード変換部は書き変え可能ROM
である、請求項3のデジタルデータ処理装置。 - 【請求項6】 前記コード変換部はRAMである、請求
項2のデジタルデータ処理装置。 - 【請求項7】 前記コード変換部はRAMである、請求
項3のデジタルデータ処理装置。 - 【請求項8】 前記中央処理装置はマイクロプロセッサ
である、請求項2のデジタルデータ処理装置。 - 【請求項9】 前記外部メモリは半導体メモリである、
請求項3のデジタルデータ処理装置。 - 【請求項10】 前記メモリには、複数のプログラムが
格納され、前記メモリは、前記コード変換部によって、
第1次圧縮したのち、さらに、高次圧縮できるプログラ
ムを含む、請求項1のデジタルデータ処理装置。 - 【請求項11】 前記メモリには、複数のデータが格納
され、 前記メモリは、前記コード変換部によって、第1次圧縮
したのち、さらに、高次圧縮できるデータを含む、請求
項1のデジタルデータ処理装置。 - 【請求項12】 前記コード変換部は、データの重複す
るコードに対して前記仮想コードを割り振り、前記仮想
コードを実コードに変換する、請求項1のデジタルデー
タ処理装置。 - 【請求項13】 前記コード変換部は、プログラムの重
複するコードに対して前記仮想コードを割り振り、前記
仮想コードを実コードに変換する、請求項1のデジタル
データ処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP02455196A JP3310525B2 (ja) | 1995-06-01 | 1996-01-17 | デジタルデータ処理装置 |
US08/655,758 US5799138A (en) | 1995-06-01 | 1996-05-30 | Apparatus for instruction-word-linK compression |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7-159853 | 1995-06-01 | ||
JP15985395 | 1995-06-01 | ||
JP02455196A JP3310525B2 (ja) | 1995-06-01 | 1996-01-17 | デジタルデータ処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0951276A JPH0951276A (ja) | 1997-02-18 |
JP3310525B2 true JP3310525B2 (ja) | 2002-08-05 |
Family
ID=26362093
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP02455196A Expired - Fee Related JP3310525B2 (ja) | 1995-06-01 | 1996-01-17 | デジタルデータ処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5799138A (ja) |
JP (1) | JP3310525B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100329063B1 (ko) | 1996-10-25 | 2002-03-18 | 디디어 레묀 | 마이크로컨트롤러를 이용한 고급 프로그래밍 언어 사용 |
JPH10326224A (ja) * | 1997-05-27 | 1998-12-08 | Nec Corp | ディジタル・シグナル・プロセッサ |
SE9704476L (sv) * | 1997-12-02 | 1999-06-23 | Ericsson Telefon Ab L M | Utökad instruktionsavkodning |
US6661421B1 (en) * | 1998-05-21 | 2003-12-09 | Mitsubishi Electric & Electronics Usa, Inc. | Methods for operation of semiconductor memory |
JP3703337B2 (ja) * | 1999-06-30 | 2005-10-05 | キヤノン株式会社 | 画像通信装置及び画像通信方法 |
GB2366643B (en) * | 2000-05-25 | 2002-05-01 | Siroyan Ltd | Methods of compressing instructions for processors |
JP5577881B2 (ja) * | 2010-06-23 | 2014-08-27 | セイコーエプソン株式会社 | プリペイドカード処理装置、プリペイドカード処理装置の処理方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59148467A (ja) * | 1983-02-14 | 1984-08-25 | Canon Inc | デ−タ圧縮装置 |
JPS6133546A (ja) * | 1984-07-25 | 1986-02-17 | Nec Corp | 情報処理装置 |
US4760461A (en) * | 1986-02-28 | 1988-07-26 | Kabushiki Kaisha Toshiba | Binary data compression and expansion processing apparatus |
US5216518A (en) * | 1990-09-04 | 1993-06-01 | Canon Kabushiki Kaisha | Image processing method and apparatus for encoding variable-length data |
JP3012698B2 (ja) * | 1991-01-29 | 2000-02-28 | オリンパス光学工業株式会社 | 画像データの符号化装置および符号化方法 |
US5574834A (en) * | 1992-01-09 | 1996-11-12 | Matsushita Graphic Communications Systems, Inc. | Image communication system for following a communication procedure to simultaneously transmit image code data |
-
1996
- 1996-01-17 JP JP02455196A patent/JP3310525B2/ja not_active Expired - Fee Related
- 1996-05-30 US US08/655,758 patent/US5799138A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0951276A (ja) | 1997-02-18 |
US5799138A (en) | 1998-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240211252A1 (en) | Computer processor for higher precision computations using a mixed-precision decomposition of operations | |
US8713080B2 (en) | Circuit for compressing data and a processor employing same | |
US9298457B2 (en) | SIMD instructions for data compression and decompression | |
US5995747A (en) | Three input arithmetic logic unit capable of performing all possible three operand boolean operations with shifter and/or mask generator | |
US11836368B2 (en) | Lossy data compression | |
US6032170A (en) | Long instruction word controlling plural independent processor operations | |
US5960465A (en) | Apparatus and method for directly accessing compressed data utilizing a compressed memory address translation unit and compression descriptor table | |
US7898550B2 (en) | System and method for memory bandwidth compressor | |
US20140208068A1 (en) | Data compression and decompression using simd instructions | |
KR20100122493A (ko) | 프로세서 | |
US11461095B2 (en) | Method and device for floating point representation with variable precision | |
JP3729540B2 (ja) | 画像処理装置 | |
US20190042261A1 (en) | Systems and methods for performing horizontal tile operations | |
JP3310525B2 (ja) | デジタルデータ処理装置 | |
US6173305B1 (en) | Division by iteration employing subtraction and conditional source selection of a prior difference or a left shifted remainder | |
JP3201716B2 (ja) | コンピュータ装置 | |
US6308249B1 (en) | Storing data in a grey code system | |
WO2023239452A1 (en) | Application process context compression and replay | |
US7647368B2 (en) | Data processing apparatus and method for performing data processing operations on floating point data elements | |
CN114661227A (zh) | 通过使用忘记存储来增加每核存储器带宽 | |
JP2002171525A (ja) | ビットプレーン演算命令を備えたsimd型演算装置 | |
JPH10105672A (ja) | コンピュータ及びそれに使用する演算機能付きメモリ集積回路 | |
KR970029125A (ko) | 양자화/역양자화 공유 처리기 | |
JPH11187274A (ja) | 符号化方法及び装置とそれを適用した画像処理装置 | |
JPH08139939A (ja) | 圧縮伸長装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080524 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090524 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100524 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110524 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |