JP2748822B2 - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JP2748822B2
JP2748822B2 JP5165612A JP16561293A JP2748822B2 JP 2748822 B2 JP2748822 B2 JP 2748822B2 JP 5165612 A JP5165612 A JP 5165612A JP 16561293 A JP16561293 A JP 16561293A JP 2748822 B2 JP2748822 B2 JP 2748822B2
Authority
JP
Japan
Prior art keywords
pipeline
instruction
execution
stage
information processing
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.)
Expired - Lifetime
Application number
JP5165612A
Other languages
English (en)
Other versions
JPH0721021A (ja
Inventor
康 大井
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.)
NEC Corp
Original Assignee
Nippon Electric 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP5165612A priority Critical patent/JP2748822B2/ja
Priority to KR1019940015894A priority patent/KR0136019B1/ko
Priority to EP94110435A priority patent/EP0633522B1/en
Priority to DE69424092T priority patent/DE69424092T2/de
Publication of JPH0721021A publication Critical patent/JPH0721021A/ja
Priority to US08/617,427 priority patent/US5579498A/en
Application granted granted Critical
Publication of JP2748822B2 publication Critical patent/JP2748822B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3873Variable length pipelines, e.g. elastic pipeline
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30079Pipeline control instructions, e.g. multicycle NOP
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Advance Control (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は情報処理装置に関し、特
にパイプライン処理の一時停止及び再開を制御する同期
命令を備えたパイプライン方式の情報処理装置に関す
る。
【0002】
【従来の技術】信号処理を対象とする処理装置におい
て、定期的なイベントに同期して処理を開始するという
方式は、最も基本的な設計方式である。音声又は画像等
の信号処理においては、通常、信号のサンプリングレー
トに同期して新たなデータが処理装置に到着し、処理装
置では、データの到着をトリガとしてフィルタ処理ある
いは予測処理等が起動される。
【0003】信号処理をCPU(中央処理装置)又はD
SP(ディジタル信号処理用プロセッサ)等のプログラ
ム可能な情報処理装置(以下「処理装置」という)で実
行する場合、実行ステップ数が条件分岐要因などで変化
するため、定期的なイベントは外部要因として処理装置
に入力されるのが望ましい。
【0004】また、処理装置の設計方式は、該信号処理
に耐え得るほどに十分高速なものであることが要求され
る。命令実行過程を、例えば命令フェッチ(IF)、命
令デコード(ID)、実行(EX1)、書込み(WB)
等の複数ステージに分割し、各ステージをオーバラップ
実行して命令を多重に処理するパイプライン処理は、処
理装置の高速化のための基本的な設計方式の一つであ
る。
【0005】定期的なイベントの発生を外部要因として
処理装置に伝達する手段として、従来割込みが用いられ
ており、例えば、タイマ手段から定期的に出力されるパ
ルス信号が割込み信号として処理装置の割込み要求端子
に入力され、定期的に行なわれる処理は、割込み要求認
可時に処理装置において起動される割込み処理ルーチン
にて実行される。
【0006】定期的に行なわれる処理の要因が複数ある
場合、割込み処理も多重化に対応することが必要とさ
れ、割込みの優先順位付けに関するシステムの複雑度が
増加する他、多重割込み処理の場合各種レジスタ退避等
によるオーバヘッドが大きくなる。
【0007】特開昭60−37038(「従来例1」と
云う)には、ホールトモードを解除する複数の割込み要
因を有するマイクロコンピュータにおいて、特に多重割
込みの複雑さを解決するための手段が開示されている。
即ち、従来例1には、ホールトモードを解除する複数の
要因の各々が、ホールトを解除して更に割込み処理を行
うのか、あるいは、ホールトを解除するだけでプログラ
ムを先に進めるのかをプログラムにて選択可能なマイク
ロコンピュータが開示されており、複数タイマ信号のう
ち要因指定命令により指定された一部のタイマ信号につ
いては単に次の命令からプログラムを再開することによ
り、割込み要因の一部をメインプログラムで処理するこ
とを可能としている。
【0008】なお、特開昭60−10355には、タイ
マ・カウンタと割込みを用いて中央処理装置の使用率を
測定する方式が開示されている。即ち、特開昭60−1
0355には、無負荷時に特定命令(ホールト命令)を
実行して刻時を開始し、動作状態に入ると割込みを用い
て刻時を停止する方式が記載されている。
【0009】
【発明が解決しようとする課題】パイプライン処理方式
の処理装置においては、順次的に命令が流れている場合
の実行効率は高いが、例えば条件分岐命令等によって生
じるパイプラインの乱れが問題となる。特に、外部割込
み発生等予測できない命令シーケンスの変更が生じる
と、パイプライン内で処理中の後続命令は中断され、新
たに割込み処理命令をパイプラインに送りこまなければ
ならない。このため、外部割込み等が頻発するとパイプ
ラインの実行効率は大幅に低下する。
【0010】従って、パイプライン処理方式の処理装置
において、複数の割込み要因を成すタイマ手段に対して
多重割込み処理によりそれぞれのタイマ手段に同期して
信号処理を行なうことは処理能力の低下の点で問題があ
った。
【0011】従来例1は、動作期間以外では、システム
クロックを停止する等、低消費電力を重視するマイクロ
コンピュータに関するものである。従って、命令の停止
と再開はシステムクロックを発生するタイミングジェネ
レータの停止・再開によって制御されている。
【0012】しかし、従来例1におけるシステムクロッ
クの停止と再開という制御方式は、ダイナミック回路
(システムクロックの停止により記憶情報が消失する回
路)が全く使用できないという問題、及びシステムクロ
ックの停止と再開を必要とする回路範囲の特定が困難で
あるという問題があった。
【0013】さらに、従来例1の構成においては、シス
テムクロックの停止・再開を実行する処理装置と該処理
装置の外部に配設されたタイマ部との間のクロックスキ
ューを最小化しなければならないという問題があった。
これらの問題のため、従来例1の設計方式に成る処理装
置を信号処理向きの実時間同期処理に適用することは困
難であった。
【0014】従って、本発明の目的は、前記問題点を解
決し、パイプライン処理方式の処理装置において、割込
み処理を用いずにタイマの出力信号に正しく同期して処
理可能な情報処理装置を提供することにある。
【0015】
【課題を解決するための手段】前記目的を達成するた
め、本発明は、命令実行過程を複数ステージに分割して
パイプライン処理する情報処理装置において、情報処理
装置が、パイプラインの実行を一時停止する一時停止命
令を命令セットに有し、且つパイプラインの実行及び停
止を制御するパイプライン制御手段を備え、パイプライ
ン制御手段が、一時停止命令の実行により出力される一
時停止信号に基づきパイプラインの各ステージを停止状
態に設定すると共に、一時停止命令によって複数のパイ
プライン実行再開手段のうちの一つを指定し、指定され
たパイプライン実行再開手段の出力信号に基づき停止状
態にあるパイプラインの各ステージを実行状態に設定す
ることを特徴とする情報処理装置を提供する。
【0016】本発明の情報処理装置においては、一時停
止命令がそのオペランド部にて複数のパイプライン実行
再開手段の一つを指定する。
【0017】また、本発明の情報処理装置においては、
パイプライン実行再開手段は、所定の周期のパルス信号
を発生する複数のタイマ手段から成る。
【0018】さらに、本発明の情報処理装置は、好適な
実施態様において、パイプライン制御手段が、パイプラ
インの一時停止の設定及び解除を記憶するための記憶手
段を備え、パイプラインの命令デコードステージから出
力される一時停止命令のデコード信号が記憶手段のセッ
ト端子に入力され該記憶手段の出力信号によりパイプラ
インの各ステージレジスタの書込みを禁止すると共に、
一時停止命令によって指定されたパイプライン再開手段
の出力信号が記憶手段のリセット端子に入力され該記憶
手段の出力信号によりパイプラインの各ステージレジス
タの書込みを許可する構成から成る。
【0019】さらにまた、本発明の情報処理装置は、好
適な実施態様において、パイプライン制御手段が、パイ
プラインの一時停止の設定及び解除するための手段とし
て記憶手段とゲート手段とを備えるか、又はゲート手段
のみを備えている。
【0020】本発明の情報処理装置は、好適な実施態様
において、パイプライン制御手段が一時停止命令のオペ
ランドにて指定されたパイプライン実行再開手段を選択
するための選択手段を備え、また、一時停止命令のパイ
プラインの実行第2ステージへの転送時、後段の命令が
一時停止命令でない時にパイプライン実行再開手段の指
定がリセットされる。
【0021】
【作用】前記構成のもと、本発明の情報処理装置におい
ては、パイプライン処理を一時停止するための一時停止
命令が命令セットとして設けられている。一時停止命令
のデコード信号(「一時停止信号」ともいう)はパイプ
ライン制御部に入力され、パイプライン制御部が該一時
停止信号に基づきパイプライン処理を停止することによ
り、プログラム内からパイプラインを一時停止させるこ
とができる。また、パイプライン制御部に直接入力され
るパイプライン再開手段の出力信号に同期してパイプラ
イン動作が再開される。
【0022】このため、本発明の情報処理装置は、画像
等の信号処理において割込み処理を用いずにデータの到
着に正しく同期した処理を実現するものである。
【0023】画像等の信号処理においては、パイプライ
ン再開手段として複数個の互いに周期の異なるタイマが
配設される。本発明の情報処理装置においては、所定の
タイマのパルス信号に同期して到着するデータを処理す
るプログラムの直前に一時停止命令が配置され、該一時
停止命令がパイプラインに送られ一時停止命令のデコー
ド信号によりパイプラインは停止状態あるいは待ち状態
となる。
【0024】そしてデータの到着時に所定タイマのパル
ス信号に同期してパイプラインが再開されることによ
り、一時停止命令の後段の命令が実行され該到着したデ
ータの処理が行なわれる。
【0025】本発明の情報処理装置によれば、パイプラ
イン再開手段である複数タイマは一時停止命令のオペラ
ンド信号によって指定可能とされ、処理階層に応じて異
なる待ち状態が必要とされる場合にも対応可能である。
【0026】また、本発明の好適な実施態様によれば、
パイプラインがシステムクロックの1クロック当たり1
ステージ進む情報処理装置において、該システムクロッ
クに同期したパイプライン制御ロジックが構成され、ま
た、一時停止命令のデコード信号を実行第1ステージか
ら取り出す設計方式によれば、パイプライン制御部の回
路構成が更に簡略化されるという利点を有する。
【0027】さらに、本発明の好適な実施態様によれ
ば、一時停止命令のパイプラインの実行第2ステージへ
の転送時、後段の命令が一時停止命令でない時にパイプ
ライン実行再開手段の指定がリセットされるため、別途
指定解除用のリセット命令を必要としない。
【0028】
【実施例】添付した図を参照して本発明の実施例を以下
に説明する。
【0029】図1は、本発明の情報処理装置の第1の実
施例のブロック図である。図2は、第1の実施例の動作
を示すタイミングチャートである。
【0030】図1に示す情報処理装置は、例えば画像信
号をマイクロプロセッサ又はDSPなどプログラム可能
な処理装置で実時間処理する際にデータのサンプリング
に同期して定期的な処理開始を可能とする設計方式を実
現するものであり、パイプライン処理の停止と再開は一
時停止(freeze) と動作(run)によって制御
される。
【0031】本実施例では、命令パイプラインは、基本
的にシステムクロックに同期して1クロックで1ステー
ジ進むものとする。図1に示す如く、本実施例では、パ
イプラインのステージ数は4段に設定され、命令フェッ
チステージ(IF) 、命令デコードステージ(ID) 、
実行第1ステージ(EX1) 、及び実行第2ステージ
(EX2)から成る。
【0032】命令フェッチステージ(IF) では、命令
メモリ(図示せず)から読み出された命令が、命令レジ
スタ1に書込まれる。
【0033】命令デコードステージ(ID) では、命令
レジスタ1にある命令のデコード処理が、命令デコーダ
2において実行され、その結果が実行第1ステージ(E
X1)レジスタ3に書込まれる。実行第1ステージ(E
X1) では、レジスタ3の情報に基づき命令で指定され
た操作(例えば演算データの汎用レジスタからの読み出
し等)が実行され、また、レジスタ3の内容は実行第2
ステージ(EX2) レジスタ4に転送される。
【0034】実行第2ステージ(EX2)では、レジス
タ4の情報に基づき、実行第1ステージ(EX1)にお
ける実行結果の書込み(例えば演算および結果データの
汎用レジスタへの書込み)が実行される。
【0035】パイプライン制御部8は、パイプラインの
各ステージのレジスタ1、3、4の書込み許可信号(W
rite Enable)を制御することで、パイプラ
イン処理の一時停止(freeze) と動作(run)
を制御する。
【0036】図1において、ANDゲート31、32、
33の出力は、パイプラインの各ステージのレジスタの
書込みを許可・禁止する制御信号としてレジスタ1、
3、4に夫々接続されている。また、パイプラインの書
込み許可・禁止は、命令の順序依存性に基づき順序依存
検出回路(hazard detector)等によっ
ても制御されている。図1において、図示されない順序
依存検出回路の出力は、ANDゲート31、32、33
の入力端子の一方に接続され、ハザード検出時には前記
ANDゲートの出力を論理“0”にマスクしてレジスタ
1、3、4への書込みを禁止する。
【0037】ハザードとは、例えばプログラムカウンタ
(PC)を変更するような命令をパイプライン処理する
際など命令を適切なサイクルで実行できないような状況
の存在を云う(ハザードの詳細は、David A.
Patterson, John L. Hennes
sy,”Computer Architectur
e: A Quantative Approac
h”, 1990 by Morgan Kaufma
nn Publishers Inc. 6.4章を参
照、邦訳は「コンピュータ・アーキテクチャ」日経BP
社1992年刊)。
【0038】図1の参照符号5、6、7は、互いに相異
なる周期でパルス信号を発生するタイマを示す。タイマ
の周期として、例えばタイマ5は33.3ms、タイマ
6は2.2 ms、タイマ7は100μs程度に設定さ
れる。
【0039】これは、横方向が360画素、縦方向が2
40画素から成る画像を1秒間に30枚処理し、さら
に、画像を16×16の画素から成る矩形領域に分割し
て処理する画像処理において、画像の処理周期をタイマ
5に、矩形領域の横方向1スライス分の処理周期をタイ
マ6に、矩形領域の処理周期をタイマ7に、夫々設定し
たことに相当する。これらのタイマが発生するパルス信
号は、パイプライン制御部8に伝達される。
【0040】本発明の情報処理装置は、パイプライン処
理を一時停止するための所定の一時停止命令(「sta
ll命令」と云う)を命令セットに含んでいる。sta
ll命令のペランド部にて、該stall命令で停止
されたパイプラインの動作を再開するパイプライン再開
手段が指定される。stall命令が、パイプラインの
命令レジスタ1にセットされ命令デコーダ2にてデコー
ドされると、命令デコーダ2からstall命令のデコ
ード信号(stall)41がパイプライン制御部8に
伝達される。stall命令のデコード信号(stal
l)41は、パイプライン制御部8のSRフリップフロ
ップ11のセット端子に入力され、システムクロックに
同期してstall命令が次段の実行第1ステージ(E
X1)に達した時、CLK端子に入力されるシステムク
ロックに同期してSRフリップフロップ11の出力
(Q)は論理“1”にセットされる。この時、NOTゲ
ート26の出力は論理“0”となり、ANDゲート3
1、32、33の出力を論理“0”にマスクする。
【0041】ANDゲート31、32、33は、パイプ
ラインの各ステージのレジスタ1、3、4の書込み許可
信号(Write Enable)を論理“0”にセッ
トし、レジスタ1、3、4への書込みが禁止され、この
ため、パイプライン処理は、システムクロックに同期し
て次のステージに進むことが出来ず、一時停止(fre
eze)状態になる。図2に示す如く、パイプラインの
一時停止状態において、stall命令は実行第1ステ
ージ(EX1)に固定される。実行第1ステージ(EX
1)にて出力されるstall命令のオペランド信号
(stall select) 42、43、44は、タ
イマ5、6、7のパルス信号を選択するための信号とし
てANDゲート21、22、23の入力端子に夫々接続
されている。
【0042】タイマ5が選択される場合は、信号42が
論理“1”になり、タイマ5の出力パルス信号はAND
ゲート21を導通し、ORゲート24を介してSRフリ
ップフロップ11のリセット端子に入力され、SRフリ
ップフロップ11は次のシステムクロックに同期してそ
の出力(Q)を論理“0”にリセットする。なお、SRフ
リップフロップ11は、セットとリセットが同時に印加
された場合、リセット優先になるものとする。SRフリ
ップフロップ11の出力(Q)が論理“0”になるとN
OTゲート26の出力は論理“1”になり、ANDゲー
ト31、32、33の出力のマスクを解除する。これら
ANDゲート31、32、33の出力は、他の一時停止
要因、例えばハザード等がない限り、パイプラインの各
ステージのレジスタ1、3、4の書込み許可信号(Wr
ite Enable)を論理“1”にセットし、パイ
プライン処理が進行する動作(run)状態に戻ったこ
となる。
【0043】なお、ORゲート24の入力端子には、A
NDゲート21、22、23の出力信号とは別に、シス
テムリセットなどの他の要因でパイプラインを動作状態
にするための信号(ORゲート24の入力のうち図示右
端)が接続されている。
【0044】パイプラインが動作状態になると、sta
ll命令の情報は第2実行ステージ(EX2)に移動
し、stall命令のオペランド信号42、43、44
は、第1実行ステージ(EX1)に転送された次の命令
がstall命令でない限り論理“0”にリセットされ
る。
【0045】パイプラインの一時停止状態から動作状態
への移行のために、タイマ5、6、7の出力パルス信号
は、図2に示す如く、2クロック期間論理“1”に保た
れている。これは、本実施例では、タイマ5、6、7の
出力パルス信号がシステムクロックに同期して出力され
ること、及びSRフリップフロップ11がクロック同期
型であることによる。タイマ5、6、7の出力パルス信
号がシステムクロックと非同期の場合、それらの出力パ
ルス信号は、CLK端子に入力されるシステムクロック
に対してSRフリップフロップ11のセットアップ時間
及びホールド時間を確保した所定パルス幅の信号であれ
ばよい。
【0046】図2において、パルス信号が論理“1”の
2クロック期間の2クロック目(右から2クロック目)
の立ち上がりエッジで初めてパイプラインを動作状態と
する制御が実行される。即ち、同図において、該2クロ
ック目の立ち上がりエッジで実行第1ステージ(EX
1)のstall命令出力は伝搬し実行第2ステージ
(EX2)のレジスタ4に転送される。
【0047】図1において、3個のタイマ5、6、7の
選択用のオペランド信号(stall select)
42、43、44は、stall命令のオペランド部に
3ビット割付け各ビットをオペランド信号に一対一に対
応させたものであっても、あるいは該信号選択用にオペ
ランドに2ビット割り当てこれをデコードしたものであ
ってもよい。
【0048】なお、実施例では、パイプラインの一時停
止と動作を制御するための記憶素子としてクロック同期
型SRフリップフロップ11が用いられているが、本発
明はこれに限定されず、非同期型のフリップフロップに
よる構成も含む。
【0049】また、本実施例では、画像信号を対象とす
る処理装置に対応して、パイプライン再開手段を所定周
期のパルス信号を出力するタイマとしているが、本発明
においてパイプライン再開手段は前記タイマに限定され
ず、停止されたパイプラインを再開させるための所定の
トリガ信号を出力する外付装置、周辺装置又は処理装置
等であってもよい。
【0050】本発明の第2の実施例を、図を参照して説
明する。図3は、本発明の第2の実施例のブロック図で
ある。図4は、第2の実施例の動作を示すタイミングチ
ャートである。
【0051】図3に示す如く、本実施例に係る情報処理
装置のパイプライン制御部8は、図1に示す前記実施例
1の回路構成に、パイプラインの一時停止と動作再開を
制御するためのORゲート27を追加したものである。
ORゲート27の一の入力端子には、SRフリップフロ
ップ11の出力(Q)がNOTゲート26を介して入力
され、他の入力端子にはORゲート24の出力が入力さ
れている。
【0052】本実施例において、パイプラインを一時停
止状態に設定する制御動作は実施例1で説明したものと
同一である。パイプラインの動作を再開する場合、タイ
マ5、6、7のうちオペランド信号(stall se
lect) 42、43、44によって選択されたパルス
信号は、ORゲート24、及び27を介してそのままA
NDゲート31、32、33に伝達され、このためパイ
プラインの動作再開時においてSRフリップフロップ1
1の1クロックの遅延が除去される。
【0053】すなわち、本実施例では、タイマ5、6、
7が出力するパルス信号と同一クロック期間内において
パイプラインを動作状態に遷移させることができ、図4
に示す如く、パルス信号は1クロック期間論理“1”に
保てばよい。
【0054】図5は、本発明の第3の実施例を示すブロ
ック図である。
【0055】本実施例に係る情報処理装置のパイプライ
ン制御部8においては、図3に示す如く、一時停止命令
(stall命令)のデコード信号41は、パイプライ
ンの実行第1ステージ(EX1)から取り出され、NO
Tゲート26を介してORゲート27の一方の入力端子
に接続されている。本実施例では、パイプラインの一時
停止状態と動作状態を制御するための記憶素子即ち前記
実施例1及び2のSRフリップフロップ11は用いられ
ていない。
【0056】本実施例では、stall命令は実行第1
ステージ(EX1)に転送され、実行第1ステージ(E
X1)においてstall命令が実行され、stall
命令のデコード信号(stall)41が出力される。
実行第1ステージ(EX1)では、stall命令のオ
ペランド信号(stall select)42、4
3、44も出力される。論理“1”のデコード信号(s
tall)41は、NOTゲート26により論理“0”
とされ、ORゲート27を介してANDゲート31、3
2、33の出力を論理“0”にマスクする。このためパ
イプラインの各ステージのレジスタ1、3、4の書込み
が禁止され、stall命令は実行第1ステージ(EX
1)に固定される。
【0057】本実施例において、パイプラインの一時停
止状態から動作状態への遷移は前記実施例2と同一の動
作となり、図4に示すタイミングチャートに従う。
【0058】
【発明の効果】以上説明したとおり、本発明の情報処理
装置によれば、パイプライン処理を用いた情報処理装置
において、タイマ信号に正確に同期してパイプライン処
理を再開できるという利点を有し、信号処理等のデータ
到着に対応する処理において、割込み処理を必要せず、
メインプログラム内でパイプライン処理の停止・再開に
ついて制御可能であると共に、複数の動作再開要因を選
択的に指定可能であり、このため信号処理の実時間高速
同期処理が実現できる。
【0059】また、本発明の情報処理装置によれば、タ
イマ信号により直接パイプラインの動作再開を制御する
ため、タイマ信号からパイプライン再開までのクロック
遅延を最小とする設計を容易化するという利点を有す
る。
【0060】さらに、本発明の情報処理装置によれば、
複数のタイマ信号に対して一時停止命令のオペランド部
にてタイマを選択でき、処理階層に応じて異なる待ち状
態が必要とされる場合にも対応可能である。
【0061】また、本発明の好適な実施態様によれば、
パイプラインがシステムクロックの1クロック当たり1
ステージ進む情報処理装置において、該システムクロッ
クに同期したパイプライン制御ロジックが構成され、ま
た、一時停止命令のデコード信号を実行第1ステージ
(EX1)から取り出す設計方式によれば、パイプライ
ン制御部の回路構成が更に簡略化されるという利点を有
する。
【図面の簡単な説明】
【図1】本発明の情報処理装置の第1の実施例のブロッ
ク図である。
【図2】第1の実施例の動作を示すタイミングチャート
である。
【図3】本発明の情報処理装置の第2の実施例のブロッ
ク図である。
【図4】第2の実施例の動作を示すタイミングチャート
である。
【図5】本発明の第3の実施例のブロック図である。
【符号の説明】
1 命令レジスタ 2 命令デコーダ 3,4 ステージレジスタ 5,6,7 タイマ 8 パイプライン制御部 11 SRフリップフロップ 21,22,23 ANDゲート 24 ORゲート 26 NOTゲート 27 ORゲート 31,32,63 ANDゲート 41 一時停止命令のデコード信号(一時停止信号) 42,43,44 一時停止命令のオペランド信号

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】 命令実行過程を複数ステージに分割して
    パイプライン処理する情報処理装置において、前記情報
    処理装置が、パイプラインの実行を一時停止する一時停
    止命令を命令セットに有し、且つパイプラインの実行及
    び停止を制御するパイプライン制御手段を備え、前記パ
    イプライン制御手段が、前記一時停止命令の実行により
    出力される一時停止信号に基づきパイプラインの各ステ
    ージを停止状態に設定すると共に、前記一時停止命令に
    よって複数のパイプライン実行再開手段のうちの一つを
    指定し、指定されたパイプライン実行再開手段の出力信
    号に基づき停止状態にある前記パイプラインの各ステー
    ジを実行状態に設定することを特徴とする情報処理装
    置。
  2. 【請求項2】 前記一時停止命令が、オペランド部にて
    前記複数のパイプライン実行再開手段の一つを指定する
    ことを特徴とする請求項1記載の情報処理装置。
  3. 【請求項3】 前記パイプライン制御手段が、パイプラ
    インの一時停止の設定及び解除を記憶するための記憶手
    段を備え、パイプラインの命令デコードステージから出
    力される前記一時停止命令のデコード信号が前記記憶手
    段のセット端子に入力され記憶手段の出力信号により
    パイプラインの各ステージレジスタの書込みを禁止する
    と共に、前記一時停止命令によって指定された前記パイ
    プライン再開手段の出力信号が前記記憶手段のリセット
    端子に入力され該記憶手段の出力信号によりパイプライ
    ンの各ステージレジスタの書込みを許可することを特徴
    とする請求項1又は2に記載の情報処理装置。
  4. 【請求項4】 前記パイプライン制御手段が、パイプラ
    インの一時停止の設定及び解除を記憶するための記憶手
    段とゲート手段を備え、パイプラインの命令デコードス
    テージから出力される前記一時停止命令のデコード信号
    が前記記憶手段のセット端子に入力され該記憶手段の出
    力信号によりパイプラインの各ステージレジスタの書込
    みを禁止すると共に、前記一時停止命令によって指定さ
    れた前記パイプライン再開手段の出力信号が前記記憶手
    段のリセット端子及び前記ゲート手段に入力され該ゲー
    ト手段の出力信号によりパイプラインの各ステージレジ
    スタの書込みを許可することを特徴とする請求項1又は
    2に記載の情報処理装置。
  5. 【請求項5】 前記パイプライン制御手段が、パイプラ
    インの一時停止の設定及び解除するためのゲート手段を
    備え、パイプラインの実行ステージから出力される前記
    一時停止命令のデコード信号が前記ゲート手段に入力さ
    れ該ゲート手段の出力に基づきパイプラインの各ステー
    ジレジスタの書込みを禁止すると共に、前記一時停止命
    令によって指定された前記パイプライン再開手段の出力
    信号が前記ゲート手段に入力され該ゲート手段の出力に
    基づきパイプラインの各ステージレジスタの書込みを許
    可することを特徴とする請求項1又は2に記載の情報処
    理装置。
  6. 【請求項6】 前記パイプライン制御手段が、前記一時
    停止命令のオペランドにて指定された前記パイプライン
    実行再開手段を選択するための選択手段を備えたことを
    特徴とする請求項1ないし5のいずれか一に記載の情報
    処理装置。
  7. 【請求項7】 前記一時停止命令のパイプラインの実行
    第2ステージへの転送時、後段の命令が一時停止命令で
    ない時に前記パイプライン実行再開手段の指定がリセッ
    トされることを特徴とする請求項1ないし6のいずれか
    一に記載の情報処理装置。
  8. 【請求項8】 前記パイプライン実行再開手段が、所定
    の周期のパルス信号を発生する複数のタイマ手段から成
    ることを特徴とする請求項1ないし7のいずれか一に記
    載の情報処理装置。
JP5165612A 1993-07-05 1993-07-05 情報処理装置 Expired - Lifetime JP2748822B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP5165612A JP2748822B2 (ja) 1993-07-05 1993-07-05 情報処理装置
KR1019940015894A KR0136019B1 (ko) 1993-07-05 1994-07-04 정보 처리 장치
EP94110435A EP0633522B1 (en) 1993-07-05 1994-07-05 Pipelined data processing system capable of stalling and resuming a pipeline operation without using an interrupt processing
DE69424092T DE69424092T2 (de) 1993-07-05 1994-07-05 Fliessbandverarbeitungssystem mit der Fähigkeit die Fliessbandoperation, ohne Verwendung von Unterbrechungsverarbeitung, abzustellen und Wiederanzustellen
US08/617,427 US5579498A (en) 1993-07-05 1996-03-18 Pipelined data processing system capable of stalling and resuming a pipeline operation without using an interrupt processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5165612A JP2748822B2 (ja) 1993-07-05 1993-07-05 情報処理装置

Publications (2)

Publication Number Publication Date
JPH0721021A JPH0721021A (ja) 1995-01-24
JP2748822B2 true JP2748822B2 (ja) 1998-05-13

Family

ID=15815675

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5165612A Expired - Lifetime JP2748822B2 (ja) 1993-07-05 1993-07-05 情報処理装置

Country Status (5)

Country Link
US (1) US5579498A (ja)
EP (1) EP0633522B1 (ja)
JP (1) JP2748822B2 (ja)
KR (1) KR0136019B1 (ja)
DE (1) DE69424092T2 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761492A (en) * 1996-05-07 1998-06-02 Lucent Technologies Inc. Method and apparatus for uniform and efficient handling of multiple precise events in a processor by including event commands in the instruction set
US5850556A (en) * 1996-12-26 1998-12-15 Cypress Semiconductor Corp. Interruptible state machine
KR100237642B1 (ko) * 1996-12-30 2000-01-15 구자홍 파이프라인 정지회로를 구비한 프로세서
JP2954119B2 (ja) * 1997-11-26 1999-09-27 日本電気株式会社 命令実行サイクル可変回路
US6507862B1 (en) * 1999-05-11 2003-01-14 Sun Microsystems, Inc. Switching method in a multi-threaded processor
WO2002077799A1 (en) * 2001-03-22 2002-10-03 Infineon Technologies Ag Program-controlled unit employing a stop instruction
US7155718B1 (en) * 2002-04-04 2006-12-26 Applied Micro Circuits Corp. Method and apparatus to suspend and resume on next instruction for a microcontroller
US7000095B2 (en) * 2002-09-06 2006-02-14 Mips Technologies, Inc. Method and apparatus for clearing hazards using jump instructions
FR2867872A1 (fr) * 2004-03-18 2005-09-23 St Microelectronics Sa Dispositif et procede de gestion d'un etat d'attente d'un microprocesseur
FR2867873A1 (fr) * 2004-03-18 2005-09-23 St Microelectronics Sa Dispositif et procede de gestion d'un etat d'attente d'un microprocesseur
US8238415B2 (en) * 2006-02-14 2012-08-07 Broadcom Corporation Method and system for programmable breakpoints in an integrated embedded image and video accelerator
JP2009054032A (ja) * 2007-08-28 2009-03-12 Toshiba Corp 並列プロセッサ
US8078843B2 (en) 2008-01-31 2011-12-13 International Business Machines Corporation Facilitating processing in a computing environment using an extended drain instruction
EP2816466B1 (en) * 2012-02-14 2019-01-16 Renesas Electronics Corporation Data processing device
US9323312B2 (en) * 2012-09-21 2016-04-26 Atmel Corporation System and methods for delaying interrupts in a microcontroller system
US9213388B2 (en) 2012-09-21 2015-12-15 Atmel Corporation Delaying reset signals in a microcontroller system
US9213397B2 (en) 2012-09-21 2015-12-15 Atmel Corporation Changing power modes of a microcontroller system
US9507406B2 (en) 2012-09-21 2016-11-29 Atmel Corporation Configuring power domains of a microcontroller system
US9383807B2 (en) 2013-10-01 2016-07-05 Atmel Corporation Configuring power domains of a microcontroller system
US9684367B2 (en) 2014-06-26 2017-06-20 Atmel Corporation Power trace port for tracing states of power domains
GB2563384B (en) 2017-06-07 2019-12-25 Advanced Risc Mach Ltd Programmable instruction buffering

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5342218B2 (ja) * 1972-07-20 1978-11-09
JPS5238853A (en) * 1975-09-23 1977-03-25 Oki Electric Ind Co Ltd Microprogram control system
US4482983A (en) * 1980-06-23 1984-11-13 Sperry Corporation Variable speed cycle time for synchronous machines
JPS59111526A (ja) * 1982-12-16 1984-06-27 Fujitsu Ltd 信号処理方式
JPS6010355A (ja) * 1983-06-30 1985-01-19 Fujitsu Ltd 中央処理装置の使用率測定方式
WO1985000453A1 (en) * 1983-07-11 1985-01-31 Prime Computer, Inc. Data processing system
JPS6037038A (ja) * 1983-08-09 1985-02-26 Sanyo Electric Co Ltd マイクロコンピユ−タ
US5125088A (en) * 1986-09-08 1992-06-23 Compaq Computer Corporation Computer system speed control at continuous processor speed
US5274796A (en) * 1987-02-09 1993-12-28 Teradyne, Inc. Timing generator with edge generators, utilizing programmable delays, providing synchronized timing signals at non-integer multiples of a clock signal
JPH0770961B2 (ja) * 1988-08-12 1995-07-31 日本電気株式会社 マイクロコンピュータ
US5150469A (en) * 1988-12-12 1992-09-22 Digital Equipment Corporation System and method for processor pipeline control by selective signal deassertion
US5313621A (en) * 1990-05-18 1994-05-17 Zilog, Inc. Programmable wait states generator for a microprocessor and computer system utilizing it
JP2576262B2 (ja) * 1990-05-22 1997-01-29 三菱電機株式会社 情報処理装置
JPH04205425A (ja) * 1990-11-30 1992-07-27 Nec Corp データ処理装置及びそのデータ処理方法
US5203003A (en) * 1991-03-28 1993-04-13 Echelon Corporation Computer architecture for conserving power by using shared resources and method for suspending processor execution in pipeline

Also Published As

Publication number Publication date
EP0633522A1 (en) 1995-01-11
JPH0721021A (ja) 1995-01-24
KR950003974A (ko) 1995-02-17
DE69424092D1 (de) 2000-05-31
DE69424092T2 (de) 2001-02-01
EP0633522B1 (en) 2000-04-26
KR0136019B1 (ko) 1998-06-15
US5579498A (en) 1996-11-26

Similar Documents

Publication Publication Date Title
JP2748822B2 (ja) 情報処理装置
RU2271035C2 (ru) Способ и устройство для приостановки режима выполнения в процессоре
KR950005217B1 (ko) 프로세서 클럭 신호 제어 방법 및 정보 처리 시스템
US6928647B2 (en) Method and apparatus for controlling the processing priority between multiple threads in a multithreaded processor
EP1050808B1 (en) Computer instruction scheduling
EP1685486B1 (en) Interrupt handling in an embedded multi-threaded processor to avoid priority inversion and maintain real-time operation
JPH04367936A (ja) スーパースカラープロセッサ
JP2003196084A (ja) リードモディファイライトユニットを有するシステム
JPS63127368A (ja) ベクトル処理装置の制御方式
GB2318194A (en) Power saving in asynchronous data processing apparatus
US6125440A (en) Storing executing instruction sequence for re-execution upon backward branch to reduce power consuming memory fetch
JPH10505444A (ja) 処理システム、プロセッサ、命令ストリーム格納用メモリ及びコンパイラ
JPS63307535A (ja) パイプライン制御回路
US5499348A (en) Digital processor capable of concurrently executing external memory access and internal instructions
JPS6232504B2 (ja)
JP2007058331A (ja) プロセッサシステム及びマルチスレッドプロセッサ
US7000135B2 (en) Clock control method and information processing device employing the clock control method
JPH07244588A (ja) データ処理装置
JPH04353928A (ja) 演算処理装置
KR100314805B1 (ko) 파이프라인제어프로세서를위한부팅회로
JP2667585B2 (ja) デジタルプロセッサ
KR950004227B1 (ko) 정보처리시스템
JP2636074B2 (ja) マイクロプロセッサ
JPH0654457B2 (ja) データ処理装置
JPH10187634A (ja) 同期制御方法および主記憶共有型並列プロセッサ

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19980120