ARM有7种处理器形式,其由CPSR的[4:0]位决议。
用户模USR:正常程序动行的作业形式。只能读CPSR不能写
体系形式sys:与用户形式共用一套寄存器。用于支撑操作体系的特权使命形式,但它具有直接切换到其它形式的特权。
办理形式svc:操作体系的特权使命形式。体系复位和软件间断时才进入这个形式
间断abt:在ARM7中没多大做用.其他还有未定义und间断(irq),快速间断(fiq)
除用户形式外都 是特权形式。吸有在特权形式下才答应对当时的程序状况寄存器的反有操控位直接进行读写拜访。
特权形式中除体系形式外都是反常形式。反常产生时总是切换到ARM状况。
何时近入到反常形式
1 复位进入办理形式,操作体系内核一般处于此种形式
2拜访失利则进入间断形式
3 遇到不支撑的指令时,进入未定义
4间断形式与快速间断形式分别对ARM外理器2种不同等级其他间断呼应
特权形式能够拜访一切内部资源
用户形式与作体系形式不能由反常进入有必要经过修正CPSR才干完成。
ARM处理器作业模式
处理器作业形式 |
特权形式 |
反常形式 |
阐明 |
用户(user)形式 |
|
|
用户程序运转形式 |
体系(system)形式 |
该组形式下能够恣意拜访体系资源 |
|
运转特权级的操作体系使命 |
一般间断(IRQ)形式 |
一般由体系反常状况切换进该组形式 |
一般间断形式 |
|
快速间断(FIQ)形式 |
快速间断形式 |
||
办理(supervisor)形式 |
供给操作体系运用的一种维护形式,swi指令状况 |
||
间断(abort)形式 |
虚拟内存办理和内存数据拜访维护 |
||
未定义指令停止(undefined)形式 |
支撑经过软件仿真硬件的协处理 |
CPU的形式能够简略的理解为当时CPU的作业状况,比方:当时操作体系正在履行用户程序,那么当时CPU作业在用户形式,这时网卡上有数据抵达,产生间断信号,CPU主动切换到一般间断形式下处理网卡数据(一般运用程序没有权限直接拜访硬件),处理完网卡数据,回来到用户形式下持续履行用户程序。
特权形式
除用户形式外,其它形式均为特权形式(Privileged Modes)。ARM内部寄存器和一些片表里设在硬件规划上只答应(或许可选为只答应)特权形式下拜访。此外,特权形式能够自在的切换处理器形式,而用户形式不能直接切换到其他形式。
反常形式
特权形式中除体系(system)形式之外的其他5种形式又统称为反常形式。它们除了能够经过在特权下的程序切换进入外,也能够由特定的反常进入。比方硬件产生间断信号进入间断反常形式,读取没有权限数据进入间断反常形式,履行未定义指令时进入未定义指令间断反常形式。其间办理形式也称为超级用户形式,是为操作体系供给软间断的特有形式,正是因为有了软间断,用户程序才干够经过体系调用切换到办理形式。
(1)用户形式:
用户形式是用户程序的作业形式,它运转在操作体系的用户态,它没有权限去操作其它硬件资源,只能履行处理自己的数据,也不能切换到其它形式下,要想拜访硬件资源或切换到其它形式只能经过软间断或产生反常。
(2)体系形式:
体系形式是特权形式,不受用户形式的约束。用户形式和体系形式共用一套寄存器,操作体系在该形式下能够便利的拜访用户形式的寄存器,并且操作体系的一些特权使命能够运用这个形式拜访一些受控的资源。
(3)一般间断形式:
一般间断形式也叫一般间断形式,用于处理一般的间断恳求,一般在硬件产生间断信号之后主动进入该形式,该形式为特权形式,能够自在拜访体系硬件资源。
(4)快速间断形式:
快速间断形式是相对一般间断形式而言的,它是用来处理对时间要求比较紧迫的间断恳求,首要用于高速数据传输及通道处理中。
(5)办理形式:
办理形式是CPU上电后默许形式,因此在该形式下首要用来做体系的初始化,软间断处理也在该形式下,当用户形式下的用户程序恳求运用硬件资源时经过软件间断进入该形式。
(6)停止形式:
间断形式用于支撑虚拟内存或存储器维护,当用户程序拜访不合法地址,没有权限读取的内存地址时,会进入该形式,linux下编程时经常出现的segment fault一般都是在该形式下抛出回来的。
(7)未定义形式:
未定义形式用于支撑硬件协处理器的软件仿真,CPU在指令的译码阶段不能辨认该指令操作时,会进入未定义形式。
ARM920T支撑的7种处理器操作形式:
.用户形式(user形式),运转运用的一般形式。
.快速间断形式(fiq形式),用于支撑高速数据传输或通道处理。
.间断形式(irq形式),用于一般间断处理。
.超级用户形式(svc形式),操作体系的维护形式
.反常间断形式(abt形式),输入数据后登入或预取反常间断指令
.体系形式(sys形式),是操作体系运用的一个有特权的用户形式
.未定义形式(und形式),履行了未定义指令时进入该形式
处理器的形式能够经过软件操控进行切换,也能够经过外部间断或是反常处理进程进行切换。
7种形式中除用户形式外其它的6种处理器形式称为Privileged Modes(特权形式)。
用户形式:大多数用户程序运转在用户形式,此形式下程序不能够拜访一些受操作体系维护的体系资源,运用程序也不能直接进行处理器形式的切换。
特权形式:程序能够拜访一切的体系资源,也能够恣意地进行处理器形式的切换。
6种特权形式中除体系形式外,其他5种特权形式又称之为反常形式。
反常形式:当运用程序产生反常间断时,处理器进入相应的反常形式。每一种反常形式都有一组寄存器,供相应的反常处理程序运用,这样可确保进入反常形式时,用户形式下的寄存器(保存了程序运转状况)不被损坏。
体系形式:体系形式不是经过反常进程进入的,它和用户形式具有彻底相同的寄存器。可是体系形式归于特权形式,能够拜访一切的体系资源,也能够直接进行处理器形式的切换。它首要供操作体系使命运用。