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

学校网站建设发展历程曼网企业名录搜索软件

学校网站建设发展历程,曼网企业名录搜索软件,宁波网络推广方法,打开wordpress很慢文章目录 ARMv8 同步异常同步异常指令SMC TYPE 上篇文章#xff1a;ARM64 常见汇编指令学习 15 – ARM64 标志位的学习 下篇文章#xff1a;ARM64 常见汇编指令学习 17 – ARM64 BFI 指令 ARMv8 同步异常 在ARMv8架构中#xff0c;同步异常主要包括以下几种#xff1a; Un… 文章目录 ARMv8 同步异常同步异常指令SMC TYPE 上篇文章ARM64 常见汇编指令学习 15 – ARM64 标志位的学习 下篇文章ARM64 常见汇编指令学习 17 – ARM64 BFI 指令 ARMv8 同步异常 在ARMv8架构中同步异常主要包括以下几种 Undefined Instruction未定义指令异常当处理器尝试执行一条未定义的指令时会触发。 Supervisor Call (SVC)这是一种特殊的软件中断通常用于实现系统调用。应用程序可以通过SVC指令请求操作系统提供服务。 Prefetch AbortPrefetch Abort是由于指令预取出错造成的。例如当处理器试图从一个不可访问的内存位置获取指令时就会触发这个异常。 Data Abort当处理器在数据访问过程中发生错误时会触发Data Abort异常。例如当试图读取或写入不可访问的内存位置时或者执行的指令违反了内存保护策略时就会触发这个异常。 SError系统错误是ARMv8架构中新引入的一种异常类型用于报告系统范围内的错误如 ECC 错误。 Breakpoint当处理器遇到一个断点指令时(BRK)会触发这个异常。这通常用于调试目的。 Watchpoint当处理器访问一个被设为监视点的内存地址时会触发这个异常。这也主要用于调试目的。 以上这些异常都是同步异常也就是说它们是由当前执行的指令直接触发的。处理器会立即停止当前指令的执行并跳转到对应的异常处理程序。 同步异常指令 Supervisor Call (SVC)如上文介绍。 Hypervisor Call (HVC)这是一种特殊的软件中断用于从guest OS切换到hypervisor。 Secure Monitor Call (SMC)这是一个特殊的安全调用用于进行安全状态间的切换例如在ARM TrustZone技术中从非安全世界切换到安全世界比如从EL1 切换到哦 EL3。 在 mtk 平台上函数 mt_secure_call 是进入EL3 的入口函数它调用 smc 指令并通过x0~x3传入四个参数。其中x0中是多个位域的一个编码根据它可以在ATF中注册的runtime serveice 找到对应的处理函数(具体细节请看ATF 专栏)。 static noinline int mt_secure_call(u64 function_id, u64 arg0, u64 arg1, u64 arg2) { register u64 reg0 __asm__(x0) function_id;register u64 reg1 __asm__(x1) arg0;register u64 reg2 __asm__(x2) arg1;register u64 reg3 __asm__(x3) arg2;int ret 0;asm volatile (smc #0\n : r (reg0) :r(reg1), r(reg2), r(reg3));ret (int)reg0;return ret; }GCC 的 noinline 属性可以阻止编译器对某个函数进行内联优化。内联函数是一种优化技术可以减少函数调用的开销。编译器会将函数的定义直接插入到函数调用的地方从而避免函数调用的开销。但是这种优化也会增加程序的大小。 在某些情况下我们可能不希望编译器对某个函数进行内联优化。例如该函数可能很大内联后会导致程序体积过大或者该函数可能需要被其他模块动态调用内联后就无法实现。这时就可以使用noinline属性来阻止编译器对该函数进行内联优化。在GCC中可以使用__attribute__((noinline))来为函数指定noinline属性 SMC TYPE ARM TrustZone技术定义了两种类型的SMCSMC Type Fast和SMC Type Yield。 SMC Type FastFast SMC调用在返回到调用者之前不会让出CPU。这种类型的SMC调用通常用于执行简短且确定的操作例如读取或写入寄存器。由于Fast SMC调用不会让出CPU因此它可以快速地完成并且在返回结果时没有延迟。 SMC Type YieldYield SMC调用可能会在执行过程中让出CPU允许其他任务运行。这种类型的SMC调用通常用于执行可能需要一些时间的操作例如访问存储设备。当Yield SMC调用完成时它会再次触发一个SMC来返回到调用者。 总的来说这两种类型的SMC调用主要的区别在于是否会在执行过程中让出CPU。 上篇文章ARM64 常见汇编指令学习 15 – ARM64 标志位的学习 下篇文章ARM64 常见汇编指令学习 17 – ARM64 BFI 指令
http://www.hkea.cn/news/14258316/

相关文章:

  • 企业网站开发课程wordpress更换域名更改数据库
  • 西安网站优化平台微信小程序怎么做网页
  • 网站备案行业wordpress添加源码
  • 网站上怎么做星星评分东莞音乐制作公司
  • 做搜狗网站优化排深圳网站备
  • 设计网站页面特效怎么做属于建设工程合同的有哪些
  • 线上做交互的网站网站搭建服务平台
  • 凌云县城乡建设局网站汽车网站页面
  • 城乡建设部网站广州市二手手表交易平台哪个好
  • 网站建设管理教程h5和html的区别
  • 出版社网站必须做企业可信认证嘛saas网站开发
  • 优化型网站是什么意思asp.net 网站提速
  • 软件资源网站推荐建站系统平台
  • 网站如何加入百度网盟wordpress镜像系统
  • 做个爬架网站如何做ppt素材大全免费
  • 建设网站容易吗网站服务公司
  • 视频网站空间毕业季网站如何做网页
  • 自适应网站建设多少钱学校ftp服务器做网站
  • 毕业设计网站最容易做什莫类型黄山搜索引擎优化
  • 宣传网站模板安卓应用市场官方版下载
  • 设计企业网站公司做网站需准备什么材料
  • 企业网站实验报告防恶意点击软件
  • 对网站开发实训的建议做个网站需要多少钱.
  • 规范门户网站建设wordpress怎么修改中文字体
  • 如何做一个静态网站毅冰做外贸是哪个网站
  • 深圳市龙华区网站建设企业对公账户查询系统
  • 网站建设和管理是教什么科目企业seo解决方案
  • 试述电子商务网站建设流程彩票网站代理怎么做
  • 怎么给公司做简单网站wordpress设置固定链接静态化
  • 附近网站建设徐州网站制作费用