[发明专利]面向多核微处理器的内存拷贝加速方法及装置有效
申请号: | 201210493512.7 | 申请日: | 2012-11-28 |
公开(公告)号: | CN103019655A | 公开(公告)日: | 2013-04-03 |
发明(设计)人: | 郭御风;石伟;张明;窦强;龚锐;邓宇;任巨;马爱永;罗莉;王永文 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F15/167 |
代理公司: | 湖南兆弘专利事务所 43008 | 代理人: | 赵洪;谭武艺 |
地址: | 410073 湖南省长沙市砚瓦池正*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 面向 多核 微处理器 内存 拷贝 加速 方法 装置 | ||
技术领域
本发明涉及多核微处理器领域,具体涉及一种面向多核微处理器的内存拷贝加速方法及装置。
背景技术
随着计算技术的高速发展,应用程序对微处理器的处理能力的要求越来越高。人们通过提高处理器主频、采用超标量与多线程等技术来提高处理器内核的性能。然而,上述技术已经逐渐不能满足处理器飞速发展的需要。时钟频率的不断提高意味着处理器功耗激增和时钟同步越来越困难,主流处理器已经不再一味追求高主频。鉴于应用程序本身的并行性往往存在一定的局限性,超标量与多线程等技术也将无法进一步提高处理器的性能。处理器研究的重点逐渐转向在开发指令级与线程级并行的基础上进一步开发任务级并行,先进的制造工艺也使得单片上能够集成更多的晶体管资源,多核微处理器应运而生。在多核微处理器上,一个衬底上可以制造多个处理器内核。
过去20多年来,处理器的性能以平均每年超过40%的速度增长,而存储器性能的增速却低得多,平均每年增长只有约7%。多核处理器的每个核都可同时执行多个不同的进程或线程,这些进程或线程都可能需要访问存储器,因此存储墙问题在多核时代更加严重。如果存储器无法为处理器内核提供充足的数据,多核处理器资源将无法得到充分利用。提高访存操作的性能成为多核处理器设计者日益关心的问题。一方面,可以通过研究多核处理器的高速缓存等硬件结构以提高内核访存性能;另一方面,可以对一些广泛使用的访存操作进行特殊优化。
内存拷贝操作已经成为现代计算机系统中最为常见的一种操作。而许多应用程序的性能直接或间接地依赖于内存拷贝操作的性能。TCP/IP 协议及文件拷贝等应用程序一般都包含大量的内存拷贝操作,其整体性能也很大程度上由其中内存拷贝操作所花费的时间所决定。一些操作系统函数也同样需要内存拷贝操作的支持,如虚拟内存管理、页管理、缓存管理及进程通信等。此外,消息传递通信模型已经逐渐应用于多核微处理器,而消息传递协议(下文中简称为MPI)往往由两次内存拷贝操作实现。
在传统的计算机系统中,内存拷贝操作一般由一系列的访存指令Load/Store组成。在内存拷贝过程中,Load/Store指令一直占有处理器资源,阻塞后续指令执行。每条Load/Store指令都需要首先访问快表(TLB)以将指令中的虚地址转换为实地址,然后再访问私有高速缓存(Cache)。也就是说,一次Load/Store操作都需要访问一次TLB和访问一次私有高速缓存,功耗及性能开销较大。为了提高内存拷贝的效率,DMA技术被应用于大数据块拷贝。但是这种基于DMA的内存拷贝技术仍存在一定的缺点,如(1)DMA设备往往需要较长的启动时间,(2)在拷贝结束以后需要通过中断通知内核,(3)需要操作系统的支持。
无论上述哪种内存拷贝实现方法,都存在性能相对较低的问题。此外,这些内存拷贝实现方法主要针对单核微处理器中的内存拷贝操作,而没有给出多核微处理器中内存拷贝操作的优化方法。总之,随着体系结构与制造工艺的不断发展,处理器内核与存储器带宽之间的性能差距正在不断加大,需要频繁访存的内存拷贝操作的性能制约了多核处理器整体性能的提高;另一方面,内存拷贝操作广泛存在于各种操作系统程序及用户程序之中。上述这种内存拷贝的重要性及其性能的低效性促使研究面向多核微处理器的内存拷贝加速方法及装置成为一种必然。
发明内容
本发明要解决的技术问题是提供一种内存拷贝效率高、多核优化性能好、硬件设计复杂度低、兼容性好、功耗低、硬件实现简单的面向多核微处理器的内存拷贝加速方法及装置。
为了解决上述技术问题,本发明采用的技术方案为:
一种面向多核微处理器的内存拷贝加速方法,实施步骤如下:
1)在微处理器指令集中增加内存拷贝指令,所述内存拷贝指令包括普通内存拷贝指令、MPI点对点发送指令、MPI点对点接收指令、MPI群组发送指令和MPI群组接收指令;在微处理器中的指令执行流水线外部建立用于执行基于MPI通信的内存拷贝请求的MPI通信加速模块;
2)将译码得到的内存拷贝指令转换成对应的内存拷贝请求,如果当前内存拷贝请求为普通内存拷贝请求时,分发给指令执行流水线中的内存拷贝单元并跳转执行步骤3);否则将内存拷贝请求分发给MPI通信加速模块并跳转执行步骤4);
3)内存拷贝单元将内存拷贝请求缓存到请求队列中,并执行请求队列中的当前内存拷贝请求,以页为单位取回源数据并写入目的地址;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210493512.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:变压吸附空分设备自动适应恒定吹扫再生系统
- 下一篇:一种高效率除尘设备