怎样切换CPU的工作模式

如题所述

(1)用户模式:用户模式是用户程序的工作模式,它运行在操作系统的用户态,它没有权限去操作其它硬件资源,只能执行处理自己的数据,也不能切换到其它模式下,要想访问硬件资源或切换到其它模式只能通过软中断或产生异常。

(2)系统模式:系统模式是特权模式,不受用户模式的限制。用户模式和系统模式共用一套寄存器,操作系统在该模式下可以方便的访问用户模式的寄存器,而且操作系统的一些特权任务可以使用这个模式访问一些受控的资源。

(3)一般中断模式:一般中断模式也叫普通中断模式,用于处理一般的中断请求,通常在硬件产生中断信号之后自动进入该模式,该模式为特权模式,可以自由访问系统硬件资源。

(4)快速中断模式:快速中断模式是相对一般中断模式而言的,它是用来处理对时间要求比较紧急的中断请求,主要用于高速数据传输及通道处理中。

(5)管理模式:管理模式是CPU上电后默认模式,因此在该模式下主要用来做系统的初始化,软中断处理也在该模式下,当用户模式下的用户程序请求使用硬件资源时通过软件中断进入该模式。

(6)中止模式:中止模式用于支持虚拟内存或存储器保护,当用户程序访问非法地址,没有权限读取的内存地址时,会进入该模式,linux下编程时经常出现的segment fault通常都是在该模式下抛出返回的。

(7)未定义模式:未定义模式用于支持硬件协处理器的软件仿真,CPU在指令的译码阶段不能识别该指令操作时,会进入未定义模式。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-03-08
CPU的工作模式,技术发展
第一代SpeedStep技术,简单的说,就是当使用AC电源或电池驱动时,自动对CPU的工作电压和工作频率进行切换。采用SpeedStep技术的CPU有两种不同的工作模式:使用AC电源时的最高性能模式(Maximum Performace Mode)和使用电池时的电池优化模式(Battery Optimized Mode),笔记本根据电源情况自动切换工作模式。

第二代SpeedStep(Enhanced SpeedStep)技术则可以根据CPU的负荷情况在两种性能模式之间实时进行电压和频率的动态切换,也就是说可以在电池驱动时根据CPU负荷情况自动切换到最高工作频率和电压,也可以在接AC电源时根据CPU负荷情况自动切换到最低工作频率和电压。

第三代SpeedStep(Improved Enhanced SpeedStep)技术尽管仍只有两种基本工作模式,但同时还具有多种中间模式,支持多种频率速度与电压设置(由CPU的电压调整机制来控制),根据CPU当时负荷的强度自动切换工作模式。[1]
转自搜狗问问,希望能有帮助。
第2个回答  2019-03-08

    arm处理器复位cpu后先进入管理模式,然后内核是怎样切换模式的,在程序...

    答:ARM 内核工作模式的切换是要自己写代码的, 设置CPSR 寄存器低5位进行切换 0b10001 快速中断模式 0b10010 中断模式 0b10011 管理模式 0b10111 中止模式 0b11011 未定义 0b11111 系统模式

第3个回答  2019-03-09
在系统的电源管理中选择。
有节能、平衡、性能等三种模式。
你选择想需要的模式就可以了。
第4个回答  2019-03-08
286 架构导入 保护模式,允许硬件等级的存储器保护。然而要使用这些新的特色,需要额外先前不需要的软件指令。由于 x86 微处理机主要的设计规格,是能够完全地向前兼容于针对先前所有 x86 芯片所撰写的软件,因此 286 芯片的开机是处于 '实模式' — 也就是关闭新的存储器保护特性的模式,所以可以运行针对旧的微处理器所设计的软件。到现在为止,即使最新的 x86 CPU 一开始在电源打开处于实模式下,也能够运行针对先前任何芯片所撰写的软件。
相似回答