CPU所负责的是解释和运行最终转换成机器语言的程序内容。
CPU和内存经常在一块来讲,他们其实是有很多的晶体管组成的,一般称为IC,也就是集成电路的意思。
CPU结构
重点要关注寄存器,有句话说CPU就是寄存器的集合体
运算器
跟运算有关,负责运算从内存读取到寄存器中的数据,可以看做一个数据加工厂,就是对寄存器中的数据做运算,这些运算包含基本的算术和逻辑运算。
算术逻辑单元(ALU)这个是运算器中重要的一个组成,主要负责的就是对数据的处理,从而实现对数据的算术和逻辑运算。
累计寄存器(AC)是一个通用寄存器,当ALU处理完算术运算或者逻辑运算之后,会得到一个结果,这个结果就会保存在AC中。
数据缓冲寄存器(DR)也是存放数据的,存放的主要是从内存读取过来的数据,会暂时存放在这个DR中,这里相当于内存和CPU之间做数据传输的一个中转站,由于CPU和内存的速度有很大的差异,中间引入一个DR,一定程度上起到了速度上的缓冲作用。
状态条件寄存器(PSW)它保存的主要是由算术指令和逻辑指令运行或者测试的结果建立的各种条件码内容,一般分为状态标志和控制标志。
控制器
控制控制,也就是起到一个控制作用,上面介绍的运算器只是起到运算的功能,但是控制器是控制整个cpu的工作。对于控制器,一般要能够保证程序的正确执行以及能够处理异常事件。
指令寄存器:
寄存器是保存东西的,指令寄存器自然就是保存指令的,也就是说CPU要执行一条指令的话,需要先把指令从内存上读取,然后放到我们上面说的数据缓冲寄存器中,之后再从DR放到IR中,接着会有一个叫做指令译码器的东西根据IR的内容生成很多的位操作指令,从而去控制其他部件来完成相应的功能。
程序计数器:
它保存着下一条要执行的指令,也就是说当一个程序要执行的是哦户,会把这个程序的起始地址存在这个PC中 ,如果这个指令被执行的话也不用担心,CPU会自动修改,使得PC存放下一条要执行的指令。
地址寄存器:
这个就是保存着CPU访问内存上的那一块内存的内存地址,保存这个的原因是CPU和内存速度相差比较大,所以CPU要保存着正在访问的那块内存的地址,知道内存的读写操作完成,不然找不到之前访问的哪个内存单元了。
指令译码器:
是对指令做分析的。
内存:内存储存的就是数据和指令。其实内存可以看做一个个的小格子,每个格子都是用来存储数据的,而且每个格子还有编号,也就是内存地址,根据它可与拿到对应内存存储的数据,还需要知道的是,如果断电的话,内存中的数据会被清除的。
这里穿插一下电脑的存储器分类:
回归正题
我们使用的java、python这些都是高级语言,编写的程序最终都会转成为机器语言,之后就会进入CPU运算,实质就是通过CPU内存的寄存器来做相应的处理的。
CPU做的事情:
1.从内存中读取数据,然后放在寄存器中
2.把寄存器中的数据写入内存中
3.进行数学运算和逻辑运算
4.依据相应的条件进行跳转,执行其他指令
网友评论