• 计算机组成原理(三)


    性能究竟是什么

    什么是性能?

    • 对于计算机的性能,我们需要有个标准来衡量,这个标准中主要有两个指标。
      • 响应时间(Response time)或者叫执行时间(Execution time)。
        • 想要提升响应时间这个性能指标,可以理解为让计算机“跑得更快”。
        • 响应时间指的就是,我们执行一个程序,到底需要花多少时间。
        • 花的时间越少,自然性能就越好。
      • 吞吐率(Throughput)或者带宽(Bandwidth)。
        • 想要提升这个指标,可以理解为让计算机“搬得更多”。
        • 吞吐率是指我们在一定的时间范围内,到底能处理多少事情。
        • 这里的“事情”,在计算机里就是处理的数据或者执行的程序指令。

    计算机的计时单位:CPU 时钟

    • 我们需要对“时间”这个我们可以感知的指标进行拆解,把程序的 CPU 执行时间变成 CPU 时钟周期数(CPU Cycles)和时钟周期时间(Clock Cycle)的乘积。
    • 程序的 CPU 执行时间 = CPU 时钟周期数 × 时钟周期时间。
      • 在 CPU 内部,有一个叫晶体振荡器(Oscillator Crystal)的东西,简称为晶振。
      • 晶振带来的每一次“滴答”,就是时钟周期时间。
      • 比如电脑的主频(Frequency/Clock Rate)为 2.8GHz 的 CPU 上,时钟周期时间就是 1/2.8G。
        • CPU 是按照这个“时钟”提示的时间来进行自己的操作。
        • 主频越高,意味着这个表走得越快,CPU 也就“被逼”着走得越快。
      • 超频说的其实就相当于把买回来的 CPU 内部的钟给调快了,于是 CPU 的计算跟着这个时钟的节奏,也就自然变快了。当然这个快不是没有代价的,CPU 跑得越快,散热的压力也就越大。
      • 最简单的提升性能方案,自然缩短时钟周期时间,也就是提升主频。
      • 如果能够减少程序需要的CPU时钟周期数量,一样能够提升程序性能。
    • 对于 CPU 时钟周期数,我们可以再做一个分解,把它变成“指令数×每条指令的平均时钟周期数(Cycles Per Instruction,简称 CPI)”。
      • 程序的 CPU 执行时间=指令数×CPI×Clock Cycle Time,因此,如果我们想要解决性能问题,其实就是要优化这三者。
      • 时钟周期时间,就是计算机主频,这个取决于计算机硬件。
      • 每条指令的平均时钟周期数 CPI,就是一条指令到底需要多少 CPU Cycle。
        • 现代的 CPU 通过流水线技术(Pipeline),让一条指令需要的 CPU Cycle 尽可能地少。
        • 因此,对于 CPI 的优化,也是计算机组成和体系结构中的重要一环。
      • 指令数,代表执行我们的程序到底需要多少条指令、用哪些指令。
        • 这个很多时候就把挑战交给了编译器。
        • 同样的代码,编译成计算机指令时候,就有各种不同的表示方式。
  • 相关阅读:
    无涯教程-JavaScript - SUMIFS函数
    数字 IC 设计、FPGA 设计秋招笔试题目、答案、解析(6)2022 紫光展锐数字芯片提前批笔试
    算法提升(一)二分法
    c++并发锁的操作
    ch1_系统启动_setup.S
    spring源码解析:元注解功能的实现
    【前端笔记】Ant Design Form组件 resetFields() 与 setFieldsValue() 之比较
    CentOS 7 源码安装 Zabbix 6.0
    高数笔记03:几何、物理应用
    LeetCode 2347. 最好的扑克手牌
  • 原文地址:https://blog.csdn.net/fangzhan666/article/details/125427419