带宽够不够?
当计算、存储与互联被放进同一个系统,瓶颈会出现在哪里。
01 — 关于我
喜欢把一个东西拆开,搞清楚它为什么这样工作,然后再想想能不能自己搭一个的人。
从一条网络连接是怎么建立的,到一个 CPU 的访存请求怎么一路走到内存;从 FPGA 上的数据链路, 到 Chiplet 之间怎样通信;甚至买了一副耳机之后,我也可能顺手去研究一下它的佩戴检测、双耳同步和充电盒到底是怎么工作的。
所以我的兴趣范围看起来经常有一点……发散。但它们其实都围绕着同一件事情: 系统是怎样被搭起来的?
02 — 研究
专业兴趣主要集中在数字硬件和计算机系统。相比只关注单个模块, 我对 “一个完整系统里的不同部分如何连接起来” 更感兴趣。
当计算、存储与互联被放进同一个系统,瓶颈会出现在哪里。
从一次访存到一次跨 Die 通信,延迟究竟在哪些环节被叠加。
NoC、D2D、UCIe……不同层次互联协议如何彼此衔接。
同一个设计在架构模型、RTL 和真实芯片之间分别意味着什么。
03 — 技术栈
看到一个系统,我经常会一路往下追。当然,并不是每一层都很专业, 很多东西我都还在学习——但我很享受这种跨层理解系统的过程。
当你知道上下游在做什么之后,很多原来看起来很“玄学”的设计,突然就会变得合理。
04 — 工程方式
遇到一个陌生概念时,我一般不会满足于一句定义,而是会继续往下问:
有时候本来只是想解决一个五分钟的问题,最后却打开了二十个网页、三个 GitHub 仓库和两篇论文, 然后几个小时过去了。至少问题通常是搞明白了。:)
05 — AI
相比训练模型本身,我更关注 AI 如何真正进入工程流程。我目前更愿意把它看成一个逐渐变强的 工程协作者——它不一定替你思考,但可以让你少做很多机械劳动。
AI 到底可以接管工程流程里的哪些工作?
哪些事情适合自动化,哪些仍然需要人的判断?
一个 AI 如果要参与芯片设计,它需要理解多少架构、RTL、EDA 和工艺知识?
06 — 离开电脑之后
DNS 为什么需要这么多层?CDN 和反向代理到底在代理谁?HTTPS 的证书是谁签发的?NAT 究竟改变了什么?
为什么公路车和山地车骑起来完全不一样?为什么山地车通常有前叉避震?小轮径车辆高速时为什么更敏感?
别人问“这耳机音质怎么样”,我可能会想“它双耳之间到底怎么同步”。路由器信号好不好之外,它的 NAT 表又是怎么维护的?
月亮、金星、行星伴月,属于知道今晚有就出去看两眼的程度。整天面对微小的晶体管之后,看看非常大的东西会有种奇妙的尺度反差。
更容易被故事驱动的作品吸引——关于记忆、选择、遗憾、人与人之间的关系,以及“如果当时……”。
能自己做 > 外卖,好吃 > 复杂,少洗一个锅 > 一切。目前版本号大概还没到 v1.0。
07 — 我的一些特点
08 — 现在与未来
目前我仍然处在一个大量学习和探索的阶段。先进封装、Chiplet、异构计算、AI Accelerator、 高带宽内存、新型互联以及 AI 辅助设计,正在不断扩展传统芯片设计的边界。
我希望以后可以做一些真正有意思的东西——不一定改变世界,但至少在某一天回头看的时候, 我还能很清楚地记得:“哦,这个东西当时是我真的想把它搞明白,所以才做的。”
09 — 联系
如果你也是那种会因为一个奇怪的问题搜索半天资料的人——欢迎。 这里是我在互联网上留下的一小块实验田,放着技术笔记、折腾记录、学习过程,以及偶尔出现的奇怪想法。
fmq.peter@qq.com