其实计算机的CPU只会做加法,它只知道1+1=10(二进制)其他的工作是由CPU的指令系统(控制单元)来完成的,比如乘法——把一个二进制数乘以二,就是把一个二进制数左边移一位,除法刚好相反,右移一位。 比如求一个数的10倍: 先给这个数字左移2次=原来数字乘以2, 然后把乘以2的结果放在寄存器里(存储单元), 再给这个数先左移2次=原来数的4倍, 然后,在给这个数字乘以2=原来数的8倍, 最后加上存放在寄存器里面的两倍就=原来数字的10倍了。 这些都是由CPU的指令系统控制的,在做逻辑运算的时候(就是逻辑控制单元)在起作用了,其实就是一些奇怪的加法比如: 与运算就会被规定两个不一样的数字进行比较结果为0 或运算: 两个不一样的数字比较,只要有一个不为“0”那么,结果就不为“0” CPU的速度取决于两个方面的因素: 1、内部因素: 比如CPU的制作工艺:二级缓存的大小,运算频率的高低等等 指令系统的设计:有没有多媒体指令系统,指令的长度,是32位的指令系统,还是64位指令系统,每次处理的二进制位数是8位,6位、32位、64位、还是128位等等。 2、外部因素: 说是外部因素也不完全准确,最明显的——前端总线的限制,分两种: (1)CPU的前端总线高,主板支持的前端总线低,就好像往一个大瓶子里便灌水的过程CPU的前端总线是瓶子主板的总线频率就是水流,水流越小灌得就慢,就是说运行的速度就慢。 (2)CPU的前端总线低,主板支持的高,就好像用一个消防栓给一个毛细吸管里边灌水一样,水再大也没有地方装所以慢。 楼上的提到了超频,可能一般人不太明白 简单解释一下:就好像你有一头小毛驴,突然有一天你它跑得慢了,于是找了一根鞭子,打他一下,驴子就跑得飞快了,CPU好比驴子鞭子好比跳线(用来改变CPU的工作模式),实际上是改变了加在CPU针脚上的电压,所以超频后会发热,时间长了就会像驴子一样被“打得遍体鳞伤” 所以在超频的时候一定要把散热工作做足,不然驴子就罢工了。
CPU是由数百万在显微镜下才能看得见的晶体管,经过化学的和照相平板印刷的过程,蚀刻到一块磨光了的只有你拇指甲盖大小的硅片上而形成的。 那些微小的晶体管用来存储表示0、1的电荷,而0、1则构成了计算机所能使用的二进制语言。成组的晶体管连在一起存储数据;它们还对数据进行逻辑的和数学的计算,并且借助于一个石英的晶体钟,像同步的游泳者一样协调一致地发挥作用。简言之,它们能够处理数据。 跟踪指令的处理过程 以下是CPU的工作过程:指令指示器指向内存中存放指令的地方。取指器在那里取出指令,并把它交给解码器。解码器解释指令,并决定为完成该指令需要哪些步骤。(一条指令可以由许多按规定顺序完成的步骤组成。) 然后,ALU执行指令所要求的操作:它对数据进行加、减运算,或者其它的一些处理。在CPU解释并执行完一条指令后,控制器会告诉取指器在内存中取出下一条指令。这个过程一直持续着――一条指令接一条指令,以令人眼花的速度运行――直到最后,产生你在屏幕上所见的结果。一个程序,例如文字处理,就是由一系列的指令和数据构成的。 为了使一切都按时发生,各组成部分还需要一个时钟发生器。时钟发生器是用来调节CPU的每一个动作的。像节拍器一样,它发出调整CPU步伐的脉冲。这些脉冲是以每秒数百万次,或者兆赫兹来计算的,后者,你也许还记得,是CPU原始频率的计量单位。时钟发生器每秒钟发出的脉冲越多,CPU的运行速度就越快。在相同的条件下,700 MHz的CPU比600 MHz的CPU运行得快,但是,对于几个CPU的并行以及其它的形式来说,这些数字的意义并不那么重大