跳转至

前言(Preface)

本书面向已熟悉众多计算机体系结构基本概念的工程师和研究人员,旨在帮助他们深入了解片上网络(Network-on-Chip, NoC)。 本书力求简明扼要地总结片上网络设计中最关键的概念。 我们设想本书既可作为理解片上网络基础知识的入门资源,也可用来概览该领域的最新研究进展。 我们相信,兼顾基础原理教学与前沿设计展示的概览性内容,将对研究生和业界工程师都极具价值。 尽管本书并非详尽无遗的教科书,我们希望它能阐明片上网络的基本概念,同时识别当前研究的趋势与空白。

鉴于该领域的迅猛发展,我们认为在本次第二版中对前沿进展进行更新与回顾恰逢其时。 本书在结尾新增了两个章节,具体将在下文详细说明。 在全书中,除了更新近年来的研究成果之外,我们还扩展了对基础概念的讲解,涵盖了一些如今已应用于实际产品中的研究思想。 在我们看来,这些思想应当成为每位片上网络研究与设计从业者都应掌握的教科书级内容。 例如,这些基础概念包括消息传递(message passing)、组播路由(multicast routing)以及气泡流控制机制(bubble flow control schemes)。

本书结构如下:

第1章从多核架构的背景出发,介绍片上网络,并探讨其如何从早期简单的点对点连线与总线演进为具备可扩展性的通信结构。

第2章解释了网络如何嵌入到多核系统的整体体系结构中。 我们具体分析了共享内存片上多处理器系统中一致性协议所提出的需求,并将其与消息传递型多核系统的需求进行对比。 本章还描述了系统与网络之间的接口。

在建立了片上网络的系统使用背景后,接下来各章将深入探讨网络设计细节。由于拓扑常常是网络设计中首先要决定的因素,第3章介绍了在成本与性能之间进行权衡的多种拓扑结构。 在确定了网络拓扑后,必须设计路由算法以决定消息在网络中传输的路径。 第4章对各种路由算法进行了讲解。 第5章讨论了网络中采用的流控制机制;流控制决定了网络资源(主要是缓冲区与链路)如何在消息从源端传输到目的端的过程中进行分配。 拓扑、路由与流控制三者共同影响了网络路由器的微架构设计。 第6章详细讲解了各种微架构设计权衡及相关问题,包括组成路由器微架构的缓冲区、交换器与分配器的设计。 虽然功耗问题可以通过片上网络的各个方面加以优化,但我们将新的功耗讨论集中于第6章中,因为许多优化手段正是在微架构层面实现的。

新增的第7章介绍了对片上网络进行建模与评估的核心方法,涵盖从软件仿真、RTL 设计与 FPGA 仿真,到对延迟、吞吐率、面积与功耗的架构级建模。本章还指导读者如何选择评估片上网络的有效指标,并介绍可作为理想基准的理论模型。

鉴于当前业界与学术界中已有众多片上网络芯片问世,我们在新增的第8章中对这些设计进行了系统综述。 本章帮助读者全面理解前几章中提出的各种基础概念如何在实际中被结合应用,以及这些设计概念在实现过程中的具体影响。

最后,第9章总结了未来几年将推动片上网络研究发展的关键挑战与新兴探索方向。可以明确看到,已有大量新的研究成果涌现出来;本章聚焦于其中一些重要趋势,强调了片上网络研究的跨层特性。新型互连与器件的出现显著改变了片上网络的实现权衡,从而促使新的架构设计不断涌现。此外,由于制造工艺中日益增长的工艺波动性,鲁棒性(resilience)已成为一项日益重要的评估指标;而面向同时运行多个工作负载的多核系统,对服务质量(quality-of-service, QoS)的需求也在不断上升。这些新维度将引发全社区范围内的研究探索。