cpu等芯片的工作原理是什么?

ght675361513

cpu全称中央处理器,它的功能主要是解释计算机指令以及处理计算机软件中的数据,对计算机来说能够识别指令或数据都是以“0”和“1”组成的一串串的数字。



CPU从逻辑上可以划分成3个模块,分别是控制单元、运算单元和存储单元,这三部分由CPU内部总线连接起来

控制单元:控制单元是整个CPU的指挥控制中心,由指令寄存器IR(InstrucTIon Register)、指令译码器ID(InstrucTIon Decoder)和操作控制器OC(OperaTIon Controller)等,对协调整个电脑有序工作极为重要。它根据用户预先编好的程序,依次从存储器中取出各条指令,放在指令寄存器IR中,通过指令译码(分析)确定应该进行什么操作,然后通过操作控制器OC,按确定的时序,向相应的部件发出微操作控制信号。操作控制器OC中主要包括节拍脉冲发生器、控制矩阵、时钟脉冲发生器、复位电路和启停电路等控制逻辑。

运算单元:是运算器的核心。可以执行算术运算(包括加减乘数等基本运算及其附加运算)和逻辑运算(包括移位、逻辑测试或两个值比较)。相对控制单元而言,运算器接受控制单元的命令而进行动作,即运算单元所进行的全部操作都是由控制单元发出的控制信号来指挥的,所以它是执行部件。

存储单元:包括CPU片内缓存和寄存器组,是CPU中暂时存放数据的地方,里面保存着那些等待处理的数据,或已经处理过的数据,CPU访问寄存器所用的时间要比访问内存的时间短。采用寄存器,可以减少CPU访问内存的次数,从而提高了CPU的工作速度。但因为受到芯片面积和集成度所限,寄存器组的容量不可能很大。寄存器组可分为专用寄存器和通用寄存器。专用寄存器的作用是固定的,分别寄存相应的数据。而通用寄存器用途广泛并可由程序员规定其用途,通用寄存器的数目因微处理器而异。

CPU的工作原理概括如下:


智慧新视界

CPU就是一种数字芯片,它的内部可以看成是很多很多的小开关,既然是开关那么就只有开和关两种状态,对应着二进制位0和1,我们的计算机就只会识别这种0和1的信息,我们在电脑上看到的所有的信息都是由0和1组合转换而来的。


数字芯片的内部既然是开关,那么单个的开关电路就是晶体管开关电路了,CPU就是将上亿的晶体管电路集成在一块,通过开关的开启和断开来表示各种信息的。CPU内部可以分为控制单元,逻辑单元和存储单元三大部分,这三个部分相互协调配合,便控制着计算机的各个部件协调工作,所以被称作为中央处理器。那么它的主要工作就是读,解码,执行,写回四个基本操作。


首先我们对计算机的各种操作都是通过各种指令的形式送入CPU中的,CPU读取指令之后首先进行解码,也就是将指令解读为一系列的控制行为,这就好比单位领导指挥工作一样,你负责干这个,他负责干那个,然后是执行操作,将各自的工作做完之后,最后要将成果上报,这就是写回了。



上面讲述的只是CPU在执行完一条指令,而通常我们对计算机的每个操作都包含有很多条指令,CPU完成一条指令,会继续执行下一条指令,这个过程不断地重复,快速的执行完一条又一条的指令,最终在显示器上显示出你要的结果。


电子维修

悟空问答开始走向高端领域了,这提的问题真尖端,气场不够都不敢回答,我斗胆回答一下吧。


我也别回答你CPU等芯片的工作原理是什么了,我就简单的描述一下,电脑是怎么工作的吧。首先组成电脑的主要硬件有主板,CPU,内存,硬盘,显卡,输入设备(键盘鼠标等),输出设备(显示器,打印机等等)。电脑想要运行光有硬件也不行呀,都是0101010101电脑自己懂,但是人看着费劲呐,所以就有了操作系统,有了操作系统,就有了操作系统下的软件(我说的简单但是实际电脑发展到今天可以写一部编年史了)。


操作系统是什么呢?操作系统可以理解为连接各个电脑硬件的神经网络,如果你从输入设备输入了张三李四,CPU收到电平信号了,然后开始翻译成010101,然后再给输出设备,输出设备接到010101后,开始按照既定的方案去运行(这个既定方案可以想象成驱动)。如果你从输入设备输入的数据需要保存的话,那么CPU就会接到输入设备的电平信号后,开始翻译成010101,再存到硬盘的小格子里。


上述描述了CPU、硬盘、输出设备和输入设备是怎么工作的,还剩下主板、内存和显卡。主板的英文名字是motherboard,这名字多形象,母亲板。把操作系统比喻成连接各个电脑硬件的神经网络,那么主板就是连个各个主要硬件的骨骼,因为主板还一个英文名字叫mainboard。


一说到显卡,让我想起了intel制造的最早的i740显卡,重点是intel发布完i740显卡之后,发布的这款有着PCI-E接口的处理器,早期的电脑没有显卡,但是当人们有了一点点显示需求的时候才有了i740,但是固执的intel发展i740的时候,慢慢的就又回到了CPU领域,可能intel认为,看看我intel的CPU什么都可以干,你显卡不过就是一个辅助CPU打杂的,显卡就是不必要的存在。显然可能intel的想法是狭隘的,当科技发展日新月异的时候,人们对显示的精细需求越来越旺盛的时候,显卡也借此机会自成一排,这才有了AMD和Nvidia。显卡的工作就是把输入设备的010101比CPU更快的完成,然后再传给显示设备,简言之,显卡的活CPU可以干,但是时间会很久,这时间久了,用户体验就差了。


最后说说这个内存,内存起到缓冲和数据交换作用。 当CPU在工作时,需要从硬盘等外部存储器上读取数据,但由于硬盘这个"仓库"太大,加上离CPU也很"远",运输"原料"数据的速度就比较慢,导致CPU的工作效率大打折扣!举个例子,以3GHz的CPU为例,电流每秒钟可以振荡30亿次,每次耗时大约为0.33纳秒。光在1纳秒的时间内,可以前进30厘米。也就是说,在CPU的一个时钟周期内,光可以前进10厘米。因此,没有内存的情况下,如果硬盘等外部存储器距离CPU超过5厘米,就不可能在一个时钟周期内完成数据的读取,这还没有考虑硬件的限制和电流实际上达不到光速等限制,所以为了解决这个问题,人们便在CPU与外部存储器之间,建了一个叫做内存的硬件装置。这就是内存的由来。更详细的内容可以关注我,然后查看我的作品《Intel杀回独立显卡领域》。


芯片的工作原理,就是二极管的特性,开和关就是1和0,1和0是机器识别的语言,开和关就是人类识别的语言。我觉得,芯片的工作原理就是人与机器相互理解的过程,能力有限,不知道这样的回答你会不会满意呢?


MrCanned

我也斗胆来回答一下,通俗一点的回答一下。



1.首先,我们要明确,电脑最底层的硬件交互是基于波形的数字信号,也就是我们常说的二进制,0和1状态。机器只懂这个。

2.为了应对不同的处理需求,处理器内部要编写指令集来完成对应的指令操作然后输出结果。所以不同的处理器有着不同的指令集,更专注处理不同的数据。

3.有了指令集,就要上升到汇编层面了,也就是怎么通过编译,让软件执行的程序硬件看得懂, 所以有了编译器,用于解释我们程序想表达的机器能懂的语言。

4.高级语言,像java,c语言都是高级语言,这些程序不是直接执行就有效的,要通过编译器再进行解释,直到机器懂得执行你的指令,执行完再输出你要的结果。

所以通俗地说,就是这样。


分享到:


相關文章: