甄建勇: 芯片架构方法学

Linux阅码场 2021-04-29 00:00

作者简介

甄建勇,高级架构师(某国际大厂),十年以上半导体从业经验。主要研究领域:CPU/GPU/NPU架构与微架构设计。

感兴趣领域:经济学、心理学、哲学。


欢迎赐稿“Linux阅码场”,投稿请扫码微信联系“小月”,稿费300-500RMB(已经以任何形式,如公众号、博客、网站发表过的文章,请勿投稿):

第一篇 回到定义

 

让我们先从一个小游戏开始, 

 

仔细观察上面的几个图形,其中哪些是直线呢?可能很多人会毫不犹豫的回答是G”。其实,要回答这个问题,我们就要先弄清楚直线的定义,直线必须满足三个条件,第一,是直的;第二,是线,也就是必须是一维的,第三,直线没有端点。那么上面有哪个是同时满足这三个条件的图形呢?没有!A不是一维的,B/C不是直的,D/E/F有端点,G不是一维的,因为一维的直线是没有宽度的,而G之所以能够被我们人眼看到,说明它是有宽度的。 

这里说这个小游戏的目的是为了引入一种非常重要的思维方式:回到定义。在我看来,我们平时遇到的很多问题,大部分可以通过回到定义来获得一个快速的模糊的答案。为了说明这种思维方式的强大之处,我们来看几个问题。 

这件衣服漂亮吗? 

我做的饭好吃吗? 

你觉得这个人勇敢吗? 

你觉得这个事情好不好做? 

这个解决方案的成本高不高? 

这个方案和那个方案,哪个好? 

从这里去公司,开车快还是做地铁快? 

…… 

无论是生活还是工作当中,我们无时无刻都会面临上面类似的问题,这些问题可能来自家人,可能来自同事,也可能来自路人。要回答这些问题,同样,也可以使用回到定义的思维方式,当我们弄明白定义之后,以上问题就迎刃而解了。 

什么是漂亮? 

什么是好吃? 

怎么定义勇敢? 

怎么定义好做? 

成本怎么定义? 

怎么定义方案的好坏? 

怎么定义快? 

你会发现,如果我们搞清楚了这几个定义,其实那些问题也就自有答案了。 

我们平时的工作,其本质是选择,即,每时每刻要做出有利的选择。针对芯片行业来说,可具体化为我们要选择性能高(P),功耗低(P),面积小(A),复杂度低(C)的方案。一般情况下,大家在这个目标上是没有分歧的,分歧的产生在于每个人对PPAC的预估值不同,或者在于每个人所站的角度不同。然而,一个方案的好坏不止PPAC这四个指标,还有很多其它的参数,有时候也需要考虑进去。还有,上面的提到的有利的选择,对不同的人的含义也可能是不同的。最后,以上讨论大多都是基于人是理性的这个假设,然而事实并非如此,这就使事情变得越来越复杂,难以有显而易见的结论。 

大道至简,面对这纷繁复杂的多彩世界,我认为回到定义是我们可以利用的一把利器,回到定义一般不是为了解决某个问题,而是过滤那些价值不大的问题。 

第二篇 排列组合


排列组合的本质是降维。 

面对一个复杂的问题,当这个问题的复杂性已经超出我们解决问题的能力时,就会变得很棘手。一般情况下,出现这种情况是因为这个问题的维度超过了我们认知的维度,这时,我们可以采用排列组合的思维方式来尝试解决。 

 比如如何设计一个AI加速器,这是一个很大的问题,我们可能很难在短时间内得到答案,因为这个问题的复杂性已经超出了很多人的认知范围。这时,我们可以将这个问题进行降维处理,变成多个较简单的,维度低一些的子问题: 

 如何设计AI加速器的memory hierarchy 

 如何设计AI加速器的data path 

如何设计AI加速器的control path 

如何设计AI加速器的运算单元? 

如何使以上几个子系统协同工作? 

我们仔细观察发现,以上几个问题是最开始问题的子问题,以及这些子问题之间的关系的问题。也就是原始的问题被降低到了更低的维度。如果发现个别子问题仍然不能解决,那么,可以采用同样的方式,将这个子问题采用排列组合进行拆解。这里,我们假设如何设计AI加速器的运算单元这个子问题还是太复杂,超出了我们的能力,那么,我们可以进一步将其降维: 

如何设计AI加速器的Tensor processor 

如何设计AI加速器的Vector processor 

如何设计AI加速器的Scaler processor 

同样,我们也可以继续拆解:如何设计AI加速器的Tensor processor 

AI加速器的Tensor processor 负责完成哪些功能? 

AI加速器的Tensor processor sequence如何选择? 

AI加速器的Tensor processor PPA budget是怎样的? 

AI加速器的Tensor processor 带宽需求是怎样的? 

AI加速器的Tensor processor 需要的data format是怎样的? 

“……”

每个人解决问题的能力不同,所需要拆解到的问题的维度也不同,能力强的人,需要拆解的层数少一些,能力弱一些的人,可能需要将问题拆解到较低的维度时才能解决。 

排列组合,除了可以将问题降维之外,还可以弥补脑容量不足所带来的问题。平时工作当中,有一类问题难度太高,一时无法下手,可以采用排列组合来解决,正如上面刚刚提到的例子;还有另外一类问题,其本身难度并不高,在我们解决问题能力范围之内,但问题比较繁杂,怎奈脑容量有限,一时难以将所有情况都考虑周全。对于这样的问题,也可以采用排列组合来防止遗漏。这个时候,好记性不如烂笔头就会发挥作用,当我们列出所有排列组合之后,然后用大脑依次分析,就能得出结论了。 

  

第三篇 论数据

 

当今时代是一个信息爆炸的时代,天量的数据无时无刻的被生产,收集,传播开来,数据分析与筛选技能已经是一个人最基本的技能之一了,经过常年的学习与训练,关于数据的能力很多都已经变成了我们的前意识记忆,甚至是在非意识范围内影响着我们。这一点对于IT从业者尤其明显,在平时的工作中,无论是谁,每天都会面临很多选择题,而我们要做出选择,大多是出于理性的,而理性本身需要数据支撑。 

为什么采用这个方案,有什么好处吗? 

这个方案的PPAC怎么样? 

如果采用这个方案,会有什么代价? 

…… 

在做出以上选择之前,大多需要准备一些数据,而一个没有任何数据支撑的问题的决定能力是一个人重要的技能,对两个或者多个方案,数据上难分伯仲时的决策能力也是一个人重要的技能。 

另外,数据有结论之前的数据和结论之后的数据之分。前者使我们自信,后者使我们开心。全面的数据使我们柳暗花明又一村,走出泥潭,片面的数据使我们不识庐山真面目,误入歧途。实事求是,不先入为主SOL, 求全责备,所有决定都要有数据支撑也是SOL,需要知道的是SOL我们人类做不到的。 

给纷繁的世界建模以获取数据是困难的,在天量的数据中做出正确的决定也是不易的。数据不会骗人,骗人的是使用数据的人而已。我建议的是,工作中80%的决定要基于收集到的数据,20%的决定要基于内心。生活中20%的决定要基于收集到的数据,80%的决定要基于内心。类似模拟退火。理性是可贵的,但感性也不是一文不值。智慧是好的,但我们也不能倚靠自己的聪明。追求完美,大多数情况是褒义词,但有时候也可以是贬义词。  

第四篇 正反合(A=A=!A

 

A=A=!A这个式子可以先拆成两个简单一点的式子来看: 

A=A A=!A,为了便于描述,我称第一个式子为A向左运动,第二个叫A向右运动 

无论是在工作还是在生活中,我们的核心工作就是解决这样或那样的问题。以上提到的几种方法之所以有用,很大程度上是因为我们发现了问题的矛盾点。如果把A向左运动看成是证明方案A是对的(矛)的话,那么A向右运动就是证明方案A是错的(盾)。矛与盾相互否定,推动盾与矛互相肯定,这个过程反复出现,实现了问题的瓦解,即,问题的解决,达到了新的稳态,新的合理,新的存在。 

比如,我们要新加一个具体的feature,最开始,我们会提出一个方案,假设就叫方案A,方案A的提出过程,其实就是A向左运动,这个过程中,最重要的是要确定方案A确实可以解决这个问题,就是A的肯定。一旦方案A提出之后,随之而来的是为什么方案A有这个缺点或者为什么不选择方案B,这个过程就是A向右运动的过程,即方案A的否定。接下来,就又是A的肯定过程,即,要完善最开始的方案A,完善之后可能还有反对者提出问题,如此往复,经过几个回合的拉锯之后,方案A渐趋成熟,而这时方案A还是方案A,方案A也是方案A的否定了。追求无我,成就自我无知者是不自由的,每一次的否定自我,就是一次自我的肯定,每一次的自我肯定,都是向对立陌生的一次前进。 

A=A=!A就是,过程是螺旋上升的,目的是。然而,世界是复杂的,我们偶尔也会遇到一时没有矛盾,但仍然需要我们解决的问题,这个时候,用我们人类最柔软的内心与这个问题握手。 

 

第五篇 关于芯片架构

 

以上讨论了几种个人解决实际问题的方式方法,接下来说一下对芯片结构工作的体会。 

芯片架构,大体上可分为三个事情:Architecture, AlgorithmAssociation。显然,架构工作,是要生产一些架构(Architecture)作为产品的,作为设计人员的参考与指导。架构本身并不是无根之木,是需要一些数据支撑的,而这数据的来源,主要是算法分析,所以架构工作还应包括一些算法分析的内容,此外,为了发挥所做架构的效力,应该提供一些基本的工具来帮助用户。三者之间,相辅相成,不同阶段,不同情况,重要程度不同。算法分析者可以提供必要的信息,比如算法发展趋势,所关心领域算法特点等重要内容,架构者基于这些内容,可以提出合适的硬件架构来,而另外一些人可以提供合适的工具来弥补架构和客户之间的gap。三者之间不是单向影响的,是互相关联的,架构者可以提出在做架构时的痛点,以影响算法发展和工具提供者。 

芯片架构工作,很像是玩打地鼠游戏,目的不是把从某个洞里出来的地鼠全部打死,而是能够权衡,使总体得分最高,而权衡中的原则是,如果自己与非自己有冲突时,或者正义与利益有冲突时,尽量使非自己开心。 

开始工作的前几年,要先建立自己的知识体系,而后,要慢慢建立自己的哲学体系。


更多精彩,尽在"Linux阅码场",扫描下方二维码关注

别忘了分享、点赞或者在看哦~

Linux阅码场 专业的Linux技术社区和Linux操作系统学习平台,内容涉及Linux内核,Linux内存管理,Linux进程管理,Linux文件系统和IO,Linux性能调优,Linux设备驱动以及Linux虚拟化和云计算等各方各面.
评论
  • 电竞鼠标应用环境与客户需求电竞行业近年来发展迅速,「鼠标延迟」已成为决定游戏体验与比赛结果的关键因素。从技术角度来看,传统鼠标的延迟大约为20毫秒,入门级电竞鼠标通常为5毫秒,而高阶电竞鼠标的延迟可降低至仅2毫秒。这些差异看似微小,但在竞技激烈的游戏中,尤其在对反应和速度要求极高的场景中,每一毫秒的优化都可能带来致胜的优势。电竞比赛的普及促使玩家更加渴望降低鼠标延迟以提升竞技表现。他们希望通过精确的测试,了解不同操作系统与设定对延迟的具体影响,并寻求最佳配置方案来获得竞技优势。这样的需求推动市场
    百佳泰测试实验室 2025-01-16 15:45 55浏览
  •   在信号处理过程中,由于信号的时域截断会导致频谱扩展泄露现象。那么导致频谱泄露发生的根本原因是什么?又该采取什么样的改善方法。本文以ADC性能指标的测试场景为例,探讨了对ADC的输出结果进行非周期截断所带来的影响及问题总结。 两个点   为了更好的分析或处理信号,实际应用时需要从频域而非时域的角度观察原信号。但物理意义上只能直接获取信号的时域信息,为了得到信号的频域信息需要利用傅里叶变换这个工具计算出原信号的频谱函数。但对于计算机来说实现这种计算需要面对两个问题: 1.
    TIAN301 2025-01-14 14:15 138浏览
  • 晶台光耦KL817和KL3053在小家电产品(如微波炉等)辅助电源中的广泛应用。具备小功率、高性能、高度集成以及低待机功耗的特点,同时支持宽输入电压范围。▲光耦在实物应用中的产品图其一次侧集成了交流电压过零检测与信号输出功能,该功能产生的过零信号可用于精确控制继电器、可控硅等器件的过零开关动作,从而有效减小开关应力,显著提升器件的使用寿命。通过高度的集成化和先进的控制技术,该电源大幅减少了所需的外围器件数量,不仅降低了系统成本和体积,还进一步增强了整体的可靠性。▲电路示意图该电路的过零检测信号由
    晶台光耦 2025-01-16 10:12 40浏览
  • 食物浪费已成为全球亟待解决的严峻挑战,并对环境和经济造成了重大影响。最新统计数据显示,全球高达三分之一的粮食在生产过程中损失或被无谓浪费,这不仅导致了资源消耗,还加剧了温室气体排放,并带来了巨大经济损失。全球领先的光学解决方案供应商艾迈斯欧司朗(SIX:AMS)近日宣布,艾迈斯欧司朗基于AS7341多光谱传感器开发的创新应用来解决食物浪费这一全球性难题。其多光谱传感解决方案为农业与食品行业带来深远变革,该技术通过精确判定最佳收获时机,提升质量控制水平,并在整个供应链中有效减少浪费。 在2024
    艾迈斯欧司朗 2025-01-14 18:45 96浏览
  • 实用性高值得收藏!! (时源芯微)时源专注于EMC整改与服务,配备完整器件 TVS全称Transient Voltage Suppre,亦称TVS管、瞬态抑制二极管等,有单向和双向之分。单向TVS 一般应用于直流供电电路,双向TVS 应用于电压交变的电路。在直流电路的应用中,TVS被并联接入电路中。在电路处于正常运行状态时,TVS会保持截止状态,从而不对电路的正常工作产生任何影响。然而,一旦电路中出现异常的过电压,并且这个电压达到TVS的击穿阈值时,TVS的状态就会
    时源芯微 2025-01-16 14:23 71浏览
  • 全球领先的光学解决方案供应商艾迈斯欧司朗(SIX:AMS)近日宣布,与汽车技术领先者法雷奥合作,采用创新的开放系统协议(OSP)技术,旨在改变汽车内饰照明方式,革新汽车行业座舱照明理念。结合艾迈斯欧司朗开创性的OSIRE® E3731i智能LED和法雷奥的动态环境照明系统,两家公司将为车辆内饰设计和功能设立一套全新标准。汽车内饰照明的作用日益凸显,座舱设计的主流趋势应满足终端用户的需求:即易于使用、个性化,并能提供符合用户生活方式的清晰信息。因此,动态环境照明带来了众多新机遇。智能LED的应用已
    艾迈斯欧司朗 2025-01-15 19:00 49浏览
  • 一个易用且轻量化的UI可以大大提高用户的使用效率和满意度——通过快速启动、直观操作和及时反馈,帮助用户快速上手并高效完成任务;轻量化设计则可以减少资源占用,提升启动和运行速度,增强产品竞争力。LVGL(Light and Versatile Graphics Library)是一个免费开源的图形库,专为嵌入式系统设计。它以轻量级、高效和易于使用而著称,支持多种屏幕分辨率和硬件配置,并提供了丰富的GUI组件,能够帮助开发者轻松构建出美观且功能强大的用户界面。近期,飞凌嵌入式为基于NXP i.MX9
    飞凌嵌入式 2025-01-16 13:15 61浏览
  • 近期,智能家居领域Matter标准的制定者,全球最具影响力的科技联盟之一,连接标准联盟(Connectivity Standards Alliance,简称CSA)“利好”频出,不仅为智能家居领域的设备制造商们提供了更为快速便捷的Matter认证流程,而且苹果、三星与谷歌等智能家居平台厂商都表示会接纳CSA的Matter认证体系,并计划将其整合至各自的“Works with”项目中。那么,在本轮“利好”背景下,智能家居的设备制造商们该如何捉住机会,“掘金”万亿市场呢?重认证快通道计划,为家居设备
    华普微HOPERF 2025-01-16 10:22 72浏览
  • 故障现象 一辆2007款法拉利599 GTB车,搭载6.0 L V12自然吸气发动机(图1),累计行驶里程约为6万km。该车因发动机故障灯异常点亮进厂检修。 图1 发动机的布置 故障诊断接车后试车,发动机怠速轻微抖动,发动机故障灯长亮。用故障检测仪检测,发现发动机控制单元(NCM)中存储有故障代码“P0300 多缸失火”“P0309 气缸9失火”“P0307 气缸7失火”,初步判断发动机存在失火故障。考虑到该车使用年数较长,决定先使用虹科Pico汽车示波器进行相对压缩测试,以
    虹科Pico汽车示波器 2025-01-15 17:30 43浏览
  • 随着智慧科技的快速发展,智能显示器的生态圈应用变得越来越丰富多元,智能显示器不仅仅是传统的显示设备,透过结合人工智能(AI)和语音助理,它还可以成为家庭、办公室和商业环境中的核心互动接口。提供多元且个性化的服务,如智能家居控制、影音串流拨放、实时信息显示等,极大提升了使用体验。此外,智能家居系统的整合能力也不容小觑,透过智能装置之间的无缝连接,形成了强大的多元应用生态圈。企业也利用智能显示器进行会议展示和多方远程合作,大大提高效率和互动性。Smart Display Ecosystem示意图,作
    百佳泰测试实验室 2025-01-16 15:37 45浏览
  • 数字隔离芯片是现代电气工程师在进行电路设计时所必须考虑的一种电子元件,主要用于保护低压控制电路中敏感电子设备的稳定运行与操作人员的人身安全。其不仅能隔离两个或多个高低压回路之间的电气联系,还能防止漏电流、共模噪声与浪涌等干扰信号的传播,有效增强电路间信号传输的抗干扰能力,同时提升电子系统的电磁兼容性与通信稳定性。容耦隔离芯片的典型应用原理图值得一提的是,在电子电路中引入隔离措施会带来传输延迟、功耗增加、成本增加与尺寸增加等问题,而数字隔离芯片的目标就是尽可能消除这些不利影响,同时满足安全法规的要
    华普微HOPERF 2025-01-15 09:48 119浏览
  • 百佳泰特为您整理2025年1月各大Logo的最新规格信息,本月有更新信息的logo有HDMI、Wi-Fi、Bluetooth、DisplayHDR、ClearMR、Intel EVO。HDMI®▶ 2025年1月6日,HDMI Forum, Inc. 宣布即将发布HDMI规范2.2版本。新规范将支持更高的分辨率和刷新率,并提供更多高质量选项。更快的96Gbps 带宽可满足数据密集型沉浸式和虚拟应用对传输的要求,如 AR/VR/MR、空间现实和光场显示,以及各种商业应用,如大型数字标牌、医疗成像和
    百佳泰测试实验室 2025-01-16 15:41 50浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦