JP2009505180A - 少なくとも2つの処理ユニットと、及び少なくとも1つのメモリとを有する計算機システム内に形成される及び記憶装置、及びそれによる記憶方法 - Google Patents

少なくとも2つの処理ユニットと、及び少なくとも1つのメモリとを有する計算機システム内に形成される及び記憶装置、及びそれによる記憶方法 Download PDF

Info

Publication number
JP2009505180A
JP2009505180A JP2008525518A JP2008525518A JP2009505180A JP 2009505180 A JP2009505180 A JP 2009505180A JP 2008525518 A JP2008525518 A JP 2008525518A JP 2008525518 A JP2008525518 A JP 2008525518A JP 2009505180 A JP2009505180 A JP 2009505180A
Authority
JP
Japan
Prior art keywords
memory
storage device
data
access
port
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
Application number
JP2008525518A
Other languages
English (en)
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of JP2009505180A publication Critical patent/JP2009505180A/ja
Pending 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • 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
    • 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/0853Cache with multiport tag or data arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/845Systems in which the redundancy can be transformed in increased performance

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Static Random-Access Memory (AREA)

Abstract

【課題】記憶装置、及び記憶方法を提供すること。
【解決手段】少なくとも2つの処理ユニットとデータ及び/又は指令のための少なくとも1つの第1のメモリ又はメモリ領域とを有する計算機システム内でデータ及び/又は指令を記憶する装置及び方法は、装置内に第2のメモリ又はメモリ領域が含まれており、その場合に装置がキャッシュメモリシステムとして形成されており、かつ少なくとも2つの分離されたポートを搭載しており、これらのポートを介して第2のメモリ又はメモリ領域の同一又は異なるメモリセルへの少なくとも2つの処理ユニットのアクセスが行われ、その場合に第1のメモリシステムからデータ及び/又は指令がブロック単位で一時記憶されることを特徴としている。
【選択図】図1

Description

本発明は、比較的高速なバッファメモリ(キャッシュ)を有するマイクロプロセッサシステムに関するものであって、例えば、デュアルポートキャッシュの技術分野に関係する。
プロセッサ(又は中央処理装置、処理ユニット)は、指示(又は命令、コマンド等)、及びデータに対するアクセスを高速化するためにキャッシュメモリ(又はキャッシュ)を搭載している。このキャッシュは、多量のデータを処理する場合や、高速なプロセッサで複雑なデータ処理を実行する場合に必要になる。このキャッシュを利用すると、大きな容量を有するがアクセス速度が低速なメモリ(又はメインメモリ)に対するアクセスの頻度を低減することが可能になるため、プロセッサは、データがメインメモリから読み出されるまで待機する時間を短縮することが可能になる。キャッシュのタイプには、指令だけが格納されるキャッシュや、データだけが格納されるキャッシュが知られている。また、データと指示とを同一のキャッシュ内に格納可能な「ユニファイドキャッシュ(“Unified Caches”)」と呼ばれるキャッシュも知られている。さらに、階層的に複数レベルのキャッシュを有するキャッシュシステムも知られている。複数段に形成されたキャッシュは、レベル毎にメモリの容量やアクセス速度等が異なり、各レベルのメモリに対するアドレッシングストラテジーに基づいてプロセッサとメインメモリの間でデータアクセスの最適化が行われる。
一般に、マルチプロセッサシステムにおいては、プロセッサ毎にキャッシュが設けられていることが多い。マルチレベルキャッシュを採用するシステムの場合、レベル数に対応する数のキャッシュがプロセッサ毎に設けられる。これに関し、例えば、US特許4345309には、複数のプロセッサによりアクセス可能な複数のキャッシュを備えるシステムが開示されている。
各処理ユニットに固定的に対応付けられたキャッシュを有するマルチプロセッサシステムにおいて、複数の処理ユニットが少なくとも部分的に同一の指令、プログラムセグメント、プログラム、又はデータを利用しようとする場合、各処理ユニットは、これらの情報をメインメモリから自ユニットに対応付けられたキャッシュにロードする必要がある。しかしながら、2つ以上のプロセッサがメインメモリにアクセスしようとする場合、バスの競合が発生する可能性がある。このバス競合がマルチプロセッサシステムにおけるパフォーマンスの低下をもたらす原因になる。また、複数のプロセッサに共通のキャッシュを有するシステムの場合、例えば、複数のプロセッサが共通のキャッシュにアクセスして当該複数のプロセッサが共通のキャッシュから同一のデータ又は異なるデータを処理しようとした場合にアクセス競合が発生する。そこで、どのプロセッサが共通のキャッシュに対して優先的にアクセスできるかが決定される必要がある。また、優先的にアクセス可能なプロセッサが処理している間、他のプロセッサは、必然的に待機する必要が生じる。あるキャッシュに対するアクセスが発生している際に、バスシステムで連結された異なるキャッシュに対しても同時に1つのアクセスしか許可されない仕様も考えられる。こうしたバスシステムが使用される場合、異なるデータ及び指令についても、上記と同じことが当てはまる。
プロセッサが、それぞれ固定的に対応付けられたキャッシュを有しており、さらにプロセッサシステムの駆動モードが切替え可能なシステムについて考えると、そこで異なるプログラム、プログラムセグメント又は指令を処理するか(パフォーマンスモード)、あるいは同一のプログラム、プログラムセグメント又は指令を処理して、その結果を比較又は投票する場合(比較モード)、各コントローラ(又は処理ユニット、装置)に並列して設けられたキャッシュ内にあるデータ又は指令は、駆動モード間の切り替えに際して消去されるか、或いは、キャッシュにロードする際に各駆動モードを表す情報と共に格納される。従って、装置の動作中にに駆動モードを切り替えることができるマルチプロセッサシステムには、共通の(或いは、階層化された)キャッシュのみが設けられていればよく、各データ又は指令が一度だけその中に格納されるように構成される。そして、そのキャッシュに対する同時アクセスが可能な場合にはより良い効果が期待される。本発明の課題は、この種のメモリを形成することにある。
本発明の課題は、キャッシュの大きさを好適化する手段と方法を提供することである。
少なくとも2つの処理ユニットとデータ及び/又は指令のための少なくとも1つの第1のメモリ又はメモリ領域とを有する計算機システム内でデータ及び/又は指令を記憶する装置は、装置内に第2のメモリ又はメモリ領域が含まれており、その場合に装置がキャッシュメモリシステムとして形成されており、少なくとも2つの分離されたポートを搭載しており、これらのポートを介して、第2のメモリ又はメモリ領域の同一又は異なるメモリセルへの、少なくとも2つの処理ユニットのアクセスが行われ、その場合に第1のメモリシステムからデータ及び/又は指令がブロック単位で一時記憶されることを特徴とする、装置(或いは記憶装置)が提供される。
この種の装置は、さらに、少なくとも2つのポートを介して1つのメモリセルへ同時にアクセスが行われるように形成された手段が設けられていると、効果的である。
さらに、装置内に、少なくとも2つのポートを介して2つの異なるメモリセルへ読み取りアクセスが行われるように形成された手段が設けられていると、効果的である。
さらに、装置内に、少なくとも2つのポートを介して同一又は2つの異なるメモリセルへ同時に読取りアクセスされた場合に、一方のポートのアクセスを、他のポートがアクセスを終了するまでの間、遅延させる手段が設けられていると、効果的である。
さらに、装置内に、少なくとも2つのポートにおけるアクセスアドレスを比較することができる手段が設けられていると、効果的である。
さらに、装置内に、第1のポートを介してのメモリセル又はメモリ領域への書込みアクセスを認識して、このメモリセル及び/又はメモリ領域への第2のポートを介しての書込みアクセス及び/又は読取りアクセスを、第1のポートを介しての書込みアクセスが終了するまでの間、阻止し又は遅延させる手段が設けられていると、効果的である。
さらに、装置内に、少なくとも1つのポートを介しての読取りアクセスにおいて、所望のデータが第2のメモリ又はメモリ領域内に存在するか、を調べる手段が設けられていると、効果的である。
さらに、装置内に、第1のメモリ又はメモリ領域をアドレスして、第1のポートを介して要請されたデータが第2のメモリないしメモリ領域内に存在しない場合に、第1のメモリ又はメモリ領域からメモリ内容をブロック単位で第2のメモリ又はメモリ領域へ転送するための手段が設けられていると、効果的である。
さらに、装置内に、アドレス比較器が設けられており、それが、第1の処理ユニットによって第1のポートを介して要請されたメモリブロックに基づく少なくとも1つのメモリセルへ第2のポートを介してアクセスすべきか、を定めると、効果的である。
さらに、装置内に、メモリセルへのアクセスを、第2のメモリ又はメモリ領域内のデータが更新された場合に初めて可能にする手段が設けられていると、効果的である。
さらに、装置内において第2のメモリ又はメモリ領域が、互いに独立して読み取り、かつ書き込みすることができる、少なくとも2つのアドレス領域に分割されていると、効果的である。
さらに、装置内にアドレスデコーダが設けられており、そのアドレスデコーダが、複数のポートによって1つのアドレス領域へ同時にアクセスされた場合に、1つのポートのにみアクセスを可能にし、少なくとも1つの他のポートのアクセスを、特にウェイト信号によって、禁止又は遅延させる、セレクト信号を生成すると、効果的である。
さらに、装置内に2つより多いポートが設けられており、その場合に選択装置が設けられており、互いに独立したアドレス領域へのアクセスが選択装置を介して多段で行われ、そのためにセレクト信号がこれらの段を介して伝えられると、効果的である。
さらに、装置内に、種々のポートのアクセス可能性を切り替える、少なくとも1つのモード信号が存在していると、効果的である。
さらに、装置内に、種々のポートのアクセス可能性を切り替える、少なくとも1つのコンフィグレーション信号が存在していると、効果的である。
さらに、装置内で、nの異なるアドレス領域を用いてn倍の連合キャッシュが実現されると、効果的である。
さらに、装置内に、第2のメモリのメモリセル又はメモリ領域への書込みアクセスの際に、書き込むべきデータを同時に第1のメモリ又はメモリ領域へ書き込む手段が設けられていると、効果的である。
さらに、装置内に、第2のメモリのメモリセル又はメモリ領域への書込みアクセスの際に、書き込むべきデータを遅延させて第1のメモリ又はメモリ領域へ書き込む手段が設けられていると、効果的である。
少なくとも2つの処理ユニットと、データ及び/又は指令のための少なくとも1つの第1のメモリ又はメモリ領域とを有する計算機システム内でデータ及び/又は指令を記憶する装置により記憶する方法が、装置内に第2のメモリ又はメモリ領域が含まれており、その場合に装置がキャッシュメモリシステムとして形成されており、かつ少なくとも2つの分離されたポートを搭載しており、それらのポートを介して第2のメモリ又はメモリ領域の同一又は異なるメモリセルへの少なくとも2つの処理ユニットのアクセスが行われ、その場合に第1のメモリシステムからデータ及び/又は指令が、ブロック単位で一時記憶されることを特徴する方法(或いは、記憶方法)が提供される。
好ましくは、第2のメモリ又はメモリ領域からデータを読み出し、かつ/又は第2のメモリ又はメモリ領域へデータを書き込むために2つのポートを介して第2のメモリ又はメモリ領域の同一又は異なるメモリセルへ処理ユニットから並列のアクセスが行われ、かつ2つのポートを介して同一のメモリセルの読出しが同時に行われてもよい。
好ましくは、2つのポートに印加されるアドレスが比較されることを特徴とする方法が、記載されている。
好ましくは、第1のポートを介しての第2のメモリ又はメモリ領域及び/又は第2のメモリ又はメモリ領域のメモリセルへの書込みアクセスが認識されて、この第2のメモリ又はメモリ領域への第2のポートの書込みアクセス及び読取りアクセスが、第1のポートを介しての書込みアクセスが終了するまでの間、阻止又は遅延されてもよい。
好ましくは、少なくとも1つのポートを介して読み取りアクセスする場合に、所望のデータ及び/又は指令が第2のメモリ又はメモリ領域内に存在するか、が調べられてもよい。
好ましくは、検査が、アドレス情報を用いて行われてもよい。
好ましくは、第1のポートを介して要請されたデータが第2のメモリ又はメモリ領域内に存在しない場合において、該当するメモリブロックが第1のメモリ装置から第2のメモリ又はメモリ領域へ転送されてもよい。
好ましくは、要請されたメモリブロックが第2のメモリ又はメモリ領域内へ転送されるとすぐに、データ及び/又は指令の存在に関するすべての情報が更新されてもよい。
好ましくは、アドレス比較器が、第1の処理ユニットによって要請されたメモリブロックに基づく少なくとも1つのメモリセルへ、第2の処理ユニットがアクセスしようとしていることを定めてもよい。
好ましくは、上述したメモリセルへのアクセスが、データ及び/又は指令の存在に関する該当する情報が更新された場合に、初めて可能にされてもよい。
好ましくは、第2のメモリ又はメモリ領域が、少なくとも2つのアドレス領域に分割されており、かつこれら少なくとも2つのアドレス領域が第2のメモリ又はメモリ領域の少なくとも2つのポートを介して互いに独立して読み取り又は書き込むことができ、その場合に各ポートが各アドレス領域へアクセスすることができてもよい。
好ましくは、1つのアドレス領域への同時アクセスが、正確に1つのポートに限定され、他のポートを介してのこのアドレス領域への他のすべてのアクセス要請が、第1のポートのアクセスの間、特にウェイト信号によって、禁止又は遅延されてもよい。
好ましくは、第2のメモリのメモリセル又はメモリ領域への書込みアクセスの際に、書き込むべきデータが同時に第1のメモリ又はメモリ領域へ書き込まれてもよい。
好ましくは、第2のメモリのメモリセル又はメモリ領域への書込みアクセスの際に、書き込むべきデータが遅延されて第1のメモリ又はメモリ領域へ書き込まれてもよい。本稿において、単純にメモリと表記した場合であっても、これがメモリ領域の意味を含む場合がある。
1つ又は複数の実施ユニット(又は処理ユニット)を有するプロセッサシステム(シングルコア又はマルチコア)において、キャッシュメモリをデュアルポートキャッシュとして実現することは、その技術的困難性からハードウェアの製造に要する手間とコストが高くなるため、容易には想到することができない。複数の実施ユニット(コア、プロセッサ)が即ち種々の駆動モードで互いに協働する(例えば、DE10332700A1等を参照)ような方法をマルチプロセッサアーキテクチャに適用する場合、デュアルポートキャッシュアーキテクチャを使用することができれば格別の効果が得られると期待される。また、複数のキャッシュを有するマルチプロセッサシステムを利用することで、マルチプロセッサシステムが駆動モードを切り替える際に、キャッシュの内容が消去されたり、或いは、キャッシュの内容が無効として宣言されないで済むという利点が期待される。なぜなら、データは、キャッシュに一度しか格納されないため、駆動モード間の切替え後も一貫性が維持されるからである。
複数の駆動モードを有するマルチプロセッサシステム内において、デュアルポートキャッシュは、データ又は指令を何回もキャッシュへ取り出して処理する必要がないという効果が期待される。また、データ又は指令が複数の実施ユニットによって利用される場合でも、データ/指令毎に1つのメモリスペースをハードウェア的に準備すればよいという効果が期待できる。さらに、マルチプロセッサシステムが有する異なる駆動モードの各々について、どの駆動モードで処理されたデータか、又はどの駆動モードで取り出されたデータかについて区別する必要がなくなるという効果も期待される。また、駆動モードが切り替わる際にキャッシュを消去する必要がなくなるため、2つのプロセッサは、同時に同一のデータ又は指令に対して読み取りアクセスすることが可能になり、キャッシュに対して“write through”モードの代わりに“write back”モードを使用することができるようになる。そのため、書込み処理の際に、常にメインメモリを更新する必要がなくなり、キャッシュ内のデータを上書きする場合に初めて更新されるようになるため、処理時間が短縮されるという効果が期待される。さらに、キャッシュを用いると、2つのプロセッサのために同一のソースからデータが供給されるので、データの一貫性に関する問題が生じないという効果が期待される。
以下の説明の中で、処理ユニット又は実施ユニットと表現した場合、当該表現は、例えば、プロセッサ/コア/CPU、FPU(Floating Point Unit)、DSP(Digitaler Signalprozessor)、コプロセッサ又はALU(Arithmetic logocal Unit)のいずれかを含むものと解される。
図1にデュアルポートキャッシュ200の構成例を示す。デュアルポートキャッシュ200は、主に、デュアルポートRAM(dpRAM、230)により構成される。dpRAM230は、2つの互いに独立したアドレスデコーダ、2つのデータ書込み/読取り段、及び(シングルメモリセルマトリクスとは異なり、)二重化されたワード線及びビット線を有している。そのため、dpRAM230内にある任意のメモリセルに対して、少なくとも読取りプロセスは、2つある両方のポートから同時に行うことができる。尚、すべてのアクセス部材が二重化されておらず、dpRAM230に対するアクセスが条件付きで両方のポートを介して実行されるように構成されていてもよい。
デュアルポートRAM230は、2つのポート230、231を有している。ポート230、231は、一のポートを介して受けた読取り又は書込みの要請(又は要求)を処理するのに要する時間(即ち即ち、要請された読取りプロセス又は書込みプロセスが終了するまでに要する時間であり、他のポートを介して受けた要請との相互作用又は干渉の度合等を表す情報が含まれる。)を考慮せずに互いに独立して利用可能である。dpRAM230の各ポートは、信号201、又は信号202が伝送される経路を介して装置210、又は装置220と接続されている。また、装置210、220は、互いに独立した処理ユニット215又は225から入力されるアドレス、データ、及び制御信号を含む信号211又は221の検査を実行する。そして、装置210、220は、選択的にアドレスを変換する。
データは、読取りアクセスの際、ポート毎に、信号201の伝送経路を介して装置210に入力され、装置210から信号211の伝送経路を介して処理ユニット215へ入力されるか、或いは、信号202の伝送経路を介して装置220に入力され、装置220から信号221の伝送経路を介して処理ユニット225に入力される。書き込みアクセスの場合、これとは逆の方向に実施ユニット215、225からキャッシュメモリ(dpRAM230)に対する書き込み処理が実行される。dpRAM230が有する2つのポートは、信号201、202の伝送経路を介してバスアクセス制御部240に接続されている。バスアクセス制御240は、図示されていないメインメモリ又は次の段のキャッシュに対して信号241の伝送経路を介して接続されている。
図2には、装置(ユニット)210、220及び250が、より詳細に記載されている。処理ユニット215、225がデュアルポートキャッシュ(dpRAM230)に対してアクセスする場合に、信号211、221に含まれるアドレス212、222が装置250内に設けられたアドレス比較器251により互いに比較される。但し、アドレス215、225は、それぞれ、処理ユニット215、225が要請したアドレスである。そして、装置250により信号211、221に含まれる制御信号と共に両立性について検査される。もし、信号211、221の情報が競合する場合、制御信号を含む信号213、223によってデュアルポートRAM230へのアクセスが阻止(又は制限)される。この種の競合は、2つの処理ユニット215、225が同一のアドレスに対して書き込み処理を要求した場合、或いは、一方の処理ユニットが読み込み処理を実行しようとしている途中で、他方の処理ユニットが同一アドレスに対して書き込み処理を要求した場合等に生じる。
キャッシュは、一部又は完全に連合して形成することができる。即ちまた、データは、キャッシュ内の複数の箇所又は任意の箇所に格納することができる。そのため、dpRAM230に対してアクセスする場合には、まず、所望のデータ又は指令にアクセスするためのアドレスが指定されなくてはならない。そこで、アドレッシングモードに従って1つ又は複数のブロックアドレスが選択され、そのブロックアドレスに基づいてキャッシュ内のデータがサーチされる。全てのブロックが読まれると、キャッシュ内にデータと共に格納されている識別子とインデックスアドレス(オリジナルアドレスの一部)とが比較される。一致した場合、付加的に、ブロック毎にキャッシュ内に格納されているコントロールビット(例えば、バリッドビット、ダーティビット又はプロセスID等)を用いて有効性を検査した後で、キャッシュが有効であることを表すヒット信号を生成する。
また、図2に示すように、装置210、220は、メモリユニット214、224(例えば、レジスタ、RAM、又はTAG−RAM等)を有している。そして、メモリユニット214、224内には、装置210、220がアドレス変換のために利用する表(又はアドレス変換ユニット)が格納されている。この表は、ある意味、アドレス変換ユニットであって、仮想アドレスを物理アドレスに変換する。尚、ダイレクトマップトキャッシュの場合、この表を利用することで、正確な(一義的な)キャッシュアクセスアドレスが供給される。また、多重に連合したキャッシュ構造を有する場合、複数のブロックが照会される。さらに、完全に連合したキャッシュの場合、キャッシュ内にある全てのブロックが読み込まれて比較される。この技術に関し、例えば、例えばUS特許4669043を参照すると、上記のアドレス変換ユニットの構成を理解するのに役立つであろう。
例えば、上記の表には、ブロックの各アドレス又はアドレスグループに対応して、dpRAM230にアクセスするためのアドレスが格納されている。図3に示すように、アドレッシングの種類に関し、上記の表の形式に則って、キャッシュのブロックサイズに応じたアドレス(インデックスアドレス)がアドレスとして参照される。そのアドレスの内容は、dpRAM230のアクセスアドレスである(図3)。但し、ここでブロックと呼んでいるのは、キャッシュミス(キャッシュ内に必要とされるデータがない)が生じた領域を示すアドレスに対して読取りアクセスされた際に、共通のメモリからキャッシュに取り出されるバイト数の大きさを有する領域である。
キャッシュに対してバイト単位又はワード単位でアクセスするために、ブロック毎に意味のあるアドレスビットが表に基づいて変換され、残りの(低価の)アドレスビットが変更されずに引き継がれる。
書込みプロセスの場合、例えば、2つあるポートの一方に対して、より高い優先順位が与えられる。これにより、同時に2つのポートから書き込まれることが阻止できる。また、優先されるポートが書込み操作を実施した場合に初めて、他方のポートからの書込み処理が許される。尚、一方のプロセッサのみが対応付けられたメモリ領域に対してアクセス権を有するように構成することも可能である。同様に、メモリセルに対して一方のポートから書込み操作がされる場合、同じメモリセルに対して他方のポートから読み込み操作が実行されることが阻止される。また、読取り要求の指示を発令しようとするプロセッサが、他のプロセッサによる書込み操作が終了するまで停止することによって、読取り操作を遅延させることもできる。
図2を参照すると、装置250には、全てのアドレスビットに対するアドレス比較器251に加えて、アービター252が設けられている。アービター252は、プロセッサから受けた制御信号を評価すると共に、上記のシーケンスを制御するための出力信号213、223を生成する。出力信号213、223は、例えば、それぞれ、少なくとも3つの信号状態(イネーブル、ウェイト、イコール)を表現することができる。イネーブルは、アクセスの許可を表す信号状態である。ウェイトは、アクセスの遅延を表す信号状態である。イコールは、2つのポートから同一のメモリ領域に対してアクセスが行われることを示す信号状態である。純粋なインストラクションキャッシュの場合、メモリアクセスは不要である。この場合、出力信号213、223は、信号状態「イコール」のみを表せれば十分である。
キャッシュミスが発生する場合、データ又は指令がバスシステムを介してプログラムメモリ又はデータメモリから取り出される。取り出されたデータは、処理ユニットにガイドされて、識別子やコントロールビットと共に並行してキャッシュに書き込まれる。このとき、ヒットが存在しないか、或いは、アドレス比較器251からイコール信号(信号213、223に含まれる)が出力された場合に、信号比較器がメモリからデータを再び取出すことを阻止する。イコール信号は、両側読出しの場合に、意味のあるアドレスビットのみを示す信号として生成される。なぜなら、常に、全ブロックがメモリから取り出されるからである。キャッシュ内にブロックが格納された場合に初めて、待機していた処理ユニットが、キャッシュに対してアクセスすることができるようになる。
他の例として、データと指令のために2つの別々のデュアルポートキャッシュが設けられていてもよい。その場合、指令のためのデュアルポート内には、通常の書込みプロセスが実行されない。そのため、アドレス比較器251は、常に意味のあるアドレスビットの同一性のみを検査し、その検査結果に応じた制御信号「イコール」を信号213、223に含める。
同時アクセスが可能な異なるアドレス領域内に要請されたデータが存在する場合にのみ、2つのポートを介して同時に読取りアクセスすることが無制限に機能する。そのため、実際にハードウェア構成を実現させる場合に、メモリ内で全てのアクセス機構を二重化する必要がなくなるため、製造に要するコストと手間を省くことができる。例えば、互いに独立して駆動することが可能な複数の部分メモリ領域内でキャッシュの機能を実現することができる。そのとき、各部分メモリは、セレクト信号を用いて1つのポートに対する処理のみを許可するように制御される。
図4には、2つの部分メモリ領域235、236を有するメモリ(dpRAM230)が示されている。この例では、Ai=0かつE1=0の場合にEi=0が成立し、Ai=1かつE0=0の場合にEi=1が成立するように、アドレスビットAiから2つのセレクト信号E0とE1が形成される。信号233、234には、2つのセレクト信号(E0、E1)と低価のアドレスビットAi−1、…A0とが含まれている。
他の例として、4つの部分メモリを有する実施形態が考えられる。その例では、各部分メモリは一義的に所定のアドレス領域を扱うため、2つのアドレスビットから4つのセレクト信号を形成することができる。例えば、2つのアドレスビットAi+1とAiによって、表1に示す二値の値に従って4つのセレクト信号E0〜E3が形成されるため、4つの部分メモリ領域を照会することができる。
図4に示した部分メモリ235、236に関連して、図5に部分メモリの一構成例が示されている。図5の符号260で示す部分メモリは、シングルポートRAM280として形成されており、要請に応じて、それぞれ、そのアドレス、データ及び制御信号が切り替えられる。この切替え処理は、マルチプレクサ275を用いて、制御回路270により実行される。また、この処理は、該当するポートから受けたセレクト信号と、他の制御信号2901、2902(例えば、リード、ライト)に応じて実行される。これらの信号は、データ及びアドレスと共に信号233、234に含まれており、信号5281、5282を介してマルチプレクサ275にガイドされる。マルチプレクサ275は、制御回路270により決定された出力信号2701に従って信号5281、5282と信号2801と合成又は接続する。この例は、普遍性を制限することなしにキャッシュの直接的なアドレッシング(ダイレクトマップ)を行うことが前提とされている。多重連合のキャッシュ構成が存在する場合、マルチプレクサ275は、有効性に関する比較を行う。マルチプレクサ275は、キャッシュヒット信号をポートに伝えるべきか否か、或いは全てのデータがポート5331と信号233の信号経路とを介してポート231に伝送され、又はポート5332と信号234の伝送経路とを介してポート232に伝送されるべきか否かに関する有効性を検査する。
そのとき、制御回路270は、信号5281、5282を信号2801の伝送経路に伝送すると共に、シングルポートRAM280に対しても伝送する。さらに、それとは逆方向に向かって、シングルポートRAM280からデータと他の信号とを伝えることもできる。この処理は、有効なセレクト信号及び信号233、234に従って、或いは、ポートがこれらの信号を介してメモリ(dpRAM230)による読取り又は書込み操作を実行させる順序に従って実行される。信号233、234に含まれる読取り信号又は書込み信号が同時にアクティブになった場合に、前もって定められたポートが優先的に利用される。この優先ポートは、読取り信号又は書込み信号がアクティブでない場合でも、信号2801の伝送経路と接続されたままである。また、その優先ポートは、プロセッサシステムの状態情報に応じて、当該プロセッサシステムにより動的に決定されてもよい。
上記のようなシングルポートRAM280を有する構成は、パラレルにアクセスが可能なデュアルポートRAMを有する構成よりも安価である。しかし、同時に部分メモリ(読取りでも)にアクセスされた場合に、少なくとも1つの処理ユニットを遅延させる。それぞれ適用に応じて、指令シーケンスの形態及びデータアクセスと共に、異なる処理ユニットから同一の部分メモリ領域に対する同時アクセスが可能な限り生じないように、部分メモリ領域の分割を行うことも可能である。この構成は、2つより多いプロセッサからアクセスを受ける場合に拡張することが可能である。同様に、アドレス、データ及び制御信号の切替えが複数のマルチプレクサを介して段階的に次々と行われるように構成することも可能である(図6及び図7を参照)。その場合、マルチポートRAMの構成を実現することが可能である。
これに関し、図6にマルチポートRAM290が示されている。そこでは、ポート入力信号261、262、…267が、復号回路(ポート)331、332、…337において信号291、292、…297に復号される。この復号処理により、部分メモリ281、282、及び288に各々アクセスするためのセレクト信号が生成される。
図7には、部分メモリ28x(281…288)に関する例が詳細に示されている。そこでは、制御装置370の第1段階において、セレクト信号と制御信号291、292…298とに基づいて処理が実行され、出力信号3701、…3707が出力される。これらの出力信号3701、…3707に基づき、それぞれマルチプレクサ375が制御される。マルチプレクサ375は、それぞれの信号値に基づいてバス381、382、…387又は388を信号481…488の伝送経路に接続する。同様に、他の段階においても、信号5901、5902が制御装置370で利用される最後の段階に至るまで、制御装置370とマルチプレクサ375とが接続される。さらに、出力信号5701に基づいて、信号581、582がマルチプレクサ375によって処理されて出力信号681が生成され、シングルポートRAM280に入力される。
図5のマルチプレクサ275とは異なり、図7のマルチプレクサ375は、アドレス信号、データ信号、及び制御信号の他に、信号381、382…388内に含まれる次の段のセレクト信号も結合する。さらに、マルチプレクサ375内に比較装置を設けることも可能であり、その場合、当該比較装置は、多重連合するアドレッシングの種類に対して、部分領域から読み出されたデータの有効性を判断する。
他の例として、1つ又は複数のシステム状態あるいはコンフィグレーションに依存して、メモリ領域を各処理ユニットに接続する処理をする構成が考えられる。その一例として、図8には、構成可能なデュアルポートキャッシュの例が示されている。
これによると、2つのポートの各々で入力信号が復号される際に、システムモード信号又はコンフィグレーション信号が利用される。表2は、これらの信号1000に応じた復号処理の変更可能性を示している。但し、表2のMは、信号1000が意味する値を表す。M=0の場合、例えば、比較モードが存在し、その比較モードにおいて2つのポートが共通のキャッシュに対してアクセスしている。一方、M=1(例えば、パフォーマンスモード)の場合、各ポートは、キャッシュの半分に対するアクセス状態を有している。そのため、各ポートは、制限されずに(他のポートにおけるアクティビティの影響なしに)この領域に対してアクセスすることができる。
このモードにおいて、アドレスビットAiは、(ダイレクトマップトモードにおいて)キャッシュのアドレッシングのために使用されず、アドレッシングにおいて、このビットに対してのみ異なるデータがキャッシュ内の同じ箇所に格納される。そのため、キャッシュ内容を読み出す場合に初めて、識別子に基づいて、それが求めるデータであるか否かを検出することができる。そして、その検出結果に応じてキャッシュヒットが生成される。
また、それぞれ、どこに該当する比較器が配置されているかに従って、識別子とコントロールビットとを含めたデータが信号291、292、…297を介してポート331、332、…337へ出力される。そして、信号261、262、…267が出力される。同様に、パフォーマンスモード(M=1)において、ポート1のみにキャッシュ全体に対するアクセスを許すことが可能である(表3を参照)適用者は、複数のコンフィグレーション信号によって任意にキャッシュの他の分割を行うこともできる。それが、キャッシュ領域が比較的大きい場合に、より高いヒット率を許し、それによってメインメモリからデータを取出す必要性を減少させる。一方で、種々のポートを介してできるだけ互いに独立したキャッシュ領域にアクセスされる場合、種々の処理ユニットが互いに干渉等の影響を及ぼさない。これらの条件は、適用のために設けられるプログラムに依存しており、実施の態様に応じて、より効果的な他のコンフィグレーションの可能性がある。他方で、システム状態(比較モード/パフォーマンスモード)を切り替える場合に、直接、モード信号1000を用いてキャッシュを自動的に切り替えることができる。
モード信号又はコンフィグレーション信号に応じてポートを切り替える方法(又は許可方法)が、図9に示すように、マルチポートキャッシュ290に拡張される。その場合、ポート331、332、…337がモード信号又はコンフィグレーション信号を用いて部分メモリ領域281、282、…288の接続を制御する。この制御は、ポート内で生成された信号291、292、…297に含まれるセレクト信号を用いて実行される。
図10には、多重連合キャッシュ(assoziativer Cache)が存在し、そのキャッシュにおいて各部分メモリ281、282、…288からデータが識別子及びコントロールビットと共に読み直される構成例が示されている。その場合、比較装置2811、2812、…2817、2821、2822、…2827、…2881、2882、…2887内で有効性が検査されて、その検査結果に応じてデータが有効性信号と共に信号2910、2920、…2970にガイドされる。その場合、図9に示した例と同様に、モード信号又はコンフィグレーション信号により選択的に切替えることが可能である。ポート3310、3320、…3370内で、有効性信号とモード信号及びコンフィグレーション信号とが評価されて、その評価結果応じて出力されたキャッシュヒット信号又はキャッシュミス信号を含む有効なデータが信号2610、2620、…2670の伝送経路を介して伝えられる。
RAMメモリの代わりに、MRAM、FERAMなどのような他のメモリテクノロジーを適用してもよい。
下記の(表1)は、2つのアドレスビットからデコーディングによって4つのセレクト信号を形成することを示している。
Figure 2009505180
下記の(表2)は、システム状態信号又はコンフィグレーション信号Mを考慮しながらアドレスビットから各ポートにおけるそれぞれ2つのセレクト信号を形成することを示している。
Figure 2009505180
下記の(表3)は、システム状態信号又はコンフィグレーション信号Mを考慮しながらアドレスビットから各ポートにおけるそれぞれ2つのセレクト信号を形成することを、他の形態で示している。
Figure 2009505180
データ及び/又は指令のためのデュアルポートキャッシュを示している。 他の詳細を有するデュアルポートキャッシュを示している。 アドレス変換するための装置と方法を示している。 デュアルポートRAMを、互いに独立して駆動可能であって、それぞれ各ポートからのそれぞれ2つの別々のセレクト信号によってアクセスを制御される、2つの部分領域に分割することを示している。 ポート切替えを用いてシングルポートRAMによりデュアルポートRAM領域を実現することを示している。 pのポートを有するマルチポートRAMを、パラレルに処理できる複数の部分アドレス領域1…qに分割することを示している。 ポート切替えを用いてシングルポートRAMによりマルチポートRAM領域を実現することを示している。 システム状態又はコンフィグレーションに従ってポートのためのRAM領域を分割することを示している。 システム状態又はコンフィグレーションに従ってそれに応じたセレクト信号を生成することにより、マルチポートRAMを領域に分割することを示している。 マルチポートRAMを多重連合アクセスを有する領域に分割することを示している。

Claims (32)

  1. 少なくとも2つの処理ユニットと、データ及び命令の一方又は両方が記録される少なくとも1つの第1のメモリとを有する計算機システム内に形成されてデータ及び命令の一方又は両方が記録される記憶装置において、
    前記記憶装置は、キャッシュメモリシステムとして形成されており、
    第2のメモリと、
    少なくとも2つの分離されたポートと、
    を備え、
    前記ポートを介して前記第2のメモリ内にある同一又は異なるメモリセルに対して少なくとも2つの前記処理ユニットからアクセスされる場合に、前記第1のメモリからデータ及び命令の一方又は両方がブロック単位で一時的に記録されることを特徴とする、記憶装置。
  2. 少なくとも2つの前記ポートを介して、同時に1つの前記メモリセルに対して読取りアクセスする手段をさらに備えることを特徴とする、請求項1に記載の記憶装置。
  3. 少なくとも2つの前記ポートを介して、同時に2つの異なる前記メモリセルに対して読取りアクセスする手段をさらに備えることを特徴とする、請求項1に記載の記憶装置。
  4. 少なくとも2つの前記ポートを介して、1つの前記メモリセル又は2つの異なる前記メモリセルに対して同時に読取りアクセスされる場合に、一方の前記ポートからの前記読取りアクセスが完了するまで、他方の前記ポートからの前記読み取りアクセスを遅延させる手段をさらに備えることを特徴とする、請求項1に記載の記憶装置。
  5. 少なくとも2つの前記ポートを介してアクセスされるアドレスを比較する手段をさらに備えることを特徴とする、請求項1に記載の記憶装置。
  6. 第1の前記ポートを介して実行される前記第2のメモリ内のメモリセル又はメモリ領域に対する書込みアクセスを検知して、第2の前記ポートを介して実行される当該メモリセル又はメモリ領域に対する書込みアクセス又は読取りアクセスを前記第1のポートを介して実行される書込みアクセスが終了するまで制限する手段をさらに備えることを特徴とする、請求項1に記載の記憶装置。
  7. 少なくとも1つの前記ポートを介して実行される読取りアクセスに際して、所望のデータが前記第2のメモリ内に存在するか否かを検査する手段をさらに備えることを特徴とする、請求項1に記載の記憶装置。
  8. 第1の前記ポートを介して要求されたデータが前記第2のメモリ内に存在しない場合に、前記第1のメモリにアクセスして、当該第1のメモリのメモリ内容をブロック単位で前記第2のメモリに転送する手段をさらに備えることを特徴とする、請求項1に記載の記憶装置。
  9. 第1の前記処理ユニットから第1の前記ポートを介して要求されたメモリブロックに対応する少なくとも1つのメモリセルに対し、第2の前記ポートを介してアクセスすべきか否かを判断するアドレス比較器をさらに備えることを特徴とする、請求項8に記載の記憶装置。
  10. 前記第2のメモリ内のデータが更新されている場合に前記メモリセルに対するアクセスを許可する手段をさらに備えることを特徴とする、請求項9に記載の記憶装置。
  11. 前記第2のメモリは、互いに独立して読取り又は書込み可能な少なくとも2つのアドレス領域に分割されていることを特徴とする、請求項1に記載の記憶装置。
  12. 複数の前記ポートから1つの前記アドレス領域に対して同時にアクセスされた場合に、1つの前記ポートのみにアクセスを許可し、ウェイト信号を用いて、少なくとも1つの他の前記ポートを介したアクセスを禁止又は遅延させるためのセレクト信号を生成するアドレスデコーダをさらに備えることを特徴とする、請求項11に記載の記憶装置。
  13. 前記記憶装置が2つより多くの前記ポートを有し、選択装置をさらに備え、互いに独立した前記アドレス領域に対するアクセスが前記選択装置を介して複数段で実行され、各段を介してセレクト信号が伝えられることを特徴とする、請求項12に記載の記憶装置。
  14. 前記記憶装置は、各前記ポートのアクセス可否を切り替えるために、少なくとも1つのモード信号を利用することを特徴とする、請求項11、12又は13のいずれかに記載の記憶装置。
  15. 前記記憶装置は、各前記ポートのアクセス可否を切り替えるために、少なくとも1つのコンフィグレーション信号を利用することを特徴とする、請求項11、12又は13のいずれかに記載の記憶装置。
  16. 前記記憶装置は、n個の異なるアドレス領域を用いてn倍の連合キャッシュとして機能させることを特徴とする、請求項11、12又は13のいずれかに記載の記憶装置。
  17. 前記第2のメモリ内にあるメモリセルに対する書込みアクセスの際に、書き込むべきデータを同時に前記第1のメモリに書き込む手段をさらに備えることを特徴とする、請求項1に記載の記憶装置。
  18. 前記第2のメモリ内にあるメモリセルに対する書込みアクセスの際に、書き込むべきデータを前記第1のメモリに遅延させて書き込む手段をさらに備えることを特徴とする、請求項1に記載の記憶装置。
  19. 少なくとも2つの処理ユニットと、データ及び命令の一方又は両方が記録される少なくとも1つの第1のメモリを有する計算機システム内に形成されてデータ及び命令の一方又は両方が記録される記憶装置による記憶方法において、
    前記記憶装置が、キャッシュメモリシステムとして形成されており、第2のメモリと、少なくとも2つの分離されたポートと、を備えており、
    前記ポートを介して前記第2のメモリ内にある同一又は異なるメモリセルに対して少なくとも2つの前記処理ユニットからアクセスされる場合に、前記第1のメモリからデータ及び命令の一方又は両方がブロック単位で一時記憶されることを特徴とする、記憶装置による記憶方法。
  20. 前記第2のメモリからデータを読み出すか、或いは、前記第2のメモリにデータを書き込むために、2つの前記ポートを介して第2のメモリ内にある同一又は異なるメモリセルに対して前記処理ユニットから並列にアクセスされ、かつ、同じメモリセルに対する読出しアクセスが2つの前記ポートを介して同時に行われることを特徴とする、請求項19に記載の記憶方法。
  21. 前記記憶装置により、2つの前記ポートに対応付けられるアドレスが比較されることを特徴とする、請求項19又は20のいずれかに記載の記憶方法。
  22. 第1の前記ポートを介して前記第2のメモリ又は前記第2のメモリ内にあるメモリセルに対する書込みアクセスが認識され、前記第1のポートを介して実行される書込みアクセスが完了するまで、第2の前記ポートを介して前記第2のメモリに対する書込みアクセス及び読取りアクセスが制限されるか、或いは、遅延されることを特徴とする、請求項19又は20のいずれかに記載の記憶方法。
  23. 少なくとも1つの前記ポートを介して実行される読取りアクセスに際して、前記記憶装置により、所望のデータ及び命令の一方又は両方が前記第2のメモリ内に存在するか否かが検査されることを特徴とする、請求項19又は20のいずれかに記載の記憶方法。
  24. 前記検査の処理は、アドレス情報を用いて実行されることを特徴とする、請求項23に記載の記憶方法。
  25. 第1の前記ポートを介して要求されたデータが前記第2のメモリ内に存在しない場合に、そのデータに対応するメモリブロックの内容が前記第1のメモリから前記第2のメモリに転送されるように促されることを特徴とする、請求項23に記載の記憶方法。
  26. 要求されたメモリブロックの内容が前記第1のメモリに転送されるとすぐに、データ及び命令の一方又は両方が存在するか否かに関する全ての情報が更新されることを特徴とする、請求項23に記載の記憶方法。
  27. 前記記憶装置が備えるアドレス比較器により、第1の前記処理ユニットから要求されたメモリブロックに対応する少なくとも1つの前記メモリセルに対して第2の前記処理ユニットがアクセスしようとしているか否かが判定されることを特徴とする、請求項23に記載の記憶方法。
  28. データ及び命令の一方又は両方の存在に関する情報が更新された場合に、前記メモリセルに対するアクセスが可能になることを特徴とする、請求項27に記載の記憶方法。
  29. 前記第2のメモリが少なくとも2つのアドレス領域に分割されており、前記少なくとも2つのアドレス領域が少なくとも2つの前記ポートを介して互いに独立して読み取り又は書き込みすることが可能である場合に、各前記ポートを介して各前記アドレス領域に対してアクセスされることが可能であることを特徴とする、請求項19又は20のいずれかに記載の記憶方法。
  30. 1つの前記アドレス領域に対するアクセスが1つの前記ポートに限定されており、ウェイト信号により、前記1つのポートがアクセスしている間の他の前記ポートを介して実行される当該アドレス領域に対する他の全てのアクセス要求が制限又は遅延されることを特徴とする、請求項29に記載の記憶方法。
  31. 前記第2のメモリ内にあるメモリセル又はメモリ領域に対して実行される書込みアクセスの際に、書き込まれるデータが同時に前記第1のメモリに書き込まれることを特徴とする、請求項19又は20のいずれかに記載の記憶方法。
  32. 前記第2のメモリ内にあるメモリセル又はメモリ領域に対して実行される書込みアクセスの際に、書き込まれるデータが遅延されて前記第1のメモリに書き込まれることを特徴とする、請求項19又は20のいずれかに記載の記憶方法。
JP2008525518A 2005-08-08 2006-07-25 少なくとも2つの処理ユニットと、及び少なくとも1つのメモリとを有する計算機システム内に形成される及び記憶装置、及びそれによる記憶方法 Pending JP2009505180A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102005037219A DE102005037219A1 (de) 2005-08-08 2005-08-08 Vorrichtung und Verfahren zur Speicherung von Daten und/oder Befehlen in einem Rechnersystem mit wenigstens zwei Verarbeitungseinheiten und wenigstens einem ersten Speicher oder Speicherbereich für Daten und/oder Befehle
PCT/EP2006/064629 WO2007017373A1 (de) 2005-08-08 2006-07-25 Vorrichtung und verfahren zur speicherung von daten und/oder befehlen in einem rechnersystem mit wenigstens zwei verarbeitungseinheiten und wenigstens einem ersten speicher oder speicherbereich für daten und/oder befehle

Publications (1)

Publication Number Publication Date
JP2009505180A true JP2009505180A (ja) 2009-02-05

Family

ID=37027584

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008525518A Pending JP2009505180A (ja) 2005-08-08 2006-07-25 少なくとも2つの処理ユニットと、及び少なくとも1つのメモリとを有する計算機システム内に形成される及び記憶装置、及びそれによる記憶方法

Country Status (6)

Country Link
US (1) US20100005244A1 (ja)
EP (1) EP1915694A1 (ja)
JP (1) JP2009505180A (ja)
CN (1) CN101243416A (ja)
DE (1) DE102005037219A1 (ja)
WO (1) WO2007017373A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201017421A (en) * 2008-09-24 2010-05-01 Panasonic Corp Cache memory, memory system and control method therefor
FR2954539B1 (fr) * 2009-12-23 2014-08-29 Thales Sa Procede et dispositif de detection de transferts errones pour microcontroleur ou microprocesseur en vue de garantir le partitionnement.
US8341353B2 (en) * 2010-01-14 2012-12-25 Qualcomm Incorporated System and method to access a portion of a level two memory and a level one memory
US9268722B1 (en) * 2012-05-31 2016-02-23 Marvell International Ltd. Sharing memory using processor wait states
US9208870B2 (en) * 2012-09-13 2015-12-08 Adesto Technologies Corporation Multi-port memory devices and methods having programmable impedance elements
US10002367B2 (en) 2013-10-09 2018-06-19 Selligent, Inc. System and method for managing message campaign data
US9704540B2 (en) * 2014-06-05 2017-07-11 Micron Technology, Inc. Apparatuses and methods for parity determination using sensing circuitry
US9455020B2 (en) 2014-06-05 2016-09-27 Micron Technology, Inc. Apparatuses and methods for performing an exclusive or operation using sensing circuitry
JP2019057336A (ja) * 2017-09-19 2019-04-11 株式会社東芝 半導体集積回路

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4955249A (ja) * 1972-09-29 1974-05-29
JPH01280860A (ja) * 1988-05-06 1989-11-13 Hitachi Ltd マルチポートキヤツシユメモリを有するマルチプロセツサシステム
JPH0485788A (ja) * 1990-07-27 1992-03-18 Toshiba Corp 多ポートキャッシュメモリ
US6101589A (en) * 1998-04-01 2000-08-08 International Business Machines Corporation High performance shared cache

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4345309A (en) * 1980-01-28 1982-08-17 Digital Equipment Corporation Relating to cached multiprocessor system with pipeline timing
US5247649A (en) * 1988-05-06 1993-09-21 Hitachi, Ltd. Multi-processor system having a multi-port cache memory
JP2965043B2 (ja) * 1990-04-10 1999-10-18 三菱電機株式会社 デュアルポートメモリ
DE4129614C2 (de) * 1990-09-07 2002-03-21 Hitachi Ltd System und Verfahren zur Datenverarbeitung
US20040221112A1 (en) * 2003-04-29 2004-11-04 Zvi Greenfield Data storage and distribution apparatus and method
DE10332700A1 (de) * 2003-06-24 2005-01-13 Robert Bosch Gmbh Verfahren zur Umschaltung zwischen wenigstens zwei Betriebsmodi einer Prozessoreinheit sowie entsprechende Prozessoreinheit
US7363436B1 (en) * 2004-02-26 2008-04-22 Integrated Device Technology, Inc. Collision detection in a multi-port memory system
US7747828B2 (en) * 2004-11-17 2010-06-29 Integrated Device Technology, Inc. Systems and methods for monitoring and controlling binary state devices using a memory device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4955249A (ja) * 1972-09-29 1974-05-29
JPH01280860A (ja) * 1988-05-06 1989-11-13 Hitachi Ltd マルチポートキヤツシユメモリを有するマルチプロセツサシステム
JPH0485788A (ja) * 1990-07-27 1992-03-18 Toshiba Corp 多ポートキャッシュメモリ
US6101589A (en) * 1998-04-01 2000-08-08 International Business Machines Corporation High performance shared cache

Also Published As

Publication number Publication date
DE102005037219A1 (de) 2007-02-15
EP1915694A1 (de) 2008-04-30
CN101243416A (zh) 2008-08-13
WO2007017373A1 (de) 2007-02-15
US20100005244A1 (en) 2010-01-07

Similar Documents

Publication Publication Date Title
JP2009505180A (ja) 少なくとも2つの処理ユニットと、及び少なくとも1つのメモリとを有する計算機システム内に形成される及び記憶装置、及びそれによる記憶方法
JP2822588B2 (ja) キャッシュメモリ装置
JP3593346B2 (ja) マルチポートメモリ及びそれをアクセスするデータ処理装置
US9158704B2 (en) Virtual memory management system with reduced latency
US7836253B2 (en) Cache memory having pipeline structure and method for controlling the same
JP2010191638A (ja) キャッシュ装置
US7398362B1 (en) Programmable interleaving in multiple-bank memories
JPS59213084A (ja) バッファ記憶装置のアクセス制御方式
KR960006499B1 (ko) 멀티포트 캐시메모리(multi-port cache memory)를 가지는 멀티프로세서 시스템(multi-processor system)
US6038642A (en) Method and system for assigning cache memory utilization within a symmetric multiprocessor data-processing system
US5161219A (en) Computer system with input/output cache
US8200900B2 (en) Method and apparatus for controlling cache memory
KR19990071554A (ko) 어드레스충돌검출기능을갖는멀티포트캐시메모리
US8327079B2 (en) Cache memory control device and pipeline control method
KR101645003B1 (ko) 메모리 제어기 및 그 메모리 제어기가 탑재된 컴퓨팅 장치
JPH0282330A (ja) ムーブアウト・システム
US6345335B1 (en) Data processing memory system
JPH0756808A (ja) データキャッシュバッファ及び記憶方法
US8495303B2 (en) Processor and computer system with buffer memory
JP3701409B2 (ja) メモリシステム
KR20080033338A (ko) 데이터 및/또는 명령을 위한 적어도 2개의 실행 유닛들과적어도 하나의 제1 메모리 또는 메모리 영역을 갖는 컴퓨터시스템에 데이터 및/또는 명령을 저장하기 위한 장치 및방법
KR960005394B1 (ko) 멀티 프로세서 시스템
JP3130569B2 (ja) キャッシュメモリのストア方式
JP2009505181A (ja) 少なくとも2つの処理ユニットと、データおよび/または指令のための少なくとも1つの第1のメモリもしくはメモリ領域とを有する計算機システム内で指令および/またはデータを記憶するための方法および装置
JPH0836525A (ja) 多重アクセスキャッシュ記憶装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100803

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110104