关键词:
RISC-V学习笔记(1)
作者:夏风喃喃
参考:计算机组成与设计:硬件/软件接口(RISC-V版)
文章目录
第1章 计算机抽象及相关技术
1.6 性能
1.6.1 性能的定义
响应时间:也叫执行时间(execution time),是计算机完成某任务所需的总时间。通常有 性 能 = 1 执 行 时 间 性能=\\frac1执行时间 性能=执行时间1
吞吐率:也叫作带宽(bandwidth),性能的另一种度量参数,表示单位时间内完成的任务数量。
1.6.2 性能的度量
CPU执行时间:简称为CPU时间,执行某一任务在CPU上所花费的时间。
用户CPU时间:程序本身所花费的CPU时间。表征CPU性能。
系统CPU时间:为执行程序而花费在操作系统上的时间。表征系统性能。
时钟周期数:计算机一个时钟周期的时间,通常指处理器时钟,并在固定频率下运行。
周期长度:每个时钟周期持续的时间长度。
1.6.3 CPU性能及其度量因素
程
序
的
C
P
U
执
行
时
间
=
程
序
的
C
P
U
时
钟
周
期
数
×
时
钟
周
期
长
度
程序的CPU执行时间=程序的CPU时钟周期数×时钟周期长度
程序的CPU执行时间=程序的CPU时钟周期数×时钟周期长度
程
序
的
C
P
U
执
行
时
间
=
程
序
的
C
P
U
时
钟
周
期
数
时
钟
频
率
程序的CPU执行时间=\\frac程序的CPU时钟周期数时钟频率
程序的CPU执行时间=时钟频率程序的CPU时钟周期数
1.6.4 指令性能
C P U 时 钟 周 期 数 = 程 序 的 指 令 数 × 指 令 平 均 时 钟 周 期 数 CPU时钟周期数=程序的指令数×指令平均时钟周期数 CPU时钟周期数=程序的指令数×指令平均时钟周期数
指令平均时钟周期数(CPI):表示执行某个程序或者程序片段时每条指令所需的时钟周期平均数。
1.6.5 经典的CPU性能公式
结合1.6.3与1.6.4,得到经典的CPU性能公式:
C
P
U
时
间
=
指
令
数
×
C
P
I
×
时
钟
周
期
长
度
CPU时间=指令数×CPI×时钟周期长度
CPU时间=指令数×CPI×时钟周期长度
C
P
U
时
间
=
指
令
数
×
C
P
I
时
钟
频
率
CPU时间=\\frac指令数×CPI时钟频率
CPU时间=时钟频率指令数×CPI
注:另有一种度量性能的尺度是每秒百万条指令数(CPI),表示为
M
I
P
S
=
指
令
数
执
行
时
间
×
1
0
6
=
指
令
数
指
令
数
×
C
P
I
时
钟
频
率
×
1
0
6
=
时
钟
频
率
C
P
I
×
1
0
6
MIPS=\\frac指令数执行时间×10^6=\\frac指令数\\frac指令数×CPI时钟频率×10^6=\\frac时钟频率CPI×10^6
MIPS=执行时间×106指令数=时钟频率指令数×CPI×106指令数=CPI×106时钟频率
risc-v指令学习笔记(基于ch32v103)(代码片段)
文章目录RISC-V指令学习笔记(基于CH32V103)一、指令结构分类二、寄存器功能三、加载存储指令四、算数运算指令五、移位指令六、逻辑操作指令七、跳转指令7.1条件跳转7.2无条件跳转八、比较判断九、CSR操作指令RISC-V指... 查看详情
risc-v指令学习笔记(基于ch32v103)(代码片段)
文章目录RISC-V指令学习笔记(基于CH32V103)一、指令结构分类二、寄存器功能三、加载存储指令四、算数运算指令五、移位指令六、逻辑操作指令七、跳转指令7.1条件跳转7.2无条件跳转八、比较判断九、CSR操作指令RISC-V指... 查看详情
沁恒ch32学习——risc-v架构学习笔记
作为新手第一次接触RISC-V架构时。我首先百度简单了解了ARM架构和RISC-V架构的区别,以我个人的理解是ARM架构代表之前的复杂指令集,而RISC-V架构代表着精简指令集。就比如说同样是一个舞蹈动作,复杂指令集可能会... 查看详情
renode应用:在risc-v核上运行freertos(代码片段)
本篇记录通过Renode在RISC-V核上运行FreeRTOSdemo的情况。本来不准备写这一篇,但是发现近期工作学习密度实在太大,上周工作的中间结果这周竟然完全想不起来了,不得不又花了一些时间从头摸索着重新配置了一遍... 查看详情
springboot学习笔记——thymeleaf(代码片段)
前置知识:SpringBoot学习笔记——SpringBoot简介与HelloWordSpringBoot学习笔记——源码初步解析SpringBoot学习笔记——配置文件yaml学习SpringBoot学习笔记——JSR303数据校验与多环境切换SpringBoot学习笔记——自动配置原理SpringBoot学习笔记... 查看详情
markdowntensorflow学习笔记(代码片段)
markdown学习笔记(代码片段)
markdownsympy学习笔记(代码片段)
[risc-v]移植rtthreadnano到risc-v芯片(代码片段)
...://gitee.com/dengchow/yuheng-riscv-soc.git〇、前言本文记录的是在risc-v芯片上移植rt-threadnano的过程。使用到的risc-v芯片是玉衡(YuHeng,yuheng-riscv),一款并不存在于现实世界的芯片,同picorv32和darkriscv一样,仅存在... 查看详情
markdown熊猫学习笔记(代码片段)
markdown机器学习笔记(代码片段)
ceressolverdocument学习笔记(代码片段)
CeresSolverDocument学习笔记CeresSolverDocument学习笔记1.基本概念2.基本方法2.1CostFunction2.2AutoDiffCostFunction2.3NumericDiffCostFuntion2.4LossFunction2.5LocalParameterization2.6Problem2.7Solver2.8CovarianceCeresSol 查看详情
学习笔记mybatis学习笔记(代码片段)
本文是动力节点MyBatis教程的学习笔记。第一章1.三层架构(1)三层的功能表示层(UserInterfaceLayer):接受用户数据,显示请求的处理结果,包括jsp、html、servlet等。对应controller包;业务逻辑层(BusinessLogic... 查看详情
学习笔记mybatis学习笔记(代码片段)
本文是动力节点MyBatis教程的学习笔记。第一章1.三层架构(1)三层的功能表示层(UserInterfaceLayer):接受用户数据,显示请求的处理结果,包括jsp、html、servlet等。对应controller包;业务逻辑层(BusinessLogic... 查看详情
lsof学习笔记(代码片段)
lsof学习笔记安装yuminstalllsof应用1、查看端口lsof-i:332242、查看进程ps-aux|grep876792、统计数量dockerimages|grep163110|wc-l 查看详情
springboot学习笔记——web开发探究(代码片段)
前置知识:SpringBoot学习笔记——SpringBoot简介与HelloWordSpringBoot学习笔记——源码初步解析SpringBoot学习笔记——配置文件yaml学习SpringBoot学习笔记——JSR303数据校验与多环境切换SpringBoot学习笔记——自动配置原理Web开发探究简介... 查看详情
《嵌入式系统-rt-thread开发笔记》手把手教你使用rt-thread制作gd32risc-v系列bsp(代码片段)
熟悉RT-Thread的朋友都知道,RT-Thread提供了许多BSP,但不是所有的板子都能找到相应的BSP,这时就需要移植新的BSP。RT-Thread的所有BSP中,最完善的BSP就是STM32系列,但从2020年下半年开始,国内出现史无前例的... 查看详情
linux学习笔记一(代码片段)
linux学习笔记一文章目录linux学习笔记一Linuxpackageoperationoflookingfilesoperationhelpcommandsowncommandsechotunnelechoagainuserorrootprocessingaliasagainfinding这个是我在学习linux系统的时候的一点的小小的总结,希望对大家有一定的在帮助啦。Linux 查看详情