芯片的PPA-笔记
写在前面:这个仅记录自己对芯片PPA的一些思考,不一定正确,还请各位网友思辨的看待,欢迎大家谈谈自己的想法。
1 此次笔记的起因
记录的原因:自己在整理这段时间的功耗总结,又看到工艺对功耗的影响,并联想到买电子产品时会看到芯片采用多少nm的工艺的宣传,所以给自己一个记录,方便后期自我更正。
最近在分析功耗,除了工艺不同外,其它均相同,22nm的总体功耗比55nm的小了很多,动态功耗小了5倍左右,但静态功耗却增加了6倍左右。在55nm时,动态功耗几乎是静态功耗的快40倍了,然而在22nm是,静态功耗几乎快和动态功耗一样了。就上网查了一下,看了下面的链接(不对链接内容做任何评价),就有感而发写了这个,希望广大网友看见这个感想中不对的地方进行批评指正。
先进工艺的硬伤 -- leakage - 后端讨论区 - EETOP 创芯网论坛 (原名:电子顶级开发网) -
2 个人从用户角度理解芯片的PPA
PPA是芯片三个重要的数据,power,performance,area。这三个数据对用户的影响是什么呢?power就是芯片消耗的功耗,最直观的感受就是电子设备充一次电能用多长时间,芯片的功耗越小,充相同的电量,使用的时间越长。performance就是芯片的性能,会影响芯片的响应速度,性能越好,响应速度越快,就比如说在手机上点击视频快进,点下去就会实时快进,如果点下去明显感觉慢了几秒才开始快进,这就是性能不好的表现,那就很会影响使用时的体验。area则是面积,直观来说会影响电子设备的面积,体积和重量。
作为用户来说,功耗越小越好,这样充一次电就能用很长时间;性能当然是快好,不要有明显的延迟。那么面积呢?是不是越小越好?这个得分情况讨论,如果是交互的显示界面,则并不是越小越好,比如说手机屏幕,不能太小,太小要么显示的内容少,要么显示的内容特别小。但除了显示交互部分外,其他的芯片当然是越小越好,越小意味着越轻。然而这三个参数不是独立的,不可能同时趋近于极限,即面积不可能无限小到0,功耗不可能小到0,性能不能无限好到没有延时。这三个参数是一个平衡的抉择。对于用户来说,也不是非要各个参数都到极限最优。面积在合理的范围内就行,不要拿个手机还像以前搬一个大哥大一样;关于性能,延时1ps和延时1ns,延时1ms对用户来说体验是一样的。关于功耗,这个就不一样了,在相同的电量下运行相同的功能,一个能跑10天,一个只能维持5天,这就差距大了。
所以功耗这个参数对产品来说是很重要的,产品的功耗来源于内部的芯片、电路的功耗。因此分解到芯片的功耗需求是很重要的。
对于芯片的研发人员,会尽最大努力去实现PPA的最优平衡。对于减小功耗的其中有一种方法就是使用先进工艺。
Q1:如果在面积满足要求的情况下,为了优化功耗,需要使用先进工艺吗?
总的电能为P,芯片的静态功耗为,动态平均功耗为
,在什么情况下使用先进工艺对用户使用更又好呢?比如充满一次电,芯片开启后一天24小时都有静态功耗,每天只有5小时存在动态功耗,直到芯片把电耗完为止。这种情况下是不是要考虑5小时内动态功耗的减小是否赶得上24小时内静态功耗的增加。如果赶不上,换先进工艺纯粹应该就是噱头,未变好,反变坏。
所以作为电子产品的用户来说并不是所有电子产品的芯片工艺越先进越好。如果我是使用矿机的用户,那核心芯片必须上先进工艺,但我是电子广告牌的用户,那就不必要求先进工艺了。
3 作为研发者对PPA的理解
作为芯片设计者,在研发时需要考虑怎样用最少的电路实现所需的功能和性能,电路少了功耗相应也会减少,出错的概率也会小。
不论是SOC中的IP设计者还是数模混合中的数字设计工程师,均需要对自己所负责的模块进行PPA的优化,这样才能有助于整颗芯片在PPA方面达到最优平衡。这个部分后续有时间再整理……
作为SOC的系统架构师需要考虑的是怎样系统架构的设计,即系统调度布局,比如在SOC设计中,matrix怎样选择和设置合理?多少memory合理?用过少个CPU/MCU更好?系统架构如何更优?(这些不明白的地方先记到这里吧……)
作为芯片研发中的功耗分析者,不仅仅要看场景case的功耗,分析优化场景功耗(可以参考如下链接: ptpx功耗分析——分析功耗报告-CSDN博客);更要理解实际中芯片的应用,从顶层去考虑功耗优化,最好从芯片的立项开始就参与,这样能更好的理解芯片的实际应用,各个模块之间的相互关系,这样才能站在架构层去思考功耗优化。(架构层面的后面捋清楚后在写笔记吧……)
相关文章:
芯片的PPA-笔记
写在前面:这个仅记录自己对芯片PPA的一些思考,不一定正确,还请各位网友思辨的看待,欢迎大家谈谈自己的想法。 1 此次笔记的起因 记录的原因:自己在整理这段时间的功耗总结,又看到工艺对功耗的影响&#x…...

2024阿里巴巴全球数学竞赛决赛中的数列题解析(分析与方程方向第4题)
早点关注我,精彩不错过! 上周给大家聊了一道有LLM背景的阿里数赛题,详情请戳: 2023阿里巴巴全球数学竞赛决赛中的LLM背景题解析(应用与计算数学部分第2题) 看起来大家还比较喜欢看这种具体问题求解和思路分…...

学java的第3天 后端商城小程序工作
1.数据库的大坑 特殊字段名 ’我的图片表中有一个字段是描述我写成desc了,正好是mysql中的关键字 就不能使用了 2.后端编写 2.1可以把请求分开 在商品浏览页中 只显示商品的大致信息 当用户再点击其他按钮时在发出请求 2.2把请求合并 把数据整合到一起 利用ass…...

DevOps实战:使用GitLab+Jenkins+Kubernetes(k8s)建立CI_CD解决方案
一.系统环境 本文主要基于Kubernetes1.21.9和Linux操作系统CentOS7.4。 服务器版本docker软件版本Kubernetes(k8s)集群版本CPU架构CentOS Linux release 7.4.1708 (Core)Docker version 20.10.12v1.21.9x86_64CI/CD解决方案架构图:CI/CD解决方案架构图描述:程序员写好代码之…...

Apache Seata配置管理原理解析
本文来自 Apache Seata官方文档,欢迎访问官网,查看更多深度文章。 本文来自 Apache Seata官方文档,欢迎访问官网,查看更多深度文章。 Apache Seata配置管理原理解析 说到Seata中的配置管理,大家可能会想到Seata中适配…...

深入理解C# log4Net日志框架:功能、使用方法与性能优势
文章目录 1、log4Net的主要特性2、log4Net框架详解配置日志级别 3、log4Net的使用示例4、性能优化与对比5、总结与展望 在软件开发过程中,日志记录是一个不可或缺的功能。它可以帮助开发者追踪错误、监控应用程序性能,以及进行调试。在C#生态系统中&…...
BDD 100K dataset 的标签数据结构(json文件)
最近在筛选自己需要的labels,所以要弄清楚这个数据集的数据结构才行: 1.整个json文件以列表形式储存 2.每张图片以一个字典形式储存 3.存储图片的字典内的以‘name’为key的键值对对应的‘value’是我需要的图片名称信息 4.存储图片的字典内的以‘label…...

AcWing 1550:完全二叉搜索树
【题目来源】https://www.acwing.com/problem/content/1552/【题目描述】二叉搜索树 (BST) 递归定义为具有以下属性的二叉树: (1)若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值 (2)若它的右…...

使用kali Linux启动盘轻松破解Windows电脑密码
破解分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。谢谢!! 效果展示: 使用kali Linux可以轻松破解Windows用户及密码 准备阶段: (…...
Vue2中跨组件共享公共属性的方法、优缺点与实现
一、vuex(最常用) 优缺点 优点:集中管理状态,组件间解耦,易于调试和测试。缺点:学习成本较高,对于小项目可能过于复杂。 适用场景 大型、复杂的单页面应用(SPA)。需要全局…...

2024亚太杯数学建模竞赛(B题)的全面解析
你是否在寻找数学建模比赛的突破点?数学建模进阶思路! 作为经验丰富的数学建模团队,我们将为你带来2024亚太杯数学建模竞赛(B题)的全面解析。这个解决方案包不仅包括完整的代码实现,还有详尽的建模过程和解…...

【PWN · ret2syscall | GoPwn】[2024CISCN · 华中赛区]go_note
一道GoPwn,此外便是ret2syscall的利用。然而过程有不小的曲折,参考 返璞归真 师傅的wp,堪堪完成了复现。复现过程中,师傅也灰常热情回答我菜菜的疑问,感谢!2024全国大学生信息安全竞赛(ciscn&am…...
关于学习方法的优化
这是一种新的学习方法,一种新的学习形式,可以通过歌唱的方式,运用,把自己每天要进行的内容进行一个复习,进行一个重复,这样可以实现随时随地进行一个学习,这样可以帮助快速走出来! 您…...

万界星空科技MES系统中的排版排产功能
在当今高度竞争的市场环境中,企业对于生产管理的效率和质量要求日益提高。作为智能制造的重要组成部分,制造执行系统(MES)以其强大的功能,在提升企业生产能力方面发挥着不可替代的作用。万界星空科技作为行业领先的智能…...
kubeadm离线部署kubernetesv1.30.0
背景:最近由于docker image获取镜像受限的问题,以及公司内部部署kubernetes受限于内部网络无法访问公网的问题,对于离线部署kubernetes成为不是十分方便。谨以此文仅供参考。 kubernetes部署节点信息 kubernetes版本 1.30.0 操作系统版本&a…...
【PYG】dataloader和densedataloader
DenseDataLoader 是专门用于处理稠密图数据的,而 DataLoader 通常用于处理稀疏图数据。两者的主要区别在于它们的输入数据格式和处理方式。DenseDataLoader 适合处理固定大小的邻接矩阵和节点特征矩阵的数据,而 DataLoader 更加灵活,可以处理…...
完美解决ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: NO)
已解决ERROR 1045 (28000): Access denied for user ‘root‘‘localhost‘ (using password: NO) 下滑查看解决方法 文章目录 报错问题解决思路解决方法交流 报错问题 ERROR 1045 (28000): Access denied for user ‘root‘‘localhost‘ (using password: NO) 解决思路 对…...
ForkJoinPool 简介
引言 在现代并行编程中,处理大规模任务时将任务分割成更小的子任务并行执行是一种常见的策略。Java 提供了 Fork/Join 框架来支持这一模式,其中 ForkJoinPool 是其核心组件。本文将详细介绍 ForkJoinPool 的概念、使用方法和实际应用。 1. ForkJoinPoo…...

复现YOLO_ORB_SLAM3_with_pointcloud_map项目记录
文章目录 1.环境问题2.遇到的问题2.1编译问题1 monotonic_clock2.2 associate.py2.3 associate.py问题 3.运行问题 1.环境问题 首先环境大家就按照github上的指定环境安装即可 环境怎么安装网上大把的资源,自己去找。 2.遇到的问题 2.1编译问题1 monotonic_cloc…...

Docker:Docker网络
Docker Network 是 Docker 平台中的一项功能,允许容器相互通信以及与外界通信。它提供了一种在 Docker 环境中创建和管理虚拟网络的方法。Docker 网络使容器能够连接到一个或多个网络,从而使它们能够安全地共享信息和资源。 预备知识 推荐先看视频先有…...

label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

2025年能源电力系统与流体力学国际会议 (EPSFD 2025)
2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...

QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...
重启Eureka集群中的节点,对已经注册的服务有什么影响
先看答案,如果正确地操作,重启Eureka集群中的节点,对已经注册的服务影响非常小,甚至可以做到无感知。 但如果操作不当,可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...

Mysql中select查询语句的执行过程
目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...
JS手写代码篇----使用Promise封装AJAX请求
15、使用Promise封装AJAX请求 promise就有reject和resolve了,就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...
scikit-learn机器学习
# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...

Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)
引言 在人工智能飞速发展的今天,大语言模型(Large Language Models, LLMs)已成为技术领域的焦点。从智能写作到代码生成,LLM 的应用场景不断扩展,深刻改变了我们的工作和生活方式。然而,理解这些模型的内部…...

C# 表达式和运算符(求值顺序)
求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如,已知表达式3*52,依照子表达式的求值顺序,有两种可能的结果,如图9-3所示。 如果乘法先执行,结果是17。如果5…...