首页 | 官方网站   微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 15 毫秒
1.
经过多年的发展,X86架构与ARM架构的处理器逐渐分别占据了桌面端和移动端市场的主导地位.虽然无论从技术角度还是从生态体系方面,这两类架构的处理器性能越来越高,但是由于其指令集臃肿、技术复杂、授权困难等原因,使得开发这两类架构的处理器的门槛较高.研究院所还没有一个合适的指令集用于体系结构的研究和创新.RISC-V指令集的开源使得这一局面得以缓解.其具备精简、开源、敏捷开发等特点引起了工业界与学术界的广泛关注与积极参与.性能计数器(Hardware Performance Counter,HPC)是处理器研究和性能调优的重要工具.由于RISC-V制定的标准性能计数器的可拓展性欠佳、可同时捕获事件的数量有限等不足,本文提出一种新的基于RISC-V的分布式硬件性能计数器.本文使用Genesys2开发板作为实验平台,将这种性能计数器适配到lowRISC-v0.4开源SoC项目上,完成了对该设计方案的验证与评估.该性能计数器只占用3个控制状态寄存器(Control and Status Registers,CSRs)就可以同时捕获比标准的性能计数器多近乎一个数量级的事件,在RISC-V处理器的性能分析、结构优化、侧信道攻防等方面为研究者提供了翔实的统计数据.  相似文献   

2.
现代处理器一般只内置了 4~8 个性能计数器,但可以监测多达上千个时钟周期级别的性能事件。这些事件可以轻易地产生大量数据,称为处理器性能大数据。然而,如何从这些性能大数据中提取有价值的信息面临着许多挑战。该文提出一种处理器性能数据分析方法,通过迭代使用梯度提升 回归树算法构建性能模型,为云计算负载的性能事件进行重要性排序,从而指导云计算平台的性能调优。  相似文献   

3.
Barrier同步操作是能够直接影响处理器性能的一类操作.针对流处理器体系结构,提出并实现了2种软件同步机制和1种硬件同步机制,即基于互斥计数器的Barrier同步、基于共享状态寄存器的Lock-free Barrier同步和基于专用硬件管理单元的Barrier同步;在一款流处理器原型系统中测试并分析了在不同负载规模、不同负载分布、典型应用情况下3种同步机制的性能.结果表明,基于专用硬件管理单元的Barrier同步机制性能更优.  相似文献   

4.
低代价锁步EDDI:处理器瞬时故障检测机制   总被引:1,自引:0,他引:1  
随着ULSI工艺步入深亚微米时代,处理器内部组合逻辑的瞬时故障敏感性迅速提高,文中在设计初期将硬件寄存器纠检错能力和系统软件检错能力纳入考虑,兼顾处理器内组合逻辑、时序逻辑两类部件,设计应用级“低代价锁步EDDI(Error Detection by Duplicated Instructions)”机制.创新如下:(1)提出基于概率论的故障漏检率量化估计方法,为纠检错与性能折中进行指导.以往的应用级检错机制在设计过程中并没有考虑到下层操作系统的检错能力,这会造成可靠性估计不足而带来性能损失.文中依照指令流经的部件将故障划分为不同子类,并将操作系统纳入考虑,提出基于概率论的故障漏检率量化估计方法,理论估计与故障注入结果拟合良好.(2)低代价锁步EDDI机制,结合硬件纠检错能力,兼顾处理器内组合逻辑和时序逻辑两类部件,大幅降低了性能代价.提出独特的低代价锁步指令复制规则,并通过编译链前端的寄存器分配,大幅减少了寄存器预留数,有效缓解了寄存器压力,降低了访存代价,提高了寄存器的性能.寄存器预留也保证了本机制无需修改编译器传参规则,无需重新编译系统库,提高了通用性.(3)采用单比特故障模型,基于SPARC体系结构,选取处理器中代表性部件:解码(Decoder Unit)单元、地址生成(Address GEN Unit)单元、算逻单元(ALU)进行故障注入,对低代价锁步EDDI实现代价进行详细评测.与全复制EDDI相比,低代价锁步EDDI仅以故障漏检率SDC(Silent Data Corruption)平均升高0.8%的代价,换取了动态执行指令数平均减少36.1%,执行时间平均降低35.2%的性能优势.  相似文献   

5.
由于缺乏相关硬件功能,Open64编译器的软件流水技术没有面向X86处理器的版本。为此,提出一种适用于X86平台的Open64软件流水实现框架。利用软件实现处理器的部分硬件行为,通过循环过滤方法剔除不适用的循环。针对缺乏循环寄存器文件的问题,设计寄存器分配算法达到使用通用寄存器的目的,并添加模变量扩展模块以保证执行的正确性。实验结果表明,与循环展开方案相比,该框架可使系统平均获得9%的性能提升。  相似文献   

6.
王卅  张文博  吴恒  宋云奎  魏峻  钟华  黄涛 《软件学报》2015,26(8):2074-2090
虚拟化技术已成为云计算平台中的关键性支撑技术.它极大地提高了数据中心的资源利用率,降低了管理成本和能源消耗,但同时也为数据中心带来了新的问题——性能干扰.同一平台上的多虚拟机过度竞争某一底层硬件资源(如CPU,Cache等),会造成虚拟机性能严重下降;而出于安全性和可移植性的考虑,底层平台管理者需要尽量避免侵入式监测上层虚拟机,因而,如何透明而有效地从底层估算虚拟机性能干扰,成为虚拟化平台管理者必须面临的一个挑战.为应对以上挑战,提出了一种基于硬件计数器的虚拟机性能干扰估算方法.硬件计数器是程序运行期间产生的硬件事件信息(如CPU时间片、缓存失效次数等),已有工作主要利用大规模分布式系统任务相似性查找产生异常硬件计数器数据的节点,而没有探究硬件事件变化与性能干扰之间的直接关系.通过实验研究发现,硬件计数器(last level cache misses rates,简称LLC misses rates)与不同资源需求的应用性能干扰存在不同的关联关系;以此建立虚拟机性能干扰估算模型,估算虚拟机性能.实验结果表明:该方法可以有效地预测CPU密集型应用和网络密集型应用的性能干扰大小,并仅为系统带来小于10%的开销.  相似文献   

7.
王东京  刘继涛  俞东进 《软件学报》2023,34(8):3793-3820
近年来, 随着全球定位系统(global positioning system, GPS)的大范围应用, 越来越多的电动自行车装配了GPS传感器, 由此产生的海量轨迹数据是深入了解用户出行规律、为城市规划者提供科学决策支持等诸多应用的重要基础. 但是, 电动自行车上普遍使用的价格低廉的GPS传感器无法提供高精度的定位, 同时, 电动自行车轨迹地图匹配过程因以下原因更具有挑战性: (1)存在大量停留点; (2)高采样频率导致相邻轨迹点的距离较短; (3)电动自行车可行驶的路段更多, 存在大量无效轨迹. 针对上述问题, 提出一种可自适应路网精度的电动自行车轨迹地图匹配方法KFTS-AMM. 该方法融合基于分段卡尔曼滤波算法的轨迹简化算法(KFTS), 和分段隐马尔可夫模型的地图匹配算法(AMM). 首先, 利用卡尔曼滤波算法可用于最优状态估计的特性, KFTS能够在轨迹简化过程中对轨迹点进行自动修正, 使轨迹曲线变得平滑并减少了异常点对于地图匹配准确率的影响. 同时, 使用基于分段隐马尔可夫模型的地图匹配算法AMM, 避免部分无效轨迹对整条轨迹匹配的影响. 此外, 在轨迹数据的处理过程加入了停留点的识别与合并, 进一步提升匹配准确率. 在郑州市真实电动自行车轨迹数据的实验结果表明, KFTS-AMM在准确率上相对于已有的对比算法有较大的提升, 并可通过使用简化后的轨迹数据显著提升匹配速度.  相似文献   

8.
利用核内空闲资源加速单线程程序执行的方法,将可并行的代码安排在核内空闲单元上执行,实现代码块在核内的流水操作,从而设计一种具有循环加速能力的硬件流水处理器,可通过改变取值结构和寄存器分配逻辑获得编译器的支持.结果表明,应用该处理器后的spec2000测试程序执行性能提升了40%.  相似文献   

9.
飞腾1500A处理器性能分析工具Likwid研究   总被引:1,自引:0,他引:1  
在飞腾1500A处理器平台对程序性能分析工具Likwid展开研究,主要研究了飞腾1500A处理器硬件拓扑信息的获取、性能监测单元PMU的访问以及性能分析工具的使用和数据分析。通过hwloc获取飞腾1500A处理器的硬件信息,给程序员提供关于飞腾1500A处理器的拓扑结构及相关概要信息;编写内核驱动模块使能飞腾1500A处理器的性能监控单元,指定事件类型,通过对应硬件计数器记录目标程序执行过程中事件发生的次数;结合简单代码和模板化的微基准测试程序,使用性能分析工具收集程序执行过程中相关数据,进行性能分析。  相似文献   

10.
随着计算机应用领域不断拓展,流媒体应用及科学计算正成为微处理器的一种重要负载.流媒体应用的特征是大量的数据并行、少量的数据重用以及每次访存带来的大量计算.因为带宽的限制,传统的微处理器结构很难满足这些特点.X处理器是一款流处理器,针对流应用特点,X处理器采用了新型的三级流式存储层次:局部寄存器文件、流寄存器文件和片外存储器,有效解决了带宽问题.本文在模拟平台采用了两种方法(RS码和测试程序)测试,验证了流存储层次解决带宽瓶颈的有效性,也证明了设计的正确性.  相似文献   

11.
密码专用处理器常采用分簇式超长指令字(Very Long Instruction Word, VLIW)架构,其性能的发挥依赖于编译器的实现.当前对于通用VLIW架构的编译后端优化方案,在密码专用处理器上都有一定的不适应性.为此,本文提出了一种面向密码专用处理器的、同时进行簇指派、指令调度和寄存器分配的编译器后端优化方法.构造“定值-引用”链,求解变量的候选寄存器类型集合交集,确定其寄存器类型;实时评估可用资源,进行基于优先级的指令选择和基于平衡寄存器压力的簇指派;改进线性扫描算法,基于变量的“待引用次数”列表进行实时的寄存器分配.实验结果表明,本方法能够提升生成代码的性能,且算法是非启发式的,减小了编译所需的时间.  相似文献   

12.
一种移动自组网中简单高效的广播算法   总被引:4,自引:1,他引:3  
邹仕洪  邬海涛  程时端 《软件学报》2005,16(6):1104-1111
全网范围的广播在移动自组网中有着相当广泛的应用.基于计数器的广播算法非常适合于高速移动的网络环境.在基于计数器的广播算法的基础上提出了一种简单高效的广播算法--CBB+.理论分析和大量仿真结果表明,CBB+算法相对于原基于计数器的广播算法而言,广播的达到率有着较大的提高,并且能够减少再广播分组的发送数量,降低了广播时延.  相似文献   

13.
Markov离散事件动态系统参数灵敏度估计算法   总被引:1,自引:0,他引:1  
给出了马尔可夫离散事件系统参数灵敏度估计的高效率仿真算法.既可以用于稳态性 能测度的参数灵敏度估计,也可用于终止型性能测度的灵敏度估计.和现有的仿真算法相比,其 数学描述和仿真流程比较简洁,易于编程实现.给出的各种仿真算例均验证了该方法的适用性. 此外,还指出了马尔可夫系统性能测度参数灵敏度的精确估计为光滑扰动分析(Smoothed Perturbatin Analysis)和似然比方法(Likelihood Ratios)得到的估计量之和,单独使用其中的任何一 种均难以给出系统性能测度参数灵敏度的可靠、一致估计.  相似文献   

14.
针对物联网、海计算等新型应用需求,提出一种高效能,通用的可重塑体系结构设计方法,称为“加速器中处理器”.该设计方法将传统处理器的软硬件接口抽象层次从指令提升为函数,应用程序直接映射到片内的加速器层次结构上,而不再通过编译-链接-汇编转换为指令组合.其硬件架构和程序开发模式的核心思想是采用开放式的硬件函数池,聚簇分析主流应用的核心算法并将其定制硬件化,并根据应用程序的数据和控制流,由用户定义硬件函数之间的互连,从而有效提升处理器效能.  相似文献   

15.
多寄存器组网络处理器上的寄存器分配技术   总被引:1,自引:0,他引:1  
针对传统的图着色寄存器分配算法不能直接处理网络处理器的操作问题,提出了一种多寄存器组网络处理上的寄存器分配技术.在依次分析了一个符号寄存器可能位于哪些寄存器组?如果没有候选组,该如何解决这种冲突?如果有多个候选组,该选用哪个组等问题的基础上,通过将这些方法与图着色寄存器分配算法相融合,在IXP上实现了这种多寄存器组的寄存器分配,提高了它的可编程性.这种方法也可运用到其它具有类似寄存器结构的处理器上.  相似文献   

16.
为挖掘可重构处理器的内在并行性,需要编译器通过分析程序的并行性来决定可重构处理器硬件最好的执行模式。为此,提出一种基于可重构处理器的并行优化算法。将有向无环图的并行计算部分映射到可重构处理器上,对任务实现3个不同层次的并行性(指令级并行、循环级并行、线程级并行)。测试结果表明,该算法使得可重构处理器在处理任务时比未用并行优化算法的性能提升1.2倍左右。  相似文献   

17.
随着处理器由高主频的单核处理器逐步转向片上多核处理器(CMP),计算机并行处理能力不断提升.通过分析GIS串行算法面临的性能瓶颈,利用CMP的优势,采用线程级并行处理栅格数据.针对边缘提取算法,深入分析和比较了MPI、OpenMP等当前主流的并行编程模式,提出了并行性能估计模型.基于OpenMP编程模型分析线程数、调度方式和分块大小对算法并行性能的影响,实现边缘提取最优并行.实验证明,性能评估模型能够准确预测CMP环境下的并行性能,基于OpenMP实现的边缘提取并行算法能够提高图像边缘提取效率.  相似文献   

18.
针对NAND Flash应用,完成了并行化BCH编译码器硬件设计。采用寄存器传输级硬件描述语言,利用LFSR电路、计算伴随式、求解关键方程、Chien搜索算法等技术方法完成了BCH编译码算法在FPGA上的硬件实现。相比于传统串行实现方案,采用并行化实现提高了编译码器的速度。搭建了基于SoPC技术的嵌入式验证平台,在Nios处理器的控制下能快速高效地完成对BCH编译码算法的验证,具有测试环境可配置、测试向量覆盖率高、测试流程智能化的特点。  相似文献   

19.
3种提高软件流水有效性的算法:比较和结合   总被引:1,自引:0,他引:1  
李文龙  陈彧  林海波  汤志忠 《软件学报》2005,16(10):1822-1832
软件流水是开发循环程序指令级并行性的技术,它通过并行执行连续的多个循环体来加快循环的执行速度.在软件流水中,循环体的重叠增加了寄存器需求,导致寄存器压力增大,当目标处理机所提供的寄存器不足时,软件流水可能失败.在Itanium处理机上评估了NAS和SPEC2000基准程序中的软件流水循环的寄存器需求,发现静态寄存器不足是造成软件流水失败的主要原因,提出了3种增加软件流水个数、提高软件流水有效性的算法:限制循环展开因子的算法(register sensitive unrolling,简称RSU)、堆栈寄存器分配算法(stacked registerallocation,简称SRA)以及变量类型转换的算法(variabletype conversion,简称VTC).RSU根据静态寄存器需求确定一个合理的展开因子,增加了软件流水的成功率;SRA和VTC分别使用空闲的堆栈寄存器和旋转寄存器来充当静态寄存器,提高了寄存器的利用率.在面向Itanium处理器的开放源码编译器ORC(open research compiler)上实现了这3种算法,通过NAS程序的测试比较了这3种算法的有效性,同时对它们的结合应用进行了研究和实验.  相似文献   

20.
对称多处理器的飞速发展和近年来提出的动态异构处理器(DHMP)为性能优化提供了新的机遇。一个机遇是找出程序每个阶段的性能瓶颈,提出了静态程序阶段分析方法,即通过分析结构参数和计算相似度矩阵来找出程序每个阶段的资源瓶颈;另一个机遇是给出动态异构处理器重构的时间节点,提出了DPDA和HTPD两种动态阶段检测算法,检测出阶段的变化能够为动态可重构处理器提供重构的时间节点。DPDA算法效果很好且软硬件实现代价小,而HTPD算法是目前为止第一个使用统计学方法进行动态检测阶段的算法。实验表明,与BBV相比,DPDA和HTPD能避免BBV离线、动态算法需添加额外硬件、结果与编译器相关等限制,并且阶段划分的稳定性和正确率与BBV相当。DPDA和HTPD算法由于本身不依赖额外硬件,因此都能直接在主流处理器和动态异构处理器(DHMP)中使用。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司    京ICP备09084417号-23

京公网安备 11010802026262号