当前位置: 首页 > news >正文

网站怎么做导航页电脑系统优化软件十大排名

网站怎么做导航页,电脑系统优化软件十大排名,绿化工程属于建设工程吗,天津 网站制作1. 前言 在查看一段neon代码时,发现有如下片段,为使用汇编进行数据预取操作。这是一个新的知识点,记录一下学习过程。 __asm__ volatile("prfm pldl2keep,[%0, #8192] \n""prfm pldl1keep,[%0, #1024] \n":"r"…

1. 前言

        在查看一段neon代码时,发现有如下片段,为使用汇编进行数据预取操作。这是一个新的知识点,记录一下学习过程。

  __asm__ volatile("prfm pldl2keep,[%0, #8192] \n""prfm pldl1keep,[%0, #1024] \n":"=r"(tmp_src):"0"(tmp_src):"cc", "memory");

2. GCC内联汇编

        GCC中的内联汇编格式如下

__asm__ __volatile__(指令部: 输出部: 输入部: 副作用列表)

        其中的知识点列出如下:

1)__asm__/asm是GCC中的一个关键字,用来声明一个内联汇编表达式。

2)__volatile__/volatile是GCC中的一个关键字,告诉编译器不允许对后面嵌入的代码进行优化。

3)指令部中带有%的数字如%0、%1等,表示需要使用寄存器的操作数

4)输出部:用于描述在指令部中可以修改的C语言变量和它的约束条件。一般以"="/"+"开头,"="表示操作数可写,"+"表示可读可写;然后是一个字母,表示对操作数类型的说明。

5)输入部:描述指令部中智能读取的C语言变量以及约束条件。输入部中的参数只有只读属性,所以不能使用"="/"+"进行修饰。

6)副作用列表:一般以“memory”结束。“cc”表示内嵌代码修改了状态寄存器的相关标志位;“memory”告诉编译器内嵌代码改变了内存状态

        看一个例子,代码如下,实现将寄存器中的数据读取出来。

<arch/arm64/include/asm/irqflags.h>static inline unsigned long arch_local_irq_save(void)
{unsigned long flags;asm volatile("mrs    %0, daif         //读取PSTAT寄存器中的DAIF域到flags变量"msr    daifset, #2"     //关闭IRQ: "=r" (flags):: "memory");return flags;
}

        输出部中%0对应"=r" (flags),“=”表示操作数具备可写属性,“r”表示使用一个通用寄存器;输入部为空;副作用列表表示代码改变了内存状态。

3. prfm指令

        prfm是ARM中的一个汇编指令,用于执行预取操作,旨在减少未来的缓存缺失延迟。通过预先加载数据到缓存中,可以在后续访问这些数据时更快地获取它们,从而提高程序的整体性能。

1)命令基本形式

        prfm命令的基本形式如下

prfm <type>, <address>

        其中<type>表示预取类型,常见类型包括pld、pld1keep、pld2keep等;<address>表示要预取的数据所在的内存地址。

2)预取类型

  • pld;将数据预取到最后一级缓存(L1或L2),数据块大小一般为64字节。
  • pldl1keep;将数据预取到L1数据缓存,数据块大小一般为64字节。
  • pldl2keep;将数据预取到L2数据缓存,数据块大小一般为64字节。

        由于涉及到内存操作,有必要在执行预取之前确保地址有效,这也算是一种防御性编程。

4. 小结

        再回到最上面的代码,其作用为将tmp_src为基地址偏移8192个字节处的数据加载到L2缓存,并将tmp_src为基地址偏移1024个字节处的数据加载到L1缓存。": "=r"(srcdata_p)":表示 srcdata_p 可以存储在任意类型的寄存器中,并且会被更新;:"0"(srcdata_p)":表示使用与输出约束相同的寄存器编号,即 srcdata_p

5. 参考

https://zhuanlan.zhihu.com/p/465498325

https://www.cnblogs.com/FireLife-Cheng/p/18186919

http://www.hkea.cn/news/573951/

相关文章:

  • 网站建设中应注意哪些问题重庆整站seo
  • 贵阳网站建设哪家便宜微商软文范例大全100
  • 怎么在微信上做网站竞价交易
  • wordpress优化版4.7.4网站seo设计
  • 网上课程网站精准客户数据采集软件
  • 专业网站建设报价外呼系统电销
  • 网站建设公司价格差别seo还有哪些方面的优化
  • 哪家公司建造了迪士尼乐园关键词优化推广排名多少钱
  • 做教育的网站有哪些内容吗湖南网站营销推广
  • wordpress 跳过ftp搜索引擎排名优化方案
  • 360做的网站北京营销推广公司
  • 我国政府网站建设的趋势宁波seo公司排名榜
  • 高端网站建设,恩愉科技专业的seo搜索引擎优化培训
  • 跨境网站开发公司网站seo思路
  • 冠县网站建设活动推广方案
  • 鲜花培训网站建设网站推广要点
  • 情趣内衣怎么做网站如何制作网页
  • 网站交互技术百度推广登陆后台
  • 网站的推广和宣传方式各行业关键词
  • 腾讯云服务器网站建设淘宝推广哪种方式最好
  • 大专网站建设论文找个免费的网站
  • 移动端网站开发流程图seopeix
  • 购物网站制作免费太原seo招聘
  • 怎么建设食品网站济南seo外包公司
  • 建设网站有哪些seopeix
  • 桂林市工程建设项目招标网站莆田百度快照优化
  • 金华网站建设大型网页建设农产品网络营销
  • wordpress free cdn长沙百度快速优化
  • 网页界面设计首页seo快速优化软件网站
  • 和凡科网类似的网站四川省人民政府