JPH07287668A - データ処理装置 - Google Patents
データ処理装置Info
- Publication number
- JPH07287668A JPH07287668A JP6104723A JP10472394A JPH07287668A JP H07287668 A JPH07287668 A JP H07287668A JP 6104723 A JP6104723 A JP 6104723A JP 10472394 A JP10472394 A JP 10472394A JP H07287668 A JPH07287668 A JP H07287668A
- Authority
- JP
- Japan
- Prior art keywords
- logical
- address
- cache
- information
- physical
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1045—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
- G06F12/1063—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently virtually addressed
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/652—Page size control
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)【要約】
【目的】 論理キャッシュにおけるシノニム対策に要す
るTLBアクセス回数を減らす。 【構成】 キャッシュタグアドレスとしての論理ページ
情報VA(a)に対応する物理ページ情報PA(a)を論理
キャッシュメモリ10に保持し、共有領域をアクセスす
る場合にキャッシュミスのとき、該キャッシュメモリが
保持する物理ページ情報PA(a)と、検索アドレスをT
LBで変換した物理ページ情報PA(b)とを比較し、一
致の場合にはキャッシュヒットとしてそのキャッシュエ
ントリを処理するから、異なる論理アドレスに同じ物理
アドレスが割当てられた場合のシノニムの問題をTLB
へのアクセス回数を従来に比べて半減させて解決する。
るTLBアクセス回数を減らす。 【構成】 キャッシュタグアドレスとしての論理ページ
情報VA(a)に対応する物理ページ情報PA(a)を論理
キャッシュメモリ10に保持し、共有領域をアクセスす
る場合にキャッシュミスのとき、該キャッシュメモリが
保持する物理ページ情報PA(a)と、検索アドレスをT
LBで変換した物理ページ情報PA(b)とを比較し、一
致の場合にはキャッシュヒットとしてそのキャッシュエ
ントリを処理するから、異なる論理アドレスに同じ物理
アドレスが割当てられた場合のシノニムの問題をTLB
へのアクセス回数を従来に比べて半減させて解決する。
Description
【0001】
【産業上の利用分野】本発明は、論理キャッシュメモリ
とアドレス変換機構を内蔵するデータ処理装置におい
て、その消費電力を抑制する技術に関し、例えばマイク
ロコンピュータに適用して有効な技術に関する。
とアドレス変換機構を内蔵するデータ処理装置におい
て、その消費電力を抑制する技術に関し、例えばマイク
ロコンピュータに適用して有効な技術に関する。
【0002】
【従来の技術】データ処理装置の処理性能を向上させる
ために、キャッシュメモリを内蔵する手法が従来から適
用されている。また、ユーザが実メモリを意識せずに、
オペレーティングシステム(以下OSとも記す)がメモ
リ管理を行う分野では、データ処理装置が、アドレス変
換機構をサポートする必要がある。アドレス変換機構と
は仮想記憶を実現するために論理アドレスを物理アドレ
スに変換する機構である。
ために、キャッシュメモリを内蔵する手法が従来から適
用されている。また、ユーザが実メモリを意識せずに、
オペレーティングシステム(以下OSとも記す)がメモ
リ管理を行う分野では、データ処理装置が、アドレス変
換機構をサポートする必要がある。アドレス変換機構と
は仮想記憶を実現するために論理アドレスを物理アドレ
スに変換する機構である。
【0003】さらに、アドレス変換機構を高速に実行す
るために、論理アドレスと物理アドレスの変換対を保持
するアドレス変換バッファ(Translation lookaside bu
ffer、以下単にTLBとも記す)を、データ処理装置に
内蔵する技術も従来から採用されている。これらのキャ
ッシュメモリやTLBはデータ処理性能の向上やOSの
サポートに必要であるが、消費電力増大を抑えるという
点に関しては、キャッシュメモリ動作に並行してTLB
を極力動作させないことが重要である。したがって、物
理アドレス情報とデータとの対をキャッシュエントリと
して持つ物理キャッシュメモリは、検索アドレスを物理
アドレスとしなければならないため、常にTLBのアク
セスが必要になって消費電力が大きくなる。これに対し
て、論理アドレス情報とデータとの対をキャッシュエン
トリとして持つ論理キャッシュメモリは、検索アドレス
は論理アドレスとされるので、キャッシュミス時にだけ
TLBをアクセスすればよいので、物理キャッシュメモ
リに比べて低消費電力化には有利である。しかしなが
ら、論理キャッシュメモリにはシノニムの問題がある。
るために、論理アドレスと物理アドレスの変換対を保持
するアドレス変換バッファ(Translation lookaside bu
ffer、以下単にTLBとも記す)を、データ処理装置に
内蔵する技術も従来から採用されている。これらのキャ
ッシュメモリやTLBはデータ処理性能の向上やOSの
サポートに必要であるが、消費電力増大を抑えるという
点に関しては、キャッシュメモリ動作に並行してTLB
を極力動作させないことが重要である。したがって、物
理アドレス情報とデータとの対をキャッシュエントリと
して持つ物理キャッシュメモリは、検索アドレスを物理
アドレスとしなければならないため、常にTLBのアク
セスが必要になって消費電力が大きくなる。これに対し
て、論理アドレス情報とデータとの対をキャッシュエン
トリとして持つ論理キャッシュメモリは、検索アドレス
は論理アドレスとされるので、キャッシュミス時にだけ
TLBをアクセスすればよいので、物理キャッシュメモ
リに比べて低消費電力化には有利である。しかしなが
ら、論理キャッシュメモリにはシノニムの問題がある。
【0004】ここで、シノニムを説明する。先ず、マル
チタスクOSにおいては、各々のタスクがその走行環境
であるプロセスを有する。プロセスにはデータ処理装置
の状態や、アドレス空間、論理アドレスから物理アドレ
スに変換するための変換テーブルが含まれる。例えば、
図3のように、論理アドレスAがプロセス1では物理ア
ドレスCに、プロセス2では物理アドレスDに変換され
得る。すなわち、そのような多重論理空間においてプロ
セスの切換えが行われるときはTLBの内容が変更され
なければならない。しかしながら、プロセスの切換えの
度にTLBの内容を無効にしてエントリの入れ換えを行
っていたのではそのための処理時間と電力消費の増大が
無視し得ない程大きくなる。
チタスクOSにおいては、各々のタスクがその走行環境
であるプロセスを有する。プロセスにはデータ処理装置
の状態や、アドレス空間、論理アドレスから物理アドレ
スに変換するための変換テーブルが含まれる。例えば、
図3のように、論理アドレスAがプロセス1では物理ア
ドレスCに、プロセス2では物理アドレスDに変換され
得る。すなわち、そのような多重論理空間においてプロ
セスの切換えが行われるときはTLBの内容が変更され
なければならない。しかしながら、プロセスの切換えの
度にTLBの内容を無効にしてエントリの入れ換えを行
っていたのではそのための処理時間と電力消費の増大が
無視し得ない程大きくなる。
【0005】このため、空間番号(Address space iden
tifier,ASID)の概念を導入し、図4の(A)に示
すように、論理アドレスを空間番号で拡張して,プロセ
ス1の論理アドレスと,プロセス2の論理アドレスを区
別することがなされる。これによってプロセスに切換え
毎にTLBを無効化しなくても済む。
tifier,ASID)の概念を導入し、図4の(A)に示
すように、論理アドレスを空間番号で拡張して,プロセ
ス1の論理アドレスと,プロセス2の論理アドレスを区
別することがなされる。これによってプロセスに切換え
毎にTLBを無効化しなくても済む。
【0006】このように論理アドレスを空間番号で拡張
したとき、図5に示されるようにプロセス1とプロセス
2が物理空間を共有する場合が生ずる。すなわち、図3
に従えば、プロセス1の論理アドレスAとプロセス2の
論理アドレスBとが共通の物理アドレスCに変換される
ことが起こる。このように異なる論理アドレスに同じ物
理アドレスが割り当てられるケースをシノニムという。
したとき、図5に示されるようにプロセス1とプロセス
2が物理空間を共有する場合が生ずる。すなわち、図3
に従えば、プロセス1の論理アドレスAとプロセス2の
論理アドレスBとが共通の物理アドレスCに変換される
ことが起こる。このように異なる論理アドレスに同じ物
理アドレスが割り当てられるケースをシノニムという。
【0007】かかるシノニムによって生ずる論理キャッ
シュメモリの問題点を図6に基づいて説明する。論理ア
ドレスAとBは異なるため、論理キャッシュメモリ中に
は図6の(A)に示されるようにデータが同一とされる
2個のエントリが同時に存在し得る。今その状態で論理
アドレスBへライトが発生し、図6の(B)に示される
ように論理アドレスBのデータCがDに変更されたとす
る。このとき、ライトスルー方式を考えると、アドレス
Bに対応する主記憶上のデータはDに書換えられるが、
それに対応するキャッシュメモリ上の論理アドレスAの
データはCのままとされ、キャッシュメモリと主記憶の
データが相互に不整合となってしまう。さらに、この状
態で論理アドレスAへのリードが発生すると、キャッシ
ュヒットとなり、データCが使用されることになる。こ
れがシノニムの問題である。
シュメモリの問題点を図6に基づいて説明する。論理ア
ドレスAとBは異なるため、論理キャッシュメモリ中に
は図6の(A)に示されるようにデータが同一とされる
2個のエントリが同時に存在し得る。今その状態で論理
アドレスBへライトが発生し、図6の(B)に示される
ように論理アドレスBのデータCがDに変更されたとす
る。このとき、ライトスルー方式を考えると、アドレス
Bに対応する主記憶上のデータはDに書換えられるが、
それに対応するキャッシュメモリ上の論理アドレスAの
データはCのままとされ、キャッシュメモリと主記憶の
データが相互に不整合となってしまう。さらに、この状
態で論理アドレスAへのリードが発生すると、キャッシ
ュヒットとなり、データCが使用されることになる。こ
れがシノニムの問題である。
【0008】上記シノニムの問題を解決するには共有フ
ラグの概念を導入することができる。例えば、共有フラ
グとは、所定の物理空間若しくはそのデータが複数の異
なるプロセス若しくは論理空間で共有されているか否か
を示すためのフラグである。図4の(B)に示されるよ
うに論理キャッシュメモリのキャッシュエントリにその
様な共有フラグSHを付加する。論理キャッシュメモリ
のエントリに含まれるデータが共有データである場合に
は共有フラグSHが”1”にされ、そうでない場合に
は”0”にされる。
ラグの概念を導入することができる。例えば、共有フラ
グとは、所定の物理空間若しくはそのデータが複数の異
なるプロセス若しくは論理空間で共有されているか否か
を示すためのフラグである。図4の(B)に示されるよ
うに論理キャッシュメモリのキャッシュエントリにその
様な共有フラグSHを付加する。論理キャッシュメモリ
のエントリに含まれるデータが共有データである場合に
は共有フラグSHが”1”にされ、そうでない場合に
は”0”にされる。
【0009】そのような共有フラグの概念を採用したと
き、セットアソシアティブ形式の論理キャッシュメモリ
が図2の状態であるとする。この状態で論理アドレスb
(VA(b)はその論理ページ番号のような論理ページ
情報である)によるアクセスがあったとき、それによっ
て選択されるエントリがキャッシュミス換言すればそれ
によって選択されたエントリのタグVA(a)が論理ア
ドレスbの論理ページ情報VA(b)ではなく、且つ、
そのエントリの共有フラグSHが1の場合には、新たな
エントリの追加を行わずに以下の手順に従うようにす
る。即ち、キャッシュメモリの検索ドレスである論理ア
ドレスbをTLBによってアドレス変換してその物理ア
ドレス情報PA(b)を得る。更に、そのとき選択され
たタグの論理ページ情報VA(a)を用いて同様にTL
Bでアドレス変換して物理アドレス情報PA(a)を得
る。そして、双方の物理アドレス情報の比較結果が一致
即ちPA(a)=PA(b)である場合には、論理アド
レスbは論理アドレスaデータを共有していることにな
るから、上記キャッシュエントリに対してはキャッシュ
ヒットとして処理を行う。これによって、論理キャッシ
ュメモリ中に同一物理アドレスのデータが複数存在する
事態が防止され、上記シノニムの問題が解決される。
き、セットアソシアティブ形式の論理キャッシュメモリ
が図2の状態であるとする。この状態で論理アドレスb
(VA(b)はその論理ページ番号のような論理ページ
情報である)によるアクセスがあったとき、それによっ
て選択されるエントリがキャッシュミス換言すればそれ
によって選択されたエントリのタグVA(a)が論理ア
ドレスbの論理ページ情報VA(b)ではなく、且つ、
そのエントリの共有フラグSHが1の場合には、新たな
エントリの追加を行わずに以下の手順に従うようにす
る。即ち、キャッシュメモリの検索ドレスである論理ア
ドレスbをTLBによってアドレス変換してその物理ア
ドレス情報PA(b)を得る。更に、そのとき選択され
たタグの論理ページ情報VA(a)を用いて同様にTL
Bでアドレス変換して物理アドレス情報PA(a)を得
る。そして、双方の物理アドレス情報の比較結果が一致
即ちPA(a)=PA(b)である場合には、論理アド
レスbは論理アドレスaデータを共有していることにな
るから、上記キャッシュエントリに対してはキャッシュ
ヒットとして処理を行う。これによって、論理キャッシ
ュメモリ中に同一物理アドレスのデータが複数存在する
事態が防止され、上記シノニムの問題が解決される。
【0010】このように、シノニムの問題を解決するた
めに、キャッシュメモリをリードして共有データと判明
した場合に、検索アドレスと、キャッシュのタグ部の2
つの論理アドレスをアドレス変換し、両者の比較を行っ
てそれが一致する場合にはキャッシュヒットとして取り
扱う技術は、特開平1-30244号公報に記載があ
る。
めに、キャッシュメモリをリードして共有データと判明
した場合に、検索アドレスと、キャッシュのタグ部の2
つの論理アドレスをアドレス変換し、両者の比較を行っ
てそれが一致する場合にはキャッシュヒットとして取り
扱う技術は、特開平1-30244号公報に記載があ
る。
【0011】
【発明が解決しようとする課題】しかしながら、上述
の、論理キャッシュメモリを使用する場合のシノニム対
策では、TLBを2回アクセスしなければならず、その
分電力消費量が増大するという問題点のあることが本発
明者によって見い出された。さらに、TLBのアクセス
に伴う電力消費という点に関し、キャッシュ・ライト・
ヒット時にもその論理アドレスを物理アドレスに変換す
るためのTLBアクセスが必要になって、電力消費量を
増大させることが本発明者によって明らかにされた。
の、論理キャッシュメモリを使用する場合のシノニム対
策では、TLBを2回アクセスしなければならず、その
分電力消費量が増大するという問題点のあることが本発
明者によって見い出された。さらに、TLBのアクセス
に伴う電力消費という点に関し、キャッシュ・ライト・
ヒット時にもその論理アドレスを物理アドレスに変換す
るためのTLBアクセスが必要になって、電力消費量を
増大させることが本発明者によって明らかにされた。
【0012】本発明の目的は、シノニム対策に要するT
LBアクセスの回数を減らすことができるデータ処理装
置を提供することにある。本発明の別の目的は、キャッ
シュ・ライト・ヒット時のTLBアクセスを省略するこ
とができるデータ処理装置を提供することにある。本発
明の更に別の目的は、TLBに対するアクセスの点にお
いて低消費電力化を図ることができるデータ処理装置を
提供することにある。
LBアクセスの回数を減らすことができるデータ処理装
置を提供することにある。本発明の別の目的は、キャッ
シュ・ライト・ヒット時のTLBアクセスを省略するこ
とができるデータ処理装置を提供することにある。本発
明の更に別の目的は、TLBに対するアクセスの点にお
いて低消費電力化を図ることができるデータ処理装置を
提供することにある。
【0013】本発明の前記並びにその他の目的と新規な
特徴は本明細書の記述及び添付図面から明らかになるで
あろう。
特徴は本明細書の記述及び添付図面から明らかになるで
あろう。
【0014】
【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を簡単に説明すれば下記
の通りである。
発明のうち代表的なものの概要を簡単に説明すれば下記
の通りである。
【0015】(1)論理アドレスの情報を検索情報とす
る論理キャッシュメモリ(10)と、論理アドレスを物
理アドレスに変換するための変換対を有するアドレス変
換バッファ(11)と、上記論理キャッシュメモリとア
ドレス変換バッファとを制御する制御手段(12)とを
備えるデータ処理装置を主体とし、上記論理キャッシュ
メモリは、キャッシュエントリに論理アドレスの情報に
対応される物理アドレスの情報を保持する領域(図9に
示されるようなキャッシュエントリのデータ部における
物理ページ情報PA)を有する。このとき、上記制御手
段は、論理キャッシュメモリから上記検索情報(例えば
論理アドレスのオフセット情報の一部)によって選ばれ
たキャッシュエントリが所要の論理アドレスに対応する
ものでないとき、当該所要の論理アドレスがその他の論
理アドレスと物理アドレス空間を共有している場合に
は、当該選ばれたキャッシュエントリが保有する物理ア
ドレスの情報(例えば物理ページ情報PA)を、アドレ
ス変換バッファから得られる物理アドレスの情報(例え
ば物理ページ情報)と比較し、一致している場合には上
記選ばれたキャッシュエントリの情報を利用させるもの
とされる。 (2)上記キャッシュエントリに含まれる物理ページ情
報のような物理アドレスの情報を利用する別の観点に立
つ制御手段は、論理キャッシュメモリから上記検索情報
によって選ばれたキャッシュエントリが所要の論理アド
レスに対応するものであるとき、物理アドレス空間への
書込みのための物理アドレスの生成に、当該選ばれたキ
ャッシュエントリが保有する物理アドレスを利用させる
ものとされる。 (3)上記双方の制御手段は、論理キャッシュメモリか
ら上記検索情報によって選ばれたキャッシュエントリが
所要の論理アドレスに対応するものでなく、且つ、当該
所要の論理アドレスがその他の論理アドレスと物理アド
レス空間を共有していることを検出するキャッシュアド
レス比較手段(202)と、このキャッシュアドレス比
較手段による上記検出により、上記選ばれたキャッシュ
エントリが保有する物理アドレスの情報を、アドレス変
換バッファから得られる物理アドレスの情報と比較して
その一致を検出する物理アドレス比較手段(204)
と、この物理アドレス比較手段による比較結果が一致の
とき、上記選ばれたキャッシュエントリの情報を利用す
るデータコントローラ(301)と、書込み処理におい
て上記論理キャッシュメモリから上記検索情報によって
選ばれたキャッシュエントリが所要の論理アドレスに対
応するものであるとき、物理アドレス空間への書込みの
ための物理アドレスの生成に、当該選ばれたキャッシュ
エントリが保有する物理アドレスを利用するアドレスコ
ントローラ(300)とから構成できる。 (4)アドレス変換機構が可変ページサイズをサポート
する場合を考慮すると、論理ページのサイズが変更され
たとき上記アドレス変換バッファに代えて利用される別
のアドレス変換バッファとして、フルアソシアティブ形
式のアドレス変換バッファを用いることができる。
る論理キャッシュメモリ(10)と、論理アドレスを物
理アドレスに変換するための変換対を有するアドレス変
換バッファ(11)と、上記論理キャッシュメモリとア
ドレス変換バッファとを制御する制御手段(12)とを
備えるデータ処理装置を主体とし、上記論理キャッシュ
メモリは、キャッシュエントリに論理アドレスの情報に
対応される物理アドレスの情報を保持する領域(図9に
示されるようなキャッシュエントリのデータ部における
物理ページ情報PA)を有する。このとき、上記制御手
段は、論理キャッシュメモリから上記検索情報(例えば
論理アドレスのオフセット情報の一部)によって選ばれ
たキャッシュエントリが所要の論理アドレスに対応する
ものでないとき、当該所要の論理アドレスがその他の論
理アドレスと物理アドレス空間を共有している場合に
は、当該選ばれたキャッシュエントリが保有する物理ア
ドレスの情報(例えば物理ページ情報PA)を、アドレ
ス変換バッファから得られる物理アドレスの情報(例え
ば物理ページ情報)と比較し、一致している場合には上
記選ばれたキャッシュエントリの情報を利用させるもの
とされる。 (2)上記キャッシュエントリに含まれる物理ページ情
報のような物理アドレスの情報を利用する別の観点に立
つ制御手段は、論理キャッシュメモリから上記検索情報
によって選ばれたキャッシュエントリが所要の論理アド
レスに対応するものであるとき、物理アドレス空間への
書込みのための物理アドレスの生成に、当該選ばれたキ
ャッシュエントリが保有する物理アドレスを利用させる
ものとされる。 (3)上記双方の制御手段は、論理キャッシュメモリか
ら上記検索情報によって選ばれたキャッシュエントリが
所要の論理アドレスに対応するものでなく、且つ、当該
所要の論理アドレスがその他の論理アドレスと物理アド
レス空間を共有していることを検出するキャッシュアド
レス比較手段(202)と、このキャッシュアドレス比
較手段による上記検出により、上記選ばれたキャッシュ
エントリが保有する物理アドレスの情報を、アドレス変
換バッファから得られる物理アドレスの情報と比較して
その一致を検出する物理アドレス比較手段(204)
と、この物理アドレス比較手段による比較結果が一致の
とき、上記選ばれたキャッシュエントリの情報を利用す
るデータコントローラ(301)と、書込み処理におい
て上記論理キャッシュメモリから上記検索情報によって
選ばれたキャッシュエントリが所要の論理アドレスに対
応するものであるとき、物理アドレス空間への書込みの
ための物理アドレスの生成に、当該選ばれたキャッシュ
エントリが保有する物理アドレスを利用するアドレスコ
ントローラ(300)とから構成できる。 (4)アドレス変換機構が可変ページサイズをサポート
する場合を考慮すると、論理ページのサイズが変更され
たとき上記アドレス変換バッファに代えて利用される別
のアドレス変換バッファとして、フルアソシアティブ形
式のアドレス変換バッファを用いることができる。
【0016】
【作用】キャッシュタグアドレスとしての論理ページ情
報VAに対応する物理ページ情報PAのような情報をを
論理キャッシュメモリに保持し、共有領域をアクセスす
る場合にキャッシュミスのとき、論理キャッシュメモリ
に保持されている物理ページ情報PAのような情報と、
検索アドレスをアドレス変換バッファで変換した物理ペ
ージ情報PAとを比較して、一致の場合にはキャッシュ
ヒットとしてそのキャッシュエントリを処理すること
は、異なる論理アドレスに同じ物理アドレスが割当てら
れた場合のシノニムの問題を、アドレス変換バッファへ
のアクセス回数を従来に比べて半減させて解決する。
報VAに対応する物理ページ情報PAのような情報をを
論理キャッシュメモリに保持し、共有領域をアクセスす
る場合にキャッシュミスのとき、論理キャッシュメモリ
に保持されている物理ページ情報PAのような情報と、
検索アドレスをアドレス変換バッファで変換した物理ペ
ージ情報PAとを比較して、一致の場合にはキャッシュ
ヒットとしてそのキャッシュエントリを処理すること
は、異なる論理アドレスに同じ物理アドレスが割当てら
れた場合のシノニムの問題を、アドレス変換バッファへ
のアクセス回数を従来に比べて半減させて解決する。
【0017】論理キャッシュメモリに対するキャッシュ
・ライト・ヒット時において、当該ヒットに係るキャッ
シュエントリの上記物理ページ情報PAのような情報を
用いて外部ライトアクセス用の物理アドレスを生成する
ことは、キャッシュ・ライト・ヒット時においてアドレ
ス変換バッファのアクセスを一切要しない。
・ライト・ヒット時において、当該ヒットに係るキャッ
シュエントリの上記物理ページ情報PAのような情報を
用いて外部ライトアクセス用の物理アドレスを生成する
ことは、キャッシュ・ライト・ヒット時においてアドレ
ス変換バッファのアクセスを一切要しない。
【0018】論理キャッシュメモリを使用することで、
キャッシュヒットの場合にアドレス変換バッファのアク
セスを省略でき、消費電力を低減でき、その上、上記に
より、実質的なキャッシュミスの場合のみ、アドレス変
換バッファをアクセスすればよくなるので、アドレス変
換バッファのアクセスに費やされる全体的な電力消費量
を低減する。
キャッシュヒットの場合にアドレス変換バッファのアク
セスを省略でき、消費電力を低減でき、その上、上記に
より、実質的なキャッシュミスの場合のみ、アドレス変
換バッファをアクセスすればよくなるので、アドレス変
換バッファのアクセスに費やされる全体的な電力消費量
を低減する。
【0019】アドレス変換機構が可変ページサイズをサ
ポートする場合、セットアソシアティブ形式を採用する
アドレス変換バッファに対するアクセス手法はそのペー
ジサイズに従って変化されなければならなくなる。その
ような場合に、代表的なページサイズに対応した一つの
セットアソシアティブ形式のアドレス変換バッファとフ
ルアソシアティブ形式のアドレス変換バッファとを用意
し、当該代表的なページサイズの場合には前者のアドレ
ス変換バッファを、それ以外のページサイズに対しては
後者のアドレス変換バッファを用いる。
ポートする場合、セットアソシアティブ形式を採用する
アドレス変換バッファに対するアクセス手法はそのペー
ジサイズに従って変化されなければならなくなる。その
ような場合に、代表的なページサイズに対応した一つの
セットアソシアティブ形式のアドレス変換バッファとフ
ルアソシアティブ形式のアドレス変換バッファとを用意
し、当該代表的なページサイズの場合には前者のアドレ
ス変換バッファを、それ以外のページサイズに対しては
後者のアドレス変換バッファを用いる。
【0020】
【実施例】図7には本発明に係るデータ処理装置の一実
施例であるマイクロコンピュータのブロック図が示され
る。本実施例のマイクロコンピュータ1は、特に制限さ
れないが論理キャッシュメモリ10、アドレス変換バッ
ファ(以下単にTLBとも記す)11、コントロールユ
ニット12、及び周辺モジュール13を内蔵し、それら
が内部バス14,15などに結合されて、1個の半導体
基板に形成されて成る。
施例であるマイクロコンピュータのブロック図が示され
る。本実施例のマイクロコンピュータ1は、特に制限さ
れないが論理キャッシュメモリ10、アドレス変換バッ
ファ(以下単にTLBとも記す)11、コントロールユ
ニット12、及び周辺モジュール13を内蔵し、それら
が内部バス14,15などに結合されて、1個の半導体
基板に形成されて成る。
【0021】コントロールユニット12は、中央処理装
置、バスコントローラ、上記論理キャッシュメモリ10
及びTLB11の制御回路、外部インタフェース回路な
どの機能を総称する回路ブロックであり、同図には内外
との入出力制御機能を代表する回路ブロックとして内部
コントローラ121と外部バスコントローラ122が示
される。上記内部バス14には論理キャッシュメモリ1
0、TLB11、内部コントローラ121が接続され、
内部バス15にはTLB11、周辺モジュール13、外
部バスコントローラ122が接続される。周辺モジュー
ル13は、夫々図示しないタイマ、シリアルコミュニケ
ーションインタフェース、RAM(ランダムアクセスメ
モリ)、ROM(リードオンリメモリ)、及びDMAC
(ダイレクトメモリアクセスコントローラ)などの適宜
の周辺回路が含まれる。同図において16は論理キャッ
シュメモリ10に対する制御信号線群、17はTLB1
1に対する制御信号線群、18はTLB11と周辺回路
モジュール13との間の制御信号線群、19は周辺モジ
ュール13に対する制御信号線群、20は論理キャッシ
ュメモリ10とTLB11との間の制御信号線群であ
る。本実施例のマイクロコンピュータ1は、特に制限さ
れないが、外部バス3を介してメインメモリ2に接続さ
れる。この実施例において、仮想記憶を実現するための
アドレス変換機構は、TLB11及びそれを制御するた
めのコントロールユニット12内の回路から構成され
る。
置、バスコントローラ、上記論理キャッシュメモリ10
及びTLB11の制御回路、外部インタフェース回路な
どの機能を総称する回路ブロックであり、同図には内外
との入出力制御機能を代表する回路ブロックとして内部
コントローラ121と外部バスコントローラ122が示
される。上記内部バス14には論理キャッシュメモリ1
0、TLB11、内部コントローラ121が接続され、
内部バス15にはTLB11、周辺モジュール13、外
部バスコントローラ122が接続される。周辺モジュー
ル13は、夫々図示しないタイマ、シリアルコミュニケ
ーションインタフェース、RAM(ランダムアクセスメ
モリ)、ROM(リードオンリメモリ)、及びDMAC
(ダイレクトメモリアクセスコントローラ)などの適宜
の周辺回路が含まれる。同図において16は論理キャッ
シュメモリ10に対する制御信号線群、17はTLB1
1に対する制御信号線群、18はTLB11と周辺回路
モジュール13との間の制御信号線群、19は周辺モジ
ュール13に対する制御信号線群、20は論理キャッシ
ュメモリ10とTLB11との間の制御信号線群であ
る。本実施例のマイクロコンピュータ1は、特に制限さ
れないが、外部バス3を介してメインメモリ2に接続さ
れる。この実施例において、仮想記憶を実現するための
アドレス変換機構は、TLB11及びそれを制御するた
めのコントロールユニット12内の回路から構成され
る。
【0022】図8にはTLB11のエントリ構成例が示
される。一つのエントリは論理アドレス部と物理アドレ
ス部から成る。論理アドレス部は、そのエントリが有効
であることを示すバッリドビットV(1ビット)、空間
番号ASID(8ビット)、及び論理ページ情報VA
(20ビット)を保持する。 物理アドレス部は、記憶保護のためのプロテクションP
R(2ビット)、論理アドレス部の論理ページに対応さ
れる物理ページ情報PA(20ビット)、及び当該物理
ページ情報によって指定される物理ページが複数の論理
ページによって共有されるか否かを示す共有フラグSH
(1ビット)の各ビットを保持する。
される。一つのエントリは論理アドレス部と物理アドレ
ス部から成る。論理アドレス部は、そのエントリが有効
であることを示すバッリドビットV(1ビット)、空間
番号ASID(8ビット)、及び論理ページ情報VA
(20ビット)を保持する。 物理アドレス部は、記憶保護のためのプロテクションP
R(2ビット)、論理アドレス部の論理ページに対応さ
れる物理ページ情報PA(20ビット)、及び当該物理
ページ情報によって指定される物理ページが複数の論理
ページによって共有されるか否かを示す共有フラグSH
(1ビット)の各ビットを保持する。
【0023】ここで、本実施例に従えば、論理アドレス
は、論理ページ情報とそれによって特定される論理ペー
ジにおけるオフセット情報で構成される。一つの論理ペ
ージサイズはオフセット情報のビット数によって決定さ
れる。本実施例において論理ページサイズは一定とされ
る。論理アドレスを物理アドレスに変換する場合、当該
論理アドレスの論理ページ情報に対応するエントリから
物理ページ情報を取得し、当該論理アドレスのオフセッ
ト情報を物理ページ情報の下位側に付加して論理アドレ
スを得る。
は、論理ページ情報とそれによって特定される論理ペー
ジにおけるオフセット情報で構成される。一つの論理ペ
ージサイズはオフセット情報のビット数によって決定さ
れる。本実施例において論理ページサイズは一定とされ
る。論理アドレスを物理アドレスに変換する場合、当該
論理アドレスの論理ページ情報に対応するエントリから
物理ページ情報を取得し、当該論理アドレスのオフセッ
ト情報を物理ページ情報の下位側に付加して論理アドレ
スを得る。
【0024】図9には上記論理キャッシュメモリ10の
エントリ構成例が示される。一つのエントリはアドレス
部とデータ部から成る。アドレス部はTLB11の論理
アドレス部と同じであり、そのエントリが有効であるこ
とを示すバッリドビットV(1ビット)、空間番号AS
ID(8ビット)、及び論理ページ情報VA(20ビッ
ト)を保持する。 データ部は、TLB11の物理アドレス部に対して16
バイトのデータが付加されて構成され、その他に、記憶
保護のためのプロテクションPR(2ビット)、当該論
理ページが他の論理ページとの間でデータを共有するか
否かを示す共有フラグSH(1ビット)、及びアドレス
部の論理ページに対応される物理ページ情報PA(20
ビット)の各ビットを保持する。
エントリ構成例が示される。一つのエントリはアドレス
部とデータ部から成る。アドレス部はTLB11の論理
アドレス部と同じであり、そのエントリが有効であるこ
とを示すバッリドビットV(1ビット)、空間番号AS
ID(8ビット)、及び論理ページ情報VA(20ビッ
ト)を保持する。 データ部は、TLB11の物理アドレス部に対して16
バイトのデータが付加されて構成され、その他に、記憶
保護のためのプロテクションPR(2ビット)、当該論
理ページが他の論理ページとの間でデータを共有するか
否かを示す共有フラグSH(1ビット)、及びアドレス
部の論理ページに対応される物理ページ情報PA(20
ビット)の各ビットを保持する。
【0025】ここで特に着目すべきは、論理キャッシュ
メモリ10及びTLB11は空間番号及び共有フラグの
概念を採用しているが、さらにTLBのアクセス回数を
減らすために論理キャッシュメモリ10が物理ページ情
報PAを保有していることである。キャッシュエントリ
のデータ部に格納される物理ページ情報PAは、例えば
キャッシュミスに起因してエントリを論理キャッシュメ
モリ10に最初に登録するとき、TLB11を介して得
られる。
メモリ10及びTLB11は空間番号及び共有フラグの
概念を採用しているが、さらにTLBのアクセス回数を
減らすために論理キャッシュメモリ10が物理ページ情
報PAを保有していることである。キャッシュエントリ
のデータ部に格納される物理ページ情報PAは、例えば
キャッシュミスに起因してエントリを論理キャッシュメ
モリ10に最初に登録するとき、TLB11を介して得
られる。
【0026】図1には上記シノニムの問題を解決するた
めの論理キャッシュメモリ10に対する制御手法が概念
的に示される。同図に代表的に示されている一つのキャ
ッシュエントリにおいてVA(a)は論理アドレスaに
対応する論理ページ番号のような論理ページ情報であ
り、PA(a)は論理アドレスaに対応する物理アドレ
スの物理ページ情報である。この状態で論理アドレスb
(VA(b)はその論理ページ情報)によるアクセスが
あったとき、それによって選択されるエントリがキャッ
シュミス換言すればそれによって選択されたエントリの
タグVA(a)が論理アドレスbの論理ページ情報VA
(b)とは一致せず、且つ、そのエントリの共有フラグ
SHが1の場合には、新たなエントリの追加を行わずに
以下の手順に従うようにされる。即ち、キャッシュメモ
リ10の検索ドレスである論理アドレスbをTLB11
によってアドレス変換してその物理ページ情報PA
(b)を得る。この物理ページ情報PA(b)は上記選
択されたエントリが保有する物理ページ情報PA(a)
と比較される。キャッシュエントリに物理ページ情報を
持たない図2の場合には、選択されたエントリの論理ペ
ージ情報を物理ページ情報に変換するためのTLBアク
セスが必要になる。したがって、本実施例の場合にはア
ドレス変換のためのTLB11アクセスは図2の場合に
比べて半減され、その分だけ低消費電力を図ることがで
きる。上記双方の物理アドレスの比較結果が一致即ちP
A(a)=PA(b)である場合には、論理アドレスb
は論理アドレスaとデータを共有していることになるか
ら、キャッシュヒットとして、当該エントリのデータを
利用する。したがって、論理キャッシュメモリ中に同一
物理アドレスのデータが複数存在する事態が防止され、
シノニムの問題が解決される。
めの論理キャッシュメモリ10に対する制御手法が概念
的に示される。同図に代表的に示されている一つのキャ
ッシュエントリにおいてVA(a)は論理アドレスaに
対応する論理ページ番号のような論理ページ情報であ
り、PA(a)は論理アドレスaに対応する物理アドレ
スの物理ページ情報である。この状態で論理アドレスb
(VA(b)はその論理ページ情報)によるアクセスが
あったとき、それによって選択されるエントリがキャッ
シュミス換言すればそれによって選択されたエントリの
タグVA(a)が論理アドレスbの論理ページ情報VA
(b)とは一致せず、且つ、そのエントリの共有フラグ
SHが1の場合には、新たなエントリの追加を行わずに
以下の手順に従うようにされる。即ち、キャッシュメモ
リ10の検索ドレスである論理アドレスbをTLB11
によってアドレス変換してその物理ページ情報PA
(b)を得る。この物理ページ情報PA(b)は上記選
択されたエントリが保有する物理ページ情報PA(a)
と比較される。キャッシュエントリに物理ページ情報を
持たない図2の場合には、選択されたエントリの論理ペ
ージ情報を物理ページ情報に変換するためのTLBアク
セスが必要になる。したがって、本実施例の場合にはア
ドレス変換のためのTLB11アクセスは図2の場合に
比べて半減され、その分だけ低消費電力を図ることがで
きる。上記双方の物理アドレスの比較結果が一致即ちP
A(a)=PA(b)である場合には、論理アドレスb
は論理アドレスaとデータを共有していることになるか
ら、キャッシュヒットとして、当該エントリのデータを
利用する。したがって、論理キャッシュメモリ中に同一
物理アドレスのデータが複数存在する事態が防止され、
シノニムの問題が解決される。
【0027】また、特に図示はしないが、本実施例の論
理キャッシュメモリ10においてキャッシュ・ライト・
ヒット(書込みアクセスにおけるキャッシュヒット)時
には、ヒットしたエントリが、対応する物理ページ情報
PAを保有するから、物理アドレス空間に配置されたメ
インメモリのような主記憶に対するデータ書込みのため
の物理アドレス取得に改めてTLB11をアクセスする
ことを要しない。この点においてもTLB11のアクセ
ス回数を減らして低消費電力を図ることができる。
理キャッシュメモリ10においてキャッシュ・ライト・
ヒット(書込みアクセスにおけるキャッシュヒット)時
には、ヒットしたエントリが、対応する物理ページ情報
PAを保有するから、物理アドレス空間に配置されたメ
インメモリのような主記憶に対するデータ書込みのため
の物理アドレス取得に改めてTLB11をアクセスする
ことを要しない。この点においてもTLB11のアクセ
ス回数を減らして低消費電力を図ることができる。
【0028】図10には上記論理キャッシュメモリ1
0、TLB11、及びコントロールユニット12の詳細
な一例ブロック図が示される。同図の構成は専ら論理キ
ャッシュメモリ10とTLB11の制御に着目したもの
として表現されている。
0、TLB11、及びコントロールユニット12の詳細
な一例ブロック図が示される。同図の構成は専ら論理キ
ャッシュメモリ10とTLB11の制御に着目したもの
として表現されている。
【0029】図10の論理キャッシュメモリ10におい
て100は書込みデータの入力用インタフェース、10
1は読出しデータの出力用インタフェース、102はア
クセスアドレス信号の入力用インタフェースを、夫々総
称するものと理解されたい。論理キャッシュメモリ10
をアクセスするアドレス信号は、特に制限されないが、
アドレスバス200に供給される論理アドレスに含まれ
るオフセット情報の一部とされる。そのときのアクセス
が書込みの場合にはキャッシュエントリのデータがアド
レスバス200及びデータバス201を介して入力用イ
ンタフェース100に供給される。そのときのアクセス
が読出しの場合にはキャッシュエントリのデータが出力
用インタフェース101から並列的に外部に読出され
る。キャッシュエントリの構成は図9で説明した通りで
ある。
て100は書込みデータの入力用インタフェース、10
1は読出しデータの出力用インタフェース、102はア
クセスアドレス信号の入力用インタフェースを、夫々総
称するものと理解されたい。論理キャッシュメモリ10
をアクセスするアドレス信号は、特に制限されないが、
アドレスバス200に供給される論理アドレスに含まれ
るオフセット情報の一部とされる。そのときのアクセス
が書込みの場合にはキャッシュエントリのデータがアド
レスバス200及びデータバス201を介して入力用イ
ンタフェース100に供給される。そのときのアクセス
が読出しの場合にはキャッシュエントリのデータが出力
用インタフェース101から並列的に外部に読出され
る。キャッシュエントリの構成は図9で説明した通りで
ある。
【0030】論理キャッシュメモリ10は上述のように
セットアソシアティブ形式で構成され、そのアクセスア
ドレスはオフセット情報の一部を用いる。例えば、論理
アドレスが全体で32ビットとされ、論理ページ情報が
上位側の20ビット、オフセット情報が下位側の12ビ
ットとすると、1ページは4Kバイトとされる。このと
き、オフセット情報の下位4ビットを除く8ビットの情
報を論理キャッシュメモリ10のアクセスアドレスに用
いる場合、キャッシュエントリのデータDATAは16
バイト単位でリード・ライトされる。
セットアソシアティブ形式で構成され、そのアクセスア
ドレスはオフセット情報の一部を用いる。例えば、論理
アドレスが全体で32ビットとされ、論理ページ情報が
上位側の20ビット、オフセット情報が下位側の12ビ
ットとすると、1ページは4Kバイトとされる。このと
き、オフセット情報の下位4ビットを除く8ビットの情
報を論理キャッシュメモリ10のアクセスアドレスに用
いる場合、キャッシュエントリのデータDATAは16
バイト単位でリード・ライトされる。
【0031】図10のTLB11において110は書込
みデータの入力用インタフェース、111は読出しデー
タの出力用インタフェース、112はアクセスアドレス
信号の入力用インタフェースを、夫々総称するものと理
解されたい。TLB11をアクセスするアドレス信号
は、特に制限されないが、アドレスバス200に供給さ
れる論理アドレスの一部の情報例えばオフセット情報と
される。本実施例においてTLB11にはキャッシュメ
モリ同様にセットアソシアティブ形式を採用するからで
ある。そのときのアクセスが書込みの場合にはエントリ
データがアドレスバス200及びデータバス201を介
して入力用インタフェース110に供給される。そのと
きのアクセスが読出しの場合にはエントリデータが出力
用インタフェース111から並列的に外部に読出され
る。TLBのエントリデータの内容は図8で説明した通
りである。
みデータの入力用インタフェース、111は読出しデー
タの出力用インタフェース、112はアクセスアドレス
信号の入力用インタフェースを、夫々総称するものと理
解されたい。TLB11をアクセスするアドレス信号
は、特に制限されないが、アドレスバス200に供給さ
れる論理アドレスの一部の情報例えばオフセット情報と
される。本実施例においてTLB11にはキャッシュメ
モリ同様にセットアソシアティブ形式を採用するからで
ある。そのときのアクセスが書込みの場合にはエントリ
データがアドレスバス200及びデータバス201を介
して入力用インタフェース110に供給される。そのと
きのアクセスが読出しの場合にはエントリデータが出力
用インタフェース111から並列的に外部に読出され
る。TLBのエントリデータの内容は図8で説明した通
りである。
【0032】図10において202はキャッシュアドレ
ス比較回路、203はTLBアドレス比較回路、204
は物理アドレス比較回路である。また、図10に示され
るコントロールユニット12には、外部バスコントロー
ラ300、データコントローラ301、アドレス生成回
路302、アドレスコントローラ303、例外処理コン
トローラ304、及び論理空間管理回路305が代表的
に示されている。コントロールユニット12に示された
回路ブロックは、論理キャッシュメモリ10とTLB1
1との制御に着目した構成を代表とするものであり、C
PUにおけるプログラムフェッチや命令実行シーケンス
を制御するための命令制御系は省略されている。上記キ
ャッシュアドレス比較回路202、TLBアドレス比較
回路203、物理アドレス比較回路204も論理キャッ
シュメモリ10及ぶTLB11を制御するための手段の
一部を構成するものであり、これらは、比較回路という
専用のハードウェアで構成することも、或は中央処理装
置とソフトウェアとを用いて構成することができる。
ス比較回路、203はTLBアドレス比較回路、204
は物理アドレス比較回路である。また、図10に示され
るコントロールユニット12には、外部バスコントロー
ラ300、データコントローラ301、アドレス生成回
路302、アドレスコントローラ303、例外処理コン
トローラ304、及び論理空間管理回路305が代表的
に示されている。コントロールユニット12に示された
回路ブロックは、論理キャッシュメモリ10とTLB1
1との制御に着目した構成を代表とするものであり、C
PUにおけるプログラムフェッチや命令実行シーケンス
を制御するための命令制御系は省略されている。上記キ
ャッシュアドレス比較回路202、TLBアドレス比較
回路203、物理アドレス比較回路204も論理キャッ
シュメモリ10及ぶTLB11を制御するための手段の
一部を構成するものであり、これらは、比較回路という
専用のハードウェアで構成することも、或は中央処理装
置とソフトウェアとを用いて構成することができる。
【0033】アドレス生成回路302はプロセスに従っ
て論理アドレスを構成する論理ページ情報及びオフセッ
ト情報を生成してアドレスバス200に出力する。論理
空間管理回路305は現在のプロセスにしたがって空間
番号を出力する。
て論理アドレスを構成する論理ページ情報及びオフセッ
ト情報を生成してアドレスバス200に出力する。論理
空間管理回路305は現在のプロセスにしたがって空間
番号を出力する。
【0034】データコントローラ301は各種演算器や
多数のレジスタ若しくは作業領域などを有しCPUの実
行部としてのデータ演算機能を有し、論理キャッシュメ
モリ10との関係においては当該キャッシュメモリ10
から読出された複数バイトのデータの内から論理アドレ
スに対応するデータを切り出す制御などを行う。例外処
理コントローラ304は例えばTLBミスの場合に当該
論理アドレスに対応するページエントリをメインメモリ
上のページテーブルからTLBに書込むための例外処理
を制御する。
多数のレジスタ若しくは作業領域などを有しCPUの実
行部としてのデータ演算機能を有し、論理キャッシュメ
モリ10との関係においては当該キャッシュメモリ10
から読出された複数バイトのデータの内から論理アドレ
スに対応するデータを切り出す制御などを行う。例外処
理コントローラ304は例えばTLBミスの場合に当該
論理アドレスに対応するページエントリをメインメモリ
上のページテーブルからTLBに書込むための例外処理
を制御する。
【0035】アドレスコントローラ303は論理キャッ
シュメモリ10から読出される物理ページ情報PAの利
用とTLB11から読出される物理ページ情報PAの利
用とを制御して、物理アドレスを生成する。例えば、ラ
イトアクセスにおいて、論理キャッシュメモリ10がヒ
ットしたとき、当該ヒットに係るキャッシュエントリに
含まれる物理ページ情報PAを利用して、外部アクセス
のための物理アドレスを生成する。
シュメモリ10から読出される物理ページ情報PAの利
用とTLB11から読出される物理ページ情報PAの利
用とを制御して、物理アドレスを生成する。例えば、ラ
イトアクセスにおいて、論理キャッシュメモリ10がヒ
ットしたとき、当該ヒットに係るキャッシュエントリに
含まれる物理ページ情報PAを利用して、外部アクセス
のための物理アドレスを生成する。
【0036】上記キャッシュアドレス比較回路202
は、論理キャッシュメモリ10から読出された論理ペー
ジ情報VAとアドレス生成回路302が出力する論理ペ
ージ情報との比較、及び論理キャッシュメモリ10から
読出された空間番号ASIDと論理空間管理回路305
が出力する空間番号との比較を行う。論理キャッシュメ
モリ10から読出された共有フラグSHが”1”のとき
には空間番号は比較対象から除外される。比較結果は論
理アドレスミス/マッチ信号400として出力される。
当該信号がアクティブレベルにされるのは、バリッドビ
ットVが有効で且つ比較結果が一致の場合であり、その
他の場合には当該信号はインアクティブにされる。論理
アドレスミス/マッチ信号400がアクティブレベルに
されると(この状態をキャッシュヒットとも記す)、デ
ータコントローラ301はキャッシュメモリ10のデー
タDATAを利用して演算を行い、或は外部バスコント
ローラ300にそのデータが供給されて外部アクセスに
利用される。
は、論理キャッシュメモリ10から読出された論理ペー
ジ情報VAとアドレス生成回路302が出力する論理ペ
ージ情報との比較、及び論理キャッシュメモリ10から
読出された空間番号ASIDと論理空間管理回路305
が出力する空間番号との比較を行う。論理キャッシュメ
モリ10から読出された共有フラグSHが”1”のとき
には空間番号は比較対象から除外される。比較結果は論
理アドレスミス/マッチ信号400として出力される。
当該信号がアクティブレベルにされるのは、バリッドビ
ットVが有効で且つ比較結果が一致の場合であり、その
他の場合には当該信号はインアクティブにされる。論理
アドレスミス/マッチ信号400がアクティブレベルに
されると(この状態をキャッシュヒットとも記す)、デ
ータコントローラ301はキャッシュメモリ10のデー
タDATAを利用して演算を行い、或は外部バスコント
ローラ300にそのデータが供給されて外部アクセスに
利用される。
【0037】物理アドレス比較回路204は、論理キャ
ッシュメモリ10から出力された物理ページ情報PAと
TLB11から出力された物理ページ情報とを比較す
る。比較結果は物理アドレスミス/マッチ信号401と
して出力される。この物理アドレスミス/マッチ信号4
01がアクティブレベルにされる条件は、上記キャッシ
ュアドレス比較回路202の比較結果がキャッシュミス
(論理アドレスミス/マッチ信号400がインアクティ
ブ)であること、図示はされていないがバリッドビット
Vが有効であること、共有フラグSHが”1”(共有)
であること、そして物理アドレス比較回路204による
比較結果が一致であること、とされる。この物理アドレ
スミス/マッチ信号401がアクティブレベルにされる
と、コントロールユニット12は論理アドレスミス/マ
ッチ信号400のインアクティブレベルに拘らずにキャ
ッシュヒットの場合と同様の処理を行う。この制御態様
は図1で説明した内容である。
ッシュメモリ10から出力された物理ページ情報PAと
TLB11から出力された物理ページ情報とを比較す
る。比較結果は物理アドレスミス/マッチ信号401と
して出力される。この物理アドレスミス/マッチ信号4
01がアクティブレベルにされる条件は、上記キャッシ
ュアドレス比較回路202の比較結果がキャッシュミス
(論理アドレスミス/マッチ信号400がインアクティ
ブ)であること、図示はされていないがバリッドビット
Vが有効であること、共有フラグSHが”1”(共有)
であること、そして物理アドレス比較回路204による
比較結果が一致であること、とされる。この物理アドレ
スミス/マッチ信号401がアクティブレベルにされる
と、コントロールユニット12は論理アドレスミス/マ
ッチ信号400のインアクティブレベルに拘らずにキャ
ッシュヒットの場合と同様の処理を行う。この制御態様
は図1で説明した内容である。
【0038】TLBアドレス比較回路203は、TLB
11から読出された論理ページ情報VAとアドレス生成
回路302が出力する論理ページ情報との比較、及びT
LB11から読出された空間番号ASIDと論理空間管
理回路305が出力する空間番号との比較を行う。TL
B11から読出された共有フラグSHが”1”のときに
は空間番号は比較対象から除外される。比較結果はTL
Bミス/マッチ信号402として出力される。当該信号
がアクティブレベルにされるのは、バリッドビットVが
有効で且つ比較結果が一致の場合であり、その他の場合
には当該信号はインアクティブにされる。TLBミス/
マッチ信号402がインアクティブレベルにされると
(この状態をTLBミスとも記す)、例外処理コントロ
ーラ304が外部バスコントローラ300を制御して、
そのときの論理アドレスに対応されるTLB11のペー
ジエントリがメインメモリ上のページテーブルからTL
B11に書込まれる。TLBミス/マッチ信号402が
アクティブレベルにされ(この状態をTLBヒットとも
記す)、その物理ページ情報PAを利用した外部アクセ
スを要するような場合には、アドレスコントローラ30
3はその物理ページ情報を外部バスコントローラ300
に供給し、これによってメインメモリなどの物理空間に
対するアクセスが行われる。
11から読出された論理ページ情報VAとアドレス生成
回路302が出力する論理ページ情報との比較、及びT
LB11から読出された空間番号ASIDと論理空間管
理回路305が出力する空間番号との比較を行う。TL
B11から読出された共有フラグSHが”1”のときに
は空間番号は比較対象から除外される。比較結果はTL
Bミス/マッチ信号402として出力される。当該信号
がアクティブレベルにされるのは、バリッドビットVが
有効で且つ比較結果が一致の場合であり、その他の場合
には当該信号はインアクティブにされる。TLBミス/
マッチ信号402がインアクティブレベルにされると
(この状態をTLBミスとも記す)、例外処理コントロ
ーラ304が外部バスコントローラ300を制御して、
そのときの論理アドレスに対応されるTLB11のペー
ジエントリがメインメモリ上のページテーブルからTL
B11に書込まれる。TLBミス/マッチ信号402が
アクティブレベルにされ(この状態をTLBヒットとも
記す)、その物理ページ情報PAを利用した外部アクセ
スを要するような場合には、アドレスコントローラ30
3はその物理ページ情報を外部バスコントローラ300
に供給し、これによってメインメモリなどの物理空間に
対するアクセスが行われる。
【0039】図11には論理キャッシュメモリ10に対
する全体的な制御フローが示される。これに基づいて論
理キャッシュメモリ10及びTLB11に対する制御動
作の一例を説明する。
する全体的な制御フローが示される。これに基づいて論
理キャッシュメモリ10及びTLB11に対する制御動
作の一例を説明する。
【0040】まず検索論理アドレスのオフセット情報に
よって論理キャッシュメモリ10から一つのキャッシュ
エントリが選択されて読出される(ステップS1)。選
択されたキャッシュエントリに対してバリッドビットV
がチェックされ、当該キャッシュエントリの有効・無効
が判定される(ステップS2)。無効(V=0)なら
ば、外部アクセスのためにTLB11がアクセスされる
(ステップS4)。TLBヒットの場合は、そのTLB
11のエントリに含まれる物理アドレスで、外部アクセ
スが行われる(ステップS7)。TLBミスの場合には、
TLBミスの例外処理が発生し、OSによって、その論
理アドレスに対応されるページエントリがメモリ上のペ
ージテーブルから、TLB11にとり込まれる(ステッ
プS13)。例外処理が完了すると、ステップS4にお
けるTLBヒットの状態となって、ステップS7の外部
アクセスが行われる。
よって論理キャッシュメモリ10から一つのキャッシュ
エントリが選択されて読出される(ステップS1)。選
択されたキャッシュエントリに対してバリッドビットV
がチェックされ、当該キャッシュエントリの有効・無効
が判定される(ステップS2)。無効(V=0)なら
ば、外部アクセスのためにTLB11がアクセスされる
(ステップS4)。TLBヒットの場合は、そのTLB
11のエントリに含まれる物理アドレスで、外部アクセ
スが行われる(ステップS7)。TLBミスの場合には、
TLBミスの例外処理が発生し、OSによって、その論
理アドレスに対応されるページエントリがメモリ上のペ
ージテーブルから、TLB11にとり込まれる(ステッ
プS13)。例外処理が完了すると、ステップS4にお
けるTLBヒットの状態となって、ステップS7の外部
アクセスが行われる。
【0041】ステップS2においてバリッドビットVが
有効(V=1)と判定されたときは、次に共有フラグS
Hがチェックされる(ステップS3)。SH=1の場
合、すなわち、上記選択されたキャッシュエントリのデ
ータが共有データの場合、検索論理アドレスの論理ペー
ジ情報VA(SER)と当該キャッシュエントリのキャッシ
ュタグアドレスとしての論理ページ情報VA(CACHE)が
比較され(ステップS6)、一致の場合には当該キャッ
シュエントリのデータDATAが使用される(ステップ
S10)。不一致の場合には、検索論理アドレスの論理
ページ情報VA(SER)でTLB11が検索される(ステ
ップS11)。その結果、TLBヒットの場合には、対
応する物理ページ情報PA(TLB)が得られる。 そしてこ
の物理ページ情報PA(TLB)は、上記キャッシュエント
リに含まれている物理ページ情報PA(CACHE)と比較さ
れる(ステップS12)。これが一致していたならば、
検索論理アドレスとキャッシュエントリの論理アドレス
は同一の物理アドレスに割り当てられていることになる
ので、実質上キャッシュヒットの場合と同様に、当該キ
ャッシュエントリを利用可能にする(ステップS1
6)。ステップS12の結果が不一致ならば、キャッシ
ュミスの状態には変りなく、外部アクセスが行われる
(ステップS15)。尚、ステップS11においてTL
Bミスと判定された場合には、ステップS13で例外処
理が行われる。例外処理が完了すると、ステップS11
におけるTLBヒットの状態となって、処理がステップ
S12に進められる。
有効(V=1)と判定されたときは、次に共有フラグS
Hがチェックされる(ステップS3)。SH=1の場
合、すなわち、上記選択されたキャッシュエントリのデ
ータが共有データの場合、検索論理アドレスの論理ペー
ジ情報VA(SER)と当該キャッシュエントリのキャッシ
ュタグアドレスとしての論理ページ情報VA(CACHE)が
比較され(ステップS6)、一致の場合には当該キャッ
シュエントリのデータDATAが使用される(ステップ
S10)。不一致の場合には、検索論理アドレスの論理
ページ情報VA(SER)でTLB11が検索される(ステ
ップS11)。その結果、TLBヒットの場合には、対
応する物理ページ情報PA(TLB)が得られる。 そしてこ
の物理ページ情報PA(TLB)は、上記キャッシュエント
リに含まれている物理ページ情報PA(CACHE)と比較さ
れる(ステップS12)。これが一致していたならば、
検索論理アドレスとキャッシュエントリの論理アドレス
は同一の物理アドレスに割り当てられていることになる
ので、実質上キャッシュヒットの場合と同様に、当該キ
ャッシュエントリを利用可能にする(ステップS1
6)。ステップS12の結果が不一致ならば、キャッシ
ュミスの状態には変りなく、外部アクセスが行われる
(ステップS15)。尚、ステップS11においてTL
Bミスと判定された場合には、ステップS13で例外処
理が行われる。例外処理が完了すると、ステップS11
におけるTLBヒットの状態となって、処理がステップ
S12に進められる。
【0042】ステップS3の判定結果がSH=0、即ち
非共有データの場合には、アドレス比較に際して空間番
号は無視されず、検索論理アドレスの論理ページ情報V
A(SER)と空間番号ASID(SER)が各々、キャッシュエ
ントリに含まれるキャッシュタグアドレスとしての論理
ページ情報VA(CACHE)と空間番号ASID(CACHE)と比
較される(ステップS5)。比較結果が一致の場合には
当該キャッシュエントリの情報が利用される(ステップ
S8)。リードアクセスの場合にはそのデータが利用さ
れ、ライトアクセスの場合にはキャッシュエントリに含
まれる物理ページ情報が、物理空間への書込みに利用さ
れる。ステップS5の判定結果が不一致の場合には、T
LB11がアクセスされ(ステップS9)、TLBヒッ
トならばそれによって得られた物理ページ情報を利用し
て外部アクセスが行われ(ステップS14)、TLBミ
スならばステップS13の例外処理が行われる。
非共有データの場合には、アドレス比較に際して空間番
号は無視されず、検索論理アドレスの論理ページ情報V
A(SER)と空間番号ASID(SER)が各々、キャッシュエ
ントリに含まれるキャッシュタグアドレスとしての論理
ページ情報VA(CACHE)と空間番号ASID(CACHE)と比
較される(ステップS5)。比較結果が一致の場合には
当該キャッシュエントリの情報が利用される(ステップ
S8)。リードアクセスの場合にはそのデータが利用さ
れ、ライトアクセスの場合にはキャッシュエントリに含
まれる物理ページ情報が、物理空間への書込みに利用さ
れる。ステップS5の判定結果が不一致の場合には、T
LB11がアクセスされ(ステップS9)、TLBヒッ
トならばそれによって得られた物理ページ情報を利用し
て外部アクセスが行われ(ステップS14)、TLBミ
スならばステップS13の例外処理が行われる。
【0043】図12、図13、図14はキャッシュメモ
リ10の代表的な動作態様である、キャッシュ・リード
・ヒット、キャッシュ・ライト・ヒット、キャッシュ・
リード・ミス、及びキャッシュ・ライト・ミスの4態様
の夫々に着目した場合におけるキャッシュメモリの動作
制御フローが示される。これらが示す内容は図11の内
容と実質的に同じであり記述の観点が相違されるだけで
ある。
リ10の代表的な動作態様である、キャッシュ・リード
・ヒット、キャッシュ・ライト・ヒット、キャッシュ・
リード・ミス、及びキャッシュ・ライト・ミスの4態様
の夫々に着目した場合におけるキャッシュメモリの動作
制御フローが示される。これらが示す内容は図11の内
容と実質的に同じであり記述の観点が相違されるだけで
ある。
【0044】図12にはキャッシュ・リード・ヒットと
キャッシュ・ライト・ヒットの場合における論理キャッ
シュメモリの動作制御フローが示される。キャッシュ・
リード・ヒットのときは、論理アドレスのオフセット情
報で選ばれたキャッシュエントリに含まれるデータの対
応部分がリードデータとされる(ステップS21)。キ
ャッシュ・ライト・ヒットのときは、論理アドレスのオ
フセット情報で選ばれたキャッシュエントリに向けてラ
イトデータが書込まれ(ステップS22)、次いで当該
キャッシュエントリから物理ページ情報PA(CACHE)が
読出され(ステップS23)、これを利用してそのライ
トデータがメインメモリに書込まれる(ステップS2
4)。ステップS20はその時のアクセスがリードかラ
イトかを判定する。同図に示されるステップS20〜S
24は図11におけるステップS8,S10,S16の
内容を詳細に示したものと等価である。
キャッシュ・ライト・ヒットの場合における論理キャッ
シュメモリの動作制御フローが示される。キャッシュ・
リード・ヒットのときは、論理アドレスのオフセット情
報で選ばれたキャッシュエントリに含まれるデータの対
応部分がリードデータとされる(ステップS21)。キ
ャッシュ・ライト・ヒットのときは、論理アドレスのオ
フセット情報で選ばれたキャッシュエントリに向けてラ
イトデータが書込まれ(ステップS22)、次いで当該
キャッシュエントリから物理ページ情報PA(CACHE)が
読出され(ステップS23)、これを利用してそのライ
トデータがメインメモリに書込まれる(ステップS2
4)。ステップS20はその時のアクセスがリードかラ
イトかを判定する。同図に示されるステップS20〜S
24は図11におけるステップS8,S10,S16の
内容を詳細に示したものと等価である。
【0045】図13にはキャッシュ・リード・ミスの場
合における論理キャッシュメモリの動作制御フローが示
される。キャッシュ・リード・ミスにおいて、ステップ
S30でTLBヒットと判定され且つステップS32で
共有フラグSH=1と判定された場合、キャッシュミス
に係るキャッシュエントリに含まれる物理ページ情報P
A(CACHE)と検索論理アドレスに対するTLBヒットに
係る物理ページ情報PA(TLB)とが一致であるならば
(ステップS33)、今回のキャッシュ・リード・ミス
に係るキャッシュエントリはキャッシュヒットとして処
理される(ステップS34)。
合における論理キャッシュメモリの動作制御フローが示
される。キャッシュ・リード・ミスにおいて、ステップ
S30でTLBヒットと判定され且つステップS32で
共有フラグSH=1と判定された場合、キャッシュミス
に係るキャッシュエントリに含まれる物理ページ情報P
A(CACHE)と検索論理アドレスに対するTLBヒットに
係る物理ページ情報PA(TLB)とが一致であるならば
(ステップS33)、今回のキャッシュ・リード・ミス
に係るキャッシュエントリはキャッシュヒットとして処
理される(ステップS34)。
【0046】ステップS30でTLBミスと判定された
場合には上記TLBミスの例外処理が行われる(ステッ
プS31)。ステップS32でSH=0と判定された場
合、又はステップS33で不一致と判定された場合に
は、ステップS30におけるTLBヒットで得られた物
理ページ情報PA(TLB)がキャッシュメモリに格納格納
され(ステップS35)、次いでその物理ページ情報を
利用して外部リードアクセスが行われ(ステップS3
6)、さらに、そのリードデータやキャッシュミスに係
る論理アドレスの論理ページ情報などがキャッシュメモ
リに格納される(ステップS37)。ステップS35,
S37におけるキャッシュメモリへのデータ格納におい
て、書込み先は当該キャッシュミスに係る論理アドレス
のオフセット情報の所定の一部によって決定される。同
図のステップS35,S36,S37は図11に示され
るステップS14、S15の内容を詳細に示したものと
等価である。
場合には上記TLBミスの例外処理が行われる(ステッ
プS31)。ステップS32でSH=0と判定された場
合、又はステップS33で不一致と判定された場合に
は、ステップS30におけるTLBヒットで得られた物
理ページ情報PA(TLB)がキャッシュメモリに格納格納
され(ステップS35)、次いでその物理ページ情報を
利用して外部リードアクセスが行われ(ステップS3
6)、さらに、そのリードデータやキャッシュミスに係
る論理アドレスの論理ページ情報などがキャッシュメモ
リに格納される(ステップS37)。ステップS35,
S37におけるキャッシュメモリへのデータ格納におい
て、書込み先は当該キャッシュミスに係る論理アドレス
のオフセット情報の所定の一部によって決定される。同
図のステップS35,S36,S37は図11に示され
るステップS14、S15の内容を詳細に示したものと
等価である。
【0047】図14にはキャッシュ・ライト・ミスの場
合における論理キャッシュメモリの動作制御フローが示
される。キャッシュ・ライト・ミスにおいて、ステップ
S40でTLBヒットと判定され且つステップS42で
共有フラグSH=1と判定された場合、キャッシュミス
に係るキャッシュエントリに含まれる物理ページ情報P
A(CACHE)と検索論理アドレスに対するTLBヒットに
係る物理ページ情報PA(TLB)とが一致であるならば
(ステップS43)、今回のキャッシュ・ライト・ミス
に係るキャッシュエントリはキャッシュヒットとして処
理される(ステップS44)。ステップS40でTLB
ミスと判定された場合には上記TLBミスの例外処理が
行われる(ステップS41)。ステップS42でSH=
0と判定された場合、ステップS40におけるTLBヒ
ットで得られた物理ページ情報PA(TLB)が読出され
(ステップS45)、当該物理ページ情報を利用した外
部ライトアクセスが行われ(ステップS46)。ステッ
プS43で不一致と判定された場合には、ステップS4
0におけるTLBヒットで得られた物理ページ情報PA
(TLB)によって外部ライトアクセスが行われる(ステッ
プS46)。
合における論理キャッシュメモリの動作制御フローが示
される。キャッシュ・ライト・ミスにおいて、ステップ
S40でTLBヒットと判定され且つステップS42で
共有フラグSH=1と判定された場合、キャッシュミス
に係るキャッシュエントリに含まれる物理ページ情報P
A(CACHE)と検索論理アドレスに対するTLBヒットに
係る物理ページ情報PA(TLB)とが一致であるならば
(ステップS43)、今回のキャッシュ・ライト・ミス
に係るキャッシュエントリはキャッシュヒットとして処
理される(ステップS44)。ステップS40でTLB
ミスと判定された場合には上記TLBミスの例外処理が
行われる(ステップS41)。ステップS42でSH=
0と判定された場合、ステップS40におけるTLBヒ
ットで得られた物理ページ情報PA(TLB)が読出され
(ステップS45)、当該物理ページ情報を利用した外
部ライトアクセスが行われ(ステップS46)。ステッ
プS43で不一致と判定された場合には、ステップS4
0におけるTLBヒットで得られた物理ページ情報PA
(TLB)によって外部ライトアクセスが行われる(ステッ
プS46)。
【0048】上記実施例によれば以下の作用効果を得
る。 (1)論理キャッシュメモリ10を使用することで、キ
ャッシュヒットの場合にTLBのアクセスを省略でき、
消費電力を20%程低減可能である。 (2)キャッシュタグアドレスとしての論理ページ情報
VA(CACHE)に対応する物理ページ情報PA(CACHE)をキ
ャッシュメモリ10に保持し、共有領域をアクセスする
場合にキャッシュミスのとき、キャッシュメモリに保持
されている物理ページ情報PA(CACHE)と、検索アドレ
スをTLB11で変換した物理ページ情報PA(TLB)と
を比較して一致の場合にはキャッシュヒットとしてその
キャッシュエントリを処理するから、異なる論理アドレ
スに同じ物理アドレスが割当てられた場合のシノニムの
問題を、TLB11へのアクセス回数を従来に比べて半
減させて解決することができる。 (3)キャッシュメモリ10に対するキャッシュ・ライ
ト・ヒット時において、当該ヒットに係るキャッシュエ
ントリの上記物理ページ情報PA(CACHE)を用いて外部
ライトアクセス用の物理アドレスを生成するから、キャ
ッシュ・ライト・ヒット時においてTLB11のアクセ
スを一切要しない。 (4)上記(2),(3)により、実質的なキャッシュ
ミスの場合のみ、TLB11をアクセスすればよくなる
ので、TLBのアクセスに費やされる全体的な電力消費
量を低減することができる。 (5)上記(2),(3)により、実質的なキャッシュ
ミスの場合のみ、TLB11をアクセスすればよくなる
ので、TLB11のアクセス時間に余裕ができる。TL
Bで変換されない論理アドレスの一部を使用して、セッ
トを決定する物理キャッシュでは、そのキャッシュのア
ドレス比較までに、物理アドレスを得る必要がある。キ
ャッシュメモリを1マシンサイクルでアクセスする場
合、TLBのアクセス時間は0.5マシンサイクルとな
る。本実施例においては、キャッシュミスのときのみT
LBをアクセスするので、TLBのアクセス時間を1マ
シンサイクルにしてもマイクロコンピュータの性能低下
は無視できる程度小さくできる。したがって、TLBの
タイミング設計が容易になり、また、マイクロコンピュ
ータの動作速度が高速化される場合においてもTLBを
それに簡単に対応させることができるようになる。
る。 (1)論理キャッシュメモリ10を使用することで、キ
ャッシュヒットの場合にTLBのアクセスを省略でき、
消費電力を20%程低減可能である。 (2)キャッシュタグアドレスとしての論理ページ情報
VA(CACHE)に対応する物理ページ情報PA(CACHE)をキ
ャッシュメモリ10に保持し、共有領域をアクセスする
場合にキャッシュミスのとき、キャッシュメモリに保持
されている物理ページ情報PA(CACHE)と、検索アドレ
スをTLB11で変換した物理ページ情報PA(TLB)と
を比較して一致の場合にはキャッシュヒットとしてその
キャッシュエントリを処理するから、異なる論理アドレ
スに同じ物理アドレスが割当てられた場合のシノニムの
問題を、TLB11へのアクセス回数を従来に比べて半
減させて解決することができる。 (3)キャッシュメモリ10に対するキャッシュ・ライ
ト・ヒット時において、当該ヒットに係るキャッシュエ
ントリの上記物理ページ情報PA(CACHE)を用いて外部
ライトアクセス用の物理アドレスを生成するから、キャ
ッシュ・ライト・ヒット時においてTLB11のアクセ
スを一切要しない。 (4)上記(2),(3)により、実質的なキャッシュ
ミスの場合のみ、TLB11をアクセスすればよくなる
ので、TLBのアクセスに費やされる全体的な電力消費
量を低減することができる。 (5)上記(2),(3)により、実質的なキャッシュ
ミスの場合のみ、TLB11をアクセスすればよくなる
ので、TLB11のアクセス時間に余裕ができる。TL
Bで変換されない論理アドレスの一部を使用して、セッ
トを決定する物理キャッシュでは、そのキャッシュのア
ドレス比較までに、物理アドレスを得る必要がある。キ
ャッシュメモリを1マシンサイクルでアクセスする場
合、TLBのアクセス時間は0.5マシンサイクルとな
る。本実施例においては、キャッシュミスのときのみT
LBをアクセスするので、TLBのアクセス時間を1マ
シンサイクルにしてもマイクロコンピュータの性能低下
は無視できる程度小さくできる。したがって、TLBの
タイミング設計が容易になり、また、マイクロコンピュ
ータの動作速度が高速化される場合においてもTLBを
それに簡単に対応させることができるようになる。
【0049】以上本発明者によってなされた発明を実施
例に基づいて具体的に説明したが、本発明はそれに限定
されるものではなく、その要旨を逸脱しない範囲におい
て種々変更可能であることは言うまでもない。
例に基づいて具体的に説明したが、本発明はそれに限定
されるものではなく、その要旨を逸脱しない範囲におい
て種々変更可能であることは言うまでもない。
【0050】例えば、上記実施例ではTLBをセットア
ソシアティブ形式の連想メモリによって構成する場合に
ついて説明したが、については特に限定していないが、
フルアソシアティブ形式のものを用いることも可能であ
る。フルアソシアティブ形式とする場合には、CAM
(Content Addressable Memory)のような各ビット出力
ビット毎に比較回路を要するメモリ回路を使用する性質
上、チップ占有面積や消費電力は増大する。したがっ
て、マイクロコンピュータ全体の低消費電力を考慮する
ならば、可能な範囲でセットアソシアティブ形式のTL
Bを用いることが得策である。また、アドレス変換機構
が可変ページサイズをサポートする場合、セットアソシ
アティブ形式を採用するTLBのようなアドレス変換バ
ッファに対するアクセス手法はそのページサイズに従っ
て変化されなければならなくなる。そのような場合に
は、選択可能なページサイズに応じたセットアソシアテ
ィブ形式の複数のTLBを用意し、ページサイズに応じ
てそれを使い分けるようにしてよい。或は、代表的なペ
ージサイズに対応した一つのセットアソシアティブ形式
のTLBとフルアソシアティブ形式のTLBを用意し、
当該代表的なページサイズの場合には前者のTLBを、
それ以外のページサイズに対しては後者のTLBを用い
るようにしてもよい。さらに、TLBに対するアクセス
を論理ページ渡りが発生した場合に限定することによっ
ても低消費電力に寄与する。即ち、同一論理ページの範
囲内においては物理ページ情報は一定であるから一旦T
LBから得た物理ページ情報を適宜のレジスタに貯え、
同一論理ページ内でのアクセスに際しては当該レジスタ
の物理アドレス情報を利用して物理アドレスを生成すよ
うにすればよい。
ソシアティブ形式の連想メモリによって構成する場合に
ついて説明したが、については特に限定していないが、
フルアソシアティブ形式のものを用いることも可能であ
る。フルアソシアティブ形式とする場合には、CAM
(Content Addressable Memory)のような各ビット出力
ビット毎に比較回路を要するメモリ回路を使用する性質
上、チップ占有面積や消費電力は増大する。したがっ
て、マイクロコンピュータ全体の低消費電力を考慮する
ならば、可能な範囲でセットアソシアティブ形式のTL
Bを用いることが得策である。また、アドレス変換機構
が可変ページサイズをサポートする場合、セットアソシ
アティブ形式を採用するTLBのようなアドレス変換バ
ッファに対するアクセス手法はそのページサイズに従っ
て変化されなければならなくなる。そのような場合に
は、選択可能なページサイズに応じたセットアソシアテ
ィブ形式の複数のTLBを用意し、ページサイズに応じ
てそれを使い分けるようにしてよい。或は、代表的なペ
ージサイズに対応した一つのセットアソシアティブ形式
のTLBとフルアソシアティブ形式のTLBを用意し、
当該代表的なページサイズの場合には前者のTLBを、
それ以外のページサイズに対しては後者のTLBを用い
るようにしてもよい。さらに、TLBに対するアクセス
を論理ページ渡りが発生した場合に限定することによっ
ても低消費電力に寄与する。即ち、同一論理ページの範
囲内においては物理ページ情報は一定であるから一旦T
LBから得た物理ページ情報を適宜のレジスタに貯え、
同一論理ページ内でのアクセスに際しては当該レジスタ
の物理アドレス情報を利用して物理アドレスを生成すよ
うにすればよい。
【0051】以上の説明では主として本発明者によって
なされた発明をその背景となった利用分野であるマイク
ロコンピュータに適用した場合について説明したが、本
発明はそれに限定されるものではなく、その他のデータ
処理装置に広く適用することができる。本発明は、少な
くとも論理キャッシュメモリとアドレス変換バッファを
備えてデータ処理を行う条件のものに適用することがで
きる。
なされた発明をその背景となった利用分野であるマイク
ロコンピュータに適用した場合について説明したが、本
発明はそれに限定されるものではなく、その他のデータ
処理装置に広く適用することができる。本発明は、少な
くとも論理キャッシュメモリとアドレス変換バッファを
備えてデータ処理を行う条件のものに適用することがで
きる。
【0052】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば下記
の通りである。
的なものによって得られる効果を簡単に説明すれば下記
の通りである。
【0053】論理ページ情報に対応する物理ページ情報
のような情報を論理キャッシュメモリに保持し、共有領
域をアクセスする場合にキャッシュミスのとき、論理キ
ャッシュメモリに保持されている物理ページ情報のよう
な情報と、検索アドレスをTLBで変換した物理ページ
情報とを比較して、一致の場合にはキャッシュヒットと
してそのキャッシュエントリを処理するから、異なる論
理アドレスに同じ物理アドレスが割当てられた場合のシ
ノニムの問題を、TLBへのアクセス回数を従来に比べ
て半減させて解決することができる。論理キャッシュメ
モリに対するキャッシュ・ライト・ヒット時において、
当該ヒットに係るキャッシュエントリの上記物理ページ
情報のような情報を用いて外部ライトアクセス用の物理
アドレスを生成するから、キャッシュ・ライト・ヒット
時においてTLBのアクセスを一切要しない。論理キャ
ッシュメモリを使用することで、キャッシュヒットの場
合にTLBのアクセスを省略でき、消費電力を低減で
き、その上、上記により、実質的なキャッシュミスの場
合のみ、TLBをアクセスすればよくなるので、TLB
のアクセスに費やされる全体的な電力消費量を低減する
ことができる。上記により、実質的なキャッシュミスの
場合のみ、TLBをアクセスすればよくなるので、TL
Bのアクセス時間に余裕ができる。キャッシュミスのと
きのみTLBをアクセスするので、TLBのアクセス時
間を1マシンサイクルにしてもマイクロコンピュータの
性能低下は無視できる程度小さくできる。したがって、
マイクロコンピュータなどのデータ処理装置の動作速度
が高速化される場合においても、TLBのタイミング設
計が容易になり、また、超高速メモリを採用したTLB
でなくてもそれに簡単に対応することができる。さら
に、代表的なページサイズに対応した一つのセットアソ
シアティブ形式のTLBとフルアソシアティブ形式のT
LBを用意し、当該代表的なページサイズの場合には前
者のTLBを、それ以外のページサイズに対しては後者
のTLBを用いるようにすることにより、アドレス変換
機構が可変ページサイズをサポートする場合にも、上記
効果を保有して容易に対応できる。
のような情報を論理キャッシュメモリに保持し、共有領
域をアクセスする場合にキャッシュミスのとき、論理キ
ャッシュメモリに保持されている物理ページ情報のよう
な情報と、検索アドレスをTLBで変換した物理ページ
情報とを比較して、一致の場合にはキャッシュヒットと
してそのキャッシュエントリを処理するから、異なる論
理アドレスに同じ物理アドレスが割当てられた場合のシ
ノニムの問題を、TLBへのアクセス回数を従来に比べ
て半減させて解決することができる。論理キャッシュメ
モリに対するキャッシュ・ライト・ヒット時において、
当該ヒットに係るキャッシュエントリの上記物理ページ
情報のような情報を用いて外部ライトアクセス用の物理
アドレスを生成するから、キャッシュ・ライト・ヒット
時においてTLBのアクセスを一切要しない。論理キャ
ッシュメモリを使用することで、キャッシュヒットの場
合にTLBのアクセスを省略でき、消費電力を低減で
き、その上、上記により、実質的なキャッシュミスの場
合のみ、TLBをアクセスすればよくなるので、TLB
のアクセスに費やされる全体的な電力消費量を低減する
ことができる。上記により、実質的なキャッシュミスの
場合のみ、TLBをアクセスすればよくなるので、TL
Bのアクセス時間に余裕ができる。キャッシュミスのと
きのみTLBをアクセスするので、TLBのアクセス時
間を1マシンサイクルにしてもマイクロコンピュータの
性能低下は無視できる程度小さくできる。したがって、
マイクロコンピュータなどのデータ処理装置の動作速度
が高速化される場合においても、TLBのタイミング設
計が容易になり、また、超高速メモリを採用したTLB
でなくてもそれに簡単に対応することができる。さら
に、代表的なページサイズに対応した一つのセットアソ
シアティブ形式のTLBとフルアソシアティブ形式のT
LBを用意し、当該代表的なページサイズの場合には前
者のTLBを、それ以外のページサイズに対しては後者
のTLBを用いるようにすることにより、アドレス変換
機構が可変ページサイズをサポートする場合にも、上記
効果を保有して容易に対応できる。
【図1】本発明にデータ処理装置においてシノニムの問
題を解決するための論理キャッシュメモリに対する制御
手法を概念的に示す説明図である。
題を解決するための論理キャッシュメモリに対する制御
手法を概念的に示す説明図である。
【図2】キャッシュエントリに物理アドレス情報を含め
ないでシノニムの問題を解決しようとする場合における
論理キャッシュメモリに対する制御手法を概念的に示す
説明図である。
ないでシノニムの問題を解決しようとする場合における
論理キャッシュメモリに対する制御手法を概念的に示す
説明図である。
【図3】多重論理空間の説明図である。
【図4】空間番号で拡張された論理アドレス及び共有フ
ラグを有するキャッシュエントリの一例を示すフォーマ
ット図である。
ラグを有するキャッシュエントリの一例を示すフォーマ
ット図である。
【図5】シノニムの概念についての説明図である。
【図6】論理キャッシュメモリにおけるシノニムの問題
についての説明図である。
についての説明図である。
【図7】本発明に係るデータ処理装置の一実施例である
マイクロコンピュータのブロック図である。
マイクロコンピュータのブロック図である。
【図8】TLBのエントリ構成例を示すフォーマット図
である。
である。
【図9】論理キャッシュメモリのエントリ構成例を示す
フォーマット図である。
フォーマット図である。
【図10】図7に示される論理キャッシュメモリ、TL
B、及びコントロールユニットの詳細な一例ブロック図
である。
B、及びコントロールユニットの詳細な一例ブロック図
である。
【図11】論理キャッシュメモリに対する全体的な制御
を示すフローチャートである。
を示すフローチャートである。
【図12】キャッシュ・リード・ヒットとキャッシュ・
ライト・ヒットの場合における論理キャッシュメモリの
動作制御フローチャートである。
ライト・ヒットの場合における論理キャッシュメモリの
動作制御フローチャートである。
【図13】キャッシュ・リード・ミスの場合における論
理キャッシュメモリの動作制御フローチャートである。
理キャッシュメモリの動作制御フローチャートである。
【図14】キャッシュ・ライト・ミスの場合における論
理キャッシュメモリの動作制御フローチャートである。
理キャッシュメモリの動作制御フローチャートである。
1 マイクロコンピュータ 2 メインメモリ 10 論理キャッシュメモリ 11 TLB 12 コントロールユニット 13 周辺モジュール V バリッドビット ASID 空間番号 VA 論理ページ情報 SH 共有フラグ PA 物理ページ情報 DATA データ 202 キャッシュアドレス比較回路 203 TLBアドレス比較回路 204 物理アドレス比較回路 300 外部バスコントローラ 301 データコントローラ 302 アドレス生成回路 303 アドレスコントローラ 304 例外処理コントローラ 305 論理空間管理回路
Claims (6)
- 【請求項1】 論理アドレスの情報を検索情報とする論
理キャッシュメモリと、論理アドレスを物理アドレスに
変換するための変換対を格納するアドレス変換バッファ
と、上記論理キャッシュメモリとアドレス変換バッファ
とを制御する制御手段とを備えるデータ処理装置であっ
て、 上記論理キャッシュメモリは、キャッシュエントリに論
理アドレスの情報に対応される物理アドレスの情報を保
持する領域を有し、 上記制御手段は、論理キャッシュメモリから上記検索情
報によって選ばれたキャッシュエントリが所要の論理ア
ドレスに対応するものでないとき、当該所要の論理アド
レスがその他の論理アドレスと物理アドレス空間を共有
している場合には、当該選ばれたキャッシュエントリが
保有する物理アドレスの情報を、当該検索情報をアドレ
ス変換バッファで変換して得られる物理アドレスの情報
と比較し、一致している場合には上記選ばれたキャッシ
ュエントリの情報を利用させるものであることを特徴と
するデータ処理装置。 - 【請求項2】 論理アドレスの情報を検索情報とする論
理キャッシュメモリと、論理アドレスを物理アドレスに
変換するための変換対を格納するアドレス変換バッファ
と、上記論理キャッシュメモリとアドレス変換バッファ
とを制御する制御手段とを備えるデータ処理装置であっ
て、 上記論理キャッシュメモリは、キャッシュエントリに論
理アドレスの情報に対応される物理アドレスの情報を保
持する領域を有し、 上記制御手段は、書込み処理において論理キャッシュメ
モリから上記検索情報によって選ばれたキャッシュエン
トリが所要の論理アドレスに対応するものであるとき、
物理アドレス空間への書込みのための物理アドレスの生
成に、当該選ばれたキャッシュエントリが保有する物理
アドレスを利用させるものであることを特徴とするデー
タ処理装置。 - 【請求項3】 論理アドレスの情報を検索情報とする論
理キャッシュメモリと、論理アドレスを物理アドレスに
変換するための変換対を格納するアドレス変換バッファ
と、上記論理キャッシュメモリとアドレス変換バッファ
とを制御する制御手段とを備えるデータ処理装置であっ
て、 上記論理キャッシュメモリは、キャッシュエントリに論
理アドレスの情報に対応される物理アドレスの情報を保
持する領域を有し、 上記制御手段は、論理キャッシュメモリから上記検索情
報によって選ばれたキャッシュエントリが所要の論理ア
ドレスに対応するものでなく、且つ、当該所要の論理ア
ドレスがその他の論理アドレスと物理アドレス空間を共
有していることを検出するキャッシュアドレス比較手段
と、 このキャッシュアドレス比較手段による上記検出によ
り、上記選ばれたキャッシュエントリが保有する物理ア
ドレスの情報を、当該検索情報をアドレス変換バッファ
で変換して得られる物理アドレスの情報と比較してその
一致を検出する物理アドレス比較手段と、 この物理アドレス比較手段による比較結果が一致のと
き、上記選ばれたキャッシュエントリの情報を利用する
データコントローラと、 書込み処理において上記論理キャッシュメモリから上記
検索情報によって選ばれたキャッシュエントリが所要の
論理アドレスに対応するものであるとき、物理アドレス
空間への書込みのための物理アドレスの生成に、当該選
ばれたキャッシュエントリが保有する物理アドレスを利
用するアドレスコントローラとから成る、ものであるこ
とを特徴とするデータ処理装置。 - 【請求項4】 上記論理キャッシュメモリはセットアソ
シアティブ形式とされ、そのキャッシュエントリに、多
重論理空間の空間番号、夫々空間番号で特定される論理
空間が他の論理空間との間で物理空間を共有している否
かを示すための共有フラグ、論理ページ情報、論理アド
レスに対応されるデータ、及び上記物理アドレスの情報
としての物理ページ情報の夫々を保持するための領域を
有して成るものであることを特徴とする請求項1乃至3
の何れか1項記載のデータ処理装置。 - 【請求項5】 上記アドレス変換バッファはセットアソ
シアティブ形式とされ、その変換対に、多重論理空間の
空間番号、夫々空間番号で特定される論理空間が他の論
理空間との間で物理空間を共有している否かを示すため
の共有フラグ、論理ページ情報、及びその論理ページ情
報に対応される物理ページ情報の夫々を保持するための
領域を有して成るものであることを特徴とする請求項4
記載のデータ処理装置。 - 【請求項6】 論理ページのサイズが変更されたとき上
記アドレス変換バッファに代えて利用される別のアドレ
ス変換バッファを備え、当該別のアドレス変換バッファ
はフルアソシアティブ形式のアドレス変換バッファであ
ることを特徴とする請求項5記載のデータ処理装置。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6104723A JPH07287668A (ja) | 1994-04-19 | 1994-04-19 | データ処理装置 |
TW084102963A TW259855B (en) | 1994-04-19 | 1995-03-27 | Data processing device |
KR1019950008057A KR100349792B1 (ko) | 1994-04-19 | 1995-04-07 | 데이타처리장치 |
CN95105005A CN1124378A (zh) | 1994-04-19 | 1995-04-19 | 数字处理器 |
US08/924,551 US5930833A (en) | 1994-04-19 | 1997-08-21 | Logical cache memory storing logical and physical address information for resolving synonym problems |
US09/359,931 US6138226A (en) | 1994-04-19 | 1999-07-22 | Logical cache memory storing logical and physical address information for resolving synonym problems |
US09/693,678 US6324634B1 (en) | 1994-04-19 | 2000-10-19 | Methods for operating logical cache memory storing logical and physical address information |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6104723A JPH07287668A (ja) | 1994-04-19 | 1994-04-19 | データ処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07287668A true JPH07287668A (ja) | 1995-10-31 |
Family
ID=14388421
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6104723A Pending JPH07287668A (ja) | 1994-04-19 | 1994-04-19 | データ処理装置 |
Country Status (5)
Country | Link |
---|---|
US (3) | US5930833A (ja) |
JP (1) | JPH07287668A (ja) |
KR (1) | KR100349792B1 (ja) |
CN (1) | CN1124378A (ja) |
TW (1) | TW259855B (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100343940B1 (ko) * | 1999-02-26 | 2002-07-20 | 삼성전자 주식회사 | 트랜슬레이션 룩어헤드 버퍼 예측 비트를 이용한 쓰기동작시의 캐쉬 얼리어싱 방지 |
US7330961B2 (en) | 2002-11-21 | 2008-02-12 | Fujitsu Limited | Cache control method and processor system |
JP2010026969A (ja) * | 2008-07-24 | 2010-02-04 | Hitachi Ltd | データ処理装置 |
JP2015507810A (ja) * | 2012-01-18 | 2015-03-12 | クアルコム,インコーポレイテッド | 仮想タグ付きキャッシュにおけるエイリアスアドレスのキャッシュヒット/ミスの判定、ならびに関連システムおよび方法 |
Families Citing this family (141)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07287668A (ja) * | 1994-04-19 | 1995-10-31 | Hitachi Ltd | データ処理装置 |
DE69738902D1 (de) * | 1997-06-27 | 2008-09-25 | Bull Sa | Busschnittstellebrücke zwischen einem Systembus und Lokalbussen mit Lokaladressenübersetzung für mittels Adressenraum programmierbaren Systemraumzugriff |
US6138223A (en) * | 1998-04-30 | 2000-10-24 | International Business Machines Corporation | Absolute address history table index generation for predicting instruction and operand cache accesses |
US6298411B1 (en) | 1999-01-05 | 2001-10-02 | Compaq Computer Corporation | Method and apparatus to share instruction images in a virtual cache |
US6442664B1 (en) * | 1999-06-01 | 2002-08-27 | International Business Machines Corporation | Computer memory address translation system |
US6301648B1 (en) * | 1999-08-18 | 2001-10-09 | Ati International Srl | Method and apparatus for processing memory accesses utilizing a TLB |
US6684348B1 (en) | 1999-10-01 | 2004-01-27 | Hitachi, Ltd. | Circuit for processing trace information |
US6553460B1 (en) * | 1999-10-01 | 2003-04-22 | Hitachi, Ltd. | Microprocessor having improved memory management unit and cache memory |
US6434665B1 (en) | 1999-10-01 | 2002-08-13 | Stmicroelectronics, Inc. | Cache memory store buffer |
US6826191B1 (en) | 1999-10-01 | 2004-11-30 | Stmicroelectronics Ltd. | Packets containing transaction attributes |
US6408381B1 (en) | 1999-10-01 | 2002-06-18 | Hitachi, Ltd. | Mechanism for fast access to control space in a pipeline processor |
US6859891B2 (en) | 1999-10-01 | 2005-02-22 | Stmicroelectronics Limited | Apparatus and method for shadowing processor information |
US6772325B1 (en) * | 1999-10-01 | 2004-08-03 | Hitachi, Ltd. | Processor architecture and operation for exploiting improved branch control instruction |
US7072817B1 (en) | 1999-10-01 | 2006-07-04 | Stmicroelectronics Ltd. | Method of designing an initiator in an integrated circuit |
US7000078B1 (en) | 1999-10-01 | 2006-02-14 | Stmicroelectronics Ltd. | System and method for maintaining cache coherency in a shared memory system |
US6412043B1 (en) | 1999-10-01 | 2002-06-25 | Hitachi, Ltd. | Microprocessor having improved memory management unit and cache memory |
US6590907B1 (en) | 1999-10-01 | 2003-07-08 | Stmicroelectronics Ltd. | Integrated circuit with additional ports |
US6629115B1 (en) | 1999-10-01 | 2003-09-30 | Hitachi, Ltd. | Method and apparatus for manipulating vectored data |
US6460174B1 (en) | 1999-10-01 | 2002-10-01 | Stmicroelectronics, Ltd. | Methods and models for use in designing an integrated circuit |
US6557119B1 (en) | 1999-10-01 | 2003-04-29 | Stmicroelectronics Limited | Microcomputer debug architecture and method |
US6349371B1 (en) | 1999-10-01 | 2002-02-19 | Stmicroelectronics Ltd. | Circuit for storing information |
US6457118B1 (en) | 1999-10-01 | 2002-09-24 | Hitachi Ltd | Method and system for selecting and using source operands in computer system instructions |
US6542983B1 (en) | 1999-10-01 | 2003-04-01 | Hitachi, Ltd. | Microcomputer/floating point processor interface and method |
US6567932B2 (en) | 1999-10-01 | 2003-05-20 | Stmicroelectronics Limited | System and method for communicating with an integrated circuit |
US6629207B1 (en) | 1999-10-01 | 2003-09-30 | Hitachi, Ltd. | Method for loading instructions or data into a locked way of a cache memory |
US7266728B1 (en) | 1999-10-01 | 2007-09-04 | Stmicroelectronics Ltd. | Circuit for monitoring information on an interconnect |
US6665816B1 (en) | 1999-10-01 | 2003-12-16 | Stmicroelectronics Limited | Data shift register |
US6732307B1 (en) | 1999-10-01 | 2004-05-04 | Hitachi, Ltd. | Apparatus and method for storing trace information |
US6487683B1 (en) | 1999-10-01 | 2002-11-26 | Stmicroelectronics Limited | Microcomputer debug architecture and method |
US7793261B1 (en) | 1999-10-01 | 2010-09-07 | Stmicroelectronics Limited | Interface for transferring debug information |
US6598128B1 (en) | 1999-10-01 | 2003-07-22 | Hitachi, Ltd. | Microprocessor having improved memory management unit and cache memory |
US6412047B2 (en) | 1999-10-01 | 2002-06-25 | Stmicroelectronics, Inc. | Coherency protocol |
US6502210B1 (en) | 1999-10-01 | 2002-12-31 | Stmicroelectronics, Ltd. | Microcomputer debug architecture and method |
US6615370B1 (en) | 1999-10-01 | 2003-09-02 | Hitachi, Ltd. | Circuit for storing trace information |
JP2001142692A (ja) * | 1999-10-01 | 2001-05-25 | Hitachi Ltd | 2つの異なる固定長命令セットを実行するマイクロプロセッサ、マイクロコンピュータおよび命令実行方法 |
US7260745B1 (en) | 1999-10-01 | 2007-08-21 | Stmicroelectronics Ltd. | Detection of information on an interconnect |
US6928073B2 (en) * | 1999-10-01 | 2005-08-09 | Stmicroelectronics Ltd. | Integrated circuit implementing packet transmission |
US6449712B1 (en) | 1999-10-01 | 2002-09-10 | Hitachi, Ltd. | Emulating execution of smaller fixed-length branch/delay slot instructions with a sequence of larger fixed-length instructions |
US6693914B1 (en) | 1999-10-01 | 2004-02-17 | Stmicroelectronics, Inc. | Arbitration mechanism for packet transmission |
US6298394B1 (en) | 1999-10-01 | 2001-10-02 | Stmicroelectronics, Ltd. | System and method for capturing information on an interconnect in an integrated circuit |
US6701405B1 (en) | 1999-10-01 | 2004-03-02 | Hitachi, Ltd. | DMA handshake protocol |
US6574651B1 (en) | 1999-10-01 | 2003-06-03 | Hitachi, Ltd. | Method and apparatus for arithmetic operation on vectored data |
US6496905B1 (en) | 1999-10-01 | 2002-12-17 | Hitachi, Ltd. | Write buffer with burst capability |
US6591369B1 (en) | 1999-10-01 | 2003-07-08 | Stmicroelectronics, Ltd. | System and method for communicating with an integrated circuit |
US6598177B1 (en) | 1999-10-01 | 2003-07-22 | Stmicroelectronics Ltd. | Monitoring error conditions in an integrated circuit |
US6779145B1 (en) | 1999-10-01 | 2004-08-17 | Stmicroelectronics Limited | System and method for communicating with an integrated circuit |
US6530047B1 (en) | 1999-10-01 | 2003-03-04 | Stmicroelectronics Limited | System and method for communicating with an integrated circuit |
US6918065B1 (en) | 1999-10-01 | 2005-07-12 | Hitachi, Ltd. | Method for compressing and decompressing trace information |
US6546480B1 (en) | 1999-10-01 | 2003-04-08 | Hitachi, Ltd. | Instructions for arithmetic operations on vectored data |
US6463553B1 (en) | 1999-10-01 | 2002-10-08 | Stmicroelectronics, Ltd. | Microcomputer debug architecture and method |
US6351803B2 (en) | 1999-10-01 | 2002-02-26 | Hitachi Ltd. | Mechanism for power efficient processing in a pipeline processor |
US6633971B2 (en) | 1999-10-01 | 2003-10-14 | Hitachi, Ltd. | Mechanism for forward data in a processor pipeline using a single pipefile connected to the pipeline |
US6601189B1 (en) | 1999-10-01 | 2003-07-29 | Stmicroelectronics Limited | System and method for communicating with an integrated circuit |
US6820195B1 (en) | 1999-10-01 | 2004-11-16 | Hitachi, Ltd. | Aligning load/store data with big/little endian determined rotation distance control |
US6826668B1 (en) * | 1999-10-05 | 2004-11-30 | International Business Machines Corporation | System and method for reorganizing data on a disk drive to improve spatial locality |
US6385712B1 (en) * | 1999-10-25 | 2002-05-07 | Ati International Srl | Method and apparatus for segregation of virtual address space |
JP2002007209A (ja) * | 2000-06-26 | 2002-01-11 | Fujitsu Ltd | データ処理装置 |
US6560690B2 (en) | 2000-12-29 | 2003-05-06 | Intel Corporation | System and method for employing a global bit for page sharing in a linear-addressed cache |
US6728858B2 (en) * | 2001-03-30 | 2004-04-27 | Intel Corporation | Method and apparatus including heuristic for sharing TLB entries |
US7073044B2 (en) * | 2001-03-30 | 2006-07-04 | Intel Corporation | Method and apparatus for sharing TLB entries |
KR20030054110A (ko) * | 2001-12-24 | 2003-07-02 | 한국전자통신연구원 | 다중 자바 데이터베이스 연결 캐쉬 시스템 및 그 방법 |
US7181590B2 (en) * | 2003-08-28 | 2007-02-20 | Intel Corporation | Method for page sharing in a processor with multiple threads and pre-validated caches |
US7076635B1 (en) * | 2003-09-04 | 2006-07-11 | Advanced Micro Devices, Inc. | Method and apparatus for reducing instruction TLB accesses |
US7249225B1 (en) * | 2003-10-31 | 2007-07-24 | Sun Microsystems, Inc | Method and apparatus for supporting read-only objects within an object-addressed memory hierarchy |
US7130983B1 (en) * | 2003-12-17 | 2006-10-31 | Storage Technology Corporation | System and method for reference count regeneration |
US7096341B1 (en) * | 2003-12-17 | 2006-08-22 | Storage Technology Corporation | System and method for reference count regeneration |
US20070220231A1 (en) * | 2006-03-20 | 2007-09-20 | Sridharan Sakthivelu | Virtual address translation by a processor for a peripheral device |
CN101449256B (zh) | 2006-04-12 | 2013-12-25 | 索夫特机械公司 | 对载明并行和依赖运算的指令矩阵进行处理的装置和方法 |
CN100389394C (zh) * | 2006-07-04 | 2008-05-21 | 华为技术有限公司 | 一种数字处理芯片 |
US7707379B2 (en) * | 2006-07-13 | 2010-04-27 | International Business Machines Corporation | Dynamic latency map for memory optimization |
US7594079B2 (en) | 2006-09-29 | 2009-09-22 | Mips Technologies, Inc. | Data cache virtual hint way prediction, and applications thereof |
US9946547B2 (en) | 2006-09-29 | 2018-04-17 | Arm Finance Overseas Limited | Load/store unit for a processor, and applications thereof |
CN101627365B (zh) | 2006-11-14 | 2017-03-29 | 索夫特机械公司 | 多线程架构 |
US8151060B2 (en) * | 2006-11-28 | 2012-04-03 | Hitachi, Ltd. | Semiconductor memory system having a snapshot function |
US7958301B2 (en) * | 2007-04-10 | 2011-06-07 | Marvell World Trade Ltd. | Memory controller and method for memory pages with dynamically configurable bits per cell |
US8799620B2 (en) * | 2007-06-01 | 2014-08-05 | Intel Corporation | Linear to physical address translation with support for page attributes |
CN101324861B (zh) * | 2007-06-13 | 2010-05-19 | 华东师范大学 | Rom结构及写入intel hex文件的方法 |
US8239633B2 (en) * | 2007-07-11 | 2012-08-07 | Wisconsin Alumni Research Foundation | Non-broadcast signature-based transactional memory |
JP4964091B2 (ja) * | 2007-10-30 | 2012-06-27 | 川崎マイクロエレクトロニクス株式会社 | メモリアクセス方法およびメモリ制御装置 |
US8190652B2 (en) * | 2007-12-06 | 2012-05-29 | Intel Corporation | Achieving coherence between dynamically optimized code and original code |
US8041894B2 (en) * | 2008-02-25 | 2011-10-18 | International Business Machines Corporation | Method and system for a multi-level virtual/real cache system with synonym resolution |
CN101286136B (zh) * | 2008-04-24 | 2011-12-28 | 北京中星微电子有限公司 | 在电可擦写可编程只读存储器中存储数据的方法及装置 |
US20090315906A1 (en) * | 2008-06-18 | 2009-12-24 | Microsoft Corporation | Cache arrangement for graphical applications |
CN101609430B (zh) * | 2008-06-19 | 2013-03-20 | 威刚科技股份有限公司 | 内存储存空间管理方法 |
CN101477495B (zh) * | 2008-10-28 | 2011-03-16 | 北京航空航天大学 | 分布式内存虚拟化技术的实现方法 |
US8341501B2 (en) * | 2009-04-30 | 2012-12-25 | International Business Machines Corporation | Adaptive endurance coding of non-volatile memories |
JP5365336B2 (ja) * | 2009-05-01 | 2013-12-11 | ソニー株式会社 | メモリ制御装置およびメモリ制御方法 |
JP2011198091A (ja) * | 2010-03-19 | 2011-10-06 | Toshiba Corp | 仮想アドレスキャッシュメモリ、プロセッサ及びマルチプロセッサシステム |
US9075733B1 (en) * | 2010-05-20 | 2015-07-07 | Seagate Technology Llc | Selective storage of address mapping metadata in a system having multiple memories |
US10133676B2 (en) | 2010-07-28 | 2018-11-20 | Rambus Inc. | Cache memory that supports tagless addressing |
CN101923513B (zh) * | 2010-08-11 | 2012-08-22 | 深圳市同洲电子股份有限公司 | 存储器的数据写读方法、系统和flash存储器 |
CN103250131B (zh) | 2010-09-17 | 2015-12-16 | 索夫特机械公司 | 包括用于早期远分支预测的影子缓存的单周期多分支预测 |
CN103562866B (zh) | 2011-03-25 | 2018-03-30 | 英特尔公司 | 用于通过使用由可分割引擎实例化的虚拟核来支持代码块执行的寄存器文件段 |
KR101638225B1 (ko) | 2011-03-25 | 2016-07-08 | 소프트 머신즈, 인크. | 분할가능한 엔진에 의해 인스턴스화된 가상 코어를 이용한 명령어 시퀀스 코드 블록의 실행 |
KR101966712B1 (ko) | 2011-03-25 | 2019-04-09 | 인텔 코포레이션 | 분할가능한 엔진에 의해 인스턴스화된 가상 코어를 이용한 코드 블록의 실행을 지원하는 메모리 프래그먼트 |
CN107729267B (zh) | 2011-05-20 | 2022-01-25 | 英特尔公司 | 资源的分散分配以及用于支持由多个引擎执行指令序列的互连结构 |
TWI548994B (zh) | 2011-05-20 | 2016-09-11 | 軟體機器公司 | 以複數個引擎支援指令序列的執行之互連結構 |
WO2013058745A1 (en) | 2011-10-18 | 2013-04-25 | Soft Machines, Inc. | Methods and systems for managing synonyms in virtually indexed physically tagged caches |
JP2013097671A (ja) * | 2011-11-02 | 2013-05-20 | Fujitsu Ltd | アドレス変換装置、アドレス変換装置の制御方法及び演算処理装置 |
IN2014CN03678A (ja) | 2011-11-22 | 2015-09-25 | Soft Machines Inc | |
EP2783281B1 (en) | 2011-11-22 | 2020-05-13 | Intel Corporation | A microprocessor accelerated code optimizer |
US8930674B2 (en) | 2012-03-07 | 2015-01-06 | Soft Machines, Inc. | Systems and methods for accessing a unified translation lookaside buffer |
US9081706B2 (en) * | 2012-05-10 | 2015-07-14 | Oracle International Corporation | Using a shared last-level TLB to reduce address-translation latency |
US9003163B2 (en) * | 2012-06-12 | 2015-04-07 | Oracle International Corporation | Combining a remote TLB lookup and a subsequent cache miss into a single coherence operation |
US9229873B2 (en) | 2012-07-30 | 2016-01-05 | Soft Machines, Inc. | Systems and methods for supporting a plurality of load and store accesses of a cache |
US9916253B2 (en) | 2012-07-30 | 2018-03-13 | Intel Corporation | Method and apparatus for supporting a plurality of load accesses of a cache in a single cycle to maintain throughput |
US9710399B2 (en) | 2012-07-30 | 2017-07-18 | Intel Corporation | Systems and methods for flushing a cache with modified data |
US9430410B2 (en) | 2012-07-30 | 2016-08-30 | Soft Machines, Inc. | Systems and methods for supporting a plurality of load accesses of a cache in a single cycle |
US9740612B2 (en) | 2012-07-30 | 2017-08-22 | Intel Corporation | Systems and methods for maintaining the coherency of a store coalescing cache and a load cache |
US9678882B2 (en) | 2012-10-11 | 2017-06-13 | Intel Corporation | Systems and methods for non-blocking implementation of cache flush instructions |
CN103810054A (zh) * | 2012-11-14 | 2014-05-21 | 智微科技股份有限公司 | 错误检查及校正方法以及相关错误检查及校正电路 |
US9569216B2 (en) | 2013-03-15 | 2017-02-14 | Soft Machines, Inc. | Method for populating a source view data structure by using register template snapshots |
WO2014150806A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for populating register view data structure by using register template snapshots |
KR101708591B1 (ko) | 2013-03-15 | 2017-02-20 | 소프트 머신즈, 인크. | 블록들로 그룹화된 멀티스레드 명령어들을 실행하기 위한 방법 |
US9886279B2 (en) | 2013-03-15 | 2018-02-06 | Intel Corporation | Method for populating and instruction view data structure by using register template snapshots |
US9891924B2 (en) | 2013-03-15 | 2018-02-13 | Intel Corporation | Method for implementing a reduced size register view data structure in a microprocessor |
WO2014150971A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for dependency broadcasting through a block organized source view data structure |
US9811342B2 (en) | 2013-03-15 | 2017-11-07 | Intel Corporation | Method for performing dual dispatch of blocks and half blocks |
WO2014150991A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for implementing a reduced size register view data structure in a microprocessor |
KR102083390B1 (ko) | 2013-03-15 | 2020-03-02 | 인텔 코포레이션 | 네이티브 분산된 플래그 아키텍처를 이용하여 게스트 중앙 플래그 아키텍처를 에뮬레이션하는 방법 |
US9904625B2 (en) | 2013-03-15 | 2018-02-27 | Intel Corporation | Methods, systems and apparatus for predicting the way of a set associative cache |
US10275255B2 (en) | 2013-03-15 | 2019-04-30 | Intel Corporation | Method for dependency broadcasting through a source organized source view data structure |
US10140138B2 (en) | 2013-03-15 | 2018-11-27 | Intel Corporation | Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation |
CN104298616B (zh) * | 2013-07-15 | 2017-10-17 | 华为技术有限公司 | 数据块初始化方法、高速缓冲存储器和终端 |
US9213532B2 (en) | 2013-09-26 | 2015-12-15 | Oracle International Corporation | Method for ordering text in a binary |
US10089240B2 (en) * | 2014-12-26 | 2018-10-02 | Wisconsin Alumni Research Foundation | Cache accessed using virtual addresses |
US9477613B2 (en) | 2015-02-13 | 2016-10-25 | International Business Machines Corporation | Position-based replacement policy for address synonym management in shared caches |
KR20160003547U (ko) | 2015-04-06 | 2016-10-14 | 김지연 | 빌트인 타입 욕실 선반 |
US20170220466A1 (en) * | 2016-01-30 | 2017-08-03 | Intel Corporation | Sharing a guest physical address space among virtualized contexts |
US9983820B2 (en) * | 2016-03-29 | 2018-05-29 | Nxp B.V. | Method for performing data updates |
CN109983538B (zh) | 2016-11-29 | 2023-06-16 | Arm有限公司 | 存储地址转换 |
US10698836B2 (en) | 2017-06-16 | 2020-06-30 | International Business Machines Corporation | Translation support for a virtual cache |
US10606762B2 (en) | 2017-06-16 | 2020-03-31 | International Business Machines Corporation | Sharing virtual and real translations in a virtual cache |
US10831664B2 (en) | 2017-06-16 | 2020-11-10 | International Business Machines Corporation | Cache structure using a logical directory |
US10289557B2 (en) | 2017-08-28 | 2019-05-14 | Western Digital Technologies, Inc. | Storage system and method for fast lookup in a table-caching database |
US10831673B2 (en) | 2017-11-22 | 2020-11-10 | Arm Limited | Memory address translation |
US10929308B2 (en) | 2017-11-22 | 2021-02-23 | Arm Limited | Performing maintenance operations |
US10866904B2 (en) * | 2017-11-22 | 2020-12-15 | Arm Limited | Data storage for multiple data types |
US11074172B2 (en) * | 2019-01-10 | 2021-07-27 | Intel Corporation | On-device-copy for hybrid SSD with second persistent storage media update of logical block address for first persistent storage media data |
CN111666230B (zh) * | 2020-05-27 | 2023-08-01 | 江苏华创微系统有限公司 | 在组相联tlb中支持巨页的方法 |
US11249907B1 (en) * | 2020-12-08 | 2022-02-15 | Micron Technology, Inc. | Write-back cache policy to limit data transfer time to a memory device |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4332010A (en) * | 1980-03-17 | 1982-05-25 | International Business Machines Corporation | Cache synonym detection and handling mechanism |
US4400770A (en) * | 1980-11-10 | 1983-08-23 | International Business Machines Corporation | Cache synonym detection and handling means |
US4873629A (en) * | 1984-06-20 | 1989-10-10 | Convex Computer Corporation | Instruction processing unit for computer |
US4797814A (en) * | 1986-05-01 | 1989-01-10 | International Business Machines Corporation | Variable address mode cache |
JPH0221342A (ja) * | 1987-02-27 | 1990-01-24 | Hitachi Ltd | マルチプロセッサシステム及びマルチプロセッサシステムにおける論理キャッシュメモリのアクセス方法 |
US4926317A (en) * | 1987-07-24 | 1990-05-15 | Convex Computer Corporation | Hierarchical memory system with logical cache, physical cache, and address translation unit for generating a sequence of physical addresses |
JPH01302444A (ja) * | 1988-05-31 | 1989-12-06 | Toshiba Corp | 論理アドレスキャッシュ制御方式 |
US5148538A (en) * | 1989-10-20 | 1992-09-15 | International Business Machines Corporation | Translation look ahead based cache access |
US5623620A (en) | 1993-06-30 | 1997-04-22 | Intel Corporation | Special test modes for a page buffer shared resource in a memory device |
JPH07287668A (ja) * | 1994-04-19 | 1995-10-31 | Hitachi Ltd | データ処理装置 |
-
1994
- 1994-04-19 JP JP6104723A patent/JPH07287668A/ja active Pending
-
1995
- 1995-03-27 TW TW084102963A patent/TW259855B/zh active
- 1995-04-07 KR KR1019950008057A patent/KR100349792B1/ko not_active IP Right Cessation
- 1995-04-19 CN CN95105005A patent/CN1124378A/zh active Pending
-
1997
- 1997-08-21 US US08/924,551 patent/US5930833A/en not_active Expired - Fee Related
-
1999
- 1999-07-22 US US09/359,931 patent/US6138226A/en not_active Expired - Fee Related
-
2000
- 2000-10-19 US US09/693,678 patent/US6324634B1/en not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100343940B1 (ko) * | 1999-02-26 | 2002-07-20 | 삼성전자 주식회사 | 트랜슬레이션 룩어헤드 버퍼 예측 비트를 이용한 쓰기동작시의 캐쉬 얼리어싱 방지 |
US7330961B2 (en) | 2002-11-21 | 2008-02-12 | Fujitsu Limited | Cache control method and processor system |
JP2010026969A (ja) * | 2008-07-24 | 2010-02-04 | Hitachi Ltd | データ処理装置 |
JP2015507810A (ja) * | 2012-01-18 | 2015-03-12 | クアルコム,インコーポレイテッド | 仮想タグ付きキャッシュにおけるエイリアスアドレスのキャッシュヒット/ミスの判定、ならびに関連システムおよび方法 |
Also Published As
Publication number | Publication date |
---|---|
US5930833A (en) | 1999-07-27 |
US6138226A (en) | 2000-10-24 |
CN1124378A (zh) | 1996-06-12 |
KR100349792B1 (ko) | 2003-01-06 |
US6324634B1 (en) | 2001-11-27 |
TW259855B (en) | 1995-10-11 |
KR950033848A (ko) | 1995-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH07287668A (ja) | データ処理装置 | |
JP3713312B2 (ja) | データ処理装置 | |
JP3740195B2 (ja) | データ処理装置 | |
US6532528B1 (en) | Data processor and data processor system having multiple modes of address indexing and operation | |
EP0408058B1 (en) | Microprocessor | |
US20040117588A1 (en) | Access request for a data processing system having no system memory | |
JPH10177520A (ja) | データプロセッサ及びデータ処理システム | |
US20040117587A1 (en) | Hardware managed virtual-to-physical address translation mechanism | |
US20080270707A1 (en) | Data processor | |
EP0976048A1 (en) | Page table walker which positions a sliding field in a virtual address using page size | |
WO1998044419A1 (en) | A method and apparatus for implementing a page table walker with a sliding field | |
JPH03142644A (ja) | キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置 | |
US6766434B2 (en) | Method for sharing a translation lookaside buffer between CPUs | |
US8015361B2 (en) | Memory-centric page table walker | |
JP2930071B2 (ja) | 情報処理装置およびプロセッサ | |
US8688952B2 (en) | Arithmetic processing unit and control method for evicting an entry from a TLB to another TLB | |
US20040117590A1 (en) | Aliasing support for a data processing system having no system memory | |
US20040117591A1 (en) | Data processing system having no system memory | |
US20080114940A1 (en) | Data Processor | |
JP2007280421A (ja) | データ処理装置 | |
EP0428079A2 (en) | Translation look aside buffer with parallel exception checking and update bypass | |
JP2005108262A (ja) | データ処理装置 | |
US20040117583A1 (en) | Apparatus for influencing process scheduling in a data processing system capable of utilizing a virtual memory processing scheme | |
JPH0619789A (ja) | マルチプロセッサシステム | |
JPH09251424A (ja) | キャッシュ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20030722 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20040604 |