JP4173858B2 - 命令キャッシュ、及びメモリ競合を低減する方法 - Google Patents

命令キャッシュ、及びメモリ競合を低減する方法 Download PDF

Info

Publication number
JP4173858B2
JP4173858B2 JP2004500132A JP2004500132A JP4173858B2 JP 4173858 B2 JP4173858 B2 JP 4173858B2 JP 2004500132 A JP2004500132 A JP 2004500132A JP 2004500132 A JP2004500132 A JP 2004500132A JP 4173858 B2 JP4173858 B2 JP 4173858B2
Authority
JP
Japan
Prior art keywords
memory
cache memory
cache
sub
data sequence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004500132A
Other languages
English (en)
Other versions
JP2005524136A (ja
Inventor
シャッパー,ドロン
トカー,ヤコブ
エフラット,ヤコブ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NXP USA Inc
Original Assignee
NXP USA Inc
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 NXP USA Inc filed Critical NXP USA Inc
Publication of JP2005524136A publication Critical patent/JP2005524136A/ja
Application granted granted Critical
Publication of JP4173858B2 publication Critical patent/JP4173858B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0855Overlapped cache accessing, e.g. pipeline
    • G06F12/0859Overlapped cache accessing, e.g. pipeline with reload from main memory
    • 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/12Replacement control
    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01MCATCHING, TRAPPING OR SCARING OF ANIMALS; APPARATUS FOR THE DESTRUCTION OF NOXIOUS ANIMALS OR NOXIOUS PLANTS
    • A01M1/00Stationary means for catching or killing insects
    • A01M1/14Catching by adhesive surfaces
    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01MCATCHING, TRAPPING OR SCARING OF ANIMALS; APPARATUS FOR THE DESTRUCTION OF NOXIOUS ANIMALS OR NOXIOUS PLANTS
    • A01M1/00Stationary means for catching or killing insects
    • A01M1/24Arrangements connected with buildings, doors, windows, or the like
    • 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
    • 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/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • G06F12/0851Cache with interleaved addressing
    • 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/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01MCATCHING, TRAPPING OR SCARING OF ANIMALS; APPARATUS FOR THE DESTRUCTION OF NOXIOUS ANIMALS OR NOXIOUS PLANTS
    • A01M2200/00Kind of animal
    • A01M2200/01Insects
    • A01M2200/011Crawling insects
    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01MCATCHING, TRAPPING OR SCARING OF ANIMALS; APPARATUS FOR THE DESTRUCTION OF NOXIOUS ANIMALS OR NOXIOUS PLANTS
    • A01M2200/00Kind of animal
    • A01M2200/01Insects
    • A01M2200/012Flying insects

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Pest Control & Pesticides (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Insects & Arthropods (AREA)
  • Wood Science & Technology (AREA)
  • Zoology (AREA)
  • Environmental Sciences (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、命令キャッシュ及びその動作方法に関し、詳細にはキャッシュ・メモリにおける競合を低減することに関する。
キャッシュ・メモリは、処理システムの性能を改善するため用いられ、そして多くの場合ディジタル信号プロセッサ(DSP)・コアと一緒に用いられる。通常、キャッシュ・メモリは、外部メモリ(多くの場合遅い)とDSPコアの速い中央処理装置(CPU)との間に配置される。キャッシュ・メモリは、典型的には、要求次第で迅速にCPUに与えることができて且つ頻繁に用いられるプログラム命令(又はコード)のようなデータを格納する。キャッシュ・メモリの内容は、(ソフトウエア制御の下で)フラッシュされ、そしてDSPコアによる引き続いての使用のため新しいコードでもって更新される。
図1において、命令キャッシュ2の一部を形成するキャッシュ・メモリ1は、外部メモリ4に格納されているコードでもって(更新バス3を介して)更新される。DSPコア5は、命令キャッシュ2及びそのキャッシュ・メモリ1にプログラム・バスを経由してアクセスする。DSPコア5がキャッシュ・メモリ1に既に格納されているコードを要求する場合、これを「キャッシュ・ヒット」と呼ぶ。逆に、DSPコア5がキャッシュ・メモリ1に現在格納されていないコードを要求する場合、これを「キャッシュ・ミス」と呼ぶ。「キャッシュ・ミス」は、外部メモリ4からの要求されたコードの「フェッチ」を要求する。この「フェッチ」動作は、コードを直接キャッシュ・メモリ1からアクセスするタスクと比較して、非常に時間を消費する。従って、「ヒット対ミス」比が高ければ高いほど、DSPの性能は一層良い。従って、この比を増大する機構は有利であろう。
同時係属中の米国特許出願US 09/909,562はプリフェッチ機構を開示し、そのプリフェッチ機構により、プリフェッチ・モジュールは、キャッシュ・ミスの際に、要求されたコードを外部メモリからフェッチし、そしてそれをキャッシュ・メモリにロードし、次いでDSPが次にどのコードを次に要求するかを推測し、そしてまたそのようなコードを外部メモリからキャッシュ・メモリにロードする。このプリフェッチ・コード・アドレスは、キャッシュ・ミスのアドレスに連続している。しかしながら、競合は、(DSPにより要求されるとき)コードをキャッシュ・メモリから読み出すこととキャッシュ・メモリを(プリフェッチ動作の結果として)更新することとの同時の試みに起因してキャッシュ・メモリで生じる場合があり得る。即ち、全ての読み出し及び書き込みが並行して実行されることができるとは限らないことである。従って、競合しているアクセス源の1つが機能停止(stall)され又はアボート(中途停止)されねばならないので、DSPコアの性能の劣化がある場合がある。更に、DSPコアのアクセス及びプリフェッチの両方の順次的性質に起因して、競合状況は、幾つかのDSP動作サイクルにわたり継続する場合があり得る。
メモリ・インターリービングは、この問題を一部改善することができる。米国特許出願明細書US−A−4,818,932は、アクセスされるべきメモリ位置のアドレスの最下位ビット(LSB)の状態に従って奇数バンクと偶数バンクとに編成されるランダム・アクセス・メモリ(RAM)を開示する。この構成は、RAMへのアクセスが競合する2又はそれより多くの処理装置のため待ち時間を低減する。しかしながら、キャッシュ・メモリの更新及びDSPの要求の順次的性質に起因して、メモリ・インターリービングのみでは、完全には競合の可能性を除去できない。
従って、そのような競合の発生率を低減する更なる改善の必要性が存在する。
本発明の第1の局面に従って、プロセッサ・コアと外部メモリとの間の接続のための命令キャッシュであって、各サブブロックがメモリ・アドレスの1又はそれより多い最下位ビットにより区別可能である少なくとも2つのサブブロックから成るキャッシュ・メモリと、要求されるデータ・シーケンスを前記キャッシュ・メモリから読み出す要求を前記プロセッサ・コアから受け取る手段と、前記キャッシュ・メモリに書き込むため前記外部メモリから受け取られた更新データ・シーケンスを前記要求されるデータ・シーケンスに対して時間的にシフトさせることにより、前記キャッシュ・メモリのサブブロックにおける読み出し/書き込みの競合を低減するバッファとを含む命令キャッシュが提供される。
本発明の第2の局面に従って、プロセッサ・コアと外部メモリとの間に接続されるキャッシュ・メモリにおける読み出し/書き込みの競合を低減する方法であって、前記キャッシュ・メモリが少なくとも2つのメモリ・サブブロックから成り、各メモリ・サブブロックがメモリ・アドレスの1又はそれより多い最下位ビットにより区別可能である、前記方法において、
前記プロセッサ・コアから、要求されるデータ・シーケンスを前記キャッシュ・メモリから読み出す要求を受け取るステップと、
前記キャッシュ・メモリに書き込むための更新データ・シーケンスを前記外部メモリから受け取るステップと、
更新データをバッファリングすることにより、前記要求されるデータ・シーケンスに対して前記更新データ・シーケンスを時間的にシフトさせることにより、前記キャッシュ・メモリのサブブロックにおける読み出し/書き込みの競合を低減するステップと
を備える方法が提供される。
本発明は、コア・プログラムの要求及び外部更新が大部分の時間の間順次的であるという仮定に基づいている。
一実施形態において、キャッシュ・メモリは、2つのサブブロックに分割され、そこでは、一方が偶数アドレスのため用いられ、他方が奇数アドレスのため用いられる。このようにして、競合は、コアの要求及び更新の両方が同じパリティ・ビットを用いてアドレスすることになる場合のみ起こる場合がある。
一般に、メモリ・サブブロックは、アドレスの最下位ビットにより区別される。しかしながら、単に複数のメモリ・サブブロックを設けることは、メモリ・サブブロックが1つの読み出し(DSPコアに対して)か、又は1つの更新(プリフェッチ・ユニットを介した外部メモリから)かの一方しかサポートすることができないので、全てのケースにおいて、プリフェッチ・ユニットを介した順次的更新がDSPコアからの順次的要求と競合することを防止することができない。
バッファは、更新対DSPコア要求の有り得るシーケンスを壊す単一の競合をバッファするよう働く。バッファのエントリ/入力ポートは、キャッシュ・メモリの更新バス・ポートに接続され、そして全てのサブブロックに供給するよう構成され得る。
従って、本発明は、最小のバッファリングを特定のメモリ・インターリーブと組み合わせ、それは非常に小さいコア性能不利益(penalty)をもたらす。
一実施形態においては、バッファは、更新バスをサイクル毎にサンプリングする。しかしながら、キャッシュ・メモリに書き込まれたデータ・シーケンスは、バッファリングされたデータであることが常に必要であるわけではない。例えば、書き込み動作を遅延させる理由が無い場合には、更新データは、バッファをバイパスすることにより、直接キャッシュ・メモリに書き込まれる。従って、バッファを介するか、又は直接に外部メモリからかのいずれかでキャッシュ・メモリの中へ流れる更新データの多重化が存在する。バッファからか又はバッファをバイパスするルートからかのいずれかでデータ・シーケンスを選択する選択器手段が設けられる。
メモリ競合のケースにおける調停機構は単純である。競合が外部バス間にある場合、本発明は、更新バスをバッファするよう働き、そしてコアのため働くか、さもないとコアを機能停止し、そしてバッファのデータをキャッシュ・メモリに書き込むよう働く。
本発明はまた、プロトコルを定義する何かのシーケンスを用いる必要性を排除する。シーケンスは、本発明により任意の他の入力として本来的に認識され、そして処理される。コア及び外部メモリに対するインターフェースがまた非常に単純にすることができる。外部メモリは、全てのキャッシュ調停に気づかないままでいて、そしてコアが機能停止信号しか必要としない。
上記の利点により、本発明はメモリの非常に大きいアレイのシステム構成にスムーズに適合することが可能になる。また、単一段のバッファしか必要でない。更なる不利益の低減が、大きな再設計無しで、キャッシュのメモリをより小さいサブブロックに分割しそしてインターリーブのため一層多くの最下位ビットを用いることにより達成されることができる。
本発明の幾つかの実施形態が、ここで例示としてのみ、図面を参照して説明されるであろう。
図2において、DSPコア6は、プログラム・バス8を介した命令キャッシュ7へのアクセスを獲得することができる。命令キャッシュ7は、マルチプレクサ・モジュール9、入力バッファ10及びキャッシュ・メモリ11を含む。キャッシュ・メモリ11は、偶数・アレイ・メモリ・サブブロック12及び奇数アレイ・メモリ・サブブロック13、及びアレイ論理モジュール14を備え、後者のアレイ論理モジュール14は、プログラム・バス8及びメモリ・ブロック12,13に接続される。アレイ論理モジュール14はまた、マルチプレクサ・モジュール9と、命令キャッシュ7の外にあるプリフェッチ・ユニット15とに接続される。プリフェッチ・ユニット15は、入力バッファ10、マルチプレクサ・モジュール9及び更新バス16への接続を有する。外部メモリ17は、更新バス16に接続される。
入力バッファ10は、常に、更新バス16をプリフェッチ・ユニット15を介してサンプリングし、そして入力バッファ10は、各キャッシュ・メモリ・サブブロック12,13が競合状態の読み出し動作が完了してしまうまで例えばプリフェッチ・ユニット15によりフェッチされたコードをバッファリングすることにより交互のDSPクロック・サイクルで更新(書き込み)動作とアクセス(読み出し)動作とを交互に行うことを可能にする。
プリフェッチ・ユニット15は次のように動作する。DSPコア6が、実際にはいずれのメモリ・サブブロックにも無いコードへキャッシュ・メモリ11からアクセスを要求する要求をアレイ論理モジュール14を介して送るとき、ミス指示が、アレイ論理モジュール14からプリフェッチ・ユニット15へ送られる。このミス命令を受信すると、プリフェッチ・ユニット15は、ミス・アドレスから始まる外部メモリ17からの1ブロックのコードを(順次的に)フェッチすることを開始する。ブロックのサイズは、通常2以上のコア要求であるユーザが形成可能のパラメータである。従って、単一のキャッシュ・ミスは、入力バッファ10を介したキャッシュ・メモリ11への一連の順次的更新を発生する。更新(即ち、レイテンシー(待ち時間))間のタイミングは、外部メモリ17に達するため及び要求されたコードが入力バッファ10に到達するためプリフェッチ・ユニット15から連続的な更新要求を取る時間に依存する。更新同士は、幾つかのDSP動作サイクル離間し得る。しかしながら、本発明は、それ自体レイテンシー及びバーストの能力に関する限り異なる外部メモリ挙動を有するディジタル信号処理システムでの使用に適合させることができる。
アレイ論理モジュール14が、読み出し/書き込みの競合が存在することを検出するとき、それは、信号をマルチプレクサ・モジュール9に送って、入力バッファ10に現在格納されているデータ・シーケンスをキャッシュ・メモリ11にロードする。競合が存在しないとき、アレイ論理モジュール14は、マルチプレクサ・モジュール9に、データをキャッシュ・メモリ11の中へ直接プリフェッチ・ユニット15からロードするよう命令する。
図3は、更新間の高いレイテンシーがあるケースにおいて図2の処理システムの動作を示す。各DSPクロック・サイクルで、偶数メモリ・アレイと奇数メモリ・アレイとの間で交互に切り替わる読み出しシーケンスP0,P1,P2,P3,P4,P5と、偶数メモリ・アレイと奇数メモリ・アレイとの間でまた切り替わる書き込みシーケンスU0,U1,U2,U3,U4とが示されている。クロック・サイクルT0の間、更新バスは、偶数メモリ・アレイにローディングするためのコードU0を搬送し、そしてDSPはたま、コードP0を偶数メモリ・アレイから読み出すことを希望する。従って、内部の競合P0−U0が存在するであろう。これを改善するため、バッファは、DSPが奇数メモリ・アレイにアクセス(P1を読み出す)している間に、U0を1クロック・サイクルT0の間格納し、そして次いでそれ(メモリ書き込み)を偶数メモリ・アレイに後続のクロック・サイクルT1の間にロードする。同様に、後続の読み出し/書き込みシーケンスP1−P5及びU1−U4は、性能の不利益無しで並行して実行される。従って、更新シーケンスを1サイクルだけバッファによりシフトし、且つ偶数/奇数メモリ・インターリービングを利用することにより、両方のシーケンスを、任意のコア機能停止無しに処理することができる。
図4は、更新間の大きいレイテンシーを有する処理システムにおける本発明の動作を示し、そして偶数メモリ・アレイと奇数メモリ・アレイとの間で各DSPクロック・サイクルで交互に切り替わる読み出しシーケンスP0,P1,P2,P3,P4,P5を示す。書き込みシーケンスU0,U1は、3クロック・サイクル後に偶数メモリ・アレイと奇数メモリ・アレイとの間で交番する。クロック・サイクルT0及びT3中に、内部競合P0−U0及びP3−U1の可能性がある。これを改善するため、入力バッファは、競合する更新(メモリ書き込み)を1クロック・サイクルだけシフトするよう動作し、それによりU0及びU1は、バッファから書き込まれ、一方P1及びP4は読み出されている。従って、コア機能停止が回避される。
図5は、シフトされた更新が新しいコア要求と衝突するそれらのケース、即ち、2つの連続的なコア要求が同じ最下位ビットを有するときDSPコアが機能停止されるケースを示す。そのようなケースにおいてさえ、本発明は、新しいコアのシーケンスがここで更新シーケンスに対してシフトされるので、不利益を1個のDSPクロック・サイクルへ低減する。この例における読み出しシーケンスは、それぞれ、第1のクロック・サイクルT0の間にP0であり、クロック・サイクルT1及びT2の間にP4であり、クロック・サイクルT3,T4及びT5の間にP5,P6,P7である。更新は、クロック・サイクルT0,T1,T2,T3及びT4のそれぞれの間のU0,U1,U2,U3,U4から成る。従って、いずれのバッファリング無しに、クロック・サイクルT0,T2,T3及びT4の間に競合(及びコア機能停止)の可能性が存在する。更新シーケンスを1クロック・サイクルだけ(入力バッファの活動により)シフトすることにより、呼び出し機能停止を丁度1クロック・サイクルまで低減することができる。
図1は、既知の命令キャッシュ構成のブロック図である。 図2は、本発明に従った命令キャッシュを含む処理システムのブロック図である。 図3は、3つの異なる環境のうちの1つの環境の下での本発明の動作を説明するタイミング図である。 図4は、3つの異なる環境のうちの別の1つの環境の下での本発明の動作を説明するタイミング図である。 図5は、3つの異なる環境のうちの更に別の環境の下での本発明の動作を説明するタイミング図である。

Claims (4)

  1. プロセッサ・コアと外部メモリとの間の接続のための命令キャッシュであって、
    各サブブロックがメモリ・アドレスの1又はそれより多い最下位ビットにより区別可能である少なくとも2つのサブブロックから成るキャッシュ・メモリと、
    要求されるデータ・シーケンスを前記キャッシュ・メモリから読み出す要求を前記プロセッサ・コアから受け取る手段と、
    前記キャッシュ・メモリに書き込むため前記外部メモリから受け取られた更新データ・シーケンスを前記要求されるデータ・シーケンスに対して時間的にシフトさせることにより、前記キャッシュ・メモリのサブブロックにおける読み出し/書き込みの競合を低減するバッファと
    を含む命令キャッシュ。
  2. 前記キャッシュ・メモリは、一方が偶数アドレスを有し、他方が奇数アドレスを有する2つのサブブロックに分割されている請求項1記載の命令キャッシュ。
  3. 前記バッファからか、又は前記バッファをバイパスするルートを介して直接に前記外部メモリからかのいずれかから、前記キャッシュ・メモリに書き込むための更新データ・シーケンスを選択する手段を更に含む請求項1又は2記載の命令キャッシュ。
  4. プロセッサ・コアと外部メモリとの間に接続される命令キャッシュ・メモリにおける読み出し/書き込みの競合を低減する方法であって、前記キャッシュ・メモリが少なくとも2つのメモリ・サブブロックから成り、各メモリ・サブブロックがメモリ・アドレスの1又はそれより多い最下位ビットにより区別可能である、前記方法において、
    前記プロセッサ・コアから、要求されるデータ・シーケンスを前記キャッシュ・メモリから読み出す要求を受け取るステップと、
    前記キャッシュ・メモリに書き込むための更新データ・シーケンスを前記外部メモリから受け取るステップと、
    入力データをバッファリングすることにより、前記要求されるデータ・シーケンスに対して前記更新データ・シーケンスを時間的にシフトさせることにより、前記キャッシュ・メモリのサブブロックにおける読み出し/書き込みの競合を低減するステップと
    を備える方法。
JP2004500132A 2002-04-26 2003-03-03 命令キャッシュ、及びメモリ競合を低減する方法 Expired - Fee Related JP4173858B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0209572A GB2391337B (en) 2002-04-26 2002-04-26 Instruction cache and method for reducing memory conflicts
PCT/EP2003/002222 WO2003091820A2 (en) 2002-04-26 2003-03-03 Instruction cache and method for reducing memory conflicts

Publications (2)

Publication Number Publication Date
JP2005524136A JP2005524136A (ja) 2005-08-11
JP4173858B2 true JP4173858B2 (ja) 2008-10-29

Family

ID=9935566

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004500132A Expired - Fee Related JP4173858B2 (ja) 2002-04-26 2003-03-03 命令キャッシュ、及びメモリ競合を低減する方法

Country Status (8)

Country Link
US (1) US20050246498A1 (ja)
EP (1) EP1550040A2 (ja)
JP (1) JP4173858B2 (ja)
KR (1) KR100814270B1 (ja)
CN (1) CN1297906C (ja)
AU (1) AU2003219012A1 (ja)
GB (1) GB2391337B (ja)
WO (1) WO2003091820A2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7320053B2 (en) * 2004-10-22 2008-01-15 Intel Corporation Banking render cache for multiple access
US20060225060A1 (en) * 2005-01-19 2006-10-05 Khalid Goyan Code swapping in embedded DSP systems
US8082396B2 (en) * 2005-04-28 2011-12-20 International Business Machines Corporation Selecting a command to send to memory
CN100370440C (zh) * 2005-12-13 2008-02-20 华为技术有限公司 处理器系统及其数据操作方法
JP2014035431A (ja) * 2012-08-08 2014-02-24 Renesas Mobile Corp ボコーダ処理方法、半導体装置、及び電子装置
GB2497154B (en) * 2012-08-30 2013-10-16 Imagination Tech Ltd Tile based interleaving and de-interleaving for digital signal processing
KR102120823B1 (ko) * 2013-08-14 2020-06-09 삼성전자주식회사 비휘발성 메모리 장치의 독출 시퀀스 제어 방법 및 이를 수행하는 메모리 시스템
EP3037957A4 (en) 2013-08-19 2017-05-17 Shanghai Xinhao Microelectronics Co. Ltd. Buffering system and method based on instruction cache
CN110264995A (zh) * 2019-06-28 2019-09-20 百度在线网络技术(北京)有限公司 智能设备的语音测试方法、装置电子设备及可读存储介质
CN111865336B (zh) * 2020-04-24 2021-11-02 北京芯领航通科技有限公司 基于RAM总线的Turbo译码存储方法及装置和译码器
KR102579319B1 (ko) 2023-04-19 2023-09-18 메티스엑스 주식회사 캐시 메모리 장치 및 이를 이용하는 캐시 스케줄링 구현 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4818932A (en) * 1986-09-25 1989-04-04 Tektronix, Inc. Concurrent memory access system
US5752259A (en) 1996-03-26 1998-05-12 Advanced Micro Devices, Inc. Instruction cache configured to provide instructions to a microprocessor having a clock cycle time less than a cache access time of said instruction cache
US6029225A (en) * 1997-12-16 2000-02-22 Hewlett-Packard Company Cache bank conflict avoidance and cache collision avoidance
US6240487B1 (en) * 1998-02-18 2001-05-29 International Business Machines Corporation Integrated cache buffers
US6360298B1 (en) * 2000-02-10 2002-03-19 Kabushiki Kaisha Toshiba Load/store instruction control circuit of microprocessor and load/store instruction control method

Also Published As

Publication number Publication date
WO2003091820A3 (en) 2003-12-24
JP2005524136A (ja) 2005-08-11
KR20050027213A (ko) 2005-03-18
GB2391337B (en) 2005-06-15
CN1297906C (zh) 2007-01-31
AU2003219012A8 (en) 2003-11-10
WO2003091820A2 (en) 2003-11-06
AU2003219012A1 (en) 2003-11-10
CN1650272A (zh) 2005-08-03
GB2391337A (en) 2004-02-04
KR100814270B1 (ko) 2008-03-18
US20050246498A1 (en) 2005-11-03
GB0209572D0 (en) 2002-06-05
EP1550040A2 (en) 2005-07-06

Similar Documents

Publication Publication Date Title
US6449671B1 (en) Method and apparatus for busing data elements
US20120072674A1 (en) Double-buffered data storage to reduce prefetch generation stalls
US20070226422A1 (en) Multi-master system and data transfer system
JPH10133947A (ja) 統合されたプロセッサ・メモリ装置
JPH06243039A (ja) キャッシュメモリシステムおよびマイクロプロセッサ内の命令を操作するための方法
JP2004171177A (ja) キャッシュシステムおよびキャッシュメモリ制御装置
JP4173858B2 (ja) 命令キャッシュ、及びメモリ競合を低減する方法
KR100348099B1 (ko) 단일의캐쉬액세스파이프단을이용하여파이프라인저장명령을실행하기위한장치및방법과,파이프라인프로세서및,컴퓨터시스템
US7162588B2 (en) Processor prefetch to match memory bus protocol characteristics
JP4210024B2 (ja) 記憶装置を動作する方法および記憶装置
US20100325366A1 (en) System and method for fetching an information unit
US20080320223A1 (en) Cache controller and cache control method
JP2005508549A (ja) アンキャッシュ素子のための帯域幅の向上
US6374344B1 (en) Methods and apparatus for processing load instructions in the presence of RAM array and data bus conflicts
GB2394574A (en) An architecture and method for accessing data and instructions of an external memory using store and forward
JP4374956B2 (ja) キャッシュメモリ制御装置およびキャッシュメモリ制御方法
US7346746B2 (en) High performance architecture with shared memory
JP4111645B2 (ja) キャッシュミスした後のメモリバスアクセス制御方式
JP2008257508A (ja) キャッシュ制御方法およびキャッシュ装置並びにマイクロコンピュータ
JP3039391B2 (ja) メモリシステム
US6625697B1 (en) Cache-storage device with a buffer storing prefetch data
JP2851777B2 (ja) バス制御方法及び情報処理装置
JP4498705B2 (ja) キャッシュシステム
JP3729832B2 (ja) キャッシュメモリ装置
JP2762798B2 (ja) 命令キャッシュを有するパイプライン構成の情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060301

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080328

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080403

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080702

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080709

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080709

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080814

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110822

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110822

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120822

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120822

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130822

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees