JPH027129A - Arithmetic processing unit - Google Patents
Arithmetic processing unitInfo
- Publication number
- JPH027129A JPH027129A JP15690188A JP15690188A JPH027129A JP H027129 A JPH027129 A JP H027129A JP 15690188 A JP15690188 A JP 15690188A JP 15690188 A JP15690188 A JP 15690188A JP H027129 A JPH027129 A JP H027129A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- instructions
- arithmetic
- arithmetic processing
- register file
- 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
Links
- 230000003111 delayed effect Effects 0.000 claims 1
- 238000001514 detection method Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 238000000034 method Methods 0.000 description 1
Abstract
Description
【発明の詳細な説明】
〔発明の目的〕
(産業上の利用分野)
本発明はメモリ内に格納された命令に基いて演算を行な
う演算処理装置に関する。DETAILED DESCRIPTION OF THE INVENTION [Object of the Invention] (Field of Industrial Application) The present invention relates to an arithmetic processing device that performs arithmetic operations based on instructions stored in a memory.
(従来の技術)
従来のプロセサは、−時φこ−コの命令を解釈し遂時に
実行するいわゆるノイマン形の計算機でありたため、実
行速度に限界がありた。それを避けるために、同時に複
数の命令を解釈して実行する。(Prior Art) Conventional processors are so-called Neumann type computers that interpret and execute instructions at -time φ here, and therefore have a limited execution speed. To avoid this, interpret and execute multiple instructions at the same time.
いわゆる並列実行計算機がありた。There were so-called parallel execution computers.
しかし、これらの並列型計算機に3いては、各計算機間
の同期を取り、または、計算機間で情報を転送するのが
困難°でありた。また、予行して実行をうまく行うため
憂こ、特殊なプログラムの書き方または、コンパイラが
必要でありた。However, with these parallel computers, it is difficult to synchronize each computer or to transfer information between the computers. Additionally, in order to successfully perform a preliminary run, a special way of writing a program or a compiler was required.
(発明が解決しようとする課題)
この様に従来の装置では計算機間の制御がI!!雑であ
り、又特殊なプログラムの書き方が必愛であるという問
題がv−5だ。(Problem to be solved by the invention) In this way, in the conventional device, control between computers is controlled by I! ! The problem with v-5 is that it is sloppy and requires a special way of writing programs.
本発明は、その点の困難を解決すべく行なわれたもので
、特殊なプログラムの書き方をすることなく、並列1こ
実行することにより実行速度の速い計算機を提供するに
ある。The present invention has been made to solve this difficulty, and its purpose is to provide a computer that can execute programs in parallel without having to write a special program, thereby increasing the execution speed.
(a題を解決するための手段)
本発明は、4I数の演算装置に対し、1個のレジスタフ
ァイルを共有することにより、高速化することを可能(
こしたものである。(Means for Solving Problem A) The present invention makes it possible to increase the speed of 4I arithmetic units by sharing one register file (
It is strained.
(1作用)
本発明では、複数の命令を同時に処理し、その処理結果
を1個の共有レジスタに書き込むことにより、次の命令
に?いては、その結果をどの演算装置でも利用可ltF
!tこしている。それtこより、複数の演算装置間の干
渉を気tこする必要がなく、並列に演算を実行可能にし
ている。ざらIC#令間令聞渉をチエツクする機構を設
けることにより、並列性をも意識する必要もなくなる。(1 Effect) In the present invention, by processing multiple instructions simultaneously and writing the processing results to one shared register, the next instruction can be processed. ltF, the results can be used on any computing device.
! It's straining. Therefore, there is no need to worry about interference between a plurality of arithmetic units, and arithmetic operations can be executed in parallel. By providing a mechanism to check the interoperability of the IC#, there is no need to be aware of parallelism.
(実施例)
第1図は本発明蛋こよる演算処理装置の一例である。こ
の例fこ8いては、2つの演算部を持2ている。まず、
プログラムカラyりで示される番地の命令を命令メモリ
から取り出すが命令メモリ(ま。(Embodiment) FIG. 1 shows an example of an arithmetic processing device according to the present invention. This example has two calculation units. first,
The instruction at the address indicated by the program color is retrieved from the instruction memory.
同時に2つの命令を取り出すことができるものである。It is possible to take out two instructions at the same time.
この例では、連続的なアドレスから読み出すと仮定して
いるので、プログラムカウンタは1個である。In this example, it is assumed that reading is performed from consecutive addresses, so there is one program counter.
読み出された命令は、−旦命令バッファに取り込まれる
。命令解釈部は、それぞれの命@を解釈して、演算部お
よびレジスタファイル1こ対する指示を作り出す。演算
部は、レジスタファイルからのデータに演算をほどこし
て、レジスタファイルにしまう。The read instruction is then taken into the instruction buffer. The instruction interpreter interprets each instruction @ and creates instructions for the arithmetic unit and register file 1. The arithmetic unit performs arithmetic operations on data from the register file and stores it in the register file.
メモリアドレスレジスタは、データメモリの読み出すべ
き番地を指すレジスタである。4Nき込むべきデータは
レジスタファイルから供給され、読み出したデータは、
レジスタファイルにしまわれる。The memory address register is a register that points to an address in the data memory to be read. 4N The data to be read is supplied from the register file, and the read data is
Stored in register file.
次fこ例を使りて動作を説明する。The operation will be explained using the following example.
第2図(a)は高級言語でかかれたプログラムの一部の
例である。このプログラムは、配列すのC番目の要素を
aにしまい、aとbとCを足したものをeにしまうとい
う簡単なものである。これを命令に展開すると、第2図
To)のよう沓こ普通の計算機では8命令iこ展開され
る。ここで#bはb配列の先頭番地を示す。それに対し
1本発明fこよれば。FIG. 2(a) is an example of a portion of a program written in a high-level language. This program is simple, storing the Cth element of the array in a, and storing the sum of a, b, and C in e. When this is expanded into instructions, as shown in Figure 2 (To), an ordinary computer will expand into 8 instructions. Here, #b indicates the starting address of the b array. On the other hand, according to the present invention.
メモリポートが1 (1! L/かなくても第3図のよ
うに並べ替えることにより、並列に実行が可能になり、
5ステVプで実行が終了できる。Even if the memory port is 1 (1!L/), by rearranging it as shown in Figure 3, parallel execution is possible.
Execution can be completed in 5 steps.
このような簡単な例でも本発明の利点は、明らかである
。Even with such a simple example, the advantages of the present invention are obvious.
また、このような烏合の並べ替えは、プログラムにより
、あらかじめ行なりて2ぐことは、比較的容易であり、
人間は、それを意識する必要はない。また、ハードウェ
アで実行時(こ、#令聞の干渉をチエツクすることfこ
より、1個の演算装置しか持たない計算機と同じプログ
ラムを走らせることもできる。In addition, it is relatively easy to rearrange the combinations in advance using a program.
Humans don't need to be aware of it. Furthermore, by checking the hardware for interference during execution, it is possible to run the same program as on a computer with only one arithmetic unit.
例えばM1図の演算装置に3いて、フェッチした命令の
実行の優先順位を決定する手段と、優先順位の高い命令
の実行結果を低い命令で夏用するかどう力Xを検出する
手段と、もし使りていた場合優先順位の低い命令の実行
を遅らせる手段を付加すれば良い。For example, in the arithmetic unit shown in diagram M1, there is a means for determining the execution priority of fetched instructions, a means for detecting whether the execution result of a higher priority instruction is used as a lower instruction, and If it is used, you can add a means to delay the execution of lower priority instructions.
また本発明は、第1図の例に限られるわけではなく、レ
ジスタファイルの一部を共有とし、残りをそれぞれの演
算装置固有としても良く、また。Furthermore, the present invention is not limited to the example shown in FIG. 1; a part of the register file may be shared, and the rest may be unique to each arithmetic device.
データメモリに書き込むボートも1個ではなく複数個1
こしても良い。The number of ports written to data memory is not one, but multiple.
You can also strain it.
また、演算部を従続接続することにより、長いデータを
1タロツクで処理するようにすることも可能である。Further, by cascading the arithmetic units, it is possible to process long data in one tarok.
以上述べたよう蔽こ1本発明【こよれば、高級言語で書
かれたプログラムは、何らの変更をカロえることなく、
並列実行が可能1こなり、同一グロック周波数で高速実
行可能な計算機を作ることができる。As stated above, according to the present invention, a program written in a high-level language can be written without making any changes.
Parallel execution is possible, making it possible to create a computer that can run at high speed with the same Glock frequency.
これより本発明の利点は明らかである。From this, the advantages of the present invention are clear.
第1図は本発明による一実施例を示す図、第2図は高級
言語で書かれたプログラムとそれを命吟列に変更した例
を示す図。
第3図は@2図のプロ
ダラムを命令レベルで韮べ換えた例を示す図である。FIG. 1 is a diagram showing an embodiment of the present invention, and FIG. 2 is a diagram showing an example of a program written in a high-level language and an example of changing the program to a command line. FIG. 3 is a diagram showing an example in which the program program shown in FIG. 2 is replaced at the instruction level.
Claims (3)
る命令解釈部と、前記複数個の命令の夫々の解釈結果に
従つて演算を行なう複数個の演算部と、前記複数個の演
算部の出力データを書き込み、又夫々の演算部に入力す
べきデータを供給するためのレジタルファイル部とを具
備したことを特徴とする演算処理装置。(1) An instruction interpretation section that interprets each of the plurality of instructions retrieved from memory, a plurality of operation sections that perform operations according to the interpretation results of each of the plurality of instructions, and a plurality of operation sections that An arithmetic processing device characterized by comprising a digital file section for writing output data and supplying data to be input to each arithmetic section.
ドレスに対応するものである請求項1記載の演算処理装
置。(2) The arithmetic processing device according to claim 1, wherein the plurality of instructions retrieved from the memory correspond to consecutive addresses.
の実行結果を低い命令で使用するか否かを検出するもの
であり、この検出結果に従つて演算部は優先順位の低い
命令の実行を遅らせるものである請求項1記載の演算処
理装置。(3) The instruction interpretation unit detects whether or not the execution result of a high-priority instruction among multiple instructions is to be used in a low-priority instruction. Based on this detection result, the arithmetic unit selects a low-priority instruction 2. The arithmetic processing device according to claim 1, wherein execution of the arithmetic processing device is delayed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15690188A JPH027129A (en) | 1988-06-27 | 1988-06-27 | Arithmetic processing unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15690188A JPH027129A (en) | 1988-06-27 | 1988-06-27 | Arithmetic processing unit |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH027129A true JPH027129A (en) | 1990-01-11 |
Family
ID=15637874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP15690188A Pending JPH027129A (en) | 1988-06-27 | 1988-06-27 | Arithmetic processing unit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH027129A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4947703A (en) * | 1988-07-09 | 1990-08-14 | Fichtel & Sachs Ag | Operating mechanism for a multispeed bicycle hub |
US6016541A (en) * | 1997-10-02 | 2000-01-18 | Fujitsu Limited | Instruction controlling system and method thereof |
-
1988
- 1988-06-27 JP JP15690188A patent/JPH027129A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4947703A (en) * | 1988-07-09 | 1990-08-14 | Fichtel & Sachs Ag | Operating mechanism for a multispeed bicycle hub |
US6016541A (en) * | 1997-10-02 | 2000-01-18 | Fujitsu Limited | Instruction controlling system and method thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9032185B2 (en) | Active memory command engine and method | |
US7149875B2 (en) | Data reordering processor and method for use in an active memory device | |
JPH04367936A (en) | Superscalar processor | |
JPH03282958A (en) | Electronic computer | |
JPH05342084A (en) | Device and method for storing data | |
JPH027129A (en) | Arithmetic processing unit | |
JPS6347835A (en) | Pipeline computer | |
JPS60195661A (en) | Data processing system | |
JPH07110769A (en) | Vliw type computer | |
JPH01255037A (en) | Electronic computer | |
JPS5896346A (en) | Hierarchical arithmetic system | |
JPH02287732A (en) | Register address generating device | |
JPS62293372A (en) | Master and slave processor | |
JPH0419575B2 (en) | ||
JPH0546389A (en) | Parallel processor | |
JPH02217924A (en) | Storing processing system for data processor | |
JPS6028014B2 (en) | microprocessor | |
JPS61283930A (en) | Information processor | |
JPH02103635A (en) | Digital system | |
JPH04175930A (en) | Data processor | |
JPH02230326A (en) | Pipe line information processor | |
JPH03156604A (en) | Programmable controller | |
JPH0562388B2 (en) | ||
JPH04276827A (en) | Pipe line processor | |
JPH0282318A (en) | Floating-point arithmetic unit |