JPH06266553A - Computer system - Google Patents

Computer system

Info

Publication number
JPH06266553A
JPH06266553A JP5610293A JP5610293A JPH06266553A JP H06266553 A JPH06266553 A JP H06266553A JP 5610293 A JP5610293 A JP 5610293A JP 5610293 A JP5610293 A JP 5610293A JP H06266553 A JPH06266553 A JP H06266553A
Authority
JP
Japan
Prior art keywords
instruction
processor
instruction code
supported
cpu
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
JP5610293A
Other languages
Japanese (ja)
Inventor
Mototsugu Tsutsui
基次 筒井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP5610293A priority Critical patent/JPH06266553A/en
Publication of JPH06266553A publication Critical patent/JPH06266553A/en
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

PURPOSE:To support a CISC type instruction by an RISC type processor. CONSTITUTION:A conversion table 2 stores the correspondence between the instruction codes that are not supported by a CPU 1 and a string of instruction codes that are supported by a processor and attains a function equivalent to those instruction codes that are not supported by the CPU 1. If the instruction code supplied to the CPU 1 directly from a memory 7 or via an instruction cache 4 is not supported by the CPU 1, a controller 5 successively supplies the instruction codes forming a string of instruction codes stored in a conversion table to the CPU 1 in place of those instruction codes supplied from the memory 7.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、RISC(Reduced In
struction Set Computer)型プロセッサを用いた計算機
システムに関し、特に、そのエミュレ−ションの技術に
関するものである。
BACKGROUND OF THE INVENTION The present invention is a RISC (Reduced In
The present invention relates to a computer system using a (struction set computer) type processor, and particularly to the technology of its emulation.

【0002】[0002]

【従来の技術】近年のワークステーションにおいて用い
られるMPU(Micro proccessor unit)は、RISC
型が主流となりつつある。しかし、RISC型ア−キテ
クチャ−の採用によリ、ハ−ドゥエア性能、機能は著し
い発展をみせている反面、このようなRISC型プロセ
ッサの性能を最大限に引き出すために必要となるコンパ
イラ技術等のソフトウェア技術の開発の遅れが問題とな
ってきている(日経エレクトロニクス1990.6.1
1.P172)。
2. Description of the Related Art The MPU (Micro proccessor unit) used in recent workstations is a RISC.
Molds are becoming mainstream. However, due to the adoption of the RISC type architecture, hard-air performance and functions have been remarkably developed. On the other hand, compiler technology and the like required to maximize the performance of such RISC type processor. Delay in the development of software technology in Japan has become a problem (Nikkei Electronics 1990.6.1
1. P172).

【0003】また、新たにRISC型プロセッサを採用
したコンピュ−タを製作する場合等、CISC型プロセ
ッサを採用していた従来の機種との互換性の維持するこ
とが難しい(日経エレクトロニクス1992.4.2
7.P115)。
Further, when a computer newly adopting a RISC type processor is manufactured, it is difficult to maintain compatibility with a conventional model adopting a CISC type processor (Nikkei Electronics 1992.4. Two
7. P115).

【0004】[0004]

【発明が解決しようとする課題】さて、ソフトウェアの
開発工数を減らすためには、従来の蓄積されたノウハウ
の活用ができることが一番望ましい。特に、従来の機種
のバイナリレベル(マシン語レベル)の命令セットを、
そのまま新たな機種に流用可能となればより高い移植性
を実現でき、また製品の互換性が保つことができる。
In order to reduce the man-hours for software development, it is most desirable to be able to utilize the conventional accumulated know-how. Especially, the binary level (machine language level) instruction set of the conventional model is
If it can be used as it is for a new model, higher portability can be realized and product compatibility can be maintained.

【0005】ところで、CISC型プロセッサは、様々
な処理サイクルの複雑な命令を含む命令セットを備えて
いる。したがい、少ないステップ数のプログラムを作成
するこができ、またソフトウェアの開発工数も削限でき
る。一方、RISC型プロセッサは複雑な命令をサポ−
トせずに、命令を同じ処理サイクルで実行できるものに
のみに制限することで、スム−ズなパイプライン処理を
実現することにより処理の高速化をはかっている。
Meanwhile, the CISC type processor is provided with an instruction set including complicated instructions of various processing cycles. Therefore, a program with a small number of steps can be created, and the man-hours for software development can be cut down. On the other hand, the RISC type processor supports complicated instructions.
By limiting the instructions to only those that can be executed in the same processing cycle without executing the operation, a smooth pipeline processing is realized to speed up the processing.

【0006】したがい、CISC型プロセッサ上で開発
したマシン語レベルのソフトウェアは、RISC型プロ
セッサで実行することはできない。
Therefore, the machine language level software developed on the CISC type processor cannot be executed on the RISC type processor.

【0007】すなわち、CISC型プロセッサを用いた
コンピュ−タと、RISC型プロセッサを用いたコンピ
ュ−タの間には互換性がない。
That is, there is no compatibility between a computer using a CISC type processor and a computer using a RISC type processor.

【0008】このため、CISC型プロセッサを用いた
コンピュ−タ上で開発したソフトウェア資産や、蓄積さ
れたノウハウを、RISC型プロセッサを用いたコンピ
ュ−タ上で利用することができない。
Therefore, software assets developed on a computer using a CISC type processor and accumulated know-how cannot be used on a computer using a RISC type processor.

【0009】そこで、本発明は、RISC型プロセッサ
において、そのパイプライン処理を乱すことなく、CI
SC型プロセッサや他のプロセッサの命令をサポ−トす
ることのできるアーキテクチャを提供することを目的と
する。
In view of the above, the present invention is directed to a RISC type processor without disturbing its pipeline processing.
It is an object of the present invention to provide an architecture capable of supporting the instructions of SC type processors and other processors.

【0010】[0010]

【課題を解決するための手段】前記目的達成のために、
本発明は、プロセッサと、プロセッサに供給する命令を
格納したメモリとを備えた計算機システムであって、前
記プロセッサがサポ−トしていない命令コ−ドに対応さ
せて、前記プロセッサがサポ−トする命令コ−ドの列で
あって、前記プロセッサがサポ−トしていない命令コ−
ドと等価な機能を果たす命令コ−ドの列を記憶した変換
テ−ブルと、前記メモリより前記プロセッサに供給され
た命令コ−ドが、前記プロセッサがサポ−トしていない
命令コ−ドであった場合に、前記メモリより供給された
命令コ−ドに代えて、当該命令コ−ドに対応して前記変
換テ−ブルに記憶されている命令コ−ドの列を構成する
各命令コ−ドを前記プロセッサに順次供給する制御手段
とを有することを特徴とする計算機システムを提供す
る。
[Means for Solving the Problems] To achieve the above object,
The present invention is a computer system comprising a processor and a memory storing instructions to be supplied to the processor, wherein the processor supports the instruction code not supported by the processor. A sequence of instruction codes to be executed which are not supported by the processor.
A conversion table that stores a sequence of instruction codes that performs a function equivalent to that of the code and an instruction code that is supplied from the memory to the processor are instruction codes that are not supported by the processor. In this case, instead of the instruction code supplied from the memory, each instruction constituting the sequence of instruction codes stored in the conversion table corresponding to the instruction code. And a control means for sequentially supplying the code to the processor.

【0011】[0011]

【作用】本発明に係る計算機システムによれば、たとえ
ば、メモリよりRISC型プロセッサに供給された命令
コ−ドが、前記プロセッサがサポ−トしていないCIS
C型命令コ−ドであった場合にも、これに代えて、当該
命令コ−ドに対応してあらかじめ、変換テ−ブルに記憶
しておいた、当該CISC型命令と等価な機能を果たす
RISC型命令コ−ドの列を構成する各RISC型命令
コ−ドを前記RISC型プロセッサに順次供給するころ
ができる。
According to the computer system of the present invention, for example, the instruction code supplied from the memory to the RISC type processor is not supported by the processor.
Even in the case of a C type instruction code, instead of this, a function equivalent to the CISC type instruction stored in advance in the conversion table corresponding to the instruction code is fulfilled. Each RISC type instruction code forming a row of RISC type instruction codes can be sequentially supplied to the RISC type processor.

【0012】よって、アプリケ−ションプログラムの依
存するプロセッサの型や種別によらずに、当該アプリケ
−ションプログラムを実行することができる。また、こ
の際、RISC型プロセッサに与えられる命令はRIS
C型命令のみであるので、そのパイプライン処理が乱れ
ることもない。
Therefore, the application program can be executed regardless of the type and type of the processor on which the application program depends. At this time, the instruction given to the RISC type processor is RIS.
Since there are only C-type instructions, the pipeline processing is not disturbed.

【0013】[0013]

【実施例】以下、本発明の一実施例を説明する。EXAMPLE An example of the present invention will be described below.

【0014】図1に、本実施例に係る計算機システムの
構成を示す。
FIG. 1 shows the configuration of a computer system according to this embodiment.

【0015】図中、1はRISC型のCPU、2は変換
テ−ブル、3はデータキャッシュ、4は命令キャッシ
ュ、5はコントロ−ラ、6はシステムコントロ−ラ、7
はDRAMで構成されるメモリである。また、コントロ
−ラ5は、キャッシュコントロ−ラ52と、エンコ−ダ
51と、カウンタ53を内蔵した1チップコントロ−ラ
ICとして実現されている。
In the figure, 1 is a RISC CPU, 2 is a conversion table, 3 is a data cache, 4 is an instruction cache, 5 is a controller, 6 is a system controller, 7
Is a memory composed of a DRAM. Further, the controller 5 is realized as a one-chip controller IC having a cash controller 52, an encoder 51, and a counter 53 built therein.

【0016】CPU1は、所望のデータをデータキャッ
シュ3より、所望の命令を命令キャッシュ14より取り
込み処理する。所望の命令やデータが命令キャッシュ4
もしくはデータキャッシュ4上に存在しない場合には、
システムコントローラによってメモリ上の命令、データ
が、それぞれ命令キャッシュ4、データキャッシュにロ
−ドされる。各部は、システムクロック103に同期し
て動作する。
The CPU 1 fetches desired data from the data cache 3 and a desired instruction from the instruction cache 14 and processes them. The desired instruction or data is the instruction cache 4
Or if it does not exist in the data cache 4,
The system controller loads the instruction and data on the memory into the instruction cache 4 and the data cache, respectively. Each unit operates in synchronization with the system clock 103.

【0017】さて、CPU1は、システムの起動時等
に、システムコントロ−ラ6内のレジスタに、命令セッ
トの変換を行うか否かを指定する情報をセットする。シ
ステムコントロ−ラ6は、変換を行わない旨が指定され
た場合には、信号104をネゲ−トする。信号104が
ネゲ−トされると、コントロ−ラ5のキャッシュコント
ロ−ラ52は、信号100をネゲ−トすることにより変
換テ−ブルのパス111への出力を抑止する。一方、信
号101をアサ−トし、命令キャッシュ2からCPU1
へのパス110による直接出力をイネ−ブルにする。こ
のように、命令セットの変換を行わないモ−ドでは、変
換テ−ブル2が無効化された状態であり、従来の計算機
システムと同様に動作する。
Now, the CPU 1 sets information designating whether or not to convert the instruction set in the register in the system controller 6 when the system is started. The system controller 6 negates the signal 104 when it is specified that the conversion is not performed. When the signal 104 is negated, the cache controller 52 of the controller 5 inhibits the output of the conversion table to the path 111 by negating the signal 100. On the other hand, the signal 101 is asserted, and the instruction cache 2 to the CPU 1
Enable direct output by path 110 to. As described above, in the mode in which the instruction set is not converted, the conversion table 2 is in the invalid state, and the operation is similar to that of the conventional computer system.

【0018】一方、変換を行う旨が指定された場合に
は、システムコントロ−ラ6は、信号104をアサ−ト
する。信号104がアサ−トされると、コントロ−ラ5
のキャッシュコントロ−ラ52は、信号100をアサ−
トすることにより変換テ−ブルのパス111への出力を
許可する。一方、信号101をネゲ−トし、命令キャッ
シュ2からCPU1へのパス110による直接出力を抑
止する。パス110による出力が抑止されると、命令キ
ャッシュ4からCPU1への出力される命令は、パス1
12を介して変換テ−ブル2に供給される。
On the other hand, when the conversion is designated, the system controller 6 asserts the signal 104. When the signal 104 is asserted, the controller 5
Cash controller 52 asserts signal 100.
Output of the conversion table is permitted. On the other hand, the signal 101 is negated and the direct output from the instruction cache 2 to the CPU 1 via the path 110 is suppressed. When the output by the path 110 is suppressed, the instruction output from the instruction cache 4 to the CPU 1 is
It is supplied to the conversion table 2 via 12.

【0019】変換テ−ブル2はSRAMにより構成さ
れ、命令キャッシュとCPUの間に配置される。コント
ロ−ラ5とこの変換テ−ブル2は、命令キャッシュか
ら、CPU1に取り込む命令がCISC型の命令である
場合には、これをRISC型の命令列に変換する。
The conversion table 2 is composed of SRAM and is arranged between the instruction cache and the CPU. The controller 5 and the conversion table 2 convert the instruction fetched from the instruction cache into the CPU 1 into a RISC type instruction sequence when the instruction is a CISC type instruction.

【0020】ここで、図2に、変換テ−ブル2で行うC
ISC型命令の、RISC型命令列への変換の関係を示
す。
Here, in FIG. 2, C performed by the conversion table 2 is used.
The relationship of conversion of an ISC type instruction into a RISC type instruction sequence is shown.

【0021】図2のCISC型命令”ADD メモリ、
レジスタ1”は、メモリの値をレジスタ1の値と加算
し、元のメモリに結果を渡す加算命令である。
The CISC type instruction "ADD memory of FIG.
Register 1 ″ is an add instruction that adds the value in memory with the value in register 1 and passes the result back to the original memory.

【0022】RISC型のプロセッサであるCPU1
は、このようなメモリに対する演算命令をサポ−トして
いない。そこで、変換テ−ブル2において、CISC型
命令”ADD メモリ、レジスタ1”と同じ結果を得る
ことのできる、3つのRISC型命令よりなる命令列に
CISC型命令”ADD メモリ、レジスタ1”を変換
する。
CPU 1 which is a RISC type processor
Does not support arithmetic instructions for such memories. Therefore, the conversion table 2 converts the CISC type instruction "ADD memory, register 1" into an instruction sequence consisting of three RISC type instructions that can obtain the same result as the CISC type instruction "ADD memory, register 1". To do.

【0023】すなわち、演算されるメモリの値をレジス
タ2にロードする命令”LOD レジスタ2、メモリ”
と、レジスタ1、2間の加算を行い結果をレジスタ1に
格納する命令”ADD レジスタ1 レジスタ2”、そ
して、レジスタ1の内容を元のメモリにストアする命
令”STA メモリ、レジスタ1”の3つのRISC型
命令の命令列に、CISC型命令”ADD メモリ、レ
ジスタ1”を変換する。
That is, the instruction "LOD register 2, memory" for loading the value of the operated memory into register 2
And an instruction "ADD register 1 register 2" for adding the results between registers 1 and 2 and storing the result in register 1, and an instruction "STA memory, register 1" for storing the contents of register 1 in the original memory. The CISC type instruction “ADD memory, register 1” is converted into an instruction sequence of one RISC type instruction.

【0024】また、たとえば、図3に示したCISC型
命令”ADD メモリ1 メモリ2”は、メモリ上のメ
モリ1というアドレスの内容に、メモリ上のメモリ1と
いうアドレスの内容を加算する命令であるが、この命令
については、4つのRISC型命令よりなる命令列”L
OD レジスタ1 メモリ1”、”LOD レジスタ2
メモリ2”、”ADD レジスタ1 レジスタ
2”、”STA メモリ2レジスタ2”に変換するよう
にする。
Further, for example, the CISC type instruction "ADD memory 1 memory 2" shown in FIG. 3 is an instruction for adding the content of the address of memory 1 on the memory to the content of the address of memory 1 on the memory. However, for this instruction, an instruction sequence "L" consisting of four RISC type instructions
OD register 1 memory 1 "," LOD register 2
The memory 2 "," ADD register 1 register 2 ", and" STA memory 2 register 2 "are converted.

【0025】このように、本実施例に係る計算機システ
ムでは、CPU1に取り込む命令がCISC型の命令で
ある場合には、これを同等の機能を果たすRISC型の
命令列に変換する。
As described above, in the computer system according to the present embodiment, when the instruction to be loaded into the CPU 1 is a CISC type instruction, this is converted into a RISC type instruction sequence which performs an equivalent function.

【0026】以下、命令コードが16ビットとして、図
2で示した変換動作を例にとり、このようなCISC型
命令からRISC型命令列への変換動作について、図4
を用いて説明する。
In the following, assuming that the instruction code is 16 bits, the conversion operation shown in FIG. 2 is taken as an example, and the conversion operation from such a CISC type instruction to a RISC type instruction sequence is shown in FIG.
Will be explained.

【0027】この場合、図1の変換テ−ブル2は、20
ビット幅のアドレスを有するSRAMで構成する。
In this case, the conversion table 2 of FIG.
An SRAM having a bit width address is used.

【0028】いま、CPUから命令を要求されると、コ
ントロ−ラ5は命令キャッシュ4もしくはシステムコン
トロ−ラ8に命令フェッチを要求し、命令を一つ読みだ
す。読みだされた命令の各ビットは変換テ−ブル2を構
成するSRAMのアドレスの上位16ビットに入力され
る。一方、コントロ−ラ5は、カウンタ53より、SR
AMのアドレスの下位4ビットとして“0h”を出力す
る。
Now, when the CPU requests an instruction, the controller 5 requests the instruction cache 4 or the system controller 8 to fetch an instruction and reads one instruction. Each bit of the read instruction is input to the upper 16 bits of the SRAM address forming the conversion table 2. On the other hand, the controller 5 detects the SR from the counter 53.
"0h" is output as the lower 4 bits of the AM address.

【0029】今、入力された命令がCISC型加算命令
1254hである場合、SRAMのアドレスは、コント
ローラにより生成される下位4ビット“0h”とあわせ
て、12540hとなる。
If the input instruction is the CISC type addition instruction 1254h, the address of the SRAM is 12540h including the lower 4 bits "0h" generated by the controller.

【0030】このアドレスには、あらかじめ、CISC
型加算命令加算命令と同じ結果を得ることのできる、3
つのRISC型命令よりなる命令列の第1番目のRIS
C型命令LOD;1001hの下位側に、この命令列の
命令数の残りを表す4ビットを連結した値を記憶させて
おく。この場合、残りの命令数は2個であるので、アド
レス12540hには、10012hを記憶しておく。
CISC is previously assigned to this address.
Type addition instruction 3 which can obtain the same result as addition instruction
First RIS of instruction sequence consisting of two RISC type instructions
A value obtained by concatenating 4 bits representing the rest of the number of instructions of this instruction sequence is stored in the lower side of the C-type instruction LOD; 1001h. In this case, since the number of remaining instructions is 2, 10012h is stored in the address 12540h.

【0031】SRAMのアドレス12540hより出力
された値10012hの上位16ビット1001hは、
CPU1に命令として与えられる。CPU1は、この命
令を実行し、コントロ−ラ5に次の命令を要求する。一
方、SRAMのアドレス12540hより出力された値
10012hの下位4ビット2hは、コントロ−ラ5に
入力される。コントロ−ラは、エンコ−ダ51により、
入力された値を判定し、入力された値が”0h”でない
場合、CPUから命令要求を受け取ると、カウンタ53
を1インクリメントし、SRAMのアドレスの下位4ビ
ットを1インクリメントする。また、これによりシステ
ムコントロ−ラ6のウェイトの調整を行う。
The upper 16 bits 1001h of the value 10012h output from the address 12540h of the SRAM are
It is given to the CPU 1 as an instruction. The CPU 1 executes this instruction and requests the controller 5 for the next instruction. On the other hand, the lower 4 bits 2h of the value 10012h output from the SRAM address 12540h are input to the controller 5. The controller uses the encoder 51,
The input value is judged, and if the input value is not "0h", when the instruction request is received from the CPU, the counter 53
Is incremented by 1, and the lower 4 bits of the SRAM address are incremented by 1. In addition, the weight of the system controller 6 is adjusted accordingly.

【0032】これにより、SRAMのアドレスは1イン
クリメントされ、アドレス12541hが入力される。
SRAMのこのアドレスには、あらかじめ、CISC型
加算命令加算命令と同じ結果を得ることのできる、3つ
のRISC型命令よりなる命令列の第2番目のRISC
命令ADD;2010hの下位側に、この命令列の残り
の命令数1を表す値1hを連結した値、20101hを
記憶させておく。
As a result, the SRAM address is incremented by 1, and the address 12541h is input.
At this address of the SRAM, the second RISC of the instruction sequence consisting of three RISC type instructions that can obtain the same result as the CISC type add instruction add instruction in advance.
A value obtained by concatenating the value 1h representing the remaining instruction count 1 of this instruction sequence, 20101h, is stored in the lower side of the instruction ADD; 2010h.

【0033】これにより、値20101hの上位16ビ
ットの命令ADD;2010hは、CPU1に命令とし
て与えられる。CPU1は、この命令を実行し、次の命
令をコントロ−ラ5に要求する。
As a result, the upper 16-bit instruction ADD; 2010h of the value 20101h is given to the CPU 1 as an instruction. The CPU 1 executes this instruction and requests the next instruction from the controller 5.

【0034】一方、SRAMのアドレス12541hよ
り出力された値の下位4ビットを受け取り、これが”0
h”でないので、先程と同様に、CPUから命令要求を
受け取ると、SRAMのアドレスの下位4ビットを1イ
ンクリメントする。
On the other hand, the lower 4 bits of the value output from the SRAM address 12541h are received, and this is "0".
Since it is not h ″, when the instruction request is received from the CPU, the lower 4 bits of the address of the SRAM are incremented by 1 as in the previous case.

【0035】これにより、今度は、SRAMのアドレス
は1インクリメントされ、アドレス12542hが入力
される。SRAMのこのアドレスには、あらかじめ、C
ISC型加算命令加算命令と同じ結果を得ることのでき
る、3つのRISC型命令よりなる命令列の第3番目の
RISC命令STA;1002hの下位側に、この命令
列の残りの命令数0を表す値0hを連結した値、100
20hを記憶させておく。
As a result, the SRAM address is incremented by 1 and the address 12542h is input. This address of the SRAM is C
ISC type addition instruction The third RISC instruction STA of the instruction sequence consisting of three RISC type instructions, which can obtain the same result as the addition instruction, represents the remaining number of instructions 0 of this instruction sequence on the lower side of 1002h. Value that is the concatenation of the value 0h, 100
Remember 20h.

【0036】これにより、値10020hの上位16ビ
ットの命令STA;1002hは、CPU1に命令とし
て与えられる。CPU1は、この命令を実行し、次の命
令をコントロ−ラ5に要求する。
As a result, the upper 16-bit instruction STA; 1002h having the value 10020h is given to the CPU 1 as an instruction. The CPU 1 executes this instruction and requests the next instruction from the controller 5.

【0037】一方、コントロ−ラは、SRAMのアドレ
ス12540hより出力された値の下位4ビットを受け
取り、これが”0h”であるので、カウンタ53をリセ
ットし、SRAMのアドレスの下位4ビットを0hに戻
し、次の命令フェッチを、命令キャッシュ4またはシス
テムコントローラ6に対し要求し、次の命令を読みだ
す。
On the other hand, the controller receives the lower 4 bits of the value output from the SRAM address 12540h, and since this is "0h", it resets the counter 53 and sets the lower 4 bits of the SRAM address to 0h. Returning, the next instruction fetch is requested to the instruction cache 4 or the system controller 6 to read the next instruction.

【0038】さて、命令キャッシュ4またはシステムコ
ントローラ6から入力された命令が、RISC型命令で
ある場合には、この命令をこのまま、スルーでCPU1
に渡せばよいのであるが、アーキテクチャを簡略化する
為、本実施例では、SRAM内にRISC型命令に対応
する値も記憶しておく。
If the instruction input from the instruction cache 4 or the system controller 6 is a RISC type instruction, the CPU 1 directly passes this instruction as it is.
However, in order to simplify the architecture, a value corresponding to the RISC type instruction is also stored in the SRAM in this embodiment.

【0039】すなわち、図5に示すように、RISC型
のロード命令LOD;1001hが入力された場合も、
CISC型命令の場合と同様に、命令の各ビットをSR
AMのアドレスの上位16ビットに入力し、コントロ−
ラ5は、SRAMのアドレスの下位4ビットとして“0
h”を出力する。
That is, as shown in FIG. 5, even when the RISC type load instruction LOD; 1001h is input,
As in the case of the CISC type instruction, each bit of the instruction is SR
Input to the upper 16 bits of AM address and control
La5 is "0" as the lower 4 bits of the SRAM address.
h "is output.

【0040】これによって得られるSRAMのアドレス
10010hには、あらかじめ、このRISC命令LO
D1001hの下位側に、0h連結した値を記憶させて
おく。 これにより、値10010hの上位16ビット
の命令LOD;1001hは、CPU1に命令として与
えられる。CPU1は、この命令を実行し、次の命令を
コントロ−ラ5に要求する。
The RISC instruction LO is previously stored in the SRAM address 10010h thus obtained.
The value concatenated with 0h is stored in the lower side of D1001h. As a result, the upper 16-bit instruction LOD; 1001h having the value 10010h is given to the CPU 1 as an instruction. The CPU 1 executes this instruction and requests the next instruction from the controller 5.

【0041】一方、コントロ−ラは、SRAMのアドレ
ス10010hより出力された値の下位4ビットを受け
取り、これが”0h”であるので、SRAMのアドレス
の下位4ビットを0hのままとし、次の命令フェッチ
を、命令キャッシュ4またはシステムコントローラ6に
対し要求し、次の命令を読みだす。
On the other hand, the controller receives the lower 4 bits of the value output from the address 10010h of the SRAM, and since this is "0h", the lower 4 bits of the address of the SRAM remains 0h and the next instruction is issued. A fetch is requested to the instruction cache 4 or the system controller 6 to read the next instruction.

【0042】なお、変換テーブル2の、CISC型命令
に対応する部分の内容は、システムイニシャライズ時に
CPUが設定するができる。また、システムイニシャラ
イズ時以外のときにも、適宜に書換えることにより、様
々な命令セットに対応することがでいるようになる。な
お、イニシャライズプログラムは、RISC型命令によ
って記述する。
The contents of the portion of the conversion table 2 corresponding to the CISC type instruction can be set by the CPU at the time of system initialization. Further, even when the system is not initialized, the instruction set can be appropriately rewritten to support various instruction sets. Note that the initialization program is described by RISC type instructions.

【0043】なお、以上の実施例では、CISC型命令
コ−ドによって、直接指定されるアドレスから順次、変
換テ−ブルに当該CISC型命令と等価な機能を果たす
RISC型命令コ−ドの列を記憶したが、これは、かな
らずしも、CISC型命令コ−ドによって直接指定され
るアドレスから順次記憶する必要はなく、任意のアドレ
スから記憶し、記憶したアドレスと対応するCISC型
命令コ−ドの対応を記憶させた適当なアドレス変換テ−
ブルを用いて、処理を行うようにしてもよい。
In the above embodiment, a sequence of RISC type instruction codes that perform a function equivalent to the CISC type instruction in the conversion table is sequentially provided from the address directly specified by the CISC type instruction code. However, it is not always necessary to store sequentially from the address directly specified by the CISC type instruction code, but it is possible to store from any address and to store the CISC type instruction code corresponding to the stored address. Appropriate address conversion table that stores the correspondence
You may make it process using a bull.

【0044】以上のように、本実施例によれば、命令コ
ードを自由に換えられるため、異なる機種間のソフトウ
ェアの移植が容易となる。そのためソフトウェアの開発
工数を削減することが可能となる。また、RISC型C
PUが実行する命令は、RISC型命令のみであるの
で、そのパイプライン処理が乱れることもない。
As described above, according to this embodiment, the instruction code can be freely changed, so that the porting of software between different models becomes easy. Therefore, it is possible to reduce the man-hours for software development. Also, RISC type C
Since the PU executes only RISC type instructions, its pipeline processing is not disturbed.

【0045】[0045]

【発明の効果】以上のように、本発明によれば、RIS
C型プロセッサにおいて、そのパイプライン処理を乱す
ことなく、CISC型プロセッサや他のプロセッサの命
令をサポ−トすることができる。
As described above, according to the present invention, the RIS
In the C type processor, it is possible to support the instructions of the CISC type processor and other processors without disturbing the pipeline processing.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の一実施例に係る計算機システムの構成
を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a computer system according to an embodiment of the present invention.

【図2】本発明の一実施例に係る計算機システムの行う
命令の変換の第1の例を示す説明図である。
FIG. 2 is an explanatory diagram showing a first example of instruction conversion performed by a computer system according to an embodiment of the present invention.

【図3】本発明の一実施例に係る計算機システムの行う
命令の変換の第2の例を示す説明図である。
FIG. 3 is an explanatory diagram showing a second example of instruction conversion performed by the computer system according to an embodiment of the present invention.

【図4】本発明の一実施例に係る計算機システムの行う
命令の第1の変換動作を示す説明図である。
FIG. 4 is an explanatory diagram showing a first conversion operation of an instruction performed by a computer system according to an embodiment of the present invention.

【図5】本発明の一実施例に係る計算機システムの行う
命令の第2の変換動作を示す説明図である。
FIG. 5 is an explanatory diagram showing a second conversion operation of an instruction performed by the computer system according to the embodiment of the present invention.

【符号の説明】[Explanation of symbols]

1 RISC型のCPU 2 変換テ−ブル 3 データキャッシュ 4 命令キャッシュ 5 コントロ−ラ 6 システムコントロ−ラ 7 メモリ 51 エンコ−ダ 52 キャッシュコントロ−ラ 53 カウンタ 1 RISC type CPU 2 conversion table 3 data cache 4 instruction cache 5 controller 6 system controller 7 memory 51 encoder 52 cache controller 53 counter

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】プロセッサと、プロセッサに供給する命令
を格納したメモリとを備えた計算機システムであって、 前記プロセッサがサポ−トしていない命令コ−ドに対応
させて、前記プロセッサがサポ−トする命令コ−ドの列
であって、前記プロセッサがサポ−トしていない命令コ
−ドと等価な機能を果たす命令コ−ドの列を記憶した変
換テ−ブルと、 前記メモリより前記プロセッサに供給された命令コ−ド
が、前記プロセッサがサポ−トしていない命令コ−ドで
あった場合に、前記メモリより供給された命令コ−ドに
代えて、当該命令コ−ドに対応して前記変換テ−ブルに
記憶されている命令コ−ドの列を構成する各命令コ−ド
を前記プロセッサに順次供給する制御手段とを有するこ
とを特徴とする計算機システム。
1. A computer system comprising a processor and a memory storing instructions to be supplied to the processor, wherein the processor supports the instruction code not supported by the processor. A conversion table storing a sequence of instruction codes to be executed, the sequence of instruction codes having a function equivalent to that of an instruction code not supported by the processor; When the instruction code supplied to the processor is an instruction code which is not supported by the processor, the instruction code supplied from the memory is replaced with the instruction code. A computer system correspondingly comprising: control means for sequentially supplying to the processor each instruction code forming a sequence of instruction codes stored in the conversion table.
【請求項2】請求項1記載の計算機システムであって、 前記変換テーブルは、前記プロセッサより書換え可能で
あることを特徴とする計算機システム。
2. The computer system according to claim 1, wherein the conversion table is rewritable by the processor.
【請求項3】請求項1記載の計算機システムであって、 前記変換テ−ブルは、プロセッサがサポ−トしていない
命令コ−ドによって指定されるアドレスより順次、前記
プロセッサがサポ−トする命令コ−ドの列であって、前
記プロセッサがサポ−トしていない命令コ−ドと等価な
機能を果たす命令コ−ドの列と、当該命令コ−ドの列の
最終の命令コ−ドの識別するための識別情報を記憶し、 前記制御手段は、メモリより前記プロセッサに供給され
た命令コ−ドが、前記プロセッサがサポ−トしていない
命令コ−ドであった場合に、当該命令コ−ドによって指
定されるアドレスより、前記識別情報で指定される当該
命令コ−ドの列の最終の命令コ−ドまで、前記変換テ−
ブルに記憶されている命令コ−ドを、順次読みだして、
前記プロセッサに供給することを特徴とする計算機シス
テム。
3. The computer system according to claim 1, wherein the conversion table is sequentially supported by the processor from an address designated by an instruction code not supported by the processor. A sequence of instruction codes, the sequence of instruction codes having a function equivalent to that of an instruction code that is not supported by the processor, and the final instruction code of the sequence of instruction codes. Storing identification information for identifying the code, the control means, when the instruction code supplied from the memory to the processor is an instruction code not supported by the processor, From the address designated by the instruction code to the final instruction code in the sequence of the instruction code designated by the identification information, the conversion table
The command codes stored in the bull are read out one after another,
A computer system characterized by supplying to the processor.
JP5610293A 1993-03-16 1993-03-16 Computer system Pending JPH06266553A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5610293A JPH06266553A (en) 1993-03-16 1993-03-16 Computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5610293A JPH06266553A (en) 1993-03-16 1993-03-16 Computer system

Publications (1)

Publication Number Publication Date
JPH06266553A true JPH06266553A (en) 1994-09-22

Family

ID=13017747

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5610293A Pending JPH06266553A (en) 1993-03-16 1993-03-16 Computer system

Country Status (1)

Country Link
JP (1) JPH06266553A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19526999A1 (en) * 1994-07-25 1996-02-01 Hitachi Ltd Electron energy filter for transmission electron microscope
US7221387B2 (en) 1998-06-10 2007-05-22 Dennis S. Fernandez Digital television with subscriber conference overlay
US7355621B1 (en) 1998-06-10 2008-04-08 Fernandez Dennis S Digital television with subscriber conference overlay
US7716452B1 (en) 1996-08-22 2010-05-11 Kelly Edmund J Translated memory protection apparatus for an advanced microprocessor

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19526999A1 (en) * 1994-07-25 1996-02-01 Hitachi Ltd Electron energy filter for transmission electron microscope
DE19526999C2 (en) * 1994-07-25 1998-01-29 Hitachi Ltd Electron energy filter and transmission electron microscope with one
US7716452B1 (en) 1996-08-22 2010-05-11 Kelly Edmund J Translated memory protection apparatus for an advanced microprocessor
US8055877B1 (en) 1996-08-22 2011-11-08 Kelly Edmund J Translated memory protection apparatus for an advanced microprocessor
US7221387B2 (en) 1998-06-10 2007-05-22 Dennis S. Fernandez Digital television with subscriber conference overlay
US7355621B1 (en) 1998-06-10 2008-04-08 Fernandez Dennis S Digital television with subscriber conference overlay
US7802275B1 (en) 1998-06-10 2010-09-21 Dennis S. Fernandez Digital television with subscriber conference overlay
US7880762B1 (en) 1998-06-10 2011-02-01 Dennis Fernandez Digital television with subscriber conference overlay
US7900235B1 (en) 1998-06-10 2011-03-01 Dennis S. Fernandez Digital television with subscriber conference overlay
US7917937B1 (en) 1998-06-10 2011-03-29 Dennis S. Fernandez Digital television with subscriber conference overlay
US8032915B1 (en) 1998-06-10 2011-10-04 Dennis Sunga Fernandez Digital television with subscriber conference overlay
US8072480B1 (en) 1998-06-10 2011-12-06 Fernandez Dennis S Digital television with subscriber conference overlay

Similar Documents

Publication Publication Date Title
JP3377419B2 (en) Instruction string generation method and apparatus, conversion method, and computer
US6349377B1 (en) Processing device for executing virtual machine instructions that includes instruction refeeding means
JP3180075B2 (en) Apparatus and method for dynamic conversion between different instruction codes
USRE40509E1 (en) Methods and apparatus for abbreviated instruction sets adaptable to configurable processor architecture
US20120032965A1 (en) Intermediate language accelerator chip
US4954943A (en) Data processing system
JP2000507015A (en) Real-time programming language accelerator
JP2001092662A (en) Processor core and processor using the same
KR100682635B1 (en) Microprocessor Including Multiple Register Files Occupying The Same Logical Space
KR20040093490A (en) Hardware-translator-based custom method invocation system and method
US5390306A (en) Pipeline processing system and microprocessor using the system
JPH03233630A (en) Information processor
JPH07239780A (en) One-clock variable length instruction execution process type instruction read computer
JPH06266553A (en) Computer system
US7266811B2 (en) Methods, systems, and computer program products for translating machine code associated with a first processor for execution on a second processor
JPH0683615A (en) Computer for executing instruction set emulation
JPH10124312A (en) Central processor
JPH04104350A (en) Micro processor
JPH07129399A (en) Microcomputer executing multi-function instruction by use of instruction attribute register
GB2390179A (en) Improved stack architecture
JPH07110769A (en) Vliw type computer
JP2004522236A (en) Intermediate language accelerator chip
JP2009059187A (en) Microprocessor and data processing method
JP2000029696A (en) Processor, and pipeline process control method
JPH07191845A (en) Immediate data transfer device