计算机系统性能评价

举报
ruochen 发表于 2021/03/26 22:30:56 2021/03/26
【摘要】 计算机系统性能评价<1> 非时间指标1)机器字长:指机器一次能处理的二进制位数2)总线宽度:数据总线一次能并行传送的最大信息位数3)主存容量与存储带宽 <2> 时间指标1)主频f/时钟周期T,外频、倍频2)CPI(Clock cycles Per Instruction)3)MIPS (Million Instructions Per Second)4)CP...

计算机系统性能评价

<1> 非时间指标

1)机器字长:指机器一次能处理的二进制位数

  • 由加法器、寄存器的位数决定
  • 一般与内部寄存器的位数相等(字长)
  • 字长越长,表示的数据的范围就越大,精确度越高
  • 目前常见的有32位和64位字长

2)总线宽度:数据总线一次能并行传送的最大信息位数

  • 一般指运算器与存储器之间的数据总线位数
  • 有些计算机内部与外部数据总线宽度不一致
  • 8086、80286、80386内部数据总线等宽
  • 8088、80386SX 外部总线宽度8位,内部总线宽度16位
  • Pentium外总线64位,内总线32位(两条32位流水线)

3)主存容量与存储带宽

  • 主存容量:是指一台计算机主存所包含的存储单元总数
  • 存储带宽:指单位时间内与主存交换的二进制信息量,常用单位B/s(字节/秒)。(影响存储带宽的指标包括数据位宽和数据传输速率)

<2> 时间指标

1)主频f/时钟周期T,外频、倍频

  • 主频f
    • 指CPU内核工作的时钟频率,即CPU内数字脉冲信号振速率,与CPU实际的运算能力之间不是唯一的、直接关系
  • 时钟周期
    • 也称节拍周期,是计算机中最基本的、最小的时间单位。在一个时钟周期内,CPU仅完成一个最基本的动作
  • f与T的关系
    • 互为倒数,f越高,T就越小(f = 100MHz时 T = 10ns,f = 1GHz时T = 1ns)
  • 外频
    • 指CPU(内存)与主板之间同步的时钟频率
  • 倍频
    • CPU主频与外频之间的倍数

主频 = 外频 × 倍频
如:Pentium 4 2.4G CPU主频
2400M = 133M(外频) × 18(倍频)

2)CPI(Clock cycles Per Instruction)

  • 执行一条指令(平均)需要的时钟周期数(即T周期个数)
  • 单条指令CPI、一段程序中所有指令的CPI、指令系统CPI等

CPI = 程序中所有指令的时钟周期数之和 / 程序中指令总数
       = ∑ \sum (程序中各类指令的CPI × 程序中该类指令的比例)

CPI应用举例
例 某计算机指令系统中各类指令所占比例及CPI 如下表所示,求程序的CPI

指令类型 CPI 指令比例
算术和逻辑 1 60%
Load/Store 2 18%
转移 4 12%
Cache缺失访存 8 10%

解: CPI = 1*60% + 2*18% + 4*12% + 8*10% = 2.24

  • IPC(Instruction per Clock)
    • 每个时钟周期内执行的指令条数(并行)

3)MIPS (Million Instructions Per Second)

  • 每秒钟CPU能执行的指令总条数(单位:百万条/秒)

    MIPS = 指令条数 / (执行时间 × 106)
             = 指令条数 / ((所有指令CPU时钟周期之和 / f) × 106)
             = f / (CPI × 106)          (全性能公式)

MIPS 应用举例
例 某计算机主频为1GHz,在其上运行的目标代码包含2×105条指令,分4类,各类指令所占比例和各自CPI如下表所示,求程序的MIPS

指令类型 CPI 指令混合比例
算术和逻辑 1 60%
Load/Store 2 18%
转移 4 12%
Cache缺失访存 8 10%

解: 根据CPU全性能公式: MIPS = f / (CPI × 106)
CPI = 1*60% + 2*18% + 4*12% + 8*10% = 2.24
MIPS = f / (CPI × 106) = 1* 109 / (2.24)*106 = 446.4

4)CPU时间

  • 执行一段程序所需的时间
    • (CPU时间 + I/O时间 + 存储访问时间 + 各类排队延时等

CPU时间 = 程序中所有指令的时钟周期数之和 × T
               = 程序中所有指令的时钟周期数之和 / f

CPU时间的计算方法

  • 考虑CPI后的CPU时间:
      CPU时间 = 总指令数 × ∑ i = 1 n \sum_{i=1}^n i=1n(CPIi × ICi / 总指令数) × 时钟周期时间
                     = 总指令数 × CPI × T
  • 考虑MIPS后的CPU时间:
      MIPS = 指令数量 / (执行指令的时间 × 106)
      程序执行的时间 t = 指令数量 / (MIPS × 106)

CPU时间应用举例
例 某计算机主频为1GHz,在其上运行的目标代码包含2×105条指令,分4类,各类指令所占比例和各自CPI如下表所示,求该段程序的CPU时间

指令类型 CPI 指令混合比例
算术和逻辑 1 60%
Load/Store 2 18%
转移 4 12%
Cache缺失访存 8 10%

解: 方法1: 利用CPI
                      CPU时间 = 2 × 105 × CPI / f
                                      = (2 × 105 × 2.24 / 109) = 4.48 × 10-4(秒)

解: 方法2: 利用MIPS
                      CPU时间 = 指令数量 / (MIPS × 106) = 2 × 105 / ((103 / 2.24) × 106) = 4.48 × 10-4(秒)

<3> 时间指标的应用思考

  • 如何合理利用时间指标评测计算机性能

    • f、CPI、MIPS、CPU时间在评价计算机性能方面的特点和不足?
    • 如何科学合理测试计算机系统的综合性能?有哪些常用测试工具?测试结果能否真实反应计算机的实际性能?
  • 计算机性能指标是确定的吗?
    如何合理利用时间指标评测计算机性能

    • f、CPI、MIPS、CPU时间在评价计算机性能方面的特点和不足?
    • 如何科学合理测试计算机系统的综合性能?有哪些常用测试工具?测试结果能否真实反应计算机的实际性能?
  • 计算机性能指标是确定的吗?

文章来源: ruochen.blog.csdn.net,作者:若尘,版权归原作者所有,如需转载,请联系作者。

原文链接:ruochen.blog.csdn.net/article/details/104488125

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。