JP2001306320A - 電源投入時あるいはマシンの特定の状態を通してアレイを既知の状態にリセットし、初期化するための装置及び方法 - Google Patents

電源投入時あるいはマシンの特定の状態を通してアレイを既知の状態にリセットし、初期化するための装置及び方法

Info

Publication number
JP2001306320A
JP2001306320A JP2001094303A JP2001094303A JP2001306320A JP 2001306320 A JP2001306320 A JP 2001306320A JP 2001094303 A JP2001094303 A JP 2001094303A JP 2001094303 A JP2001094303 A JP 2001094303A JP 2001306320 A JP2001306320 A JP 2001306320A
Authority
JP
Japan
Prior art keywords
entry
illegal
array
state
instruction
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
JP2001094303A
Other languages
English (en)
Inventor
P Hanumu David
デビッド・ピー・ハヌム
Bateia Rohito
ロヒト・バティア
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JP2001306320A publication Critical patent/JP2001306320A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/20Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory

Landscapes

  • Advance Control (AREA)
  • Devices For Executing Special Programs (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 【課題】完全連想型アレイの初期化された状態を生成
し、そのような完全連想型アレイのためにイリーガル状
態を生成する。 【解決手段】本発明の一実施例によれば、完全連想型が
望ましいテーブルに対してイリーガルシステム状態を確
立し、入力されるエントリ(テーブルに書き込まれるエ
ントリ)が既にテーブルに存在するエントリと一致でき
ないようにするシステムおよび方法が提供される。望ま
しくは、入力されるエントリとテーブルエントリとが一
致できないようにすることにより、システムは、完全連
想型テーブルまたはアレイを更新するのに、ポインタシ
ステムを使って、入力されるエントリを完全連想型テー
ブルに書き込むよう強制される。イリーガルシステム
は、システムの電源投入時に自動的に呼び出されて完全
連想型アレイを更新することができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は一般に、完全連想型
アレイのための初期化された状態の生成に関連し、より
詳細には、そのような完全連想型アレイのためのイリー
ガル状態の生成に関する。
【0002】
【従来の技術】一般に、プログラムの実行効率を改善す
るために、コンピュータプログラムにおいて選択される
命令をリオーダ(reorder)することが望まし
い。そのようなリオーダの1つの形態は、ストア命令に
対して、ある一定のメモリ位置からデータをロードする
命令、並びにロード命令において受け取ったデータを用
いることのできる命令の、移動または投機をする形態で
ある。投機されたロード命令及びロードされたデータを
用いる命令(「使用」命令)に続くストア命令が、1つ
以上の投機されたロード命令と同じメモリ位置にアクセ
スする場合に、そのようなリオーダ処理に関連するハザ
ードが存在する。この場合には、その投機は一般に、投
機された命令によってアクセスされるレジスタに誤った
データを入れる作用を有しているであろう。そのような
競合が生じる場合、ロード命令及び任意の「使用」命令
(ロードされたデータを用いる命令)の実行は無効にさ
れ、取り消されてしまう。一般には、ストア操作と競合
することによって無効にされた命令を、キャンセルし、
再フェッチし、再実行することを含むことのできる再生
処理が実行されることになる。
【0003】投機から生じるそのような競合に対応する
ための1つの従来のアプローチは、投機されたロード命
令と競合するストア命令が、パイプライン及びリタイア
において最も古い命令になるようにし、その一方で、一
旦ストア命令がキャッシュまたはメモリ階層に引き渡さ
れれば、そのストア後の命令がキャンセルされ、再フェ
ッチされ、かつ再実行されるようにすることである。
【0004】従来技術において生じる1つの問題は、一
般に、実行時にストア操作、ロード操作及びリオーダ操
作を通してソフトウエアによる制御が行われないことで
ある。別の問題は、ハードウエアを用いるために命令ウ
インドウサイズが制限され、それにより利用可能なコー
ドの最適化も制限されることである。さらに一般に、従
来技術においては再生時に大きなペナルティがあり、一
般にそのようなペナルティの大きさは、ハードウエアが
最適化プロセスを実施する方法に依存する。
【0005】したがって、従来技術の問題点は、ハード
ウエアによる最適化の実施によって一般的に行われる最
適化が、命令ウインドウサイズ内に制限されることであ
る。
【0006】さらに従来技術の問題点は、再生時の大き
なペナルティの結果、ハードウエア制御式の最適化プロ
セスになることである。
【0007】従来技術のさらに別の問題点は、一般に、
実行時のストア操作、ロード操作及びリオーダ操作を通
して、ソフトウエアによる制御が行われないことであ
る。
【0008】
【発明が解決しようとする課題】本発明の目的は、完全
連想型アレイの初期化された状態を生成し、そのような
完全連想型アレイのためにイリーガル状態を生成するこ
とである。
【0009】
【課題を解決するための手段】上記の、および他の目
的、特徴及び技術的な利点は、元のロード命令を、アド
バンスドロード命令及びチェック命令に分割するシステ
ム及び方法によって達成される。アドバンスドロード命
令は、対応する元のロード命令より、シーケンスコード
内の進んだ位置に置かれ、データをロードするための操
作を行うことが好ましい。各チェック命令は、特定のレ
ジスタを用いるアドバンスドロード命令の有効性をチェ
ックするための操作を行い、そのレジスタを用いる最新
のアドバンスドロード命令を特定し、その特定された最
新のアドバンスドロード命令を、命令キューまたはパイ
プライン内の未処理のストア命令アドレス情報と比較す
ることにより、そのアドバンスドロード命令を検査する
ことが好ましい。ストア命令アドレス情報との一致が見
出されない場合、その投機は成功したものと見なされ、
それによりアドバンスドロード命令の配置が、任意のス
トア命令と競合せず、それゆえこのアドバンスドロード
命令の投機が成功したことを示すことが好ましい。一般
に、上記のような元のロード命令を分割する際には、選
択されたストア命令の前に、元のロード命令に対応する
アドバンスドロード命令が置かれ、元のロード命令に対
応するチェック命令は、最適化されたコードシーケンス
内の元のロード命令の位置に保持される。
【0010】最新のアドバンスドロード命令の特定及び
ストアアドレス情報に対するこのアドバンスドロード命
令の有効性確認検査は個別に、かつ並行して行われるこ
とが好ましく、それにより、全サイクル時間を改善し、
再生を開始するだけの十分に早い段階に、競合情報(ス
トアアドレス情報との比較の「ヒット」または「ミス」
状態)を例外処理ユニットに送信することが好ましい。
【0011】アドバンスドロード命令に関連する情報を
ストアするために、1つ以上のテーブルを用いることが
好ましい。この目的のために用いられるテーブルは完全
に連想的であり、それにより、ストア命令メモリアドレ
スのような1つのデータと、テーブルに格納された任意
のデータエントリとの比較を行えることが好ましい。ま
た完全連想型テーブルにより、レジスタ番号及びメモリ
アドレスが、テーブル内の任意の場所に格納されるよう
にし、それによりレジスタ番号に従ってテーブルを索引
付けする必要性をなくすことが好ましい。好ましい実施
形態では、アドバンスドロード命令に関連して保存され
るデータは、命令がデータをロードしたレジスタ番号
と、データがロードされたメモリアドレス、及びアドバ
ンスドロード命令の妥当性確認状態のログとを含む。そ
のような情報は、1つのテーブル内に保持されるか、ま
たは複数の個別のテーブル内の対応する位置に格納され
ることもできる。
【0012】好ましい実施形態では、複数のデータバン
クと、その複数のデータバンクへの書込みを可能にする
複数のポートとを備える完全連想型テーブルが用いられ
る。それによって本発明の機構は、並行して個別のバン
クに書込みを行う個別のポートを用いることによりテー
ブルの更新を同時に行えることが好ましい。そのように
並行して動作を行うことにより、1マシンサイクル中
に、多数のテーブルの更新が行われることが好ましい。
【0013】好ましい実施形態では、ポートでこれから
入力される(prospective)各エントリの場
合に、本発明の機構は、入力されるエントリが書き込ま
れることになるのが、どのバンクか、かつバンク内のど
のエントリ位置かを判定するための1組のファクタを用
いる。バンク選択に関しては、一般にそのファクタは、
入力されるエントリと既存のテーブルエントリとの間が
一致するか否か、入力されるエントリが存在しているポ
ートのためのデフォルトのバンク接続、及び複数のバン
クの中のデータ記憶量を概ね等しくするためのランダム
化ロジックの動作を含む。エントリ位置選択に関して
は、そのファクタは一般に、入力されるエントリ間に一
致があるか否か、次の無効なエントリのテーブルエント
リ位置、及び1つのバンク内の次に続くエントリのテー
ブルエントリ位置(バンク内の全てのエントリが有効で
ある場合)を含む。
【0014】本発明の好ましい実施形態では、イリーガ
ルシステム状態が呼び出され、イリーガル値が完全連想
型テーブルのエントリに書き込まれる。これらのイリー
ガル値は、通常のプログラム実行の流れにおいて、入力
されるエントリと一致させることができないことが好ま
しい。イリーガルシステム状態は、完全連想型テーブル
を含むシステムの電源投入時、またはリセット時に、又
はプログラム実行によって呼び出されるマシンの特定の
状態によって、呼び出され得る。
【0015】それゆえ、本発明の好ましい実施形態の1
つの利点は、イリーガルシステム状態が呼び出され、完
全連想型テーブルに書込みを行う種々のポートにおいて
入力されるエントリの一致を禁止することである。
【0016】本発明の好ましい実施形態の別の利点は、
イリーガルシステム状態を生成することにより、テスト
ケースまたはプログラムが同じハードウエア上で繰返し
実行されるときに、そのテストケースまたはプログラム
シーケンスの再現性を確実にすることができることであ
る。
【0017】上記の説明は、以下の本発明の詳細な説明
を十分に理解するために、本発明の特徴及び技術的な利
点の概略を記載しており、広範に記載されてはいない。
本発明の請求の範囲の主題を構成する本発明のさらに別
の特徴及び利点は、以下に記載されるであろう。開示さ
れる概念及び特定の実施形態は、本発明と同じ目的を実
行するために、他の構造を変更または設計するための原
理として容易に用いることができることを当業者は理解
されたい。また、そのような等価な構成は、添付の請求
の範囲に記載されるような本発明の精神及び範囲から逸
脱しないことも当業者は理解されたい。
【0018】
【発明の実施の形態】本発明及びその利点をより完全に
理解するために、ここで添付の図面とともに取り上げら
れる以下の説明を参照する。
【0019】図1は、本発明の好ましい実施形態による
イリーガル状態101を含む状態図である。
【0020】好ましい実施形態では、完全連想型テーブ
ル構造は、本明細書に援用される特許出願(代理人整理
番号第10971366)、名称「SYSTEM AN
DMETHOD FOR FINDING AND V
ALIDATING THE MOST RECENT
ADVANCE LOAD FOR A GIVEN
CHECK LOAD」に記載されるような構造であ
り、コンパイラシステム内でソフトウエアで実行するこ
とにより、一連の状態を通して循環することができる。
状態A102、B103、C104及びD105は、ソ
フトウエアがハードウエア構造(完全連想型テーブルの
ような)を循環することができる状態を表すことが好ま
しい。状態A102〜D105は、状態図100におい
て、ただ1つのリーガル状態であることが好ましい。
【0021】ここでは、用語「入力されるエントリ」は
全般に、完全連想型テーブル内の位置に書き込まれる準
備がされているポートにあるエントリのことであり、用
語「テーブルエントリ」は全般に、完全連想型テーブル
内に既に存在しているエントリのことである。入力され
るエントリは、その入力されるエントリがテーブルエン
トリに一致するという条件ゆえ、テーブルに配向され
る。別法では、入力されるエントリは、無効なエントリ
の位置を示すポインタによって指示されるような、完全
連想型テーブル内の位置に配向される場合もある。完全
連想型テーブル内にエントリを書き込むためのこれらの
別の機構についてはさらに、本発明に援用される特許出
願(代理人整理番号第10971362)、名称「SY
STEMAND METHOD FOR EFFICI
ENTLY UPDATTNGA FULLY ASS
OCIATIVE ARRAY」に記載されている。こ
こで、用語「イリーガル値」は全般に、入力されるエン
トリが、通常のプログラム実行の流れにおいて取らない
ことが好ましい値のことである。
【0022】本発明の好ましい実施形態では、イリーガ
ル状態Z101が、4つのリーガル状態A102〜D1
05に加えられ、完全連想型テーブルが循環することが
できる全状態の数に含まれる。状態Z101は、通常の
プログラム実行の流れにおいては到達することができな
いことが好ましく、このことは、状態Z101から状態
A102に向かう一方向矢印によって説明される。状態
Z101は、完全連想型テーブルまたは他のデータ記憶
エントリを収容するハードウエアに電源を投入するプロ
セス中に、または特定の目的のためにイリーガル状態Z
101を生成するマシンの特定の命令を実行することに
より到達できることが好ましい。一般に、マシンの特定
の命令は、システムにおいてマシン専用の記憶素子にア
クセスする動作をリセットするように機能する一連の動
作である。好ましくは、マシンの特定の命令は、システ
ムの電源投入と概ね同じ効果を奏する。
【0023】好ましい実施形態では、完全連想型テーブ
ルの実現可能な状態に加えられたイリーガル状態Z10
1を用いることにより、テストケースあるいはプログラ
ムシーケンスが同じハードウエア上で繰返し実行される
ときに、そのようなテストケースまたはプログラムシー
ケンスの再現性が可能になる。完全連想型テーブルに書
込みを行うことができるポート上の入力されるエントリ
を一致させないようにすることにより、同じハードウエ
アを用いる連続的な実行処理において、プログラムの動
作の変動を低減することが好ましい。誤りの発生源の数
は、入力されるエントリとテーブルエントリとが一致で
きないようにすることにより減少させ、それによりデバ
ッグプロセスを簡略化することが好ましい。
【0024】図2は、本発明の好ましい実施形態による
連想型アレイ206内のエントリにイリーガル状態を書
き込むためのハードウエア構造を示す。他のハードウエ
ア構造、ソフトウエア設計、及び/またはその両者の組
み合わせを用いて、連想型テーブルまたはアレイ206
のイリーガル状態の供給を実施することもでき、全ての
そのような変形形態が本発明の範囲内に入ることは理解
されよう。
【0025】好ましい実施形態では、イリーガル状態Z
101(図1)は、イリーガル値を、連想型アレイ20
6の全てのエントリに書き込むことにより実現される。
入力されるエントリは、通常のプログラム実行の流れに
おいてイリーガル値を取ることができないことが好まし
いため、イリーガル値を連想型テーブル206の全ての
エントリに書き込むことにより、入力されるエントリと
の一致が禁止されることが好ましい。同じイリーガル値
は、連想型テーブルまたはアレイ206内の全てのエン
トリに書き込まれることが好ましい。しかしながら、別
の実施形態では、複数の異なるイリーガル値が異なるエ
ントリに書き込まれる場合もあり、全てのそのような変
形形態は、本発明の範囲内に含まれる。
【0026】好ましい実施形態では、一般に連想型アレ
イ206においてイリーガルエントリを作成すること
は、通常のプログラム実行の流れにおいて、入力される
エントリが一致しないビットシーケンスを合成すること
を含む。そのようなビットシーケンスを作成するための
1つの典型的な機構は、入力されるエントリによって一
致しないような「タイプ」及び「フレーム」ビットの組
み合わせを確立することを含む。一般にレジスタ番号ま
たは識別番号は、1つのタイプビット及び1つまたは複
数のフレームビットを含む。タイプビットが1の値を有
する場合、フレームビットは多数のビットがあるが、全
ての0の値を有することが好ましい。一般に、タイプビ
ットが0の値を有する場合、フレームビットは任意の値
を取ることができる。
【0027】好ましい実施形態では、通常のプログラム
実行の流れにおいては実現不可能なタイプビット及びフ
レームビットの組み合わせを達成するために、イリーガ
ルエントリは、1の値を有するタイプビットと、全ての
セットが1の値に設定されたフレームビットとを含むこ
とができる。そのようなタイプビットとフレームビット
とを組み合わせた状態(タイプビットと全てのフレーム
ビットが全て1に等しい)は、一般に、入力されるリー
ガルエントリにおいては存在しないであろう。従って、
連想型テーブル206の全てのエントリが、1に等しい
タイプビットと、全て1に等しいフレームビットとの組
み合わせを含むことを確実にすることにより、一般に、
上記のイリーガル状態に設定されるテーブルエントリ
と、入力されるエントリとの任意の実現可能な一致が禁
止されるであろう。上記のタイプビット及びフレームビ
ットの特定の組み合わせは、通常のプログラム実行の流
れにおいて入力されるエントリによって一致することの
ないエントリ値の一例を表しているにすぎないことは理
解されよう。入力されるエントリと一致させないよう
に、全テーブル206エントリへの値の書込みを設定す
るための多数の他の機構を実施することができ、そのよ
うな全ての変形形態も本発明の範囲内に入る。例えば、
1つの別形態は、通常のプログラム実行の流れにおいて
テーブルエントリと入力されるエントリとの両方に対し
て常に0であるが、イリーガルまたは「不一致」状態を
示すために1に設定されるフラグビットを設定すること
を含む場合もある。
【0028】好ましい実施形態では、本発明に援用され
ており、これ以降「P141出願」と呼ばれる特許出願
(代理人整理番号第10971362)、名称「SYS
TEM AND METHOD FOR EFFICI
ENTLY UPDATING A FULLY AS
SOCIATIVE ARRAY」に記載されるポイン
タ更新機構に従ったエントリの書込みに準拠して、テー
ブル206がイリーガル状態である場合、このイリーガ
ル状態によって、テーブル206にエントリを書き込む
ための機構が、一致する値を含むテーブル位置に、入力
されるエントリを優先的に書き込む。
【0029】好ましい実施形態では、強制更新コマンド
203が、電源投入条件またはマシンの特定の命令によ
って生じる場合があり、それによりラッチまたは予め設
定可能な記憶素子201が1の値を取れるようにし、選
択されるビット値がアレイ206内のエントリに書き込
まれるようにする。このプロセスは、アレイ206内の
全てのエントリに対して行われ、それによりアレイ20
6内の全てのエントリが、イリーガル値をストアし、ア
レイ206内を全体としてイリーガル状態にすることが
好ましい。アレイ206内のエントリに書き込まれる
「イリーガル値」は、「タイプ」及び「フレーム」ビッ
トの値に関して上記のようになされることが好ましい。
一旦、記載されたイリーガル値(すなわちタイプビット
=1、かつ全フレームビット=1)がアレイ206内の
エントリ内に入れば、テーブルエントリは、入力される
エントリとしてアレイ206に到達するチェックまたは
アドバンスドロード命令値と一致できないことが好まし
い。
【0030】好ましい実施形態では、タイプデータ20
4及びフレームデータ205をアレイ206に書き込む
ようにするORゲート207を用いて、イリーガル状態
への初期化が達成される。アレイ206の決まった動作
に従って、一致を検査するために入力されるエントリを
比較することは、論理構造208を用いて行われる。
【0031】好ましい実施形態では、最初のチェック命
令209は、チェック命令209と一致するエントリを
探すために、アレイ206内のエントリと比較される。
しかしながら、アレイ206はイリーガル状態に設定さ
れていることが好ましいため、チェック命令209は一
般に、アレイ206内のエントリと一致しないであろ
う。同様に、1d.a命令210とテーブル206内の
任意のエントリとの間に一致するものがないことによ
り、一般にアドバンスドロード命令210(図2では
「1d.a」と記載されている)は、本発明に援用され
るP141出願に記載されるポインタ機構を用いて、ア
レイ206を更新できるようになる。アレイ206がイ
リーガル状態にあるとき、アレイ206に書込みを行う
ポートにある入力されるエントリと、アレイ206内の
エントリとの間において偶然に一致することのないこと
が好ましい。チェック命令209及びアドバンスドロー
ド命令210それぞれに対して1つの論理構造208が
存在することが好ましい。
【0032】図2は、本発明を実施するために用いるこ
とのできる多くのハードウエア設計の1つのみを示して
いるにすぎないことは理解されよう。多数の他のハード
ウエア構成、論理ゲート配列、ソフトウエア形態及び/
または上記の形態の組み合わせを用いて、同じまたは類
似の結果を達成することができ、全てのそのような変形
形態も本発明の範囲内に入る。
【0033】図3は、本発明の好ましい実施形態ととも
に用いるのに適したコンピュータシステム300を示
す。中央演算ユニット(CPU)301が、システムバ
ス302に接続される。CPU301は、HP PA−
8200のような任意の汎用のCPUを用いることがで
きる。しかしながら、本発明は、CPU301が本明細
書に記載したような本発明の動作を可能にする限り、C
PU301のアーキテクチャによって制限されることは
ない。バス302は、ランダムアクセスメモリ(RA
M)303に接続される。RAM303はSRAM、D
RAMまたはSDRAMのいずれであってもよい。RO
M304もバス302に接続される。ROM304はP
ROM、EPROMまたはEEPROMのいずれであっ
てもよい。RAM303及びROM304は、当分野に
おいてよく知られているように、ユーザ及びシステムデ
ータ並びにプログラムを保持している。
【0034】またバス302は、入力/出力(I/O)
アダプタ305、通信アダプタカード311、ユーザイ
ンターフェースアダプタ308及びディスプレイアダプ
タ309にも接続される。I/Oアダプタ305は、1
つ以上のハードディスクドライブ、CDドライブ、フロ
ッピィディスクドライブ、テープドライブのような記憶
装置306をコンピュータシステムに接続する。通信ア
ダプタ311は、コンピュータシステム300をネット
ワーク312に接続するように構成され、ネットワーク
は1つ以上のローカルエリアネットワーク(LAN)、
広域ネットワーク(WAN)、イーサネット(登録商
標)またはインターネットの場合がある。ユーザインタ
ーフェースアダプタ308は、キーボード313及びポ
インティング装置307のようなユーザ入力装置をコン
ピュータシステム300に接続する。ディスプレイアダ
プタ309は、CPU301によって駆動され、ディス
プレイ装置310上の表示を制御する。
【0035】本発明及びその利点が詳細に記載されてき
たが、種々の変形、代替及び別形態を、添付の請求の範
囲によって画定されるような本発明の精神及び範囲から
逸脱することなく実施できることを理解されたい。さら
に、本発明の応用形態の範囲は、明細書に記載されるプ
ロセス、マシン、製品、構成、手段、方法及びステップ
の特定の実施形態に限定することを意図するものではな
い。当業者には本発明の開示から容易に理解されるであ
ろうが、ここに記載された対応する実施形態と概ね同じ
機能を実行するか、または同じ結果をもたらすプロセ
ス、マシン、製品、構成、手段、方法及びステップを、
本発明に従って用いることができる。従って、添付の請
求の範囲は、そのようなプロセス、マシン、製品、構
成、手段、方法及びステップを発明の範囲内に含むこと
を意図している。
【0036】以上、本発明の実施例について詳述した
が、以下、本発明の各実施態様の例を示す。
【0037】[実施態様1]完全連想型テーブル内に格
納されたテーブルエントリと入力されるエントリとが一
致するのを防ぐための方法であって、前記完全連想型テ
ーブル(206)内の前記テーブルエントリの実質的に
全てのエントリにイリーガル値(101)を書き込むス
テップと、通常のプログラム実行条件下で前記入力され
るエントリが前記イリーガル値を取るのを禁止するステ
ップと、を備えて成り、それにより前記テーブルエント
リと前記入力されるエントリとの間で一致条件が成り立
つのを防ぐための方法。
【0038】[実施態様2]前記書き込みステップが、
システム(200)の電源投入時に実行されることを特
徴とする、実施態様1に記載の方法。
【0039】[実施態様3]前記書き込みステップが、
少なくとも1つのタイプビット(204)を1に設定す
るステップと、1組のフレームビット(205)を全て
1に設定するステップと、を備えて成ることを特徴とす
る、実施態様1に記載の方法。
【0040】[実施態様4]前記1組のフレームビット
(205)が3つのフレームビットを備えて成ることを
特徴とする、実施態様3に記載の方法。
【0041】[実施態様5]前記完全連想型テーブル
(206)が、所与のチェック命令のための最新のアド
バンスドロード命令を見つけ、有効性を確認するための
装置に含まれることを特徴とする、実施態様1に記載の
方法。
【0042】[実施態様6]無効なエントリを含む第1
のテーブル位置を示すためにポインタを用いて、前記完
全連想型テーブル(206)内のエントリを更新するス
テップをさらに備えて成ることを特徴とする、実施態様
1に記載の方法。
【0043】[実施態様7]前記完全連想型テーブル
(206)内にメモリアドレスを記憶するステップをさ
らに備えて成ることを特徴とする、実施態様1に記載の
方法。
【0044】[実施態様8]前記完全連想型テーブル
(206)内にレジスタ番号を記憶するステップをさら
に備えて成ることを特徴とする、実施態様1に記載の方
法。
【0045】[実施態様9]前記書き込みステップが、
強制更新コマンド(203)を発行するステップをさら
に備えて成り、それにより前記完全連想型テーブル(2
06)の複数の予め設定可能な記憶素子(201)が、
所定のイリーガル値を取ることができるようにすること
を特徴とする、実施態様1に記載の方法。
【0046】[実施態様10]完全連想型テーブルに存
在するエントリと入力されるエントリとの一致を禁止す
るための装置であって、前記完全連想型テーブル(20
6)内の複数のエントリ位置と、前記複数のエントリ位
置が、前記完全連想型テーブル(206)に接続される
ポートにある、入力されるエントリに存在しない所定の
ビット値を取れるようにするための強制更新コマンド
(203)と、を備えて成る装置。
【0047】
【発明の効果】以上説明したように、本発明を用いるこ
とにより、完全連想型アレイの初期化された状態を生成
し、そのような完全連想型アレイのためにイリーガル状
態を生成することができる。
【図面の簡単な説明】
【図1】本発明の好ましい実施形態によるイリーガル状
態を含む状態図である。
【図2】本発明の好ましい実施形態による連想型アレイ
内のエントリにイリーガル値を書き込むためのハードウ
エア構造を示す図である。
【図3】本発明の好ましい実施形態とともに用いるのに
適したコンピュータ装置を示す図である。
【符号の説明】
101:イリーガル状態 201:予め設定可能な記憶素子 203:強制更新コマンド 204:タイプビット 205:フレームビット 206:完全連想型テーブル
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ロヒト・バティア アメリカ合衆国コロラド州フォートコリン ズ アンテロープ・ロード 2936

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】完全連想型テーブル内に格納されたテーブ
    ルエントリと入力されるエントリとが一致するのを防ぐ
    ための方法であって、 前記完全連想型テーブル内の前記テーブルエントリの実
    質的に全てのエントリにイリーガル値を書き込むステッ
    プと、 通常のプログラム実行条件下で前記入力されるエントリ
    が前記イリーガル値を取るのを禁止するステップと、 を備えて成り、それにより前記テーブルエントリと前記
    入力されるエントリとの間で一致条件が成り立つのを防
    ぐための方法。
JP2001094303A 2000-02-21 2001-02-21 電源投入時あるいはマシンの特定の状態を通してアレイを既知の状態にリセットし、初期化するための装置及び方法 Pending JP2001306320A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/510,128 US6823434B1 (en) 2000-02-21 2000-02-21 System and method for resetting and initializing a fully associative array to a known state at power on or through machine specific state
US510128 2000-02-21

Publications (1)

Publication Number Publication Date
JP2001306320A true JP2001306320A (ja) 2001-11-02

Family

ID=24029477

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001094303A Pending JP2001306320A (ja) 2000-02-21 2001-02-21 電源投入時あるいはマシンの特定の状態を通してアレイを既知の状態にリセットし、初期化するための装置及び方法

Country Status (2)

Country Link
US (2) US6823434B1 (ja)
JP (1) JP2001306320A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6823434B1 (en) * 2000-02-21 2004-11-23 Hewlett-Packard Development Company, L.P. System and method for resetting and initializing a fully associative array to a known state at power on or through machine specific state
US8650355B2 (en) * 2008-10-15 2014-02-11 Seagate Technology Llc Non-volatile resistive sense memory on-chip cache
US8195873B2 (en) * 2009-02-06 2012-06-05 Hillel Gazit Ternary content-addressable memory
US8489801B2 (en) * 2009-03-04 2013-07-16 Henry F. Huang Non-volatile memory with hybrid index tag array

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4197580A (en) * 1978-06-08 1980-04-08 Bell Telephone Laboratories, Incorporated Data processing system including a cache memory
US4493026A (en) * 1982-05-26 1985-01-08 International Business Machines Corporation Set associative sector cache
US5809528A (en) * 1996-12-24 1998-09-15 International Business Machines Corporation Method and circuit for a least recently used replacement mechanism and invalidated address handling in a fully associative many-way cache memory
US6202204B1 (en) * 1998-03-11 2001-03-13 Intel Corporation Comprehensive redundant load elimination for architectures supporting control and data speculation
US6539541B1 (en) * 1999-08-20 2003-03-25 Intel Corporation Method of constructing and unrolling speculatively counted loops
US6453387B1 (en) * 1999-10-08 2002-09-17 Advanced Micro Devices, Inc. Fully associative translation lookaside buffer (TLB) including a least recently used (LRU) stack and implementing an LRU replacement strategy
US6564317B1 (en) * 1999-12-20 2003-05-13 Intel Corporation Method and apparatus for securing computer firmware wherein unlocking of nonvolatile memory is prohibited unless address line masking Is disabled during an initialization event
US6707831B1 (en) * 2000-02-21 2004-03-16 Hewlett-Packard Development Company, L.P. Mechanism for data forwarding
US6823434B1 (en) * 2000-02-21 2004-11-23 Hewlett-Packard Development Company, L.P. System and method for resetting and initializing a fully associative array to a known state at power on or through machine specific state
US6775752B1 (en) * 2000-02-21 2004-08-10 Hewlett-Packard Development Company, L.P. System and method for efficiently updating a fully associative array
US6618803B1 (en) * 2000-02-21 2003-09-09 Hewlett-Packard Development Company, L.P. System and method for finding and validating the most recent advance load for a given checkload

Also Published As

Publication number Publication date
US20040083340A1 (en) 2004-04-29
US6823434B1 (en) 2004-11-23

Similar Documents

Publication Publication Date Title
US7340566B2 (en) System and method for initializing a memory device from block oriented NAND flash
US7844802B2 (en) Instructions for ordering execution in pipelined processes
US8984261B2 (en) Store data forwarding with no memory model restrictions
US6691308B1 (en) Method and apparatus for changing microcode to be executed in a processor
US7676655B2 (en) Single bit control of threads in a multithreaded multicore processor
US20030217227A1 (en) Apparatus and method for implementing a ROM patch using a lockable cache
US20070271565A1 (en) Anticipatory helper thread based code execution
JP2003502754A (ja) 先進のマイクロプロセッサにおけるスケジューリング強化方法および装置
US6101578A (en) Method and apparatus for providing test mode access to an instruction cache and microcode ROM
US5515521A (en) Circuit and method for reducing delays associated with contention interference between code fetches and operand accesses of a microprocessor
US6728867B1 (en) Method for comparing returned first load data at memory address regardless of conflicting with first load and any instruction executed between first load and check-point
US6728846B2 (en) Method and data processing system for performing atomic multiple word writes
US6618803B1 (en) System and method for finding and validating the most recent advance load for a given checkload
JPH07311740A (ja) コンピュータ
US7774758B2 (en) Systems and methods for secure debugging and profiling of a computer system
JP2001306320A (ja) 電源投入時あるいはマシンの特定の状態を通してアレイを既知の状態にリセットし、初期化するための装置及び方法
US20020082822A1 (en) Method and data processing system for performing atomic multiple word reads
US6775752B1 (en) System and method for efficiently updating a fully associative array
KR100802686B1 (ko) 어레이 바운더리 체킹 방법 및 시스템
US6952763B1 (en) Write before read interlock for recovery unit operands
Freij Efficient Crash Consistency in Emerging Secure Persistent Memory Architectures
WO2022013521A1 (en) Authentication code generation/checking instructions
JPH05257807A (ja) キャッシュメモリ制御装置
Knowles et al. The MU6-G virtual address cache
JPH0578052B2 (ja)