JP2002366351A - スーパースカラ・プロセッサ - Google Patents

スーパースカラ・プロセッサ

Info

Publication number
JP2002366351A
JP2002366351A JP2001171003A JP2001171003A JP2002366351A JP 2002366351 A JP2002366351 A JP 2002366351A JP 2001171003 A JP2001171003 A JP 2001171003A JP 2001171003 A JP2001171003 A JP 2001171003A JP 2002366351 A JP2002366351 A JP 2002366351A
Authority
JP
Japan
Prior art keywords
instruction
unit
state information
execution unit
power supply
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
JP2001171003A
Other languages
English (en)
Inventor
Hideki Sugimoto
英樹 杉本
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
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2001171003A priority Critical patent/JP2002366351A/ja
Priority to US10/153,610 priority patent/US20020188828A1/en
Publication of JP2002366351A publication Critical patent/JP2002366351A/ja
Pending 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
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • 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/30083Power or thermal control instructions
    • 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/3017Runtime instruction translation, e.g. macros
    • 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/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • 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/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units

Landscapes

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

Abstract

(57)【要約】 【課題】消費電力動作を要するプログラムの開発工数ま
たはコンパイル工数を削減し消費電力を削減する。 【解決手段】4つの実行ユニット30,32〜34の動
作電源電圧および動作クロック信号を指定する動作モー
ドがソフトウェア制御により実行ユニットごとにそれぞ
れ設定されるモード設定部40と、動作モードに対応し
て4つの実行ユニット30,32〜34の動作電源電圧
および動作クロック信号を電圧制御または周波数制御し
て供給する電源およびクロック制御部50と、4つの実
行ユニット30,32〜34の動作電源電圧および動作
クロック信号の動作状態を示す状態情報を生成する状態
情報生成部60と、状態情報に対応して命令の発行先を
変更して4つの実行ユニット30,32〜34へ同時実
行可能な命令を並列に発行する命令発行部20とを備え
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、スーパースカラ・
プロセッサに関し、特に、低消費電力動作可能なスーパ
ースカラ・プロセッサに関する。
【0002】
【従来の技術】従来、この種のスーパースカラ・プロセ
ッサは、プログラム処理の高速化のため、複数の処理グ
ループの命令をそれぞれ専用のハードウェアで高速実行
する複数の実行ユニットを備え、フェッチされた複数の
命令間の依存関係をサイクルごとに調べ、命令間の依存
関係が無い同時実行可能な命令を複数の実行ユニットへ
並列に発行し実行する。
【0003】たとえば、図4は、従来のスーパースカラ
・プロセッサの概略構成を示すブロック図である。図4
を参照すると、この従来のスーパースカラ・プロセッサ
は、命令フェッチ部11,命令発行部21,4つの実行
ユニット31〜34を備える。
【0004】命令フェッチ部11は、主記憶または命令
キャッシュから複数の命令をバッファに順次フェッチす
る。
【0005】命令発行部21は、バッファにフェッチさ
れた複数の命令間の依存関係をサイクルごとに調べ、命
令間の依存関係が無い命令を4つの実行ユニット31〜
34へ並列に発行する。
【0006】4つの実行ユニット31〜34は、整数処
理1実行ユニット31,整数処理2実行ユニット32,
乗算実行ユニット33およびロード/ストア実行ユニッ
ト34からなり、整数処理1,整数処理2,乗算処理お
よびロード/ストア処理からなる4つの処理グループの
命令をそれぞれ専用のハードウェアで高速実行する。
【0007】この従来のスーパースカラ・プロセッサの
動作を簡単に説明すると、この従来のスーパースカラ・
プロセッサは、主記憶または命令キャッシュから順次フ
ェッチされた命令をプログラム順そのもので実行せず、
命令発行部21において、バッファにフェッチされた複
数の命令間の依存関係をサイクルごとに調べ、命令間の
依存関係が無い命令に対しては、4つの実行ユニット3
1〜34へ並列に発行し、4つの実行ユニット31〜3
4において、それぞれ専用のハードウェアで高速に同時
実行する。このため、プログラム処理を高速化できる。
【0008】
【発明が解決しようとする課題】この従来のスーパース
カラ・プロセッサは、特定処理グループの命令をそれぞ
れ専用のハードウェアで高速実行する複数の実行ユニッ
トを備えるため、プログラム処理高速化のメリットと引
き換えに、消費電力が増大するという問題が生じる。
【0009】この消費電力の削減には、動作クロック信
号の周波数と共に、動作電源電圧を下げることが有効で
あり、たとえば、特開平8-190162号公報に記載
されている「電力管理機能を備えたマイクロプロセッ
サ」のように、マイクロプロセッサにおける各機能ユニ
ットに対応したフィールドをもつ電力制御レジスタを設
け、個々の機能ユニットの消費電力をソフトウェアによ
り制御することもできる。しかし、このソフトウェア制
御方法を従来のスーパースカラ・プロセッサにおける複
数の実行ユニットに単純に適用し、動作電源電圧および
動作クロック信号周波数をソフトウェア制御する場合、
次のような問題が生じる。
【0010】一般に、ソフトウェア制御による設定値ま
で動作電源電圧が遷移する遷移時間が命令実行時間に対
して桁違いに長く、この場合、動作クロック信号の周波
数を上げるときも、動作電源電圧の上昇を待ってから上
げる必要があり、ソフトウェア制御により消費電力を削
減するためには、遷移時間に対して十分長い処理時間の
単位でダイナミックに大域的に制御する必要がある。し
かし、遷移時間に対して十分長い処理時間の単位では、
命令セットの構成要素である特定処理グループの命令の
出現をゼロにすることは難しくなる。一方、電源断また
はクロック停止の対象となった実行ユニットは特定処理
グループの命令を全く実行できなくなる。このため、遷
移時間に対して十分長い処理時間の単位では出現頻度が
非常に低い特定処理グループの命令に対して実行ユニッ
トの動作電源電圧を常に動作状態にするジレンマに陥
り、消費電力を実質的に削減することが難しくなる。
【0011】このため、特定処理グループの命令に対応
した実行ユニットの電源断により低消費電力化するため
には、低消費電力動作を要するプログラム処理を予め特
定し、このプログラム処理では特定処理グループの命令
を他の処理グループの命令でソフトウェアエミュレーシ
ョンする必要があり、そのプログラムの開発工数または
コンパイル工数が増大する。また、低消費電力動作を要
するプログラムの開発またはコンパイルができない場合
も生じ、消費電力の削減が難しくなる。
【0012】したがって、本発明の目的は、低消費電力
動作を要するプログラムの開発工数またはコンパイル工
数を削減し消費電力を削減することにある。
【0013】
【課題を解決するための手段】そのため、本発明は、複
数の実行ユニットへ同時実行可能な命令を並列に発行し
実行するスーパースカラ・プロセッサにおいて、前記複
数の実行ユニットの動作電源電圧および前記動作クロッ
ク信号を指定する動作モードがソフトウェア制御により
実行ユニットごとにそれぞれ設定され、前記動作電源電
圧および前記動作クロック信号の動作状態に応じて命令
の発行先を変更している。
【0014】また、前記複数の実行ユニットが、特定処
理グループの命令を専用のハードウェアで高速実行する
専用実行ユニットと、前記特定処理グループ外の命令を
実行し且つ前記特定処理グループの命令を前記専用実行
ユニットに代わってエミュレーション実行するエミュレ
ーション実行ユニットとを含んでいる。
【0015】また、ソフトウェア制御により前記動作モ
ードが設定されるモード設定部と、前記動作モードに対
応して前記動作電源電圧および前記動作クロック信号を
電圧制御または周波数制御して供給する電源およびクロ
ック制御部と、前記動作電源電圧および前記動作クロッ
ク信号の動作状態を示す状態情報を生成する状態情報生
成部と、前記状態情報に対応して前記特定処理グループ
の命令の発行先を前記専用実行ユニットから変更して前
記複数の実行ユニットへ同時実行可能な命令を並列に発
行する命令発行部とを備えている。
【0016】また、前記エミュレーション実行ユニット
が、前記専用実行ユニットに代わってエミュレーション
実行できない前記特定処理グループの命令を例外処理ル
ーチンへの分岐命令として解釈し前記専用実行ユニット
に代わって実行している。
【0017】また、前記エミュレーション実行ユニット
が、前記動作モードを設定するモード設定命令を実行し
前記モード設定部に前記動作モードを設定している。
【0018】また、プログラム処理上のモード設定コマ
ンドの発行により、前記動作モードが前記モード設定部
に設定されている。
【0019】また、前記動作モードの設定に対応して、
前記動作電源電圧および前記動作クロック信号の動作状
態の遷移時間が前記状態情報生成部に設定されている。
【0020】また、前記状態情報生成部が、前記動作モ
ードに対応した情報を前記遷移時間だけ遅延ラッチし前
記状態情報として出力している。
【0021】また、前記状態情報生成部が、前記動作電
源電圧および前記動作クロック信号の電源断またはクロ
ック停止を検出し検出結果を前記状態情報として出力し
ている。
【0022】また、前記状態情報生成部が、前記動作電
源電圧および前記動作クロック信号の電圧または周波数
を所定値と比較し比較結果を前記状態情報として出力し
ている。
【0023】
【発明の実施の形態】次に、本発明について図面を参照
して説明する。図1は、本発明のスーパースカラ・プロ
セッサの実施形態1における概略構成を示すブロック図
である。
【0024】図1を参照すると、本実施形態のスーパー
スカラ・プロセッサは、命令フェッチ部11,命令発行
部20と、4つの実行ユニット30,32〜34と、モ
ード設定部40,電源およびクロック制御部50,状態
情報生成部60とを備える。ここで、動作モードは、4
つの実行ユニット30,32〜34の動作電源電圧およ
び動作クロック信号を指定し、状態情報は、4つの実行
ユニット30,32〜34の動作電源電圧および動作ク
ロック信号の動作状態を示す。
【0025】命令フェッチ部11は、従来と同じく、主
記憶または命令キャッシュから複数の命令をバッファに
順次フェッチする。
【0026】命令発行部20は、バッファにフェッチさ
れた複数の命令間の依存関係をサイクルごとに調べ、状
態情報生成部60からの状態情報に対応して乗算グルー
プの命令の発行先を乗算実行ユニットから変更して、4
つの実行ユニット30,32〜34へ同時実行可能な命
令を並列に発行する。
【0027】4つの実行ユニット30,32〜34は、
エミュレーション実行ユニット30,整数処理2実行ユ
ニット32,乗算実行ユニット33およびロード/スト
ア実行ユニット34からなる。
【0028】エミュレーション実行ユニット30は、整
数処理1グループの命令を専用のハードウェアで高速実
行し、且つ、乗算処理グループの命令を乗算実行ユニッ
ト33に代わってエミュレーション実行する。このエミ
ュレーション実行ユニット30のエミュレーション実行
部分は、乗算専用のハードウェアでなく、整数処理1ま
たは分岐などの処理を行うハードウェアを利用した一般
的なエミュレーション手法により乗算処理グループの命
令をエミュレーション実行し、乗算実行ユニット33と
異なり高速実行できないが、乗算実行ユニット33と比
較して小規模のハードウェアであり低消費電力である。
【0029】また、このエミュレーション実行ユニット
30は、モード設定命令を実行してモード設定部40に
4つの実行ユニット30,32〜34の動作モードを実
行ユニットごとに設定し、さらに、乗算実行ユニット3
3に代わってエミュレーション実行できない命令を例外
処理ルーチンへの分岐命令として解釈し実行する。ここ
で、エミュレーション実行できない命令には、浮動小数
点の超越演算命令など、エミュレーション実行時間が動
作電源電圧の上昇遷移時間より長くなる命令も含まれ、
例外処理ルーチンで、乗算実行ユニット33がソフトウ
ェア制御され動作状態になるのを待って、乗算実行ユニ
ット33で実行される。
【0030】整数処理2実行ユニット32,乗算実行ユ
ニット33およびロード/ストア実行ユニット34は、
従来と同じく、整数処理2,乗算処理およびロード/ス
トア処理からなる3つの処理グループの命令をそれぞれ
専用のハードウェアで高速実行する。
【0031】モード設定部40は、たとえば、レジスタ
などから構成され、エミュレーション実行ユニット30
におけるモード設定命令の実行により、4つの実行ユニ
ット30,32〜34の動作モードが設定され、電源お
よびクロック制御部50へ出力される。
【0032】電源およびクロック制御部50は、モード
設定部40からの動作モードに対応して、4つの実行ユ
ニット30,32〜34の動作電源電圧および動作クロ
ック信号を電圧制御または周波数制御して供給する。た
だし、エミュレーション実行ユニット30およびロード
/ストア実行ユニット34など最も基本的な処理グルー
プの命令を実行する実行ユニットに対しては、動作電源
電圧および動作クロック信号電圧または周波数の低減制
御は可能であるが、電源断またはクロック停止の制御
は、不要であり、フリーズ防止のためハードウェア上で
禁止されている。
【0033】状態情報生成部60は、4つの実行ユニッ
ト30,32〜34の状態情報を生成し命令発行部20
へ出力する。本実施形態では、エミュレーション実行ユ
ニット30におけるモード設定命令の実行により、動作
電源電圧および動作クロック信号の動作状態の遷移時間
が設定され、モード設定部40からの動作モードに対応
した情報を遷移時間だけ遅延ラッチし状態情報として出
力する。本実施形態の状態情報生成部60は、たとえ
ば、エミュレーション実行ユニット30におけるモード
設定命令の実行により動作モードに対応した遷移時間が
設定され遷移時間のパルス幅のパルス信号を発生するパ
ルス発生回路と、このパルス発生回路の出力でモード設
定部40からの動作モードに対応した情報を遅延ラッチ
し状態情報として出力するラッチ回路とにより実現され
る。
【0034】図2は、本実施形態のスーパースカラ・プ
ロセッサにおける乗算実行ユニット33の動作モード,
動作電源電圧および状態情報の遷移例を示すタイミング
図である。図2を参照して、本実施形態のスーパースカ
ラ・プロセッサの動作について次に説明する。
【0035】始めに、乗算実行ユニット33は、動作モ
ードM1で指定された動作電源電圧V1で動作し、状態
情報D1が出力されているとする。
【0036】次に、命令発行部20において、バッファ
にフェッチされた複数の命令間の依存関係がサイクルご
とに調べられ、タイミングT1で、命令発行部20から
エミュレーション実行ユニット30へ発行されたモード
設定命令が実行され、モード設定部40,状態情報生成
部50に動作モードM2,遷移時間ゼロが設定され、動
作モードM2に対応して、電源およびクロック制御部5
0から動作電源電圧V2(電源断)が乗算実行ユニット
33へ供給され、状態情報生成部50から遷移時間ゼロ
で状態情報D2(電源断)が出力される。
【0037】次に、タイミングT2で、命令発行部20
からエミュレーション実行ユニット30へ発行されたモ
ード設定命令が実行され、モード設定部40,状態情報
生成部50に動作モードM3,遷移時間tが設定され、
動作モードM3に対応して、電源およびクロック制御部
50から動作電源電圧V3が乗算実行ユニット33へ供
給され、状態情報生成部50から遷移時間tで状態情報
D3が出力される。
【0038】上述したタイミングT1からタイミングT
2までと遷移時間tの処理時間では、命令発行部20に
おいて、バッファにフェッチされた複数の命令間の依存
関係がサイクルごとに調べられ、乗算グループの命令が
発行されるとき、状態情報生成部60からの状態情報D
2(電源断)が参照されて、乗算処理グループの命令の
発行先が乗算実行ユニット33からエミュレーション実
行ユニット30へ変更され、エミュレーション実行ユニ
ット30で、乗算処理グループの命令がエミュレーショ
ン実行され、エミュレーション実行できない場合は、例
外処理ルーチンへの分岐命令として解釈され実行され
る。ここで、エミュレーション実行できない命令には、
浮動小数点の超越演算命令など、エミュレーション実行
時間が動作電源電圧の上昇遷移時間より長くなる命令も
含まれ、例外処理ルーチンで、乗算実行ユニット33が
ソフトウェア制御され動作状態になるのを待って、乗算
実行ユニット33で実行される。
【0039】本実施形態のスーパースカラ・プロセッサ
では、命令発行部20において、バッファにフェッチさ
れた複数の命令間の依存関係がサイクルごとに調べら
れ、状態情報生成部60からの状態情報に対応して乗算
処理グループの命令の発行先が乗算実行ユニット33か
らエミュレーション実行ユニット30へ変更され、エミ
ュレーション実行ユニット30で、乗算グループの命令
がエミュレーション実行される。このため、乗算実行ユ
ニット33の電源断により低消費電力化するために、乗
算実行ユニット33の動作モードをモード設定命令によ
り大域的に設定するのみで、プログラム処理の低消費電
力動作が可能になる。
【0040】たとえば、乗算処理グループの命令の動的
出現頻度が0.1%未満のプログラム処理の場合、乗算
実行ユニット33の動作電源電圧および動作クロック信
号周波数の低減でなく電源断およびクロック停止を行う
と、乗算処理グループの命令がエミュレーション実行ユ
ニット30によりエミュレーション実行され、プログラ
ム処理の速度は1.5%程度低下するが、乗算実行ユニ
ット33の消費電力はゼロになる。
【0041】また、乗算処理グループの命令を他の処理
グループの命令でソフトウェアエミュレーションするた
め従来必要であったプログラムの開発工数またはコンパ
イル工数が不要になり、低消費電力動作を要するプログ
ラムの開発工数またはコンパイル工数が削減される。
【0042】さらには、低消費電力動作を要するプログ
ラム処理を少数に限定せず、高速処理を要するプログラ
ム処理を除く多数のプログラム処理を大域的にソフトウ
ェア制御し低消費電力動作させることが容易になり、消
費電力が大きく削減される。
【0043】なお、本実施形態のスーパースカラ・プロ
セッサでは、エミュレーション実行ユニット30がモー
ド設定命令を実行しモード設定部40に動作モードを設
定するとして説明したが、本実施形態の変形例として、
プログラム処理上のモード設定コマンドの発行により、
動作モードがモード設定部40に設定される構成も実現
できる。
【0044】図3は、本発明のスーパースカラ・プロセ
ッサの実施形態2における概略構成を示すブロック図で
ある。
【0045】図3を参照すると、本実施形態のスーパー
スカラ・プロセッサは、図1の実施形態1のスーパース
カラ・プロセッサと同じく、命令フェッチ部11,命令
発行部20と、4つの実行ユニット30,32〜34
と、モード設定部40,電源およびクロック制御部5
0,状態情報生成部61とを備える。この状態情報生成
部61以外の各ブロックについては、図1の実施形態1
のスーパースカラ・プロセッサにおける各ブロックと同
一構成であり、重複説明を省略する。
【0046】本実施形態における状態情報生成部61
は、4つの実行ユニット30,32〜34の動作電源電
圧および動作クロック信号の電源断またはクロック停止
を検出し検出結果を状態情報として命令発行部20へ出
力する。または、本実施形態における状態情報生成部6
1の変形例として、4つの実行ユニット30,32〜3
4の動作電源電圧および動作クロック信号の電圧または
周波数を所定値と比較し比較結果を状態情報として命令
発行部20へ出力する構成も実現できる。
【0047】本実施形態のスーパースカラ・プロセッサ
の動作は、状態情報生成部61内の動作を除き、図1の
実施形態1のスーパースカラ・プロセッサと同一動作で
あり、重複説明を省略する。
【0048】
【発明の効果】以上説明したように、本発明によるスー
パースカラ・プロセッサは、命令発行部において、バッ
ファにフェッチされた複数の命令間の依存関係がサイク
ルごとに調べられ、状態情報生成部からの状態情報に対
応して特定処理グループの命令の発行先が専用実行ユニ
ットからエミュレーション実行ユニットへ変更され、エ
ミュレーション実行ユニットで、特定処理グループの命
令がエミュレーション実行される。このため、専用実行
ユニットの電源断により低消費電力化するためには、専
用実行ユニットの動作モードをモード設定命令により大
域的に設定するのみで、プログラム処理の低消費電力動
作が可能になる。
【0049】また、特定処理グループの命令を他の処理
グループの命令でソフトウェアエミュレーションするた
め従来必要であったプログラムの開発工数またはコンパ
イル工数が不要になり、低消費電力動作を要するプログ
ラムの開発工数またはコンパイル工数が削減される。
【0050】さらには、低消費電力動作を要するプログ
ラム処理を少数に限定せず、高速処理を要するプログラ
ム処理を除く多数のプログラム処理を大域的にソフトウ
ェア制御し低消費電力動作させることが容易になり、消
費電力が大きく削減されるなどの効果がある。
【図面の簡単な説明】
【図1】本発明のスーパースカラ・プロセッサの実施形
態1における概略構成を示すブロック図である。
【図2】図1のスーパースカラ・プロセッサにおける乗
算実行ユニット33の動作モード,動作電源電圧および
状態情報の遷移例を示すタイミング図である。
【図3】本発明のスーパースカラ・プロセッサの実施形
態2における概略構成を示すブロック図である。
【図4】従来のスーパースカラ・プロセッサの概略構成
を示すブロック図である。
【符号の説明】
11 命令フェッチ部 20,21 命令発行部 30,31,32,33,34 実行ユニット 40 モード設定部 50 電源およびクロック制御部 60 状態情報生成部

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 複数の実行ユニットへ同時実行可能な命
    令を並列に発行し実行するスーパースカラ・プロセッサ
    において、前記複数の実行ユニットの動作電源電圧およ
    び前記動作クロック信号を指定する動作モードがソフト
    ウェア制御により実行ユニットごとにそれぞれ設定さ
    れ、前記動作電源電圧および前記動作クロック信号の動
    作状態に応じて命令の発行先を変更することを特徴とす
    るスーパースカラ・プロセッサ。
  2. 【請求項2】 前記複数の実行ユニットが、特定処理グ
    ループの命令を専用のハードウェアで高速実行する専用
    実行ユニットと、前記特定処理グループ外の命令を実行
    し且つ前記特定処理グループの命令を前記専用実行ユニ
    ットに代わってエミュレーション実行するエミュレーシ
    ョン実行ユニットとを含む、請求項1記載のスーパース
    カラ・プロセッサ。
  3. 【請求項3】 ソフトウェア制御により前記動作モード
    が設定されるモード設定部と、前記動作モードに対応し
    て前記動作電源電圧および前記動作クロック信号を電圧
    制御または周波数制御して供給する電源およびクロック
    制御部と、前記動作電源電圧および前記動作クロック信
    号の動作状態を示す状態情報を生成する状態情報生成部
    と、前記状態情報に対応して前記特定処理グループの命
    令の発行先を前記専用実行ユニットから変更して前記複
    数の実行ユニットへ同時実行可能な命令を並列に発行す
    る命令発行部とを備える、請求項2記載のスーパースカ
    ラ・プロセッサ。
  4. 【請求項4】 前記エミュレーション実行ユニットが、
    前記専用実行ユニットに代わってエミュレーション実行
    できない前記特定処理グループの命令を例外処理ルーチ
    ンへの分岐命令として解釈し前記専用実行ユニットに代
    わって実行する、請求項3記載のスーパースカラ・プロ
    セッサ。
  5. 【請求項5】 前記エミュレーション実行ユニットが、
    前記動作モードを設定するモード設定命令を実行し前記
    モード設定部に前記動作モードを設定する、請求項3ま
    たは4記載のスーパースカラ・プロセッサ。
  6. 【請求項6】 プログラム処理上のモード設定コマンド
    の発行により、前記動作モードが前記モード設定部に設
    定される、請求項3または4記載のスーパースカラ・プ
    ロセッサ。
  7. 【請求項7】 前記動作モードの設定に対応して、前記
    動作電源電圧および前記動作クロック信号の動作状態の
    遷移時間が前記状態情報生成部に設定される、請求項5
    または6記載のスーパースカラ・プロセッサ。
  8. 【請求項8】 前記状態情報生成部が、前記動作モード
    に対応した情報を前記遷移時間だけ遅延ラッチし前記状
    態情報として出力する、請求項7記載のスーパースカラ
    ・プロセッサ。
  9. 【請求項9】 前記状態情報生成部が、前記動作電源電
    圧および前記動作クロック信号の電源断またはクロック
    停止を検出し検出結果を前記状態情報として出力する、
    請求項3,4,5または6記載のスーパースカラ・プロ
    セッサ。
  10. 【請求項10】 前記状態情報生成部が、前記動作電源
    電圧および前記動作クロック信号の電圧または周波数を
    所定値と比較し比較結果を前記状態情報として出力す
    る、請求項3,4,5または6記載のスーパースカラ・
    プロセッサ。
JP2001171003A 2001-06-06 2001-06-06 スーパースカラ・プロセッサ Pending JP2002366351A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001171003A JP2002366351A (ja) 2001-06-06 2001-06-06 スーパースカラ・プロセッサ
US10/153,610 US20020188828A1 (en) 2001-06-06 2002-05-24 Low power consumption super scalar processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001171003A JP2002366351A (ja) 2001-06-06 2001-06-06 スーパースカラ・プロセッサ

Publications (1)

Publication Number Publication Date
JP2002366351A true JP2002366351A (ja) 2002-12-20

Family

ID=19012841

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001171003A Pending JP2002366351A (ja) 2001-06-06 2001-06-06 スーパースカラ・プロセッサ

Country Status (2)

Country Link
US (1) US20020188828A1 (ja)
JP (1) JP2002366351A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010231306A (ja) * 2009-03-26 2010-10-14 Nec Corp コンピュータシステム、ハードウェアリソース制御方法及びそのプログラム
JP2012123823A (ja) * 2003-05-07 2012-06-28 Mosaid Technol Inc 電力の島を使用した集積回路での電力の管理
JP2012150815A (ja) * 2011-01-14 2012-08-09 Apple Inc 複数の回路における性能パラメータの整合
JP2013542491A (ja) * 2010-09-16 2013-11-21 クアルコム,インコーポレイテッド 性能スケーリングアルゴリズムのセットを公開して管理するためのモバイルデバイスおよび方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040064713A (ko) * 2001-11-26 2004-07-19 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 프로세서, 인스트럭션 세트, 인스트럭션 분배 방법 및컴파일링 방법
US7076681B2 (en) * 2002-07-02 2006-07-11 International Business Machines Corporation Processor with demand-driven clock throttling power reduction
US7694114B2 (en) * 2005-06-09 2010-04-06 Qualcomm Incorporated Software selectable adjustment of SIMD parallelism
US7836284B2 (en) * 2005-06-09 2010-11-16 Qualcomm Incorporated Microprocessor with automatic selection of processing parallelism mode based on width data of instructions
US20100122066A1 (en) * 2008-11-12 2010-05-13 Freescale Semiconductor, Inc. Instruction method for facilitating efficient coding and instruction fetch of loop construct
US11061682B2 (en) * 2014-12-15 2021-07-13 Hyperion Core, Inc. Advanced processor architecture

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000047872A (ja) * 1998-08-03 2000-02-18 Hitachi Ltd 低消費電力動作機能を備えたマイクロプロセッサ
US6047248A (en) * 1996-04-29 2000-04-04 International Business Machines Corporation Performance-temperature optimization by cooperatively varying the voltage and frequency of a circuit
JP2000235489A (ja) * 1999-02-15 2000-08-29 Hitachi Ltd プロセッサ
JP2000322259A (ja) * 1999-05-11 2000-11-24 Hitachi Ltd データ処理装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5719800A (en) * 1995-06-30 1998-02-17 Intel Corporation Performance throttling to reduce IC power consumption
US5996083A (en) * 1995-08-11 1999-11-30 Hewlett-Packard Company Microprocessor having software controllable power consumption
US6000036A (en) * 1996-07-17 1999-12-07 International Business Machines Corp. Logical steering to avoid hot spots on integrated circuits
US5991884A (en) * 1996-09-30 1999-11-23 Intel Corporation Method for reducing peak power in dispatching instructions to multiple execution units
US6167524A (en) * 1998-04-06 2000-12-26 International Business Machines Corporation Apparatus and method for efficient battery utilization in portable personal computers
US6247117B1 (en) * 1999-03-08 2001-06-12 Advanced Micro Devices, Inc. Apparatus and method for using checking instructions in a floating-point execution unit
US6564328B1 (en) * 1999-12-23 2003-05-13 Intel Corporation Microprocessor with digital power throttle
US6611920B1 (en) * 2000-01-21 2003-08-26 Intel Corporation Clock distribution system for selectively enabling clock signals to portions of a pipelined circuit

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6047248A (en) * 1996-04-29 2000-04-04 International Business Machines Corporation Performance-temperature optimization by cooperatively varying the voltage and frequency of a circuit
JP2000047872A (ja) * 1998-08-03 2000-02-18 Hitachi Ltd 低消費電力動作機能を備えたマイクロプロセッサ
JP2000235489A (ja) * 1999-02-15 2000-08-29 Hitachi Ltd プロセッサ
JP2000322259A (ja) * 1999-05-11 2000-11-24 Hitachi Ltd データ処理装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012123823A (ja) * 2003-05-07 2012-06-28 Mosaid Technol Inc 電力の島を使用した集積回路での電力の管理
US20170288649A1 (en) 2003-05-07 2017-10-05 Conversant Intellectual Property Management Inc. Power managers for an integrated circuit
US10243542B2 (en) 2003-05-07 2019-03-26 Conversant Intellectual Property Management Inc. Power managers for an integrated circuit
JP2010231306A (ja) * 2009-03-26 2010-10-14 Nec Corp コンピュータシステム、ハードウェアリソース制御方法及びそのプログラム
JP2013542491A (ja) * 2010-09-16 2013-11-21 クアルコム,インコーポレイテッド 性能スケーリングアルゴリズムのセットを公開して管理するためのモバイルデバイスおよび方法
JP2012150815A (ja) * 2011-01-14 2012-08-09 Apple Inc 複数の回路における性能パラメータの整合

Also Published As

Publication number Publication date
US20020188828A1 (en) 2002-12-12

Similar Documents

Publication Publication Date Title
CN108027767B (zh) 寄存器读取/写入排序
US8650554B2 (en) Single thread performance in an in-order multi-threaded processor
US8413086B2 (en) Methods and apparatus for adapting pipeline stage latency based on instruction type
JP5231800B2 (ja) 半導体集積回路装置および半導体集積回路装置のクロック制御方法
JPH0922318A (ja) プロセッサ及びその制御方法
JPH04307625A (ja) ループ最適化方法及び装置
US20070288724A1 (en) Microprocessor
JP4412905B2 (ja) 低電力動作制御装置、およびプログラム最適化装置
JP2002366351A (ja) スーパースカラ・プロセッサ
JP2535252B2 (ja) 並列処理装置
JP7495030B2 (ja) プロセッサ、処理方法、および関連デバイス
US7065636B2 (en) Hardware loops and pipeline system using advanced generation of loop parameters
US7269720B2 (en) Dynamically controlling execution of operations within a multi-operation instruction
JPH1185513A (ja) プロセッサ
JP4800582B2 (ja) 演算処理装置
JP2001092661A (ja) データ処理装置
CN112579164A (zh) 一种simt条件分支处理装置及方法
Yang et al. Reducing the configuration overhead of the distributed two-level control system
JPH09274567A (ja) プログラムの実行制御方法及びそのためのプロセッサ
CN113407240B (zh) 一种C64x+ DSP软件流水循环缓冲机制的模拟方法
JPH08241296A (ja) 半導体集積回路
JP2000029696A (ja) プロセッサおよびパイプライン処理制御方法
JP2002041283A (ja) サブパイプライン変換構造、及びバイナリの互換性を持たせる方法
KR101118593B1 (ko) Vliw 명령어 처리 장치 및 방법
JP3743155B2 (ja) パイプライン制御型計算機

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20070705

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080415

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20100421

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101109

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110308