本文主要是介绍关于CPU的一点知识,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
首先说一下,CPU是干啥的:
CPU所负责的就是解释和运行最终转换成机器语言的程序内容
我们需要知道的CPU结构:重点需要关注寄存器
运算器
简单说就是负责运算从内存读取到寄存器中的数据,可以看作一个数据加工厂,就是对寄存器中的数据做运算,这些运算包含基本的算术和逻辑运算。
- 算术逻辑单元(ALU)
这个是运算器中重要的一个组成,主要负责的就是对数据的处理,从而实现对数据的算术和逻辑运算
- 累计寄存器(AC)
通常叫做累计器,是一个通用寄存器。当ALU处理完算术运算或者逻辑运算之后,会得到一个结果,这个结果就会保存在AC中。
- 数据缓冲寄存器(DR)
这个DR也是存放数据的,存放的主要是从内存读取过来的数据,会暂时存放在这个DR中,这里就相当于内存和CPU之间做数据传送的一个中转站。CPU和内存的速度是有很大差别的,中间引入一个DR,一定程度上起到了速度上的缓冲作用。
- 状态条件寄存器(PSW)
首先寄存器还是保存数据的,所以PSW自然也是保存某一类数据的。它保存的主要是由算术指令和逻辑指令运行或者测试的结果建立的各种条件码内容,一般分为状态标志和控制标志。
控制器
上面介绍的运算器只是起到了运算的功能,控制器是控制整个CPU的工作,对于控制器,一般要能够保证程序的正确执行以及能够处理异常事件。
- 指令寄存器(IR)
顾名思义,指令寄存器是用来保存指令的。也就是说,CPU要执行一条指令的话,需要先从内存上读取指令,然后存入数据缓冲寄存器中,之后再从DR存入IR中。然后,指令译码器根据IR的内容生成很多的微操作指令,从而去控制其它部件以完成相应的功能。
- 程序计数器(PC)
它保存着下一条要执行的指令,也就是说当一个程序要执行的时候,会把这个程序的起始地址存到这个PC中,如果这个指令被执行的话也不用担心,CPU会自动修改,使得PC存放下一条要执行的指令。
- 地址寄存器(AR)
这个就是保存着CPU访问内存上的那一块内存的内存地址,为啥要保存这个,因为CPU和内存速度相差比较大,所以CPU要保存着正在访问的那块内存的地址,直到内存的读写操作完成,不然,就找不到之前访问的是哪个内存单元了。
- 指令译码器(ID)
顾名思义就是对指令做分析的。
根据上面的描述可以看出来,CPU的大部分都是寄存器。
这篇关于关于CPU的一点知识的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!