java arm v6 v7 v8_AMRV7和ARMV8中的一些细微差异

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异常处理

本文地址:https://blog.csdn.net/weixin_42135087/article/details/107318870

希望与广大网友互动??

点此进行留言吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值