描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121403446丛书名: 集成电路技术丛书
片上互连网络(On-Chip Network)受到国内外越来越多的关注,是多处理器设计的关键技术之一。
本书由西安交通大学教授任鹏举、夏天推荐引进并翻译。本书内容不仅翻译得专业、规范、通俗易懂,同时还对原著书中不易理解的疑难部分内容提供了注解和拓展。
本书的目标读者是熟悉计算机体系结构基本概念,并且有兴趣了解片上网络的工程师和研究人员。本书旨在对片上网络设计中关键的概念进行梳理,既可用于片上互连网络基础知识的学习与参考,也可用于了解当前片上互连网络*的研究工作。
本书旨在介绍片上路由器网络设计中*重要的概念和技术细节,希望为读者阐明基本概念,并明确片上网络研究的趋势和*进展。本书共9章,首先介绍了多核架构环境下的片上网络,解释了片上网络如何适应多核设计的整体系统架构;然后介绍了各种拓扑成本及性能的权衡、路由算法、网络中使用的流控制机制、路由器微体系结构、建模和评估片上网络的细节;接着介绍了一系列基于片上互连网络技术的计算架构设计案例,并全面分析了前面章节介绍的各种技术是如何在实际部署中进行取舍和融合的;*后介绍了未来几年在推动片上网络研究探索中将面临的关键技术和新领域。
本书面向熟悉基本计算机体系结构概念,并且对片上互连网络感兴趣的工程师和研究人员,可以作为他们理解片上网络基础知识和了解片上网络*研究的基础参考资料。同时,本书既可以用于教授基本概念,又可以用于学习*的设计,对研究生和行业工程师都具有重要价值。
目 录
第1章 导论 1
1.1 多核时代的出现 1
1.2 片上网络和片外网络的比较 3
1.3 网络基础:快速入门 4
1.3.1 片上网络的演变 4
1.3.2 片上网络的基本构建模块 6
1.3.3 性能和成本 7
第2章 片上网络的系统架构接口 9
2.1 CMP系统中的共享存储网络 10
2.1.1 缓存一致性协议对网络性能的影响 12
2.1.2 缓存一致性协议对片上网络的要求 15
2.1.3 协议级死锁 16
2.1.4 多级缓存实现对网络性能的影响 17
2.1.5 目录基节点和内存控制器的设计策略 22
2.1.6 未命中/事务状态保持寄存器 24
2.1.7 前沿技术概述 27
2.2 消息传递机制 28
2.3 片上网络接口标准 30
2.4 总结 33
第3章 拓扑 34
3.1 指标 34
3.1.1 与网络流量无关的指标 35
3.1.2 与网络流量相关的指标 36
3.2 直连拓扑:ring、mesh和torus 40
3.3 非直连拓扑:交叉开关、蝶形网络、clos网络和fat tree网络 42
3.4 不规则拓扑 48
3.4.1 分解法与合并法 50
3.4.2 拓扑综合算法示例 51
3.5 层级拓扑 52
3.6 实现 53
3.6.1 布局布线 53
3.6.2 抽象度量指标的含义 55
3.7 前沿技术概述 57
第4章 路由 59
4.1 路由算法的类型 59
4.2 避免死锁 61
4.3 确定性维序路由 62
4.4 无关路由 63
4.5 自适应路由 65
4.5.1 自适应路由概述 65
4.5.2 自适应转向模型路由 67
4.6 多播路由 71
4.7 不规则拓扑中的路由 72
4.8 实现 73
4.8.1 源路由实现 74
4.8.2 基于节点查找表的路由实现 75
4.8.3 组合电路实现 77
4.8.4 自适应路由实现 78
4.9 前沿技术概述 79
第5章 流控制 81
5.1 消息、数据包、flit和phit 81
5.2 基于消息的流控制 83
5.3 基于数据包的流控制 85
5.3.1 存储转发流控制 86
5.3.2 虚拟直通流控制 87
5.4 基于flit的流控制 88
5.5 虚拟通道流控制 90
5.6 无死锁流控制 94
5.6.1 时间线和虚拟通道划分 94
5.6.2 逃生虚拟通道 96
5.6.3 气泡流控制 97
5.7 缓冲区反压 98
5.7.1 基于credit的缓冲区反压机制 99
5.7.2 基于开启/关闭信号的缓冲区反压机制 99
5.8 流控制协议的实现 100
5.8.1 缓冲区大小与周转时间 100
5.8.2 反向信号线 103
5.9 特定应用的片上网络流控制 104
5.10 前沿技术概述 105
第6章 路由器微体系结构 107
6.1 虚拟通道路由器微体系结构 107
6.2 缓冲区和虚拟通道 109
6.2.1 缓冲区的组织方式 109
6.2.2 输入虚拟通道状态 112
6.3 开关设计 113
6.3.1 交叉开关设计 113
6.3.2 交叉开关加速 115
6.3.3 交叉开关切分 117
6.4 分配器和仲裁器 118
6.4.1 round-robin 仲裁器 119
6.4.2 矩阵仲裁器 121
6.4.3 分离式分配器 122
6.4.4 波前分配器 124
6.4.5 分配器的组织方式 130
6.5 流水线 131
6.5.1 流水线的实现 133
6.5.2 流水线的优化 136
6.6 低功耗微体系结构 143
6.6.1 动态功耗 144
6.6.2 漏电功耗 145
6.7 物理电路实现 147
6.7.1 路由器布局规划 147
6.7.2 缓冲区电路实现 149
6.8 前沿技术概述 149
第7章 建模和评估 153
7.1 评价指标 153
7.1.1 分析模型 153
7.1.2 理想的互连结构 156
7.1.3 网络延迟?吞吐量?能耗曲线 157
7.2 片上网络建模的基础架构 160
7.2.1 RTL和软件模型 160
7.2.2 功耗和面积模型 161
7.3 网络流量 162
7.3.1 消息类、虚拟网络、消息长度和顺序 162
7.3.2 应用程序的网络流量 163
7.3.3 合成网络流量 165
7.4 调试方法 166
7.5 片上网络生成器 167
7.6 前沿技术概述 169
第8章 案例分析 171
8.1 MIT Eyeriss(2016) 172
8.2 Princeton Piton(2015) 175
8.3 Intel Xeon Phi(2015) 177
8.4 D E Shaw研究的Anton 2(2014) 181
8.5 MIT SCORPIO(2014) 182
8.6 Oracle Sparc T5(2013) 185
8.7 密歇根大学的 Swizzle Switch(2012) 186
8.8 MIT Broadcast NoC(2012) 187
8.9 Georgia Tech 3D-MAPS(2012) 189
8.10 KAIST Multicast-NoC(2010) 190
8.11 Intel Single-chip Cloud(2009) 191
8.12 UC Davis AsAP(2009) 193
8.13 Tilera TILEPro64(2008) 195
8.14 ST MicroElectronics STNoC(2008) 198
8.15 Intel TeraFLOPS(2007) 201
8.16 IBM Cell(2005) 204
8.17 小结 205
第9章 结论 207
9.1 超越传统的互连 207
9.2 弹性的片上网络 210
9.3 作为FPGA内部互连的NoC 211
9.4 多加速器的异构SoC中的NoC 212
9.5 片上网络的相关会议 213
9.6 文献说明 213
参考文献 214
序
是什么激发了将我们的On-Chip Networks翻译成中文的想法,特别是在本书的三位作者都不精通中文的情况下?这一切源于十年前,在麻省理工学院,我们遇到了当时还是访问博士生的任鹏举。那个时候,关于片上互连网络的研究课题,大家在一起进行了多次有趣而激动人心的头脑风暴式的研讨。十年后,我们都已分开,并各自居住在不同的国家。鹏举与我们联系,表达了他有兴趣将本书翻译成中文的想法,我们都非常高兴。在整个翻译过程中,我们也帮助解决其中所遇到的问题。
由于新冠病毒在全球蔓延,2020年是特别艰难的一年。在某种程度上,本书为我们提供了重新交流的机会,帮助我们一起跨越新冠病毒所带来的阻碍。当我们不断努力探索新的工作、新的教学和学习方式时,我们很感激本书的翻译工作将我们再次联系起来,并通过该书使得新一代的学生和研究人员能够更好地学习片上互连网络这一技术。
自2009年On-Chip Networks版电子书出版以来,片上互连网络获得了巨大的发展。在2009年,该技术还主要处于学术研究阶段。到2017年On-Chip Networks第二版时,工业产品中已经开始出现采用片上互连网络的芯片设计。到2020年,片上互连网络技术已经得到了长足的发展,无论是高性能还是嵌入式处理器,已经有越来越多的产品采用这一技术。同时,随着大家对机器学习兴趣的激增,以及越来越多的芯片初创公司的兴起,我们看到众多的加速器平台对片上互连网络这一技术的兴趣和应用与日俱增。目前,片上互连网络的设计依然充满着许多的挑战和机遇,我们希望通过这本译著,可以启发更多的读者去追求更好、更新的解决方案。
我们深感荣幸的是,中文译本《片上互连网络——多核/众核处理器关键技术》使我们的On-Chip Networks可以覆盖到更多的读者。我们衷心地希望这本书有助于推动片上互连网络进一步的发展。
娜塔莉·恩赖特·杰格(Natalie Enright Jerger)
图沙·克里希纳(Tushar Krishna)
白俐翾(Li-Shiuan Peh)
2020年11月
译者序
片上互连网络受到国内外越来越多的关注,是目前多处理器设计的关键技术之一,可是目前国内这方面的专业书籍较少。在2010年的春季学期,译者曾在麻省理工学院学习Li-Shiuan Peh教授主讲的“片上互连网络”课程,还与Tushar Krishna教授有过多次关于多核仿真器片上网络的技术讨论,深感受益良多。两位教授均是该领域的国际知名学者,他们参与编写的On–Chip Networks是该领域的重要著作。我们因此萌生了将这本优秀著作的第二版介绍给中国读者的想法,并且就此与两位教授进行了沟通,得到了他们的大力支持。同时,在本书的翻译过程中,我们还就图书内容与他们进行了频繁交流,在此感谢他们的指导和帮助。
原著面向的是具有一定多处理器和片上网络基础知识的读者,因此对一些基础概念和技术细节并没有过多阐述。然而,考虑到片上网络技术的迅速发展,以及其自身的跨学科特点,本书的读者可能来自不同的技术领域,为了让读者更好地理解本书内容,我们在征求原著作者意见的基础上,对原著进行了注解和补充,旨在就书中涉及的一些重要概念和技术进行更为详细的阐述。我们希望这些新增内容对读者有所帮助。除此之外,本书在翻译的过程中力求语言风格平实,在保证其严谨性的前提下,不失专业性和可读性。
然而,由于译者水平所限,难免存在翻译错误或表达欠妥的地方,希望读者批评指正,也欢迎交流讨论([email protected],)。特别说明,因原著中正文标注的参考文献编号没有按从小到大的顺序编排,为了对应原著,本书中的参考文献编号及顺序也不做变动。同时,请读者注意“互联网络”和“互连网络”两个概念的区别:“互联网络”特指由多个计算机网络相互连接而形成的大型网络,如用于传输文本、语音、图像、视频等多媒体信息的因特网(Internet);而本书讲述的“互连网络”(interconnection network)特指计算机处理器架构中用于连接多个计算核心并承担多个计算核心之间通信的网络。愿本书能为学习片上互连网络的同学和教师提供很好的帮助与参考。
感谢西安交通大学郑南宁院士,当他得知我们要翻译原著时,给予我们许多指导和建议。感谢同一课题组中的胡康、赵文哲、陈飞三位老师,在我们的研究工作中对片上网络的设计方法进行了实践和验证,同时给本书提出很多宝贵的建议。
后,感谢佟健铭、宗鹏陈、赵浩然三位同学,他们在本书的翻译和校对过程中贡献了非常多的智慧。《礼记·学记》中的“学然后知不足,教然后知困”和“教学相长”的道理会一直鞭策我们学习和进步。
译 者
2020年10月于西安交通大学
人工智能与机器人研究所
原著前言
本书的目标读者是熟悉计算机体系结构基本概念,并且有兴趣了解片上网络的工程师和研究人员。本书旨在对片上网络设计中重要的概念进行梳理,既可作为理解片上网络基础知识的学习参考资料,同时也展示了当前片上网络的研究工作。我们相信,本书既可以教授基本概念,又可以突出的设计,对研究生和行业工程师都具有重要价值。虽然无法涵盖所有的内容,但我们希望此书能为读者阐明基本概念,并明确片上网络研究的趋势和目前存在的不足。
随着该领域的快速发展,我们认为需要及时地在第二版中对的技术进行更新和回顾。在本书的后部分新增两章内容。我们在本书中更新了过去几年的研究,并扩展了基本概念的范畴,包括现在已经用于多核处理器产品的多个研究思路。我们相信,这部分的内容是所有片上网络从业者应当掌握的概念,如消息传递(message passing)、多播路由和气泡流控制方案等。
本书的结构如下。
第1章介绍了多核架构环境下的片上网络,并讨论了随着可扩展性需求的增长,它们从简单的点对点(point-to-point)线路到总线的演进。
第2章解释了片上网络如何适配到多核设计的整体系统架构中。具体来说,我们详细讲述了为满足共享存储的单芯片多处理器缓存一致性协议(cache coherence protocols)所需的设计要求,并将其与基于消息传递的多核系统中的要求进行对比。除了对系统要求进行讨论,本章还介绍了系统与网络之间的接口。
通过对系统架构的讨论,我们阐明了使用片上网络技术的场景和情境。在此基础上,我们开始探索片上网络的细节。拓扑(topology)通常是设计网络的首要问题,因此,第3章介绍了各种拓扑在成本和性能方面的权衡策略。
在给定网络拓扑之后,必须通过路由算法(routing algorithm)来确定整个网络结构中传递消息的路径,第4章介绍了路由算法。
第5章介绍了网络中使用的流控制(flow control)机制。流控制指定了当数据包从源节点传输到目的节点时,如何将网络的资源(如缓冲区和链路带宽)分配给数据包。
拓扑、路由算法和流控制都是构成网络路由器微体系结构的因素。第6章详细介绍了各种路由器微体系结构的权衡和设计问题。本章包括构成路由器微体系结构的缓冲区、交叉开关和分配器的设计。尽管片上网络各个方面的创新都有助于解决功耗问题,我们还是将新的功耗讨论集中在微体系结构章节中,因为绝大多数的功耗优化都位于微体系结构设计中。
新增加的第7章介绍了建模和评估片上网络的细节,从软件仿真到RTL设计,以及FPGA仿真,再到延迟、吞吐量、面积和功耗的架构模型。本章还指导读者理解一些用于评估和比较片上网络的有用指标和理想的理论标准。
随着众多行业和学术界的片上网络芯片问世,我们在新增加的第8章中专门研究这些芯片。本章帮助读者全面理解前几章中介绍的各种基本概念、各种概念整体的含义,以及这些概念的设计和实现的实际意义。
后在第9章中,我们为读者呈现了未来几年将推动片上网络研究的关键挑战和新的探索领域。大量的新研究已经浮出水面,在这里,我们关注各种重要的趋势,突出了片上网络研究的学科交叉性。新兴的互连和设备大大改变了片上网络各种实现的权衡标准,反过来促进新设计的出现。同时,我们也更新了一些重要的指标。例如,系统弹性(resilience)用于反映系统对于制造过程中不可避免的波动的恢复能力,服务质量(Quality-of-Service,QoS)用于反映多核上同时运行多个工作负载的响应质量和情况。这些新增加的指标,为整个片上网络的研究提供了新的维度,用于激发新的研究思路。
娜塔莉·恩赖特·杰格(Natalie Enright Jerger)
图沙·克里希纳(Tushar Krishna)
白俐翾(Li-Shiuan Peh)
评论
还没有评论。