JPH07334423A - セットアソシアティブ方式のメモリ装置 - Google Patents

セットアソシアティブ方式のメモリ装置

Info

Publication number
JPH07334423A
JPH07334423A JP6125380A JP12538094A JPH07334423A JP H07334423 A JPH07334423 A JP H07334423A JP 6125380 A JP6125380 A JP 6125380A JP 12538094 A JP12538094 A JP 12538094A JP H07334423 A JPH07334423 A JP H07334423A
Authority
JP
Japan
Prior art keywords
way
tlb
prediction
cache
memory device
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.)
Granted
Application number
JP6125380A
Other languages
English (en)
Other versions
JP3589485B2 (ja
Inventor
Noriharu Hiratsuka
憲晴 平塚
Fumio Arakawa
文男 荒川
Susumu Narita
進 成田
Osamu Nishii
修 西井
Nobuyuki Hayashi
信幸 林
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP12538094A priority Critical patent/JP3589485B2/ja
Publication of JPH07334423A publication Critical patent/JPH07334423A/ja
Application granted granted Critical
Publication of JP3589485B2 publication Critical patent/JP3589485B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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/0864Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
    • 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
    • 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/608Details relating to cache mapping
    • G06F2212/6082Way prediction in set-associative cache
    • 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)

Abstract

(57)【要約】 【目的】 消費電力を低減させ、かつ、データ読み出し
時のタイムラグを低減させることが可能なセットアソシ
アティブ方式のメモリ装置を提供すること。 【構成】 タグを格納するタグ格納部と、データを格納
するデータ格納部と、ウェイがヒットしたかを示すウェ
イ判定信号を出力するウェイ判定器と、ウェイ判定信号
に基づきそのウェイのデータを選択するデータ選択器と
を具備するセットアソシアティブ方式のメモリ装置にお
いて、ウェイ判定信号の予測値を発生するウェイ予測部
と、ウェイ予測部からの予測値に基づき予測されたウェ
イのデータ格納部だけを活性化する手段と、ウェイ判定
器からのウェイ判定信号と前記予測値を比較し、不一致
の場合にウェイ予測判定信号を出力するウェイ予測判定
部と、ウェイ予測判定部からのウェイ予測判定信号に基
づきウェイ予測部の予測値をヒットしたウェイを示すウ
ェイ判定信号に変更する手段とを具備する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、セットアソシアティブ
方式のメモリ装置に係わり、特に、消費電力を低減さ
せ、かつ、データ読み出し時のタイムラグを低減させた
セットアソシアティブ方式のメモリ装置に関する。
【0002】
【従来の技術】従来のセットアソシアティブ方式のメモ
リは、「並列計算機構成論」(富田眞治著、昭晃堂、
2.3.2記憶制御装置、(1)記憶階層方式及び
(2)キャッシュメモリ)に記載されている。
【0003】図17は、前記公知文献に記載されてい
る、従来のセットアソシアティブ方式のメモリの概略構
成を示すブロック図であり、2セットアソシアティブの
アドレス変換バッファ(以下、TLBと称す)691と
2セットアソシアティブのキャッシュ692から構成さ
れる、TLB・キャッシュ装置である。
【0004】アドレス600は、論理アドレスであり、
TLB691により物理アドレスに変換されてキャッシ
ュ692に入力される。
【0005】アドレス600は、論理ページ番号604
とページ内オフセット601により構成される。
【0006】論理ページ番号604は、TLB691に
より物理ページ番号625に変換されキャッシュ692
に入力される。
【0007】ページ内オフセット601は、変換されず
にそのままキャッシュ692に入力される。
【0008】物理アドレスは、物理ページ番号625と
ページ内オフセット601により構成される。
【0009】以下、図17に示すTLB・キャッシュ装
置の動作を説明する。
【0010】論理ページ番号604の下位ビット602
は、TLBタグ格納部(610,611)に入力され、
TLBタグ(612,613)が出力される。
【0011】これらのTLBタグは、TLBウェイ判定
器614に入力される。
【0012】ここで、610はTLBのウェイ0のタグ
を、611はTLBのウェイ1のタグをそれぞれ格納す
るメモリである。
【0013】次に、TLBウェイ判定器614では、論
理ページ番号604の上位ビット603と各ウェイのT
LBタグが比較され、どのウェイのTLBタグと一致し
たかを表すTLBウェイ判定信号615が出力される。
【0014】一方、論理ページ番号604の下位ビット
602はTLBのTLBデータ格納部(620,62
1)に入力され、物理ページ番号(622,623)が
出力される。
【0015】これらの物理ページ番号は、物理ページ番
号選択器624に入力される。
【0016】ここで、620はウェイ0の物理ページ番
号を、621はウェイ1の物理ページ番号をそれぞれ格
納するメモリである。
【0017】物理ページ番号選択器624では、TLB
ウェイ判定信号615に基づいて、ウェイ0の物理ペー
ジ番号622またはウェイ1の物理ページ番号623の
どちらかを選択し物理ページ番号625を出力する。
【0018】ページ内オフセット601は、キャッシュ
タグ格納部(630,631)に入力され、キャッシュ
タグ(632,633)が出力される。
【0019】これらのキャッシュタグ(632,63
3)は、キャッシュウェイ判定器634に入力される。
【0020】ここで、630はキャッシュのウェイ0の
タグを、631はキャッシュのウェイ1のタグをそれぞ
れ格納するメモリである。
【0021】次に、キャッシュウェイ判定器634で
は、物理ページ番号625と各ウェイのキャッシュタグ
(632,633)が比較され、どのウェイのキャッシ
ュタグと一致したかを表すキャッシュウェイ判定信号6
35が出力される。
【0022】一方、ページ内オフセット601は、キャ
ッシュデータ格納部(640,641)に入力され、デ
ータ(642,643)が出力される。
【0023】これらのデータ(642,643)は、デ
ータ選択器644に入力される。
【0024】ここで、640はウェイ0のデータを、6
41はウェイ1のデータをそれぞれ格納するメモリであ
る。
【0025】データ選択器644では、キャッシュウェ
イ判定信号635に基づいて、データ642またはデー
タ643を選択しデータ645を出力する。
【0026】このとき、物理ページ番号625とウェイ
0のキャッシュタグ632が一致していればウェイ0の
データ642、物理ページ番号625とウェイ1のキャ
ッシュタグ633が一致していればウェイ1のデータ6
43の値がデータ645の値となる。
【0027】データ645の値は、一旦ラッチ646に
格納されたあと、次のサイクルにおいてデータ647と
して出力される。
【0028】このTLB・キャッシュ装置においては、
TLBタグ格納部(610,611)、TLBデータ格
納部(620,621)、キャッシュタグ格納部(63
0,631)、キャッシュデータ格納部(640,64
1)の8つのメモリは、同時に並列的に動作することが
可能である。
【0029】即ち、論理アドレス600が入力された時
点で、これら8つのメモリは動作を開始できる。
【0030】一方、TLBタグ格納部(610,61
1)、TLBウェイ判定器614、物理ページ番号選択
器624、キャッシュウェイ判定器634は、同時に実
行することはできず、この順番で順々に実行しなければ
ならない。
【0031】したがって、キャッシュウェイ判定器63
4の出力であるキャッシュウェイ判定信号635の値を
生成するのには時間がかかる。
【0032】このような理由から、従来の2セットアソ
シアティブ方式のキャッシュでは、キャッシュウェイ判
定信号635の値が判明する前に、あらかじめキャッシ
ュデータ格納部のウェイ0の部分640とウェイ1の部
分641の両方を動作させ、ウェイ0のデータ642と
ウェイ1のデータ643を出力しておき、これをキャッ
シュウェイ判定信号635で選択する方式がとられてい
た。
【0033】この方式では、キャッシュデータ格納部
(640,641)のウェイ0の部分640とウェイ1
の部分641の両方を同時に動作させるために、キャッ
シュを動作させるための電力が大きくなるという問題点
があった。
【0034】また、TLBタグ格納部(610,61
1)、TLBウェイ判定器614、物理ページ番号選択
器624、キャッシュウェイ判定器634、及び、デー
タ選択器644は順番に実行しなければならず、TLB
・キャッシュ装置に論理アドレス600が入力されてか
らデータ645が出力されるまでのタイムラグ(遅延時
間)が大きくなるという問題点があった。
【0035】前記問題点を解決するために、セットアソ
シアティブ方式のキャッシュメモリにおいて、データの
読み出し時のセンスアンプの活性化を、タグからのヒッ
ト信号によって行い、ヒットした時点でセンスアンプを
活性化して、データ読み出し時の消費電力を低減するこ
とが、特開平4−328656号公報に記載されてい
る。
【0036】また、前記問題点を解決するために、セッ
トアソシアティブ方式のキャッシュメモリにおいて、外
部から入力されるアドレスとタグ部から読み出されたタ
グとを比較するアドレス比較部からのヒット信号が出力
される前に、直前にアクセスしたデータ部を示すフラグ
情報を記憶部に記憶しておき、該フラグ情報を用いるこ
とにより、アドレス比較器からのヒット信号が出力され
る前に、キャッシュメモリのデータ部からデータをデー
タバスに出力することが、特開平4−252343号公
報に記載されている。
【0037】
【発明が解決しようとする課題】前記特開平4−328
656号公報に記載されたセットアソシアティブ方式の
キャッシュメモリでは、データ読み出し時の消費電力を
低減することが可能であるが、データ読み出しのタイム
ラグを低減することについて考慮されていないという問
題点があった。
【0038】また、前記特開平4−252343号公報
に記載されたセットアソシアティブ方式のキャッシュメ
モリでは、データ読み出しのタイムラグを低減すること
が可能であるが、複数の連続した領域を交互にアクセス
する場合にウェイを正しく予測する機構を具備しておら
ず、また、アドレス変換バッファを具備する、セットア
ソシアティブ方式のキャッシュメモリのデータ読み出し
時のタイムラグについて考慮されていないという問題点
があった。
【0039】本発明は、前記従来技術の問題点を解決す
るためになされたものであり、本発明の目的は、セット
アソシアティブ方式のメモリ装置において、消費電力を
低減させ、かつ、データ読み出し時のタイムラグを低減
させることが可能な技術を提供することにある。
【0040】また、本発明の他の目的は、アドレス変換
バッファを具備する、セットアソシアティブ方式のメモ
リ装置において、消費電力を低減させ、かつ、データ読
み出し時のタイムラグを低減させることが可能な技術を
提供することにある。
【0041】また、本発明の他の目的は、アドレス変換
バッファを具備する、セットアソシアティブ方式のメモ
リ装置において、いくつかの連続した領域を交互にアク
セスする場合に、データ読み出しのタイムラグを低減さ
せることが可能な技術を提供することにある。
【0042】本発明の前記目的並びにその他の目的及び
新規な特徴は、本明細書の記載及び添付図面によって明
らかにする。
【0043】
【課題を解決するための手段】本願において開示される
発明のうち、代表的なものの概要を簡単に説明すれば、
下記の通りである。
【0044】(1)タグを格納するタグ格納部と、デー
タを格納するデータ格納部と、アクセスアドレスの一部
とタグ格納部に格納されているタグとを比較しどのウェ
イがヒットしたかを示すウェイ判定信号を出力するウェ
イ判定器と、ウェイ選択信号に基づきその選択されたウ
ェイのデータ格納部のデータを選択するデータ選択器と
を具備するセットアソシアティブ方式のメモリ装置にお
いて、ウェイ判定信号の予測値を発生するウェイ予測部
と、ウェイ予測部からの予測値に基づき予測されたウェ
イのデータ格納部だけを活性化する手段と、前記予測値
をウェイ選択信号としてデータ選択器に入力する手段
と、ウェイ判定器からのウェイ判定信号と前記予測値を
比較し、不一致の場合にウェイ予測判定信号を出力する
ウェイ予測判定部と、ウェイ予測判定部からのウェイ予
測判定信号に基づきウェイ予測部の予測値をヒットした
ウェイを示すウェイ判定信号に変更する手段とを具備す
ることを特徴とする。
【0045】(2)前記(1)の手段において、ウェイ
予測部からの予測値に基づき予測されたウェイのタグ格
納部だけを活性化する手段を、さらに具備することを特
徴とする。
【0046】(3)前記(1)または(2)の手段にお
いて、ウェイ予測部が、ウェイの番号値を記憶する複数
の予測ウェイラッチを有し、複数の連続した領域をアク
セスする場合に、対応する複数の予測ウェイラッチに記
憶されたウェイの番号値をウェイ判定信号の予測値とし
て出力することを特徴とする。
【0047】(4)前記(1)ないし(3)の手段にお
いて、メモリ装置が、さらに、セットアソシアティブ方
式のアドレス変換バッファを具備し、前記メモリ装置の
ウェイ判定器が、アドレス変換バッファからのTLBデ
ータとタグ格納部に格納されているタグとを比較しどの
ウェイがヒットしたかを示すウェイ判定信号を出力し、
前記アドレス変換バッファが、TLBタグを格納するT
LBタグ格納部と、TLBデータを格納するTLBデー
タ格納部と、アクセスアドレスの一部とTLBタグ格納
部に格納されているTLBタグとを比較しどのウェイが
ヒットしたかを示すTLBウェイ判定信号を出力するT
LBウェイ判定器と、TLBウェイ判定信号の予測値を
発生するTLBウェイ予測部と、前記TLBウェイ予測
部からの予測値に基づき予測されたTLBウェイのTL
Bデータ格納部だけを活性化する手段と、前記TLBウ
ェイ予測部からの予測値がウェイ選択信号として入力さ
れ、予測されたウェイのTLBデータ格納部のTLBデ
ータを選択するTLBデータ選択器と、TLBウェイ判
定器からのTLBウェイ判定信号と前記予測値を比較
し、不一致の場合にTLBウェイ予測判定信号を出力す
るTLBウェイ予測判定部と、TLBウェイ予測判定部
からのTLBウェイ予測判定信号に基づきTLBウェイ
予測部の予測値をヒットしたウェイを示すTLBウェイ
判定信号に変更する手段とを具備することを特徴とす
る。
【0048】(5)前記(4)の手段において、TLB
ウェイ予測部からの予測値に基づき予測されたウェイの
TLBタグ格納部だけを活性化する手段を、さらに具備
することを特徴とする。
【0049】(6)前記(4)または(5)の手段にお
いて、前記TLBウェイ予測部が、ウェイの番号値を記
憶する複数のTLB予測ウェイラッチを有し、複数の連
続した領域をアクセスする場合に、対応する複数のTL
B予測ウェイラッチに記憶されたTLBウェイの番号値
をTLBウェイ判定信号の予測値として出力することを
特徴とする。
【0050】(7)タグを格納するタグ格納部と、デー
タを格納するデータ格納部と、アクセスアドレスの一部
とタグ格納部に格納されているタグとを比較しどのウェ
イがヒットしたかを示すウェイ判定信号を出力するウェ
イ判定器と、ウェイ選択信号に基づき選択されたウェイ
のデータ格納部のデータを選択するデータ選択器とを具
備するセットアソシアティブ方式のメモリ装置におい
て、ウェイの番号値を記憶する複数の予測ウェイラッチ
を有し、複数の連続した領域をアクセスする場合に、対
応する複数の予測ウェイラッチに記憶されたウェイの番
号値をウェイ判定信号の予測値として出力するウェイ予
測部と、前記予測値をウェイ選択信号としてデータ選択
器に入力する手段と、ウェイ判定器からのウェイ判定信
号と前記予測値を比較し、不一致の場合にウェイ予測判
定信号を出力するウェイ予測判定部と、ウェイ予測判定
部からのウェイ予測判定信号に基づきウェイ予測部の予
測値をヒットしたウェイを示すウェイ判定信号に変更す
る手段とを具備することを特徴とする。
【0051】(8)前記(7)の手段において、前記メ
モリ装置が、さらに、セットアソシアティブ方式のアド
レス変換バッファを具備し、前記メモリ装置のウェイ判
定器が、アドレス変換バッファからのTLBデータとタ
グ格納部に格納されているタグとを比較しどのウェイが
ヒットしたかを示すウェイ判定信号を出力し、前記アド
レス変換バッファが、TLBタグを格納するTLBタグ
格納部と、TLBデータを格納するTLBデータ格納部
と、アクセスアドレスの一部とTLBタグ格納部に格納
されているTLBタグとを比較しどのウェイがヒットし
たかを示すTLBウェイ判定信号を出力するTLBウェ
イ判定器と、ウェイの番号値を記憶する複数のTLB予
測ウェイラッチを有し、複数の連続した領域をアクセス
する場合に、対応する複数のTLB予測ウェイラッチに
記憶されたTLBウェイの番号値をTLBウェイ判定信
号の予測値として出力するTLBウェイ予測部と、TL
Bウェイ予測部からの予測値が選択信号として入力さ
れ、予測されたウェイのTLBデータ格納部のTLBデ
ータを選択するTLBデータ選択器と、TLBウェイ判
定器からのTLBウェイ判定信号と前記予測値を比較
し、不一致の場合にTLBウェイ予測判定信号を出力す
るTLBウェイ予測判定部と、TLBウェイ予測判定部
からのTLBウェイ予測判定信号に基づきTLBウェイ
予測部の予測値をヒットしたウェイを示すTLBウェイ
判定信号に変更する手段とを具備することを特徴とす
る。
【0052】
【作用】前記(1)または(2)項に記載された手段に
よれば、セットアソシアティブ方式のメモリ装置におい
て、ウェイ予測部によってどのウェイがヒットするかを
予測し、予測されたウェイのデータ格納部、あるいは、
予測されたタグ格納部およびデータ格納部のみを動作さ
せるようにしたので、メモリ装置を動作させるための消
費電力を低減させ、かつ、データ読み出しのタイムラグ
を低減させることが可能となる。
【0053】また、前記(3)項に記載された手段によ
れば、ウェイ予測部によってどのウェイがヒットするか
を予測し、予測された予測されたウェイのデータ格納
部、あるいは、予測されたタグ格納部およびデータ格納
部のみを動作させるようにしたセットアソシアティブ方
式のメモリ装置において、複数の連続した領域をアクセ
スする場合に、ウェイ予測部の複数の予測ウェイラッチ
に記憶されたウェイの番号値をウェイ判定信号の予測値
として用いるようにしたので、いくつかの連続した領域
を交互にアクセスする場合に、メモリ装置を動作させる
ための消費電力を低減させ、かつ、データ読み出しのタ
イムラグを低減させることが可能となる。
【0054】また、前記(4)または(5)項に記載さ
れた手段によれば、アドレス変換バッファを具備するセ
ットアソシアティブ方式のメモリ装置において、アドレ
ス変換バッファのTLBウェイ予測部によってアドレス
変換バッファのどのウェイがヒットするかを予測し、予
測されたウェイのTLBデータ格納部、あるいは、予測
されたTLBタグ格納部およびTLBデータ格納部のみ
を動作させるようにするとともに、メモリ装置のウェイ
予測部によってメモリ装置のどのウェイがヒットするか
を予測し、予測されたウェイのデータ格納部、あるい
は、予測されたタグ格納部およびデータ格納部のみを動
作させるようにしたので、アドレス変換バッファを具備
するメモリ装置を動作させるための消費電力を低減さ
せ、かつ、データ読み出しのタイムラグを低減させるこ
とが可能となる。
【0055】また、前記(6)項に記載された手段によ
れば、アドレス変換バッファのTLBウェイ予測部によ
ってアドレス変換バッファのどのウェイがヒットするか
を予測し、予測されたウェイのTLBデータ格納部、あ
るいは、予測されたTLBタグ格納部およびTLBデー
タ格納部のみを動作させるようにするとともに、メモリ
装置のウェイ予測部によってメモリ装置のどのウェイが
ヒットするかを予測し、予測された予測されたウェイの
データ格納部、あるいは、予測されたタグ格納部および
データ格納部のみを動作させるようにした、アドレス変
換バッファを具備するセットアソシアティブ方式のメモ
リ装置において、複数の連続した領域をアクセスする場
合に、アドレス変換バッファのTLBウェイ予測部およ
びメモリ装置のウェイ予測部の複数の予測ウェイラッチ
に記憶されたウェイの番号値を、アドレス変換バッファ
のTLBウェイ判定信号およびメモリ装置のウェイ判定
信号の予測値として用いるようにしたので、いくつかの
連続した領域を交互にアクセスする場合に、メモリ装置
を動作させるための消費電力を低減させ、かつ、データ
読み出しのタイムラグを低減させることが可能となる。
【0056】また、前記(7)項に記載された手段によ
れば、セットアソシアティブ方式のメモリ装置におい
て、ウェイの番号値を記憶する複数の予測ウェイラッチ
を有するウェイ予測部により、複数の連続した領域をア
クセスする場合に、どのウェイがヒットするかを予測す
るようにしたので、いくつかの連続した領域を交互にア
クセスする場合に、データ読み出しのタイムラグを低減
させることが可能となる。
【0057】また、前記(8)項に記載された手段によ
れば、アドレス変換バッファを具備するセットアソシア
ティブ方式のメモリ装置において、複数の連続した領域
をアクセスする場合に、ウェイの番号値を記憶する複数
のTLB予測ウェイラッチを有するTLBウェイ予測部
により、アドレス変換バッファのどのウェイがヒットす
るかを予測するとともに、ウェイの番号値を記憶する複
数の予測ウェイラッチを有するウェイ予測部により、メ
モリ装置のどのウェイがヒットするかを予測するように
したので、データ読み出しのタイムラグを低減させるこ
とが可能となる。
【0058】
【実施例】以下、図面を参照して本発明の実施例を詳細
に説明する。
【0059】なお、実施例を説明するための全図におい
て、同一機能を有するものは同一符号を付け、その繰り
返しの説明は省略する。
【0060】図1は、本発明のメモリ装置の一実施例
(実施例1)であるキャッシュの概略構成を示すブロッ
ク図であり、本実施例1のキャッシュをプロセッサに適
用した例を示す図である。
【0061】図1において、プロセッサは、プロセッサ
本体182、アドレス変換バッファ(以下、TLBと称
す)191、キャッシュ192、キャッシュウェイ予測
部193、及び、キャッシュウェイ予測判定部194か
ら構成される。
【0062】プロセッサ本体182は、アドレス生成部
190とデータ処理部195を含んでいる。
【0063】TLB191は、2セットアソシアティブ
方式のメモリであり、また、キャッシュ192は2セッ
トアソシアティブ方式のメモリであり、ウェイの予測を
行なっている。
【0064】図2は、図1に示す、キャッシュ192、
キャッシュウェイ予測部193、及び、キャッシュウェ
イ予測判定部194のより詳細な構成を拡大して示すブ
ロック図であり、図3は、図1に示すTLB191のよ
り詳細な構成を拡大して示すブロック図である。
【0065】図4は、図1に示すプロセッサのタイムチ
ャートを示す図である。
【0066】図4は、キャッシュのウェイ0が予測さ
れ、予測がヒットした場合のタイムチャートを示す図で
ある。
【0067】まず、図1と図4を用いて、図1に示すプ
ロセッサの動作の概要を説明する。
【0068】図1に示すプロセッサは、パイプライン制
御で処理される。
【0069】図4における、数字401は命令の番号を
表し、1と番号の書かれた領域は、命令1を処理してい
ることを示す。
【0070】以下、命令1の処理について述べる。
【0071】図1に示すように、TLB191、キャッ
シュ192、キャッシュウェイ予測部193、及び、キ
ャッシュウェイ予測判定器194から構成される部分
は、動作するタイミングの違いによりメモリ部180と
ウェイ判定部181に分けられる。
【0072】時刻1で、アドレス生成部190はアドレ
スを生成し、次の時刻に前記アドレスをアドレス100
として出力する。
【0073】時刻2で、メモリ部180は、アドレス1
00を入力して1サイクル後にデータ147をデータ処
理部195に出力する。
【0074】このとき、キャッシュウェイ予測部193
の出力信号であるキャッシュ予測ウェイ信号151はウ
ェイ0を示しており、メモリ部180のキャッシュデー
タ格納部140、141に関しては、予測されたウェ
イ、すなわち、ウェイ0のキャッシュデータ格納部14
0のみが動作する。
【0075】そして、前記キャッシュデータ格納部14
0から読み出されたデータがデータ147として出力さ
れる。
【0076】時刻3では、データ処理部195がデータ
147を入力して処理する。
【0077】また、時刻3では、ウェイ判定部181に
よって、メモリ部180から読み出されたデータ147
が正しいウェイのデータであるか確認するための判定が
行われる。
【0078】メモリ部180とこのウェイ判定部181
はパイプライン方式で処理を行うことができる。
【0079】すなわち、時刻3において命令1がウェイ
判定部181で処理されているときは、命令2がメモリ
部180で処理される。
【0080】すべての命令のデータがウェイ判定部18
1によって、正しいウェイのデータであると判定される
と(すなわち、ウェイ予測がヒットすると)、図4のよ
うなタイムチャートとデータが処理される。
【0081】次に、図1〜図4を用いて、図1に示すプ
ロセッサの動作の詳細を説明する。
【0082】最初に、時刻2におけるメモリ部180の
動作ついて説明する。
【0083】まず、論理ページ番号上位ビット103
は、ラッチ105に格納される。
【0084】また、論理ページ番号下位ビット102
は、TLBタグ格納部(110,111)と、TLBの
TLBデータ格納部(120,121)にそれぞれ入力
される。
【0085】そして、TLBタグ格納部(110,11
1)とTLBのTLBデータ格納部(120,121)
が動作し、それぞれの出力がラッチ116、117、1
26および127にそれぞれ格納される。
【0086】一方、アドレスのページ内オフセット10
1は、キャッシュタグ格納部(130,131)と、キ
ャッシュデータ格納部(140,141)に入力され
る。
【0087】そして、前記キャッシュタグ格納部(13
0,131)が動作して、それぞれキャッシュタグ(1
32,133)にタグの値を出力し、前記値はそれぞれ
ラッチ(136,137)に格納される。
【0088】また、キャッシュウェイ予測部193から
キャッシュ予測ウェイ信号151が出力される。
【0089】前記信号151の値は予測されたウェイ、
すなわち、ウェイ0を示す。
【0090】この信号151は、ウェイデコーダ160
でデコードされて、キャッシュデータ格納部(140,
141)に入力される。
【0091】このとき、信号151の値がウェイ0を示
すので、ウェイデコーダ160からウェイ0のデータ格
納部140を動作させるための信号161が出力され
る。
【0092】この信号161により、データ格納部14
0が動作し、データ142を出力する。この場合、デー
タ格納部141は動作しない。
【0093】データ選択器144には、予測されたウェ
イのデータ142とキャッシュ予測ウェイ信号151が
入力される。
【0094】データ選択器144では、キャッシュ予測
ウェイ信号151により示されたウェイ、すなわち、ウ
ェイ0のデータ142が選択されてデータ145に出力
される。
【0095】また、キャッシュ予測ウェイ信号151は
ラッチ152に格納される。
【0096】以上の処理が1サイクルで行なわれる。
【0097】図7は、ウェイデコーダ160の構成を示
す図である。
【0098】キャッシュ予測ウェイ信号151は、2ビ
ットの信号であり、ウェイ0が予測されたことを表す信
号とウェイ1が予測されたことを表す信号により構成さ
れる。
【0099】ウェイデコーダ160では、2ビットの信
号を1ビットづつに分解してウェイ0が予測されたこと
を表す信号をキャッシュウェイ0イネーブル信号161
として、ウェイ1が予測されたことを表す信号をキャッ
シュウェイ1イネーブル信号162としてそれぞれ出力
する。
【0100】次に、時刻3におけるウェイ判定部の動作
について説明する。
【0101】ラッチ105に格納された論理ページ番号
上位ビットと、ラッチ(116,117)に格納された
TLBタグと、ラッチ(126,127)に格納された
物理ページ番号とに基づき、TLBウェイ判定器114
と物理ページ番号選択器124によって、物理ページ番
号125の値が生成される。
【0102】さらに、ラッチ(136,137)に格納
されたキャッシュタグと物理ページ番号125とに基づ
き、キャッシュウェイ判定器134によってキャッシュ
ウェイ判定信号135に値が出力される。
【0103】キャッシュウェイ判定信号135は2ビッ
トの信号であり、物理ページ番号125とウェイ0のキ
ャッシュタグ138が一致したかどうかを示す1ビット
信号と物理ページ番号125とウェイ1のキャッシュタ
グ139が一致したかを示す1ビット信号により構成さ
れる。
【0104】キャッシュウェイ予測判定器154では、
ラッチ152に格納されたキャッシュ予測ウェイ信号1
51の値とキャッシュウェイ判定信号135とに基づい
てキャッシュ192のウェイ予測がミスしたかどうかを
判定する。
【0105】図6は、図1に示すキャッシュウェイ予測
判定器154を含むキャッシュウェイ予測判定部194
のより詳細な構成を示ブロック図である。
【0106】キャッシュ192の予測されたウェイを示
す信号153は2ビットの信号であり、ウェイ0が予測
されたことを示す信号710とウェイ1が予測されたこ
とを示す信号711により構成される。
【0107】また、キャッシュウェイ判定信号135は
2ビットの信号であり、ウェイ0がヒットしたことを示
す信号712とウェイ1がヒットしたことを示す信号7
13により構成される。
【0108】AND演算器700は、ウェイ0が予測さ
れ、かつ、ウェイ0がヒットしたときに1を出力する。
【0109】また、AND演算器701は、ウェイ1が
予測され、かつ、ウェイ1がヒットしたときに1を出力
する。
【0110】キャッシュウェイ予測判定禁止信号704
は、キャッシュウェイ予測判定を行なわないときに1を
出力する信号であり、時刻3では0を出力している。
【0111】OR演算器705は、ウェイ0が予測され
かつウェイ0がヒットしたか、または、ウェイ1が予測
されかつウェイ1がヒットしたとき1を出力する。
【0112】すなわち、OR演算器705は、キャッシ
ュのウェイ予測がヒットした場合に1を出力する。
【0113】NOT演算器707は、キャッシュのウェ
イ予測がミスした場合にキャッシュウェイ予測判定信号
155に1の値を出力する。
【0114】時刻3では、命令1に関する処理がキャッ
シュウェイ予測判定器154で行なわれ、ウェイ0が予
測されてウェイ0がヒットしているのでAND演算器7
00の出力信号702の値が1となる。
【0115】そして、キャッシュウェイ予測判定信号1
55の値は0となり、キャッシュウェイ予測判定信号1
55ウェイ予測がヒットしたことを示す。
【0116】ウェイ予測がヒットすれば、図4に示すよ
うに命令1と命令2はパイプラインで実行することがで
きる。
【0117】次に、キャッシュウェイ予測部193にお
いてウェイ0を予測したにもかかわらず、キャッシュ1
92のウェイ1がヒットした場合について述べる。
【0118】この場合には、ウェイ予測がミスしたこと
になる。
【0119】キャッシュ192のウェイ1がヒットする
と、キャッシュウェイ判定信号135の値はウェイ1を
示し、図6に示す信号712の値が0に、信号713の
値が1となる。
【0120】一方、ウェイ0が予測されていたので、信
号710の値は1、信号711の値は0であるから、A
ND演算器700及び701の出力はともに0となり、
信号706の値は0に、キャッシュウェイ予測判定信号
155の値は1になる。
【0121】すなわち、キャッシュウェイ予測判定信号
155はウェイ予測ミスを示す。
【0122】キャッシュウェイ予測判定信号155の値
が1となると例外的な処理が実行される。
【0123】図5は、前記した場合のタイムチャートを
示す図である。
【0124】図5は、命令1でウェイ0が予測されてウ
ェイ予測がミスし、命令2以降でウェイ1が予測されて
ウェイ予測がヒットした場合のタイムチャートである。
【0125】時刻3で、命令1のキャッシュウェイ予測
判定信号155がウェイ予測のミスを示した場合、パイ
プライン制御信号156が出力されて、時刻3に行なわ
れようとしているプロセッサ本体182、TLB19
1、キャッシュ192の動作を抑止する。
【0126】TLB191では、次の命令、すなわち、
命令2の処理を開始しているが、途中で抑止される。
【0127】また、時刻3では、キャッシュウェイ予測
判定信号155によって、キャッシュウェイ判定信号1
35がラッチ150に格納される。
【0128】これにより、キャッシュ予測ウェイ信号1
51の値が置き変わる。
【0129】すなわち、時刻4からは、キャッシュ予測
ウェイ信号151の値は、時刻3でキャッシュがヒット
したウェイであるウェイ1を示す。
【0130】時刻4では、新しい値を持つキャッシュ予
測ウェイ信号151が出力され、ウェイ1のキャッシュ
データ格納部141を動作させる。
【0131】キャッシュデータ格納部141の出力であ
るウェイ1のデータ143は、キャッシュ予測ウェイ信
号151によりデータ選択器144で選択されてラッチ
146に格納される。
【0132】時刻5では、ラッチ146に格納されたウ
ェイ1のデータがキャッシュ192から出力され、デー
タ処理部195で処理される。
【0133】なお、本実施例1において、キャッシュウ
ェイ予測部193からの出力信号であるキャッシュ予測
ウェイ信号151により、予測されたウェイのデータ格
納部(140,141)だけでなく、予測されたウェイ
のタグ格納部(130,131)だけを活性化すること
も可能である。
【0134】図8は、本発明のメモリ装置の他の実施例
(実施例2)であるアドレス変換バッファ(TLB)
と、キャッシュの概略構成を示すブロック図であり、本
実施例2のアドレス変換バッファ(TLB)991と、
キャッシュ992をプロセッサに適用した例を示す図で
ある。
【0135】図8に示すプロセッサは、図1に示すプロ
セッサにおいて、TLBウェイ予測部996とTLBウ
ェイ予測判定部997を付加し、TLBについてもウェ
イの予測を行なうようにしたものである。
【0136】本実施例2のTLBウェイ予測部996、
および、TLBウェイ予測判定部997の構成は、前記
実施例1のキャッシュウェイ予測部193、キャッシュ
ウェイ予測判定部194と同じである。
【0137】図8に示すプロセッサ本体982、キャッ
シュ992、キャッシュウェイ予測部993、キャッシ
ュウェイ予測判定部994は、それぞれ、図1に示すプ
ロセッサ本体182、キャッシュ192、キャッシュウ
ェイ予測部193、キャッシュウェイ予測判定部194
に対応している。
【0138】図9は、図8に示すプロセッサのタイムチ
ャートを示す図である。
【0139】図9は、命令1から命令4のすべての命令
について、TLBのウェイ0が予測され、予測がヒット
した場合のタイムチャートを示す図である。
【0140】図8、図9を用いて、図8に示すプロセッ
サの動作の概要を説明する。
【0141】図8に示すプロセッサは、パイプライン制
御で処理される。
【0142】図9において、数字1001は命令の番号
を表し、1と番号の書かれた領域は、命令1を処理して
いることを示す。
【0143】以下、命令1の処理について述べる。
【0144】図9に示すように、TLB991、キャッ
シュ992、TLBウェイ予測部996、及び、TLB
ウェイ予測判定部997、キャッシュウェイ予測部99
3、及び、キャッシュウェイ予測判定部994から構成
される部分は、動作するタイミングの違いによりメモリ
部980とウェイ判定部981に分けられる。
【0145】時刻1で、アドレス生成部990はアドレ
スを生成し、次の時刻にアドレス900を出力する。
【0146】時刻2で、メモリ部980は、アドレス9
00を入力して1サイクル後にデータ947をデータ処
理部995に出力する。
【0147】TLBデータ格納部(920,921)に
関しては、TLBウェイ予測部996で予測されたウェ
イのTLBデータ格納部920だけが動作する。
【0148】ここでは、TLBウェイ予測部996でウ
ェイ0が予測されているので、前記TLBウェイ予測部
996の出力であるTLB予測ウェイ信号961はウェ
イ0を示す。
【0149】そして、前記TLB予測ウェイ信号961
がTLB991に入力されて、TLBデータ格納部92
0が動作する。
【0150】また、キャッシュデータ格納部(940,
941)に関しては、キャッシュウェイ予測部993で
予測されたウェイのキャッシュデータ格納部940だけ
が動作し、キャッシュデータ格納部940から読み出さ
れたデータがデータ947として出力される。
【0151】また、時刻2では、TLBタグ格納部(9
10,911)と、キャッシュタグ格納部(930,9
31)が動作する。
【0152】そして、時刻3では、データ処理部995
がデータ947を入力して処理する。
【0153】また、TLB991では、論理ページ番号
904の上位ビットと前時刻にTLBタグ格納部(91
0,911)から読みだされたTLBタグが比較され、
TLBウェイ判定信号960を出力する。
【0154】さらに、TLB991から前時刻にTLB
ウェイ予測部996で予測されたウェイ、すなわち、ウ
ェイ0のTLBデータ格納部920から読みだされた物
理ページ番号925が出力され、キャッシュ992に送
られる。
【0155】キャッシュ992では、物理ページ番号9
25と前時刻にキャッシュタグ格納部(930,93
1)から読みだされたキャッシュタグが比較され、キャ
ッシュウェイ判定信号935を出力する。
【0156】また、時刻3では、TLBウェイ予測判定
部997において、TLBウェイ判定信号960の値と
前時刻に出力されたTLB予測ウェイ信号961の値を
もとにTLBのウェイ予測がミスしていたかどうか判定
する。
【0157】さらに、時刻3では、キャッシュウェイ予
測判定部994により、時刻2におけるキャッシュウェ
イ予測がミスしていたかどうかを判定する。
【0158】もし、TLBウェイ予測とキャッシュウェ
イ予測がともにヒットしていれば、第10図のようなタ
イムチャートとなる。
【0159】次に、TLBのウェイ0を予測したにもか
かわらず、TLBのウェイ1がヒットした場合について
説明する。
【0160】この場合には、TLBウェイ判定信号96
0の値がウェイ1を示し、TLBウェイ予測判定部99
7はTLBウェイ予測がミスしたものと判定する。
【0161】図10は、前記した場合のタイムチャート
を示す図である。
【0162】この場合には、TLBウェイ予測判定信号
962に値1が出力され、この値1は、TLBウェイ予
測ミスを示している。
【0163】そして、TLBウェイ予測判定信号962
によって、TLBウェイ判定信号960の値がTLBウ
ェイ予測部996に格納される。
【0164】この格納によって、時刻3におけるTLB
ウェイ判定信号960の値、すなわち、ウェイ1を示す
値が、時刻4からはTLB予測ウェイ信号961に出力
される。
【0165】また、時刻3において、パイプライン制御
信号963が出力されて、時刻3に行なわれようとして
いるプロセッサ本体982、TLB991、キャッシュ
992の動作を抑止する。
【0166】TLB991やキャッシュ992では次の
命令、すなわち、命令2の処理を開始しているが、途中
で抑止される。
【0167】時刻4では、新しい値をTLB予測ウェイ
信号961が出力される。
【0168】前記TLB予測ウェイ信号961の値はウ
ェイ1を示しており、ウェイ1のTLBデータ格納部9
21を動作させる。
【0169】一方、時刻4では、キャッシュ992は動
作せずに内部状態を保持する。
【0170】時刻5では、TLBデータ格納部921の
出力が物理ページ番号925に出力される。
【0171】そして、キャッシュ992よりキャッシュ
ウェイ判定信号935が出力されてキャッシュウェイ予
測判定部994に送られ、キャッシュウェイ予測判定部
994でキャッシュのウェイ予測がミスしていないかど
うかの判定が行なわれる。
【0172】なお、本実施例2において、TLBウェイ
予測部996からの出力信号であるTLB予測ウェイ信
号961により、予測されたウェイのTLBデータ格納
部(920,921)だけでなく、予測されたウェイの
TLBタグ格納部(910,911)だけを活性化する
ことも可能である。
【0173】図11は、本発明のメモリ装置の他の実施
例(実施例3)であるキャッシュの概略構成を示すブロ
ック図であり、本実施例3のキャッシュをプロセッサに
適用した例を示す図である。
【0174】図11は、図1に示すプロッセサのアドレ
ス生成部190をアドレス生成部1290に、キャッシ
ュウェイ予測部193をキャッシュウェイ予測部129
3にそれぞれ変更し、さらに、アドレス制御部1296
を付加したものである。
【0175】図11に示すプロセッサ本体1282、T
LB1291、キャッシュ1292、キャッシュウェイ
予測部1293、キャッシュウェイ予測判定部1294
は、それぞれ、図1に示すプロセッサ本体182、TL
B191、キャッシュ192、キャッシュウェイ予測器
193、キャッシュウェイ予測判定部194に対応して
いる。
【0176】アドレス生成部1290は、4つのアドレ
スラッチ1220〜1223を持っている。
【0177】本実施例3においては、それぞれの前記ア
ドレスラッチ1220〜1223に対応するキャッシュ
予測ウェイラッチ1230〜1233をキャッシュウェ
イ予測部1293が持っていることが特徴である。
【0178】アドレス生成部1290は、1220〜1
223の4つのアドレスラッチを持ち、前記ラッチの出
力のうちのいずれかひとつをアドレス選択器1224に
よって選択し、アドレス加算器1226とラッチ122
8を経て1サイクル後にアドレス1200に出力する。
【0179】一方、キャッシュウェイ予測部1293
は、アドレスラッチ1220〜1223に対応する4つ
のキャッシュ予測ウェイラッチ1230〜1233を持
ち、アドレス選択器1224において、その出力が選択
されたアドレスラッチに対応するキャッシュ予測ウェイ
ラッチの出力をキャッシュ予測ウェイ選択器1234に
よって選択してキャッシュ予測ウェイ信号1212とし
て出力する。
【0180】このとき、アドレス選択器1224には、
アドレス制御部1296から出力されるアドレスラッチ
読みだし選択信号1205が、キャッシュ予測ウェイ選
択器1234には、アドレスラッチ読みだし選択信号1
205の1サイクル遅れの信号であるキャッシュ予測ウ
ェイラッチ読みだし選択信号1208がそれぞれ入力さ
れる。
【0181】そして、アドレスラッチ1220の出力が
アドレス選択器1224において選択された場合には、
キャッシュ予測ウェイラッチ1230の出力がキャッシ
ュ予測ウェイ選択器1234において選択される。
【0182】同様に、それぞれアドレスラッチ122
1、1222、1223の出力がアドレス選択器122
4において選択された場合には、それぞれキャッシュ予
測ウェイラッチ1231、1232、1233の出力が
キャッシュ予測ウェイ選択器1234において選択され
る。
【0183】アドレス加算器1226は、同一のアドレ
スラッチを用いて連続するアドレス領域を次々にアクセ
スする場合に、アドレスラッチの値にある値を加えると
きに使用する。
【0184】ウェイ予測がミスしたときは、キャッシュ
予測ウェイ信号1212に値を出力するために使用され
たキャッシュ予測ウェイラッチにキャッシュウェイ判定
信号1211の値が書き込まれる。
【0185】この書き込みを行なうための機構が、ラッ
チ1240及びデコーダ1242である。
【0186】ラッチ1240は、キャッシュ予測ウェイ
選択器1234に入力されたキャッシュ予測ウェイラッ
チ読みだし選択信号1208の値を格納し記憶する。
【0187】ウェイ予測がミスしたときは、キャッシュ
ウェイ予測判定信号の値が1となる。
【0188】デコーダ1242に入力される前記キャッ
シュウェイ予測判定信号1214の値が1となると、デ
コーダ1242はラッチ1240に格納された値をデコ
ードしてラッチセット信号1243〜1246のいずれ
かひとつの値を1にする。
【0189】図12は、図11に示すデコーダ1242
の回路構成を示す図である。
【0190】図11に示す信号1241はデコード入力
信号1400に、図11に示す信号1243〜1246
はデコード出力信号1430〜1433に、図11に示
す信号1214はデコードイネーブル信号1410に対
応している。
【0191】デコード入力信号1400は、2ビットの
2進数により構成され、第0ビット目の信号1402と
第1ビット目の信号1403に分解することができる。
【0192】前記デコーダは、この2ビットの信号の値
により、デコード出力信号1430〜1433のうちの
いずれかひとつを1にする。
【0193】ただし、デコードイネーブル信号1410
の値が0のときは、デコード出力信号1430〜143
3の値はすべて0となる。
【0194】それぞれラッチセット信号1243〜12
46が1のとき、それぞれキャッシュ予測ウェイラッチ
1230〜1233にキャッシュウェイ判定信号121
1の値が書き込まれる。
【0195】図13は、キャッシュ1292のデータ格
納部に格納されたデータの一例を示す図である。
【0196】図13において、1700はウェイ0のキ
ャッシュデータ格納部を、1701はウェイ1のキャッ
シュデータ格納部をそれぞれ表す。
【0197】1710は、キャッシュ1292のライン
であり、本例では1ラインに4つのデータが格納され
る。
【0198】1711は、キャッシュ1292に格納さ
れたデータである。
【0199】1712は、データ1711のアドレスを
補助的に示したものである。
【0200】一般に、キャッシュ1292では、データ
はラインごとに管理され、同一ラインのデータは同一の
ウェイに格納される。
【0201】図13に示す例では、アドレス200から
アドレス203までが同一のラインに対応しており、デ
ータB[0]からデータB[3]までが同一ウェイに格
納されている。
【0202】同様に、データA[0]からデータA
[3]までが同一ウェイに格納される。
【0203】データAは文字列データであり、データA
[0]は1番目の文字データを、データA[1]は2番
目の文字データを、データA[2]は3番目の文字デー
タを、データA[3]は4番目の文字データを意味して
いる。
【0204】また、データBも同様な文字列データであ
る。
【0205】ここでは、文字列データAと文字列データ
Bとを比較するためにキャッシュ1292から順次文字
データを読み出す処理の例を示す。
【0206】文字列の比較では、文字データA[0]が
文字データB[0]と、文字データA[1]が文字デー
タB[1]と、以下同様に、文字データA[3]が文字
データB[3]とそれぞれ比較される。
【0207】そのために、文字データA[0]、文字デ
ータB[0]、文字データA[1]、文字データB
[1]、以下同様に、文字データA[3]、文字データ
B[3]の順番でキャッシュ1292から文字データが
読み出される。
【0208】以下、図14のタイムチャートを用いて、
図11に示すプロセッサの動作を説明する。
【0209】図14において、1601はラッチやキャ
ッシュの出力信号の値、もしくは、信号の値を示す。
【0210】時刻0において、文字列データAの先頭ア
ドレス100がアドレスラッチ1220に、文字列デー
タBの先頭アドレス200がアドレスラッチ1221に
それぞれ格納されているものとする。
【0211】図11に示すプロセッサでは、文字列デー
タAの各文字データを読み出すのにアドレスラッチ12
20を使用し、文字データA
〔0〕を読み出すときには
アドレス加算器1226において値0を、文字データA
〔1〕を読み出すときにはアドレス加算器1226にお
いて値1を、以下同様に、文字データA〔3〕を読み出
すときにはアドレス加算器1226において値3をそれ
ぞれアドレスラッチ1220の値に加えている。
【0212】同様に、文字列データBの各文字データを
読み出すのにアドレスラッチ1221を使用している。
【0213】また、時刻0においては、キャッシュ予測
ウェイラッチ1230、1231ともに値が0であるも
のとする。
【0214】すなわち、アドレスラッチ1220、アド
レスラッチ1221に対応する予測ウェイはともに0で
ある。
【0215】このタイムチャートにおいて、時刻1から
読み出し処理を開始している。
【0216】時刻1において、アドレス100にある文
字データA
〔0〕を読み出すために、アドレスラッチ選
択信号1205の値が0となりアドレスラッチ1220
の値100が選択されてアドレスラッチ選択出力信号1
225に出力される。
【0217】そして、アドレス加算器1226を経てア
ドレス1227に出力される。
【0218】アドレス加算器1226では何も加えられ
ずアドレス1227の値は100のままである。
【0219】時刻2で、アドレスラッチ選択信号120
5の値の1サイクル遅れの信号であるキャッシュ予測ウ
ェイラッチ読み出し選択信号1208の値0によって、
アドレスラッチ1220に対応するキャッシュ予測ウェ
イラッチ1230の値0がキャッシュ予測ウェイ信号1
212が読み出される。
【0220】このことによって、キャッシュデータ格納
部ウェイ0(1700)が動作する。
【0221】時刻3では、キャッシュウェイ判定信号1
211が出力されるが、図13に示すとおりアドレス1
00にあるデータA
〔0〕はキャッシュのウェイ1に存
在するのでキャッシュウェイ判定信号1211の値は1
となる。
【0222】キャッシュウェイ予測判定部1294で
は、このキャッシュウェイ判定信号1211の値1と時
刻2で出力されたキャッシュ予測ウェイ信号1212の
値0とを比較するが、不一致なのでウェイ予測ミスとな
る。
【0223】そこで、パイプライン制御信号1213を
発行するとともに、キャッシュウェイ予測判定信号12
14の値を1にする。
【0224】デコーダ1242には、キャッシュ予測ウ
ェイラッチ読み出し選択信号1208の1サイクル遅れ
の信号であるデコーダ入力信号1241が入力され、時
刻2で読み出しを行ったキャッシュ予測ウェイラッチ1
230にラッチセット信号1243が入力される。
【0225】このことによって、キャッシュウェイ判定
信号1211の値1がキャッシュ予測ウェイラッチ12
30に書き込まれる。
【0226】すなわち、時刻3において、アドレスラッ
チ1220に対応する予測ウェイは1に変更される。
【0227】時刻4では、キャッシュ予測ウェイラッチ
1230の値が1となり、キャッシュ予測ウェイ信号1
212には正しいウェイ予測値である1が出力され、キ
ャッシュデータ格納部ウェイ1(1701)から文字デ
ータA
〔0〕が読み出される。
【0228】時刻5では、キャッシュの出力データ信号
1215にA
〔0〕が出力される。
【0229】一方、時刻2では、アドレス200にある
文字データB
〔0〕を読み出すために、アドレスラッチ
選択信号1205の値が1となりアドレスラッチ122
1の値200が選択されてアドレスラッチ選択出力信号
1225に出力される。
【0230】そして、アドレス加算器1226を経てア
ドレス1227に出力される。
【0231】アドレス加算器1226では、何も加えら
れずアドレス1227の値は200のままである。
【0232】時刻3では、この値200がラッチ122
8からアドレス1200から出力される。
【0233】また、アドレスラッチ選択信号1205の
値1がラッチ1209からキャッシュ予測ウェイラッチ
読み出し選択信号1208に出力される。
【0234】時刻4では、キャッシュ予測ミス処理のた
めに、一旦、アドレスラッチ選択信号1205の値とキ
ャッシュ予測ウェイラッチ読み出し選択信号1208の
値は、文字データA
〔0〕の読み出しのために変更され
てしまうが、時刻5では、再び時刻3と同じ値を取り戻
す。
【0235】ここで、ラッチ1209とラッチ1228
は値回復機能付きラッチであり、その回路構成を図15
に示す。
【0236】図15において、回復機能付きラッチ18
00がラッチ1209またはラッチ1228に、入力信
号1801が信号1205または信号1227に、出力
信号1802が信号1208または1200にそれぞれ
対応している。
【0237】値回復機能付きラッチ1800は、通常、
ラッチ1810を用いて入力信号1801を出力信号1
802に出力する単なるラッチとして機能するが、1サ
イクル前の値をラッチ1811に記憶している。
【0238】文字データA
〔0〕読み出しのキャッシュ
のウェイ予測のミスが判定された時刻3では、既に、次
の文字データB
〔0〕のアドレスまたはキャッシュ予測
ウェイラッチ読み出し選択信号(以下、文字データB
〔0〕読み出しパラメータと呼ぶ)が回復機能付きラッ
チ1800から出力されているが、文字データA
〔0〕
読み出しパラメータはラッチ1811に記憶されてい
る。
【0239】この時刻に発行されるパイプライン制御信
号1213をもとに、時刻4では、ラッチ1811に格
納された文字データA
〔0〕読み出しパラメータを読み
出してウェイ予測ミスをした文字データA
〔0〕の読み
出し処理を再実行し、時刻5では文字データB
〔0〕読
み出しパラメータをラッチ1810から読み出して通常
の処理に戻る。
【0240】そして、時刻5では、キャッシュ予測ウェ
イラッチ読み出し選択信号1208の値1によってキャ
ッシュ予測ウェイラッチが選択されキャッシュ予測ウェ
イ信号1212に値0が出力される。
【0241】このことによって、キャッシュデータ格納
部ウェイ0(1700)が動作して文字データB
〔0〕
を読み出す。
【0242】文字データB
〔0〕は、図13に示される
ようにウェイ0に格納されているのでウェイ予測はヒッ
トとなる。
【0243】時刻6では、文字データB
〔0〕の値がキ
ャッシュの出力データ信号1215に出力される。
【0244】以上の2つの文字データの読み出しの後、
アドレスラッチ1220に対応するキャッシュ予測ウェ
イラッチ1230の値が1に、アドレスラッチ1221
に対応するキャッシュ予測ウェイラッチ1231の値が
0となっている。
【0245】したがって、この後、文字データA
〔1〕、B〔1〕、A〔2〕、B〔2〕、A〔3〕、B
〔3〕を読み出すときに、それぞれ、アドレスラッチ1
220、1221、1220、1221、1220、1
221を使用するので、キャッシュ予測ウェイの値はす
べて正しいものとなり、ウェイ予測はヒットする。
【0246】このように、本実施例においては、いくつ
かの連続した領域を交互にアクセスする場合にもウェイ
予測がヒットする可能性が高くなる。
【0247】図16は、本発明の他の実施例(実施例
4)であるキャッシュの概略構成を示すブロック図であ
り、本実施例4のキャッシュをプロセッサに適用した例
を示す図である。
【0248】なお、図16においては、プロセッサで使
用されるアドレス生成部、キャッシュウェイ予測部、及
び、アドレス制御部だけを示している。
【0249】図16は、図11に示すアドレス生成部1
290、キャッシュウェイ予測部1293およびアドレ
ス制御部1296を、アドレス生成部1390、キャッ
シュウェイ予測部1393およびアドレス制御部139
6に置き換えて、プロセッサを構築したものである。
【0250】図16に示すアドレス生成部1390は、
アドレスラッチからアドレスラッチへのアドレスの転送
が可能であり、アドレスラッチ1320〜1323のう
ちのあるアドレスラッチの出力の値を、アドレス選択器
1324及びアドレス加算器1326を経由してアドレ
スラッチ1320〜1323のうちの任意のアドレスラ
ッチに書き込むことができる。
【0251】ラッチセット信号1351〜1354は、
アドレスラッチ1320〜1323にアドレス1300
の値をセットするための信号で、それぞれラッチセット
信号1351〜1354の値が1のときにそれぞれアド
レスラッチ1320〜1323にアドレス1300の値
がセットされる。
【0252】ラッチセット信号1351〜1354の値
は、アドレスラッチ書き込みイネーブル信号1307と
アドレスラッチ書き込み選択信号1306とに基づき、
デコーダ1350で生成される。
【0253】アドレスラッチ書き込みイネーブル信号1
307は、アドレスラッチ1320〜1323へのアド
レスの転送が行なわれるときに1となる信号である。
【0254】この信号が1のときには、アドレスラッチ
書き込み選択信号1306がデコーダ1350において
デコードされて、ラッチセット信号1351〜1354
が出力される。
【0255】デコーダ1350の回路構成は、図12と
同じであり、図16に示す信号1306はデコード入力
信号1400に、図16に示す信号1351〜1354
はデコード出力信号1430〜1433に、図16に示
す信号1307はデコードイネーブル信号1410に対
応している。
【0256】キャッシュウェイ予測部1393は、キャ
ッシュ予測ウェイラッチ1330〜1333を持ち、キ
ャッシュウェイ判定信号1311をキャッシュ予測ウェ
イラッチ1330〜1333に書き込むことができる。
【0257】キャッシュウェイ予測部1393において
は、さらに、キャッシュ予測ウェイラッチからキャッシ
ュ予測ウェイラッチへのキャッシュ予測ウェイの値の転
送が可能であり、キャッシュ予測ウェイラッチ1330
〜1333のうちのあるキャッシュ予測ウェイラッチの
出力の値をキャッシュ予測ウェイ選択器1334を経由
してキャッシュ予測ウェイラッチ1330〜1333の
うちの任意のキャッシュ予測ウェイラッチに書き込むこ
とができる。
【0258】キャッシュ予測ウェイの前記転送は、アド
レスの前記転送が行なわれたときに行なわれる。
【0259】アドレスの前記転送が行なわれるときにア
ドレスラッチ書き込みイネーブル信号1307の値が1
になることにより、キャッシュ予測ウェイラッチ書き込
み選択信号選択器1360では、アドレスラッチ書き込
み選択信号1306の値がキャッシュ予測ウェイラッチ
書き込み選択信号1361に出力され、キャッシュ予測
ウェイラッチ書き込みデータ選択器1362ではキャッ
シュ予測ウェイ信号1312の値がキャッシュ予測ウェ
イラッチ書き込みデータ1363に出力され、そして、
キャッシュ予測ウェイラッチ書き込みイネーブル信号選
択器1364ではアドレスラッチ書き込みイネーブル信
号1307の値、すなわち値1がキャッシュ予測ウェイ
ラッチ書き込みイネーブル信号1365に出力される。
【0260】デコーダ1342では、キャッシュ予測ウ
ェイラッチ書き込み選択信号1361の値がデコードさ
れてラッチセット信号1343〜1346が出力され
る。
【0261】デコーダ1342の回路構成も、図12と
同じであり、図16に示す信号1361はデコード入力
信号1400に、図16に示す信号1343〜1346
はデコード出力信号1430〜1433に、図16に示
す信号1365はデコードイネーブル信号1410に対
応している。
【0262】ラッチセット信号1343〜1346は、
キャッシュ予測ウェイラッチ1330〜1333にキャ
ッシュ予測ウェイラッチ書き込みデータ1363の値を
セットするための信号で、それぞれラッチセット信号1
343〜1346の値が1のときにそれぞれキャッシュ
予測ウェイラッチ1330〜1333にキャッシュ予測
ウェイラッチ書き込みデータ1363の値がセットされ
る。
【0263】アドレスラッチ書き込みイネーブル信号1
307の値が0のときのキャッシュウェイ予測部139
3の動作は、前記図11に示すキャッシュウェイ予測部
1293の動作と同じである。
【0264】なお、前記実施例3および実施例4におい
て、アドレス変換バッファ(TLB)においてウェイを
予測するようにすることも可能であり、その際、キャッ
シュウェイ予測部(1293,1393)に示すように
TLBウェイ予測部の予測ウェイラッチを複数個設ける
ことも可能である。
【0265】また、前記実施例3および実施例4は、予
測値に基づいて予測されたウェイのデータ格納部、ある
いは、TLBのTLBデータ格納部の活性化を行わな
い、従来のキャッシュにも適用できることはいうまでも
ない。
【0266】以上、本発明を実施例に基づき具体的に説
明したが、本発明は、前記実施例に限定されるものでは
なく、その要旨を逸脱しない範囲で種々変更し得ること
は言うまでもない。
【0267】
【発明の効果】本願で開示される発明のうち、代表的な
ものによって得られる効果を簡単に説明すれば、下記の
通りである。
【0268】(1)セットアソシアティブ方式のメモリ
装置において、ウェイ予測部によってどのウェイがヒッ
トするかを予測し、予測されたウェイのデータ格納部、
あるいは、予測されたタグ格納部およびデータ格納部の
みを動作させるようにしたので、メモリ装置を動作させ
るための消費電力を低減させ、かつ、データ読み出しの
タイムラグを低減させることが可能となる。
【0269】(2)ウェイ予測部によってどのウェイが
ヒットするかを予測するようにしたセットアソシアティ
ブ方式のメモリ装置において、複数の連続した領域をア
クセスする場合に、ウェイ予測部の複数の予測ウェイラ
ッチに記憶されたウェイの番号値をウェイ判定信号の予
測値として用いるようにしたので、いくつかの連続した
領域を交互にアクセスする場合に、データ読み出しのタ
イムラグを低減させることが可能となる。
【0270】(3)アドレス変換バッファを具備するセ
ットアソシアティブ方式のメモリ装置において、アドレ
ス変換バッファのTLBウェイ予測部によってアドレス
変換バッファのどのウェイがヒットするかを予測し、予
測されたウェイのTLBデータ格納部、あるいは、予測
されたTLBタグ格納部およびTLBデータ格納部のみ
を動作させるようにするとともに、メモリ装置のウェイ
予測部によってメモリ装置のどのウェイがヒットするか
を予測し、予測されたウェイのデータ格納部、あるい
は、予測されたタグ格納部およびデータ格納部のみを動
作させるようにしたので、アドレス変換バッファを具備
するメモリ装置を動作させるための消費電力を低減さ
せ、かつ、データ読み出しのタイムラグを低減させるこ
とが可能となる。
【0271】(4)アドレス変換バッファのTLBウェ
イ予測部によってアドレス変換バッファのどのウェイが
ヒットするかを予測し、予測されたウェイのTLBデー
タ格納部、あるいは、予測されたTLBタグ格納部およ
びTLBデータ格納部のみを動作させるようにするとと
もに、メモリ装置のウェイ予測部によってメモリ装置の
どのウェイがヒットするかを予測し、予測された予測さ
れたウェイのデータ格納部、あるいは、予測されたタグ
格納部およびデータ格納部のみを動作させるようにし
た、アドレス変換バッファを具備するセットアソシアテ
ィブ方式のメモリ装置において、複数の連続した領域を
アクセスする場合に、アドレス変換バッファのTLBウ
ェイ予測部およびメモリ装置のウェイ予測部の複数の予
測ウェイラッチに記憶されたウェイの番号値を、アドレ
ス変換バッファのTLBウェイ判定信号およびメモリ装
置のウェイ判定信号の予測値として用いるようにしたの
で、いくつかの連続した領域を交互にアクセスする場合
に、メモリ装置を動作させるための消費電力を低減さ
せ、かつ、データ読み出しのタイムラグを低減させるこ
とが可能となる。
【0272】(5)セットアソシアティブ方式のメモリ
装置において、ウェイの番号値を記憶する複数の予測ウ
ェイラッチを有するウェイ予測部により、複数の連続し
た領域をアクセスする場合に、どのウェイがヒットする
かを予測するようにしたので、いくつかの連続した領域
を交互にアクセスする場合に、データ読み出しのタイム
ラグを低減させることが可能となる。
【0273】(6)アドレス変換バッファを具備するセ
ットアソシアティブ方式のメモリ装置において、複数の
連続した領域をアクセスする場合に、ウェイの番号値を
記憶する複数のTLB予測ウェイラッチを有するTLB
ウェイ予測部により、アドレス変換バッファのどのウェ
イがヒットするかを予測するとともに、ウェイの番号値
を記憶する複数の予測ウェイラッチを有するウェイ予測
部により、メモリ装置のどのウェイがヒットするかを予
測するようにしたので、データ読み出しのタイムラグを
低減させることが可能となる。
【0274】(7)発明によるメモリ装置を、プロセッ
サのキャッシュメモリに使用することにより、キャッシ
ュメモリの消費電力を低減させるとともに、キャッシュ
メモリの動作を高速に行なうことができ、これにより、
消費電力が少なくマシンサイクルの短いプロセッサを実
現することが可能になる。
【図面の簡単な説明】
【図1】本発明のメモリ装置の一実施例(実施例1)で
あるキャッシュの概略構成を示すブロック図であり、本
実施例1のキャッシュをプロセッサに適用した例を示す
図である。
【図2】図1に示す、キャッシュ、キャッシュウェイ予
測部、及び、キャッシュウェイ予測判定部のより詳細な
構成を拡大して示すブロック図である。
【第3図】図1に示す、アドレス変換バッファ(TL
B)のより詳細な構成を拡大して示すブロック図であ
る。
【図4】図1に示すプロセッサにおいて、キャッシュの
ウェイ予測がヒットしたときのタイムチャートを示す図
である。
【図5】図1に示すプロセッサにおいて、キャッシュの
ウェイ予測がミスしたときのタイムチャートを示す図で
ある。
【図6】図1に示すキャッシュウェイ予測判定部のより
詳細な構成を示すブロック図である。
【図7】図2に示すウェイデコーダの構成を示す図であ
る。
【図8】本発明のメモリ装置の他の実施例(実施例2)
であるアドレス変換バッファ(TLB)と、キャッシュ
の概略構成を示すブロック図であり、本実施例2のアド
レス変換バッファ(TLB)と、キャッシュをプロセッ
サに適用した例を示す図である。
【図9】図8に示すプロセッサにおいて、アドレス変換
バッファ(TLB)のウェイ予測がヒットしたときのタ
イムチャートを示す図である。
【図10】図8に示すプロセッサにおいて、アドレス変
換バッファ(TLB)のウェイ予測がミスしたときのヒ
ットしたときのタイムチャートを示す図である。
【図11】本発明のメモリ装置の他の実施例(実施例
3)であるキャッシュの概略構成を示すブロック図であ
り、本実施例3のキャッシュをプロセッサに適用した例
を示す図である。
【図12】図11に示すデコーダの回路構成を示す図で
ある。
【図13】図11に示すキャッシュのデータ格納部に格
納されたデータの一例を示す図である。
【図14】図11に示すプロセッサのタイムチャートを
示す図である。
【図15】図11に示す値回復機能付きラッチの回路構
成を示す図である。
【図16】本発明のメモリ装置の他の実施例(実施例
4)であるキャッシュの概略構成を示すブロック図であ
り、本実施例4のキャッシュをプロセッサに適用した例
を示す図である。
【図17】従来のセットアソシアティブ方式のメモリの
概略構成を示すブロック図である。
【符号の説明】
100,600,900,1200,1227,130
0…アドレス、101,601,901,1201…ペ
ージ内オフセット、102,602…論理ページ番号下
位ビット、103,603…論理ページ番号上位ビッ
ト、104,604,904,1204…論理ページ番
号、110,111,610,611,910,911
…TLBタグ格納部、112,113,612,613
…TLBタグ、114,614…TLBウェイ判定器、
105,116,117,126,127,136,1
37,146,152,646,1240,1340,
1810,1811…ラッチ、120,121,62
0,621,920,921…TLBデータ格納部、1
22,123,622,623,625,925,12
10…物理ページ番号、124,624…物理ページ番
号選択器、130,131,630,631,930,
931…キャッシュタグ格納部、132,133,63
2,633…キャッシュタグ、134,634…キャッ
シュウェイ判定器、140,141,640,641,
940,941,1700,1701…キャッシュデー
タ格納部、144,644…データ選択器、150,1
230,1231,1232,1233,1330,1
331,1332,1333…キャッシュ予測ウェイラ
ッチ、154…キャッシュウェイ予測判定器、160…
ウェイデコーダ、180,980…メモリ部、181,
981…ウェイ判定部、182,982,1282…プ
ロセッサ本体、190,990,1290,1390…
アドレス生成部、191,691,991,1291…
TLB、192,692,992,1292…キャッシ
ュ、193,993,1293,1393…キャッシュ
ウェイ予測部、194,994,1294…キャッシュ
ウェイ予測判定部、195,995,1295…データ
処理部、401,1001…命令の番号、700,70
1,1420〜1423…AND演算器、705…OR
演算器、707,1404,1405…NOT演算器、
790…キャッシュウェイ予測判定制御論理、996…
TLBウェイ予測部、997…TLBウェイ予測判定
部,1209,1228,1800…値回復機能付きラ
ッチ、1220,1221,1222,1223,13
20,1321,1322,1323…アドレスラッ
チ、1224,1324…アドレス選択器、1226,
1326…アドレス加算器、1234,1334…キャ
ッシュ予測ウェイ選択器、1242,1342,135
0,1490…デコーダ、1296,1396…アドレ
ス制御部、1360…書き込み選択信号選択器、136
2…書き込みデータ選択器、1364…書き込みイネー
ブル信号選択器、1710…キャッシュのライン、17
11…データ、1712…データのアドレス。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 西井 修 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 林 信幸 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】 タグを格納するタグ格納部と、データを
    格納するデータ格納部と、アクセスアドレスの一部とタ
    グ格納部に格納されているタグとを比較しどのウェイが
    ヒットしたかを示すウェイ判定信号を出力するウェイ判
    定器と、ウェイ選択信号に基づきその選択されたウェイ
    のデータ格納部のデータを選択するデータ選択器とを具
    備するセットアソシアティブ方式のメモリ装置におい
    て、 ウェイ判定信号の予測値を発生するウェイ予測部と、ウ
    ェイ予測部からの予測値に基づき予測されたウェイのデ
    ータ格納部だけを活性化する手段と、前記予測値をウェ
    イ選択信号としてデータ選択器に入力する手段と、ウェ
    イ判定器からのウェイ判定信号と前記予測値を比較し、
    不一致の場合にウェイ予測判定信号を出力するウェイ予
    測判定部と、ウェイ予測判定部からのウェイ予測判定信
    号に基づきウェイ予測部の予測値をヒットしたウェイを
    示すウェイ判定信号に変更する手段とを具備することを
    特徴とするセットアソシアティブ方式のメモリ装置。
  2. 【請求項2】 請求項1に記載されたセットアソシアテ
    ィブ方式のメモリ装置において、 ウェイ予測部からの予測値に基づき予測されたウェイの
    タグ格納部だけを活性化する手段を、さらに具備するこ
    とを特徴とするセットアソシアティブ方式のメモリ装
    置。
  3. 【請求項3】 請求項1または請求項2に記載されたセ
    ットアソシアティブ方式のメモリ装置において、 前記ウェイ予測部が、ウェイの番号値を記憶する予測ウ
    ェイラッチを有し、前記予測ウェイラッチに記憶された
    ウェイの番号値をウェイ判定信号の予測値として出力す
    ることを特徴とするセットアソシアティブ方式のメモリ
    装置。
  4. 【請求項4】 請求項3に記載されたセットアソシアテ
    ィブ方式のメモリ装置において、 予測ウェイラッチに、前回ヒットしたウェイの番号値を
    記憶させることを特徴とするセットアソシアティブ方式
    のメモリ装置。
  5. 【請求項5】 請求項1または請求項2に記載されたセ
    ットアソシアティブ方式のメモリ装置において、 前記ウェイ予測部が、ウェイの番号値を記憶する複数の
    予測ウェイラッチを有し、複数の連続した領域をアクセ
    スする場合に、対応する複数の予測ウェイラッチに記憶
    されたウェイの番号値をウェイ判定信号の予測値として
    出力することを特徴とするセットアソシアティブ方式の
    メモリ装置。
  6. 【請求項6】 請求項5に記載されたセットアソシアテ
    ィブ方式のメモリ装置において、 前記ウェイ予測部が、任意の予測ウェイラッチに記憶さ
    れたウェイの番号値を他の予測ウェイラッチに転送する
    手段を、さらに具備することを特徴とするセットアソシ
    アティブ方式のメモリ装置。
  7. 【請求項7】 請求項1ないし請求項6のいずれか1項
    に記載されたセットアソシアティブ方式のメモリ装置に
    おいて、 前記メモリ装置が、さらに、セットアソシアティブ方式
    のアドレス変換バッファを具備し、 前記メモリ装置のウェイ判定器が、アドレス変換バッフ
    ァからのTLBデータとタグ格納部に格納されているタ
    グとを比較しどのウェイがヒットしたかを示すウェイ判
    定信号を出力し、 前記アドレス変換バッファが、TLBタグを格納するT
    LBタグ格納部と、TLBデータを格納するTLBデー
    タ格納部と、アクセスアドレスの一部とTLBタグ格納
    部に格納されているTLBタグとを比較しどのウェイが
    ヒットしたかを示すTLBウェイ判定信号を出力するT
    LBウェイ判定器と、TLBウェイ判定信号の予測値を
    発生するTLBウェイ予測部と、前記TLBウェイ予測
    部からの予測値に基づき予測されたTLBウェイのTL
    Bデータ格納部だけを活性化する手段と、前記TLBウ
    ェイ予測部からの予測値がウェイ選択信号として入力さ
    れ、予測されたウェイのTLBデータ格納部のTLBデ
    ータを選択するTLBデータ選択器と、TLBウェイ判
    定器からのTLBウェイ判定信号と前記予測値を比較
    し、不一致の場合にTLBウェイ予測判定信号を出力す
    るTLBウェイ予測判定部と、TLBウェイ予測判定部
    からのTLBウェイ予測判定信号に基づきTLBウェイ
    予測部の予測値をヒットしたウェイを示すTLBウェイ
    判定信号に変更する手段とを具備することを特徴とする
    セットアソシアティブ方式のメモリ装置。
  8. 【請求項8】 請求項7に記載されたセットアソシアテ
    ィブ方式のメモリ装置において、 TLBウェイ予測部からの予測値に基づき予測されたウ
    ェイのTLBタグ格納部だけを活性化する手段を、さら
    に具備することを特徴とするセットアソシアティブ方式
    のメモリ装置。
  9. 【請求項9】 請求項7または請求項8に記載されたセ
    ットアソシアティブ方式のメモリ装置において、 前記TLBウェイ予測部が、ウェイの番号値を記憶する
    TLB予測ウェイラッチを有し、前記TLB予測ウェイ
    ラッチに記憶されたTLBウェイの番号値をTLBウェ
    イ判定信号の予測値として出力することを特徴とするセ
    ットアソシアティブ方式のメモリ装置。
  10. 【請求項10】 請求項9に記載されたセットアソシア
    ティブ方式のメモリ装置において、 TLB予測ウェイラッチに、前回ヒットしたウェイの番
    号値を記憶させることを特徴とするセットアソシアティ
    ブ方式のメモリ装置。
  11. 【請求項11】 請求項9または請求項10に記載され
    たセットアソシアティブ方式のメモリ装置において、 前記TLBウェイ予測部が、ウェイの番号値を記憶する
    複数のTLB予測ウェイラッチを有し、複数の連続した
    領域をアクセスする場合に、対応する複数のTLB予測
    ウェイラッチに記憶されたTLBウェイの番号値をTL
    Bウェイ判定信号の予測値として出力することを特徴と
    するセットアソシアティブ方式のメモリ装置。
  12. 【請求項12】 請求項11に記載されたセットアソシ
    アティブ方式のメモリ装置において、 前記TLBウェイ予測部が、任意のTLB予測ウェイラ
    ッチに記憶された番号値を他のTLB予測ウェイラッチ
    に転送する手段を、さらに具備することを特徴とするセ
    ットアソシアティブ方式のメモリ装置。
  13. 【請求項13】 タグを格納するタグ格納部と、データ
    を格納するデータ格納部と、アクセスアドレスの一部と
    タグ格納部に格納されているタグとを比較しどのウェイ
    がヒットしたかを示すウェイ判定信号を出力するウェイ
    判定器と、ウェイ選択信号に基づきその選択されたウェ
    イのデータ格納部のデータを選択するデータ選択器とを
    具備するセットアソシアティブ方式のメモリ装置におい
    て、 ウェイの番号値を記憶する複数の予測ウェイラッチを有
    し、複数の連続した領域をアクセスする場合に、対応す
    る複数の予測ウェイラッチに記憶されたウェイの番号値
    をウェイ判定信号の予測値として出力するウェイ予測部
    と、前記予測値をウェイ選択信号としてデータ選択器に
    入力する手段と、ウェイ判定器からのウェイ判定信号と
    前記予測値を比較し、不一致の場合にウェイ予測判定信
    号を出力するウェイ予測判定部と、ウェイ予測判定部か
    らのウェイ予測判定信号に基づきウェイ予測部の予測値
    をヒットしたウェイを示すウェイ判定信号に変更する手
    段とを具備することを特徴とするセットアソシアティブ
    方式のメモリ装置。
  14. 【請求項14】 請求項13に記載されたセットアソシ
    アティブ方式のメモリ装置において、 前記ウェイ予測部が、任意の予測ウェイラッチに記憶さ
    れたウェイの番号値を他の予測ウェイラッチに転送する
    手段を、さらに具備することを特徴とするセットアソシ
    アティブ方式のメモリ装置。
  15. 【請求項15】 請求項13または請求項14に記載さ
    れたセットアソシアティブ方式のメモリ装置において、 前記メモリ装置が、さらに、セットアソシアティブ方式
    のアドレス変換バッファを具備し、 前記メモリ装置のウェイ判定器が、アドレス変換バッフ
    ァからのTLBデータとタグ格納部に格納されているタ
    グとを比較しどのウェイがヒットしたかを示すウェイ判
    定信号を出力し、 前記アドレス変換バッファが、TLBタグを格納するT
    LBタグ格納部と、TLBデータを格納するTLBデー
    タ格納部と、アクセスアドレスの一部とTLBタグ格納
    部に格納されているTLBタグとを比較しどのウェイが
    ヒットしたかを示すTLBウェイ判定信号を出力するT
    LBウェイ判定器と、ウェイの番号値を記憶する複数の
    TLB予測ウェイラッチを有し、複数の連続した領域を
    アクセスする場合に、対応する複数のTLB予測ウェイ
    ラッチに記憶されたTLBウェイの番号値をTLBウェ
    イ判定信号の予測値として出力するTLBウェイ予測部
    と、TLBウェイ予測部からの予測値が選択信号として
    入力され、予測されたウェイのTLBデータ格納部のT
    LBデータを選択するTLBデータ選択器と、TLBウ
    ェイ判定器からのTLBウェイ判定信号と前記予測値を
    比較し、不一致の場合にTLBウェイ予測判定信号を出
    力するTLBウェイ予測判定部と、TLBウェイ予測判
    定部からのTLBウェイ予測判定信号に基づきTLBウ
    ェイ予測部の予測値をヒットしたウェイを示すTLBウ
    ェイ判定信号に変更する手段とを具備することを特徴と
    するセットアソシアティブ方式のメモリ装置。
  16. 【請求項16】 請求項15に記載されたセットアソシ
    アティブ方式のメモリ装置において、 前記TLBウェイ予測部が、任意のTLB予測ウェイラ
    ッチに記憶された番号値を他のTLB予測ウェイラッチ
    に転送する手段を、さらに具備することを特徴とするセ
    ットアソシアティブ方式のメモリ装置。
JP12538094A 1994-06-07 1994-06-07 セットアソシアティブ方式のメモリ装置およびプロセッサ Expired - Fee Related JP3589485B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12538094A JP3589485B2 (ja) 1994-06-07 1994-06-07 セットアソシアティブ方式のメモリ装置およびプロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12538094A JP3589485B2 (ja) 1994-06-07 1994-06-07 セットアソシアティブ方式のメモリ装置およびプロセッサ

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2004110649A Division JP3593123B2 (ja) 2004-04-05 2004-04-05 セットアソシアティブ方式のメモリ装置

Publications (2)

Publication Number Publication Date
JPH07334423A true JPH07334423A (ja) 1995-12-22
JP3589485B2 JP3589485B2 (ja) 2004-11-17

Family

ID=14908709

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12538094A Expired - Fee Related JP3589485B2 (ja) 1994-06-07 1994-06-07 セットアソシアティブ方式のメモリ装置およびプロセッサ

Country Status (1)

Country Link
JP (1) JP3589485B2 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001050272A1 (en) * 2000-01-03 2001-07-12 Advanced Micro Devices, Inc. Cache which provides partial tags from non-predicted ways to direct search if way prediction misses
US6718439B1 (en) * 2001-06-01 2004-04-06 Advanced Micro Devices, Inc. Cache memory and method of operation
US6760810B2 (en) 2000-12-22 2004-07-06 Fujitsu Limited Data processor having instruction cache with low power consumption
WO2004104841A1 (ja) * 2003-05-21 2004-12-02 Fujitsu Limited アドレス変換バッファの電力制御方法及びその装置
US6898671B2 (en) 2001-04-27 2005-05-24 Renesas Technology Corporation Data processor for reducing set-associative cache energy via selective way prediction
WO2006038258A1 (ja) * 2004-09-30 2006-04-13 Renesas Technology Corp. データプロセッサ
JP2009505306A (ja) * 2005-08-22 2009-02-05 インテル・コーポレーション 電力削減のための動的メモリサイジング
WO2011151944A1 (ja) * 2010-06-04 2011-12-08 パナソニック株式会社 キャッシュメモリ装置、プログラム変換装置、キャッシュメモリ制御方法及びプログラム変換方法
US8822033B2 (en) 2009-03-31 2014-09-02 Schott Ag Transparent glass or glass ceramic pane with a layer that reflects infrared radiation
JP2016505971A (ja) * 2012-12-20 2016-02-25 クアルコム,インコーポレイテッド マルチビットウェイ予測マスクを有する命令キャッシュ

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003519835A (ja) * 2000-01-03 2003-06-24 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド ウェイ予測がミスした時にサーチを方向付けるための、予測されないウェイからの部分的なタグを提供するキャッシュ
WO2001050272A1 (en) * 2000-01-03 2001-07-12 Advanced Micro Devices, Inc. Cache which provides partial tags from non-predicted ways to direct search if way prediction misses
KR100747127B1 (ko) * 2000-01-03 2007-08-09 어드밴스드 마이크로 디바이시즈, 인코포레이티드 경로 예측 실패시 조회를 지시하도록 비예측 경로들로부터부분적인 태그들을 제공하는 캐쉬
US6760810B2 (en) 2000-12-22 2004-07-06 Fujitsu Limited Data processor having instruction cache with low power consumption
US6898671B2 (en) 2001-04-27 2005-05-24 Renesas Technology Corporation Data processor for reducing set-associative cache energy via selective way prediction
US6718439B1 (en) * 2001-06-01 2004-04-06 Advanced Micro Devices, Inc. Cache memory and method of operation
US7418553B2 (en) 2003-05-21 2008-08-26 Fujitsu Limited Method and apparatus of controlling electric power for translation lookaside buffer
WO2004104841A1 (ja) * 2003-05-21 2004-12-02 Fujitsu Limited アドレス変換バッファの電力制御方法及びその装置
WO2006038258A1 (ja) * 2004-09-30 2006-04-13 Renesas Technology Corp. データプロセッサ
JP2009505306A (ja) * 2005-08-22 2009-02-05 インテル・コーポレーション 電力削減のための動的メモリサイジング
US8822033B2 (en) 2009-03-31 2014-09-02 Schott Ag Transparent glass or glass ceramic pane with a layer that reflects infrared radiation
WO2011151944A1 (ja) * 2010-06-04 2011-12-08 パナソニック株式会社 キャッシュメモリ装置、プログラム変換装置、キャッシュメモリ制御方法及びプログラム変換方法
JP2016505971A (ja) * 2012-12-20 2016-02-25 クアルコム,インコーポレイテッド マルチビットウェイ予測マスクを有する命令キャッシュ

Also Published As

Publication number Publication date
JP3589485B2 (ja) 2004-11-17

Similar Documents

Publication Publication Date Title
US7594131B2 (en) Processing apparatus
US6356990B1 (en) Set-associative cache memory having a built-in set prediction array
JP3593346B2 (ja) マルチポートメモリ及びそれをアクセスするデータ処理装置
JP2004157593A (ja) 多ポート統合キャッシュ
US6963962B2 (en) Memory system for supporting multiple parallel accesses at very high frequencies
JPH10105459A (ja) 複数ポート・インターリーブ・キャッシュ
JPH0559455B2 (ja)
JPH07253927A (ja) 物理的にアドレス指定されたデータ記憶構造からの迅速なデータリトリーブ方法及び装置
US6898671B2 (en) Data processor for reducing set-associative cache energy via selective way prediction
JPH07334423A (ja) セットアソシアティブ方式のメモリ装置
US5452427A (en) Data processing device for variable word length instruction system having short instruction execution time and small occupancy area
JP2014085890A (ja) メモリ装置、演算処理装置、及びキャッシュメモリ制御方法
US7346737B2 (en) Cache system having branch target address cache
US5854943A (en) Speed efficient cache output selector circuitry based on tag compare and data organization
JP7070384B2 (ja) 演算処理装置、メモリ装置、及び演算処理装置の制御方法
JP3593123B2 (ja) セットアソシアティブ方式のメモリ装置
JP3997404B2 (ja) キャッシュメモリ及びその制御方法
JPH10111832A (ja) メモリシステム
JP4068828B2 (ja) 統合型分離型切替えキャッシュメモリ及び該キャッシュメモリを備えたプロセッサシステム
JPH06309227A (ja) キャッシュメモリ装置
US20210200538A1 (en) Dual write micro-op queue
JPH05120139A (ja) キヤツシユメモリ装置
JP2818562B2 (ja) アドレス変換回路
JPH06348592A (ja) ライトバッファ制御方式
JPS61264455A (ja) 主記憶一致制御方式

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040203

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040405

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040525

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040722

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040817

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080827

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20080827

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090827

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090827

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100827

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110827

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110827

Year of fee payment: 7

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20110827

Year of fee payment: 7

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20120827

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees