Dark Silicon and ISA

Week2:本周学习的知识主要包括:首先介绍了芯片工艺制造过程中缩放定律(Dennard Scaling)的变迁,在该变迁过程中,由于受到功耗的限制,产生了所谓的暗硅现象(Dark Silicon);其次介绍了指令集架构(ISA)的概念和研究内容,详细阐述了CISC和RISC的区别,并介绍了一个评判ISA性能的理论公式;最后介绍了一个4条指令的极简RISC-V指令集的案例。

内容回顾

缩放定律的变迁

  • 摩尔定律(1965)的解释:Dennard Scaling

    由美国科学家罗伯特唐纳德(DRAM的发明人)在1974年提出。指出随着芯片尺寸的进一步减小,内部的电场是保持不变的,即电场守恒缩放(Constant field Scaling)。因此随着芯片尺寸的虽小,假设尺寸变化比例为$S$。

    Transistors Property Change
    ${\Delta}$Quantity $S^2$
    ${\Delta}$Frequency $S$
    ${\Delta}$Capacity $\frac{1}{S}$
    ${\Delta}{V_{dd}}^2$ $\frac{1}{S^2}$

    那么根据功耗的表达式,芯片功耗的变化为
    $${\Delta}Power={\Delta}QFCV^2=1$$因此,在功耗可以保持不变的情况下,芯片的尺寸一直印证着摩尔定律在不断地缩小,性能也在不断地提高。

  • 缩放定律的变迁:Post Dennard Scaling

    • 原因:晶体管是有阈值电压的,电源电压是有一个极限的,它不能小于管子的阈值电压$V_t$,故电源电压不可能一直减小,最后会保持趋于一个定值。
    • 发展:故传统Dennard Scaling不再适用,因此,电场守恒缩放(Constant field Scaling)逐步转变为电压守恒缩放(Coinstant Voltage Scaling),那么原先的功耗结果将发生变化,即
      $${\Delta}Power={\Delta}QFCV^2=S^2$$

    这就会造成随着芯片尺寸的减小,芯片的功耗将呈$S^2$倍的变化,导致芯片的功耗急剧增加。如图所示,当尺寸在0.1um的节点中,芯片单位面积产生的功耗已经可以和核电站的发热量相当,这使得了芯片的发展受到了自身功耗的很大限制,也产生了所谓的暗硅现象

暗硅现象

  • 暗硅现象的出现:由于芯片受到功耗的限制,对于多核处理器而言,他的每一个核并不能全部使用。因此在处理器工作时,有些处理器核是关闭,即所谓的“暗硅”(Dark Silicon)。但是芯片的工艺节点仍然在发展,如今已经到了7nm时代,这意味着我在相同面积的基础上能造更多的处理器核,但是实际工作的处理器核的利用率却越来越低。因此,为了避免以上现象的产生,工业界采用的解决方案是让处理器核处于“灰度状态”(Dim),即让处理器核在更低频率、更低功耗的状态下去工作,这样在消耗相同的功耗情况下,能同时运行的处理器核数可以增加,使得处理器核的利用率提高。这也是目前的处理器主频并没有提高太多的原因。

  • 暗硅现象的发展:基于以上分析,由于Dark Silicon的存在,可以看出一个处理器芯片没有必要造更多的核数量,因为多余的核也是白白浪费的。然而,事实上却截然相反,Dark Silicon的存在反而使得在芯片上出现了更多的处理器核数量,这其中的原因主要如下:

    • 商业行为:误导消费者处理器核数量越多,处理器性能越强;
    • 更好地散热:芯片越大,有利于更好地散热;
    • 制造成本:芯片设计成本较高,制造成本较低。处理器核数量越多,开核的自由度越高,有利于减少处理器的设计难度(增加处理器核之间的距离,帮助更好地散热,更好地优化能耗。例如处理器核通过类似于国际象棋的排布,其热量就不会过于集中,且特定的情况下,在部分极短的时间开启所有核满足性能需求,也不会造成热的积累)。

  • 专用处理器的设计:对于目前的处理器而言,芯片功耗的降低比面积的降低更加重要。而使用专用的处理器核相比通用的处理器核能效比更高,产生的功耗也更加低,因此为了更好地提高处理器的性能,在多余核无用的情况下,不如将无用核的替换成专用的处理核,如现在SoC处理器中,一颗多核的CPU周边会搭配若干个专用的处理器核,如GPU、AI加速器、通信基带、视频编解码器等,这样当设备需要什么功能时直接调用相应的处理器核即可,这样将大大减少芯片的功耗,同时提高处理器的性能。因此,从一定程度上可以说,Dark Silicon的出现也为设计专业的处理器核奠定了一定的理论依据。

指令集架构

  • 计算机体系结构研究的内容:

    • 指令集架构(Instruction Set ArchitectureISA)
    • 硬件组成(Hardware Organization)

  • x86的64位指令集是由AMD发明的

  • RISC和CISC的重要区别:存储器的访问方式

    • RISC只能以load 和store指令访问存储器,而ALU能访问到寄存器列表,数据需要先从存储器加载到寄存中,是Load-Store类型;
    • CISC的指令都可以访问到存储器,ALU也能直接访问储器,是Register-Memory类型

  • 评估一个ISA性能的理论公式
    $$\frac{Time}{Program}={\frac{Instructions}{Program}}\times{\frac{Clock cycles}{Instructio}}\times{\frac{Time}{Clock cycles}}$$

RISC-V指令集

  • RISC-V指令集
  • 指令集格式说明
  • 一个4条指令的案例

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×