#香山调试直播# 香山芯片调试目标完成!

记录一些流水账:

2021年6月22日,香山在RISC-V中国峰会上第一次亮相,这是当时公开的国际上性能最高的开源RISC-V处理器核设计,受到国内外的很多关注,如今在GitHub上已有近2500个Star,250多个Fork。虽然我们的报告是中文的,但却有不少英文报道,甚至还有来自俄罗斯的关注。可以说,香山成为国际上最受关注的开源芯片项目之一。

2021年7月15日,第一代香山“雁栖湖”流片。但接下来由于受到全球芯片产能影响,我们不得不经历漫长的等待期。因为许久没有回片后的消息,有一些关注香山的朋友发来小心翼翼的询问:“香山是不是流片失败了?”流片失败,就是指香山无法点亮,也就意味着它就是一块石头。

2022年1月20日,等待了整整半年,香山终于回片了。硬件调试存在很大不确定性,很可能1个bug就会需要耗上1-2个月才能解决。而硬件问题解决不了,软件调试就会受到影响。尽早发现硬件问题,此时的香山就如同刚从医院拿回来的一份尚未打开的检查报告——面对它心中充满忐忑,不知道结果是好是坏。如果要等春节假期结束后才能看报告,这个年我们会过得心里很不踏实。另外,还存在一个不确定性,就是疫情防控。前段时间北京出现疫情,导致不少同学无法回家。但另一方面,由于冬奥会、两会等一系列活动,如果其他地方出现疫情,也可能导致离京后一段时间内甚至整个2月不能返京,那就会再空耗一个月。

我们希望能尽早消除一些不确定性,否则过年心里也不踏实。时间,对于香山调试非常宝贵。于是,香山团队的多位小伙伴(徐易难、李作骏、王诲喆、勾凌睿、张紫飞、蔺嘉炜、李乾若、甄好)决定留在北京攻关调试,加上唐丹和我,组成了一支攻关调试小分队。其中有几位是因为老家疫情而留在了北京,也有本来就是北京人,除了这些这些线下的小伙伴,还有全国各地的老师和同学一起在线参与。

1月26日开始,采用香山枫叶红底色的主板陆续从深圳寄到北京。此前,1月22-24日,深圳团队的蔡晔老师、刘彤、何伟等已经在深圳焊好主板,完成了初步的调试,包括系统时钟、串口、Flash等,验证IO通路正确。

1月29日,调试攻坚战正式打响了。调试过程一开始出乎意料地顺利,虽然有些小曲折,但都很快解决。到1月30日,我们取得了不错的战果:
•CPU频率从24MHz切到1GHz;
•DDR4-2400初始化成功,并稳定运行;
•Linux正常启动进入Shell;
•CoreMark成功运行,5.3分,与仿真完全一致。

1月30日晚上,收到了中国科学院大学公共管理学院刘继安老师的消息,是她和博士后徐艳茹希望观摩香山调试。晚上9点,徐博士先来到了调试现场,拍了几张照片,然后便跟我们说,她春节也不能回去过年,希望能全程观摩香山的调试过程。我们觉得应该很快就可以结束调试了,便欣然答应。但任何事情都不要高兴太早!

1月31日,大年夜。就在我们认为可以“牛年事、牛年毕”,可以在牛年就能跑出SPEC CPU2006分值、初步完成调目标时,现实狠狠地打了我们的脸——在运行SPEC CPU2006时,DDR4-2400稳定性存在问题,会导致返回数据出现随机错误。DDR是芯片调试过程最麻烦的问题,看来我们终究还是要面对。

我们分头吃年夜饭。下午2点,唐丹老师回家和家人一起吃了顿年夜饭;下午4:30,唐老师又过来和我们一起吃了一顿年夜饭,然后回到调试作战室放松:春晚,PS5,瓜子……晚上7点,我再回家和家人又吃了一顿年夜饭。一个难忘的大年夜!

大年初一到初三,大家休息了三天。

初四,重新整装上阵。内存专家李作骏全力攻占DDR稳定性问题,其他人全力配合。全志D1-H项目负责人孙彦邦提到当时在全志时DDR调试也是难点,他推荐了在Linux下的memtester来测试内存。

初五,徐易难很快便在Linux下编译好memtester,并开始测试。初步测试访存确实不稳定,内存在作Bit Flipping时会出现8KB数据不正确。于是开始尝试修改CPU频率,1GHz提高到1.1GHz,1.26GHz,但都不稳定;那就给CPU降频,降到800MHz、600MHz,似乎访存稳定性好一些,但还是会随机出错。

唐丹老师查看DDR PHY手册,发现PHY和DIMM的VRef配置不同步,修改后稳定性得到改善,但memtester还是会出现随机访存出错,只是出现概率降低了。但是,哪怕概率再低,也不可接受——对于理论上1GHz频率下每秒可运行60亿条指令的香山来说,哪怕是亿分之一的随机出错概率,也意味着每秒会出现几十次访存数据错误,这是不可接受的。我们必须要把访存调稳定。

初六,大家继续尝试——修改DDR Trainimg参数,修改Linux启动时内存容量,改变DDR供电电压……始终无法消除DDR访存的随机出错问题。我们怀疑DDR信号完整性问题,希望看一下DDR信号的眼图。开始一通打电话借设备,我们借到了一台DDR逻辑分析仪。这这台设备和HMTT很像,也是插在DIMM槽,但它内部提供高频采样时钟,可以直接抓DDR访存数据信号。我们花了半天的时间研究如何使用,当搞清楚后,发现在DDR-2400配置下采不到预想的信号。晚上9点多,打电话给设备代理商,被告知这台设备采购时没有选支持2400的模块,现在还支持DDR-1600。燃起的希望又熄灭了。

初七,唐丹老师又开始打一轮电话,又向郝沁汾老师借来一台示波器。有人建议看一下电源是否稳定,波动幅度是否太大,可以换一下精密电源。唐老师、徐易难立刻开始测试电源稳定性,发现真的会出现上下60-80mV的波动。那时,看到这个几十毫伏的波动,似乎大家心里涌出一丝欣喜,希望这就是DDR访存不稳定的问题所在。唐丹马不停蹄地区采购精密电源,不幸的是在换电源后,我们使用最多、相对最稳定的一块板卡“牺牲”了——烧了!来不及难过,立刻又切换到另一块板卡开始测试起来。结果有点沮丧,换了精密电源后依然无法消除访存随机性问题。

李作骏通过对DDR信号进行仿真,发现DDR DQS信号的ODT参数设置存在问题,同时把所有的访存性能相关的参数调到最保守设置。大家又寄希望于这次DDR参数修改。

此时,于是另一条调试网卡的战线开始启动,由王诲喆担任主攻手:测试网卡时钟信号、调整GMAC频率,设置设备树,修改驱动——网卡很快就被识别出来了,能看到网卡能收包了,但是问题是不能发包。

初八,跑了一个晚上的memtester,连续运行了12个小时,只有一个访存出错。这次稳定性得到了极大的提高,但还没有彻底解决,运行SPEC CPU依然出错。这时,大家决定尝试一下将DDR降频到1600。DDR-1600配置下,李作骏又对DDR Training做了优化,调高了Refresh Burst数量,激动人心的时刻发生了——之前跑不过的SPEC CPU应用都能跑完了!DDR访存稳定性问题终于解决了!

从初八开始,勾凌睿便开始用SPEC CPU2006程序烤机,香山频率设置为1GHz,DDR设置为1600,连续几十个小时的运行,再也没有出现过错误了。当然,这并不是最终目标,我们知道DDR访存性能对整个香山芯片的性能至关重要,接下来我们还继续优化DDR性能。

另一条战线,王诲喆仍然在调试网卡。在香山上用tcpdump能看到从另一台机器发过来的网络包,对比发送端的wireshark,内容正确。但是发送始终存在问题,ping依然不通。

初九,跑了一天的SPEC CPU,再也没有出错了,大家开始期待香山的SPEC CPU 2006分值了。网卡调试那边,手动修改了mac地址后,香山能收到ping,但是发送依然有问题。

初十,在修复了一个串口驱动小问题后,终于得到SPEC CPU 2006分值了,香山在1GHz频率、DDR-1600配置下,分值为5.97。这个数字对于香山来说,是一个里程碑。但我们知道,这并不是香山的真实性能,因为这是把DDR-2400降频为DDR-1600后得到的结果,从数据来看,很多访存密集型应用性能受到了很大的影响。如果把DDR进一步优化,香山性能还将进一步提升。我们根据Roofline模型推演访存性能优化目标。

正月十二,王诲喆也终于将网卡调通,香山功能基本完备。有了网络,大家就可以远程访问香山了。

正月十五,李作骏对DDR-1600时序进行了初步优化,之前受DDR访存的应用性能得到了大幅提升,比如bzip2-liberty的运行时间从483s降到了265s。这也意味着SPEC CPU2006分值即使在DDR降频的情况下还可以有很大的提升。

至此,历时近3个星期的香山攻关调试取得了圆满成功。香山调试直播完毕。

衷心感谢所有关注和支持香山的朋友!后续我们仍然会向大家介绍香山后续的性能优化进展。

—————

图1:调试攻关任务清单完成!
图2:与DDR访存稳定性战斗
图3:稳定运行SPEC CPU2006程序
图4:网卡正常工作
图5:SPECCPU 2006分值与对应配置
图6:Roofline模型推演访存性能优化目标
图7-9:香山调试现场

孟孟,很想你。这个春节忙忙碌碌的,很难静下心来和你说说话。看到微博里好些你的节目宣传,我还没有来得及去看。等我不忙了,好好去感受你带来的快乐。[微风]
孟孟,想告诉你一件事儿。过年回家,妈妈把家里的账给我算了一下。家里一年的开销是15000左右。不知道你看到这个数字会怎么想。我当时就忍不住哭出来,心疼爸爸妈妈过于节俭的日子啦!该怎么去孝敬他们呢?我还得好好想想,改善一下他们的生活![微风]
孟孟,我好想要一个宝宝。看着身边的人,都有可爱的宝宝,我是真的好羡慕,也好难过。人生没有那么容易,我也不知道我该修行的是什么。一步一步慢慢往前走吧![微风]
孟孟,每一天都是有你陪伴的一天,希望有一天你会知道,我是一米![微风]

#易烊千玺[超话]#
奇迹笨小孩这部电影绝了!

说实话,确实是未来为了易烊千玺去看的!但是!整个片子看完!我已经受不出来啥了!
整部电影没有一点流水账,全部都非常紧凑,看的我时而为了他们兄妹两个的感情而感动,时而为了景浩的遭遇而揪心难受这部剧里!每个人的角色都是闪闪发光的!将心比心!而且真的真的看到景浩被车撞还有景浩为了自己被偷走的货物而拼命……真的眼泪直接掉下来[泪]哭死!易烊千玺将景浩这个角色演活了!

你想啊,一个二十岁的少年啊!为了救妹妹的命,而去“赌”,在实现这个“赌”的过程中真的让人心跳加速,我们的心和他的心好像连在了一起!真的非常揪心!
总之!真的非常非常推荐大家去看这部电影!看完只会有震撼和夸赞!一定不会后悔! https://t.cn/Rt5qRxf


发布     👍 0 举报 写留言 🖊   
✋热门推荐
  • (尚廷震)2022·2·16做人坦荡,才有善缘;心怀善念,才有善报;为人厚道,才有厚福。心若善良,才能利人利己,对人不怨恨,不苛责 。
  • 那人说那我要抹去60年的寿命,和他一样有钱。我:这就是阎王爷的不是了,他说给人送钱,人在床上他把钱送牌桌上去了我可真是讨打小能手两周前在Fudi采买时想买束花,
  • !穿过黑暗,遇见0.1%的人,照亮彼此的世界。
  • 我还记得一加7Pro行业当年首发了一块行业顶级的2K+90Hz的屏幕,放到今天都不落伍,今年的一加10Pro在屏幕上也带来了惊喜,2K+120Hz+LTPO2
  • 总感觉这波是为了后天凌晨传说级稀有的冰墩墩nft发售预热吧[汗] 虽然NFT的确缺乏严格的法律规定和条文限制,但鉴于对于数字货币领域的交易限制,我们对于NFT的
  • 高层定大方向、大目标、主线策略,中层发挥重要的自组织意识与能力开展自我运行,这样的组织更有战斗力。达到这一状态的前提是企业必须有着自组织建设的观念与机制。
  • 生长在高山上的茶叶与在平地上的茶叶品质有差异,采摘时,新鲜纯粹,香气洁净无异味。大自然造就这样瑰宝,通常会有以下几个方面的原因:1、温度低、昼夜温差大2、云雾多
  • ———《半山文集》不喜欢做,而又必须要做的事,可以像演员那样去做,牢记那只是一个角色,需要的也只是演技,要投入去演,也要在停演的时候学会及时地抽离。 喜欢做
  • 维生素C是人体健康管理不可或缺的生力军,并且有抗氧化的功效。所以要多补充,不但可以很好预防近视,还可以提高视力的。
  • 谢娜在一旁边听边笑,也没好意思说什么,而章子怡听完则半真半假的跟着吐槽说:“她们家就是要占便宜的,她们家的日子,就是要这么过的!其实近半年来,霍思燕已经很少发文
  • 3、但愿日子清静,抬头遇见的都是柔情。源图=》看我wb屏伦1.月亮不够圆我都会生气, 你跟我讲道理?
  • 枯萎的莲枝举着向上的姿态,迎着风雨飘零,有的枯梗虽然褪去了夏日“映日荷花别样红”的美丽,但仍坚强地挺立,迸发出盎然的生机。 草木皆有性情,那残荷是夏花的遗韵,
  • 那一瞬间我的心思都不在难过上了 有朋友真好啊。今天和咕咕互换礼物我信里写道:“你们每次都夸我很好 给了我很多力量”果然 她给我的信里又夸了我。
  • ”尊重他们的每一份努力,没有一次胜利是随随便便的就能赢的,是一代又一代人的共同努力,是背后付出的无数汗水…我永远爱球场上意气风发的你们[抱一抱]每一届奥运会呢,
  • 没有啊 算了,毕竟父爱无声12、发朋友圈真的很辛苦 別总说我一天无所事事了 这是一项需要才华脑力知识思想的手动工作13、你好,今天是愚人节,我可以骗走你的心吗1
  • 期待找一位余生互相陪伴的人,年龄小3-5岁均可#衡阳月老来牵线#【000010】【线下会员】未婚女:1998年身高:161m体重:51Kg简介:本人从事人力资源
  • 一一《踏莎行·碧海无波》晏殊5.南风知我意,吹梦到西洲。上片从悔别入笔,一经离别,芳踪难寻,悔之晚矣。
  • #每日一善#|#阳光信用#善良是心照不宣的给予,是若水如风的感动,而不是口若悬河的自我吹捧,是替人着想给对方的坦荡,真诚与光明,一切以方便他人为目的的自我约束行
  • 还有几天就回家啦,也没多开心期待我的杉宝要平安健康好好长大哦刚刚九个月就经历了白天黑夜的反复高烧,小可怜蛋已经第三天了,遥想当年不想要孩子的一个原因就是怕他们生
  • 工作提前做,专题谋划推进破产审判管理人的工作直接决定破产工作效果,也是债权人评价法院破产工作的基础,铜山法院始终坚持“放权与监督”、“自主与指导”并行的管理原则