[go: up one dir, main page]

JPH1139159A - Computer system - Google Patents

Computer system

Info

Publication number
JPH1139159A
JPH1139159A JP9189550A JP18955097A JPH1139159A JP H1139159 A JPH1139159 A JP H1139159A JP 9189550 A JP9189550 A JP 9189550A JP 18955097 A JP18955097 A JP 18955097A JP H1139159 A JPH1139159 A JP H1139159A
Authority
JP
Japan
Prior art keywords
instruction
pld
procedure
calculation
rewriting
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
JP9189550A
Other languages
Japanese (ja)
Inventor
Tadaichi Urano
唯一 浦野
Takahisa Watanabe
誉央 渡辺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Hitachi KE Systems Ltd
Original Assignee
Hitachi Ltd
Hitachi Keiyo Engineering Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd, Hitachi Keiyo Engineering Co Ltd filed Critical Hitachi Ltd
Priority to JP9189550A priority Critical patent/JPH1139159A/en
Publication of JPH1139159A publication Critical patent/JPH1139159A/en
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】 ハードウェアの変更を行うことなく複雑な演
算を高速に実行することが可能な技術を提供する。 【解決手段】 演算内容を変更可能な演算手段と、前記
演算手段の演算内容を書き換える書き換え命令を判別す
る書き換え命令判別手段と、前記演算手段を使用して演
算を行う使用命令を判別する使用命令判別手段と、前記
書き換え命令判別手段により前記書き換え命令を判別し
た場合に前記演算手段の演算内容の書き換えを行い、前
記使用命令判別手段により使用命令を判別した場合に演
算内容を書き換えた前記演算手段を使用して演算を行う
制御手段とを備えるものである。
(57) [Problem] To provide a technique capable of executing a complicated operation at high speed without changing hardware. SOLUTION: Operation means capable of changing the operation contents, rewrite instruction judgment means for judging a rewrite instruction for rewriting the operation contents of the operation means, and use instruction for judging a use instruction for performing an operation using the operation means Determining means for rewriting the operation content of the arithmetic means when the rewriting instruction is determined by the rewriting instruction determining means, and rewriting the arithmetic content when the used instruction is determined by the used instruction determining means And control means for performing calculations using

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、ソフトウェアによ
り演算装置の演算部分を変更して処理を実行する計算機
システムに関し、特に、演算装置の演算部分をPLD
(Programable計算機システムに適用して有
効な技術に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a computer system for executing a process by changing the operation part of an arithmetic unit by software, and more particularly, to a PLD for executing the processing part of the arithmetic unit
(This relates to a technology that is effective when applied to a programmable computer system.

【0002】[0002]

【従来の技術】一般に計算機システムはCPU、記憶装
置、入力装置及び出力装置等から構成され、記憶装置か
ら読み出された命令をCPUで実行して演算を行ってい
る。
2. Description of the Related Art Generally, a computer system includes a CPU, a storage device, an input device, an output device, and the like, and executes an operation by executing an instruction read from the storage device by the CPU.

【0003】CPUの演算部分は、ソフトウェアで書き
換え不可能なハードウェアで構成されており、演算部分
を変更する場合はICの変更や配線の変更が必要な為、
CPUが単一の命令として備えていない演算を実行する
場合には、CPUの持つ複数の命令を組み合わせて目的
の演算を行っている。
The operation part of the CPU is composed of hardware which cannot be rewritten by software, and if the operation part is changed, it is necessary to change the IC and the wiring.
When the CPU executes an operation not provided as a single instruction, a target operation is performed by combining a plurality of instructions of the CPU.

【0004】[0004]

【発明が解決しようとする課題】従来の計算機システム
のCPUの演算部分はソフトウェアで書き換え不可能な
ハードウェアで構成されており、演算部分を変更する場
合はICの変更や配線の変更が必要である為、CPUが
単一の命令として備えていない演算を高速に実行しよう
とする場合には演算部分の回路を変更しなければならな
いという問題がある。
The operation part of the CPU of the conventional computer system is constituted by hardware which cannot be rewritten by software. To change the operation part, it is necessary to change the IC and the wiring. For this reason, there is a problem that the circuit of the operation part must be changed when the CPU tries to execute an operation not provided as a single instruction at a high speed.

【0005】また、従来の計算機システムにおいて、C
PUが単一の命令として備えていない演算を当該CPU
で実行する為には、当該CPUの持つ命令を組み合わせ
て使用しなければならない為、複雑な演算を行う場合に
は、処理速度が低下するという問題がある。
In a conventional computer system, C
An operation that the PU does not have as a single instruction
In order to execute it, it is necessary to use a combination of instructions of the CPU, and there is a problem that the processing speed is reduced when performing a complicated operation.

【0006】本発明の目的は、上記問題を解決し、ハー
ドウェアの変更を行うことなく複雑な演算を高速に実行
することが可能な技術を提供することにある。
An object of the present invention is to solve the above-mentioned problem and to provide a technique capable of executing a complicated operation at high speed without changing hardware.

【0007】[0007]

【課題を解決するための手段】本発明は、プログラム中
の演算手順の内容に応じて演算手段の演算内容を書き換
えて、前記演算内容を書き換えた演算手段により当該演
算手順を高速に実行するものである。
SUMMARY OF THE INVENTION The present invention rewrites the operation contents of an operation means in accordance with the contents of an operation procedure in a program, and executes the operation procedure at high speed by the operation means rewriting the operation contents. It is.

【0008】本発明の計算機システムでは、まず、プロ
グラムメモリに格納されている命令を読み出し、前記読
み出した命令が、演算内容を変更可能なPLD等の演算
手段の演算内容を書き換える書き換え命令であるかどう
かを書き換え命令判別手段により調べる。
In the computer system according to the present invention, first, an instruction stored in a program memory is read, and the read instruction is a rewrite instruction for rewriting the operation content of an operation means such as a PLD capable of changing the operation content. Whether it is determined by the rewrite instruction determination means.

【0009】前記読み出した命令が書き換え命令である
場合には、制御手段は、書き換え命令を実行して、演算
手段を書き換える為のプログラムデータを読み込み、そ
れに従って演算手段の書き換えを行う。
When the read instruction is a rewrite instruction, the control means executes the rewrite instruction, reads program data for rewriting the arithmetic means, and rewrites the arithmetic means accordingly.

【0010】次に使用命令判別手段は、次にプログラム
メモリから読み出した命令が、前記演算手段を使用して
演算を行う使用命令であるかどうかを調べる。
Next, the used instruction determining means checks whether or not the next instruction read from the program memory is a used instruction for performing an operation using the arithmetic means.

【0011】前記読み出した命令が使用命令である場合
には、制御手段は、使用命令を実行し、プログラムデー
タが書き換えられた演算手段を使用して演算を行う。
If the read instruction is a use instruction, the control means executes the use instruction and performs an operation using the operation means in which the program data has been rewritten.

【0012】前記の様に、プログラムメモリに格納され
た命令により、演算手段の書き換えを行い、処理内容が
書き換えられた演算手段で演算を行うことで、ハードウ
ェアとして予め用意されていない演算を演算手段で高速
に行うことができる。
As described above, the operation means is rewritten by the instruction stored in the program memory, and the operation is performed by the operation means in which the processing content is rewritten. It can be done at high speed by means.

【0013】以上の様に、本発明の計算機システムによ
れば、プログラム中の演算手順の内容に応じて演算手段
の演算内容を書き換えて演算を行うので、ハードウェア
の変更を行うことなく複雑な演算を高速に実行すること
が可能である。
As described above, according to the computer system of the present invention, the operation is performed by rewriting the operation contents of the operation means in accordance with the contents of the operation procedure in the program. The operation can be performed at high speed.

【0014】[0014]

【発明の実施の形態】BEST MODE FOR CARRYING OUT THE INVENTION

(実施形態1)以下に、演算部分の一部をPLDで構成
し、特定の命令によりPLDを書き換えて処理を実行す
る実施形態1の計算機システムについて説明する。
(Embodiment 1) Hereinafter, a computer system according to Embodiment 1 in which a part of an operation part is configured by a PLD, and the PLD is rewritten by a specific instruction to execute processing will be described.

【0015】図1は、本実施形態の計算機システムの概
略構成を示す図である。図1に示す様に本実施形態の計
算機システムは、通常の命令を実行するCPU101
と、プログラムメモリ103へのアクセスを制御するメ
モリコントローラ102と、PLD書き換え命令108
及びPLD使用命令109を含むプログラムを格納する
プログラムメモリ103と、演算内容を変更可能な演算
手段であるPLD104と、PLD104の書き換えや
演算処理を制御するPLDコントローラ105とを備え
ている。
FIG. 1 is a diagram showing a schematic configuration of a computer system according to the present embodiment. As shown in FIG. 1, the computer system according to the present embodiment includes a CPU 101 that executes a normal instruction.
A memory controller 102 for controlling access to the program memory 103;
The PLD 104 includes a program memory 103 that stores a program including a PLD use instruction 109 and a PLD 104 that is an operation unit that can change the operation content, and a PLD controller 105 that controls rewriting and operation processing of the PLD 104.

【0016】メモリコントローラ102は、CPU10
1及びPLDコントローラ105からプログラムメモリ
103へのアクセスを制御するコントローラであり、P
LD書き換え命令判別ブロック106、PLD使用命令
判別ブロック107とを備えている。
The memory controller 102 includes a CPU 10
1 and a controller that controls access from the PLD controller 105 to the program memory 103.
An LD rewrite instruction determination block 106 and a PLD use instruction determination block 107 are provided.

【0017】PLD書き換え命令判別ブロック106
は、PLD104の演算内容を書き換えるPLD書き換
え命令108を判別する書き換え命令判別手段に相当
し、PLD使用命令判別ブロック107は、PLD10
4を使用して演算を行うPLD使用命令109を判別す
る使用命令判別手段に相当している。
PLD rewrite instruction determination block 106
Corresponds to a rewrite instruction determining means for determining a PLD rewrite instruction 108 for rewriting the operation content of the PLD 104. The PLD use instruction determination block 107
4 corresponds to a used instruction discriminating means for discriminating the PLD use instruction 109 for performing the operation using the instruction No. 4.

【0018】プログラムメモリ103は、演算を行う為
のプログラムを格納するメモリであり、前記プログラム
は、CPU101で実行される命令と、PLD104を
書き換える命令であるPLD書き換え命令108及びP
LD104を書き換える為のプログラムデータと、プロ
グラムデータが書き込まれたPLD104を使用する命
令であるPLD使用命令109とが格納されている。
The program memory 103 is a memory for storing a program for performing an arithmetic operation. The program includes a command executed by the CPU 101 and a PLD rewrite command 108 for rewriting the PLD 104 and a PLD rewrite command 108.
A program data for rewriting the LD 104 and a PLD use instruction 109 which is an instruction for using the PLD 104 in which the program data is written are stored.

【0019】尚、図1において、PLD104を書き換
える為のプログラムデータは、PLD書き換え命令10
8内に存在しているものとするが、前記プログラムデー
タは、PLD書き換え命令108と別アドレスに存在し
ても良く、例えばPLD書き換え命令108の実行時
に、PLD104を書き換えるプログラムをサブルーチ
ンとしてコールするものとしても良い。
In FIG. 1, the program data for rewriting the PLD 104 includes a PLD rewrite instruction 10.
8, the program data may exist at a different address from the PLD rewrite instruction 108. For example, when the PLD rewrite instruction 108 is executed, a program for rewriting the PLD 104 is called as a subroutine. It is good.

【0020】PLD104は、プログラムデータを書き
換えることにより論理の変更を行うことのできるデバイ
スであり、PLDコントローラ105は、PLD104
の書き換えや、その演算の制御を行うコントローラであ
る。
The PLD 104 is a device that can change the logic by rewriting the program data.
Is a controller that rewrites and controls the calculation.

【0021】ここで、PLD104は、演算内容を変更
可能な演算手段に相当し、PLD書き換え命令判別ブロ
ック106により判別されたPLD書き換え命令108
によってPLD104の演算内容の書き換えを行い、P
LD使用命令判別ブロック107により判別されたPL
D使用命令109によりPLD104を使用して演算を
行う制御手段に相当している。
Here, the PLD 104 corresponds to an arithmetic means capable of changing the operation content, and the PLD rewrite instruction 108 determined by the PLD rewrite instruction determination block 106
Rewrites the operation contents of the PLD 104 by P
PL determined by LD use instruction determination block 107
It corresponds to control means for performing an operation using the PLD 104 in accordance with the D use instruction 109.

【0022】図2は、本実施形態の計算機システムの処
理手順を示すフローチャートである。図2に示す様に本
実施形態の計算機システムは、ステップ201でメモリ
コントローラ102によりプログラムメモリ103の命
令を読み出し、ステップ202に進む。
FIG. 2 is a flowchart showing a processing procedure of the computer system of the present embodiment. As shown in FIG. 2, the computer system according to the present embodiment reads an instruction in the program memory 103 by the memory controller 102 in step 201, and proceeds to step 202.

【0023】ステップ202でPLD書き換え命令判別
ブロック106は、前記読み出した命令がPLD書き換
え命令108であるかどうかを調べ、PLD書き換え命
令108である場合には、ステップ203でCPU10
1に対して命令を実行しない指示を出す。
In step 202, the PLD rewrite command determination block 106 checks whether the read command is a PLD rewrite command 108. If the read command is a PLD rewrite command 108, the PLD rewrite command
1 is instructed not to execute the instruction.

【0024】次にステップ204でPLDコントローラ
105は、PLD書き換え命令108内に存在している
PLD104を書き換える為のプログラムデータを読み
込み、それに従ってPLD104の書き換えを行う。
Next, in step 204, the PLD controller 105 reads the program data for rewriting the PLD 104 existing in the PLD rewrite command 108, and rewrites the PLD 104 according to the program data.

【0025】そしてPLD104の書き換えが終了する
とステップ205に進み、CPU101に対して出した
命令を実行しない指示を解除してステップ201に戻
る。
When the rewriting of the PLD 104 is completed, the process proceeds to step 205, where the instruction for not executing the command issued to the CPU 101 is released, and the process returns to step 201.

【0026】ステップ202で命令の内容を調べた結
果、プログラムメモリ103から読み出した命令がPL
D書き換え命令108でない場合には、ステップ206
に進む。
As a result of examining the contents of the instruction in step 202, the instruction read from the program
If it is not the D rewrite command 108, step 206
Proceed to.

【0027】ステップ206でPLD使用命令判別ブロ
ック107は、前記読み出した命令がPLD使用命令1
09であるかどうかを調べ、PLD使用命令109であ
る場合には、ステップ207でCPU101に対して命
令を実行しない指示を出す。
In step 206, the PLD use instruction determination block 107 determines that the read instruction is a PLD use instruction 1
It is checked whether the instruction is 09 or not. If the instruction is a PLD use instruction 109, an instruction not to execute the instruction is issued to the CPU 101 in step 207.

【0028】ここで前提条件として、PLD使用命令1
09を実行する前には、必ずPLD104が演算を行え
る状態にしておくものとし、もしPLD104が演算を
行える状態にないときは、PLD使用命令109が発行
された際にPLD104の準備ができていない旨のエラ
ー処理を行うものとする。
Here, as a precondition, a PLD use instruction 1
Before executing 09, the PLD 104 must be in a state where the operation can be performed. If the PLD 104 is not in a state where the operation can be performed, the PLD 104 is not ready when the PLD use instruction 109 is issued. Error processing to the effect.

【0029】ステップ208でPLDコントローラ10
5は、PLD104が正常に演算できる状態にあるとき
にPLD104で演算を行い、ステップ209で演算結
果をメモリコントローラ102に渡す。
In step 208, the PLD controller 10
5 performs the calculation in the PLD 104 when the PLD 104 is in a state where the calculation can be performed normally, and passes the calculation result to the memory controller 102 in step 209.

【0030】メモリコントローラ102は、渡された演
算結果を演算内容に従って特定のレジスタやメモリアド
レスに格納し、演算結果がそれ以降のCPU101の演
算処理で使用できる様にする。
The memory controller 102 stores the passed operation result in a specific register or a memory address in accordance with the operation content, so that the operation result can be used in the subsequent operation of the CPU 101.

【0031】そして演算結果の格納が終了するとステッ
プ210に進み、CPU101に対して出した命令を実
行しない指示を解除してステップ201に戻る。
When the storing of the operation result is completed, the process proceeds to step 210, where the instruction for not executing the command issued to the CPU 101 is released, and the process returns to step 201.

【0032】ステップ206で命令の内容を調べた結
果、プログラムメモリ103から読み出した命令がPL
D使用命令109でない場合には、ステップ211でP
LD104を使用しない通常の処理、すなわちCPU1
01を用いた演算処理を行い、ステップ201に戻る。
As a result of examining the contents of the instruction in step 206, the instruction read from the program
If the instruction is not the D use instruction 109, P
Normal processing without using the LD 104, that is, the CPU 1
The arithmetic processing using 01 is performed, and the process returns to step 201.

【0033】前記の様に、プログラムメモリ103に格
納された指示により、PLD104の書き換えを行い、
CPU101ではなくPLD104で演算を行うこと
で、プログラム中の特定の演算処理を高速に行うことが
できる。
As described above, the PLD 104 is rewritten according to the instruction stored in the program memory 103,
By performing the calculation by the PLD 104 instead of the CPU 101, a specific calculation process in the program can be performed at high speed.

【0034】尚、本実施形態の計算機システムでは、P
LD104やPLDコントローラ105をCPU101
に内蔵するものとしても良い。
In the computer system of this embodiment, P
The LD 104 and the PLD controller 105 are connected to the CPU 101
It is good also as what is built in.

【0035】図3は、本実施形態のCPU101の他の
例を示す図である。図3に示す様に本実施形態のCPU
101は、演算を行うALU300とPLD104及び
PLDコントローラ105とをCPU101内部に備え
ており、PLDコントローラ105は、PLD書き換え
命令判別ブロック106及びPLD使用命令判別ブロッ
ク107を有している。
FIG. 3 is a diagram showing another example of the CPU 101 of the present embodiment. As shown in FIG. 3, the CPU of this embodiment
The CPU 101 includes an ALU 300 for performing calculations, a PLD 104, and a PLD controller 105 inside the CPU 101. The PLD controller 105 includes a PLD rewrite instruction determination block 106 and a PLD use instruction determination block 107.

【0036】図3に示した例では、PLD書き換え命令
108及びPLD使用命令109の判別やPLD104
の書き換えはCPU101内部で行われるので、メモリ
コントローラ102は、プログラムメモリ103中の命
令がCPU101またはPLD104のどちらで実行さ
れるかを意識すること無く、従来と同様の命令の読み出
しを行うことが可能である。
In the example shown in FIG. 3, the PLD rewrite instruction 108 and the PLD
Is rewritten inside the CPU 101, so that the memory controller 102 can read the same instruction as in the related art without being aware of whether the instruction in the program memory 103 is executed by the CPU 101 or the PLD 104. It is.

【0037】以上説明した様に、本実施形態の計算機シ
ステムによれば、プログラム中の演算手順の内容に応じ
て演算手段の演算内容を書き換えて演算を行うので、ハ
ードウェアの変更を行うことなく複雑な演算を高速に実
行することが可能である。
As described above, according to the computer system of the present embodiment, the operation is performed by rewriting the operation contents of the operation means according to the contents of the operation procedure in the program, so that the hardware is not changed. It is possible to execute complicated calculations at high speed.

【0038】(実施形態2)以下に、特定の演算手順の
処理をPLDで実行する実施形態2の計算機システムに
ついて説明する。
(Embodiment 2) A computer system according to Embodiment 2 for executing processing of a specific operation procedure by a PLD will be described below.

【0039】図4は、本実施形態の計算機システムの概
略構成を示す図である。図4に示す様に本実施形態の計
算機システムは、PLD104で実行する演算手順40
3を検出する演算手順検出ブロック401と、演算手順
403をプログラムデータに変換する演算手順変換ブロ
ック402とを備えている。尚、他の構成については実
施形態1に示したものと同様であるものとする。
FIG. 4 is a diagram showing a schematic configuration of a computer system according to this embodiment. As shown in FIG. 4, the computer system according to the present embodiment includes an operation procedure 40 executed by the PLD 104.
3 includes an operation procedure detection block 401 for detecting the number 3 and an operation procedure conversion block 402 for converting the operation procedure 403 into program data. The other configuration is the same as that shown in the first embodiment.

【0040】プログラムメモリ103は、PLD104
で実行する演算手順403を含むプログラムが格納され
ており、演算手順403は複数の命令で構成されてい
る。
The program memory 103 includes a PLD 104
A program including an operation procedure 403 to be executed by the program is stored, and the operation procedure 403 includes a plurality of instructions.

【0041】ここで、PLD104で実行する演算手順
403は、例えばサブルーチンという形で存在する一連
の命令で構成された処理手順である。
Here, the operation procedure 403 executed by the PLD 104 is a processing procedure composed of a series of instructions existing in the form of, for example, a subroutine.

【0042】ここで、演算手順検出ブロック401は、
PLD104で実行する演算手順403を検出する演算
手順検出手段に相当し、演算手順変換ブロック402
は、特定の演算手順403をPLD104の演算内容に
変換する演算手順変換手段に相当している。
Here, the calculation procedure detection block 401
It corresponds to an operation procedure detecting means for detecting an operation procedure 403 executed by the PLD 104, and is an operation procedure conversion block 402
Corresponds to an operation procedure conversion unit that converts a specific operation procedure 403 into the operation content of the PLD 104.

【0043】また、PLDコントローラ105は、演算
手順検出ブロック401により演算手順403を検出し
た場合に、演算手順変換ブロック402によって変換さ
れた演算内容によってPLD104を書き換えて前記演
算手順の演算を行う制御手段に相当している。
When the calculation procedure detection block 401 detects the calculation procedure 403, the PLD controller 105 rewrites the PLD 104 with the calculation content converted by the calculation procedure conversion block 402 to perform the calculation of the calculation procedure. Is equivalent to

【0044】図5は、本実施形態の計算機システムの処
理手順を示すフローチャートである。図5に示す様に本
実施形態の計算機システムは、ステップ501でメモリ
コントローラ102によりプログラムメモリ103の命
令を読み出す。
FIG. 5 is a flowchart showing a processing procedure of the computer system of this embodiment. As shown in FIG. 5, the computer system according to the present embodiment reads an instruction in the program memory 103 by the memory controller 102 in step 501.

【0045】ステップ502及びステップ503で演算
手順検出ブロック401は、PLD104で実行する演
算手順403の検出を行い、前記読み出した命令が演算
手順403の命令であるかどうかの判別を行う。尚、P
LD104で実行する演算手順403の検出について
は、別途図6〜図7にて説明する。
In steps 502 and 503, the operation procedure detection block 401 detects the operation procedure 403 to be executed by the PLD 104, and determines whether the read instruction is the instruction of the operation procedure 403. Note that P
The detection of the calculation procedure 403 executed by the LD 104 will be described separately with reference to FIGS.

【0046】前記読み出した命令が、PLD104で実
行する演算手順403の命令である場合には、ステップ
504でPLD104を使用しない通常の処理、すなわ
ちCPU101を用いた演算処理を行い、ステップ50
1に戻る。
If the read instruction is an instruction of the operation procedure 403 to be executed by the PLD 104, a normal process without using the PLD 104, that is, an arithmetic process using the CPU 101 is performed in step 504, and
Return to 1.

【0047】前記読み出した命令が、PLD104で実
行する演算手順403の命令である場合には、ステップ
505に進み、その演算手順403がPLD104で構
成されているかを判別する。
If the read instruction is the instruction of the operation procedure 403 executed by the PLD 104, the process proceeds to step 505, and it is determined whether the operation procedure 403 is constituted by the PLD 104.

【0048】ここで、演算手順403がPLD104で
構成されているとは、CPU101で演算手順403を
行った場合に得る演算結果が、特定のプログラムデータ
で書き換えられたPLD104で演算した結果と同じで
あるとき、PLD104は演算手順403で構成されて
いるという。
Here, that the operation procedure 403 is constituted by the PLD 104 means that the operation result obtained when the operation procedure 403 is performed by the CPU 101 is the same as the result obtained by the PLD 104 rewritten with specific program data. At one point, the PLD 104 is said to consist of an arithmetic procedure 403.

【0049】ステップ505で演算手順403がPLD
104で構成されているかを判別した結果、演算手順4
03がPLD104で構成されていない場合には、ステ
ップ506で演算手順変換ブロック402は、演算手順
403をPLD104の書き換えを行う為のプログラム
データに変換し、ステップ507でPLD104の書き
換えを行う。
In step 505, the operation procedure 403 is PLD
As a result of the determination as to whether or not the
If 03 is not composed of the PLD 104, the operation procedure conversion block 402 converts the operation procedure 403 into program data for rewriting the PLD 104 in step 506, and rewrites the PLD 104 in step 507.

【0050】次に、ステップ508でCPU101に対
して命令を実行しない指示を出し、ステップ509でP
LD104にて演算を行い、ステップ510で演算結果
をメモリコントローラ102に渡す。
Next, in step 508, an instruction not to execute the command is issued to the CPU 101, and in step 509, the P
The operation is performed by the LD 104, and the operation result is passed to the memory controller 102 in step 510.

【0051】そして、ステップ511では、CPU10
1に対して出した命令を実行しない指示を解除し、ステ
ップ501に戻る。
Then, in step 511, the CPU 10
The instruction for not executing the instruction issued to 1 is released, and the process returns to step 501.

【0052】前記の様に、プログラムメモリ103に格
納された演算手順403を判別し、演算手順403をP
LD104で実行できる様にPLD104の書き換えを
行い、CPU101ではなくPLD104で演算を行う
ことで、演算手順403の演算を高速に行うことができ
る。
As described above, the operation procedure 403 stored in the program memory 103 is determined, and the
By rewriting the PLD 104 so that it can be executed by the LD 104 and performing the calculation by the PLD 104 instead of the CPU 101, the calculation of the calculation procedure 403 can be performed at high speed.

【0053】図6は、本実施形態の演算手順検出ブロッ
ク401の概要を示す図である。図6に示す様に本実施
形態の演算手順検出ブロック401は、一連の命令で構
成された演算手順403を検出するブロックであり、プ
ログラムメモリ103から読み出した命令を保管する為
のバッファ601と、バッファ601中の命令との比較
を行う為の命令を格納するテーブル602とを備えてい
る。
FIG. 6 is a diagram showing an outline of the calculation procedure detection block 401 of the present embodiment. As shown in FIG. 6, an operation procedure detection block 401 of the present embodiment is a block for detecting an operation procedure 403 composed of a series of instructions, and includes a buffer 601 for storing instructions read from the program memory 103, And a table 602 for storing instructions for comparison with the instructions in the buffer 601.

【0054】テーブル602は、命令が前の命令の続き
であるかを表すエリアと、その命令が何回使用されたか
を表すエリアとを有し、複数の命令を保管する。
The table 602 has an area indicating whether the instruction is a continuation of the previous instruction and an area indicating how many times the instruction has been used, and stores a plurality of instructions.

【0055】演算手順検出ブロック401は、プログラ
ムメモリ103から読み出した命令と、テーブル602
に存在する命令とを順次比較し、前記読み出した命令と
テーブル602中の命令とが連続してヒットした場合
(比較の結果が同じだった場合)、一連の命令群(例え
ばサブルーチン)とみなし、更に、その一連の命令群が
実行される頻度が大きい場合に、その一連の命令群をP
LD104で実行する演算手順403であると判別す
る。
The operation procedure detection block 401 includes an instruction read from the program memory 103 and a table 602.
Are sequentially compared, and if the read instruction and the instruction in the table 602 hit successively (when the comparison result is the same), it is regarded as a series of instructions (for example, a subroutine), Further, when the series of instructions is executed frequently, the series of instructions is
It is determined that the calculation procedure 403 is executed by the LD 104.

【0056】図7は、本実施形態の演算手順検出ブロッ
ク401の処理手順を示すフローチャートである。図7
に示す様に本実施形態の演算手順検出ブロック401
は、ステップ701でメモリコントローラ102により
プログラムメモリ103の命令を読み出し、前記読み出
した命令をステップ702でバッファ601に格納す
る。
FIG. 7 is a flowchart showing a processing procedure of the calculation procedure detection block 401 of the present embodiment. FIG.
As shown in FIG.
Reads the instruction in the program memory 103 by the memory controller 102 in step 701, and stores the read instruction in the buffer 601 in step 702.

【0057】ステップ703で、バッファ601及びテ
ーブル602の命令比較を行い、バッファ601の命令
と同じ命令がテーブル602中にあるかどうかを判別す
る。
In step 703, the instruction comparison between the buffer 601 and the table 602 is performed, and it is determined whether the same instruction as the instruction in the buffer 601 exists in the table 602.

【0058】尚、命令比較を行う場合、テーブル602
の項番順に比較を行い、ヒットした場合(比較の結果同
じだった場合)は、その項番を記憶し、次回の命令比較
を行う際はその項番の次の項番から比較を行うものとす
る。後述する様に、この様に比較を行うことにより、命
令が連続しているかどうかの判別を行うことができる。
When the instruction comparison is performed, the table 602 is used.
Are compared in the order of the item number. If a hit occurs (if the result of the comparison is the same), the item number is stored, and when the next instruction comparison is performed, the comparison is performed from the item number following the item number. And As described later, it is possible to determine whether or not instructions are continuous by performing the comparison in this manner.

【0059】ステップ703において、バッファ601
の命令と同じ命令がテーブル602中にない場合には、
ステップ704でテーブル602にバッファ601の命
令を登録し、ステップ701に戻る。
In step 703, the buffer 601
If the same instruction is not in the table 602,
In step 704, the instruction of the buffer 601 is registered in the table 602, and the process returns to step 701.

【0060】ステップ703において、バッファ601
の命令と同じ命令がテーブル602中にある場合には、
ステップ705でテーブル602の該当命令のカウント
値に「1」を加算する。後述の様に、このカウント値
は、連続した命令を演算手順403と判別するかどうか
の指標として用いられる。
In step 703, the buffer 601
If the same instruction in table 602 is
In step 705, “1” is added to the count value of the corresponding instruction in the table 602. As will be described later, this count value is used as an index for determining whether or not continuous instructions are determined to be the operation procedure 403.

【0061】次にステップ706では、命令が連続して
いるかどうかの判別を行う為に、直前のバッファ601
及びテーブル602の命令比較において、ヒットしてい
たかどうかの判別を行う。
Next, at step 706, in order to determine whether or not instructions are continuous, the immediately preceding buffer 601 is used.
In the instruction comparison of the table 602, it is determined whether or not a hit has occurred.

【0062】ステップ706の判別の結果、直前のバッ
ファ601及びテーブル602の命令比較でヒットして
いなかった場合にはステップ701に戻る。
If the result of determination in step 706 is that there was no hit in the immediately preceding instruction comparison between the buffer 601 and the table 602, the flow returns to step 701.

【0063】ステップ706の判別の結果、直前のバッ
ファ601及びテーブル602の命令比較でヒットして
いた場合にはステップ707に進み、ステップ703に
おいてバッファ601の命令とヒットしたテーブル60
2の該当命令を、直前の命令の続きの命令として登録す
る。
If the result of determination in step 706 is that there is a hit in the instruction comparison between the buffer 601 and the table 602 immediately before, the process proceeds to step 707, and in step 703 the table 60 that hits the instruction in the buffer 601 is hit
The corresponding instruction of No. 2 is registered as an instruction following the immediately preceding instruction.

【0064】ステップ708では、直前の命令の続きの
命令として登録された命令の数を調べ、命令の続き登録
がある程度連続しているかを判別する。
In step 708, the number of instructions registered as a continuation of the immediately preceding instruction is checked, and it is determined whether the continuation of the instruction has been continued to some extent.

【0065】ステップ708の判別の結果、命令の続き
登録がある程度連続していない場合にはステップ701
に戻る。
If the result of determination in step 708 is that the subsequent registration of instructions is not continuous to some extent, step 701 is executed.
Return to

【0066】ステップ708の判別の結果、命令の続き
登録がある程度連続している場合には、それらの命令が
サブルーチン等の一連の命令群であると判断してステッ
プ709に進み、カウント値が特定の値より大きいかど
うか調べて、その一連の命令群が、複数回実行されてい
るかを判別する。
As a result of the determination in step 708, if the continuous registration of the instructions is continuous to some extent, it is determined that the instructions are a series of instructions such as a subroutine, the flow advances to step 709, and the count value is specified. Is checked to determine whether the series of instructions has been executed a plurality of times.

【0067】ステップ709の判別の結果、カウント値
が特定の値よりも大きくない場合には、前記一連の命令
群が頻繁に実行されていないと判断し、演算手順403
とは認めず、ステップ701に戻る。
If the result of determination in step 709 is that the count value is not greater than a specific value, it is determined that the series of instructions is not frequently executed, and the operation procedure 403 is executed.
, And the process returns to step 701.

【0068】ステップ709の判別の結果、カウント値
が特定の値よりも大きい場合には、前記一連の命令群が
頻繁に実行されているものとし、ステップ710で前記
一連の命令群を演算手順403と判断する。
If the result of determination in step 709 is that the count value is greater than a specific value, it is assumed that the series of instructions is frequently executed, and in step 710, the series of instructions is calculated by the operation procedure 403. Judge.

【0069】尚、本実施形態の計算機システムでは、P
LD104やPLDコントローラ105をCPU101
に内蔵するものとしても良い。
In the computer system of this embodiment, P
The LD 104 and the PLD controller 105 are connected to the CPU 101
It is good also as what is built in.

【0070】図8は、本実施形態のPLDコントローラ
をCPU内に含んだ場合の概略構成を示す図である。図
8に示す様に本実施形態のPLDコントローラをCPU
内に含んだ場合は、PLD104及びPLDコントロー
ラ105をCPU101内部に備えており、PLDコン
トローラ105は、演算手順検出ブロック401及び演
算手順変換ブロック402を有している。
FIG. 8 is a diagram showing a schematic configuration when the PLD controller of this embodiment is included in a CPU. As shown in FIG. 8, the PLD controller of this embodiment is connected to a CPU.
In the case where the PLD is included, the PLD 104 and the PLD controller 105 are provided inside the CPU 101, and the PLD controller 105 has a calculation procedure detection block 401 and a calculation procedure conversion block 402.

【0071】図3に示した例では、演算手順403の検
出や演算手順403の変換はCPU101内部で行われ
るので、メモリコントローラ102は、プログラムメモ
リ103中の命令がCPU101またはPLD104の
どちらで実行されるかを意識すること無く、従来と同様
の命令の読み出しを行うことが可能である。
In the example shown in FIG. 3, since the detection of the operation procedure 403 and the conversion of the operation procedure 403 are performed inside the CPU 101, the memory controller 102 executes the instruction in the program memory 103 by either the CPU 101 or the PLD 104. It is possible to read an instruction similar to the conventional one without being conscious of whether or not the instruction is read.

【0072】以上説明した様に、本実施形態の計算機シ
ステムによれば、プログラム中の演算手順の内容に応じ
て演算手段の演算内容を書き換えて演算を行うので、ハ
ードウェアの変更を行うことなく複雑な演算を高速に実
行することが可能である。
As described above, according to the computer system of the present embodiment, the operation is performed by rewriting the operation contents of the operation means according to the contents of the operation procedure in the program, so that the hardware is not changed. It is possible to execute complicated calculations at high speed.

【0073】[0073]

【発明の効果】本発明によれば、プログラム中の演算手
順の内容に応じて演算手段の演算内容を書き換えて演算
を行うので、ハードウェアの変更を行うことなく複雑な
演算を高速に実行することが可能である。
According to the present invention, since the operation is performed by rewriting the operation contents of the operation means in accordance with the contents of the operation procedure in the program, complicated operations can be executed at high speed without changing hardware. It is possible.

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

【図1】実施形態1の計算機システムの概略構成を示す
図である。
FIG. 1 is a diagram illustrating a schematic configuration of a computer system according to a first embodiment.

【図2】実施形態1の計算機システムの処理手順を示す
フローチャートである。
FIG. 2 is a flowchart illustrating a processing procedure of the computer system according to the first embodiment.

【図3】実施形態1のCPU101の他の例を示す図で
ある。
FIG. 3 is a diagram illustrating another example of the CPU 101 according to the first embodiment.

【図4】実施形態2の計算機システムの概略構成を示す
図である。
FIG. 4 is a diagram illustrating a schematic configuration of a computer system according to a second embodiment.

【図5】実施形態2の計算機システムの処理手順を示す
フローチャートである。
FIG. 5 is a flowchart illustrating a processing procedure of the computer system according to the second embodiment.

【図6】実施形態2の演算手順検出ブロック401の概
要を示す図である。
FIG. 6 is a diagram illustrating an outline of a calculation procedure detection block 401 according to the second embodiment.

【図7】実施形態2の演算手順検出ブロック401の処
理手順を示すフローチャートである。
FIG. 7 is a flowchart illustrating a processing procedure of a calculation procedure detection block 401 according to the second embodiment.

【図8】実施形態2のPLDコントローラをCPU内に
含んだ場合の概略構成を示す図である。
FIG. 8 is a diagram illustrating a schematic configuration when a PLD controller according to a second embodiment is included in a CPU.

【符号の説明】 101…CPU、102…メモリコントローラ、103
…プログラムメモリ、104…PLD、105…PLD
コントローラ、106…PLD書き換え命令判別ブロッ
ク、107…PLD使用命令判別ブロック、108…P
LD書き換え命令、109…PLD使用命令、300…
ALU、401…演算手順検出ブロック、402…演算
手順変換ブロック、403…演算手順、601…バッフ
ァ、602…テーブル。
[Description of Signs] 101: CPU, 102: Memory controller, 103
... Program memory, 104 ... PLD, 105 ... PLD
Controller: PLD rewrite instruction determination block 106: PLD use instruction determination block 108: P
LD rewrite instruction, 109 ... PLD use instruction, 300 ...
ALU, 401: operation procedure detection block, 402: operation procedure conversion block, 403: operation procedure, 601: buffer, 602: table.

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 演算内容を変更可能な演算手段と、前記
演算手段の演算内容を書き換える書き換え命令を判別す
る書き換え命令判別手段と、前記演算手段を使用して演
算を行う使用命令を判別する使用命令判別手段と、前記
書き換え命令判別手段により前記書き換え命令を判別し
た場合に前記演算手段の演算内容の書き換えを行い、前
記使用命令判別手段により使用命令を判別した場合に演
算内容を書き換えた前記演算手段を使用して演算を行う
制御手段とを備えることを特徴とする計算機システム。
1. An operation means capable of changing operation contents, a rewrite instruction determining means for determining a rewrite instruction for rewriting the operation contents of the operation means, and a use instruction for performing an operation using the operation means. An instruction discriminating means for rewriting the operation content of the arithmetic means when the rewriting instruction is judged by the rewriting instruction judging means, and rewriting the operation content when the used instruction is judged by the used instruction judging means. Control means for performing calculations using the means.
【請求項2】 演算内容を変更可能な演算手段と、前記
演算手段で実行する演算手順を検出する演算手順検出手
段と、特定の演算手順を前記演算手段の演算内容に変換
する演算手順変換手段と、前記演算手順検出手段により
演算手順を検出した場合に前記検出した演算手順を前記
演算手順変換手段により前記演算手段の演算内容に変換
し、前記変換した演算内容によって前記演算手段を書き
換えて前記演算手段で前記演算手順の演算を行う制御手
段とを備えることを特徴とする計算機システム。
2. An operation means capable of changing the operation content, an operation procedure detecting means for detecting an operation procedure executed by the operation means, and an operation procedure conversion means for converting a specific operation procedure into the operation content of the operation means. When the calculation procedure is detected by the calculation procedure detection means, the detected calculation procedure is converted into the calculation content of the calculation means by the calculation procedure conversion means, and the calculation means is rewritten by the converted calculation content to rewrite the calculation means. A computer system comprising: control means for calculating the calculation procedure by the calculation means.
JP9189550A 1997-07-15 1997-07-15 Computer system Pending JPH1139159A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9189550A JPH1139159A (en) 1997-07-15 1997-07-15 Computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9189550A JPH1139159A (en) 1997-07-15 1997-07-15 Computer system

Publications (1)

Publication Number Publication Date
JPH1139159A true JPH1139159A (en) 1999-02-12

Family

ID=16243205

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9189550A Pending JPH1139159A (en) 1997-07-15 1997-07-15 Computer system

Country Status (1)

Country Link
JP (1) JPH1139159A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009043061A (en) * 2007-08-09 2009-02-26 Oki Electric Ind Co Ltd Debugging device and debugging method
JP2018530025A (en) * 2015-06-26 2018-10-11 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated Computer architecture using high-speed reconfigurable circuit and high-bandwidth memory interface

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009043061A (en) * 2007-08-09 2009-02-26 Oki Electric Ind Co Ltd Debugging device and debugging method
JP2018530025A (en) * 2015-06-26 2018-10-11 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated Computer architecture using high-speed reconfigurable circuit and high-bandwidth memory interface

Similar Documents

Publication Publication Date Title
JPH1139159A (en) Computer system
JPH10240522A (en) Arithmetic unit
JPH05257815A (en) Central processing unit
JP2525492B2 (en) Programmable controller
JP2004103012A (en) Cache structure for enhancing operating speed of processor and processor having cache management method
JPH04268928A (en) Emulation device and semiconductor device
JPH08249018A (en) Multiprocessor arithmetic unit and programmable controller having the arithmetic unit
JP3441262B2 (en) Data processing device
JPS6327746B2 (en)
JP3024719B2 (en) Arithmetic processing method of programmable controller
JPH0991139A (en) Information processing device
US5524221A (en) Next instruction pointer calculation system for a microcomputer
JPH0535499A (en) Data processing device and data processing method
JPH0795288B2 (en) Microcomputer
JPH05108542A (en) Data processor
JPH08249022A (en) Multiprocessor arithmetic unit and programmable controller having the arithmetic unit
JPH0399338A (en) Microprocessor
JPH10187531A (en) Prefetch system for cache memory
JPH04245333A (en) Information processor
JPH05100891A (en) Program debugging device
JPH0563826B2 (en)
JPH0363726A (en) Hierlarchy type branch history table
JPH01240941A (en) Information processor
JPH0540623A (en) Flag generating device for microprocessor of integrated circuit
JPH0282318A (en) floating point arithmetic unit