计算机组成原理之计算机的性能指标

news2025/1/16 5:46:48

目录

计算机的性能指标

复习提示

1.计算机的主要性能指标

1.1机器字长

1.1.1与机器字长位数相同的部件

1.2数据通路带宽

1.3主存容量

1.4运算速度

1.4.1提高系统性能的综合措施

1.4.2时钟脉冲信号和时钟周期的相关概念

1.4.3主频和时钟周期的转换计算

1.4.4IPS的相关计算

1.4.5CPU执行时间的相关计算

1.4.6MIPS 相关的计算

1.4.7浮点数运算指标的概念

1.5基准程序

2.几个专业术语

知识回顾

3.本章小结

4.常见问题和易混淆知识点


计算机的性能指标

复习提示

本章是组成原理的概述,考查时易针对有关概念或性能指标出选择题,也可能综合后续章节的内容出有关性能分析的综合题。

掌握本章的基本概念,是学好后续章节的基础。

部分知识点在初学时理解不深刻也无须担忧,相信随着后续章节的学习,一定会有更为深入的理解。

学习本章时,请读者思考以下问题:

  • 1) 计算机由哪几部分组成? 以哪部分为中心?
  • 2) 主频高的 CPU 一定比主频低的 CPU 快吗? 为什么?
  • 3) 翻译程序、汇编程序、编译程序、解释程序有什么差别? 各自的特性是什么?
  • 4) 不同级别的语言编写的程序有什么区别? 哪种语言编写的程序能被硬件直接执行? 

请读者在学习本章的过程中寻找答案,本章末尾会给出参考案。

1.计算机的主要性能指标

1.1机器字长

1.1.1与机器字长位数相同的部件

命题追踪——与机器字长位数相同的部件(2020、2021)】

通常所说的“某 16 位或 32 位机器”,其中的 16、32 指的是机器字长,简称字长

字长是指计算机进行一次整数运算(即定点整数运算)所能处理的二进制数据的位数,通常与 CPU 的寄存器位数、ALU 有关。

因此,字长一般等于通用寄存器的位数或 ALU 的宽度,字长越长,数的表示范围越大,计算精度越高。

计算机字长通常选定为字节(8位)的整数倍。

注 意:机器字长、指令字长和存储字长的关系(见章末的常见问题3)

1.2数据通路带宽

数据通路带宽是指数据总线一次所能并行传送信息的位数

这里所说的数据通路宽度是指外部数据总线的宽度,它与 CPU 内部的数据总线宽度(内部寄存器的大小)有可能不同。

注 意:各个子系统通过数据总线连接形成的数据传送路径称为数据通路

1.3主存容量

主存容量是指主存储器所能存储信息的最大容量,通常以字节来衡量,也可用字数x字长(如512Kx16 位)来表示存储容量。

其中,MAR 的位数反映了存储单元的个数MDR 的位数反映了存储单元的字长

例如,MAR 为16 位,表示 2¹⁶=65536,即此存储体内有 65536 个存储单元(可称为 64K 内存,1K=1024),

若 MDR 为32 位,则表示存储容量为64Kx32 位。

1.4运算速度

1.4.1提高系统性能的综合措施

命题追踪——提高系统性能的综合措施(2010)】

(1) 吞吐量和响应时间

吞吐量。指系统在单位时间内处理请求的数量。

它取决于信息能多快地输入内存,CPU 能多快地取指令,数据能多快地从内存取出或存入,以及所得结果能多快地从内存送给一台外部设备。

几乎每步都关系到主存储器,因此系统吞吐量主要取决于主存储器的存取周期。

响应时间。指从用户向计算机发送一个请求,到系统对该请求做出响应并获得所需结果的等待时间。

通常包括 CPU 时间(运行一个程序所花费的时间)与等待时间(用于磁盘访问、存储器访问、I/O 操作、操作系统开销等的时间)。

(2) 主频和 CPU 时钟周期

1.4.2时钟脉冲信号和时钟周期的相关概念

命题追踪——时钟脉冲信号和时钟周期的相关概念(2019)】

CPU 时钟周期。机器内部主时钟脉冲信号的宽度,它是 CPU 工作的最小时间单位

时钟脉冲信号由机器脉冲源发出的脉冲信号经整形和分频 后形成。

时钟周期以相邻状态单元间组合逻辑电路的最大延迟为基准确定。

时钟周期也以指令流水线的每个流水段的最大延迟时间确定。

1.4.3主频和时钟周期的转换计算

命题追踪——主频和时钟周期的转换计算(2013)】

主频(CPU 时钟频率)。机器内部主时钟的频率,即时钟周期的倒数,它是衡量机器速度的重要参数。

对于同一个型号的计算机,其主频越高,完成指令的一个执行步骤所用的时间越短,执行指令的速度越快。

主频最直观的理解就是每秒有多少个时钟周期

注意:CPU 时钟周期 =1/主频,主频通常以 Hz(赫兹)为单位,10Hz表示每秒 10 次。

(3) CPI(Cycle Per Instruction)。

即执行一条指令所需的时钟周期数。

1.4.4IPS的相关计算

命题追踪——IPS的相关计算(2023)】 

不同指令的时钟周期数可能不同,因此对于一个程序或一台机器来说,

其 CPI 指该程序或该机器指令集中的所有指令执行所需的平均时钟周期数,此时CPI是一个平均值。

  • IPS(Instructions Per Second),即每秒执行多少条指令,IPS= 主频/平均 CPI。

(4) CPU 执行时间

指运行一个程序所花费的时间。

1.4.5CPU执行时间的相关计算

命题追踪——CPU执行时间的相关计算(2012、2013、2014、2017、2022、2023)】

CPU 执行时间 =CPU 时钟周期数/主频=(指令条数×CPI)÷主频

上式表明,CPU 的性能(CPU执行时间)取决于三个要素:主频、CPI 和指令条数

主频、CPI 和指令条数是相互制约的。

例如,更改指令集可以减少程序所含的指令条数,但同时可能引起 CPU 结构的调整,从而可能会增加时钟周期的宽度(降低主频)。

【例 1.1】

假定计算机 M1和 M2具有相同的指令集体系结构,M1的主频为 2GHz,程序P在M1 上的运行时间为 10s。

M2 采用新技术可使主频大幅提升,但平均 CPI 也增加到 M1 的 15 倍。
则 M2 的主频至少提升到多少才能使程序P在 M2 上的运行时间缩短为 6s?


  • 程序P在M1上的时钟周期数 = 指令条数×CPI = CPU执行时间×主频=10s×2GHz=2x10¹⁰ 。
  • M2 的平均 CPI为 M1 的 1.5 倍,因此程序 P 在 M2 上的时钟周期数 =1.5×2×10¹⁰=3x10¹⁰ 。
  • 要使程序 P在 M2 上的运行时间缩短到 6s,则 M2 的主频至少应为
  •                 程序P所含时钟周期数 ÷ CPU 执行时间 =3x10¹⁰ ÷ 6s = 5GHz

由此可见,M2 的主频是 M1的 2.5 倍,但 M2 的速度却只是 M1 的 1.67 倍。

(5)MIPS(Million Instructions Per Second)。

即每秒执行多少百万条指令。

1.4.6MIPS 相关的计算

命题追踪——MIPS 相关的计算(2012、2013)】

MIPS = 指令条数 ÷ (执行时间×10⁶)= 主频 ÷ (CPIx10⁶)。

MIPS 对不同机器进行性能比较是有缺陷的,因为不同机器的指令集不同,指令的功能也就不同。

比如在机器 M1 上某条指令的功能也许在机器 M2 上要用多条指令来完成;

不同机器的 CPI和时钟周期也不同,因而同一条指令在不同机器上所用的时间也不同。

(6) FLOPS(Floating-point Operations Per Second)

即每秒执行多少次浮点运算

1.4.7浮点数运算指标的概念

命题追踪——浮点数运算指标的概念(2011、2021)】

  • MFLOPS (Million FLOPS),即每秒执行多少百万(10⁶)次浮点运算。
  • GFLOPS (Giga FLOPS),即每秒执行多少十亿(10⁹)次浮点运算。
  • TFLOPS (Tera FLOPS),即每秒执行多少万亿(10¹²)次浮点运算。
  • PFLOPS (Peta FLOPS),即每秒执行多少千万亿(10¹⁵)次浮点运算。
  • EFLOPS (Exa FLOPS),即每秒执行多少百京(10¹⁸)次浮点运算(1京 =1亿亿 =10¹⁶)。
  • ZFLOPS (Zetta FLOPS),即每秒执行多少十万京(10²¹)次浮点运算。

注意

  • 在描述存储容量、文件大小等时,K、M、G、T通常用2的幂次表示,如 1Kb=2¹⁰b;
  • 在描述速率、频率等时,k、M、G、T通常用 10 的幂次表示,如 1kb/s=10³b/s。
  • 通常前者用大写的K,后者用小写的k,但其他前缀均为大写,表示的含义取决于所用的场景

1.5基准程序

基准程序 (Benchmarks) 是专门用来进行性能评价的一组程序,能够很好地反映机器在运行实际负载时的性能,

可以通过在不同机器上运行相同的基准程序来比较在不同机器上的运行时间,从而评测其性能。

对于不同的应用场合,应该选择不同的基准程序。

使用基准程序进行计算机性能评测也存在一些缺陷,因为基准程序的性能可能与某一小段的短代码密切相关,而硬件系统设计人员或编译器开发者可能会针对这些代码片段进行特殊的优化,使得执行这段代码的速度非常快,以至于得不到准确的性能评测结果。

2.几个专业术语

1) 系列机。具有基本相同的体系结构,使用相同基本指令系统的多个不同型号的计算机组成的一个产品系列。

2) 兼容。指软件或硬件的通用性,即运行在某个型号的计算机系统中的硬/软件也能应用于另一个型号的计算机系统时,称这两台计算机在硬件或软件上存在兼容性。

3) 固件。将程序固化在ROM 中组成的部件称为固件

固件是一种具有软件特性的硬件,吸收了软件/硬件各自的优点,其执行速度快于软件,灵活性优于硬件,是软/硬件结合的产物。

例如,目前操作系统已实现了部分固化(把软件永恒地存储于ROM 中)。

知识回顾

3.本章小结

本章开头提出的问题的参考答案如下。

1) 计算机由哪几部分组成?以哪部分为中心?

  • 计算机由运算器、控制器、存储器、输入设备及输出设备五大部分构成,现代计算机通常把运算器和控制器集成在一个芯片上,合称中央处理器。
  • 在微处理器面世之前,运算器和控制器分离,而且存储器的容量很小,因此设计成以运算器为中心的结构,其他部件都通过运算器完成信息的传递。
  • 随着微电子技术的发展,同时计算机需要处理、加工的信息量也与日俱增,大量 I/O 设备的速度和 CPU 的速度差距悬殊,因此以运算器为中心的结构不能满足计算机发展的要求。
  • 现代计算机已发展为以存储器为中心,使 I/O 操作尽可能地绕过 CPU,直接在 I/O 设备和存储器之间完成,以提高系统的整体运行效率。

2) 主频高的 CPU 一定比主频低的 CPU 快吗?为什么?

  • 衡量 CPU 运算速度的指标有很多,不能以单独的某个指标来判断 CPU的好坏。
  • CPU 的主频表示 CPU 内数字脉冲信号振荡的速度,主频和实际的运算速度存在一定的关系,但目前还没有一个确定的公式能够定量两者的数值关系,因为 CPU 的运算速度还要看 CPU 的流水线的各方面的性能指标(架构、缓存、指令集、CPU 的位数、Cache 大小等)。
  • 由于主频并不直接代表运算速度,因此在一定情况下很可能会出现主频较高的 CPU 实际运算速度较低的现象。

3) 翻译程序、汇编程序、编译程序、解释程序有什么差别?各自的特性是什么?

见常见问题和易混淆知识点 1。

4) 不同级别的语言编写的程序有什么区别?哪种语言编写的程序能被硬件直接执行?

  • 机器语言和汇编语言与机器指令对应,而高级语言不与指令直接对应,具有较好的可移植性。
  • 其中机器语言编写的程序可以被硬件直接执行。

4.常见问题和易混淆知识点

1.翻译程序、解释程序、汇编程序、编译程序的区别和联系是什么?

翻译程序有两种:

一种是编译程序,它将高级语言源程序一次全部翻译成目标程序,只要源程序不变,就无须重新翻译。

另一种是解释程序,它将源程序的一条语句翻译成对应的机器目标代码,并立即执行,然后翻译下一条源程序语句并执行,直至所有源程序语句全部被翻译并执行完。

所以解释程序的执行过程是翻译一句执行一句,并且不会生成目标程序。

汇编程序也是一种语言翻译程序,它把汇编语言源程序翻译为机器语言程序。

编译程序与汇编程序的区别:若源语言是诸如C、C++、Java 等“高级语言”,而目标语言是诸如汇编语言或机器语言之类的“低级语言",则这样的一个翻译程序称为编译程序。

若源语言是汇编语言,而目标语言是机器语言,则这样的一个翻译程序称为汇编程序。
 

2.什么是透明性?透明是指什么都能看见吗?

在计算机领域中,站在某类用户的角度,若感觉不到某个事物或属性的存在,即“看”不到某个事物或属性,则称为“对该用户而言,某个事物或属性是透明的”。

这与日常生活中的“透明”概念(公开、看得见)正好相反。

例如,对于高级语言程序员来说,浮点数格式、乘法指令等这些指令的格式、数据如何在运算器中运算等都是透明的;

而对于机器语言或汇编语言程序员来说,指令的格式、机器结构、数据格式等则不是透明的。

在 CPU 中,IR、MAR 和 MDR 对各类程序员都是透明的。

3.字、字长、机器字长、指令字长、存储字长的区别和联系是什么?

字长是指 CPU 内部用于整数运算的数据通路的宽度,因此字长等于 CPU 内部用于整数运算的运算器位数和通用寄存器宽度,它反映了计算机处理信息的能力。

字和字长的概念不同。字用来表示被处理信息的单位,用来度量数据类型的宽度,如x86 机器中将一个字定义为 16 位。

指令字长:一个指令字中包含的二进制代码的位数。

存储字长:一个存储单元存储的二进制代码的位数。

它们都必须是字节的整数倍。

指令字长一般取存储字长的整数倍,若指令字长等于存储字长的2倍,则需要2个访存周期来取出一条指令;

若指令字长等于存储字长,则取指令周期等于机器周期。

早期的存储字长一般与指令字长、字长相等,因此访问一次主存储器便可取出一条指令或一个数据。

随着计算机的发展,指令字长、字长都可变,但必须都是字节的整数倍

4.计算机体系结构和计算机组成的区别和联系是什么?

计算机体系结构是指机器语言或汇编语言程序员所看得到的传统机器的属性,包括指令集、数据类型、存储器寻址技术等,大都属于抽象的属性。

计算机组成是指如何实现计算机体系结构所体现的属性,它包含许多对程序员来说透明的硬件细节。

例如,指令系统属于结构的问题,但指令的实现即如何取指令、分析指令、取操作数、如何运算等都属于组成的问题。

因此,当两台机器的指令系统相同时,只能认为它们具有相同的结构,至于这两台机器如何实现其指令,则完全可以不同,即可以认为它们的组成方式是不同的。

例如,一台机器是否具备乘法指令是一个结构的问题,但实现乘法指令采用什么方式则是一个组成的问题。

许多计算机厂商提供一系列体系结构相同的计算机,而它们的组成却有相当大的差别,即使是同一系列的不同型号机器,其性能和价格差异也很大。
 

5.基准程序执行得越快说明机器的性能越好吗?

一般情况下,基准测试程序能够反映机器性能的好坏。但是,由于基准程序中的语句存在频度的差异,因此运行结果并不能完全说明问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1810508.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

图神经网络实战(13)——经典链接预测算法

图神经网络实战(13)——经典链接预测算法 0. 前言1. 链接预测2. 启发式技术2.1 局部启发式技术2.2 全局启发式技术 3. 矩阵分解小结系列链接 0. 前言 链接预测 (Link prediction) 可以帮助我们理解和挖掘图中的关系,并在社交网络、推荐系统等…

javaweb请求响应+@ResponseBody注解

这里用了一款接口测试软件postman 简单参数 SpringBoot方式 简单参数:参数名与形参变量名相同,定义形参即可接收参数。 请求参数名与方法形参变量名相同 会自动进行类型转换 package com.example.springbootwebreqresp.Controller;import org.springframework.w…

Go微服务: 理解分布式锁

概述 我们先看一个场景,到了双11,我们的商户又开始卖商品啦但是,我们的库存是有限的,如果超卖了,可能平台就会涉及相关法律责任了所以,我们的库存扣除问题,一定是一个非常经典的问题 先看上图&…

《Vue》系列文章目录

Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。无论是简单还是复杂的界面,Vue 都可以…

实现3-8译码器①

描述 下表是74HC138译码器的功能表. E3 E2_n E1_n A2 A1 A0 Y0_n Y1_n Y2_n Y3_n Y4_n Y5_n Y6_n Y7_n x 1 x x x x 1 1 1 1 1 1 1 1 x x 1 x x x 1 1 1 1 1 1 1 1 0 x x x x x 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 …

C语言之argc、argv与main函数的传参

一 :谁给main函数传参 (1)调用main函数所在的程序的它的父进程给main函数传参,并且接收main函数的返回值 二 :为什么需要给main函数传参 (1)首先mian函数不传承是可以的,也就是说它的…

01-Linux网络设置

1、查看及测试网络 查看及测试网络配置是管理Linux网络服务的第一步,其中的大多数命令以普通用户的权限就可以完成操作,但普通用户在执行/sbin目录中的命令时需要指定命令文件的决对路径。 1.1 查看网络接口地址 主机的网卡通常称为网络接口&#xff…

轻松驾驭视频节奏:灵活调整视频播放速度,让视频内容更出彩!

视频已经成为了我们生活中不可或缺的一部分。无论是观看电影、电视剧,还是浏览短视频、直播内容,我们都希望能够根据自己的喜好和需求来调整视频的播放速度,甚至精确控制每一秒的播放内容。那么,如何轻松实现这一愿望呢&#xff1…

torchmetrics,一个无敌的 Python 库!

更多Python学习内容:ipengtao.com 大家好,今天为大家分享一个无敌的 Python 库 - torchmetrics。 Github地址:https://github.com/Lightning-AI/torchmetrics 在深度学习和机器学习项目中,模型评估是一个至关重要的环节。为了准确…

Springboot结合redis实现关注推送

关注推送 Feed流的模式 Timeline:不做内容筛选,简单的按照内容发布时间排序。常用于好友与关注。例如朋友圈的时间发布排序。 优点:信息全面,不会有缺失。并且实现也相对简单 缺点:信息噪音较多,用户不一定感兴趣,内容获取效率…

打造精细化运维新玩法(三)

实践SLO,概括下就是在相对标准、统一的框架下指导和推动服务质量的数字化建设,形成对组织有价值的数据资产和流程规范。借用在人工智能和机器学习领域的观点,算法的上限受限于数据质量的好坏,所以从源头上建设高质量的数据非常重要…

【电赛】STM32-PID直流减速电机小车【寻迹+避障+跟随】【更新ing】

一.需求分析 1.主控:STM32C8T6(没什么好说的哈哈) 2.电机:JAG25-370电机 【问】为什么要用直流减速电机?? PID控制器需要依靠精确的反馈信号来调整其输出,确保电机按照预定的速度和位置运行…

独立游戏之路:Tap篇 -- Unity 集成 TapTap 广告详细步骤

Unity 集成 TapADN 广告详细步骤 前言一、TapTap 广告介绍二、集成 TapTap 广告的步骤2.1 进入广告后台2.2 创建广告计划2.3 选择广告类型三、代码集成3.1 下载SDK3.2 工程配置3.3 源码分享四、常见问题4.1 有展现量没有预估收益 /eCPM 波动大?4.2 新建正式媒体找不到预约游戏…

介绍Linux

目录 1.什么是操作系统 2.现实生活中的操作系统 3.操作系统的发展史 4.操作系统的发展 Linux的不同版本以及应用领域 1.Linux内核及发行版介绍 <1>Linux内核版本 <2>Linux发行版本 2.应用领域 个⼈桌⾯领域的应⽤ 服务器领域 嵌⼊式领域 3.文件和目录 …

HDFS 读写数据流程

优质博文&#xff1a;IT-BLOG-CN 一、HDFS 写数据流程 HDFS 文件写入流程图如下&#xff1a;三个模块&#xff08;客户端、NameNode、DataNode&#xff09; 【1】校验&#xff1a; 客户端通过 DistributedFileSystem 模块向 NameNode 请求上传文件&#xff0c;NameNode 会检…

Vue 面试通杀秘籍

理论篇&#xff1a; 1. 说说对 Vue 渐进式框架的理解&#xff08;腾讯医典&#xff09; a) 渐进式的含义&#xff1a; 主张最少, 没有多做职责之外的事 b) Vue 有些方面是不如 React&#xff0c;不如 Angular.但它是渐进的&#xff0c;没有强主张&#xff0c; 你可以在原有…

Java面向对象-Object类的toString方法、equals方法

Java面向对象-Object类的toString方法、equals方法 一、toString二、equals三、总结 一、toString Object的toString方法。 方法的原理&#xff1a; 现在使用toString方法的时候&#xff0c;打印出来的内容不友好。 现在想要知道对象的信息。 出现的问题&#xff1a;子类Stu…

SAP Build 2 PDF数据提取与决策树(未完成)

0. 安装desktop agent 在后续过程中发现要预先安装desktop agent&#xff0c;否则没法运行自动化流程… 0.1 agent下载 参考官方文档说明 https://help.sap.com/docs/build-process-automation/sap-build-process-automation/create-user-in-rbsc-download-repository?loca…

AI办公自动化:用Kimi批量在Excel文件名中加入日期

工作任务&#xff1a;在一个文件夹中所有的Excel文件后面加上一个日期 在Kimi中输入提示词&#xff1a; 你是一个Python编程专家&#xff0c;写一个Python脚本&#xff0c;具体步骤如下&#xff1a; 打开文件夹&#xff1a;F:\AI自媒体内容\AI行业数据分析\投融资 读取里面所…

18.2 HTTP服务器-处理函数、响应404错误

1. 处理函数 处理来自客户端的请求&#xff0c;并回之以特定的响应&#xff0c;这是处理函数的主要任务。在处理函数中&#xff0c;我们通常会完成如下工作&#xff1a; 验证请求路径 http.Request.URL.Pathhttp.NotFound(...) 当请求没有对应的处理函数时&#xff0c;返回4…