-
>
决战行测5000题(言语理解与表达)
-
>
软件性能测试.分析与调优实践之路
-
>
第一行代码Android
-
>
深度学习
-
>
Unreal Engine 4蓝图完全学习教程
-
>
深入理解计算机系统-原书第3版
-
>
Word/Excel PPT 2013办公应用从入门到精通-(附赠1DVD.含语音视频教学+办公模板+PDF电子书)
多核处理器设计优化——低功耗、高可靠、易测试 版权信息
- ISBN:9787030671479
- 条形码:9787030671479 ; 978-7-03-067147-9
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 所属分类:>
多核处理器设计优化——低功耗、高可靠、易测试 内容简介
在集成电路产业蓬勃发展的今天,多核处理器已经成为个人电脑,手持设备甚至数据中心中承载计算任务的主要单元。随着摩尔定律的逐步失效以及芯片工艺集成度的不断提高,多核处理器的核数也在不断增长,但与此同时,也面临"暗硅"、"利用率墙"等瓶颈问题。究其原因,是以晶体管为基本元件的集成电路所消耗的功耗也在随着工艺提升而不断增大。因此,多种针对多核处理器的低功耗技术也不断涌现,并成为学术界以及工业界关注的热点问题。业界的学者和科研人员,都在力求保持处理器性能的同时,大幅降低功耗,作为提升处理器能效的主要手段。本书详细讲述了多核处理器的低功耗设计技术,包括处理器核,片上互连网络,内存系统三大主要功能单元的低功耗设计技术。在处理器核方面,主要阐述了核级功耗的建模与评估方法,为进行准确的功耗管理提供依据;并针对处理器核数目不断增多这一趋势,阐述了功耗自治管理方法。在片上网络方面,介绍了片上网络的体系结构,核心性能评价指标,以及针对它的功耗管理方法。在内存系统方面,介绍了静态与动态功耗优化方法以及可靠性设计技术。此外,还针对近年来备受关注的三维集成电路,以及基于多核处理器搭建的数据中心系统讲述了低功耗设计方法。本书是作者多年科研成果的结晶,涵盖了多核处理器所有功能部件的低功耗设计技术,也针对学术界和工业界关注的近期新热点问题,详细讲述了低功耗设计的解决方案,也是国内抢先发售针对这一热点问题的专著,对集成电路特别是多核处理器体系结构设计具有重大意义和参考价值。
多核处理器设计优化——低功耗、高可靠、易测试 目录
FOREWORD
前言
第1章 绪论 1
1.1 多核处理器体系结构简介 1
1.1.1 多核处理器 1
1.1.2 多核处理器的片上互连网络 2
1.1.3 多核处理器的内存系统 5
1.2 多核处理器体系结构设计的关键问题 8
1.2.1 功耗与热能问题 8
1.2.2 高可靠设计问题 12
1.3 本书章节组织结构 18
参考文献 22
第2章 处理器核的低功耗设计 26
2.1 功耗管理方法概述 26
2.1.1 功耗管理的硬件支持 27
2.1.2 面向性能优化的功耗管理 29
2.1.3 面向热能安全的功耗管理 31
2.2 多核处理器的热能功耗容量预测 33
2.2.1 线程策略对热能功耗容量的影响 34
2.2.2 初始温度对热能功耗容量的影响 36
2.3 面向热能约束和性能优化的功耗管理 37
2.3.1 静态因子测量 37
2.3.2 热能功耗管理 38
2.4 实验环境搭建及结果分析 38
2.4.1 避免过热效应 40
2.4.2 安全提高频率 41
2.5 本章小结 42
参考文献 43
第3章 处理器核的高可靠设计 47
3.1 高可靠设计方法概述 47
3.1.1 影响电压紧急高可靠设计的三个因素 47
3.1.2 电压紧急的消除、避免和容忍技术 52
3.2 基于存储级并行指令调度的电压紧急消除 56
3.2.1 存取操作数指令队列检查机制 58
3.2.2 多线程预测器 60
3.2.3 指令调度方法 61
3.2.4 实验环境搭建与结果分析 62
3.3 基于电压特性线程调度的电压紧急消除 69
3.3.1 电压特性建模 71
3.3.2 线程调度方法 74
3.3.3 硬件设计 77
3.3.4 实验环境搭建与结果分析 79
3.4 本章小结 85
参考文献 85
第4章 片上互连网络的低功耗设计 89
4.1 片上网络体系结构概述 89
4.2 片上网络的功耗管理 91
4.2.1 功耗管理的核心问题 91
4.2.2 动态功耗管理 92
4.2.3 静态功耗管理 94
4.3 基于穿梭片上网络的节点级功耗管理方法 97
4.3.1 片上网络数据流的时空异构性 97
4.3.2 穿梭片上网络 103
4.3.3 节点级功耗管理 107
4.3.4 实验环境搭建与结果分析 109
4.4 本章小结 114
参考文献 115
第5章 片上互连网络的高可靠设计 117
5.1 互连线的串扰效应 117
5.1.1 串扰问题的提出 117
5.1.2 串扰效应的影响与故障模型 118
5.1.3 针对总线串扰效应的容错设计 120
5.2 片上网络的存储转发特征 122
5.3 错开信号跳变容忍串扰的理论推导 123
5.3.1 时延故障 123
5.3.2 尖峰故障 127
5.4 跳变时间调整的规则 130
5.4.1 潜在时延故障 130
5.4.2 潜在尖峰故障 131
5.5 时序分析与跳变时间调整系统 132
5.6 实验环境搭建与结果分析 135
5.6.1 时延性能 136
5.6.2 面积开销 140
5.6.3 功耗开销 142
5.6.4 总体性能 143
5.7 本章小结 144
参考文献 145
第6章 多核处理器内存系统的低功耗设计 148
6.1 内存系统低功耗技术概述 148
6.1.1 片上缓存与内存控制器 149
6.1.2 动态功耗优化 150
6.1.3 静态功耗优化 151
6.2 内存系统互连能效优化技术 153
6.2.1 高能效内存系统新型互连技术 153
6.2.2 高能效片上缓存互连技术 157
6.3 基于硅激光互连的高能效内存设计方法 159
6.3.1 硅激光互连技术概述 159
6.3.2 DRAM内存访问机理与特性分析 163
6.3.3 硅激光互连DRAM架构设计 165
6.3.4 实验评估 173
6.4 本章小结 179
参考文献 180
第7章 多核处理器内存系统的高可靠设计 183
7.1 多核处理器内存系统高可靠设计技术概述 183
7.1.1 电路级的缓存容错技术 184
7.1.2 体系结构级缓存容错技术 185
7.2 多核处理器NUCA节点故障模型 188
7.2.1 术语介绍 190
7.2.2 末级缓存架构 190
7.2.3 地址黑洞模型 191
7.3 支持离线节点隔离的交叉跳跃映射技术 192
7.4 基于利用率的节点重映射技术 194
7.4.1 基于栈距离的利用率度量方法 195
7.4.2 针对节点重映射的栈距离分析模型 196
7.4.3 节点重映射问题形式化以及求解 197
7.5 节点重映射的实现 200
7.5.1 栈距离分析与重映射过程 200
7.5.2 可重构路由器设计 201
7.6 实验方案与结果 203
7.6.1 实验环境与测试集 203
7.6.2 故障注入机理 204
7.6.3 实验结果 205
7.7 本章小结 213
参考文献 214
第8章 三维堆叠多核处理器的低功耗设计 216
8.1 三维堆叠多核处理器体系结构概述 216
8.1.1 三维集成技术与TSV制造 216
8.1.2 三维片上网络 217
8.2 高TSV利用率的三维堆叠片上网络设计 218
8.2.1 TSV共享方法的基本架构 218
8.2.2 三维路由器设计与实现 222
8.2.3 TSV共享逻辑对物理设计的影响 224
8.2.4 路由算法设计 225
8.2.5 TSV共享的全局配置 225
8.2.6 采用GSA进行异构共享拓扑的设计空间探索 226
8.3 实验评估 228
8.4 本章小结 239
参考文献 240
第9章 三维堆叠多核处理器的高可靠设计 242
9.1 三维堆叠处理器的高可靠设计概述 242
9.1.1 三维堆叠供电网络 242
9.1.2 三维堆叠处理器的电压紧急分布特性 243
9.2 软硬件协同的三维堆叠处理器电压紧急高可靠设计 246
9.2.1 分层隔离的故障避免电路设计 246
9.2.2 紧急线程优先的线程调度方法 248
9.3 实验环境搭建与结果分析 249
9.3.1 电压紧急减少 250
9.3.2 工作频率提升 251
9.4 本章小结 251
参考文献 252
第10章 多核处理器可测试性设计 254
10.1 多核处理器可测试性设计概述 255
10.1.1 逻辑电路可测试性设计体系结构 255
10.1.2 逻辑电路可测试性设计技术 260
10.2 DPU_m芯片逻辑电路可测试性设计 266
10.2.1 芯片模块级扫描结构设计 267
10.2.2 芯片顶层测试结构 274
10.2.3 片上时钟控制 279
10.2.4 芯片测试向量生成流程 282
10.2.5 实验结果与分析 286
10.3 DPU_m芯片片上存储器的内建自测试设计 287
10.3.1 片上存储器测试 287
10.3.2 存储器内建自测试的工具 291
10.3.3 存储器内建自测试顶层设计 296
10.3.4 实验结果与分析 300
10.4 本章小结 301
参考文献 302
第11章 基于异构多核处理器的数据中心TCO优化 305
11.1 异构多核处理器能效建模方法概述 305
11.1.1 异构系统概述 306
11.1.2 能效建模及其重要性 307
11.1.3 资源管理 310
11.2 异构多核处理器性能模型 311
11.2.1 协同横向扩展和垂直扩展的性能建模 313
11.2.2 模型实现与性能优化 315
11.2.3 实验环境搭建与结果分析 317
11.3 异构多核处理器能效优化策略 322
11.3.1 异构多核处理器能效建模 322
11.3.2 异构多核处理器能效优化 324
11.3.3 实验环境搭建与结果分析 326
11.4 异构数据中心系统的TCO优化 328
11.4.1 数据中心系统概述 328
11.4.2 基于解析的数据中心更新框架 329
11.4.3 成本效益评估——功耗与性能 335
11.5 本章小结 339
参考文献 341
第12章 总结与展望 345
12.1 全书内容总结 345
12.2 新兴技术展望 349
12.2.1 “存算一体”计算架构 351
12.2.2 领域定制处理器 352
参考文献 353
索引 356
多核处理器设计优化——低功耗、高可靠、易测试 节选
第1章 绪论 1.1 多核处理器体系结构简介 1.1.1 多核处理器 随着微电子工艺技术沿摩尔定律不断发展,当今集成电路制作工艺使处理器芯片集成的晶体管越来越多,晶体管尺寸越来越小,同时处理器的时钟频率也在不断提升。通过采用更高的时钟频率,处理器流水线延迟被有效缩短,这提高了指令的执行速度,从而提高处理器每周期完成指令数(instruction per cycle,IPC),进而获得系统性能的提升。工艺线宽进入深亚微米时代后,处理器频率的增长到达了一个瓶颈,这使得处理器设计者需要重新审视通过提升时钟频率来提高指令执行速度的传统思路,单核体系结构的发展可以通过开发指令并行度(instruction-level parallelism,ILP)推动处理器性能整体增长,而不依赖工艺更新,例如超标量、乱序发射和猜测执行等技术的提出一度缓解了处理器性能增长需求的压力。指令级并行度本身受限于数据依赖、控制依赖以及数据总线带宽,发展逐渐遇到瓶颈,无法从发射宽度、流水线数目的提升中获得较大的性能增长空间。 相比较于传统的并行处理技术,当前先进的半导体制造工艺已经允许在一个芯片上集成众多处理器核,这一处理器设计架构即为多核处理器(multi-core processor)。该架构的发展使得开发更粗粒度的并行机制如线程级并行(thread level parallelism,TLP)成为可能,并且该架构具备良好的可扩展性,可满足不同应用的需求。 根据处理器核的选取方式,多核处理器可以分为“同构多核处理器”和“异构多核处理器”两种,同构多核处理器在一块芯片中集成了多个相同架构与设计参数的处理器核,获得对称的性能,一项任务可以任意分配给某个核处理,有很好的易用性与性能可预测性,但缺点是不能很好地适应各类应用的特性需求。大多数商用通用处理器采用了同构多核的组织形式,如IBM公司的Power4服务器处理器,集成了两个共享二级缓存的处理器核。Tilera公司推出的TILE64[1],集成了64个支持MIPS指令集的处理器核,构成8×8的处理器阵列。Sun公司的Niagara T2[2]以及传统的通用处理器公司Intel与AMD所推出的Xeon、Core Duo、Core i3/i5/i7、Opteron、Athlon、Bulldozer、Bobcat、Phenom等处理器系列都采用同构的组织形式。 相比同构多核处理器,异构多核处理器通过集成不同结构的处理器核心来提升运算效率,这是由于异构多核处理器能够满足不同特性任务的需求,从而可以合理划分与调度任务达到发挥不同类型处理器核的专用特点。典型的异构多核处理器有IBM公司、SONY公司和TOSHIBA公司联合开发的Cell BE处理器,该处理器集成了Power通用处理器以及多个计算处理器核SPE,拥有很好的性能功耗比[3]。 自1989年Intel公司预测多核处理器将在21世纪之初成为通用计算机市场主流以来,处理器核的规模也在不断增长,2000年之初IBM公司推出的**款商用双核处理器Power4,Intel公司随后推出了双核处理器“酷睿”(Core),AMD公司也推出的四核处理器AMD Phenom II-X4。随着云计算和数据中心应用的发展,处理器逐渐发展到15核(Intel Xeon E7-V2)、48核(Intel SCC)甚至64核(Tilera TILE64),而且多核处理器被运用到多个应用领域,嵌入式平台、消费电子以及移动平台也逐渐采用多核处理器,如高通公司的snapdragon系列处理器。几种商用同构多核处理器如图1-1所示。核数目的增长,一方面使得处理器计算能力与吞吐量得到不断提升,另一方面给计算机系统的数据供应能力和互连带来了严峻挑战。 图1.1 几种商用同构多核处理器 1.1.2 多核处理器的片上互连网络 根据集成的核数不同,多核处理器可以分为“总线式/交叉开关互连式”,以及“片上网络(networks-on-chip,NoC)互连式”两大类。由于集成的处理器核数量较少,*初的多核处理器典型特点为总线和交叉开关互连,每个核的功能较为强大,类似于传统的单核处理器,总线被不同的处理器核交替使用,达到访问共享存储器的目的。每个处理器通过总线广播的方式发送消息,也通过总线侦听来接收其他处理器发来的消息,这种存储访问结构自然支持了内存空间在各个处理器核之间的共享以及基于总线侦听的缓存一致性协议。这种方法设计简单,可以重用复杂的处理器设计,并且借用板级总线设计协议,是多核处理器发展初级阶段的主流互连方式,例如Intel公司的**代四核处理器Core-2-Q6600由两颗E6600双核处理器封装在一起而成,再如Sun公司在2007年推出的八核处理器Niagara 2,其互连方式为交叉开关式互连。 总线式互连的劣势来自于总线或交叉开关本身带来的性能瓶颈,这个瓶颈可以体现在系统性能和功耗两个方面。从性能上来说,总线或交叉开关仍旧依赖全局金属互连线,其性能无法随着半导体技术的提高而进步,这种全局性的互连要求所有的通信均须先汇集到总线上然后再发送出去,电信号需要给长达整个处理器硅片边长的金属线充电。由于电阻电容较大,充电时间很长,信号延迟很大。从吞吐率上来说,信号传输需要经过整个总线或交换开关,其带宽是无法适应处理器核数量的快速增长的。在功耗方面,无论是多核的总线还是交换开关,其功耗均不可扩展,这种劣势决定了基于总线的互连结构无法支持多核处理器对互连带宽的迫切需求,也促使处理器设计者放弃这种简单的结构而谋求更为复杂且可扩展性好的片上互连方式。 为了改变这种传统的互连方式,人们提出了使用NoC的方法。此方法使处理器的诸多核可以通过分布式的通信方式相互沟通,从而避免了集中的互连设计带来的系统性能瓶颈以及较大的功耗开销。**个采用片上网络来连接处理器核的设计是2002年麻省理工学院研制的RAW处理器。该处理器也是随后Tilera公司TILE系列商用处理器的原型。 多核处理器通常由多个“瓦片”(tile)组成,也称为瓦片式多核处理器(tile- organized multi-core)。以Intel公司的SCC(single-chip cloud computer)[4]为例,每个瓦片由三部分功能硬件组成,如图1.2所示:处理器核(core)与私有高速缓存(通常称为L1缓存),*后一级高速缓存(通常称为L2缓存)以及片上路由器(router)。tile之间通过两个片上路由器之间的传输链路(link)实现互连互通,所有片上路由器与传输链路组成了NoC。NoC借鉴了分布式计算系统的通信方式,用路由和分组交换技术取代传统总线,实现处理器核与片上存储的连接,NoC采用包交换的形式,使得每个计算/存储节点通过双线通道连接到相邻的节点,访存请求或访存数据被打包后,根据特定的路由算法,被路由器送往相应节点的L2缓存、内存控制器或L1缓存。 图1.2 Intel公司的SCC片上网络[4] 节点与节点的连接方式决定了片上网络的拓扑,不同的拓扑连接方式往往适合不同类型的数据交换,常用的规整拓扑有网格(Mesh)结构、环状体(Torus)结构、蝶形(Butterfly)结构、C-Mesh结构等。为了方便布局布线,商用多核处理器的NoC一般采用较为简单的拓扑结构,如图1.2的SCC采用Mesh结构互连,其特点是金属层布局布线简单,便于规避死锁并具有良好的可扩展性,因此也为国内外研究中较为常见的一种拓扑结构。 多核处理器运行的应用朝多样化发展,互连方式也随之革新,尤其在云计算日益发展的情况下,数据中心中的一些云应用(例如流媒体,数据分析、挖掘,MapReduce?等)对多核处理器的体系结构有了新的需求。云应用的指令跨度大,数据相关性小,**级高速缓存往往无法容下应用所需要的全部指令与操作数,造成**级高速缓存的缺失率很大。因此,有学者提出采用图1.3所示的体系结构,在传统的总线式互连(图1.3(a))以及瓦片式互连(图1.3(b))的基础上采用横向扩展的方式(scale-out,图1.3(c)),将原有的**级指令/数据缓存去掉,将一定数量的处理器核与*后一级高速缓存组织在一起(称为一个pod),片上网络仅负责处理器核与*后一级高速缓存的数据通信。由于去掉了**级高速缓存,缓存一致性的数据流便不再在片上网络中出现。每个pod运行独立的操作系统,pod之间相互独立,避免了应用间的干扰提高了处理器的运行时性能。此外,这种体系结构简化了互连,减小了硅片的面积,从而降低了功耗。 再如图1.4所示的多核处理器体系结构,*后一级高速缓存用片上网络互连,拓扑结构采用扁平蝶形(flattened butterfly)结构,以提高访存带宽,从核到*后一级高速缓存采用单一路径,也即只有从“核到高速缓存”以及从“高速缓存到每个处理器核”的路径,路由器设计也简化很多,减小了功耗开销。 图1.3 横向扩展(scale-out)多核处理器体系结构[5] 图1.4 云计算处理器的片上互连[6] 近年来,研究人员试图寻求新的NoC体系结构来降低其日趋增大的功耗开销,例如多NoC设计(multi-NoC)[7],异构NoC(hetero-NoC)[8, 9]、无输入缓存的NoC(bufferless-NoC)[10]以及基于硅激光互连的NoC(optical-NoC)[11,12]等,此类互连网络具备卓越的传输带宽并减小了路由器的硬件开销,大幅降低了NoC的功耗,因此得到很多处理器设计者的青睐,但是随着处理器规模的不断增大以及运行应用的多样化,数据流在片上网络中的分布更加不可预测,其性能与功耗仍旧将是长期限制处理器整体能效的重要因素。 1.1.3 多核处理器的内存系统 多核处理器面临比单核时代更严重的访存效率问题,需要更高效的多级存储层次以及互连机构作为数据存储和搬运的介质以满足计算的数据带宽需求,类似单核处理器的存储层次,多核处理器同样通过设置寄存器、缓存(cache)、主存三大主要层次,利用局部性来缓和处理器与存储器之间的性能差距。由于多核处理器之间需要数据通信与同步,处理器核与各自私有的缓存之间,共有缓存之间、缓存与主存之间的通信都要通过片上以及片间的互连提供通道,所以整个存储层次通过互连组织成了一个整体,也就是多核处理器的内存系统。 多核处理器的缓存主要有两种实现方式,一种是软件控制的存储结构,也被称为高速暂存存储器,它可以通过程序显示地进行分配和访问,可以由系统直接从主存读入或写回,高速暂存存储器中的数据是主存数据的一个子集副本,本身的数据一致性完全由软件负责,大多数图形处理单元(graphics processing unit, GPU)和专用应用处理器(application specific instruction set processor, ASIP)中的片上缓存都属于这一类。另外一种就是对系统透明的缓存,其被广泛地应用到通用处理器中。此种缓存完全由硬件管理其数据替换、插入以及数据一致性,大多数同构片上多核通用处理器都采用此种缓存。多核处理器片上缓存通常分为多级,然后根据需要分为共享以及私有缓存。L1缓存通常为处理器私有,容量空间相对较小,如32KB或54KB。私有缓存只能被它所连接的处理器核所访问,而共有缓存可以通过互连为多个不同处理器所访问,这样可以获得较高的空间利用率,满足不同程序的动态需求。但是由于程序之间存在争用与干扰,共有缓存也会存在性能问题或公平性问题,这时候共有缓存需要有效的空间划分方法或替换算法保障程序性能。共有缓存可以在不同缓存层次中实现,例如Sun公司设计的Rock处理器采用多核共享L1缓存的形式,满足细粒度线程通信的需求。 常用的共有缓存一般位于末级缓存当中,因此具有较大的空间,
- >
名家带你读鲁迅:故事新编
名家带你读鲁迅:故事新编
¥13.0¥26.0 - >
龙榆生:词曲概论/大家小书
龙榆生:词曲概论/大家小书
¥15.9¥24.0 - >
名家带你读鲁迅:朝花夕拾
名家带你读鲁迅:朝花夕拾
¥18.9¥21.0 - >
唐代进士录
唐代进士录
¥17.1¥39.8 - >
山海经
山海经
¥20.4¥68.0 - >
朝闻道
朝闻道
¥10.2¥23.8 - >
伊索寓言-世界文学名著典藏-全译本
伊索寓言-世界文学名著典藏-全译本
¥6.1¥19.0 - >
小考拉的故事-套装共3册
小考拉的故事-套装共3册
¥35.4¥68.0
-
PIC单片机原理与系统设计
¥16.4¥45 -
图解网络硬件
¥44.5¥69 -
Xilinx Zynq-7000嵌入式系统设计实验教程
¥42.8¥58 -
123D Design玩转3D打印
¥19.6¥58 -
4.23文创礼盒A款--“作家言我精神状态”
¥42.3¥206 -
4.23文创礼盒B款--“作家言我精神状态”
¥42.3¥206