glitch功耗的问题在先进节点上更加突出

这个问题在 AI 加速器中尤为严重,修复这个问题需要一些tradeoff。

据估计,一些最先进和最复杂的芯片设计中总功耗的 20% 到 40% 被浪费了。

glitch功耗并不是一个新现象。在先进节点上,glitch功耗问题正变得越来越突出,没有一种解决方案适用于所有芯片或设计类型。

在组合电路中,时钟控制不同状态寄存器的传播。但是,在栅极或导线中经常存在延迟,因此输入不会同时到达栅极。

假设你有一个 AND 或 OR 门,你所有的信号不会同时到达,所以需要有一个允许范围内的稳定时间窗口。输入越多,发生这种情况的概率就越大,浪费的glitch功耗就越多。


这种现象也被称为hazards。hazards是电路中可能产生这种glitch的原因。根据逻辑的类型,如果存在非常宽的扇入逻辑,或者非常长深度的组合逻辑,那么这些glitch发生的可能性就更高。glitch是非常高频率的东西,它们toggle,然后几乎立即关闭,这种情况可能在任何地方发生多次。

AI 加速器中的glitch 

对于 AI 加速器来说,这个问题尤其麻烦,因为 AI 加速器旨在以最小的功耗实现最大的性能。

在神经网络处理硬件中,有很多乘法累加计算。事实上,许多神经网络处理器的评级标准是每秒执行数以百万计的MAC,这是性能的衡量标准。但是,如果你看一下硬件乘法器和加法器的传统设计,并且这些类型的电路串联在一起,并采用流水线连接。发生的情况是,即使在单个时钟周期内,也发生了很多这些信号转换。由于不同电路的不同延迟,最终稳定下来,得出最终结果。

由于电路的设计方式,这些神经网络处理器中的乘法器非常容易出现glitch功耗,并且需要多次转换才能稳定到最终结果。
79087c4e95357646752cb3de7affb021.png

glitch源识别和排序

整体效率
Glitch 也会影响设计的整体效率。当你切换某些东西时,它使用来自电压源的能量,一直到引脚,但也使用存储在网络电容中的能量。因此,如果你像这样打开和关闭,你就会不必要地充电和放电这些电容器。

由于 RC 延迟增加,先进工艺使情况变得更糟。在先进节点中,晶体管越来越小,延迟开始由RC部分主导。当进入越来越先进的节点时,这些小晶体管必须驱动这些大负载,信号延迟和变化的机会就越多。

如果在线路中存在hazards,就会增加发生glitch的可能性。由于两个输入信号的到达时间不同,因此出现了输出glitch。

很多时候这个glitch的传播实际上影响更大,对于芯片设计师来说,更令人担忧的是它的下游影响,因为这种glitch不仅仅停留在那个信号上。这就是事情变得非常复杂的地方。很多时候它可以向下游传播,因为组合逻辑是多级的。如今,数据路径更深,时钟频率更快。数据路径可以深达 15 或 20 级,该信号的glitch可以一直传播,并导致它通过的每个栅极的功耗浪费。

过去,对glitch功耗的担忧并不多,因为它在总动态功耗中占比不大。但是,我们开始在7nm左右看到的情况,组合逻辑路径开始变得如此之深,以至于glitch功耗成为一个大问题。突然之间,在某些设计中,它占总动态功耗的 25% 到 40%。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/546958.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Android SQLite

一、使用SQLiteOpenHelper类创建数据库与版本管理 1、nCreate(database):首次使用软件时生成数据库表 2、onUpgrade(database,oldVersion,newVersion):在数据库的版本发生变化时会被调用, 一 般 在软件升级时才需改变版本号,而数据库的版本是由…

20240328-2-随机森林面试题RandomForest

随机森林面试题 1. 简单介绍随机森林 一种基于树模型的Bagging的优化版本,一棵树的生成肯定还是不如多棵树,因此就有了随机森林,解决决策树泛化能力弱的特点。 多次随机取样,多次随机取属性,选取最优分割点&#xff…

在Vue3中如何使用H.265视频流媒体播放器EasyPlayer.js?

H5无插件流媒体播放器EasyPlayer属于一款高效、精炼、稳定且免费的流媒体播放器,可支持多种流媒体协议播放,可支持H.264与H.265编码格式,性能稳定、播放流畅,能支持WebSocket-FLV、HTTP-FLV,HLS(m3u8&#…

【uniapp踩坑记】——微信小程序转发保存图片

关于微信小程序转发&保存图片 微信小程序图片转发保存简单说明网络图片的转发保存base64流形式图片转发保存 已经好多年没写博客了,最近使用在用uniapp开发一个移动版管理后台,记录下自己踩过的一些坑 吃相别太难看,搞一堆下头僵尸号来点…

【YOLOv9】使用yolov9训练自己的数据集/验证 /推理 /参数分析

完胜V8的SOTA模型Yolov9(论文阅读笔记)内容 点击即可跳转 当今的YOLO系列武林盟主YOLOV9: YOLOv9的优秀表现: 环境: ubuntu20.04,无GPU,使用anaconda3创建的虚拟环境yolov9。 环境安装: conda create -n …

JavaSE图书管理系统

JavaSE图书管理系统 思路一.Main方法二.User包1.User类2.NormaUser类3.AdminUser类三.book包1.BookList类2.Book类四.operation包1.IOPeration接口2.AddOperation类新增图书3.BorrowOperation类借阅图书4.DelOperation类删除图书5.FindOperation类查找图书6.ReturnOperation类归…

Centos7配置IP地址

1、找到网卡名字 使用root用户登陆,输入命令 ifconfig 2、打开配置文件 输入命令,打开配置文件 vi /etc/sysconfig/network-scripts/ifcfg-ens33 3、添加IP地址 3.1修改BOOTPROTO 将“BOOTPROTOdhcp” 改为 “BOOTPROTOstatic” 3.2添加IP地址 在配…

【JavaEE多线程】从单例模式到线程池的深入探索

目录 多线程案例单例模式阻塞队列定时器线程池总结-保证线程安全的思路对比线程和进程 多线程案例 单例模式 单例模式是一种设计模式 设计模式,就是程序员的棋谱,这里介绍了很多典型场景,以及典型场景的处理方式,按照设计模式写…

火车头采集一键发布到Zblog

火车头采集发布到Zblog系统,主要操作步骤如下: 目录 1、Zblog火车头Web发布模块 2、内容发布参数映射,火车头发布到Zblog 3、简数一键发布到Zblog方法 1、Zblog火车头Web发布模块 自行编写Zblog火车头Web发布模块,一般要使用f…

Linux--进程间的通信--进程池

进程间的通信–匿名管道 进程池的概念 进程池是一种将多个进程组织起来以执行特定任务的机制。它由多个预先创建好的资源进程和一个管理进程组成。这些资源进程被管理进程负责分配和调度,用于处理任务。 当有新的任务提交时,管理进程会从进程池中取出一…

2024北京门窗展|2024北京门窗展会|2024北京门窗展览会

CWE中国(北京)国际系统门窗及幕墙博览会 CWE China(Beijing)International System Doors Windows and Curtain Walls Expo 2024年8月29-31日 北京,中国国际展览中心顺义馆 展会概况: 2024年CWE中国&…

【Unity】ScriptableObject 在游戏中的使用实例

ScriptableObject 在游戏中的使用实例 ScriptableObject 使用指南Unity 存储游戏数据的几种方法Unity ScriptableObject实例创建一个物品管理的ScriptableObject创建一个管理所有 ScriptableObject 的数据库(ItemDBSO) ScriptableObject 使用指南 Scrip…

回溯算法练习day.2

216.组合总和III 链接:. - 力扣(LeetCode) 题目描述: 找出所有相加之和为 n 的 k 个数的组合,且满足下列条件: 只使用数字1到9每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相…

基于STM32的RFID智能门锁系统

本文针对RFID技术,着重研究了基于单片机的智能门锁系统设计。首先,通过链接4*4按键模块与主控STM32,实现了多种模式,包括刷卡开锁、卡号权限管理、密码开锁、修改密码、显示实时时间等功能。其次,采用RC522模块与主控S…

【C语言基础】:预处理详解(二)

文章目录 一、宏和函数的对比二、#和##运算符2.1 #运算符2.2 ##运算符 三、#undef四、命令行定义五、条件编译六、头文件的包含1. 头文件包含的方式2. 嵌套文件包含 上期回顾: 【C语言基础】:预处理详解(一) 一、宏和函数的对比 宏通常被应有于执行简单…

Vue3---基础10(路由)

写一个最基本的路由导航 下载、创建、使用路由 下载路由 npm i vue-router 创建路由 先在 src 内去创建一个 router 文件夹 在文件夹内创建一个 index 文件 index.ts 内代码 // 创建一个路由器,并暴露出去 // 引入createRouter import { createRouter, createWeb…

CSS使用自己的字体

在项目的根目录下的static文件夹中放置字体文件。在项目中使用这个字体,需要2个步骤。 一. 你需要在全局样式文件中引入它。 假设你的全局样式文件是App.vue或者App.vue中引入的App.scss文件,你可以像这样引入字体文件: font-face {font-fa…

深度学习体系结构——CNN, RNN, GAN, Transformers, Encoder-Decoder Architectures算法原理与应用

1. 卷积神经网络 卷积神经网络(CNN)是一种特别适用于处理具有网格结构的数据,如图像和视频的人工神经网络。可以将其视作一个由多层过滤器构成的系统,这些过滤器能够处理图像并从中提取出有助于进行预测的有意义特征。 设想你手…

MySQL中的存储过程详解(上篇)

使用语言 MySQL 使用工具 Navicat Premium 16 代码能力快速提升小方法,看完代码自己敲一遍,十分有用 拖动表名到查询文件中就可以直接把名字拉进来中括号,就代表可写可不写 目录 1.认识存储过程 1.1 存储过程的作用 1.2 存储过程简介…

C#基础|数据类型、变量

哈喽,你好啊,我是雷工! 01 数据类型 数据类型是为了方便存储数据的,为了将数据按照不同的分类存储,所以引入数据类型。这个在PLC中已经很熟悉了。 数据类型的作用:就是为了更好地管理内存,为…