电子说
这是一个很常识性但非常重要的问题,冯.诺依曼计算机
也叫存储程序 计算机
,其中“存储程序”的概念是 指 将指令以二进制代码的形式事先输入计算机的主存储器 ,然后按其在存储器中的首地址执行程序的第一条指令,以后就按该程序的规定顺序执行其他指令,直至程序执行结束。
我们更熟悉十进制的运算,0、1、2、3、4、5、6、7、8、9十个数字,逢十进一。比如中国人从小背的“九九乘法表”其实就是十进制变种。但是计算机中使用二进制,只有0和1两个数字,逢二进一。
采用二进制的原因:
64位、32位指的是CPU寄存器
的数据宽度
,也叫 CPU 的位宽
,他们最主要区别在于CPU一次能计算多少字节数据
CPU的位数越高也将会使它的寻址范围、最大内存容量、数据传输和处理速度、数值精度等指标成倍增加,也就是CPU的处理能力得到大幅提升
我们都知道, 32位CPU最大支持4G内存 ,这是怎么算出来的?**2^32B = 4GB,2^35b = 4GB,**注意B和b的区别 "CPU中32位"中的"位"并不是 内存中的"位bit"的概念,对应到内存中其实是"字节Byte" 由于32位最大内存寻址能力只能达到是4G左右,我们就算给32位的电脑装8G的内存条,也无法提高其计算能力
接下来介绍一下关于计算机性能相关的基本概念:
储存器的性能指标主要和以下3个方面有关:
其中:
n个2进制位能表示 2^n个状态, 2^10=1 K,2^20=1 M,2^30=1 G,2^40=1 T
另外还有3个概念,再了解一下:
当我们去京东淘宝上去买,CPU的时候,商家一般会写下面的信息:
12代 酷睿 i7-12700KF 处理器 12核20线程 单核睿频至高可达5.0Ghz 25M三级缓存 台式机CPU
其中除了一下CPU的型号,5.0Ghz是表示CPU性能的一个重要的指标
CPU主频: CPU内核的时钟频率,表示在 CPU内数字脉冲信号震荡的频率 ,常用单位为Hz。平时我们打游戏常说的超频,超的就是这个CPU主频。 CPU时钟周期 :通常为节拍脉冲或T周期,即主频的倒数
,它是CPU中基本时间单位。执行一条指令的耗时 = CPI * CPU时钟周期, 其中CPI表示 执行一条指令所需的时钟周期数
一段程序的耗时 =指令数*CPI * CPU时钟周期, 如果我们想要提升CPU性能问题,其实就是要优化这三者。
计算机系统的性能主要受是下面3个指标
数据总线一次所能并行传送信息的位数(各硬件部件通过数据总线传输数据)
跑分软件,像鲁大师等,就是把多个预设好的程序(基准程序)在计算机上运行,然后根据运行需要 的时间,算出一个分数来评估计算机的性能,以便和其他计算机进行比较。
通过上文CPU 执行时间 = 指令数*CPI * CPU时钟周期
,我们知道程序的 CPU 的性能 受到 指令数、CPI 以及 CPU 主频 的影响, 指令数或者 CPI 工程师,由于影响条件复杂,没法直接干预,或者可能反向干预。主要手段是提高CPU的主频, CPU 变得更快,程序的执行时间自然就会缩短 ,
主频越高越好 ?
答案是否定的 由本文一开始,我们知道现在的计算机里的CPU,都是超大规模集成电路,实际上都是一个个晶体管组合而成的。通过电路的开关的"打开"和"关闭",来实现计算和储存的能力。
要想计算得更快,从硬件角度来说,就是单位体积多放一些晶体管。从软件角度,手动将CPU的主频提升。
但这2种手段,会增加CPU的耗电和散热,即功耗增加。虽然可以通过降低电压来缓解功耗的问题,但是一味地提升主频,提升的性能效果日益衰弱。后面为了提升性能,不再依赖堆硬件方面,计算机采用了从单核CPU到多核CPU,将CPU执行任务流水线化,高并发多线程等等更多的手段
参考资料:
深入理解计算机系统
计算机组成原理
计算机组成原理(第2版)-唐朔飞
全部0条评论
快来发表一下你的评论吧 !