中国科学院知识创新工程重大项目高性能通用CPU芯.ppt

上传人:ga****84 文档编号:454014 上传时间:2018-10-08 格式:PPT 页数:74 大小:1.95MB
下载 相关 举报
中国科学院知识创新工程重大项目高性能通用CPU芯.ppt_第1页
第1页 / 共74页
中国科学院知识创新工程重大项目高性能通用CPU芯.ppt_第2页
第2页 / 共74页
中国科学院知识创新工程重大项目高性能通用CPU芯.ppt_第3页
第3页 / 共74页
中国科学院知识创新工程重大项目高性能通用CPU芯.ppt_第4页
第4页 / 共74页
中国科学院知识创新工程重大项目高性能通用CPU芯.ppt_第5页
第5页 / 共74页
点击查看更多>>
资源描述

1、1,龙芯2号处理器设计,中国科学院计算技术研究所CPU组2004.11.10,2,内容提要,基本情况介绍研究目标目前进展近期工作计划关键技术 结构设计处理器验证物理设计,3,龙芯2号研究目标,研究目标研制出具有自主知识产权、达到国际先进水平的64位高性能通用CPU芯片和配套的PC以及服务器系统样机。建立开发平台、设计方法、研究队伍。样机系统指标MIPS兼容,64位,超流水,4发射,乱序执行流片主频500MHz以上,SPEC CPU2000值为300分以上,性能与1GHz以上的PIII或PIV相当300MHz的Untra Sparc II的分值为100分。 1.3GHz PIV实测结果:INT

2、346; FP 272。运行完整的64位Linux操作系统和X-window视窗系统,通过包括SPEC CPU2000在内的若干基准程序的功能和性能测试,通过包括Office、浏览器、WEB服务器在内的一批应用程序的考核,可试运行电子政务等大型应用。,4,部分处理器的SPEC CPU2000值,5,Mid,Low,High,MIPS,MIPS,XScale,ARM,IA32,IA64,HighPerformance(GHz),Low Power(mW),440 / 750 / 970 / Power4+,主流CPU的谱系和龙芯的位置,高性能,低能耗,6,龙芯处理器Roadmap,7,龙芯2号处

3、理器特点,高性能64位、四发射、乱序执行64KB+64KB片内一级Cache, 1MB-8MB片外二级CacheIEEE 754兼容浮点部件,专门的媒体支持双精度浮点运算10亿次/秒,单精度浮点运算20亿次/秒SPEC CPU2000实测性能相当于500MHz-1GHz的PIII系列完全满足桌面应用的要求采用0.18um CMOS标准单元工艺,500MHz针对缓冲区溢出攻击的专门安全支持MIPS兼容,支持LINUX, VxWorks, WinCE等主流操作系统1350万晶体管,面积6.2mm*6.7mm 功耗:2w-4w500MHz低成本:CPU+套片20美元,8,龙芯2号进展,已经完成多次流

4、片,包括0.18um的定型芯片2002年7月开始概念结构设计,10月开始详细结构设计2003年10月17日首片成功运行2004年9月28日0.18um定型芯片的试流片运行基本完成院重大专项和863重点项目实测性能是龙芯1号的10倍以上全面超过VIA的性能、实测性能达到PIII的水平完全可以满足桌面的应用系统设计进展完成PC和服务器主板的设计,正在进行笔记本主板的联调64位北桥设计,已经完成RTL设计完成MIPS64 Linux kernel 和Debian的完整发行版的移植,包括xwindows, Open Office, Mozilla, 媒体播放, Email, Xpdf等,9,龙芯2号研

5、发历程,Balance between frequency and architecture is most important,10,Godson-2C主频,已完成多次流片,目前为C方案(Godson-2C)是0.18um的定型芯片正常电压范围(1.8v10%)主频为400MHz-450MHz目前由于封装散热较小(只能散1w-2w,实测400MHz时3w左右),因此降低电压运行在90MHz*3或90MHz*4通过封装改进和工艺调整,正常电压范围达到500MHz-600MHz改进封装:通过散热片可以散3w-4w沟道宽度:0.16um或0.17um阈值电压:-5%或-10%不用改gds2版图,S

6、MIC已经开始加工,11,龙芯1号和龙芯2号,12,SPEC初步性能比较(1),266MHz Godson-1 vs. 270MHz Godson-2C500MHz的龙芯2号性能是龙芯1号性能的10倍以上,13,SPEC初步性能比较(2),733MHz Via-C3 vs. 270MHz Godson-2C500MHz的龙芯2号性能将大大超过VIA的处理器,14,SPEC初步性能比较(3),360MHz Godson-2C vs. 450MHz的PIII500MHz的Godson-2C的性能达到600MHz以上PIII的性能,15,Godson-2C的SPEC 分值分析,目前gcc编译器270

7、MHz时90-100分龙芯1号是定点18分,浮点25分Godson-2B在225MHz时40-50分通过硬件、OS和编译优化270MHz时达到100-120分主频提高到500MHz使gcc编译的SPEC分值提高到200分左右外频和二级Cache的增大使性能随主频线性增加目前外频为90MHz,可以提高到125MHz。目前二级Cache配置为4MB,可以配置到8MB。编译器提高30%-50%估计需要2-3个月时间二进制优化可以提高10%-20%已经把Alpha的ALTO移植到MIPS上最后达到250分或300分以上,16,Godson-2D的设计,一个CPU设计、两种芯片形态、三个应用系统一:Go

8、dson-2处理器的增强型,1GHz,SPEC分值600分二:CPU和基于CPU的SOC(互连、存储控制、IO)三:PC、SMP服务器、TeraFLOPS高性能机计算所负责CPU核和PC机结构改进浮点乘加:峰值性能双精度4GFLOPS,单精度8GFLOPS片内512KB二级Cache和SMP支持物理设计0.13um的HP工艺,更多的定制目前进展已完成乘加部件改造、11月完成二级Cache和SMP支持11月中完成8端口寄存器堆的定制设计2005年2月tapeout第一个芯片。2005年底完成1GHz,SPEC分值600分的任务,17,龙芯3号考虑,处理器结构已经历了一个简单、复杂、简单、复杂的过

9、程早期的处理器结构一般都是简单的串行执行工艺技术的发展及流水线、CACHE、向量机等使处理器结构变复杂RISC的出现使处理器结构得到一次较大的简化工艺技术的发展及乱序执行和多发射技术又使RISC处理器结构变复杂网络及媒体应用及功耗问题使处理器需求发生了变化Performance per second, Performance per dollar, Performance per watt连线延迟和设计复杂度越来越大应该用层次化的结构简化设计,物理设计对结构设计的制约对处理器的微体系结构进行突破性的变革的时机已经到来从复杂到简单、面向网络和媒体应用、低功耗多处理器核和多线程结构已成为研究热点,

10、但没有解决已困扰二十年的并行程序编程难,对传统串行程序加速小的问题现在没有一种结构(包括IRAM、PIM、SMT、CMP、Trace cache、微线程等)能全面解决上述问题,需要包括指令系统在内的系统创新,18,目前的研究方向,片内多处理器结构SMT、CMP、Micro-threading、Trace Cache存储层次与预取Cache一致性协议用有效的预取达到大容量CACHE的效果性能分析模型和方法把龙芯2号结构移植到SimpleScalar上片内多处理器模拟器低功耗设计系统级、逻辑级、电路级Java协处理器针对java中类处理的特点,19,科研队伍情况,龙芯课题组共80多人其中员工30人

11、,研究员3人、副研3人,助研10人左右绝大部分是年轻人分成结构组、系统组、物理组、验证组、IP组、龙芯实验室等6个组三名具有十年以上物理设计经验的硅谷设计人员常年合作编译组为龙芯2号做编译器测试组负责龙芯2号的测试所外合作中科院微电子所、772所,20,关键技术,结构设计处理器验证物理设计,21,龙芯2号结构设计关键技术,“可执行的结构设计”用C模拟器作为详细结构设计的文档,并用于验证、性能分析等。步步为营的性能分析:C模拟器、RTL、FPGA、流片多发射和乱序执行的关键技术9级流水:取指、预译码、译码、重命名、送入队列、发射、读寄存器、执行、提交4发射,5个功能部件,浮点部件的定点和媒体复用

12、转移猜测:Gshare+BTB+RAS,高效的转移取消机制寄存器重命名:两个64*64的物理寄存器堆动态调度:ROB 32-64项,定点浮点发射队列各16项存储层次的关键技术TLB: 64项全相联,每项两页,独立的16项指令TLBTLB中增加可执行位,防止缓冲区溢出攻击CACHE: 指令与数据CACHE各64KB,4路组相联Non-blocking:最多允许16-32条。Disambiguation:动态解决访存相关,不用重新发射 Load猜测执行:前面的store操作未确定的情况下执行load操作,22,常见处理器部分技术参数,23,结构设计关键技术(1),浮点部件的定点和媒体复用对MIPS

13、浮点指令的fmt域进行扩充,把浮点部件用做定点以及媒体处理部件的功能,不用额外增加指令。同一条指令(如加法指令)通过fmt域来指定不同数据的相同运算。ADD.S, ADD.D, ADD.PS, ADD.64, ADD.32, ADD.4x16, ADD.8x8不用对主要的数据通路(如寄存器重命名、发射、读寄存器、访存等)做任何修改,只需对在功能部件中增加适当的功能就可以大大加强处理能力。实际上实现了简单的定点多线程,如有两套可用做定点操作的寄存器堆、发射通路、以及访存通路等。,24,结构设计关键技术(2),转移取消机制转移猜测: 在转移条件确定前,猜测某个分支取指并执行。普通定点程序平均6-7

14、条指令中有一条转移指令。Godson-2使用混合预测+Gshare + BTB + RAS的转移猜测方式当发生转移猜测错误时要取消该转移指令及其后续指令。在乱序执行的环境下,有可能该转移指令后面的指令已经执行,而该转移指令前面的指令反而没有执行。因此如何判断在各个流水阶段中的指令与猜测错误的指令的先后关系是一个关键技术。与其他处理器如MIPS R10000相比,Godson-2在猜错的转移指令与其他指令的先后关系判断上更简单高效。采用把程序分成若干基本块的方法正因为如此,Godson-2中较容易地实现了8项转移队列,而R10000中的转移队列只有4项。,25,结构设计关键技术(3),Godso

15、n-2的安全机制利用缓冲区溢出进行攻击的例子Godson-2通过可执行保护防止缓冲区溢出攻击TLB增加可执行位MIPS的ISA没有执行保护,26,结构设计关键技术(4),访存地址相关的解决:结构设计的难点Alpla 21264和MIPS R10000在遇到访存相关时都需要退回重新发射Godson-2在访存队列中通过物理地址的全相联比较动态解决访存相关Load SpeculationCache命中的load操作必须等它前面的所有store的地址都确定后才能把值写回寄存器并传递给后面的操作(30%-40%的概率不能返回)Godson-2实现了load操作Cache命中时可直接返回,并在发现访存相关

16、时取消该load及其后面的操作(1%的概率需要取消),27,结构设计研究方法,两个流程基于C 模拟器的验证和评估基于FPGA 的验证和评估两个角度工作负载分析处理器瓶颈分析,28,C 模拟器,Cycle-by-cycle精确每秒可模拟约100k拍全系统模拟,运行实际操作系统,模拟串口,内存,磁盘等外设。调试,数据收集能力和灵活度不断提高详细的数据统计重要的整体行为特性:IPC,cache 失效率,分支预测失效率等指令相关统计:每条指令在各流水级花费的拍数,遇到的失效数等,29,C 模拟器(续),专用的AMD64机群,大量使用批处理和自制脚本分析数据发展方向能够方便地在合理时间内完成比较全面的评

17、估:改善代码可维护性提高运行速度增加功耗分析等功能快速原型评估支持:更高层的模拟器,30,FPGA,比C模拟器快30x以上,潜力还很大和最终系统更接近,可以运行更大的数据集更多的应用FPGA 用于性能分析:FPGA 和最终系统的差别在于接口时序大不相同可以插入逻辑模拟最终系统的接口时序可以加入更多的硬件支持来帮助性能分析:如更多的性能计数器,trace buffer等,31,FPGA模拟的精确度,SPEC CPU 2000 test 数据集误差: 整数平均: 0.045% 浮点平均: 2%.,32,Spec CPU2000 性能比较(test输入集,运行时间,使用FPGA得出),33,工作负载

18、分析,基准程序SPEC CPU2000, media bench, dhryd/whetd, stream等分析工具模拟器Performance counter: perfctr, PAPI, pfmon,Vtune等二进制工具, 类似MIPS的pixie,Alpha的atom分析角度:(随时间变化的)各种特性,热点基本块分析,编译优化等,34,处理器瓶颈分析,理想上限分析专题研究,35,几个例子,访存子系统性能分析Load 猜测流水线中的IPC分布Store miss优化,36,访存子系统性能分析,目标系统: Godson-2B测量度量:延迟带宽,37,延迟,调查分析揭露了以下问题:北桥花费

19、过多时间访问sdram: 片外1315 总线周期出第一个数Godson-2Bs 不流水的接口比RM7K多花5-6个总线周期总线利用率很低(1/8)由于没有二级cache,godson2B 对访存延迟非常敏感,38,不同访存延迟下Godson2B的性能,39,带宽,标准的stream带宽不是很理想: 91MB/s at 100x2MHzsw-lw-sw,44,Load 猜测-更多的观察,Load被前面的store延迟的现象非常普遍: 30%一个被延迟的load(发射后)至少需要5拍才能写回,30% 将使得平均load指令的延迟拉长到: 3x0.7 + 5 x 0.3 = 3.6这恶化了原本就已经

20、比较长的load延迟。,45,Load 猜测-应对措施,让准备好的load直接写回,不考虑前面是否还有为解决的store,然后检测发生相关的情况,利用例外机制取消错误的猜测极小的硬件代价,46,Load 猜测-效果,对于上述数组拷贝代码,load猜测后硬件看起来就像是能够自动把循环展开成如下形式: lw . lw . lw . sw . sw . sw .,47,整数基准程序速度提高(平均 10%),48,浮点基准程序速度提高 (平均 6%),49,Load 猜测-更多的评估,增加预测器来减少错误的猜测使用1024位的预测器可以再提高1%更激进的猜测?不仅猜测相关,同时猜测cache是否命中,

21、进一步降低load延迟结合预测器相关paper,50,流水线各级的IPC分布,理想的IPC是4, 在哪里损失掉了?为什么?,51,各流水级的IPC损失,52,译码阶段IPC损失原因,53,寄存器重命名阶段IPC损失原因,54,发射阶段IPC损失原因,55,Store miss优化,目前L1采取write-back,write-allocateStore引起的refill有时不必要整个cache块都被重写(如memset)只有写过的部分被用到统计数据优化措施,56,统计数据,SPEC CPU2000定点(test)平均store miss占总miss 33%Store miss时%64在被替换前

22、写满整个cache块,30%没写满,但只使用了此期间写的值SPEC CPU2000浮点(test)平均store miss占总miss 47%Store miss时%78在被替换前写满整个cache块,20%没写满,但只使用了此期间写的值,57,STB测试数据(stream带宽测试),STB(16):Function Rate (MB/s) RMS time Min time Max timeCopy: 127.1302 0.0255 0.0252 0.0260Scale: 112.3909 0.0285 0.0285 0.0286Add: 115.1494 0.0417 0.0417 0.0

23、417Triad: 111.7057 0.0430 0.0430 0.0430-BASE(NO STB):Function Rate (MB/s) RMS time Min time Max timeCopy: 81.6723 0.0392 0.0392 0.0393Scale: 81.3858 0.0394 0.0393 0.0394Add: 86.1838 0.0557 0.0557 0.0558Triad: 86.5489 0.0555 0.0555 0.0555补充:STB(8)与STB(16)结果几乎一样。 50%的提高!,58,关键技术,结构设计处理器验证物理设计,59,Godso

24、n-2的验证特点(1),验证占总工作量的60-70% 验证和设计代码比例为5:1,包括测试生成、仿真环境、覆盖代码等验证的困难是只能证明有错,不能证明正确验证目的是增加项目管理人员的信心验证是不断发现没有被验证的代码或功能的过程Godson-2的两维验证流程动态系统级验证过程:在C模拟器、RTL、及FPGA等多个层次运行系统软件及应用软件覆盖率分析:代码覆盖率、功能覆盖率,60,Godson-2的验证特点(2),测试向量构造随机测试向量、功能测试向量、微结构测试向量、真实应用程序手工编写验证代码:需要高级结构工程师的大量劳动,需要积累,极有价值指令级的随机验证随机测试向量生成一般用在模块级,其

25、优点是容易达到较高的覆盖率,缺点是缺乏模块级的正确性标准对于CPU来说,指令系统是唯一的正确性标准Godson-2设计了指令级随机验证系统,达到很高的覆盖率,可以容易判断执行结果,大大降低了编写手工代码的工作量多片FPGA验证Godson-2的验证需要用3片最大的FPGA。在芯片引脚上实现了倍频传输,即复用同一个引脚,传送多个信号。浮点部件的形式验证使用动态仿真不能证明正确,只能发现错误通过形式证明一个浮点部件设计符合IEEE 754标准,目前可以做到纯组合逻辑的形式验证,61,关键技术,结构设计处理器验证物理设计,62,龙芯2号物理设计关键技术,物理设计和结构设计紧密结合从micro-arc

26、hitecture到pico-architecture以ASIC流程为主的半定制流程定制模块设计:3w6r 64*64寄存器堆、4w8r 64*64寄存器堆、1w1r 64*64寄存器堆。定制库单元:包括基本单元,如与非门、或非门、选择器、触发器等;针对Godson-2结构的宏单元,如多位比较器、选择器、触发器、全加器等,一般为双倍高度;一些特殊单元,如为了利用useful clock skew而设计的CLKBUF,适用于Flip-Chip封装的PAD单元建立了把EDA工具的自动布局布线和手工布局布线相结合的物理设计流程并开发了相应的工具。该流程结合了EDA工具自动布局布线速度快和手工布局布线

27、效果好的优点。,63,关于全定制的一些误解,全定制就是手工画版图全定制需要更多的手工版图,但全定制的方法涉及结构设计与版图规划、电路结构、Foundry等更多的内容手工画版图性能好不一定,如对于静态CMOS电路,工具综合的结果不比手工的差人比工具聪明,但人只能做一百种尝试,而工具可以做一百万种一般来说,手工版图面积会小一些ASIC和全定制是对立的不是,ASIC和全定制之间没有鸿沟,是一个连续的过程ASIC, Semi-custom (Tiled, Craft cell), CustomIntel等大公司肯定做全定制PIII有20%左右的逻辑是综合出来的,PIV有50%多规整的数据通路容易人工设

28、计,控制逻辑需要自动综合随着电路规模的扩大,手工工作所占比例不断下降全定制更需要积累,64,不同的物理设计方法,ASIC, Tiled, Crafted-cell, Full custom,部分模块,B1,C,C1,B,65,全定制与ASIC: Design Methodology,ASIC一般的结构设计、标准单元库(如Artisan)、商业化的ASIC工具(如Synopsys, Cadence)、标准Foundry(如TSMC、SMIC)定制设计精雕细刻的结构设计和流水级设计软件、性能、延迟、面积、功耗的全面考虑,有时候为了半级门的延迟费尽周折更多电路结构的考虑:静态CMOS、传输门、动态电

29、路、差分电路 定制单元库,更多单元,更多大小如龙芯2号定制了包括触发器、多位(4位、6位、8位)比较器、选择器、全加器等定制的工具和流程如IBM自动版图生成工具、Synopsys的25%的收入来自IntelHspice和关于SI的更多考虑多数情况下的专用工艺珊氧厚度,双域值电压,Low K,铜互联,SOISMIC已经满足不了我们在定制方面的要求如Intel和IBM的专用工艺,SUN和TI的特殊关系ASIC与全定制:我们真正关心的是什么?花多少代价得到什么好处:性能、面积(成本)、功耗、生产效率的权衡,66,67,68,69,70,71,回顾,基本情况介绍目标、进展、计划关键技术 结构设计结构介绍和技术点设计方法处理器验证物理设计,72,几点体会,正确认识我们的形势不要妄自菲薄,也没有“群体突破”采取正确的技术路线十分重要正确的战略和正确的战术纸上得来终觉浅,绝知此事要躬行正确处理任务和学科之间的关系从为“芯片做系统”到“为系统做芯片”要有“做给他看”的勇气所谓不可能,是因为我们没有去做前途是光明的,道路是曲折的,73,谢谢!,74,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。