文章目录

  • 1、svc和swi的区别
  • 2、swi、SGI、softirq的区别?
  • 3、SError和data abort、prefetch abort、undefined instruction的区别
思考
- 什么是协处理器?ARMV8-aarch64下有没有协处理器?
- MRS/MSR是什么指令,在aarch64架构下没有MCR/MRC指令?
- 什么是SError? 什么是prefetch abort,undefined instruction?
- LR和ELR的区别?
- 在aarch32中, R15是PC,那么在aarch64中X30为什么不是PC?
- MV PC ,#3 这样的指令是否可以
- 在aarch32中, R13是SP,那么在aarch64为什么没有通用寄存器作为SP?
- armv7和armv8的ARM NEON的区别?
- PSTATE和CPSR的区别?
- ARMv8上是否能接gicv2,armv7上是否能接gicv3?

★★★ 友情链接 : 个人博客导读首页—点击此处 ★★★

1、svc和swi的区别

svc和swi都是supervisor call指令,都是系统调用.

  • 再armv7之前,用的都是swi,触发异步异常,进入vector_swi异常向量表;
  • 在armv8-arch64架构下,抛弃了swi,改用了svc,触发的是同步异常,进入同步异常向量表el1_sync

2、swi、SGI、softirq的区别?

【问题】swi叫软中断、SGI也叫软中断、linux kernel中还有一个softirq也叫软中断,他们三个有什么区别呢?
【回答】:

  • swi :software irq,是ARM的一个软件中断指令,产生swi异常;
  • SGI:software generate interrupt,软件产生的中断,是cpu写gic寄存器,gic发出的一个irq给到cpu
  • softirq: linux kernel自己造的软中断,和硬件无关

3、SError和data abort、prefetch abort、undefined instruction的区别

在armv7下使用的是data abort、prefetch abort、undefined instruction,在armv8下使用的是SError.
注:在linux kernel中,armv7体系下均已实现data abort、prefetch abort、undefined instruction异常处理函数,在linux kernel的armv8体系下,没有实现SError异常处理

[architecture]-AMRV7和ARMV8中的一些细微差异相关推荐

  1. linux kernel的spinlock在armv7和armv8中的不同

    在armv7中:spin_lock调用了wfe指令,让cpu进入低功耗状态;在spin_unlock中调用了sev指令,让cpu退出低功耗模式; 在armv8中,spin_lock调用了wfe指令,让 ...

  2. python3列表生成式中的for循环与普通放在外面的for循环细微差异

    python3列表生成式中的for循环与普通放在外面的for循环细微差异 实例: 给定列表alist = [1,2,3,4,5,6,7],k=3 想要使用for循环达成输出[5,6,7,1,2,3,4 ...

  3. ARMv7和ARMv8中关于内存访问的汇编指令总结对比

    ARMv7和ARMv8中关于内存访问的汇编指令总结对比 文章目录 ARMv7和ARMv8中关于内存访问的汇编指令总结对比 前言 ARMv7下的内存访问指令 寻址模式 多加载/存储 ARMv8下的内存访 ...

  4. python2与python3性能对比_对Python2与Python3中__bool__方法的差异详解

    对Python2与Python3中__bool__方法的差异详解 发布时间:2020-08-28 00:08:58 来源:脚本之家 阅读:74 作者:grey_csdn 学习Python面向对象编程的 ...

  5. Linux和windows中的换行符差异问题 LINUX的换行符在Windows记事本打开不换行或出现黑点

    http://hi.baidu.com/mayongl7/blog/item/06e61af7c719053a730eec4d.html LINUX的换行符在Windows记事本打开不换行或出现黑点 ...

  6. ipv6协议与网络服务器有关,IPv6与IPv4协议网络中的双工通信差异

    我们都知道IPv6与IPv4协议网络的本质区别.那么在进行双向会话通信过程中两者有什么差异呢?下面我们就来详细说一下这方面的内容.Ipv6和IPv4协议动态NAT一样,NAT-PT只能用于由IPv6网 ...

  7. 【MMU篇】一文总结ARMv8中的MMU架构

  8. Go 中切片索引与 Python 中列表索引的差异

    1. 索引编号超过对象的实际长度 1.1 Python 列表索引 Python 2.7.12 (default, Nov 12 2018, 14:36:49) [GCC 5.4.0 20160609] ...

  9. C++ 中emplace_back和push_back差异

    前言 最近看rocskdb源码,发现了大量的设计模式和C++高级特性,特此补充一下,巩固基础. 问题描述 其中关于动态数组的元素添加,代码中基本将push_back抛弃掉了,全部替换为emplace_ ...

最新文章

  1. powerdesigner 同步mysql 报错_PowerDesigner实用技巧小结 及 导出word,想字段顺序跟模型中一致,如何设置...
  2. Linux发行版上安装Netbeans IDE的各种方法
  3. classloader resource
  4. 高通平台 /sys/module/lpm_levels/parameters/sleep_disabled节点
  5. php array in array,浅谈PHP array_search 和 in_array 函数效率问题
  6. javascript学习笔记_function
  7. 9篇!悉尼科技大学入选CVPR2021都研究什么?
  8. bat ping 返回值_专科生可以进bat大厂吗?
  9. TensorFlow2.0:张量的数学运算
  10. gcc(g++)头文件搜索路径与库文件搜索路径(转载)
  11. MySQL二进制日志(binlog)总结
  12. 你晓得什么叫风华绝代
  13. html 在线申请,25个在线工作申请免费HTML的简历模板
  14. SQL中drop,delete和truncate的异同
  15. 【OpenCV】计算两幅图片视觉差
  16. 什么是服务器的高并发
  17. 河北省级环保督察回头看全覆盖 大气污染问题成举报重点
  18. 程序员幽默:39个奇葩代码注释,每一个都能笑抽
  19. iOS:开放平台引用(二)--微信分享
  20. 比较连个字符串差异度

热门文章

  1. 数组中没有给初始值_Array中的reduce()、filter()、map()几张图搞懂
  2. linux关机_Linux系统管理:开机启动流程(一)
  3. Python语言学习之常见语句命令那些事:python和常见语句命令(条件语句、pass语句)使用方法之详细攻略
  4. Competition——AI:国内外人工智能比赛平台以及竞赛类型、竞赛题目、举行时间等之详细攻略(最全+ing)
  5. SQL:使用备份向导、SQL命令、导出数据三种方式对已建立的数据库进行备份
  6. 虚拟机 centos 6.5 扩展根目录分区大小
  7. 强大的DataGrid组件[1]【转】
  8. java数据结构至对称矩阵压缩存储
  9. eclipse打可运行的jar
  10. python学习之认识字符串