学习CPU的工作原理
在了解CPU的工作原理之前,先简单谈谈CPU是如何生产出来的。 CPU是在特别纯净的硅材料上制造的。一个CPU的芯片包含上百万个精巧的晶体管。人们在一块指甲盖大小的硅片上,用化学的方法蚀刻或光刻出晶体管。因此从这个意义上来说,CPU正是由晶体管组合而成的。 简单而言,晶体管就是微型的电子开关。它们是构建CPU的基石,你可以把一个晶体管当做一个点灯开关,它们有个操作位,分别代表两种状态:(开)和OFF(关) 这一开一关就相当于晶体管的连通断开,而这两种状态正好与二进制中的状态:0 1 对应! 这样,计算机就具备了处理信息的能力。
此处为:硅材料图、晶体管图。
但是你不要以为,只有简单的0 和 1 两种状态的晶体管的原理很简单,其实它们的发展经过科学家们多年的辛苦研究得来的。 在晶体管之前,计算机依靠速度缓慢,低效率的真空电子管和机械开关来处理信息,后来科研人员把这两个晶体管放置到了一个硅晶体中,这样便创作出第一个集成电路,后面才有了微处理器。
看到这里,你一定想知道 晶体管是如何利用0 和 1 这两种电子信号来执行指令和处理数据的呢? 其实,所有电子设备都有自己的电路和开关,电子在电路中流动或断开,完全是由开关来控制的。如果你将开关设置为OFF 那么电子将停止流动,如果你再将设置为ON 那么电子又会继续流动,晶体管的这种ON 与 OFF 的切换只有电子信号控制,我们可以将晶体管称为二进制设备,这样,晶体管的ON 状态用1 与 0 的特殊次序和模式来表示不同的情况,将其定义成为字母 数字,颜色和图形。 举个例子,十进位模式时也是1 2在二进制位是10 3是11 4 是 100 5是101 6是110 等等 这就组成了计算机工作采用的二进制语言和数据,陈祖的晶体管联合起来可以存储数值,也可以进行逻辑运算和数字运算。
CPU的内部结构
现在我们已经大概知道CPU是负责些什么事情,但是具体由那些部件负责处理数据和执行程序呢?
1、算数逻辑单元ALU
ALU是运算器的核心,它是以全加器为基础,铺之以以为寄存器及相应控制逻辑组合而成的电路,在控制信号的作用下可以完成加、减、乘、除四则运算和各种逻辑运算,就像刚才提到的。这里就相当于工厂中的生产线,负责运算数据。
2、寄存器组Rs
Rs实质上是CPU中暂时存放数据的地方,里面保存着那些等待处理的数据,或已经处理过的数据,CPU访问寄存器所用的时间要比访问内存的时间短,采用寄存器可以减少CPU的访问内存次数,从而提高了CPU的工作速度,但是因为受到芯片面积和集成度所限制,寄存器组的容量不可能很大,寄存器组可分为专用寄存器和通过寄存器,专用寄存器的作用是固定的,分别寄存相应的数据,而通过寄存器通途广泛并可以由程序员规定其用途,通用寄存器的数目因微处理器而异。
3、控制单元
正如工厂的物流分配部门,控制单元是整个CPU的指挥控制中心,由指令寄存器、指令译码器、和操作控制器三个部件组成,对协调整个电脑有序工作极为重要,它根据用户预先编好的程序,以此从存储器中取出各条指令,放在指令存储器中通过指令译码器分析确定应该进行什么操作,最后通过操作控制器按时序,向相应的部件发出微操作控制信号,操作控制器,主要包括 节拍脉冲发生器 控制矩阵 时钟脉冲发生器,复位电路和启停电路等控制逻辑。
4、总线
就像工厂中各个部位之间的联系渠道,总线实际上是一组导线,是各种公共信号线的集合,用于作为电脑中所有各组成部分传输信息公共使用的公路,直接和CPU相连的总线,其中包括 数据总线 地址总线 控制总线 其中书库总线用来传输数据信息 地址总线用于传送CPU发出的地址信息,控制总线用来传送控制信号,时序信号和状态信息等。
CPU的工作流程
由晶体管组成的CPU是作为处理数据和执行程序的核心,其英文全称是:Central Processing Unit,即中央处理器。首先,CPU的内部结构可以分为控制单元,逻辑运算单元和存储单元(包括内部总线及缓冲器)三大部分。CPU的工作原理就像一个工厂对产品的加工过程:进入工厂的原料(程序指令),经过物资分配部门(控制单元)的调度分配,被送往生产线(逻辑运算单元),生产出成品(处理后的数据)后,再存储在仓库(存储单元)中,最后等着拿到市场上去卖(交由应用程序使用)。在这个过程中,我们注意到从控制单元开始,CPU就开始了正式的工作,中间的过程是通过逻辑运算单元来进行运算处理,交到存储单元代表工作的结束。
数据与指令在CPU中的运行
刚才已经为大家介绍了CPU的部件及基本原理情况,现在,我们来看看数据是怎样在CPU中运行的。我们知道,数据从输入设备流经内存,等待CPU的处理,这些将要处理的信息是按字节存储的,也就是以8位二进制数或8比特为1个单元存储,这些信息可以是数据或指令。数据可以是二进制表示的字符、数字或颜色等等。而指令告诉CPU对数据执行哪些操作,比如完成加法、减法或移位运算。
我们假设在内存中的数据是最简单的原始数据。首先,指令指针(Instruction Pointer)会通知CPU,将要执行的指令放置在内存中的存储位置。因为内存中的每个存储单元都有编号(称为地址),可以根据这些地址把数据取出,通过地址总线送到控制单元中,指令译码器从指令寄存器IR中拿来指令,翻译成CPU可以执行的形式,然后决定完成该指令需要哪些必要的操作,它将告诉算术逻辑单元(ALU)什么时候计算,告诉指令读取器什么时候获取数值,告诉指令译码器什么时候翻译指令等等。
假如数据被送往算术逻辑单元,数据将会执行指令中规定的算术运算和其他各种运算。当数据处理完毕后,将回到寄存器中,通过不同的指令将数据继续运行或者通过DB总线送到数据缓存器中。
基本上,CPU就是这样去执行读出数据、处理数据和往内存写数据3项基本工作。但在通常情况下,一条指令可以包含按明确顺序执行的许多操作,CPU的工作就是执行这些指令,完成一条指令后,CPU的控制单元又将告诉指令读取器从内存中读取下一条指令来执行。这个过程不断快速地重复,快速地执行一条又一条指令,产生你在显示器上所看到的结果。我们很容易想到,在处理这么多指令和数据的同时,由于数据转移时差和CPU处理时差,肯定会出现混乱处理的情况。为了保证每个操作准时发生,CPU需要一个时钟,时钟控制着CPU所执行的每一个动作。时钟就像一个节拍器,它不停地发出脉冲,决定CPU的步调和处理时间,这就是我们所熟悉的CPU的标称速度,也称为主频。主频数值越高,表明CPU的工作速度越快。
原地址 百度URL:https://zhidao.baidu.com/question/31167317.html
原理!!!
来源:CSDN
作者:延瓒
链接:https://blog.csdn.net/qq_39591494/article/details/81327967