《深入浅出计算机组成原理》学习笔记 Day1

1. 学习计算机组成原理的意义

理解计算机是怎么运作的,以及为什么要这么运作。
一方面,整个组成乃至体系结构,都是基于冯·诺依曼架构组成的软硬件一体的解决方案。另一方面,这里方方面面的设计和考虑,除了体系结构层面的抽象和通用性之外,“为什么”所要解决的事情,很多时候就是提升“性能”

2. 性能的概念

衡量性能的公式:
T c p u = n × C P I × C l o c k C y c l e T i m e T_{cpu} = n \times CPI \times Clock Cycle Time Tcpu=n×CPI×ClockCycleTime
其中,
T c p u T_{cpu} Tcpu:程序的CPU执行时间;
n n n :指令数;
C P I CPI CPI :每条指令的平均周期数(Cycles Per Instruction)。
这也就指出了提升性能的三种方式:

  1. 提升主频
  2. 优化CPU设计使得在单个时钟周期内可以执行更多指令
  3. 通过编译器来减少需要的指令数

3. 性能的提升途径

3.1 “堆硬件”

无论是简单地提升主频,还是增加更多的CPU核心数量,通过并行来提升性能,都会遇到相应的瓶颈。仅仅简单地通过这样“堆硬件”的方式,在今天已经不能很好地满足我们对于程序性能的期望了。

3.2 加速大概率事件

一个很好的例子。在深度学习流行的今天,整个计算过程中,99%都是向量和矩阵的计算。于是,工程师通过用GPU来替代CPU,大幅提升了深度学习的模型训练过程。本来一个CPU需要跑几小时甚至几天的程序,GPU只需要几分钟就好了。

3.3 通过流水线提升性能

我们把CPU指令执行的过程进行拆分,细化运行,这也是现代CPU在主频没有办法提升那么多的情况下,性能仍然可以提升的重要原因之一。

3.4 通过预测提升性能

通过预测下一步该干什么,而不是等上一步运行的结果,提前进行运算,也是让程序跑得更快一点的办法。一个典型的例子:当要循环访问数组的时候,凭经验,你也会猜到下一步我们会访问数组的下一项,也就是利用“程序的局部性原理”。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Balaaam

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值