JP2003186668A - 命令コード変換ユニットおよび命令コード変換方法 - Google Patents

命令コード変換ユニットおよび命令コード変換方法

Info

Publication number
JP2003186668A
JP2003186668A JP2001381987A JP2001381987A JP2003186668A JP 2003186668 A JP2003186668 A JP 2003186668A JP 2001381987 A JP2001381987 A JP 2001381987A JP 2001381987 A JP2001381987 A JP 2001381987A JP 2003186668 A JP2003186668 A JP 2003186668A
Authority
JP
Japan
Prior art keywords
code
instruction
instruction code
conversion
conversion unit
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
JP2001381987A
Other languages
English (en)
Inventor
Yasuhiro Nunomura
泰浩 布村
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
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2001381987A priority Critical patent/JP2003186668A/ja
Priority to US10/163,452 priority patent/US6871274B2/en
Publication of JP2003186668A publication Critical patent/JP2003186668A/ja
Pending 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
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30185Instruction operation extension or modification according to one or more bits in the instruction, e.g. prefix, sub-opcode

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】 圧縮命令コードを用いてプログラムの容量を
小さくする。 【解決手段】 プロセッサ120は、圧縮された命令コ
ードに含まれるインデックスを非圧縮命令コードに変換
するためのテーブルを記憶する変換テーブル記憶ユニッ
ト302と、圧縮された命令コードを受信すると、受信
した命令コードの中からインデックスとパラメータとを
抽出し、抽出されたインデックスを非圧縮命令コードに
変換し、変換された非圧縮命令コードにパラメータを組
込んで命令コードを復元し、復元された命令コードを、
命令デコードユニット240に送信する変換ユニット3
04とを含む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プロセッサとメモ
リとを備えるコンピュータにおいて命令を実行するため
の技術に関し、特に、少ないプログラム容量および少な
いメモリ容量で、所望のプログラムを実現する技術に関
する。
【0002】
【従来の技術】特開平8−328817号公報は、主記
憶装置からの読出し回数を減少させて、処理を高速化す
るコンピュータシステムを開示する。このコンピュータ
システムは、プロセッサと、このプロセッサが用いる命
令コードおよびデータを記憶する記憶回路と、この記憶
回路から読出した命令コードおよびデータを伸張して圧
縮前の命令コードおよびデータに戻すデータ伸張回路と
を含み、記憶回路には、命令コードおよびデータが圧縮
されて記憶されている。
【0003】記憶回路は、ハフマン符号化処理などの圧
縮処理を用いて圧縮された命令コードおよびデータを記
憶する。データ伸張回路は、圧縮前の命令コードと圧縮
後の命令コードとが1対1に対応するコード変換テーブ
ルを記憶する。プロセッサがフェッチ動作を行なうと、
記憶回路から圧縮された命令コードが読出される。デー
タ伸張回路は、圧縮された命令およびコード変換テーブ
ルに基づいて、圧縮前の命令コードをその命令コードと
1対1に対応する圧縮前の命令コードに戻す。プロセッ
サは、データ伸張回路から圧縮前の命令コードを受取
り、命令デコーダに命令コードをデコードさせて、その
命令を実行する。これにより、記憶回路に圧縮されて記
憶されている命令コードおよびデータは、伸張されて圧
縮前の命令コードおよびデータに戻され、プロセッサに
与えられる。記憶回路からは圧縮された状態で命令コー
ドが読出され、一度に読出すことができる命令コードの
数を多くできる。したがって、記憶回路からの読出し速
度が遅い場合でも、1つの命令コードは従来よりも高速
で読出され、全体の処理速度を高速化することができ
る。また、圧縮によるプログラム容量の縮小により、プ
ログラムを格納するための記憶回路の容量を削減するこ
とが可能となり、圧縮しない場合に比べて、同等の機能
を実現するためのシステムコストを抑えることが可能と
なる。
【0004】
【発明が解決しようとする課題】しかしながら、上述の
公報に記載されたコンピュータシステムでは、圧縮され
ていない命令コードと圧縮された命令コードとが1対1
に対応するように、コード変換テーブルが記憶される。
たとえば、100個の命令コードがあれば、コード変換
テーブルには、100個のエントリがあり、100個の
圧縮前の命令コードが記憶される。このコンピュータシ
ステムは、このコード変換テーブルを記憶するメモリの
容量が大きくなるという欠点を有する。
【0005】本発明は、上述の課題を解決するためにな
されたものであって、大きな記憶回路を必要としない
で、圧縮された命令コードを用いてプログラム容量を小
さくできる命令コード変換ユニットおよび命令コード変
換方法を提供することである。
【0006】
【課題を解決するための手段】第1の発明に係る命令コ
ード変換ユニットは、第1のコードをそれよりもビット
長の長い第2のコードに変換して、当該第2のコードを
含む命令コードを作成する。この命令コード変換ユニッ
トは、第1のコードを第2のコードに変換するための情
報を記憶するための記憶手段と、記憶手段に接続され、
第1のコードおよび第3のコードを受信し、第1のコー
ドと記憶された情報とに基づいて、第1のコードを第2
のコードに変換し、受信した第3のコードとに基づいて
第4のコードを決定し、第2および第4のコードを含ん
だ命令コードを作成するための変換手段とを含む。
【0007】第1の発明によると、記憶手段に記憶され
る情報を用いて、第1のコードを第2のコードに変換で
きる。第1のコードと第3のコードとを受信すると、変
換手段が第1のコードを第2のコードに変換し、変換さ
れた第2のコードと第3のコードとに基づいて命令コー
ドを作成する。第1のコードは第2のコードよりも短い
ため、第1のコードを用いてプログラムを記述すると、
短いプログラムで所望の動作を実現できる。命令コード
は第2のコードに第4のコードを加えたものである。た
とえば、この第4のコードは、第2のコードに対応する
パラメータとすることができる。そのようにすると、従
来は、命令コード毎に第1のコードを対応付けて記憶し
ていたが、命令コードの一部をパラメータで置き換え
て、複数の命令コードを、共通する1つの第2のコード
で表わすことができる。このようにすると、記憶手段が
記憶する、第1のコードを第2のコードに変換するため
の情報を少なくすることができる。その結果、大きな記
憶回路を必要としないで、圧縮された命令コードを用い
てプログラム容量を小さくできる命令コード変換ユニッ
トを提供することができる。
【0008】第2の発明に係る命令コード変換ユニット
は、第1の発明の構成に加えて、変換手段は、変換され
た第2のコードの予め定められた位置に、受信した第3
のコードをそのまま第4のコードとして組込むことによ
り、命令コードを作成するための手段を含む。
【0009】第2の発明によると、変換手段は、変換さ
れた第2のコードの予め定められた位置に、受信した第
3のコード(たとえば、読出し命令に対する読出しデー
タのアドレスまたはオフセット量を示すパラメータ)を
組込むことにより、命令コードを作成できる。
【0010】第3の発明に係る命令コード変換ユニット
は、第2の発明の構成に加えて、予め定められた位置を
表わす位置データを記憶するための位置記憶手段をさら
に含む。
【0011】第3の発明によると、命令コード変換ユニ
ットは、位置記憶手段に記憶された位置データに基づい
て、受信した第3のコードを第2のコードに組込んで、
命令コードを作成することができる。
【0012】第4の発明に係る命令コード変換ユニット
は、第2の発明の構成に加えて、記憶手段は、第1のコ
ードを第2のコードに変換するために、第2のコードを
第1のコードに対応付けて記憶した変換テーブルと、予
め定められた位置を表わす位置データとを記憶するため
の手段を含む。
【0013】第4の発明によると、変換手段は、記憶手
段に記憶された変換テーブルにより、第1のコードを第
2のコードに変換することができる。変換手段は、さら
に記憶手段に記憶された位置データに基づいて、受信し
た第3のコードを第2のコードに組込んで、命令コード
を作成することができる。
【0014】第5の発明に係る命令コード変換ユニット
は、第2の発明の構成に加えて、第1および第3のコー
ドと、予め定められた位置を表わす位置データとは、共
通のメモリに記憶され、変換手段は、当該共通のメモリ
から第1のコードおよび第3のコードとともに位置デー
タを受けるものである。
【0015】第5の発明によると、変換手段は、受信手
段で受信した位置データに基づいて、第3のコードを第
2のコードに組込んで、命令コードを作成することがで
きる。
【0016】第6の発明に係る命令コード変換ユニット
は、第1の発明の構成に加えて、第3のコードに対応付
けてデータを記憶するためのデータ記憶手段をさらに含
む。変換手段は、受信した第3のコードに対応するデー
タをデータ記憶手段から抽出して、抽出されたデータを
第4のコードとして変換された第2のコードの予め定め
られた位置に組込むことにより、命令コードを作成する
ための手段を含む。
【0017】第6の発明によると、変換手段は、受信し
た第3のコードと対応付けて記憶されたデータをデータ
記憶手段から抽出する。変換手段は、抽出されたデータ
を第4のコードとして第2のコードに組込んで、命令コ
ードを作成することができる。
【0018】第7の発明に係る命令コード変換ユニット
は、第1の発明の構成に加えて、変換手段に接続され、
作成された命令コードを第1のコードに関連付けて一時
的に記憶するための一時記憶手段と、一時記憶手段に接
続され、第1のコードに関連付けられた命令コードが一
時的に記憶されているか否かを判断し、記憶されている
場合には、一時記憶手段から命令コードを読出すように
一時記憶手段を制御するための制御手段とをさらに含
む。
【0019】第7の発明によると、たとえば、一時記憶
手段であるキャッシュメモリに、第1のコードから作成
された命令コードを、第1のコードに関連付けて(たと
えば、第1のコードが記憶されたメモリのアドレスに関
連付けて)記憶する。次に第1のコードを受信したとき
に、その第1のコードに関連付けて記憶された命令コー
ドがキャッシュメモリに記憶されていると、第2のコー
ドに変換することなく、キャッシュメモリから命令コー
ドを読出す。これにより、一時記憶手段に記憶された命
令コードは、変換手段により命令コードが作成されるこ
となく、即座に一時記憶手段から読出される。
【0020】第8の発明の構成に係る命令コード変換方
法は、第1のコードをそれよりもビット長の長い第2の
コードに変換し、当該第2のコードを含む命令コードを
作成する。この命令コード変換方法は、第1のコードを
第2のコードに変換するための情報を準備する準備ステ
ップと、第1のコードと第3のコードとを受信する受信
ステップと、受信ステップにて受信した第1のコードと
準備ステップにて準備された情報とに基づいて、第1の
コードを第2のコードに変換する変換ステップと、受信
ステップにて受信した第3のコードとに基づいて第4の
コードを決定し、第2のコードと第4のコードとを含ん
だ命令コードを作成する作成ステップとを含む。
【0021】第8の発明によると、準備ステップにて準
備された情報を用いて、第1のコードを第2のコードに
変換できる。受信ステップにて第1のコードと第3のコ
ードとを受信すると、変換ステップにて第1のコードを
第2のコードに変換して、作成ステップにて、変換され
た第2のコードと第3のコードとに基づいて命令コード
を作成する。第1のコードは第2のコードよりも短いた
め、第1のコードを用いてプログラムを記述すると、短
いプログラムで所望の動作を実現できる。命令コードは
第2のコードに第4のコードを加えたものである。たと
えば、この第4のコードを、第2のコードに対応するパ
ラメータとすることができる。そのようにすると、従来
は、命令コード毎に第1のコードを対応付けて記憶して
いたが、命令コードの一部をパラメータで置き換えて、
複数の命令コードを、共通する1つの第2のコードで表
わすことができる。このようにすると、準備ステップに
て準備する、第1のコードを第2のコードに変換するた
めの情報を少なくすることができる。その結果、大きな
記憶回路を必要としないで、圧縮された命令コードを用
いてプログラム容量を小さくできる命令コード変換方法
を提供することができる。
【0022】第9の発明の構成に係る命令コード変換方
法は、第8の発明の構成に加えて、作成ステップは、変
換ステップにて変換された第2のコードの予め定められ
た位置に、受信ステップにて受信した第3のコードをそ
のまま第4のコードとして組込むことにより、命令コー
ドを作成するステップを含む。
【0023】第9の発明によると、作成ステップにて、
変換された第2のコードの予め定められた位置に、受信
した第3のコード(たとえば、読出し命令に対する読出
しデータのアドレスまたはオフセット量を示すパラメー
タ)を組込むことにより、命令コードを作成できる。
【0024】第10の発明の構成に係る命令コード変換
方法は、第9の発明の構成に加えて、予め定められた位
置を表わす位置データを準備する位置準備ステップをさ
らに含む。
【0025】第10の発明によると、命令コード変換方
法は、位置準備ステップにて準備された位置データに基
づいて、受信したデータを第2のコードに組込んで、命
令コードを作成することができる。
【0026】第11の発明の構成に係る命令コード変換
方法は、第9の発明の構成に加えて、準備ステップは、
第1のコードを第2のコードに変換するために、第2の
コードを第1のコードに対応付けて記憶した変換テーブ
ルと、予め定められた位置を表わす位置データとを準備
するステップを含む。
【0027】第11の発明によると、変換ステップは、
準備ステップにて準備された変換テーブルにより、第1
のコードを第2のコードに変換することができる。作成
ステップにて、準備ステップにて準備された位置データ
に基づいて、受信したデータを第2のコードに組込ん
で、命令コードを作成することができる。
【0028】第12の発明の構成に係る命令コード変換
方法は、第9の発明の構成に加えて、受信ステップにお
いて、第3のコードとともに、予め定められた位置を表
わす位置データを受信するものである。
【0029】第12の発明によると、作成ステップに
て、受信ステップで受信した位置データに基づいて、受
信した第2のコードに組込む第3のコードを第2のコー
ドに組込んで、命令コードを作成することができる。
【0030】第13の発明の構成に係る命令コード変換
方法は、第8の発明の構成に加えて、第3のコードに対
応付けてデータを準備するデータ準備ステップをさらに
含む。作成ステップは、受信した第3のコードに対応す
るデータを抽出して、抽出されたデータを変換された第
2のコードの予め定められた位置に第4のコードとして
組込むことにより、命令コードを作成するステップを含
む。
【0031】第13の発明によると、作成ステップに
て、受信した第3のコードと対応付けて記憶されたデー
タを抽出する。作成ステップにて、抽出されたデータを
第4のコードとして第2のコードに組込んで、命令コー
ドを作成することができる。
【0032】第14の発明の構成に係る命令コード変換
方法は、第8の発明の構成に加えて、作成ステップにて
作成された命令コードを第1のコードに関連付けて一時
的に記憶する一時記憶ステップと、受信ステップにて受
信した第1のコードに関連付けられた命令コードが一時
的に記憶されているか否かを判断し、記憶されている場
合には、一時記憶ステップにて記憶した命令コードを読
出す読出しステップとをさらに含む。
【0033】第14の発明によると、たとえば、一時記
憶ステップにてキャッシュメモリにデータを一時的に記
憶する。このとき、第1のコードから作成された命令コ
ードを、第1のコードに関連付けて(たとえば、第1の
コードが記憶されたメモリのアドレスに関連付けて)記
憶する。次に第1のコードを受信したときに、その第1
のコードに関連付けて記憶された命令コードがキャッシ
ュメモリに記憶されていると、第2のコードに変換する
ことなく、キャッシュメモリから命令コードを読出す。
これにより、一時的に記憶された命令コードは、変換ス
テップおよび作成ステップにて命令コードが作成される
ことなく、即座に一時記憶ステップにて記憶された命令
コードが読出される。
【0034】
【発明の実施の形態】以下、図面を参照しつつ、本発明
の実施の形態について説明する。以下の説明では、同一
の部品には同一の符号を付してある。それらの名称およ
び機能も同じである。したがってそれらについての詳細
な説明は繰返さない。
【0035】<第1の実施の形態>図1に本発明の実施
の形態に係る命令コード変換ユニットを含むプロセッサ
の構成を示す。プロセッサは単体半導体チップで構成さ
れた中央演算装置(CPU)に実装されるもので、パー
ソナルコンピュータ、通信機器(携帯電話など)、携帯
端末、電子手帳、情報家電およびAV機器(ディジタル
カメラ、ディジタルビデオカメラ、DVDプレーヤな
ど)、ゲーム機、OA機器(プリンタなど)、等のプロ
グラムを実行するコンピュータを内蔵したあらゆるデバ
イスのCPUに適用可能である。
【0036】本発明に係る命令コード変換ユニットは、
その記憶容量を節約するためにメモリに圧縮して記憶し
たプログラムを伸張するものであり、容量あたりのコス
トが高いメモリ(フラッシュメモリ等)を搭載したデバ
イスに特に有効であるが、これに限定されることなく適
用できる。
【0037】図1を参照して、基本的プロセスを実行す
るプロセッサ120の内部構成について説明する。図1
に示すように、プロセッサ120はメモリ122に接続
され、メモリ122に記憶されたプログラムを実行す
る。プログラムは算術演算、論理演算、データのロー
ド、ストア等を指定する種々の命令コードにより構成さ
れる。本発明においては、プログラムの一部の命令を後
述するビット長がその命令コードより短いTRANS命
令により置きかえることにより、プログラムが圧縮され
てメモリ122に記憶される。メモリ122は例えば、
ランダムアクセスメモリまたは不揮発性メモリ(RO
M、フラッシュメモリなど)である。
【0038】プロセッサ120は、次の命令をメモリ1
22から読出すようにバスインターフェイスユニット2
20に指示するプリフェッチユニット200と、メモリ
122において次の命令が保持された位置を仮想アドレ
スから物理アドレスに変換するページングユニット21
0およびセグメントユニット212と、メモリ122と
データを通信するバスインターフェイスユニット220
と、命令デコードユニット240からの命令に基づいて
命令を実行する実行ユニット230と、命令コードを実
行ユニット230が実行できる形式にデコードする命令
デコードユニット240と、メモリ122から読出した
命令コードを変換する変換部300とを含む。変換部3
00は、命令変換ユニットに相当する。なお、仮想アド
レスと物理アドレスの区別がないプロセッサにおいて
は、ページングユニット210およびセグメントユニッ
ト212は不要である。これらは本発明の本質には影響
しない。
【0039】実行ユニット230は、算術演算を実行す
る算術演算ユニット232と、実行ユニット230の作
業メモリとして動作するレジスタ234と、実行ユニッ
トの動作を監視する保護テストユニット236と、実行
ユニット230に含まれるユニットを制御する制御ユニ
ット238とを含む。
【0040】変換部300は、バスインターフェイスユ
ニット220を介してメモリ122から読出した変換テ
ーブルを記憶する変換テーブル記憶ユニット302と、
プリフェッチユニット200からの指示に基づいて、該
当する命令コードを変換テーブルから検索して取出し
て、命令コードを作成する変換ユニット304とを含
む。
【0041】変換ユニット304は、プリフェッチユニ
ット200からの指示に基づいてメモリ122から読出
された命令コードが予め定められた命令コード(後述す
るTRANS命令コード)である場合には、該当する命
令コードを変換テーブルから検索して取出す。変換ユニ
ット304は、取出された命令コードとパラメータとに
基づいて、命令コードを作成して、作成した命令コード
を命令デコードユニット240に入力する。
【0042】図2を参照して、本実施の形態に係る変換
テーブル記憶ユニット302に記憶されるテーブルにつ
いて説明する。図2に示すように、この変換テーブル
は、インデックスにより参照され、個々のインデックス
の値と1対1に対応する非圧縮命令コードとを記憶す
る。インデックスと非圧縮命令コードとの間には、1対
1の関係があるため、インデックスが1つ決まると、必
ず1つの非圧縮命令コードが定まる。
【0043】図3を参照して、本実施の形態に係る命令
コード変換ユニットを含むプロセッサ120で実行され
る命令コード復元処理の制御構造について説明する。
【0044】ステップ(以下、ステップをSと略す。)
100にて、プロセッサ120は、命令変換テーブルを
メモリ122から読込んで、変換テーブル記憶ユニット
302に記憶する。S102にて、プロセッサ120
は、プログラムが実行されるか否かを判断する。プログ
ラムが実行されると判断されると(S102にてYE
S)、処理はS104へ移される。もしそうでないと
(S102にてNO)、処理はS102へ戻され、プロ
グラムが実行されるまで待つ。
【0045】S104にて、プリフェッチユニット20
0は、次の命令コードをメモリ122から取出すように
指示する。S106にて、セグメントユニット212お
よびページングユニット210は、その命令コードが記
憶された仮想アドレスを物理アドレスに変換する。S1
08にて、バスインターフェイスユニット220は、そ
の命令コードをメモリ122から取出して、プリフェッ
チユニット200に送信する。S110にて、プリフェ
ッチユニット200が、受信した命令コードを変換ユニ
ット304に送信する。
【0046】S112にて、変換ユニット304は、プ
リフェッチユニット200から受信した命令コードが、
TRANS命令であるか否かを判断する。受信した命令
コードが、TRANS命令である場合には(S112に
てYES)、処理はS114へ移される。もしそうでな
いと(S112にてNO)、処理はS122へ移され
る。
【0047】S114にて、変換ユニット304は、T
RANS命令から、インデックスとパラメータとを抽出
する。S116にて、変換ユニット304は、抽出した
インデックスに基づいて、変換テーブル記憶ユニット3
02に記憶された変換テーブル(図2)の中から、該当
する非圧縮命令コードを抽出する。S118にて、変換
ユニット304は、抽出された非圧縮命令コードに、パ
ラメータを組込んで命令コードを復元する。このとき、
組込まれるパラメータは、S114においてTRANS
命令から抽出されたパラメータである。また、非圧縮命
令コードにおいて、パラメータが組込まれる位置は、予
め定められている。
【0048】S120にて、変換ユニット304は、復
元された命令コードを命令デコードユニット240に送
信する。
【0049】S122にて、変換ユニット304は、命
令コードを命令デコードユニット240に送信する。こ
のとき命令デコードユニット240に送信される命令コ
ードは、プリフェッチユニット200から変換ユニット
304が受信した命令コードである。
【0050】S124にて、プロセッサ120は、プロ
グラムが終了するか否かを判断する。プログラムが終了
する場合には(S124にてYES)、この命令コード
復元処理は終了する。もしそうでないと(S124にて
NO)、処理はS104へ戻され、次の命令コードにつ
いての処理が行なわれる。
【0051】以上のような構造およびフローチャートに
基づく、プロセッサ120の動作について説明する。
【0052】プロセッサ120は、メモリ122から命
令変換テーブルを読込んで、変換テーブル記憶ユニット
302に記憶する(S100)。プログラムが実行され
ると(S102にてYES)、プリフェッチユニット2
00が、次の命令コードをメモリ122から取出すよう
に指示する(S104)。バスインターフェイスユニッ
ト220が、次の命令コードをメモリ122から取出し
て、プリフェッチユニットに送信する(S108)。
【0053】プリフェッチユニット200に送信された
命令コードは、変換ユニット304に送信され(S11
0)、変換ユニット304は、受信した命令コードが、
TRANS命令であるか否かを判断する(S112)。
命令コードがTRANS命令である場合には(S112
にてYES)、変換ユニット304が、TRANS命令
からインデックスとパラメータとを抽出する(S11
4)。
【0054】図4を参照して、命令コードから抽出され
るインデックスとパラメータとを説明する。図4に示す
ように、変換ユニット304がプリフェッチユニット2
00から受信する命令コードは、TRANS命令である
ことを示す「1100」のデータと、4ビットのインデ
ックスデータと、8ビットのパラメータとを含む。図4
に示すように、インデックスは「0010」であって、
パラメータは「0001 0010」である。したがっ
て、S114における処理において、インデックスとし
て「0010」、パラメータとして「0001 001
0」が抽出される。
【0055】変換ユニット304は、抽出されたインデ
ックスに基づいて、変換テーブル記憶ユニット302に
記憶された変換テーブル(図2)の中から、該当する非
圧縮命令コードを抽出する。このとき、図4に示すよう
に、抽出されたインデックスが「0010」である場合
には、変換テーブル(図2)におけるインデックスが
「2」と判断され、非圧縮命令コードとして「1001
1111 11000000 0000 0010」
の非圧縮命令コードが抽出される。変換ユニット304
は、抽出された非圧縮命令コードに、パラメータを組込
んで命令コードを復元する(S118)。このとき、図
4に示すように、変換テーブル(図2)の中から抽出さ
れた非圧縮命令コードに、TRANS命令から抽出され
たパラメータが組込まれる。この場合、非圧縮命令コー
ドの後に、パラメータが組込まれる。
【0056】以上のようにして、本実施の形態に係るプ
ロセッサに組込まれた命令コード変換ユニットによる
と、変換テーブルとインデックスとにより、インデック
スに対応付けて記憶された非圧縮命令コードを抽出す
る。抽出された非圧縮命令コードに、TRANS命令に
含まれるパラメータを組込んで、命令コードを復元する
ことができる。変換テーブルは、異なるパラメータを組
込むことによって異なる命令になる複数の命令を、1つ
の非圧縮命令コードとして記憶させることができる。そ
の結果、変換テーブルを記憶するための容量が大きな記
憶回路を必要としないで、圧縮された命令コードを用い
てプログラム容量を小さくすることができる命令コード
変換ユニットを有するプロセッサを提供することができ
る。
【0057】この実施の形態における変換ユニット30
4は、プロセッサ120が実行する変換プログラム(ソ
フトウェア)によっても実現可能である。この変換プロ
グラムも例えばメモリ122の記憶媒体に予め記憶され
ており、次の処理を指示する。
【0058】実行しようとする命令群をメモリ122か
ら予め読出し、TRANS命令であれば、TRANS命
令のインデックスをアドレスとして変換テーブル302
をアクセスし、該当する非圧縮命令コードを抽出する。
さらに抽出された非圧縮命令コードにTRANS命令の
パラメータを組込むことにより、TRANS命令から復
元された非圧縮命令コードを生成する。生成された非圧
縮命令コードは、復元前のTRANS命令と関連付けて
図示されない別のメモリ(プロセッサ120内部のメモ
リでもよいし、プロセッサとは別チップのメモリでもよ
い)に記憶される。
【0059】実際に、プロセッサ120がメモリ122
に記憶されたプログラムを実行する際には、次のような
2通りの方法のいずれかの処理をする。
【0060】第一の方法では、プログラムの実行に先だ
って、このプログラムの中に含まれるTRANS命令を
上記の変換プログラムにより一括して変換する。この際
には、TRANS命令は復元後の非圧縮命令コード(ま
たは非圧縮命令コードを呼び出す命令)に置き換えら
れ、プリフェッチユニット200は、TRANS命令に
アクセスすることなく、命令デコードユニット240に
は復元後の非圧縮命令コードのみが与えられる。
【0061】第二の方法では、プログラムの実行中にT
RANS命令を検出すると、その度に上記の変換プログ
ラムを呼び出して、TRANS命令から非圧縮命令コー
ドを復元しながら実行する。多くのプロセッサは命令コ
ードとして認識できないコードを検出した際に例外処理
を行なうことができるため、この例外処理の機能を用い
ることでTRANS命令の検出と変換プログラムの呼び
出しが可能である。
【0062】<第1の実施の形態 変形例>図5を参照
して、本実施の形態の変形例について説明する。この変
形例は、前述の第1の実施の形態においてプロセッサの
内部に実装された変換部がプロセッサの外部に設けられ
たものである。
【0063】図5に示すように、本変形例に係るプロセ
ッサ1200は、前述の第1の実施の形態のプロセッサ
120に含まれた変換部300を除くユニットを含む。
プロセッサ1200の外部に、変換部3000を含む。
変換部3000は、前述の第1の実施の形態において説
明した変換テーブル記憶ユニット302と、変換ユニッ
ト304とを含む。この変形例に係るそれぞれのユニッ
トは、前述の第1の実施の形態と同じ機能を有する。
【0064】バスインターフェイス220を介してプリ
フェッチユニット200がメモリ122から命令コード
を読出すと、プロセッサに入力される前に変換部300
0は、図1に示す変換部300と同様、その読出された
命令コードがTRANS命令であるか否かを判断し、T
RANS命令のときに対応する非圧縮命令コードに復元
する。そしてその非圧縮命令コードがメモリインターフ
ェイス220、プリフェッチユニットを介して命令デコ
ードユニット240に転送される。また、変換部300
0でメモリ122から読出された命令コードがTRAN
S命令でないと判断されたとき、その命令コードはその
ままの命令で命令デコードユニット240に送られる。
【0065】以上のようにして、本変形例に係るプロセ
ッサおよび変換部によると、前述の第1の実施の形態と
同様、容量の大きな記憶回路を必要としないで、圧縮さ
れた命令コードを用いてプログラム容量を小さくできる
プロセッサを提供することができる。この変形例に示す
ように、変換部が実装される場所は、プロセッサの内部
および外部のいずれにも限定されるものではない。
【0066】<第2の実施の形態>以下、本発明の第2
の実施の形態について説明する。本実施の形態に係るプ
ロセッサ1202は、前述の第1の実施の形態における
変換部300とは異なる変換部3000を含む。それ以
外の構造については前述の第1の実施の形態と同じであ
る。また、機能が同じユニットについては同じ名称およ
び同じ参照符号を付してある。したがってそれらについ
ての詳細な説明はここでは繰返さない。
【0067】図6に示すように、変換部3000は、変
換テーブル記憶ユニット302と、変換ユニット304
0と、位置指定レジスタ3050とを含む。変換ユニッ
ト3040は、前述の第1の実施の形態における変換ユ
ニット304に相当するが、その機能の一部が異なる。
位置指定レジスタ3050は、非圧縮命令コードにおい
てパラメータが組込まれる位置を表わすデータを記憶す
る。
【0068】図7を参照して、本実施の形態に係るプロ
セッサ1202で実行される命令コード復元処理の制御
構造について説明する。なお、図7に示すフローチャー
トの中で、前述の図3に示すフローチャートと同じ処理
については同じステップ番号を付してある。それらの処
理も同じである。したがって、それらについての詳細な
説明はここでは繰返さない。
【0069】S200にて、プロセッサ1202は、メ
モリ122から命令変換テーブルおよび位置指定データ
を読込んで、それぞれ、変換テーブル記憶ユニット30
2および位置指定レジスタ3050に記憶する。なお、
本実施の形態に係るコンピュータシステムのメモリ12
2には、命令コードと位置指定データとが記憶されてい
る。
【0070】その後プログラムが実行され、変換ユニッ
ト3040がプリフェッチユニット200から受信した
命令コードがTRANS命令であると判断すると、S2
04にて、変換ユニット3040は、非圧縮命令コード
の中であって、位置指定レジスタ3050により特定さ
れる位置に、パラメータを組込んで命令コードを復元す
る。
【0071】以上のような構造およびフローチャートに
基づく、本実施の形態に係るプロセッサの動作について
説明する。
【0072】図8に示すように、本実施の形態に係る命
令コードは、前述の第1の実施の形態の命令コードと同
様である。メモリ122は、位置指定レジスタ3050
に記憶するための位置指定データを記憶する。プロセッ
サ1202は、メモリ122から命令変換テーブルおよ
び位置指定データを読込んで、それぞれ、変換テーブル
記憶ユニット302および位置指定レジスタ3050に
記憶する(S200)。これにより、位置指定レジスタ
3050には、図8に示す「4」というデータが記憶さ
れる。
【0073】プログラムが実行されると(S102にて
YES)、バスインターフェイスユニット220が、そ
の命令コードと位置指定データとをメモリ122から取
出して、プリフェッチユニット200に送信する(S2
00)。プリフェッチユニット200は、受信した命令
コードを変換ユニット3040に送信する。変換ユニッ
ト3040が、プリフェッチユニット200から受信し
た命令コードがTRANS命令であると判断すると(S
112にてYES)、変換ユニット3040は、非圧縮
命令コードの中であって、位置指定レジスタ3050に
より特定される位置に、パラメータを組込んで命令コー
ドを復元する(S204)。このとき、図8に示すよう
に、位置指定レジスタ3050に記憶された「4」とい
うデータに基づいて、非圧縮命令コードの後から4ビッ
ト目にパラメータが組込まれる。
【0074】以上のようにして、本実施の形態に係るプ
ロセッサによっても、前述の第1の実施の形態における
プロセッサによる効果に加えて、インデックスに基づい
て抽出した非圧縮命令コードの任意の位置にパラメータ
を組込むことができる。
【0075】<第3の実施の形態>以下、本発明の第3
の実施の形態に係るプロセッサについて説明する。な
お、本実施の形態に係るプロセッサのハードウェア構成
は、前述の第1の実施の形態のハードウェア構成(図
1)と同じである。したがって、それらについての詳細
な説明はここでは繰返さない。
【0076】図9を参照して、変換テーブル記憶ユニッ
ト302に記憶されるデータについて説明する。図9に
示すように、変換テーブル記憶ユニット302に記憶さ
れる変換テーブルは、非圧縮命令コードを特定するため
のインデックスごとに、インデックスと1対1に対応付
けられた非圧縮命令コードおよび位置指定データを記憶
する。図9に示すように、1つのインデックスが決まる
と、1つの非圧縮命令コードと、1つの位置指定データ
とが定まる。
【0077】図10を参照して、本実施の形態に係るプ
ロセッサ120で実行される命令コード復元処理の制御
構造について説明する。なお、図10に示すフローチャ
ートの中で、前述の図3と同じ処理については同じステ
ップ番号を付してある。それらについての処理も同じで
ある。したがって、それらについての詳細な説明はここ
では繰返さない。
【0078】S300にて、プロセッサ120は、位置
指定データ付きの命令変換テーブルを、メモリ122か
ら読込んで変換テーブル記憶ユニット302に記憶す
る。このとき変換テーブル記憶ユニット302には、図
9に示すデータテーブルが記憶される。
【0079】その後プログラムが実行され、変換ユニッ
ト304がプリフェッチユニット200から受信した命
令コードがTRANS命令であると判断されると、S3
02にて、変換ユニット304は、インデックスに基づ
いて、変換テーブル記憶ユニット302に記憶された変
換テーブルの中から、該当する非圧縮命令コードと位置
指定データとを抽出する。このとき、位置指定データ付
命令変換テーブルが図9で示される場合、インデックス
「2」に基づいて、非圧縮命令コード「1001 11
11 1100 0000 0000 0010」と位
置指定データ「4」が抽出される。
【0080】S304にて、変換ユニット304は、非
圧縮命令コードの中であって、位置指定データにより特
定される位置に、パラメータを組込んで命令コードを復
元する。このとき使用される位置指定データは、変換テ
ーブル記憶ユニット302に記憶された変換テーブル記
憶ユニット302に記憶された位置指定データである。
【0081】以上のようにして、本実施の形態に係るプ
ロセッサによっても、前述の第2の実施の形態と同様、
非圧縮命令コードの任意の位置に、パラメータを組込む
ことができる。さらに、前述の第2の実施の形態に加え
て、パラメータが組込まれる位置を指定する位置指定デ
ータは、非圧縮命令コードごとに設定することができ
る。
【0082】<第4の実施の形態>以下、本発明の第4
の実施の形態について説明する。本実施の形態に係るプ
ロセッサのハードウェア構成は、前述の第1の実施の形
態のハードウェア構成(図1)と同じである。したがっ
て、それらについての詳細な説明はここでは繰返さな
い。
【0083】図11を参照して、本実施の形態に係るプ
ロセッサ120で実行される命令コード復元処理の制御
構造について説明する。なお、図11に示すフローチャ
ートの中で、前述の図3に示すフローチャートと同じ処
理については同じステップ番号を付してある。それらに
ついての処理も同じである。したがって、それらについ
ての詳細な説明はここでは繰返さない。
【0084】変換ユニット304が、プリフェッチユニ
ット200から受信した命令コードがTRANS命令で
あると判断すると、S400にて、変換ユニット304
は、TRANS命令から、インデックスとパラメータと
位置指定データとを抽出する。このとき、図12に示す
ように、TRANS命令から、インデックスとして4ビ
ット、パラメータとして6ビット、位置指定データとし
て2ビットのデータが抽出される。この場合、パラメー
タとして「0000 00」、位置指定データとして
「10」が抽出される。
【0085】S402にて、変換ユニット304は、非
圧縮命令コードの中であって、位置指定データにより特
定される位置に、パラメータを組込んで命令コードを復
元する。このとき、図12に示すように、TRANS命
令から抽出された位置指定データ「10」により指定さ
れる、非圧縮命令コードの後から2ビットの位置にパラ
メータが組込まれ、命令コードが復元される。
【0086】以上のようにして、本実施の形態に係るプ
ロセッサによると、前述の第2の実施の形態および第3
の実施の形態と同様、非圧縮命令コードの任意の位置に
パラメータを組込むことができる。なお、TRANS命
令の中に、位置指定データを含み、命令変換テーブルの
中に位置指定データを含まないため。第3の実施の形態
における変換テーブル記憶ユニットよりも少ない記憶容
量の変換テーブル記憶ユニットでよい。
【0087】<第5の実施の形態>以下、本発明の第5
の実施の形態について説明する。
【0088】図13を参照して、本実施の形態に係るプ
ロセッサ1204は、前述の第1の実施の形態の変換部
300とは異なる変換部3002を含む。変換部300
2は、変換ユニット3042と、変換テーブル記憶ユニ
ット302と、パラメータ記憶ユニット3052とを含
む。変換テーブル記憶ユニット302は、前述の第1の
実施の形態と同じ変換テーブル(図2)を記憶する。パ
ラメータ記憶ユニット3052は、図14に示すデータ
を記憶する。
【0089】図14に示すように、パラメータ記憶ユニ
ット3052には、パラメータインデックスに対応して
パラメータを記憶する。1つのパラメータインデックス
が定まると、1つのパラメータが決定される。変換ユニ
ット3042は、前述の第1の実施の形態における変換
ユニット304とはその機能が異なる。
【0090】図15を参照して、本実施の形態に係るプ
ロセッサで実行される命令コード復元処理の制御構造に
ついて説明する。なお、図15に示すフローチャートの
中で、前述の図3と同じ処理については同じステップ番
号を付してある。それらについての処理も同じである。
したがって、それらについての詳細な説明はここでは繰
返さない。
【0091】S500にて、プロセッサ1204は、命
令変換テーブル(図2)とパラメータテーブル(図1
4)とをメモリ122から読込んで、変換テーブル記憶
ユニット302とパラメータ記憶ユニット3052とに
それぞれ記憶する。
【0092】変換ユニット3042が、プリフェッチユ
ニット200から受信した命令コードがTRANS命令
であると判断されると、S502にて、変換ユニット3
042は、TRANS命令から、インデックスとパラメ
ータインデックスとを抽出する。S504にて、変換ユ
ニット3042は、パラメータインデックスに基づい
て、パラメータ記憶ユニット3052に記憶されたパラ
メータテーブル(図14)の中から、該当するパラメー
タを抽出する。このとき、パラメータインデックスが
「2」である場合には、パラメータとして「1001
0001 00010000 0001 0001」が
抽出される。
【0093】図16に示すように、本実施の形態に係る
TRANS命令は、4ビットのインデックスと4ビット
のパラメータインデックスとを含む。変換ユニット30
42は、TRANS命令から4ビットのインデックスと
4ビットのパラメータインデックスとを抽出する(S5
02)。抽出されたインデックスに基づいて、非圧縮命
令コードが抽出される(S116)。また抽出されたパ
ラメータインデックスに基づいて、パラメータが抽出さ
れる。その結果、図16に示すように、パラメータイン
デックスにより抽出されたパラメータが、非圧縮命令コ
ードに組込まれる。
【0094】以上のようにして、本実施の形態に係るプ
ロセッサによると、複雑なパラメータであっても、パラ
メータインデックスを用いて非圧縮命令コードに組込む
ことができる。
【0095】<第6の実施の形態>以下、本発明の第6
の実施の形態について説明する。
【0096】図17を参照して、本実施の形態に係るプ
ロセッサ1206は、前述の第1の実施の形態に係るプ
ロセッサ120における変換部300とは異なる変換部
3004を含む。変換部3004は、変換テーブル記憶
ユニット302と、変換ユニット3044と、キャッシ
ュメモリ3054とを含む。変換テーブル記憶ユニット
302は、前述の第1の実施の形態と同様、図2に示す
変換テーブルを記憶する。変換ユニット3044は、前
述の第1の実施の形態の変換ユニット304とは異なる
機能を有する。キャッシュメモリ3054は、先入れ先
出し方式のメモリであって、復元された命令コードを少
なくとも1つ記憶することができる。変換ユニット30
44は、キャッシュメモリ3054に対して、復元され
た命令コードの読出命令を実行し、キャッシュメモリ3
054から復元された命令コードを読出すことができ
る。
【0097】図18を参照して、本実施の形態に係るプ
ロセッサ1206で実行される命令コード復元処理の制
御構造について説明する。なお、図18に示すフローチ
ャートの中で、前述の図3と同じ処理については同じス
テップ番号を付してある。それらの処理も同じである。
したがって、それらについての詳細な説明はここでは繰
返さない。
【0098】プリフェッチユニット200が、次の命令
コードをメモリ122から取出すように指示すると、S
600にて、バスインターフェイスユニット220は、
その命令コードが記憶されたメモリ122の仮想アドレ
スをタグとして、キャッシュメモリ3054に保持され
たデータがあるか否かを判断する。キャッシュメモリ3
054に保持されたデータがある場合には(S600に
てYES)、処理はS602へ移される。もしそうでな
いと(S600にてNO)、処理はS106へ移され
る。
【0099】S602にて、バスインターフェイスユニ
ット220は、キャッシュメモリ3054から、復元さ
れた命令コードを読出す。読出された、復元された命令
コードは、プリフェッチユニット200を経由して変換
ユニット3044に入力される。
【0100】変換ユニット3044がプリフェッチユニ
ット200から受信した命令コードがTRANS命令で
あると判断すると、S114にて、変換ユニット304
4は、TRANS命令からインデックスとパラメータと
を抽出する。S116にて、変換ユニット3044は、
インデックスに基づいて、変換テーブル記憶ユニット3
02に記憶された変換テーブルの中から、該当する非圧
縮命令コードを抽出する。S118にて、変換ユニット
3044は、非圧縮命令コードにパラメータを組込んで
命令コードを復元する。
【0101】S604にて、変換ユニット3044は、
プログラムに含まれる命令コードが記憶されたメモリ1
22の仮想アドレスをタグとして、復元された命令コー
ドをキャッシュメモリ3054に記憶する。
【0102】本実施の形態に係るプロセッサによると、
変換ユニットにて復元された命令コードは、キャッシュ
メモリに一時的に記憶される。次の命令の実行時に、キ
ャッシュメモリにその命令が記憶されていると、命令コ
ードの復元が行われることなく、キャッシュメモリから
復元された命令コードが読出される。これにより、繰返
し実行される命令コードを高速に処理することができ
る。
【0103】なお、説明の便宜上、第6の実施の形態
は、第1の実施の形態に対して、キャッシュメモリを追
加するものとして説明したがこれに限定されるものでは
なく、第2〜5の実施の形態のいずれかに対して、キャ
ッシュメモリを追加するものでもよい。
【0104】<その他の変形例>上述した本発明の実施
の形態については、固定長の命令をそれよりもビット長
の短いTRANS命令に置き換える場合について説明し
た。たとえば、第5の実施の形態の説明では、48ビッ
ト命令を12ビット長のTRANS命令に置き換える例
を示し、それ以外の実施の形態では、32ビット命令を
16ビット長のTRANS命令に置き換える場合につい
て例示した。しかしながら、本発明は、固定長命令に限
定されるものではない。たとえば、命令変換テーブルの
各エントリに非圧縮命令コードのビット長(あるいはバ
イト長)を格納するフィールドを設けることにより可変
長の命令パターンをまとめて圧縮することも可能であ
る。
【0105】また、上述した本発明の実施の形態につい
ては、パラメータのビット幅が固定長である場合を説明
したが、パラメータのビット幅を可変にして、その値を
第2〜4の実施の形態のそれぞれにおけるパラメータの
位置指定データと同様に別途保持して、命令変換時に用
いることも可能である。
【0106】本発明は、命令コードの圧縮により組込み
機器に搭載するメモリの容量を削減する目的に適用する
だけではなく、複数の命令を並列に実行するような並列
プロセッサにおいて、少ない命令コードの中に多くの並
列命令をエンコードする目的にも適用することができ
る。
【0107】今回開示された実施の形態はすべての点で
例示であって制限的なものではないと考えられるべきで
ある。本発明の範囲は上記した説明ではなくて特許請求
の範囲によって示され、特許請求の範囲と均等の意味お
よび範囲内でのすべての変更が含まれることが意図され
る。
【図面の簡単な説明】
【図1】 第1の実施の形態に係るプロセッサの内部構
造を示す図である。
【図2】 第1の実施の形態に係る変換テーブルに記憶
されるデータを示す図である。
【図3】 第1の実施の形態に係るプロセッサにおける
処理の制御の手順を示すフローチャートである。
【図4】 第1の実施の形態に係るプロセッサによる処
理の結果を示す図である。
【図5】 第1の実施の形態の変形例に係るプロセッサ
の内部構造を示す図である。
【図6】 第2の実施の形態に係るプロセッサの内部構
造を示す図である。
【図7】 第2の実施の形態に係るプロセッサにおける
処理の制御の手順を示すフローチャートである。
【図8】 第2の実施の形態に係るプロセッサによる処
理の結果を示す図である。
【図9】 第3の実施の形態に係る変換テーブルに記憶
されるデータを示す図である。
【図10】 第3の実施の形態に係るプロセッサにおけ
る処理の制御の手順を示すフローチャートである。
【図11】 第4の実施の形態に係るプロセッサにおけ
る処理の制御の手順を示すフローチャートである。
【図12】 第4の実施の形態に係るプロセッサによる
処理の結果を示す図である。
【図13】 第5の実施の形態に係るプロセッサの内部
構造を示す図である。
【図14】 第5の実施の形態に係る変換テーブルに記
憶されるデータを示す図である。
【図15】 第5の実施の形態に係るプロセッサにおけ
る処理の制御の手順を示すフローチャートである。
【図16】 第5の実施の形態に係るプロセッサによる
処理の結果を示す図である。
【図17】 第6の実施の形態に係るプロセッサの内部
構造を示す図である。
【図18】 第6の実施の形態に係るプロセッサにおけ
る処理の制御の手順を示すフローチャートである。
【符号の説明】
120、1200、1202、1204、1206 プ
ロセッサ,122 メモリ、124 固定ディスク、2
00 プリフェッチユニット、210 ページングユニ
ット、212 セグメントユニット、220 バスイン
ターフェイスユニット、230 実行ユニット、232
算術演算ユニット、234 レジスタ、236 保護
テストユニット、238 制御ユニット、240 命令
デコードユニット、300、3000 変換部、302
変換テーブル記憶ユニット、304、3040、30
42、3044 変換ユニット、3050 位置指定レ
ジスタ、3052 パラメータ記憶ユニット、3054
キャッシュメモリ。

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 第1のコードをそれよりもビット長の長
    い第2のコードに変換して、当該第2のコードを含む命
    令コードを作成する命令コード変換ユニットであって、 前記第1のコードを前記第2のコードに変換するための
    情報を記憶するための記憶手段と、 前記記憶手段に接続され、前記第1のコードおよび第3
    のコードを受信し、前記第1のコードと前記記憶された
    情報とに基づいて、前記第1のコードを前記第2のコー
    ドに変換し、前記受信した第3のコードとに基づいて第
    4のコードを決定し、前記第2および第4のコードを含
    んだ命令コードを作成するための変換手段とを含む、命
    令コード変換ユニット。
  2. 【請求項2】 前記変換手段は、前記変換された第2の
    コードの予め定められた位置に、前記受信した第3のコ
    ードをそのまま前記第4のコードとして組込むことによ
    り、命令コードを作成するための手段を含む、請求項1
    に記載の命令コード変換ユニット。
  3. 【請求項3】 前記命令コード変換ユニットは、前記予
    め定められた位置を表わす位置データを記憶するための
    位置記憶手段をさらに含む、請求項2に記載の命令コー
    ド変換ユニット。
  4. 【請求項4】 前記記憶手段は、前記第1のコードを前
    記第2のコードに変換するために、前記第2のコードを
    前記第1のコードに対応付けて記憶した変換テーブル
    と、前記予め定められた位置を表わす位置データとを記
    憶するための手段を含む、請求項2に記載の命令コード
    変換ユニット。
  5. 【請求項5】 前記第1および第3のコードと、前記予
    め定められた位置を表わす位置データとは、共通のメモ
    リに記憶され、前記変換手段は、当該共通のメモリから
    前記第1のコードおよび第3のコードとともに前記位置
    データを受ける、請求項2に記載の命令コード変換ユニ
    ット。
  6. 【請求項6】 前記命令コード変換ユニットは、前記第
    3のコードに対応付けてデータを記憶するためのデータ
    記憶手段をさらに含み、 前記変換手段は、前記受信した第3のコードに対応する
    データを前記データ記憶手段から抽出して、前記抽出さ
    れたデータを前記第4のコードとして前記変換された第
    2のコードの予め定められた位置に組込むことにより、
    命令コードを作成するための手段を含む、請求項1に記
    載の命令コード変換ユニット。
  7. 【請求項7】 前記命令コード変換ユニットは、前記変
    換手段に接続され、前記作成された命令コードを前記第
    1のコードに関連付けて一時的に記憶するための一時記
    憶手段と、 前記一時記憶手段に接続され、前記第1のコードに関連
    付けられた命令コードが一時的に記憶されているか否か
    を判断し、記憶されている場合には、一時記憶手段から
    命令コードを読出すように前記一時記憶手段を制御する
    ための制御手段とをさらに含む、請求項1に記載の命令
    コード変換ユニット。
  8. 【請求項8】 第1のコードをそれよりもビット長の長
    い第2のコードに変換し、当該第2のコードを含む命令
    コードを作成する命令コード変換方法であって、 前記第1のコードを前記第2のコードに変換するための
    情報を準備する準備ステップと、 前記第1のコードと第3のコードとを受信する受信ステ
    ップと、 前記受信ステップにて受信した第1のコードと前記準備
    ステップにて準備された情報とに基づいて、前記第1の
    コードを前記第2のコードに変換する変換ステップと、 前記受信ステップにて受信した第3のコードとに基づい
    て第4のコードを決定し、前記第2のコードと第4のコ
    ードとを含んだ命令コードを作成する作成ステップとを
    含む、命令コード変換方法。
  9. 【請求項9】 前記作成ステップは、前記変換ステップ
    にて変換された第2のコードの予め定められた位置に、
    前記受信ステップにて受信した第3のコードをそのまま
    前記第4のコードとして組込むことにより、命令コード
    を作成するステップを含む、請求項8に記載の命令コー
    ド変換方法。
  10. 【請求項10】 前記命令コード変換方法は、前記予め
    定められた位置を表わす位置データを準備する位置準備
    ステップをさらに含む、請求項9に記載の命令コード変
    換方法。
  11. 【請求項11】 前記準備ステップは、前記第1のコー
    ドを前記第2のコードに変換するために、前記第2のコ
    ードを前記第1のコードに対応付けて記憶した変換テー
    ブルと、前記予め定められた位置を表わす位置データと
    を準備するステップを含む、請求項9に記載の命令コー
    ド変換方法。
  12. 【請求項12】 前記受信ステップにおいて、前記第3
    のコードとともに、前記予め定められた位置を表わす位
    置データを受信する、請求項9に記載の命令コード変換
    方法。
  13. 【請求項13】 前記命令コード変換方法は、前記第3
    のコードに対応付けてデータを準備するデータ準備ステ
    ップをさらに含み、 前記作成ステップは、前記受信した第3のコードに対応
    するデータを抽出して、前記抽出されたデータを前記変
    換された第2のコードの予め定められた位置に前記第4
    のコードとして組込むことにより、命令コードを作成す
    るステップを含む、請求項8に記載の命令コード変換方
    法。
  14. 【請求項14】 前記命令コード変換方法は、前記作成
    ステップにて作成された命令コードを前記第1のコード
    に関連付けて一時的に記憶する一時記憶ステップと、 前記受信ステップにて受信した第1のコードに関連付け
    られた命令コードが一時的に記憶されているか否かを判
    断し、記憶されている場合には、一時記憶ステップにて
    記憶した命令コードを読出す読出しステップとをさらに
    含む、請求項8に記載の命令コード変換方法。
JP2001381987A 2001-12-14 2001-12-14 命令コード変換ユニットおよび命令コード変換方法 Pending JP2003186668A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001381987A JP2003186668A (ja) 2001-12-14 2001-12-14 命令コード変換ユニットおよび命令コード変換方法
US10/163,452 US6871274B2 (en) 2001-12-14 2002-06-07 Instruction code conversion apparatus creating an instruction code including a second code converted from a first code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001381987A JP2003186668A (ja) 2001-12-14 2001-12-14 命令コード変換ユニットおよび命令コード変換方法

Publications (1)

Publication Number Publication Date
JP2003186668A true JP2003186668A (ja) 2003-07-04

Family

ID=19187398

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001381987A Pending JP2003186668A (ja) 2001-12-14 2001-12-14 命令コード変換ユニットおよび命令コード変換方法

Country Status (2)

Country Link
US (1) US6871274B2 (ja)
JP (1) JP2003186668A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010521751A (ja) * 2007-03-27 2010-06-24 インテル コーポレイション プログラム命令の圧縮のための圧縮エントリーの最適選択
JP2011243134A (ja) * 2010-05-21 2011-12-01 Mitsubishi Electric Corp プログラム圧縮装置及びプログラム実行装置及びプログラム

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7761857B1 (en) 1999-10-13 2010-07-20 Robert Bedichek Method for switching between interpretation and dynamic translation in a processor system based upon code sequence execution counts
WO2002050719A2 (en) * 2000-12-18 2002-06-27 Kargo, Inc. A system and method for delivering content to mobile devices
US7310723B1 (en) 2003-04-02 2007-12-18 Transmeta Corporation Methods and systems employing a flag for deferring exception handling to a commit or rollback point
US7698539B1 (en) * 2003-07-16 2010-04-13 Banning John P System and method of instruction modification
US7606997B1 (en) 2003-07-18 2009-10-20 Guillermo Rozas Method and system for using one or more address bits and an instruction to increase an instruction set
JP4520790B2 (ja) * 2004-07-30 2010-08-11 富士通株式会社 情報処理装置およびソフトウェアプリフェッチ制御方法
US7636743B2 (en) * 2005-12-19 2009-12-22 Commvault Systems, Inc. Pathname translation in a data replication system
WO2015016865A1 (en) * 2013-07-31 2015-02-05 Hewlett-Packard Development Company, L.P. Generating a second code from a first code
CN107040531B (zh) * 2017-04-01 2019-12-10 广州极迅客信息科技有限公司 一种通信组件
WO2018230510A1 (ja) * 2017-06-13 2018-12-20 ソニー株式会社 画像処理装置、画像処理方法および撮像システム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08328817A (ja) 1995-05-29 1996-12-13 Toshiba Corp コンピュータシステム及びそれに用いるデータ伸張器
US5889961A (en) * 1996-06-27 1999-03-30 International Business Machines Corporation Disk drive having program to be executed by a second processor stored in a first processor's ROM in a compressed form
WO1998006042A1 (en) * 1996-08-07 1998-02-12 Sun Microsystems, Inc. Wide instruction unpack method and apparatus
JPH1185512A (ja) * 1997-09-03 1999-03-30 Fujitsu Ltd 命令圧縮格納および命令復元機能を有するデータ処理装置
US6199126B1 (en) * 1997-09-23 2001-03-06 International Business Machines Corporation Processor transparent on-the-fly instruction stream decompression
JP3585800B2 (ja) * 1999-01-13 2004-11-04 株式会社東芝 情報処理装置
US6532121B1 (en) * 1999-10-25 2003-03-11 Hewlett-Packard Company Compression algorithm with embedded meta-data for partial record operation augmented with expansion joints
US6484228B2 (en) * 2000-04-19 2002-11-19 Motorola, Inc. Method and apparatus for data compression and decompression for a data processor system
KR100379837B1 (ko) * 2000-06-30 2003-04-11 주식회사 에이디칩스 확장명령어 축약장치
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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010521751A (ja) * 2007-03-27 2010-06-24 インテル コーポレイション プログラム命令の圧縮のための圧縮エントリーの最適選択
JP2011243134A (ja) * 2010-05-21 2011-12-01 Mitsubishi Electric Corp プログラム圧縮装置及びプログラム実行装置及びプログラム

Also Published As

Publication number Publication date
US6871274B2 (en) 2005-03-22
US20030135845A1 (en) 2003-07-17

Similar Documents

Publication Publication Date Title
JP4358111B2 (ja) 半導体メモリ装置、及び、フラッシュメモリへのデータ書き込み方法
US6657562B2 (en) Data compression/decompression method and apparatus
US6351806B1 (en) Risc processor using register codes for expanded instruction set
US9048859B2 (en) Method and apparatus for compressing and decompressing data
JP2003186668A (ja) 命令コード変換ユニットおよび命令コード変換方法
US5778255A (en) Method and system in a data processing system for decompressing multiple compressed bytes in a single machine cycle
US5805086A (en) Method and system for compressing data that facilitates high-speed data decompression
JPH07121352A (ja) 演算処理装置
JP2007316229A (ja) 画像キャッシュメモリを有する画像表示装置
JPWO2009022531A1 (ja) データ圧縮伸張方法
US20160344406A1 (en) System, apparatus, and method for decompressing data
JP3201716B2 (ja) コンピュータ装置
JP2012513627A (ja) ページデータ、特にバーチャルメモリ機構におけるページコードを記憶および転送するための方法およびデバイス
US6654867B2 (en) Method and system to pre-fetch compressed memory blocks using pointers
KR102063856B1 (ko) 명령어 사전인출을 위한 방법 및 장치
US7107439B2 (en) System and method of controlling software decompression through exceptions
KR100509009B1 (ko) 소프트웨어 및 하드웨어 루프 압축 기능을 갖는 선입선출기록/후입선출 판독 트레이스 버퍼
JP2004038404A (ja) 圧縮コードを処理するマイクロコントローラ
US6990571B2 (en) Method for memory optimization in a digital signal processor
JP2004519027A (ja) 主プロセッサと命令経路コプロセッサとの同期化
TWI224281B (en) A processor executing script with different length and method thereof
JP2001297006A (ja) 半導体集積回路装置および情報処理システム
JP4479370B2 (ja) プロセッサ
CN110175269B (zh) 一种顶点索引的压缩及解压缩方法、装置及计算机存储介质
KR100251952B1 (ko) 그래픽압축데이터용압축해제장치및방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060131

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060606