美文网首页
芯片自我修养:寄存器的分类和risc的指令

芯片自我修养:寄存器的分类和risc的指令

作者: 飞猪的浪漫 | 来源:发表于2022-12-30 19:14 被阅读0次

RISC指令集相对于CISC指令集:

● Load/Store架构,CPU不能直接处理内存中的数据,要先将内存中的数据Load(加载)到寄存器中才能操作,然后将处理结果Store(存储)到内存中。

● 固定的指令长度、单周期指令。

● 倾向于使用更多的寄存器来存储数据,而不是使用内存中的堆栈,效率更高。

ARM指令集虽然属于RISC,但是和原汁原味的RISC相比,还是有一些差异的,具体如下。

应用程序正常运行时,ARM处理器工作在用户模式(User mode),当程序运行出错或有中断发生时,ARM处理器就会切换到对应的特权工作模式。用户模式属于普通模式,有些特权指令是运行不了的,需要切换到特权模式下才能运行。在ARM处理器中,除了用户模式是普通模式,剩下的几种工作模式都属于特权模式。

为了保证计算机能长期安全稳定地运行,CPU提供了多种工作模式和权限管理。应用程序正常运行时,处理器处于普通模式,没有权限对内存和底层硬件进行操作。应用程序如果要读写磁盘上的音频数据,驱动声卡播放音乐,往屏幕写数据显示歌词,则要首先通过系统调用或软中断进入处理器特权模式,运行操作系统内核或硬件驱动代码,才能对底层的硬件设备进行读写操作。

R0~R3通常用来传递函数参数,R4~R11用来保存程序运算的中间结果或函数的局部变量等,R12常用来作为函数调用过程中的临时寄存器。

R13寄存器又称为堆栈指针寄存器(Stack Pointer,SP),用来维护和管理函数调用过程中的栈帧变化,R13总是指向当前正在运行的函数的栈帧,一般不能再用作其他用途。R14寄存器又称为链接寄存器(Link Register,LR),在函数调用过程中主要用来保存上一级函数调用者的返回地址。

寄存器R15又称为程序计数器(Program Counter,PC),CPU从内存取指令执行,就是默认从PC保存的地址中取的,每取一次指令,PC寄存器的地址值自动增加。CPU一条一条不停地取指令,程序也就源源不断地一直运行下去。

当前处理器状态寄存器(Current Processor State Register,CPSR)主要用来表征当前处理器的运行状态。除了各种状态位、标志位,CPSR寄存器里也有一些控制位,用来切换处理器的工作模式和中断使能控制。

在每种工作模式下,都有一个单独的程序状态保存寄存器(Saved Processor State Register,SPSR)。当ARM处理器切换工作模式或发生异常时,SPSR用来保存当前工作模式下的处理器现场,即将CPSR寄存器的值保存到当前工作模式下的SPSR寄存器。

当ARM处理器从异常返回时,就可以从SPSR寄存器中恢复原先的处理器状态,切换到原来的工作模式继续运行。

相关文章

  • 芯片自我修养:寄存器的分类和risc的指令

    RISC指令集相对于CISC指令集: ● Load/Store架构,CPU不能直接处理内存中的数据,要先将内存中的...

  • X86与Arm的差异

    ARM 基于RISC指令集 指令少:有些指令集也就100多条,甚至少于100条指令 ARM指令只能处理寄存器内的数...

  • 芯片自我修养:存储指令

    在函数调用的场合,以及循环结构、分支结构的程序中经常会用到跳转指令。ARM指令集提供了B、BL、BX、BLX等跳转...

  • 服务器虚拟化

    服务器 分类:指令集:X86,RISC,EPIC外观:塔式,机架,刀**1U = 1.75inch=4.4 cm ...

  • 为什么是RISC-V ?

    RISC-V(音“risk-five”)是基于已建立的精简指令集-----RISC(相较于复杂指令集CISC...

  • ARM System Developer's Guide 学习笔

    访存指令 访存指令用于数据在存储器和处理器寄存器之间传递。有三种访存指令:单寄存器传输指令、多寄存器传输指令,交换...

  • 汇编指令

    寄存器 pc寄存器(program counter)为指令指针寄存器,它指示了CPU当前要读取指令的地址mov指令...

  • 存储器系统

    存储器分类按功能分类 寄存器:封装在cpu内,用于存放当前正在执行的指令和使用的数据。用触发器实现,速度快,容量小...

  • ARM发家史:无名者的逆袭

    ARM架构(Advanced RISC Machine,高级精简指令集计算机),属于典型的RISC(Reduced...

  • 什么是ARM架构?

    ARM架构,曾称进阶精简指令集机器(Advanced RISC Machine)更早称作Acorn RISC Ma...

网友评论

      本文标题:芯片自我修养:寄存器的分类和risc的指令

      本文链接:https://www.haomeiwen.com/subject/eqaxcdtx.html