【计科快速入门】八、高级CPU的设计

164 阅读2分钟

1. 如何给CPU提升性能?

  • 早期计算机的提速方式是减少晶体管的切换时间,晶体管组成了逻辑门,ALU以及其他组件。但这种提速方法最终会碰到瓶颈。
  • 现代CPU直接在硬件层面设计了除法可以直接给ALU除法指令,但这让ALU更大也更复杂一些。现代处理器有专门电路来处理图形操作解码压缩视频加密文档等等。

2. 如何快速传递数据给CPU?

  • 就像有强大的蒸汽机但无法快速加煤,RAM成了瓶颈。

2.1 RAM

  • RAM还需要时间找地址取数据,配置,输出数据,一条从内存读数据的指令可能要多个时钟周期。解决延迟的方法之一是给CPU加一点RAM叫"缓存"
  • 缓存提高了速度,CPU从RAM拿数据时RAM不用传一个,可以传一批,虽然花的时间久一点,但数据可以存在缓存。

2.2 脏位

  • 缓存和RAM不一致时,这种不一致必须记录下来,之后要同步,因此缓存里每块空间有一个特殊标记,叫"脏位"。
  • 同步一般发生在当缓存满了而CPU又要缓存时,在清理缓存腾出空间之前,会先检查"脏位"。如果是"脏"的在加载新内容之前会把数据写回RAM,另一种提升性能的方法叫"指令流水线"。

2.3 指令流水线

  • 取指→解码→执行三个步骤可以并行处理,这样的流水线每个时钟周期执行1个指令,是原来处理速度的三倍。
  • 由于指令之间具有依赖关系,所以有三种方法来解决这个问题,分别是乱序执行,推测执行和分支预测。

3.如何同时执行多条指令?

  • 一个CPU芯片里,有多个独立处理单元。但因为它们整合紧密,可以共享一些资源,比如缓存。使得多核可以合作运算。