YOCSEF20周年系列活动:王惟林上海兆芯集成电路有限公司

标题:YOCSEF国产CPU的最新进展 王惟林上海兆芯集成电路有限公司
非常高兴有机会和大家一起来分享一下我们的进展
各位专家呢
业界的牛人们一起来分享一下我们的进展
首先介绍一下我们公司啊
其实我们做处理器的时间很长了
包括我们做soc时间很长了
只是加入国产处理器这个行业的时间比较短
实际上人呢还是老人
我们实际上到目前为止呢
就是说在整个这个处理器设计中
包括从处理器芯片组
还有显卡这三个领域呢
基本上就是说我们是全部涵盖的啊
所以呢我们到现在为止还是基本上是所有的
ip自己自主设计自主流程中
应该是比较领先的一家
在国内相对来说
我今天呢给大家报告的题目
是我们在X86处理器的最新进展
具体来说主要给大家报告几点
第一个呢就是我们处理器
这几年大概流了几个芯片
主要是处理器
在我们这个芯片上我们学到哪些东西
我们走的这些路
然后第二个重点来讲是我们最新的产品
开先五千系列
然后呢也顺便讨论一下
我们刚才陶主席比较关注的这个meltdown
还有spectre的问题
最后和大家再汇报一下
我们对未来的一些map(计划)
首先呢大家来看一下
这个呢是我们基于兆芯c的
整机设计方案
这里包括有台式机一体机笔记本
那大概呢包括呃联想的这个开天系列
同方的超强系列以及仪电
还有秉时实达这些
还有开胜的这些系列的服务器
那在服务器这方面呢
包括这个就是火星高科
联想还有天地超云的服务器
同时呢由于x86 呢在这个嵌入式比较好
所以说我们在嵌入式上也有很多应用
那目前看到呢有这个延祥的
还有这个仪电的
实际上呢这上面只是 这是一张比较早的图片
我们还有张图片呢
比这还要多
那这个大家知道x86处理器的好处
就是生态范围广
软件的兼容性好
到目前为止呢
大概百分之八十八十五以上的应用
基本上都是x86平台的
这个呢大概是这几年呢我们做的芯片
其实最早一款呢是兆芯A这个处理器
我们基本上是在学习消化吸收
我们首先呢对整个设计进行了全盘的消化吸收
对一些安全的地方做了增强
第二个我们全部重现了这个设计流程
并把它流片
掌握了很多定制化的设计方法
接下来呢就是我们在这里重要的就是量产流程
实际上就是在国产处理器来讲呢
很大的一个工程说
第一个性能 能不能达到一个标准
能不能好用
够用先是够用
再说
第二个呢你能不能让大家真正的好用
你的io的兼容性
你的软件的兼容性
你的稳定性
你不要出问题
很多人拿到之后呢
抱怨连篇
那实际上呢我们在这里呢做了很多
这方面的这个研究
这个呢就是我们的兆芯A处理器
接下来呢我们对这个A处理器呢
就是我们看到了其中的一些问题
然后呢对这个进行大幅优化
首先呢我们认为设计流程
采用的这个定制化的太多
大概占85%以上
那我们现在把它改成一个就是以ASIC流程为主
以定制化为辅
这样流程
整个芯片面积呢
大概从四零的这个15平方毫米
缩减到28的两平方米微点
就是单格 同时呢把它制约它性能的这个
共享cache
共享前端总线改成共享cache
那对单核这边呢
其实我们把这个decoding的一些处理宽度
然后还有这个就是rs的这个调度算法
还有这个就是我们执行单元的做了一些小调整
整个流水线来做了较大的优化
这样呢我们的功耗也降的比较低
就是由之前的两核的40瓦 就双核
40瓦降到了四核的大概17瓦
18瓦左右
那另外呢就是在测试中
我们引入了新的测试流程
这样呢把之前很多用这个大量的这个
测试机器
改成了我们就是用这个paspden(?)去做
基本上现在呢就是我们的
整个无故障时间是大于10万小时的
这是一个非常好的数字
那基本上就是说不会给我们的合作伙伴找麻烦
但是在兆芯c设计的过程中
我们意识到
第一次做处理器
有一些这个设计我们相对比较保守的地方
或者设计有些不足的地方
我们觉得还有地方挖掘它的潜力
那首先呢我们就是对这个单核这边
做了比较大的提升
接下来呢我们对这个前端
就是前端总线制约性能的地方呢
尤其这次在这方面关注的比较多
我们也做了调整
同时呢把io升级到这个ddr42400
这样呢就是我们的兆芯d处理器
这个的整机性能呢大概是i3 的六系列
目前呢我们正在准备我们的这个开先六千系列
那这颗处理器呢我们采用16nm工艺
我们希望呢频率呢大概在3g左右
单核性能呢大概在30分左右
这样呢大概跟这个intel这个六或者七系列的
i5 的水平差不多
这样就是对国内的办公呢
或者是这个主流的桌面应用
提供一个比较好的平台
大家看一下
那边呢是我们大概处理器的单核性能
大概从兆芯A的规划是1
然后到兆芯c的1.5
然后到兆芯d的这个1.8
那我们未来预期呢是开先6000呢
大概是2.7
那按照之前一个老师的说法
你要证明你自己
你大概要提升接近两倍才行
那大概可以到兆芯D
就是开先5000已经到了这1.8倍了
我觉得足够证明这件事
那这里另外一个呢就是我们说的io
也都是我们自己做的这个配的
这个兆芯A配的这个vx11系列
以及这个兆芯c配的这个呃
兆芯ZX100S和开先5000配的这个兆芯ZX200
这个芯片组也都是我们自己的
呃下面呢就是跟大家重点介绍一下
我们的这个最新的产品开先5000系列
首先呢我们来看一下我们的微架构
我们的这个微架构的名字叫五道口
上一代叫张江
首先五道口来看
就是我们的单核和互联都做了比较大的改进
这样呢我们ipc呢提升了25%
然后呢我们的整机性能提升了大概1.4倍
然后这个另外就是内存带宽
我们提升了1.2倍
另外一个呢就是我们认为
整个要为了支持服务器
或者是嵌入式的应用
那上面有很多更多的io互联要准备出来
所以呢我们开发了我们
新的这个就是io扩展芯片
ZX200
这里呢采用这个switch架构
那用四个
line的pcie3.0和host连接
首先我们来看一个CORE的改进
这里呢首先呢我们这流水线呢
从这个c到d做一个大的调整
那这边呢我们把流水线级数
进行了五级的缩减
那目前呢整个流水线
大概是15级左右(KX5000是15级流水线)
另外我们对缓存最新单元呢进行了全新设计
这里大概是增加了一倍的访存带宽
另外对这个分支预测
还有我们的这个乱序执行部分呢
算法进行了调整
通过这样的调整
所以说把我们的性能拉到了
25%的提升
这个是互联架构
那互联架构看一下
这个其实应该说是目前一个主流的互联架构
我们采用的大概是一个这个多节点的
可以伸缩的
pin to pin(?)
配
smoothboard带table base(cable phase?)的
这样的一个这个互联结构
那这个好处呢就是目前可以看到呢
就是我们采用这四个核作为一个cluster(簇)和下面连接
那另外呢就是我们的
DDR(?)作为一个的这个节点存在
这样的取消了就是前端总线的限制
另外呢就减小了Latency
这样把整个的我们这个内存的性能就拉上去了
另外就是核显
不再通过北桥
作为转接
那这样的话呢
它缩小了cpu和DRAM的Latency
增加了带宽
那整个这个核显性能也会变得好一些
另外呢就是io领先
大家可以看到
其实开先5000呢
是可以作为一个单独的soc存在的
在上面它支持就是我们的传统的这个南桥
还包括双通道的ddr4
包括还有24LINE的pcie3.0
那另外呢就是在显示这部分呢
支持这个高清4k
同时支持这个hdmi edp这些最新的接口
那同时呢
我们刚才提到的新的io扩展芯片呢
实际上是可以
有更多的io
可以兼容
那首先呢我们可以看到我们支持usb3.1
GEN1 GEN2
那同时呢支持这个九个PORT的PCIE2.0
支持四个PORT的这个SATA3
同时呢还支持千兆网卡
那这颗芯片呢其实不止可以我们用
那如果假如说有第三方需要
我们也可以就是说把它提供出来使用
这个呢是我们的这个flow plan
这采用的是TSMC 28纳米工艺
那这个呢
整个面积大概是187平方毫米
上面呢大概晶体管的数目呢是这个二点一
billion左右(2100百万)
这上面大家可以看到右边
这两个呢是我们两个cluster 8个处理器核
然后呢和包括mcache
右边呢是包括我们的南北桥核显
那两边的io呢是双通路的ddr4
还包括上面的24line的PCIE3.0
下面还有这个这个就是hdmi和dp
这里呢所有的这个IP都是我们自己做的
包括这个cpu这边的这个standard cell
也是我们自己做的
实际上呢这个cpu 实际上是一个耗时间
耗钱耗精力的活
那跟大家分享一下
我们整个研发中遇到的一些问题和一些经验
我们这颗处理器呢开先5000呢
是从2013年的8月份
我们开始进行架构设计的
那最早的想法呢是打通这个到DDR的带宽限制
把前端总线取消掉
另外把这个多核数量稍微增加一些
那另外呢在我们设计的后期
大概在14年左右呢
就是我们兆芯c流片之前呢
我们看到我们相对比较保守的地方
我们认为可以往上继续提升
所以我们把我们这个单核的优化也提了上来
所以大概是在于这个14年的6月份
我们完成了整个的架构设计
然后开始进入了我们的整个的项目
就是partition
包括cpu cluster呃
还有这个南北桥graph的这个partition的执行阶段
包括他们详细的逻辑设计验证
还有timing评估这个阶段
经过这个大概是在15年7月份结束
然后我们开始进入我们的项目的整个执行阶段
这个包括很多设计的活动
包括我们的这个验证的流程
我们测试的流程
我们功耗评估的流程
我们SIPI的这个流程
那整个还有包括emulation的流程
这样呢大概是在16年的4月份的
完成了初步的设计
在16年的8月份
流片在10月份回来之后呢
我们大概经过了这个
系统的详细验证和量产的准备
那在今年的10月份呢正式量产
在整个设计过程中呢
我们投入的人力呢大概是在9000个人月
300
00:13:14,360 --> 00:13:16,670
那有4000个计算核心
大概是在15年的8 9月份开始准备起来
然后呢一直到这个17年的上半年
在全速运行进行验证
整个这个设计资料的存储呢
大概是在200tb左右
那中间呢我们还用了这个十台
这个仿真加速器和硬件仿真平台
进行全系统的性能验证和功能验证
实际上就像刚才这个郭总讲的
这个验证是个很麻烦的事情
而且要花很大的精力
那我们这里呢这个我可以看到
在整个验证上面呢
我们用了150个billion的指令
进行交叉混合仿真
来验证我们的这个功能的正确
那另外呢我们有全系统的仿真平台
可以保证我们就是在bios dos
linux
win 7 win10 Unix全部进入
然后并且进行压力测试
其中大概有300多类
测试测试条目
软件测试条目在上面进行测试
整个一个一个在一个上面的激励时间
是大于4000个小时
那这个是我们在验证上的花的功夫
那实际上呢在整个这里面呢
我们还建立了很多这个设计流程
其实呢大家知道一点
就是说在cpu设计中呢
到目前呢
实际上整个的cpu架构呢相对来说比较成熟
成熟了
但是怎么样你把这个架构和你的工艺结合起来
做出好的cpu
而且呢不出问题
这个是一个很大的功夫
也就是我们methodology(方法)
包括你的验证的methodology
一个评估的methodology
还有你的timing收敛(时序收敛)
你的测试
这些都是非常重要的
这里我们可以看到
我们整个呢就是在我们性能评估这边
我们单核的呃
spec int性能评估误差呢在1%以内
我们的带宽的性能评估误差在3%以内
我们的功耗评估误差大概在10%以内
这个数字呢应该是非常好看的一个数字
而且呢这个其实指导意义非常大
另外一个呢就是我们刚才提到的
这个只是你出去之前保证你功能的验证
从功能上保证你没问题了
你可以测了
然后呢你有更好的兼容性了
更好的稳定性了
但实际上回来之后是不是这样
还要做更多的系统级的验证
我们可以看到呢
就是说我们准备了20多个主板和20种辅卡
来保证我们整个在各种pcb上来验证
我们整个芯片的pi si io
然后呢在这个device上面
我们通过了61种DDR4器件
200多种usb器件
还有80多种pcie的器件的验证
那拿到了这个PCIe的logo和usb的logo
也通过了那个windows的hql的验证
那这个呢是保证我们比较好的稳定性和可靠性
另外呢与国内软件适配呢
包括这个中科方德
中标普华
还有像这个win7 win10 winsp
还有神州网信呢
我们进行了充分的适配
刚才讲的呢是我们的架构和
我们怎么样把我们的这个稳定性
兼容性
可靠性做好
另外就是性能方面
性能方面第一个是一个门槛
就是说你要能够基本够用
能够就是满足办公室用
另外一个你要好用
你能满足主流的桌面使用
这个呢是我们兆芯c的测试结果
大家可以看到呢
这是我们请工信部软件集成这种测试中心
测试结果
我们内存带宽呢由于前端总线的限制呢
大概单核在7500g左右
那spec int的分数呢
大概这个单任务是16分
多任务呢是47分左右
那与这个兆芯c相比
我们看一下这个就是开先5000
开先5000
我们看到呢我们的内存带宽呢
这个单核呢增长了到12g
那多核呢到了17g
另外呢我们可以看到
我们这个spec int的分数到了这个19.9分
这是icc的分数
gcc的分数呢是15.4
我们的这个spec rate
这个是115分
这个性能呢基本上是说和i3 的六系列
是差不多的
那我们看一下这个呢
实际上有人说这个东西你只是一个跑分嘛
实际上就是说还有很多其他测试
我们也可以看一下
这是这个国际主流桌面的一些应用
包括测试分数
比如像这个象棋
还有7zip cinebench
我们可以看到这个分数呢
基本上和这个intel的第六代i3 的水平
是差不多的
那这个呢还是分数
我们来看一下
再看下实际应用
这个应用不好意思
因为这个ppt准备
这个我水平比较差
这个很多这个播放的东西做不太好
呃
跟大家解释一下
左边呢是我们在一个就是视频网站哔哩哔哩
这个找到了一个就是比较热门的
就是《我在故宫修文物》的一个播放
这个播放呢就是我们同时呢在做四件事情
首先呢第一个是你快速的网页的解码
第二个实时解码
第二个呢你要能流畅的播放flash
第三个呢你这个它这个软件呢
就是他这个网站有大量的这种刷屏(弹幕)
那我们如果去看的话
这个刷屏(弹幕)大概我记得是非常大的
是8万多还是20万多
它整个屏幕上全都在不停的刷屏(弹幕)
另外一个呢我们要把这个图像截取下来
然后呢这个录像实时的录到我们的这个呃
我们的存储上面
所以大概同时在做这四件事情
那在做这四件事情的时候呢
我们可以看到呢我们的播放仍然是非常流畅的
右边呢是一个这个要求比较高的
这个就是游戏软件
这个叫这个呃使命召唤14
我们可以看到在这个上面我们播放这个软件呢
这个帧数也是非常高的
而且这只是高清播放
这个性能也非常非常的好
所以就是归纳一句话
就是我们目前呢开先5000这个处理器呢
在支持就是主流的桌面使用上面是很流畅的啊
那下面呢跟大家报告一下
我们就是对于这个meltdown和spectre的一些
看到的情况
从目前已经知道的信息和论文来看呢
meltdown和spectre呢呃基本上呢都是利用
就是我们在操作时候的不小心啊
或者设计应该说还是有点不一样的
mo down是你设计的时候呢
呃我们认为应该是在cache执行的时候
这个会留下痕迹
这个痕迹是越来越前线的
这样的痕迹呢会放在你的grb你的cache
或者你的处理器内部
这样从而被人侦测到你的边界
然后呢从而呢可以去拿到你的数据
另外一个呢那个spectre
我们目前看到的是利用我们目前处理器中的
这个一个这个基本技术
就是分支预测
在上面呢进行了这个中间的一些原理性的问题
也是造成了一个痕迹
被人
用来利用来攻击
那目前看到的这个攻击呢
大概现在是一直不停的在
有新的这个攻击程序放出来
到目前为止呢
就是我们看到我们还比较幸运
目前还没中招
但是呢这也暴露了一些基本的问题
尤其像spectre这样类似的设计
这个这样的攻击
它基本上是个原理性的攻击
很多地方呢我们可以看到呢
像英特尔在做这件事情的时候呢
它是运用这个os和硬件
一起来防御这件事情
所以这给我们提了一个醒
就是希望呢就是我们国内的软硬件厂商
包括各个处理器厂商
大家协同起来
看看怎么样来抵御新的问题
而且呢这个现在层出不穷
我们要随时来跟踪这件事情
这张图呢右边呢是intel它的一个结果
我们可以看到
它基本上内核的很多东西被泄露出来了
那左边呢相对比较好
我们自己的呢还没有被人钻石
到现在呢还是安全一些的
嗯下面呢就向大家报告一下我们的发展路线
那刚才呢现在已经报到了我们的兆芯c
我们的开先5000系列
那现在呢就是我们的开先6000
这个呢我们希望呢就是我们的单核性能呢
3g 30分
然后我们的内存带宽呢基本上也接近30G
那接近i5的65 75系列的这个水平
那同时呢我们也在准备我们下一代的架构
我们下一代的架构呢开先7000啊
基本架构设计已经完成
那是从目前来看呢
单核性能呢以现在的性能同频下
大概提升了1.4~1.5倍
那刚才有提到
就是说实际上呢在一个处理器中间呢
不止你的处理器内核
你的互联是重要的
包括你的io你的显卡也是重要的
那我们在这个下一代下下代中呢
我们会把这个ddr5 PCIe4 usb3.2
还有这个io的
Virtualization(虚拟化)2.4
这些呢也都涉及到我们在大概是18年
19年或者20年的最新水平吧
希望呢通过这样给大家提供一个好用的
主流的应用平台的芯片
谢谢大家