JP2002244846A - Processor, computer-readable recording medium with circuit source for the same recorded thereon, and assembler converting processing program for processor into machine language - Google Patents

Processor, computer-readable recording medium with circuit source for the same recorded thereon, and assembler converting processing program for processor into machine language

Info

Publication number
JP2002244846A
JP2002244846A JP2001037866A JP2001037866A JP2002244846A JP 2002244846 A JP2002244846 A JP 2002244846A JP 2001037866 A JP2001037866 A JP 2001037866A JP 2001037866 A JP2001037866 A JP 2001037866A JP 2002244846 A JP2002244846 A JP 2002244846A
Authority
JP
Japan
Prior art keywords
instruction
control
processor
code
path
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
JP2001037866A
Other languages
Japanese (ja)
Inventor
Ryohei Tanaka
良平 田中
Kenji Mogi
建二 茂木
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.)
ROORAN KK
Daihen Corp
Original Assignee
ROORAN KK
Daihen Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ROORAN KK, Daihen Corp filed Critical ROORAN KK
Priority to JP2001037866A priority Critical patent/JP2002244846A/en
Publication of JP2002244846A publication Critical patent/JP2002244846A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To simplify a control part and increase the processing speed in a processor such as a CPU core by switching a data transmission route to an arithmetic logic unit to a bypass route and avoiding the occurrence of a resister conflict phenomenon without using a bypass control logic circuit. SOLUTION: A control code 44 switching a data input route which is determined based on a combination of commands before and after is embedded into a command code 45 to directly transmit bit information of the control code 44 to DMUX 13 of a multiplexer for switching a data input route to ALU 15 through a control line L1. Consequently, even if the combination of commands before and after is one causes occurrence of the resister conflict phenomenon, occurrence of the phenomenon can be avoided by switching the route to ALU 15 to the bypass route.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、命令をいくつかの
ステージに分けて、複数のステージを並列に処理するパ
イプライン制御方式のプロセッサに係わり、特に、命令
実行時におけるレジスタ又はメモリの競合を回避する技
術に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a pipeline control type processor that divides an instruction into several stages and processes the plurality of stages in parallel. Regarding techniques to avoid.

【0002】[0002]

【従来の技術】従来、パイプライン制御方式のプロセッ
サでは、前命令の演算結果格納ステージの処理が完了す
る前に、現命令の演算実行ステージの処理が開始される
ため、前命令で更新したレジスタ又はメモリの内容を現
命令の演算に使用する場合には、前命令により更新され
る前のレジスタ又はメモリの内容が現命令の演算に使用
されて、正しい演算結果を得ることができないという問
題があった。この問題は、連続した複数の命令が同じレ
ジスタ又はメモリを競合(Conflict)して使用する場合
に発生するため、一般的にレジスタ・コンフリクト問題
と呼ばれている。図7(a)にパイプライン処理で使用
されるステージが4つである場合におけるレジスタ・コ
ンフリクト問題発生のメカニズムを示す。現命令のExec
ute(演算実行)ステージ(以下、Eステージと略す)
101に使用されるレジスタCの内容は、このEステー
ジ101の1つ前のDecode(デコード)ステージ(以
下、Dステージと略す)102の終了時に現命令により
参照される。ところが、この時点では、前命令のWrite
Back(演算結果格納)ステージ(以下、WBステージと
略す)103の処理が完了していないため、前命令によ
り更新される前のレジスタCの内容が現命令のEステー
ジ101に使用されるという現象が発生する。
2. Description of the Related Art Conventionally, in a pipeline control type processor, the processing of the operation execution stage of the current instruction is started before the processing of the operation result storage stage of the previous instruction is completed. Or, when the contents of the memory are used for the operation of the current instruction, there is a problem that the contents of the register or the memory before being updated by the previous instruction are used for the operation of the current instruction, and a correct operation result cannot be obtained. there were. Since this problem occurs when a plurality of consecutive instructions use the same register or memory in conflict (Conflict), it is generally called a register conflict problem. FIG. 7A shows a mechanism of the occurrence of the register conflict problem when the number of stages used in the pipeline processing is four. Exec of the current instruction
ute (calculation execution) stage (hereinafter abbreviated as E stage)
The contents of the register C used for 101 are referred to by the current instruction at the end of a decode (decode) stage (hereinafter abbreviated as D stage) 102 immediately before the E stage 101. However, at this point, the previous instruction Write
Since the processing of the Back (operation result storage) stage (hereinafter abbreviated as WB stage) 103 is not completed, the content of the register C before being updated by the previous instruction is used for the E stage 101 of the current instruction. Occurs.

【0003】これに対して、実行する命令の前後の組み
合わせから、レジスタ・コンフリクト現象の発生が事前
に予測される場合には、現命令のEステージにおける演
算の元になる算術論理ユニットへの入力データとして、
現命令のオペランドで指定されたレジスタ又はメモリの
内容ではなく、前命令における算術論理ユニットからの
出力値を直接用いるバイパス制御方式のプロセッサが知
られている(例えば、特開2000−305777号公
報等参照)。この方式のプロセッサは、例えば、図7
(b)に示されるように、前命令で更新したレジスタC
の内容を現命令で参照する場合に、レジスタC自体の内
容ではなく、前命令のEステージ105による演算結果
である新しいレジスタCの内容を、バイパス回路を使用
して現命令のDステージ106で直接参照する方法によ
り、上述したレジスタ・コンフリクト現象の発生を回避
している。また、ソース・プログラム中の各命令語をア
センブラにより機械語形式の命令コードに変換する過程
において、レジスタ・コンフリクト現象の発生する命令
語の組み合わせを検出して、そのような組み合わせが検
出された場合には、前命令と現命令の間にNOP(No O
peration)命令という何もしない命令を挿入すること
で、レジスタ・コンフリクト現象の発生を回避するNO
P挿入方式のプロセッサがある。この方式のプロセッサ
は、例えば、図7(c)に示されるように、前命令で更
新したレジスタCの内容を現命令で使用する場合に、前
命令と現命令との間にNOP命令を挿入することによ
り、前命令のWBステージ108で更新された後のレジ
スタCの内容を、現命令のDステージ109で参照する
ことができるようにしている。
On the other hand, if the occurrence of a register conflict phenomenon is predicted in advance from the combination of the instruction to be executed before and after, the input to the arithmetic logic unit which is the source of the operation in the E stage of the current instruction is performed. As data,
2. Description of the Related Art There is known a processor of a bypass control system that directly uses an output value from an arithmetic logic unit in a previous instruction instead of the contents of a register or a memory specified by an operand of a current instruction (for example, Japanese Patent Application Laid-Open No. 2000-305777). reference). This type of processor is, for example, shown in FIG.
As shown in (b), the register C updated by the previous instruction
Is referred to by the current instruction, not the contents of the register C itself, but the contents of the new register C, which is the result of the operation by the E stage 105 of the previous instruction, at the D stage 106 of the current instruction using a bypass circuit. The direct reference method avoids the above-described register conflict phenomenon. Also, in the process of converting each instruction word in the source program into an instruction code in a machine language format by an assembler, detecting a combination of instruction words in which a register conflict phenomenon occurs, and detecting such a combination. Between the previous instruction and the current instruction
peration) Insert an instruction that does nothing to avoid the occurrence of the register conflict phenomenon.
There is a P insertion type processor. For example, as shown in FIG. 7C, when using the contents of the register C updated by the previous instruction in the current instruction, the processor of this system inserts a NOP instruction between the previous instruction and the current instruction. By doing so, the contents of the register C updated at the WB stage 108 of the previous instruction can be referred to at the D stage 109 of the current instruction.

【0004】[0004]

【発明が解決しようとする課題】しかしながら、上記の
ような従来のバイパス制御方式のプロセッサでは、レジ
スタ・コンフリクト現象の発生を事前に検出して算術論
理ユニットへのデータ伝送経路をバイパス用の経路に切
り換えるための論理回路(バイパス制御用論理回路)が
必要になる。装置で使用可能な命令数やレジスタの数が
多い場合には、レジスタ・コンフリクト現象の発生する
条件も多数発生するため、バイパス制御用論理回路の規
模も大きくなる。従って、このような場合には、バイパ
ス制御用論理回路の存在は、装置の制御部(コントロー
ラ部)の複雑化を招き、装置全体のロジック規模を増大
させる要因となると共に、システム・クロック周波数の
低下を招く要因となる。また、上記のような従来のNO
P挿入方式のプロセッサでは、前後の命令の組み合わせ
がレジスタ・コンフリクト現象の発生する組み合わせで
ある場合には、本来の命令に加えてNOP命令を実行す
る必要があるため、プログラムの実行効率が低下すると
いう問題があった。
However, in the above-mentioned conventional processor of the bypass control system, the occurrence of the register conflict phenomenon is detected in advance, and the data transmission path to the arithmetic logic unit is changed to the bypass path. A logic circuit for switching (a bypass control logic circuit) is required. When the number of instructions and registers that can be used in the device is large, a large number of conditions under which a register conflict phenomenon occurs occur, and the scale of the bypass control logic circuit also increases. Therefore, in such a case, the presence of the bypass control logic circuit causes the control unit (controller unit) of the device to be complicated, which causes an increase in the logic scale of the entire device, and also reduces the system clock frequency. This is a factor that causes a decline. In addition, the conventional NO
In a P-insertion type processor, if the combination of the preceding and following instructions is a combination that causes a register conflict phenomenon, it is necessary to execute the NOP instruction in addition to the original instruction, so that the execution efficiency of the program is reduced. There was a problem.

【0005】本発明は、上述した問題点を解決するため
になされたものであり、前後の命令の組み合わせがレジ
スタ・コンフリクト現象の発生する組み合わせである場
合に、バイパス制御用論理回路を用いることなく、算術
論理ユニットへのデータ伝送経路をバイパス用の経路に
切り換えて、レジスタ・コンフリクト現象の発生を回避
することができるようにして、制御部を簡略化し、装置
全体のロジック規模を小さくすることができると共に、
処理の高速化を図ることが可能なプロセッサを提供する
ことを目的とする。
SUMMARY OF THE INVENTION The present invention has been made to solve the above-described problem. When a combination of instructions before and after is a combination in which a register conflict phenomenon occurs, the present invention can be applied without using a bypass control logic circuit. By switching the data transmission path to the arithmetic logic unit to a bypass path, it is possible to avoid the occurrence of the register conflict phenomenon, thereby simplifying the control unit and reducing the logic scale of the entire device. While you can
It is an object of the present invention to provide a processor capable of increasing the processing speed.

【0006】[0006]

【課題を解決するための手段】上記目的を達成するため
に本発明は、命令をいくつかのステージに分けて、複数
のステージを並列に処理するパイプライン制御方式のプ
ロセッサにおいて、各種のデータを保持する複数のレジ
スタと、実行形式のプログラムを含む各種データを格納
するメモリと、レジスタやメモリに格納されたデータに
基づいて各種の演算を行う算術論理ユニットと、レジス
タ、メモリ及び算術論理ユニットを含む装置内部の各種
回路間のデータ伝送経路を切り換えるマルチプレクサ
と、装置内部の各種回路の制御を行う制御部とを備え、
メモリに格納された実行形式のプログラムを構成する命
令コードには、前後の命令コードの組み合わせに基づい
て決定される制御コードが組み込まれており、制御部
は、マルチプレクサに接続する制御線を有し、メモリに
格納された命令コードを読み込み、この命令コードに組
み込まれた制御コードのビット情報を制御線を介してマ
ルチプレクサに伝達して、装置内部の所定の回路間のデ
ータ伝送経路を切り換えるようにしたものである。
SUMMARY OF THE INVENTION In order to achieve the above object, the present invention provides a pipeline control type processor which divides an instruction into several stages and processes a plurality of stages in parallel. A plurality of registers to be held, a memory for storing various data including an executable program, an arithmetic logic unit for performing various operations based on the data stored in the registers and the memory, and a register, a memory and an arithmetic logic unit. A multiplexer that switches a data transmission path between various circuits inside the device, and a control unit that controls various circuits inside the device,
The instruction code constituting the executable program stored in the memory incorporates a control code determined based on a combination of the preceding and following instruction codes, and the control unit has a control line connected to the multiplexer. Read the instruction code stored in the memory, transmit bit information of the control code incorporated in the instruction code to the multiplexer through a control line, and switch a data transmission path between predetermined circuits in the device. It was done.

【0007】上記構成においては、制御部が、実行対象
となるプログラム中の前後の命令コードの組み合わせに
基づいて決定された制御コードのビット情報を、制御線
を介してマルチプレクサに伝達することにより、装置内
部の所定の回路間におけるデータ伝送経路を切り換え
る。従って、前命令と現命令との組み合わせがレジスタ
・コンフリクト現象の発生する組み合わせである場合で
も、例えば、制御コードの伝達先となるマルチプレクサ
を算術論理ユニットへのデータ入力経路切り換え用のマ
ルチプレクサとし、命令コードに組み込まれる制御コー
ドをバイパス用経路への接続を指示するものとすれば、
制御部が、この制御コードのビット情報を上記のマルチ
プレクサに伝達して、算術論理ユニットへのデータ入力
経路をバイパス用の経路に切り換えることができる。こ
れにより、レジスタ・コンフリクト現象の発生を回避す
ることができる。
In the above configuration, the control unit transmits bit information of the control code determined based on the combination of the preceding and following instruction codes in the program to be executed to the multiplexer through the control line, A data transmission path is switched between predetermined circuits in the device. Therefore, even when the combination of the previous instruction and the current instruction is a combination in which a register conflict phenomenon occurs, for example, the multiplexer to which the control code is transmitted is a multiplexer for switching the data input path to the arithmetic logic unit, and the instruction If the control code embedded in the code indicates connection to the bypass path,
The control unit can transmit the bit information of the control code to the multiplexer to switch the data input path to the arithmetic logic unit to the bypass path. As a result, the occurrence of the register conflict phenomenon can be avoided.

【0008】また、制御部により切り換えられるデータ
伝送経路は、算術論理ユニットへの入力用の経路であ
り、切り換えの対象となる経路には、算術論理ユニット
からの出力を、通常のレジスタ又はメモリを介さず、ダ
イレクトに算術論理ユニットへの入力専用レジスタに入
力するためのバイパス用の経路が含まれることが望まし
い。これにより、前命令と現命令との組み合わせがレジ
スタ・コンフリクト現象の発生する組み合わせであると
きに、命令コードに組み込まれる制御コードをバイパス
用経路への接続を指示するものとすることで、制御部
が、この制御コードをマルチプレクサに伝達して、算術
論理ユニットへのデータ伝送経路をバイパス用の経路に
切り換えることができる。
[0008] The data transmission path switched by the control unit is a path for input to the arithmetic logic unit. The path to be switched includes an output from the arithmetic logic unit and a normal register or memory. It is desirable to include a bypass path for inputting directly to an input-only register to the arithmetic logic unit without intervention. Thus, when the combination of the previous instruction and the current instruction is a combination in which a register conflict phenomenon occurs, the control code incorporated in the instruction code is instructed to connect to the bypass path. However, by transmitting the control code to the multiplexer, the data transmission path to the arithmetic logic unit can be switched to the bypass path.

【0009】また、制御部は、読み込んだ命令コード中
の制御コードがバイパス用経路への切り換えを示すコー
ドである場合に、この制御コードのビット情報を制御線
を介して算術論理ユニットへのデータ入力経路切り換え
用のマルチプレクサに伝達することにより、算術論理ユ
ニットへの入力用の経路をバイパス用経路に切り換える
ことが望ましい。これにより、上記の作用を的確に得る
ことができる。
When the control code in the read instruction code is a code indicating switching to a bypass path, the control unit transmits the bit information of the control code to the arithmetic logic unit via a control line. It is desirable to switch the input path to the arithmetic logic unit to the bypass path by transmitting the signal to the input path switching multiplexer. As a result, the above operation can be obtained accurately.

【0010】また、請求項4の発明は、プロセッサの回
路のソースを記録したコンピュータ読み取り可能な記録
媒体であって、そのソースを、請求項1乃至請求項3の
いずれかに記載のプロセッサの回路についてのハードウ
ェア記述言語レベルのソースとしたものである。この構
成においては、コンピュータにソースを読み取らせた上
で、このソースを論理合成により論理ゲートに変換し
て、変換後の論理ゲートをFPGA等の論理集積回路に
反映することにより、上記と同様な作用を得ることがで
きる。
According to a fourth aspect of the present invention, there is provided a computer-readable recording medium recording a source of a circuit of a processor, wherein the source is a circuit of the processor according to any one of the first to third aspects. Is a source of hardware description language level. In this configuration, after the source is read by a computer, the source is converted into a logic gate by logic synthesis, and the converted logic gate is reflected on a logic integrated circuit such as an FPGA, thereby obtaining the same as the above. Action can be obtained.

【0011】また、請求項5の発明は、プロセッサ用の
処理プログラムのソースに含まれる各命令語を機械語形
式の命令コードに変換するアセンブラを記録したコンピ
ュータ読み取り可能な記録媒体であって、アセンブラ
は、命令コードの実行時においてプロセッサ内のレジス
タ又はメモリに競合が発生するか否かを、ソース・プロ
グラム中の前後の命令語の組み合わせに基づき検出し
て、この検出結果に基づきプロセッサ内部の所定の回路
間におけるデータ伝送経路の切り換え用の制御コードを
生成し、この制御コードを前記命令コード中に組み込む
ようにしたものである。このアセンブラで生成した命令
コードを請求項1に記載のプロセッサで実行することに
より、上記請求項1に記載の作用を的確に得ることがで
きる。
According to a fifth aspect of the present invention, there is provided a computer-readable recording medium recording an assembler for converting each instruction word included in a source of a processing program for a processor into an instruction code in a machine language format. Detects whether or not a conflict occurs in a register or a memory in a processor during execution of an instruction code based on a combination of preceding and succeeding instruction words in a source program, and determines a predetermined condition in the processor based on the detection result. A control code for switching the data transmission path between the circuits is generated, and this control code is incorporated in the instruction code. By executing the instruction code generated by the assembler by the processor according to the first aspect, the operation according to the first aspect can be accurately obtained.

【0012】[0012]

【発明の実施の形態】以下、本発明の一実施形態による
プロセッサであるCPUコアについて図面を参照して説
明する。図1に本実施形態によるCPUコア周辺の構成
を示す。このCPUコア1は、簡易なRISCプロセッ
サであり、フィールド・プログラマブル・ゲート・アレ
イ(以下、FPGAという)2上に組み込まれて使用さ
れるIP(Intellectual Property )の一種である。フ
ィールド・プログラマブル・ゲート・アレイ(以下、F
PGAという)2上には、このCPUコア1と、このC
PUコア1による制御の対象となるマクロセルやメガセ
ル等のIP3とが配置される。CPUコア1は、命令の
内容をデコードしてCPUコア1全体の制御を行う制御
部4、種々のレジスタやマルチプレクサから成るデータ
パス5、及びFPGA2の内部又は外部で発生する割り
込み信号を検出して制御部4へ通知する割り込み制御部
6より構成される。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, a CPU core which is a processor according to an embodiment of the present invention will be described with reference to the drawings. FIG. 1 shows a configuration around the CPU core according to the present embodiment. The CPU core 1 is a simple RISC processor, and is a kind of intellectual property (IP) incorporated and used on a field programmable gate array (hereinafter referred to as FPGA) 2. Field programmable gate array (hereinafter F
The CPU core 1 and the C
An IP3 such as a macro cell or a mega cell to be controlled by the PU core 1 is arranged. The CPU core 1 decodes the contents of the instruction to control the entire CPU core 1, controls a data path 5 including various registers and multiplexers, and detects an interrupt signal generated inside or outside the FPGA 2. An interrupt control unit 6 for notifying the control unit 4 is provided.

【0013】次に、上記データパス5の構成について説
明する。データパス5は、IR(Instruction Registe
r:命令レジスタ)7、プログラム・カウンタ(Program
Counter:以下、PCと略す)8、JUMP命令の実行時
における戻り先アドレスの保持用のレジスタであるPR
J(Program counter Return for Jump)9、割り込み
発生時における戻り先アドレスの保持用のレジスタであ
るPRI(Program counter Return for Interrupt)1
0、CPUコア1外部の装置からのデータ入出力用ポー
トの一種であるGR(Global Register)11、演算結
果等の格納用の汎用レジスタであるAR12を持つ。ま
た、データパス5は、算術論理ユニット(Arithmetic L
ogic Unit:以下、ALUと略す)15と、この算術論理
ユニット15へのデータ入力経路切り換え用のマルチプ
レクサであるDMUX(Data Input Multiplexer)13
と、DMUX13を経由したALU15への入力データ
の一時格納用レジスタであるSRC(Source registe
r)14と、システム・フラグ(オーバー・フロー発
生、割り込み発生、演算結果が0であること等を示すフ
ラグ)格納用のレジスタであるSREG(System Regis
ter)16とを有している。さらにまた、データパス5
は、ALU15等が使用するデータを格納したデータ・
メモリ17と、CPUコア1の処理を記述したプログラ
ム(以下、動作記述プログラムという)を格納したプロ
グラム・メモリ18とを備えている。PRJ9等の各種
レジスタ、ALU15、DMUX13及びデータ・メモ
リ17は、データ・バス19を介して相互にデータの入
出力を行う。また、IR7、PC8及びプログラム・メ
モリ18は、プログラム・バス20を介して相互に動作
記述プログラム中の各命令コードの入出力を行う。
Next, the configuration of the data path 5 will be described. Data path 5 is IR (Instruction Registe)
r: instruction register) 7, program counter (Program
Counter: hereinafter abbreviated as PC) 8. PR which is a register for holding a return address when a JUMP instruction is executed
J (Program counter Return for Interrupt) 9; PRI (Program counter Return for Interrupt) 1 which is a register for holding a return address when an interrupt occurs
0, a global register (GR) 11 which is a kind of data input / output port from a device outside the CPU core 1, and an AR 12 which is a general-purpose register for storing calculation results and the like. The data path 5 includes an arithmetic logic unit (Arithmetic L
ogic Unit (hereinafter abbreviated as ALU) 15 and a DMUX (Data Input Multiplexer) 13 which is a multiplexer for switching a data input path to the arithmetic logic unit 15.
And SRC (Source Registe) which is a register for temporarily storing input data to the ALU 15 via the DMUX 13
r) 14 and a SREG (System Regis) which is a register for storing a system flag (a flag indicating that an overflow has occurred, an interrupt has occurred, an operation result is 0, etc.)
ter) 16. Furthermore, data path 5
Is the data that stores the data used by ALU15, etc.
The memory 17 includes a memory 17 and a program memory 18 storing a program describing the processing of the CPU core 1 (hereinafter, referred to as an operation description program). Various registers such as the PRJ 9, the ALU 15, the DMUX 13, and the data memory 17 mutually input and output data via the data bus 19. The IR 7, the PC 8, and the program memory 18 mutually input and output each instruction code in the operation description program via the program bus 20.

【0014】次に、データ伝送を行う伝送経路(以下、
経路と略す)R1〜R8について説明する。経路R1
は、ALU15からの出力データを、AR12やデータ
・メモリ17を介さずに、直接にALU15への入力専
用レジスタであるSRC14へ入力するためのパイパス
用のデータ伝送経路である。また、経路R2は、GR1
1からの出力データをFPGA2内外のIPに出力する
ためのデータ伝送経路である。また、経路R3〜R8
は、CPUコア1とFPGA2内外のIPとを結ぶ経路
であり、これらの経路のうちR3、R4及びR8の経路
は、CPUコア1からFPGA2内外のIPのデータを
読み込む際に用いられる。具体的には、経路R3は、C
PUコア1から読み込む相手先のIPのモジュールID
を指定するための経路であり、経路R4は、CPUコア
1から読み込む相手先のIPのアドレスを指定するため
の経路である。また、経路R8は、CPUコア1が相手
先のIPから出力されたデータを読み取るための経路で
ある。CPUコア1が、読み取り対象となるIPのモジ
ュールIDとアドレスとを、経路R3と経路R4とを介
して相手先のIPに送信すると、経路R3で送信された
モジュールIDに対応した読み込み相手先のIPは、経
路R4で送信されたアドレスのデータを、経路R8を介
してCPUコア1に返す。これにより、CPUコア1か
ら任意のIP内の任意のアドレスのデータを読み取るこ
とができる。
Next, a transmission path for data transmission (hereinafter, referred to as a transmission path)
R1 to R8 will be described. Route R1
Is a bypass data transmission path for directly inputting output data from the ALU 15 to the SRC 14 which is a register dedicated to input to the ALU 15 without passing through the AR 12 or the data memory 17. The route R2 is a GR1
1 is a data transmission path for outputting output data from the IP 1 to IPs inside and outside the FPGA 2. Also, routes R3 to R8
Is a path connecting the CPU core 1 and the IP inside and outside the FPGA 2, and among these paths, the paths of R 3, R 4 and R 8 are used when reading the data of the IP inside and outside the FPGA 2 from the CPU core 1. Specifically, the route R3 is C
Module ID of destination IP to be read from PU core 1
The route R4 is a route for designating the IP address of the other party to be read from the CPU core 1. The route R8 is a route for the CPU core 1 to read data output from the destination IP. When the CPU core 1 transmits the module ID and the address of the IP to be read to the destination IP via the route R3 and the route R4, the read destination of the read destination corresponding to the module ID transmitted via the route R3 is transmitted. The IP returns the data of the address transmitted on the route R4 to the CPU core 1 via the route R8. Thereby, data at an arbitrary address in an arbitrary IP can be read from the CPU core 1.

【0015】経路R5乃至R7は、CPUコア1からF
PGA2内外のIPへデータを出力する際に用いられ、
各経路R5、R6、R7は、それぞれ出力相手のIPの
モジュールIDを指定するための経路、出力相手のIP
のアドレスを指定するための経路、CPUコア1から出
力されたデータを伝送するための経路である。CPUコ
ア1が、出力先となるIPのモジュールID、アドレ
ス、出力データを、それぞれ経路R5、R6、R7を介
して出力先のIPに送信すると、経路R5で送信された
モジュールIDに対応した出力先のIPは、経路R7で
送信された出力データを、経路R6で送信されたアドレ
スに格納する。これにより、CPUコア1から任意のI
P中の任意のアドレスに任意のデータを書き込むことが
できる。また、図中のGR(15:0)、IP_IN_ID(3:0)、IP_IN
_ADR(11:0)、IP_ID(3:0)、IP_ADR(11:0)、IP_DATA(15:
0)、IP_DIN(15:0)は、それぞれ上記のR2〜R8の各経
路によって伝達されるデータの名称とレングス(ビット
長)とを示す。
The routes R5 to R7 are routed from the CPU core 1 to the F
Used when outputting data to IP inside and outside PGA2,
Each of the routes R5, R6, and R7 is a route for designating the module ID of the IP of the output partner, and the IP of the output partner.
And a path for transmitting the data output from the CPU core 1. When the CPU core 1 transmits the module ID, the address, and the output data of the output destination IP to the output destination IP via the routes R5, R6, and R7, the output corresponding to the module ID transmitted on the route R5 is performed. The IP stores the output data transmitted on the route R7 in the address transmitted on the route R6. As a result, an arbitrary I
Any data can be written to any address in P. Also, GR (15: 0), IP_IN_ID (3: 0), IP_IN
_ADR (11: 0), IP_ID (3: 0), IP_ADR (11: 0), IP_DATA (15:
0) and IP_DIN (15: 0) indicate the name and length (bit length) of the data transmitted through each of the above-described R2 to R8 paths.

【0016】次に、制御信号が伝送される制御線L1〜
L5について説明する。制御線L1は、制御部4内部の
デコーダからDMUX13への経路切り換え用の制御信
号等を伝達するための制御線である。制御線L2は、C
PUコア1からIP3へのデータ出力を行う際の書き込
み許可信号であるIP_WE信号を伝達するための制御
線である。制御線L3は、FPGA2の内部又は外部に
設けられたクロック・ジェネレータで発生したクロック
(CLK)信号を伝達するための制御線である。制御線
L4は、FPGA2の内外の回路から送られたクリア
(CLR)信号を伝達するための制御線である。制御線
L5は、FPGA2内外のIPからの割り込み要求信号
IRQN_0〜7を伝達するための制御線である。ま
た、制御線L6と制御線L7とは、それぞれ割り込み制
御部6から制御部4への割り込み要求信号IRQの伝達
用制御線と、制御部4から割り込み制御部6への割り込
み許可信号IACKの伝達用制御線である。
Next, control lines L1 to L1 to which control signals are transmitted
L5 will be described. The control line L1 is a control line for transmitting a control signal or the like for switching a path from a decoder inside the control unit 4 to the DMUX 13. The control line L2 is connected to C
This is a control line for transmitting an IP_WE signal which is a write enable signal when data is output from the PU core 1 to the IP3. The control line L3 is a control line for transmitting a clock (CLK) signal generated by a clock generator provided inside or outside the FPGA 2. The control line L4 is a control line for transmitting a clear (CLR) signal sent from circuits inside and outside the FPGA 2. The control line L5 is a control line for transmitting interrupt request signals IRQN_0 to IRQN_7 from IP inside and outside the FPGA 2. The control line L6 and the control line L7 are respectively a control line for transmitting an interrupt request signal IRQ from the interrupt control unit 6 to the control unit 4 and a transmission line of the interrupt enable signal IACK from the control unit 4 to the interrupt control unit 6. Control line.

【0017】上記制御部4は、図中の矢印Aに示される
ように、プログラム・メモリ7に格納された動作記述プ
ログラム中の各命令コードをプログラム・バス20とI
R7とを介して読み込むと、この命令コードを制御部4
内部の不図示のデコーダ部に格納する。そして、制御部
4は、デコーダ部で解析した情報に基づいて、矢印Bに
示されるように、データ伝送経路切り換え用の制御コー
ドやALU15への演算記号等からなる制御信号をDM
UX13に伝達して、読み込んだ命令コードに対応した
処理を実行する。また、制御部4は、割り込み制御部6
から制御線L6を介して割り込み要求信号IRQを受信
した際に、この割り込み要求を許可する場合には、制御
線L7を介して割り込み制御部6に割り込み許可信号I
ACKを送信する。割り込み制御部6は、この信号を受
信すると、矢印Cに示されるように、飛び先のアドレス
である割り込みベクトルをデータパス5内部のPC8に
伝達する。これにより、割り込み処理が開始される。
As shown by the arrow A in the figure, the control unit 4 converts each instruction code in the operation description program stored in the program memory 7 into the program bus 20 and the I / O bus.
When read through R7, this instruction code is
It is stored in an internal decoder (not shown). Then, based on the information analyzed by the decoder unit, the control unit 4 transmits a control signal including a control code for switching the data transmission path and an operation symbol to the ALU 15 as shown by an arrow B in the DM.
The command is transmitted to the UX 13 and the processing corresponding to the read instruction code is executed. Further, the control unit 4 includes an interrupt control unit 6
When an interrupt request signal IRQ is received from the controller via the control line L6, if the interrupt request is to be permitted, the interrupt control signal is transmitted to the interrupt controller 6 via the control line L7.
Send ACK. Upon receiving this signal, the interrupt control unit 6 transmits an interrupt vector, which is a jump destination address, to the PC 8 in the data path 5 as indicated by an arrow C. Thereby, the interrupt processing is started.

【0018】次に、上記のCPUコア1に採用されてい
る制御部4を簡略化しつつ処理の高速化を図るための制
御上の工夫について図2を参照して説明する。図2
(a)(b)に従来の制御方式と本発明の制御方式とを
比較して示す。これらの各図に示されるアセンブラ処理
P1は、CPUコアがFPGA上に組み込まれる前に行
われる処理であり、従来のアセンブラ33又は本発明の
アセンブラ43がそれぞれの命令コード(本発明の場合
は命令コード45)を生成してそれぞれのプログラム・
メモリ(本発明の場合は図1中のプログラム・メモリ1
8)に格納する処理である。また、プロセッサ内部処理
P2は、CPUコアがFPGA上に組み込まれた後に、
CPUコア内部の制御部が行う処理である。従来のアセ
ンブラ処理P1においては、図2(a)に示されるよう
に、アセンブラ33が、アセンブリ言語の命令語31,
32を単純にマシン語(機械語)に変換することによ
り、機械語形式の命令コード34,35を生成してい
た。そして、これらの命令コード34,35は、CPU
コア内部のプログラム・メモリに書き込まれて、プロセ
ッサ内部処理P2で使用されていた。プロセッサ内部処
理P2では、CPUコアの制御部内部に設けられたバイ
パス制御論理回路36が、上記の命令コード34,35
の実行に先立って、これらの命令コード34,35をプ
ログラム・メモリから読み出して、前後の命令コード3
4,35の組み合わせがレジスタ・コンフリクト現象を
発生させる組み合わせに該当するか否かを検出してい
た。そして、該当する場合には、ALUへのデータ入力
経路を切り換えるための制御コード37をデータパス内
のバイパス制御用の回路38に伝達することにより、A
LU15へのデータ入力経路をバイパス用の経路に切り
換えて、レジスタ・コンフリクト現象の発生を回避して
いた。
Next, with reference to FIG. 2, a description will be given of a control technique for simplifying the control unit 4 employed in the CPU core 1 and increasing the processing speed. FIG.
(A) and (b) show a comparison between the conventional control method and the control method of the present invention. The assembler process P1 shown in each of these figures is a process performed before the CPU core is incorporated into the FPGA, and the conventional assembler 33 or the assembler 43 of the present invention uses the respective instruction codes (in the case of the present invention, Code 45) is generated and each program
Memory (in the case of the present invention, program memory 1 in FIG. 1)
8). Further, the processor internal processing P2 is executed after the CPU core is incorporated on the FPGA.
This is a process performed by the control unit inside the CPU core. In the conventional assembler process P1, as shown in FIG. 2A, the assembler 33 converts the assembly language instruction words 31,
The instruction codes 34 and 35 in the machine language format are generated by simply converting the M.32 into machine language (machine language). These instruction codes 34 and 35 are
The data was written into the program memory inside the core and used in the processor internal processing P2. In the processor internal processing P2, the bypass control logic circuit 36 provided inside the control unit of the CPU core executes the above-described instruction codes 34 and 35.
Prior to the execution of the instruction code, these instruction codes 34 and 35 are read from the program memory,
It has been detected whether or not the combination of 4, 35 corresponds to the combination that causes the register conflict phenomenon. If applicable, the control code 37 for switching the data input path to the ALU is transmitted to the bypass control circuit 38 in the data path, so that A
The data input path to the LU 15 is switched to a bypass path to avoid occurrence of a register conflict phenomenon.

【0019】これに対して、図2(b)に示されるよう
に、本発明のアセンブラ処理P1においては、アセンブ
ラ43が、アセンブリ言語の命令語41,42を変換す
る過程において、レジスタ・コンフリクト現象を発生さ
せる命令語41,42の組み合わせを検出する。そし
て、このような組み合わせを検出した場合には、現在の
命令コード45中にALU15へのデータ入力経路を切
り換えるための制御コード44を組み込んで、組み込み
後の命令コード45をCPUコア1内部のプログラム・
メモリ18に書き込む。プロセッサ内部処理P2では、
図1に示される制御部4が、プログラム・メモリ18か
ら命令コード45を読み出して、命令コード45中の制
御コード44を、図1に示される制御線L1を介してデ
ータパス内のバイパス制御用の回路50(図1中のDM
UX13に相当)に伝達することにより、ALU15へ
のデータ入力経路をバイパス用の経路に切り換えて、レ
ジスタ・コンフリクト現象の発生を回避する。
On the other hand, as shown in FIG. 2 (b), in the assembler processing P1 of the present invention, the assembler 43 converts the instruction words 41 and 42 of the assembly language into a register conflict phenomenon. Is detected. When such a combination is detected, the control code 44 for switching the data input path to the ALU 15 is incorporated into the current instruction code 45, and the installed instruction code 45 is stored in the program in the CPU core 1.・
Write to memory 18. In the processor internal processing P2,
The control unit 4 shown in FIG. 1 reads out the instruction code 45 from the program memory 18 and converts the control code 44 in the instruction code 45 into a control signal for bypass control in the data path via the control line L1 shown in FIG. Circuit 50 (DM in FIG. 1)
(Corresponding to the UX 13), thereby switching the data input path to the ALU 15 to the bypass path to avoid the occurrence of the register conflict phenomenon.

【0020】上述したように、本発明においては、アセ
ンブラ43が、命令コード45の生成時にバイパス回路
R1への経路切り換え用の制御コード44を生成して、
この制御コード44を命令コード45中に組み込むよう
にしたので、従来のバイパス制御方式を採用した場合と
異なり、CPUコア1に経路切り換え用の制御コードを
生成するためのバイパス制御論理回路36を設ける必要
がなくなる。このため、このCPUコア1の制御部4
は、従来のバイパス制御方式のプロセッサの制御部と比
べて、簡易な構造となる。また、このCPUコア1は、
従来のNOP挿入方式のプロセッサと異なり、前命令語
41と現在の命令語42との組み合わせがレジスタ・コ
ンフリクト現象の発生する組み合わせである場合でも、
NOP命令を実行することなく、レジスタ・コンフリク
ト現象の発生を回避することができるので、NOP挿入
方式のプロセッサと比べて、プログラムの実行効率を向
上させ、処理の高速化を図ることができる。
As described above, in the present invention, the assembler 43 generates the control code 44 for switching the path to the bypass circuit R1 when generating the instruction code 45,
Since the control code 44 is incorporated in the instruction code 45, unlike the conventional bypass control system, the CPU core 1 is provided with a bypass control logic circuit 36 for generating a control code for path switching. Eliminates the need. Therefore, the controller 4 of the CPU core 1
Has a simpler structure than the control unit of a conventional bypass control type processor. Also, this CPU core 1
Unlike the conventional NOP insertion type processor, even when the combination of the previous instruction word 41 and the current instruction word 42 is a combination in which a register conflict phenomenon occurs,
Since the occurrence of the register conflict phenomenon can be avoided without executing the NOP instruction, the execution efficiency of the program can be improved and the processing can be speeded up as compared with the NOP insertion type processor.

【0021】上記アセンブラによる命令語の命令コード
(機械語)への変換の際における変換の前後の対応関係
について説明する。従来のアセンブラ33では、変換元
となる現在の命令語32が同じニモニックの命令語であ
る場合には、変換後の命令コード35が必ず同じコード
となった。すなわち、変換元の命令語32と変換後の命
令コード35との間に1対1の対応関係が成立してい
た。これに対して、本発明のアセンブラ43では、変換
元となる現在の命令語42が同じニモニックの命令語で
あっても、この命令語42とその直前の命令語41との
組み合わせがレジスタ・コンフリクト現象を発生させる
組み合わせであるか否かに応じて、変換後の命令コード
45に組み込まれる制御コード44が異なるコードとな
り得るので、変換元の命令語42と変換後の命令コード
45との対応関係は、1対nの関係となる。このよう
に、アセンブラ43が、変換元の命令語42と変換後の
命令コード45との対応関係を従来とは異なる1対nの
関係として、変換後の命令コード45中にバイパス制御
用の制御コード44を組み込むようにしたことにより、
制御部4が、この命令コード45を読み込んだ際に、A
LU15へのデータ入力経路を適宜にバイパス回路に切
り換えて、レジスタ・コンフリクト現象の発生を回避す
ることができる。
A description will be given of a correspondence relationship before and after the conversion when converting the instruction word into the instruction code (machine language) by the assembler. In the conventional assembler 33, if the current instruction word 32 to be converted is the same mnemonic instruction word, the converted instruction code 35 is always the same code. That is, a one-to-one correspondence has been established between the instruction word 32 of the conversion source and the instruction code 35 after the conversion. On the other hand, in the assembler 43 of the present invention, even if the current instruction word 42 as the conversion source is the same mnemonic instruction word, the combination of the instruction word 42 and the immediately preceding instruction word 41 is a register conflict. Since the control code 44 incorporated in the converted instruction code 45 can be different depending on whether the combination causes a phenomenon or not, the correspondence between the conversion source instruction word 42 and the converted instruction code 45 Has a one-to-n relationship. As described above, the assembler 43 sets the correspondence between the conversion source instruction word 42 and the converted instruction code 45 to a one-to-n relationship different from the conventional one, and includes a control for bypass control in the converted instruction code 45. By incorporating the code 44,
When the control unit 4 reads the instruction code 45, A
By appropriately switching the data input path to the LU 15 to the bypass circuit, the occurrence of the register conflict phenomenon can be avoided.

【0022】次に、図3を参照して、上記の制御コード
44を用いたバイパス制御の仕組みについて説明する。
図中のレジスタ12a、12bは、図1中のAR12に
相当する汎用のレジスタであり、また、R11、R12
は、それぞれこれらの各レジスタ12a、12bとSR
C14とを結ぶデータ伝送経路である。また、DST4
6は、演算の対象となるデータを保持するものを意味
し、具体的には図1中のAR12に相当するレジスタの
1つ又はデータ・メモリ17を指す。制御部4内部のデ
コーダ47中の制御コード44を格納する部分は、図に
示されるように、制御線L1を介してALU15へのデ
ータ入力経路切り換え用のマルチプレクサであるDMU
X13と直接接続されている。従って、図1中のIR7
からの命令コード45がデコーダ47に読み込まれると
同時に、制御コード44を構成するビット情報がDMU
X13に伝達されて、ALU15へのデータ入力経路が
このビット情報に対応した経路に切り換えられる。図2
に示されるアセンブラ43は、現在の命令コード45を
生成する際に、この命令コード45の元になる命令語と
その前の命令語との組み合わせがレジスタ・コンフリク
ト現象を発生させる組み合わせである場合には、生成す
る命令コード45にバイパス用の経路R1に対応したビ
ット情報を組み込む。例えば、図中のバイパス経路R1
に対応したビット情報が ‘100’であるとすると、
アセンブラ43は、生成する命令コード45の元になる
命令語とその前の命令語との組み合わせがレジスタ・コ
ンフリクト現象を発生させる組み合わせであると判断し
た場合には、レジスタ・コンフリクト現象の発生を回避
するために、命令コード45中にビット情報が‘10
0’である制御コード44を組み込む。このビット情報
‘100’は、デコーダ47が命令コード45を読み込
んだ際に、デコーダ47から制御線L1を介してDMU
X13に伝達されて、DMUX13によりALU15へ
のデータ入力経路がこのビット情報に対応したバイパス
経路R1に切り換えられる。これにより、制御部4が、
命令コード45の実行時に、前後の命令コードの組み合
わせに基づいてレジスタ・コンフリクト現象の発生を検
出する処理を行うことなく、レジスタ・コンフリクト現
象の発生を回避することができるので、CPUコア1全
体の処理の高速化を図ることができる。
Next, the mechanism of the bypass control using the control code 44 will be described with reference to FIG.
Registers 12a and 12b in the figure are general-purpose registers corresponding to AR12 in FIG.
Are respectively connected to these registers 12a, 12b and SR
This is a data transmission path connecting C14. DST4
Numeral 6 denotes a memory for holding data to be operated, and specifically indicates one of the registers or the data memory 17 corresponding to the AR 12 in FIG. As shown in the figure, the part storing the control code 44 in the decoder 47 inside the control unit 4 is a DMU which is a multiplexer for switching the data input path to the ALU 15 via the control line L1.
It is directly connected to X13. Therefore, IR7 in FIG.
Is read by the decoder 47 at the same time as the bit information constituting the control code 44 is
The data is transmitted to X13, and the data input path to ALU 15 is switched to a path corresponding to the bit information. FIG.
When the current instruction code 45 is generated, the assembler 43 shown in FIG. 4 shows that the combination of the instruction word that is the source of the instruction code 45 and the instruction word before it is a combination that causes a register conflict phenomenon. Incorporates bit information corresponding to the bypass route R1 into the generated instruction code 45. For example, the bypass route R1 in the figure
If the bit information corresponding to is "100",
If the assembler 43 determines that the combination of the instruction word that is the source of the instruction code 45 to be generated and the instruction word before it is a combination that causes a register conflict phenomenon, the assembler 43 avoids the occurrence of the register conflict phenomenon. In order to execute, the bit information in the instruction code 45 is “10”.
A control code 44 of 0 'is incorporated. When the decoder 47 reads the instruction code 45, the bit information “100” is transmitted from the decoder 47 to the DMU via the control line L1.
The data is transmitted to X13, and the data input path to the ALU 15 is switched by the DMUX 13 to the bypass path R1 corresponding to the bit information. Thereby, the control unit 4
When the instruction code 45 is executed, the occurrence of the register conflict phenomenon can be avoided without performing the process of detecting the occurrence of the register conflict phenomenon based on the combination of the preceding and succeeding instruction codes. The processing can be speeded up.

【0023】次に、図4(a)(b)(c)を参照し
て、上記図3に示されるバイパス制御の仕組みを用いた
処理の具体例について説明する。これらの各図におい
て、枠51は上記図3中のデコーダ47に相当し、この
枠51中の各命令はDecode(デコード)段階の各命令コ
ードの内容を示したものである。また、枠52中の各命
令は、Execute(演算実行)段階の各命令コードの内容
を示したものである。図4(a)に示されるように、演
算実行段階の命令がNo Operation(何も処理しない命
令:以下、NOPと略す)で、デコード段階の命令がR
EG−A48に保持された値にDST46の内容を加算
してREG−A48の内容を更新するという命令(以
下、ADD命令と呼ぶ)である場合には、現在演算実行
段階にあるNOP命令で、次に演算実行をするADD命
令に使用するREG−A48又はDST46の内容を更
新するということは有り得ない。従って、ADD命令を
実行した場合に、レジスタ・コンフリクト現象が発生す
るということは有り得ない。このため、図2に示される
アセンブラ43は、アセンブル時にこのADD命令にバ
イパス用の経路R1に対応したビット情報ではなく、R
EG−A48とSRC14とを結ぶ通常の経路R11に
対応したビット情報を組み込む。
Next, a specific example of the process using the bypass control mechanism shown in FIG. 3 will be described with reference to FIGS. 4 (a), 4 (b) and 4 (c). In each of these figures, a frame 51 corresponds to the decoder 47 in FIG. 3, and each instruction in this frame 51 indicates the content of each instruction code in the Decode (decode) stage. Each instruction in the frame 52 indicates the content of each instruction code in the Execute (operation execution) stage. As shown in FIG. 4A, the instruction in the operation execution stage is No Operation (an instruction that does nothing: hereinafter abbreviated as NOP), and the instruction in the decode stage is R
If the instruction is to add the contents of the DST 46 to the value held in the EG-A 48 to update the contents of the REG-A 48 (hereinafter, referred to as an ADD instruction), a NOP instruction that is currently in the operation execution stage is Next, it is impossible to update the contents of the REG-A 48 or DST 46 used for the ADD instruction for executing the operation. Therefore, when the ADD instruction is executed, it is unlikely that a register conflict phenomenon will occur. For this reason, the assembler 43 shown in FIG. 2 uses this ADD instruction with the R information instead of the bit information corresponding to the bypass path R1 at the time of assembling.
The bit information corresponding to the normal route R11 connecting the EG-A 48 and the SRC 14 is incorporated.

【0024】従って、デコーダ47が上記のADD命令
を読み込むと、経路R11に対応したビット情報が制御
線L1を介してDMUX13に伝達されて、DMUX1
3によりSRC14及びALU15へのデータ入力経路
が経路R11に切り換えられる。この後、通常はALU
15により演算実行段階の命令が実行されるが、図4
(a)に示されるケースでは、実行すべき命令がNOP
命令であるため、実際にはALU15による処理は行わ
れない。一方、デコーダ47は、ADD命令の解読を終
了すると、REG−A48に対して保持するデータを出
力するように指示する。これにより、REG−A48の
データが経路R11を介してSRC14に出力される。
Therefore, when the decoder 47 reads the ADD instruction, the bit information corresponding to the path R11 is transmitted to the DMUX 13 via the control line L1, and the DMUX 1
3, the data input path to the SRC 14 and the ALU 15 is switched to the path R11. After this, usually ALU
15 executes the instruction in the operation execution stage.
In the case shown in (a), the instruction to be executed is NOP
Since this is an instruction, the processing by the ALU 15 is not actually performed. On the other hand, when the decoding of the ADD instruction is completed, the decoder 47 instructs the REG-A 48 to output the held data. As a result, the data of the REG-A 48 is output to the SRC 14 via the route R11.

【0025】次に、図4(b)に示されるように、上記
のADD命令が演算実行段階に入り、デコーダ47に次
の命令(REG−A48の内容をデータ・メモリ17に
書き込む命令:以下、STORE命令と呼ぶ)が読み込
まれると、制御線L1を介してDMUX13にSTOR
E命令のコード中に組み込まれたビット情報が伝達され
る。このSTORE命令のコード中に組み込まれたビッ
ト情報は、バイパス経路R1に対応したものとなる。何
故なら、上記のADD命令によるREG−A48中のデ
ータを更新する処理と、上記のSTORE命令によるR
EG−A48中のデータを書き込む処理とを連続して実
行すると、ALU15への入力専用のレジスタであるS
RC14は、ADD命令によるREG−A48について
のデータ更新処理が完了する前に、STORE命令に使
用するADD命令実行後のREG−A48のデータを読
み取る必要があるため、通常の経路R11を介してRE
G−A48のデータを読み取っても、ADD命令実行前
のREG−A48のデータを読み取ってしまうからであ
る。すなわち、SRC14がSTORE命令に使用する
REG−A48のデータを読み取る際に、レジスタ・コ
ンフリクト現象が発生するからである。このため、SR
C14は、バイパス経路R1を介してREG−A48の
更新用のデータを直接読み取らなければ、ADD命令実
行後のREG−A48のデータを読み取ることができな
い。図2に示されるアセンブラ43は、アセンブル(機
械語変換)時に、このレジスタ・コンフリクト現象の発
生を検出して、STORE命令の命令コード中にバイパ
ス用の経路R1に対応したビット情報を組み込む。
Next, as shown in FIG. 4B, the above-mentioned ADD instruction enters the operation execution stage, and the next instruction (an instruction for writing the contents of the REG-A 48 into the data memory 17: , STORE instruction) is read, the STOR is sent to the DMUX 13 via the control line L1.
The bit information embedded in the code of the E instruction is transmitted. The bit information embedded in the STORE instruction code corresponds to the bypass route R1. The reason is that the process of updating the data in the REG-A 48 by the above ADD instruction and the R by the above STORE instruction
When the process of writing the data in the EG-A 48 and the process of writing the data in the EG-A 48 are successively performed, the register S S which is a register dedicated to input to the ALU 15
The RC 14 needs to read the data of the REG-A 48 after the execution of the ADD instruction used for the STORE instruction before the data update processing of the REG-A 48 by the ADD instruction is completed.
This is because even if the data of the G-A 48 is read, the data of the REG-A 48 before the execution of the ADD instruction is read. That is, when the SRC 14 reads the data of the REG-A 48 used for the STORE instruction, a register conflict phenomenon occurs. Therefore, SR
The C14 cannot read the data of the REG-A48 after the execution of the ADD instruction unless the C14 directly reads the data for updating the REG-A48 via the bypass path R1. The assembler 43 shown in FIG. 2 detects the occurrence of the register conflict phenomenon during assembling (machine language conversion) and incorporates bit information corresponding to the bypass route R1 into the instruction code of the STORE instruction.

【0026】上記のように、STORE命令のコード中
に組み込まれるビット情報がバイパス用の経路R1に対
応したものとなるため、デコーダ47がSTORE命令
のコードを読み込むと、このコード中に組み込まれたビ
ット情報が制御線L1を介してDMUX13に伝達され
て、DMUX13がデータ伝送経路を通常の経路R11
からバイパス用の経路R1に切り換える。
As described above, since the bit information incorporated in the STORE instruction code corresponds to the bypass route R1, when the decoder 47 reads the STORE instruction code, the bit information incorporated in the STORE instruction code is embedded in the STORE instruction code. The bit information is transmitted to the DMUX 13 via the control line L1, and the DMUX 13 switches the data transmission path to the normal path R11.
Is switched to the bypass route R1.

【0027】一方、ALU15は、演算実行の開始時に
SRC14にセットされているデータとDST46にセ
ットされているデータとに基づいて、ADD命令を実行
する。このADD命令による演算結果は、REG−A4
8に書き込まれると同時に、バイパス経路R1を介して
SRC14に書き込まれる。これにより、ALU15
は、次のSTORE命令の実行時に、上記のADD命令
の実行結果を反映したREG−A48の値を参照するこ
とができる。
On the other hand, the ALU 15 executes the ADD instruction based on the data set in the SRC 14 and the data set in the DST 46 at the start of the execution of the operation. The operation result of this ADD instruction is REG-A4
8 is written to the SRC 14 via the bypass path R1 at the same time. As a result, ALU15
Can refer to the value of the REG-A 48 reflecting the execution result of the above ADD instruction when the next STORE instruction is executed.

【0028】次に、図4(c)に示されるように、上記
のSTORE命令が演算実行段階に入り、デコーダ47
に次の命令(NOP命令)が読み込まれると、制御線L
1を介してDMUX13に全てのデータ入力経路のスイ
ッチをオフにする旨のビット情報が伝達されて、SRC
14及びALU15へのデータ入力経路が全て閉ざされ
る。何故なら、次に演算実行をするNOP命令では、い
かなるレジスタ又はメモリの内容も参照しないため、図
2に示されるアセンブラ43がアセンブル時にこのNO
P命令に組み込む制御コード44の内容は、全てのデー
タ入力経路のスイッチをオフにする旨のビット情報とな
るからである。
Next, as shown in FIG. 4C, the above STORE instruction enters an operation execution stage, and
When the next instruction (NOP instruction) is read to the control line L
1, bit information indicating that all the data input paths are switched off is transmitted to the DMUX 13 through the SRC
14 and the data input path to the ALU 15 are all closed. The reason is that the assembler 43 shown in FIG.
This is because the content of the control code 44 incorporated in the P instruction is bit information for turning off the switches of all data input paths.

【0029】一方、ALU15は、STORE命令の演
算実行開始時にSRC14にセットされている上記のA
DD命令の実行結果(図中の“REG−A+DST”)
を読み取って、この実行結果をデータ・メモリ17に書
き込む
On the other hand, the ALU 15 sets the above-mentioned A set in the SRC 14 at the start of the execution of the operation of the STORE instruction.
Execution result of DD instruction ("REG-A + DST" in the figure)
And writes the execution result in the data memory 17.

【0030】次に、図5を参照して、上記のCPUコア
1のFPGA2上への組み込みに必要なハードウェアに
ついて説明する。上記のCPUコア1のFPGA2上へ
の組み込みには、パソコン62と、このパソコン62と
FPGA2とのインタフェース装置であるASAP(Ad
aptive Scan Agent Pod)63とが用いられる。ASA
P(Adaptive Scan Agent Pod)63は、TAP(Test
Access Port)と呼ばれるバウンダリ・スキャン・テス
ト用の専用端子を備えており、FPGA2内のASH
(Adaptive Scan Handler:適用型走査処理部)64に
接続される。ASH64は、ASAP15との信号の送
受信を行うためのモジュールである。また、CD−RO
M61には、CPUコア1のVHDL(VHSIC Hardware
Description Language)レベルのソースと、アセンブリ
言語で記述されたCPUコア1の動作記述プログラムの
ソースと、このソースをアセンブルするためのアセンブ
ラ43とが格納されている。
Next, with reference to FIG. 5, the hardware necessary for incorporating the CPU core 1 into the FPGA 2 will be described. In order to incorporate the CPU core 1 into the FPGA 2, a personal computer 62 and an ASAP (Advertisement) which is an interface device between the personal computer 62 and the FPGA 2 are used.
aptive Scan Agent Pod) 63 is used. ASA
P (Adaptive Scan Agent Pod) 63 is a TAP (Test
Access port) is provided with a dedicated terminal for boundary scan test.
(Adaptive Scan Handler: adaptive scan processing unit) 64. The ASH64 is a module for transmitting and receiving signals to and from the ASAP15. Also, CD-RO
In M61, VHDL (VHSIC Hardware) of CPU core 1 is provided.
A description language level source, a source of an operation description program of the CPU core 1 described in an assembly language, and an assembler 43 for assembling the source are stored.

【0031】次に、上記図5に加えて図6を参照して、
CPUコア1のFPGA2上への組み込み処理について
説明する。ユーザは、CPUコア1の組み込み処理に先
立って、CD−ROM61に格納されたCPUコア1の
動作記述プログラムのソースをパソコン62で読み込ん
で(#1)、この動作記述プログラムの内容をFPGA
2内部の他のIP3の仕様に応じてカスタマイズする
(#2)。次に、ユーザは、CD−ROM61に格納さ
れたアセンブラ43をパソコン62で読み込んで(#
3)、このアセンブラ43により動作記述プログラムの
ソースをアセンブルする(#4)。この際、上述したよ
うに、変換後の動作記述プログラムを構成する各命令コ
ードには、アセンブラ43により前後の命令の組み合わ
せに応じた制御コード44が組み込まれる。次に、ユー
ザは、CPUコア1のターゲットとなるIP3のVHD
Lレベルのソースを作成した後(#5)、CD−ROM
61に格納されたCPUコア1のVHDLレベルのソー
スを読み込んで(#6)、IP3のソースとCPUコア
1のソースとの論理合成を行う(#7)。そして、ユー
ザは、この論理合成の結果と#4でアセンブルした動作
記述プログラムとをFPGA2にダウンロードする(#
8)。このようにして、CPUコア1とその動作記述プ
ログラムとが、CPUコア1のターゲットとなるIP3
と共に、FPGA2上に組み込まれる。
Next, referring to FIG. 6 in addition to FIG.
A process of incorporating the CPU core 1 into the FPGA 2 will be described. Prior to the process of incorporating the CPU core 1, the user reads the source of the operation description program of the CPU core 1 stored in the CD-ROM 61 with the personal computer 62 (# 1) and reads the contents of the operation description program into the FPGA.
2 is customized according to other IP3 specifications (# 2). Next, the user reads the assembler 43 stored in the CD-ROM 61 with the personal computer 62 (#
3), the source of the operation description program is assembled by the assembler 43 (# 4). At this time, as described above, the assembler 43 incorporates the control code 44 corresponding to the combination of the preceding and following instructions into each instruction code constituting the converted operation description program. Next, the user inputs a VHD of IP3 that is a target of the CPU core 1.
After creating the L-level source (# 5), the CD-ROM
The VHDL-level source of the CPU core 1 stored in the CPU 61 is read (# 6), and the logic of the IP3 source and the source of the CPU core 1 is synthesized (# 7). Then, the user downloads the result of the logic synthesis and the operation description program assembled in # 4 to the FPGA 2 (#
8). In this way, the CPU core 1 and its operation description program are
Together with the FPGA 2.

【0032】上述したように、本実施形態によるCPU
コア1によれば、実行形式の動作記述プログラムを構成
する命令コード45に、前後の命令コード45の組み合
わせがレジスタ・コンフリクト現象の発生する組み合わ
せであるか否かに基づいて決定される制御コード44を
組み込んで、この制御コード44のビット情報を制御線
L1を介してDMUX13に直接伝達する方法により、
ALU15へのデータ入力経路を切り換えるようにし
た。これにより、前後の命令コード45の組み合わせが
レジスタ・コンフリクト現象の発生する組み合わせであ
るときに、従来のバイパス制御方式のCPUコア1に必
要であったバイパス制御専用の論理回路を用いることな
く、ALU15へのデータ入力経路をバイパス用の経路
R1に切り換えて、レジスタ・コンフリクト現象の発生
を回避することができる。
As described above, the CPU according to the present embodiment
According to the core 1, the control code 44 determined based on whether or not the combination of the preceding and following instruction codes 45 is a combination in which a register conflict phenomenon occurs is included in the instruction code 45 constituting the execution-type operation description program. By directly transmitting the bit information of the control code 44 to the DMUX 13 via the control line L1.
The data input path to the ALU 15 is switched. Thereby, when the combination of the instruction codes 45 before and after is a combination in which a register conflict phenomenon occurs, the ALU 15 can be used without using a logic circuit dedicated to bypass control required for the CPU core 1 of the conventional bypass control method. By switching the data input path to the path R1 to the bypass path R1, the occurrence of the register conflict phenomenon can be avoided.

【0033】本発明は、上記実施形態に限られるもので
はなく、様々な変形が可能である。例えば、上記実施形
態では、制御コード44の伝達用の制御線L1をデコー
ダ47とDMUX13との間に設けたが、制御コード伝
達用の制御線をIRとDMUXとの間に設けてもよい。
また、上記実施形態では、ALU15へのデータ入力経
路切り換え用のマルチプレクサであるDMUX13の入
力側端子に汎用レジスタであるREG−A48を接続し
た場合の例を示したが、DMUXの入力側端子にデータ
・メモリを接続してもよい。これにより、データ・メモ
リについてのレジスタ・コンフリクト現象の発生を回避
することができる。
The present invention is not limited to the above embodiment, and various modifications are possible. For example, in the above embodiment, the control line L1 for transmitting the control code 44 is provided between the decoder 47 and the DMUX 13, but the control line for transmitting the control code may be provided between the IR and DMUX.
In the above-described embodiment, an example is shown in which the REG-A48, which is a general-purpose register, is connected to the input terminal of the DMUX 13, which is a multiplexer for switching the data input path to the ALU 15, but the data terminal is connected to the input terminal of the DMUX. -A memory may be connected. As a result, the occurrence of the register conflict phenomenon in the data memory can be avoided.

【0034】[0034]

【発明の効果】以上のように請求項1の発明によれば、
実行形式のプログラムを構成する命令コードに、前後の
命令コードの組み合わせに基づいて決定される制御コー
ドを組み込み、この制御コードのビット情報を制御線を
介してマルチプレクサに直接伝達する方法により、装置
内部の所定の回路間のデータ伝送経路を切り換えるよう
にした。これにより、前命令と現命令との組み合わせが
レジスタ・コンフリクト現象の発生する組み合わせであ
るときでも、例えば、制御コードの伝達先となるマルチ
プレクサを算術論理ユニットへのデータ入力経路切り換
え用のマルチプレクサとし、命令コードに組み込まれる
制御コードをバイパス用経路への接続を指示するものと
すれば、制御部が、この制御コードをマルチプレクサに
直接伝達して、算術論理ユニットへのデータ入力経路を
バイパス用の経路に切り換えることができる。これによ
り、バイパス制御用の制御コードを生成するための論理
回路(バイパス制御用論理回路)を用いることなく、レ
ジスタ・コンフリクト現象の発生を回避することができ
る。従って、従来のバイパス制御用論理回路を用いたプ
ロセッサと比べて、装置の制御部を簡略化し、装置全体
のロジック規模を小さくすることができる。また、従来
のNOP挿入方式のプロセッサと異なり、前命令と現命
令との組み合わせがレジスタ・コンフリクト現象の発生
する組み合わせである場合でも、NOP命令を実行する
ことなく、レジスタ・コンフリクト現象の発生を回避す
ることができるので、NOP挿入方式のプロセッサと比
べて、プログラムの実行効率を向上させ、処理の高速化
を図ることができる。
As described above, according to the first aspect of the present invention,
A method of incorporating a control code determined based on a combination of the preceding and following instruction codes into an instruction code constituting an executable program, and directly transmitting bit information of the control code to a multiplexer via a control line, the inside of the apparatus is controlled by a method. The data transmission path between the predetermined circuits is switched. Thereby, even when the combination of the previous instruction and the current instruction is a combination in which a register conflict phenomenon occurs, for example, the multiplexer to which the control code is transmitted is a multiplexer for switching the data input path to the arithmetic logic unit, If the control code incorporated in the instruction code indicates connection to the bypass path, the control unit transmits the control code directly to the multiplexer, and changes the data input path to the arithmetic logic unit to the bypass path. Can be switched to This makes it possible to avoid the occurrence of the register conflict phenomenon without using a logic circuit (a bypass control logic circuit) for generating a control code for bypass control. Therefore, as compared with a processor using a conventional bypass control logic circuit, the control unit of the device can be simplified and the logic scale of the entire device can be reduced. Also, unlike the conventional NOP insertion type processor, even if the combination of the previous instruction and the current instruction is a combination that causes the register conflict phenomenon, the occurrence of the register conflict phenomenon is avoided without executing the NOP instruction. Therefore, the execution efficiency of the program can be improved and the processing speed can be increased as compared with the NOP insertion type processor.

【0035】また、制御部により切り換えられるデータ
伝送経路を算術論理ユニットへの入力用の経路とし、切
り換えの対象となる経路には、算術論理ユニットからの
出力をダイレクトに算術論理ユニットへの入力専用レジ
スタに入力するためのバイパス用の経路を含むようにす
ることにより、前命令と現命令との組み合わせがレジス
タ・コンフリクト現象の発生する組み合わせであるとき
でも、命令コードに組み込まれる制御コードをバイパス
用経路への接続を指示するものとすれば、上記に記載の
効果を的確に得ることができる。
The data transmission path switched by the control unit is a path for input to the arithmetic logic unit, and a path to be switched includes an output from the arithmetic logic unit directly for input to the arithmetic logic unit. By including a bypass path for input to the register, even if the combination of the previous instruction and the current instruction is a combination that causes a register conflict phenomenon, the control code incorporated in the instruction code can be bypassed. If the connection to the route is instructed, the effects described above can be obtained accurately.

【0036】また、制御部が、読み込んだ命令コード中
の制御コードがバイパス用経路への切り換えを示すコー
ドである場合に、この制御コードのビット情報を制御線
を介して算術論理ユニットへのデータ入力経路切り換え
用のマルチプレクサに伝達して、算術論理ユニットへの
入力用の経路をバイパス用経路に切り換えることによ
り、上記に記載の効果を的確に得ることができる。
In the case where the control code in the read instruction code is a code indicating switching to the bypass path, the control unit transmits the bit information of the control code to the arithmetic logic unit via the control line. By transmitting the signal to the input path switching multiplexer and switching the input path to the arithmetic logic unit to the bypass path, the effects described above can be obtained accurately.

【0037】また、請求項4の発明によれば、コンピュ
ータにソースを読み取らせた上で、このソースを論理合
成により論理ゲートに変換して、変換後の論理ゲートを
FPGA等の論理集積回路に反映することにより、上記
に記載の発明と同等の効果を得ることができる。
According to the invention of claim 4, after the source is read by the computer, the source is converted into a logic gate by logic synthesis, and the converted logic gate is converted to a logic integrated circuit such as an FPGA. By reflecting the same, an effect equivalent to the above-described invention can be obtained.

【0038】また、請求項5の発明によれば、コンピュ
ータにアセンブラを読み取らせた上で、このアセンブラ
で生成した命令コードを請求項1に記載のプロセッサで
実行することにより、上記請求項1に記載の効果を的確
に得ることができる。
According to the fifth aspect of the present invention, the computer reads the assembler and executes the instruction code generated by the assembler by the processor according to the first aspect. The described effects can be obtained accurately.

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

【図1】 本発明の一実施形態によるプロセッサである
CPUコアの周辺の構成を示す図である。
FIG. 1 is a diagram showing a configuration around a CPU core which is a processor according to an embodiment of the present invention.

【図2】 上記CPUコアに採用されている制御部を簡
略化しつつ処理の高速化を図るための工夫についての説
明図である。
FIG. 2 is an explanatory diagram of a contrivance for speeding up processing while simplifying a control unit employed in the CPU core.

【図3】 上記CPUコアにおける制御コードを用いた
バイパス制御の仕組みを示す図である。
FIG. 3 is a diagram showing a mechanism of bypass control using a control code in the CPU core.

【図4】 (a)(b)(c)は、それぞれ上記CPU
コア内のデコーダがADD命令、STORE命令、NO
P命令を読み込んだ場合におけるALUへのデータ入力
経路の切り換えの仕組みを示す図である。
4 (a), (b) and (c) respectively show the CPU
The decoder in the core is ADD instruction, STORE instruction, NO
FIG. 9 is a diagram illustrating a mechanism of switching a data input path to an ALU when a P instruction is read.

【図5】 上記CPUコアのFPGA上への組み込みに
必要なハードウェアを示す図である。
FIG. 5 is a diagram showing hardware necessary for incorporating the CPU core into an FPGA.

【図6】 上記CPUコアのFPGA上への組み込み処
理を示すフローチャートである。
FIG. 6 is a flowchart showing a process of incorporating the CPU core into an FPGA.

【図7】 (a)はレジスタ・コンフリクト問題発生の
メカニズムを示す図、(b)はバイパス制御方式による
レジスタ・コンフリクト問題の解決方法を示す図、
(c)NOP挿入方式によるレジスタ・コンフリクト問
題の解決方法を示す図である。
FIG. 7A is a diagram illustrating a mechanism of occurrence of a register conflict problem, FIG. 7B is a diagram illustrating a method of solving a register conflict problem by a bypass control method,
(C) A diagram showing a method of solving a register conflict problem by the NOP insertion method.

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

1 CPUコア(プロセッサ) 4 制御部 13 DMUX(算術論理ユニットへのデータ入力経
路切り換え用のマルチプレクサ) 14 SRC(算術論理ユニットへの入力専用レジス
タ) 17 データ・メモリ 18 プログラム・メモリ 41,42 命令語 43 アセンブラ 44 制御コード 45 命令コード 47 デコーダ 61 CD−ROM(記録媒体) L1 制御線(マルチプレクサに接続する制御線) R1 バイパス用のデータ伝送経路 R11,R12 データ伝送経路
Reference Signs List 1 CPU core (processor) 4 Control unit 13 DMUX (multiplexer for switching data input path to arithmetic logic unit) 14 SRC (register exclusively for input to arithmetic logic unit) 17 Data memory 18 Program memory 41, 42 Instruction word 43 assembler 44 control code 45 instruction code 47 decoder 61 CD-ROM (recording medium) L1 control line (control line connected to multiplexer) R1 bypass data transmission path R11, R12 data transmission path

───────────────────────────────────────────────────── フロントページの続き (72)発明者 茂木 建二 大阪市北区東天満1丁目4番16号 株式会 社ローラン内 Fターム(参考) 5B013 AA00 AA02 CC01 CC05 CC07 CC08 CC10 5B081 AA07 CC21 CC25 CC41  ──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Kenji Mogi 1-4-16 Higashitenma, Kita-ku, Osaka F-term in the Laurent Co., Ltd. 5B013 AA00 AA02 CC01 CC05 CC07 CC08 CC10 5B081 AA07 CC21 CC25 CC41

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 命令をいくつかのステージに分けて、複
数のステージを並列に処理するパイプライン制御方式の
プロセッサにおいて、 各種のデータを保持する複数のレジスタと、 実行形式のプログラムを含む各種データを格納するメモ
リと、 前記のレジスタやメモリに格納されたデータに基づいて
各種の演算を行う算術論理ユニットと、 前記のレジスタ、メモリ及び算術論理ユニットを含む装
置内部の各種回路間のデータ伝送経路を切り換えるマル
チプレクサと、 装置内部の各種回路の制御を行う制御部とを備え、 前記メモリに格納された実行形式のプログラムを構成す
る命令コードには、前後の命令コードの組み合わせに基
づいて決定される制御コードが組み込まれており、 前記制御部は、前記マルチプレクサに接続する制御線を
有し、前記メモリに格納された命令コードを読み込み、
この命令コードに組み込まれた制御コードのビット情報
を前記制御線を介して前記マルチプレクサに伝達して、
装置内部の所定の回路間のデータ伝送経路を切り換える
ようにしたことを特徴とするプロセッサ。
1. A pipeline-controlled processor that divides an instruction into several stages and processes the plurality of stages in parallel, comprising: a plurality of registers for holding various data; and various data including an executable program. And an arithmetic and logic unit for performing various operations based on the data stored in the registers and the memory; and a data transmission path between various circuits in the device including the register, the memory and the arithmetic and logic unit. And a control unit for controlling various circuits in the device. The instruction code constituting the executable program stored in the memory is determined based on a combination of the preceding and following instruction codes. Control code is incorporated therein, wherein the control unit has a control line connected to the multiplexer. It reads the instruction codes stored in said memory,
The bit information of the control code incorporated in the instruction code is transmitted to the multiplexer through the control line,
A processor characterized in that a data transmission path between predetermined circuits inside the device is switched.
【請求項2】 前記制御部により切り換えられるデータ
伝送経路は、前記算術論理ユニットへの入力用の経路で
あり、切り換えの対象となる経路には、前記算術論理ユ
ニットからの出力を、通常のレジスタ又はメモリを介さ
ず、ダイレクトに各算術論理ユニットへの入力専用レジ
スタに入力するためのバイパス用の経路が含まれること
を特徴とする請求項1に記載のプロセッサ。
2. A data transmission path switched by the control unit is a path for input to the arithmetic logic unit, and a path to be switched includes an output from the arithmetic logic unit and a normal register. 2. The processor according to claim 1, further comprising a bypass path for directly inputting to an input-only register to each arithmetic logic unit without using a memory.
【請求項3】 前記制御部は、読み込んだ命令コード中
の制御コードがバイパス用経路への切り換えを示すコー
ドである場合に、この制御コードのビット情報を前記制
御線を介して前記算術論理ユニットへのデータ入力経路
切り換え用のマルチプレクサに伝達することにより、前
記算術論理ユニットへの入力用の経路を前記バイパス用
経路に切り換えることを特徴とする請求項2に記載のプ
ロセッサ。
3. The control unit according to claim 1, wherein, when the control code in the read instruction code is a code indicating switching to a bypass path, the control unit transmits the bit information of the control code to the arithmetic logic unit via the control line. The processor according to claim 2, wherein a path for input to the arithmetic logic unit is switched to the bypass path by transmitting the data to a multiplexer for switching a data input path to the arithmetic logic unit.
【請求項4】 プロセッサの回路のソースを記録したコ
ンピュータ読み取り可能な記録媒体であって、 前記ソースは、請求項1乃至請求項3のいずれかに記載
のプロセッサの回路についてのハードウェア記述言語レ
ベルのソースであることを特徴とするプロセッサの回路
のソースを記録したコンピュータ読み取り可能な記録媒
体。
4. A computer-readable recording medium recording a source of a circuit of a processor, wherein the source is a hardware description language level of the circuit of the processor according to claim 1. A computer-readable recording medium recording a source of a circuit of a processor, characterized by being a source of a computer.
【請求項5】 プロセッサ用の処理プログラムのソース
に含まれる各命令語を機械語形式の命令コードに変換す
るアセンブラを記録したコンピュータ読み取り可能な記
録媒体であって、 前記アセンブラは、前記命令コードの実行時において前
記プロセッサ内のレジスタ又はメモリに競合が発生する
か否かを、前記ソース・プログラム中の前後の命令語の
組み合わせに基づき検出して、この検出結果に基づき前
記プロセッサ内部の所定の回路間におけるデータ伝送経
路の切り換え用の制御コードを生成し、この制御コード
を前記命令コード中に組み込むようにしたことを特徴と
するプロセッサ用の処理プログラムを機械語に変換する
アセンブラ。
5. A computer-readable recording medium on which an assembler for converting each instruction word included in a source of a processing program for a processor into an instruction code in a machine language format is recorded, wherein the assembler includes: At the time of execution, whether or not a conflict occurs in a register or a memory in the processor is detected based on a combination of preceding and following instruction words in the source program, and a predetermined circuit in the processor is determined based on the detection result. An assembler for converting a processing program for a processor into a machine language, wherein a control code for switching a data transmission path between the control codes is generated, and the control code is incorporated in the instruction code.
JP2001037866A 2001-02-15 2001-02-15 Processor, computer-readable recording medium with circuit source for the same recorded thereon, and assembler converting processing program for processor into machine language Pending JP2002244846A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001037866A JP2002244846A (en) 2001-02-15 2001-02-15 Processor, computer-readable recording medium with circuit source for the same recorded thereon, and assembler converting processing program for processor into machine language

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001037866A JP2002244846A (en) 2001-02-15 2001-02-15 Processor, computer-readable recording medium with circuit source for the same recorded thereon, and assembler converting processing program for processor into machine language

Publications (1)

Publication Number Publication Date
JP2002244846A true JP2002244846A (en) 2002-08-30

Family

ID=18900935

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001037866A Pending JP2002244846A (en) 2001-02-15 2001-02-15 Processor, computer-readable recording medium with circuit source for the same recorded thereon, and assembler converting processing program for processor into machine language

Country Status (1)

Country Link
JP (1) JP2002244846A (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0475143A (en) * 1990-07-17 1992-03-10 Matsushita Electric Ind Co Ltd Processor with task switching function
JPH1165844A (en) * 1997-08-19 1999-03-09 Fujitsu Ltd Data processor with pipeline bypass function
JPH1196018A (en) * 1997-09-22 1999-04-09 Fujitsu Ltd Compiling device, its method and computer-readable recording medium recording compiling execution program
JP2000163266A (en) * 1998-11-30 2000-06-16 Mitsubishi Electric Corp Instruction execution system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0475143A (en) * 1990-07-17 1992-03-10 Matsushita Electric Ind Co Ltd Processor with task switching function
JPH1165844A (en) * 1997-08-19 1999-03-09 Fujitsu Ltd Data processor with pipeline bypass function
JPH1196018A (en) * 1997-09-22 1999-04-09 Fujitsu Ltd Compiling device, its method and computer-readable recording medium recording compiling execution program
JP2000163266A (en) * 1998-11-30 2000-06-16 Mitsubishi Electric Corp Instruction execution system

Similar Documents

Publication Publication Date Title
JP3688270B2 (en) Stop processor
US6269439B1 (en) Signal processor having pipeline processing that supresses the deterioration of processing efficiency and method of the same
JP4747026B2 (en) Microprocessor
JP2009099097A (en) Data processor
US7376820B2 (en) Information processing unit, and exception processing method for specific application-purpose operation instruction
EP0378415A2 (en) Multiple instruction dispatch mechanism
JPH1196004A (en) Method and device for controlling condition branch execution by data processor
JP4569934B2 (en) Information processing apparatus, exception control circuit, and exception control method
US4677549A (en) Pipelined data processor system having increased processing speed
JPH0520068A (en) Parallel arithmetic processor
JP2806075B2 (en) Microcomputer
JP2002244846A (en) Processor, computer-readable recording medium with circuit source for the same recorded thereon, and assembler converting processing program for processor into machine language
EP0415351A2 (en) Data processor for processing instruction after conditional branch instruction at high speed
US5050076A (en) Prefetching queue control system
JPH1091430A (en) Instruction decoding device
JPH03271829A (en) Information processor
JP2536726B2 (en) Microprocessor
JPH06131180A (en) Instruction processing system and instruction processor
JP2636074B2 (en) Microprocessor
JP2545594B2 (en) Operand data prefetching method
CN115269011A (en) Instruction execution unit, processing unit and related device and method
JP3512707B2 (en) Microcomputer
US7124281B1 (en) Processing system having sequential address indicator signals
JPH0375904B2 (en)
JPH07200291A (en) Variable length pipeline controller

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080125

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100823

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100831

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101228