ARM处理器各个模式之间是如何切换的?ARM各个模式之间切换时,上下文的保存哪些是硬件在做?哪些是操作系统在做?
来源:互联网 发布:movemake软件下载 编辑:程序博客网 时间:2024/04/27 21:15
1、ARM处理器各个模式之间是如何切换的?
答:除用户模式外的其他6种模式称为特权模式,这些模式中,程序可以访问所有系统资源,也可以任意进行处理器模式的切换。处理器模式可以通过软件控制进行切换(直接设置CPSR寄存器的后五位就可以在6种特权模式之间互相切换),也可以通过外部中断或异常处理过程进行切换(例如,在USR模式下,发生中断后切换到IRQ模式)。
2、ARM各个模式之间切换时,上下文的保存哪些是硬件在做?哪些是操作系统在做?
答:CPU做的:
(1)把返回地址保存到相应模式的lr寄存器中,例如从usr模式切换到irq模式,CPU会将usr模式下的pc值,保存到irq模式下的lr寄存器中。
(2)保存CPSR到相应模式的SPSR寄存器中,还是上面的例子,CPU保存usr模式下的CPSR到irq模式下的SPSR中。
(3)将pc设置成相应模式下的某地址值继续执行。
操作系统做的(以从模式A切换到模式B为例):
操作系统所做内容需要根据情况而定,因为模式切换不一定伴随着进程之间的切换,有可能从A模式切换到B模式后,CPU执行的是同一个进程,这时不需要操作系统具体做什么。
当模式切换伴随着进程切换时,操作系统需要保存模式切换之前的上下文环境。也就是进程控制块,进程控制块包括标识符、用户可见寄存器、控制和状态寄存器、栈指针等等,这与普通的进程切换类似。
- ARM处理器各个模式之间是如何切换的?ARM各个模式之间切换时,上下文的保存哪些是硬件在做?哪些是操作系统在做?
- ARMv7处理器各个模式之间是如何切换的?模式切换时上下文的保存哪些是硬件在做?哪些是操作系统在做?
- 软件测试在产品的各个阶段是做什么的?
- 我的系统是XP sp2,如何使电脑启动时进入安全模式呢?在安全模式下最适合做哪些事情呢?
- ARM处理器模式切换
- ARM处理器-模式切换
- ARM处理器的快速上下文切换技术
- 在操作系统中,进程之间是如何通信的?
- spring的controller是单例模式,但是是多线程,各个线程之间不影响
- 数据库学习心得:在sql语句的各个语法之间的先后顺序是:可以任意的。
- 上下文切换-FreeRTOS是如何工作的
- 上下文切换-FreeRTOS是如何工作的
- ARM指令如何在thumb和arm模式切换
- Handler解析(一):是如何实现线程之间的切换
- iOS各个控件之间通信有哪些模式
- 做seo的文章到底要注意哪些 才能做到在蜘蛛眼里是美味
- ARM处理器不同模式的切换的汇编示例
- ARM处理器模式介绍和模式切换
- windows 环境下 如何 配置jdk1.6环境变量及测试
- http://ac.jobdu.com/problem.php?pid=1005
- 海量数据处理
- Collection,Map,HashMap,hashTable,TreeMap,List,Vector,ArrayList的区别
- http://ac.jobdu.com/problem.php?pid=1006
- ARM处理器各个模式之间是如何切换的?ARM各个模式之间切换时,上下文的保存哪些是硬件在做?哪些是操作系统在做?
- http://ac.jobdu.com/problem.php?pid=1003
- win7下安装Ubuntu16.04双系统
- 分页算法
- http://ac.jobdu.com/problem.php?pid=1035
- 星号图
- http://ac.jobdu.com/problem.php?pid=1032
- http://ac.jobdu.com/problem.php?pid=1030
- 虚拟机和主机文件共享的四种方法