原创 关注中国芯的崛起(一)

2007-1-31 20:08 2362 5 5 分类: 工程师职场

在CPU技术一直有美国把持的市场下,江苏中科龙梦科技有限公司首批次采用中国自主知识产权的龙芯处理器产品——福珑迷你电脑诞生。并且2006年12月9日将对购买用户进行确认。早在11月27日,我们率先报道龙芯盒子开始接受预购初定售价1599元。该产品是采用龙芯2E处理器,不包括显示器和键盘鼠标。短短一个星期,已经预购出1000多台龙芯盒子,龙梦科技提前终止了订购时间。

点击看大图


点击看大图


作为国内首台完全自主知识产权的电脑,“福珑”采用龙芯2E CPU,产品预装了Linux,不支持Windows操作系统。产品能满足办公、上网、邮件、多媒体播放等基本需求。目前本次销售的电脑用户名单已经基本确定了,预计年底到明年初会陆续发货。最先的用户还会有MP3或者U盘小礼品相送。

这款产品销售的信息,令大家又一次对中国芯高度关注。由于产品没有出货,很多的疑问接踵而来。下面我们先来了解一下首款采用“中国芯”的电脑。


 


[福珑迷你电脑赏析]

作为首款彩用龙芯CPU的产业化产品,早在9月底,网络上福珑的图片已经出现不少:



点击看大图

点击看大图

点击看大图

点击看大图


不过最后外观上有所修改,根据最新的信息,最终出货版本将采用如下外观。



龙芯

点击看大图
福珑电脑最终出货实物图


 


点击看大图


龙芯电脑的推出,成为中国计算机产业的又一个重要标志,下面让我们简略的回顾一下中国计算机工业50年中各个发展阶段。


[中国计算机工业的历史]

我国计算机工业从引进苏联计算机技术开始,从单机起步到系列机,并形成批量生产,逐步发展成为包括整机、外部设备、零部件等硬件制造业、软件业和信息服务业的完整工业。在50年里,100、180、200系列机在中国计算机工业史上留下了光辉的一页,0500和0600系列微机确定为我国PC机的初始机型,使中国的微机产业顺利地沿着与世界主流技术和产品兼容的道路发展下去。1995年我国计算机产值达到615亿元,比1980年增长120倍,初步形成了一定的规模。

1. 中国计算机工业的萌芽阶段(1956-1973年)
我国建国初期,为发展经济,建设国防,发展新技术,为两弹一星服务,解决原子能研究、飞机、火箭的研制和自然科学如气象、资源勘测、数理研究、重大工程设计中存在的大量的复杂的计算任务,迫切需要先进的计算工具。1955年,周恩来总理主持制定《十二年科学技术发展规划》,电子计算机被列为六大重点项目之一。国家决定集中科研部门、工业部门和国防部门的力量,研究我国第一台电子计算机。

点击看大图
随后,工业部门也陆续研制成功108甲机、108乙机、320机、655机,并和高校、用户部门联合研制成功150机,分别为国防154Ⅰ期,154Ⅱ期,1125工程,7010工程,核工程计算,石油、地质地震勘探,气象预报等提供了关键装备;同时科学院系统也研制出了905、109丙等计算机。自此,我国自主研制和生产了电子管计算机、晶体管计算机和小规模集成电路计算机。更为重要的是培养了一支计算机技术队伍,锻炼了自主研究开发能力,使工厂掌握了计算机工业化生产工艺、测试、调试及质量保证技术,为形成我国自己的计算机工业奠定了基础。

2.中国计算机的工业形成阶段(1973-1983年)
1973年元月15日第四机械工业部于在北京召开了“电子计算机首次专业会议”,回顾了我国计算机的发展过程,总结了我国计算机的研制、生产和应用的经验与教训。参照国际计算机的产品发展趋势,会议决定放弃单纯追求提高运算速度的技术政策,面向用户,面向生产,科研与生产结合;发展系列机的方针。7301会议做出如下六点决议:

大中小结合,以中小为主,着力普及和应用;
发展系列机,实现一机多用,多机通用,各型联用;
加强外部设备发展,妥善解决主机和辅机的关系;
加强软件发展,加强服务工作,推动计算机的推广应用;
积极采用集成电路,加速产品的更新换代;
相应发展模拟机;
在此基础上,会议上提出了联合研制三个系列机的任务。
小系列,即台式机和袖珍计算机器系列;
中系列,即多功能小型计算机系列;
大系列,运算速度每秒10万次-100万次;
点击看大图
74年8月四机部召开了计算机工作会议(简称748会议)肯定了四机部7301会议制定的发展系列机,加强外部设备的发展,加强软件的发展,加强服务工作和加速产品更新换代的方针。

748会议的另一重要成果是:它启动了中国印刷技术的第二次革命,告别了铅与火的时代,为汉字进入现代信息社会做出了不可磨灭的贡献,为计算机中文化做出了不朽的贡献。748工程所形成的汉字信息处理产业创造了巨大经济效益和社会效益。

国家电子计算机工业总局成立
1979年元月15日四机部向国务院呈报了“关于成立国家电子计算机工业总局的请求报告,”3月21日国务院批复:决定成立国家电子计算机工业总局。这是我国计算机工业成长与发展的重要标志。总局成立后立即着手调查研究计算机工业面临的问题。

这次调查:总结了过去机种、型号庞杂,互不兼容的多点重复生产的状态。过去,重主机、轻外设,重硬件、轻软件,重生产、轻应用的“三重三轻”局面,说明对计算机工业内部客观规律认识的片面性,只买设备、而没有引进生产线,越买越落后。
点击看大图
1977年9月电子部计算机工业管理局召开了第一次微型计算机专业会议,确立了根据我国国情,充分利用有利时机和一切可能条件,直接采用世界上新的又适合我国需要的先进技术,加速我国微机工业发展的思路,这就是当时选择的“创新战略”。

3.计算机工业发展阶段(1984-1995年)
全国第一次计算机工业计划座谈会上明确了如下观点:

电子计算机技术对一个国家,特别是对一个象我们这样的社会主义大国来说,绝不是可有可无的。

1986年9月7日,电子工业部在山东石岛召开了计算机发展战略研讨会。石岛会议上提出建立以第四代机为基础的计算机产业,提出MSMP(微型机、软件、小型及外部设备)为重点,会上明确以两微一小建立核心产业,同时发展软件和外部设备,重点搞好微小型机产业。

石岛会议后,我国微型机产业与应用走上了快速发展的道路。
1988年,以长城0520为主的微型机年产量超过万台。随后浪潮、联想微机生产也超过万台。
1995年我国微机市场销量首次突破百万台。
1995年我国有几十万台PC机出口,并出口板卡和元器件,实现了采用国际技术,国际配套,供应国际市场。我国计算机产品出口达到49.5亿美元。这些都说明我国计算机工业已进入国际市场。

4.计算机工业创新普及应用的时代(1996-2006年)
2000年6月国务院颁布了《鼓励软件产业和集成电路产业发展的若干政策(国发〔2000〕18号(简称18号文件))》, 2002年9月国务院办公厅转发了九部门联合制定的《振兴软件产业行动纲要(2002年至2005年)》(简称47号文件),务实推进18号文件各项政策的落实,推动产业发展。

中日韩三国Linux联盟“开放源码三国同盟”的建立为我国发展软件产业,在Linux平台上运行各类信息系统创造了条件,也为东亚和周边国家的Linux应用提供了应用范例。Linux通过企业整合,逐步成熟,推广应用,市场逐渐扩大。拓林思公司和中科红旗已实现盈利。由国防科技大学、联想、中软几家合作推出了麒麟操作系统。正在成为软件业的亮点。国产数据库管理系统OpenBASE,达梦系列,人大金仓Kingbase,还有北京神州航天软件的OSCAR5.5,实方数据库管理系统(logic SQL1.0)。上述数据库面临国外厂家的竞争,以及开源软件My SQL,postgre SQL的压力。发改委的专项,科技部的中小企业创新基金,电子生产发展基金等也推动了计算机产业的发展。中间件市场:中创、金蝶、东方通科技、中关村科技软件等约占有25%的市场。经过近年的发展,国内管理软件市场,以用友、金蝶、新中大,浪潮、神州数码、速达,金算盘、博科等厂家在ERP市场已占有相当地位。国内软件产业以30%的年增长率在迅速扩大市场份额。


 


[半个世界的期待]

通过前辈们50年的积累我们在计算机产业获得了不小的成果积累。一些优秀的单位及产品涌现出来。

嵌入式芯片方面:
龙星光系列、东方舟系列、龙汉芯系列、龙神威系列、龙万通1号、龙青鸟嵌入式芯片,龙北大众志等。中星微、珠海炬力等国内IC设计者大量涌现。

高性能计算机方面:
首选是国防科技大学研制的银河系列,国防科技大学在慈云桂教授的带领下于1983年2月研制成功我国第一台亿次电子计算机;1992年11月银河Ⅱ研制成功10亿次巨型机,实现了从向量巨型机到处理并行巨型机的跨越。1994年3月银河Ⅲ立项,三年后,“银河Ⅲ”亿次巨型机,实现了从多处理并行巨型机到大规模并行处理巨型机的跨越。


点击看大图
曙光4000A采用2560颗AMD Opteron芯片



银河、神威,曙光,联想深腾等一批高性能计算机的出现,使我国成为继美日之后的第三个高性能计算机研制生产国。2003年12月15日,曙光信息产业有限公司宣布10万亿次曙光4000A研制成功,并安装在上海,担任网格计算机的海量信息服务及数据交换等一系列工作,成为我国国家网格的最大节点机。并已实现产业化。

在这些辉煌背后,人们对中国芯的期待越发强烈,关于中国独立研发通用CPU成为最热门的话题,而龙芯的出现更是成为讨论的焦点。


[如何确立中国芯发展方向]

2002年9月28日我国第一款CPU芯片龙芯Ⅰ号问世。龙芯一号引起了行业内对中国芯发展方向的大讨论。几个比较核心的问题如下:

1.设计与加工
IC加工业是资金高度密集的产业,一条0.18微米生产线,一般要投资15亿美元以上,国外对先进IC加工设备出口中国仍有许多限制,因此,我国在芯片加工方面实现跨越式发展难度相当大。回顾我们国家的处理器设计历史,在80年代后全面落后的一个重要原因是没有自己的制造工艺,导致处理器设计队伍整体上垮掉,人员流失。

芯片设计是智力密集型产业,我国从事芯片前端设计的人力资源丰富,许多研究所和大学都有不少从事系统和硬件设计的人才。芯片设计的知识产权和专利很多都体现在系统级设计上,尤其是当进入片上系统(SoC)设计时,系统级的创新更加重要。龙芯一号CPU物理设计的成功表明有系统级设计经验的人转入物理设计并不是一件高不可攀的事,然物理设计本身是一门高深的技术,微电子专业的人才是物理设计的主力。

新一代的微处理器和现在PC机上的CPU将会有很大区别,创新的空间很大。中国的芯片设计要跨越发展,可能要通过软件和算法的突破来弥补硬件加工的不足。系统设计人员在芯片设计产业中将扮演十分重要的角色。总之,我国的芯片产业不能再走PC产业走过的以组装为主的老路。如果只重视附加值很少的低端芯片或主要用别人的IP“组装”低端SoC芯片,前途不会太美好。

2.通用与专用
所谓嵌入式CPU是指安装在不是计算机的路由器、手机、电视机、汽车等设备上的CPU芯片,而装在PC机、笔记本电脑、工作站、服务器上的CPU一般称为通用CPU,因为它能执行各种各样的程序。嵌入式是CPU的一种应用,一般只要求运行某种确定的程序,很多场合的嵌入式应用都要求低功耗,特别是像手机、PDA这类手持移动设备,低功耗意味着充一次电可运行更长时间,因此,低功耗应用追求更高的MIPS/W(每瓦每秒百万指令),而不是MIPS数。好的嵌入式芯片,如IBM PowerPC750FX每瓦的MIPS数比Intel P4(2.4G)高10倍,但从芯片的指令系统和体系结构而言,所谓通用CPU和嵌入式CPU并没有本质区别。不论是通用CPU还是嵌入式CPU,只要是低档产品都容易做而高档产品都难做。要特别强调的是所谓嵌入式芯片五花八门,但大都采用通用的CPU核,如MIPS核、ARM核等,从这个意义上讲,通用CPU和嵌入式CPU技术上也是相通的。

1959年仙童公司推出第一个硅平面晶体管商品,开始了芯片产品第一个通用循环周期。其后不久仙童公司又推出面向计算器、电视机的专用标准构件,标志着IC产品进入第一个专用循环周期。20世纪70年代Intel公司开发成功微处理器芯片,使IC产品上升到一个新的通用循环。20世纪80年代设计工具的发展推动了一个产品满足一个用户要求的专用集成电路(ASIC)的发展,使IC产品进入高一级的专用循环。20世纪90年代初,又发展出了可编程门阵列(FPGA),用户可进行软编程反复改变硬件功能,又进行新一轮的准通用循环。随着ASIC技术的积累,IC开始向片上系统(SoC)发展,SoC实质上是更高一级的专用系统。随着通用-专用模式的交替发展,硬件软件的界限开始模糊起来,IC设计进入了基于可重用知识产权(IP)库的设计阶段。

在集成电路的发展历史上,芯片产品在制造与使用的对立统一中发展,随着半导体产业的景气循环,总是沿着通用与专用循环往复不断进步。

3.结构与系统
处理器设计不仅仅是逻辑设计。处理器设计需要对包括操作 系统、编译、体系结构、I/O等在内的整个计算机有全局的把握才能设计出高性能处理器。在通用计算机中,操作系统和系统结构设计的的配合尤为重要,有些指令专门是为操作系统设计的,尤其是在系统安全、存储管理、原子操作、例外处理等方面。龙芯在用自己的结构实现MIPS指令系统的过程中,有一个深刻的体会,就是一个指令系统十几年来一直在发展是有它的道理的(MIPS指令系统经历了MIPS I、MIPS II、MIPS III、MIPS IV的发展过程)。有时候通过对操作系统的分析了解到一些指令的妙用,体会到设计者设置这些指令的初衷,真是让人拍案叫绝。所以,自己设计指令系统,没有十几年的实践,是不会完善的。

目前看,我们的龙芯是注重设计,理念偏重于较通用的嵌入式芯片,同时要重视高安全性的服务器CPU芯片设计。同时在系统上面采用了兼容的方案。下面我们就来详细来看我们的中国芯——龙芯处理器。


 


[龙芯一号简介]

龙芯(英语:GODSON)是中国科学院自主开发的通用CPU,目前分为两代产品。
点击看大图

[龙芯一号]
在龙芯一号设计开始时,提出了“高起点,一步到位”的要求。所谓高起点是指尽可能采用先进的制造工艺。第一次设计和流片生产CPU就跳过了0.35、0.25微米工艺,选用了当时代加工厂主流的0.18微米工艺。做出这种决策不是盲目地碰运气,而是通过与硅谷许多有经验的工程师深入调研分析流片成功的可能性后做出的,从某种意义上讲,这也是利用了“后发优势”,“借树开花”。所谓“一步到位”,不是指第一次设计就做出性能超过P4的CPU,而是针对当时国内有些单位还在启动研制386、486的形势,要求在微体系结构上有创新,用国际先进水平的体系结构实现64位浮点运算,尽可能实现技术上的跨越式进步,而不是从模仿20世纪80年代技术开始一步一步爬行,并且一开始就强调正向自主设计,不采取解剖别人芯片反向设计的路线。“一步到位”的另一层意思是不做供鉴定用的实验室样片,而是要确保万无一失,经得起产品检验,做成可批量生产的芯片。

龙芯一号启动时,最重要的决定是要不要与国外主流系统兼容,如果要兼容与哪一家兼容?应当说作出必须兼容的决定在很大程度上受到曙光服务器成长过程的启发。曙光一号服务器和曙光1000大规模并行机开始走的是一条不完全兼容的路,在AT&T Unix和Mach OS基础上分别研制了自己的并行操作系统。尽管符合POSIX标准,有自主知识产权,可以得国家最高的科技成果奖励,但数据库厂商和第三方应用软件厂商不愿意花功夫为曙光机移植软件,曙光机只能卖给自己有源程序的用户,市场上成千上万种应用软件用不上。冷酷的事实教育了我们,为了充分发挥后发优势,利用已有的巨大软件资源,与主流系统完全兼容是迅速扩大市场份额的良策。

经过对X86、PowerPC、MIPS、SPARC等多种指令系统的仔细分析,最终选择了MIPS指令系统。MIPS公司不同于Intel、SUN和IBM,它不是IDM公司,自己并不生产销售芯片,而是以卖License和服务为营业范围,它不但不像Intel公司那样反对别人做兼容芯片,而是支持其他厂家做MIPS兼容芯片。世界上许多大公司,如生产路由器的CISCO、生产游戏机的SONY等都采用MIPS指令系统。

与兼容策略相关还有一件大家十分关心的事,那就是如何避开专利。在研制龙芯一号过程中发现指令系统本身不是专利,而且几乎没有一项概念性的专利,例如Cache技术、多发射技术等,所有专利几乎都与具体实现技术有关。设计CPU是先通过译码器变成自己定义的统一中间代码,所有的功能部件执行中间代码,与原来的指令系统无关。龙芯在设计中没有侵犯任何专利而且自己申请了十余项发明专利。

龙芯狗剩-1的物理设计主要包括三个阶段
2001年11月到2002年1月为启动阶段,主要完成环境的建立和工具的初步学习;
2002年1月至4月为第二阶段,RTL基本确定,对整个设计的流程有了初步了解;
2002年4月至7月为第三阶段,实质性设计阶段。

龙芯一号
主频:200MHz-266MHz
指令系统: MIPS III
实现方法: .18um CMOS
定点字长:32位
浮点字长:64位
一级指令cache: 8KB
一级数据cache: 8KB
精确中断处理: 支持
浮点标准: IEEE754
体系结构技术特性: 支持寄存器换名,动态调度、乱序执行
工作电压: I/O 3.3 内核 1.8V
功耗: 0.5W-1W
总线频率:75MHz-133MHz
封装方式: PQFP/CQFP
ESD保护: 有

在龙芯一号的发布会上公布了其测试性能,定点/浮点运算超过2亿指令/s.SPEC CPU2000的测试中,SPECint-base=18.5 SPECfp-base=24.8,性能和测试的SGI O2(基于180MHz的双发射的MIPSR5000)的性能相当,达到了90年代中期的国际水平。
当一群熟悉指令流水线、多发射、乱序执行、 动态调度、寄存器重命名、转移猜测、CACHE、精确例外等等的人面对诸如Wireload model、综合库、物理库、设计规则、扫描链、Steiner树、顶层约束、时钟树、P diff 、N diff、多晶、闸流效应、防静电、串扰、电流密度、压降等等物理设计的概念时,就象熟悉种地的刘姥姥刚进大观园,觉得新鲜而不知所措。
2002年8月10日清晨6点零8分,“login:”的字样如约而至地出现在用“龙芯-1”作CPU 的计算机屏幕上。随着一阵欢呼从蚊子成群的中科院计算所北楼105房间传出,中国人结束了只能用洋人的CPU造计算机的历史。我抱着键盘,迫不及待地登录进去,用vi编辑龙
芯-1产生的第一个文件,其中两段是这样写的。
The historical time of 6:08 on 2002.8.10 ends an era while begins a new one。 The day in which we make computer with only foreign CPUs is gone with the wind of the morning of 2002.8.10。With tears and joys,we announce the successful running of LINUX (Kernel 2.4.17) with the Godson-1A CPU。 The great ecstasy at this moment makes all of our exhausting efforts of the past year be over paid。Though this is only a little step of a long march,it indicates the glorious future of our own CPU.
上述两段话,表达了我们对龙芯的良好祝愿和坚强信心。
在五十年代计算所做出中国第一台计算机103机时,张劲夫给这台计算机起了个名字叫“有了”,现在我们也要解决通用处理器“有了”的问题。 ——龙芯研发小组组长胡伟武

在龙芯一号测试和使用过程中,也发现了很值得以后吸取的教训:
一是CACHE太小(指令 CACHE和数据CACHE都是8KB,二路组相连)(这与FPGA容量有关,设计中已经使用了FPGA的大部分面积),CACHE访问策略也过于保守,导致对于一些大型应用难以发挥他的运算性能。尤其是对于象SPEC CPU2000的ref规模的程序,在200MHz时,狗剩取得的最好值是56,最差值才11。
二是编译优化不够,没有对gcc编译器专门针对狗剩1号的后端进行优化,而实际的计算机厂家都有针对自己处理器的编译器。
三是有4条访存不对齐的指令没有硬件实现,而是通过操作系统模拟来执行,这样做除了对部分程序的性能有影响外,对于象VxWorks这样只有目标码的程序确实要花费了一翻心血。
同时在龙芯1号调通后的软件开发过程中,也获得了一个深刻的体会,就是系统开发比CPU设计工作量要大得多。
点击看大图


 


 


[龙芯二号简介]
“龙芯二2号”处理器,也称“Godson-2”处理器、“狗剩2号”处理器、“毛泽东110”处理器、“MZD110”处理器,其中“MZD”是取自“毛泽东”英文发音的三个开头字母。

真正期盼的跨越式进步的标志性产品是龙芯二号。在设计龙芯二号时,已分析了Intel P4、Sun SPARC、HP的Alpha、IBM Power4等多种主流芯片的微体系结构,要求龙芯2号的体系结构有自己明显的特色,以最有效的方法实现四发射,即一时钟周期可同时执行四条指令(P4实现了三发射),而且要为下一步研制超线程CPU和多处理机CPU打下基础。计算所与在美国参加过千万亿次计算机研制的高光荣教授共同成立了先进计算机联合实验室,重点研制多线程机制,争取实现几十个甚至几百个线程并行操作。

2003年10月17日凌晨0点30分,楼道里传来了有节奏的脚步声,在空旷而寂静的楼道里显得特别有力。脚步声越来越近,我的心一下子提了起来,咚咚的脚步声象敲在我的心上,因为我知道,我们的狗剩2号回来了。105房间的门被推开,张珩风风火火地闯了进来,手里抱着一个方盒子。他是我专门派到上海去封装厂家取狗剩2号芯片回来测试的。我们小心翼翼地打开盒子,几十片狗剩2号芯片象等待检阅的士兵一样整齐地排列在专用的包装盒里。一个电话拨到芯片小楼,不到两分钟,105房间就聚集了六、七个人,他们都是下午刚刚成立的联调组的成员。

我挑了几个芯片,在用万用表对芯片进行一些简单的静态测试后,从中选了一个芯片放到子卡的插槽中盖好,并把子卡插到主板上。小心地按了一下电源开关,显示屏上没有动静,心里一阵紧张。试了几次后,换一个子卡,放上芯片后插到主板上,一按电源开关,显示屏一阵跳动,串串字符如约而至。我们一阵欢呼,刚才提到嗓子眼的心放回到心窝里先。在启动了一个简单的BIOS系统以后,开始启动LINUX操作系统,一切都很顺利。1点10分,屏幕上出现了LINUX操作系统的登录提示符"login:"。在拿到芯片的40分钟后,刚才等待时的紧张心情一扫而光。我们赶快打电话到芯片小楼告诉在那里等候的其他同学。钟石强还给我的妻子发了个短信,今晚她也在等待我们的消息。几分钟后狗剩2号收到了出世后的第一个祝福。 ——龙芯总设计师胡伟武

2003年8月,在中国科学院EDA中心MPW项目的帮助下,龙芯2号在上海中芯国际(SMIC)进行了首次流片。2003年10月16日起,项目组对龙芯二号的第一次样片进行了严格的测试,结果表明样片功能正确,性能指标符合设计要求,功耗只有1.3瓦左右。龙芯2号CPU已在项目组自己开发的服务器主板和PC主板上稳定运行两个月,并已通过SPEC CPU2000基准测试。龙芯样机上能运行完整的64位中文Linux操作系统,全功能的Mozilla浏览器、多媒体播放器和Open Office办公套件,具备了桌面PC的基本功能。

龙芯二号样片采用了中国科学院微电子研究所设计的全定制3写6读寄存器堆,北京微电子研究所也参与了龙芯2号的物理设计。设计过程中,美国Synopsys公司和Aptix公司分别提供了验证服务。

龙芯二号的主要结构特点包括,64位设计,7-10级流水线,包括取指、译码、重命名、发射、读寄存器、执行写回、提交等,其中乘除、浮点操作、以及访存操作在执行写回阶段需要多拍。四发射结构,最多可以有64条指令乱序执行。共有5个功能部件,包括定点ALU1(完成定点加减、逻辑、移位、转移),定点ALU2(完成定点加减、逻辑、移位、乘除),浮点ALU1(完成定点加减、转换、转移),浮点ALU2(完成乘除、开方),以及访存部件(完成访存、系统管理、数据传送)。通过对浮点指令fmt域的简单扩充,浮点部件可以执行完整的定点指令以及4路SIMD的媒体指令。在乱序执行方面,转移猜测使用混合预测+Gshare + BTB + RAS的转移猜测方式;通过物理寄存器到逻辑寄存器映射进行寄存器重命名,定点浮点寄存器堆各为64项;动态调度方面定点和浮点保留站各16项,Reorder Buffer为64项。

在存储管理方面,TLB为64项全相联,每项两页,页大小在4KB-4MB之间可变。此外,有一个独立的8项的指令TLB是数据TLB的子集。与狗剩1号一样,在TLB中增加可执行位,防止缓冲区溢出攻击。数据CACHE和指令CACHE各为32KB,二路组相联。最多允许32个访存操作的Non-blocking访问,访存相关在访存队列中通过全相联的查找解决,避免了象Alpha 21264或MIPS R10000中碰到访存相关时需要重新发射。实现load-speculation,允许前面的store操作未确定的情况下执行load操作并返回结果。Cache失效时实现关键字优先访问,以减少访存等待,Uncached操作实现uncached accelerate算法加速I/O访问

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
5
关闭 站长推荐上一条 /3 下一条