JPH031232A - Information processor - Google Patents

Information processor

Info

Publication number
JPH031232A
JPH031232A JP13540689A JP13540689A JPH031232A JP H031232 A JPH031232 A JP H031232A JP 13540689 A JP13540689 A JP 13540689A JP 13540689 A JP13540689 A JP 13540689A JP H031232 A JPH031232 A JP H031232A
Authority
JP
Japan
Prior art keywords
instruction
address
instructions
fetch
unit
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
JP13540689A
Other languages
Japanese (ja)
Inventor
Hitoshi Ishida
仁志 石田
Minoru Shiga
稔 志賀
Seisuke Kazama
風間 成介
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP13540689A priority Critical patent/JPH031232A/en
Priority to US07/478,196 priority patent/US5226166A/en
Publication of JPH031232A publication Critical patent/JPH031232A/en
Priority to US08/076,023 priority patent/US5293500A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To accelerate processing speed by fetching instructions with two instruction fetching units simultaneously at a processing part, and processing them in parallel or sequentially according to priority. CONSTITUTION:The processing part 103 fetches the instruction at an N-th address and an (N+1)th address transferred from an instruction cache 104 simultaneously with the instruction fetching units 101 and 102, and processes those instructions in parallel or sequentially. The instruction cache 104 transfers the instructions at the N-th address and the (N+1)th address to the processing part 103 simultaneously. Thereby, it is possible to obtain an information processor capable of efficiently fetching the instruction, and accelerating the processing speed.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は情報を並列に処理する情報処理装置に関する
ものである。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to an information processing device that processes information in parallel.

〔従来の技術〕[Conventional technology]

従来、この種の装置として第2図に示すようなものがあ
った。この第2図はCarl Dobbs、 Paul
Reed and Tommy Ng著:Superc
omputing on Chip。
Conventionally, there has been a device of this type as shown in FIG. This second figure was created by Carl Dobbs, Paul
Written by Reed and Tommy Ng: Superc
Computing on Chip.

VLSI  SYSTEMS DESIGN Vol、
IX、No、5.May  1988.pp24−33
に示された構成に基づくもので、図において、201は
整数演算や論理演算などを行う整数ユニット、202は
浮動小数点演算などを行う浮動小数点ユニット、203
はメモリ (命令キャッシュ)とレジスタファイル間で
データの読み出し又は書き込み処理を行うデータユニッ
ト、204は上記演算に必要な情報などを格納するレジ
スタファイル、205はレジスタ競合の検出と回避を行
うスコアボード、206は命令のフェッチ、復号そして
機能ユニットへのデータ転送を行う命令フェッチユニッ
ト、207は内部バス、208は命令フェッチユニット
206と命令キャッシュ210間で命令のメモリアドレ
スのやり取りをするアドレスバス、209は命令フェッ
チユニット206と命令キャッシュ210間で命令のや
り取りをするデータバスである。
VLSI SYSTEMS DESIGN Vol.
IX, No, 5. May 1988. pp24-33
In the figure, 201 is an integer unit that performs integer operations, logical operations, etc., 202 is a floating point unit that performs floating point operations, etc., and 203 is a floating point unit that performs floating point operations.
204 is a data unit that performs data read or write processing between memory (instruction cache) and register file; 204 is a register file that stores information necessary for the above operations; 205 is a scoreboard that detects and avoids register conflicts; 206 is an instruction fetch unit that fetches and decodes instructions and transfers data to functional units; 207 is an internal bus; 208 is an address bus that exchanges memory addresses of instructions between the instruction fetch unit 206 and the instruction cache 210; This is a data bus for exchanging instructions between the instruction fetch unit 206 and the instruction cache 210.

次に動作について説明する。命令フェッチユニット20
6は命令のフェッチ、復号、転送の3つのステージにパ
イプライン化されていて、次に実行する命令のメモリア
ドレスをアドレスバス208を使って命令キャッシュ2
10に伝え、メモリアドレスを受け取った命令キャッシ
ュ210はデータバス209を使ってメモリアドレスに
対応する命令を命令フェッチユニット206に渡す。
Next, the operation will be explained. Instruction fetch unit 20
6 is pipelined into three stages: instruction fetch, decoding, and transfer, and the memory address of the next instruction to be executed is sent to the instruction cache 2 using the address bus 208.
The instruction cache 210 that has received the memory address passes the instruction corresponding to the memory address to the instruction fetch unit 206 using the data bus 209.

命令フェッチユニット206は1クロツクでフェッチを
完了した後、命令を復号ステージに渡す。
After the instruction fetch unit 206 completes the fetch in one clock, it passes the instruction to the decoding stage.

復号ステージで命令を部分的に復号し、演算に必要なオ
ペランドを命令に対応する機能ユニットにレジスタファ
イル204からブリフェッチしてあげるためにスコアボ
ード205にレジスタ要求を出す。レジスタファイル2
04の各レジスタはスコアボード・ビットを持っていて
、そのスコアボード・ビットはそのレジスタがストール
されている時はセットされ、データ操作が完了したらク
リアされる。命令フェッチユニット206からレジスタ
要求を受け取ったスコアボード205はスコアボード・
ビットを調べ、クリア状態である場合だけ命令フェッチ
ユニット206に利用可能のシグナルを送る。スコアボ
ード205から利用可能のシグナルを受けた命令フェッ
チユニット206パイプラインステージを持ち、ブリフ
ェッチされたオペランドを用いて命令を実行する。
In the decoding stage, the instruction is partially decoded and a register request is issued to the scoreboard 205 in order to cause the functional unit corresponding to the instruction to pre-fetch the operands required for the operation from the register file 204. Register file 2
Each register in 04 has a scoreboard bit that is set when the register is stalled and cleared when the data operation is complete. After receiving the register request from the instruction fetch unit 206, the scoreboard 205
The bit is checked and only if it is in the clear state is it sent an available signal to the instruction fetch unit 206. It has an instruction fetch unit 206 pipeline stage that receives an available signal from the scoreboard 205 and executes the instruction using the pre-fetched operands.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

従来の7膚表処理装置は以上のように構成されているの
で、命令フェッチユニットは1クロフタで1つの命令し
か復号することができないために、1クロツクで高々1
つの演算結果しか得られず、これ以上には処理速度を向
上できないという問題点があった。
Since the conventional 7-line table processing device is configured as described above, the instruction fetch unit can decode only one instruction in one crofter, so it decodes at most one instruction in one clock.
The problem was that only one calculation result could be obtained, and the processing speed could not be improved any further.

この発明は上記のような問題点を解決するためになされ
たもので、命令を効率良くフェッチし、処理速度の向上
を図れる情報処理装置を提供することを目的とする。
The present invention was made in order to solve the above-mentioned problems, and an object of the present invention is to provide an information processing device that can efficiently fetch instructions and improve processing speed.

〔課題を解決するための手段〕[Means to solve the problem]

この発明に係る情報処理装置は、命令を同時にフェッチ
する2つの命令フェッチユニット101゜102を有し
これらの命令フェッチユニット101.102間の優先
度に従って並列又はシーケンシャルに処理を行う処理部
103と、この処理部103で実行する命令のメモリア
ドレスNを受け取りN番地の命令と(N+1)番地の命
令を同時に処理部103に転送する機能を有した命令キ
ャッシュ104とを備えたことを特徴とするものである
The information processing device according to the present invention includes two instruction fetch units 101 and 102 that fetch instructions simultaneously, and a processing unit 103 that performs processing in parallel or sequentially according to the priority between these instruction fetch units 101 and 102; The device is characterized by comprising an instruction cache 104 having a function of receiving the memory address N of the instruction to be executed by the processing unit 103 and simultaneously transferring the instruction at address N and the instruction at address (N+1) to the processing unit 103. It is.

〔作用〕[Effect]

処理部103は、命令フェッチユニット101゜102
により命令キャッシュ104から転送さてきたN番地の
命令と(N+1)番地の命令を同時にフェッチし、優先
度に従ってそれらの命令を並列又はシーケンシャルに処
理する。命令キャッシュ104はN番地の命令と(N+
1)番地の命令を同時に処理部103に転送する。
The processing unit 103 includes instruction fetch units 101 and 102.
The instruction at address N and the instruction at address (N+1) transferred from the instruction cache 104 are fetched simultaneously, and these instructions are processed in parallel or sequentially according to their priorities. The instruction cache 104 stores the instruction at address N and (N+
1) Transfer the instructions at the address to the processing unit 103 at the same time.

〔発明の実施例〕[Embodiments of the invention]

第1図はこの発明に係る情報処理装置の要部構成を示す
ブロック図である。図において、103は命令を同時に
フェッチする2つの命令フェッチユニット101,10
2を有しこれらの命令フェッチユニット間101,10
2間の優先度に従って並列又はシケンシャルに処理を行
う処理部である。命令フェッチユニット101は命令の
番地が偶数であるか奇数であるかに関わらず、常にN番
地(N=0.1.  ・・・)の命令を処理し、命令フ
ェッチユニット102は(N+1)番地の命令を処理す
る。104は処理部103で実行する命令のメモリアド
レスNを受け取りN番地の命令と(N+1)番地の命令
を同時に処理部103に転送する機能を有した命令キャ
ッシュである。
FIG. 1 is a block diagram showing the main part configuration of an information processing apparatus according to the present invention. In the figure, 103 is two instruction fetch units 101 and 10 that fetch instructions simultaneously.
2 between these instruction fetch units 101, 10
This is a processing unit that performs processing in parallel or sequentially according to the priority between the two. The instruction fetch unit 101 always processes the instruction at address N (N=0.1...) regardless of whether the instruction address is even or odd, and the instruction fetch unit 102 always processes the instruction at address (N+1). process instructions. An instruction cache 104 has a function of receiving the memory address N of the instruction to be executed by the processing unit 103 and simultaneously transferring the instruction at address N and the instruction at address (N+1) to the processing unit 103.

105は命令キャッシュ104が処理部103から要求
されたN番地の命令と(N+1)番地の命令を同時に転
送する例えば32ビツトのデータバスである。208は
処理部103が命令キャッシュ104のアドルスを指定
するためのアドレスバスである。
105 is, for example, a 32-bit data bus through which the instruction cache 104 simultaneously transfers the instruction at address N and the instruction at address (N+1) requested by the processing unit 103. An address bus 208 is used by the processing unit 103 to specify an address in the instruction cache 104.

次に動作について説明する。処理部103は、次に実行
する命令のメモリアドレスNが命令フェッチユニット1
01又は命令フエツチュニソト102で決定されると、
そのメモリアドレスNをアドレスバス208を使って命
令キャッシュ104に知らせる。命令のメモリアドレス
Nを受け取った命令キャッシュ104は、命令キャッシ
ュ104内のメモリアドレスを比較して一致するものが
あれば、N番地の命令と(N+1)番地の命令を同時に
2本のデータバス105を使って処理部103に転送す
る。メモリアドレスが一致するものがなければ、図示し
ないメインメモリをアクセスする。処理部103は、命
令キャッシュ104から送られている2つの命令のうち
N番地の命令を命令フェッチユニット101に、(N+
1)番地の命令を命令フェッチユニット102にフェッ
チさせ、2つの命令を命令フェッチユニット間の優先度
に従って並列又はシーケンシャルに実行する。
Next, the operation will be explained. The processing unit 103 determines that the memory address N of the next instruction to be executed is the instruction fetch unit 1.
01 or as determined by the instruction 102,
The memory address N is notified to the instruction cache 104 using the address bus 208. The instruction cache 104 receives the memory address N of the instruction, compares the memory addresses in the instruction cache 104, and if there is a match, the instruction at the N address and the instruction at the (N+1) address are simultaneously transferred to the two data buses 105. is used to transfer the data to the processing unit 103. If there is no matching memory address, the main memory (not shown) is accessed. The processing unit 103 sends the instruction at address N of the two instructions sent from the instruction cache 104 to the instruction fetch unit 101 at (N+
1) The instruction at the address is fetched by the instruction fetch unit 102, and the two instructions are executed in parallel or sequentially according to the priority between the instruction fetch units.

〔発明の効果] 以上のように本発明によれば、命令キャッシュにおいて
処理部から要求されたメモリアドレスNに対応してN番
地の命令と(N+1)番地の命令を同時に転送し、処理
部内において2つの命令フェッチユニットで命令を同時
にフェッチし、優先度に従って並列又はシーケンシャル
に処理するように構成したので、命令のアドレスが偶数
であるか奇数であるかに関わらず、命令が効率良(フェ
ッチでき、したがって処理速度が向上するという効果が
得られる。
[Effects of the Invention] As described above, according to the present invention, the instruction at address N and the instruction at address (N+1) are simultaneously transferred in response to the memory address N requested by the processing unit in the instruction cache, and Since the two instruction fetch units are configured to fetch instructions simultaneously and process them in parallel or sequentially according to the priority, instructions can be efficiently fetched (fetched) regardless of whether the address of the instruction is an even number or an odd number. , Therefore, the effect of improving the processing speed can be obtained.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図はこの発明の一実施例に係る情報処理装置の要部
構成を示すブロック図、第2図は従来の情報処理装置の
要部構成を示すブロック図である。
FIG. 1 is a block diagram showing the main part structure of an information processing apparatus according to an embodiment of the present invention, and FIG. 2 is a block diagram showing the main part structure of a conventional information processing apparatus.

Claims (1)

【特許請求の範囲】[Claims] 複数の命令を並列に処理する情報処理装置において、命
令を同時にフェッチする2つの命令フェッチユニットを
有し、これらの命令フェッチユニット間の優先度に従っ
て並列又はシーケンシャルに処理を行う処理部と、この
処理部で実行する命令のメモリアドレスNを受け取りN
番地の命令と(N+1)番地の命令を同時に処理部に転
送する機能を有した命令キャッシュとを備えたことを特
徴とする情報処理装置。
In an information processing device that processes multiple instructions in parallel, there is provided a processing unit that has two instruction fetch units that fetch instructions simultaneously and performs processing in parallel or sequentially according to priorities between these instruction fetch units; Receives the memory address N of the instruction to be executed in the N
An information processing device comprising an instruction cache having a function of simultaneously transferring an instruction at an address and an instruction at an address (N+1) to a processing unit.
JP13540689A 1989-02-10 1989-05-29 Information processor Pending JPH031232A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP13540689A JPH031232A (en) 1989-05-29 1989-05-29 Information processor
US07/478,196 US5226166A (en) 1989-02-10 1990-02-12 Parallel operation processor with second command unit
US08/076,023 US5293500A (en) 1989-02-10 1993-05-27 Parallel processing method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13540689A JPH031232A (en) 1989-05-29 1989-05-29 Information processor

Publications (1)

Publication Number Publication Date
JPH031232A true JPH031232A (en) 1991-01-07

Family

ID=15150982

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13540689A Pending JPH031232A (en) 1989-02-10 1989-05-29 Information processor

Country Status (1)

Country Link
JP (1) JPH031232A (en)

Similar Documents

Publication Publication Date Title
US7421572B1 (en) Branch instruction for processor with branching dependent on a specified bit in a register
US7991983B2 (en) Register set used in multithreaded parallel processor architecture
US7424579B2 (en) Memory controller for processor having multiple multithreaded programmable units
US6668317B1 (en) Microengine for parallel processor architecture
US6606704B1 (en) Parallel multithreaded processor with plural microengines executing multiple threads each microengine having loadable microcode
US6728845B2 (en) SRAM controller for parallel processor architecture and method for controlling access to a RAM using read and read/write queues
US6173393B1 (en) System for writing select non-contiguous bytes of data with single instruction having operand identifying byte mask corresponding to respective blocks of packed data
US5293500A (en) Parallel processing method and apparatus
US20070234009A1 (en) Processor having a dedicated hash unit integrated within
US6738837B1 (en) Digital system with split transaction memory access
JPS59231652A (en) Detection system for memory access overlap
EP0374598B1 (en) Control store addressing from multiple sources
US7191309B1 (en) Double shift instruction for micro engine used in multithreaded parallel processor architecture
JPH031232A (en) Information processor
JPH08249175A (en) Method and apparatus for selective support of nonarchitectural instruction at inside of superscalar processor device
JPH0351012B2 (en)
JPH0552539B2 (en)
JPH02211534A (en) Parallel processor
JPH02301830A (en) Information processing system
JPH02308332A (en) Information processor
US8117383B2 (en) Hardware accelerator based method and device for string searching
JPH02301829A (en) Information processor
JPS6126151A (en) Buffer control system
JPH028333B2 (en)
JP2000207227A (en) Arithmetic and logic unit