JP2009059246A - マイクロプロセッサ - Google Patents

マイクロプロセッサ Download PDF

Info

Publication number
JP2009059246A
JP2009059246A JP2007226999A JP2007226999A JP2009059246A JP 2009059246 A JP2009059246 A JP 2009059246A JP 2007226999 A JP2007226999 A JP 2007226999A JP 2007226999 A JP2007226999 A JP 2007226999A JP 2009059246 A JP2009059246 A JP 2009059246A
Authority
JP
Japan
Prior art keywords
instruction
analysis information
specific
unit
cache
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
JP2007226999A
Other languages
English (en)
Other versions
JP4864840B2 (ja
Inventor
Kenta Yasufuku
健太 安福
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2007226999A priority Critical patent/JP4864840B2/ja
Priority to US12/200,257 priority patent/US8131977B2/en
Publication of JP2009059246A publication Critical patent/JP2009059246A/ja
Application granted granted Critical
Publication of JP4864840B2 publication Critical patent/JP4864840B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0855Overlapped cache accessing, e.g. pipeline
    • 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • 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/3802Instruction prefetching
    • 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/3818Decoding for concurrent execution
    • G06F9/382Pipelined decoding, e.g. using predecoding
    • 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/3818Decoding for concurrent execution
    • G06F9/3822Parallel decoding, e.g. parallel decode units
    • 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
    • G06F9/3853Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution of compound instructions
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Executing Machine-Instructions (AREA)
  • Microcomputers (AREA)

Abstract

【課題】特定の命令の実行時の消費電力を低減させることのできるマイクロプロセッサを提供する。
【解決手段】プロセッサコア3は、命令フェッチ部31および命令デコード部32を備え、命令キャッシュ1からフェッチした命令のパイプライン処理を行う。命令解析部2は、命令キャッシュ1へ入力される命令が特定命令格納部21に格納された命令であるかどうかを解析して命令解析情報を出力する。命令キャッシュ1のタグ格納部12内の命令解析情報記憶領域13は、命令解析部2から出力された命令解析情報を記憶する。プロセッサコア3の特定命令実行制御部34は、命令フェッチ部31が命令キャッシュ1から命令をフェッチするときに、その命令に対する命令解析情報を命令解析情報記憶領域13から読み出し、その命令が特定の命令であることを読み出した命令解析情報が示しているときは、命令フェッチ部31および命令デコード部32の動作を制御する。
【選択図】図1

Description

本発明は、マイクロプロセッサに関する。
マイクロプロセッサの高速化の手法の1つとして、プロセッサコアにおける命令の処理を命令フェッチ、命令デコード、命令実行というようなステージに分け、それぞれのステージにおける処理を並列に処理する、パイプライン処理がある。
このようなパイプライン処理の効率的な実行には、各ステージの処理時間が均一である必要がある。そのため、メモリアクセス時間の短い命令キャッシュを設け、命令フェッチの高速化を図っている(例えば、特許文献1参照。)。
このような従来のマイクロプロセッサでは、命令をデコードしない限り、その命令がどのような命令であるかを判別することができない。そのため、NOP(No OPeration)命令のような何の処理も行う必要のない命令であっても、命令フェッチ、命令デコードまでの処理は実行されてしまう。その結果、命令フェッチ、命令デコードの各ステージで電力の消費が発生する。
このようなNOP命令の実行による電力消費が、特に、VLIW(Very Long Instruction Word)方式のマイクロプロセッサでは、顕著に増加することがある。これは、VLIW方式のマイクロプロセッサが、複数の命令を1つの命令にまとめ、1つの命令として実行する方式であるため、同時実行される命令の数が規定数に達しない場合、不足部分がNOP命令で埋められ、NOP命令の出現頻度が高くなるからである。
また、命令が無条件分岐命令であった場合、次の命令を命令キャッシュから読み出しても無効となるにも拘らず、パイプライン処理では、その無条件分岐命令をデコードしているときに、既に次の命令の命令フェッチを開始している。したがって、この場合も、命令フェッチステージの動作や、命令キャッシュへのアクセスで電力を消費してしまう。
このように、従来のマイクロプロセッサでは、命令の種類によっては無駄な電力を消費することがある、という問題があった。
特開2003−162446号公報 (第4−5ページ、図1)
そこで、本発明の目的は、特定の命令の実行時の消費電力を低減させることのできるマイクロプロセッサを提供することにある。
本発明の一態様によれば、命令キャッシュと、前記命令キャッシュへ入力される命令を解析し、その命令が予め指定された特定の命令であるかどうかを示す命令解析情報を出力する命令解析手段と、前記命令解析情報をその命令の前記命令キャッシュへの書き込み位置に対応させて記憶する命令解析情報記憶手段と、命令フェッチ部、命令デコード部および特定命令実行制御部を備え、前記命令キャッシュからフェッチした命令のパイプライン処理を行うプロセッサコアとを有し、前記プロセッサコアの前記特定命令実行制御部が、前記命令フェッチ部が前記命令キャッシュから命令をフェッチするときに、その命令に対する前記命令解析情報を前記命令解析情報記憶手段から読み出し、読み出した前記命令解析情報が前記特定の命令であることを示しているときは、前記命令フェッチ部および命令デコード部の動作を制御することを特徴とするマイクロプロセッサが提供される。
本発明によれば、特定の命令の実行時の消費電力を低減させることができる。
図1は、本発明のマイクロプロセッサの実施の形態の例を示すブロック図である。
本実施の形態のマイクロプロセッサは、データ格納部11およびタグ格納部12を備える命令キャッシュ1と、命令キャッシュ1へ入力される命令を解析し、その命令が予め指定された特定の命令であるかどうかを示す命令解析情報を出力する命令解析部2と、命令キャッシュ1からフェッチした命令のパイプライン処理を行う命令フェッチ部31、命令デコード部32、命令実行部33、および特定命令に対する実行を制御する特定命令実行制御部34を備えるプロセッサコア3と、を有する。
命令解析部2は、予め指定された特定の命令を格納する特定命令格納部21と、命令キャッシュ1へ入力される命令と特定命令格納部21に格納された特定の命令とを比較し、その結果を命令解析情報として出力する比較部22を有する。
この命令解析部2の比較部22は、命令キャッシュ1へ入力される命令が、特定命令格納部31に格納された特定の命令と一致するときは、命令解析情報として例えば‘1’を出力し、不一致のときは‘0’を出力する。
命令キャッシュ1は、タグ格納部12内に命令解析情報記憶領域13を有する。この命令解析情報記憶領域13には、命令解析部2から出力される命令解析情報が、タグ格納部12に格納される命令のタグデータと対になって、記憶される。
プロセッサコア3の特定命令実行制御部34は、命令フェッチ部31がフェッチ要求を出力して命令キャッシュ1から命令をフェッチするときに、その命令に対する命令解析情報を命令解析情報記憶領域13から読み出し、その命令が上述の特定の命令であることを読み出した命令解析情報が示しているときは、命令フェッチ部31および命令デコード部32の動作を制御する。
以下、4つの命令を並列にパイプライン処理するVLIW方式のマイクロプロセッサを例にとり、本発明の実施例を、図面を参照して説明する。
図2は、本発明の実施例1のマイクロプロセッサの構成の例を示すブロック図である。
本実施例のマイクロプロセッサは、固定命令長のVLIW方式のマイクロプロセッサであり、プロセッサコア3Aに、4本のパイプラインP0、P1、P2、P3を備える。1つのパイプラインの命令は総て32bit長であり、1サイクルの命令は128bit長である。
プロセッサコア3Aは、命令フェッチ部31と、パイプラインP0、P1、P2、P3ごとの、命令デコード部321、322、323、324、および命令実行部331、332、333、334を備える。
一般的に、固定命令長のVLIW方式のマイクロプロセッサでは、命令コード中にNOP命令が出現する確率が高い。そこで、本実施例では、命令解析部2の特定命令格納部21に格納する特定の命令をNOP命令としたときの例を示す。
命令解析部2の比較部22は、命令キャッシュ1に入力される1サイクルの命令に対して、その命令に含まれる4つの命令のそれぞれごとに、特定命令格納部21に格納された命令(すなわちNOP命令)であるかどうかを比較し、それぞれの命令ごとの比較結果を1bit(例えば、一致を‘1’、不一致を‘0’)で表す命令解析情報として出力する。
この命令解析情報は、タグ格納部12内に設けた命令解析情報記憶領域13に記憶される。
命令解析情報記憶領域13のキャッシュ1ライン当たりのビット数は、(パイプラインの本数×キャッシュ1ラインに格納される命令数)で決定される。本実施例では、命令キャッシュ1の1ラインを16byte=128bitとし、キャッシュ1ラインに1サイクル分の命令が1つ格納されるものとする。そのため、命令解析情報記憶領域13のキャッシュ1ライン当たりのビット数は4となる。
図3に、このような本実施例におけるタグ格納部12の構成の例を示す。
タグ格納部12のタグごとに、4ビットの命令解析情報が記憶される命令解析情報記憶領域13が設けられている。ここで、bit_P0、bit_P1、bit_P2、bit_P3は、それぞれ、パイプラインP0、P1、P2、P3へ入力される命令に対する命令解析情報を表す。
例えば、bit_P0が‘1’であるときは、パイプラインP0へ入力される命令がNOP命令であることを表す。
図2に戻って、プロセッサコア3Aの特定命令実行制御部34は、命令フェッチ部31がフェッチ要求を出力して命令キャッシュ1から命令をフェッチするときに、その命令に対する命令解析情報を命令解析情報記憶領域13から読み出し、読み出した命令解析情報がNOP命令であるかどうかを解析する。その結果、命令解析情報がNOP命令であることを示しているときは、特定命令実行制御部34は、その命令を処理する命令デコード部がデコード動作を行わないように制御する。
この特定命令実行制御部34による制御のために、プロセッサコア3Aには、命令フェッチ部31から命令デコード部321、322、323、324への、命令の取り込みを停止する取り込み停止部351、352、353、354を設ける。
特定命令実行制御部34は、命令解析情報がNOP命令であることを示している命令を処理するパイプラインの取り込み停止部に対して、停止信号を出力し、そのパイプラインの命令デコード部への命令(すなわち、NOP命令)の取り込みを停止させる。
その結果、その命令デコード部はNOP命令をデコードしなくても済む。
また、このとき、デコードを行わない命令デコード部に代わって、命令実行部331、332、333、334へ、NOP命令のデコード値361、362、363、364を入力するために、プロセッサコア3Aには、選択部371、372、373、374を設ける。
特定命令実行制御部34は、命令解析情報がNOP命令であることを示している命令を処理するパイプラインの選択部371、372、373、374に対して、命令デコード部321、322、323、324の出力の代わりにNOP命令のデコード値361、362、363、364を選択するよう、選択信号を出力する。
これにより、NOP命令のデコードを行わなくても、命令実行部331、332、333、334には、NOP命令のデコード値361、362、363、364が入力される。
このような本実施例によれば、命令キャッシュから命令をフェッチするときに、その命令に対する命令解析情報も命令キャッシュの命令解析情報記憶領域から読み出し、読み出した命令解析情報がNOP命令であるかどうかを解析する。その結果、フェッチした命令がNOP命令であるときは、命令デコード部への命令の取り込みを停止し、デコード動作を行わないようにすることができる。これにより、デコード動作による電力消費が削減され、NOP命令実行時の電力消費を低減させることができる。
図4は、本発明の実施例2のマイクロプロセッサの構成の例を示すブロック図である。
本実施例のマイクロプロセッサも、実施例1と同様、命令解析部2の特定命令格納部21に格納する特定の命令をNOP命令とするマイクロプロセッサである。
本実施例では、実施例1のマイクロプロセッサの機能に加えて、命令キャッシュ1からフェッチしようとする命令がNOP命令であるときには、命令キャッシュ1のデータ格納部11からのNOP命令データの読み出しを停止するようにする。
そのために、本実施例のプロセッサコア3Bの特定命令実行制御部34は、命令フェッチ部31がフェッチ要求を出したときに、命令キャッシュ1の命令解析情報記憶領域13を先に読み出し、フェッチしようとする命令がNOP命令であることを命令解析情報が示しているときは、命令フェッチ部31へ、命令キャッシュ1のデータ格納部11からのNOP命令部分のデータの読み出しを停止するよう指示する。
このような本実施例によれば、命令キャッシュから命令をフェッチしようとするときに、その命令に対する命令解析情報を先に読み出し、読み出した命令解析情報がNOP命令であることを示しているときは、そのデータの命令キャッシュからの読み出しを停止させることができる。これにより、命令キャッシュからのデータの読み出しによる電力消費が削減され、NOP命令実行時の電力消費をさらに低減させることができる。
本発明の実施例3のマイクロプロセッサは、実施例1あるいは実施例2の命令キャッシュ1を、図5に示す命令キャッシュ1Aに置換したものである。そこで、ここでは、この命令キャッシュ1Aについてのみ説明する。
図5は、本実施例のマイクロプロセッサで用いる命令キャッシュ1Aの構成の例を示すブロック図である。
命令キャッシュ1Aは、図2および図4に示した命令キャッシュ1に、さらに書き込み禁止部14を設けたものである。
書き込み禁止部14は、命令解析部2から出力されている命令解析情報が、命令キャッシュ1Aに入力される命令がNOP命令であることを示しているときは、その入力されるNOP命令のデータ格納部11への書き込みを禁止する。
このような本実施例によれば、命令キャッシュへ入力される命令にNOP命令が含まれているときは、そのNOP命令のデータ格納部への書き込みを禁止することができる。これにより、命令キャッシュのデータ格納部への書き込みによる電力消費が削減され、NOP命令が存在することによる電力消費をなお一層低減させることができる。
図6は、本発明の実施例4のマイクロプロセッサの構成の例を示すブロック図である。
本実施例では、命令解析部2の特定命令格納部21に格納された特定の命令が無条件分岐命令であるときのマイクロプロセッサの例を示す。
本実施例のマイクロプロセッサは、実施例1と同様の固定命令長のVLIW方式のマイクロプロセッサであり、プロセッサコア3Cに、4本のパイプラインP0、P1、P2、P3を備える。
プロセッサコア3Cは、命令フェッチ部31と、パイプラインP0、P1、P2、P3ごとの命令デコード部321、322、323、324および命令実行部331、332、333、334と、特定命令実行制御部34と、を備える。
命令解析部2は、命令キャッシュ1へ入力される命令に無条件分岐命令が含まれるときは、そのことを示す命令解析情報を、命令キャッシュ1のタグ格納部12の解析情報記憶領域13へ書き込む。
命令解析情報記憶領域13のキャッシュ1ライン当たりのビット数は、(分岐実行できるパイプラインの本数×キャッシュ1ラインに格納される命令数)で決定される。
殆どのVLIW方式のマイクロプロセッサでは分岐実行できるパイプラインの本数は1であることが多い。本実施例でも分岐実行できるパイプラインの本数を1とする。
また、実施例1と同様、本実施例でも、命令キャッシュ1の1ラインを16byte=128bitとし、キャッシュ1ラインに1サイクル分の命令が1つ格納されるものとする。そのため、命令解析情報記憶領域13のキャッシュ1ライン当たりのビット数は1となる。
図7に、このような本実施例におけるタグ格納部12の構成の例を示す。
本実施例では、タグ格納部12のタグごとに、1ビットの命令解析情報が記憶される命令解析情報記憶領域13が設けられている。
図6に戻って、本実施例のプロセッサコア3Cの特定命令実行制御部34は、命令フェッチ部31がフェッチ要求を出力して命令キャッシュ1から命令をフェッチするときに、その命令に対する命令解析情報を命令解析情報記憶領域13から読み出し、読み出した命令解析情報が無条件分岐命令であるかどうかを解析する。その結果、命令解析情報が無条件分岐命令であることを示しているときは、特定命令実行制御部34は、次の命令のフェッチを行わないように、フェッチ動作を制御する。
この特定命令実行制御部34による制御を実行するために、プロセッサコア3Cには、フェッチ要求停止部38を設ける。
特定命令実行制御部34は、命令解析情報記憶領域13から読み出した命令解析情報が無条件分岐命令であることを示しているときは、フェッチ要求停止部38へ停止信号を出力し、命令フェッチ部31から出力される次の命令のフェッチ要求を命令キャッシュ1へ出力しないようにする。
このような本実施例によれば、命令キャッシュから命令をフェッチするときに、その命令に対する命令解析情報も命令キャッシュの命令解析情報記憶領域から読み出し、読み出した命令解析情報が無条件分岐命令であることを示しているときは、次のサイクルの命令フェッチを停止させることができる。これにより、命令キャッシュへの余分なアクセスを減らすことができ、その分、消費電力を削減することができる。
なお、上述の各実施例では、特定命令格納部21に格納される特定命令が1つである場合を例にとって示したが、特定命令格納部21に複数の特定命令を格納するようにしてもよい。その場合、それぞれの特定命令に対する命令解析情報を命令解析情報記憶領域13に記憶させ、特定命令実行制御部34が、それぞれの特定命令に応じて命令フェッチ部31および命令デコード部32の動作を制御するようにすればよい。
本発明のマイクロプロセッサの実施の形態の例を示すブロック図。 本発明の実施例1に係るマイクロプロセッサの構成の例を示すブロック図。 実施例1の命令キャッシュのタグ格納部の構成の例を示すブロック図。 本発明の実施例2に係るマイクロプロセッサの構成の例を示すブロック図。 本発明の実施例3に係るマイクロプロセッサの命令キャッシュの構成の例を示すブロック図。 本発明の実施例4に係るマイクロプロセッサの構成の例を示すブロック図。 実施例4の命令キャッシュのタグ格納部の構成の例を示すブロック図。
符号の説明
1、1A 命令キャッシュ
2 命令解析部
3、3A、3B、3C プロセッサコア
11 データ格納部
12 タグ格納部
13 命令解析情報記憶領域
14 書き込み禁止部
21 特定命令格納部
22 比較部
31 命令フェッチ部
32、321〜324 命令デコード部
33、331〜334 命令実行部
34 特定命令実行制御部
351〜354 取り込み停止部
361〜364 NOP命令デコード値
371〜374 選択部
38 フェッチ要求停止部

Claims (5)

  1. 命令キャッシュと、
    前記命令キャッシュへ入力される命令を解析し、その命令が予め指定された特定の命令であるかどうかを示す命令解析情報を出力する命令解析手段と、
    前記命令解析情報をその命令の前記命令キャッシュへの書き込み位置に対応させて記憶する命令解析情報記憶手段と、
    命令フェッチ部、命令デコード部および特定命令実行制御部を備え、前記命令キャッシュからフェッチした命令のパイプライン処理を行うプロセッサコアと
    を有し、
    前記プロセッサコアの前記特定命令実行制御部が、
    前記命令フェッチ部が前記命令キャッシュから命令をフェッチするときに、その命令に対する前記命令解析情報を前記命令解析情報記憶手段から読み出し、読み出した前記命令解析情報が前記特定の命令であることを示しているときは、前記命令フェッチ部および命令デコード部の動作を制御する
    ことを特徴とするマイクロプロセッサ。
  2. 前記特定命令実行制御部が、
    前記特定の命令としてNOP命令が指定されているときに、前記命令解析情報記憶手段から読み出した前記命令解析情報が前記特定の命令であることを示しているときは、
    前記命令デコード部へデコード動作の停止を指示する
    ことを特徴とする請求項1に記載のマイクロプロセッサ。
  3. 前記特定命令実行制御部が、
    前記特定の命令としてNOP命令が指定されているときに、
    前記命令フェッチ部のフェッチ動作に先立って前記命令解析情報記憶手段からの前記命令解析情報の読み出しを行い、読み出した前記命令解析情報が前記特定の命令であることを示しているときは、
    前記命令フェッチ部へフェッチ動作の停止を指示する
    ことを特徴とする請求項2に記載のマイクロプロセッサ。
  4. 前記命令キャッシュが、
    前記特定の命令としてNOP命令が指定されているときに、前記命令解析手段から出力された前記命令解析情報が前記特定の命令であることを示しているときは、入力された命令の書き込み動作を行わない
    ことを特徴とする請求項2または3に記載のマイクロプロセッサ。
  5. 前記特定命令実行制御部が、
    前記特定の命令として分岐命令が指定されているときに、前記命令解析情報記憶手段から読み出した前記命令解析情報が前記特定の命令であることを示しているときは、
    前記命令フェッチ部へ次のサイクルのフェッチ動作の停止を指示する
    ことを特徴とする請求項1に記載のマイクロプロセッサ。
JP2007226999A 2007-08-31 2007-08-31 マイクロプロセッサ Expired - Fee Related JP4864840B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007226999A JP4864840B2 (ja) 2007-08-31 2007-08-31 マイクロプロセッサ
US12/200,257 US8131977B2 (en) 2007-08-31 2008-08-28 Microprocessor inhibiting instruction storage in cache and not decoding based on pre-analysis information to reduce power consumption

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007226999A JP4864840B2 (ja) 2007-08-31 2007-08-31 マイクロプロセッサ

Publications (2)

Publication Number Publication Date
JP2009059246A true JP2009059246A (ja) 2009-03-19
JP4864840B2 JP4864840B2 (ja) 2012-02-01

Family

ID=40409335

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007226999A Expired - Fee Related JP4864840B2 (ja) 2007-08-31 2007-08-31 マイクロプロセッサ

Country Status (2)

Country Link
US (1) US8131977B2 (ja)
JP (1) JP4864840B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2013121516A1 (ja) * 2012-02-14 2015-05-11 ルネサスエレクトロニクス株式会社 データ処理装置

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011095852A (ja) * 2009-10-27 2011-05-12 Toshiba Corp キャッシュメモリ制御回路
US9600388B2 (en) * 2012-01-31 2017-03-21 Nec Corporation Information processing apparatus that computes power consumption for CPU command
GB2501299A (en) * 2012-04-19 2013-10-23 Ibm Analysing computer program instructions to determine if an instruction can be replaced with a trap or break point.
US9158702B2 (en) * 2012-12-28 2015-10-13 Intel Corporation Apparatus and method for implementing a scratchpad memory using priority hint
KR102056730B1 (ko) * 2013-04-22 2019-12-17 삼성전자주식회사 Vliw 프로세서를 위한 명령어 압축 장치 및 방법과, 명령어 인출 장치 및 방법
TWI518585B (zh) 2015-05-18 2016-01-21 國立成功大學 具有草稿式記憶體的電子裝置與草稿式記憶體的管理方法
US11355005B2 (en) * 2019-07-22 2022-06-07 Battelle Memorial Institute Aquatic organism tracking devices, systems and associated methods

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04239919A (ja) * 1991-01-24 1992-08-27 Toshiba Corp 情報処理装置
JPH0916471A (ja) * 1995-06-28 1997-01-17 Hitachi Ltd プロセッサ
JPH11119997A (ja) * 1997-10-17 1999-04-30 Fujitsu Ltd Liw命令実行方法、スカラプロセッサ及びliwプロセッサ
JP2003167732A (ja) * 2001-11-22 2003-06-13 Univ Of Washington サブ命令の共用、命令のストアならびに圧縮のための方法、およびコンピュータシステム
JP2004062280A (ja) * 2002-07-25 2004-02-26 Hitachi Ltd 半導体集積回路
US6859870B1 (en) * 2000-03-07 2005-02-22 University Of Washington Method and apparatus for compressing VLIW instruction and sharing subinstructions
WO2007057828A2 (en) * 2005-11-15 2007-05-24 Nxp B.V. Processing system and method for executing instructions

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4437149A (en) * 1980-11-17 1984-03-13 International Business Machines Corporation Cache memory architecture with decoding
JP3705022B2 (ja) * 1999-07-09 2005-10-12 株式会社日立製作所 低消費電力マイクロプロセッサおよびマイクロプロセッサシステム
US7174469B2 (en) * 2003-09-30 2007-02-06 International Business Machines Corporation Processor power and energy management
JP4747026B2 (ja) * 2006-05-08 2011-08-10 Okiセミコンダクタ株式会社 マイクロプロセッサ

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04239919A (ja) * 1991-01-24 1992-08-27 Toshiba Corp 情報処理装置
JPH0916471A (ja) * 1995-06-28 1997-01-17 Hitachi Ltd プロセッサ
JPH11119997A (ja) * 1997-10-17 1999-04-30 Fujitsu Ltd Liw命令実行方法、スカラプロセッサ及びliwプロセッサ
US6859870B1 (en) * 2000-03-07 2005-02-22 University Of Washington Method and apparatus for compressing VLIW instruction and sharing subinstructions
JP2003167732A (ja) * 2001-11-22 2003-06-13 Univ Of Washington サブ命令の共用、命令のストアならびに圧縮のための方法、およびコンピュータシステム
JP2004062280A (ja) * 2002-07-25 2004-02-26 Hitachi Ltd 半導体集積回路
WO2007057828A2 (en) * 2005-11-15 2007-05-24 Nxp B.V. Processing system and method for executing instructions
JP2009516254A (ja) * 2005-11-15 2009-04-16 エヌエックスピー ビー ヴィ 命令を実行するための処理システムおよび方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2013121516A1 (ja) * 2012-02-14 2015-05-11 ルネサスエレクトロニクス株式会社 データ処理装置

Also Published As

Publication number Publication date
US8131977B2 (en) 2012-03-06
US20090063822A1 (en) 2009-03-05
JP4864840B2 (ja) 2012-02-01

Similar Documents

Publication Publication Date Title
JP4864840B2 (ja) マイクロプロセッサ
KR102311619B1 (ko) 파이프라인 제어 신호들을 발생시키도록 프로세서를 인에이블링하기 위한 방법 및 장치
JP5941488B2 (ja) 条件付きショート前方分岐の計算的に等価な述語付き命令への変換
JP2008532187A (ja) 既知プロセッサ状態に基づいてキャッシュビットを選択的にイネーブルにするパワーセービング方法および装置
US6631459B1 (en) Extended instruction word folding apparatus
JP5012084B2 (ja) 情報処理装置
US10338926B2 (en) Processor with conditional instructions
US7346737B2 (en) Cache system having branch target address cache
JP4607958B2 (ja) プロセッサおよびプログラム変換装置
US10437598B2 (en) Method and apparatus for selecting among a plurality of instruction sets to a microprocessor
JP5233078B2 (ja) プロセッサ及びその処理方法
US9201657B2 (en) Lower power assembler
JP4159586B2 (ja) 情報処理装置および情報処理の高速化方法
JP2006053830A (ja) 分岐予測装置および分岐予測方法
WO2024029174A1 (ja) ジャンプ命令に基づくパイプライン処理を制御するプロセッサ及びプログラム記録媒体
JP5292831B2 (ja) プログラマブルコントローラ
US20050108698A1 (en) Assembler capable of reducing size of object code, and processor for executing the object code
US20060015704A1 (en) Operation apparatus and instruction code executing method
JP2011170758A (ja) プロセッサ
KR20040080520A (ko) 명령어 병렬처리를 위한 디지털 신호처리기 및 그처리방법
CN116107632A (zh) 可动态修改协处理器指令立即数字段的risc-v处理器及方法
JP2000003279A (ja) Vliwプロセッサ、プログラム生成装置、および記録媒体
JP5679263B2 (ja) 情報処理装置及びマイクロ命令処理方法
KR20000003447A (ko) 무조건 분기 명령어의 수행 시간을 줄이기 위한 분기 방법
JP2006004234A (ja) マイクロプロセッサにおける命令実行制御方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100119

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101109

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110107

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111014

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111109

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

Free format text: PAYMENT UNTIL: 20141118

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20141118

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees