基于多体并行缓存结构的数据访问方法技术

技术编号:8735088 阅读:225 留言:0更新日期:2013-05-26 11:43
一种基于多体并行缓存结构的数据访问方法,步骤为:(1)、将数据存入主存储器M;二维Cache阵列C以二维矩阵形式组织,记Cache体的个数为a×b个;(2)、处理部件P将所需a×b数据块的虚拟地址发送到地址映射表AT,地址映射表AT将虚拟地址转换为a×b数据块中每个数据在二维Cache阵列C的相应体中的物理地址;(3)、将步骤(2)得到的物理地址并行发送到二维Cache阵列C中的a×b个体,将a×b数据块的所有数据从二维Cache阵列C中并行读出,送入处理部件P;(4)、地址映射表更新部件ATU负责对地址映射表AT的表项进行更新。本发明专利技术可保证访存地址灵活性和高带宽,提高数据存取效率,降低存储层次间的数据传输次数和传输延迟。

【技术实现步骤摘要】

本专利技术主要涉及到缓存结构的设计领域,特指一种。
技术介绍
在计算机结构中,存储系统负责存储数据、以及接收并处理其它计算机部件对数据的访问请求。存储系统的设计技术与处理器结构的演进同步发展,以减小访问延迟、提高访问效率,从而匹配处理器的能力和需求。存储系统可以采用多体并行或多体交叉并行存储技术以适应程序访存的顺序特性,或者采用宽字访问、顺序交叉访问主存模块的方式以获得高访存带宽,又或者基于程序访存的时间局部性和空间局部性原理构造层次存储器系统,使层次系统的速度接近最高一级存储器的速度,容量和价格接近最低一级存储器的容量和价格。层次存储器结构通过设计存储器之间数据块的映射机制、数据块的替换算法以及数据一致性的维护策略来实现对数据的高效调度。基于程序访问的局部性特点把存储器组织成层次结构,在较高层次的存储器中存放进程空间局部性和时间局部性所确定的工作集,从而支持程序的运行并有较高的命中率和效率。记程序X的虚拟地址空间为Vx = {O, I,..., n_l},在期间访问的虚地址空间或工作集为W(t,Λ),则W(t,Δ)是进程运行时间的函数,且|W(t,Δ) << IvJ0利用程序访存的局部性原理,把程序X的虚拟地址Vx= {0,1,...,n-l}与Cache的子集Mx的物理地址Mx = {0,1,...,m-Ι}动态建立映射关系,即提供一种机制,将程序在期间所要访问Vx中的局部地址即工作集W(t,Δ)按照映射关系fx =Vx-Mx U M从主存M调入Mx中,Cache中的Mx即可支持程序x的运行。当访问Cache失效时,从主存M中调入失效单元所在的数据块到Cache中进行数据更新或替换。随机替换策略从Cache中随机选取一个数据块进行替换;先进先出策略会替换Cache中最早调入的数据块;最常用的近期最少使用策略(Least Recently Used,LRU)则记录近期每块被访问情况,用计数器定量反映未被访问的时间,计数值最大的数据块将被替换。层次存储系统不同层次之间的数据集具有包含关系。当一级Cache的数据块由于写操作而更新时,通过数据一致性维护策略来保证读取任何一级存储器都能获得最新的结果。可以通过写通过法和写回法保证存储器数据的一致性,写通过法在更新Cache的同时对主存也进行更新,写回法则只在进行块替换时才将块内容集中写回主存。
技术实现思路
本专利技术要解决的技术问题就在于:针对现有技术存在的技术问题,本专利技术提供一种能够保证访存地址灵活性和高带宽、可避免存储体的访存冲突、提高存储器数据存取效率、降低存储层次间的数据传输次数和传输延迟的。为解决上述技术问题,本专利技术采用以下技术方案:一种,当处理某个数据W(t,Δ)时,该数据将以每次访存W字节的传输速度从主存储器M读出并写入二维Cache阵列C ;其步骤为:(I)、将数据存入主存储器M ;所述二维Cache阵列C以二维矩阵形式组织,记Cache体的个数为aXb个,二维Cache阵列C位于主存储器M和处理部件P之间,记二维Cache阵列C和主存储器M之间的带宽为W字节,二维Cache阵列C和处理部件P之间的带宽为aXb字节;(2)、处理部件P将所需aXb数据块的虚拟地址发送到地址映射表AT,地址映射表AT将虚拟地址转换为aXb数据块中每个数据在二维Cache阵列C的相应体中的物理地址;(3)、将步骤(2)得到的物理地址并行发送到二维Cache阵列C中的aXb个体,从而将aXb数据块的所有数据从二维Cache阵列C中并行读出,送入处理部件P ;(4)、在将数据由主存储器M向二维Cache阵列C传送时,地址映射表更新部件ATU对地址映射表AT的表项进行更新。作为本专利技术的进一步改进:所述步骤(I)的具体步骤为:(1.1)数据划分:初始时,程序X的虚拟地址空间Vx保存在线性编址且字长为W字节的主存储器M中,大小为AXBJf Vx划分为权利要求1.一种,当处理某个数据w(t,Δ)时,该数据将以每次访存W字节的传输速度从主存储器M读出并写入二维Cache阵列C,其特征在于,步骤为: (1)、将数据存入主存储器M;所述二维Cache阵列C以二维矩阵形式组织,记Cache体的个数为aXb个,二维Cache阵列C位于主存储器M和处理部件P之间,记二维Cache阵列C和主存储器M之间的带宽为W字节,二维Cache阵列C和处理部件P之间的带宽为aXb字节; (2)、处理部件P将所需aXb数据块的虚拟地址发送到地址映射表AT,地址映射表AT将虚拟地址转换为aXb数据块中每个数据在二维Cache阵列C的相应体中的物理地址; (3)、将步骤⑵得到的物理地址并行发送到二维Cache阵列C中的aXb个体,从而将aXb数据块的所有数据从二维Cache阵列C中并行读出,送入处理部件P ; (4)、在将数据由主存储器M向二维Cache阵列C传送时,地址映射表更新部件ATU对地址映射表AT的表项进行更新。2.根据权利要求1所述的,其特征在于,所述步骤(1)的具体步骤为: (1.1)数据划分:初始时,程序X的虚拟地址空间Vx保存在线性编址且字长为W字节的主存储器M中,大小为AXB将 Vx划分为3.根据权利要求2所述的,其特征在于,所述步骤(1.4)的具体步骤为: (1.4.1)虚拟地址计算:首先确定B(i,j)的虚拟地址,通过虚拟地址计算函数Ap,q(i,j)确定B(i,j)中每个元素在某个体(p,q)中的虚拟地址,把该函数分割为两个正交的函数Ap(I)和 Aq(j):Ap (i) = idiva-1Ldiva+Ci, (2a)Aq (j) = jdivb-1Ldivb+Cj, (2b)其中,4.根据权利要求1或2或3所述的,其特征在于,所述步骤(2)的具体步骤为: (2.1)地址映射表划分:将地址映射表AT划分成以2X2矩阵形式组织的4个子表,用来并行地把每个aXb数据块对应的共4个虚拟地址映射为物理地址;地址映射表AT中元素的个数与单个Cache体的容量相同,称imoda = O且jmodb = O的aXb数据块为对齐数据块,处于同一个对齐数据块内的所有元素具有相同的虚拟地址(iA,jA) = (idiva-1Ldiva,jdivb-jLdivb),其中全文摘要一种,步骤为(1)、将数据存入主存储器M;二维Cache阵列C以二维矩阵形式组织,记Cache体的个数为a×b个;(2)、处理部件P将所需a×b数据块的虚拟地址发送到地址映射表AT,地址映射表AT将虚拟地址转换为a×b数据块中每个数据在二维Cache阵列C的相应体中的物理地址;(3)、将步骤(2)得到的物理地址并行发送到二维Cache阵列C中的a×b个体,将a×b数据块的所有数据从二维Cache阵列C中并行读出,送入处理部件P;(4)、地址映射表更新部件ATU负责对地址映射表AT的表项进行更新。本专利技术可保证访存地址灵活性和高带宽,提高数据存取效率,降低存储层次间的数据传输次数和传输延迟。文档编号G06F12/10GK103116555SQ20131006986公开日2013年5月22日 申请日期2013年3月5日 优先权日2013年3月5日专利技术者徐金波, 董德尊, 赖明澈, 陆平静, 王绍刚, 徐本文档来自技高网
...

【技术保护点】
一种基于多体并行缓存结构的数据访问方法,当处理某个数据W(t,Δ)时,该数据将以每次访存W字节的传输速度从主存储器M读出并写入二维Cache阵列C,其特征在于,步骤为:(1)、将数据存入主存储器M;所述二维Cache阵列C以二维矩阵形式组织,记Cache体的个数为a×b个,二维Cache阵列C位于主存储器M和处理部件P之间,记二维Cache阵列C和主存储器M之间的带宽为W字节,二维Cache阵列C和处理部件P之间的带宽为a×b字节;(2)、处理部件P将所需a×b数据块的虚拟地址发送到地址映射表AT,地址映射表AT将虚拟地址转换为a×b数据块中每个数据在二维Cache阵列C的相应体中的物理地址;(3)、将步骤(2)得到的物理地址并行发送到二维Cache阵列C中的a×b个体,从而将a×b数据块的所有数据从二维Cache阵列C中并行读出,送入处理部件P;(4)、在将数据由主存储器M向二维Cache阵列C传送时,地址映射表更新部件ATU对地址映射表AT的表项进行更新。

【技术特征摘要】

【专利技术属性】
技术研发人员:徐金波董德尊赖明澈陆平静王绍刚徐炜遐肖立权庞征斌王克非夏军童元满陈虎张峻齐星云王桂彬常俊胜张建民罗章
申请(专利权)人:中国人民解放军国防科学技术大学
类型:发明
国别省市:

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

1