JPH04372018A - High speed processor - Google Patents

High speed processor

Info

Publication number
JPH04372018A
JPH04372018A JP15009091A JP15009091A JPH04372018A JP H04372018 A JPH04372018 A JP H04372018A JP 15009091 A JP15009091 A JP 15009091A JP 15009091 A JP15009091 A JP 15009091A JP H04372018 A JPH04372018 A JP H04372018A
Authority
JP
Japan
Prior art keywords
cycle
processor
wait
instruction
processing time
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
JP15009091A
Other languages
Japanese (ja)
Inventor
Tomohiko Yanagida
知彦 柳田
Hideo Haruta
春田 日出雄
Masataka Kobayashi
正隆 小林
Akira Ido
明 井戸
Yasuhiro Furukawa
古川 泰宏
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 Industry and Control Solutions Co Ltd
Original Assignee
Hitachi Ltd
Hitachi Microsoftware Systems Inc
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 Microsoftware Systems Inc filed Critical Hitachi Ltd
Priority to JP15009091A priority Critical patent/JPH04372018A/en
Publication of JPH04372018A publication Critical patent/JPH04372018A/en
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
(57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.

Description

【発明の詳細な説明】[Detailed description of the invention]

【0001】0001

【産業上の利用分野】本発明はパイプライン処理を行う
プロセッサなど、高速処理を行うプロセッサに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a processor that performs high-speed processing, such as a processor that performs pipeline processing.

【0002】0002

【従来の技術】パイプライン処理を行うプロセッサには
、例えば、インテルi860TM64ビットマイクロプ
ロセッサがある。i860TMのパイプライン処理は、
i860TM64ビットマイクロプロセッサアドバンス
トインフォメ−ションの4.0章  バス  オペレ−
ションに記載されているように、三つの未処理サイクル
が溜るまで、新しいサイクルを始めることができる。
2. Description of the Related Art An example of a processor that performs pipeline processing is the Intel i860TM 64-bit microprocessor. i860TM pipeline processing is
i860TM 64-bit Microprocessor Advanced Information Chapter 4.0 Bus Operations
New cycles can be started until there are three outstanding cycles, as described in the section.

【0003】従って、パイプライン中のあるサイクルが
、それより後の二つのサイクルが始まるまでの間に、処
理を終えれば、新しいサイクルを始めることができる。 しかし、パイプライン中のあるサイクルが、それより後
の二つのサイクルが始まるまでの間に、処理を終えなけ
れば、新しいサイクルを始めることができず、プロセッ
サは、ウエイト状態になり、プロセッサの能力をフルに
活かすことができなくなる。
[0003] Therefore, if a certain cycle in the pipeline finishes processing before two subsequent cycles start, a new cycle can be started. However, if a cycle in the pipeline does not finish processing before the start of two subsequent cycles, a new cycle cannot be started, and the processor is placed in a wait state, which increases the processor's capacity. You will not be able to make full use of it.

【0004】0004

【発明が解決しようとする課題】上記従来例では、パイ
プライン処理中のあるサイクルに対する処理時間が長く
、そのサイクル後の二つのサイクルが始まるまでの間に
、処理を終えなければ、その後の二つのサイクルに対す
る処理がどんなに高速であったとしても、その処理を行
なうことはできず、三つの未処理サイクルが溜り、新し
いサイクルを始めることができなくなる。
[Problems to be Solved by the Invention] In the conventional example described above, the processing time for a certain cycle during pipeline processing is long, and if the processing is not completed before the start of two cycles after that cycle, the subsequent two cycles will be delayed. No matter how fast one cycle is processed, it cannot be processed and three unprocessed cycles accumulate, making it impossible to start a new cycle.

【0005】本発明の目的は、パイプライン処理中の高
速処理可能なサイクルが、処理時間の長く掛るサイクル
に関係なく実行でき、プロセッサの能力をフルに活かせ
る様にすることにある。
An object of the present invention is to enable high-speed processing cycles during pipeline processing to be executed regardless of cycles that take a long processing time, and to make full use of the processor's capabilities.

【0006】[0006]

【課題を解決するための手段】上記目的を達成するため
、本発明はパイプライン中の未処理サイクルの内、高速
処理可能なサイクルが、それより前の処理時間の長く掛
るサイクルにより、サイクルを終結できなくなる様な時
、高速処理可能なサイクルが、それより前の処理時間の
長く掛るサイクルの終結を待たずに、サイクルを終結で
きる様にしたものである。
[Means for Solving the Problems] In order to achieve the above object, the present invention provides for a cycle that can be processed at high speed among unprocessed cycles in a pipeline to be processed by a previous cycle that takes a long processing time. When a cycle cannot be completed, a cycle that can be processed at high speed can be used to complete a cycle without waiting for the previous cycle, which takes a long time, to complete.

【0007】このため、本発明のプロセッサには、パイ
プライン中の未処理サイクルに対するウエイト信号を設
け、このウエイト信号が出力されている間、ウエイト信
号に対応したサイクルの終結を待たずに、それ以降のサ
イクルの終結を先に行なえる様にしたものである。
For this reason, the processor of the present invention is provided with a wait signal for the unprocessed cycle in the pipeline, and while this wait signal is being output, it is processed without waiting for the completion of the cycle corresponding to the wait signal. This allows the subsequent cycles to be completed first.

【0008】更に、本発明のプロセッサでは、逐次処理
が必要な命令に対して、上記のウエイト信号を受け付け
ないように、命令構造の中にウエイト信号を受け付ける
か否かのフラグを付加したものである。
Furthermore, in the processor of the present invention, a flag indicating whether or not to accept a wait signal is added to the instruction structure so that the above-mentioned wait signal is not accepted for instructions that require sequential processing. be.

【0009】[0009]

【作用】本発明のプロセッサは、パイプライン動作中、
ウエイト信号を受け付けると、そのウエイト信号に対応
した命令構造の中のウエイト信号を受け付けるか否かの
フラグを参照し、ウエイト信号を受け付ける命令ならば
、そのサイクルの終結を待たずに次のサイクルを実行す
る。また、パイプライン動作中、命令構造の中のウエイ
ト信号を受け付けるか否かのフラグを参照し、ウエイト
信号を受け付けない命令であれば、そのサイクルが終結
した後、次のサイクルを実行する。
[Operation] During pipeline operation, the processor of the present invention
When a wait signal is received, the flag in the instruction structure corresponding to the wait signal is referred to, and if the instruction accepts the wait signal, the next cycle is executed without waiting for the end of the cycle. Execute. Also, during pipeline operation, a flag in the instruction structure indicating whether or not to accept a wait signal is referred to, and if the instruction does not accept a wait signal, the next cycle is executed after that cycle is completed.

【0010】このように、本発明のプロセッサは、ウエ
イト信号及び、命令構造の中にウエイト信号を受け付け
るか否かのフラグを設けることにより、パイプライン中
の任意のサイクルに対して、ウエイト処理を行うことが
でき、より高速処理可能なプロセッサを提供することが
できる。
As described above, the processor of the present invention allows wait processing to be performed for any cycle in the pipeline by providing a wait signal and a flag indicating whether or not to accept the wait signal in the instruction structure. This makes it possible to provide a processor capable of faster processing.

【0011】[0011]

【実施例】本発明のプロセッサによるパイプライン動作
の一実施例を図面を参照して説明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of pipeline operation by the processor of the present invention will be described with reference to the drawings.

【0012】本実施例におけるプロセッサは、パイプラ
イン動作中最大三つの未処理サイクルを実行できるもの
とする。
It is assumed that the processor in this embodiment can execute a maximum of three unprocessed cycles during pipeline operation.

【0013】図1は、本発明のプロセッサによる、パイ
プライン動作の特徴的なタイミングチャ−トの一例であ
る。ADRは、アドレス信号線、WAENは、サイクル
がウエイトを受け付けるか否かのウエイト許可信号線、
ADVは、アドレス及び、WAENの確定信号線、DA
TAは、デ−タ信号線、DATVは、デ−タ確定信号線
、WAITは、サイクルウエイト信号線である。さらに
、ADR上のA0からA6は、パイプライン動作中のア
ドレスであり、A0及び、A3は、他のサイクルより時
間の掛るアクセスであり、ウエイトが必要なものである
。DATA上のDは、A0サイクルの直前のノンパイプ
ラインサイクルに対応するデ−タである。また、D0か
らD6は、A0からA6のサイクルに対応するデ−タで
ある。
FIG. 1 is an example of a characteristic timing chart of pipeline operation by the processor of the present invention. ADR is an address signal line, WAEN is a wait permission signal line indicating whether or not the cycle accepts a wait.
ADV is the address and WAEN confirmation signal line, DA
TA is a data signal line, DATV is a data confirmation signal line, and WAIT is a cycle wait signal line. Furthermore, A0 to A6 on the ADR are addresses during pipeline operation, and A0 and A3 are accesses that take longer than other cycles and require a wait. D on DATA is data corresponding to the non-pipelined cycle immediately before the A0 cycle. Further, D0 to D6 are data corresponding to the cycle from A0 to A6.

【0014】図2は、本発明のプロセッサを含んだシス
テム構成図の一例である。(1)CPUは、本発明によ
るプロセッサ、(2)BUSCは、プロセッサバス6及
び、I/Oバス7を制御するバスコントロ−ラで、パイ
プライン中のI/Oアクセスは、基本的にウエイトが必
要であるものとする。また、BUSCは、プロセッサバ
スのサイクルを判定し図1のWAIT信号をも制御する
。(3)MEMは、メインメモリ、(4)MACは、メ
モリアクセスを制御するメモリアクセスコントロ−ラで
、メモリアクセスは、ウエイトを必要としないものとす
る。(5)I/Oは、I/Oバス7に接続される入出力
装置である。
FIG. 2 is an example of a system configuration diagram including the processor of the present invention. (1) CPU is a processor according to the present invention, (2) BUSC is a bus controller that controls the processor bus 6 and I/O bus 7, and I/O access in the pipeline is basically a wait process. shall be necessary. BUSC also determines the cycles of the processor bus and controls the WAIT signal in FIG. (3) MEM is a main memory; (4) MAC is a memory access controller that controls memory access; memory access does not require a wait. (5) I/O is an input/output device connected to the I/O bus 7.

【0015】図3は、本発明のプロセッサの命令構造の
一例を示したものである。WFは、ウエイト可能なサイ
クルか否かの判定フラグで、本実施例では、WFが、1
でウエイト可能サイクル、WFが、0でウエイト不可サ
イクルとする。OPCは、オペコ−ド、SRCは、ソ−
スアドレス、DSTは、デストアドレスである。
FIG. 3 shows an example of the instruction structure of the processor of the present invention. WF is a flag for determining whether or not the cycle is waitable. In this embodiment, WF is 1.
WF is a waitable cycle and 0 is a waitable cycle. OPC is an operation code, and SRC is a code.
The destination address, DST, is the dest address.

【0016】図4は、図1のA0からA7に対する命令
構造を、図3の命令構造に従い示したものである。以下
、本発明によるプロセッサのパイプライン動作を図1か
ら図4を参照して説明する。
FIG. 4 shows the instruction structure for A0 to A7 in FIG. 1 in accordance with the instruction structure in FIG. 3. Hereinafter, the pipeline operation of the processor according to the present invention will be explained with reference to FIGS. 1 to 4.

【0017】CPUは、図4の命令をパイプライン動作
で処理していく。CPUは、まず、図4の命令0を実行
するため、プロセッサバスのADR上にアドレスA0を
出力し、さらに、図4に示すとおり、命令0のWFが0
なので、WAENを出力せず、ADVを出力する。AD
R上のアドレスA0は、図4に示す様にI/Oアクセス
であるので、BUSCは、即座にI/Oに対してアクセ
スを行う。本実施例におけるプロセッサは、パイプライ
ン動作中最大三つの未処理サイクルを行うことができる
ものであるから、CPUは、図4の命令1、命令2を実
行し、ADR上にアドレスA1,A2をそれぞれ出力し
、更に、図4に示すとおり、命令1、命令2は、WFが
1なので、WAENを出力し、さらに、ADVを出力す
る。この時、BUSCは、I/Oアクセスを完了してお
らず、このため、CPUは、すでにパイプライン動作中
の最大三つの未処理サイクルを実行中のため、次の新し
いサイクルは、行えない。
The CPU processes the instructions shown in FIG. 4 in a pipeline operation. In order to execute instruction 0 in FIG. 4, the CPU first outputs address A0 on the ADR of the processor bus, and furthermore, as shown in FIG.
Therefore, ADV is output without outputting WAEN. A.D.
Since the address A0 on R is an I/O access as shown in FIG. 4, BUSC immediately accesses the I/O. Since the processor in this embodiment can perform up to three unprocessed cycles during pipeline operation, the CPU executes instructions 1 and 2 in FIG. 4 and writes addresses A1 and A2 on ADR. Further, as shown in FIG. 4, since WF is 1 for instruction 1 and instruction 2, WAEN is output, and ADV is output. At this time, BUSC has not completed the I/O access, and therefore the next new cycle cannot be performed because the CPU is already executing up to three outstanding cycles in pipeline operation.

【0018】次にBUSCは、I/Oアクセスを完了し
、DATA上にデ−タD0を出力し、さらに、DATV
を出力する。これにより、MACは、アドレスA1,A
2に対するアクセスを行い、DATA上にデ−タD1,
D2を次々に出力し、それぞれDATVを出力する。ま
た、BUSCがI/Oアクセスを完了したのを受け、C
PUは、つぎの命令である図4の命令3を実行し、AD
R上にアドレスA3を出力し、さらに、図4に示すとお
り、命令3は、WFが1なので、WAENを出力しAD
Vを出力する。BUSCは、ADR上のI/Oアドレス
A3を受け、I/Oアクセスを行うと共に、WAENを
受け、I/Oアクセスが、ウエイトサイクル動作が必要
なため、WAITを出力する。CPUは、図4の命令3
を実行した後も、パイプライン動作中最大三つの未処理
サイクルが溜るまで、次々に新しいサイクル、命令4、
命令5を実行してゆく。また、BUSCが出力したWA
ITを受け、CPUは、命令3がウエイトサイクルであ
ると認識する。さらに、MACは、A3に対するデ−タ
の出力を待たずに、アドレスA4,アドレスA5に対す
るデ−タD4,D5を出力する。BUSCは、命令3に
対するI/Oアクセスが完了すると、WAITの出力を
中止し、MACがデ−タD5の出力を完了した後、デ−
タD3を出力すると共に、DATVを出力する。
Next, BUSC completes the I/O access, outputs data D0 on DATA, and then outputs data D0 on DATA.
Output. As a result, the MAC uses addresses A1, A
2, and data D1,
D2 is output one after another, and each output is DATV. Also, after BUSC completed the I/O access, C
The PU executes the next instruction, instruction 3 in FIG.
As shown in Figure 4, instruction 3 outputs address A3 on R, and since WF is 1, it outputs WAEN and AD
Outputs V. BUSC receives I/O address A3 on ADR, performs I/O access, receives WAEN, and outputs WAIT because I/O access requires a wait cycle operation. The CPU executes instruction 3 in Figure 4.
Even after executing the instruction 4, new cycles, instruction 4,
Execute command 5. Also, the WA output from BUSC
Upon receiving IT, the CPU recognizes that instruction 3 is a wait cycle. Further, the MAC outputs data D4 and D5 to addresses A4 and A5 without waiting for data to be output to A3. When the I/O access for instruction 3 is completed, BUSC stops outputting WAIT, and after MAC completes outputting data D5, it outputs data.
At the same time as outputting data D3, it also outputs DATV.

【0019】このように、本実施例によれば、パイプラ
イン動作中、処理時間の長く掛るサイクルの終結を待つ
ことなく、それ以降のサイクルを先に終結することがで
きるので、プロセッサの持つ能力をフルに活かすことが
できる。さらに、命令構造の中にウエイトフラグを設け
ることで、サイクル順序の入れ替えを制御することがで
きる。
As described above, according to this embodiment, during pipeline operation, subsequent cycles can be completed first without waiting for the completion of a cycle that takes a long processing time, so that the ability of the processor is can be fully utilized. Furthermore, by providing a wait flag in the instruction structure, it is possible to control the change in cycle order.

【0020】[0020]

【発明の効果】本発明のプロセッサは、ウエイト信号及
び、命令構造の中にウエイトを受け付けるか否かのフラ
グを設けることにより、パイプライン中の任意のサイク
ルに対して、サイクル順序の入れ替えが行える様になり
、より高速処理が可能なプロセッサを提供することがで
きる。
[Effects of the Invention] The processor of the present invention allows the cycle order to be changed for any cycle in the pipeline by providing a wait signal and a flag indicating whether or not to accept a wait in the instruction structure. This makes it possible to provide a processor capable of faster processing.

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

【図1】本発明のプロセッサによるパイプライン動作の
特徴的なタイミングチャ−ト、
FIG. 1 is a characteristic timing chart of pipeline operation by the processor of the present invention;

【図2】本発明のプロセッサを含んだシステムブロック
図、
FIG. 2 is a system block diagram including a processor of the present invention;

【図3】命令構造の一例の説明図、[Fig. 3] An explanatory diagram of an example of an instruction structure,

【図4】具体的な命令構造の説明図。FIG. 4 is an explanatory diagram of a specific instruction structure.

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

ADR:アドレス信号線、WAEN:サイクルがウエイ
トを受け付けるか否かのウエイト許可信号線、ADV:
アドレス及び、WAENの確定信号線、DATA:デ−
タ信号線、DATV:デ−タ確定信号線、WAIT:サ
イクルウエイト信号線。
ADR: Address signal line, WAEN: Wait permission signal line indicating whether or not the cycle accepts a wait, ADV:
Address and WAEN confirmation signal line, DATA:
DATV: data confirmation signal line, WAIT: cycle wait signal line.

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】処理時間の長いサイクルと処理時間の短い
サイクルとが混在するパイプライン処理を行うプロセッ
サにおいて、前記処理時間の長いサイクルの後に、前記
処理時間の短いサイクルがつづく場合、前記処理時間の
長いサイクルの終結を待たずに、前記処理時間の短いサ
イクルの終結を先に行う事ができるサイクル順序入れ替
え可能なパイプライン処理を行うことを特徴とする高速
プロセッサ。
1. In a processor that performs pipeline processing in which a cycle with a long processing time and a cycle with a short processing time coexist, when the cycle with the long processing time is followed by the cycle with the short processing time, the processing time is 1. A high-speed processor, characterized in that it performs pipeline processing in which the cycle order can be changed, in which the cycle having a short processing time can be completed first without waiting for the completion of the long cycle.
【請求項2】請求項1において、サイクル順序の入れ替
えが行われる前記処理時間の長いサイクルに対し、前記
プロセッサは、他のデバイスにより、サイクル順序入れ
替え要求を受け、前記サイクル順序の入れ替えを行うサ
イクル順序入れ替え可能なパイプライン処理をする高速
プロセッサ。
2. According to claim 1, for the long processing time cycle in which the cycle order is to be changed, the processor receives a cycle order change request from another device and performs the cycle in which the cycle order is changed. A high-speed processor that performs reorderable pipeline processing.
【請求項3】請求項1または2において、命令の種類に
より、そのサイクルが、サイクル順序入れ替え可能か否
かを判定するためのフラグを命令構造の中に付加したサ
イクル順序入れ替え可能なパイプライン処理をする高速
プロセッサ。
3. Pipeline processing according to claim 1 or 2, in which a flag is added to the instruction structure to determine whether or not the cycle order of the cycle can be changed depending on the type of instruction. A high speed processor.
JP15009091A 1991-06-21 1991-06-21 High speed processor Pending JPH04372018A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15009091A JPH04372018A (en) 1991-06-21 1991-06-21 High speed processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15009091A JPH04372018A (en) 1991-06-21 1991-06-21 High speed processor

Publications (1)

Publication Number Publication Date
JPH04372018A true JPH04372018A (en) 1992-12-25

Family

ID=15489296

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15009091A Pending JPH04372018A (en) 1991-06-21 1991-06-21 High speed processor

Country Status (1)

Country Link
JP (1) JPH04372018A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007328539A (en) * 2006-06-07 2007-12-20 Nec Electronics Corp Bus system, bus slave and bus control method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007328539A (en) * 2006-06-07 2007-12-20 Nec Electronics Corp Bus system, bus slave and bus control method
US7877533B2 (en) 2006-06-07 2011-01-25 Renesas Electronics Corporation Bus system, bus slave and bus control method

Similar Documents

Publication Publication Date Title
JPH0354375B2 (en)
JPH0563829B2 (en)
JPH0776918B2 (en) Data processing system and method
JPS61118850A (en) Microprocessor
JPH04372018A (en) High speed processor
JP2798121B2 (en) Data processing device
JPH0612107A (en) Sequence operation processor and sequence operation processing device
JPS60195661A (en) Data processing system
JPS60118977A (en) Pipeline control system
JP2875546B2 (en) Information processing system
JPH02301830A (en) Information processing system
JPS61131047A (en) Pipeline controlling system
JP2806690B2 (en) Microprocessor
JPH0419575B2 (en)
JP2504535B2 (en) Bus unit configuration method
JPH0192862A (en) Data processor
JPH05204831A (en) Microprocessor and microcomputer system having direct memory access function using the same
JPH03122744A (en) Computer system
JPH02266452A (en) Device for accessing cpu bus in other system
JPS6223342B2 (en)
JPH04282742A (en) Digital signal processor
JPH0424733B2 (en)
JPH0488543A (en) Dma control system
JPS61110241A (en) Controlling device of multiprocessor interruption
JPS61165136A (en) Buffer access request controlling system