以前回答过类似问题,再回答一次处理器的作用。
处理器,即CPU是Central Processing Unit(中央处理单元)的缩写,被称为计算机\\手机的大脑。要回答这个问题,首先,我们需要来了解一下,计算机在进行信息处理的过程。
处理器的作用计算机在进行信息处理的时候,一般分为两步:
将程序和要进行处理的数据,放到计算机的存储系统中;从存储系统中,拿数据,运行相应的程序,得到结果。处理器就是负责协调、指挥、控制程序有条不紊的进行。
一般控制过程分为以下几步:
取指令。当程序已在存储器中时,首先根据程序入口地址取出一条程序,为此要发出指令地址及控制信号。指令译码。分析当前取得的指令,根据分析的结果,产生相应的控制命令,进行相应的操作。执行指令。根据指令译码时产生的“操作命令”,产生相应的操作控制信号序列,通过运算单元,存储器系统及输入/输出接口设备的执行,实现每条指令的功能,其中包括对运算结果的处理以及下条指令地址的形成。处理器的结构现在市场上的处理器性能指标和结构细节十分繁杂,但是完成的功能都相同,所以基本结构也都雷同,基本要包含下面这些部件:
算术逻辑运算单元(ALU)。用于执行算术运算操作、移位操作以及逻辑操作,也可执行地址运算和转换。累加器。用于存放当前运算的结果。程序计数器。用于提供指令地址。指令寄存器,译码器。用于将数据总线送入的指令,放入指令寄存器。时序和控制部件。用于根据译码结果,发出“操作指令”的控制信号。处理器的分类在目前的处理器中一般分为CISC和RISC两大系列。
CISC是复杂指令集处理器,其最大的不合理之处在于,随着计算机技术的不断发展,各种指令集越来越多,但是常用的指令集只占源代码的20%,剩余的80%不常用。
为了改变这种不合理,RISC即精简指令集处理器,横空出世。其通道中只包含最有用的指令,确保数据通道快速执行每一条指令,使CPU硬件结构设计变得更为简单,尽量使用单周期指令,便于流水线操作执行。
在这简单谈一下流水线技术,总结一下其特点在于几个指令能够并行执行,内部信息流要求通畅流动,这样就提升了CPU的运行速度。在ARM7系列中采用的一般为3级流水线,即预取——译码——执行,在ARM9系列中采用预取——译码——执行——访问——写回,在ARM10中采用预取——发射——译码——执行——访问——写回,在ARM11中采用预取—预取—发射——译码——转换——执行——访问——写回。
ARM处理器的工作模式据报道,全世界99%的智能手机和平板电脑都采用ARM架构,约有43亿人每天都会触摸一台搭载ARM芯片的设备,占全球总人口的60%。我们以ARM处理器为例,再来深入看一下处理器的工作模式等内容。
ARM微处理器支持7种运行模式,由ARM处理器中的CPSR(当前程序状态寄存器)的低5位CPSR[4:0]定义的。
7种运行模式分别为:
用户模式User(usr):ARM处理器正常的程序执行模式。系统模式System(sys):运行具有特权的操作系统任务。快速中断模式(fiq):用于高速数据传输或通道处理。管理模式Supervisor(svc):操作系统使用的保护模式,处理软件中断(SWI)。外部中断模式(irq):用于通用的中断处理。数据访问中止模式Abort(abt):用于虚拟存储及存储保护。未定义指令中止模式Undfined(und):当出现未定义指令执行(中止)时进入该模式,可用于支持硬件协处理器的软件仿真。ARM处理器运行模式可以通过下面两种方式进行切换:
通过软件进行切换。通过外部中断或者异常处理过程进行切换。当应用程序发生异常中断时,处理器进入相应的异常模式。
在每一种异常模式下,都对应有一组寄存器,供相应的异常处理程序使用。这样就可以保证在进入异常模式时,用户模式下的寄存器不被破坏。
小结关于处理器相关内容,特别是ARM处理器系列,我写了《浅谈RISC CPU》、《浅谈ARM处理器》等多篇文章,详细介绍了CPU的工作模式、硬件架构等内。
如果有兴趣,欢迎加关注“单眼皮老王”,阅读相关文章,更欢迎和我讨论。
希望回答会对你有所帮助,感谢。