JPH09231071A - コンピュータ装置 - Google Patents
コンピュータ装置Info
- Publication number
- JPH09231071A JPH09231071A JP8035293A JP3529396A JPH09231071A JP H09231071 A JPH09231071 A JP H09231071A JP 8035293 A JP8035293 A JP 8035293A JP 3529396 A JP3529396 A JP 3529396A JP H09231071 A JPH09231071 A JP H09231071A
- Authority
- JP
- Japan
- Prior art keywords
- instruction word
- address
- word
- pseudo
- instruction
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/30156—Special purpose encoding of instructions, e.g. Gray coding
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)【要約】
【課題】 オブジェクトコードの命令語の32ビットと
擬似コードの擬似命令語の16ビットとの差の分だけR
OM3のメモリ容量を減少させると共に、動作速度の高
速化または消費電力の低減化を図ることを目的とする。 【解決手段】 本来ROM3に格納される筈のオブジェ
クトコードに含まれる32ビットの全ての命令語を、そ
れぞれ16ビットのいずれかの擬似命令語に一対一で対
応付ける。この擬似命令語からなる擬似コードをROM
3に格納する。ROM3から読み出された16ビットの
擬似命令語は、命令語変換器2の変換回路2bで本来の
32ビットの命令語に変換されてプロセッサ本体1に送
られる。
擬似コードの擬似命令語の16ビットとの差の分だけR
OM3のメモリ容量を減少させると共に、動作速度の高
速化または消費電力の低減化を図ることを目的とする。 【解決手段】 本来ROM3に格納される筈のオブジェ
クトコードに含まれる32ビットの全ての命令語を、そ
れぞれ16ビットのいずれかの擬似命令語に一対一で対
応付ける。この擬似命令語からなる擬似コードをROM
3に格納する。ROM3から読み出された16ビットの
擬似命令語は、命令語変換器2の変換回路2bで本来の
32ビットの命令語に変換されてプロセッサ本体1に送
られる。
Description
【0001】
【発明の属する技術分野】本発明は、プログラムを格納
するROMなどのメモリ容量を減少させることができる
コンピュータ装置に関する。
するROMなどのメモリ容量を減少させることができる
コンピュータ装置に関する。
【0002】
【従来の技術】ROM[Read-Only Memory]に格納したプ
ログラムを32ビットのマイクロプロセッサで実行する
コンピュータ装置の従来の構成例を図10に示す。RO
M3には、多数の命令語からなるオブジェクトコードが
格納されている。本明細書でいうオブジェクトコード
は、再配置可能[relocatable]形式のものではなく、実
行可能形式のプログラムを意味する。また、このオブジ
ェクトコードは、プログラムに限らず、通常のデータを
含むこともある。そして、本明細書でいう命令語は、単
にオブジェクトコードを適当なビット数で区切った各符
号を意味し、操作指令を行うための命令符号だけでな
く、この命令符号に付随する可能性のあるアドレスの符
号や即値データなどの符号の他、このオブジェクトコー
ド内の種々のデータの符号などの場合もある。
ログラムを32ビットのマイクロプロセッサで実行する
コンピュータ装置の従来の構成例を図10に示す。RO
M3には、多数の命令語からなるオブジェクトコードが
格納されている。本明細書でいうオブジェクトコード
は、再配置可能[relocatable]形式のものではなく、実
行可能形式のプログラムを意味する。また、このオブジ
ェクトコードは、プログラムに限らず、通常のデータを
含むこともある。そして、本明細書でいう命令語は、単
にオブジェクトコードを適当なビット数で区切った各符
号を意味し、操作指令を行うための命令符号だけでな
く、この命令符号に付随する可能性のあるアドレスの符
号や即値データなどの符号の他、このオブジェクトコー
ド内の種々のデータの符号などの場合もある。
【0003】マイクロプロセッサ1は、アドレスレジス
タ1aからアドレスバス4を介してアドレスを送ること
により、ROM3からこのアドレスに格納された命令語
を読み出すようになっている。アドレスバス4は32ビ
ットであり、これを介して32ビットのアドレスが送り
出されるものとする。ただし、ROM3は、必ずしも3
2ビット(232)のアドレス空間を有している必要はな
い。アドレスレジスタ1aから送り出すアドレスは、読
み出す命令語が操作指令を行うための命令符号である場
合には、内部レジスタ群1b中のプログラムカウンタで
カウントしたアドレスを必要に応じて実効アドレスに変
換したものである。また、命令語がデータなどである場
合には、内部レジスタ群1b中の他のレジスタに格納さ
れたアドレスなどを必要に応じて実効アドレスに変換し
たものである。
タ1aからアドレスバス4を介してアドレスを送ること
により、ROM3からこのアドレスに格納された命令語
を読み出すようになっている。アドレスバス4は32ビ
ットであり、これを介して32ビットのアドレスが送り
出されるものとする。ただし、ROM3は、必ずしも3
2ビット(232)のアドレス空間を有している必要はな
い。アドレスレジスタ1aから送り出すアドレスは、読
み出す命令語が操作指令を行うための命令符号である場
合には、内部レジスタ群1b中のプログラムカウンタで
カウントしたアドレスを必要に応じて実効アドレスに変
換したものである。また、命令語がデータなどである場
合には、内部レジスタ群1b中の他のレジスタに格納さ
れたアドレスなどを必要に応じて実効アドレスに変換し
たものである。
【0004】上記アドレスの送出によりROM3から読
み出した命令語は、データバス5を介してマイクロプロ
セッサ1内に読み込み、一旦データレジスタ1cに保持
する。そして、この命令語が命令符号である場合には、
インストラクションデコーダ1dに送りデコードすると
共に、このデコード結果に応じて図示しない制御部がそ
の操作指令を実行する。即ち、命令語が例えばレジスタ
間の演算処理を指示するものであれば、内部レジスタ群
1b中の指定されたレジスタのデータを論理演算ユニッ
ト1eで演算処理し、その演算結果を内部レジスタ群1
b中の指定されたレジスタに格納する処理を行う。ま
た、命令語が命令符号ではない場合には、データレジス
タ1cから内部レジスタ群1b中のレジスタや論理演算
ユニット1eなどに送られる。なお、これらアドレスレ
ジスタ1aや内部レジスタ群1bやデータレジスタ1c
や論理演算ユニット1eは、図示しない内部バスを介し
て接続されている。
み出した命令語は、データバス5を介してマイクロプロ
セッサ1内に読み込み、一旦データレジスタ1cに保持
する。そして、この命令語が命令符号である場合には、
インストラクションデコーダ1dに送りデコードすると
共に、このデコード結果に応じて図示しない制御部がそ
の操作指令を実行する。即ち、命令語が例えばレジスタ
間の演算処理を指示するものであれば、内部レジスタ群
1b中の指定されたレジスタのデータを論理演算ユニッ
ト1eで演算処理し、その演算結果を内部レジスタ群1
b中の指定されたレジスタに格納する処理を行う。ま
た、命令語が命令符号ではない場合には、データレジス
タ1cから内部レジスタ群1b中のレジスタや論理演算
ユニット1eなどに送られる。なお、これらアドレスレ
ジスタ1aや内部レジスタ群1bやデータレジスタ1c
や論理演算ユニット1eは、図示しない内部バスを介し
て接続されている。
【0005】上記マイクロプロセッサ1内には、メモリ
管理ユニット1fとキャッシュメモリ1gも設けられて
いる。メモリ管理ユニット1fは、論理アドレスを物理
アドレスに変換したり、メモリ保護やOS[Operating S
ystem]の仮想記憶における例外処理をサポートするため
のものである。したがって、アドレスレジスタ1aから
送り出されるアドレスは、実際にはこのメモリ管理ユニ
ット1fが変換した物理アドレスとなる。また、キャッ
シュメモリ1gは、ROM3よりも高速で動作する半導
体記憶装置であり、ここではROM3から命令語をまと
めて読み出しておき、アドレスの指定に応じて順次各命
令語をマイクロプロセッサ1に供給するものである。し
たがって、実際には、ROM3から読み出した命令語
は、データバス5を介してまずこのキャッシュメモリ1
gに送られ、ここからデータレジスタ1cに供給される
ことになる。マイクロプロセッサ1は、指定したアドレ
スがこのキャッシュメモリ1gでヒットする限り、RO
M3からの遅い読み出しを待つ必要がなくなる。ただ
し、分岐命令の多用などによりヒット率が悪くなると、
かえって命令語の読み出しに手間がかかるようになるの
で、一般的には有効であっても、常に確実に高速化を図
り得るとは限らない。
管理ユニット1fとキャッシュメモリ1gも設けられて
いる。メモリ管理ユニット1fは、論理アドレスを物理
アドレスに変換したり、メモリ保護やOS[Operating S
ystem]の仮想記憶における例外処理をサポートするため
のものである。したがって、アドレスレジスタ1aから
送り出されるアドレスは、実際にはこのメモリ管理ユニ
ット1fが変換した物理アドレスとなる。また、キャッ
シュメモリ1gは、ROM3よりも高速で動作する半導
体記憶装置であり、ここではROM3から命令語をまと
めて読み出しておき、アドレスの指定に応じて順次各命
令語をマイクロプロセッサ1に供給するものである。し
たがって、実際には、ROM3から読み出した命令語
は、データバス5を介してまずこのキャッシュメモリ1
gに送られ、ここからデータレジスタ1cに供給される
ことになる。マイクロプロセッサ1は、指定したアドレ
スがこのキャッシュメモリ1gでヒットする限り、RO
M3からの遅い読み出しを待つ必要がなくなる。ただ
し、分岐命令の多用などによりヒット率が悪くなると、
かえって命令語の読み出しに手間がかかるようになるの
で、一般的には有効であっても、常に確実に高速化を図
り得るとは限らない。
【0006】なお、実際のコンピュータ装置では、プロ
グラムを全てROM3に格納している場合であっても、
このプログラムの実行時の作業エリアなどとして用いる
図示しないRAM[Random Access Memory]と、入力装置
や表示装置などとの入出力用の図示しないI/Oポート
などをアドレスバス4とデータバス5を介して接続して
いる。これらのRAMやI/Oポートは、ROM3の場
合と同様の読み込み処理以外に、書き込み処理も行われ
る。
グラムを全てROM3に格納している場合であっても、
このプログラムの実行時の作業エリアなどとして用いる
図示しないRAM[Random Access Memory]と、入力装置
や表示装置などとの入出力用の図示しないI/Oポート
などをアドレスバス4とデータバス5を介して接続して
いる。これらのRAMやI/Oポートは、ROM3の場
合と同様の読み込み処理以外に、書き込み処理も行われ
る。
【0007】
【発明が解決しようとする課題】ところで、上記コンピ
ュータ装置は、高機能化の要求に伴ってプログラムのサ
イズが大きくなるため、大容量の記憶装置が必要になっ
て来ている。しかし、特に携帯用機器などで用いるコン
ピュータ装置では、小型化のために実装面積が制限され
るだけでなく、低消費電力化やコストダウンの要求も厳
しいため、記憶容量を無制限に増大させることができ
ず、このためにアプリケーションプログラムなどのサイ
ズが制限されて、機能や性能を低下させざるを得なくな
るという問題が発生していた。また、コンパイラがプロ
グラムをコンパイルする際に最適化を図ればオブジェク
トコードのサイズを縮小することができるが、このコン
パイラによる最適化は、主に高級言語でプログラムした
ことによるコードの無駄を省き、アセンブラで最適にプ
ログラムしたものに近づけるための技術であるため、こ
れによって縮小できるサイズにも限界がある。
ュータ装置は、高機能化の要求に伴ってプログラムのサ
イズが大きくなるため、大容量の記憶装置が必要になっ
て来ている。しかし、特に携帯用機器などで用いるコン
ピュータ装置では、小型化のために実装面積が制限され
るだけでなく、低消費電力化やコストダウンの要求も厳
しいため、記憶容量を無制限に増大させることができ
ず、このためにアプリケーションプログラムなどのサイ
ズが制限されて、機能や性能を低下させざるを得なくな
るという問題が発生していた。また、コンパイラがプロ
グラムをコンパイルする際に最適化を図ればオブジェク
トコードのサイズを縮小することができるが、このコン
パイラによる最適化は、主に高級言語でプログラムした
ことによるコードの無駄を省き、アセンブラで最適にプ
ログラムしたものに近づけるための技術であるため、こ
れによって縮小できるサイズにも限界がある。
【0008】そこで、データ圧縮法を利用して、ハード
ディスク装置などの外部記憶装置に格納するプログラム
やデータのオブジェクトコードのサイズを縮小させた
り、主記憶装置に記憶させるデータサイズを縮小させる
ことにより、記憶容量の低減化を図る技術が従来から用
いられている。
ディスク装置などの外部記憶装置に格納するプログラム
やデータのオブジェクトコードのサイズを縮小させた
り、主記憶装置に記憶させるデータサイズを縮小させる
ことにより、記憶容量の低減化を図る技術が従来から用
いられている。
【0009】しかし、外部記憶装置に格納するプログラ
ムやデータをデータ圧縮する場合には、主記憶装置にロ
ードする際にデータ伸長を行うので、外部記憶装置の容
量は減少しても、この主記憶装置のメモリ容量を減少さ
せることはできなかった。また、主記憶装置にデータ圧
縮して記憶させる場合は、アプリケーションプログラム
が内部で利用する特殊なデータなどに限られ、アプリケ
ーションプログラム自身が主記憶装置上でデータ圧縮さ
れることはなかった。なぜなら、一般的なデータ圧縮法
は、同じ命令語が連続する場合にこれをその命令語の1
語の符号とその連続する長さを示す符号との組み合わせ
に変換するランレングス方式や、各命令語をその出現頻
度に応じた可変長の符号に変換するハフマン方式などを
組み合わせたものであるため、データ伸長はオブジェク
トコードの先頭やブロックの先頭からシーケンシャルに
行う必要がある。このため、オブジェクトコードの全体
を主記憶装置にロードするような場合にはシーケンシャ
ルなデータ伸長を行うことができ、アプリケーションプ
ログラムが内部で利用するデータについてもシーケンシ
ャルなデータ伸長を行うことができる場合はあるが、デ
ータ圧縮したオブジェクトコードをそのまま主記憶装置
に格納した場合には、圧縮した各命令語のアドレス上に
おける相対位置関係が乱れるために、命令語を1語ずつ
ランダムにアクセスすることができなくなるからであ
る。
ムやデータをデータ圧縮する場合には、主記憶装置にロ
ードする際にデータ伸長を行うので、外部記憶装置の容
量は減少しても、この主記憶装置のメモリ容量を減少さ
せることはできなかった。また、主記憶装置にデータ圧
縮して記憶させる場合は、アプリケーションプログラム
が内部で利用する特殊なデータなどに限られ、アプリケ
ーションプログラム自身が主記憶装置上でデータ圧縮さ
れることはなかった。なぜなら、一般的なデータ圧縮法
は、同じ命令語が連続する場合にこれをその命令語の1
語の符号とその連続する長さを示す符号との組み合わせ
に変換するランレングス方式や、各命令語をその出現頻
度に応じた可変長の符号に変換するハフマン方式などを
組み合わせたものであるため、データ伸長はオブジェク
トコードの先頭やブロックの先頭からシーケンシャルに
行う必要がある。このため、オブジェクトコードの全体
を主記憶装置にロードするような場合にはシーケンシャ
ルなデータ伸長を行うことができ、アプリケーションプ
ログラムが内部で利用するデータについてもシーケンシ
ャルなデータ伸長を行うことができる場合はあるが、デ
ータ圧縮したオブジェクトコードをそのまま主記憶装置
に格納した場合には、圧縮した各命令語のアドレス上に
おける相対位置関係が乱れるために、命令語を1語ずつ
ランダムにアクセスすることができなくなるからであ
る。
【0010】また、特開平6−168140号公報に
は、例えばRISC[Reduced Instruction Set Compute
r]型マイクロプロセッサ用の32ビット固定長の命令体
系を16ビット固定長の命令体系に変更してオブジェク
トコードのサイズを縮小すると共に、この16ビット固
定長の命令体系を用いた効率の良いオブジェクトコード
を得るためのコンパイラの最適化手法の発明が提案され
ている。
は、例えばRISC[Reduced Instruction Set Compute
r]型マイクロプロセッサ用の32ビット固定長の命令体
系を16ビット固定長の命令体系に変更してオブジェク
トコードのサイズを縮小すると共に、この16ビット固
定長の命令体系を用いた効率の良いオブジェクトコード
を得るためのコンパイラの最適化手法の発明が提案され
ている。
【0011】しかし、この発明は、RISCなどの簡素
化した命令体系における命令語のビットサイズ自身を減
少させるものであり、主記憶装置上のオブジェクトコー
ドから各命令語をそのままマイクロプロセッサ1に読み
込みデコードして実行する点では従来のコンピュータ装
置と変わるものではなく、実際に使用するオブジェクト
コードのサイズを適応的に減少させるものではなかっ
た。
化した命令体系における命令語のビットサイズ自身を減
少させるものであり、主記憶装置上のオブジェクトコー
ドから各命令語をそのままマイクロプロセッサ1に読み
込みデコードして実行する点では従来のコンピュータ装
置と変わるものではなく、実際に使用するオブジェクト
コードのサイズを適応的に減少させるものではなかっ
た。
【0012】さらに、近年マイクロプロセッサ1の処理
速度が飛躍的に向上しているが、主記憶装置の動作速度
やバスサイクルが従来のままである場合には、命令語を
読み出す際の待ち時間などが多くなり、マイクロプロセ
ッサ1の性能を十分に発揮させることができないという
問題が生じる。また、主記憶装置の動作速度を高速化す
るには、高価なメモリデバイスを使用しなければなら
ず、これによって高速化を図ったとしても、データバス
5に接続される3ステータスバッファなどのスイッチン
グ速度が上昇するので、消費電力が増大するという問題
が生じることになる。
速度が飛躍的に向上しているが、主記憶装置の動作速度
やバスサイクルが従来のままである場合には、命令語を
読み出す際の待ち時間などが多くなり、マイクロプロセ
ッサ1の性能を十分に発揮させることができないという
問題が生じる。また、主記憶装置の動作速度を高速化す
るには、高価なメモリデバイスを使用しなければなら
ず、これによって高速化を図ったとしても、データバス
5に接続される3ステータスバッファなどのスイッチン
グ速度が上昇するので、消費電力が増大するという問題
が生じることになる。
【0013】本発明は、上記事情に鑑み、オブジェクト
コードの命令語のビット数を適応的に少なくして主記憶
装置に格納することにより、メモリ容量を減少させると
共に、動作速度の高速化または消費電力の低減化を図る
ことができるコンピュータ装置を提供することを目的と
している。
コードの命令語のビット数を適応的に少なくして主記憶
装置に格納することにより、メモリ容量を減少させると
共に、動作速度の高速化または消費電力の低減化を図る
ことができるコンピュータ装置を提供することを目的と
している。
【0014】
【課題を解決するための手段】本発明のコンピュータ装
置は、アドレスを指定して読み込んだオブジェクトコー
ドの各命令語を処理するプロセッサと、1語が該オブジ
ェクトコードの命令語よりも少ないビット数で構成さ
れ、かつ、各語が一義的に該オブジェクトコードのいず
れかの命令語に対応する擬似命令語を各アドレスに1語
ずつ記憶すると共に、該プロセッサが指定したアドレス
の擬似命令語を読み出すメモリと、該メモリから読み出
された擬似命令語を該オブジェクトコードの命令語に変
換して該プロセッサに送る命令語変換器とを備え、その
ことにより上記目的が達成される。
置は、アドレスを指定して読み込んだオブジェクトコー
ドの各命令語を処理するプロセッサと、1語が該オブジ
ェクトコードの命令語よりも少ないビット数で構成さ
れ、かつ、各語が一義的に該オブジェクトコードのいず
れかの命令語に対応する擬似命令語を各アドレスに1語
ずつ記憶すると共に、該プロセッサが指定したアドレス
の擬似命令語を読み出すメモリと、該メモリから読み出
された擬似命令語を該オブジェクトコードの命令語に変
換して該プロセッサに送る命令語変換器とを備え、その
ことにより上記目的が達成される。
【0015】また、好ましくは、本発明のコンピュータ
装置は、アドレスを指定して読み込んだオブジェクトコ
ードの各命令語を処理するプロセッサと、1語がオブジ
ェクトコードの命令語よりも少ないビット数で構成さ
れ、かつ、各語が一義的に該オブジェクトコードのいず
れかの命令語に対応する擬似命令語を各アドレスに2i
(iは1以上の整数)語ずつ記憶すると共に、該プロセ
ッサが指定したアドレスからiビットを除外したアドレ
スの2i語の擬似命令語を読み出すメモリと、該メモリ
から読み出された2i語の擬似命令語を保持すると共
に、該メモリで除外されたiビットのアドレスに基づき
いずれか1語の擬似命令語を選択してオブジェクトコー
ドの命令語に変換しプロセッサに送る命令語変換器とを
備える。
装置は、アドレスを指定して読み込んだオブジェクトコ
ードの各命令語を処理するプロセッサと、1語がオブジ
ェクトコードの命令語よりも少ないビット数で構成さ
れ、かつ、各語が一義的に該オブジェクトコードのいず
れかの命令語に対応する擬似命令語を各アドレスに2i
(iは1以上の整数)語ずつ記憶すると共に、該プロセ
ッサが指定したアドレスからiビットを除外したアドレ
スの2i語の擬似命令語を読み出すメモリと、該メモリ
から読み出された2i語の擬似命令語を保持すると共
に、該メモリで除外されたiビットのアドレスに基づき
いずれか1語の擬似命令語を選択してオブジェクトコー
ドの命令語に変換しプロセッサに送る命令語変換器とを
備える。
【0016】さらに、好ましくは、本発明のコンピュー
タ装置における命令語変換器が、前記メモリから読み出
された2i語の擬似命令語をそれぞれオブジェクトコー
ドの命令語に変換して保持すると共に、該メモリで除外
されたiビットのアドレスに基づきいずれか1語の命令
語を選択してプロセッサに送るものである。
タ装置における命令語変換器が、前記メモリから読み出
された2i語の擬似命令語をそれぞれオブジェクトコー
ドの命令語に変換して保持すると共に、該メモリで除外
されたiビットのアドレスに基づきいずれか1語の命令
語を選択してプロセッサに送るものである。
【0017】さらに、好ましくは、本発明のコンピュー
タ装置は、1チップマイクロプロセッサ内部にプロセッ
サと命令語変換器とが内蔵されたものである。
タ装置は、1チップマイクロプロセッサ内部にプロセッ
サと命令語変換器とが内蔵されたものである。
【0018】さらに、好ましくは、本発明のコンピュー
タ装置における命令語変換器が、擬似命令語とオブジェ
クトコードの命令語との対応関係を表す変換テーブルを
用いて命令語の変換を行うものである。
タ装置における命令語変換器が、擬似命令語とオブジェ
クトコードの命令語との対応関係を表す変換テーブルを
用いて命令語の変換を行うものである。
【0019】さらに、好ましくは、本発明のコンピュー
タ装置における変換テーブルが、擬似命令語をアドレス
入力とし、この入力アドレスに対応して記憶したオブジ
ェクトコードの命令語を出力するROMで構成される。
タ装置における変換テーブルが、擬似命令語をアドレス
入力とし、この入力アドレスに対応して記憶したオブジ
ェクトコードの命令語を出力するROMで構成される。
【0020】さらに、好ましくは、本発明のコンピュー
タ装置における変換テーブルが、擬似命令語をアドレス
入力とし、この入力アドレスに対応して記憶したオブジ
ェクトコードの命令語を出力するRAMで構成されると
共に、該RAMの記憶内容を書き換える変換テーブル書
き換え手段が設けられたものである。
タ装置における変換テーブルが、擬似命令語をアドレス
入力とし、この入力アドレスに対応して記憶したオブジ
ェクトコードの命令語を出力するRAMで構成されると
共に、該RAMの記憶内容を書き換える変換テーブル書
き換え手段が設けられたものである。
【0021】以下作用について説明する。
【0022】上記構成により、メモリには、オブジェク
トコードの命令語よりもビット数の少ない擬似命令語か
らなる擬似コードが、対象となるオブジェクトコードと
同じ語数だけ格納されるので、メモリ容量を減少させる
ことができる。即ち、このメモリは、本来の命令語から
なるオブジェクトコードを格納する場合と同じアドレス
空間を必要とするが、各アドレスの1語のビット数が少
なくなるので、メモリ容量も少なくできる。
トコードの命令語よりもビット数の少ない擬似命令語か
らなる擬似コードが、対象となるオブジェクトコードと
同じ語数だけ格納されるので、メモリ容量を減少させる
ことができる。即ち、このメモリは、本来の命令語から
なるオブジェクトコードを格納する場合と同じアドレス
空間を必要とするが、各アドレスの1語のビット数が少
なくなるので、メモリ容量も少なくできる。
【0023】オブジェクトコードの命令語の1語をmビ
ットとすると、この命令語のバリエーションは最大2m
種類となる。また、特定のオブジェクトコード内で実際
に使用される命令語のバリエーションがN種類であった
とする。この場合に、2n(nは1以上の整数)がN以
上で最小となるときのnを擬似命令語の1語のビット数
と定めれば、2n種類以内の各擬似命令語を当該オブジ
ェクトコード内で使用されるN種類の各命令語に一対一
で全て対応させることができる。そして、この特定のオ
ブジェクトコードの語数が2m語未満であれば、N種類
は2m種類よりも必ず少なくなり、このオブジェクトコ
ード内で同じ命令語が重複して使用されている分だけさ
らに少なくなる。したがって、このN種類は、2m種類
よりも十分に少ない数になるのが普通であり、2n種類
も2m種類より十分に少なくなるので、擬似命令語のビ
ット数nは、本来の命令語のビット数mよりも小さくな
り、メモリ容量をこのビット数の差m−nの分だけ減少
させることができる。
ットとすると、この命令語のバリエーションは最大2m
種類となる。また、特定のオブジェクトコード内で実際
に使用される命令語のバリエーションがN種類であった
とする。この場合に、2n(nは1以上の整数)がN以
上で最小となるときのnを擬似命令語の1語のビット数
と定めれば、2n種類以内の各擬似命令語を当該オブジ
ェクトコード内で使用されるN種類の各命令語に一対一
で全て対応させることができる。そして、この特定のオ
ブジェクトコードの語数が2m語未満であれば、N種類
は2m種類よりも必ず少なくなり、このオブジェクトコ
ード内で同じ命令語が重複して使用されている分だけさ
らに少なくなる。したがって、このN種類は、2m種類
よりも十分に少ない数になるのが普通であり、2n種類
も2m種類より十分に少なくなるので、擬似命令語のビ
ット数nは、本来の命令語のビット数mよりも小さくな
り、メモリ容量をこのビット数の差m−nの分だけ減少
させることができる。
【0024】ところで、対象となるオブジェクトコード
の語数が巨大になると、ビット数の差m−nがほとんど
なくなり、場合によってはビット数m,nが一致してメ
モリ容量を減少させることができなくなるおそれがあ
る。そこで、オブジェクトコードの語数が大きい場合に
は、これを複数のブロックに分割して、各ブロック毎に
独立に擬似命令語を各命令語に対応させるようにすれ
ば、確実にメモリ容量を減少させることができる。この
場合、命令語変換器は、各ブロック毎に異なる変換処理
を行う必要がある。
の語数が巨大になると、ビット数の差m−nがほとんど
なくなり、場合によってはビット数m,nが一致してメ
モリ容量を減少させることができなくなるおそれがあ
る。そこで、オブジェクトコードの語数が大きい場合に
は、これを複数のブロックに分割して、各ブロック毎に
独立に擬似命令語を各命令語に対応させるようにすれ
ば、確実にメモリ容量を減少させることができる。この
場合、命令語変換器は、各ブロック毎に異なる変換処理
を行う必要がある。
【0025】なお、1語の擬似命令語は、必ずしも対応
するアドレスのみの記憶領域内に格納する必要はなく、
連続する複数のアドレスに格納することもできる。例え
ば、バイトアドレス(1アドレスの記憶領域が8ビッ
ト)のメモリに16ビットや32ビット,64ビットな
どを1語とする擬似命令語を格納してもよい。通常、1
語のビット数は、データバスのビット数に一致し、1度
のメモリアクセスで読み出すことができるようにする。
するアドレスのみの記憶領域内に格納する必要はなく、
連続する複数のアドレスに格納することもできる。例え
ば、バイトアドレス(1アドレスの記憶領域が8ビッ
ト)のメモリに16ビットや32ビット,64ビットな
どを1語とする擬似命令語を格納してもよい。通常、1
語のビット数は、データバスのビット数に一致し、1度
のメモリアクセスで読み出すことができるようにする。
【0026】このコンピュータ装置が擬似命令語を格納
した上記メモリ以外に本来の命令語や通常のデータを格
納した主記憶装置の領域を有する場合には、この主記憶
装置の領域から読み出された命令語やデータは、命令語
変換器で変換することなくそのままプロセッサに読み込
ませる必要がある。この場合、命令語変換器を使用する
かどうかは、プロセッサが指定したアドレスに応じて切
り換えればよい。このコンピュータ装置が通常のデータ
などを入力するI/Oポートを有する場合も同様であ
る。
した上記メモリ以外に本来の命令語や通常のデータを格
納した主記憶装置の領域を有する場合には、この主記憶
装置の領域から読み出された命令語やデータは、命令語
変換器で変換することなくそのままプロセッサに読み込
ませる必要がある。この場合、命令語変換器を使用する
かどうかは、プロセッサが指定したアドレスに応じて切
り換えればよい。このコンピュータ装置が通常のデータ
などを入力するI/Oポートを有する場合も同様であ
る。
【0027】また、上記構成により、メモリには、オブ
ジェクトコードの命令語よりもビット数の少ない擬似命
令語からなる擬似コードが、対象となるオブジェクトコ
ードと同じ語数だけ格納されるので、メモリ容量を減少
させることができる。もっとも、この場合には各アドレ
スに複数語の擬似命令語が格納されるので、各アドレス
のビット数は必ずしも少なくならない。しかし、プロセ
ッサが指定したアドレスからiビットを除外したアドレ
スで擬似命令語を読み出すので、アドレス空間はこのi
ビット分だけ減少し、これによってメモリ容量を少なく
できる。
ジェクトコードの命令語よりもビット数の少ない擬似命
令語からなる擬似コードが、対象となるオブジェクトコ
ードと同じ語数だけ格納されるので、メモリ容量を減少
させることができる。もっとも、この場合には各アドレ
スに複数語の擬似命令語が格納されるので、各アドレス
のビット数は必ずしも少なくならない。しかし、プロセ
ッサが指定したアドレスからiビットを除外したアドレ
スで擬似命令語を読み出すので、アドレス空間はこのi
ビット分だけ減少し、これによってメモリ容量を少なく
できる。
【0028】しかも、複数語の擬似命令語が同時に読み
出され、命令語変換器で一旦保持されるので、プロセッ
サは、メモリで除外されるiビットのアドレスのみを変
化させることにより、残りの2i−1語を順次高速で読
み込むことができる。したがって、例えば上記本来の命
令語のビット数mを擬似命令語のビット数nの2倍と
し、メモリから2語(i=1)ずつ擬似命令語を読み出
すとすると、ほぼ2倍の速度で命令語をプロセッサに読
み込むことができるようになる。
出され、命令語変換器で一旦保持されるので、プロセッ
サは、メモリで除外されるiビットのアドレスのみを変
化させることにより、残りの2i−1語を順次高速で読
み込むことができる。したがって、例えば上記本来の命
令語のビット数mを擬似命令語のビット数nの2倍と
し、メモリから2語(i=1)ずつ擬似命令語を読み出
すとすると、ほぼ2倍の速度で命令語をプロセッサに読
み込むことができるようになる。
【0029】さらに、上記構成では、命令語変換器が擬
似命令語を本来の命令語に変換した後に保持するように
した場合を示す。この場合、命令語を保持するレジスタ
のビット数は増大するが、残りの命令語をプロセッサに
読み込む際の変換処理によるオーバーヘッドをなくすこ
とができる。
似命令語を本来の命令語に変換した後に保持するように
した場合を示す。この場合、命令語を保持するレジスタ
のビット数は増大するが、残りの命令語をプロセッサに
読み込む際の変換処理によるオーバーヘッドをなくすこ
とができる。
【0030】さらに、上記構成により、マイクロプロセ
ッサを1チップLSI[Large ScaleIntegrated circui
t]化する際などに、プロセッサに加えて命令語変換器を
一体的に組み込む場合を示す。
ッサを1チップLSI[Large ScaleIntegrated circui
t]化する際などに、プロセッサに加えて命令語変換器を
一体的に組み込む場合を示す。
【0031】さらに、上記構成により、命令語変換器が
変換テーブルを用いて命令語の変換を行うので、通常の
論理回路などを用いて変換を行う場合に比べ、擬似命令
語と本来の命令語の対応関係の変更が容易となる。
変換テーブルを用いて命令語の変換を行うので、通常の
論理回路などを用いて変換を行う場合に比べ、擬似命令
語と本来の命令語の対応関係の変更が容易となる。
【0032】さらに、上記構成により、変換テーブルを
ROMに設定する場合を示す。プロセッサが処理するオ
ブジェクトコードが予め定まっている場合には、ROM
に変換テーブルを作成するのが便利である。ROMに
は、EEPROM[Electrically Erasable Programmabl
e ROM]などの書き換え可能なものも含む。
ROMに設定する場合を示す。プロセッサが処理するオ
ブジェクトコードが予め定まっている場合には、ROM
に変換テーブルを作成するのが便利である。ROMに
は、EEPROM[Electrically Erasable Programmabl
e ROM]などの書き換え可能なものも含む。
【0033】さらに、上記構成により、変換テーブルを
RAMに設定する場合を示す。プロセッサが処理するオ
ブジェクトコードが随時変更される場合には、そのたび
に変換テーブルを書き換えられるようにRAMを用いる
のが便利である。
RAMに設定する場合を示す。プロセッサが処理するオ
ブジェクトコードが随時変更される場合には、そのたび
に変換テーブルを書き換えられるようにRAMを用いる
のが便利である。
【0034】
【発明の実施の形態】以下、本発明の実施形態について
説明する。
説明する。
【0035】図1〜図6は本発明の第1実施形態を示す
ものであって、図1はコンピュータ装置の構成を示すブ
ロック図、図2はROMの本来の構成を示す図、図3は
擬似命令語を16ビットとした場合のROMの構成を示
す図、図4は擬似命令語を12ビットとした場合のRO
Mの構成を示す図、図5は変換回路の構成を示すブロッ
ク図、図6は変換回路の他の構成を示すブロック図であ
る。なお、図10に示した従来例と同様の機能を有する
構成部材には同じ番号を付記する。
ものであって、図1はコンピュータ装置の構成を示すブ
ロック図、図2はROMの本来の構成を示す図、図3は
擬似命令語を16ビットとした場合のROMの構成を示
す図、図4は擬似命令語を12ビットとした場合のRO
Mの構成を示す図、図5は変換回路の構成を示すブロッ
ク図、図6は変換回路の他の構成を示すブロック図であ
る。なお、図10に示した従来例と同様の機能を有する
構成部材には同じ番号を付記する。
【0036】本実施形態は、図1に示すように、CPU
[Central Processing Unit]として32ビットのマイク
ロプロセッサ11を用い、ROM3にプログラムを格納
したコンピュータ装置について説明する。また、命令語
の1語のビット数も、マイクロプロセッサ11の語長と
同じ32ビットとする。ただし、これらのビット数は、
32ビットに限らず何ビットでもよい。そして、命令語
は上記のように単に適当なビット数で区切ったものであ
るため、マイクロプロセッサ11の語長と命令語のビッ
ト数を相違させることもできる。もっとも、この命令語
は、マイクロプロセッサ11の語長と同じか少ないビッ
ト数にしておかないと、1語の読み込みに2回以上のア
クセスが必要となり処理が面倒になる。
[Central Processing Unit]として32ビットのマイク
ロプロセッサ11を用い、ROM3にプログラムを格納
したコンピュータ装置について説明する。また、命令語
の1語のビット数も、マイクロプロセッサ11の語長と
同じ32ビットとする。ただし、これらのビット数は、
32ビットに限らず何ビットでもよい。そして、命令語
は上記のように単に適当なビット数で区切ったものであ
るため、マイクロプロセッサ11の語長と命令語のビッ
ト数を相違させることもできる。もっとも、この命令語
は、マイクロプロセッサ11の語長と同じか少ないビッ
ト数にしておかないと、1語の読み込みに2回以上のア
クセスが必要となり処理が面倒になる。
【0037】本実施形態では、アドレスバス4のビット
数を32ビットとし、ROM3は232のアドレス空間を
有するものとする。このROM3には、擬似命令語から
なる擬似コードが格納されている。擬似命令語について
は後に詳細に説明するが、ここでは1語がデータバス5
と同じ16ビットであるとする。そして、このROM3
は、擬似命令語を1語(16ビット)ずつ読み出すもの
とし、ここで示すデータバス5も16ビットのみを使用
する。ただし、これらのビット数やROM3のアドレス
空間の大きさも任意である。もっとも、この擬似命令語
の1語のビット数は、少なくとも命令語の1語のビット
数よりも少なくなければならない。なお、ROM3は、
マスクROMの他、EEPROMなどの書き換え可能な
ものであってもよい。
数を32ビットとし、ROM3は232のアドレス空間を
有するものとする。このROM3には、擬似命令語から
なる擬似コードが格納されている。擬似命令語について
は後に詳細に説明するが、ここでは1語がデータバス5
と同じ16ビットであるとする。そして、このROM3
は、擬似命令語を1語(16ビット)ずつ読み出すもの
とし、ここで示すデータバス5も16ビットのみを使用
する。ただし、これらのビット数やROM3のアドレス
空間の大きさも任意である。もっとも、この擬似命令語
の1語のビット数は、少なくとも命令語の1語のビット
数よりも少なくなければならない。なお、ROM3は、
マスクROMの他、EEPROMなどの書き換え可能な
ものであってもよい。
【0038】マイクロプロセッサ11は、プロセッサ本
体1と命令語変換器2とを一体的に組み込んでLSI化
したものである。プロセッサ本体1は、図10に示した
マイクロプロセッサ1と同じ構成である。命令語変換器
2は、入力レジスタ2aと変換回路2bとからなり、デ
ータバス5を介して送られて来る16ビットの擬似命令
語を入力レジスタ2aを介して変換回路2bに入力する
ようになっている。変換回路2bは、入力された16ビ
ットの擬似命令語を32ビットの本来の命令語に変換す
るものであり、変換した命令語はプロセッサ本体1のデ
ータレジスタ1cに送るようになっている。なお、命令
語変換器2は、マイクロプロセッサ11の外部に設け、
データバス5とこのマイクロプロセッサ11との間に接
続配置するようにしてもよい。
体1と命令語変換器2とを一体的に組み込んでLSI化
したものである。プロセッサ本体1は、図10に示した
マイクロプロセッサ1と同じ構成である。命令語変換器
2は、入力レジスタ2aと変換回路2bとからなり、デ
ータバス5を介して送られて来る16ビットの擬似命令
語を入力レジスタ2aを介して変換回路2bに入力する
ようになっている。変換回路2bは、入力された16ビ
ットの擬似命令語を32ビットの本来の命令語に変換す
るものであり、変換した命令語はプロセッサ本体1のデ
ータレジスタ1cに送るようになっている。なお、命令
語変換器2は、マイクロプロセッサ11の外部に設け、
データバス5とこのマイクロプロセッサ11との間に接
続配置するようにしてもよい。
【0039】上記擬似コードの各擬似命令は、オブジェ
クトコードのいずれかの命令語に一義的に対応するもの
である。ここで、オブジェクトコードの命令語は、1語
が32ビットであることから、最大232種類(4,29
4,967,296種類)のバリエーションを有するこ
とになる。ただし、232のアドレス空間を有するROM
3に本来格納する筈であったオブジェクトコードは、最
大でも232語までであり、オブジェクトコード内では同
じ命令語が重複して何度も使用されているのが普通であ
るため、このオブジェクトコード内で実際に使用される
命令語のバリエーションは、232種類よりも十分に少な
くなる。また、オブジェクトコードの語数がより少なく
なれば、実際に使用される命令語のバリエーションもさ
らに少なくなる。したがって、この実際に使用される命
令語のバリエーションがN種類であるとすると、2
n(nは1以上の整数)がN以上で最小となるときのn
を擬似命令語の1語のビット数と定めれば、2n種類以
内の各擬似命令語を実際に使用されるN種類の各命令語
に一対一で全て対応させることができる。そして、ここ
では、実際に使用される命令語のバリエーションが215
<N≦216(32,768<N≦65,536)の範囲
内であったとする。このため、擬似命令語の1語のビッ
ト数を16ビット(n=16)とし、最大216種類のバ
リエーションを有するものとすれば、これらの各擬似命
令語をN種類の各命令語にそれぞれ対応させることがで
きる。
クトコードのいずれかの命令語に一義的に対応するもの
である。ここで、オブジェクトコードの命令語は、1語
が32ビットであることから、最大232種類(4,29
4,967,296種類)のバリエーションを有するこ
とになる。ただし、232のアドレス空間を有するROM
3に本来格納する筈であったオブジェクトコードは、最
大でも232語までであり、オブジェクトコード内では同
じ命令語が重複して何度も使用されているのが普通であ
るため、このオブジェクトコード内で実際に使用される
命令語のバリエーションは、232種類よりも十分に少な
くなる。また、オブジェクトコードの語数がより少なく
なれば、実際に使用される命令語のバリエーションもさ
らに少なくなる。したがって、この実際に使用される命
令語のバリエーションがN種類であるとすると、2
n(nは1以上の整数)がN以上で最小となるときのn
を擬似命令語の1語のビット数と定めれば、2n種類以
内の各擬似命令語を実際に使用されるN種類の各命令語
に一対一で全て対応させることができる。そして、ここ
では、実際に使用される命令語のバリエーションが215
<N≦216(32,768<N≦65,536)の範囲
内であったとする。このため、擬似命令語の1語のビッ
ト数を16ビット(n=16)とし、最大216種類のバ
リエーションを有するものとすれば、これらの各擬似命
令語をN種類の各命令語にそれぞれ対応させることがで
きる。
【0040】また、ROM3は、オブジェクトコードを
そのまま格納する場合には、図2に示すように、32ビ
ットのアドレスA0〜A31で指定される232の各アドレ
ス毎に、命令語を1語ずつ格納するための32ビットの
記憶領域を必要とする。しかし、16ビットの擬似命令
語からなる擬似コードを格納する場合には、図3に示す
ように、各アドレス毎に擬似命令語を1語ずつ格納する
ための16ビットの記憶領域があれば足りる。即ち、こ
の場合には、ROM3のメモリ容量を1/2(=16/
32)に減少させることができ、例えばアドレスが32
ビットで1ビットのデータを出力するメモリデバイスを
使用する場合であれば、本来32個のメモリデバイスを
併設しなければならないところを、16個のメモリデバ
イスで済ませることができるようになる。
そのまま格納する場合には、図2に示すように、32ビ
ットのアドレスA0〜A31で指定される232の各アドレ
ス毎に、命令語を1語ずつ格納するための32ビットの
記憶領域を必要とする。しかし、16ビットの擬似命令
語からなる擬似コードを格納する場合には、図3に示す
ように、各アドレス毎に擬似命令語を1語ずつ格納する
ための16ビットの記憶領域があれば足りる。即ち、こ
の場合には、ROM3のメモリ容量を1/2(=16/
32)に減少させることができ、例えばアドレスが32
ビットで1ビットのデータを出力するメモリデバイスを
使用する場合であれば、本来32個のメモリデバイスを
併設しなければならないところを、16個のメモリデバ
イスで済ませることができるようになる。
【0041】さらに、オブジェクトコード内で実際に使
用される命令語のバリエーションが211<N≦212の範
囲内であったとすると、擬似命令語の1語のビット数を
12ビット(n=12)まで減少させることができる。
そして、この場合には、図4に示すように、各アドレス
毎に擬似命令語を1語ずつ格納するための12ビットの
記憶領域があれば足りるので、ROM3のメモリ容量を
3/8(=12/32)に減少させることができる。
用される命令語のバリエーションが211<N≦212の範
囲内であったとすると、擬似命令語の1語のビット数を
12ビット(n=12)まで減少させることができる。
そして、この場合には、図4に示すように、各アドレス
毎に擬似命令語を1語ずつ格納するための12ビットの
記憶領域があれば足りるので、ROM3のメモリ容量を
3/8(=12/32)に減少させることができる。
【0042】上記擬似コードを作成するには、例えば、
まず本実施形態のコンピュータ装置で実行させるために
作成したソースプログラムをコンパイラでコンパイルし
てオブジェクトコードに変換し、このオブジェクトコー
ドが再配置可能形式のものである場合にはROM3上に
ロードしたものと同じ実行可能な形式に変換した上で、
このオブジェクトコード内で使用される全ての命令語を
調べる。すると、この命令語のバリエーションの数Nが
分かり、これによって擬似命令語のビット数nが決ま
る。したがって、このN種類の各命令語をnビットの各
擬似命令語にそれぞれ対応させて、この対応表に基づ
き、先のオブジェクトコードの各命令語を擬似命令語に
変換すれば上記擬似コードを作成することができる。そ
して、この擬似コードを擬似命令語の1語ずつROM3
の各アドレスに格納すれば、各擬似命令語のアドレス上
における相対位置関係は、元のオブジェクトコードの場
合と同じになる。なお、擬似命令語のビット数nは、2
nがN以上であれば必ずしも最小である必要はない。こ
のようにビット数nが最小ではない場合や最小であって
も対応付けする必要のない擬似命令語が多数残る場合に
は、この残りの各擬似命令語を別の命令語に対応付けて
おき、他の特定のオブジェクトコードについても同じ対
応表を使用できるようにすることも可能である。
まず本実施形態のコンピュータ装置で実行させるために
作成したソースプログラムをコンパイラでコンパイルし
てオブジェクトコードに変換し、このオブジェクトコー
ドが再配置可能形式のものである場合にはROM3上に
ロードしたものと同じ実行可能な形式に変換した上で、
このオブジェクトコード内で使用される全ての命令語を
調べる。すると、この命令語のバリエーションの数Nが
分かり、これによって擬似命令語のビット数nが決ま
る。したがって、このN種類の各命令語をnビットの各
擬似命令語にそれぞれ対応させて、この対応表に基づ
き、先のオブジェクトコードの各命令語を擬似命令語に
変換すれば上記擬似コードを作成することができる。そ
して、この擬似コードを擬似命令語の1語ずつROM3
の各アドレスに格納すれば、各擬似命令語のアドレス上
における相対位置関係は、元のオブジェクトコードの場
合と同じになる。なお、擬似命令語のビット数nは、2
nがN以上であれば必ずしも最小である必要はない。こ
のようにビット数nが最小ではない場合や最小であって
も対応付けする必要のない擬似命令語が多数残る場合に
は、この残りの各擬似命令語を別の命令語に対応付けて
おき、他の特定のオブジェクトコードについても同じ対
応表を使用できるようにすることも可能である。
【0043】上記命令語変換器2における変換回路2b
は、図5に示すように、nビット(図1の場合は16ビ
ット)のアドレス空間を有し、各アドレスの記憶領域に
32ビットの命令語を格納することができるROMによ
って構成することができる。このROMには、擬似命令
語と命令語の対応関係を示す変換テーブルが格納され
る。この変換テーブルは、上記命令語と擬似命令語の対
応表の関係を逆にしたものである。そして、nビットの
各擬似命令語をアドレスとした場合の32ビットの記憶
領域に、対応する各命令語を格納する。したがって、図
1の場合には、プロセッサ本体1が32ビットのアドレ
スを出力することによりROM3から読み出した16ビ
ットの擬似命令語は、入力レジスタ2aを介して変換回
路2bのROMにアドレスとして入力される。そして、
この変換回路2bのROMから読み出した32ビットの
命令語がプロセッサ本体1のデータレジスタ1cに送ら
れることになる。
は、図5に示すように、nビット(図1の場合は16ビ
ット)のアドレス空間を有し、各アドレスの記憶領域に
32ビットの命令語を格納することができるROMによ
って構成することができる。このROMには、擬似命令
語と命令語の対応関係を示す変換テーブルが格納され
る。この変換テーブルは、上記命令語と擬似命令語の対
応表の関係を逆にしたものである。そして、nビットの
各擬似命令語をアドレスとした場合の32ビットの記憶
領域に、対応する各命令語を格納する。したがって、図
1の場合には、プロセッサ本体1が32ビットのアドレ
スを出力することによりROM3から読み出した16ビ
ットの擬似命令語は、入力レジスタ2aを介して変換回
路2bのROMにアドレスとして入力される。そして、
この変換回路2bのROMから読み出した32ビットの
命令語がプロセッサ本体1のデータレジスタ1cに送ら
れることになる。
【0044】また、上記変換回路2bは、図6に示すよ
うに、nビットのアドレス空間を有し、各アドレスに3
2ビットの命令語を格納することができるRAMによっ
て構成することもできる。このRAMは、ロード信号を
アクティブにして書き込み状態とし、各擬似命令語をア
ドレス入力すると共に、これに対応する32ビットの命
令語を順に入力することにより、図5に示したROMと
同じ変換テーブルを格納することができる。そして、ロ
ード信号を非アクティブにすれば、このROMと同様の
動作を行うことができる。しかも、再度書き込み動作を
行えば、変換テーブルの内容を変更することができる。
したがって、このようなRAMを用いた変換回路2b
は、ROM3の挿し替えやEEPROMからなるROM
3の記憶内容の書き換えなどによりオブジェクトコード
が変更される可能性がある場合に使用すると便利であ
る。
うに、nビットのアドレス空間を有し、各アドレスに3
2ビットの命令語を格納することができるRAMによっ
て構成することもできる。このRAMは、ロード信号を
アクティブにして書き込み状態とし、各擬似命令語をア
ドレス入力すると共に、これに対応する32ビットの命
令語を順に入力することにより、図5に示したROMと
同じ変換テーブルを格納することができる。そして、ロ
ード信号を非アクティブにすれば、このROMと同様の
動作を行うことができる。しかも、再度書き込み動作を
行えば、変換テーブルの内容を変更することができる。
したがって、このようなRAMを用いた変換回路2b
は、ROM3の挿し替えやEEPROMからなるROM
3の記憶内容の書き換えなどによりオブジェクトコード
が変更される可能性がある場合に使用すると便利であ
る。
【0045】さらに、上記変換回路2bは、ROMやR
AMによる変換テーブルを用いるのではなく、通常の論
理回路やPLA[Programmable Logic Array]を用いて構
成することも可能である。
AMによる変換テーブルを用いるのではなく、通常の論
理回路やPLA[Programmable Logic Array]を用いて構
成することも可能である。
【0046】以上説明したように本実施形態のコンピュ
ータ装置は、擬似命令語のビット数を16ビットにした
場合にはROM3のメモリ容量を1/2に減少でき、擬
似命令語のビット数を12ビットにした場合にはROM
3のメモリ容量を3/8に減少することができる。しか
も、プロセッサ本体1から見れば、このROM3は32
ビットの各アドレスに32ビットの命令語が格納されて
いるのと同等であるため、このプロセッサ本体1は、図
10に示した従来のマイクロプロセッサ1と同じ構成の
ものを使用することができる。
ータ装置は、擬似命令語のビット数を16ビットにした
場合にはROM3のメモリ容量を1/2に減少でき、擬
似命令語のビット数を12ビットにした場合にはROM
3のメモリ容量を3/8に減少することができる。しか
も、プロセッサ本体1から見れば、このROM3は32
ビットの各アドレスに32ビットの命令語が格納されて
いるのと同等であるため、このプロセッサ本体1は、図
10に示した従来のマイクロプロセッサ1と同じ構成の
ものを使用することができる。
【0047】図7〜図9は本発明の第2実施形態を示す
ものであって、図7はコンピュータ装置の構成を示すブ
ロック図、図8はROMの構成を示す図、図9はコンピ
ュータ装置の1語読み出し動作を説明するフローチャー
トである。なお、図1〜図4に示した第1実施形態と同
様の機能を有する構成部材には同じ番号を付記して説明
を省略する。
ものであって、図7はコンピュータ装置の構成を示すブ
ロック図、図8はROMの構成を示す図、図9はコンピ
ュータ装置の1語読み出し動作を説明するフローチャー
トである。なお、図1〜図4に示した第1実施形態と同
様の機能を有する構成部材には同じ番号を付記して説明
を省略する。
【0048】本実施形態のコンピュータ装置は、図7に
示すように、第1実施形態とは命令語変換器2の構成が
異なる。また、アドレスバス4のビット数を31ビット
とし、図8に示すように、ROM3のアドレス空間を2
31の大きさにすると共に、このROM3の各アドレス毎
の記憶領域を32ビットにしている。このROM3に
は、第1実施形態で示した1語が16ビットの擬似命令
語からなる擬似コードが格納されている。ただし、各ア
ドレスの32ビットの記憶領域には、16ビットの擬似
命令語が2語ずつ格納されている。したがって、このR
OM3は、各アドレスの記憶領域が本来の命令語を格納
する場合と同じ32ビットの大きさを必要とするが、ア
ドレス空間が232の1/2となる231の大きさになるの
で、この分だけメモリ容量を減少させることができる。
また、このROM3から読み出される2語の擬似命令語
を転送するために、データバス5も32ビットのビット
幅を有する。
示すように、第1実施形態とは命令語変換器2の構成が
異なる。また、アドレスバス4のビット数を31ビット
とし、図8に示すように、ROM3のアドレス空間を2
31の大きさにすると共に、このROM3の各アドレス毎
の記憶領域を32ビットにしている。このROM3に
は、第1実施形態で示した1語が16ビットの擬似命令
語からなる擬似コードが格納されている。ただし、各ア
ドレスの32ビットの記憶領域には、16ビットの擬似
命令語が2語ずつ格納されている。したがって、このR
OM3は、各アドレスの記憶領域が本来の命令語を格納
する場合と同じ32ビットの大きさを必要とするが、ア
ドレス空間が232の1/2となる231の大きさになるの
で、この分だけメモリ容量を減少させることができる。
また、このROM3から読み出される2語の擬似命令語
を転送するために、データバス5も32ビットのビット
幅を有する。
【0049】命令語変換器2は、変換回路2bに加え
て、上位レジスタ2cと下位レジスタ2dとマルチプレ
クサ2eを備えている。上位レジスタ2cと下位レジス
タ2dは、いずれも16ビットのレジスタであり、それ
ぞれデータバス5の上位の16ビットと下位の16ビッ
トが入力されるようになっている。マルチプレクサ2e
は、これら上位レジスタ2cと下位レジスタ2dのいず
れかに保持された16ビットの擬似命令語を選択して変
換回路2bに送るデータセレクタである。なお、変換回
路2bは、第1実施形態で説明したものと同じ構成でよ
い。
て、上位レジスタ2cと下位レジスタ2dとマルチプレ
クサ2eを備えている。上位レジスタ2cと下位レジス
タ2dは、いずれも16ビットのレジスタであり、それ
ぞれデータバス5の上位の16ビットと下位の16ビッ
トが入力されるようになっている。マルチプレクサ2e
は、これら上位レジスタ2cと下位レジスタ2dのいず
れかに保持された16ビットの擬似命令語を選択して変
換回路2bに送るデータセレクタである。なお、変換回
路2bは、第1実施形態で説明したものと同じ構成でよ
い。
【0050】また、この命令語変換器2は、プロセッサ
本体1のアドレスレジスタ1aとアドレスバス4との間
に、32ビットのアドレス分離レジスタ2fを挿入配置
している。アドレス分離レジスタ2fは、アドレスレジ
スタ1aから出力されるアドレスAの各ビットA0〜A3
1を保持して、上位31ビットのA1〜A31からなる上位
アドレスUAを31ビットのアドレスバス4に送り出す
と共に、最下位ビットのA0をマルチプレクサ2eの制
御端子に送るようになっている。したがって、ROM3
は、プロセッサ本体1が出力するアドレスAのうち上位
31ビットの上位アドレスUAによってアドレスを指定
される。このようにアドレスAの最下位ビットA0を除
外した上位アドレスUAは、アドレスAを1ビット右シ
フトしたものとなり、また、アドレスAを2で整数除算
(剰余を切り捨てる)したものとなるので、最下位ビッ
トA0の値に応じて数1により算出される。
本体1のアドレスレジスタ1aとアドレスバス4との間
に、32ビットのアドレス分離レジスタ2fを挿入配置
している。アドレス分離レジスタ2fは、アドレスレジ
スタ1aから出力されるアドレスAの各ビットA0〜A3
1を保持して、上位31ビットのA1〜A31からなる上位
アドレスUAを31ビットのアドレスバス4に送り出す
と共に、最下位ビットのA0をマルチプレクサ2eの制
御端子に送るようになっている。したがって、ROM3
は、プロセッサ本体1が出力するアドレスAのうち上位
31ビットの上位アドレスUAによってアドレスを指定
される。このようにアドレスAの最下位ビットA0を除
外した上位アドレスUAは、アドレスAを1ビット右シ
フトしたものとなり、また、アドレスAを2で整数除算
(剰余を切り捨てる)したものとなるので、最下位ビッ
トA0の値に応じて数1により算出される。
【0051】
【数1】
【0052】また、マルチプレクサ2eは、プロセッサ
本体1が出力するアドレスAのうちの最下位ビットA0
に応じて上位レジスタ2cと下位レジスタ2dのいずれ
かに保持された擬似命令語を変換回路2bに送り出す。
なお、アドレス分離レジスタ2fは、特にアドレスを保
持する必要はなく、単にアドレスバス4のうちの最下位
ビットの配線を分岐してマルチプレクサ2eの制御端子
に接続するだけの構成であってもよい。
本体1が出力するアドレスAのうちの最下位ビットA0
に応じて上位レジスタ2cと下位レジスタ2dのいずれ
かに保持された擬似命令語を変換回路2bに送り出す。
なお、アドレス分離レジスタ2fは、特にアドレスを保
持する必要はなく、単にアドレスバス4のうちの最下位
ビットの配線を分岐してマルチプレクサ2eの制御端子
に接続するだけの構成であってもよい。
【0053】上記構成のコンピュータ装置におけるプロ
セッサ本体1の1語の読み込み動作を図9のフローチャ
ートに基づいて説明する。
セッサ本体1の1語の読み込み動作を図9のフローチャ
ートに基づいて説明する。
【0054】最初のステップ(以下「S」という)で、
プロセッサ本体1はアドレスレジスタ1aから32ビッ
トのアドレスAを送出する。すると、アドレス分離レジ
スタ2fからアドレスバス4を介して31ビットの上位
アドレスUAがROM3に送られ、データバス5に2語
の擬似命令語が出力される(S2)。このデータバス5
上の2語の擬似命令語は、1語ずつに分離されて命令語
変換器2の上位レジスタ2cと下位レジスタ2dにそれ
ぞれ保持される(S3)。また、マルチプレクサ2e
は、アドレスAの最下位ビットA0の値に応じて(S
4)、この値が“0”である場合には上位レジスタ2c
に保持された擬似命令語を選択して変換回路2bに送り
(S5)、この値が“1”である場合には下位レジスタ
2dに保持された擬似命令語を選択して変換回路2bに
送る(S6)。
プロセッサ本体1はアドレスレジスタ1aから32ビッ
トのアドレスAを送出する。すると、アドレス分離レジ
スタ2fからアドレスバス4を介して31ビットの上位
アドレスUAがROM3に送られ、データバス5に2語
の擬似命令語が出力される(S2)。このデータバス5
上の2語の擬似命令語は、1語ずつに分離されて命令語
変換器2の上位レジスタ2cと下位レジスタ2dにそれ
ぞれ保持される(S3)。また、マルチプレクサ2e
は、アドレスAの最下位ビットA0の値に応じて(S
4)、この値が“0”である場合には上位レジスタ2c
に保持された擬似命令語を選択して変換回路2bに送り
(S5)、この値が“1”である場合には下位レジスタ
2dに保持された擬似命令語を選択して変換回路2bに
送る(S6)。
【0055】変換回路2bは、このマルチプレクサ2e
から送られて来る16ビットの擬似命令語を32ビット
の本来の命令語に変換する(S7)。そして、変換され
た命令語をプロセッサ本体1に読み込むことにより(S
8)、1語の命令語の読み込み処理を終了する。
から送られて来る16ビットの擬似命令語を32ビット
の本来の命令語に変換する(S7)。そして、変換され
た命令語をプロセッサ本体1に読み込むことにより(S
8)、1語の命令語の読み込み処理を終了する。
【0056】ただし、例えば先にS1の処理で送出され
たアドレスAの最下位ビットA0が“0”であり、次の
1語を読み込むために再度S1の処理で送出されたアド
レスAがこの最下位ビットA0のみを“1”に変化させ
たものである場合には、上位アドレスUAには変化がな
いのでS2とS3の処理は実行されない。しかし、マル
チプレクサ2eは、前回選択した上位レジスタ2cに代
えて、下位レジスタ2dを選択するので(S4→S
6)、変換回路2bは、この下位レジスタ2dに保持さ
れた擬似命令語を本来の命令語に変換して(S7)プロ
セッサ本体1に送ることになる(S8)。したがって、
前回のアドレスAの最下位ビットのみが異なるアドレス
Aが新たに送出された場合には、ROM3の読み出し動
作が行われず、上位レジスタ2cまたは下位レジスタ2
dに保持された擬似命令語が命令語に変換されてプロセ
ッサ本体1に送られるので、プロセッサ本体1は読み出
しの時間待ちを行うことなく新たな命令語を読み込むこ
とができる。
たアドレスAの最下位ビットA0が“0”であり、次の
1語を読み込むために再度S1の処理で送出されたアド
レスAがこの最下位ビットA0のみを“1”に変化させ
たものである場合には、上位アドレスUAには変化がな
いのでS2とS3の処理は実行されない。しかし、マル
チプレクサ2eは、前回選択した上位レジスタ2cに代
えて、下位レジスタ2dを選択するので(S4→S
6)、変換回路2bは、この下位レジスタ2dに保持さ
れた擬似命令語を本来の命令語に変換して(S7)プロ
セッサ本体1に送ることになる(S8)。したがって、
前回のアドレスAの最下位ビットのみが異なるアドレス
Aが新たに送出された場合には、ROM3の読み出し動
作が行われず、上位レジスタ2cまたは下位レジスタ2
dに保持された擬似命令語が命令語に変換されてプロセ
ッサ本体1に送られるので、プロセッサ本体1は読み出
しの時間待ちを行うことなく新たな命令語を読み込むこ
とができる。
【0057】以上説明したように本実施形態のコンピュ
ータ装置は、擬似命令語のビット数を16ビットにする
ことによりROM3のメモリ容量を1/2に減少するこ
とができる。また、例えば擬似命令語のビット数を8ビ
ットにすることができれば、ROM3の各アドレスにこ
の擬似命令語を4語ずつ格納できるので、メモリ容量を
1/4に減少することができる。また、プロセッサ本体
1を図10に示した従来のマイクロプロセッサ1と同じ
構成とすることができる点は、第1実施形態の場合と同
じである。
ータ装置は、擬似命令語のビット数を16ビットにする
ことによりROM3のメモリ容量を1/2に減少するこ
とができる。また、例えば擬似命令語のビット数を8ビ
ットにすることができれば、ROM3の各アドレスにこ
の擬似命令語を4語ずつ格納できるので、メモリ容量を
1/4に減少することができる。また、プロセッサ本体
1を図10に示した従来のマイクロプロセッサ1と同じ
構成とすることができる点は、第1実施形態の場合と同
じである。
【0058】しかも、ROM3は、1度の読み出し動作
により2語以上の擬似命令語を同時に読み出し命令語変
換器2で保持させるので、プロセッサ本体1は、このR
OM3の読み出し動作に要する待ち時間が1/2以上短
縮され、処理速度を向上させて本来の性能を十分に発揮
することができるようになる。また、ROM3からの擬
似命令語の読み出しが効率よく行える分だけ、アドレス
バス4とデータバス5のバスサイクルを低下させること
もできる。ここで、LSIにおける動作周波数Fと消費
電力Pは、Zをその他の要因とすると、一般的に数2の
比例関係となる。
により2語以上の擬似命令語を同時に読み出し命令語変
換器2で保持させるので、プロセッサ本体1は、このR
OM3の読み出し動作に要する待ち時間が1/2以上短
縮され、処理速度を向上させて本来の性能を十分に発揮
することができるようになる。また、ROM3からの擬
似命令語の読み出しが効率よく行える分だけ、アドレス
バス4とデータバス5のバスサイクルを低下させること
もできる。ここで、LSIにおける動作周波数Fと消費
電力Pは、Zをその他の要因とすると、一般的に数2の
比例関係となる。
【0059】
【数2】
【0060】即ち、動作周波数Fが1/2に低下する
と、マイクロプロセッサ11やROM3の3ステータス
バッファなどでのスイッチング速度も1/2に下がるの
で、消費電力Pが約1/2に減少する。したがって、本
実施形態のコンピュータ装置のバスサイクルを低下させ
れば、消費電力Pも減少し、低消費電力化を図ることが
できる。さらに、アドレスバス4のビット数を31ビッ
トに縮小させることにより、このアドレスバス4に接続
される3ステータスバッファなどでの消費電力も減少さ
せることができる。
と、マイクロプロセッサ11やROM3の3ステータス
バッファなどでのスイッチング速度も1/2に下がるの
で、消費電力Pが約1/2に減少する。したがって、本
実施形態のコンピュータ装置のバスサイクルを低下させ
れば、消費電力Pも減少し、低消費電力化を図ることが
できる。さらに、アドレスバス4のビット数を31ビッ
トに縮小させることにより、このアドレスバス4に接続
される3ステータスバッファなどでの消費電力も減少さ
せることができる。
【0061】なお、上記第1実施形態と第2実施形態で
は、キャッシュメモリ1gを無視して説明したが、この
キャッシュメモリ1gを使用する場合には、命令語変換
器2とプロセッサ本体1との間、または、この命令語変
換器2とデータバス5との間に配置する。
は、キャッシュメモリ1gを無視して説明したが、この
キャッシュメモリ1gを使用する場合には、命令語変換
器2とプロセッサ本体1との間、または、この命令語変
換器2とデータバス5との間に配置する。
【0062】また、上記実施形態では、変換回路2bが
1種類の変換テーブルを用いる場合についてのみ説明し
たが、ROM3に格納された擬似コードのサイズが大き
すぎて擬似命令語のビット数を十分に減少させることが
できない場合には、これをアドレスに応じて複数のブロ
ックに分割し、各ブロック毎に異なる変換テーブルを用
いるようにすることもできる。この場合、変換テーブル
の切り換えは、プロセッサ本体1が送出するアドレスを
デコードすることにより行えばよい。
1種類の変換テーブルを用いる場合についてのみ説明し
たが、ROM3に格納された擬似コードのサイズが大き
すぎて擬似命令語のビット数を十分に減少させることが
できない場合には、これをアドレスに応じて複数のブロ
ックに分割し、各ブロック毎に異なる変換テーブルを用
いるようにすることもできる。この場合、変換テーブル
の切り換えは、プロセッサ本体1が送出するアドレスを
デコードすることにより行えばよい。
【0063】さらに、上記実施形態では、主記憶装置と
してROM3のみを説明したが、実際のコンピュータ装
置では、アドレスバス4やデータバス5にRAMも接続
される。そして、このRAMに記憶される可能性のある
全ての命令語が予め分かれば、このRAMにも擬似命令
語の擬似コードを格納して同様にメモリ容量を減少させ
ることができる。しかし、ハードディスク装置などから
このRAMに直接DMA[Direct Memory Access]などで
擬似コードを転送する場合は問題ないが、プロセッサ本
体1の内部レジスタ群1bに保持されたデータなどをこ
のRAMに書き込む場合には、これを擬似命令語に変換
してからデータバス5に送出するなどの工夫が必要とな
る。また、一般に、プログラムの実行時にRAMに書き
込まれるデータを全て予測するのは困難である。例え
ば、C言語で作成されたアプリケーションプログラムを
RAMにロードすると、このRAM上には、原則として
プログラムの終了時まで記憶内容が変化しないコード領
域の他に、静的変数や定数データなどを記憶するための
データ領域が確保され、プログラムの実行に伴って静的
変数の値が更新されるたびにこのデータ領域の記憶内容
が変化する。また、このRAM上にはスタック領域やヒ
ープ領域が確保され、プログラムのローカル変数などの
値が更新された場合や関数呼び出しなどが発生するたび
に、これらの領域の記憶内容も変化する。このため、実
際には、プログラムの実行に伴いRAMの記憶内容が書
き換えられる場合のその内容を予め全て予測することは
ほとんど不可能である。
してROM3のみを説明したが、実際のコンピュータ装
置では、アドレスバス4やデータバス5にRAMも接続
される。そして、このRAMに記憶される可能性のある
全ての命令語が予め分かれば、このRAMにも擬似命令
語の擬似コードを格納して同様にメモリ容量を減少させ
ることができる。しかし、ハードディスク装置などから
このRAMに直接DMA[Direct Memory Access]などで
擬似コードを転送する場合は問題ないが、プロセッサ本
体1の内部レジスタ群1bに保持されたデータなどをこ
のRAMに書き込む場合には、これを擬似命令語に変換
してからデータバス5に送出するなどの工夫が必要とな
る。また、一般に、プログラムの実行時にRAMに書き
込まれるデータを全て予測するのは困難である。例え
ば、C言語で作成されたアプリケーションプログラムを
RAMにロードすると、このRAM上には、原則として
プログラムの終了時まで記憶内容が変化しないコード領
域の他に、静的変数や定数データなどを記憶するための
データ領域が確保され、プログラムの実行に伴って静的
変数の値が更新されるたびにこのデータ領域の記憶内容
が変化する。また、このRAM上にはスタック領域やヒ
ープ領域が確保され、プログラムのローカル変数などの
値が更新された場合や関数呼び出しなどが発生するたび
に、これらの領域の記憶内容も変化する。このため、実
際には、プログラムの実行に伴いRAMの記憶内容が書
き換えられる場合のその内容を予め全て予測することは
ほとんど不可能である。
【0064】したがって、命令語変換器2は、ROM3
から読み出した擬似命令語のみを変換するようにして、
RAMから読み出したデータなどはそのままプロセッサ
本体1に送るようにしてもよい。この際、命令語変換器
2が変換を行うかどうかの切り換えは、プロセッサ本体
1が送出するアドレスをデコードすることにより行うこ
とができる。なお、実際のコンピュータ装置では、表示
装置や入力装置などの周辺装置との入出力のためにアド
レスバス4やデータバス5にI/Oポートも接続され
る。そして、このI/OポートについてもRAMの場合
と同様に取り扱うことができる。
から読み出した擬似命令語のみを変換するようにして、
RAMから読み出したデータなどはそのままプロセッサ
本体1に送るようにしてもよい。この際、命令語変換器
2が変換を行うかどうかの切り換えは、プロセッサ本体
1が送出するアドレスをデコードすることにより行うこ
とができる。なお、実際のコンピュータ装置では、表示
装置や入力装置などの周辺装置との入出力のためにアド
レスバス4やデータバス5にI/Oポートも接続され
る。そして、このI/OポートについてもRAMの場合
と同様に取り扱うことができる。
【0065】
【発明の効果】以上のように本発明のコンピュータ装置
によれば、メモリには本来の命令語よりもビット数の少
ない擬似命令語を格納するので、メモリ容量を減少させ
ることができる。したがって、主記憶装置のメモリ容量
を少なくすることができ、このコンピュータ装置を用い
た機器を小型化・低価格化することができる。
によれば、メモリには本来の命令語よりもビット数の少
ない擬似命令語を格納するので、メモリ容量を減少させ
ることができる。したがって、主記憶装置のメモリ容量
を少なくすることができ、このコンピュータ装置を用い
た機器を小型化・低価格化することができる。
【0066】しかも、複数語の擬似命令語を同時に読み
出すことにより、同じバスサイクルでも高速に命令語を
読み込むことができるようになり、プロセッサの高速化
に対応することができるようになる。また、バスサイク
ルを低下させれば、プロセッサの処理能力を低下させる
ことなく、消費電力を低減することができる。さらに、
プロセッサからメモリにアドレスを送るアドレスバスの
ビット数も少なくできるので、このバスに接続される3
ステータスバッファなどでの消費電力も低減することが
できる。
出すことにより、同じバスサイクルでも高速に命令語を
読み込むことができるようになり、プロセッサの高速化
に対応することができるようになる。また、バスサイク
ルを低下させれば、プロセッサの処理能力を低下させる
ことなく、消費電力を低減することができる。さらに、
プロセッサからメモリにアドレスを送るアドレスバスの
ビット数も少なくできるので、このバスに接続される3
ステータスバッファなどでの消費電力も低減することが
できる。
【図1】本発明の第1実施形態を示すものであって、コ
ンピュータ装置の構成を示すブロック図である。
ンピュータ装置の構成を示すブロック図である。
【図2】本発明の第1実施形態を示すものであって、R
OMの本来の構成を示す図である。
OMの本来の構成を示す図である。
【図3】本発明の第1実施形態を示すものであって、擬
似命令語を16ビットとした場合のROMの構成を示す
図である。
似命令語を16ビットとした場合のROMの構成を示す
図である。
【図4】本発明の第1実施形態を示すものであって、擬
似命令語を12ビットとした場合のROMの構成を示す
図である。
似命令語を12ビットとした場合のROMの構成を示す
図である。
【図5】本発明の第1実施形態を示すものであって、変
換回路の構成を示すブロック図である。
換回路の構成を示すブロック図である。
【図6】本発明の第1実施形態を示すものであって、変
換回路の他の構成を示すブロック図である。
換回路の他の構成を示すブロック図である。
【図7】本発明の第2実施形態を示すものであって、コ
ンピュータ装置の構成を示すブロック図である。
ンピュータ装置の構成を示すブロック図である。
【図8】本発明の第2実施形態を示すものであって、R
OMの構成を示す図である。
OMの構成を示す図である。
【図9】本発明の第2実施形態を示すものであって、コ
ンピュータ装置の1語読み出し動作を説明するフローチ
ャートである。
ンピュータ装置の1語読み出し動作を説明するフローチ
ャートである。
【図10】従来例を示すものであって、コンピュータ装
置の構成を示すブロック図である。
置の構成を示すブロック図である。
1 プロセッサ本体 2 命令語変換器 2b 変換回路 2c 上位レジスタ 2d 下位レジスタ 2e マルチプレクサ 2f アドレス分離レジスタ 3 ROM 4 アドレスバス 5 データバス
Claims (7)
- 【請求項1】 アドレスを指定して読み込んだオブジェ
クトコードの各命令語を処理するプロセッサと、 1語が該オブジェクトコードの命令語よりも少ないビッ
ト数で構成され、かつ、各語が一義的に該オブジェクト
コードのいずれかの命令語に対応する擬似命令語を各ア
ドレスに1語ずつ記憶すると共に、該プロセッサが指定
したアドレスの擬似命令語を読み出すメモリと、 該メモリから読み出された該擬似命令語をオブジェクト
コードの命令語に変換して該プロセッサに送る命令語変
換器とを備えたコンピュータ装置。 - 【請求項2】 アドレスを指定して読み込んだオブジェ
クトコードの各命令語を処理するプロセッサと、 1語が該オブジェクトコードの命令語よりも少ないビッ
ト数で構成され、かつ、各語が一義的に該オブジェクト
コードのいずれかの命令語に対応する擬似命令語を各ア
ドレスに2i(iは1以上の整数)語ずつ記憶すると共
に、該プロセッサが指定したアドレスからiビットを除
外したアドレスの2i語の該擬似命令語を読み出すメモ
リと、 該メモリから読み出された2i語の擬似命令語を保持す
ると共に、該メモリで除外されたiビットのアドレスに
基づきいずれか1語の擬似命令語を選択して該オブジェ
クトコードの命令語に変換し該プロセッサに送る命令語
変換器とを備えたコンピュータ装置。 - 【請求項3】 前記命令語変換器が、前記メモリから読
み出された2i語の擬似命令語をそれぞれ前記オブジェ
クトコードの命令語に変換して保持すると共に、該メモ
リで除外されたiビットのアドレスに基づきいずれか1
語の命令語を選択して前記プロセッサに送るものである
請求項2記載のコンピュータ装置。 - 【請求項4】 1チップマイクロプロセッサ内部に前記
プロセッサと前記命令語変換器とが内蔵された請求項1
ないし3のいずれかに記載のコンピュータ装置。 - 【請求項5】 前記命令語変換器が、前記擬似命令語と
前記オブジェクトコードの命令語との対応関係を表す変
換テーブルを用いて命令語の変換を行うものである請求
項1ないし4のいずれかに記載のコンピュータ装置。 - 【請求項6】 前記変換テーブルが、前記擬似命令語を
アドレス入力とし、該入力アドレスに対応して記憶した
オブジェクトコードの命令語を出力するROMで構成さ
れる請求項5記載のコンピュータ装置。 - 【請求項7】 前記変換テーブルが、前記擬似命令語を
アドレス入力とし、該入力アドレスに対応して記憶した
オブジェクトコードの命令語を出力するRAMで構成さ
れると共に、 該RAMの記憶内容を書き換える変換テーブル書き換え
手段が設けられた請求項5記載のコンピュータ装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP03529396A JP3201716B2 (ja) | 1996-02-22 | 1996-02-22 | コンピュータ装置 |
| US08/803,637 US6158046A (en) | 1996-02-22 | 1997-02-21 | Computer device and method for processing data utilizing pseudoinstruction words |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP03529396A JP3201716B2 (ja) | 1996-02-22 | 1996-02-22 | コンピュータ装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH09231071A true JPH09231071A (ja) | 1997-09-05 |
| JP3201716B2 JP3201716B2 (ja) | 2001-08-27 |
Family
ID=12437735
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP03529396A Expired - Fee Related JP3201716B2 (ja) | 1996-02-22 | 1996-02-22 | コンピュータ装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US6158046A (ja) |
| JP (1) | JP3201716B2 (ja) |
Cited By (2)
| 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 |
| JP2013528877A (ja) * | 2010-06-27 | 2013-07-11 | インテル・コーポレーション | 圧縮コードの高速実行 |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3505266B2 (ja) * | 1995-06-15 | 2004-03-08 | 三洋電機株式会社 | プログラム実行装置 |
| US6850990B1 (en) * | 1999-07-14 | 2005-02-01 | Landesk Software Limited | Transfer of synchronized data from 16-bit code to a 32-bit process |
| AU2001245720A1 (en) * | 2000-03-15 | 2001-09-24 | Arc International Plc | Method and apparatus for processor code optimization using code compression |
| JP2002318686A (ja) * | 2001-04-19 | 2002-10-31 | Sony Corp | プロセッサ |
| US7278137B1 (en) * | 2001-12-26 | 2007-10-02 | Arc International | Methods and apparatus for compiling instructions for a data processor |
| US7506133B2 (en) * | 2003-08-20 | 2009-03-17 | Seiko Epson Corporation | Method and apparatus for high speed addressing of a memory space from a relatively small address space |
| US7870544B2 (en) * | 2006-04-05 | 2011-01-11 | International Business Machines Corporation | Insuring maximum code motion of accesses to DMA buffers |
| US9250870B2 (en) * | 2014-03-14 | 2016-02-02 | International Business Machines Corporation | Automated creation of shim programs and interfaces |
| US11288187B2 (en) * | 2018-03-28 | 2022-03-29 | SK Hynix Inc. | Addressing switch solution |
| CN113050952B (zh) * | 2021-04-19 | 2024-07-05 | 杭州至千哩科技有限公司 | 伪指令编译方法、装置、计算机设备及存储介质 |
Family Cites Families (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4337458A (en) * | 1980-02-19 | 1982-06-29 | Sperry Corporation | Data encoding method and system employing two-thirds code rate with full word look-ahead |
| JPS62107339A (ja) * | 1985-11-05 | 1987-05-18 | Oki Electric Ind Co Ltd | マイクロコンピユ−タの命令構成方法 |
| US4791558A (en) * | 1987-02-13 | 1988-12-13 | International Business Machines Corporation | System and method for generating an object module in a first format and then converting the first format into a format which is loadable into a selected computer |
| US5768575A (en) * | 1989-02-24 | 1998-06-16 | Advanced Micro Devices, Inc. | Semi-Autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for sepculative and out-of-order execution of complex instructions |
| JP2835103B2 (ja) * | 1989-11-01 | 1998-12-14 | 富士通株式会社 | 命令指定方法及び命令実行方式 |
| US5335330A (en) * | 1990-05-14 | 1994-08-02 | Matsushita Electric Industrial Co., Ltd. | Information processing apparatus with optimization programming |
| US5507030A (en) * | 1991-03-07 | 1996-04-09 | Digitial Equipment Corporation | Successive translation, execution and interpretation of computer program having code at unknown locations due to execution transfer instructions having computed destination addresses |
| JPH04362759A (ja) * | 1991-06-10 | 1992-12-15 | Sharp Corp | 中央処理装置 |
| KR950008443B1 (ko) * | 1991-06-28 | 1995-07-31 | 샤프 가부시끼가이샤 | 2-가/n-가 변환유니트를 포함하는 기억장치 |
| JPH05197545A (ja) * | 1991-12-10 | 1993-08-06 | Mitsubishi Electric Corp | マイクロコンピュータ |
| JPH06168140A (ja) * | 1992-11-27 | 1994-06-14 | Hitachi Ltd | プログラム変換装置 |
| JPH06266556A (ja) * | 1993-03-15 | 1994-09-22 | Fujitsu Ltd | データ処理装置 |
| US5628017A (en) * | 1993-03-15 | 1997-05-06 | Microsoft Corporation | Method and system for providing event-response capabilities to pseudocode |
| CA2093451C (en) * | 1993-04-06 | 2000-03-14 | David M. Mooney | Method and mechanism for calling 32-bit functions from 16-bit functions |
| US5487158A (en) * | 1993-04-06 | 1996-01-23 | International Business Machines Corporation | Method and procedure call mechanism for calling 16-bit functions from 32-bit functions |
| JP3332606B2 (ja) * | 1994-09-27 | 2002-10-07 | 三菱電機システムエル・エス・アイ・デザイン株式会社 | マイクロプロセッサ |
| JP3569811B2 (ja) * | 1995-01-25 | 2004-09-29 | 株式会社ルネサステクノロジ | パイプライン処理機能を有するデータ処理装置 |
-
1996
- 1996-02-22 JP JP03529396A patent/JP3201716B2/ja not_active Expired - Fee Related
-
1997
- 1997-02-21 US US08/803,637 patent/US6158046A/en not_active Expired - Fee Related
Cited By (2)
| 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 |
| JP2013528877A (ja) * | 2010-06-27 | 2013-07-11 | インテル・コーポレーション | 圧縮コードの高速実行 |
Also Published As
| Publication number | Publication date |
|---|---|
| US6158046A (en) | 2000-12-05 |
| JP3201716B2 (ja) | 2001-08-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6915413B2 (en) | Micro-controller for reading out compressed instruction code and program memory for compressing instruction code and storing therein | |
| JPH0636515B2 (ja) | 通信プロセッサ装置 | |
| US5682531A (en) | Central processing unit | |
| JP3201716B2 (ja) | コンピュータ装置 | |
| JPH11194950A (ja) | オブジェクト変換装置及びオブジェクト変換方法及びプログラム記録媒体 | |
| US6253305B1 (en) | Microprocessor for supporting reduction of program codes in size | |
| JPH11272546A (ja) | 可変長レジスタ装置 | |
| US8484446B2 (en) | Microprocessor saving data stored in register and register saving method | |
| JP3106060B2 (ja) | 信号プロセッサ | |
| JP2556182B2 (ja) | デ−タ処理装置 | |
| US5799138A (en) | Apparatus for instruction-word-linK compression | |
| JPH03204718A (ja) | 情報処理装置 | |
| EP0905613B1 (en) | Method for storing and using executable programs and apparatus therefor | |
| WO2004017200A1 (ja) | 情報処理方法とその方法を実現するプログラム及び記録媒体 | |
| JP2000039995A (ja) | 高性能マイクロプロセッサで使用するためのフレキシブル累算レジスタファイル | |
| JPH118547A (ja) | 再構成可能演算装置 | |
| JP3586689B2 (ja) | 演算装置および演算装置設計方法 | |
| JPS62107339A (ja) | マイクロコンピユ−タの命令構成方法 | |
| JP2696578B2 (ja) | データ処理装置 | |
| JPH1040165A (ja) | データ読み出し方法およびリードバッファ | |
| JP2007234065A (ja) | データ処理装置 | |
| JPS6230455B2 (ja) | ||
| KR101011761B1 (ko) | 효율적인 비트 데이터 처리 방법 | |
| JP2004151915A (ja) | データ処理装置 | |
| JPH06149563A (ja) | データ処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20010608 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090622 Year of fee payment: 8 |
|
| LAPS | Cancellation because of no payment of annual fees |