计组

您所在的位置:网站首页 mips衡量计算机性能的指标 计组

计组

2024-01-22 21:54| 来源: 网络整理| 查看: 265

计组_计算机性能指标总结 0.综述1.响应时间和吞吐量2.主频和CPU周期以及CPU时钟周期3.衡量计算机运算速度的指标4.参考

0.综述

在计算机组成原理乃至体系结构中,“性能”都是最重要的一个主题。学习和研究计算机组成原理,就是在理解计算机是怎么运作的,以及为什么要这么运作,而为什么要这么运作,很大程度上就是在提升计算机的运行性能。

计算机的性能指标主要包括以下几个:

1.响应时间2.吞吐量3.主频CPU周期CPU时钟周期CPI、MIPS、FLOPS(衡量计算机运算速度的指标) 1.响应时间和吞吐量

对于衡量计算机的性能,我们需要有个标准,这个标准中主要有两个指标。

第一个是响应时间,响应时间是指从提交作业到该作业得到CPU响应所经历的时间。提升响应时间这个性能指标可以理解为让计算机“跑得更快”。 第二个是吞吐率或者带宽,吞吐量指信息流入、处理以及流出系统的速率。提升这个指标可以理解为让计算机“运得更多”。

所以说响应时间指的就是执行一个程序,到底需要花多少时间。花的时间越少,自然性能就越好。而吞吐率是指在一定的时间范围内,到底能处理多少事情。这里的“事情”,在计算机里就是处理的数据或者执行的程序指令。

2.主频和CPU周期以及CPU时钟周期

虽然时间是一个很自然的用来衡量性能的指标,但是用时间来衡量会有两个问题。

第一个就是时间不“准”。

自己随便写一个程序然后测试它的运行时间,每一次的结果不会完全一样,有可能这一次花了20ms,下一次变成了30ms,为什么会不一样呢?这里面有好几个原因。首先计算机可能同时运行着好多个程序,CPU实际上不停地在各个程序之间进行切换。在这些走掉的时间里面,很可能CPU切换去运行别的程序了。而且,有些程序在运行的时候,可能要从网络、硬盘去读取数据,要等网络和硬盘把数据读出来,给到内存和CPU。所以说,要想准确统计某个程序运行时间,进而去比较两个程序的实际性能得把这些额外的时间给去掉。

在同一台计算机上,CPU既可能满载运行也可能降频运行,降频运行的时候自然花的时间会多一些。除了CPU之外,时间这个性能指标还会受到主板、内存这些其他相关硬件的影响。所以,我们需要对“时间”这个我们可以感知的指标进行拆解,把程序的CPU执行时间变成 CPU时钟周期数和时钟周期时间的乘积。 程 序 的 C P U 执 行 时 间 = C P U 时 钟 周 期 数 × 时 钟 周 期 时 间 程序的CPU执行时间=CPU时钟周期数×时钟周期时间 程序的CPU执行时间=CPU时钟周期数×时钟周期时间

最简单的提升性能方案就是缩短CPU的时钟周期时间,也就是提升主频。

主频是机器内部主时钟的频率,其常用单位为Hz、MHz等。例如主频为8MHz的机器,每秒有8M个时钟周期,CPU时钟周期是主频的倒数,则它的时钟周期为 1 / 8 × 1 0 − 6 s = 0.125 μ s 1/8\times10^{-6}s=0.125\mu s 1/8×10−6s=0.125μs CPU周期又称机器周期,通常用从内存中读取一条指令字的最短时间来定义,一个指令周期由若干个CPU周期构成。

换句话说,就是换一块好一点的CPU。不过,这个是软件工程师控制不了的事情,所以我们自然想到了上面乘法式子里的另一个因子——CPU时钟周期数上。如果能够减少程序需要的CPU时钟周期数量,一样能够提升程序性能。

对于CPU时钟周期数,我们可以再做一个分解,把它变成: 指 令 数 × 每 条 指 令 的 平 均 时 钟 周 期 数 ( C y c l e s P e r I n s t r u c t i o n , 简 称 C P I ) 指令数×每条指令的平均时钟周期数(Cycles Per Instruction,简称CPI) 指令数×每条指令的平均时钟周期数(CyclesPerInstruction,简称CPI) 不同的指令需要的周期数是不同的,加法和乘法都对应着一条CPU指令,但是乘法需要的CPU时钟周期数就比加法要多,自然也就慢。在这样拆分了之后,我们的程序的CPU执行时间就可以变成这样三个部分的乘积: 程 序 的 C P U 执 行 时 间 = 指 令 数 × C P I × 时 钟 周 期 时 间 程序的CPU执行时间=指令数×CPI×时钟周期时间 程序的CPU执行时间=指令数×CPI×时钟周期时间 因此,如果我们想要解决性能问题,其实就是要优化以下这三点:

1.时钟周期时间,就是计算机主频,这个取决于计算机硬件。2.每条指令的平均时钟周期数CPI,就是一条指令到底需要多少CPU Cycle。现代的CPU通过流水线技术(Pipeline),可以让一条指令需要的CPU Cycle尽可能地少。因此,对于CPI的优化,也是计算机组成和体系结构中的重要一环。3.指令数,代表执行我们的程序到底需要多少条指令、用哪些指令。这个很多时候就把挑战交给了编译器。同样的代码,编译成计算机指令时候,就有各种不同的表示方式。

我们可以把自己想象成一个CPU,坐在那里写程序。计算机主频就好像是你的打字速度,打字越快,你自然可以多写一点程序。CPI相当于你在写程序的时候,熟悉各种快捷键,越是打同样的内容,需要敲击键盘的次数就越少。指令数相当于你的程序设计得够合理,同样的程序要写的代码行数就少。如果三者皆能实现,你自然可以很快地写出一个优秀的程序,你的“性能”从外面来看就是好的。

3.衡量计算机运算速度的指标

以下是几个衡量计算机运算速度的指标:

CPI Clok (Cyele Per Ituction):执行条指令所需要的时钟周期数。MIPS (Millin Istutitins Per ScondD):每秒可执行百万条指令数,如某机器每秒可以执行800万条指令,则记作8MIPS。FLOPS (Floating-point Operations Per Second):每秒执行的浮点运算次数。MFLOPS (Million Floating point Operations Per Second):每秒百万次浮点运算,与MIPS类似。GFLOPS (Giga Floating point Operations Per Second):每秒十亿次浮点运算。TFLOPS (Tera Floating-point Operations Per Second):每秒万亿次浮点运算。PFLOPS ( Peta Floating-point Operations Per Second):每秒千万亿次浮点运算。IPC (Instructions Per Clock Cycle): CPU的每- 个时钟周期内所执行的指令数。 4.参考

Refer to: 周伟:2020版计算机组成原理高分笔记 徐文浩:深入浅出计算机组成原理



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3