0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

异步电路原理及其优势和劣势,并通过Intel的Loihi芯片看看它的实现

dKBf_eetop_1 来源:未知 作者:李倩 2018-05-01 16:24 次阅读

芯片设计的同学应该或多或少的听到过“异步电路”(Asynchronous Circuit)。和我们实践中使用的同步电路相比,异步电路好像一直是一个传说中的存在。虽然甚至有过完全基于异步电路的处理器,但它始终没有进入过主流的数字芯片领域。不过,伴随AI芯片的热潮,异步电路越来越多的出现在我们视野当中,甚至成了一些芯片的卖点。本文和大家一起探讨一下异步电路原理及其优势和劣势,并通过Intel的Loihi芯片看看它的实现,希望能够给大家一个更清晰的认识。

如果要了解异步电路,[1]是一个比较好的参考。首先我们可以从下面4个图简单回顾一下异步电路的概念。

目前数字芯片的主流设计都是同步电路(Synchronous),它的基本结构如上图所示。数据的流动靠一个全局时钟信号(Clock)来同步。所有的时序器件(图中的Rn)都是在时钟边沿采样数据并向后传输。数据被处理(比如逻辑和算数操作)后到达下一级。相当于大家都只在约定好的时间点才观察输入数据线上的数据,只要保证数据在这个时间点是稳定正确的,数据就可以正确的被传递和处理。可以说,这种以时钟信号驱动的流水线结构是现代数字电路的基础。随着设计和测试的复杂度的不断提高,加之低功耗设计(比如clock gating)的需求,在一个实际设计中,时钟信号会变得异常复杂,如下图所示。这也是困扰目前大规模芯片设计的主要问题之一。

言归正传,我们还是重点看看异步电路。异步电路有时也称为无时钟(clockless)或者自定时(self-timed)电路,顾名思义,就是没有全局时钟的电路,如下图所示。在异步电路中,大家没有一个统一的时钟,前后级直接告知对方能否接收数据。具体来说,就是通过前后级直接发送握手信号(Request和Acknowledge)来保证数据传输的正确性。Bundled-data是这种机制的一个标准术语,其含义是数据和控制信号捆绑在一起,而其中控制信号则起到了在同步电路中时钟信号所起的作用。

Bundled-data使用的控制协议包括几种,比如数据传输要进行4次握手的4-phase bundled-data protocol,和只要两次握手的2-phase bundled-data protocol。下图来自[2],图灵奖得主Ivan Edward Sutherland的一篇论文。正是这篇论文提出了2-phase bundled-data protocol(论文还包括了其它非常丰富的内容和思考,非常值得一看)。这张图非常清楚的描述了用两次握手来实现数据传输的方法,我就不多解释了。这里要注意的是,控制信号Request和Acknowledge的上升沿和下降沿是完全等效的。

从这里不难看出在异步电路中控制信号是非常重要的。回想一下Petascale AI芯片Vathys:靠谱项目?清奇脑洞?还是放卫星?,印度小哥给的一页PPT就是在说他们的异步电路设计的控制信号性能多好。不管是不是忽悠,关键点还是抓住了。

•••

下面我们来讨论一下异步电路和同步电路相比的优势和劣势,以及它在AI芯片里的应用。在Wikipedia的“Asynchronous circuit”词条里,对两者进行了比较完整的对比。(可能因为主题词是异步电路,对优势讲的比较多)

优势:

Robust handling ofmetastabilityofarbiters.

对做数字芯片的同学来说,亚稳态(metastability)一直是个头疼的问题。它主要是指数字信号在翻转(比如从低电平‘0’变为高电平‘1’)的过程中会有一段时间(transition time)信号不稳定,如果我们正好在这个过程中对信号进行采样,则结果是不确定的,可能是‘0’也可能是‘1’。因此在同步电路中,必须保证在采样的时刻(时钟边沿)信号必须是稳定状态。这在时钟频率很高,和跨时钟域数据传输时是很有挑战的。而在异步设计中,由于控制信号本身就和数据信号的状态相关,可以比较容易的解决这个问题。

Higher performance function units, which provide average-case (i.e. data-dependent) completion rather than worst-case completion.

使用异步设计,有可能实现更高性能的功能单元。这是因为在同步设计中,由于大家都在相同时钟下工作,最小的时钟周期必须保证电路在信号传输的最差情况(worst-case)下仍然能正确工作,所以整体性能被最差的点限制。而异步设计中,每一级完成操作的时间只和本级相关,整体性能是平均的结果,因此可能在整体上超过同步电路。可以说异步设计如果发挥“出色”,在性能上是可以超过同步设计的,当然这对技术能力是个巨大的挑战。

Early completionof a circuit when it is known that the inputs which have not yet arrived are irrelevant.

当知道尚未到达的输入数据与功能不相关时,可以提前早完成这一级电路的操作。

Lower power consumption because no transistor ever transitions unless it is performing useful computation...Also, clock drivers can be removed which can significantly reduce power consumption. However, when using certain encodings, asynchronous circuits may require more area, which can result in increased power consumption if the underlying process has poor leakage properties (for example, deep submicrometer processes used prior to the introduction ofHigh-k dielectrics).

低功耗是可能异步电路在宣传中最多的提法。原因也很简单,在没有数据发生变化的时候,异步电路是不工作的。此外,在同步电路中我们需要很多的时钟驱动电路来保证全局时钟信号的质量,这也非常耗电。异步电路当然没有这个问题。

但是,在说异步电路的功耗低的时候,我们必须相当谨慎。首先,异步电路需要额外的控制信号,当使用某些编码时,异步电路可能需要更多面积,而更多的面积意味着更大的静态功耗。我们知道,CMOS工艺尺寸越小,静态功耗在整体功耗里所占比例越大。因此,异步电路虽然只在必要时工作,但整体在能耗上的表现还是需要认真分析才能有准确结果。第二,目前同步设计也会采用各种低功耗设计手段,比如门控时钟技术等等,对比的时候应该考虑这个因素。

"Elastic" pipelines, which achieve high performance while gracefully handling variable input and output rates and mismatched pipeline stage delays.

异步电路可能实现“弹性”流水线,这个话题在[2]中有非常详细的说明,确实是“gracefully”。

Freedom from the ever-worsening difficulties of distributing a high-fan-out, timing-sensitive clock signal.

之前已经提到,目前的数学芯片设计中的复杂时钟信号已经是一个最有挑战性的问题。在一个芯片设计项目中,需要把大量的精力放在时钟树的设计和验证上。

Better modularity and composability.

更好的模块化和可组合性?这个可能还是强调异步电路的控制完全在本地进行,可以比较好的集成。

Far fewer assumptions about the manufacturing process are required (most assumptions are timing assumptions).

目前的芯片设计,必须对生产工艺做很多假设,特别是时序上的问题。而对异步电路来说,这个问题要简单一些。

Circuit speed adapts to changing temperature and voltage conditions rather than being locked at the speed mandated by worst-case assumptions.

相对而言,异步电路的速度可以比较好的适应变化的温度和电压条件,而不是必须考虑最坏情况。换句话说,如果温度,电压等条件发生变化,导致电路延时变大,异步电路本身就可以适应这种变化,“自动”降低速度,而不会发生功能的错误。

Immunity to transistor-to-transistor variability in the manufacturing process, which is one of the most serious problems facing the semiconductor industry as dies shrink.

对制造过程中的variation可以比较好的适应。而这个问题随着工艺尺寸的缩小,是半导体行业面临的最严重的问题之一。

Less severeelectromagnetic interference(EMI). Synchronous circuits create a great deal of EMI in the frequency band at (or very near) their clock frequency and its harmonics; asynchronous circuits generate EMI patterns which are much more evenly spread across the spectrum.

电磁干扰(EMI)问题相对要少。 同步电路的时钟信号,在其时钟频率及其谐波处(或非常接近)的频带内产生大量EMI; 异步电路会产生EMI,但其模式在整个频谱上是均匀分布的。

In asynchronous circuits, local signaling eliminates the need for global synchronizationwhich exploits some potential advantages in comparison with synchronous ones. They have shown potential specifications in low power consumption, design reuse, improved noise immunity and electromagnetic compatibility. Asynchronous circuits are more tolerant to process variations and external voltage fluctuations.

这个不解释了,基本是前面所说的优势的一个总结。不过还是强调一下,这些优势的原因是异步电路“local signaling”的本质特点。

Less stress on the power distribution network. Synchronous circuits tend to draw a large amount of current right at the clock edge and shortly thereafter. The number of nodes switching (and thence, amount of current drawn) drops off rapidly after the clock edge, reaching zero just before the next clock edge. In an asynchronous circuit, the switching times of the nodes are not correlated in this manner, so the current draw tends to be more uniform and less bursty.

还是由于不需要一个强有力的全局时钟,异步电路中对供电网络的压力也会减轻。

小结一下,异步电路还是有很多特点的,我们不能简单的说一句“异步电路可以降低功耗”就作为概括。它的很多优势都是源于“local signaling”的基本特点。抓住这一点,对于思考它在特定应用的作用非常重要。

劣势:

Area overhead may be up to double the number of circuit elements (transistors), due to addition of completion detection and design-for-test circuits.

由于增加了控制和用于DFT的电路,异步电路的面积开销可能高达同步设计的的两倍。

Fewer people are trained in this style compared to synchronous design.

与同步设计相比,了解这种风格的人要少很多。当然,这也是因为在实际设计中用的少的原因。

Synchronous designs are inherently easier to test and debug than asynchronous designs.However, this position is disputed by Fant, who claims that the apparent simplicity of synchronous logic is an artifact of the mathematical models used by the common design approaches.

与异步设计相比,同步设计更易于测试和调试。当然,这一观点也有争议。

Clock gatingin more conventional synchronous designs is an approximation of the asynchronous ideal, and in some cases, its simplicity may outweigh the advantages of a fully asynchronous design.

这一点之前已经提到了,同步设计中的时钟门控是异步设计的一种近似,并且在某些情况下,其简单性带来的好处要远比异步设计带来的好处多。

Performance (speed) of asynchronous circuits may be reduced in architectures that require input-completeness (more complex data path).

在需要输入完整性(更复杂的数据路径)的结构中,异步电路的性能(速度)可能会降低。这一点我也没想到很好的例子。

Lack of dedicated, asynchronous design-focused commercialEDAtools.

缺乏专用于异步设计的商用EDA工具。由于现在芯片设计的复杂度越来越高,EDA工具对芯片设计来说是不可替代的,因此这一点也是我们对异步电路的实用性诟病最多的地方。

异步电路曾一度在高性能处理器和低功耗设计领域占有重要地位的,但随着同步设计更快的发展,异步电路越来越边缘化;而用的人越少,这种倾向就更加严重。总的来说,异步电路目前还是“异类”,真正了解并且有经验的人非常少。没有EDA工具的支持下,做一个大型设计几乎是mission impossible。

•••

异步设计虽然比较冷门,但在AI芯片领域,还是看到一些有趣的尝试。特别是在类脑计算(Neuromorphic)芯片中,异步电路是一个比较普遍的选择。

如Intel的Loihi论文[3]所说:

“Biological neural networks are fundamentally asynchronous, as reflected by the absence of an explicit synchronization assumption in the continuous time SNN model given in the Spiking Neural Networks section. Accordingly, asynchronous design methods have long been seen as the appropriate tool for prototyping SNNs in silicon, and most published chips to date use this methodology.Loihi is no different, and, in fact, the asynchronous design methodology developed for Loihi is the most advanced of its kind. For rapid neuromorphic design prototyping, we extended and improved on an earlier asynchronous design methodology used to develop several generations of commercial Ethernet switches. In this methodology, designs are entered according to a top-down decomposition process usingthe CAST and CSP languages...

Given a hierarchical design decomposition written in CSP, a pipeline synthesis tool converts the CSP module descriptions to Verilog representations that are compatible with standard EDA tools.”

这段话里我们可以看到一些重要信息。1.生物神经网络从根本上说是异步的,因此类脑芯片使用异步电路也是很自然的选择;2. Loihi开发的异步设计方法是同类中最先进的。设计使用CAST和CSP语言,采用自顶向下的设计过程。3. 在使用了CSP描述之后,他们使用了一个“pipeline synthesis”工具把CSP描述翻译成Verilog,之后的流程就和目前标准的EDA工具流程兼容了。

其实,Loihi的设计方法可以给我们一些启示,因为这种设计方法尽可能的把传统EDA工具无法支持的部分限定到了最小的范围。这样,我们之前提到的目前EDA工具和异步设计无法兼容的问题就得到一定的缓解。当然,具体的设计和验证的细节我们还不得而知。

以下是Loihi中的Bundled data pipeline和Bundled data pulse generator电路,实现的就是前面介绍的2-phase bundled-data的机制。

•••

除了类脑计算外,目前的ML加速器和处理器很多也采用了数据流驱动的结构。因此,异步设计应该可能在其中发挥一定的作用。但由于ML加速芯片和类脑计算芯片在基本处理和数据传输的需求上有较大的差别,目前把异步电路用在其中的尝试还不是主流。虽然我们也看到一些宣传中提到异步设计的说法,但还不知道实现细节和设计的方法。在这种情况下,还很难断言异步设计能在ML芯片中发挥多大作用。

本文主要希望使读者对异步电路有一个比较全面和公平的认识。正如我多次说过的,脱离应用环境,很难评价一个架构的优劣。放在AI芯片的环境中,异步电路的一些特色确实可能发挥作用。大家可以把异步电路作为一种选择放进自己的工具箱,但也应该看到,它并非轻松就能驾驭的武器。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 异步电路
    +关注

    关注

    2

    文章

    48

    浏览量

    11087
  • AI芯片
    +关注

    关注

    17

    文章

    1859

    浏览量

    34901

原文标题:“传说中”的异步电路是否能在AI芯片中异军突起?(纯干货!)

文章出处:【微信号:eetop-1,微信公众号:EETOP】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    “真异步”的优势如何去理解?

    上周参加第十一届上海国际LED展,在LED大屏控制中有“真异步”这个控制技术,企业推广这种技术具有很大的优势,但是不是很明白如果去解释的优点,有了解的朋友可以解释一下吗?(看了其中的LED屏控制卡,所用的控制
    发表于 09-21 14:33

    开环MIMO和闭环MIMO分别有什么优势劣势

    开环MIMO技术有什么优势劣势?闭环MIMO技术有什么优势劣势
    发表于 06-01 06:00

    OLED技术优势劣势是什么?

    什么是OLED?OLED技术优势劣势是什么?
    发表于 06-02 06:37

    异步电路原理是什么?有哪些优劣势

    异步电路原理是什么?有哪些优劣势通过英特尔的Loihi芯片
    发表于 06-21 07:17

    异步FIFO结构及FPGA设计

    首先介绍异步FIFO 的概念、应用及其结构,然后分析实现异步FIFO的难点问题及其解决办法; 在传统设计的基础上提出一种新颖的
    发表于 04-16 09:25 46次下载

    Intel神经拟态芯片Loihi成型 可以通过数字电路模拟人类大脑行为

    近日,Intel除了公布了一款49量子比特超到量子测试芯片,还拿出了另外一款革命性的芯片Loihi,用于神经拟态计算(Neuromorphic Computing)。该
    的头像 发表于 01-11 12:50 6348次阅读

    Intel CES黑科技:商用49量子位芯片和模拟人类大脑学习的“Loihi芯片

    Intel近日推出的“Loihi”神经拟态芯片才是一款真正意义上的人工智能芯片,可模拟人类大脑自主学习。Intel将与更多的机构呢进行合作,
    发表于 01-11 15:53 1296次阅读

    英特尔推出神经形态的模拟芯片Loihi

    最近,著名“牙膏厂”英特尔宣布推出一款名为“Loihi”的新芯片,据说能够通过从环境中获取的数据学习来模拟大脑功。
    发表于 09-18 17:39 779次阅读

    英特尔Loihi神经形态芯片能效较之提升1000倍

    14nm工艺,有128个核心,包含13万个神经元,适用于脉冲神经网络(SNN)。   目前,英特尔神经形态研究社区(INRC)成员之一的Accenture正在与汽车业伙伴合作,利用Loihi芯片测试概念验证汽车的人工智能模型。如今,通过
    的头像 发表于 12-08 15:21 2094次阅读

    英特尔新的 Loihi 神经形态芯片模仿活体大脑

    英特尔新的 Loihi 芯片的设计方式模仿了活体动物的大脑功能。新的人工大脑内的通信是通过一系列“尖峰”而不是大多数计算机芯片采用的更连续的方式进行的,即使是那些专门为人工智能设计的。
    发表于 08-10 16:17 1203次阅读

    激光焊接有哪些优势劣势

    激光焊接是一种高精度的焊接技术,利用激光束将金属材料加热至熔化点以实现焊接。它在工业领域中得到广泛应用,具有许多优势劣势。本文将介绍激光焊接的优势
    的头像 发表于 07-05 17:16 2436次阅读

    了解千兆光模块和万兆光模块的优势劣势

    千兆光模块和万兆光模块是当前光纤通信领域中常见的两种光模块。它们分别适用于不同的网络通信需求,各有优势劣势。本文将重点讨论千兆光模块和万兆光模块的优势
    的头像 发表于 10-30 11:36 787次阅读

    springcloud的优势劣势

    、数据流等功能。Spring Cloud 的优势劣势如下: 优势: 简化开发:Spring Cloud 提供了一系列的开发工具和框架,使得微服务开发变得更加简洁和高效。开发人员可以通过
    的头像 发表于 12-03 16:22 1852次阅读

    异步信号与同步电路交互的问题及其解决方法

    不良影响。本文将详细介绍异步信号与同步电路交互问题的背景、常见的问题及其解决方法。 一、背景 在现代电子系统中,通信和交互已经成为不可或缺的一部分。为了实现设备之间的信息传递和控制,我
    的头像 发表于 12-07 10:53 657次阅读

    拼接屏有什么优势劣势

    拼接屏,作为一种新型的显示技术,近年来在各个领域得到了广泛的应用。采用多块液晶面板组成一个整体进行使用,通过电子信号的切换来形成不同的画面效果。接下来,我们将对拼接屏的优势劣势进行
    的头像 发表于 06-24 10:43 661次阅读