JP2846536B2 - Multiprocessor - Google Patents
MultiprocessorInfo
- Publication number
- JP2846536B2 JP2846536B2 JP4323332A JP32333292A JP2846536B2 JP 2846536 B2 JP2846536 B2 JP 2846536B2 JP 4323332 A JP4323332 A JP 4323332A JP 32333292 A JP32333292 A JP 32333292A JP 2846536 B2 JP2846536 B2 JP 2846536B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- instruction
- risc
- cisc
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Advance Control (AREA)
- Microcomputers (AREA)
Description
【0001】[0001]
【産業上の利用分野】本発明は、複数のCPUコアを含
むマイクロプロセッサに係り、特に、命令処理方式の異
なる複数のCPUコアを有するマルチプロセッサに関す
る。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a microprocessor including a plurality of CPU cores, and more particularly, to a multiprocessor having a plurality of CPU cores having different instruction processing systems.
【0002】[0002]
【従来の技術】一般に、マイクロプロセッサは、レジス
タを含む命令処理ユニットと、10進演算ユニットと、
データ及び命令キャッシュユニットと、浮動小数点演算
ユニットとを備えて構成されている。そして、マイクロ
プロセッサは、計算機アーキテクチャ的に、きめ細かい
処理に対応するため、色々なバリエーションの命令を用
意し、複雑な処理を1命令で複数サイクルを使用して実
行するプロセッサ方式と、必要最小限の命令だけを用意
し、それらの各命令を1サイクルで発行することのでき
るプロセッサ方式とに分類することができる。2. Description of the Related Art Generally, a microprocessor includes an instruction processing unit including a register, a decimal operation unit,
It comprises a data and instruction cache unit and a floating point operation unit. The microprocessor prepares various variations of instructions in order to cope with detailed processing in terms of the computer architecture, and a processor system for executing complicated processing using a plurality of cycles with one instruction, and a minimum required number of instructions. It can be classified into a processor system in which only instructions are prepared and each of these instructions can be issued in one cycle.
【0003】前者は、一般に、CISCプロセッサと呼
ばれており、IBM社の370アーキテクチャプロセッ
サ、Intel社のX86アーキテクチャプロセッサシ
リーズ等がこれに該当する。また、後者は、一般に、R
ISCプロセッサと呼ばれており、SUN SPARC
アーキテクチャプロセッサ、HP社のPA−RISCア
ーキテクチャプロセッサ、及び、ベクトル演算処理を専
用に行うHITACHI社のS−3800ベクトルプロ
セッサ等がこれに該当する。[0003] The former is generally called a CISC processor, which corresponds to a 370 architecture processor of IBM Corporation, an X86 architecture processor series of Intel Corporation, and the like. Also, the latter is generally R
Called the ISC processor, SUN SPARC
The architecture processor, the PA-RISC architecture processor of HP, and the S-3800 vector processor of HITACHI, which exclusively performs vector operation processing, correspond to this.
【0004】そして、前述した370アーキテクチャ及
びX86アーキテクチャは商業的に優れた成功を収め
た。そのため、ユーザが所有するアプリケーションプロ
グラム資産は膨大な量に登る。一方、後者のRISCプ
ロセッサの一部の種類は、半導体技術の進歩によりプロ
セッサの主要部を1個のLSIチップに収めることが可
能となったこと、及び、プロセッサアーキテクチャに特
化した優れたコンパイラ技術で、マシンサイクルを数1
00MHzのオーダーまで高めることが可能になってい
る。このため、RISCプロセッサは、データ処理性能
の面で大きく飛躍し、商業的にも成功を収めつつある。[0004] The 370 and X86 architectures described above have achieved great commercial success. Therefore, the application program assets owned by the user are enormous. On the other hand, some of the latter types of RISC processors have made it possible to store the main part of the processor on a single LSI chip due to the advancement of semiconductor technology, and to use an excellent compiler technology specialized in processor architecture. And the machine cycle is number 1
It is possible to increase to the order of 00 MHz. For this reason, RISC processors have made great strides in terms of data processing performance and are becoming commercially successful.
【0005】ところで、複数のCPUコアを含むプロセ
ッサは、通常、CISCプロセッサならばCISCプロ
セッサのみを、RISCプロセッサならば、RISCプ
ロセッサのみを複数接続して構成されたマルチプロセッ
サであり、プロセッサ間で通信を行うことにより、並列
動作を行わせ、これにより、性能向上を図ることができ
るようにしたものである。A processor including a plurality of CPU cores is generally a multiprocessor constituted by connecting only a plurality of CISC processors in the case of a CISC processor and a plurality of RISC processors in the case of a RISC processor. Is performed to perform a parallel operation, thereby improving the performance.
【0006】なお、この種のマルチプロセッサに関する
従来技術として、例えば、特開平2−264352号公
報等に記載された技術が知られている。As a conventional technique relating to this type of multiprocessor, for example, a technique described in Japanese Patent Application Laid-Open No. 2-264352 is known.
【0007】[0007]
【発明が解決しようとする課題】近年、優れたコンパイ
ラ技術と半導体技術の進歩とにより、RISCプロセッ
サは、その性能を飛躍的に向上させており、CISCプ
ロセッサユーザが、RISCプロセッサを使用したいと
いう要求が高まっている。しかし、CISCプロセッサ
ユーザにとって、ユーザが所有する膨大な量のCISC
プロセッサアプリケーションプログラム資産を捨ててR
ISCプロセッサに移行することは容易なことではな
い。In recent years, with the advancement of excellent compiler technology and semiconductor technology, the performance of RISC processors has been dramatically improved, and there has been a demand for CISC processor users to use RISC processors. Is growing. However, for CISC processor users, the vast amount of CISC
Discard processor application program assets and R
Moving to an ISC processor is not easy.
【0008】前述した従来技術は、1種類のアーキテク
チャの下にプロセッサが構成されているため、CISC
プロセッサユーザが、それまでのCISCプロセッサア
プリケーションプログラム資産を使用して、RISCプ
ロセッサに移行することができないという問題点を有し
ている。In the prior art described above, the processor is configured under one type of architecture, so that the CISC
There is a problem that a processor user cannot migrate to a RISC processor by using a previous CISC processor application program asset.
【0009】一方、RISCプロセッサは、レジスタ演
算命令、浮動小数点演算命令等を効率的に実行すること
ができるが、メモリアクセス、分岐命令が多発するよう
な処理の性能が低く、また、単純な命令を組み合わせて
複雑なデータ処理を実行する関係上、コンパイラが生成
する命令のオブジェクトが大きくなりメモリ使用効率が
悪くなるという問題点を有している。On the other hand, a RISC processor can efficiently execute a register operation instruction, a floating point operation instruction, etc., but has low performance in processing such as frequent occurrence of memory access and branch instructions. In addition, because of the complicated data processing performed by combining the above, there is a problem that the object of the instruction generated by the compiler becomes large and the memory use efficiency is deteriorated.
【0010】本発明の目的は、前記従来技術及びRIS
Cプロセッサの持つ問題点を解決し、CISCプロセッ
サアプリケーションプログラム資産を活かすことが可能
で、かつ、RR型演算、浮動小数点演算に対してRIS
Cプロセッサを用いたより効率的なデータ処理を行うマ
ルチプロセッサを提供することにある。An object of the present invention is to provide the above-mentioned prior art and RIS.
It solves the problems of the C processor, makes use of the CISC processor application program resources, and provides RIS for RR-type operations and floating-point operations.
An object of the present invention is to provide a multiprocessor that performs more efficient data processing using a C processor.
【0011】[0011]
【課題を解決するための手段】本発明によれば前記目的
は、異なるアーキテクチャを持つプロセッサを接続し、
マイクロプログラムにより双方のプロセッサを切り替え
るようにすることにより、すなわち、CISCプロセッ
サのCPUコアとRISCプロセッサのCPUコアと融
合させてマルチプロセッサを構成するようにすることに
より達成される。According to the present invention, the object is to connect processors having different architectures,
This is achieved by switching both processors by a microprogram, that is, by integrating a CPU core of a CISC processor and a CPU core of a RISC processor to form a multiprocessor.
【0012】前記本発明の目的を達成するプロセッサ
は、CISCプロセッサのCPUコアとRISCプロセ
ッサのCPUコアとをマルチプロセッサ構成にして内蔵
する手段と、CISCプロセッサのCPUコアからRI
SCプロセッサのCPUコアを起動する手段と、RIS
CプロセッサからCISCプロセッサへの処理完了報告
を行う手段と、RISCプロセッサ動作が有効であるか
否かを示すRISCプロセッサEnable bitとを備えて構
成され、これにより、CISCプロセッサとRISCプ
ロセッサとの間で処理の切り替えを可能としたものであ
る。A processor for achieving the above object of the present invention comprises: a means for incorporating a CPU core of a CISC processor and a CPU core of a RISC processor in a multiprocessor configuration;
Means for activating a CPU core of an SC processor;
The C processor includes means for reporting the completion of processing from the C processor to the CISC processor, and a RISC processor enable bit indicating whether or not the RISC processor operation is valid. The processing can be switched.
【0013】[0013]
【作用】通常動作時、前記マルチプロセッサに構成され
たCISCプロセッサのCPUコアは、命令をキャッシ
ュによりフェッチし命令デコードと実行制御と行う。こ
のとき、同時に前記マルチプロセッサに構成されたRI
SCプロセッサのCPUコアも、同様に命令フェッチを
行うが、前記RISCプロセッサの動作が有効であるか
否かを示すRISCプロセッサEnabie bitがデボルトO
FFとされており、RISCプロセッサのCPUコアの
レジスタ更新、リソース制御処理が有効となることはな
い。In a normal operation, the CPU core of the CISC processor configured in the multiprocessor fetches an instruction from a cache, and performs instruction decoding and execution control. At this time, at the same time, the RI
The CPU core of the SC processor also fetches instructions in the same manner, but the RISC processor Enabie bit indicating whether the operation of the RISC processor is valid is set to devolt O.
Since it is set to FF, the register update and resource control processing of the CPU core of the RISC processor are not effective.
【0014】なお、前述のレジスタは、汎用レジスタ、
浮動小数点レジスタであり、また、リソースとは、演算
器及びメモリ制御部である。The above-mentioned register is a general-purpose register,
Floating point registers, and resources are an arithmetic unit and a memory control unit.
【0015】ところで、前記CISCプロセッサは、従
来の命令列(オブジェクトコード)を全て実行すること
が可能であり、また、RISCプロセッサのCPUコア
は、RR型演算命令及び浮動小数点演算を実行すること
が可能である。By the way, the CISC processor can execute all the conventional instruction sequences (object codes), and the CPU core of the RISC processor can execute an RR type operation instruction and a floating point operation. It is possible.
【0016】そして、本発明によるマルチプロセッサを
利用する場合、レジスタ演算命令、浮動小数点演算命令
等のRISCプロセッサが得意とする処理命令列を、R
ISCプロセッサ処理が連続するように生成しておき、
これらの命令列について、RISCプロセッサに処理さ
せるようにすることにより、マルチプロセッサ全体の処
理性能の向上を図ることができる。When the multiprocessor according to the present invention is used, a processing instruction sequence that the RISC processor excels in, such as a register operation instruction and a floating point operation instruction, is represented by R
Generated so that ISC processor processing is continuous,
By causing the RISC processor to process these instruction strings, the processing performance of the entire multiprocessor can be improved.
【0017】このため、従来のCISCプロセッサに処
理させるように作成されているプログラムのソースリス
トの中のレジスタ演算命令、浮動小数点演算命令などR
ISCプロセッサが得意とする処理命令列を、RISC
プロセッサ処理が連続するようコンパイルしておく必要
がある。このコンパイルによる命令列を生成は、従来か
ら知られているコンパイラにより行うことができる。こ
のようなコンパイラ技術は、例えば、HITACHI社
のベクトル型スーパーコンピュータS−810及びS−
820、S−3800等により知られている。For this reason, a register operation instruction, a floating point operation instruction, and the like in a source list of a program created to be processed by a conventional CISC processor.
The processing instruction sequence that the ISC processor is good at is RISC
It is necessary to compile so that processor processing is continuous. The generation of the instruction sequence by the compilation can be performed by a conventionally known compiler. Such compiler technology is, for example, a vector type supercomputer S-810 and S-810 manufactured by HITACHI.
820, S-3800 and the like.
【0018】そして、本発明では、前述したプログラム
のソースリストをコンパイラによりコンパイルするとき
に、CISCプロセッサのCPUコアからRISCプロ
セッサのCPUコアを起動する起動命令と、RISCプ
ロセッサのCPUコアを動作させる命令列と、RISC
プロセッサのCPUコアの動作が完了したときにCIS
CプロセッサのCPUコアに処理をハンドリングする復
帰命令とを生成しておく。In the present invention, when compiling the source list of the above-mentioned program by a compiler, a start instruction for starting the CPU core of the RISC processor from a CPU core of the CISC processor and an instruction for operating the CPU core of the RISC processor Columns and RISC
CIS when the operation of the CPU core of the processor is completed
A return instruction for handling processing is generated in the CPU core of the C processor.
【0019】前記起動命令は、マイクロプログラムを起
動し、このマイクロプログラム起動により、RISCプ
ロセッサ動作が有効であるか否かを示すRISCプロセ
ッサEnable bitがONとされる。これより、RISCプ
ロセッサは、前記起動命令に後続するRISCプロセッ
サのCPUコアを動作させる命令列を実行する。The start instruction starts a microprogram, and by this microprogram start, a RISC processor Enable bit indicating whether or not the RISC processor operation is valid is turned ON. Thus, the RISC processor executes an instruction sequence following the activation instruction to operate the CPU core of the RISC processor.
【0020】このRISCプロセッサのCPUコアを動
作させる命令列実行の最後にある前記復帰命令は、CI
SCプロセッサでデコードされ、処理完了報告を実行さ
せるマイクロプログラムを起動する。これにより、RI
SCプロセッサ動作が有効であるか否かを示すRISC
プロセッサEnable bitがOFFとされ、以後、RISC
プロセッサのデータ処理は前述したように無効されると
共に、CISCプロセッサに処理がハンドリングされ
る。The return instruction at the end of the sequence of instructions for operating the CPU core of the RISC processor is CI
A microprogram which is decoded by the SC processor and executes the processing completion report is started. With this, RI
RISC indicating whether SC processor operation is valid
The processor enable bit is turned off, and the RISC
The data processing of the processor is invalidated as described above, and the processing is handled by the CISC processor.
【0021】本発明は、前述により、CISCプロセッ
サとRISCプロセッサの処理切り替えを可能にするこ
とができ、従来からのアプリケーションプログラムを有
効に活用し、かつ、RISCプロセッサの特徴を活かし
た効率的な処理を実行させることができる。According to the present invention, as described above, the processing can be switched between the CISC processor and the RISC processor, the conventional application program can be effectively used, and the efficient processing utilizing the features of the RISC processor can be achieved. Can be executed.
【0022】[0022]
【実施例】以下、本発明によるマルチプロセッサの一実
施例を図面により詳細に説明する。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of a multiprocessor according to the present invention will be described below in detail with reference to the drawings.
【0023】図1は本発明の一実施例の全体の構成を示
すブロック図、図2は命令実行制御部の構成を示すブロ
ック図、図3は本発明の動作の一例を説明するための命
令列の一例を示す図、図4は起動命令と復帰命令との処
理を説明するフローチャートである。図1、図2におい
て、10、15はフラグ、20、120は命令実行制御
部(I-Contrl)、25、125は分岐制御部(Branch-Cont
rol)、26、126は加算器(Add)、30、130は制
御レジスタ群(C-Registr)、40、140は汎用レジス
タ群(G-Registr)、50、150は浮動小数点レジスタ
群(F-Register)、60、160はキャッシュコントロー
ル(Cache-Control)、70はキャッシュメモリ(Cache)、
80は制御メモリ(CS)、90はアドレスカウンタ(IA)、
100はCISCプロセッサ、200はRISCプロセ
ッサである。FIG. 1 is a block diagram showing the overall configuration of one embodiment of the present invention, FIG. 2 is a block diagram showing the configuration of an instruction execution control unit, and FIG. 3 is an instruction for explaining an example of the operation of the present invention. FIG. 4 is a flowchart illustrating an example of a column, and FIG. 4 is a flowchart illustrating processing of a start instruction and a return instruction. 1 and 2, 10 and 15 are flags, 20 and 120 are instruction execution control units (I-Contrl), and 25 and 125 are branch control units (Branch-Contrl).
rol), 26 and 126 are adders (Add), 30 and 130 are control registers (C-Registr), 40 and 140 are general-purpose registers (G-Registr), and 50 and 150 are floating-point registers (F-Registr). Register), 60, 160 are cache control (Cache-Control), 70 is cache memory (Cache),
80 is a control memory (CS), 90 is an address counter (IA),
100 is a CISC processor and 200 is a RISC processor.
【0024】図1に示す本発明の一実施例は、CISC
プロセッサのCPUコア(以下、CISCプロセッサと
いう)100と、RISCプロセッサのCPUコア(以
下、RISCプロセッサという)200と、これらのプ
ロセッサの両方に共有される全ての動作を制御する1ビ
ットのRISC−ENABLEフラグ10及びキャッシ
ュメモリ70とを備えて構成される。前記フラグ10
は、複数ビット構成としてもよいが、1ビット構成が最
も効率がよい。One embodiment of the present invention shown in FIG.
CPU core (hereinafter, referred to as CISC processor) 100 of the processor, CPU core (hereinafter, referred to as RISC processor) 200 of the RISC processor, and 1-bit RISC-ENABLE for controlling all operations shared by both of these processors It comprises a flag 10 and a cache memory 70. The flag 10
May have a multi-bit configuration, but a 1-bit configuration is the most efficient.
【0025】CISCプロセッサ100は、命令実行制
御部20、制御レジスタ群30、汎用レジスタ群40、
浮動小数点レジスタ群50、キャッシュコントロール6
0、及びマイクロプログラムが格納されている制御メモ
リ80等を備えて構成されている。また、RISCプロ
セッサ200は、命令実行制御部120、制御レジスタ
群130、汎用レジスタ群140、浮動小数点レジスタ
群150及びキャッシュコントロール160等を備えて
構成されている。The CISC processor 100 includes an instruction execution control unit 20, a control register group 30, a general-purpose register group 40,
Floating point register group 50, cache control 6
0 and a control memory 80 in which a microprogram is stored. The RISC processor 200 includes an instruction execution control unit 120, a control register group 130, a general-purpose register group 140, a floating-point register group 150, a cache control 160, and the like.
【0026】なお、前述のように構成される本発明の一
実施例において、両プロセッサは、1CHIP LSI
により構成されてもよく、また、複数のLSIで構成さ
れてもよい。複数のLSIにより構成する場合、本発明
は、CISCプロセッサ100とRISCプロセッサ2
00とをそれぞれ1個のLSIにより構成し、キャッシ
ュメモリ70をLSI外部で共有するように構成するこ
とができる。In the embodiment of the present invention configured as described above, both processors are connected to one CHIP LSI.
Or a plurality of LSIs. When the present invention is configured by a plurality of LSIs, the present invention provides a
00 and 00 can be configured by one LSI, respectively, and the cache memory 70 can be configured to be shared outside the LSI.
【0027】前述のように構成される本発明のマルチプ
ロセッサは、RISC−ENABLEフラグ10が
“0”のとき、RISCプロセッサ200内の命令実行
制御部120からのレジスタアクセス起動121、キャ
ッシュコントロール160からのキャッシュアクセス起
動161が“1”になりアクセスが行われても、RIS
Cプロセッサ100におけるこれらの処理を有効としな
いように動作する。すなわち、この場合、RISCプロ
セッサ200内のアンドゲートが、インヒビットされ、
アンドゲートの出力が“1”とならないため、レジスタ
アクセス起動121、キャッシュアクセス起動161が
有効とならず、RISCプロセッサ200内での処理は
無視され、CISCプロセッサ100内での処理が有効
となる。When the RISC-ENABLE flag 10 is "0", the multiprocessor of the present invention configured as described above activates the register access 121 from the instruction execution control unit 120 in the RISC processor 200 and the cache control 160 Of the RIS even if the cache access activation 161 of the
An operation is performed so that these processes in the C processor 100 are not validated. That is, in this case, the AND gate in the RISC processor 200 is inhibited,
Since the output of the AND gate does not become “1”, the register access activation 121 and the cache access activation 161 are not valid, the processing in the RISC processor 200 is ignored, and the processing in the CISC processor 100 is valid.
【0028】逆に、RISC−ENABLEフラグ10
が“1”の場合、RISCプロセッサ200内のアンド
ゲートは、有効なアクセス起動を出力するが、CISC
プロセッサ100内のアンドゲートは、このフラグが
“1”のとき、レジスタアクセス起動21、キャッシュ
アクセス起動61の出力を有効としないようにしてい
る。すなわち、この場合、RISCプロセッサ200が
有効となり、CISCプロセッサ100内での処理は、
後述するように、本発明により設けられたReturn
CISC命令以外無効とされる。Conversely, RISC-ENABLE flag 10
Is "1", the AND gate in the RISC processor 200 outputs a valid access activation,
When this flag is “1”, the AND gate in the processor 100 does not validate the outputs of the register access activation 21 and the cache access activation 61. That is, in this case, the RISC processor 200 is enabled, and the processing in the CISC processor 100 is
As will be described later, the Return provided by the present invention.
Invalid except for the CISC instruction.
【0029】CISCプロセッサ100内のフラグ15
は、復帰命令であるReturnCISC命令が発行さ
れたとき、図示しない手段により“1”とされ、RIS
C−ENABLEフラグ10の値にかかわらずCISC
プロセッサ100内での処理を有効とさせるものであ
る。Flag 15 in CISC processor 100
Is set to “1” by means not shown when a Return CISC instruction which is a return instruction is issued,
CISC regardless of the value of the C-ENABLE flag 10
This makes the processing in the processor 100 effective.
【0030】なお、図示していないが、キャッシュメモ
リ70は、命令キャッシュとデータキャッシュとを含
み、各プロセッサ100、200のキャッシュコントロ
ール60または160、命令実行制御部l20または1
20の制御を受ける。また、同様に、制御メモリ80内
にあるマイクロプログラムは、CISCプロセッサ10
0内の各ユニット制御の一部あるいは全ての制御に関与
する。Although not shown, the cache memory 70 includes an instruction cache and a data cache, and the cache control 60 or 160 of each of the processors 100 and 200, the instruction execution control unit 120 or 1
Under the control of 20. Similarly, the microprogram stored in the control memory 80 is stored in the CISC processor 10.
It is involved in part or all of the control of each unit within 0.
【0031】次に、図2を参照して、CISCプロセッ
サ100及びとRISCプロセッサ200のプログラム
の実行制御部20、120について説明する。Next, with reference to FIG. 2, the execution control units 20 and 120 of the programs of the CISC processor 100 and the RISC processor 200 will be described.
【0032】CISCプロセッサ100とRISCプロ
セッサ200とは、プログラムアドレスカウンタとして
同一のアドレスカウンタ90を用いている。そして、ア
ドレスカウンタ90の更新は、RISC−ENABLE
フラグ10により切り替えられる。すなわち、CISC
プロセッサ100の動作時(RISC−ENABLEフ
ラグ10が“0”のとき)、アドレスカウンタ90は、
アドレスカウンタ90とCISCプロセッサ100内で
デコードした命令長L27とをアダー26で加算した
値、あるいは、分岐制御部25によって計算された値に
より更新され、また、RISCプロセッサ200の動作
時(RISC−ENABLEフラグ10が“1”のと
き)、アドレスカウンタ90とRISCプロセッサ20
0内の命令長“4”をアダー126で加算した値、ある
いは、分岐制御部125によって計算された値により更
新されている。The CISC processor 100 and the RISC processor 200 use the same address counter 90 as a program address counter. The update of the address counter 90 is performed by RISC-ENABLE.
It is switched by the flag 10. That is, CISC
During the operation of the processor 100 (when the RISC-ENABLE flag 10 is “0”), the address counter 90
The address is updated by the value obtained by adding the address counter 90 and the instruction length L27 decoded in the CISC processor 100 by the adder 26 or the value calculated by the branch control unit 25, and when the RISC processor 200 operates (RISC-ENABLE). When the flag 10 is "1"), the address counter 90 and the RISC processor 20
It has been updated with the value obtained by adding the instruction length “4” in 0 by the adder 126 or the value calculated by the branch control unit 125.
【0033】その他の汎用レジスタ群等のリソースは、
各プロセッサ個々に備えられている。そして、これらの
内容は、もちろん、コピーしてもよいが、本発明の一実
施例では、プログラムがCISCプロセッサ100とR
ISCプロセッサ200とを切り替える際に主記憶を通
して一元管理するものとする。Other resources such as general-purpose registers are as follows.
Each processor is provided individually. And, of course, these contents may be copied, but in one embodiment of the present invention, the program is
It is assumed that when switching with the ISC processor 200, the centralized management is performed through the main memory.
【0034】次に、図3、図4を参照して、ユーザが持
っているCISCプロセッサアプリケーションプログラ
ムを、前述した本発明の一実施例によるマルチプロセッ
サに処理させる場合の動作を説明する。Next, with reference to FIG. 3 and FIG. 4, an operation when the multiprocessor according to the above-described embodiment of the present invention processes the CISC processor application program owned by the user will be described.
【0035】図3において、300は、ユーザが持って
いるCISCプロセッサアプリケーションプログラムの
命令列であり、いま、この命令列の一部の命令列302
が、RISCプロセッサに実行させることにより効率的
な処理を行うことのできる命令列であるとする。このC
ISCプロセッサアプリケーションプログラム300を
持つユーザは、予め、公知のコンパイル技法によって、
前述の命令列302を、RISCプロセッサを動作させ
ることのできる命令列401にコンパイルする。In FIG. 3, reference numeral 300 denotes an instruction sequence of the CISC processor application program held by the user.
Is a sequence of instructions that can be executed efficiently by the RISC processor. This C
The user having the ISC processor application program 300 can use a known compilation technique in advance.
The above-described instruction sequence 302 is compiled into an instruction sequence 401 capable of operating a RISC processor.
【0036】このとき、命令列401の先頭に、本発明
により設けられるRISCプロセッサに処理を移行する
起動命令となるExecute RISC命令400
が、また、その最後部に、本発明により設けられ復帰命
令となるCISCプロセッサに処理を戻すReturn
CISC命令450が付加される。At this time, at the beginning of the instruction sequence 401, an Execute RISC instruction 400 which is a start instruction for shifting the processing to the RISC processor provided by the present invention.
Also, at the end thereof, Return which returns processing to the CISC processor provided by the present invention and serving as a return instruction
A CISC instruction 450 is added.
【0037】この結果、本発明の一実施例のマルチプロ
セッサに処理させる命令列は、CISCプロセッサに処
理させる命令列301、Execute RISC命令
400、RISCプロセッサに処理させる命令列40
1、Return CISC命令450、CISCプロ
セッサに処理させる命令列303の順に並べられた命令
列となる。As a result, the instruction sequence to be processed by the multiprocessor according to the embodiment of the present invention includes an instruction sequence 301 to be processed by the CISC processor, an Execute RISC instruction 400, and an instruction sequence 40 to be processed by the RISC processor.
1, a Return CISC instruction 450 and an instruction sequence 303 to be processed by the CISC processor are arranged in this order.
【0038】前述のような、命令列を本発明の一実施例
のマルチプロセッサにより処理させる場合、図1に示す
実施例における、フラグ10及びフラグ15は、初期状
態として、それぞれ、“0”に設定されている。When the instruction sequence as described above is processed by the multiprocessor of one embodiment of the present invention, the flags 10 and 15 in the embodiment shown in FIG. Is set.
【0039】命令列の処理の実行が開始されると、すで
に説明したようにフラグ10が“0”に設定されている
ことにより、CISCプロセッサ100の処理が有効に
なり、該プロセッサ内の命令実行制御部20は、前述し
た命令列301の処理を順次実行する。このとき、RI
SCプロセッサ200の命令実行制御部120に対して
も、同一の命令列が与えられるが、この制御は、前述し
たように無効とされる。When the execution of the processing of the instruction sequence is started, the processing of the CISC processor 100 becomes effective because the flag 10 is set to "0" as described above, and the instruction execution in the processor is executed. The control unit 20 sequentially executes the processing of the instruction sequence 301 described above. At this time, RI
The same instruction sequence is given to the instruction execution control unit 120 of the SC processor 200, but this control is invalidated as described above.
【0040】CISCプロセッサ100の処理がが進
み、Execute RISC命令400が実行される
と、マイクロプログラムが、図4(a)に示すように、
シリアライゼーション処理410の実行後、RISC−
ENABLEフラグ10を“1”とする処理420を実
行する。When the processing of the CISC processor 100 proceeds and the Execute RISC instruction 400 is executed, the microprogram is executed as shown in FIG.
After execution of the serialization process 410, the RISC-
A process 420 for setting the ENABLE flag 10 to "1" is executed.
【0041】この処理により、以後、RISCプロセッ
サ200の処理が有効となり、CISCプロセッサ10
0の処理が無効とされて、制御は、CISCプロセッサ
100からRISCプロセッサ200へ切り替えられ
る。その後、前述した命令列401の処理が行われるこ
とになるが、この処理は、RISCプロセッサ200の
処理が有効とされ、RISCプロセッサ200により実
行されることになる。By this processing, the processing of the RISC processor 200 becomes effective thereafter, and the CISC processor 10
0 is invalidated, and control is switched from the CISC processor 100 to the RISC processor 200. Thereafter, the above-described processing of the instruction sequence 401 is performed. In this processing, the processing of the RISC processor 200 is validated and the RISC processor 200 executes the processing.
【0042】RISCプロセッサ200の処理が進み、
Return CISC命令450が発行されると、こ
の命令に対してのみ、CISCプロセッサ100の命令
実行制御部20の制御が有効になり、マイクロプログラ
ムが、図4(b)に示すように、シリアライゼーション
処理460の実行後、RISC−ENABLEフラグ1
0を“0”とする処理470を実行する。The processing of the RISC processor 200 proceeds,
When the Return CISC instruction 450 is issued, the control of the instruction execution control unit 20 of the CISC processor 100 is enabled only for this instruction, and the microprogram executes the serialization processing 460 as shown in FIG. Is executed, the RISC-ENABLE flag 1
A process 470 for setting 0 to “0” is executed.
【0043】この処理は、CISCプロセッサ100内
に、Retrn CISC命令450により“1”にセ
ットされるフラグ15を設けていることにより可能なも
のであり、これにより、CISCプロセッサ100内で
は、RISC−ENABLEフラグ10が“1”である
にもかかわらず、例外的にデコードが有効になり、マイ
クロプログラムがRISC−ENABLEフラグ10を
“0”にすることが可能である。This processing can be performed by providing the flag 15 which is set to "1" by the return CISC instruction 450 in the CISC processor 100. Despite the ENABLE flag 10 being "1", decoding is exceptionally enabled, and the microprogram can set the RISC-ENABLE flag 10 to "0".
【0044】この処理により、以後、再びCISCプロ
セッサ100の処理が有効となり、RISCプロセッサ
200の処理が無効とされて、制御は、RISCプロセ
ッサ200からCISCプロセッサ100へ切り替えら
れる。その後、前述した命令列303の処理が行われる
ことになるが、この処理は、CISCプロセッサ100
の処理が有効とされ、CISCプロセッサ100により
実行されることになる。As a result of this processing, the processing of the CISC processor 100 is enabled again, the processing of the RISC processor 200 is disabled, and control is switched from the RISC processor 200 to the CISC processor 100. Thereafter, the above-described processing of the instruction sequence 303 is performed.
Is validated and executed by the CISC processor 100.
【0045】なお、前述した処理410、460に示す
ように、両命令の実行は、シリアライゼーション動作と
チェックポイント同期機能とが両命令の前後で行われる
ので、記憶装置への先行するアクセスが全て終了するま
で、そのCPU動作が待たされることになる。As shown in the above-mentioned processes 410 and 460, the execution of both instructions is performed before and after the serialization operation and the checkpoint synchronization function, so that all preceding accesses to the storage device are completed. Until the operation is performed, the CPU operation is kept waiting.
【0046】前述した本発明の一実施例の動作は、ユー
ザが持っているCISCプロセッサアプリケーションプ
ログラムの一部が、RISCプロセッサに行わせたとき
に効率的なものであるとして説明したが、CISCプロ
セッサプログラムの全てが、RISCプロセッサに行わ
せて効率的な場合、それらの全てをコンパイルしてRI
SCプロセッサに行わせるようにすることもできる。The operation of the above-described embodiment of the present invention has been described on the assumption that a part of the CISC processor application program owned by the user is efficient when the RISC processor executes the program. If all of the programs are efficient to let the RISC processor do, compile all of them and
It is also possible to have the SC processor do this.
【0047】前述した本発明の一実施例において、Re
turn CISC命令450は、RISCプロセッサ
200内で命令例外としてもよく、これにより、RIS
Cプロセッサ200側のデコード論理の増加を押えるこ
とができる。また、本発明は、一般に知られているクロ
ック技術を組み合わせて、RISCプロセッサ200の
動作周波数をCISCプロセッサ100の2倍に高める
ことにより、更に高性能なマルチプロセッサとすること
ができる。このような2倍の周波数による動作技術は、
例えば、HITACHI社のスーパーコンピュータS8
20、S3800のベクトルレジスタにおいて知られて
いる。In one embodiment of the present invention described above, Re
The turn CISC instruction 450 may be an instruction exception within the RISC processor 200, thereby causing the RIS
An increase in the decoding logic on the C processor 200 side can be suppressed. In addition, the present invention can increase the operating frequency of the RISC processor 200 to twice that of the CISC processor 100 by combining generally known clock techniques, thereby achieving a multiprocessor with higher performance. The operation technique using such a double frequency is as follows.
For example, supercomputer S8 of HITACHI
20, the vector register of S3800.
【0048】前述したように、シングルプロセッサで、
CISCプロセッサのみならば1マインサイクル当りの
実行命令数を1以下にすることはできない。また、RI
SCプロセッサのみならば、科学技術計算等のプログラ
ムにおいては性能を上げられても、汎用コンピュータに
要求される商業的な処理性能を上げることは困難であ
る。As described above, with a single processor,
With a CISC processor alone, the number of executed instructions per main cycle cannot be reduced to one or less. Also, RI
With only an SC processor, it is difficult to increase the commercial processing performance required of a general-purpose computer, even if the performance of a program such as scientific calculation is improved.
【0049】しかし、本発明に係るプロセッサにおいて
は、RISCプロセッサを生かして1マシンサイクル当
りの平均実行命令数を1以下にすることも可能であり、
かつ汎用コンピュータに比べ劣ることがないので、シン
グルプロセッサとしての処理性能を最大限にすることな
く円滑に新しいプロセッサアーキテクチャへ移行可能で
あり、従来ユーザがRISCプロセッサの高性能を安易
に手にいれることが出来る。また、マイクロプログラム
を使用することでハードウエアの増大をハードデコード
論理に比較し、少なくすることが可能である。However, in the processor according to the present invention, it is possible to reduce the average number of executed instructions per machine cycle to 1 or less by utilizing the RISC processor.
In addition, since it is not inferior to general-purpose computers, it is possible to smoothly transition to a new processor architecture without maximizing the processing performance as a single processor, and the conventional user can easily obtain the high performance of the RISC processor. Can be done. Further, by using a microprogram, it is possible to reduce the increase in hardware by comparing it with the hardware decode logic.
【0050】前述により、本発明の一実施例によれば、
CISCプロセッサのみの場合、1マシンサイクル当り
の実行命令数を1以下にすることができず、また、RI
SCプロセッサのみの場合、科学技術計算等のプログラ
ムにおいては性能を上げられても、汎用コンピュータに
要求される商業的な処理性能を上げることは困難である
という従来技術の問題点を同時に解決することができ
る。As described above, according to one embodiment of the present invention,
In the case of only a CISC processor, the number of executed instructions per machine cycle cannot be reduced to 1 or less.
To solve the problem of the prior art that it is difficult to increase the commercial processing performance required for a general-purpose computer even if the performance of a program such as scientific calculation is improved when only an SC processor is used. Can be.
【0051】[0051]
【発明の効果】以上説明したように本発明によれば、C
ISCプロセッサアプリケーションプログラム資産を活
かすことが可能で、かつ、RR型演算、浮動小数点演算
に対してRISCプロセッサを用いてより効率的なデー
タ処理を行うことができる。As described above, according to the present invention, C
The ISC processor application program resources can be utilized, and more efficient data processing can be performed using a RISC processor for RR-type operations and floating-point operations.
【図1】本発明の一実施例の全体の構成を示すブロック
図である。FIG. 1 is a block diagram showing the overall configuration of an embodiment of the present invention.
【図2】命令実行制御部の構成を示すブロック図であ
る。FIG. 2 is a block diagram illustrating a configuration of an instruction execution control unit.
【図3】本発明の動作の一例を説明するための命令列の
一例を示す図である。FIG. 3 is a diagram showing an example of an instruction sequence for explaining an example of the operation of the present invention.
【図4】起動命令と復帰命令との処理を説明するフロー
チャートである。FIG. 4 is a flowchart illustrating processing of a start instruction and a return instruction.
10、15 フラグ 20、120 命令実行制御部(I-Contrl) 25、125 分岐制御部(Branch-Control) 26、126 加算器(Add) 30、130 制御レジスタ群(C-Registr) 40、140 汎用レジスタ群(G-Registr) 50、150 浮動小数点レジスタ群(F-Register) 60、160 キャッシュコントロール(Cache-Contro
l)、 70 キャッシュメモリ(Cache) 80 制御メモリ(CS) 90 アドレスカウンタ(IA) 100 CISCプロセッサ 200 RISCプロセッサ10, 15 Flag 20, 120 Instruction execution control unit (I-Contrl) 25, 125 Branch control unit (Branch-Control) 26, 126 Adder (Add) 30, 130 Control register group (C-Registr) 40, 140 General purpose Register group (G-Registr) 50, 150 Floating point register group (F-Register) 60, 160 Cache control (Cache-Control)
l), 70 Cache memory (Cache) 80 Control memory (CS) 90 Address counter (IA) 100 CISC processor 200 RISC processor
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平3−227177(JP,A) 特開 平4−195226(JP,A) 特開 昭54−52942(JP,A) INSPEC Abstract N umber:C9350−5220P−024 ’ Hybrid pyramid mul tiprocessor system for image process ing’ Chen,I.;Jagad eesh,J.M.Proceedin g of the ISMM Inte rnational Conferen ce.Parallel and Di stributed Computin g,and Systems p.34− 7 1990 (58)調査した分野(Int.Cl.6,DB名) G06F 15/16 410 G06F 9/28 320 G06F 9/38 370 EPAT(QUESTEL) INSPEC(DIALOG) JICSTファイル(JOIS) WPI(DIALOG)────────────────────────────────────────────────── ─── Continuation of the front page (56) References JP-A-3-227177 (JP, A) JP-A-4-195226 (JP, A) JP-A-54-52942 (JP, A) INSPEC Abstract Number: C9350-5220P-024 'Hybrid pyramid mul tiprocessor system for image processing' Chen, I.C. Jagad eesh, J .; M. Proceeding of the ISMM International Conference. See Parallel and Distributed Computing, and Systems p. 34-7 1990 (58) Field surveyed (Int. Cl. 6 , DB name) G06F 15/16 410 G06F 9/28 320 G06F 9/38 370 EPAT (QUESTEL) INSPEC (DIALOG) JICST file (JOIS) WPI ( DIALOG)
Claims (5)
ルチプロセッサにおいて、前記CPUコアの少なくとも
1つが、マイクロプログラム制御方式のプロセッサであ
り、他のCPUコアが前記CPUコアと命令制御方式が
異なるプロセッサであり、かつ、前記マイクロプログラ
ム制御のプロセッサと、前記CPUコアと命令制御方式
が異なるプロセッサとが、同一の命令列のフェッチを行
うことを特徴とするマルチプロセッサ。1. A multiprocessor having at least two CPU cores, wherein at least one of the CPU cores is a processor of a microprogram control method, and another CPU core is a processor having a different instruction control method from the CPU core. And the microprogram
Control processor, CPU core and instruction control system
Processor fetches the same instruction sequence
Cormorants multi-processor, characterized in that.
セッサが、前記CPUコアと命令制御方式が異なるプロ
セッサを起動するための手段と、該起動動作させられる
プロセッサの処理動作を有効にするフラグ手段と、前記
起動により動作されられていたプロセッサの動作終了を
指示する手段とを備えることを特徴とする請求項1記載
のマルチプロセッサ。2. A means for causing the microprogram control type processor to start a processor having a different instruction control method from the CPU core, a flag means for enabling a processing operation of the started processor, 2. The multiprocessor according to claim 1, further comprising: means for instructing termination of the operation of the processor that has been operated by activation.
サに対して、前記CPUコアと命令制御方式が異なるプ
ロセッサが、2倍のマシンサイクルで動作することを特
徴とする請求項1または2記載のマルチプロセッサ。Relative wherein said micro-program-controlled processor, a processor, wherein the CPU core and instruction control method are different, the multi-processor of claim 1 or 2, wherein the operating at twice the machine cycle.
サがCISCプロセッサであり、前記CPUコアと命令
制御方式が異なるプロセッサがRISCプロセッサであ
ることを特徴とする請求項1、2または3記載のマルチ
プロセッサ。Wherein said processor of the microprogram control is CISC processor, multiprocessor of claim 1, 2 or 3, wherein said CPU core and the instruction control scheme is different processors RISC processor.
サと、前記CPUコアと命令制御方式が異なるプロセッ
サとを含む回路が、1チップLSI内に形成されている
ことを特徴とする請求項1ないし4のうち1記載のマル
チプロセッサ。5. A processor of the microprogram control, circuit including said processor CPU core and instruction control method are different, one of claims 1 to 4, characterized in that it is formed in the chip LSI 2. The multiprocessor according to 1.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4323332A JP2846536B2 (en) | 1992-12-02 | 1992-12-02 | Multiprocessor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4323332A JP2846536B2 (en) | 1992-12-02 | 1992-12-02 | Multiprocessor |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06175989A JPH06175989A (en) | 1994-06-24 |
JP2846536B2 true JP2846536B2 (en) | 1999-01-13 |
Family
ID=18153618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4323332A Expired - Fee Related JP2846536B2 (en) | 1992-12-02 | 1992-12-02 | Multiprocessor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2846536B2 (en) |
-
1992
- 1992-12-02 JP JP4323332A patent/JP2846536B2/en not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
INSPEC Abstract Number:C9350−5220P−024 ’Hybrid pyramid multiprocessor system for image processing’ Chen,I.;Jagadeesh,J.M.Proceeding of the ISMM International Conference.Parallel and Distributed Computing,and Systems p.34−7 1990 |
Also Published As
Publication number | Publication date |
---|---|
JPH06175989A (en) | 1994-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3120152B2 (en) | Computer system | |
Hwu et al. | HPSm, a high performance restricted data flow architecture having minimal functionality | |
EP0782071B1 (en) | Data processor | |
US4794521A (en) | Digital computer with cache capable of concurrently handling multiple accesses from parallel processors | |
JP2966085B2 (en) | Microprocessor having last-in first-out stack, microprocessor system, and method of operating last-in first-out stack | |
US8677330B2 (en) | Processors and compiling methods for processors | |
US5418736A (en) | Optimized binary adders and comparators for inputs having different widths | |
US5774727A (en) | Parallel processing system for virtual processor implementation of machine-language instructions | |
US20080184211A1 (en) | Virtual architecture and instruction set for parallel thread computing | |
US20020019910A1 (en) | Methods and apparatus for indirect VLIW memory allocation | |
KR100316078B1 (en) | Processor with pipelining-structure | |
JPS6184740A (en) | Generating system of general-use object code | |
US5872989A (en) | Processor having a register configuration suited for parallel execution control of loop processing | |
JPH07244589A (en) | Computer system and method to solve predicate and boolean expression | |
TWI776465B (en) | Apparatus and method for secondary offload in graphics processing unit | |
Dolle et al. | A 32-b RISC/DSP microprocessor with reduced complexity | |
US6732363B1 (en) | Supporting inter-process communication through a conditional trap instruction | |
Uchiyama et al. | Heterogeneous multicore processor technologies for embedded systems | |
JP2846536B2 (en) | Multiprocessor | |
Kawano et al. | Fine-grain multi-thread processor architecture for massively parallel processing | |
Smith et al. | PIPE: A high performance VLSI architecture | |
Gray et al. | VIPER: A 25-MHz, 100-MIPS peak VLIW microprocessor | |
Vishkin | From algorithm parallelism to instruction-level parallelism: An encode-decode chain using prefix-sum | |
US11275712B2 (en) | SIMD controller and SIMD predication scheme | |
US6807628B2 (en) | System and method for supporting precise exceptions in a data processor having a clustered architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071030 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081030 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091030 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091030 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101030 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111030 Year of fee payment: 13 |
|
LAPS | Cancellation because of no payment of annual fees |