JP2003067245A - データ処理装置のメモリ・ユニットに対するアクセス - Google Patents

データ処理装置のメモリ・ユニットに対するアクセス

Info

Publication number
JP2003067245A
JP2003067245A JP2002189853A JP2002189853A JP2003067245A JP 2003067245 A JP2003067245 A JP 2003067245A JP 2002189853 A JP2002189853 A JP 2002189853A JP 2002189853 A JP2002189853 A JP 2002189853A JP 2003067245 A JP2003067245 A JP 2003067245A
Authority
JP
Japan
Prior art keywords
memory
access
attribute
attributes
predetermined
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
JP2002189853A
Other languages
English (en)
Other versions
JP4111760B2 (ja
Inventor
Peter Guy Middleton
ガイ ミドルトン ピーター
David Michael Bull
マイケル ブル デイヴィッド
Gary Campbell
キャンベル ゲイリー
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.)
ARM Ltd
Original Assignee
ARM Ltd
Advanced Risc Machines 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 ARM Ltd, Advanced Risc Machines Ltd filed Critical ARM Ltd
Publication of JP2003067245A publication Critical patent/JP2003067245A/ja
Application granted granted Critical
Publication of JP4111760B2 publication Critical patent/JP4111760B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0215Addressing or allocation; Relocation with look ahead addressing means
    • 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)
  • Memory System (AREA)

Abstract

(57)【要約】 【課題】 データ処理装置の中のメモリ・ユニットに対
するアクセス・リクェストを高速に処理しかつ大幅に電
力が節約される装置と方法を提供する。 【解決手段】 本発明のデータ処理装置は複数個のメモ
リ・ユニットと、プロセッサ・コアと、メモリ・コント
ローラとを有する。1個または多数個の予め定められた
属性を予想するために予想論理装置が配置され、そして
クロック発生論理装置が予想され予め定められた属性に
応答して、アクセスの実行の期間中にメモリ・ユニット
のどの1つがクロックされるべきかを選定し、そしてそ
のメモリ・ユニットにクロック信号を送る。次に、属性
発生論理装置によって発生された予め定められた属性が
予想され予め定められた属性と一致するかどうかを決定
し、そしてもし一致しないならば、アクセスを再開始す
るための検査論理装置が備えられる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はデータ処理装置の中
のメモリ・ユニットに対してアクセスするための技術に
関する。
【0002】
【発明が解決しようとする課題】データ処理装置は、典
型的には、データ処理動作を実行するためのプロセッサ
・コアを有する。この場合、このようなデータ処理動作
を実行するためにプロセッサ・コアによって要求される
データおよび/または命令を記憶するために、メモリ・
システムが利用されるであろう。したがって、プロセッ
サ・コアはこのメモリ・システムから命令および付随す
るデータを受け取り、そしてこれらの命令を実行するで
あろう。そしてオプションで、データをメモリ・システ
ムの中に再び記憶するために出力するであろう。下記に
おいて、「データ値」という用語が命令とデータとの両
方を指すとして用いられるであろう。データ値がメモリ
・システムにまたはメモリ・システムから転送される
時、プロセッサ・コアはこの転送を指定するアクセス・
リクェストを出すであろう。
【0003】典型的なメモリ・システムは主メモリを有
するであろう。この主メモリは、ここでは外部メモリと
呼ばれる。この主メモリは、プロセッサ・コアによって
要求されるデータ値を記憶することができる。けれど
も、この主メモリからのデータ値の引き出し、およびこ
の主メモリにデータ値を再び書き込むことは、典型的に
は比較的に遅い工程である。したがって、メモリ・シス
テムの中に、主メモリに加えて1個または多数個のメモ
リ・ユニットを備えることがよく知られている。このよ
うに付加されるメモリ・ユニットの1つのよく知られた
例はキャッシュである。このキャッシュは、主メモリか
ら引き出されたデータ値および/またはプロセッサ・コ
アによって出力されたデータ値を記憶するために用いる
ことができる。したがって、もし後でのデータ処理動作
で要求されることがあるならば、プロセッサ・コアはこ
れらのデータ値を容易に利用することができる。当業者
にはよく知られているように、どのデータ値をキャッシ
ュの中に記憶するか、および新しいデータ値をキャッシ
ュの中に記憶することが必要である時どのデータ値をキ
ャッシュから立ち退かせるかを決定するために、よく知
られた多くの技術が存在する。けれども、基本的には、
キャッシュは主メモリに比べて典型的には比較的に小型
であり、そして主メモリよりもアクセスに対して大幅に
高速であり、そしてプロセッサ・コアによって必要とさ
れそうなデータ値を一時的に記憶するのが目的である。
【0004】メモリ・システムは1個のキャッシュを有
することができる、またはそれとは異なって、複数個の
キャッシュを階層構造に配列して有することができる。
【0005】それに加えて、メモリ・システムの中に有
することができるまた別の種類のメモリ・ユニットは、
強く結合されたメモリ(TCM(tightly-coupled memor
y))である。このTCMは、プロセッサ・コアがアクセ
ス・リクェストをそれに出力するプロセッサ・バスに典
型的には接続され、そして決定論的アクセス時間が要求
されるデータ値を記憶するために用いられる。TCMは
プログラマに対して、データ値を記憶するために用いる
ことができる連続したアドレス・スペースを提供する。
したがって、例えば、決定論的アクセス時間が重要であ
るコードの特定の部分をTCMの中に直接に記憶するこ
とができる。もしそれが主メモリの特定の部分(すなわ
ち、TCMの中のデータ値は主メモリの中で複製されな
い)であるかのようにTCMを用いることができる、ま
たはそれとは異なって、TCMの中に配置されるべきデ
ータ値を主メモリから複製することができる。典型的に
は、データ処理装置の中のどこかに配置されたレジスタ
がTCMの中に配置されたデータ値のアドレス範囲の記
録を保持するであろう。それで、プロセッサ・コアによ
るアクセス・リクェストの対象である特定のデータ値が
TCMの中に見つけることができるかまたはそうでない
かを決定することができる。TCMは任意の適切な形式
で実施することができる。例えば、ランダム・アクセス
・メモリ(RAM)、読出し専用メモリ(ROM)など
で実施することができる。
【0006】メモリ・システムが複数個のメモリ・ユニ
ットを有する前記の種類のデータ処理装置では、プロセ
ッサ・コアによって出力されるアクセス・リクェストが
解析されて、このアクセスを実行するためにどのメモリ
・ユニットが用いられるべきかを決定するのが典型的な
場合である。例えば、もしアクセス・リクェストがデー
タ値の読み出しに関係しているならば、そしてこのアク
セス・リクェストの一部分として出力されたアドレスが
メモリのキャッシュ可能な領域に関係しているならば、
その場合には、そのデータ値がそのキャッシュの中に存
在しているかどうかを決定するために、キャッシュにア
クセスするのに適切である。もしそのデータ値がそのキ
ャッシュの中に存在しているならば、その場合には、そ
のデータ値をプロセッサ・コアに直接に戻すことがで
き、一方、もしそのデータ値がそのキャッシュの中に存
在していないならば、その場合には典型的には、着目し
ているデータ値を含む多数個のデータ値を外部メモリか
ら読み出すためにラインフィル(linefill)手続きが引き
起こされ、そして次にこれらの引き出されたデータ値が
キャッシュの1つのラインの中に配置される。
【0007】同様に、もしTCMの中に記憶されたデー
タ値のアドレス範囲を記憶するレジスタを参照するなら
ば、そのデータ値がTCMの中に存在することが決定さ
れる。その場合には、プロセッサ・コアによって要求さ
れるデータ値を引き出すために、TCMにアクセスする
ことは明らかに適切である。
【0008】けれども、アクセスを実行することに対し
て要求されたレベルの特性を達成するために、適切なメ
モリ・ユニットに対するアクセスが開始される前に、典
型的には、アクセス・リクェストの前記で説明された解
析が完了するのを待つ十分な時間はない。その代わり
に、実行に対する理由のために、その時までには既にア
クセス・リクェストの解析が行われ、したがってアクセ
スに対する適切なメモリ・ユニットが決定されるよう
に、そのメモリ・ユニットが(例えば、読み出しリクェ
ストに対してプロセッサ・コアに要求されたデータ値を
出力することによって、または書き込みリクェストに対
して要求されたデータ値を記憶することによって)その
アクセスを完了することができる状態に既にあるよう
に、多数のメモリ・ユニットに対するアクセスを同時に
実行することが典型的には要求される。さらに、アクセ
スされた他のメモリ・ユニットによって発生されるがし
かし後になってみれば必要でなかった出力はすべて無視
することができる。
【0009】例えば、キャッシュ・ルックアップが行わ
れそしてキャッシュ・ミスの結果が得られるならば、し
かしアクセス・リクェストの解析の結果がそのデータ値
がメモリのキャッシュ可能でない領域にあったことを示
したならば、その場合には、キャッシュに対してライン
フィルを実行する通常の手続きを引き起こすよりもむし
ろ、キャッシュ・ミスが起こったという事実を無視する
ことができる。同様に、もしアクセス・リクェストによ
って指定されたアドレスがTCMの中に記憶されたアド
レスの範囲の外側にあるならば、その場合には、TCM
の中に記憶されたアドレスの範囲内にあるアドレスの部
分に基づいてTCMは出力を典型的にはなお発生するで
あろう。けれども、そのデータ値がTCMの中にないこ
とをアクセス・リクェストの解析がいったん指示する
と、TCMからのその出力を無視することができる。
【0010】ところが、多数個のメモリ・ユニットを推
測的にアクセスしそして次にこのアクセス・リクェスト
の解析の結果に基づいてそれらの出力を限定する前記の
方式の観点から、アクセスに対する要求された動作を達
成することが可能であるけれども、このような方式はか
なりに大量の電力を消費する。それは、プロセッサ・コ
アによって出力されるアクセス・リクェストを実行する
ために実際に必要であるよりももっと多くのメモリ・ユ
ニットがアクセスされるからである。例えば、キャッシ
ュおよびTCMを用いるシステムでは、もしこのアクセ
ス・リクェストがTCMの中に含まれているデータ値を
実際に指定するならば、その場合には、そのキャッシュ
はアクセスを実行するために不必要に駆動されるであろ
う。一方、もしこのアクセス・リクェストがキャッシュ
可能なデータ値に関係しているならば、TCMはそのア
クセスを実行するために不必要に駆動されるであろう。
【0011】したがって、動作に有害な影響を過度には
与えないでメモリのアクセスを実行するために、さらに
電力を効率的に使用する技術を得ることが要望されるで
あろう。
【0012】
【課題を解決するための手段】第1の特徴からの観点で
は、データ値を記憶するための複数個のメモリ・ユニッ
トと、データ値に関係してこのメモリ・ユニットに行わ
れるべきアクセスを指定するアクセス・リクェストを出
力するためのプロッセサ・コアと、このアクセス・リク
ェストによって指定されたアクセスを実行するためのメ
モリ・コントローラと、アクセスを実行する時にどのメ
モリ・ユニットが用いられるべきかを検証する1個また
は多数個の予め定められた属性をこのアクセス・リクェ
ストから決定するための属性発生論理装置と、1個また
は多数個の予め定められた属性を予想するための予想論
理装置と、この予想論理装置から予想され予め定められ
た属性に応答してアクセスを実行する期間中にメモリ・
ユニットのどの1つがクロックされるべきかを選定しそ
して1つのクロック信号をそのメモリ・ユニットに出力
するクロック発生論理装置と、属性発生論理装置によっ
て発生された予め定められた属性が予想され予め定めら
れた属性と一致するかどうかを決定しそしてもしこの一
致が得られないならばアクセスを再開始する検査論理装
置とを有し、この再開始の場合には属性発生論理装置に
よって決定されるような予め定められた属性を用いてメ
モリ・ユニットの1つを再選定するようにクロック発生
論理装置が構成されているデータ処理装置が本発明によ
り得られる。
【0013】したがって本発明により、アクセスを実行
するためにどのメモリ・ユニットが用いられるべきかを
識別する1個または多数個の予め定められた属性をアク
セス・リクェストから決定するための属性発生論理装置
が備えられる。けれども、実行に対する理由のために、
属性発生論理装置がその決定を完了することを待つこと
なく、アクセス・リクェストによって指定されたアクセ
スをメモリ・コントローラが開始する。けれども、前記
で説明した先行技術とは異なって、多数個のメモリ・ユ
ニットにわたってアクセスが推測的に実行されるわけで
はなく、その代わりに1個または多数個の予め定められ
た属性を予想するための予想論理装置が備えられる。そ
して、アクセスの動作の期間中にメモリ・ユニットのど
の1つをクロックするかを選定するためにおよびそのメ
モリ・ユニットにクロック信号を出力するために、予想
され予め定められた属性に応答するクロック発生論理装
置が備えられる。したがって、キャッシュおよびTCM
を有するデータ処理装置の前の例を取り上げるならば、
もしアクセス・リクェストがキャッシュ可能なデータ値
に関係していることをこの予想され予め定められた属性
が示すならば、その場合には、そのキャッシュはクロッ
クされるであろうが、しかしTCMはクロックされない
であろう。
【0014】本発明により、属性発生論理装置が予め定
められた属性をいったん決定したならば、これらの予め
定められた属性が予想され予め定められた属性と一致す
るかどうかを決定するために配置される検査論理装置を
このデータ処理装置がまた有する。もしこれらの予め定
められた属性が予想され予め定められた属性と一致する
ならば、その場合には、この予想され予め定められた属
性に基づいてアクセスが正しく実行されるであろうか
ら、なんの作用も必要ではない。けれども、もし予め定
められた属性が予想され予め定められた属性と一致しな
いならば、アクセスは再び開始される。その場合には、
予想され予め定められた属性よりはむしろ予め定められ
た属性を用いてメモリ・ユニットの1つを再び選定する
ために、クロック発生論理装置が配置される。
【0015】したがって、適度に正確な予想方式を備え
て用いられる時、アクセスされるべきメモリ・ユニット
の予想を時として誤ることにより動作の際に比較的に小
さな損失を伴って、多数個のメモリ・ユニットに対する
並行したアクセスを回避することにより、電力消費を少
なくすることが本発明により得られることが分かる。
【0016】複数個のメモリ・ユニットのいずれかに対
するアクセスを制御するための総称的なメモリ・コント
ローラを、データ処理装置が有することは可能である。
けれども、好ましい実施例では、このメモリ・コントロ
ーラは複数個のメモリ・コントローラで構成され、そし
てこれらのメモリ・コントローラのおのおのは異なるメ
モリ・ユニットに付随している。そして、アクセスの動
作の期間中、選定されたメモリ・ユニットおよびそれに
付随するメモリ・コントローラをクロックするためのク
ロック発生論理装置が配置される。このような方式で
は、予想され予め定められた属性によって指示されたメ
モリ・ユニット以外のすべてのメモリ・ユニットをクロ
ックしないことにより電力を節約することができるだけ
でなく、それに加えて、これらのクロックされないメモ
リ・ユニットに対して付随するメモリ・コントローラの
いずれをもクロックしないことにより電力を節約するこ
とができる。
【0017】予め定められた属性は種々の形式を取るこ
とができ、そしてこれらの予め定められた属性を多数の
異なる方法で決定することができることが分かるであろ
う。けれども、好ましい実施例では、アクセス・リクェ
ストはデータ値に関係するアドレスを指定し、そしてこ
のアドレスに応じて予め定められた属性を決定するため
に、属性発生論理装置が配置される。このような実施例
では、予め定められた属性を決定するためにそのアドレ
スを分離して用いる必要はないが、しかしTCM領域レ
ジスタ設定、ページ・テーブル属性などのような他の情
報と組み合わせてそのアドレスを用いることができるこ
とが分かるであろう。
【0018】多数個のメモリ・ユニットが用いられる装
置ならどのような装置にでも、本発明を用いることがで
きることが分かるであろう。けれども、好ましい実施例
では、第1のメモリ・ユニットはプロセッサ・コアが決
定論的アクセスを要求するデータ値を記憶するための強
く結合されたメモリである。TCMは典型的にはキャッ
シュに比べて比較的に大型であり、したがって、前記で
説明した先行技術で実行される時、推測的にクロックを
行うために、さらに多くの電力が消費される。したがっ
て、メモリ・ユニットの1つがTCMである実施例で
は、本発明の好ましい実施例の技術を用いることによっ
て、大幅な電力の節約を行うことができる。
【0019】さらに、好ましい実施例では、第2のメモ
リ・ユニットはキャッシュである。
【0020】容易に分かるように、属性発生論理装置は
種々の形式を取ることができる。けれども、好ましい実
施例では、それぞれのアクセス・リクェストに対して予
め定められた属性を含む多数の属性を発生するために配
置されたメモリ・マネージメント・ユニット(MMU(m
emory management unit))の中に、属性発生論理装置が
含まれる。典型的な場合には、データ処理装置はすでに
MMUを有しているであろう。ある属性を発生するため
に、例えば、プロセッサ・コアによって出力されたアド
レスが仮想アドレスであると仮定して物理的なアドレス
やそのデータ値がキャッシュ可能であるかどうかに関す
る指示およびそのデータ値がバッファ可能であるかどう
かに関する指示などを発生するために、MMUが応答し
てアクセス・リクェストを解析する。本発明の好ましい
実施例の中で要求される予め定められた属性をMMUが
生ずることがこれらの属性の中に含まれるようにMMU
を構成することにより、MMUの中に事前に存在してい
る回路を用いることができるので、特に効率的な実施例
を実現することができる。
【0021】好ましい実施例では、MMUはテーブル・
ルックアサイド・バッファを有する。このテーブル・ル
ックアサイド・バッファは、アクセス・リクェストによ
って指定されたアドレスとテーブル・ルックアサイド・
バッファの中の予め定められたアドレスとを比較する。
ここで、予め定められたアドレスのおのおのに対して、
テーブル・ルックアサイド・バッファはMMUによって
発生される必要のある多数の属性を含んでいる。したが
って、この実施例では、本発明の好ましい実施例により
要求される予め定められた属性を含むこれらの属性が、
テーブル・ルックアサイド・バッファによってアドレス
の整合が決定される時これらの属性を直接に出力するこ
とができるように、テーブル・ルックアサイド・バッフ
ァの中に事前にコード化される。またはそれとは異なる
実施例では、MMUの標準的なテーブル・ルックアサイ
ド・バッファによって発生される属性から予め定められ
た属性を発生するために、付加的な回路を備えることが
できる。
【0022】容易に分かるように、属性発生論理装置か
らの予想され予め定められた属性および/または実際の
予め定められた属性に応じて種々のメモリ・ユニットに
クロック信号を選択的に供給するためにクロック発生論
理装置を配置することができる多くの異なる方法があ
る。けれども、好ましい実施例では、もし予め定められ
た属性が予想され予め定められた属性と一致しないなら
ば予想誤り信号を発生する検査論理装置が配置され、そ
してクロック発生論理装置はメモリ・ユニットのおのお
のに対してクロック信号にゲート作用を行う回路を有す
る。クロック信号ゲート作用回路のおのおのはシステム
・クロック信号を受け取り、そしてもし付随するメモリ
・ユニットがアクセスのために用いられるべきであるこ
とをこの予想され予め定められた属性が示すならば、ま
たはもし予想誤り信号が発生され、そして属性発生論理
装置によって発生された実際の予め定められた属性が付
随するメモリ・ユニットがアクセスのために用いられる
べきであることを示すならば、のいずれかの場合に付随
するメモリ・ユニットにそのシステム・クロック信号を
出力する。
【0023】容易に分かるように、予想論理装置は用い
られる予想方式に応じて種々の形式を取ることができ
る。さらに、よく知られている多くの異なる予想方式が
存在し、そして予め定められた属性を予想するために適
切ないずれの予想方式をも用いることができることが分
かるであろう。けれども、好ましい実施例では、予想論
理装置は、最新のアクセス・リクェストに対する予想さ
れ予め定められた属性を、先行するアクセス・リクェス
トに対する属性発生論理装置によって発生された実際の
予め定められた属性に基づいて行う。このことにより、
本発明の好ましい実施例の中で信頼できる予想が得られ
ることが分かった。それは、プロセッサ・コアが同じメ
モリ・ユニットに中に記憶されたデータ値に関する一連
のアクセス・リクェストを出力することが多いからであ
る。
【0024】第2の特徴の観点から、本発明によりデー
タ処理装置の中のメモリ・ユニットをアクセスする方法
が得られる。このデータ処理装置は、データ値を記憶す
るための複数個のメモリ・ユニットと、データ値に関係
してメモリ・ユニットに行われるべきアクセスを指定す
るアクセス・リクェストを出力するためのプロセッサ・
コアと、アクセス・リクェストによって指定されたアク
セスを実行するためのメモリ・コントローラとを有す
る。この方法は、(a)アクセスを実行する時にどのメ
モリ・ユニットが用いられるべきかを検証する1個また
は多数個の予め定められた属性をアクセス・リクェスト
から決定する段階と、(b)前記段階(a)の完了の前
に(i)1個または多数個の予め定められた属性を予想
する段階と、(ii)前記段階(b)(i)で発生され
た予想され予め定められた属性に応答してアクセスの実
行の期間中にメモリ・ユニットの中のどの1つがクロッ
クされるべきかを選定する段階と、(iii)前記段階
(b)(ii)で選定されたメモリ・ユニットにクロッ
ク信号を出力する段階と、(iv)メモリ・コントロー
ラにアクセスを実行させる段階と、の諸段階を実行する
段階と、(c)前記段階(a)での決定がいったん完了
すると、前記段階(a)で発生された予め定められた属
性が前記段階(b)(i)で発生された予想され予め定
められた属性と一致するかどうかを決定する段階と、そ
してもし一致しないならばそのアクセスを再び開始する
段階と、アクセスを再び開始する前記段階の場合には前
記段階(a)で決定された予め定められた属性を用いて
メモリ・ユニットの1つが選定され、クロック信号がそ
のメモリ・ユニットに出力され、そして次にメモリ・コ
ントローラがアクセスを再び実行する段階と、を有す
る。
【0025】
【発明の実施の形態】添付図面を参照して、例示された
好ましい実施例について本発明を説明する。下記で説明
される好ましい実施例は、ほんの1つの例として取り上
げられた実施例である。
【0026】図1のブロック線図を参照して、本発明の
好ましい実施例によるデータ処理装置を説明する。図1
に示されているように、このデータ処理装置はプロセッ
サ・コア10を有する。このプロセッサ・コア10は、
メモリ・システム20、30、80から受け取られた命
令を処理するために配置されている。これらの命令を処
理するためにプロセッサ・コア10によって要求される
データは、このメモリ・システムからまた引き出すこと
ができる。容易に分かるように、これらの「データ値」
は、それらが命令であってもまたデータであっても、適
切な任意の寸法であることができる。好ましい実施例を
説明する目的のために、これらのデータ値のおのおのの
寸法は32ビットであると仮定される。
【0027】典型的なインプリメンテーションでは、プ
ロセッサ・コア10によって要求されるデータ値は、外
部メモリ80の中に配置されるであろう。それに加え
て、メモリ80から引き出されたデータ値を記憶するた
めに、キャッシュ30が備えられる。それにより、これ
らのデータ値をプロセッサ・コア10によって後で容易
にアクセスすることができる。キャッシュ・コントロー
ラ32はキャッシュ30のキャッシュ・メモリ34の中
のデータ値の記憶を制御し、およびキャッシュ・メモリ
34からのデータ値の引き出しを制御する。
【0028】好ましい実施例では、キャッシュ30はプ
ロセッサ・バス50を通してプロセッサ・コア10に直
接に結合され、そしてバス・インターフェース・ユニッ
ト40を通して外部メモリ80からこれらのデータ値を
引き出すことを要求するよりはむしろ、キャッシュ・メ
モリ34の中に記憶されたデータ値の部分組に対して比
較的に高速のアクセスが得られる。このキャッシュの主
要な目的は、プロセッサ・コアによって必要とされると
思われるデータ値を一時的に記憶することである。当業
者には分かるように、どのデータ値がキャッシュ・メモ
リ34の中に記憶されるかを決定することに対して、よ
く知られた多くの技術が存在する。
【0029】キャッシュ30はデータ値の部分組に対し
て比較的に高速のアクセスを得るのに効率的な機構体で
あるが、任意の特定のデータ値に対して決定論的なアク
セス時間が保証されるわけではない。それは、任意の特
定のデータ値が任意の特定の時点においてキャッシュ・
メモリ34の中に記憶されているであろうことが保証さ
れていないからである。これらのデータ値に対して一定
の形式の決定論的なアクセスが得られるように、キャッ
シュ・メモリ34の中に一定のデータ値をロック・ダウ
ンすることは可能であるけれども、それはその内容をダ
イナミカルに変えるというキャッシュの順応性に悪い影
響を与えるので、このことはキャッシュを動作させる方
法としては比較的に非効率な方法である。
【0030】したがって、特定のデータ値に対して決定
論的なアクセスを得るために、強く結合されたメモリ
(TCM)20を備えることが知られている。このTC
M20は、TCMメモリ24と、データ値のTCMメモ
リ24の中へのデータ値の記憶とこれらのデータ値のT
CMメモリ24からの引き出しとを制御するためのTC
Mコントローラ22とから成っている。このTCMは、
プロセッサ・バス50を通して、プロセッサ・コア10
に直接に結合されることが好ましい。このTCMは、プ
ログラマに対して連続したアドレス・スペースを提供
し、そして主メモリ80の特定の部分を複製することが
分かる、または置き換えることが分かる。したがって、
決定論的なアクセスが重要であるコードの特定の部分を
TCM20の中に直接に記憶することができる。
【0031】プロセッサ・コア10がデータの転送を実
行することを望む時、それがメモリ・システムからデー
タ値を読み出す場合またはメモリ・システムにデータ値
を書き込む場合であっても、そのデータ値に対するアド
レスをプロセッサ・アドレス・バス54に配置すること
によっておよび制御信号を制御バス52に配置すること
によって、アクセス・リクェストを開始する。それに加
えて、ものこのアクセス・リクェストが書き込みに関係
しているならば、その場合には、メモリ・システムの中
に書き込まれるべきデータ値がデータ・バス56に配置
される。制御バスに対する信号出力は、このアクセス・
リクェストが命令またはデータのいずれを指定するか、
読み出しリクェストまたは書き込みリクェストのいずれ
を指定するか、そして転送されるデータが1ワードであ
るか、半ワードであるか、またはバイトであるか、のよ
うな情報を含んでいる。
【0032】容易に分かるように、データ値を記憶する
ために多数の別々のメモリ・ユニットが備えられる図1
に示されたようなシステムの中では、アクセス・リクェ
ストを処理するためにどのメモリ・ユニットがアクセス
されるべきであるかに関する決定を行うことが必要であ
る。このジョブはメモリ・マネージメント・ユニット
(MMU)70によって実行される。MMU70はプロ
セッサ・コア10によって信号をバス50に出力された
制御信号およびアドレス信号を受け取り、そしてその情
報に基づいて、アクセス・リクェストを制御するために
用いられる多数の属性を発生する。例えば、もしプロセ
ッサ・コア10によって出力されたアドレスが仮想アド
レスであるならば、そしてそのデータ値が外部メモリ8
0に書き込む必要があるまたは外部メモリ80から読み
出す必要があるならば、MMU70は例えばバス・イン
ターフェース・ユニット(BIU(bus interface uni
t))40が用いることができる物理的アドレスを生ずる
であろう。もしTCMメモリ24が仮想アドレスよりは
むしろ物理的アドレスを用いて配置されるならば、この
物理的アドレスをまたTCM20に経路を定めることが
できる。もし必要ならば、すなわちもしキャッシュ・メ
モリが物理的にアドレスされるならば、それをまたキャ
ッシュ・メモリ30に経路を定めることができる。好ま
しい実施例では、キャッシュ30はキャッシュ・メモリ
34の中に記憶されたデータ値を識別するために仮想ア
ドレスを用いる。したがって、MMU70によって発生
された物理的アドレスはキャッシュによって要求されな
い。
【0033】それに加えて、MMU70は多数の他の属
性を生ずるであろう。例えば、データ値がメモリのキャ
ッシュ可能な領域からくるかどうかを指示するキャッシ
ュ可能な属性を生ずるであろう。このキャッシュ可能な
属性は、アクセス・リクェストを実行するためにどのキ
ャッシュ30がアクセスされるべきかを決定するために
用いられる。同様に、MMU70は典型的には、バッフ
ァ可能な属性を生ずるであろう。このバッファ可能な属
性は、書き込みアクセス・リクェストがどのように取り
扱われるべきかを決定するためにBIU40によって用
いることができる。この段階において、BIU40の中
でデータ値をバッファできるかどうか、またはデータ値
を記憶のために外部メモリ80に直ちに出力しなければ
ならないどうかを知ることは重要である。TCM20を
用いるシステムでは、TCMメモリ24のの中に記憶さ
れたデータ値のアドレスの範囲を識別する装置の中のど
こかに典型的にはレジスタが存在するであろう。このよ
うな実施例では、TCM20がアクセス・リクェストを
処理するためにアクセスされるべきかどうかを決定する
ために、そのアクセス・リクェストのアドレスとそのレ
ジスタの中のアドレスとを比較し、そしてこの比較に基
づいてTCM20に適切な信号を出力するために、MM
Uを配置することができる。
【0034】MMU70によるアクセス・リクェストの
この解析には長い時間がかかり、そしてデータ処理装置
によるアクセス・リクェストの高速処理に対する一般的
な要求が与えられるならば、メモリ・システム20、3
0、80がアクセス・リクェストを処理することを開始
する前に、その解析がMMU70によって完成されるま
で待つことは通常は可能ではない。したがって、よく知
られている先行技術のシステムは、MMU70による解
析が完了するとすぐに関連するメモリから出力を供給す
ることができるように、アクセス・リクェストの解析が
MMU70によって実行されている間、メモリ・システ
ムの多数個のメモリ・ユニットを推測的に並列に駆動す
る傾向がある。
【0035】例えば、プロセッサ・コア10がデータ値
を読み出すことを要求する時、プロセッサ・コア10
は、そのデータ値に対するアドレスをプロセッサ・アド
レス・バス54に配置しそして制御信号を制御・バス5
2に配置することによって、アクセス・リクェストを開
始するであろう。このような先行技術のシステムでは、
MMU70による解析が完了することを待つことなく、
キャッシュ30はプロセッサ・バス50からの制御信号
およびアドレス信号を引き出し、そして要求されたデー
タ値がキャッシュの中に記憶されているかどうかを決定
するために、キャッシュ・メモリ34の中に記憶された
データ値のアドレスとそのアドレスとを比較する。その
際、もしそのデータ値がキャッシュの中に記憶されてい
るならば、MMU70による解析の結果がこのアクセス
・リクェストがキャッシュ可能なデータ値に関係してい
ることを確認すると仮定して、そのキャッシュがデータ
値をプロセッサ・データ・バス56に出力することがで
きるように行われる。もしこのアドレスに対応するデー
タ値がキャッシュの中に記憶されていないならば、その
場合には、そのデータ値がメモリ80から引き出される
必要があることをBIU40に通知するために、キャッ
シュ・メモリ34は経路120を通してBIU40にキ
ャッシュ・ミス信号を送るであろう。好ましい実施例で
は、引き出されるべきデータ値をイネーブルにするため
に、外部バス60を通して適切な信号を外部メモリ80
に出力するようにBIUをイネーブルにするために、そ
のキャッシュはこのような状況においてまた経路37、
36を通してBIUにそれぞれ制御情報およびアドレス
情報を供給するであろう。
【0036】同様な方式で、TCM20はまたプロセッ
サ・バス50から制御情報およびアドレス情報を引き出
し、そしてそのアドレスに基づいてTCMメモリ24の
中でルック・アップを実行するであろう。したがって、
そのデータ値がTCMメモリ24の中に実際にあること
をMMU70からの解析が識別すると仮定して、TCM
メモリ24から適切な値を出力することができる。
【0037】それと並行して、外部メモリ・コントロー
ラ42はプロセッサ・バス50から制御情報およびアド
レス情報を引き出すであろう。したがって、もし必要な
らばBIU40を通してアクセス・リクェストを実行す
ることができる。もし必要ならば、外部メモリ80から
のデータ値の読み出しを開始するために、それぞれ経路
45、44を通してBIU40に制御信号およびアドレ
ス信号を送ることができる。読み出しリクェストに対し
ては、もしキャッシュ・ミスがあるならば、その場合に
は、そのデータ値がキャッシュ可能であることをMMU
70からの解析の結果が確認すると仮定して、BIUは
メモリ80からの読み出しを開始するであろう。そし
て、アクセス・リクェストがMMUによって中断されな
い。さらに詳細に言えば、BIUはキャッシュから受け
取ったアドレス信号を外部アドレス・バス64に送り、
そして適切な制御信号をバス62に配置するであろう。
メモリ読み出しが要求されていることをメモリ80がバ
ス62の制御信号から決定し、そして次に、アドレス・
バス64上に指示されたアドレスにおけるデータ値をデ
ータ・バス66に出力するであろう。次に、BIU40
はデータ・バス66からのデータ値を経路35を通して
キャッシュに送るであろう。したがって、キャッシュ・
メモリ34の中にこのデータ値を記憶することができ
る。BIU40はまた引き出されたデータ値を経路43
を通して外部メモリ・コントローラ42に送るであろ
う。このデータ値は、プロセッサ・コア10による読み
出しのために、外部メモリ・コントローラ42からプロ
セッサ・データ・バス56に出力されるであろう。その
後、そのデータ値はプロセッサ・コア10によってキャ
ッシュ30から直接に容易にアクセスすることができ
る。
【0038】当業者には分かるように、キャッシュ・メ
モリ34は典型的には多数個のキャッシュ線路を有す
る。これらのキャッシュ線路のおのおのは、複数個のデ
ータ値を記憶するために配置される。1つのデータ値を
キャッシュ・メモリ34の中に記憶するためにそのデー
タ値がメモリ80から引き出される時、好ましい実施例
では、キャッシュ線路の全部を満たすために多数個のデ
ータ値がメモリから引き出される。この技術は「ライン
フィル」と呼ばれることが多い。
【0039】前記の説明から分かるように、よく知られ
ている先行技術に従い、アクセス・リクェストに対して
要求された特性が確実に満たされるために、プロセッサ
・コア10によって出力されるアクセス・リクェストの
おのおのに対して、多数のアクセス手続きがメモリ・シ
ステムの中で並行して開始される。さらに詳細に言え
ば、TCM20の中のルックアップは、キャッシュ30
の中のルックアップと並行して実行される。一方、もし
必要ならば、外部メモリ・コントローラ42それ自身は
BIU40を通して外部メモリ80に対するアクセスを
実行することができる。
【0040】この技術は、電力を浪費することが分かる
であろう。それは、それぞれのアクセス・リクェストに
対してアクセス・リクェストを実行するために実際に必
要であるよりももっと多くのメモリ・ユニットが駆動さ
れるからである。
【0041】本発明の好ましい実施例により、これらの
属性が実際に決定される前に一定の属性の予想されたバ
ージョンを得るために、そして任意の特定のアクセスに
対して利用可能であるメモリ・ユニットの部分組にのみ
システム・クロックが供給されるように、クロック発生
器75により用いられるべきこれらの予想された属性に
対して、MMU70を配置することによって電力を節約
することができ、この消費電力の問題点を緩和すること
ができる。好ましい実施例では、利用可能なメモリ・ユ
ニットの1つとそれに付随するメモリ・コントローラに
だけクロック信号を発生するために、これらの予想され
た属性を利用するようにクロック発生器が配置される。
好ましい実施例の中でこのことが達成される方式は、図
2〜図6を参照して詳細に説明される。
【0042】図2は、本発明の好ましい実施例に従い、
MMU70の中に備えられた主要な素子を詳細に示した
図である。プロセッサ制御バス52からの制御信号がM
MU70に送られ、そしてMMUによって用いられて、
本発明の好ましい実施例の電力節約の特性に関係しない
標準的ないくつかのMMU機能を実行する。プロセッサ
・コア10によるアドレス・バス54上のアドレス出力
(ここでは、仮想アドレスであると仮定される)は、M
MU70の中の属性発生論理装置200に入力される。
属性発生論理装置200が配置されることにより、この
仮想アドレスに基づいて多数の属性が決定され、そして
経路205を通してこれらの属性の中の一定の属性を出
力し、そして経路207を通してこれらの属性の中の一
定の属性を出力する。
【0043】図3Aは、好ましい実施例の属性発生論理
装置200の1つの実施例を示した図である。この実施
例では、属性発生論理装置200は標準的なテーブル・
ルックアサイド・バッファとして作成される。ここで
は、比較器300のバンクが受け取られた仮想アドレス
と予め定められたアドレスとを比較し、そしてこれらの
比較器によって整合が検出されたかどうかを示すルック
アップ・テーブルに出力信号を供給するために備えられ
る。典型的な場合には、比較器の1つによって発生され
たせいぜい1つのヒット信号があるだけであるであろ
う。そしてルックアップ・テーブル310はこのヒット
信号を用いて、多数の属性が定められているルックアッ
プ・テーブルの中の特定のエントリにアクセスするであ
ろう。次に、これらの属性はルックアップ・テーブルか
ら経路205および207を通して出力されるであろ
う。当業者には分かるように、先行技術の典型的なMM
Uは、物理的なアドレス、キャッシュ可能でバッファ可
能な属性を発生するために配置されるであろう。もしメ
モリ・システムがTCM20を有するならば、先行技術
の典型的なMMUはTCM属性をオプションで発生する
ことができる。これらの信号は典型的には、経路205
を通してデータ処理回路の中の種々の素子に出力される
であろう。このことは、MMUの分野では全く標準的な
ことである。けれども、好ましい実施例では、ルックア
ップ・テーブル310は本発明の好ましい実施例の中で
用いられる3つの付加的な属性でもって事前に直接的に
コード化される。これらは図3Aにおいて、属性TCM
領域やキャッシュ領域および外部領域として示されてい
る。これらの信号は、好ましい実施例では、経路207
を通してクロック発生器75に出力されるであろう。こ
の場合、これらの信号は種々のメモリ・ユニットに対す
るクロック信号の発生を制御するために用いられる。
【0044】当業者には分かるように、これらの3つの
付加的な属性はルックアップ・テーブルの中に既にコー
ド化された他の属性から容易に決定することができる。
このように図3Aの実施例に示されているように、これ
らの3つの付加的な属性をルックアップ・テーブル31
0の中に事前にコード化することができる、またはそれ
とは異なって図3Bに示されているように、標準的なル
ックアップ・テーブル320によって既に生じた属性か
らこれらの付加的な属性を発生するために付加的な回路
を属性発生論理装置の中に備えることができる。
【0045】図3Bに示されているように、ルックアッ
プ・テーブル320は3つの属性、すなわち、物理的ア
ドレス、キャッシュ可能な属性およびバッファ可能な属
性、を発生すると仮定されている。前記で説明したよう
に、(アクセス・リクェストに付随した)物理的アドレ
スとTCMメモリ24の中に記憶されたデータ値のアド
レスの範囲を識別するTCMレジスタ335の内容とを
比較することにより、TCM属性を容易に決定すること
ができる。このことは、ルックアップ・テーブル320
の中で事前にコード化することができる、またはそれと
は異なって、ルックアップ・テーブル320によって出
力された物理的アドレス出力とTCMレジスタ335に
よって指定されたアドレス範囲とを比較するために比較
器330を備えることができる。比較器330によって
発生されたTCM属性は、典型的には、そのデータ値が
TCMメモリ24の中に見い出されるかまたは見い出さ
れないかを識別する1ビット値であるであろう。このよ
うな実施例では、図3Bに示されているように、TCM
属性をちょうど複製することによってTCM領域属性を
容易に発生することができる。
【0046】好ましい実施例では、キャッシュ領域の属
性はキャッシュ可能な属性に基づいているが、しかしT
CM領域属性によってさらに限定される。特に、データ
値がTCMの中にあることを識別するためにTCM領域
属性が論理値1に設定されると仮定して、TCM領域信
号の否定バージョンがキャッシュ可能な属性(好ましい
実施例では、もしデータ値がキャッシュ可能であると思
われるならば、キャッシュ可能な属性は論理値1であ
る)と一緒にANDゲート340に入力される。当業者
には分かるように、もしデータ値がキャッシュ可能であ
ると思われそしてTCMの中にあるとは思われないなら
ば、その場合には、ANDゲート340の出力によって
表されるキャッシュ領域属性は論理値1に設定されるで
あろう。
【0047】好ましい実施例では、TCM領域信号およ
びキャッシュ領域信号はNORゲート350に出力さ
れ、それにより、もしTCM領域属性とキャッシュ領域
属性とのいずれもが論理値1に設定されないならば、N
ORゲート350の出力によって表される外部領域属性
は論理値1に設定される。容易に分かるように、図3B
に示された論理装置は種々の属性を発生することに対す
る適切な論理装置のほんの1つの例であり、多数の異な
る構成の論理装置を用いることができる。特に、もし属
性のおのおのが論理値1に設定されるよりはむしろ論理
値ゼロに「設定」されるならば、その場合には、論理ゲ
ート340、350を変える必要があることが当業者に
は分かるであろう。
【0048】テーブル・ルックアサイド・バッファ(T
LB)を種々の方法で配置できることが、当業者にはま
た理解されるであろう。例えば、バンク300の中に比
較的に多数の比較器と共に、1個の大型のTLBを備え
ることができる。またはそれとは異なって、1つの通常
の方式は、限定された数の比較器とルックアップ・テー
ブルの中に付随するエントリを備えたマイクロなTLB
を備えることであり、そして、これらの比較器のいずれ
によってもヒット信号が発生されない場合、ルックアッ
プ・テーブルに対する要求されたアドレスおよびそれに
付随するエントリをマイクロなTLBに引き出すため
に、大型のTLBの中でルックアップ工程を実行するこ
とである。このレベルの複雑さは図3Aおよび図3Bか
らは省略されているが、しかし当業者には理解されるよ
うに、属性発生論理装置200は単一のTLBとして作
成することができる、またはマイクロなTLBと大型の
TLBとの組み合わせによって作成することができる。
【0049】経路205および207に出力される信号
が属性発生論理装置200が前記で説明した属性を発生
するために要する時間は、アドレスがプロセッサ・コア
によって出力されるのと同じサイクルの中では典型的に
は利用可能ではないような時間である。したがって図2
を再び参照すれば、好ましい実施例では、アドレスがプ
ロセッサ・コアによって出力されるのと同じクロック・
サイクルの期間中、TCM領域とキャッシュ領域と外部
領域との属性の予想されるバージョンを経路214を通
してクロック発生器75に供給するように構成された予
想論理装置210が備えられる。そしてその時に、クロ
ック発生器75はこれらの信号を用いて、どのメモリ・
ユニットがアクセスを実行するためにクロックされるか
を決定する。前記で説明したように、予想論理装置は用
いられるべき予想方式に応じて種々の形式を取ることが
できることが分かるであろう。多数の異なる予想方式が
これらの属性を予想するのに用いることができることが
また分かるであろう。けれども、好ましい実施例では、
プロセッサ・コア10によって出力されるアクセス・リ
クェストは、典型的にはその前のアクセス・リクェスト
に関係するであろう。例えば、前のアクセス・リクェス
トのアドレスに関して増分されたアドレスにアクセス・
リクェストに指定するであろう。TCMメモリ24はプ
ログラマに対して連続したアドレス・スペースを提供す
るから、およびキャッシュ・メモリ34は典型的にはシ
ーケンシャルなアドレスに関してデータ値のキャッシュ
・ラインを記憶するから、この場合には、任意の特定の
アクセスに対して、アクセスするための関連するメモリ
・ユニットが先行するアクセスに対して用いられたメモ
リ・ユニットであることはあり得るであろう。したがっ
て、好ましい実施例では、図2の点線212で示されて
いるように、予想論理装置210は先行するアクセス・
リクェストに対して経路207を通して属性発生論理装
置200によって発生された実際の属性を用いて、最新
のアクセス・リクェストに対して経路214を通して出
力される予想された属性を決定する。好ましい実施例で
は、予想されたTCM領域とキャッシュ領域と外部領域
との属性は、先行するアクセス・リクェストに対して属
性発生論理装置200によって発生された実際のTCM
領域とキャッシュ領域と外部領域との属性に同じであ
る。
【0050】好ましい実施例では、経路214を通して
出力された予想された属性はまた、検査論理装置220
に送られる。検査論理装置220では、属性発生論理装
置200によって発生された実際の属性が経路207を
通して出力されそして検査論理装置220によって受け
取られるまで、経路214を通して出力された予想され
た属性はバッファリングされる。この段階において、検
査論理装置220は次に、経路207を通して受け取ら
れた実際の属性と経路214を通して出力された予想さ
れた属性とを比較する。もし予想された属性と実際の属
性との間に差があるならば、検査論理装置220によっ
て予想誤り信号が経路216を通して出力される。容易
に分かるように、種々の方法で検査論理装置220を実
施することができる。けれども、図4は検査論理装置の
1つの例えばの実施例を示した図である。
【0051】図4に示されているように、レジスタ40
0、410および420はそれぞれ、予想されたTCM
領域、キャッシュ領域および外部領域の属性を受け取る
ために配置される。ここで、これらは1クロック・サイ
クルの間バッファリングされ、そしてその後、それぞれ
の排他的OR(XOR)ゲート430、440、450
に出力される。この時、これらのXORゲートはまた、
属性発生論理装置200によって発生される実際のTC
M領域、キャッシュ領域および外部領域の属性のそれぞ
れを、それらの他の入力として受け取るであろう。当業
者には分かるように、XORゲートはもしその入力が異
なるならば、その時にのみ論理値1を出力する。したが
って、XORゲート430、440、450のいずれか
によって出力される論理値1は、予想が正しくなかった
ことを示すであろう。したがって、XORゲート43
0、440、450からの出力がORゲート460に入
力され、そしてそのORゲート460の出力は予想誤り
信号として用いられる。したがって、予想誤り信号の論
理値1は、この予想がエラーであったことを示すであろ
う。
【0052】図5は、クロック発生器75の動作を詳細
に説明した図である。
【0053】好ましい実施例では、クロック発生器75
はメモリ・ユニットのおのおのに対してクロック信号ゲ
ート作用回路を有する。したがって、システム・クロッ
クに基づいて、3つの別々の出力クロック信号、すなわ
ち、キャッシュ30へのキャッシュ・クロック、TCM
20へのTCMクロックおよび外部メモリ・コントロー
ラ42への外部クロック、を発生するであろう。
【0054】特定のメモリ・ユニットがアイドル状態に
ある時、このメモリ・ユニットは対応するアイドル信号
を出力する。このアイドル信号を用いて、対応するメモ
リ・ユニットに対するクロックがオフにされる。この機
能は、キャッシュに対してはANDゲート500と組み
合わせてORゲート510によって実行される。キャッ
シュがアイドルである時、キャッシュ・アイドル信号は
論理値1を有し、そしてこのキャッシュ・アイドル信号
の反転バージョンがORゲート510に入力される。こ
のように、このORゲートに対する他の入力はまた論理
値ゼロにあると仮定して、このORゲートからの出力は
論理値ゼロにあるであろう。このことは、ANDゲート
500からの出力が論理値ゼロにあることを保証するで
あろう。図5から分かるように、TCMクロック信号お
よび外部クロック信号を駆動するために、また同じ回路
素子を備えることができる。
【0055】キャッシュ・クロックを駆動するために用
いられる回路を1つの例として再び考えるならば、OR
ゲート510はまたORゲート520からの出力を1つ
の入力として受け取ることが分かる。ORゲート520
は、予想されたキャッシュ領域の属性およびANDゲー
ト530の出力を入力として受け取る。ANDゲート5
30は、検査論理装置220からの予想誤り信号と、経
路207を通しての属性発生論理装置200によるキャ
ッシュ領域の属性とを受け取る(図2を見よ)。したが
って、アクセス・リクェストを実行するためにそのキャ
ッシュを用いなければならないことを示す論理値1にお
いて、もし予想されたキャッシュ領域の属性を予想論理
装置210が出力するならば、その場合には、この論理
値1がORゲート520によって出力され、そしてその
後、ORゲート510によって出力されるであろう。そ
れにより、ANDゲート500は論理値1においてキャ
ッシュ・クロックを発生し、それにより、キャッシュ3
0がクロックされて、メモリ・アクセスが実行される。
【0056】好ましい実施例では、図3Bに示されてい
るように、TCM領域とキャッシュ領域と外部領域との
属性の1つだけを任意の1つの時刻において論理値1に
設定することができ、そしてこの制約はこれらの信号の
予想されたバージョンにも適用される。したがって、予
想されたキャッシュ領域の属性が論理値1に設定される
と仮定して、予想されたTCM領域および予想された外
部領域の属性は論理値ゼロに設定されるであろう。さら
に、この段階において、予想誤り信号は論理値ゼロに設
定されるであろう。したがって、図5から分かるよう
に、この時点において、もしキャッシュ・クロックが設
定されるならば、TCMクロックと外部クロックとのい
ずれもが設定されないであろう。このことは、ただ1つ
のメモリだけが予想された属性に応答して駆動されるこ
とを保証し、それにより電力が節約される。
【0057】前記の例をさらに考察するならば、もし予
想が誤っていることが後で決定されるならば、そして実
際にアクセスを実行するためにTCMが用いられるべき
であるならば、その場合には、検査論理装置220は論
理値1の予想誤り信号を生じ、そして実際のTCM領域
の属性が論理値1に設定される(実際のキャッシュ領域
および実際の外部領域の属性が論理値1に設定される)
ことが分かるであろう。このことは、ANDゲート57
0が論理値1の出力を生じ、一方、ANDゲート530
および610は論理値ゼロの出力を生ずることを意味す
るであろう。ANDゲート570によって出力されたこ
の論理値1の出力はORゲート560および550を通
り、それによりANDゲート540はTCM20に対し
てTCMクロック信号を発生させ、TCM20によって
アクセスを再開始させる。
【0058】予想されたキャッシュ領域の属性がリセッ
トされることは、TCMクロック信号の発生に対して決
定的ではない。したがって、キャッシュ・クロックとT
CMクロックとの両方が駆動されている短い時間間隔が
存在するが、しかしそのすぐ後に、新規に出力された実
際の属性に基づいて予想されたキャッシュ領域が再評価
されることが考えられる。したがって、好ましい実施例
ではこの予想されたキャッシュ領域は論理値ゼロに設定
され、それにより、いったんキャッシュ・アイドル信号
が設定されると、キャッシュ・クロック信号を停止させ
ると考えられる。
【0059】図6は、種々の信号の相互の間の作用の概
要を示した図である。図6は前記で説明した例のタイミ
ング図である。ここでは、キャッシュ30によってアク
セスが実行されなければならないことを予想論理装置2
10が予想し、一方、TCM20によってアクセスが実
行されなければならないことを属性発生論理装置200
が予定のコースにおいて確認する。図6に示されている
ように、サイクル1ではアドレスA0が設定され、そし
て同じサイクルの中で予想されたTCM領域とキャッシ
ュ領域と外部領域との属性が予想論理装置210によっ
て出力される。この例では、キャッシュがアクセスされ
るべきであることを予想論理装置が予想し、したがっ
て、予想されたキャッシュ領域の属性が論理値1に設定
される。図5に関連して前記で説明したように、このこ
とはサイクル2の中でキャッシュ・クロック信号を駆動
させ、そしてキャッシュ・アイドル信号に対してサイク
ル2の開始時に論理値ゼロに移動させるであろう。図6
の例では、キャッシュはこの時点の前には駆動されてい
なかったことが仮定されていた。けれども、このことに
対する要求は存在していないことが分かるであろう。ま
たはそれとは異なって、キャッシュ・クロックは既に活
性化されていることができ、そしてキャッシュ・アイド
ル信号はサイクル2の開始の前に既に論理値ゼロの状態
にあることが分かるであろう。
【0060】サイクル2の期間中に、実際のTCM領域
とキャッシュ領域と外部領域との属性は属性発生論理装
置200によって生ずる。この例では、TCM領域の属
性は論理値1に遷移し、一方、キャッシュ領域の属性は
論理値ゼロに遷移する。さらに、外部領域の属性は論理
値ゼロに維持される。これらの属性が利用可能になると
すぐに、検査論理装置220は前記で説明した検査を実
行するであろう。この場合には、論理値1に遷移する予
想誤り信号を生ずるであろう。
【0061】図5について前記で説明したように、サイ
クル2の期間中における設定された予想誤り信号および
設定されたTCM領域の属性の存在はTCMをサイクル
3から前方にクロックさせ、そしてTCMアイドル信号
に対しては論理値ゼロに駆動するであろう。
【0062】またサイクル3の中で、予想されたTCM
領域とキャッシュ領域と外部領域との属性が、サイクル
2からの実際のTCM領域とキャッシュ領域と外部領域
との属性に基づいて再び予想されるであろう。したがっ
て、予想されたキャッシュ領域の属性は論理値1から論
理値ゼロに遷移し、そしてキャッシュ・アイドル信号は
論理値1に戻るであろう。この結果として、サイクル3
の後、キャッシュはクロックされることを停止するであ
ろう。
【0063】予想誤りの前記の例において、TCMのク
ロック作用は予想誤りの結果として1サイクルだけ遅延
するので、動作において1サイクル・ヒットが存在する
ことを図6は示している。それにもかかわらず、予想誤
りは比較的に頻繁には起こらないという仮定に基づい
て、動作に有害な影響を与えることなく、大幅な電力の
節約を実現することができることが分かる。実際、予想
が正しいことが証明されるすべての場合には動作は全く
変わらなく、一方、このような場合において、メモリ・
ユニットを推測的にクロックするという要求を回避する
ことによって、その度に電力の節約が得られる。
【0064】したがって、電力の節約が重要な関心事で
ある場合のインプリメンテーションにおいて、高特性の
アクセス・リクェストを実現することを可能にするため
に、本発明の好ましい実施例は特に有用な機構である。
【0065】本発明の特定の実施例が前記において説明
されたが、本発明はこの実施例に限定されるものでない
ことは理解されるであろう。本発明の範囲内において、
多くの変更および多くの付加を行うことができることが
分かるであろう。例えば本発明の範囲内において、本発
明の個々の請求項の特徴を種々に組み合わせることによ
り、種々の独立した請求項を作成することができる。
【図面の簡単な説明】
【図1】本発明の好ましい実施例によるデータ処理装置
の要素を示したブロック線図。
【図2】本発明の好ましい実施例によるMMUの中に備
えられた要素の概要を示したブロック線図。
【図3A】図2に示された属性発生論理装置の第1の実
施例を示した図。
【図3B】図2に示された属性発生論理装置の別の実施
例の図。
【図4】本発明の好ましい実施例による図2の検査論理
装置の構成を示した図。
【図5】本発明の好ましい実施例のクロック発生器の構
成を示した図。
【図6】好ましい実施例のデータ処理装置によって出力
される種々の信号の間の相互の作用を示したタイミング
図。
【符号の説明】
10 プロセッサ・コア 20、30、80 メモリ・ユニット 22、32 メモリ・コントローラ 75 クロック発生論理装置 200 属性発生論理装置 216 検査論理装置
───────────────────────────────────────────────────── フロントページの続き (72)発明者 デイヴィッド マイケル ブル イギリス国 ケンブリッジ、バルシャム、 トリニティ クローズ 13 (72)発明者 ゲイリー キャンベル イギリス国 ノーサンツ、コービィ、ロイ ス クローズ 11 Fターム(参考) 5B005 MM01 MM51 5B060 AB26 MB01 MM15

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 データ値を記憶するための複数個のメモ
    リ・ユニットと、 1つのデータ値に関して前記メモリ・ユニットに対して
    行われるべきアクセスを指定するアクセス・リクェスト
    を発行するためのプロセッサ・コアと、 前記アクセス・リクェストによって指定されたアクセス
    を実行するためのメモリ・コントローラと、 前記アクセスを実行する時どのメモリ・ユニットが用い
    られるべきかを検証する1個または多数個の予め定めら
    れた属性を前記アクセス・リクェストから決定するため
    の属性発生論理装置と、 1個または複数個の予め定められた前記属性を予想する
    ための予想論理装置と、 前記予想論理装置からの予想され予め定められた前記属
    性に応答して、前記アクセスの実行の期間中、前記メモ
    リ・ユニットの中のどの1つがクロックされるべきかを
    選定し、および前記メモリ・ユニットにクロック信号を
    提供するクロック発生論理装置と、 前記属性発生論理装置によって発生された予め定められ
    た属性が予想され予め定められた前記属性と一致するか
    どうかを決定し、そしてもし一致しないならば前記アク
    セスを再び開始し前記属性発生論理装置によって決定さ
    れるような予め定められた前記属性を用いて前記メモリ
    ・ユニットの1つを再び選定するために前記クロック発
    生論理装置が配置される、前記検査論理装置と、を有す
    るデータ処理装置。
  2. 【請求項2】 請求項1記載のデータ処理装置におい
    て、前記メモリ・コントローラが複数個のメモリ・コン
    トローラを有し、前記メモリ・コントローラのおのおの
    が異なるメモリ・ユニットに付随し、およびアクセスの
    実行の期間中、選定された前記メモリ・ユニットおよび
    それに付随するメモリ・コントローラをクロックするた
    めに前記クロック発生論理装置が配置される前記データ
    処理装置。
  3. 【請求項3】 請求項1記載のデータ処理装置におい
    て、前記アクセス・リクェストが前記データ値に関する
    アドレスを指定し、および前記アドレスに応じて予め定
    められた前記属性を決定するために前記属性発生論理装
    置が配置される前記データ処理装置。
  4. 【請求項4】 請求項1記載のデータ処理装置におい
    て、前記プロセッサ・コアがそれに対して決定論的アク
    セスを要求するデータ値を記憶するためのメモリに第1
    メモリ・ユニットが強く結合される前記データ処理装
    置。
  5. 【請求項5】 請求項4記載のデータ処理装置におい
    て、第2メモリ・ユニットがキャッシュである前記デー
    タ処理装置。
  6. 【請求項6】 請求項1記載のデータ処理装置におい
    て、予め定められた前記属性を含む多数の属性をアクセ
    ス・リクェストのおのおのに対して発生するために配置
    されたメモリ・マネージメント・ユニットの中に前記属
    性発生論理装置が含まれる前記データ処理装置。
  7. 【請求項7】 請求項6記載のデータ処理装置におい
    て、前記メモリ・マネージメント・ユニットがテーブル
    ・ルックアサイド・バッファ(table lookasidebuffer)
    を有し、前記テーブル・ルックアサイド・バッファがア
    クセス・リクェストによって指定されたアドレスと前記
    テーブル・ルックアサイド・バッファの中の予め定めら
    れたアドレスとを比較し、予め定められたアドレスのお
    のおのに対して前記テーブル・ルックアサイド・バッフ
    ァが多数の属性を含む前記データ処理装置。
  8. 【請求項8】 請求項1記載のデータ処理装置におい
    て、もし予め定められた前記属性が予想され予め定めら
    れた前記属性と一致しないならば予想誤り信号を発生す
    るために前記検査論理装置が構成され、およびメモリ・
    ユニットのおのおのに対してクロック信号ゲート動作回
    路を前記クロック発生論理装置が有し、クロック信号ゲ
    ート動作回路のおのおのがシステム・クロック信号を受
    け取りそしてもし付随するメモリ・ユニットがアクセス
    のために用いられるべきであることを予想され予め定め
    られた前記属性が指示するまたは予想誤り信号が発生さ
    れそして前記属性発生論理装置によって発生された実際
    の予め定められた前記属性が付随するメモリ・ユニット
    がアクセスのために用いられるべきであることを指示す
    るのいずれかであるならば前記付随するメモリ・ユニッ
    トにシステム・クロック信号を出力する前記データ処理
    装置。
  9. 【請求項9】 請求項1記載のデータ処理装置におい
    て、先行するアクセス・リクェストに対して前記属性発
    生論理装置によって発生された実際の予め定められた前
    記属性に最新のアクセス・リクェストに対する予想され
    予め定められた前記属性が基づくように前記予想論理装
    置が配置される前記データ処理装置。
  10. 【請求項10】 データ処理装置の中のメモリ・ユニッ
    トにアクセスする方法であって、前記データ処理装置が
    データ値を記憶するための複数個のメモリ・ユニット
    と、行われるべきアクセスを指定するアクセス・リクェ
    ストを1つのデータ値に関して前記メモリ・ユニットに
    発行するためのプロセッサ・コアと、前記アクセス・リ
    クェストによって指定されたアクセスを実行するための
    メモリ・コントローラとを有し、(a) 前記アクセス
    を実行する時にどのメモリ・ユニットが用いられるべき
    かを検証する1個または複数個の予め定められた属性を
    前記アクセス・リクェストから決定する段階と、(b)
    前記段階(a)が完了する前に (i) 1個または複数個の予め定められた属性を予想
    する段階と、 (ii) 前記段階(b)(i)で発生された予想され
    予め定められた前記属性に応答して、前記アクセスの実
    行の期間中に前記メモリ・ユニットのどの1つがクロッ
    クされるべきかを選定する段階と、 (iii) 前記段階(b)(ii)で選定されたメモ
    リ・ユニットにクロック信号を送る段階と、 (iv) 前記メモリ・コントローラに前記アクセスを
    実行させる段階と、(c) 前記段階(a)における決
    定がいったん完了すると、前記段階(a)で発生された
    予め定められた前記属性が前記段階(b)(i)におい
    て発生された予想され予め定められた前記属性と一致す
    るかどうかを決定する段階であって、もし一致しないな
    らば前記アクセスを再び開始し、その場合には前記段階
    (a)において決定された予め定められた前記属性を用
    いて前記メモリ・ユニットの1つが選定され、クロック
    信号が前記メモリ・ユニットに送られ前記メモリ・コン
    トローラが前記アクセスを実行する段階を有する前記方
    法。
JP2002189853A 2001-08-14 2002-06-28 データ処理装置のメモリ・ユニットに対するアクセス Expired - Lifetime JP4111760B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0119845.6 2001-08-14
GB0119845A GB2378779B (en) 2001-08-14 2001-08-14 Accessing memory units in a data processing apparatus

Publications (2)

Publication Number Publication Date
JP2003067245A true JP2003067245A (ja) 2003-03-07
JP4111760B2 JP4111760B2 (ja) 2008-07-02

Family

ID=9920402

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002189853A Expired - Lifetime JP4111760B2 (ja) 2001-08-14 2002-06-28 データ処理装置のメモリ・ユニットに対するアクセス

Country Status (3)

Country Link
US (1) US6826670B2 (ja)
JP (1) JP4111760B2 (ja)
GB (1) GB2378779B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006040089A (ja) * 2004-07-29 2006-02-09 Fujitsu Ltd セカンドキャッシュ駆動制御回路、セカンドキャッシュ、ram、及びセカンドキャッシュ駆動制御方法

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NZ516801A (en) * 2002-01-25 2003-06-30 Solovino Australia Pty Ltd A plastic beverage container with a peelable top with reduced headspace volume between the seal and the alcoholic beverage to exclude oxygen for long term storage
US7089397B1 (en) * 2003-07-03 2006-08-08 Transmeta Corporation Method and system for caching attribute data for matching attributes with physical addresses
EP1794979B1 (en) 2004-09-10 2017-04-12 Cavium, Inc. Selective replication of data structure
US7941585B2 (en) 2004-09-10 2011-05-10 Cavium Networks, Inc. Local scratchpad and data caching system
US7594081B2 (en) 2004-09-10 2009-09-22 Cavium Networks, Inc. Direct access to low-latency memory
US7389402B2 (en) * 2005-06-07 2008-06-17 Advanced Micro Devices, Inc. Microprocessor including a configurable translation lookaside buffer
US7814292B2 (en) * 2005-06-14 2010-10-12 Intel Corporation Memory attribute speculation
GB2430053B (en) * 2005-09-08 2010-09-22 Advanced Risc Mach Ltd Accessing external memory from an integrated circuit
US7159082B1 (en) * 2005-10-03 2007-01-02 Hewlett-Packard Development Company, L.P. System and method for throttling memory accesses
US7472292B2 (en) * 2005-10-03 2008-12-30 Hewlett-Packard Development Company, L.P. System and method for throttling memory power consumption based on status of cover switch of a computer system
US7900019B2 (en) * 2006-05-01 2011-03-01 Arm Limited Data access target predictions in a data processing system
US8200999B2 (en) 2008-08-11 2012-06-12 International Business Machines Corporation Selective power reduction of memory hardware
WO2011160896A1 (en) * 2010-06-25 2011-12-29 International Business Machines Corporation Method for address translation, address translation unit, data processing program, and computer program product for address translation
US9189432B2 (en) 2010-11-15 2015-11-17 Arm Limited Apparatus and method for predicting target storage unit
EP3739460A1 (en) * 2014-03-03 2020-11-18 Sony Corporation Information processing apparatus, information processing method, and program
US10339068B2 (en) 2017-04-24 2019-07-02 Advanced Micro Devices, Inc. Fully virtualized TLBs
CN113126926A (zh) * 2021-04-21 2021-07-16 北京物芯科技有限责任公司 一种ram访问验证方法、设备及装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1202687B (it) * 1987-03-25 1989-02-09 Honeywell Inf Systems Memoria tampone a predizione di hit
US5553262B1 (en) * 1988-01-21 1999-07-06 Mitsubishi Electric Corp Memory apparatus and method capable of setting attribute of information to be cached
US6006312A (en) * 1995-02-27 1999-12-21 Sun Microsystems, Inc. Cachability attributes of virtual addresses for optimizing performance of virtually and physically indexed caches in maintaining multiply aliased physical addresses
JPH08263370A (ja) * 1995-03-27 1996-10-11 Toshiba Microelectron Corp キャッシュメモリシステム
US5918250A (en) * 1995-05-05 1999-06-29 Intel Corporation Method and apparatus for preloading default address translation attributes
US5854921A (en) * 1995-08-31 1998-12-29 Advanced Micro Devices, Inc. Stride-based data address prediction structure
US5918251A (en) * 1996-12-23 1999-06-29 Intel Corporation Method and apparatus for preloading different default address translation attributes
US5974505A (en) * 1997-09-02 1999-10-26 International Business Machines Corporation Method and system for reducing power consumption of a non-blocking cache within a data processing system
US6351797B1 (en) * 1997-12-17 2002-02-26 Via-Cyrix, Inc. Translation look-aside buffer for storing region configuration bits and method of operation
JP3798563B2 (ja) * 1999-01-06 2006-07-19 株式会社東芝 命令キャッシュメモリ
US6766431B1 (en) * 2000-06-16 2004-07-20 Freescale Semiconductor, Inc. Data processing system and method for a sector cache
US6535959B1 (en) * 2000-09-05 2003-03-18 Conexant Systems, Inc. Circuit and method for reducing power consumption in an instruction cache
US6651156B1 (en) * 2001-03-30 2003-11-18 Mips Technologies, Inc. Mechanism for extending properties of virtual memory pages by a TLB

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006040089A (ja) * 2004-07-29 2006-02-09 Fujitsu Ltd セカンドキャッシュ駆動制御回路、セカンドキャッシュ、ram、及びセカンドキャッシュ駆動制御方法
US7366820B2 (en) 2004-07-29 2008-04-29 Fujitsu Limited Second-cache driving/controlling circuit, second cache, RAM, and second-cache driving/controlling method

Also Published As

Publication number Publication date
JP4111760B2 (ja) 2008-07-02
US6826670B2 (en) 2004-11-30
GB0119845D0 (en) 2001-10-10
GB2378779A (en) 2003-02-19
GB2378779B (en) 2005-02-02
US20030037217A1 (en) 2003-02-20

Similar Documents

Publication Publication Date Title
JP2003067245A (ja) データ処理装置のメモリ・ユニットに対するアクセス
US5430683A (en) Method and apparatus for reducing power in on-chip tag SRAM
US20030061445A1 (en) Methods and apparatus for improving throughput of cache-based embedded processors
JPH0628254A (ja) ライトスルーキャッシュおよびパイプラインスヌープサイクルを備えたメモリシステムを有するパーソナルコンピュータ
JP2009527861A (ja) アドレス変換バイパスを有するデータ処理システム及びその方法
US20060101299A1 (en) Controller for instruction cache and instruction translation look-aside buffer, and method of controlling the same
JPH04233642A (ja) キャッシュアクセスと並列的にメモリアクセスを行なうプロセッサ及びそれに用いられる方法
JPH06243039A (ja) キャッシュメモリシステムおよびマイクロプロセッサ内の命令を操作するための方法
US5822756A (en) Microprocessor cache memory way prediction based on the way of a previous memory read
JP2002007210A (ja) デジタルデータ処理システム、それに使用される集積回路キャッシュメモリ装置およびキャッシュメモリの動作方法
US5900016A (en) System for using a cache memory with a write-back architecture
US20110022802A1 (en) Controlling data accesses to hierarchical data stores to retain access order
JP4791714B2 (ja) ダイナミック周波数スケーリングキャッシュメモリの休止時間を利用する方法、回路及びシステム
JP2002196981A (ja) データ処理装置
US7536510B1 (en) Hierarchical MRU policy for data cache
JP2006018841A (ja) さまざまなメモリラインサイズに適応的に対応可能なキャッシュメモリシステムおよび方法
JP2003519836A (ja) プロセッサがウエイト状態の間に開始された並列読み出しと直列読み出しを用いてセット・アソシエイティブ・キャッシュを管理する方法
US6003120A (en) Method and apparatus for performing variable length processor write cycles
JP2011028736A (ja) キャッシュメモリ装置、演算処理装置及びキャッシュメモリ装置の制御方法
US7007137B2 (en) Method and architecture capable of accessing data and instructions using store and forward
JP2000112820A (ja) キャッシュ・メモリ制御方法及びキャッシュ・メモリ制御装置
KR960007833B1 (ko) 고속 페이지 모드 선택을 위한 방법 및 장치
US5699550A (en) Computer system cache performance on write allocation cycles by immediately setting the modified bit true
US6694408B1 (en) Scalable replacement method and system in a cache memory
JP4037806B2 (ja) キャッシュメモリ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070921

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070928

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080222

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080408

R150 Certificate of patent or registration of utility model

Ref document number: 4111760

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110418

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20120418

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130418

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20130418

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140418

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term