JP2008234156A - メモリアクセス装置及び方法 - Google Patents

メモリアクセス装置及び方法 Download PDF

Info

Publication number
JP2008234156A
JP2008234156A JP2007070772A JP2007070772A JP2008234156A JP 2008234156 A JP2008234156 A JP 2008234156A JP 2007070772 A JP2007070772 A JP 2007070772A JP 2007070772 A JP2007070772 A JP 2007070772A JP 2008234156 A JP2008234156 A JP 2008234156A
Authority
JP
Japan
Prior art keywords
memory
access
memory access
cpu
processor
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
JP2007070772A
Other languages
English (en)
Other versions
JP5076574B2 (ja
Inventor
Jun Suzuki
潤 鈴木
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2007070772A priority Critical patent/JP5076574B2/ja
Publication of JP2008234156A publication Critical patent/JP2008234156A/ja
Application granted granted Critical
Publication of JP5076574B2 publication Critical patent/JP5076574B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】メモリアクセス装置の性能を向上させる。
【解決手段】メモリアクセス装置11が、メモリアクセス命令を行う複数のCPU(14a〜14d)と、所定の方式でアドレス付けされ、CPU(14a〜14d)からアクセス可能な主メモリ15と、CPU14の主メモリ15へのアクセスパターンをメモリアクセス命令毎に記憶するアクセスパターン記憶領域13とを具え、CPU14からのメモリアクセス命令により、アクセスパターン記憶領域13に記憶された主メモリ15へのアクセスパターンを参照し、メモリアクセス命令を行うCPU14がアクセスする主メモリ15のメモリ領域を、アクセスパターンに応じてスタック式及びインターリーブ式で割り当てる。
【選択図】図1

Description

本発明は、複数のプロセッサと、この複数のプロセッサからアクセス可能なメモリとを具えるメモリアクセス装置及び方法に関する。
メモリアクセス装置には、対称型マルチプロセッシング(Symmetric Multiprocessing SMP)方式で動作するものがある(例えば、特許文献1参照)。この装置は、サーバやワークステーションといったシステムあるいはパソコンに装備される複数のCPUを有する。そして、それぞれのCPUが行う処理の役割を決めずにメモリを共有し、複数のCPU(プロセッサ)が同等な立場でアクセス処理を分担する。このような装置では、CPUからのメモリアクセス命令に応じてメモリからCPUにデータを受け渡すために、CPUとメモリとの間の通信が必要となる。
そして、メモリアクセス装置では、CPUで認識するアドレス(仮想アドレス)はメモリ上の物理アドレスに変換される。メモリアクセス装置は、仮想アドレスからアドレス変換テーブルを参照して該当する物理アドレスに変換する。このアドレス変換テーブルでは、メモリ上の物理アドレスが、CPUが認識するアドレス空間である仮想空間に割り当てられている。
特開2006−276901号公報
上記のような装置では、メモリに読み書きを行う際、CPUからのメモリアクセス要求を受けたメモリが読み書きできるまでに、時間差(レイテンシー)が生じる。このようなレイテンシーが積み重なると、システムの処理速度の低下を招く。このため、レイテンシーを短縮する必要性があるが、CPUの処理速度がメモリの処理速度に比べて高いため、メモリアクセス装置の性能を向上させるためにレイテンシーを短縮させることは難しい。
以上のような課題に鑑みて、本発明は、メモリアクセス装置の性能を向上させるため、CPU及びメモリの処理のレイテンシーを短縮可能なメモリ構成を有するメモリアクセス装置及び方法を提供することを目的とする。
前記課題を解決するために本発明に係るメモリアクセス装置は、メモリアクセス命令を行う複数のプロセッサ(例えば、実施形態におけるCPU14a,14b,14c,14d)と、所定の方式でアドレス付けされ、複数のプロセッサからアクセス可能な共有メモリ(例えば、実施形態における主メモリ15)と、プロセッサの共有メモリへのアクセスパターンをメモリアクセス命令毎に記憶するアクセスパターン記憶手段(例えば、実施形態におけるアクセスパターン記憶領域13)とを具え、その上で、プロセッサからのメモリアクセス命令により、アクセスパターン記憶手段に記憶された当該メモリアクセス命令に関する共有メモリへのアクセスパターンを参照し、当該メモリアクセス命令を行うプロセッサがアクセスする共有メモリのメモリ領域を、アクセスパターンに応じた所定の方式で割り当てる。
また、上記構成のメモリアクセス装置において、共有メモリが、スタック式及びインターリーブ式でアドレス付けされるのが好ましい。
さらに、上記構成のメモリアクセス装置において、アクセスパターン記憶手段が、プロセッサがアクセスした共有メモリの上限アドレス及び下限アドレスを記憶するのが好ましい。
一方、前記課題を解決するために本発明に係るメモリアクセス方法は、所定の方式でアドレス付けされ、複数のプロセッサからアクセス可能な共有メモリにプロセッサからメモリアクセス命令を行うステップと、プロセッサの共有メモリへのアクセスパターンを記憶するアクセスパターン記憶手段に記憶されたメモリアクセス命令に関するアクセスパターンを参照するステップと、プロセッサからのメモリアクセス命令により、メモリアクセス命令を行うプロセッサがアクセスする共有メモリのメモリ領域を、アクセスパターンに応じた所定の方式で割り当てるステップとを有する。
また、上記構成のメモリアクセス方法において、共有メモリが、スタック式及びインターリーブ式でアドレス付けされるのが好ましい。
さらに、上記構成のメモリアクセス方法において、アクセスパターン記憶手段が、プロセッサがアクセスした共有メモリの上限アドレス及び下限アドレスを記憶するのが好ましい。
本発明のメモリアクセス装置及び方法によれば、プロセッサからのメモリアクセス命令を受けると、アクセスパターン記憶手段に記憶された当該メモリアクセス命令に関するアクセスパターンを参照して、当該メモリアクセス命令を行うプロセッサがアクセスする共有メモリのメモリ領域を、複数の所定の方式のうちアクセスパターンに応じた方式で割り当てる。上記割り当ては、メモリアクセスアドレスに局所性があるか否かに応じて、所定の方式でされる。すなわち、メモリアクセスアドレスに局所性がある場合には、メモリ領域をスタック式に集中して割り当てることで、レイテンシーを短縮させることができる。一方、メモリアクセスアドレスに局所性が無く、広く分散している場合には、メモリ領域をインターリーブ式に割り当てることで、あるデータへのメモリアクセスで生じた遅延時間の間に、次のアドレスへメモリアクセス要求を発信し、待機時間を埋めることができる。このように、本発明によれば、プロセッサの処理速度とメモリの処理速度との差に基づくレイテンシーを短縮さことが可能であり、メモリアクセス装置の性能を向上させることが可能である。
また、アクセスパターン記憶手段が、プロセッサがアクセスした共有メモリの上限アドレス及び下限アドレスを記憶することで、メモリアクセスアドレスに局所性があるか、又は局所性が無く広く分散しているかに基づいて、共有メモリのメモリ領域をプロセッサがアクセスする領域として割り当てることが可能である。
以下、本発明に係るメモリアクセス装置及び方法の好ましい実施形態について図1乃至図3を参照しながら説明する。
図1に、本発明に係るメモリアクセス装置及び方法の1つの実施例としてのメモリアクセス装置を示す。このメモリアクセス装置11は、対称型マルチプロセッシング(Symmetric Multiprocessing,SMP)方式で動作する。メモリアクセス装置11は複数のCPU14を有し、それぞれのCPUが行う処理の役割を決めず、同等のものとして扱う。本実施例では、メモリアクセス装置11が、4つのCPU、すなわち、CPU0(14a)、CPU1(14b)、CPU3(14c)、CPU4(14d)を有する場合を示すが、CPUの数はこれに限らない。
また、メモリアクセス装置11には、不揮発性のメモリ上に焼き付けられた仮想マシン機構12と、メモリのアクセスパターンを記憶可能な領域であるアクセスパターン記憶領域13と主メモリ15とが装備されている。
CPU14で認識するアドレス(仮想アドレス)は主メモリ15上の物理アドレスに変換される。すなわち、メモリアクセス装置11は、アドレス変換テーブル(図示せず)を参照して、仮想マシン機構12内の仮想アドレスから該当する物理アドレスに変換する。このアドレス変換テーブルでは、メモリ14上の物理アドレスが、CPU14が認識するアドレス空間である仮想マシン機構12内の仮想空間に割り当てられている。また、アクセスパターン記憶領域13は、ジョブ毎に、メモリアクセスの最大メモリアクセスアドレス及び最小メモリアクセスアドレスを、記憶、保持する。
図2は、メモリ記憶クラスについて示している。SMP方式の構造では、上記のように各CPU14a〜14dは同等のものとして扱われるため、全てのCPU14a〜14dから、主メモリ15の主メモリ領域の全てのアドレス空間にアクセス可能である。図2に示すように、主メモリ15の構造として、主メモリ15の全てのアドレス空間のうち各CPU14a〜14dが担当するアドレス空間が決まっている。
図2に示すように、主メモリ15のメモリ構成は、いわゆるスタック及びインターリーブの2種類からなる。ここで、スタックとは、CPU14が、一連のメモリ空間にアクセスする際に、自身の配下の主メモリ15のメモリ空間にアクセスした後に、他のCPU14が担当するメモリ空間に移ってこれにアクセスするようなメモリ構成である。
図2に示すように、CPU0(14a)が担当するメモリ空間は、アドレス0〜3の領域で、CPU1(14b)が担当するメモリ空間は、アドレス0〜3の領域である。これらCPU0(14a)及びCPU1(14b)が担当するメモリ空間は、各々スタック構成領域となっている。このため、CPU0(14a)が5以上のメモリ空間にアクセスする必要が生じた場合、まず、自身が担当するアドレス0〜3にアクセスした後に、他のCPUが担当するアドレス空間に移行する。
一方、インターリーブとは、CPU14が、複数のCPUの担当するメモリ空間を串刺しにアクセスするような方式であり、本実施例では自身が担当するメモリ空間と他のCPU14が担当するメモリ空間とに交互にアクセスするようなメモリ構成である。図2に示すように、CPU3(14c)が担当するメモリ空間は、アドレス8,10,12,14の領域で、CPU4(14d)が担当するメモリ空間は、アドレス9,11,13,15の領域である。これらCPU3(14c)及びCPU4(14d)が担当するメモリ空間は、各々インターリーブ構成領域となっている。このため、CPU0(14a)は、CPU3(14c)が担当するアドレス8,10,12,14空間と、CPU4(14d)が担当するアドレス9,11,13,15空間とに交互にアクセスする。
なお、SMP方式のメモリ構造では、図2に示すように、スタック構成領域とインターリーブ構成領域とを混在させて設定可能である。また、必要に応じてスタック構成領域とインターリーブ構成領域との比率を変更することが可能である。本発明に係るメモリアクセス装置の主メモリ15も、このような構成を前提としている。
主メモリ15に読み書きを行う際、CPU14からのアクセス要求を受けた主メモリ15が読み書きできるようになるまで、時間差(レイテンシー)が生じる。図3は、このレイテンシーの相違について示している。一般に、自身が担当するCPU14のメモリ空間へのアクセスは速く、自身が担当するメモリ空間以外へのCPU14のアクセスは遅くなる。このため、メモリアクセスする物理アドレスに局所性・連続性がある場合、スタック構成領域上に、まとめて使用メモリを配置する(割り当てる)ことで、レイテンシーの悪化(レイテンシーの増加)を防止することが可能である。
一方、メモリアクセスアドレスに局所性が無く、主メモリ15の全アドレス空間に分散している場合、インターリーブ構成領域上に使用メモリを配置する(割り当てる)。この場合、あるCPUが担当するメモリ空間へのアクセスで生じたレイテンシーの間に、別のCPUが担当するメモリ空間へのアクセスすることで、空白時間を埋めることができるため、レイテンシーを短縮させることが可能である。
ここで、以上のように構成されたメモリアクセス装置11のメモリアクセス動作について説明する。
CPU0(14a)からのメモリアクセス命令(これをジョブAとする)が、仮想マシン機構12上で起動されると、アクセスパターン記憶領域13に、ジョブAのアクセスパターン、すなわち、ジョブAによりCPU0(14a)がアクセスする主メモリ15のメモリ領域の上限アドレス及び下限アドレスが記憶される。ジョブA以外の他の複数のジョブが起動された場合、CPU0(14a)がアクセスする主メモリ15のメモリ領域の上限アドレス及び下限アドレスが、ジョブ毎に記憶される。
再びジョブAが起動されると、メモリアクセス装置11は、アクセスパターン記憶領域13に記憶された、ジョブAに関するメモリ領域の上限アドレス及び下限アドレスを参照する。ここで、メモリアクセスアドレスに局所性がある場合、すなわち、メモリ領域の上限アドレス及び下限アドレスの間が所定値以下の場合には、メモリ領域をスタック式に集中して仮想マシン機構12内の仮想空間に割り当てることで、レイテンシーを短縮させることができる。なお、この所定値は、メモリサイズ、アクセス装置の規模や処理能力を勘案して適宜定めるものとする。
一方、メモリアクセスアドレスに局所性が無く、広く分散している場合、すなわち、メモリ領域の上限アドレス及び下限アドレスの間が所定値よりも大きい場合には、メモリ領域をインターリーブ式に仮想マシン機構12内の仮想空間に割り当てることで、あるデータへのメモリアクセスで生じた遅延時間の間に、次のアドレスへメモリアクセス要求を発信し、待機時間を埋めることができる。
このように、本発明によれば、プロセッサの処理速度とメモリの処理速度との差に基づくレイテンシーを短縮させることが可能であり、メモリアクセス装置の性能を向上させることが可能である。
本発明に係るメモリアクセス装置及び方法は、サーバやワークステーションといったシステム等に適用することができる。
本発明に係るメモリアクセス装置を示すブロック図である。 上記メモリアクセス装置を構成するメモリのメモリ構成領域の相違を示す図である。 上記メモリアクセス装置を構成するCPUからアクセス要求を受けた主メモリに生じるレイテンシーの相違について示す図である。
符号の説明
11 メモリアクセス装置
12 仮想マシン機構
13 アクセスパターン記憶領域(アクセスパターン記憶手段)
14 CPU(プロセッサ)
14a CPU0(プロセッサ)
14b CPU1(プロセッサ)
14c CPU3(プロセッサ)
14d CPU4(プロセッサ)
15 主メモリ(共有メモリ)

Claims (6)

  1. メモリアクセス命令を行う複数のプロセッサと、
    所定の方式でアドレス付けされ、前記複数のプロセッサからアクセス可能な共有メモリと、
    前記プロセッサの前記共有メモリへのアクセスパターンをメモリアクセス命令毎に記憶するアクセスパターン記憶手段とを具えるメモリアクセス装置において、
    前記プロセッサからのメモリアクセス命令により、前記アクセスパターン記憶手段に記憶された当該メモリアクセス命令に関する前記共有メモリへのアクセスパターンを参照し、当該メモリアクセス命令を行う前記プロセッサがアクセスする前記共有メモリのメモリ領域を、前記アクセスパターンに応じた所定の方式で割り当てることを特徴とするメモリアクセス装置。
  2. 前記共有メモリが、スタック式及びインターリーブ式でアドレス付けされることを特徴とする請求項1に記載のメモリアクセス装置。
  3. 前記アクセスパターン記憶手段が、前記プロセッサがアクセスした前記共有メモリの上限アドレス及び下限アドレスを記憶することを特徴とする請求項1又は2に記載のメモリアクセス装置。
  4. 所定の方式でアドレス付けされ、複数のプロセッサからアクセス可能な共有メモリに前記プロセッサからメモリアクセス命令を行うステップと、
    前記プロセッサの前記共有メモリへのアクセスパターンを記憶するアクセスパターン記憶手段に記憶された前記メモリアクセス命令に関するアクセスパターンを参照するステップと、
    前記プロセッサからのメモリアクセス命令により、前記メモリアクセス命令を行う前記プロセッサがアクセスする前記共有メモリのメモリ領域を、前記アクセスパターンに応じた所定の方式で割り当てるステップとを有することを特徴とするメモリアクセス方法。
  5. 前記共有メモリが、スタック式及びインターリーブ式でアドレス付けされることを特徴とする請求項4に記載のメモリアクセス方法。
  6. 前記アクセスパターン記憶手段が、前記プロセッサがアクセスした前記共有メモリの上限アドレス及び下限アドレスを記憶することを特徴とする請求項4又は5に記載のメモリアクセス方法。
JP2007070772A 2007-03-19 2007-03-19 メモリアクセス装置及び方法 Expired - Fee Related JP5076574B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007070772A JP5076574B2 (ja) 2007-03-19 2007-03-19 メモリアクセス装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007070772A JP5076574B2 (ja) 2007-03-19 2007-03-19 メモリアクセス装置及び方法

Publications (2)

Publication Number Publication Date
JP2008234156A true JP2008234156A (ja) 2008-10-02
JP5076574B2 JP5076574B2 (ja) 2012-11-21

Family

ID=39906871

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007070772A Expired - Fee Related JP5076574B2 (ja) 2007-03-19 2007-03-19 メモリアクセス装置及び方法

Country Status (1)

Country Link
JP (1) JP5076574B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0844577A (ja) * 1994-07-26 1996-02-16 Sumisho Electron Kk データ分割方法及びマルチプロセッサシステム
JPH09146904A (ja) * 1995-11-29 1997-06-06 Fujitsu Ltd アドレス空間共有システム
JP2007257028A (ja) * 2006-03-20 2007-10-04 Nec Corp マルチプロセッサシステムのメモリアクセス負荷分散装置および方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0844577A (ja) * 1994-07-26 1996-02-16 Sumisho Electron Kk データ分割方法及びマルチプロセッサシステム
JPH09146904A (ja) * 1995-11-29 1997-06-06 Fujitsu Ltd アドレス空間共有システム
JP2007257028A (ja) * 2006-03-20 2007-10-04 Nec Corp マルチプロセッサシステムのメモリアクセス負荷分散装置および方法

Also Published As

Publication number Publication date
JP5076574B2 (ja) 2012-11-21

Similar Documents

Publication Publication Date Title
US8627040B2 (en) Processor-bus-connected flash storage paging device using a virtual memory mapping table and page faults
EP0380855B1 (en) Memory configuration for use with means for interfacing a system control unit for a multi-processor system with the system main memory
JP2020529684A (ja) 低レイテンシ動作をサポートするssdアーキテクチャ
CN107710175B (zh) 存储器模块以及操作系统和方法
JP2008544411A (ja) メモリのマイクロタイリングによる投機的なリターン
JPH04246745A (ja) 情報処理装置及びその方法
US20220245066A1 (en) Memory system including heterogeneous memories, computer system including the memory system, and data management method thereof
EP4060505A1 (en) Techniques for near data acceleration for a multi-core architecture
WO2019094260A1 (en) Computer memory content movement
JP2009265687A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US6760743B1 (en) Instruction memory system for multi-processor environment and disjoint tasks
JP5911548B1 (ja) 共有メモリへのアクセス要求をスケジューリングするための装置、方法およびコンピュータプログラム
US7991962B2 (en) System and method of using threads and thread-local storage
JP5527340B2 (ja) ベクトル処理装置およびベクトル処理方法
JP5076574B2 (ja) メモリアクセス装置及び方法
JP5093242B2 (ja) 自己診断処理を行う情報処理装置、自己診断処理方法及び自己診断処理プログラム
JP2009059121A (ja) 仮想計算機の制御方法
EP3271826B1 (en) Interleaved access of memory
AU633898B2 (en) Method and means for interfacing a system control unit for a multi-processor system with the system main memory
KR20210134048A (ko) 확장 메모리 연산
KR20100100163A (ko) 데이터 전달 시스템, 장치 및 방법
JP5218413B2 (ja) 情報処理装置及びその制御方法
JP4965974B2 (ja) 半導体集積回路装置
JP2014109938A (ja) プログラム起動装置、プログラム起動方法、及びプログラム起動プログラム
US20240176539A1 (en) Novel data cache scheme for high performance flash memories

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100302

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120522

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120710

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

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

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

Free format text: PAYMENT UNTIL: 20150907

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees