JPH09101889A - パイプライン演算装置 - Google Patents

パイプライン演算装置

Info

Publication number
JPH09101889A
JPH09101889A JP7260412A JP26041295A JPH09101889A JP H09101889 A JPH09101889 A JP H09101889A JP 7260412 A JP7260412 A JP 7260412A JP 26041295 A JP26041295 A JP 26041295A JP H09101889 A JPH09101889 A JP H09101889A
Authority
JP
Japan
Prior art keywords
unit
clock signal
clock
stage
pipeline
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.)
Granted
Application number
JP7260412A
Other languages
English (en)
Other versions
JP2924736B2 (ja
Inventor
Hiroshi Hayakawa
浩史 早川
Harutsugu Fukumoto
晴継 福本
Hiroaki Tanaka
裕章 田中
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.)
Denso Corp
Original Assignee
Denso 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 Denso Corp filed Critical Denso Corp
Priority to JP7260412A priority Critical patent/JP2924736B2/ja
Priority to US08/725,495 priority patent/US5771376A/en
Publication of JPH09101889A publication Critical patent/JPH09101889A/ja
Application granted granted Critical
Publication of JP2924736B2 publication Critical patent/JP2924736B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00—Arrangements for program control, e.g. control units
    • G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003—Arrangements for executing specific machine instructions
    • G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043—LOAD or STORE instructions; Clear instruction
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00—Arrangements for program control, e.g. control units
    • G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/325—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for loops, e.g. loop detection or loop counter
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00—Arrangements for program control, e.g. control units
    • G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00—Arrangements for program control, e.g. control units
    • G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3869—Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】 NOP命令を用いることなくステージ同士の
動作タイミングを調節できるようにして制御部の小型化
を図る。 【解決手段】 マイクロプロセッサは、デコーダ装置1
内のデコーダ群を、演算部,レジスタファイル及びプロ
グラムカウンタの各ユニットを制御するためのデコーダ
群1-1 と、アドレスユニツト制御用のデコーダ1-2 とに
分類し、このアドレスユニットデコーダ1-2 によって制
御されるクロツク制御ユニット1-3 を備え、外部からの
クロック信号5 は、アドレスユニット2-4 には直接入力
されるものの、演算部2-1 等に対してはクロック制御ユ
ニット1-3 を介して入力されるように構成する。そし
て、データ転送命令が読み出されてMAステージを2回
繰り返す場合には、1回目のMAステージ実行時にクロ
ック制御ユニット1-3 を停止させ、アドレスユニット2-
4 以外のユニットの動作を実行させない。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、パイプライン演算
装置における制御部の小型化に関するものである。
【0002】
【従来の技術】従来、演算機能を複数のステージに分
け、並列して各ステージの処理を行うことにより、複数
の命令処理サイクルを部分的に重複したタイミングで実
行するパイプライン演算装置が知られている。
【0003】こうしたパイプライン演算装置における命
令には、1つのオペコードで指定ステージ群を1回実行
する1サイクル命令と、1つのオペコードで指定ステー
ジ群を複数回実行する複数サイクル命令とがある。複数
サイクル命令時は1つのオペコードで複数のステージ群
を生成しなくてはいけないので制御部の回路構成が増加
することとなる(「コンピュ−タの論理構成とアーキテ
クチヤ:コロナ社」)。
【0004】こうした従来技術の例として、5段パイプ
ライン処理を実行するマイクロプロセッサについて述べ
る。このマイクロプロセッサでは、演算機能を、IF
(命令読み出し)、ID(命令解読)、EX(演算)、
MA(メモリアクセス)、WB(ライトバツク)の5つ
のステージに分割し、図3の模式図に示す如き並列関係
にてパイプライン処理が実行されている。
【0005】こうしたパイプライン処理を実行するマイ
クロプロセッサは、図4に示すように、アドレスバス4
のデータに従つてメモリ(図示せず)からデータバス3
を経由して命令を読み込み、これを解読するデコーダ装
置1と、デコーダ装置1からの制御信号と外部からのク
ロツク5によって制御されるデータパス2とからなる。
データパス2は、論理,算術,シフト演算等を行う演算
部2−1と、演算結果を格納するレジスタファイル2−
2と、現在のプログラムのアドレスをカウントするプロ
グラムカウンタ2−3と、演算部2−1またはプログラ
ムカウンタ2−3からアドレスバス4への出力切り替え
を行うアドレスユニット2−4の各ユニットからなる。
【0006】こうした従来のマイクロプロセッサにおい
て、例えば、外部バス幅16bitに対して内部バス幅
32bitといった具合いに内部バス幅の方が外部バス
幅よりも大きいシステムの場合、MAステージを複数回
繰り返す必要がある。このため、図5に示す様に、マイ
クロプロセッサとメモリとの間でデータを転送する命令
がn番目の命令としてIFステージ300で読み込まれ
た場合、当該n番目の命令処理サイクルでは、IF−I
D−EX−MA−MA−WBと、MAステージを繰り返
し実行される。n+1番目移行の命令に対する処理サイ
クルでは、このMAステージの繰り返しによるパイプラ
インの乱れを回避するため、2回目のMAステージ30
1を実行するとき、後続命令のステージ群311に対し
てNOP命令を与えて実行を禁止していた。
【0007】
【発明が解決しようとする課題】パイプラインの乱れを
NOP命令により回避する従来の手法では、制御部が複
雑化するという問題がある。そこで、本発明は、NOP
命令を用いることなくステージ同士の動作タイミングを
調節できるようにすることを目的とする。
【0008】
【課題を解決するための手段】かかる目的を達成するた
め、本発明のパイプライン演算装置においては、必要に
応じて、クロック信号を一部のステージ動作に使用する
ユニットにだけ供給し、他のユニットへは供給しないよ
うにするクロック制御手段を設ける。そのより具体的な
構成としては、外部から入力されるクロック信号を分岐
させ、一部のユニットへはクロック制御ユニットを介し
てクロック信号を入力する様に構成すると共に、該クロ
ック制御ユニットの出力を必要に応じて停止させる出力
停止手段を備える。
【0009】このような構成により、本発明によれば、
クロック信号を停止することで特定のステージ以外の動
作自体を行わせない様にすることでステージ同士の実行
タイミングを調整する。よって、NOP信号を用いてい
ないので、各ステージの最終段のラッチ部分にNOP命
令を実行するための制御部を設ける必要がなく、制御部
の複雑化を招くことがない。
【0010】このパイプライン演算装置において、前記
クロック供給制御手段は、同一ステージを複数回繰り返
す処理を含む命令を読み出したとき、当該繰り返される
ステージ動作に使用するユニットに複数回のクロック信
号を供給する間に、他のステージ動作に使用するユニッ
トへは1回分のクロック信号しか供給しない様に構成し
ておけば、複数サイクル命令を1サイクル命令と同様に
扱うことができる。
【0011】この場合、前記クロック供給制御手段は、
メモリアクセスステージを複数回連続すべき命令に対し
て作動するようにしておくと、特に、効果的である。さ
らに具体的には、アドレスユニット及びアドレスユニッ
ト用デコーダに対しては外部からのクロック信号をその
まま入力し、他のユニット及びそれらに対応するデコー
ダに対してはクロック制御ユニットを介してクロック信
号を入力するように構成し、クロック制御ユニットをア
ドレスユニット用デコーダにて制御することで、アドレ
スユニットにだけクロック信号が供給される状態を形成
できるように構成する。例えば、MAステージをn回繰
り返す命令が読み出されたとき、1回目〜n−1回目の
MAステージが繰り返される間にわたってアドレスユニ
ット用デコーダにてクロック制御ユニットの出力を停止
し続けてやれば、NOP命令によらずにパイプラインの
乱れを回避しつつMAステージの繰り返しを実現するこ
とができる。なお、アドレスユニット以外のユニットへ
のクロック信号の供給は、1〜n回のMAステージの繰
り返しタイミングの中のいずれかのタイミングに1回実
施し、他のタイミングでは供給を停止するようにすれば
よいから、例えば、1〜n−1回目までをクロック供給
停止に制御し、n回目にクロック供給するように制御し
ても構わない。
【0012】
【発明の実施の形態】次に、本発明の実施の形態を説明
する。この実施の形態のマイクロプロセッサは内部バス
が32bitで構成され、外部バスが16bitで構成
されたものである。そして、図1に示す様に、デコーダ
装置1内のデコーダ群を、演算部,レジスタファイル及
びプログラムカウンタの各ユニットを制御するためのデ
コーダ群1−1と、アドレスユニツト制御用のデコーダ
1−2とに分類し、このアドレスユニットデコーダ1−
2によって制御されるクロツク制御ユニット1−3を備
えている点で従来のものと相違している。そして、外部
からのクロック信号5は、アドレスユニット2−4及び
アドレスユニットデコーダ1−2には直接入力されるも
のの、演算部ユニット2−1,レジスタファイルユニッ
ト2−2,プログラムカウンタ2−3及びこれらに対す
るデコーダ群1−1に対してはクロック制御ユニット1
−3を介して入力されるように構成されている。
【0013】この実施の形態においては、内部バスと外
部バスの大きさの違いにより、アドレスユニットデコー
ダ1−2はデータ転送命令に対してMAステージを2回
繰り返し実行することになる。このため、命令処理サイ
クルのIDステージ又はEXステージにおいて、データ
転送命令であると判断された場合には、1回目のMAス
テージ実行タイミングにおいて、アドレスユニットデコ
ーダ1−2がクロック制御ユニット1−3に対してクロ
ック信号の出力を停止させるクロック停止信号9を出力
する様に構成されている。これにより、アドレスユニッ
ト2−4にだけクロック信号が入力されて1回目のMA
ステージだけが実行される。そして、データ転送命令に
対応する2回目のMAステージ実行時に、他のステージ
へのクロックが供給され、初めて他のステージが実行さ
れる。よって、データ転送命令に対する処理サイクルが
MAステージからWBステージへ進むときに、他の並列
処理サイクルもそれぞれEXステージからMAステージ
等へ進み、パイプラインの乱れを生じないように制御さ
れる。
【0014】データ転送命令に対するパイプラインの流
れとクロック信号との関係を模式図にて表したのが図2
である。図示(A)の様に、データ転送命令500が入
力されると、IDステージ501またはEXステージ5
02において、第1MAステージ503の実行時に他の
ステージに対してクロックを停止する条件であると判断
される。この結果、外部からのクロック信号自体は周期
的に図示(B)に示すように入力されるのであるが、ク
ロック制御ユニット1−3経由で出力されるクロック信
号は、図示(C)に示すように、第1MAステージ50
3の実行時に対応するタイミングで欠落した状態とな
る。そして、第2MAステージ504の実行時に初めて
演算部2−1等へのクロック信号が復活する。
【0015】このため、データ転送命令を処理するサイ
クルにおいて第1MAステージ503から第2MAステ
ージ504へとステージが進行する時には他の命令処理
サイクルではステージが進行せず、そのままEXステー
ジ等が引き伸ばされた状態となる。よって、NOP命令
を用いないにも拘らず、データ転送命令に伴うMAステ
ージの繰り返しが実行されてもパイプラインの乱れを生
じることがない。
【0016】この結果、デコーダ装置1側から見ると、
MAステージが連続する命令は1サイクル命令となり、
制御部が小型になる。
【図面の簡単な説明】
【図1】 発明の実施の形態におけるマイクロプロセッ
サの全体構成を示すブロック図である。
【図2】 発明の実施の形態におけるデータ転送命令に
対するパイプラインの流れとクロック信号との関係を示
す模式図である。
【図3】 パイプライン処理における一般的なステージ
の流れを示す模式図である。
【図4】 従来例におけるマイクロプロセッサの全体構
成を示すブロック図である。
【図5】 従来例におけるデータ転送命令に対するパイ
プラインの流れを示す模式図である。
【符号の説明】
1・・・デコーダ装置、1−1・・・演算部等に対する
デコーダ群、1−2・・・アドレスユニットデコーダ、
1−3・・・クロック制御ユニット、2・・・データパ
ス、2−1・・・演算部、2−2・・・レジスタファイ
ル、2−3・・・プログラムカウンタ、2−4・・・ア
ドレスユニット、3・・・データバス、4・・・アドレ
スバス。

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 演算機能を複数のステージに分け、並列
    して各ステージの処理を行うことにより、複数の命令処
    理サイクルを部分的に重複したタイミングで実行するパ
    イプライン演算装置において、 必要に応じて、クロック信号を一部のステージ動作に使
    用するユニットにだけ供給し、他のユニットへは供給し
    ないようにするクロック制御手段を設けることを特徴と
    するパイプライン演算装置。
  2. 【請求項2】 請求項1記載のパイプライン演算装置に
    おいて、前記クロック制御手段として、 外部から入力されるクロック信号を分岐させ、一部のユ
    ニットへはクロック制御ユニットを介してクロック信号
    を入力する様に構成すると共に、該クロック制御ユニッ
    トの出力を必要に応じて停止させる出力停止手段を備え
    ることを特徴とするパイプライン演算装置。
  3. 【請求項3】 請求項1又は請求項2記載のパイプライ
    ン演算装置において、前記クロック供給制御手段は、同
    一ステージを複数回繰り返す処理を含む命令を読み出し
    たとき、当該繰り返されるステージ動作に使用するユニ
    ットに複数回のクロック信号を供給する間に、他のステ
    ージ動作に使用するユニットへは1回分のクロック信号
    しか供給しない様に構成されていることを特徴とするパ
    イプライン演算装置。
  4. 【請求項4】 請求項1〜請求項3のいずれか記載のパ
    イプライン演算装置において、前記クロック供給制御手
    段は、メモリアクセスステージを複数回連続すべき命令
    に対して作動することを特徴とするパイプライン演算装
    置。
  5. 【請求項5】 演算部ユニット、レジスタファイルユニ
    ット、プログラムカウンタユニット及びアドレスユニッ
    トを有するデータパスと、これら各ユニットを制御する
    ためのデコーダ群を有するデコーダ装置とを備え、外部
    からのクロック信号に合わせて各デコーダ群からの制御
    信号をデータパス側の各ユニットへ並列して入力するこ
    とで、複数の命令処理サイクルを部分的に重複したタイ
    ミングで実行するパイプライン演算装置において、 アドレスユニット及びアドレスユニット用デコーダに対
    しては外部からのクロック信号をそのまま入力し、デー
    タパス側の他のユニット及びそれらに対応するデコーダ
    に対してはクロック制御ユニットを介してクロック信号
    を入力するように構成し、 該クロック制御ユニットをアドレスユニット用デコーダ
    にて制御することで、アドレスユニットにだけクロック
    信号が供給される状態を形成できるように構成すること
    を特徴とするパイプライン演算装置。
JP7260412A 1995-10-06 1995-10-06 パイプライン演算装置 Expired - Fee Related JP2924736B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP7260412A JP2924736B2 (ja) 1995-10-06 1995-10-06 パイプライン演算装置
US08/725,495 US5771376A (en) 1995-10-06 1996-10-04 Pipeline arithmetic and logic system with clock control function for selectively supplying clock to a given unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7260412A JP2924736B2 (ja) 1995-10-06 1995-10-06 パイプライン演算装置

Publications (2)

Publication Number Publication Date
JPH09101889A true JPH09101889A (ja) 1997-04-15
JP2924736B2 JP2924736B2 (ja) 1999-07-26

Family

ID=17347576

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7260412A Expired - Fee Related JP2924736B2 (ja) 1995-10-06 1995-10-06 パイプライン演算装置

Country Status (2)

Country Link
US (1) US5771376A (ja)
JP (1) JP2924736B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2954119B2 (ja) * 1997-11-26 1999-09-27 日本電気株式会社 命令実行サイクル可変回路
WO2001033351A1 (fr) * 1999-10-29 2001-05-10 Fujitsu Limited Architecture de processeur
US7237216B2 (en) * 2003-02-21 2007-06-26 Infineon Technologies Ag Clock gating approach to accommodate infrequent additional processing latencies
US11275590B2 (en) 2015-08-26 2022-03-15 Huawei Technologies Co., Ltd. Device and processing architecture for resolving execution pipeline dependencies without requiring no operation instructions in the instruction memory

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3840861A (en) * 1972-10-30 1974-10-08 Amdahl Corp Data processing system having an instruction pipeline for concurrently processing a plurality of instructions
JPS5440537A (en) * 1977-09-07 1979-03-30 Hitachi Ltd Pipeline control system
JPS5533235A (en) * 1978-08-30 1980-03-08 Toshiba Corp Microprogram control system
JPS58103041A (ja) * 1981-12-14 1983-06-18 Fuji Electric Co Ltd マイクロプログラム制御装置
US4471432A (en) * 1982-10-13 1984-09-11 Wilhite John E Method and apparatus for initiating the execution of instructions using a central pipeline execution unit
JPS60230239A (ja) * 1984-04-27 1985-11-15 Ricoh Co Ltd マイクロプログラム制御装置
JPS6119072A (ja) * 1984-07-06 1986-01-27 Nippon Nenryo Gijutsu Kaihatsu Kk 燃料電池発電プラント
JPS62160529A (ja) * 1986-01-09 1987-07-16 Mitsubishi Electric Corp デ−タ処理装置
JPH02159624A (ja) * 1988-12-13 1990-06-19 Nec Corp 先入れ先出しレジスタ装置
JP2685645B2 (ja) * 1990-11-16 1997-12-03 富士通株式会社 パイプライン処理装置
JPH06295243A (ja) * 1993-04-08 1994-10-21 Mitsubishi Electric Corp データ処理装置
JPH07105001A (ja) * 1993-09-30 1995-04-21 Mitsubishi Electric Corp 中央演算処理装置

Also Published As

Publication number Publication date
US5771376A (en) 1998-06-23
JP2924736B2 (ja) 1999-07-26

Similar Documents

Publication Publication Date Title
EP1050808B1 (en) Computer instruction scheduling
JPH05158687A (ja) プログラム制御方法及びプログラム制御装置
JP2003005958A (ja) データ処理装置およびその制御方法
JP2620511B2 (ja) データ・プロセッサ
JPH0721021A (ja) 情報処理装置
JP2653037B2 (ja) データ処理システム
US20050149931A1 (en) Multithread processor architecture for triggered thread switching without any cycle time loss, and without any switching program command
JPH07253888A (ja) データ処理装置
JPH04238537A (ja) 並列パイプライン命令処理装置
JP2924736B2 (ja) パイプライン演算装置
JPS60178580A (ja) 命令制御方式
JP3211750B2 (ja) 情報処理装置及びパイプライン処理方法
JP2504263B2 (ja) デ―タ処理装置
JPS5851353A (ja) プログラム制御回路
JP2000020309A (ja) デジタルシグナルプロセッサ
SU896623A1 (ru) Устройство управлени конвейерным вычислительным устройством
JPH0634205B2 (ja) ベクトル演算処理装置
JPH0792902A (ja) プログラマブルコントローラ
JPS6019018B2 (ja) デ−タ処理システム
JPH11161490A (ja) 命令実行サイクル可変回路
JPH04273529A (ja) 並列演算回路
JPH04353928A (ja) 演算処理装置
JPH01284926A (ja) 演算装置の命令読出方式
JPH09101890A (ja) パイプライン演算装置及びデコーダ装置
JPH09146769A (ja) パイプライン処理装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110507

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120507

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120507

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130507

Year of fee payment: 14

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140507

Year of fee payment: 15

LAPS Cancellation because of no payment of annual fees