首页 / 知识
关于c ++:关于ARM的预取指令
2023-04-16 12:55:00

Prefetch instructions on ARM较新的ARM处理器包括PLD和PLI指令。 我正在编写紧密的内部循环(在C ++中),它具有非顺序的内存访问模式,但是我的代码完全理解的模式。 如果我可以在处理当前内存位置的同时预取下一个位置,我预计会有大幅加速,我希望这很快就足以尝试值得实验! 我正在使用来自ARM的新的昂贵的编译器,它似乎没有在任何地方包含PLD指令,更不用说在我关心的这个特定循环中了。 如何在C ++代码中包含显式预取指令? 应该有一些编译器特有的功能。 C / C ++没有标准的方法。看看编译器编译器参考指南。对于RealView编译器,请参阅此或此。 如果您试图从这些循环中提取真正的最大性能,那么我建议在汇编程序中编写整个循环结构。您应该能够使用内联汇编,具体取决于循环中涉及的数据结构。如果你可以展开任何一个循环(比如使访问非顺序访问所涉及的部分),那就更好了。 软件流水线和循环展开之类的其他优化可能会达到与预取想法相同的效果(通过将负载与有用计算重叠来隐藏负载的延迟),但不会产生额外的指令缓存压力。通过额外的指示。我甚至会说这种情况经常发生,因为紧密的内环往往只有很少的指令和很少的控制流。您的编译器是否正在执行这些类型的传统优化。如果是这样,可能值得查看管道图,以开发更详细的成本模型,了解处理器的工作方式,并更加定量地评估预取是否有用。 冒着明显的问题:你有没有验证过编译器的目标架构?例如(幽默我),如果默认编译器是针对ARM7的,那么你永远不会看到PLD指令。 |
最新内容
相关内容
linux清理内存命令行?
linux清理内存命令行?,策略,数据,系统,名称,不了,管理,情况,工作,一致,时间,linux如何清理内存Linux虽然是会自动释放内存的,可是有的时候却。linux分析内存命令?
linux分析内存命令?,情况,系统,信息,分析,命令,地址,内存,工具,下来,数据,linux查看CPU核数和内存大小命令?方法二:free命令法 free命令主要用linux的内存查看命令?
linux的内存查看命令?,系统,情况,信息,数据,工具,命令,内存,第一,环境,电脑,查看linux的cpu和内存要查看内存使用情况,可以使用free命令。Freelinux命令行模式网络?
linux命令行模式网络?,网络,基础,系统,服务,管理,工作,命令,信息,中级,设备,linux重启网络服务命令是什么(linux网络重启的命令)1、输入 systelinux下查看命令指令?
linux下查看命令指令?,系统,信息,情况,工作,地址,命令,软件,网络,工具,服务,linux查看系统命令是什么1、有的,Linux中有多个命令可以用于查看文linux命令行查内存?
linux命令行查内存?,系统,情况,信息,状态,工具,内存,电脑,分析,数据,命令,怎么查看linux的内存/proc/meminfo 命令来查看系统的内存使用情况。linux看剩余内存命令?
linux看剩余内存命令?,系统,情况,工具,信息,分析,状态,实时,命令,内存,总量,Linux系统中查看执行中的进程占用内存量的方法1、(1)top top命令linux命令行模式登录?
linux命令行模式登录?,系统,密码,信息,状态,情况,终端,环境,管理,电脑,位置,linux,按了ctrl+alt+F1,进入了类似纯命令行的界面,让输入login信查询linux内存命令?
查询linux内存命令?,系统,情况,信息,工具,电脑,状态,命令,内存,发行,总量,查看linux的cpu和内存1、要查看内存使用情况,可以使用free命令。Freelinux退出命令模式?
linux退出命令模式?,状态,档案,命令,环境,密码,终端,文件,模式,编辑,端口,linux退出vi编辑命令先按ESC进入Command模式,然后输入“:wq”,回车就可linux查内存命令6?
linux查内存命令6?,情况,系统,信息,工具,数据,内存,命令,单位,环境,方法,查看linux内存使用情况1、linux查看内存使用情况的方法是使用free命linux命令模式加行?
linux命令模式加行?,工作,地址,系统,命令,工具,正规,信息,时间,第一,模式,Linux下vim编辑器命令大全杀死进程killvi命令vi/vim是linux最常用的