NoC (Network on chip) 基础 (1) : 片上网络的简介

本系列的文章是我在学习NoC经典书籍:Principles and Practices of Interconnection Networks 以及相关的论文过程中所作的总结和归纳。在敦促自己建立更全面知识体系的同时,希望也能够帮助到对这一领域想作快速了解的同学。

背景介绍

随着数字电路规模的不断增大,传统的总线型数据交换方式导致的数据传输速率低下,越来越成为限制性能提升的瓶颈。通过互联的片上网络进行各部件的数据交流开始普遍。

数字电路由三个基本部分组成:

  • 逻辑(logic)
  • 存储(memory)
  • 通信(communication)

片上网络是什么

片上网络是数字电路中各子系统之间进行通信的一种手段。即在硬件层面上搭建类似于“计算机网络”的电路结构,进行各组成部分之间的数据交换。发展相对悠久的“计算机网络”中的诸多概念在片上网络中也能找到对应:如拓扑、路由、流控制等等。
可以先这样简单的理解:片上网络就是在数字电路中一个简化版的“网络”

连接网络的各组件抽象为terminal,互联网络负责各terminal之间通过channel传递数据。与更高维度的“计算机网络”相比,信道距离短、数据传输速率快是硬件层面的片上网络的根本特点。
在片上网络中,各terminal多为processor、memory这一级别的组件。
在这里插入图片描述

设计NoC时的考虑因素

和“计算机网路”类似,我们要根据用户实际场景来设计对应的片上网络。可以考虑的点如下:

  • 连接网络的终端数(Terminal)
  • 终端所需的峰值带宽(peak bandwidth)和平均带宽(average bandwidth)
  • 延迟的要求(latency)
  • 单条信息的长度的分布(message size)
  • 交通模式(traffic pattern):指每个terminal发送数据的目标terminal的分布(就朝着一个目标terminal使劲发 还是 这个发几条那个发几条)
  • 服务质量(quality of service):是否考虑信息优先级设置
  • 可靠性(reliability):指消息能否正确可靠的发送到目的地。一般情况下要求100%的可靠性。
  • 可用性(availability):指网络的可用且操作正确的时间占比。

一个典型的应用场景:Processor-Memory Interconnect

以下展示了两种连接processor和memory的互联网络。

  • Dance-hall architecture
  • Integrated-node architecture

其中第二种架构在现代的机器中更为常见。它将单个processor和单个memory通过communication swtich组成一个节点。这样processor既可以快速访问local memory,同时也能够通过互联网络访问其他memory。
在这里插入图片描述
在这种互联网络中传递的消息类型有以下四种:

  • Read request
  • Read reply
  • Write request
  • Write reply

根据他们各自的功能要求,将message格式分为如下两种。
在这里插入图片描述
在这里有必要区分message和packet的不同。message是在各接入网络的terminal 视角的数据格式,而packet是数据在网络中实际传输时的包格式。单个message可以切分为多个packet,加上协议的包头在网络中传输。这取决于互联网络中采用的协议。(比如为了简化网络中对于不等长message的数据交换,将它们切分为固定长度的packet在网络中传输,到达目的地之后再拼装起来)

NoC的组成部分

为了满足上述所提的各实际场景的不同需求,对NoC各部分的设计均要有所考虑。
为了提升通信质量(时延、带宽、能耗、电路面积),通信资源的共享可以作为互联网络的出发点。就和“计算机网络”一样,我们不会对任意两个Terminal进行点到点的连接,我们通过一系列共享channel和一系列共享的router完成互联。

拓扑结构(Topology)

拓扑结构即是指,一系列共享的router和channel的排列组合形式。

Torus topology:
在这里插入图片描述

Ring topology:
在这里插入图片描述

路由算法 (Routing)

路由算法决定了从出发地到目的地packet传递的路径。因此路由算法一定建立在Topology的基础上。

一个好的路由算法,能够适应可能面对的 traffic pattern,均衡各个channel的压力,保证通信质量。
在这里插入图片描述

流控制(Flow Control)

流控制指的是,当packet从源地址到目的地址的过程中,所经过路径上各种资源的分配过程。其中最关键的资源有两个:

  • Channel:就是node之间通信的信道。
  • Buffer:使用register或memory,让packet能暂存在node中。

一条很恰当的比喻:The topology determines the roadmap, the routing method steers the car, and the flow control controls the traffic lights, determining when a car can advance over the next stretch of road (channels) or when it must pull off into a parking lot (buffer) to allow other cars to pass.

流控制算法应该要做到,在分配buffer资源时,尽量避免因资源冲突导致的channel资源闲置。
比如当一个packet希望通过一条空闲的channel发走时,他却由于buffer占用被迫等待,这个buffer中的packet此时在等待另一条非空闲的channel。这便是flow control不希望看到的情景。
一个简单且有效的解决方法是,为将要选择从不同channel发走的packets,各自分配不同的buffer。这就好像在红绿灯路口分别设置左转、直行、右转车道,直行车辆和右转车辆不必因为向左走的路堵死了而无法直行和右转。

一个好的流控制策略应该做到公平且无死锁。它不应该造成一个packet无休止的等待下去。

以下列举了两种流控制策略的time-space图。

  1. Store-and-forward flow control
  2. Cut-through flow control

Cut-through方法因为将packet划分为flits,作为流控制的最小单位。因此对于Channel的利用率更高。
在这里插入图片描述

下一篇:NoC (Network on chip) 基础知识 (2) :片上网络的拓扑结构(Topology) 将从网络拓扑的基本概念开始介绍 NoC。

来自MIT大佬Natalie Enright Jerger、Tushar Krishna、以及Li-Shiuan Peh总结的体系结构片上网络(onchip network)的学习材料(目前主要用于MIT相关课程教学)。 英文摘要:This book targets engineers and researchers familiar with basic computer architecture concepts who are interested in learning about on-chip networks. This work is designed to be a short synthesis of the most critical concepts in on-chip network design. It is a resource for both understanding on-chip network basics and for providing an overview of state of-the-art research in on-chip networks. We believe that an overview that teaches both fundamental concepts and highlights state-of-the-art designs will be of great value to both graduate students and industry engineers. While not an exhaustive text, we hope to illuminate fundamental concepts for the reader as well as identify trends and gaps in on-chip network research. With the rapid advances in this field, we felt it was timely to update and review the state of the art in this second edition. We introduce two new chapters at the end of the book. We have updated the latest research of the past years throughout the book and also expanded our coverage of fundamental concepts to include several research ideas that have now made their way into products and, in our opinion, should be textbook concepts that all on-chip network practitioners should know. For example, these fundamental concepts include message passing, multicast routing, and bubble flow control schemes. Table of Contents: Preface / Acknowledgments / Introduction / Interface with System Architecture / Topology / Routing / Flow Control / Router Microarchitecture / Modeling and Evaluation / Case Studies / Conclusions / References / Authors' Biographies 是学习NOC等领域的非常好的材料。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值