JP5485055B2 - 共有メモリシステム及びその制御方法 - Google Patents

共有メモリシステム及びその制御方法 Download PDF

Info

Publication number
JP5485055B2
JP5485055B2 JP2010161797A JP2010161797A JP5485055B2 JP 5485055 B2 JP5485055 B2 JP 5485055B2 JP 2010161797 A JP2010161797 A JP 2010161797A JP 2010161797 A JP2010161797 A JP 2010161797A JP 5485055 B2 JP5485055 B2 JP 5485055B2
Authority
JP
Japan
Prior art keywords
shared memory
master
attribute
access
cluster
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
JP2010161797A
Other languages
English (en)
Other versions
JP2012022616A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2010161797A priority Critical patent/JP5485055B2/ja
Priority to PCT/JP2011/002296 priority patent/WO2012008073A1/ja
Publication of JP2012022616A publication Critical patent/JP2012022616A/ja
Priority to US13/467,684 priority patent/US20120221795A1/en
Application granted granted Critical
Publication of JP5485055B2 publication Critical patent/JP5485055B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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

Description

本発明は、複数のマスタによってアクセスされる共有メモリを有する共有メモリシステム及びその制御方法に関する。
従来、共有メモリシステムとして、複数のプロセッサ間でメモリを共有しているものがある。図11は、従来の共有メモリシステムの構成を示すブロック図である。CPU(1)2101、CPU(2)2102、DSP(1)2103、DSP(2)2104、GPU2105、HWA(1)2106及びHWA(2)2107は、インターコネクトバス2219を通して主記憶メモリ2151を共有する。
具体的な例として、動画ストリームのデコード処理を行う場合を示す。この処理では、最初に、CPU(1)2101を用いて主記憶メモリ2151から処理すべきデータを取得し、ヘッダ解析等の処理を行う。次に、DSP(2)2104を用いて動画でコード処理を行った後、フレームデータを主記憶メモリ2151で共有し、HWA(1)2106を用いてLCD等に出画する。
また、別の例として、特許文献1に記載の共有メモリシステムが知られている。図12は、特許文献1の構成を示すブロック図である。この共有メモリシステムは、インターコネクトバス3319の負荷をバス負荷検出部3340で検出し、このバス負荷情報3341をリプレースウェイ制御部3350に通知する。そして、リプレースウェイ制御部3350は、予め設定されたバス負荷の判定条件に応じて、リプレース方法を変更する。
これにより、局所的にバストラフィックが増大する懸念がある場合でも、バストラフィックを均一化することが可能となる。したがって、リアルタイム処理が必要なマスタに対して性能を担保することが可能となる。
特開2006−119796号公報
しかし、上記説明した共有メモリシステムでは、次のような問題があった。図11に示した例では、各マスタは、主記憶メモリ2151を用いて各マスタ間のデータを共有する。主記憶メモリ2151は、一般的にDRAMで構成され、LSIの内蔵メモリと比較してレイテンシが長い。したがって、この構成では、主記憶メモリ2151に対するバスアクセスがボトルネックとなり、各マスタの性能を十分に発揮することが困難である。
また、図12に示した特許文献1の構成では、バス負荷情報3341に応じて、キャッシュのリプレースウェイを制御するため、主記憶メモリ3351に対するバストラフィックを均一化することができる。すなわち、バス負荷が大きい場合はバス負荷の小さいリプレース処理を行い、バス負荷が小さい場合はバス負荷の大きいリプレース処理を行うことで、バスを有効に使用することができ、局所的なバストラフィックを改善し、バストラフィックを均一化することができる。
しかし、この方法では、主記憶メモリ3351のバス帯域を越えるシステム性能を発揮することはできず、CPU3301、3302やDSP(1)3303等のマスタが潜在的に持つ能力を全て使い切ることは困難である。またこの場合、主記憶メモリ3351は常に動作し続けることになるため、低消費電力が特に要求される携帯機器等においては、商品性を損なってしまう。
本発明の目的は、処理時間の短縮及び消費電力の低減が可能な共有メモリシステム及びその制御方法を提供することである。
本発明の共有メモリシステムは、複数のマスタと、前記複数のマスタによってアクセスされ、クラスタに分割された共有メモリと、前記複数のクラスタの少なくとも1つを含む複数のクラスタ空間を、全マスタで共有する空間、特定の複数のマスタ間で共有する空間、及び単体のマスタで占有する空間のいずれかで構成し、当該クラスタ空間に前記マスタからのアクセスを割り当てる割当部と、前記マスタの属性情報に従って、前記クラスタ空間の構成を変更する変更部とを備え、前記属性情報は、前記マスタのアクセス信号に付加され、マスタ識別属性、リード/ライト属性、アドレス属性、データ/命令属性、セキュア属性、キャッシュ/非キャッシュ属性及び転送属性の少なくとも1つを含む。これにより、マスタの処理性能を向上させて処理時間を短縮することができる。また、外部の主記憶メモリへのアクセスを削減して消費電力を低減することができる。
また、本発明の共有メモリシステムでは、前記マスタは、中央演算処理装置、デジタルシグナルプロセッサ、汎用グラフィックス処理装置又はハードウェアアクセラレータである。
また、本発明の共有メモリシステムでは、前記共有メモリはキャッシュメモリであり、前記クラスタ空間にミスヒットが発生した場合、リフィル動作中、当該クラスタ空間にアクセスが割り当てられたマスタの動作クロック周波数を下げるもしくは当該動作クロックを停止させるクロック制御部を備える。これにより、省電力化が図られる。
本発明の共有メモリシステムは、前記マスタの属性情報を判別し、当該マスタから前記クラスタ空間へのアクセスを許可するアクセス監視部を備える。これにより、システムのコヒーレンシ性能を向上させることができる。
本発明の共有メモリシステムは、前記マスタから前記クラスタ空間へのアクセスを格納するスケジューリング部と、前記スケジューリング部によって格納された前記クラスタ空間へのアクセスを制御するアクセスポリシー制御部とを備え、前記アクセス監視部は、前記マスタの属性情報を判別して前記スケジューリング部に渡し、前記アクセスポリシー制御部は、ポリシーを前記スケジューリング部に通知し、前記属性情報に該当するクラスタ空間へのアクセスを許可する。これにより、クラスタ空間へのアクセスに際し、ポリシーを反映させることができる。
本発明の共有メモリシステムでは、前記アクセスポリシー制御部は、前記クラスタ空間へのアクセスの優先度が設定されたプライオリティ設定レジスタの内容を変更する。これにより、システムのコヒーレンシ性能を向上させることができる。
本発明の共有メモリシステムは、前記スケジューリング部によって格納された前記マスタから前記クラスタ空間へのアクセスを統合する統合部を備える。これにより、共有性の高いクラスタ空間を統合させることができ、システムのコヒーレンシ性能を向上させることができる。
本発明の共有メモリシステムでは、前記属性情報は、前記マスタのアクセス信号に付加された、マスタ識別属性、リード/ライト属性、アドレス属性、データ/命令属性、セキュア属性、キャッシュ/非キャッシュ属性及び転送属性を含む。
本発明の共有メモリシステムは、前記共有メモリはキャッシュメモリであり、前記マスタから前記クラスタ空間へのアクセスに緊急転送属性を付加する緊急転送属性付加部を備え、前記アクセスポリシー制御部は、前記緊急転送属性が付加された前記マスタからのアクセスに、明け渡し可能な前記クラスタ空間の領域を貸与する。これにより、緊急性の高く優先度が低い処理を行うマスタに対しても、クラスタ空間を割り当てることができる。
本発明の共有メモリシステムでは、前記緊急転送属性が付加されたマスタからのアクセスが完了すると、前記領域が貸与されたクラスタ空間を元に戻す。これにより、緊急転送前の状態に戻すことができる。
本発明の共有メモリシステムは、前記共有メモリはキャッシュメモリであり、前記複数のクラスタ空間はラインサイズの異なるクラスタ空間からなり、前記マスタの処理内容に応じたラインサイズの前記クラスタ空間に、前記マスタからのアクセスを振り分けるラインサイズ制御部を備える。これにより、マスタの処理内容に適切なラインサイズのクラスタ空間に振り分けることができる。
本発明の共有メモリシステムでは、特定の前記クラスタ空間に対し、電源の供給を遮断する、又はリーク電流を抑制する電源制御部を備える。これにより、電力性能を向上させることができる。
本発明の共有メモリシステムは、半導体装置からなり、前記マスタとして、他の半導体装置が接続された。これにより、システム全体の処理性能を向上させることができるとともに、他の半導体装置に接続される主記憶メモリを削減することができる。
本発明の共有メモリシステムの制御方法は、複数のマスタと、前記複数のマスタによってアクセスされ、複数のクラスタに分割された共有メモリとを有する共有メモリシステムの制御方法であって、前記複数のクラスタの少なくとも1つを含むクラスタ空間を、全マスタで共有する空間、特定の複数のマスタ間で共有する空間、及び単体のマスタで占有する空間のいずれかで構成し、当該クラスタ空間に前記マスタからのアクセスを割り当てる割当ステップと、前記マスタの属性情報に従って、前記クラスタ空間の構成を変更する変更ステップとを有し、前記属性情報は、前記マスタのアクセス信号に付加され、マスタ識別属性、リード/ライト属性、アドレス属性、データ/命令属性、セキュア属性、キャッシュ/非キャッシュ属性及び転送属性の少なくとも1つを含む
本発明によれば、マスタの処理性能を向上させて処理時間を短縮することができる。また、外部の主記憶メモリへのアクセスを削減して消費電力を低減することができる。
例えば、共有メモリシステムを有するマルチプロセッサを用いることで、プロセッサ処理時間を短縮した高性能マルチプロセッサを実現することができる。さらに、外部ワークメモリ(主記憶メモリ)へのアクセスを低減させることで、バッテリ駆動のポータブル電子機器に用いられるアプリケーションプロセッサに対し、大幅な低消費電力が実現可能となる。
第1の実施形態における共有メモリシステムの構成を示す図 メモリアクセス制御の動作手順を示すフローチャート クラスタメモリ空間の設定更新手順を示すフローチャートの一例 アクセスポリシー制御機構114の設定例を示すテーブル マスタ識別属性1040及びキャッシュ属性1090の設定例を示すテーブル 動画再生動作手順を示すフローチャート 第2の実施形態における共有メモリシステムの構成を示す図 第3の実施形態における共有メモリシステムの構成を示す図 第4の実施形態における共有メモリシステムの構成を示す図 第5の実施形態における共有メモリシステムの構成を示す図 従来の共有メモリシステムの構成を示すブロック図 特許文献1の構成を示すブロック図
本発明の共有メモリシステム及びその制御方法の実施形態について、図面を参照して説明する。以下説明する実施形態の共有メモリシステムは、非対称マルチプロセッサや対称マルチプロセッサ等、複数のマスタがアクセスする共有メモリとしてキャッシュメモリを有する。
(第1の実施形態)
図1は、第1の実施形態における共有メモリシステムの構成を示す図である。この共有メモリシステムは、CPU(中央演算処理装置)(1)101、CPU(2)102、DSP(デジタルシグナルプロセッサ)(1)103、DSP(2)104、GPU(汎用グラフィックス処理装置)105、HWA(ハードウェアアクセラレータ)(1)106及びHWA(ハードウェアアクセラレータ)(2)107からなる7つのマスタを有する。
これら7つのマスタは、クラスタメモリ空間選択装置119を通して8個のクラスタメモリ(クラスタ)111に分割された共有メモリ(キャッシュ)110を共有する。なお、第1のプロセッサ(CPU(1)101)及び第2のプロセッサ(CPU(2)102)は非対称なマルチプロセッサを構成する。また、第3のプロセッサ(DSP(1)103)及び第4のプロセッサ(DSP(2)104)は非対称なマルチプロセッサを構成する。
各マスタは、共有メモリ110をキャッシュメモリとしてアクセスする時、アクセス先アドレスと同時に属性情報を付加したバスアクセス信号130を出力する。
アクセス監視機構112は、各マスタが発行する属性情報をもとに、クラスタメモリ空間選択装置119にアクセス許可を示す制御情報131を渡す。クラスタメモリ空間選択装置119は、アクセス許可を示す制御情報131に従って、各マスタから各クラスタ111へのアクセスを制御する。
特定の属性情報で共有したクラスタメモリ空間(クラスタ空間)にキャッシュミスヒットが発生し、クラスタ111へのリフィル動作を行う場合、キャッシュ制御機構124は、リフィル動作中に、該当するマスタの動作クロック周波数を下げるもしくは動作クロックを停止することを許可するフラグ信号137をクロック制御部122に出力する。
クロック制御部122は、キャッシュ制御機構124から、動作クロック周波数を下げるもしくは動作クロックを停止することを許可するフラグ信号137を受け取ると、ストール状態にあると判断したマスタの動作クロック139を停止する、もしくはその周波数を下げる。また、クロック制御部122の動作は、省電力制御部121からの信号138によって制御される。
上記構成を有する共有メモリシステムの動作を示す。図2は、メモリアクセス制御の動作手順を示すフローチャートである。例えば、DSP(2)104をビデオデコード処理プロセッサとし、DSP(2)104がデコード(復号化)したビデオデータをGPU105が高画質化処理を行うための入力データとして使用する場合について説明する。
まず、共有メモリシステムは、アクセス監視機構112に対し、予め動画属性用のクラスタをクラスタメモリ1とクラスタメモリ2とする定義を行う(ステップS1)。
アクセス監視機構112は、DSP(2)104が画像の属性情報を付加してメモリアクセスを行うと(ステップS2)、このバスアクセス信号130に付加された属性情報はアクセスを許可するものであるか否かを判別する(ステップS3)。この属性情報がアクセスを許可しないものである場合、この動作は終了する。
一方、この属性情報がアクセスを許可するものである場合、アクセス監視機構112は、クラスタメモリ1とクラスタメモリ2に対してアクセス許可を示す制御情報131を、クラスタメモリ空間選択装置119に出力する(ステップS4)。
クラスタメモリ空間選択装置119は、このアクセス許可を示す制御情報131に従って、DSP(2)104からのアクセスをクラスタメモリ1もしくはクラスタメモリ2に振り分ける(ステップS5)。同様に、GPU105が画像の属性情報を付加してメモリアクセスを実行すると、GPU105からのメモリアクセスもクラスタメモリ1とクラスタメモリ2に割り当てられる。
このように、複数のクラスタ111に分割された共有メモリ110を複数のマスタが共有することで、キャッシュメモリのコヒーレンシを容易に保つことができる。また、その他のマスタ、例えばDSP(1)103が異なる属性情報を付加する場合、DSP(2)104及びGPU105以外のマスタからのメモリアクセスを排除することができる。
また、GPU105の動作中、キャッシュ制御機構124は、キャッシュミスヒットが発生したか否かを判別する(ステップS6)。キャッシュミスヒットが発生した場合、レイテンシの大きい主記憶メモリ151等から該当するクラスタ111にリフィル(入れ替え)動作が行われる。この時、GPU105は所望のデータを受信するまでストール状態となるため、キャッシュ制御機構124は、GPU105のメモリアクセスのキャッシュミスヒット及びストール状態を検知し、クロック制御部122にGPU105のクロック周波数を下げることを許可するフラグ信号137を出力する(ステップS7)。なお、前述したように、クロック周波数を下げる代わりに、クロックを停止しても良い。
クロック制御部122は、クロック周波数を下げることを許可するフラグ信号137を受け取ると、GPU105のクロック周波数を通常動作のクロック周波数よりも低い周波数に下げてクロックを供給する。キャッシュ制御機構124は、クラスタ(キャッシュ)111に所望のデータを入れ替え(ステップS8)、この入れ替え(リフィル動作)後、フラグ信号137を取り下げる。
クロック制御部122は、フラグ信号137の取り下げにより、GPU105に供給されるマスタ動作クロック139のクロック周波数を通常のクロック周波数に切り替え、元に戻す(ステップS9)。GPU105は、リフィル動作後のクラスタメモリ1あるいはクラスタメモリ2に対し、メモリアクセスを行う(ステップS10)。この後、この動作が終了する。
このように、本実施形態の共有メモリシステムによれば、各マスタ間で共有するクラスタメモリ内のデータのコヒーレンシを容易に保つことができる。また、外部メモリ制御部120を介して行われる主記憶メモリ151へのアクセス回数、又はシステムのレイテンシを削減し、プロセッサ処理性能を向上させることができる。
さらに、局所的なキャッシュヒット率を高めることも可能であるため、下位階層のメモリアクセスを削減し、また、ストール中のマスタのクロック停止もしくはその周波数を動的に下げることで、大幅な消費電力の削減が可能となる。
なお、本実施形態では、マスタの数を7個設け、クラスタの数を8個設けた場合を示したが、この数は特に限定されるものではなく、任意の数で良い。
次に、クラスタメモリ空間の設定について説明する。ここで、クラスタメモリ空間は、全マスタで共有する空間111a、複数のマスタ間でのみ共有する空間111b、単一のマスタで占有する空間111cに分けられる。
アクセス監視機構112は、マスタ101〜107とクラスタメモリ空間選択装置119間のバスアクセス信号130を監視し、属性情報を抽出する。属性情報の詳細については後述する。
アクセス監視機構112は、属性情報をメモリアクセスごとにまとめてスケジューリング機構115に渡す。スケジューリング機構115は、キューイング機構を持っており、アクセスポリシー制御機構114から通知されるポリシーに従い、キューの格納順序を決める。ポリシーは、アクセスポリシー制御機構114の回路で決められるか、若しくは、プライオリティ設定レジスタ113を介してソフトウェアで柔軟に決められるか、又はその両方の形態を有する。
マージ機構116は、同一又は類似するメモリアクセスをキューに格納した場合、両者の属性情報を統合する機能を有する。例えば、同じマスタからのリード属性であるメモリアクセスのアドレス空間が、もう一方のメモリアクセスのアドレス空間を含む場合、マージ機構116は、含まれる方のメモリアクセスの属性情報を破棄し、含む方のメモリアクセスの属性情報を選択し、両者のうち最前列に近いほうのキューに置き換える。
また、マージ機構116は、クラスタメモリ空間選択装置119の設定情報を保持しており、スケジューリング機構115のキューにおいて統合後の属性情報から、タグ切替部117を介してクラスタメモリ空間の設定を更新するか否かを判定する機構を有する。
図3は、クラスタメモリ空間の設定更新手順を示すフローチャートの一例である。例えば、GPU105が生成するLCD表示データの1ラインが、主記憶メモリ151へのライトとして、共有メモリ110のクラスタメモリ5の空間(0x4000_0000より1ライン分)にキャッシュデータとして格納される。
HWA(2)107をLCDコントローラとすると、アクセス監視機構112は、HWA(2)107からのバスアクセス信号130を監視する(ステップS11)。
バスアクセス信号130を監視した結果、アクセス監視機構112は、マスタ識別属性がHWA(2)107であり、リード/ライト属性がリード属性であり、開始アドレスが0x4000_0000であり、転送サイズがLCD表示の1ラインであることの属性情報を抽出する(ステップS12)。この抽出された属性情報は、スケジューリング機構115に渡される。
アクセスポリシー制御機構114は、プライオリティ設定レジスタ113に、予めHWA(2)107からのアクセスの優先度がマスタの中で最高位であるとソフトウェアにより設定されている場合、アクセスポリシー制御機構114に格納されるポリシーに反映し、このポリシーをスケジューリング機構115に通知する(ステップS13)。
スケジューリング機構115は、このポリシーに従い、HWA(2)107の属性情報をキューの最前列に格納する(ステップS14)。
マージ機構116は、スケジューリング機構115のキューに格納された属性情報の類似性を分析し、属性情報を統合する(ステップS15)。マージ機構116は、クラスタメモリ空間選択装置119の設定情報から、クラスタメモリ5の空間がリードアドレスを含むと判定した場合、共有メモリ110のクラスタメモリ5の空間制御にかかわる設定を他のメモリアクセスの属性情報に影響されず保持し、HWA(2)107のキャッシュヒットを保証する。
なお、最初のGPU105のライトアクセスの際、属性情報(この例ではリード属性、ライト属性、開始アドレス、転送サイズより)に適するクラスタメモリを確保していない場合、共有メモリ110のクラスタメモリ5の空間を確保するための設定がクラスタメモリ空間選択装置119に反映される。
マージ機構116は、設定した情報を保持しており、この設定情報を、以降のメモリアクセスの際、更新が必要であるか否かの判断に使用する。すなわち、マージ機構116は、設定情報をもとに、クラスタメモリ空間の設定を変更する必要があるか否かを判別する(ステップS16)。必要である場合、マージ機構116は、クラスタメモリ空間の設定を変更し(ステップS17)、必要でない場合、そのままにする。
なお、マージ機構116における属性の類似性を判断する際、今回のリード属性、ライト属性、開始アドレス及び転送サイズから、クラスタメモリ空間の設定を決めていたが、これらの他、マスタ識別属性や命令/データ属性等、アクセス監視機構112によって抽出可能な全ての属性情報は判断情報となる。
この後、スケジューリング機構115は、そのキューの最前列に格納された属性情報を破棄する(ステップS17)。本動作が終了する。
これにより、本実施形態の共有メモリシステムによれば、共有性の確保及びリフィル動作の低減による省電力化を実現することができる。
次に、属性情報について説明する。図4は、アクセスポリシー制御機構114の設定例を示すテーブルである。このアクセスポリシー制御機構114の設定例で示すように、共有メモリシステムにおいて、マスタ101〜107がインターコネクトバスにアクセスする際に付与する属性1030によって、クラスタメモリ1〜8の共有属性が制御される。
図5は、マスタ識別属性1040及びキャッシュ属性1090の設定例を示すテーブルである。図5(A)はマスタ識別属性1040を示し、図5(B)はキャッシュ属性1090を示す。
クラスタメモリ1の設定例は次のとおりである。属性1030は1ラインあたり64バイトのラインサイズである。マスタ識別属性1040は0と1である。リード/ライト属性1050はリード/ライトの両方の場合である。アドレス範囲(アドレス属性)1060は、開始アドレス1060aが0x00000000以上、かつ終了アドレス1060bが0x20000000未満である。
データ/命令属性1070は命令/データである。セキュア属性1080はセキュアである。キャッシュ属性(キャッシュ/非キャッシュ属性)1090はRAである。緊急処理属性10A0は不可である。転送属性(10B0)はシングルの場合にクラスタメモリ1でCPU(1)101とCPU(2)102間で命令/データを共有することができることを示す。
例えば、携帯機器において動画再生を行う場合を例にあげて説明する。図6は、動画再生動作手順を示すフローチャートである。まず、CPU(1)101は、データの取得と著作権情報の認証を行う(ステップS21)。すなわち、CPU(1)101は、主記憶メモリ151からストリームデータを取得し、著作権情報等の保護情報を認証する処理を行う。その際、CPU(1)101は、属性1030でアクセスを行い、クラスタメモリ1で処理済みデータを共有する。
CPU(2)102は、音声情報と画像情報の分離処理を行う(ステップS22)。すなわち、CPU(2)102は、認証処理を行ったデータに対し、音声情報と画像情報を分離する処理を行う。分離後のデータは、クラスタメモリ5、6で共有される。
DSP(1)103は、音声と画像のデコード処理を行う(ステップS23)。すなわち、DSP(1)103は、音声情報をデコードする処理を行う際、CPU(2)102によって処理され、クラスタメモリ5、6で共有されたデータを使用する。音声デコード処理後のデータは、DSP(1)103によってデジタルアナログコンバータに出力される。
また、DSP(2)104は、動画ストリームデコードを行ってフレームデータに変換する処理を行う際、同様に、クラスタメモリ5、6で共有されたデータを使用する。動画デコード後のフレームデータは、クラスタメモリ8を用いて、HWA(2)107と共有される。
HWA(2)107は、クラスタメモリ8で共有されたデータを読み出し、LCD(図示せず)に出画する処理を行う(ステップS24)。この後、本動作が終了する。
上記ステップS21〜S24では、それぞれのマスタ間のデータは、属性1030によって制御され、共有される。なお、上記ステップS21〜S24は、例示であって制限的なものではないと考えられるべきである。
このように、第1の実施形態の共有メモリシステムによれば、適切な属性1030を予め設定し、それに応じて動的にクラスタメモリ1〜8のいずれかあるいは全てを予め設定された属性1030に従って、適切にデータを共有することで、システムの性能を高めることができる。また、同時に、コヒーレンシ性が向上するため、主記憶メモリ151へのアクセスを減らすことができる。したがって、携帯機器に必要不可欠な低消費電力の性能も高めることができる。
なお、属性1030では、クラスタメモリごとのラインサイズは、1ラインあたり64バイトのラインサイズ、1ラインあたり128バイトのラインサイズ、1ラインあたり256バイトのラインサイズ又は1ラインあたり512バイトのラインサイズ等であっても良い。
マスタ識別属性1040は、0と1のみで共有する場合、0と1と5と6で共有する場合、0と2と3で共有する場合、2と3で共有する場合、5のみで共有する場合等、任意の組合せで設定されても良い。
アドレス範囲1060は、0x00000000以上かつ0x20000000未満というように、任意の範囲で設定されても良い。
データ/命令属性1070は、命令/データ、命令のみ、データのみ等で設定されても良い。ここで、データ属性1078は、1種類のみ示されたが、複数のデータ属性を持っても良い。
セキュア属性1080は、セキュア属性の場合又は非セキュア属性としても良い。キャッシュ属性1090は、RA、RAB又はRAWAB等でも良い。緊急処理属性10A0は、対応不可、対応可から選択されても良い。転送属性10B0は、シングル転送、バースト転送等であっても良い。
このような属性のいずれか1つ以上又はその他の属性情報を組み合わせて、アクセスポリシーを制御するようにしても良い。
(第2の実施形態)
図7は、第2の実施形態における共有メモリシステムの構成を示す図である。第2の実施形態の共有メモリシステムでは、第1の実施形態の共有メモリシステムに加え、緊急転送属性が付加されたメモリアクセスに対するキャッシュメモリ空間貸与機能が付加されている。
前記第1の実施形態と同じ構成要素については同じ符号を用いることで、その説明を省略する。なお、本実施形態では、共有メモリシステムは、共有キャッシュメモリ構成110aを有するものとして説明する。
HWA(2)107には、LCD(液晶表示ディスプレイ)452が接続される。また、クラスタメモリ空間選択装置119によって、クラスタメモリ1に該当するウェイは、CPU(1)101とCPU(2)102の共有クラスタ111として割り当てられている。したがって、クラスタメモリ1へのアクセスには、メモリアクセス471とメモリアクセス472aが存在する。
また、メモリアクセス472bは、CPU(2)102のデータキャッシュ属性が割り当てられる空間(クラスタメモリ2、3で構成された共有空間461)に対して行われる。
DSP(1)103のメモリアクセス473aと、DSP(2)104のデータキャッシュ属性メモリアクセス474aは、クラスタメモリ4で構成された空間462を共有する。DSP(2)104のデータキャッシュ属性メモリアクセス474bには、クラスタメモリ5、6で構成された空間463が割り当てられる。
最後に、HWA(2)107がLCD452に表示する最終画像データは、クラスタメモリ7、8で構成された空間464に対するHWA(2)107のメモリアクセス475によって格納される。
一方、CPU(2)102が作成するユーザインターフェース(以降、UIと略す)等のアニメーションは、CPU(2)102による最終画像の合成処理後、クラスタメモリ2、3で構成された空間461に格納される。
ここで、クラスタメモリ7、8で構成された空間464と、クラスタメモリ2、3で構成された空間461とのコヒーレンス性は、内部に具備したコヒーレンシ機能470により保たれる。
このように、HWA(2)107がメモリアクセス475を行うことで、クラスタメモリ7、8で構成された空間464へのメモリアクセス475でLCD452に出力することが可能である。
次の動作を例に、緊急処理転送属性を付与したメモリアクセスに対するキャッシュメモリ空間貸与機能について説明する。この動作は、CPU(1)101が周辺接続デバイスの制御を行い、CPU(2)102が表示画面のUI描画制御を行っている場合、かつDSP(1)103が音響処理を行い、DSP(2)104がビデオデコード処理を行い、GPU105とHWA(1)106(ここでは、DMAコントローラ)が動作していない場合、HWA(2)107がLCDに出画データを転送している動作である。
この動作状態において、HWA(2)107は、1秒間に60枚の映像データを出力する。組み立てられた最終画像データを一定周期でLCD452に遅れることなく出力する必要がある、いわゆるデットライン保証型のリアルタイム処理が課せられるマスタである。
また、ビデオデコード用DSP(2)104も、毎秒決まったサイズの決まった枚数をデコード処理し、後段のHWA(2)107へ動画データを渡さなければならないため、同様に、リアルタイム処理が必要とされる。
なお、HWA(2)107に比べ、DSP(2)104が行うビデオデコード処理は、主記憶メモリ151のバンド幅を大量に必要とする処理でもある。したがって、主記憶メモリ151へのスループットは最も優先的に与えられる。
また、オーディオのデコード処理を担当する第1のDSP(1)103も、リアルタイム処理が必要である。しかし、高精細で大画面なビデオ処理を想定した場合、主記憶メモリ151バンド幅は、DSP(2)104 >> HWA(2)107 > DSP(1)103の順で大きな帯域を必要とする。
このような場合、共有メモリ(キャッシュ)110は、要求帯域に比例した優先度で、より大きな帯域を必要とするマスタプロセッサに、より大きなクラスタメモリ空間を与えるように制御される。
このため、共有メモリ110のクラスタ111を構成するウェイについては、DSP(2)104 > HWA(2)107 > DSP(1)103の順で、より多くのウェイが割り当てられる。
また、共有の度合いとして、DSP(2)104とHWA(2)107のいずれもビデオデータを扱うが、これらの共有度は高くない。また、DSP(1)103はオーディオデータを扱うため、DSP(1)103のデータと他のマスタのデータを共有する必要はない。一方、DSP(1)103とDSP(2)104については、命令を一部共有できる箇所がある。
このため、DSP(1)103のデータキャッシュ、DSP(2)104のデータキャッシュ及びHWA(2)107のデータキャッシュは非共有で制御される。また、DSP(1)103とDSP(2)104の命令は共有領域に格納され、コヒーレンシ制御が行われる。
例えば、DSP(1)103、DSP(2)104それぞれのデータについては、同じデータを使って演算が繰り返されるため、共有キャッシュ空間の一部を、各DSPの2次キャッシュとして割り当てることは、レイテンシの性能向上の観点から有効である。
一方、CPU(1)101の主記憶メモリ151へのアクセスはランダムである。しかも、本実施形態の場合、CPU(1)101については、DSP(2)104、HWA(2)107、DSP(1)103のいずれともデータの共有度合いが低く、プロセッサのコア性能も高くない。したがって、CPU(1)101については、割り当てられるウェイ数も少なく、クラスタへのアクセス制御として、一番優先度が低く設定される。
また、CPU(2)102は、UIを制御しており、DSP(2)104のビデオデコード結果と、CPU(2)102が生成したUIのアニメーションを合成し、HWA(2)107にフレームデータを渡す。この動作を想定すると、DSP(2)104とHWA(2)107のデータを使って、CPU(2)102がLCD表示データの合成処理を行うため、共有メモリ110における共有度合いは高くなる可能性が高い。したがって、これらのマスタ間のデータは共有可能となるように、クラスタ111の割り当て(アサイン)が行われる。
さらに、CPU(2)102のデータと、外部機器からの情報を処理するCPU(1)101のデータとの共有性は比較的高い。外部機器、例えばLCDのタッチパネルで得た情報をCPU(1)101が処理する。CPU(2)102は、その結果を受け、描画を制御しているUIを変更しなければならい。例えば、ビデオ再生の画面を早送りするゲージバーにおいて、ゲージの位置で早送りの速度を変える場合、指先でタッチパネル式のLCDを触れる位置に連動し、UIのゲージ位置を随時変更して描画していかなければならない。これらの制御データについては、共有メモリで共有度合いが高く、主記憶メモリ151でデータを共有するよりも、内部の共有メモリ110で共有してコヒーレンシ制御を行う方が、システムの処理性能は大幅に向上する場合がある。
しかし、前述したように、UI操作がない場合、CPU(1)101の処理は軽く、CPU(2)102とのデータ共有もほとんど無いため、ウェイのアサインの優先度は低い。
また、外部機器からの入力がない場合、CPU(1)101はアイドル状態にある。この場合、CPU(1)101には、共有メモリ110のウェイは割り当てられず(アサインされず)、ウェイの解放が行われる。
この場合、電子機器の操作を行うユーザはタッチパネル式のLCDの操作を始めた際、外部デバイスからの割り込みにより、CPU(1)101は、アイドル状態から復帰し、すぐさま外部機器から入ってくるデータの処理を行う。
このとき、CPU(1)101のバスアクセス信号130に対し、緊急処理属性を付けて(緊急転送属性付加)メモリアクセス471を行うと、共有メモリ110は、通常使っていないタグメモリとして準備したシャドウタグメモリに、それまでウェイが割り当てられていなかったCPU(1)101に、緊急処理属性付きのCPU(1)101のアクセスを割り当てる。
それ以前、共有キャッシュのウェイ割当ての優先順位は、DSP(2)104 >> HWA(2)107 > DSP(1)103 > CPU(2)102の順であった。GPU105とHWA(1)106(DMAコントローラ)とCPU(1)101には、共有キャッシュのウェイがアサインされていない。このため、一番優先度が低いCPU(2)102のウェイをアサインしていた領域のタグが、一時的にウェイをロックし、シャドウタグに切り替えられる。
これにより、CPU(2)102が使っていた共有メモリ110のクラスタ111の一部を解放し、この解放された空間をシャドウタグ経由でCPU(1)101が使えるようにする。また、外部機器からの入力がなくなり、CPU(1)101がアイドルに入ると、つまり、緊急転送属性が付加されたメモリアクセスが完了すると、シャドウタグは通常タグと切り替わる。そして、CPU(1)101が使っていたウェイをCPU(2)102が使えるようにする。
なお、このシャドウタグと通常タグを切り替える時、ウェイ上のデータを一瞬で(フラッシュして)自動で入れ替える制御が行われる。シャドウタグの切替え時には通常タグのデータが残っている。したがって、CPU(1)101に貸与したウェイを解放した際、CPU(2)102にどこのデータを書き戻せばよいかは、この方法で速やかに判別される。シャドウタグはこのような仕組みを提供する。
このように、第2の実施形態の共有メモリシステムによれば、コヒーレンシ制御を行うため、システムの処理性能を大幅に向上する。また、ウェイのアサインの優先度が低いUI操作のような処理を行うマスタに対しても、共有キャッシュを割り当てることができる。
(第3の実施形態)
第3の実施形態では、第2の実施形態とは異なるコヒーレンシ制御を行う場合を示す。図8は、第3の実施形態における共有メモリシステムの構成を示す図である。前記第1の実施形態と同じ構成要素については同じ符号を用いることで、その説明を省略する。なお、本実施形態では、共有メモリシステムは、共有キャッシュメモリ構成110aを有するものとして説明する。図8に示す各マスタのクラスタメモリ共有設定は、前記第2の実施の形態とほぼ同じである。
第3の実施形態では、CPU(2)102のアクセス572cが、クラスタメモリ2、3で構成された空間461に加え、HWA(2)107用に割り当てられているクラスタメモリ7、8で構成された空間464にも設定されている点で、前記第2の実施形態とは異なる。
これにより、CPU(2)102のデータとHWA(2)107のソースデータとは、常に共有状態となる。ワークアドレスで画像を加工した後、最終出画データを置くアドレスにCPU(2)102がデータを格納すると、HWA(2)107は、共有メモリで出画データを共有することができる。
このように、第3の実施形態の共有メモリシステムによれば、毎回、HWA(2)107は、主記憶メモリ151にアクセスする必要がなくなるため、主記憶メモリ151のバンド幅を抑制し、消費電力の支配項である、主記憶メモリ151へのアクセス電力を削減することができる。
(第4の実施形態)
第4の実施形態では、第1の実施形態と異なるラインサイズを備え、処理内容に適切なラインサイズのクラスタ111を割り当てることで、前記第1の実施形態よりも、更に性能の改善を図る場合を示す。
図9は、第4の実施形態における共有メモリシステムの構成を示す図である。前記第1の実施形態と同じ構成要素については同じ符号を用いることで、その説明を省略する。なお、本実施形態では、共有メモリシステムは、共有キャッシュメモリ構成110aを有するものとして説明する。
複数のマスタのうち、CPU(1)101が周辺接続デバイスの制御を行い、CPU(2)102がブラウザの表示処理を行い、DSP(2)104がソフトウェアによるビデオコーデックを行う場合を想定する。
また、本実施形態では、CPU(1)101、CPU(2)102及びDSP(2)104はそれぞれ1次キャッシュを搭載する。
CPU(1)101は、1次キャッシュ108a、108b及びメモリコントローラ109を有し、外部機器の制御やLSIのIO制御を行う。1次キャッシュ(命令キャッシュ)108a、(データキャッシュ)108bはそれぞれ32バイトのラインサイズで構成される。
一方、CPU(2)102は、CPU(1)101に比べ、動作周波数も高く、浮動小数点演算等のコプロセッサも搭載した高性能CPUであり、1次キャッシュ以外に2次キャッシュを搭載する。2次キャッシュ608cのラインサイズは64バイトである。
DSP(2)104は、高いスループットでビデオのコーデック処理を行えるメディア処理対応のDSPである。DSP(2)104の内部には、ラインサイズが128バイトの1次キャッシュ(命令キャッシュ)608d、(データキャッシュ)608eが搭載されている。
本実施形態では、プロセッサコア間で共有する共有メモリ110には、ラインサイズが128バイトのウェイで構成されるクラスタメモリ群680と、ラインサイズが256バイトのウェイで構成されるクラスタメモリ群681と含む複数種類のクラスタメモリ群が混在する。
一般的に、キャッシュメモリの容量は、ラインサイズとセット数とウェイ数の掛け算で算出される。また、一般的に、キャッシュのメモリ容量が大きいほどキャッシュヒット率が向上し、見かけ上のプロセッサ性能を高めることができる。ただし、キャッシュヒット率については、ソフトウェア構造の依存性が高く、ヒット率の低いプログラムや、比較的ヒット率が高いプログラムであっても、ある一定のメモリ容量を超えると、メモリ容量を増加させてもヒット率が飽和する傾向にあることが知られている。
また、同じメモリ容量であったとしても、キャッシュメモリのラインサイズが大きい場合、ヒット率が高くなる場合がある。例えば、特に画像等のメディアデータの場合、比較的1つのデータサイズが大きいため、1つのラインサイズが大きいと効率よくキャッシュヒットする場合がある。
本実施形態では、こういった特性を活かし、アクセス監視機構112はアクセスの属性を監視し、例えばCPU(2)102が扱うブラウザ描画データや、DSP(2)104が共有メモリ110にアクセスするフレームデータの場合、大きなラインサイズのクラスタ111を優先してマッピングする制御がラインサイズ制御部118によって行われる。
一方、CPU(1)101の1次データキャッシュに関するミスヒットや、CPU(1)101、CPU(2)102の1次命令キャッシュに関するミスヒットのアクセス等が、共有メモリ110にアクセスする際、大きなラインサイズで構成されるクラスタ111に割り当てられてしまうと、同一ライン上でヒットとミスヒットが混在する場合も多く発生する。この結果、無駄なデータアクセスが増え、共有メモリ110のアクセスによる動作電流の増加やプロセッサのレイテンシ低下といった問題の発生が懸念される。
本実施形態では、このような特性のアクセスはアクセス監視機構112によって、小さなウェイのクラスタメモリに優先的に割り当てる制御が行われる。
第4の実施形態の共有メモリシステムによれば、処理内容に適切なラインサイズのクラスタ111を割り当てることで、更に性能の改善を図ることができる。
なお、少ないマスタでクラスタメモリ111を共有する場合、共有メモリのサイズを増やしても、共有したメモリ容量に対してプロセッサ処理性能が飽和傾向にある場合、あるいは単体マスタしかクラスタメモリ111にアクセスしない場合、共有メモリシステムを、次のような構成にしても良い。すなわち、一部のクラスタメモリ111を、予めどのマスタにも割り当てない(アサインしない)領域に指定し、クロックを抑制する等のクロック制御機能、LSIに搭載したオンチップスイッチをオフする等の電源遮断機能、メモリ内容を保持したままメモリ電圧を下げる等のリーク電流抑制機能のいずれか1つあるいは2つ以上の機能(電源制御機能)を有する構成とすることができる。このような機能を適用することで、電力性能を向上させることができる。
(第5の実施形態)
図10は、第5の実施形態における共有メモリシステムの構成を示す図である。第5の実施形態の共有メモリシステムでは、非対称なマルチプロセッサ搭載のアプリケーションプロセッサLSI(1)700(半導体装置)に対し、外部にコンパニオンとして拡張接続されたシステムLSI(2)701が、共有メモリシステムのマスタプロセッサ、つまりHWA(3)711として、プロセッサユニット710とともに共有メモリ712を共有するシステムが実現される。
このような構成を有することで、LSI(2)701のメモリアクセスは、LSI(1)701の内部で、1つのマスタであるHWA3(711)のメモリアクセスとして扱われる。したがって、LSI(1)700とLSI(2)701間で、コヒーレンスをとる構成とすることができる。また、LSI(2)701に接続される主記憶メモリ151bを省くことができる。
第5の実施形態の共有メモリシステムによれば、それぞれのLSIに設けられていた主記憶メモリ151a、151b(図10参照)の数を削減し、性能を確保しつつ消費電力を削減することができる。また、電子機器のコストダウンを可能とする。
なお、今回開示された実施の形態は全ての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
本発明は、複数のマスタによってアクセスされる共有メモリを有し、処理時間の短縮及び消費電力の低減が可能なメモリシステム等として有用である。
101 CPU(1)
102 CPU(2)
103 DSP(1)
104 DSP(2)
105 GPU
106 HWA(1)
107 HWA(2)
108a 命令キャッシュ
108b データキャッシュ
109 メモリコントローラ
110 共有メモリ
110a 共有キャッシュメモリ構成
111 クラスタ
111a 全マスタで共有する空間
111b 複数のマスタ間のみで共有する空間
111c 単一マスタで占有する空間
112 アクセス監視機構
113 プライオリティ設定レジスタ
114 アクセスポリシー制御機構
115 スケジューリング機構
116 マージ機構
117 タグ切替部
118 ラインサイズ制御部
119 クラスタメモリ空間選択装置
120 外部メモリ制御部
121 省電力制御部
122 クロック制御部
124 キャッシュ制御機構
130 バスアクセス信号
131 制御情報
137 フラグ信号
139 動作クロック
151 主記憶メモリ
151a、151b 主記憶メモリ
3319 インターコネクトバス
3340 バス負荷検出部
3341 バス負荷情報
3350 リプレースウェイ制御部
452 LCD
461 クラスタメモリ2、3で構成された空間
462 クラスタメモリ4で構成された空間
463 クラスタメモリ5、6で構成された空間
464 クラスタメモリ7、8で構成された空間
470 コヒーレンシ機能
471 CPU1のメモリアクセス
472a、472b CPU2のメモリアクセス
473a DSP1のメモリアクセス
474a、474b DSP2のメモリアクセス
475 最終画像データのメモリアクセス
608c CPU2の二次キャッシュ
608d DSP2の1次命令キャッシュ
608e DSP2の1次データキャッシュ
680 ラインサイズが128バイトのウェイで構成するクラスタメモリ群
681 ラインサイズが256バイトのウェイで構成するクラスタメモリ群
700 アプリケーションプロセッサLSI1
701 システムLSI2
710 プロセッサユニット
711 HWA(3)
712 共有メモリ
1030 属性
1040 マスタ識別属性
1050 リード/ライト属性
1060 アドレス属性
1070 データ/命令属性
1080 セキュア属性
1090 キャッシュ属性
10A0 緊急処理属性
10B0 転送属性

Claims (13)

  1. 複数のマスタと、
    前記複数のマスタによってアクセスされ、クラスタに分割された共有メモリと、
    前記複数のクラスタの少なくとも1つを含む複数のクラスタ空間を、全マスタで共有する空間、特定の複数のマスタ間で共有する空間、及び単体のマスタで占有する空間のいずれかで構成し、当該クラスタ空間に前記マスタからのアクセスを割り当てる割当部と、
    前記マスタの属性情報に従って、前記クラスタ空間の構成を変更する変更部と、を備え
    前記属性情報は、前記マスタのアクセス信号に付加され、マスタ識別属性、リード/ライト属性、アドレス属性、データ/命令属性、セキュア属性、キャッシュ/非キャッシュ属性及び転送属性の少なくとも1つを含むことを特徴とする共有メモリシステム。
  2. 請求項1に記載の共有メモリシステムであって、
    前記マスタは、中央演算処理装置、デジタルシグナルプロセッサ、汎用グラフィックス処理装置又はハードウェアアクセラレータであることを特徴とする共有メモリシステム。
  3. 請求項1に記載の共有メモリシステムであって、
    前記共有メモリはキャッシュメモリであり、
    前記クラスタ空間にミスヒットが発生した場合、リフィル動作中、当該クラスタ空間にアクセスが割り当てられたマスタの動作クロック周波数を下げるもしくは当該動作クロックを停止させるクロック制御部を備えたことを特徴とする共有メモリシステム。
  4. 請求項1に記載の共有メモリシステムであって、
    前記マスタの属性情報を判別し、当該マスタから前記クラスタ空間へのアクセスを許可するアクセス監視部を備えたことを特徴とする共有メモリシステム。
  5. 請求項に記載の共有メモリシステムであって、
    前記マスタから前記クラスタ空間へのアクセスを格納するスケジューリング部と、
    前記スケジューリング部によって格納された前記クラスタ空間へのアクセスを制御するアクセスポリシー制御部と、を備え、
    前記アクセス監視部は、前記マスタの属性情報を判別して前記スケジューリング部に渡し、
    前記アクセスポリシー制御部は、ポリシーを前記スケジューリング部に通知し、前記属性情報に該当するクラスタ空間へのアクセスを許可することを特徴とする共有メモリシステム。
  6. 請求項に記載の共有メモリシステムであって、
    前記アクセスポリシー制御部は、前記クラスタ空間へのアクセスの優先度が設定されたプライオリティ設定レジスタの内容を変更することを特徴とする共有メモリシステム。
  7. 請求項又はに記載の共有メモリシステムであって、
    前記スケジューリング部によって格納された前記マスタから前記クラスタ空間へのアクセスを統合する統合部を備えたことを特徴とする共有メモリシステム。
  8. 請求項に記載の共有メモリシステムであって、
    前記共有メモリはキャッシュメモリであり、
    前記マスタから前記クラスタ空間へのアクセスに緊急転送属性を付加する緊急転送属性付加部を備え、
    前記アクセスポリシー制御部は、前記緊急転送属性が付加された前記マスタからのアクセスに、明け渡し可能な前記クラスタ空間の領域を貸与することを特徴とする共有メモリシステム。
  9. 請求項に記載の共有メモリシステムであって、
    前記緊急転送属性が付加されたマスタからのアクセスが完了すると、前記領域が貸与されたクラスタ空間を元に戻すことを特徴とする共有メモリシステム。
  10. 請求項1に記載の共有メモリシステムであって、
    前記共有メモリはキャッシュメモリであり、
    前記複数のクラスタ空間はラインサイズの異なるクラスタ空間からなり、
    前記マスタの処理内容に応じたラインサイズの前記クラスタ空間に、前記マスタからのアクセスを振り分けるラインサイズ制御部を備えたことを特徴とする共有メモリシステム。
  11. 請求項1に記載の共有メモリシステムであって、
    特定の前記クラスタ空間に対し、電源の供給を遮断する、又はリーク電流を抑制する電源制御部を備えたことを特徴とする共有メモリシステム。
  12. 請求項1に記載の共有メモリシステムであって、
    半導体装置からなり、前記マスタとして、他の半導体装置が接続されたことを特徴とする共有メモリシステム。
  13. 複数のマスタと、前記複数のマスタによってアクセスされ、複数のクラスタに分割された共有メモリとを有する共有メモリシステムの制御方法であって、
    前記複数のクラスタの少なくとも1つを含むクラスタ空間を、全マスタで共有する空間、特定の複数のマスタ間で共有する空間、及び単体のマスタで占有する空間のいずれかで構成し、当該クラスタ空間に前記マスタからのアクセスを割り当てる割当ステップと、
    前記マスタの属性情報に従って、前記クラスタ空間の構成を変更する変更ステップと、を有し、
    前記属性情報は、前記マスタのアクセス信号に付加され、マスタ識別属性、リード/ライト属性、アドレス属性、データ/命令属性、セキュア属性、キャッシュ/非キャッシュ属性及び転送属性の少なくとも1つを含む共有メモリシステムの制御方法。
JP2010161797A 2010-07-16 2010-07-16 共有メモリシステム及びその制御方法 Expired - Fee Related JP5485055B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010161797A JP5485055B2 (ja) 2010-07-16 2010-07-16 共有メモリシステム及びその制御方法
PCT/JP2011/002296 WO2012008073A1 (ja) 2010-07-16 2011-04-19 共有メモリシステム及びその制御方法
US13/467,684 US20120221795A1 (en) 2010-07-16 2012-05-09 Shared memory system and control method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010161797A JP5485055B2 (ja) 2010-07-16 2010-07-16 共有メモリシステム及びその制御方法

Publications (2)

Publication Number Publication Date
JP2012022616A JP2012022616A (ja) 2012-02-02
JP5485055B2 true JP5485055B2 (ja) 2014-05-07

Family

ID=45469093

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010161797A Expired - Fee Related JP5485055B2 (ja) 2010-07-16 2010-07-16 共有メモリシステム及びその制御方法

Country Status (3)

Country Link
US (1) US20120221795A1 (ja)
JP (1) JP5485055B2 (ja)
WO (1) WO2012008073A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130205089A1 (en) * 2012-02-08 2013-08-08 Mediatek Singapore Pte. Ltd. Cache Device and Methods Thereof
KR101915198B1 (ko) * 2012-08-10 2018-11-05 한화테크윈 주식회사 프로세서간 메시지처리장치 및 방법
US8931108B2 (en) 2013-02-18 2015-01-06 Qualcomm Incorporated Hardware enforced content protection for graphics processing units
US9274951B2 (en) * 2013-05-31 2016-03-01 Altera Corporation Cache memory controller for accelerated data transfer
US9454485B2 (en) 2013-08-01 2016-09-27 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Sharing local cache from a failover node
JP6260303B2 (ja) 2014-01-29 2018-01-17 富士通株式会社 演算処理装置及び演算処理装置の制御方法
US9767320B2 (en) 2015-08-07 2017-09-19 Qualcomm Incorporated Hardware enforced content protection for graphics processing units
US10102391B2 (en) 2015-08-07 2018-10-16 Qualcomm Incorporated Hardware enforced content protection for graphics processing units
KR101704674B1 (ko) * 2015-08-11 2017-02-08 주식회사 온캐스팅 디지털 시네마 영상의 고속 생성 장치 및 그 방법
CN105468567B (zh) * 2015-11-24 2018-02-06 无锡江南计算技术研究所 一种异构众核离散访存优化方法
RU168781U1 (ru) * 2016-06-07 2017-02-17 Открытое акционерное общество Научно-производственный центр "Электронные вычислительно-информационные системы" Устройство обработки стереоизображений
RU2623806C1 (ru) 2016-06-07 2017-06-29 Акционерное общество Научно-производственный центр "Электронные вычислительно-информационные системы" (АО НПЦ "ЭЛВИС") Способ и устройство обработки стереоизображений
JP2019179413A (ja) * 2018-03-30 2019-10-17 株式会社デンソー キャッシュメモリ

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5845310A (en) * 1993-12-15 1998-12-01 Hewlett-Packard Co. System and methods for performing cache latency diagnostics in scalable parallel processing architectures including calculating CPU idle time and counting number of cache misses
JPH07248967A (ja) * 1994-03-11 1995-09-26 Hitachi Ltd メモリ制御方式
US6965974B1 (en) * 1997-11-14 2005-11-15 Agere Systems Inc. Dynamic partitioning of memory banks among multiple agents
EP0918280B1 (en) * 1997-11-19 2004-03-24 IMEC vzw System and method for context switching on predetermined interruption points
US6353438B1 (en) * 1999-02-03 2002-03-05 Artx Cache organization—direct mapped cache
US20080320209A1 (en) * 2000-01-06 2008-12-25 Super Talent Electronics, Inc. High Performance and Endurance Non-volatile Memory Based Storage Systems
JP3899784B2 (ja) * 2000-06-19 2007-03-28 セイコーエプソン株式会社 クロック制御装置、半導体集積回路装置、マイクロコンピュータ及び電子機器
US20020129274A1 (en) * 2001-03-08 2002-09-12 International Business Machines Corporation Inter-partition message passing method, system and program product for a security server in a partitioned processing environment
US6862666B2 (en) * 2002-05-16 2005-03-01 Sun Microsystems, Inc. Hardware assisted lease-based access to memory
US20040034858A1 (en) * 2002-08-14 2004-02-19 Kushlis Robert J. Programming a multi-threaded processor
KR101015456B1 (ko) * 2002-11-18 2011-02-22 에이알엠 리미티드 디바이스에 의한 메모리로의 억세스 제어
US7231504B2 (en) * 2004-05-13 2007-06-12 International Business Machines Corporation Dynamic memory management of unallocated memory in a logical partitioned data processing system
JP4725181B2 (ja) * 2005-04-28 2011-07-13 アイシン・エィ・ダブリュ株式会社 ナビゲーションシステム及びキャッシュ管理方法
CN101218567B (zh) * 2005-07-06 2010-05-19 松下电器产业株式会社 访问控制装置、访问控制集成电路以及访问控制方法
JP2007026366A (ja) * 2005-07-21 2007-02-01 Canon Inc メモリコントローラ
US20070143546A1 (en) * 2005-12-21 2007-06-21 Intel Corporation Partitioned shared cache
JP2008097572A (ja) * 2006-09-11 2008-04-24 Matsushita Electric Ind Co Ltd 演算装置、コンピュータシステム、および携帯機器
JP2008123031A (ja) * 2006-11-08 2008-05-29 Toyota Motor Corp 共有メモリ管理装置及び該装置を備えたマルチプロセッサシステム
US7924863B2 (en) * 2007-01-10 2011-04-12 Etherntty Networks Ltd. Device and method for processing data chunks
JP2008217523A (ja) * 2007-03-06 2008-09-18 Toshiba Corp 半導体集積回路
US8527709B2 (en) * 2007-07-20 2013-09-03 Intel Corporation Technique for preserving cached information during a low power mode
JP2009267837A (ja) * 2008-04-25 2009-11-12 Panasonic Corp 復号化装置
JP5231867B2 (ja) * 2008-05-23 2013-07-10 株式会社東芝 キャッシュメモリシステム
US8055848B2 (en) * 2008-07-31 2011-11-08 Samsung Electronics Co., Ltd. Method and system for securing instruction caches using substantially random instruction mapping scheme
US8176282B2 (en) * 2009-03-11 2012-05-08 Applied Micro Circuits Corporation Multi-domain management of a cache in a processor system
US8250332B2 (en) * 2009-06-11 2012-08-21 Qualcomm Incorporated Partitioned replacement for cache memory
US8799624B1 (en) * 2009-09-21 2014-08-05 Tilera Corporation Configurable device interfaces

Also Published As

Publication number Publication date
JP2012022616A (ja) 2012-02-02
WO2012008073A1 (ja) 2012-01-19
US20120221795A1 (en) 2012-08-30

Similar Documents

Publication Publication Date Title
JP5485055B2 (ja) 共有メモリシステム及びその制御方法
Usui et al. DASH: Deadline-aware high-performance memory scheduler for heterogeneous systems with hardware accelerators
US8850168B2 (en) Processor apparatus and multithread processor apparatus
EP2549382B1 (en) Virtual GPU
CN105579961B (zh) 数据处理系统及操作方法、用于数据处理系统的硬件单元
US8176220B2 (en) Processor-bus-connected flash storage nodes with caching to support concurrent DMA accesses from multiple processors
US7164427B2 (en) Apparatus, method and system with a graphics-rendering engine having a time allocator
WO2015169145A1 (zh) 内存管理方法和设备
JP2020511706A (ja) 行バッファ競合を低減するための動的メモリの再マッピング
US10210117B2 (en) Computing architecture with peripherals
JP2004536395A (ja) グラフィックコンテキストマネージャを有するグラフィックレンダリングエンジンを用いる装置、方法及びシステム
US10970223B2 (en) Cache drop feature to increase memory bandwidth and save power
WO2012016439A1 (zh) 业务管理方法和装置、以及设备
TWI308693B (en) Memory-access method, system and apparatus and machine-accessible medium for multiple media processor
JP5360061B2 (ja) マルチプロセッサシステム及びその制御方法
US20080007561A1 (en) CPU mode-based cache allocation for image data
JP2007102646A (ja) コンテキスト切替え装置
US20140075117A1 (en) Display pipe alternate cache hint
US20160196206A1 (en) Processor and memory control method
JPWO2007099659A1 (ja) データ転送装置及びデータ転送方法
WO2015096031A1 (zh) 线程共享资源分配方法及装置
JP5382113B2 (ja) 記憶制御装置及びその制御方法
JP2016048502A (ja) 情報処理装置及びメモリアクセス処理方法
US20220300421A1 (en) Memory Sharing
US11314566B1 (en) Inter-process communication for microkernel operating system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130510

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130730

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130925

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20131225

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140219

R151 Written notification of patent or utility model registration

Ref document number: 5485055

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees