JP5679263B2 - 情報処理装置及びマイクロ命令処理方法 - Google Patents

情報処理装置及びマイクロ命令処理方法 Download PDF

Info

Publication number
JP5679263B2
JP5679263B2 JP2010124106A JP2010124106A JP5679263B2 JP 5679263 B2 JP5679263 B2 JP 5679263B2 JP 2010124106 A JP2010124106 A JP 2010124106A JP 2010124106 A JP2010124106 A JP 2010124106A JP 5679263 B2 JP5679263 B2 JP 5679263B2
Authority
JP
Japan
Prior art keywords
software instruction
microinstruction
unit
prefetch
software
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
JP2010124106A
Other languages
English (en)
Other versions
JP2011248820A (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 Platforms Ltd
Original Assignee
NEC Platforms 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 NEC Platforms Ltd filed Critical NEC Platforms Ltd
Priority to JP2010124106A priority Critical patent/JP5679263B2/ja
Publication of JP2011248820A publication Critical patent/JP2011248820A/ja
Application granted granted Critical
Publication of JP5679263B2 publication Critical patent/JP5679263B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Advance Control (AREA)

Description

本発明はマイクロ命令の処理にかかる情報処理装置及びマイクロ命令処理方法に関する。
情報処理装置において、プロセッサは命令セットアーキテクチャによって定められた命令(以後の記載ではソフトウェア命令と記載する。)を単純な命令であるマイクロ命令に分割して実行する。
マイクロ命令制御を行う情報処理装置において、制御記憶容量の減少、命令処理性能の向上の要求が高まっている。特許文献1には、制御記憶容量の減少、命令処理性能の向上を図る情報処理装置に関する技術が開示されている。
図6は、特許文献1に記載の情報処理装置の構成を示すブロック図である。以下に当該情報処理装置の動作を説明する。制御記憶560は、マイクロ命令を格納している。シーケンス記憶540は制御記憶560のマイクロ命令の実行順序を定めたシーケンスコードを格納している。命令制御ユニット510は命令(ソフトウェア命令)を解読し、シーケンス記憶540の読み出しアドレスを生成する。命令制御ユニット510は当該アドレスを先頭にして、シーケンス記憶540からシーケンスコードを順次読み出す。命令制御ユニット510は、当該シーケンスコードを制御記憶560の読み出しアドレスとして制御記憶560のマイクロ命令を順次読み出し、当該マイクロ命令を実行ユニット580に順次送出する。
上述のように、マイクロ命令に対するシーケンスコードを順次生成して実行することにより、当該情報処理装置は制御記憶560に格納するマイクロ命令の格納容量を削減している。これにより、当該情報処理装置は処理効率を向上させている。
特開平9−185505号公報
しかしながら、特許文献1に記載の情報処理装置では、実行するソフトウェア命令を解読して確定しなければ、当該ソフトウェア命令に対応するマイクロ命令のシーケンスコードを生成できない。すなわち、特許文献1に記載の情報処理装置では、ソフトウェア命令の処理順序が確定しなければ、当該ソフトウェア命令に対応するマイクロ命令を実行可能な状態に出来ない(先取りできない)という問題があった。
本発明はこの問題点を解決するためになされたものであり、ソフトウェア命令の実行順序が確定する前であっても、当該ソフトウェア命令に対応するマイクロ命令を実行可能な状態にできる(先取りできる)情報処理装置を提供することを主たる目的とする。
本発明にかかる情報処理装置の一態様は、実行前のソフトウェア命令を先取りするソフトウェア命令先取部と、前記ソフトウェア命令先取部が取得した前記ソフトウェア命令を格納するとともに、格納された前記ソフトウェア命令が実行されているか否かの判定であるソフトウェア命令実行判定を行うソフトウェア命令記憶部と、前記ソフトウェア命令記憶部から前記ソフトウェア命令を取得して実行するソフトウェア命令実行部と、前記ソフトウェア命令実行判定において実行されていない前記ソフトウェア命令が存在すると判定された場合に、前記ソフトウェア命令先取部により先取り済みの前記ソフトウェア命令に対応するマイクロ命令が読出し可能か否かを判定し、読出し可能である場合には当該マイクロ命令を読み出すマイクロ命令先取部と、前記マイクロ命令先取部が取得した前記マイクロ命令を格納するマイクロ命令記憶部と、前記マイクロ命令記憶部に格納された前記マイクロ命令を取得して実行するマイクロ命令実行部と、を備えるものである。
本発明にかかるマイクロ命令処理方法の一態様は、実行前のソフトウェア命令を先取りするソフトウェア命令先取ステップと、先取した前記ソフトウェア命令を取得して実行するソフトウェア命令実行ステップと、前記ソフトウェア命令先取ステップにおいて先取した前記ソフトウェア命令が実行済みであるか否かの判定であるソフトウェア命令実行判定を行うソフトウェア命令判定ステップと、前記ソフトウェア命令実行判定において実行されていない前記ソフトウェア命令が存在すると判定された場合に、前記ソフトウェア命令先取ステップにおいて先取り済みの前記ソフトウェア命令に対応するマイクロ命令が読出し可能か否かを判定し、読出し可能である場合には当該マイクロ命令を読み出すマイクロ命令先取ステップと、前記マイクロ命令先取ステップにおいて読み出された前記マイクロ命令を順次実行するマイクロ命令実行ステップと、を備えるものである。
本発明によれば、ソフトウェア命令の実行順序が確定する前であっても、当該ソフトウェア命令に対応するマイクロ命令を実行可能な状態にする(先取りする)情報処理装置を提供することができる。
実施の形態1にかかる情報処理装置の構成を示すブロック図である。 実施の形態1にかかる情報処理装置のマイクロ命令先取処理を示すフローチャートである。 実施の形態1にかかる情報処理装置の動作例を示す概念図である。 実施の形態1にかかる情報処理装置と、特許文献1にかかる情報処理装置の動作を示すタイミングチャートの説明図である。 実施の形態1にかかる情報処理装置と、特許文献1にかかる情報処理装置の動作を示すタイミングチャートである。 特許文献1にかかる情報処理装置の構成を示すブロック図である。
<実施の形態1>
以下、図面を参照して本発明の実施の形態について説明する。情報処理装置1は、記憶装置10と、プロセッサ20と、を備える。記憶装置10は、ソフトウェア命令格納部11と、マイクロ命令格納部12と、アドレス情報格納部13と、を備える。プロセッサ20は、ソフトウェア命令先取部21と、ソフトウェア命令記憶部22と、ソフトウェア命令実行部23と、マイクロ命令先取部24と、マイクロ命令記憶部25と、マイクロ命令実行部26と、を備える。
記憶装置10は、所謂メモリ装置であり、RAM(Random Access Memory)、ROM(Read Only Memory)等が該当する。ソフトウェア命令格納部11は、実行対象となるソフトウェア命令を格納する記憶部である。マイクロ命令格納部12は、実行対象となるマイクロ命令を格納する記憶部である。アドレス情報格納部13は、実行対象となるマイクロ命令の読み出しアドレスを格納する記憶部である。これらの記憶部には、予め実行対象のソフトウェアプログラムに対応するデータが格納されている。
ソフトウェア命令先取部21は、ソフトウェア命令の実行状況に応じて、実行前のソフトウェア命令を先取りする処理部である。ソフトウェア命令先取部21は、先取対象アドレス110を用いてソフトウェア命令格納部11から実行前のソフトウェア命令111を取得する。ソフトウェア命令先取部21は取得したソフトウェア命令を先取ソフトウェア命令210としてソフトウェア命令記憶部22に書き込む。
ソフトウェア命令先取部21は、後述の先取キャンセル命令230が供給された場合にソフトウェア命令の取得を一時停止する。また、ソフトウェア命令先取部21は、後述の実行アドレス231に応じた命令からソフトウェア命令の先取を再開する。
ソフトウェア命令記憶部22は、ソフトウェア命令先取部21が取得したソフトウェア命令を格納する記憶領域を備えた処理部である。ソフトウェア命令記憶部22は、内部に書込みポインタ及び読出しポインタを備える。書込みポインタは、ソフトウェア命令先取部21が最後に書き込んだソフトウェア命令を示す。読出しポインタは、後述のソフトウェア命令実行部23が最後にソフトウェア命令記憶部22から読み出したソフトウェア命令を示す。ソフトウェア命令記憶部22は、先取ソフトウェア命令210が書き込まれた場合に書込みポインタを更新する。
ソフトウェア命令記憶部22は、読出しポインタと、書込みポインタとの比較を行う。本例では、ソフトウェア命令1、ソフトウェア命令2、ソフトウェア命令3の順序に従いソフトウェア命令が実行される。ここで、読出しポインタの値がソフトウェア命令2であり、書込みポインタがソフトウェア命令3である場合、ソフトウェア命令記憶部22は書込みポインタが読出しポインタより大きい(以下の記載では「書込みポインタ>読出しポインタ」とも記載する。)と判定する。言い換えると、ソフトウェア命令記憶部22はソフトウェア命令先取部21が読み出したソフトウェア命令がソフトウェア命令実行部23により実行されているか否かを判定する(以下の記載ではソフトウェア命令実行判定とも記載する。)。書込みポインタ>読出しポインタを満たす場合、ソフトウェア命令記憶部22は、マイクロ命令先取許可信号222をマイクロ命令先取部24に供給する。また、ソフトウェア命令記憶部22は後述のマイクロ命令先取部24が取得済みのマイクロ命令を示すマイクロ命令先取ポインタ223が供給される。ソフトウェア命令記憶部22は、格納済みのソフトウェア命令をソフトウェア命令先取ポインタ224により後述のマイクロ命令先取部24に通知する。
ソフトウェア命令記憶部22は、ソフトウェア命令実行部23からソフトウェア命令読出し要求220が供給された場合に読出しポインタを更新する。その後、ソフトウェア命令記憶部22はソフトウェア命令読出し要求220に応じたソフトウェア命令221をソフトウェア命令実行部23に供給する。
ソフトウェア命令記憶部22は、後述するソフトウェア命令実行部23から先取キャンセル命令230が供給された場合、書込みポインタ及び読出しポインタをリセットする。すなわち、ソフトウェア命令記憶部22は処理を行っている有効なソフトウェア命令が内部に存在しない状態に設定する。
ソフトウェア命令実行部23は、ソフトウェア命令記憶部22から取得したソフトウェア命令を解読して実行する処理部である。ソフトウェア命令実行部23は、ソフトウェア命令の実行状況に合わせてソフトウェア命令読出し要求220を更新する。
ソフトウェア命令実行部23は、読み出したソフトウェア命令が分岐命令であって分岐先のソフトウェア命令を実行する場合、実行アドレス231をソフトウェア命令先取部21、ソフトウェア命令記憶部22、及びマイクロ命令先取部24に通知する。また、ソフトウェア命令実行部23は先取キャンセル命令230をソフトウェア命令先取部21、ソフトウェア命令記憶部22、及びマイクロ命令先取部24に通知する。
マイクロ命令先取部24は、マイクロ命令先取許可信号222が供給された場合にマイクロ命令先取ポインタ223をソフトウェア命令記憶部22に出力し、ソフトウェア命令先取ポインタ224を読み出す。マイクロ命令先取部24は内部に読出しポインタを備える。当該読出しポインタは、マイクロ命令格納部12から読み出したマイクロ命令に対応するソフトウェア命令の値が保持される。たとえば、マイクロ命令先取部24がソフトウェア命令1に対応するマイクロ命令を取得済みであり、ソフトウェア命令2に対応するマイクロ命令を未取得である場合、読出しポインタはソフトウェア命令2となる。この場合、マイクロ命令先取部24は、ソフトウェア命令1に対応するマイクロ命令が取得済みであることをマイクロ命令先取ポインタ223によりソフトウェア命令記憶部22に通知する。
マイクロ命令先取部24は、ソフトウェア命令先取ポインタ224と内部の読出しポインタを比較し、マイクロ命令が先取可能か否かを判断する。具体的な判断方法は、図2を用いて後述する。マイクロ命令が先取可能である場合、マイクロ命令先取部24は読み出したソフトウェア命令先取ポインタ224を参照して生成したマイクロ命令読出し要求130を出力し、マイクロ命令のアドレス131をアドレス情報格納部13から読み出す。マイクロ命令先取部24は読み出したアドレス131からマイクロ命令を取り出すためのマイクロ命令先取アドレス120を生成する。マイクロ命令先取部24は、ソフトウェア命令先取部21が取得済みのソフトウェア命令と対応するマイクロ命令であり、未取得のマイクロ命令121をマイクロ命令格納部12から読み出す。マイクロ命令先取部24は読み出したマイクロ命令をマイクロ命令記憶部25に供給する。
また、先取キャンセル命令230が供給された場合、マイクロ命令先取部24は内部の読出しポインタをリセットし、マイクロ命令の先取処理を停止する。マイクロ命令先取許可信号222が供給された場合に、マイクロ命令先取部24はマイクロ命令の先取処理を再開する。
マイクロ命令記憶部25は、マイクロ命令先取部24から供給されたマイクロ命令を格納する処理部である。マイクロ命令先取部24からマイクロ命令が書き込まれた場合、マイクロ命令記憶部25は書込みポインタを更新する。また、後述するマイクロ命令実行部26からマイクロ命令読出し要求250が供給された場合、マイクロ命令記憶部25は読出しポインタを更新する。
読出しポインタは、マイクロ命令実行部26内が読み込み済みのマイクロ命令を示すポインタである。書込みポインタは、マイクロ命令先取部24がマイクロ命令記憶部25に書き込んだマイクロ命令を示すポインタである。
また、先取キャンセル命令230が供給された場合、マイクロ命令記憶部25は内部の書込みポインタ及び読出しポインタをリセットする。すなわち、マイクロ命令記憶部25は内部に有効なマイクロ命令を保持していない状態に設定する。
マイクロ命令実行部26は、マイクロ命令をマイクロ命令記憶部25から読み出して順次実行するための処理部である。マイクロ命令実行部26は、マイクロ命令読出し要求250を出力し、マイクロ命令251を順次読み出して解読及び実行する。また、マイクロ命令実行部26はマイクロ命令実行中にマイクロ命令の実行シーケンスが変更される場合にマイクロ命令キャンセル信号260をソフトウェア命令実行部23に供給する。ソフトウェア命令実行部23は、マイクロ命令キャンセル信号260が供給された場合にはマイクロ命令先取部24に対して先取キャンセル命令230を供給する。
次に、本実施の形態にかかる情報処理装置のマイクロ命令先取処理の制御方法を図2のフローチャートを用いて説明する。ソフトウェア命令記憶部22は、書込みポインタ>読出しポインタの状態となっているか否かを判定する(S11)。すなわち、ソフトウェア命令記憶部22は、実行中のソフトウェア命令以降のソフトウェア命令が内部に格納されているか否かを判定する。書込みポインタ>読出しポインタを満たさない場合(S11:No)、マイクロ命令先取部24はマイクロ命令の読出しを行わない。
ソフトウェア命令記憶部22において書込みポインタ>読出しポインタを満たす場合(S11:Yes)、マイクロ命令先取部24は先取り済みのソフトウェア命令に対応するマイクロ命令が取り出し可能であるか否かを判定する(S12)。当該判定は、マイクロ命令先取部24がソフトウェア命令先取ポインタ224と内部の読出しポインタを比較することにより行う。すなわち、マイクロ命令先取り部24はソフトウェア先取部21により読み出されたソフトウェア命令に対応するマイクロ命令の読出しが完了している否かを判定する。当該マイクロ命令の読出しが完了していない場合、マイクロ命令先取部24はマイクロ命令をマイクロ命令格納部12から読み出すことができる。
先取り済みのソフトウェア命令に対応するマイクロ命令が取り出し可能である場合(S12:Yes)、マイクロ命令先取部24はマイクロ命令をマイクロ命令格納部12から読み出す(S13)。先取り済みのソフトウェア命令に対応するマイクロ命令が取り出し可能ではない場合(S12:No)、マイクロ命令先取部24はマイクロ命令の読出しを行わない。
次に図3を用いて、本実施の形態にかかる情報処理装置の動作例を説明する。図3には、各ソフトウェア命令とマイクロ命令との関連を示されている。図3の例では、マイクロ命令先取部24が複数のマイクロ命令を先取可能な状態である。すなわち、上述の図2における条件S11(ソフトウェア命令記憶部22において書込みポインタ>読出しポインタ)及びS12(先取り済みのソフトウェア命令に対応するマイクロ命令が取り出し可能)が満たされている。
また、図3の例において、ソフトウェア命令記憶部22には、ソフトウェア命令1〜3が格納されている。この場合、ソフトウェア命令記憶部22の書込みポインタはソフトウェア命令3となる。すなわち、ソフトウェア命令先取部21は、ソフトウェア命令1〜3をソフトウェア命令格納部11から取得済みである。
また、ソフトウェア命令実行部23はソフトウェア命令1を実行中である。すなわち、ソフトウェア命令記憶部22の読出しポインタはソフトウェア命令1である。
さらにまた、マイクロ命令先取部24の読出しポインタは、ソフトウェア命令2を示している。すなわち、マイクロ命令先取部24はソフトウェア命令2に対応するマイクロ命令の取得が終わっていないことを示している。
上述の状態において、ソフトウェア命令記憶部22は書込みポインタ>読出しポインタ(ソフトウェア命令3>ソフトウェア命令1)であると判定し、マイクロ命令先取許可信号222をマイクロ命令先取部24に供給する。また、ソフトウェア命令記憶部22は、ソフトウェア命令3まで取得済みであることをソフトウェア命令先取ポインタ224によりマイクロ命令先取部24に通知する。
マイクロ命令先取許可信号222が供給された場合、マイクロ命令先取部24はソフトウェア命令先取ポインタ224(ソフトウェア命令3)に基づいてマイクロ命令を取得する。本例では、マイクロ命令先取部24はソフトウェア命令先取ポインタ224と、内部の読出しポインタ(ソフトウェア命令2)と、からソフトウェア命令2を読み出すことを決定する。
マイクロ命令先取部24は、ソフトウェア命令2に対応するマイクロ命令のアドレス情報131をアドレス情報格納部13から取得する。そして、マイクロ命令先取部24は取得したアドレス情報を用いてソフトウェア命令2に対応するマイクロ命令2−1〜2−4の取得を順次行う。マイクロ命令2−4の取得が終了した場合、マイクロ命令先取部24は内部の読出しポインタをソフトウェア命令3に更新する。すなわち、マイクロ命令先取部24は、ソフトウェア命令2に対応するマイクロ命令の取得が終了した状態に設定する。
次に、ソフトウェア命令記憶部22は書込みポインタ>読出しポインタ(ソフトウェア命令3>ソフトウェア命令1)であると再度判定し、マイクロ命令先取許可信号222をマイクロ命令先取部24に供給する。また、マイクロ命令先取部24は、ソフトウェア命令先取部21により取得が終了したソフトウェア命令3に対応するマイクロ命令を未取得であると判定する。すなわち、マイクロ命令先取部24は、ソフトウェア命令3に対応するマイクロ命令が先取可能であると判定する。マイクロ命令先取部24はソフトウェア命令3に対応するマイクロ命令3−1〜3−4をマイクロ命令格納部12から読み出す。マイクロ命令3−4の取得が終了した場合、マイクロ命令先取部24は内部の読出しポインタをソフトウェア命令4(ソフトウェア命令3に後続する命令であり、図示せず)に更新する。すなわち、マイクロ命令先取部24は、ソフトウェア命令3に対応するマイクロ命令の取得が終了した状態に設定する。
マイクロ命令先取部24がソフトウェア命令3に対応するマイクロ命令を取得した後にソフトウェア命令先取部24がソフトウェア命令の取得を行わなかった場合、上述のマイクロ命令先取処理の条件(図2、S12)が満たされない。そのため、マイクロ命令先取部24は、マイクロ命令の読出し処理を停止する。
また、ソフトウェア命令実行部23は、実行対象のソフトウェア命令のシーケンス(処理順序)が変更された時点において、先取キャンセル命令230をソフトウェア命令記憶部22に供給する。先取キャンセル命令230が供給されたソフトウェア命令記憶部22は、書込みポインタ及び読出しポインタをリセットする。当該ポインタ群がリセットされた場合、ソフトウェア命令記憶部22はマイクロ命令先取許可信号222を無効化する。これにより、マイクロ命令先取部24はマイクロ命令の読出し処理を一時停止する。
ソフトウェア命令先取部21は適宜ソフトウェア命令の読出し、及び読み出したソフトウェア命令をソフトウェア命令記憶部22に書き込む。当該書き込み処理により、ソフトウェア命令記憶部22はマイクロ命令先取許可信号222を再度有効にしてマイクロ命令先取部24に供給する。有効なマイクロ命令先取許可信号222が供給されたマイクロ命令先取部24は、マイクロ命令の読出し処理を再開する。
次に図4及び図5を用いて、本実施の形態にかかる情報処理装置と、特許文献1に記載の情報処理装置との動作の差異について説明する。図5は、本実施の形態にかかる情報処理装置と特許文献1に記載の情報処理装置の動作比較を示すパイプライン構成の図である。図4は、図5に用いる各パイプラインステージを説明する図である。具体的には、各パイプラインの処理の概要が示されている。特許文献1の情報処理装置では、マイクロ命令のシーケンスコードの処理(SE、SA、SR)を行う。
図5を用いて本実施の形態にかかる情報処理装置と、特許文献1に記載の情報処理装置の動作の差異について説明する。特許文献1に記載の情報処理装置では、シーケンスコードの加算を行った後に後続のソフトウェア命令の読出しと解読処理(D)を行っている。すなわち、特許文献1に記載の情報処理装置では、ソフトウェア命令の実行順序が定まる(図中のSAの処理が終了する)までは後続のソフトウェア命令の処理が開始できず、これに伴いソフトウェア命令の実行順序が定まるまで後続のマイクロ命令の取得等ができない。
また、特許文献1に記載の情報処理装置では、シーケンスコードの処理をマイクロ命令毎に行う必要がある。また、ソフトウェア命令のシーケンスに変更が生じる場合、シーケンスコードに関する処理が大きくなる。
さらにまた、特許文献1に記載の情報処理装置では、ソフトウェア命令の実行順序が確定し、その順序に従ってマイクロ命令の読出しを行う必要がある。
一方、本実施の形態にかかる情報処理装置の動作について説明する。本実施の形態にかかる情報処理装置では、ソフトウェア命令の実行順序が定まるか否かによらずマイクロ命令の読出し処理を行う。また、本実施の形態にかかる情報処理装置ではマイクロ命令のシーケンスコードの処理(SE、SA、SR)を行わない。さらにまた、本実施の形態にかかる情報処理装置では、ソフトウェア命令のシーケンスに関わらずマイクロ命令を取り出す。
続いて、本実施の形態にかかる情報処理装置の効果について説明する。上述のように本実施の形態にかかる情報処理装置は、ソフトウェア命令の実行順序が定まるか否かによらずマイクロ命令を読み出す。これにより、マイクロ命令の読出し処理効率を向上させることができる。また、本実施の形態にかかる情報処理装置は、マイクロ命令のシーケンスコードの処理を行わないため、マイクロ命令の処理効率を向上させることができる。さらにまた、本実施の形態にかかる情報処理装置では、ソフトウェア命令の処理シーケンスに関わらずマイクロ命令を取り出すことにより、非連続的なマイクロ命令の読出しを実現できる。
上述した本実施の形態にかかる情報処理装置では、マイクロ命令の制御を行うための専用ハードウェアを必要としない。一般にマイクロ命令の処理を行うハードウェアを用いた場合、マイクロ命令処理の処理効率を向上できる。しかし、専用ハードウェアを用いることは費用面等から困難な場合が多い。本実施の形態では、専用のハードウェアを用いることなくマイクロ命令の処理効率を向上させることができる。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。たとえば、情報処理装置1はソフトウェア命令記憶部22に格納されたソフトウェア命令を利用して複数のソフトウェア命令にかかるオペランドを先取するオペランド先取部を備える構成であってもよい。当該オペランド先取部は、マイクロ命令先取部21と略同一の手法によりオペランドを取得する処理部である。
また、ソフトウェア命令先取部21及びマイクロ命令先取部24は複数のプロセッサ内に備えられてもよい。複数のプロセッサ内に当該処理部が存在することにより、マルチコアプロセッサ構成のシステムにも本発明の構成を適用することができる。
さらにまた、アドレスフィールドを持たない垂直型のマイクロ命令に対しても、上述の情報処理装置はマイクロ命令語長を用いることによりマイクロ命令の先取処理を行うことができる。
1 情報処理装置
10 記憶装置
11 ソフトウェア命令格納部
12 マイクロ命令格納部
13 アドレス情報格納部
20 プロセッサ
21 ソフトウェア命令先取部
22 ソフトウェア命令記憶部
23 ソフトウェア命令実行部
24 マイクロ命令先取部
25 マイクロ命令記憶部
26 マイクロ命令実行部

Claims (4)

  1. 実行前のソフトウェア命令を先取りするソフトウェア命令先取部と、
    前記ソフトウェア命令先取部が取得した前記ソフトウェア命令を格納するとともに、格納された前記ソフトウェア命令が実行されているか否かの判定であるソフトウェア命令実行判定を行うソフトウェア命令記憶部と、
    前記ソフトウェア命令記憶部から前記ソフトウェア命令を取得して実行するソフトウェア命令実行部と、
    前記ソフトウェア命令実行判定において実行されていない前記ソフトウェア命令が存在すると判定された場合に、前記ソフトウェア命令先取部により先取り済みの前記ソフトウェア命令に対応するマイクロ命令の読出しが完了しているか否かを判定することによって当該マイクロ命令が読出し可能か否かを判定し、読出し可能である場合には当該マイクロ命令を読み出すマイクロ命令先取部と、
    前記マイクロ命令先取部が取得した前記マイクロ命令を格納するマイクロ命令記憶部と、
    前記マイクロ命令記憶部に格納された前記マイクロ命令を取得して実行するマイクロ命令実行部と、を備え
    前記ソフトウェア命令実行部は、取得した前記ソフトウェア命令が分岐命令であり、分岐先の処理を実行する場合、前記ソフトウェア命令先取部に前記ソフトウェア命令の先取処理をキャンセルさせ、前記マイクロ命令先取部に前記マイクロ命令の先取処理をキャンセルさせるとともに、前記ソフトウェア命令記憶部に格納された前記ソフトウェア命令を無効化させる先取キャンセル命令を出力し、
    前記マイクロ命令実行部は、前記マイクロ命令の実行シーケンスが変更された場合に、前記ソフトウェア命令実行部が前記先取キャンセル命令を出力することを指示するマイクロ命令キャンセル信号を前記ソフトウェア命令実行部に出力し、前記ソフトウェア命令実行部は、前記マイクロ命令先取部に前記マイクロ命令の先取処理をキャンセルさせる
    情報処理装置。
  2. 前記ソフトウェア命令実行判定において実行されていない前記ソフトウェア命令が存在すると判定された場合に、前記ソフトウェア命令先取部により先取り済みの前記ソフトウェア命令に対応するオペランドが読出し可能か否かを判定し、読出し可能である場合には当該オペランドを読み出すオペランド先取部、をさらに備えることを特徴とする請求項1に記載の情報処理装置。
  3. 実行前のソフトウェア命令を先取りするソフトウェア命令先取ステップと、
    先取した前記ソフトウェア命令を取得して実行するソフトウェア命令実行ステップと、
    前記ソフトウェア命令先取ステップにおいて先取した前記ソフトウェア命令が実行済みであるか否かの判定であるソフトウェア命令実行判定を行うソフトウェア命令判定ステップと、
    前記ソフトウェア命令実行判定において実行されていない前記ソフトウェア命令が存在すると判定された場合に、前記ソフトウェア命令先取ステップにおいて先取り済みの前記ソフトウェア命令に対応するマイクロ命令の読出しが完了しているか否かを判定することによって当該マイクロ命令が読出し可能か否かを判定し、読出し可能である場合には当該マイクロ命令を読み出すマイクロ命令先取ステップと、
    前記マイクロ命令先取ステップにおいて読み出された前記マイクロ命令を順次実行するマイクロ命令実行ステップと、を備え
    前記ソフトウェア命令実行ステップでは、取得した前記ソフトウェア命令が分岐命令であり、分岐先の処理を実行する場合、前記ソフトウェア命令先取ステップにおける前記ソフトウェア命令の先取処理をキャンセルさせ、前記マイクロ命令先取ステップにおける前記マイクロ命令の先取処理をキャンセルさせ、
    前記マイクロ命令実行ステップでは、前記マイクロ命令の実行シーケンスが変更された場合に、前記ソフトウェア命令実行ステップで先取キャンセル命令を出力することを指示するマイクロ命令キャンセル信号を出力し、前記ソフトウェア命令実行ステップでは、前記マイクロ命令先取ステップにおける前記マイクロ命令の先取処理をキャンセルさせる
    マイクロ命令処理方法。
  4. 前記ソフトウェア命令実行判定において実行されていない前記ソフトウェア命令が存在すると判定された場合に、前記ソフトウェア命令先取ステップにおいて先取り済みの前記ソフトウェア命令に対応するオペランドが読出し可能か否かを判定し、読出し可能である場合には当該オペランドを読み出すオペランド先取ステップ、をさらに備えることを特徴とする請求項3に記載のマイクロ命令処理方法。
JP2010124106A 2010-05-31 2010-05-31 情報処理装置及びマイクロ命令処理方法 Active JP5679263B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010124106A JP5679263B2 (ja) 2010-05-31 2010-05-31 情報処理装置及びマイクロ命令処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010124106A JP5679263B2 (ja) 2010-05-31 2010-05-31 情報処理装置及びマイクロ命令処理方法

Publications (2)

Publication Number Publication Date
JP2011248820A JP2011248820A (ja) 2011-12-08
JP5679263B2 true JP5679263B2 (ja) 2015-03-04

Family

ID=45413958

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010124106A Active JP5679263B2 (ja) 2010-05-31 2010-05-31 情報処理装置及びマイクロ命令処理方法

Country Status (1)

Country Link
JP (1) JP5679263B2 (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5487036A (en) * 1977-12-22 1979-07-11 Fujitsu Ltd Take-in-advance system of order for data processor of microprogram control system
JPS5561853A (en) * 1978-10-31 1980-05-09 Toshiba Corp Information processor
JPS55147740A (en) * 1979-05-07 1980-11-17 Nec Corp Microprogram control unit
JPS6129942A (ja) * 1984-07-20 1986-02-12 Nec Corp 命令語先取り機構
JPH0244424A (ja) * 1988-08-05 1990-02-14 Agency Of Ind Science & Technol パイプライン計算機
JPH04256023A (ja) * 1991-02-08 1992-09-10 Nec Software Ltd マイクロ命令実行方式
US6820190B1 (en) * 2000-02-02 2004-11-16 Hewlett-Packard Development Company, L.P. Method and computer system for decomposing macroinstructions into microinstructions and forcing the parallel issue of at least two microinstructions

Also Published As

Publication number Publication date
JP2011248820A (ja) 2011-12-08

Similar Documents

Publication Publication Date Title
JP5889986B2 (ja) 実行された命令の結果を選択的にコミットするためのシステムおよび方法
US7461237B2 (en) Method and apparatus for suppressing duplicative prefetches for branch target cache lines
US7444501B2 (en) Methods and apparatus for recognizing a subroutine call
JP2006318051A (ja) マイクロプロセッサ及びマイクロプロセッサの制御方法
JP2007041837A (ja) 命令プリフェッチ装置及び命令プリフェッチ方法
JP2012123810A (ja) 復帰スタックを管理する方法および装置
US7877578B2 (en) Processing apparatus for storing branch history information in predecode instruction cache
JP6073392B2 (ja) 命令としてデータ値を評価するシステムおよび方法
KR102458467B1 (ko) 벡터 생성 명령
JP5679263B2 (ja) 情報処理装置及びマイクロ命令処理方法
JP2723238B2 (ja) 情報処理装置
JP5209390B2 (ja) 情報処理装置及び命令フェッチ制御方法
JP2007257349A (ja) プロセッサ及びその処理方法
JPH10124312A (ja) 中央処理装置
JP4728877B2 (ja) マイクロプロセッサおよびパイプライン制御方法
CN114116229B (zh) 调节指令流水线的方法及装置、存储器和存储介质
JP5292831B2 (ja) プログラマブルコントローラ
CN111026442B (zh) 一种cpu中用于消除程序无条件跳转开销的方法及装置
JP2008191824A (ja) プリフェッチ方法、及びキャッシュ機構用ユニット
JP2006331415A (ja) データプロセッサ、データ処理方法
JP4151497B2 (ja) パイプライン処理装置
JP3748191B2 (ja) 計算機とその制御方法
JP2006235723A (ja) 命令フェッチ回路
JP2007310668A (ja) マイクロプロセッサ
JP2013210955A (ja) 情報処理装置、プロセッサ及びプリフェッチ方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130408

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140128

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140327

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140513

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140630

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140729

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20140807

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141001

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20141008

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141225

R150 Certificate of patent or registration of utility model

Ref document number: 5679263

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150