[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP3798563B2 - 命令キャッシュメモリ - Google Patents

命令キャッシュメモリ Download PDF

Info

Publication number
JP3798563B2
JP3798563B2 JP00138599A JP138599A JP3798563B2 JP 3798563 B2 JP3798563 B2 JP 3798563B2 JP 00138599 A JP00138599 A JP 00138599A JP 138599 A JP138599 A JP 138599A JP 3798563 B2 JP3798563 B2 JP 3798563B2
Authority
JP
Japan
Prior art keywords
bit
signal
circuit
tag
ram
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.)
Expired - Lifetime
Application number
JP00138599A
Other languages
English (en)
Other versions
JP2000200217A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP00138599A priority Critical patent/JP3798563B2/ja
Priority to US09/478,827 priority patent/US6345336B1/en
Publication of JP2000200217A publication Critical patent/JP2000200217A/ja
Application granted granted Critical
Publication of JP3798563B2 publication Critical patent/JP3798563B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/0893Caches characterised by their organisation or structure
    • G06F12/0895Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
    • 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/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
    • 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/0877Cache access modes
    • G06F12/0882Page mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1028Power efficiency
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Power Sources (AREA)
  • Executing Machine-Instructions (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は命令キャッシュメモリに関するものであり、特に低消費電力化を図った命令キャッシュメモリに関する。
【0002】
【従来の技術】
近年、一般的なプロセッサでは、メモリ・アクセス・レーテンシを低減するために命令キャッシュメモリが搭載されている。図7は従来におけるダイレクトマッピング方式の命令キャッシュメモリの構成を示す図である。
【0003】
この図7からわかるように、命令キャッシュメモリ100は、データRAM102とタグRAM104と比較器106とを備えて構成されている。命令キャッシュメモリ100には、プロセッサ内に設けられたフェッチカウンタからアクセスアドレスが入力される。このアクセスアドレスのうち、命令キャッシュメモリ100のサイズ、構成に応じて、一部がデータRAM102へ入力され、一部がタグRAM104へ入力される。この従来技術においては、データRAM容量1kワード、1キャッシュラインサイズ8ワード、総キャッシュライン数128の命令キャッシュメモリ100を想定している。ここで、1ワードとは、1つの命令の単位を示しており、本従来技術においては、32ビットと仮定している。
【0004】
この場合、フェッチカウンタからのアクセスアドレス16ビットは、下位ビットであるbit9〜bit0の合計10ビットがデータRAMへ入力され、bit9〜bit3の合計7ビットがタグRAM104へ入力され、上位ビットであるbit15〜bit10の合計6ビットが比較器106へ入力される。これらのビットを一般式であらわすと、データRAM102に入力されるのがbit q−1〜bit 0であらわされ、タグRAM104に入力されるのがbit q−1〜bit pであらわされ、比較器106に入力されるのがbit n−1〜bit qであらわされる。ここで、この図7では、n(アクセスアドレスのビット数)=16、p(1キャッシュライン内のアドレスを特定するのに必要なビット数)=3、q(データRAM102内のアドレスを特定するのに必要なビット数)=10である。また、データRAM102とタグRAM104とには、クロック信号CLKも入力されている。
【0005】
タグRAM104からは、bit9〜bit3であらわされたアドレスに割り当てられたキャッシュラインが保持するアクセスアドレスを、合計6ビットのタグ信号として出力される。また、この該当するキャッシュラインが少なくとも1度はメインメモリからデータを取り込んだか否かをあらわすステイタスビットが出力される。これらタグ信号とステイタスビットとは、比較器106へ入力される。比較器106では、この入力された6ビットのタグ信号と、アクセスアドレスのbit15〜bit10の合計6ビットとを、比較する。両者が一致していればヒットであり、両者が一致していなければミスである。この比較結果に基づいて、比較器106はヒット/ミス判別信号をプロセッサへ出力する。
【0006】
この比較器106の動作と平行して、データRAM102からはデータが読み出され、プロセッサへ命令として供給される。このデータRAM102から供給された命令をプロセッサが取り込むかどうかは、比較器106のヒット/ミス判別信号がヒットかミスかで決定される。すなわち、ヒットしていればプロセッサはこのデータを命令として取り込み、ミスしていればプロセッサはこのデータは取り込まない。
【0007】
【発明が解決しようとする課題】
ところで、図7に示すようなキャッシュメモリ100では、アクセスのたびにデータRAM102とタグRAM104の2つのメモリが稼働する。このため、キャッシュメモリ100はプロセッサと比べて、多くのハードウェア量を占有し、消費電力も大きいという問題があった。
【0008】
そこで、本発明は上記課題に鑑みてなされたものであり、命令キャッシュメモリの消費電力の抑制を図ることを目的とする。具体的には、命令キャッシュメモリのタグRAMの稼働を減少させ、このタグRAMでの消費電力の低減を図ることを目的とする。
【0009】
【課題を解決するための手段】
上記課題を解決するため、本発明に係る命令キャッシュメモリは、連続したアクセスアドレスを有する複数のワードを格納するためのキャッシュラインを、複数備えて構成され、プロセッサより入力された前記アクセスアドレスに応じて読み出しデータを出力する、データRAMと、前記データRAMの前記キャッシュライン毎に、前記各キャッシュラインが格納しているワードを特定するのに必要なデータを格納し、前記プロセッサから入力された前記アクセスアドレスに応じてこのデータをタグ信号として出力する、タグRAMと、前記タグRAMから出力された前記タグ信号と、前記プロセッサからの前記アクセスアドレスとを、比較して、前記アクセスアドレスを有するワードが前記データRAM内に格納されているか否かを判別し、この判別結果をヒット/ミス判別信号として出力する、ヒット/ミス判別回路と、読み出そうとするワードが格納されるべき前記キャッシュラインが変わった場合、又は、前記プロセッサにおいて分岐命令が検出された場合にのみ、前記タグRAMへクロック信号を供給し、これ以外の場合には前記タグRAMへのクロック信号の供給を停止する、クロックゲート回路と、を備えたことを特徴とする。
【0010】
また、本発明に係る命令キャッシュメモリは、nビットのアクセスアドレスと、クロック信号とが、入力され、1ビットのヒット/ミス判別信号と、mビットの読み出しデータとが、出力される、命令キャッシュメモリであって、
pビットであらわせる個数の連続したアクセスアドレスを有するワードを格納するためのキャッシュラインを、複数備えて構成された、qビットであらわせるメモリサイズを有する、データRAMであって、nビットのアクセスアドレスのうち下位のビットq−1からビット0が入力され、mビットの読み出しデータが出力される、データRAMと、
前記各キャッシュラインが格納する複数のワードのnビットのアクセスアドレスのうち、上位のビットn−1からビットqを格納した、タグRAMであって、nビットのアクセスアドレスのうちのビットq−1からビットpが入力され、該当するキャッシュラインに対応して格納されたビットn−1からビットqのアクセスアドレスをタグ信号として出力する、タグRAMと、
前記タグRAMから出力されたタグ信号と、nビットのアクセスアドレスのうちの上位のビットn−1からビットqとが入力され、これらタグ信号とビットn−1からビットqとを比較して、前記アクセスアドレスを有するワードが前記データRAM内に格納されているか否かを判別した1ビットのヒット/ミス判別信号を出力する、ヒット/ミス判別回路と、
読み出そうとするワードが格納されるべき前記キャッシュラインが変わった場合、又は、プロセッサにおいて分岐命令が検出された場合にのみ、前記タグRAMへクロック信号を供給し、これ以外の場合には前記タグRAMへのクロック信号の供給を停止する、クロックゲート回路と、
を備えたことを特徴とする。
また、本発明に係る命令キャッシュメモリは、ビットn−1からビット0のnビットを有するアクセスアドレスと、1クロックサイクルでハイとロウに切り替わりこれを各クロックサイクル毎に繰り返す基本クロック信号とが、入力され、1ビットのヒット/ミス判別信号が2のx乗個出力され、mビットのユニット読み出しデータが1個出力される、セットアソシアティブマッピング方式の命令キャッシュメモリであって、
当該命令キャッシュメモリは、1個の1ビットのヒット/ミス判別信号と1個のmビットのユニット読み出しデータを出力する基本ユニットを2のx乗個備えており、
前記基本ユニットのそれぞれは、
pビットであらわせる個数の連続したメモリアドレスを有するワードを格納するためのキャッシュラインを、複数備えて構成された、q−xビットであらわせるメモリサイズを有する、データRAMであって、nビットの前記アクセスアドレスのうち下位のビットq−x−1からビット0が入力され、mビットの前記ユニット読み出しデータが出力される、データRAMと、
前記各キャッシュラインが格納する複数のワードのnビットの前記メモリアドレスのうち、上位のビットn−1からビットq−xをタグアドレスとして前記各キャッシュライン毎に格納する、タグRAMであって、nビットの前記アクセスアドレスのうちのビットq−x−1からビットpが入力され、ビットq−x−1からビットpで特定されるキャッシュラインに対応して格納されている前記タグアドレスをタグ信号として出力する、タグRAMと、
前記タグRAMから出力された前記タグ信号と、nビットの前記アクセスアドレスのうちの上位のビットn−1からビットq−xとが入力され、これらタグ信号とビットn−1からビットq−xとを比較して、前記アクセスアドレスに該当する前記メモリアドレスを有するワードが前記データRAM内に格納されているか否かを判別した1ビットのヒット/ミス判別信号を出力する、ヒット/ミス判別回路と、
読み出そうとするワードが格納されるべき前記キャッシュラインが変わった場合、又は、プロセッサにおいて分岐命令が検出された場合にのみ、前記タグRAMへ前記基本クロック信号をクロック信号として供給し、これ以外の場合には前記タグRAMへの前記クロック信号の供給を停止する、クロックゲート回路と、
を備えるとともに、
当該命令キャッシュメモリは、前記各基本ユニットが出力する前記各ユニット読み出しデータと前記各ヒット/ミス判別信号とが入力されるマルチプレクサであって、前記各ヒット/ミス判別信号のうち前記アクセスアドレスに該当するメモリアドレスを有するワードが前記データRAM内に格納されていることを示す前記ヒット/ミス判別信号を出力した基本ユニットが、出力した前記ユニット読み出しデータを、前記プロセッサへ出力する、マルチプレクサを備える、
ことを特徴とする。
【0011】
【発明の実施の形態】
本実施形態に係る命令キャッシュメモリは、分岐命令の発生の有無をあらわす1ビットと、アクセスされるキャッシュラインの変更の有無をあらわす1ビットとの、計2ビットの信号を用いて、キャッシュラインが変更されていないことを認識することにより、この命令キャッシュメモリがヒットすると判断して、タグRAMへのアクセスと比較器の動作を停止させることにより、命令キャッシュメモリの低消費電力化を図ったものである。より詳しくを以下に説明する。
【0012】
図1は本実施形態に係る命令キャッシュメモリの構成を示す図であり、図2はダイレクトマッピング方式におけるタグRAMとデータRAMの論理構成を示す図であり、図3は本実施形態に係る命令キャッシュメモリを有するプロセッシングユニットの構成を示す図である。
【0013】
図3からわかるように、本実施形態に係るプロセッシングユニットは、メインメモリ10と命令キャッシュメモリ12とプロセッサ14とを備えて構成されている。
【0014】
プロセッサ14からは命令キャッシュメモリ12へ、16ビットのアクセスアドレスと、分岐命令を処理したか否かをあらわす1ビットの分岐命令検出信号とが、出力される。ここで分岐命令とは、ジャンプ命令や、サブルーチンを呼び出す命令や、割り込み命令などのプロセッサ14内のフェッチカウンタが飛ぶような命令の総称である。命令キャッシュメモリ12からはプロセッサ14へ、命令としての32ビットの読み出しデータと、命令キャッシュメモリ12がヒットしたか否かをあらわす1ビットのヒット/ミス判別信号とが、出力される。
【0015】
命令キャッシュメモリ12からはメインメモリ10へ、16ビットのアクセスアドレスが出力される。メインメモリ10からは命令キャッシュメモリ12へ、命令としての32ビットのデータが出力される。これにより、命令キャッシュメモリ12がキャッシュミスした場合に、外部のメインメモリ10から必要なデータを取り込むことができるようになっている。この取り込み動作に必要なコントローラも命令キャッシュメモリ12は備えている。
【0016】
図1は、このような命令キャッシュメモリ12でダイレクトマッピング方式を採用した場合の内部構成を示す図である。
【0017】
この図1からわかるように、命令キャッシュメモリ12は、データRAM20とタグRAM22とヒット/ミス判別回路24とクロックゲート回路26とラッチ回路28とを備えて構成されている。命令キャッシュメモリ12には、プロセッサ14内に設けられたフェッチカウンタからアクセスアドレスが入力される。本実施形態においては、この命令キャッシュメモリ12は、データRAM容量1kワード、1キャッシュラインサイズ8ワード、総キャッシュライン数128で構成されている。ここで、1ワードとは、1つの命令の単位を示しており、本実施形態においては、32ビットと仮定している。
【0018】
この場合、フェッチカウンタからのアクセスアドレス16ビットは、下位ビットであるbit9〜bit0の合計10ビットがデータRAM20へ入力され、bit9〜bit3の合計7ビットがタグRAM22へ入力され、上位ビットであるbit15〜bit10の合計6ビットが比較器24へ入力され、bit3の1ビットがクロックゲート回路26へ入力される。これらのビットを一般式であらわすと、データRAM20に入力されるのがbit q−1〜bit 0であらわされ、タグRAM22に入力されるのがbit q−1〜bit pであらわされ、比較器24に入力されるのがbit n−1〜bit qであらわされ、クロックゲート回路26に入力されるのがbit pであらわされる。ここで、本実施形態においては、n(アクセスアドレスのビット数)=16、p(1キャッシュライン内のアドレスを特定するのに必要なビット数)=3、q(データRAM102内のアドレスを特定するのに必要なビット数)=10である。
【0019】
図2からわかるように、データRAM20内においては、bit9〜bit3の合計7ビットで、アクセスアドレスで指定されたワードの格納されるべきキャッシュラインが、どのキャッシュラインであるかが一意に決定される。さらにbit2〜bit0の合計3ビットで、キャッシュライン内アドレスが決定され、アクセスアドレスで指定されたワードの格納されるべき位置が特定される。このように特定された位置にある1ワード分のデータが、データRAM20から32ビットの読み出しデータとして出力される。
【0020】
タグRAM22内には、各キャッシュライン毎に、そのキャッシュラインが格納しているワードのアドレスを特定するのに必要な6ビットのデータを持っている。この6ビットのデータは、アクセスアドレスの上位ビットであるbit15〜bit10に相当している。このタグRAM22には、アクセスアドレスのうちのbit9〜bit3の合計7ビットが入力され、そのアクセスアドレスで指定されたワードの格納されるべきキャッシュラインが、一意に決定される。そして、タグRAM22はその一意に決定されたキャッシュラインに格納されている6ビットのデータをタグ信号として出力する。このタグ信号は、上述のように、アクセスアドレスの上位ビットであるbit15〜bit10に相当する。
【0021】
タグRAM22内には、各キャッシュライン毎に、そのキャッシュラインが少なくとも一度はメインメモリ10からデータを取り込んだかどうかを示すステイタスビットが1ビット備えられている。本実施形態におては、例えば、電源投入直後のように、まだ、キャッシュラインにメインメモリ10からデータが取り込まれていない場合は、このステイタスビットはすべて0になっている。そして、そのキャッシュラインがプロセッサ14により特定されてメインメモリ10からデータを取り込んだ時点で、そのキャッシュラインに対応するステイタスを1にセットする。タグRAM22がタグ信号を出力する際には、このステイタスビットのうち該当するキャッシュラインのステイタスビットも、プロセッサ14へ出力する。
【0022】
図1からわかるように、データRAM20には、クロック信号CLKが直接的に入力されている。タグRAM22には、クロックゲート回路26を介して、クロック信号CLKが入力されている。このクロックゲート回路26は、後述する特定のタイミングでのみ、クロック信号CLKをタグRAM22に供給する回路である。
【0023】
クロックゲート回路26に入力されたbit3は、フリップフロップ回路30とEXOR回路32とに入力される。このEXOR回路32には、フリップフロップ回路30の出力信号SG1も入力される。フリップフロップ回路30は、前回のbit3の値を保持するための回路である。EXOR回路32からの出力信号SG2は、OR回路34に入力される。このOR回路34には、分岐命令検出信号も入力されている。OR回路34の出力信号SG3は、AND回路36とヒット/ミス判別回路24とに入力される。AND回路36には、クロック信号CLKも入力されている。このAND回路36の出力信号SG4は、タグRAM22に入力されている。これらのことからわかるように、クロックゲート回路26は、フリップフロップ回路30とEXOR回路32とOR回路34とAND回路36とを、備えて構成されている。すなわち、このクロックゲート回路26は、プロセッサ14で分岐命令が検出され分岐命令検出信号がハイとなった場合、又は、アクセスアドレスのbit3が変化してデータRAM20内のキャッシュラインが変わった場合にのみ、クロック信号CLKをタグRAM22へ供給する回路である。
【0024】
上述したように、タグRAM22からは、ダイレクトマッピングにおいて該当するキャッシュラインが保持するアドレスについて、合計6ビットのタグ信号が出力される。また、この該当するキャッシュラインが少なくとも1度はメインメモリ10からデータを取り込んだか否かをあらわすステイタスビットが出力される。これらタグ信号とステイタスビットとは、ヒット/ミス判別回路24へ入力される。
【0025】
ヒット/ミス判別回路は、比較器40とラッチ回路42とを備えて構成されている。比較器40には、6ビットのタグ信号と、1ビットのステイタスビットと、アクセスアドレスのbit15〜bit10の6ビットとが、入力される。この比較器40では、この入力された6ビットのタグ信号と、アクセスアドレスのbit15〜bit10の合計6ビットとを、比較する。この比較の結果、両者が一致していればキャッシュヒットであり、両者が一致していなければキャッシュミスである。本実施形態におけるこの比較器40は、ヒットした場合はロウの出力信号SG5を出力し、ミスした場合はハイの出力信号SG5を出力する。
【0026】
この比較器40からの出力信号SG5と、OR回路24からの出力信号SG3とは、ラッチ回路42に入力される。このラッチ回路42は、出力信号SG3がハイになったときの出力信号SG5の状態を、次に出力信号SG3がハイになるまで保持して、ヒット/ミス判別信号として出力する回路である。また、出力信号SG3がハイになっている間は、そのとき入力されている出力信号SG5の値をそのままヒット/ミス判別信号として出力する回路である。このヒット/ミス判別信号はプロセッサ14へ入力される。本実施形態においては、ヒットした場合はこのヒット/ミス判別信号はロウとなり、ミスした場合はこのヒット/ミス判別信号はハイとなる。
【0027】
これらの動作と平行して、データRAM20からはデータが読み出され、プロセッサ14へ命令として供給される。このデータRAM20から供給された命令をプロセッサ14が取り込むかどうかは、ヒット/ミス判別信号に基づいて決定される。すなわち、このヒット/ミス判別信号がキャッシュヒットをあらわしていればプロセッサ14はこのデータを命令として取り込み、ヒット/ミス判別信号がキャッシュミスをあらわしていればプロセッサ14はこのデータは取り込まない。
【0028】
次に、図4及び図5に示すタイミングチャートに基づいて、このキャッシュメモリの動作を説明する。図4は、アクセスアドレスのbit3が変化し、キャッシュラインが変わる場合のタイミングチャートを示す図であり、図5は、分岐命令が検出されて、キャッシュラインが変わる場合のタイミングチャートを示す図である。
【0029】
まず、図4に基づいて、アクセスアドレスのbit3が変化して、キャッシュラインが変わる場合を説明する。この図4からわかるように、時刻t1でbit3がロウからハイへ切り替わったとする。すなわち、アクセスアドレスのbit3が0から1に変化したとする。このことは、図2からわかるように、読み出すべきワードが格納されているデータRAM20内のキャッシュラインが次のキャッシュラインに移ったことを意味している。なぜなら、本実施形態においては1つのキャッシュラインは8ワードで構成されており、命令が順番に読み込まれて、bit2〜bit0が変化している範囲では同一のキャッシュラインに読み出すべきワードが格納されていると判断できるからである。このように順番に命令が読み込まれている状態で、bit3が変化するということは、1つのキャッシュラインに格納されているワードの読み出しが終了して、次のキャッシュラインに格納されるべきワードの読み出しが開始されたことを意味する。したがって、読み出そうとするワードの格納されるべきキャッシュラインが、次のキャッシュラインに移ったか否かは、bit3のみを監視していればわかるのである。
【0030】
図4からわかるように、フリップフロップ回路30の出力信号SG1は、bit3がハイに切り替わった時刻t1よりも、1クロックサイクルだけおくれた時刻t2でハイに切り替わる。したがって、この時刻t1と時刻t2の間におけるEXOR回路32の出力信号SG2はハイになる。この図4においては、分岐命令は検出されない場合を想定しているので、分岐命令検出信号はロウのままである。
【0031】
時刻t1から時刻t2の間、ハイの出力信号SG2が入力されたOR回路34は、ハイの出力信号SG3を出力する。したがって、AND回路36からは、出力信号SG4が1クロックサイクルだけ出力される。この1クロックサイクルの出力信号SG4に基づいて、タグRAM22は動作をして、6ビットのタグ信号をヒット/ミス検出回路24へ出力する。つまり、この時刻t1から時刻t2以外の時間ではタグRAM22へのクロック供給は停止していることになる。したがって、タグ信号については、時刻t1から時刻t2における後半の半クロックサイクルの間だけ有効な信号であり、それ以外では無効な信号である。なお、出力信号SG2、SG3、SG4は論理回路の動作遅延により、クロック信号CLKより若干の遅れが生じている。
【0032】
次に、図5に基づいて、プロセッサ14において分岐命令が検出され、キャッシュラインが変化する場合を説明する。
【0033】
この図5からわかるように、ここではbit3は変化しない場合を想定しているので、出力信号SG1、SG2はロウのままである。そして、時刻t1において、プロセッサ14で分岐命令が検出され分岐命令検出信号がロウからハイに切り替わる。この分岐命令検出信号は、1クロックサイクルの間だけ、このハイ状態を維持する。このため、分岐命令検出信号は時刻t2で、ハイからロウに切り替わる。
【0034】
時刻t1でハイに切り替わった分岐命令検出信号は、OR回路34に入力されている。このため、このOR回路34からは、時刻t1から時刻t2の間、ハイの出力信号SG3が出力される。この出力信号SG3が入力されたAND回路36からは、時刻t1から時刻t2の間に、1クロックサイクルだけ出力信号SG4が出力される。この1クロックサイクルの出力信号SG4に基づいて、タグRAM22は動作をして、6ビットのタグ信号をヒット/ミス判別回路24へ出力する。つまり、この時刻t1から時刻t2以外の時間ではタグRAM22へのクロック供給は停止していることになる。したがって、タグ信号については、時刻t1から時刻t2における後半の半クロックサイクルの間だけ有効な信号であり、それ以外では無効な信号である。なお、出力信号SG3、SG4は論理回路の動作遅延により、クロック信号CLKより若干の遅れが生じている。
【0035】
以上のように、本実施形態に係る命令キャッシュメモリ12によれば、読み出そうとするワードが格納されるべきデータRAM20内のキャッシュラインが変わる場合にのみ、タグRAM22へクロック信号CLKを供給するようにしたので、この命令キャッシュメモリ12における消費電力を抑制することができる。より詳しくは、プロセッサ14からのアクセスアドレスにおけるbit3が変化した場合、又は、プロセッサからの分岐命令検出信号がハイになった場合にのみ、クロック信号CLKをタグRAM22へ供給するようにしたので、これ以外の場合のクロック信号CLKの供給を停止した分だけ、消費電力の抑制を図ることができる。
【0036】
これは、計算機の命令というのは、分岐命令でない場合はフェッチカウンタが1つづつカウントアップされるよう構成されており、8ワードのキャッシュライン内であれば、次のアクセスアドレスのワードもデータRAM内に格納されていると判断することができる。したがって、1つのキャッシュライン内に格納されているワードを読み込んでいる間は、タグRAMを動作させずとも、キャッシュヒットしていると判断することができる。また、読み出すべきワードが8ワードのキャッシュライン内を超えて、次のキャッシュラインに移るのは、8ワード毎である。したがって、アクセスアドレスのbit3が変化したかどうかを監視していれば、読み出そうとするワードが格納されるべきキャッシュラインが、次のキャッシュラインに移ったかどうかがわかる。次のキャッシュラインに移った場合には、アクセスアドレスのワードがそのキャッシュラインに格納されているかどうか不明であるので、タグRAM22を動作させて、ヒットしたかどうかを判別する必要がある。このため、bit3が変化した場合には、タグRAM22へクロック信号CLKを供給する必要があるのである。
【0037】
さらに、プロセッサ14で分岐命令が検出された場合は、分岐命令検出信号がハイになる。このような分岐命令が実行されると、フェッチカウンタの値が、目的のアクセスアドレスまで飛んでしまう。したがって、その飛んだアクセスアドレスのワードがデータRAM20に格納されているかは不明である。このため、分岐命令が検出された場合は、タグRAM22へクロック信号CLKを供給して、タグRAM22を動作させて、ヒットしたどうかを判別する必要があるのである。
【0038】
これらプロセッサ14からのアクセスアドレスにおけるbit3が変化した場合、又は、プロセッサからの分岐命令検出信号がハイになった場合を除いては、読み出すべき命令としてのワードはデータRAM20内に格納されていることが明らかである。したがって、あえてタグRAM22を動作させるまでもなく、ラッチ回路42からキャッシュヒットした旨のロウのヒット/ミス判別信号を出力すれば足りるのである。そして、このヒット/ミス判別信号がロウであるので、データRAM20からの読み出しデータはプロセッサ14へ取り込まれるのである。
【0039】
しかも、プロセッサ14からの分岐命令検出信号は、一般的なプロセッサが備えている信号であるので、新たにプロセッサを設計変更せずとも実現することができる。すなわち、一般的なプロセッサ14は、プロセッサ内のフェッチカウンタの内容を、前回のフェッチカウンタのインクリメント値にするか、分岐アドレスにするかの、選択信号を備えている。したがって、この選択信号を、本実施形態に係る分岐命令検出信号として使えば足りるのである。
【0040】
なお、本発明は上記実施形態に限定されず、種々に変形可能である。例えば、上記実施形態においては1ワード、32ビットであると仮定したが、1ワード16ビット等であってもよい。また、アクセスアドレスのビット数や、データRAM20のメモリサイズや、1キャッシュラインあたりのワード数も、これらに限定されるものではない。
【0041】
さらに、上記実施形態はダイレクトマッピング方式の命令キャッシュメモリについて説明したが、セットアソシアティブマッピング方式の命令キャッシュメモリや、フルアソシアティブマッピング方式の命令キャッシュメモリについても、同様に適用することができる。
【0042】
図6は、本発明を適用した2ウェイセットアソシアティブマッピング方式の命令キャッシュメモリの構成を示す図である。この図6からわかるように、命令キャッシュメモリ12’は、概略的には2組のダイレクトマッピングの命令キャッシュメモリ12を合わせたような構成がとられている。データRAM20aのメモリサイズは512ワードであり、データRAM20bのメモリサイズも512ワードである。したがって、データRAM20a、20bは両者をあわせて、上述した実施形態と同様の1Kワードのメモリサイズである。データRAM20a、20bは、それぞれ、1キャッシュライン8ワード、総キャッシュライン数64で構成されている。タグRAM22a、22bは、それぞれ、64キャッシュライン分のタグを有している。また、命令キャッシュメモリ12’は、マルチプレクサ50を備えている。このマルチプレクサ50は2つのデータRAM20a、20bのうちの、いずれか一方を選択して、読み出しデータとしてプロセッサへ供給するための回路である。このため、このマルチプレクサ50には、データRAM20a、20bの読み出しデータと、ヒット/ミス判別回路24a、24bのヒット/ミス判別信号とが、入力されている。そして、データRAM20a、20bのうちのどちらに読み出そうとするワードが格納されているかを、ヒット/ミス判別回路24a、24bの出力信号であるヒット/ミス判別信号で選択する。
【0043】
【発明の効果】
以上のように、本発明に係る命令キャッシュメモリによれば、クロックゲート回路を設けることにより、読み出そうとするワードが格納されるべきキャッシュラインが変わった場合、又は、プロセッサにおいて分岐命令が検出された場合にのみ、タグRAMへクロック信号を供給し、これ以外の場合にはタグRAMへのクロック信号の供給を停止するようにしたので、タグRAMの稼働を低減し、消費電力の抑制を図ることができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るダイレクトマッピング方式の命令キャッシュメモリの構成を示す図。
【図2】ダイレクトマッピング方式におけるタグRAMとデータRAMの論理的構成を示す図。
【図3】本発明に係る命令キャッシュメモリを有するプロセッシングユニットの構成を示す図。
【図4】本実施形態に係る命令キャッシュメモリの動作を説明するためのタイミングチャートを示す図(アクセスアドレスのbit3が変化し、キャッシュラインが変わる場合)。
【図5】本実施形態に係る命令キャッシュメモリの動作を説明するためのタイミングチャートを示す図(プロセッサにおいて分岐命令が検出されて、キャッシュラインが変わる場合)。
【図6】本発明をセットアソシアティブマッピング方式の命令キャッシュメモリに適用した場合の一例を示す図。
【図7】従来の命令キャッシュメモリの構成を示す図。
【符号の説明】
10 メインメモリ
12 命令キャッシュメモリ
14 プロセッサ
20 データRAM
22 タグRAM
24 ヒット/ミス判別回路
26 クロックゲート回路
30 フリップフロップ回路
32 EXOR回路
34 OR回路
36 AND回路
40 比較器
42 ラッチ回路

Claims (12)

  1. 連続したアクセスアドレスを有する複数のワードを格納するためのキャッシュラインを、複数備えて構成され、プロセッサより入力された前記アクセスアドレスに応じて読み出しデータを出力する、データRAMと、
    前記データRAMの前記キャッシュライン毎に、前記各キャッシュラインが格納しているワードを特定するのに必要なデータを格納し、前記プロセッサから入力された前記アクセスアドレスに応じてこのデータをタグ信号として出力する、タグRAMと、
    前記タグRAMから出力された前記タグ信号と、前記プロセッサからの前記アクセスアドレスとを、比較して、前記アクセスアドレスを有するワードが前記データRAM内に格納されているか否かを判別し、この判別結果をヒット/ミス判別信号として出力する、ヒット/ミス判別回路と、
    読み出そうとするワードが格納されるべき前記キャッシュラインが変わった場合、又は、前記プロセッサにおいて分岐命令が検出された場合にのみ、前記タグRAMへクロック信号を供給し、これ以外の場合には前記タグRAMへのクロック信号の供給を停止する、クロックゲート回路と、
    を備えたことを特徴とする命令キャッシュメモリ。
  2. 読み出そうとするワードが格納されるべき前記キャッシュラインが変わったかどうかは、前記キャッシュラインから順番にワードを読み出す場合に、1のキャッシュラインの最後のアクセスアドレスから次のキャッシュラインの先頭のアクセスアドレスに移る場合にのみ変化するアクセスアドレスのビットである移行ビットを監視することにより、検知することを特徴とする請求項1に記載の命令キャッシュメモリ。
  3. プロセッサにおいて分岐命令が検出されたかどうかは、プロセッサが出力する分岐命令検出信号に基づいて判断する、ことを特徴とする請求項2に記載の命令キャッシュメモリ。
  4. 前記ヒット/ミス判別回路は、前記タグRAMへのクロック信号の供給を停止している間は、キャッシュヒットである旨のヒット/ミス判別信号を出力する、ことを特徴とする請求項1乃至請求項3のいずれかに記載の命令キャッシュメモリ。
  5. 前記クロックゲート回路は、
    前記移行ビットが入力されるフリップフロップ回路と、
    前記フリップフロップの出力信号と前記移行ビットとが入力されるEXOR回路と、
    前記EXOR回路の出力信号と前記分岐命令検出信号とが入力されるOR回路と、
    前記OR回路の出力信号と、1クロックサイクルでハイとロウに切り替わりこれを各クロックサイクル毎に繰り返す基本クロック信号とが入力される、AND回路であって、出力信号を前記クロック信号として前記タグRAMへ出力する、AND回路と、
    を備えることを特徴とする請求項に記載の命令キャッシュメモリ。
  6. nビットのアクセスアドレスと、クロック信号とが、入力され、1ビットのヒット/ミス判別信号と、mビットの読み出しデータとが、出力される、命令キャッシュメモリであって、
    pビットであらわせる個数の連続したアクセスアドレスを有するワードを格納するためのキャッシュラインを、複数備えて構成された、qビットであらわせるメモリサイズを有する、データRAMであって、nビットのアクセスアドレスのうち下位のビットq−1からビット0が入力され、mビットの読み出しデータが出力される、データRAMと、
    前記各キャッシュラインが格納する複数のワードのnビットのアクセスアドレスのうち、上位のビットn−1からビットqを格納した、タグRAMであって、nビットのアクセスアドレスのうちのビットq−1からビットpが入力され、該当するキャッシュラインに対応して格納されたビットn−1からビットqのアクセスアドレスをタグ信号として出力する、タグRAMと、
    前記タグRAMから出力されたタグ信号と、nビットのアクセスアドレスのうちの上位のビットn−1からビットqとが入力され、これらタグ信号とビットn−1からビットqとを比較して、前記アクセスアドレスを有するワードが前記データRAM内に格納されているか否かを判別した1ビットのヒット/ミス判別信号を出力する、ヒット/ミス判別回路と、
    読み出そうとするワードが格納されるべき前記キャッシュラインが変わった場合、又は、プロセッサにおいて分岐命令が検出された場合にのみ、前記タグRAMへクロック信号を供給し、これ以外の場合には前記タグRAMへのクロック信号の供給を停止する、クロックゲート回路と、
    を備えたことを特徴とする命令キャッシュメモリ。
  7. ビットn−1からビット0のnビットを有するアクセスアドレスと、1クロックサイクルでハイとロウに切り替わりこれを各クロックサイクル毎に繰り返す基本クロック信号とが、入力され、1ビットのヒット/ミス判別信号が2のx乗個出力され、mビットのユニット読み出しデータが1個出力される、セットアソシアティブマッピング方式の命令キャッシュメモリであって、
    当該命令キャッシュメモリは、1個の1ビットのヒット/ミス判別信号と1個のmビットのユニット読み出しデータを出力する基本ユニットを2のx乗個備えており、
    前記基本ユニットのそれぞれは、
    pビットであらわせる個数の連続したメモリアドレスを有するワードを格納するためのキャッシュラインを、複数備えて構成された、q−xビットであらわせるメモリサイズを有する、データRAMであって、nビットの前記アクセスアドレスのうち下位のビットq−x−1からビット0が入力され、mビットの前記ユニット読み出しデータが出力される、データRAMと、
    前記各キャッシュラインが格納する複数のワードのnビットの前記メモリアドレスのうち、上位のビットn−1からビットq−xをタグアドレスとして前記各キャッシュライン毎に格納する、タグRAMであって、nビットの前記アクセスアドレスのうちのビットq−x−1からビットpが入力され、ビットq−x−1からビットpで特定されるキャッシュラインに対応して格納されている前記タグアドレスをタグ信号として出力する、タグRAMと、
    前記タグRAMから出力された前記タグ信号と、nビットの前記アクセスアドレスのうちの上位のビットn−1からビットq−xとが入力され、これらタグ信号とビットn−1からビットq−xとを比較して、前記アクセスアドレスに該当する前記メモリアドレスを有するワードが前記データRAM内に格納されているか否かを判別した1ビットのヒット/ミス判別信号を出力する、ヒット/ミス判別回路と、
    読み出そうとするワードが格納されるべき前記キャッシュラインが変わった場合、又は、プロセッサにおいて分岐命令が検出された場合にのみ、前記タグRAMへ前記基本クロック信号をクロック信号として供給し、これ以外の場合には前記タグRAMへの前記クロック信号の供給を停止する、クロックゲート回路と、
    を備えるとともに、
    当該命令キャッシュメモリは、前記各基本ユニットが出力する前記各ユニット読み出しデータと前記各ヒット/ミス判別信号とが入力されるマルチプレクサであって、前記各ヒット/ミス判別信号のうち前記アクセスアドレスに該当するメモリアドレスを有するワードが前記データRAM内に格納されていることを示す前記ヒット/ミス判別信号を出力した基本ユニットが、出力した前記ユニット読み出しデータを、前記プロセッサへ出力する、マルチプレクサを備える、
    ことを特徴とする命令キャッシュメモリ。
  8. 読み出すワードが格納されるべき前記キャッシュラインが変わったかどうかは、nビットのアクセスアドレスのうちのビットpが変化したか否かにより、検知することを特徴とする請求項6に記載の命令キャッシュメモリ。
  9. プロセッサにおいて分岐命令が検出されたかどうかは、プロセッサが出力する1ビットの分岐命令検出信号に基づいて判断する、ことを特徴とする請求項8に記載の命令キャッシュメモリ。
  10. 前記ヒット/ミス判別回路は、前記タグRAMへのクロック信号の供給を停止している間は、キャッシュヒットである旨のヒット/ミス判別信号を出力する、ことを特徴とする請求項6に記載の命令キャッシュメモリ。
  11. 前記クロックゲート回路は、
    nビットの前記アクセスアドレスのうちのビットpが入力されるフリップフロップ回路と、
    前記フリップフロップの出力信号とnビットの前記アクセスアドレスのうちのビットpとが入力されるEXOR回路と、
    前記EXOR回路の出力信号と前記分岐命令検出信号とが入力されるOR回路と、
    前記OR回路の出力信号と、1クロックサイクルでハイとロウに切り替わりこれを各クロックサイクル毎に繰り返す基本クロック信号とが入力される、AND回路であって、出力信号を前記クロック信号として前記タグRAMへ出力する、AND回路と、
    を備えることを特徴とする請求項9に記載の命令キャッシュメモリ。
  12. 前記ヒット/ミス判別回路は、
    前記タグRAMからの前記タグ信号と、nビットの前記アクセスアドレスのうちの上位のビットn−1からビットqとが入力され、前記タグ信号とnビットの前記アクセスアドレスのうちの上位のビットn−1からビットqとを比較して、比較結果信号を出力する、比較器と、
    前記比較器からの前記比較結果信号と、前記クロックゲート回路の前記OR回路からの出力信号とが入力され、前記OR回路からの出力信号がハイになったときの前記比較結果信号の状態を保持して、前記ヒット/ミス判別信号として出力する、ラッチ回路と、
    を備えることを特徴とする請求項11に記載の命令キャッシュメモリ。
JP00138599A 1999-01-06 1999-01-06 命令キャッシュメモリ Expired - Lifetime JP3798563B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP00138599A JP3798563B2 (ja) 1999-01-06 1999-01-06 命令キャッシュメモリ
US09/478,827 US6345336B1 (en) 1999-01-06 2000-01-06 Instruction cache memory includes a clock gate circuit for selectively supplying a clock signal to tag RAM to reduce power consumption

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP00138599A JP3798563B2 (ja) 1999-01-06 1999-01-06 命令キャッシュメモリ

Publications (2)

Publication Number Publication Date
JP2000200217A JP2000200217A (ja) 2000-07-18
JP3798563B2 true JP3798563B2 (ja) 2006-07-19

Family

ID=11500030

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00138599A Expired - Lifetime JP3798563B2 (ja) 1999-01-06 1999-01-06 命令キャッシュメモリ

Country Status (2)

Country Link
US (1) US6345336B1 (ja)
JP (1) JP3798563B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6535959B1 (en) * 2000-09-05 2003-03-18 Conexant Systems, Inc. Circuit and method for reducing power consumption in an instruction cache
WO2002023346A1 (en) * 2000-09-12 2002-03-21 Stmicroelectronics Limited Cache memory
US6983388B2 (en) * 2000-10-25 2006-01-03 Agere Systems Inc. Method and apparatus for reducing leakage power in a cache memory by using a timer control signal that removes power to associated cache lines
US6772355B2 (en) * 2000-12-29 2004-08-03 Stmicroelectronics, Inc. System and method for reducing power consumption in a data processor having a clustered architecture
KR100395756B1 (ko) * 2001-06-16 2003-08-21 삼성전자주식회사 캐쉬 메모리 및 이를 이용하는 마이크로 프로세서
GB2378779B (en) * 2001-08-14 2005-02-02 Advanced Risc Mach Ltd Accessing memory units in a data processing apparatus
JP2004094807A (ja) 2002-09-03 2004-03-25 Toshiba Corp 命令キャッシュおよびマイクロプロセッサとその設計方法
JP2004171177A (ja) * 2002-11-19 2004-06-17 Renesas Technology Corp キャッシュシステムおよびキャッシュメモリ制御装置
JP4498705B2 (ja) * 2003-09-04 2010-07-07 株式会社ルネサステクノロジ キャッシュシステム
US7263577B2 (en) * 2005-03-03 2007-08-28 Qualcomm Incorporated Power saving methods and apparatus to selectively enable comparators in a CAM renaming register file based on known processor state
US8145874B2 (en) * 2008-02-26 2012-03-27 Qualcomm Incorporated System and method of data forwarding within an execution unit
JP5277973B2 (ja) * 2009-01-13 2013-08-28 株式会社リコー クロック制限回路及び信号入力回路
US20200264788A1 (en) * 2019-02-15 2020-08-20 Qualcomm Incorporated Optimal cache retention mechanism
US11467966B2 (en) * 2020-09-02 2022-10-11 Shenzhen GOODIX Technology Co., Ltd. Cache memory having a programmable number of ways
US20230367738A1 (en) * 2022-05-11 2023-11-16 Bae Systems Information And Electronic Systems Integration Inc. Asic power control

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5913223A (en) * 1993-01-25 1999-06-15 Sheppard; Douglas Parks Low power set associative cache memory
US5835934A (en) * 1993-10-12 1998-11-10 Texas Instruments Incorporated Method and apparatus of low power cache operation with a tag hit enablement
JP3590427B2 (ja) * 1994-08-30 2004-11-17 株式会社ルネサステクノロジ 先行読出機能付命令キャッシュメモリ
US5669003A (en) 1994-12-23 1997-09-16 Intel Corporation Method of monitoring system bus traffic by a CPU operating with reduced power
US5530932A (en) 1994-12-23 1996-06-25 Intel Corporation Cache coherent multiprocessing computer system with reduced power operating features
JPH08263370A (ja) * 1995-03-27 1996-10-11 Toshiba Microelectron Corp キャッシュメモリシステム
US5752045A (en) * 1995-07-14 1998-05-12 United Microelectronics Corporation Power conservation in synchronous SRAM cache memory blocks of a computer system
JPH0950401A (ja) 1995-08-09 1997-02-18 Toshiba Corp キャッシュメモリ及びそれを備えた情報処理装置
JPH09223068A (ja) 1996-02-15 1997-08-26 Toshiba Microelectron Corp キャッシュメモリ
JP3431397B2 (ja) * 1996-05-23 2003-07-28 東芝マイクロエレクトロニクス株式会社 命令キュー
US5974505A (en) * 1997-09-02 1999-10-26 International Business Machines Corporation Method and system for reducing power consumption of a non-blocking cache within a data processing system
US6256728B1 (en) * 1997-11-17 2001-07-03 Advanced Micro Devices, Inc. Processor configured to selectively cancel instructions from its pipeline responsive to a predicted-taken short forward branch instruction
US6167506A (en) * 1997-11-17 2000-12-26 Advanced Micro Devices, Inc. Replacing displacement in control transfer instruction with encoding indicative of target address, including offset and target cache line location
US6237087B1 (en) * 1998-09-30 2001-05-22 Intel Corporation Method and apparatus for speeding sequential access of a set-associative cache

Also Published As

Publication number Publication date
US6345336B1 (en) 2002-02-05
JP2000200217A (ja) 2000-07-18

Similar Documents

Publication Publication Date Title
JP3798563B2 (ja) 命令キャッシュメモリ
US8667259B2 (en) Data processor and memory read active control method
CN102110058B (zh) 一种低缺失率、低缺失惩罚的缓存方法和装置
US5091851A (en) Fast multiple-word accesses from a multi-way set-associative cache memory
US5019971A (en) High availability cache organization
US6356990B1 (en) Set-associative cache memory having a built-in set prediction array
US5617347A (en) Cache memory system and method thereof for storing a staged memory item and a cache tag within a single cache array structure
JP2001184263A (ja) 旧キャッシュラインを無効化および除去する装置
US20070028051A1 (en) Time and power reduction in cache accesses
US20040098540A1 (en) Cache system and cache memory control device controlling cache memory having two access modes
JPH0668735B2 (ja) キヤツシユメモリ−
US9641464B2 (en) FIFO buffer system providing same clock cycle response to pop commands
US7430642B2 (en) System and method for unified cache access using sequential instruction information
US20030149842A1 (en) Method for controling cache system comprising direct-mapped cache and fully-associative buffer
WO1999036849A1 (en) Write-buffer fifo architecture with random access snooping capability
JP4071942B2 (ja) データ処理装置及びデータプロセッサ
CN108959125B (zh) 一种支持数据快速获取的存储访问方法和装置
US8271732B2 (en) System and method to reduce power consumption by partially disabling cache memory
US20160217079A1 (en) High-Performance Instruction Cache System and Method
US5854943A (en) Speed efficient cache output selector circuitry based on tag compare and data organization
JP2009217616A (ja) キャッシュメモリ制御回路及びプロセッサ
US8595465B1 (en) Virtual address to physical address translation using prediction logic
KR101076815B1 (ko) 분기 타겟 어드레스 캐쉬를 포함하는 캐쉬 시스템
US7870342B2 (en) Line cache controller with lookahead
JPH06161900A (ja) キャッシュメモリ装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060403

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060420

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100428

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100428

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110428

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130428

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140428

Year of fee payment: 8

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term