计算机组成原理–浅谈计算机性能

计算机组成原理–浅谈计算机性能本篇文章属于计算机组成原理的开篇之作,主讲影响计算机性能的因素与提升的计算机性能的路径。

大家好,又见面了,我是你们的朋友全栈君。

计算机组成原理|浅谈计算机性能

本篇文章属于计算机组成原理的开篇之作,主讲影响计算机性能的因素与提升的计算机性能的路径。
关键词: 性能,CPU,响应时间,主频,功耗,电压,并行…

前言

目前所有的文章思想格式都是:知识+情感。
知识:对于所有的知识点的描述。力求不含任何的自我感情色彩。
情感:用我自己的方式,解读知识点。力求通俗易懂,完美透析知识。

正文

计算机性能的衡量标准

衡量计算机性能的标准有两个,分别是响应时间(Response time)吞吐率(Throughput)
1.响应时间,也称为执行时间(Execution time)。表示的是,计算机执行一段程序的总时间。
2.吞吐率,也称为带宽(Bandwidth)。表示的是,计算机执行一段程序每一次执行的量。
注意:存在一个响应时间与吞吐率的关系,即响应时间=吞吐率x执行次数。

响应时间

首先,得知可以提高响应时间进而提高计算机性能。然而,在计算机中,影响响应时间的主要因素是CPU的性能。

一般性能测试

性能,可以看成是响应时间的倒数,即
** 性能 = 1/响应时间**
此时,只要保证响应时间越短,性能的数值就越好。

问题:响应时间怎么来,是现实生活中的时间吗?
回答: 当然不是!
第一种情况,CPU不可能做到只运行一个程序,首先是不是需要支持操作系统在运行,才可以进而运行测试程序。在真实的环境中,CPU会在不同的进程中切换,运行程序,单位是GHz,人是感觉不到的。
第二种情况,CPU会处于满载运行与降频运行两种模式,对应的运行结果当然是不一样的!并且,你需要想一下,硬件的当前状态无时无刻都在变化,没法保证一致。

了解内容:在实际生活中,评价一个计算机性能的第三方机构叫SPEC(Standard Performance Evaluation Corporation),主要是提供的 CPU 基准测试程序,通过数十个不同的计算程序,对于 CPU 的性能给出一个最终评分。

CPU性能测试

在了解了一般的性能测试之后,针对CPU,我们可以得到新的性能测试方法,引入CPU时钟周期,即
性能 = 1/(CPU时钟周期数 x CPU时钟周期)

在上式中,CPU的时钟周期,就是我们CPU 的主频(Frequency/Clock Rate)。我的主机是2.81GHz,表示1秒的时间内,可以执行的简单指令的数量是 2.8G 条。

所以,可以引入指令,得到新的性能公式:
性能 = 1/(指令数x每条指令的平均周期数 x CPU时钟周期)

即,可以优化性能就有了三个方面:
1.指令数,通过编译器将指定数减少,属于指令设计层面。
2.每条指定数的平均周期数,也叫作PCI(Cycles Per Instruction),通过提高CPU技术实现减少平均周期数,属于CPU设计层面。
3.CPU时钟周期,通过提升CPU的主频,获得更小的CPU时钟周期,属于电路硬件层面。

了解内容:这里会涉及晶振的概念,玩过单片机的都知道有个晶振的东西,CPU内部有个类似的东西。
在打游戏,或者图像渲染的时候,会有一个超频的概念,就是将计算机的实际主频调快,这是可以认为调整的,只不过会出现散热问题而已。

CPU主频优化

通过上面,了解到可以通过提高CPU的主频,进而获得更高的性能。

先了解一下CPU的构成。CPU,一般都被叫作超大规模集成电路(Very-Large-Scale Integration,VLSI)。其内部,包含亿级别的晶体管,让晶体管里面的“开关”不断地去“打开”和“关闭”,来组合完成各种运算和功能。

一个 CPU 的功率,可以用这样一个公式来表示:
功耗 ~= 1/2 ×负载电容×电压的平方×开关频率×晶体管数量

从上式,可以看出电压与功耗是平方的关系,晶体管数量与功耗成线性关系。运用我们聪明的1+1=2的大脑,肯定是保证功耗不大的情况下,优先降低电压,其次增加晶体管的数量。

注意: CPU功率可不能搞的很大,笔记本可不是插电源的,需要携带,一个小时电就用完了,这是不理想的,当然一个月不充电也是幻想状态~
CPU的电压可不能随便小,理论上是只要保证有电压就可以,但实际是电压太小了,晶体管的打开与关闭就不工作….
CPU内部的晶体管的数量,也不能无限多,受限于CPU的体积,CPU工作会散热的,太多了不适合散热,会使得CPU罢工~

了解内容:相同的体积增加晶体管的数量,那就必须将晶体管做小,这就是提升制程
在自己组装台式机的时候,CPU还是当然是盒装好,但是散片其实也还行,毕竟目前CPU的工艺,可不是假货能模仿的,给钱都做不出来….

吞吐率

当看了响应时间的优化之后,再看吞吐率优化,直接是简单的很,一句话概括吞吐率核心思想:人多力量大

借助于并行的思想,实现多核CPU工作,实现性能优化,毕竟响应时间的优化已经步履艰难了。

并行基于一个经验定律,即阿姆达尔定律(Amdahl’s Law)。
优化后的执行时间 = 受优化影响的执行时间 / 加速倍数 + 不受影响的执行时间

基于上式,想要提升性能,就是获得更小的 优化后的执行时间,只能从增加加速倍数出发。

注意: 受优化影响的执行时间表示的是可以并行执行的时间,加速倍数正是并行的CPU核心数。

虽然可以使用并行思想,提升计算机性能,但是并行依然受限制与于 不受影响的执行时间,这一段时间依然是串行的执行。并且会有一个极限值,无论提高多少加速倍数,时间变化不大。

总结

本文,讲述计算机性能的提升,提出了基于响应时间的性能优化,基于吞吐率的性能优化。
基于响应时间的优化,可以提升CPU的主频,降低CPU的电压,提高晶体管的数量,但是受限制于CPU的散热与功耗。
基于吞吐率的优化,可以进行并行,但是依然受限制于不能并行的部分。
还可以基于大概率事件选择GPU运算,代替CPU;使用CPU的流水线技术;使用预测提高性能。

了解内容:计算机显卡内部就是GPU。

CPU的预测,会对CPU内部一、二级缓存变量调用产生影响。

结束语

最近在深入挖掘计算机的底层知识,不仅仅是学习知识,对于计算机这个世界也有了新的认识,状态很好!感觉自己收获很多!
希望自己可以一直挖下去~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/155675.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Win10禁止更新小插件Privatezilla Version 0.50.5[通俗易懂]

    Win10禁止更新小插件Privatezilla Version 0.50.5[通俗易懂]Win10禁止更新小插件PrivatezillaVersion0.50.5禁用功能:Win10隐私、微软小娜、Bloatware、软件权限、Win更新等下载地址:https://l13144.lanzoui.com/iMdzkt5dr0j

  • 一鱼三吃,微信云同步拟收费的醉翁之意「建议收藏」

    一鱼三吃,微信云同步拟收费的醉翁之意「建议收藏」文|熔财经作者|宋文远你能因追综艺接受开通腾讯视频年卡会员,也会为了听高码率音乐成为网易云黑胶会员,但你能接受为了能云备份微信聊天记录,每年少吃十几斤的猪肉吗?据知情人透露,微信聊天记录将为付费用户提供云存储服务,安卓端每年130元,iOS端每年180元。作为国民级社交应用,微信的一举一动都备受关注。最近,聊天纪录云同步拟收费的消息一石激起千层浪,但与往常教张小龙如何做微信不同的是,忍无可忍的网友们不禁发出灵魂质问:“聊天记录备个份也要收钱,还能这样玩的吗?”动则十GB,多则上百..

  • 大数据建模五步法「建议收藏」

    大数据建模五步法「建议收藏」from:https://www.sohu.com/a/198093510_783844前一阵子,某网络公司发起了一个什么建模大赛,有个学员问我,数据建模怎么搞?为了满足他的好学精神,我决定写这一篇文章,来描述一下数据分析必须要掌握的技能:数据建模。本文将尝试来梳理一下数据建模的步骤,以及每一步需要做的工作。01第一步:选择模型或自定义模式这是建模的第一步,我们需要基于…

  • MSM8953配置I2C及SPI

    MSM8953配置I2C及SPI此次完成的任务是要使能高通8953平台的i2c和spi,主要做的工作就是在设备树文件中添加节点信息。主要的工作在于对设备树文件的修改,主要修改了msm8953-pinctrl.dtsi和msm8953.dtsi两个文件。msm8953-pinctrl.dtsi是配置MSM8953芯片中的GPIO。在此文件中定义i2c使用哪个gpio。因为引脚复用功能的存在,所以要先配置i2c的引脚复用功能…

    2022年10月18日
  • eclipse配置SVN和Maven插件

    eclipse配置SVN和Maven插件

  • stimulsoft oracle,报表仪表设计器Stimulsoft的处理数据功能

    stimulsoft oracle,报表仪表设计器Stimulsoft的处理数据功能StimulsoftReports.Net是一个基于.NET框架的报表生成器,能够帮助你创建结构、功能丰富的报表。StimulReport.Net的报表设计器不仅界面友好,而且使用便捷,能够让你轻松创建所有报表;该报表设计器在报表设计过程中以及报表运行的过程中都可以使用。在运行时使用StimulReport.Net的报表设计器不需要支付任何的专利费用。所创建的报表既可以在Windows窗体应用…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号