IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> CPU 性能基础 -> 正文阅读

[嵌入式]CPU 性能基础

CPU(Central Processing Unit),即中央处理器。
CPU的性能大致上反映出了它所配置的那部微机的性能,因此CPU的性能十分重要。
本篇了解一些CPU性能基础知识

在这里插入图片描述


性能的定义

简单理解所谓性能好坏,就是对比2个计算机同时运行一个程序,哪个快,我能就说哪个性能就好。

在这里插入图片描述

性能的两个重要指标:响应时间和吞吐率

响应时间:也叫执行时间,是计算机完成某任务所需的总时间,包括硬盘访问、内存访问、I/O活动、操作系统开销和CPU执行时间等。

吞吐率:也叫带宽,性能的另一种度量参数,表示单位时间内完成任务的数量

性能的度量

如果用时间来度量计算机的性能,那么完成同样的计算任务,需要时间最少的计算机是最快的。对时间最直接的定义时墙上时钟时间,也叫“响应时间”。

多用户经常共享同一计算机,一个处理器需要同时运行多个程序,在这种情况下,系统更侧重优化吞吐率,而不是最小化一个程序的响应时间。因此我们往往要把运行我们自己任务的时间与一般响应时间区分开。可以使用CPU执行时间简称CPU时间,他只表示在CPU上花费的时间,而不包括等待I/O或者其他程序运行的时间。CPU时间还可以进一步分为用户CPU时间系统CPU时间

CPU执行时间:执行某一任务在CPU上所花费的时间
用户CPU时间:在程序本身所花费的CPU时间
系统CPU时间:为执行任务而花费在操作系统的时间

几乎所有计算机都用时钟来驱动硬件中发生的各种事件。时钟间隔的时间称为时钟周期。它的倒数就是时钟频率。例如,时钟周期为250ps(ps=皮秒 1x1012秒),对应的时钟频率为4GHz。

CPU上标注的GHZ 就是所谓的时钟频率在这里插入图片描述

时钟周期:为计算机一个时钟周期的时间,通常是处理器时钟,一般为常数。也称为称为振荡周期。(如果晶振的输出没有经过分频就直接作为cpu的工作时钟,则时钟周期就等于振荡周期)
振荡周期:在衰减振荡中,两个相邻同方向峰值之间的时间称为振荡周期Tp,振荡频率2π/Tp。在相同衰减比下,振荡周期越短或振荡频率越高,则回复时间越短,因此振荡周期(频率)反映系统响应快慢的指标。(非专业别细研究了。)
时钟长度 :每个时钟周期持续的时间长度

性能及其因素

我们都关注CPU性能,因而性能度量实际针对的是CPU执行时间。可以用公式把最基本的尺度(时钟周期数和时钟周期时间)和CPU时间联系起来:
CPU执行时间(一个程序的)=CPU的时钟周期数x 时钟周期时间。
由于时钟频率和时钟周期时间互为倒数,故
CPU执行时间 = CPU时钟周期数 / 时钟频率

时钟频率:单位赫兹(Hz)
1Hz=1Hz
1kHz=1000Hz——1x103
1MHz=100kHz——1x106
1GHz=1000MHz——1x109

例如:某程序在一台时钟频率为2GHz的A上运行需要10秒。现需要一台B计算机,把运行时间缩短为6秒。只采用提高时钟频率的,但会影响CPU其余部分的设计,使B运行改程序时需要相当于1.2倍的时钟周期数。求B的时钟频率。

剩下就是套公式~

A计算机:

指令的性能

上面性能公式没有涉及程序所需的指令数。然而,由于计算机是通过执行指令来运行程序的。因此执行时间一定依赖于程序中的指令数。
CPU时钟周期数=程序指令数xCPI。

CPI:每条指令时钟周期数,表示执行某个程序或者程序片段时所需的时间周期平均数。

例如:假设我拥有相同指令的集的两种不同实现方法。A时钟周期为250ps。对某程序的CPI为2.0B时钟周期为500ps.对同样程序CPI为1.2。问A和B那个快
在这里插入图片描述
PS:CPU时间短说明它快呀~

经典CPU性能公式

结合上面,现在我们可以这样写出来基本的CPU性能公式啦~
CPU时间=指令数XCPIX时钟周期时间
或者
CPU时间=指令数XCPI/时钟频率

指令数:执行某程序所需的总指令数量

来来来,实际操作一下。
一个编译器设计者试图在两个代码序列之间进行选择。硬件设计者给出了如下数据。
每类指令集的CPI

ABC
CPI123

每类指令的数量

代码序列ABC
1212
2421

哪个代码序列执行的指令数更多?哪个执行的更快?每个代码序列的CPI是多少
在这里插入图片描述
计算执行时间
计算执行时间公式为:执行时间=秒/程序=指令数/程序x时钟周期数/指令x秒/时钟周期
在这里插入图片描述

唯一能够被完全可靠测量计算机性能的指标是时间。例如,对指令集减少指令数目的改进,可能降低时钟周期时间或者提高CPI,从而抵消了改进效果。类似地,CPI与执行的指令类型相关,执行指令数最少的代码其执行速度未必是最快的。

实际操作中,只用一种因素(如指令数)去评价性能是危险的。当比较两台计算机时,必须考虑全部三个因素,他们组合起来才能确定执行时间。
注意的是CPI随着指令组合而变化,所以必须比较指令的条数和CPU,即使时钟频率是相同的。

指令组合:在一个或者多个程序中,指令的动态使用频度的评价指标。

参考资料

  1. 《计算机组成与设计——硬件/软件接口》
  2. 百度百科:《时钟频率》《CPI》
  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-04-09 18:36:52  更:2022-04-09 18:39:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 4:33:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码