JP2009505177A - 少なくとも2つの命令実行ユニットを有するコンピュータシステムにおける記憶装置へのアクセスを制御する方法および装置 - Google Patents

少なくとも2つの命令実行ユニットを有するコンピュータシステムにおける記憶装置へのアクセスを制御する方法および装置 Download PDF

Info

Publication number
JP2009505177A
JP2009505177A JP2008525515A JP2008525515A JP2009505177A JP 2009505177 A JP2009505177 A JP 2009505177A JP 2008525515 A JP2008525515 A JP 2008525515A JP 2008525515 A JP2008525515 A JP 2008525515A JP 2009505177 A JP2009505177 A JP 2009505177A
Authority
JP
Japan
Prior art keywords
comparison
storage device
instruction execution
unit
mode
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
JP2008525515A
Other languages
English (en)
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of JP2009505177A publication Critical patent/JP2009505177A/ja
Pending legal-status Critical Current

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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • 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/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/601Reconfiguration of cache memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Hardware Redundancy (AREA)

Abstract

一時記憶装置、特にキャッシュが設けられ、さらに、切換手段と比較手段とが設けられ、パフォーマンスモードと比較モードとの間で切り換え可能な、少なくとも2つの命令実行ユニットを有するコンピュータシステムにおいて記憶装置へのアクセスを制御する方法および装置であり、比較モードにおいて命令実行ユニットは一時記憶装置へアクセスせず、パフォーマンスモードにおいて少なくとも1つの命令実行ユニットが一時記憶装置へアクセスすることを特徴とする。
【選択図】図3

Description

本発明は、独立請求項の上位概念に基づいてマイクロプロセッサにおける少なくとも2つの命令実行ユニットの出力データを比較する方法および装置に関する。
従来技術
アルファ粒子または宇宙線によって引き起こされる一時的エラーは、半導体集積回路の大きな問題となっている。構造幅が狭小になり、駆動電圧が低下し、クロック周波数が高くなるにつれ、アルファ粒子または宇宙線に起因するピーク電圧により、集積回路内で論理値の誤りが発生する確率が高まっている。その結果、誤った演算結果が生じる可能性がある。そのため、安全性に関わるシステムにおいては、このようなエラーを確実に検出しなければならない。
車両のアンチロック・ブレーキ・システム(ABS)のように、電子装置の機能不全を確実に検出する必要がある安全性に関わるシステムにおいては、通常、システムの対応する制御装置自体に予めエラー検出のためのリダンダンシーが設けられている。例えば、上記ABSシステムにおいては全マイクロコントローラが二重化されており、ABS機能全体が冗長性を持って計算され、それらの結果が一致するかどうかがチェックされる。演算結果が不一致の場合には、ABSシステムは停止される。
少なくとも2つの命令実行ユニットが組み込まれたこのようなプロセッサユニットは、デュアルコアまたはマルチコアアーキテクチャとしても知られている。異なった命令実行ユニット(コア)が同じプログラムセグメントを冗長に、かつクロック同期で実行し、2つの命令実行ユニットの結果が比較され、一致しているかどうかの比較においてエラーが検知される。
プロセッサはキャッシュを備えており、命令およびデータへのアクセスが加速される。このことはデータ量が増加し続け、データ処理が複雑になるほどプロセッサの動作が高速化する状況においては必要なことである。キャッシュによって大容量の(主)メモリへの低速のアクセスが部分的に回避され、これによりプロセッサがデータの準備を待つ必要がなくなる。命令専用キャッシュおよびデータ専用キャッシュが知られているが、データと命令とが同一のキャッシュに格納される「統合キャッシュ」も知られている。また、複数レベル(階層)のキャッシュを有するシステムも公知である。このような多階層のキャッシュは、メモリサイズを等級分けし、種々のレベルにおいて異なった種類のアドレシング方式を用いてプロセッサと(主)メモリとの速度を最適に適合させるために用いられる。
キャッシュを用いる第2の理由は、マルチプロセッサシステムにおけるシステムバスまたはメモリバスのアクセスコンフリクトを回避することにある。このため、各プロセッサにキャッシュを搭載したり、または、マルチレベルキャッシュの場合は対応した複数のキャッシュを搭載したりすることが一般的である。
切り換え可能なデュアルコアシステムにおける公知のキャッシュ構成では、2つのコアの各々が、パフォーマンスモードでコアがアクセスするために用いる専用のキャッシュを有する。比較モードでは、両コアがそれぞれのキャッシュにアクセスする。比較モードでは1つのデータが(命令実行ユニットごとに別々に)数回格納されるという事実と並んで、特に、パフォーマンスモードから比較モードに切り換える場合にかなりの時間を要する。この切り換え時にはキャッシュの状態を適応させなければならない。これを行わないと、比較モードにおいて比較に関わった命令実行ユニットの1つがキャッシュミス(要求されたデータがキャッシュに格納されておらず、補充されなければならない)を有し、別の命令実行ユニットがキャッシュヒット(要求されたデータがキャッシュに格納されており、補充しなくてよい)を有するというようなケースが発生しないことが保証されない。
本発明の課題は、マルチプロセッサシステムにおいて、切り換え可能なマルチプロセッサシステムにおいてキャッシュを用いる従来の公知の方法の不利な点を回避することにある。この場合の不利な点とは、特に、公知のキャッシュの構成ではパフォーマンスモードから比較モードに切り換える場合にキャッシュを同期化しなければならないことである。
マルチプロセッサシステムのパフォーマンスモードおよび比較モードといった異なったモード間での切り換えを可能にするために、命令実行ユニットの各々が固有のキャッシュを有しない方がよい。なぜなら、特に、比較モードに切り換える場合に、時間がかかるキャッシュの適応を行わなければならないからである。提示する構造によれば、これを大幅に省略することができる。
さらに、異なったモード(比較またはパフォーマンス)のための異なったキャッシュをそのサイズも含めてモードの要求に適合させることができることが望ましい。さらに、モードによってはキャッシュが全く用いられないことは、特に、バスアクセス自体の速度がキャッシュアクセスの速度と特に違わない場合に有利となる。
本発明の利点として、一時記憶装置、特にキャッシュが設けられ、さらに、切換手段と比較手段とが設けられ、パフォーマンスモードと比較モードとの間で切り換え可能な、少なくとも2つの命令実行ユニットを有するコンピュータシステムにおいて記憶装置へのアクセスを制御する方法であって、比較モードでは命令実行ユニットは一時記憶装置へアクセスせず、パフォーマンスモードでは少なくとも1つの命令実行ユニットが一時記憶装置へアクセスすることが記載される。
本発明の利点として、比較モードでは、一時記憶装置と接続された命令実行ユニットの一時記憶装置との接続がスイッチ手段によって切断されることを特徴とする方法が記載される。
本発明の利点として、比較モードでは、比較手段は情報が一致しているかどうかを比較し、一致していない場合はエラーと判定し、エラーの場合は一時記憶装置に相当しない記憶装置へのアクセスを阻止することを特徴とする方法が記載される。
本発明の利点として、比較モードでは、比較手段は情報が一致しているかどうかを比較し、一致していない場合はエラーと判定し、エラーの場合は一時記憶装置に相当しない記憶装置内の情報を無効にするか、またはブロックすることを特徴とする方法が記載される。
本発明の利点として、比較モードでは、比較手段は情報が一致しているかどうかを比較し、一致していない場合はエラーと判定し、エラーの場合はコンピュータシステムを新たに起動する、または再起動することを特徴とする方法が記載される。
本発明の利点として、比較モードでは、比較手段は情報が一致しているかどうかを比較し、一致しない場合はエラーと判定し、エラーの場合は少なくとも1つの命令実行ユニットを新たに起動する、または再起動することを特徴とする方法が記載される。
本発明の利点として、一時記憶装置、特にキャッシュが設けられ、さらに、切換手段と比較手段とが設けられ、この場合、パフォーマンスモードと比較モードとの間で切り換え可能な、少なくとも2つの命令実行ユニットを有するコンピュータシステムにおいてメモリアクセスを制御する装置であって、一時記憶装置へは、比較モードでは命令実行ユニットはアクセスせず、パフォーマンスモードでは少なくとも1つの命令実行ユニットがアクセスする手段を備えることを特徴とする装置が含まれる。
本発明の利点として、上記手段は、一時記憶装置への命令実行ユニットのアクセスを阻止するか、または可能にするスイッチ手段として形成されることを特徴とする装置が含まれる。
本発明の利点として、比較手段は、比較モードで情報が一致しているかどうかを比較し、一致していない場合はエラーと判定し、エラーの場合は一時記憶装置に相当しない記憶装置へのアクセスを阻止することを特徴とする装置が含まれる。
本発明の利点として、比較手段は、比較モードで情報が一致しているかどうかを比較し、一致しない場合はエラーと判定し、エラーの場合は一時記憶装置に相当しない記憶装置内の情報を無効にするか、またはブロックすることを特徴とする装置が含まれる。
本発明の利点として、比較手段が少なくとも1つの命令実行ユニットと一時記憶装置との間に配置されることを特徴とする装置が含まれる。
本発明の利点として、一時記憶装置が少なくとも1つの命令実行ユニットと比較手段との間に配置されることを特徴とする装置が含まれる。
本発明の利点として、切換手段と比較手段とが切換ユニットおよび比較ユニットとして実現されることを特徴とする装置が含まれる。
さらなる有利な点および有利な実施形態は、請求項および明細書の特徴から明らかである。
実施例の説明
以下において、命令実行ユニットをプロセッサ/コア/CPUおよびFPU(浮動小数点ユニット:Floating Point Unit)、DSP(デジタルシグナルプロセッサ:Digital Signal Processor)、コプロセッサまたはALIU(算術論理演算ユニット:Arithmetic logical Unit)と呼ぶことができる。
ほとんどのマルチプロセッサシステムにおいて、キャッシュは、システムバスおよび/またはメモリバスのコンフリクトを回避するためだけに用いられている。命令実行ユニットが1つしかない場合には、キャッシュは必要とされないであろう。なぜなら、記憶装置の速さは、命令実行ユニットの読み出し要求に応じるために十分な速さだからである。
図1は、2つの命令実行ユニットC110a、C110bを有するマルチプロセッサシステムC100の第1の実施形態を示す。このマルチプロセッサシステムC100は、バスC10を介して記憶装置にアクセスすることができる。ユニットC130は、システムC100のモードに応じてバスC10へのアクセスの仕方を調整する。パフォーマンスモードではスイッチC131が閉じ、スイッチC132は開かれる。したがって命令実行ユニットC110bは、キャッシュC120とバス端子C150とを介してバスC10にアクセスする。命令実行ユニットC110aは、端子C140を介してバスC10と直接接続される。キャッシュC120が適切な大きさであれば、命令実行ユニットC110bの記憶装置へのアクセスは主にC120によって提供されるので、バスC10へのアクセスが必要となることはまれである。命令実行ユニットC110aの記憶装置へのアクセスは、常にバスC10へのアクセスを伴う。記憶装置へのアクセスがキャッシュC120によって提供できない場合のみユニットC150を介してバスにアクセスされる。同時に、命令実行ユニットC110aによるバスC10へのアクセスがC140を介して行われた場合、バスコンフリクトが生じるが、このバスコンフリクトはバスプロトコルによって解決されなければならない。キャッシュC120はソフトウェアからは不可視であるので、命令実行ユニットC110aがC140を介してキャッシュC120にも存在する記憶装置内のデータを変更するかどうかを知るために、ユニットC120がバスC10を監視(「バススヌーピング(Bas−Snooping)」)するのがよい。記憶装置内のデータが変更される場合、C120内の対応するデータを新しいデータと置換するか、または無効の印を付けなければならない。
比較モードでは、スイッチC132が閉じ、スイッチC131は開いている。両命令実行ユニットは、共にキャッシュC120を介してバスC10にアクセスする。比較ユニットC160は両命令実行ユニットの出力信号を比較して、異なる場合はエラー信号を生成する。選択的に、比較ユニットC160をバス端子ユニットC150と接続させてもよく(図示せず)、両コアの出力信号が異なる場合は書き込みアクセスを阻止することができる。パフォーマンスモードでは、ユニットC160が非アクティブ化される。比較ユニットの非アクティブ化は種々の方法で実現できる:ユニットC160による比較が行われず、比較のための信号がユニットC160に印加されないか、または、比較は行われるがその結果が無視されるなどである。
本発明の一実施形態をシステムC100cに関する図2に示す。この実施形態において、図1にて示した素子は同じ態様で動作する。命令実行ユニットC100aは、パフォーマンスモードでスイッチC131が閉じるが、同様にキャッシュC140aとバス端子C140とを介してバスC10にアクセスする。比較モードでは、キャッシュC120は、閉じたスイッチC132を介して2つの命令実行ユニットC110a、110bによって用いられ、C140aはパフォーマンスモードでのみC110aによって用いられる。両キャッシュC120、C140aのサイズが異なる可能性があるが、それに応じて、異なったモードに適合されたタスクのために最適化することができる。
図3は、本発明のさらなる実施形態を示す。ここでC100aはマルチプロセッサシステムを表す。この場合、パフォーマンスモードではスイッチC133が開き、スイッチC134は閉じられ、命令実行ユニットC110bは、キャッシュC120とバス端子ユニットC150とを介してバスC10にアクセスする。別の命令実行ユニットC110aは、ユニットC140を介してバスC10に直接アクセスする。これに対して比較モードでは、スイッチC133が閉じ、C134が開いており、両命令実行ユニットがC140を介してバスC10に直接アクセスし、キャッシュC120は用いられない。比較ユニットC160は両命令実行ユニットの出力信号を比較して、異なる場合はエラー信号を生成する。ここでもまた選択的に比較ユニットC160をバス端子ユニットC140と接続してもよく(図示せず)、両命令実行ユニットの出力信号が異なる場合は書き込みアクセスを阻止することができる。パフォーマンスモードでは、ユニットC160が非アクティブ化される。非アクティブ化は、上述の種々の方法で実現できる。
マルチプロセッサシステムのさらなる実施形態でも同様に、キャッシュは、メモリバスでのアクセスコンフリクトを回避するためだけに用いられる。図4は、異なった態様でバスC10を介して記憶装置にアクセスすることができる2つの命令実行ユニットC210a、C210bを有するマルチプロセッサシステムC200を示す。ユニットC230は、システムC200のモードに応じてバスC10へのアクセスの仕方を調整する。パフォーマンスモードでは、スイッチC231およびC234が閉じ、スイッチC232およびC233は開かれる。したがって、命令実行ユニットC210aはキャッシュC240aとバス端子C250aとを介して、そして、命令実行ユニットC210bは、キャッシュ240bとバス端子C250bとを介してバスC10にアクセスする。命令実行ユニットのそれぞれのキャッシュからの記憶装置へのアクセスを提供できない場合にのみバスC10へのアクセスを行えばよい。別の命令実行ユニットによるバスC10へのアクセスが同時に行われた場合、バスコンフリクトが生じ、このバスコンフリクトは、バスプロトコルによって解決されなければならない。キャッシュC240aおよびC240bはソフトウェアからは不可視であるので、命令実行ユニットC210a、C210bによってそれぞれのキャッシュc240a、C240bに書き込まれるデータも同様に、すぐにそれぞれのバス端子C250a、C250bを介してバスC10に到達して記憶装置に書き込まれる(「ライトスルー(Write through)」方式)のがよい。
さらに、命令実行ユニットC210aがC250aを介して、またはC210bがC250bを介して、それぞれ別のキャッシュにも存在するメモリ内のデータを変更するかどうかを知るために、ユニットC240a、c240bが(C250aまたはC250bを介して)バスC10を監視(「バススヌーピング」)するのがよい。データを変更する場合、対応するデータが当該キャッシュ内の新しいデータと置換されるか、または、無効の印を付けなければならない。
比較モードでは、スイッチC232およびC233が閉じ、スイッチC231およびC234が開いている。両命令実行ユニットは共にC260を介してバスC10にアクセスする。キャッシュ(C240a、C240b)は使用されない。比較ユニットC220は両命令実行ユニットの出力信号を比較して、異なる場合はエラー信号を生成する。選択的に、比較ユニットC220をバス端子ユニットC260と接続してもよく(図示せず)、両命令実行ユニットの出力信号が異なる場合は書き込みアクセスを阻止することができる。パフォーマンスモードでは、ユニットC220は非アクティブ化される。非アクティブ化は、上述の種々の方法で実現できる。
図5は、マルチプロセッサのさらなる実施形態C200aを示す。ここでは、図4に示した実施形態C200とは異なり、比較モードに付加的キャッシュ270が挿入される。図4より既知の構成要素は上述の態様と同様に動作する。このシステムにおいても、すべてのキャッシュに対して「ライトスルー」方式が用いられ、すべてのキャッシュの内容が「バススヌーピング」によって安定的に保持されるのがよい。
ここで、図4および図5ですでに記載した変形例は、2つ以上の命令実行ユニットに拡大される。この場合、命令実行ユニットあたり1つのキャッシュユニットと1つのバス端子ユニットとが存在し、これらはパフォーマンスモードで利用される。比較モードでは、すべての命令実行ユニットがバス端子ユニットC260(選択的にキャッシュC270を用いる)を介してバスC10にアクセスする。
本発明のさらなる実施形態を図6に示す。ここでもプロセッサユニットC300は、少なくとも2つの命令実行ユニットC310a、C310bからなり、これらはそれぞれキャッシュC340a、340bとバス端子C350a、C350bとを介してさらにバスC10を介してメモリにアクセスする。パフォーマンスモードでは、ユニットC330におけるスイッチC332が開き、スイッチC331は閉じられる。この構成において命令実行ユニットC310aは、キャッシュC340aとバス端子C350aとを介し、命令実行ユニットC310bは、キャッシュ340bとバス端子C350bとを介してバスC10にアクセスする。
比較モードでは、切換ユニットC330においてスイッチC332が閉じ、スイッチC331が開いている。ここで両命令実行ユニットは、キャッシュC340aとバス端子C350aとを介してバスC10にアクセスする。ユニットC340a自体は、キャッシングのために用いられる2つの別個のキャッシュメモリまたはキャッシュ領域C341、C342からなる。パフォーマンスモードでは、メモリ/領域C341のみが使用されるが、比較モードでは、メモリ/領域C341に加えてメモリ/領域C342がキャッシングに使用される。比較ユニットC320は、比較モードにおいて両命令実行ユニットの出力信号を比較して、異なる場合はエラー信号を生成する。ここでもまた選択的に比較ユニットC320をバス端子ユニットC350aと接続してもよく(図示せず)、比較モードにおいて両コアの出力信号が異なる場合は書き込みアクセスを阻止することができる。パフォーマンスモードでは、図1に示した比較ユニットC160に関してすでに述べたように、比較ユニットC320は非アクティブ化される。
さらなる実施形態において、ユニットC340aの構造を、比較モードではメモリC341およびC342が一緒に用いられるが、比較モードでメモリC342から内容のみを排除して、別の内容と置換できるようにすることができる。
図6の形態のすべての実施形態は、2つ以上の命令実行ユニットに拡大される。この場合、命令実行ユニットあたり1つのキャッシュユニットと1つのバス端子ユニットとが存在し、これらはパフォーマンスモードで利用される。比較モードでは、すべての命令実行ユニットがキャッシュC340aとバス端子ユニットC350aとを介してバスC10にアクセスする。
本発明のさらなる可能な実施形態を図7に示す。ここでもプロセッサユニットC400は、少なくとも2つの命令実行ユニットC410a、C410bからなり、これらは、キャッシュ(C440a、C440b)とバス端子(C450a、C450b)とを介してバスC10に到達して(主)記憶装置にアクセスする。
パフォーマンスモードでは、ユニットC430においてスイッチC432が開き、スイッチC431が閉じられる。この構成では、命令実行ユニットC410aは、キャッシュC440aとバス端子C450aとを介して、命令実行ユニットC410bは、キャッシュC440bとバス端子C450bとを介してバスC10にアクセスする。
比較モードでは、切換ユニットC430においてスイッチC432が閉じ、スイッチC431は開いている。ここで両命令実行ユニットがキャッシュC440aとバス端子C450とを介してバスC10にアクセスする。ここでもまたユニットC440a自体は、キャッシングのために使用される2つの別個のキャッシュメモリまたは領域C441、C442からなる。パフォーマンスモードではメモリ/領域C441のみが用いられるが、比較モードではメモリ/領域C442がキャッシングに使用される。両メモリ/領域C441、C442のサイズの和は一定であるが、C441とC442とのサイズの比率はユニットC443によって制御される。このユニットC443によって動作中に比率を変更することが可能である。
比較ユニットC420は、比較モードにおいて両命令実行ユニットの出力信号を比較し、異なる場合はエラー信号を生成する。ここでもまた選択的に、比較ユニットC420をバス端子ユニットC450aと接続してもよく(図示せず)、両コアの出力信号が異なる場合は書き込みアクセスを阻止することができる。パフォーマンスモードでは、図1の比較ユニットC160に関してすでに述べたように、ユニットC420が非アクティブ化される。
次にユニットC443の機能を保持しながらユニットC440aを以下のように実行することができる:
1.比較モードにおいて、両メモリC441、C442をキャッシュのために用いる。
2.比較モードにおいて、両メモリC441、C442をキャッシュのために用いるが、この場合、比較モードにおいてメモリC442から内容のみを排除し、別の内容と置換することができる。
図7の構成のすべての実施形態は、2つ以上の命令実行ユニットに拡大される。この場合、命令実行ユニットあたり1つのキャッシュユニットと1つのバス端子ユニットとが存在し、これらはパフォーマンスモードで利用される。比較モードでは、すべての命令実行ユニットがキャッシュC440aとバス端子ユニットC450aとを介してバスC10にアクセスする。
図8は、さらなる可能な実施形態を示す。プロセッサシステムC500において、少なくとも2つの命令実行ユニットC510aおよびC510bが存在する。両命令実行ユニットは、キャッシュユニットC530と接続される。このユニットC530は、命令実行ユニットのバス端子ユニットC550a、C550bを有し、これらを介してバスC10へ、そして記憶装置にアクセスすることができる。キャッシュユニットC530は、接続された命令実行ユニット1つあたり2つのキャッシュメモリ(ここではC510aはC531およびC533を、C510bはC534およびC536を)を有する。これらのメモリペアのサイズの和は一定であるが、比率は、それぞれ1つのユニット(C531、C533にはC532を、C534、C536にはC535)を介して動作中に変更することができる。
パフォーマンスモードでは、命令実行ユニットの記憶装置へのアクセスは、命令実行ユニットに付随するメモリペアによって常に「キャッシュされる」。この場合、両キャッシュメモリのうちの1つのみが(ここではC510aにはC531が、C510bにはC534が)用いられる。命令実行ユニットの記憶装置へのアクセスがキャッシュメモリから提供することができない場合、C10への必要なバスアクセスは、常に、命令実行ユニットに付随するバス端子を(ここではC510aについてはC550aを、C510bについてはC550bを)介して行われる。パフォーマンスモードでの命令実行ユニットによるアクセスは同時に行われ、C10への同時のアクセスによってバスコンフリクトが発生した場合を除いて、同時にユニットC530によっても提供され得る。
比較モードでは、命令実行ユニットの記憶装置へのアクセスがパフォーマンスモードで用いられないキャッシュメモリ(ここではC533およびC536)によって提供される。バスアクセスのためにどのバス端子を用いるかは任意である。比較ユニットC520は、比較モードにおいてすべての命令実行ユニットの出力信号を比較して、異なる場合はエラー信号を生成する。ここでもまた選択的に、比較ユニットC520をバス端子ユニットC550a、C550bと接続してもよく(図示せず)、比較モードにおいて両コアの出力信号が異なる場合は書き込みアクセスを阻止することができる。パフォーマンスモードでは、ユニットC520は非アクティブ化される。非アクティブ化は、図1の比較ユニットC160の場合のように行うことができる。
さらなる実施形態において、ユニットC530の構造を、比較モードでは全キャッシュメモリ(ここでは、C531、C533、C534、C536)が用いられるが、パフォーマンスモードで用いられないキャッシュメモリから内容のみを排除して置換できるようにすることができる。
上記の例示的実装のすべてについて該当することは、切換ユニットおよび比較ユニットが、常に命令実行ユニットとこれに付随するキャッシュとの間に位置することである。比較モードでキャッシュが用いられる場合、このキャッシュをECCまたはパリティで保護してここでもエラーが検知されるようにしなければならない。さらに、キャッシュに「ライトスルー」方式が用いられ、キャッシュの内容が「バススヌーピング」によって安定的に保持されるのがよい。
パフォーマンスモードおよび比較モードにおいて2つのうちの1つのみがキャッシュを介してバスC10にアクセスする、2つの命令実行ユニットを有するシステムC100を示す。 パフォーマンスモードおよび比較モードにおいて2つともキャッシュを介してバスC10にアクセスするが、2つのうちの1つのみが比較モードで利用される、2つの命令実行ユニットを有するシステムC100を示す。 パフォーマンスモードにおいて2つのうちの1つのみがキャッシュを介してバスC10にアクセスする、2つの命令実行ユニットを有するシステムC100を示す。比較モードではキャッシュは用いられない。 パフォーマンスモードおよび比較モードにおいて2つともキャッシュを介してバスC10にアクセスする、2つの命令実行ユニットを有するシステムC200を示す。比較モードでは別々のバス端子ユニットを介したバスへのアクセスは行われない。 2つのうちの両方がパフォーマンスモードおよび比較モードにおいてキャッシュを介してバスC10にアクセスする、2つの命令実行ユニットを有するシステムC200aを示す。比較モードでは、別々のキャッシュおよび別々のバス端子ユニットを介したバスへのアクセスは行われない。 パフォーマンスモードおよび比較モードにおいて2つともキャッシュを介してバスC10にアクセスするが、2つのうちの1つのみが比較モードで利用される、2つの命令実行ユニットを有するシステムC300を示す。比較モードで利用されたキャッシュは、そのタスクのためにシステムC300の実モードに応じて内部の異なったメモリを利用する。 パフォーマンスモードおよび比較モードにおいて2つともキャッシュを介してバスC10にアクセスするが、2つのうちの1つのみが比較モードで利用される、2つの命令実行ユニットを有するシステムC400を示す。比較モードで利用されたキャッシュは、そのタスクのためにシステムC400の実モードに応じて内部の異なったメモリを利用する。これらの両メモリのサイズの比率は、別個のユニットによって制御される。 キャッシュユニットを介してバスC10にアクセスする2つの命令実行ユニットを有するシステムC500を示す。システムC500のモードに応じて命令実行ユニットのメモリアクセスの仕方が異なる。

Claims (13)

  1. 一時記憶装置、特にキャッシュが設けられ、さらに、切換手段と比較手段とが設けられ、パフォーマンスモードと比較モードとの間で切り換え可能な、少なくとも2つの命令実行ユニットを有するコンピュータシステムにおいて記憶装置へのアクセスを制御する方法であって、
    前記比較モードでは、命令実行ユニットは前記一時記憶装置へアクセスせず、前記パフォーマンスモードでは、少なくとも1つの命令実行ユニットが前記一時記憶装置へアクセスすることを特徴とする、方法。
  2. 前記比較モードでは、前記一時記憶装置と接続された命令実行ユニットの前記一時記憶装置との接続がスイッチ手段によって切断されることを特徴とする、請求項1に記載の方法。
  3. 前記比較モードでは、前記比較手段は情報が一致しているかどうかを比較し、一致していない場合はエラーと判定し、エラーの場合は前記一時記憶装置に相当しない記憶装置へのアクセスを阻止することを特徴とする、請求項1に記載の方法。
  4. 前記比較モードでは、前記比較手段は情報が一致しているかどうかを比較し、一致していない場合はエラーと判定し、エラーの場合は前記一時記憶装置に相当しない記憶装置内の情報を無効にするか、またはブロックすることを特徴とする、請求項1に記載の方法。
  5. 前記比較モードでは、前記比較手段は情報が一致しているかどうかを比較し、一致していない場合はエラーと判定し、エラーの場合は前記コンピュータシステムを新たに起動または再起動することを特徴とする、請求項1に記載の方法。
  6. 前記比較モードでは、前記比較手段は情報が一致しているかどうかを比較し、一致していない場合はエラーと判定し、エラーの場合は少なくとも1つの命令実行ユニットを新たに起動または再起動することを特徴とする、請求項1に記載の方法。
  7. 一時記憶装置、特にキャッシュが設けられ、さらに、切換手段と比較手段とが設けられ、パフォーマンスモードと比較モードとの間で切り換え可能な、少なくとも2つの命令実行ユニットを有するコンピュータシステムにおいて記憶装置へのアクセスを制御する装置であって、
    前記比較モードでは命令実行ユニットは前記一時記憶装置へアクセスせず、パフォーマンスモードでは少なくとも1つの命令実行ユニットが前記一時記憶装置へアクセスする手段を備えることを特徴とする、装置。
  8. 前記手段は、前記一時記憶装置への命令実行ユニットのアクセスを阻止するか、または可能にするスイッチ手段として形成されることを特徴とする、請求項7に記載の装置。
  9. 前記比較手段は、前記比較モードで情報が一致しているかどうかを比較し、一致していない場合はエラーと判定し、エラーの場合は前記一時記憶装置に相当しない記憶装置へのアクセスを阻止することを特徴とする、請求項7に記載の装置。
  10. 前記比較手段は、前記比較モードで情報が一致しているかどうかを比較し、一致していない場合はエラーと判定し、エラーの場合は前記一時記憶装置に相当しない記憶装置内の情報を無効にするか、またはブロックすることを特徴とする、請求項7に記載の装置。
  11. 前記比較手段は、少なくとも1つの命令実行ユニットと前記一時記憶装置との間に配置されることを特徴とする、請求項7に記載の装置。
  12. 前記一時記憶装置は、少なくとも1つの命令実行ユニットと前記比較手段との間に配置されることを特徴とする、請求項7に記載の装置。
  13. 前記切換手段および前記比較手段は、切換ユニットおよび比較ユニットとして実現されることを特徴とする、請求項7および11、あるいは7および12に記載の装置。

JP2008525515A 2005-08-08 2006-07-24 少なくとも2つの命令実行ユニットを有するコンピュータシステムにおける記憶装置へのアクセスを制御する方法および装置 Pending JP2009505177A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102005037250A DE102005037250A1 (de) 2005-08-08 2005-08-08 Verfahren und Vorrichtung zur Steuerung eines Speicherzugriffs bei einem Rechnersystem mit wenigstens zwei Ausführungseinheiten
PCT/EP2006/064560 WO2007017365A1 (de) 2005-08-08 2006-07-24 Verfahren und vorrichtung zur steuerung eines speicherzugriffs bei einem rechnersystem mit wenigstens zwei ausführungseinheiten

Publications (1)

Publication Number Publication Date
JP2009505177A true JP2009505177A (ja) 2009-02-05

Family

ID=37269323

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008525515A Pending JP2009505177A (ja) 2005-08-08 2006-07-24 少なくとも2つの命令実行ユニットを有するコンピュータシステムにおける記憶装置へのアクセスを制御する方法および装置

Country Status (8)

Country Link
EP (1) EP1915683B1 (ja)
JP (1) JP2009505177A (ja)
KR (1) KR20080031373A (ja)
CN (1) CN101238443B (ja)
AT (1) ATE415659T1 (ja)
DE (2) DE102005037250A1 (ja)
RU (1) RU2406114C2 (ja)
WO (1) WO2007017365A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020004108A (ja) * 2018-06-28 2020-01-09 ルネサスエレクトロニクス株式会社 半導体装置、制御システムおよび半導体装置の制御方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2523935C2 (ru) * 2012-04-28 2014-07-27 Федеральное государственное бюджетное учреждение науки Институт проблем управления им. В.А. Трапезникова Российской академии наук Способ устранения конфликта доступа к центру и реализующая способ система

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07230436A (ja) * 1994-02-16 1995-08-29 Hitachi Ltd プロセッサ構成方法及び情報処理装置
JPH07248919A (ja) * 1994-03-10 1995-09-26 Fujitsu Ltd データ処理装置
JP2002312190A (ja) * 2001-02-22 2002-10-25 Internatl Business Mach Corp <Ibm> マルチプロセッシングの方法及びシステム
JP2005165807A (ja) * 2003-12-04 2005-06-23 Hitachi Ltd プロセッサ多重化システムにおける動作比較方式

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1215539B (it) * 1987-06-03 1990-02-14 Honeywell Inf Systems Memoria tampone trasparente.
US5297269A (en) * 1990-04-26 1994-03-22 Digital Equipment Company Cache coherency protocol for multi processor computer system
US5530932A (en) * 1994-12-23 1996-06-25 Intel Corporation Cache coherent multiprocessing computer system with reduced power operating features
US5651137A (en) * 1995-04-12 1997-07-22 Intel Corporation Scalable cache attributes for an input/output bus
JP3247043B2 (ja) * 1996-01-12 2002-01-15 株式会社日立製作所 内部信号で障害検出を行う情報処理システムおよび論理lsi
GB9704542D0 (en) * 1997-03-05 1997-04-23 Sgs Thomson Microelectronics A cache coherency mechanism
US5822576A (en) * 1997-03-26 1998-10-13 International Business Machines Corporation Branch history table with branch pattern field
US6640313B1 (en) * 1999-12-21 2003-10-28 Intel Corporation Microprocessor with high-reliability operating mode
US7076609B2 (en) * 2002-09-20 2006-07-11 Intel Corporation Cache sharing for a chip multiprocessor or multiprocessing system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07230436A (ja) * 1994-02-16 1995-08-29 Hitachi Ltd プロセッサ構成方法及び情報処理装置
JPH07248919A (ja) * 1994-03-10 1995-09-26 Fujitsu Ltd データ処理装置
JP2002312190A (ja) * 2001-02-22 2002-10-25 Internatl Business Mach Corp <Ibm> マルチプロセッシングの方法及びシステム
JP2005165807A (ja) * 2003-12-04 2005-06-23 Hitachi Ltd プロセッサ多重化システムにおける動作比較方式

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020004108A (ja) * 2018-06-28 2020-01-09 ルネサスエレクトロニクス株式会社 半導体装置、制御システムおよび半導体装置の制御方法
JP7042709B2 (ja) 2018-06-28 2022-03-28 ルネサスエレクトロニクス株式会社 半導体装置、制御システムおよび半導体装置の制御方法

Also Published As

Publication number Publication date
KR20080031373A (ko) 2008-04-08
CN101238443B (zh) 2010-06-16
DE102005037250A1 (de) 2007-02-15
DE502006002217D1 (de) 2009-01-08
WO2007017365A1 (de) 2007-02-15
EP1915683A1 (de) 2008-04-30
CN101238443A (zh) 2008-08-06
RU2008108471A (ru) 2009-09-20
RU2406114C2 (ru) 2010-12-10
EP1915683B1 (de) 2008-11-26
ATE415659T1 (de) 2008-12-15

Similar Documents

Publication Publication Date Title
JP5328748B2 (ja) キャッシュメモリにおけるキャッシュラインの置き換え
US8103830B2 (en) Disabling cache portions during low voltage operations
RU2443011C2 (ru) Фильтрация отслеживания с использованием кэша запросов отслеживания
US9047223B2 (en) Replicating tag entries for reliability enhancement in cache tag arrays
US9081688B2 (en) Obtaining data for redundant multithreading (RMT) execution
US20070239940A1 (en) Adaptive prefetching
CN111742301A (zh) 通过请求来日志记录对更高级别的缓存的缓存流入量
US10528473B2 (en) Disabling cache portions during low voltage operations
US20090019306A1 (en) Protecting tag information in a multi-level cache hierarchy
US20110125968A1 (en) Architecture and method for cache-based checkpointing and rollback
JP2021535470A (ja) 有界ポインタの使用を制御するための装置及び方法
Patil et al. Dvé: Improving dram reliability and performance on-demand via coherent replication
JP5319049B2 (ja) キャッシュシステム
JP2007533014A (ja) ライトバックキャッシュにおいてスヌーププッシュ処理やスヌープキル処理が同時発生しているときのライトバック処理をキャンセルするためのシステムおよび方法
JP2009508188A (ja) 少なくとも2つの実行ユニットを有する計算機システムにおけるメモリアクセスを制御する方法および装置
JP2009505177A (ja) 少なくとも2つの命令実行ユニットを有するコンピュータシステムにおける記憶装置へのアクセスを制御する方法および装置
US20100131718A1 (en) Multiprocessor system
US20100211819A1 (en) Method and a device for controlling a memory access in a computer system having at least two execution units
JP6249120B1 (ja) プロセッサ
JP2009505179A (ja) 少なくとも2つの実行ユニットを有する計算機システムにおいてレジスタのマーキングによってスタート状態を定める方法および装置
US6694468B1 (en) Method and apparatus to test memory
US11899589B2 (en) Systems, methods, and devices for bias mode management in memory systems
JPH08137748A (ja) コピーバックキャッシュを有するコンピュータ及びコピーバックキャッシュ制御方法
JP2008176731A (ja) マルチプロセッサシステム
CN101238444A (zh) 用于在具有至少两个执行单元的计算机系统中控制存储器访问的方法和设备

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101005

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110301