首页 | 本学科首页   官方微博 | 高级检索  
检索     
共有20条相似文献,以下是第1-20项 搜索用时 937 毫秒

1.  cache profiling信息指导的软件流水  
   周谦  冯晓兵  张兆庆《计算机研究与发展》,2008年第45卷第5期
   软件流水是一种重要的指令调度技术,它通过同时执行来自不同循环迭代的指令来加快循环的执行时间.随着处理器速度和访存速度差距越拉越大,访存指令尤其是cache miss的访存指令日益成为系统性能提高的瓶颈.由于这些指令的延迟不是固定的,如何在软件流水中预测并掩盖这些访存指令的延迟是非常重要的.与前人预测访存延迟的方法不同,引入cache profiling技术,通过动态收集到profile信息来预测访存延迟,并进行适当的调度.当增加模调度循环中的访存指令的延迟时,启动间隔也会随之增大,导致性能不会随之上升.CSMS算法和FLMS算法在尽量不增大启动间隔的情况下,改变访存指令的延迟.改进了CSMS算法和FLMS算法,根据cache profiling的信息来改变访存延迟,所以比前人的方法更为准确.实验表明,新方法可以有效地提高程序性能,对SPEC2000测试程序平均性能提高1%左右,个别例子的性能改进高达11%.    

2.  软件流水的开销模型和决策框架  被引次数:1
   李文龙  林海波  汤志忠《软件学报》,2004年第15卷第7期
   软件流水是一种重要的指令调度技术,它通过重叠地执行不同的循环体来提高指令级并行性(instruction level parallelism,简称ILP).模调度是一类被广泛采用的软件流水调度算法.软件流水并非一种无损的优化方法,它具有一定的开销,比如延长了编译时间、增加了寄存器压力等.而且,受到体系结构、调度算法以及程序特性的限制,进行软件流水并不一定能达到理想的加速比,有时反而会引起性能下降.提出了一种面向程序特性的软件流水开销模型,对此模型下的软件流水开销进行了量化分析,并提出了一种基于相关性分析的    

3.  IA-64软件流水的反流水算法研究  
   崔平非  庞建民  赵荣彩  崔雪冰《计算机应用》,2006年第26卷第8期
   软件流水是一种开发循环程序指令级并行性的技术, 它通过并行执行连续的多个迭代来加快循环的执行速度。而在逆向工程中,软件流水却为逆向翻译带来了困难。为此,基于IA-64平台,提出了一种反流水算法,针对循环中包含软件流水的汇编代码进行处理,将其反向转换成语义等价的串行代码,并通过实验验证了该算法的有效性,为在二进制翻译中处理软件流水代码奠定了基础。    

4.  软件流水循环缓冲的设计与实现  
   陈纪孝  李勇《计算机科学》,2013年第40卷第4期
   设计了一种软件流水循环缓冲,用于存储和派发循环体指令,减少执行循环程序时的访存次数,从而减少访存延迟对性能的影响。在详细研究软件流水和循环展开的基础上,完成了软件流水循环缓冲的设计。所设计的循环缓冲可以存储112条32位指令,用循环专用指令来控制循环程序的执行。对设计进行了模拟验证,并用Design Complier对设计进行了综合。    

5.  TMS320C6X的SPLOOP技术  
   方志红  常越《雷达科学与技术》,2014年第4期
   软件流水是一种实现循环迭代中指令级并行的指令调度技术。它可以克服多周期指令延迟对CPU处理性能的影响,保证循环核的运行效率最优。从C64X+开始,TMS320C6X系列DSP引入SPLOOP技术,软件上增加SPLOOP(D/W)、SPKERNEL等相关指令,硬件上增加软件流水缓存等专用模块,通过模调度软件流水模式,有效缩小了软件代码量,提升了执行代码效率。一般情况下,采用SPLOOP技术后机器编译输出的循环代码质量很高,编程人员无需再对代码进行进一步的手工优化。    

6.  SMS软件流水调度算法的设计与实现  
   叶丞  朱怡安  王云岚《计算机工程与科学》,2008年第30卷第9期
   循环是程序中的热代码,对循环进行有效的优化可以显著缩短程序的执行时间。软件流水是一种开发循环体指令级并行的细粒度循环优化技术,它通过调度循环中连续迭代之间的指令使其并行执行,从而提高了循环的执行效率。实验数据表明,用CernLoop程序包进行测试,循环优化效果明显。    

7.  模调度与DFA结合的技术及其在gcc上的实现  
   吴佩华  郭勇  漆锋滨《计算机工程与应用》,2004年第40卷第31期
   循环是程序中的热代码,而软件流水是一种细粒度的循环优化方法,它通过将循环中不同迭代之间的操作并行执行,最大程度地开发指令级并行。模调度是一种效果很好的软件流水算法。论文以gcc 3.3为基础,提出了模调度与DFA结合的软件流水方法,及其工程实现,实验数据表明,优化效果明显。    

8.  避免模调度中cache代价的优化方法  被引次数:1
   刘利  李文龙  郭振宇  李胜梅  汤志忠《软件学报》,2005年第16卷第10期
   软件流水能够加快循环的执行速度.模调度是一种被广泛采用的软件流水的启发式.为了改善存储系统,cache使用了分级机制,但这也带来了额外的存储延迟-cache代价.证明了模调度可能导致cache代价,并提出了一种可以避免模调度的cache代价的PCPMS(prevent cache penalty in modulo scheduling)算法.实验结果表明,PCPMS能够避免模调度中的cache代价,提高程序性能.    

9.  IA-64中软件流水的寄存器需求研究  被引次数:1
   林海波  李文龙  汤志忠《计算机研究与发展》,2004年第41卷第1期
   软件流水是开发循环程序指令级并行性的重要方法之一,IA-64是支持软件流水的EPIC体系结构,通过对NAS Benchmarks中可软件流水循环所需的寄存器进行量化分析,提出了一种限制循环展开因子的启发式算法,有效地解决了因可用寄存器不足而导致软件流水失败的问题,并提高了应用程序的执行速度。    

10.  3种提高软件流水有效性的算法:比较和结合  被引次数:1
   李文龙  陈彧  林海波  汤志忠《软件学报》,2005年第16卷第10期
   软件流水是开发循环程序指令级并行性的技术,它通过并行执行连续的多个循环体来加快循环的执行速度.在软件流水中,循环体的重叠增加了寄存器需求,导致寄存器压力增大,当目标处理机所提供的寄存器不足时,软件流水可能失败.在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种算法的有效性,同时对它们的结合应用进行了研究和实验.    

11.  摆动模调度中的寄存器溢出技术及其在GCC中的实现  
   杨旸  顾国昌《小型微型计算机系统》,2007年第28卷第10期
   软件流水是一种通过发掘循环的不同迭代的不同部分的指令间并行性,使这些指令并行执行,从而提高循环的执行效率的优化技术.但该技术在提高指令并行性的同时也增加了寄存器压力,而寄存器溢出技术正是解决寄存器压力的有效方法.摆动模调度是一种在进行近似最优化调度的同时尽力减小寄存器压力的软件流水算法,该算法已经作为一个新的优化遍出现在GCC的最新版本中.本文以GCC为平台,论述了摆动模调度中的寄存器溢出技术及其工程实现,从而使摆动模调度算法进一步增强了对寄存器压力的处理能力.    

12.  一个RISC流水结构机器QHRC上的编译时指令调度器  
   傅兴钢 李三立《计算机学报》,1992年第15卷第9期
   RISC体系结构常采用流水结构来提高机器的执行速度.然而,指令互锁现象的频繁出现严重影响了机器的执行效率.本文给出了一个流水结构机器上的基于机器描述表格化及参量化的指令调度算法。并利用该指令调度器作为工具,对多种解决指令互锁方案效果进行分析.最后,给出了一种兼顾硬件可行性与软件有效性的解决指令互锁的高性能方案。该算法的复杂度为O(n~2)。    

13.  一种IA-64下的反软件流水算法  
   汪 淼  赵荣彩  蔡国明《计算机工程与应用》,2007年第43卷第23期
   软件流水是一种循环程序的优化技术,它可以有效地提高指令级并行性。由于处理机的实现方法各不相同,在一种处理机上经过软件流水优化后的循环代码很难在其它处理机中移植和使用。反软件流水是软件流水的逆向操作,它可以消除循环代码中的软件流水特性,以便于代码在不同平台上的移植。基于IA-64体系结构,分析了软件流水的代码特点,提出了反流水算法,用于将ICC编译器编译后的可执行二进制代码消除软件流水特性,转换成语义等价的C代码。    

14.  基于优化回溯模型的无重叠模调度算法  
   谭明星  刘先华  张吉豫  程旭《电子学报》,2012年第40卷第8期
   软件流水技术通过重组循环体来挖掘指令级并行性,模调度是一类广泛使用的软件流水调度算法.传统模调度算法通常会产生变量活跃域重叠和寄存器压力增大问题,无法适用于嵌入式处理器.本文面向嵌入式处理器特性,建立了一种优化回溯模型,并基于该回溯模型提出了一种面向嵌入式处理器的无重叠模调度算法(NOn-Over-lapped Iterative Modulo Scheduling,简称NOOI).NOOI算法使用循环相关反依赖消除变量活跃域重叠,并使用依赖约束和资源约束回溯模型消解节点冲突,从而提高了模调度的有效性.实验结果表明,NOOI模调度算法能够有效改进模调度成功率和循环启动间距,并提高程序性能.    

15.  模调度中的数据猜测方法  
   钟明  郭振宇  汤志忠《计算机应用与软件》,2005年第22卷第10期
   软件流水是一种重要的指令调度技术,通过重叠地执行不同的循环体来提高指令级并行性。模调度是一类重要的软件流水调度算法,保守的相关性分析可能会引入较多的模糊相关,这阻碍了模调度生成高效的调度结果。数据猜测能克服保守的相关性分析带来的调度限制,开发潜在的并行性。本文提出了模调度中的一种数据猜测方法,在开放源代码编译器ORC上实现了该方法,并用SPEC2000基准程序进行了测试,实验结果表明,该方法收到了较好的效果。    

16.  一种灵活高效的虚拟CPU调度算法  
   刘珂男  童薇  冯丹  刘景宁  张炬《软件学报》,2017年第28卷第2期
   目前,虚拟化已经广泛应用于数据中心,但主流的虚拟CPU调度策略并没有实现对I/O性能的保障,尤其当延时敏感型负载的虚拟机和计算敏感型负载的虚拟机竞争CPU资源时,其性能显著下降.针对上述问题,本文提出了一种灵活、高效的虚拟CPU调度算法(FLMS).FLMS通过采用虚拟机分类、虚拟CPU绑定、多类时间片等技术降低了虚拟机的响应延时,同时基于多处理器架构重新设计了负载均衡策略,优化了虚拟CPU迁移.FLMS通用于目前主流的虚拟化方案,在软件虚拟化方式下相比于最新的优化方案延时降低了30%,带宽有10%的提升;在使用硬件辅助虚拟化的系统中,通过FLMS能够获得接近原生系统的I/O性能,并且保证了整个系统的公平性.    

17.  乱序执行机器上的load指令调度  
   周谦 冯晓兵 张兆庆《计算机科学》,2007年第34卷第11期
   随着处理器和存储器速度差距的不断拉大,访存指令尤其是频繁cache miss的指令成为影响性能的重要瓶颈。编译器由于无法得知访存指令动态执行的拍数,一般假定这些指令的延迟为cache命中或者cache miss的延迟,所以并不准确。我们引入cache profiling技术来收集访存指令运行时的cache miss或者命中的信息,利用这些信息来计算访存的延迟。乱序机器上硬件的指令调度对于发射窗口内的指令能进行很好的动态调度,编译器则对更长的范围内的指令调度更有优势。在reorder buffer中cache miss一旦发生,容易引起reorder buffer满,导致流水线阻塞。调度容易cache miss的指令。使其并行执行,从而隐藏cache miss的长延迟,就可以提高程序性能。因此,我们针对load指令,一方面修改频繁miss的指令的延迟,一方面修改调度策略,提高存储级并行度。实验证明,我们的调度对于bzip2有高达4.8%的提升,art有4%的提升,整体平均提高1.5%。    

18.  一种硬件预取机构及其对系统影响的研究  被引次数:1
   邓让钰  谢伦国  肖立权《计算机工程与科学》,2001年第23卷第6期
   存储器访问延迟已经成为高性能微处理器性能发挥的关键障碍之一。预取是隐藏访存延迟的重要手段。其通常做法是显式执行指令将数据在实际使用前先和取到离微处理器附近的地方,但是这种方法增加了程序设计人员的负担。本文提出了一种硬件预取方法,即在存储控制器中设计一个VPFB机构用来隐藏访存延迟,并通过模拟分析了它的效果。    

19.  基于软件模型的SDRAM指令FIFO的性能评估  
   杨圃  凌明《电子器件》,2005年第28卷第1期
   针对SDRAM的读写操作具有一定的流水特性,“Garfield”的EMI(外部存储接口)设计中加入了指令缓冲(先入先出,FIFO),充分利用SDRAM的Burst模式.在处理器进行指令预取时,减少指令读取的平均等待时间。但这种方法的关键问题在于.如何选择恰当的指令缓冲深度.从而最大可能地提高整个芯片的执行效率。本文提出了一种基于软件模型来评估。首先介绍了为什么要在基于ARM7TDMI的外部存储器接口中插入指令FIFO,及如何通过软件建模的方法,用指令集模拟器和存储子系统模型模拟真实硬件环境。然后探讨了采用什么标准去评估指令执行效率的提高,最后通过实验数据得到对SDRAM指令FIFO的性能的评估。    

20.  软件流水中隐式控制流恢复技术  
   汪淼  赵荣彩  蔡国明  丁志芳《计算机科学》,2008年第35卷第10期
   具有条件分支的循环通过IF转换将显式的控制流转换为隐式的控制流,从而为指令调度提供进一步的机会.但它往往将程序的代码进行深度重构,增加了程序的理解和代码重建工作的复杂性.提出了一种软件流水循环中的隐式控制流恢复技术,用于重构软件流水循环中的条件分支,提高软件逆向工程中生成的目标代码的质量.    

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

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