cpu的运算
cpu的运算
学习啦在线学习网 CPU的位宽对CPU性能的影响绝不亚于主频。位宽是指微处理器一次执行指令的数据带宽。处理器的寻址位宽增长很快,业界已使用过4、8、16位寻址再到目前主流的32位,而64位寻址浮点运算已经逐步成为CPU的主流产品。下面是学习啦小编带来的关于cpu每秒做多少次运算的内容,欢迎阅读!
cpu的运算:
比如 计算 加减乘除,开方等等,为何CPU能以非常快的速度算出答案? 而CPU的速度有极限吗?限制是甚麽?哪里有那么多要知道的,其实计算机的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针脚上的电压,所以超频后会发热,时间长了就会像驴子一样被“打得遍体鳞伤”所以在超频的时候一定要把散热工作做足,不然驴子就罢工了。
相关64位处理器的优势推荐:
32位CPU一次只能处理32位,也就是4个字节的数据;而64位CPU一次就能处理64位即8个字节的数据。如果我们将总长128位的指令分别按照16位、32位、64位为单位进行编辑的话:旧的16位CPU(如Intel 80286 CPU)需要8个指令,32位的CPU需要4个指令,而64位CPU则只要两个指令。显然,在工作频率相同的情况下,64位CPU的处理速度比16位、32位的更快.可以比较一下图中的32位与64位CPU,64位的代码流的数量没有改变,其宽度随着指令代码的宽度而变化;而数据流的宽度则增加了一倍。虽然理论上在一个时钟周期内64位系统处理的数据量是32位系统的两倍,但理论和现实通常都是有差距的。
要注意的是,CPU不只需要位宽够宽的寄存器,也需要足够数量的寄存器,以确保大量数据处理。因此为了容纳更多的数据,寄存器和内部数据通道也必须加倍,因此在64位CPU中的寄存器位数一般是32位CPU中的两倍。不过,虽然寄存器位数增加了,但正在执行指令的指令寄存器却都是一样的,即数据流加倍而指令流不变。此外,增加数据位数还可以扩大动态范围。在通常使用的十进制中,只能得到最多10个整数(一位数情况下),这是因为0~9中只有10个不同的符号来表示相应的意思,想要表示10以上的数就需要增加一位数,两位数(00-99)才可以表示100个数。可以得出十进制的动态范围的计算公式:DR=10n (n表示数字位数)。在二进制体系中,相应的我们可以得到公式:DR=2n,那么目前使用的32位就可以达到232=4.3×109,升级到64位之后,就可以达到264=1.8×1019。动态范围扩大了43亿倍。提示:扩大动态范围可以在一定程度上提高寄存器中数据的准确性。比如,当使用32位系统处理气象模拟运算任务时,当处理的数据超过32位所能提供的最大动态范围时,系统就会出现诸如Overflow(超过了最大正整数)或Underflow(低于最小的负整数)的错误提示,这样寄存器中的数据就无法保证准确。
除了运算能力之外,与32位CPU相比,64位CPU的优势还体现在系统对内存的控制上。由于地址使用的是特殊的整数,而64位CPU的一个ALU(算术逻辑运算器)和寄存器可以处理更大的整数,也就是更大的地址。传统32位CPU的寻址空间最大为4GB,使得很多需要大容量内存的大规模的数据处理程序在这时都会显得捉襟见肘,形成了运行效率的瓶颈。而64位的处理器在理论上则可以达到1800万个TB(1TB=1024GB),将能够彻底解决32位计算系统所遇到的瓶颈现象。