JP5922353B2 - プロセッサ - Google Patents

プロセッサ Download PDF

Info

Publication number
JP5922353B2
JP5922353B2 JP2011180456A JP2011180456A JP5922353B2 JP 5922353 B2 JP5922353 B2 JP 5922353B2 JP 2011180456 A JP2011180456 A JP 2011180456A JP 2011180456 A JP2011180456 A JP 2011180456A JP 5922353 B2 JP5922353 B2 JP 5922353B2
Authority
JP
Japan
Prior art keywords
instruction
additional
interrupt
interrupt signal
general
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.)
Active
Application number
JP2011180456A
Other languages
English (en)
Other versions
JP2013045145A (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.)
Cypress Semiconductor Corp
Original Assignee
Cypress Semiconductor 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 Cypress Semiconductor Corp filed Critical Cypress Semiconductor Corp
Priority to JP2011180456A priority Critical patent/JP5922353B2/ja
Priority to EP12180833A priority patent/EP2562639A1/en
Priority to US13/589,354 priority patent/US9411594B2/en
Priority to CN201210310346.2A priority patent/CN102955683B/zh
Publication of JP2013045145A publication Critical patent/JP2013045145A/ja
Application granted granted Critical
Publication of JP5922353B2 publication Critical patent/JP5922353B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/30181Instruction operation extension or modification
    • G06F9/30196Instruction operation extension or modification using decoder, e.g. decoder per instruction set, adaptable or programmable decoders
    • 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/30181Instruction operation extension or modification
    • 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/3861Recovery, e.g. branch miss-prediction, exception handling
    • 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
    • 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

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)

Description

本発明は、プロセッサに関する。
近年、プロセッサ(CPU)を搭載した半導体処理装置が広い分野で使用されている。例えば、自動車は、車種によっては100個程度の半導体処理装置が搭載されている。このような特定用途向けの半導体処理装置では、コスト面から汎用の半導体処理装置が使用されるが、実際に使用される状態では、特定用途の特化した処理を繰り返し行う場合が多く、特定の命令が頻繁に実行される。そこで、顧客アプリケーションの最適化要求に柔軟かつ迅速に対応するため、アプリケーションごとに、特定用途向けの命令を追加することが可能なプロセッサを搭載した半導体処理装置が使用される。このようなプロセッサでは、追加命令のための専用インターフェースを用意して、専用のオペコードを割り当てる方法が一般的に用いられている。
図1は、命令を追加することが可能なプロセッサを搭載した一般的なコンピュータのハードウェアの概略構成図である。このようなコンピュータが半導体処理装置として実現され、各部に搭載される。図1において、矢印付き太線がデータの流れを、矢印付き細線が命令の流れを、矢印付き破線が命令オペレーション制御信号の流れを示す。
図1の(A)に示すように、コンピュータは、プロセッサ11と、命令メモリ21と、データメモリ22と、追加命令を処理する特定処理演算器23と、を有する。プロセッサ11は、命令デコード部12と、演算器13と、レジスタファイル14と、データ転送ブロック15と、を有する。命令デコード部12は、命令メモリ21から読み出した命令をフェッチし、フェッチした命令をデコードして演算器13で実行するための命令オペレーション制御信号(オペコード)を生成して演算器13に出力する。さらに、命令デコード部12は、命令の実行に必要なデータの情報をデータ転送ブロック15に送る。データ転送ブロック15は、命令を実行するのに必要なデータをデータメモリ22から読み出し、レジスタファイル14に格納する。演算器13は、オペコードに従ってレジスタファイル14に格納されたデータ(データを使用しない場合もある)を処理し、処理結果のデータをレジスタファイル14に格納する。データ転送ブロック15は、処理結果のデータを、レジスタファイル14から読み出して、データメモリ22に記憶する。以上が、プロセッサの一般的な動作である。
特定処理演算器23が追加命令を処理する場合には、特定処理演算器23をプロセッサ11に接続する。プロセッサ11は、特定処理演算器23を接続するためのインターフェースを有する。このインターフェースは、命令デコード部12がデコードした命令が追加命令である場合に、命令オペレーション制御信号(オペコード)を特定処理演算器23に出力し、特定処理演算器23とレジスタファイル14との間でデータを入出力する。ここでは、このインターフェースおよび演算器13を有する部分を演算部と称する。特定処理演算器23は、追加命令に対応するオペコードに従ってレジスタファイル14に格納されたデータを処理し、処理結果のデータをレジスタファイル14に格納する。
図1の(B)は、命令デコード部12が有する命令コードマップの例を示す図である。命令デコード部12は、命令に対応させてオペコードを記憶した命令コードマップを有し、入力された命令に対応するオペコードを読み出して出力する。
図1の(B)は、4×8の命令コードマップを示しており、32個の命令に対してオペコードを発生する。例えば、追加命令は、4行目の1×8個の領域に割り当てられ、演算器13が実行する一般命令は1〜3行目の3×8個の領域に割り当てられる。
図1の(B)に示すように、32個の命令領域のうち、8個の命令領域が追加命令に割り当てられるため、一般命令は24個以内に制限され、追加命令は8個以内に制限されるため、一般命令および追加命令の両方とも実行可能な命令数を確保するのが難しかった。この命令数の確保は、追加命令を処理する特定処理演算器23を接続する場合に限らず、演算器13が基本的な命令だけでなく特殊な命令を実行する場合などにも問題になる。
命令コードマップを大きくすれば、実行可能な命令数を増加することが可能であるが、その分命令コードを表すビット数を増加させる必要があり、プロセッサの回路規模が大幅に増加する。
特開平5−88885号公報 特開平11−212804号公報 特開2001−184209号公報 特開平7−13758号公報 特表2004−511044号公報
実施形態によれば、プロセッサが有している機能を利用して、実際の使用に適した形で実行可能な命令数を増加することができるプロセッサが実現される。
本発明の観点によれば、命令を実行する演算部と、演算部で実行する命令をデコードし、オペコードを出力する命令デコード部と、割り込み信号を受け付ける割り込みレジスタと、を備え、命令デコード部は、命令に対応させて前記オペコードを記憶した命令コードマップを備え、入力された前記命令に応じてオペコードを出力し、命令コードマップは、命令の一部である追加命令に対して出力するオペコードのセットを切替オペコードとして複数セット記憶しており、割り込み信号に応じて切替オペコードのセットを切り替えるプロセッサが提供される。
実施形態のプロセッサによれば、割り込み信号と関連して命令コードマップを切り替えることにより、実際の使用に適した形で実行可能な命令数を増加することができる。
図1は、命令を追加することが可能なプロセッサを搭載した一般的なコンピュータのハードウェアの概略構成図である。 図2は、第1実施形態のコンピュータのハードウェアの概略構成図である。 図3は、割込レジスタ(REG)の構成を示す図である。 図4は、命令デコード部における命令デコードマップを示す図であり、(A)から(D)は割込み番号1から4に対応して追加命令領域のオペコードの変化を示す。 図5は、第1実施形態のコンピュータにおける命令デコード部の構成を示す図である。 図6は、追加命令を使用する割込み処理のプログラム例を示す図である。 図7は、割り込み信号がプロセッサに入力され、追加命令デコーダが切り替わるタイミングを示すタイムチャートである。 図8は、第2実施形態のコンピュータのハードウェアの概略構成図である。
図2は、第1実施形態のコンピュータのハードウェアの概略構成図である。
第1実施形態のコンピュータは、プロセッサ31と、命令メモリ21と、データメモリ22と、追加命令を処理する特定処理演算器23と、を有する。プロセッサ31は、命令デコード部32と、演算器33と、レジスタファイル34と、データ転送ブロック35と、割込レジスタ(REG)36と、を有する。命令デコード部32は、追加命令デコーダ42を有する。
半導体処理装置を含むチップ内外で発生される割込み信号を受け付けるプロセッサが知られている。プロセッサ31は、割込み信号に応答して、割込みハンドラに分岐して割り込み処理を実行し、割込み処理が終了するとリターン(RETI)命令により元の処理を実行するように復帰する。割込み信号は、実行する優先度に応じて割り込み番号が割り当てられた多重割込み構造を有している。プロセッサ31は、割込み処理を実行中により優先度の高い割込み信号を受け付けると、それまでの割込み処理を中断してより優先度の高い割込み処理を実行し、それが終了した後、中断した割込み処理に復帰する。割込みREG36は、割込み番号を保持するレジスタであり、プロセッサ31が割込みハンドラに分岐してからRETI命令により元の処理に復帰するまで、割込み番号を保持する。
図3は、割込レジスタ(REG)36の構成を示す図である。上記のような優先度に応じた多重割り込み番号を保持するため、割込REG36はスタック構造を有し、保持している割り込み番号に応じて通知信号を出力する。
図2に戻り、命令デコード部32は、命令メモリ21から読み出した命令をフェッチし、フェッチした命令をデコードし、演算器33または特定処理演算器23で実行するための命令オペレーション制御信号(オペコード)を生成する。ここで、デコードした命令が演算器33で実行する一般命令である場合には、生成したオペコードを演算器33に出力し、デコードした命令が特定処理演算器23で実行する追加命令である場合には、生成したオペコードを特定処理演算器23に出力する。追加命令であるか否かの判定は、割込REG36からの割込み番号を示す通知信号によって、追加命令デコーダ42内で割込み番号ごとに個別にデコードすることにより行なわれる。また、追加命令デコーダ42は、割込み番号に応じて命令コードマップを切り替える。
命令デコード部32は、オペコードを演算器13または特定処理演算器23に出力すると共に、命令の実行に必要なデータの情報をデータ転送ブロック15に送る。データ転送ブロック35は、命令を実行するのに必要なデータをデータメモリ22から読み出し、レジスタファイル34に格納する。演算器33は、オペコードに従ってレジスタファイル34に格納されたデータを処理し、処理結果のデータをレジスタファイル34に格納する。データ転送ブロック35は、処理結果のデータを、レジスタファイル34から読み出して、データメモリ22に記憶する。
以上のように、第1実施形態のコンピュータは、割込REG36が割込み信号を受け付け、割込REG36における割込み信号の受け付け状態に応じて、追加命令デコーダ42が制御される以外の構成および動作は、図1で説明した一般的なコンピュータと同じである。
図4は、命令デコード部32における命令デコードマップを示す図であり、(A)から(D)は割込み番号1から4に対応して追加命令領域のオペコードの変化を示す。
割込み番号1の割込み信号はタイマー処理ハンドラを起動し、割込み番号2の割込み信号はクロック処理ハンドラを起動し、割込み番号3の割込み信号はウォッチドックリセット処理ハンドラを起動し、割込み番号4の割込み信号はDMA転送ハンドラを起動する。
タイマー処理ハンドラで処理を行う場合には、割込み番号1の割込み信号をプロセッサ31に入力する。これに応じて、命令デコードマップは、4行目の後半の4個の命令が、タイマー処理ハンドラでの処理に使用する追加命令に対応するように切り替えられる。割込み番号1の割込み信号が入力されてタイマー処理ハンドラが起動されている間、追加命令デコーダ42は、命令デコードマップの4行目の後半の4個の命令コードが入力されると、図4の(A)の命令デコードマップに規定されたオペコードを出力する。同様に、割込み番号2の割込み信号が入力されてクロック処理ハンドラが起動されている間、追加命令デコーダ42は、命令デコードマップの4行目の後半の4個の命令コードが入力されると、図4の(B)の命令デコードマップに規定されたオペコードを出力する。割込み番号3または4の割込み信号が入力されてウォッチドックリセット処理ハンドラまたはDMA転送ハンドラが起動されている場合には、図4の(C)または(D)の命令デコードマップに規定されたオペコードが出力される。なお、命令デコードマップの追加命令領域以外の命令、すなわち図4の(A)から(D)の1〜3行目の24個の命令および4行目の前半の4個の命令が入力された場合には、割込み信号の入力にかかわらず、同一の各領域に対応するオペコードが出力される。
以上のように、命令デコードマップにおける32個の命令領域のうち、28個が通常命令領域であり、4個が追加命令領域であり、4個が追加命令領域は各割込み番号ごとに異なる追加命令領域とすることができるので、合計では16個の追加命令を実装できる。したがって、図1の(B)の例と比較すると、実装できる通常命令は4個増加し、追加命令は8個増加する。
前述のように、特定用途向けの命令を追加することが可能なプロセッサを搭載した半導体処理装置が使用されるが、その顧客アプリケーションを分析すると、追加命令は、割込み処理に対応して使用されることが多いことが判明した。そのため第1実施形態のように、追加命令領域に対応する追加命令を、割込み信号の種類に応じて切り替えても実用上問題がない。言い換えれば、追加命令を特定の割込み処理でのみ使用できるようにしても問題ない。さらに、第1実施形態では、割り込みハンドラを起動する割込み信号を入力するだけであり、命令デコードマップにおける追加命令領域の切替を指示する信号を追加および入力する必要がなく、信号数の増加およびステップ数の増加を抑制できる。なお、異なる割り込み処理で、同一の命令を追加命令として別々に規定してもよい。
図5は、第1実施形態のコンピュータにおける命令デコード部32の構成を示す図である。
図5に示すように、命令デコード部32は、一般命令デコーダ41と、追加命令デコーダ42A〜42Dと、追加命令オペコード選択回路43と、最終選択回路44と、論理和ゲート45と、ANDゲート46を有する。
一般命令デコーダ41は、追加命令以外の一般命令をデコードし、一般オペコードを出力する。
追加命令デコーダ42A〜42Dは、それぞれ追加命令をデコードし、割り込み番号に対応した追加命令オペコードを出力する。例えば、追加命令デコーダ42Aは、図4の(A)の割り込み番号1の追加命令領域の命令コードに対応したオペコードを出力する。以下、追加命令デコーダ42B〜42Dも、同様に、図4の(B)〜(D)の追加命令領域の命令コードに対応したオペコードを出力する。追加命令デコーダ42A〜42Dのそれぞれは、追加命令をデコードすると同時に、デコードできたことを示すValid信号を生成し、追加命令オペコードと同時に出力する。もし、追加命令が有効な領域ではなくデコードができなかった場合、つまりNOP(No OPeration)がデコードされた場合は、Valid信号はネゲートされる。
追加命令オペコード選択回路43は、追加命令デコーダ42A〜42Dの出力する追加命令オペコードを、割込REG36の出力する通知信号に応じて選択する。例えば、通知信号が割り込み信号1を示す場合には、追加命令オペコード選択回路43は、追加命令デコーダ42Aの出力を選択する。以下同様に、追加命令オペコード選択回路43は、通知信号が割り込み信号2〜4を示す場合には、追加命令デコーダ42B〜42Dの出力する追加命令オペコードを選択する。さらに、追加命令オペコード選択回路43は、追加命令デコーダ42A〜42Dの出力するValid信号の論理和を演算し、いずれかの追加命令デコーダ42A〜42Dの出力するValid信号が有効である場合には“1”を、そうでない場合には“0”を出力する。
論理和ゲート45は、通知信号の論理和を演算する。演算結果は、割り込みハンドラのいずれかが起動されている場合に“1”、いずれの割り込みハンドラも起動されていない場合に“0”になる。ANDゲートは、Valid信号と論理和ゲート45の論理積を演算する。演算結果は、割り込みハンドラのいずれかが起動されており、追加命令が有効にデコードされた場合に“1”に、それ以外の場合に“0”になる。
最終選択回路44は、ANDゲートの出力が“0”の場合に一般命令デコーダ41の出力する一般オペコードを選択し、ANDゲートの出力が“1”の場合に追加命令オペコード選択回路43の出力する追加命令オペコードを、選択する。
図6は、追加命令を使用する割込み処理のプログラム例を示す図である。この割込み処理は、タイマー処理である。このプログラムでは、一般命令では明に指定しなければいけない内容でも、割込みハンドラごとに処理が明確であるものについては、命令コードの中に処理を定義せずとも、デコード情報として予め織り込んでおくことができる。そのため、命令コードサイズを最小限にすることが出来る。この例では、タイマー制御レジスタを使用するが、ウォッチドックタイマ制御レジスタを使用する場合も同じである。さらに、この二つの制御レジスタはそれぞれ専用の割込み処理ハンドラ内でアクセスする場合には独立しているため、それぞれのステータス(status)レジスタを読む命令コードは同じにすることが可能であり、命令コードサイズを増やさずに済む。
図7は、割り込み信号がプロセッサ31に入力され、追加命令デコーダ42A〜42Dが切り替わるタイミングを示すタイムチャートである。図7に示すように、割り込みが入っていない状態で割込み信号1が入ったため、割込REG36の出力する通知信号は“1”になり、追加命令が入力された場合には、追加命令デコーダ42Aの出力する追加命令オペコードが選択される状態になる。なお、フェッチした命令コードが追加命令領域でない場合は、一般命令が選択される。ここで、割込み信号1に対応する割込みハンドラの処理中に、より優先度の高い割り込み信号2が入った場合、プロセッサ31は優先度の高い割込み処理に制御を移し、同時に割込REG36の出力も“2”に切り替わる。割込み処理信号2に対応する割込み処理が終了して、復帰命令(RETI)信号が出力されると、割込み処理は保留されていた割込み処理信号1に対応する割込みハンドラへ制御が移る。
第1実施形態で例として示した追加命令は、簡単のために演算命令としたが、本質的にはこれに限定する必要は無く、ロードストアや分岐命令などでもよい。
また、第1実施形態において、プロセッサは、割込み番号を契機に命令空間のページを切り替えるため、割込REGへのレジスタライトアクセスや、ソフトウェアによって遅延割り込みを発生させることによっても、命令空間のページ切り替えが可能である。
第1実施形態では、割込み信号により、割込み処理ハンドラが起動し、命令は命令メモリ21から命令を順次読み出して割込み処理を行う。これに対して、次に説明する第2実施形態では、割込み処理で行う処理を記述する一連の命令列の一部の命令列をプロセッサに記憶しておき、割込み処理ハンドラが起動されるとプロセッサ内に記憶されている命令列を利用して割込み処理を実行する。プロセッサ内に記憶されている命令列は、追加命令により開始される一連の命令である。
図8は、第2実施形態のコンピュータのハードウェアの概略構成図である。
第2実施形態のコンピュータは、プロセッサ51内に、シーケンサ52と、命令選択回路53と、を有することが、第1実施形態と異なり、他の部分は同じである。シーケンサ52は、割込み処理で行う処理を記述する一連の命令列の一部の命令列を記憶しており、この命令列は追加命令により開始される。命令選択回路53は、シーケンサ52から命令が出力される場合にはシーケンサ52から出力される命令を選択し、それ以外の場合には命令メモリ21から読み出した命令を選択する。
第2実施形態では、プロセッサ51は、割込みハンドラが起動されていない状態では、命令メモリ21から命令を読み出して通常の処理を行う。割り込み信号が入力されると、第1実施形態と同様に、割り込み信号の種類に応じて命令デコードマップの追加命令領域が切り替えられる。ここで、命令メモリ21からフェッチした追加命令が、シーケンサ52に記憶した命令列を開始させる追加命令である場合には、シーケンサ52から出力される命令にしたがって割り込み処理を行なう。なお、命令メモリ21からフェッチした追加命令が、シーケンサ52に記憶した命令列を開始させる追加命令でない場合には、第1実施形態と同様の割込み処理を行う。
以上、第1および第2実施形態を説明したが、各種の変形例が可能であるのはいうまでもない。例えば、第1および第2実施形態では、追加命令を実行する特定処理演算器23を接続し、割り込み信号の種類に応じて命令デコードマップの追加命令領域が切り替える場合を例として説明した。しかし、第1および第2実施形態の構成は、特定処理演算器23を接続しない場合にも同様に適用できる。例えば、命令デコードマップの追加命令領域に相当する領域を切替領域として、割り込み信号の種類に応じて、切替領域の命令を、割り込み信号の種類に応じた命令に切り替える。この場合でも、切替領域に対応する命令を、割込み信号の種類に応じて、割り込み処理に適した特殊な追加命令に切り替えることにより、顧客の所望の命令を実際の使用に即して利用可能にし、信号数の増加およびステップ数の増加を生じない。
以上、実施形態を説明したが、ここに記載したすべての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものであり、特に記載された例や条件は発明の範囲を制限することを意図するものではなく、明細書のそのような例の構成は発明の利点および欠点を示すものではない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。
21 命令メモリ
22 データメモリ
23 特定処理演算器
31 プロセッサ
32 命令デコード部
33 演算器
34 レジスタファイル
35 データ転送ブロック
36 割込レジスタ(REG)
41 一般命令デコーダ
42,42A−42D 追加命令デコーダ

Claims (4)

  1. 命令を実行する演算部と、
    前記演算部で実行する命令をデコードし、オペコードを出力する命令デコード部と、
    割り込み信号を受け付ける割り込みレジスタと、を備え、
    前記命令デコード部は、命令に対応させて前記オペコードを記憶した命令コードマップを備え、入力された前記命令に応じて前記オペコードを出力し、
    前記命令デコード部によりデコードされる前記命令は、一般命令及び追加命令のうちの少なくとも一方を含み、
    前記命令コードマップは、前記一般命令に対して出力する一般オペコードのセットを記憶する通常命令領域と、前記追加命令に対して出力する追加オペコードのセットを記憶する追加命令領域とを含み、前記割り込みレジスタが受け付けた前記割り込み信号の種類に応じて前記追加命令領域に記憶された前記追加オペコードのセットを他のオペコードのセットに切り替え
    前記割り込み信号は、タイマー処理ハンドラを起動する割り込み信号、クロック処理ハンドラを起動する割り込み信号、ウォッチドックリセット処理ハンドラを起動する割り込み信号、及びDMA転送ハンドラを起動するする割り込み信号のうちのいずれかを含むことを特徴とするプロセッサ。
  2. 前記命令デコード部はさらに、
    前記一般命令をデコードし、一般オペコード出力する一般命令デコーダと、
    前記追加命令をデコードし、追加オペコード出力する複数の追加命令デコーダであって、前記追加オペコードの前記セットのそれぞれに対応した複数の追加命令デコーダと、
    前記複数の追加命令デコーダの出力する追加オペコード、前記割り込みレジスタのデータに応じて選択するオペコード選択回路と、
    前記一般命令デコーダの出力する前記一般オペコードと、前記オペコード選択回路の出力する前記追加オペコードの一方を、選択する最終選択回路と、を備える請求項1記載のプロセッサ。
  3. 前記割り込み信号は、多重割り込み関係を有し、
    前記割り込みレジスタは、スタック構造を有する請求項1または2記載のプロセッサ。
  4. 前記割り込み信号に応じて行う処理を記述する命令列のうち少なくとも一部の命令列を記憶するシーケンサをさらに備え、
    前記割り込み信号に応じて処理を行うときにフェッチされた前記追加命令が、前記シーケンサに記憶された命令列を開始させる命令である場合、前記シーケンサは、前記少なくとも一部の命令列を前記命令デコード部に出力する請求項1から3のいずれか1項記載のプロセッサ。
JP2011180456A 2011-08-22 2011-08-22 プロセッサ Active JP5922353B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2011180456A JP5922353B2 (ja) 2011-08-22 2011-08-22 プロセッサ
EP12180833A EP2562639A1 (en) 2011-08-22 2012-08-17 Processor using interrupt signal to define instruction decoding
US13/589,354 US9411594B2 (en) 2011-08-22 2012-08-20 Clock data recovery circuit and clock data recovery method
CN201210310346.2A CN102955683B (zh) 2011-08-22 2012-08-22 使用中断信号定义指令解码的处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011180456A JP5922353B2 (ja) 2011-08-22 2011-08-22 プロセッサ

Publications (2)

Publication Number Publication Date
JP2013045145A JP2013045145A (ja) 2013-03-04
JP5922353B2 true JP5922353B2 (ja) 2016-05-24

Family

ID=47221086

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011180456A Active JP5922353B2 (ja) 2011-08-22 2011-08-22 プロセッサ

Country Status (4)

Country Link
US (1) US9411594B2 (ja)
EP (1) EP2562639A1 (ja)
JP (1) JP5922353B2 (ja)
CN (1) CN102955683B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160344127A1 (en) * 2015-05-20 2016-11-24 Delphi Technologies, Inc. Electroconductive material with an undulating surface, an electrical terminal formed of said material, and a method of producing said material
CN111353595A (zh) * 2018-12-20 2020-06-30 上海寒武纪信息科技有限公司 运算方法、装置及相关产品
US11263014B2 (en) * 2019-08-05 2022-03-01 Arm Limited Sharing instruction encoding space between a coprocessor and auxiliary execution circuitry

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61267833A (ja) * 1985-05-23 1986-11-27 Seiko Epson Corp マイクロコンピユ−タのインストラクシヨンセツト構成方式
US5499348A (en) * 1990-02-27 1996-03-12 Matsushita Electric Industrial Co., Ltd. Digital processor capable of concurrently executing external memory access and internal instructions
JPH0476626A (ja) * 1990-07-13 1992-03-11 Toshiba Corp マイクロコンピュータ
JPH0588885A (ja) 1991-09-30 1993-04-09 Fujitsu Ltd 中央処理装置
JPH0713758A (ja) 1993-06-29 1995-01-17 Hitachi Ltd 命令デコード方法
JPH11212804A (ja) 1998-01-30 1999-08-06 Matsushita Electric Ind Co Ltd 仮想マシン及びプログラム変換装置
US6304954B1 (en) * 1998-04-20 2001-10-16 Rise Technology Company Executing multiple instructions in multi-pipelined processor by dynamically switching memory ports of fewer number than the pipeline
JP2000137619A (ja) * 1998-11-02 2000-05-16 Hitachi Ltd マイクロコンピュータ
JP2001184209A (ja) 1999-12-24 2001-07-06 Nec Ic Microcomput Syst Ltd 命令コード復号装置及びその復号方法
GB2367654B (en) 2000-10-05 2004-10-27 Advanced Risc Mach Ltd Storing stack operands in registers
US7434030B2 (en) * 2001-09-12 2008-10-07 Renesas Technology Corp. Processor system having accelerator of Java-type of programming language
US20030154347A1 (en) * 2002-02-12 2003-08-14 Wei Ma Methods and apparatus for reducing processor power consumption
JP3805314B2 (ja) * 2003-02-27 2006-08-02 Necエレクトロニクス株式会社 プロセッサ
CA2532077C (en) * 2003-07-14 2013-06-25 Moore Computer Consultants, Inc. Handheld device connectable to a mail server using wireless network and to a pc using local link for synchronisation
KR100573334B1 (ko) * 2005-08-31 2006-04-24 주식회사 칩스앤미디어 실시간 동적 수정이 가능한 명령어 집합을 가지는 컴퓨터
US8049760B2 (en) * 2006-02-06 2011-11-01 Via Technologies, Inc. System and method for vector computations in arithmetic logic units (ALUs)
JP2008129851A (ja) * 2006-11-21 2008-06-05 Matsushita Electric Ind Co Ltd 演算処理装置
US7843215B2 (en) * 2007-03-09 2010-11-30 Quadric, Inc. Reconfigurable array to compute digital algorithms
JP2009181312A (ja) * 2008-01-30 2009-08-13 Toshiba Corp プロセッサ
GB2484489A (en) * 2010-10-12 2012-04-18 Advanced Risc Mach Ltd Instruction decoder using an instruction set identifier to determine the decode rules to use.

Also Published As

Publication number Publication date
CN102955683B (zh) 2016-07-20
JP2013045145A (ja) 2013-03-04
EP2562639A1 (en) 2013-02-27
CN102955683A (zh) 2013-03-06
US9411594B2 (en) 2016-08-09
US20130054941A1 (en) 2013-02-28

Similar Documents

Publication Publication Date Title
JP4986431B2 (ja) プロセッサ
JP2019032859A (ja) 書込マスクを用いて2つのソースオペランドを単一のデスティネーションに融合するシステム、装置及び方法
CN109145353B (zh) 用于管线间数据危害避免的方法和系统
US8006114B2 (en) Software programmable timing architecture
KR102592056B1 (ko) 패킹된 데이터 정렬 플러스 계산 명령어, 프로세서,방법, 및 시스템
JP2002333978A (ja) Vliw型プロセッサ
JP2018500657A (ja) 融合された単一のサイクルのインクリメント−比較−ジャンプを実施するための命令及びロジック
CN107533460B (zh) 紧缩有限冲激响应(fir)滤波处理器、方法、系统和指令
KR100983135B1 (ko) 패킷의 의존성 명령을 그룹핑하여 실행하는 프로세서 및 방법
JP5922353B2 (ja) プロセッサ
JP2022550059A (ja) プロセッサおよびその内部の割り込みコントローラ
JP5316407B2 (ja) 演算処理装置および演算処理装置の制御方法
JP2014191663A (ja) 演算処理装置、情報処理装置、および演算処理装置の制御方法
US7543135B2 (en) Processor and method for selectively processing instruction to be read using instruction code already in pipeline or already stored in prefetch buffer
CN108628639B (zh) 处理器和指令调度方法
US8560811B2 (en) Lane crossing instruction selecting operand data bits conveyed from register via direct path and lane crossing path for execution
JP4444305B2 (ja) 半導体装置
US9483263B2 (en) Uncore microcode ROM
JP5659772B2 (ja) 演算処理装置
JP5437878B2 (ja) 情報処理装置
US8255672B2 (en) Single instruction decode circuit for decoding instruction from memory and instructions from an instruction generation circuit
TWI493450B (zh) 用於在微碼呼叫程式與微碼次常式之間傳遞別名參數的設備、方法、物件及系統
JP5673322B2 (ja) ベクトル処理装置、システムおよびベクトル処理装置の動作方法
US20140089645A1 (en) Processor with execution unit interoperation
US20140281368A1 (en) Cycle sliced vectors and slot execution on a shared datapath

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20130822

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140821

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150430

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150702

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150917

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20151019

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20160118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160125

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20160226

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: 20160405

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160414

R150 Certificate of patent or registration of utility model

Ref document number: 5922353

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250