什么是冯诺依曼结构
%
也叫存储程序计算机, 包含“可编程”和“可存储”两个概念
5大部分
- 输入
- 输出
- 存储
- 运算器
- 控制器
提升性能的方法有哪两类?
%
- 提升响应时间,也叫程序的执行时间
- 提升吞吐率,也叫带宽。多核CPU
CPU的时钟有哪些
%
- real time: 客观运行的时间
- user time: 用户态运行指令的时间
- sys time: 内核态运行指令的时间
程序运行的实际时间: usr + sys
如何使用linux命令查看程序运行的时间
%
time seq 10000000 | wc -l
real 0m0.101s
user 0m0.031s
sys 0m0.016s
如何计算程序的CPU执行时间
%
-
CPU时钟周期数*CPU周期时间
-
指令数XCPIX周期时间(CPI是指令平均执行的周期数)
周期时间和主频的关系
%
周期时间是一次晶振的时间间隔
周期时间 = 1/主频
周期时间越小 cpu执行的越快
阿姆达尔定律
%
并行后执行时间
优化后的执行时间 = 受优化影响的执行时间/加速倍数 + 不受影响的执行时间
提升性能的原则性方法有哪些
%
-
加速大概率时间:硬件比如GPU专门处理矩阵计算,软件比如内存缓存和CDN缓存
-
通过流水线:硬件的指令细化,软件比如多线程
-
通过预测提高性能:预测下一步要做什么