计算机的基本是由什么组成?(下)

电子说

1.3w人已加入

描述

计算机为什么普遍采用二进制?

这是一个很常识性但非常重要的问题,冯.诺依曼计算机也叫存储程序 计算机,其中“存储程序”的概念是 指 将指令以二进制代码的形式事先输入计算机的主存储器 ,然后按其在存储器中的首地址执行程序的第一条指令,以后就按该程序的规定顺序执行其他指令,直至程序执行结束。

我们更熟悉十进制的运算,0、1、2、3、4、5、6、7、8、9十个数字,逢十进一。比如中国人从小背的“九九乘法表”其实就是十进制变种。但是计算机中使用二进制,只有0和1两个数字,逢二进一。

采用二进制的原因:

  1. 二进制在自然界中最容易被表现出来。自然界中二值系统非常多,电压的高低、水位的高低、门的开关、电流的有无等等都可以组成二值系统,都可以用来做计算机。
  2. 计算机依靠电力工作,通过电子原件的电压高低反应,很容易就表现出二进制的特性。从某种意义上说,中国古人的八卦是利用符号的二元形态来表示事物,这一点与二进制颇为相同。

64位和32位CPU的区别

64位、32位指的是CPU寄存器数据宽度,也叫 CPU 的位宽,他们最主要区别在于CPU一次能计算多少字节数据

  • 32位CPU,表明处理器 一次可以计算 4 个字节(Byte),即一次可以计算32位(bit)数据。
  • 64位CPU,表明处理器 一次可以计算 8 个字节(Byte),即一次可以计算64位(bit)数据。

CPU的位数越高也将会使它的寻址范围、最大内存容量、数据传输和处理速度、数值精度等指标成倍增加,也就是CPU的处理能力得到大幅提升

我们都知道, 32位CPU最大支持4G内存 ,这是怎么算出来的?**2^32B = 4GB,2^35b = 4GB,**注意B和b的区别 "CPU中32位"中的"位"并不是 内存中的"位bit"的概念,对应到内存中其实是"字节Byte" 由于32位最大内存寻址能力只能达到是4G左右,我们就算给32位的电脑装8G的内存条,也无法提高其计算能力

计算机性能

接下来介绍一下关于计算机性能相关的基本概念:

储存器的性能指标

储存器的性能指标主要和以下3个方面有关:

  1. 存储容量:存储单元个数 * 储存字长(如1M*8bit)

存储器

其中:

  • MAR位数反映储存单元的个数,即最多能表示多少个不同的状态

n个2进制位能表示 2^n个状态, 2^10=1 K,2^20=1 M,2^30=1 G,2^40=1 T

  • MDR位数=储存字长=每个储存单元的大小
  1. 单位成本:每位价格=总成本/总容量。
  2. 存储速度:数据传输率=数据的宽度/存储周期

另外还有3个概念,再了解一下:

  • **存取时间 **又称存储器访问时间,是指从启动一次存储器操作到完成该操作所经历的时间。
  • **存储周期 **又称为读写周期或访问周期。它是指存储器进行一次完整的读写操作所需的全部时间,即连续两次独立地访问存储器操作(读或写操作)之间所需的最小时间间隔。
  • **存储器带宽 **是单位时间里存储器所存取得信息量。

CPU的性能指标

当我们去京东淘宝上去买,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个指标

  1. 数据通路带宽

数据总线一次所能并行传送信息的位数(各硬件部件通过数据总线传输数据)

  1. 吞吐量 指系统在单位时间内处理请求的数量。它取决于信息能多快地输入内存,CPU能多快地取指令,数据能多快地从内存取出或 存入,以及所得结果能多快地从内存送给一台外部设备。这些步骤中的每一步都关系 到主存,因此,系统吞吐量主要取决于主存的存取周期。
  2. 响应时间 指从用户向计算机发送一个请求,到系统对该请求做出响应并获得它所需 要的结果的等待时间。通常包括CPU时间(运行一个程序所花费的时间)与等待时间(用于磁盘访问、存储 器访问、I/O操作、操作系统开销等时间)

跑分软件,像鲁大师等,就是把多个预设好的程序(基准程序)在计算机上运行,然后根据运行需要 的时间,算出一个分数来评估计算机的性能,以便和其他计算机进行比较。

计算机功耗

通过上文CPU 执行时间 = 指令数*CPI * CPU时钟周期,我们知道程序的 CPU 的性能 受到 指令数、CPI 以及 CPU 主频 的影响, 指令数或者 CPI 工程师,由于影响条件复杂,没法直接干预,或者可能反向干预。主要手段是提高CPU的主频, CPU 变得更快,程序的执行时间自然就会缩短 ,

主频越高越好

答案是否定的 由本文一开始,我们知道现在的计算机里的CPU,都是超大规模集成电路,实际上都是一个个晶体管组合而成的。通过电路的开关的"打开"和"关闭",来实现计算和储存的能力。

要想计算得更快,从硬件角度来说,就是单位体积多放一些晶体管。从软件角度,手动将CPU的主频提升。

但这2种手段,会增加CPU的耗电和散热,即功耗增加。虽然可以通过降低电压来缓解功耗的问题,但是一味地提升主频,提升的性能效果日益衰弱。后面为了提升性能,不再依赖堆硬件方面,计算机采用了从单核CPU到多核CPU,将CPU执行任务流水线化,高并发多线程等等更多的手段


参考资料:

深入理解计算机系统

计算机组成原理

计算机组成原理(第2版)-唐朔飞

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分