JP2012173920A - 情報処理装置 - Google Patents
情報処理装置 Download PDFInfo
- Publication number
- JP2012173920A JP2012173920A JP2011034358A JP2011034358A JP2012173920A JP 2012173920 A JP2012173920 A JP 2012173920A JP 2011034358 A JP2011034358 A JP 2011034358A JP 2011034358 A JP2011034358 A JP 2011034358A JP 2012173920 A JP2012173920 A JP 2012173920A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- time
- address
- information processing
- instruction execution
- 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.)
- Withdrawn
Links
Images
Landscapes
- Advance Control (AREA)
Abstract
【課題】命令実行の許可タイミングを、より適切に決定すること。
【解決手段】プログラムメモリと、該プログラムメモリに格納された命令を実行する命令実行手段と、前記プログラムメモリを含む記憶装置のアドレスに対応した読み込み補正時間を出力するアドレス/補正時間変換手段と、前記プログラムメモリから命令のフェッチを開始した時刻と、該命令のアドレスに基づき前記アドレス/補正時間変換手段により出力される読み込み補正時間とに基づき前記命令実行手段による命令実行を許可又は禁止する命令実行許可手段と、を備える情報処理装置。
【選択図】図1
【解決手段】プログラムメモリと、該プログラムメモリに格納された命令を実行する命令実行手段と、前記プログラムメモリを含む記憶装置のアドレスに対応した読み込み補正時間を出力するアドレス/補正時間変換手段と、前記プログラムメモリから命令のフェッチを開始した時刻と、該命令のアドレスに基づき前記アドレス/補正時間変換手段により出力される読み込み補正時間とに基づき前記命令実行手段による命令実行を許可又は禁止する命令実行許可手段と、を備える情報処理装置。
【選択図】図1
Description
本発明は、プログラムメモリに格納された命令を実行することにより種々の処理を行う情報処理装置に関する。
従来、プログラムメモリに格納された命令を実行する情報処理装置が広く用いられている。こうした情報処理装置では、ROM(Read Only Memory)やRAM(Random Access Memory)等の記憶装置から命令やオペランドをフェッチし、デコード等の処理を経て命令が実行(エクセキュート)される。この際に、フェッチ開始からデコードが終了するまでの時間(記憶装置へのアクセスに起因するウエイト時間を含む)を適切に見積もって、命令の実行タイミングを決定することが望ましい。デコードが終了する前に命令実行を許可すると不要な待ち時間が生じるし、デコードが終了した後命令実行を許可すると処理の遅延が生じるからである。
係る課題を考慮したシングルチップ・マイクロコンピュータについての発明が開示されている(例えば、特許文献1参照)。このシングルチップ・マイクロコンピュータでは、命令及びデータを記憶するためのメモリ手段と、メモリ手段に接続されたバス手段と、内部クロック信号を供給するためのクロック手段と、特定の命令又はデータを内部クロック信号に同期して処理するようにバス手段を介したメモリ手段へのアクセス過程を内部クロック信号に同期して開始するための処理手段とに加えて、メモリ手段のアクセス時間と内部クロック信号のサイクル時間との関係に応じて決定されたウェイトサイクル数の設定値を記憶するための書き換え可能なレジスタを有し、レジスタに記憶された設定値に応じた数のウェイトサイクルが処理手段によるメモリ手段へのアクセス過程に挿入されるように処理手段を制御する制御手段を備えている。
上記従来のシングルチップ・マイクロコンピュータでは、レジスタに格納される設定値は、シングルチップ・マイクロコンピュータのユーザにより決定され、かつ初期化プログラムを実行することにより書き込まれる。具体的には、上記設定値は、ROMへのアクセス時間(一定値)とCPUサイクル時間の関係、或いはRAMへのアクセス時間(一定値)とCPUサイクル時間との関係等に応じて決定される。
しかしながら、上記従来のシングルチップ・マイクロコンピュータでは、ROM内の格納場所の相違やRAM内の格納場所の相違に応じたアクセス時間の差について考慮されていない。このため、ウェイトサイクルの決定精度が十分でない場合がある。
本発明はこのような課題を解決するためのものであり、命令実行の許可タイミングを、より適切に決定することが可能な情報処理装置を提供することを、主たる目的とする。
上記目的を達成するための本発明の一態様は、
プログラムメモリと、
該プログラムメモリに格納された命令を実行する命令実行手段と、
前記プログラムメモリを含む記憶装置のアドレスに対応した読み込み補正時間を出力するアドレス/補正時間変換手段と、
前記プログラムメモリから命令のフェッチを開始した時刻と、該命令のアドレスに基づき前記アドレス/補正時間変換手段により出力される読み込み補正時間とに基づき前記命令実行手段による命令実行を許可又は禁止する命令実行許可手段と、
を備える情報処理装置である。
プログラムメモリと、
該プログラムメモリに格納された命令を実行する命令実行手段と、
前記プログラムメモリを含む記憶装置のアドレスに対応した読み込み補正時間を出力するアドレス/補正時間変換手段と、
前記プログラムメモリから命令のフェッチを開始した時刻と、該命令のアドレスに基づき前記アドレス/補正時間変換手段により出力される読み込み補正時間とに基づき前記命令実行手段による命令実行を許可又は禁止する命令実行許可手段と、
を備える情報処理装置である。
この本発明の一態様によれば、プログラムメモリを含む記憶装置のアドレスに対応した読み込み補正時間を出力するアドレス/補正時間変換手段を備え、プログラムメモリから命令のフェッチを開始した時刻と、この命令のアドレスに基づきアドレス/補正時間変換手段により出力される読み込み補正時間とに基づき命令実行手段による命令実行を許可又は禁止するため、命令実行の許可タイミングを、より適切に決定することができる。
本発明の一態様において、
前記プログラムメモリに格納された命令の少なくとも一部には、該命令の所要時間に関するデータが付加されており、
前記命令実行許可手段は、前記プログラムメモリから命令のフェッチを開始した時刻と、該命令のアドレスに基づき前記アドレス/補正時間変換手段により出力される読み込み補正時間と、該命令に付加された所要時間とに基づき前記命令実行手段による命令実行を許可又は禁止する手段であるものとしてもよい。
前記プログラムメモリに格納された命令の少なくとも一部には、該命令の所要時間に関するデータが付加されており、
前記命令実行許可手段は、前記プログラムメモリから命令のフェッチを開始した時刻と、該命令のアドレスに基づき前記アドレス/補正時間変換手段により出力される読み込み補正時間と、該命令に付加された所要時間とに基づき前記命令実行手段による命令実行を許可又は禁止する手段であるものとしてもよい。
この場合、
前記命令実行許可手段は、前記プログラムメモリから命令をフェッチした時刻から、該命令に付加された所要時間と前記アドレス/補正時間変換手段により出力される読み込み補正時間を加算すると共に該命令の実行に要する時間を差し引いた時間が経過した時刻において、前記命令実行手段による命令実行を許可する手段であるものとしてもよい。
前記命令実行許可手段は、前記プログラムメモリから命令をフェッチした時刻から、該命令に付加された所要時間と前記アドレス/補正時間変換手段により出力される読み込み補正時間を加算すると共に該命令の実行に要する時間を差し引いた時間が経過した時刻において、前記命令実行手段による命令実行を許可する手段であるものとしてもよい。
また、
前記命令実行許可手段は、前記プログラムメモリから命令をフェッチした時刻から、該命令に付加された所要時間と前記アドレス/補正時間変換手段により出力される読み込み補正時間を加算した時間が経過した時刻において、前記命令実行手段による命令実行を許可する手段であるものとしてもよい。
前記命令実行許可手段は、前記プログラムメモリから命令をフェッチした時刻から、該命令に付加された所要時間と前記アドレス/補正時間変換手段により出力される読み込み補正時間を加算した時間が経過した時刻において、前記命令実行手段による命令実行を許可する手段であるものとしてもよい。
本発明の一態様において、
前記アドレス/補正時間変換手段は、温度上昇に応じて前記読み込み補正時間が大きくなる傾向で、前記読み込み補正時間を修正する手段であるものとすると、好適である。こうすれば、命令実行の許可タイミングを、更に適切に決定することができる。
前記アドレス/補正時間変換手段は、温度上昇に応じて前記読み込み補正時間が大きくなる傾向で、前記読み込み補正時間を修正する手段であるものとすると、好適である。こうすれば、命令実行の許可タイミングを、更に適切に決定することができる。
また、本発明の一態様において、
前記アドレス/補正時間変換手段は、前記プログラムメモリを含む記憶装置の素子劣化を判定する素子劣化判定部を備え、
該素子劣化判定部により素子劣化が生じたと判定されたセルから読み込まれるデータについては前記読み込み補正時間が大きくなるように、前記読み込み補正時間を修正する手段であるものとすると、好適である。こうすれば、命令実行の許可タイミングを、更に適切に決定することができる。
前記アドレス/補正時間変換手段は、前記プログラムメモリを含む記憶装置の素子劣化を判定する素子劣化判定部を備え、
該素子劣化判定部により素子劣化が生じたと判定されたセルから読み込まれるデータについては前記読み込み補正時間が大きくなるように、前記読み込み補正時間を修正する手段であるものとすると、好適である。こうすれば、命令実行の許可タイミングを、更に適切に決定することができる。
また、本発明の一態様において、
時間を、サイクル数、又はクロック数に置換して構成されるものとしてもよい。これらの表現は、全て時間を示す概念であるため、実質的には等価である。
時間を、サイクル数、又はクロック数に置換して構成されるものとしてもよい。これらの表現は、全て時間を示す概念であるため、実質的には等価である。
本発明によれば、命令実行の許可タイミングを、より適切に決定することが可能な情報処理装置を提供することができる。
以下、本発明を実施するための形態について、添付図面を参照しながら実施例を挙げて説明する。
以下、図面を参照し、本発明の実施例に係る情報処理装置について説明する。なお、本発明に係る情報処理装置は、例えば以下に説明するようにシングルコアのマイクロコンピュータとして実現されるが、マルチコア・プロセッサ、マルチスレッド・プロセッサ、マルチプロセッサ装置等として実現されても構わない。
[基本構成]
<第1実施例>
図1は、本発明の第1実施例に係る情報処理装置1のシステム構成例である。情報処理装置1は、主要な構成として、CPU(Central Processing Unit)10と、RAM(Random Access Memory)20と、ROM(Read Only Memory)30と、I/O装置40と、アドレス/サイクルデコーダ50と、を備える。
<第1実施例>
図1は、本発明の第1実施例に係る情報処理装置1のシステム構成例である。情報処理装置1は、主要な構成として、CPU(Central Processing Unit)10と、RAM(Random Access Memory)20と、ROM(Read Only Memory)30と、I/O装置40と、アドレス/サイクルデコーダ50と、を備える。
CPU10は、命令フェッチユニット11、命令デコーダ12、実行ユニット13、内部レジスタ14を備える。これらの構成要素は、OS(Operating System)15や図示しないパイプライン制御回路等によって制御される。
命令フェッチユニット11は、図示しないプログラムカウンタが示すアドレスを、プログラムメモリであるROM30に出力する。
ROM30は、プログラム(命令列)を格納しており、命令フェッチユニット11から命令の格納場所を示すアドレスが入力されると、当該アドレスに格納された命令をCPU10に出力する(命令フェッチ)。なお、プログラムメモリとして、EEPROM(Electrically Erasable and Programmable Read Only Memory)等、他の種類の不揮発性メモリが用いられてもよい。ROM30には、プログラム領域31や初期値付変数領域32、変数領域33等が設定されている。
命令デコーダ12は、ROM30から入力された命令や、図示しないデータフェッチユニットによりフェッチされるオペランド等のデータを復号(デコード)し、実行ユニット13に出力する。
なお、ROM30から入力された命令は、図示しない命令キューに格納されてもよく、命令デコーダ12によりデコードされた命令は、実行待ち命令を格納する図示しないレジスタに格納されてもよい。
実行ユニット13は、例えば、スレッドの要求に応じて四則演算その他の演算処理を行うためのALU(Arithmetic Logic Unit)やFPGA(Field Programmable Gate Array)等の演算回路、WRITE命令やREAD命令を実行するLSU(Load Store Unit)、これらによって用いられる高速アクセス可能な汎用レジスタ等を有する。
内部レジスタ14は、上記各構成要素によって種々の用途に用いられる。例えば、プログラムのコンテキストデータ等が格納される。
CPU10は、内部クロックを供給するクロック生成回路を備えており、この内部クロックに応じて上記各処理が行われる。
I/O装置40は、情報処理装置1に接続された外部機器との間の情報入出力を制御する。
[命令実行許可タイミングの制御]
ところで、本実施例では、ROM30に格納された命令の少なくとも一部には、その末尾等に、当該命令の所要時間に関するサイクル数データが付加されている。図2は、ROM30に格納された命令にサイクル数データが付加された様子を模式的に示す図である。サイクル数データとは、命令フェッチ、命令デコード、及び実行ユニットによる命令実行の全てが完了するまでのサイクル数を示すデータである。1サイクルとは、CPU10が1回の処理を行う時間単位である。従って、「サイクル数」は、「クロック数」、或いは「時間」と換言することができる。
ところで、本実施例では、ROM30に格納された命令の少なくとも一部には、その末尾等に、当該命令の所要時間に関するサイクル数データが付加されている。図2は、ROM30に格納された命令にサイクル数データが付加された様子を模式的に示す図である。サイクル数データとは、命令フェッチ、命令デコード、及び実行ユニットによる命令実行の全てが完了するまでのサイクル数を示すデータである。1サイクルとは、CPU10が1回の処理を行う時間単位である。従って、「サイクル数」は、「クロック数」、或いは「時間」と換言することができる。
サイクル数データは、命令の性質に応じて、数サイクル程度〜数十サイクルのサイクル数を示すデータとなっている。
このように、命令の末尾等にサイクル数データが付加されているため、サイクル数データから命令実行に必要なサイクル数を差し引くことにより、命令フェッチの開始時刻から、命令実行が行われるまでの想定サイクル数を認識することができる。想定サイクル数は、例えばOS15によって認識され、命令フェッチの開始時刻から想定サイクル数が経過したときに命令実行が許可されるという制御が行われる。
ところで、同じメモリから命令フェッチやオペランドフェッチを行う場合であっても、命令等の格納場所に応じて読み込みに要する時間が異なる場合がある。ROM30等のメモリは、通常、アレイ状にメモリセルが並べられた矩形形状となっており、読み込み回路はその矩形の辺に沿って設けられるため、読み込み回路からメモリセルへの電気的距離(配線遅延)が配線長や容量等に起因してばらつくからである。このため、命令の性質に応じたサイクル数データのみでは、命令実行の許可タイミングを正確に決定することができない場合がある。
なお、このばらつきは、近年のクロックが高周波で供給されるコンピュータでは、無視できないものとなっており、想定サイクル数の精度が低下すると全体の処理速度が低下することにもなりかねない。
そこで、本実施例の情報処理装置1では、アドレス/サイクルデコーダ50によって、命令等の格納場所に応じた読み込み補正サイクル数を出力させ、サイクル数データから命令実行に必要なサイクル数を差し引いた値に、当該読み込み補正サイクル数を加算して、命令フェッチの開始時刻から命令実行が行われるまでの想定サイクル数を算出することとした。
アドレス/サイクルデコーダ50は、ROM30等のアドレスが入力されると、読み込み補正サイクル数を出力する。アドレス/サイクルデコーダ50が読み込み補正サイクル数を出力する対象とするのは、少なくともROM30に格納された命令や変数であり、好ましくは、情報処理装置1においてアドレスが付与されているデータ領域全体に亘るものであると好適である。また、CPU内部のようにアドレスが付与されていない領域のデータについても処理を行ってよく、この場合、遅延設計時のバックアノテーションを利用するとよい。
図3は、アドレス/サイクルデコーダ50によって行われる処理の内容を説明するための説明図である。図示するように、アドレス/サイクルデコーダ50は、ROM30等の記憶領域をアレイ状に分割し、分割された各領域について読み込み補正サイクル数を予め決定し、或いは動的に変更する。
また、図4は、アドレス/サイクルデコーダ50がROM30に附設された様子を示す図である。図中、細線実線A1は、命令1に関するアドレス選択経路であり、太線実線A2は、命令1に関するデータ入出力経路である。また、細線破線(A1と共通する部分は実線で示している)B1は、命令7に関するアドレス選択経路であり、太線破線B2は、命令7に関するデータ入出力経路である。データの読み込みが行われるメモリセルは、行デコーダ30Aと列デコーダ30Bによって選択され、読み出し回路30Cを介してCPU10等に出力される。図中、「命令1」で表される命令と、「命令7」で表される命令は、行デコーダ30A、列デコーダ30B、及び読み出し回路30Cからの電気的距離が異なるため、読み込みに要する時間が異なる。
これらの電気的距離に起因した読み込み遅延時間は、情報処理装置1のレイアウト設計時に確定しているため、図3のように分割された各領域と読み込み補正サイクル数との関係は設計時に設定することが可能である。また、レイアウト時に設計ツールの機能(バックアノテーション機能)を用いて読み込み遅延時間の算出を行うことも可能であり、これによって、より正確に読み込み補正サイクル数を決定することができる。
読み込み補正サイクル数は、例えば、次式(1)により表されるサイクル数C1に四捨五入等の処理を行って、値0又は値1の二値にしたものとして決定される。なお、サイクル数データに含まれる、「命令フェッチに要するサイクル数」は、読み出し回路に最も近いメモリセルからの読み込み所要時間を基準とするものとする。
C1=(column addressの最下部からの距離)×係数1+(row addressの最中央部からの距離)×係数2 …(1)
図5は、OS15等の制御主体により実行される命令実行許可制御の処理の流れを示すフローチャートである。
まず、OS15等の制御主体は(以下、単に「OS15は」と表記する)、命令フェッチユニット11によって命令フェッチが開始されるまで待機する(S100)。
命令フェッチユニット11によって命令フェッチが開始されると、図示しないタイマーをスタートさせる(S102)。
次に、命令デコーダ13によるデコードが終了するまで待機し(S104)、命令デコーダ13によるデコードが終了すると、命令に付加されたサイクル数データS、当該命令のアドレスに対応した読み込み補正サイクル数SS0、そして当該命令の演算対象となるオペランドが二個である場合、第1オペランドのアドレスに対応した読み込み補正サイクル数SS1、第2オペランドのアドレスに対応した読み込み補正サイクル数SS2を取得する(S106)。
そして、当該命令に関する読み込み補正サイクル数SSを、次式(2)により確定する(S108)。なお、命令、第1オペランド、第2オペランドの読み込みが並行して行われた場合は、式(2)における右辺各項の最大値を読み込み補正サイクル数Sとする。
SS=(SS0+SS1+SS2) …(2)
OS15は、サイクル数データS及び読み込み補正サイクル数SSを確定すると、タイマーにより計数されているサイクル数が、次式(3)で表される想定サイクル数Sref以上であるか否かを判定する(S110)。ここで、当該命令の実行所要サイクル数は、命令の種別に応じて決定される。OS15は、実行所要サイクル数を取得するためのテーブルを参照してもよいし、サイクル数データに実行所要サイクル数を特定するためのデータが包含されているものとしてもよい。
Sref=S−(当該命令の実行所要サイクル数)+SS …(3)
サイクル数が想定サイクル数Sref以上である場合は、命令実行を許可する(S112)。一方、サイクル数が想定サイクル数Sref未満である場合は、サイクル数が基準サイクル数Sref以上となるまで待機する。
係る制御によって、命令フェッチの開始時刻から想定サイクル数Srefが経過したタイミングにおいて、命令実行が許可されることになる。これによって、予め想定されたタイミングで命令が実行されるため、処理のリアルタイム性を高めることができる。
更に、本実施例の情報処理装置1では、アドレス/サイクルデコーダ50によって命令やオペランドの格納場所に応じた読み込み補正サイクル数を取得可能であるため、想定サイクル数を、より正確に算出することができる。この結果、命令実行の許可タイミングを、より適切に決定することができる。
以上説明した本実施例の情報処理装置1によれば、命令実行の許可タイミングを、より適切に決定することができる。
<第2実施例>
以下、第2実施例に係る情報処理装置2について説明する。第2実施例の情報処理装置2は、基本構成について第1実施例と共通し、アドレス/サイクルデコーダ50の機能のみ第1実施例と相違するため、相違点についてのみ説明する。図6は、本発明の第2実施例に係る情報処理装置2のシステム構成例である。
以下、第2実施例に係る情報処理装置2について説明する。第2実施例の情報処理装置2は、基本構成について第1実施例と共通し、アドレス/サイクルデコーダ50の機能のみ第1実施例と相違するため、相違点についてのみ説明する。図6は、本発明の第2実施例に係る情報処理装置2のシステム構成例である。
第2実施例に係るアドレス/サイクルデコーダ50は、温度センサ52、及び素子劣化判定部54を備え、温度変化やメモリセルの素子劣化に応じて読み込み補正サイクル数を修正する。なお、外部から温度データを取得してもよいし、温度変化とメモリセルの素子劣化のいずれかのみに応じて読み込み補正サイクル数を修正するものであっても構わない。素子劣化判定部54は、マイクロコンピュータやIC(Integrated Circuit)が用いられる。
図7は、温度と導電体の抵抗値との関係を示すグラフである。図示するように、導電体の抵抗値は温度上昇に応じて増加する傾向を示す。
また、配線遅延は、図8に示すように、配線抵抗と寄生容量(対基板容量)との関係で決定されるが、温度の上昇が大きくなると、配線遅延において温度上昇の寄与度が支配的となる。従って、読み込み補正サイクル数は、温度が上昇するに連れて大きくなる傾向で修正する。具体的には、上式(1)における係数1、2を、温度が上昇すると大きくなる傾向で修正する。
また、アドレス/サイクルデコーダ50は、メモリセルの素子劣化に応じて読み込み補正サイクル数を修正してもよい。図9〜図12は、メモリセルの素子劣化や温度変化と、実際の読み込み遅延時間との関係を示す図である。図中、「I/Oの方向」とは、前述したI/O circuitが取り付けられた位置の方向を意味している。
図9は、情報処理装置1の出荷時、すなわちメモリセルの素子劣化が生じていない状態で、且つ常温時における読み込み遅延時間の分布を示す図である。
図10は、図9と同じくメモリセルの素子劣化が生じていない状態において、温度が上昇した場合の読み込み遅延時間の分布を示す図である。図示するように、全体的に読み込み遅延時間が大きくなる傾向を示している。
図11は、ある程度の時間、情報処理装置1が使用され、メモリセルの素子劣化が生じた状態で、且つ常温時における読み込み遅延時間の分布を示す図である。図示するように、全体的に読み込み遅延時間が大きくなる傾向を示すと共に、特定のメモリセル(図中、「*」で示した)が周囲のメモリセルに比して劣化し読み込み遅延時間が大きくなっている。
図12は、図11に示すメモリセルの素子劣化が生じた状態において、温度が上昇した場合の読み込み遅延時間の分布を示す図である。図示するように、図11の場合に比して、全体的に読み込み遅延時間が更に大きくなる傾向を示している。
従って、アドレス/サイクルデコーダ50は、A.上式(1)における係数1、2を、温度が上昇すると大きくなる傾向で修正し、B.使用時間が長くなると全体的に素子劣化が生じたと推定して係数1、2を大きくし、C.素子劣化が生じたと判断された特定のメモリセルについては、更に係数1、2を大きくするとよい。
なお、素子劣化判定部54は、該当するメモリセルに格納されたデータを読み込んだ際の実際の読み込み所要時間の時間変化を監視することにより、メモリセルの素子劣化を認識することができる。
以上説明した本実施例の情報処理装置2によれば、命令実行の許可タイミングを、更に適切に決定することができる。
<変形等>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
ROM30に格納された命令に付加されたサイクル数データは、実行時間を含まない(すなわち、命令フェッチとデコードに関する時間のみ含む)ものとしてもよい。この場合、サイクル数データに読み込み補正サイクル数を加算した値を、想定サイクル数とすればよい。
また、ROM30に格納された命令にサイクル数データが付加されておらず、命令フェッチと命令デコードに要するサイクル数を通常サイクル数(例えば2サイクル)とみなして想定サイクル数を算出してもよい。
また、アドレス/サイクルデコーダ50を備えず、プログラムや変数のコンパイル段階において、命令やオペランドに対して、格納場所に応じた読み込み補正サイクル数を付加しておいても構わない。なお、この場合、オペランドが初期変数であれば格納されるアドレスは確定されるが、演算中の変数である場合は格納されるアドレスは不明である。このようなオペランドについては、CPU10の内部レジスタ14やROM30の読み込み遅延時間のワースト値を用いるものとすればよい。
また、実施例では、命令の実行の開始許可を行うものとして説明したが、「命令実行の完了(具体的には、ライトバック処理等)」を許可するものとしても構わない。この場合、想定サイクル数Srefの算出において命令の実行所要サイクル数を減算する必要はなく、次式(4)、或いはライトバック処理のサイクル数をカウントするのであれば次式(5)に基づいて想定サイクル数Srefを算出すればよい。
Sref=S+SS …(4)
Sref=S+SS−1 …(5)
Sref=S+SS−1 …(5)
1、2 情報処理装置
10 CPU
11 命令フェッチユニット
12 命令デコーダ
13 実行ユニット
14 内部レジスタ
15 OS
20 RAM
30 ROM
31 プログラム領域
32 初期値付変数領域
33 変数領域
40 I/O装置
50 アドレス/サイクルデコーダ
52 温度センサ
54 素子劣化判定部
10 CPU
11 命令フェッチユニット
12 命令デコーダ
13 実行ユニット
14 内部レジスタ
15 OS
20 RAM
30 ROM
31 プログラム領域
32 初期値付変数領域
33 変数領域
40 I/O装置
50 アドレス/サイクルデコーダ
52 温度センサ
54 素子劣化判定部
Claims (7)
- プログラムメモリと、
該プログラムメモリに格納された命令を実行する命令実行手段と、
前記プログラムメモリを含む記憶装置のアドレスに対応した読み込み補正時間を出力するアドレス/補正時間変換手段と、
前記プログラムメモリから命令のフェッチを開始した時刻と、該命令のアドレスに基づき前記アドレス/補正時間変換手段により出力される読み込み補正時間とに基づき前記命令実行手段による命令実行を許可又は禁止する命令実行許可手段と、
を備える情報処理装置。 - 請求項1に記載の情報処理装置であって、
前記プログラムメモリに格納された命令の少なくとも一部には、該命令の所要時間に関するデータが付加されており、
前記命令実行許可手段は、前記プログラムメモリから命令のフェッチを開始した時刻と、該命令のアドレスに基づき前記アドレス/補正時間変換手段により出力される読み込み補正時間と、該命令に付加された所要時間とに基づき前記命令実行手段による命令実行を許可又は禁止する手段である、
情報処理装置。 - 請求項2に記載の情報処理装置であって、
前記命令実行許可手段は、前記プログラムメモリから命令をフェッチした時刻から、該命令に付加された所要時間と前記アドレス/補正時間変換手段により出力される読み込み補正時間を加算すると共に該命令の実行に要する時間を差し引いた時間が経過した時刻において、前記命令実行手段による命令実行を許可する手段である、
情報処理装置。 - 請求項2に記載の情報処理装置であって、
前記命令実行許可手段は、前記プログラムメモリから命令をフェッチした時刻から、該命令に付加された所要時間と前記アドレス/補正時間変換手段により出力される読み込み補正時間を加算した時間が経過した時刻において、前記命令実行手段による命令実行を許可する手段である、
情報処理装置。 - 請求項1ないし4のいずれか1項に記載の情報処理装置であって、
前記アドレス/補正時間変換手段は、温度上昇に応じて前記読み込み補正時間が大きくなる傾向で、前記読み込み補正時間を修正する手段である、
情報処理装置。 - 請求項1ないし5のいずれか1項に記載の情報処理装置であって、
前記アドレス/補正時間変換手段は、前記プログラムメモリを含む記憶装置の素子劣化を判定する素子劣化判定部を備え、
該素子劣化判定部により素子劣化が生じたと判定されたセルから読み込まれるデータについては、前記読み込み補正時間が大きくなるように、前記読み込み補正時間を修正する手段である、
情報処理装置。 - 時間を、サイクル数、又はクロック数に置換して構成される、
請求項1ないし6のいずれか1項に記載の情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011034358A JP2012173920A (ja) | 2011-02-21 | 2011-02-21 | 情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011034358A JP2012173920A (ja) | 2011-02-21 | 2011-02-21 | 情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012173920A true JP2012173920A (ja) | 2012-09-10 |
Family
ID=46976787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011034358A Withdrawn JP2012173920A (ja) | 2011-02-21 | 2011-02-21 | 情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012173920A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114026507A (zh) * | 2019-06-28 | 2022-02-08 | 德马吉森精机有限公司 | 信息处理装置、信息处理方法及信息处理程序 |
-
2011
- 2011-02-21 JP JP2011034358A patent/JP2012173920A/ja not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114026507A (zh) * | 2019-06-28 | 2022-02-08 | 德马吉森精机有限公司 | 信息处理装置、信息处理方法及信息处理程序 |
CN114026507B (zh) * | 2019-06-28 | 2024-04-16 | 德马吉森精机有限公司 | 信息处理装置及信息处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5799465B2 (ja) | ループバッファ学習 | |
US9836304B2 (en) | Cumulative confidence fetch throttling | |
TWI541658B (zh) | 資料處理裝置及半導體積體電路裝置 | |
US9606595B2 (en) | Microprocessor-assisted auto-calibration of voltage regulators | |
BR112015017103B1 (pt) | Método e aparelho para cancelar solicitações de pré-busca de dados para um loop | |
US20120079255A1 (en) | Indirect branch prediction based on branch target buffer hysteresis | |
KR20210116651A (ko) | 바이패스 최적화, 가변 그리드 아키텍처 및 융합된 벡터 동작들을 갖는 코프로세서들 | |
US9880787B2 (en) | System and method for memory patching circuits | |
US9558002B2 (en) | Variable length execution pipeline | |
TWI648624B (zh) | 管理用於分支預測的歷史資訊的裝置及方法 | |
US8484520B2 (en) | Processor capable of determining ECC errors | |
US20120191944A1 (en) | Predicting a pattern in addresses for a memory-accessing instruction when processing vector instructions | |
US20140250289A1 (en) | Branch Target Buffer With Efficient Return Prediction Capability | |
JP2012173920A (ja) | 情報処理装置 | |
US9542190B2 (en) | Processor with fetch control for stoppage | |
JP5209390B2 (ja) | 情報処理装置及び命令フェッチ制御方法 | |
US20160253286A1 (en) | Program profiler circuit, processor, and program counting method | |
JP5245620B2 (ja) | コンピュータシステム | |
WO2021108007A1 (en) | Apparatus and method for dual branch prediction | |
US20140244933A1 (en) | Way Lookahead | |
US9727342B2 (en) | Error resilient pipeline | |
US10606602B2 (en) | Electronic apparatus, processor and control method including a compiler scheduling instructions to reduce unused input ports | |
JP2012138048A (ja) | マイクロコンピュータ | |
JP2020140290A (ja) | 中央演算処理装置 | |
JP2009294823A (ja) | データ処理装置およびデータ処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20140513 |