2013年度自然科学基金申请书正文(一)立项依据与研究内容.pdf
文本预览下载声明
2013 年度自然科学基金申请书正文
清华大学微电子学研究所
何虎
hehu@
(一)立项依据与研究内容
1.项目的立项依据
1.1 项目意义
处理器流水线设计经历了从顺序指令执行到乱序指令执行这个过程。指令发射数量也
从单一的标量指令发射发展到多指令发射的超标量架构。图 1 表示了一个典型的乱序发射
超标量处理器流水线设计。
图 1 乱序发射的超标量架构[7]
1985 年,James E. Smith 和 A.R. Pleszkun 首次将乱序发射流水线设计[4]引入到现
代处理器设计中。其最核心思想是所有指令完成操作并修改处理器状态必须满足逻辑顺
序。在遵循这一前提条件下,可以允许指令用任意顺序完成,并精确保存每条指令执行状
态以便当发生中断时能够完全恢复处理器现场。ROB(Reorder Buffer)首次被引入乱序指令
执行流水线设计。该缓存将指令执行结果重新排序,按照逻辑顺序修改处理器状态。确保
提前完成的指令不会先于逻辑领先指令修改处理器状态。文中重要方法还包括 Future File
技术和 History Buffer 技术用于恢复处理器现场。
图 2 乱序发射处理器使用的存储器[4]
乱序发射技术中,除去流水线控制逻辑复杂度显著提升以外,增加了大量存储器用于各
种指令和执行结果的缓存(如图 2 所示)。当指令发射数和执行级流水线增加后,这些存储器
的端口数也相应增加。从而导致处理器面积和功耗的提升。
随着乱序发射超标量架构的发展,为了提高指令并行度(Instruction Level
Parallelism),指令窗口(Instruction Window)和重排序缓冲器(ROB)堆越来越大,随
之而来的是流水控制逻辑越来越复杂;大容量,多端口寄存器堆面积和功耗急剧增加。因
此对于乱序发射超标量架构有了诸多的改进策略减缓这个趋势。文献[2]采用了一种
“Checkpoint”的方式取代了 ROB。只是这种方法对于现场不能精确保护。文献[1]采用了
新的乱序发射架构 MSP (Multi-State Processor)来替代 ROB。该架构给每一个运行的指令
定义一个高效可扩展的状态信息。流水线控制器利用这些状态信息控制指令提交,寄存器
释放和分支预测以及执行恢复。图 1 表示了该处理器的微架构。相比于 ROB 设计,MSP
多出了一个状态表 SCT,但是取消了寄存器重命名以及部分 ROB 和提交逻辑。特别是 8
读 4 写的重命名单元被节省了。
图 3 MSP 处理器流水线
即便如此由于乱序发射的超标量架构固有的复杂流水线控制和大量大容量多端口寄存
器堆导致处理器面积和功耗随着发射数量的提升而成指数方式增长。下表是 ARM Cortex
系列处理器在 1GHz 频率下的单核功耗和性能数据。由于 ARM 官方披露的功耗信息**并不
精确,表 1 中有些数据是在公开数据的基础上推算出来的。
指标 型号 A5 A7 A8 A9 A15
功耗(mW) 80 100 300 1000 1500 以上
性能(DMIPS/MHz) 1.5 3* 2 2.5 3.5
表 1:ARM Cortex 系列处理器功耗和性能
*ARM 官方文档指出 A7 的性能比 A8 提高 50%
**/products/processors/cortex-a/
从数据中可以看出,A8 和 A9 之间功耗出现了一个明显的增加。这个增加的最大因素
就是从 A8 的 In-Order 架构变成了 A9 的 Out-Of-Order 架构。目前在智能手机中出货量最
大的处理器就是 A8。从性能和功耗上 A8 架构占有明显优势。
图 4 ARM Cortex A7 流水线
图 5 ARM Cortex A15 流水线
图 6 big.LITTLE 架构
但是随着移动终端对于运算性能要求的提高,ARM 最新研发出 A15 处理器。与 A15
处理器同时推出的还有一款 A7 处理器。图 4 中可以看出 A7 是一款 In-Order 的双发射处
理器,短小精悍。A15 是一个三发射的 Out-Of-Order 处理器。流水线很长,执行单元很
多,追求高性能(如图 5 所示)。由于 A15 处理器在获得高性能的同时,功耗也变得越来
越无法忍受。于是 ARM 想出一个折中的办法:在一个处理器里面同时集成两种处理器,
ARM 称之为 big.LITTLE 架构(图 6 所示)。当用户需要高性能处理的时候,就把应用切
换到 A15 上运行。应对一般应用时就切换到 A7 上运行。从而获得能耗和性能的合理分
配。去年 Micro45 上一篇文章[5]对于这种架构应
显示全部