[architecture]-AMRV7和ARMV8中的一些细微差异
文章目录
- 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中的一些细微差异相关推荐
- linux kernel的spinlock在armv7和armv8中的不同
在armv7中:spin_lock调用了wfe指令,让cpu进入低功耗状态;在spin_unlock中调用了sev指令,让cpu退出低功耗模式; 在armv8中,spin_lock调用了wfe指令,让 ...
- python3列表生成式中的for循环与普通放在外面的for循环细微差异
python3列表生成式中的for循环与普通放在外面的for循环细微差异 实例: 给定列表alist = [1,2,3,4,5,6,7],k=3 想要使用for循环达成输出[5,6,7,1,2,3,4 ...
- ARMv7和ARMv8中关于内存访问的汇编指令总结对比
ARMv7和ARMv8中关于内存访问的汇编指令总结对比 文章目录 ARMv7和ARMv8中关于内存访问的汇编指令总结对比 前言 ARMv7下的内存访问指令 寻址模式 多加载/存储 ARMv8下的内存访 ...
- python2与python3性能对比_对Python2与Python3中__bool__方法的差异详解
对Python2与Python3中__bool__方法的差异详解 发布时间:2020-08-28 00:08:58 来源:脚本之家 阅读:74 作者:grey_csdn 学习Python面向对象编程的 ...
- Linux和windows中的换行符差异问题 LINUX的换行符在Windows记事本打开不换行或出现黑点
http://hi.baidu.com/mayongl7/blog/item/06e61af7c719053a730eec4d.html LINUX的换行符在Windows记事本打开不换行或出现黑点 ...
- ipv6协议与网络服务器有关,IPv6与IPv4协议网络中的双工通信差异
我们都知道IPv6与IPv4协议网络的本质区别.那么在进行双向会话通信过程中两者有什么差异呢?下面我们就来详细说一下这方面的内容.Ipv6和IPv4协议动态NAT一样,NAT-PT只能用于由IPv6网 ...
- 【MMU篇】一文总结ARMv8中的MMU架构
- Go 中切片索引与 Python 中列表索引的差异
1. 索引编号超过对象的实际长度 1.1 Python 列表索引 Python 2.7.12 (default, Nov 12 2018, 14:36:49) [GCC 5.4.0 20160609] ...
- C++ 中emplace_back和push_back差异
前言 最近看rocskdb源码,发现了大量的设计模式和C++高级特性,特此补充一下,巩固基础. 问题描述 其中关于动态数组的元素添加,代码中基本将push_back抛弃掉了,全部替换为emplace_ ...
最新文章
- powerdesigner 同步mysql 报错_PowerDesigner实用技巧小结 及 导出word,想字段顺序跟模型中一致,如何设置...
- Linux发行版上安装Netbeans IDE的各种方法
- classloader resource
- 高通平台 /sys/module/lpm_levels/parameters/sleep_disabled节点
- php array in array,浅谈PHP array_search 和 in_array 函数效率问题
- javascript学习笔记_function
- 9篇!悉尼科技大学入选CVPR2021都研究什么?
- bat ping 返回值_专科生可以进bat大厂吗?
- TensorFlow2.0:张量的数学运算
- gcc(g++)头文件搜索路径与库文件搜索路径(转载)
- MySQL二进制日志(binlog)总结
- 你晓得什么叫风华绝代
- html 在线申请,25个在线工作申请免费HTML的简历模板
- SQL中drop,delete和truncate的异同
- 【OpenCV】计算两幅图片视觉差
- 什么是服务器的高并发
- 河北省级环保督察回头看全覆盖 大气污染问题成举报重点
- 程序员幽默:39个奇葩代码注释,每一个都能笑抽
- iOS:开放平台引用(二)--微信分享
- 比较连个字符串差异度
热门文章
- 数组中没有给初始值_Array中的reduce()、filter()、map()几张图搞懂
- linux关机_Linux系统管理:开机启动流程(一)
- Python语言学习之常见语句命令那些事:python和常见语句命令(条件语句、pass语句)使用方法之详细攻略
- Competition——AI:国内外人工智能比赛平台以及竞赛类型、竞赛题目、举行时间等之详细攻略(最全+ing)
- SQL:使用备份向导、SQL命令、导出数据三种方式对已建立的数据库进行备份
- 虚拟机 centos 6.5 扩展根目录分区大小
- 强大的DataGrid组件[1]【转】
- java数据结构至对称矩阵压缩存储
- eclipse打可运行的jar
- python学习之认识字符串