分布式共享内存系统中远程节点读取本地内存维护装置制造方法及图纸

技术编号:2923078 阅读:335 留言:0更新日期:2012-04-11 18:40
一种分布式共享内存系统中远程节点读取本地内存维护装置,其特征在于,包括: 至少一处理器; 一系统总线耦接至该至少一处理器; 一内存控制芯片,耦接至该系统总线; 一本地内存,耦接至该内存控制芯片,其中该本地内存区分为多个本地内存线; 一可判断一最新数据是否位于该本地内存的DSM控制器,耦接至该系统总线; 一内部总线,耦接于该DSM控制器与该内存控制芯片; 其中,所述的DSM控制器还包括一判断模块与该特定本地内存线相连。(*该技术在2012年保护过期,可自由使用*)

【技术实现步骤摘要】

本技术涉及一种分布式共享内存(Distributed Shared Memory,简称DSM)多处理器系统(multiprocessors system),且特别涉及一种在DSM系统架构下远程节点读取本地内存维护装置,尤其是一种分布式共享内存系统节点。请参考附图说明图1所示,其为一种分布式共享内存(Distributed Shared Memory,以下简称DSM)系统节点架构。一般来说,每一计算机系统架构皆可视为一个DSM系统节点100。如图所示,此计算机系统架构可为多处理器的计算机系统架构(当然,一个处理器的计算机系统架构亦为可行)。其具有多个处理器110、120,经由一系统总线160可连接至一内存控制芯片130,并由内存控制芯片130来控制本地内存(Local Memory)150与多个处理器110、120间的存取动作。而内存控制芯片130更可以连接至其它装置来达成基本的输入/输出(I/O)控制。通常,内存控制芯片130为北桥芯片。其中,本地内存150被区分为多个本地内存线(Local Memory Line),以供存放数据。而处理器110及120可发出存取本地内存线的数据存取请求至内存控制芯片130并由内存控制芯片130达成本地内存数据线的数据存取。在DSM系统节点架构下,此节点(以下皆称之为本地节点,Local Node)100与其它节点(以下皆称之为远程节点,Remote Node)系经由一DSM控制器(以下简称DSM控制器)140来达成数据传送与接收。而DSM控制器140在此本地节点100内系连接至系统总线160并且以一内部总线135连接至内存控制芯片130。当处理器110、120需要读取远程节点的内存线的数据时,就必须利用本地节点100内的DSM控制器140来与远程节点内的DSM控制器(未绘示)沟通,进而达成存取远程节点内的内存线的数据。由于每一个本地节点100均可与其它远程节点共享自己的本地内存150,故每一节点中必须具有一个储存区一致性对照表(Memory CoherencyDirectory)。此对照表系DSM控制器140用来记录本地内存中每一本地内存线的状态。当远程节点欲读取本地节点100的本地内存线的数据时,方可依据对照表中记录的本地内存线的状态,来决定读取动作如何进行,以确保读取正确数据。请参考图2所示,其为根据公知储存区一致性对照表中针对本地内存线的状态图。图中显示,公知对照表将本地内存线区分为4种状态,分别说明如下HOME(本地)代表没有任何远程节点来读取此本地内存线的数据。SHARED(共享)代表已有其它远程节点已读取本地内存线的数据,且此本地内存线的数据尚未被更改。GONE(已更改)代表已有一远程节点已读取本地内存线的数据,且此本地内存线的数据已被远程节点所更改。WASH被更改过的本地内存线的数据由远程节点回传到本地节点的过渡状态。接下来针对一个本地内存线的数据变化并配合这些状态的变动作一说明。在初始状态时,本地节点内的储存区一致性对照表中对应于此本地内存线的状态为HOME状态。在HOME状态下,此本地节点内的处理器可以任意的存取此本地内存线的数据,并且此本地内存线内的数据仅存在于此本地节点内。在HOME状态下,如路径1所示,当远程节点发出远程读取(remote readline),代表远程节点要读取本地内存线的数据。此时,本地内存线的数据会被传送至远程节点,因此,本地节点内的储存区一致性对照表会将此本地内存线的状态由HOME状态改为SHARED状态。亦即,在SHARED状态下,本地内存线的数据同时储存在本地节点以及远程节点。在SHARED状态下,如路径2所示,当本地节点发出本地读取无效(localread invalidate)或者本地无效(local invalidate)时,代表本地节点要更改本地内存线的数据。此时,本地节点内的储存区一致性对照表会将此本地内存线的状态由SHARED状态改为HOME状态。在HOME状态下,此本地节点内的处理器可以任意的存取此本地内存线的数据,并且此本地内存线内的数据仅存在于此本地节点内。而原储存于远程节点内的本地内存线的数据是非曲直旧的数据因此会变为无效。在SHARED状态下,如路径4所示,当远程节点发出远程释放出此本地内存线的数据(Remote rollout of shared copy)时,代表远程节点放弃拥有此本地内存线的数据。此时,本地节点内的储存区一致性对照表会将此本地内存线的状态也必须由SHARED状态改为HOME状态。在HOME状态下,此本地节点内的处理器可以任意的存取此本地内存线的数据,并且此本地内存线内的数据仅存在于此本地节点内。在SHARED状态下,如路径7所示,当远程节点发出远程无效(Remoteinvalidate)时,代表远程节点要更改此本地内存线的数据。此时,本地节点内的储存区一致性对照表会将此本地内存线的状态由SHARED状态改为GONE状态。在GONE状态之下,代表本地节点内的本地内存线的数据为旧的不正确的数据,并且正确的更改的本地内存线的数据现在储存在远程节点。在HOME状态下,如路径6所示,当远程节点发出远程读取无效(Remoteread invalidate)时,代表远程节点要读取并更改此本地内存线的数据。此时,本地节点内的储存区一致性对照表会将此本地内存线的状态由HOME状态改为GONE状态。在GONE状态之下,代表本地节点内的本地内存线的数据为旧的不正确的数据,并且正确的更改的本地内存线的数据现在储存在远程节点。在GONE状态下,如路径8所示,当远程节点发出释出此本地内存线的数据(Remote rollout of modified copy)时,代表远程节点要将修改过后的本地内存线的数据释回至本地节点。本地节点内的储存区一致性对照表会将此本地内存线的状态由GONE状态改为HOME状态。此时,更改过后的本地内存线的数据又重新回到本地节点。在GONE状态下,如路径5所示,当本地节点发出本地读取(Local readline)或者本地读取无效(Local read invalidate),代表本地节点要读取此本地内存数据线的数据或者读取之后要修改。此时,本地节点内的储存区一致性对照表会将此本地内存线的状态由GONE状态改为WASH状态。此WASH状态系代表本地内存线的数据由远程节点回传到本地节点的过渡状态。在WASH状态下,如路径9所示,当本地节点发出本地读取并完成本地内存线的数据的接收(Completion of local read line),代表本地节点仅要读取此本地内存数据线的数据并不作修改。此时,本地节点内的储存区一致性对照表会将此本地内存线的状态由WASH状态改为SHARE状态。亦即,在SHARE状态下,本地内存线的数据同时储存在本地节点以及远程节点。在WASH状态下,如路径10所示,当本地节点发出本地读取无效并完成本地内存线的数据的接收(Completion of local read invalidate)时,代表本地内存要读取此本地内存数据线的数据并作修改。此时,本地节点内的储存区一致性对照表会将此本地内存线的状态由WASH状态改为HOME状本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:陈维龙赖瑾曾纹郁
申请(专利权)人:威盛电子股份有限公司
类型:实用新型
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1