[转帖]龙芯下一代处理器微结构GS464E细节曝光
龙芯下一代处理器微结构GS464E细节曝光
| [日期:2015-05-26] | 来源:Linux公社 作者:Linux | [字体:大 中 小] |
http://www.linuxidc.com/Linux/2015-05/118009.htm
近日,龙芯在《中国科学:信息科学》公布了下一代处理器微结构GS464E的设计,并公开了相关数据测试结果。笔者有幸从龙芯中科技术有限公司得到了第一手的数据资料。龙芯下一代处理器性能究竟如何,是否如文章所宣传那样神奇,还是像部分网友所吐槽的一钱不值,让我们一同来看看。
据龙芯技术人员介绍,龙芯现有的两个多核桌面处理器分别是四核心的3A-1000和八核心的3B-1500,其内核均为2006年定型的GS464微架构(GS是龙芯英文学术代号Godson的缩写,464代表采用4发射64位结构)。关于处理器的微结构,通俗点说就是一款处理器的设计图纸;有了设计图纸之后就可以进行工程实现。如今老旧的GS464核心已经不堪重任,各项性能指标与当前国际主流CPU差距越来越大,无法适应竞争激烈的芯片市场。从2011年起,龙芯公司启动了全新一代微结构——GS464E(E代表增强型)的设计工作,历时三年左右开发完成。
在GS464E结构开发之初,龙芯就把Intel的Ivybridge、IBM Power7的微结构设计作为其设计对标产品。因此在微结构设计参数上跟上述两款处理器的微结构设计参数比较接近。如下表所示。
|
|
Intel Ivybridge |
IBM Power7 |
龙芯GS464E |
|
前端 |
|||
|
取指宽度 |
16 字节/时钟周期 |
8 指令/时钟周期 |
8 指令/时钟周期 |
|
一级指令缓存 |
32KB, 8 路, 64B/行 |
32KB, 4 路, 128B/行 |
64KB, 4 路, 64B/行 |
|
指令TLB |
128 项, 4 路, L1 ITLB |
64 项, 2 路, L1 ITLB |
64 项, 全相联, L1 ITLB |
|
分支预取 |
BTB (8K-16K项) |
8K 项本地 BHT 队列, |
8K项本地 BHT 队列 |
|
间接目标队列 (? 项) |
16K 项全局BHT 队列, |
8K项全局BHT 队列 |
|
|
RAS (? 项) |
8K 项 全局 sel 队列 |
8K项 全局 sel 队列 |
|
|
循环检测 |
128 项间接目标队列 |
1K项间接目标队列 |
|
|
|
16 项 RAS |
16项 RAS |
|
|
|
|
循环检测 |
|
|
乱序执行 |
|||
|
Reorder缓存 |
168 项 |
120 项 |
128 项 |
|
发射队列 |
54-项 统一 |
48-项 标准 |
24-项 浮点; |
|
16-项 定点; |
|||
|
32-项 访存 |
|||
|
寄存器重命名 |
160 定点; |
80 定点,浮点; |
128 定点; |
|
144 浮点 |
56 CR; |
128 浮点/向量; |
|
|
|
40 XER, |
16 Acc; |
|
|
|
24 Link&Count |
32 DSPCtrl; |
|
|
|
|
32 FCR |
|
|
执行单元 |
|||
|
执行单元个数 |
ALU/LEA/Shift/128位 MUL/128位 Shift/256位FMUL/256位Blend + |
2 定点 + |
2 定点/转移/DSP + |
|
ALU/LEA/Shift/128位 ALU /128bit Shuffle/256位 FADD + |
2 浮点/向量 + |
2 浮点/向量 |
|
|
ALU/Shift/Branch/ |
1 转移 + |
|
|
|
128位 ALU/128bit Shuffle/256位 Shuffle/256位 Blend |
1 CR |
|
|
|
向量部件宽度 |
256位 |
128位 |
256位 |
|
访存执行单元 |
2 取+ 1 存 |
2 取/存 |
2 取/存 |
|
Load/Store队列 |
64-项 Load 队列, |
32-项 Load队列, |
64-项 取/存 队列 |
|
36-项 Store队列 |
32-项 Store 队列 |
||
|
Load/Store 宽度 |
128 位 |
256 位 load, |
256 位 |
|
128 位 Store |
|||
|
TLB |
100项全相联, L1 DTLB, |
64项全相联, L1 DTLB, |
32-项全相联, L1 DTLB,每项两页 |
|
512项4路, L2 TLB |
512项4路, L2 TLB |
1024项8路,L2 TLB,每项两页 |
|
|
一级数据缓存 |
32KB, 8 路, 64B/行 |
32KB, 8 路, 128B/行 |
64KB, 4 路, 64B/行 |
|
二级缓存 |
每核256KB, 8路, 64B/行 |
每核256KB, 8路, 28B/行 |
每核256KB, 16路,64B/行 |
|
三级缓存 |
8个核20 MB |
8个核32 MB |
4个核4 MB~8MB |
|
一级 Load-to-use 延迟 |
定点4时钟周期, |
定点2时钟周期, |
定点3时钟周期, |
|
浮点/向量5时钟周期 |
浮点/向量3 时钟周期 |
浮点/向量5 时钟周期 |
|
|
二级 Load-to-use 延迟 |
12 时钟周期 |
8 |
22 时钟周期 |
|
多层次硬件预取 |
有 |
有 |
有 |
表1 Ivybridge、Power7、GS464E微结构设计参数对照表
从上表可以看出,龙芯GS464E微结构设计参考了Intel Ivybridge,Power7等国外先进处理器的设计,各参数均比照了世界最先进的架构进行设计。我们来看龙芯公司公布的芯片正式流片之前的一些小程序的验证情况,第三列是参考Intel Ivybridge的数据。
|
测试程序 |
GS464 |
GS464E |
Intel IvyBridge |
|
Microbench-C(分支误预测率,越小越好) |
|||
|
Cond |
3.38% |
<0.1% |
<0.1% |
|
ComplexCtrl |
8.13% |
0.5% |
0.06% |
|
Switch1 |
18.78% |
0.3% |
10.08% |
|
Switch2 |
18.65% |
4.0% |
14.86% |
|
Switch3 |
13.73% |
6.0% |
14.28% |
|
Recur |
33.64% |
0.3% |
0.01% |
|
Memcpy (MB/s) (越大越好) |
400 |
6150 |
8500 |
|
Stream Copy (MB/s)(越大越好) |
460 |
5500 |
6599 |
|
Coremark(越大越好) |
3.66 |
5.17 |
5.44 |
|
Linpack kernel (%)(越高越好) |
60% |
91% |
90-97% |
|
Whetstone (WMIPS/Hz) (越大越好) |
1.66 |
1.78 |
1.51 |
表2 GS464,GS464E,Ivybridge验证对比
从以上数据可以看出,龙芯GS464E在架构设计上比上一代GS464有了质的提升,已经远远超过了上一代的GS464。并且,绝大多数参数已经接近intel在2012年推出的ivybridge,甚至在分支误预测率和浮点程序性能上有些还超过了Ivybridge的指标。由此可见,龙芯团队的处理器结构设计能力,与世界领先的Intel的设计能力正在逐步缩小。
据悉,基于GS464E架构的龙芯3A2000/3B2000已经完成流片并于2015年4月回到龙芯公司,根据龙芯公司的说法,龙芯3A2000为单路4核的桌面版本,龙芯3B2000为支持双路8核以及四路16核的服务器版本。龙芯公司目前提供了对龙芯3A2000的部分实测数据:

龙芯3A2000/3B2000的设计版图
|
架构 |
SPEC CPU定点 |
SPEC CPU 浮点 |
|
|
龙芯3A1000(1.0G) |
GS464 |
373 |
298 |
|
龙芯3A2000(1.0G) |
GS464E |
762 |
1125 |
|
性能提升 |
104% |
278% |
表3 龙芯3A2000与3A1000的SPEC CPU2000测试对比
|
Copy |
Scale |
Add |
Triad |
|
|
龙芯3A1000(DDR3-600) |
709 |
694 |
890 |
875 |
|
龙芯3A2000(DDR3-1333) |
12306 |
12234 |
12194 |
12140 |
|
性能提升 |
1636% |
1663% |
1270% |
1287% |
表4 龙芯3A2000与3A1000的内存带宽测试对比
简单的科普一下,第一个表采用了SPEC CPU2000测试作为对比,SPEC CPU 2000是国际上通用的CPU性能测试程序,其数据对CPU计算性能有很大的参考性。可以看到无论是定点分值还是浮点分值,3A2000比3A1000都有了至少一倍甚至二倍以上的提高。第二个表以内存带宽测试作为对比,在实际程序运行中,光有CPU的计算能力是不够的,还要有足够的内存带宽作为支撑。从测试结果看,龙芯3A 2000的内存带宽实测性能在各方面普遍要比龙芯3A1000的内存带宽实测性能提升了十多倍。根据龙芯公司技术工程师的说法,上一代龙芯3A产品在设计上由于经验不足考虑不周全,导致内存带宽上表现太弱,是上一代3A产品的主要瓶颈。由此带来的不足使得用户体验表现较差。而现在LS2000解决了这个问题,在主频没有提升的情况下,用户体验有大跨步的提升,虽然和主流Intel产品还有差距,但是在微处理器结构这一方面,这个差距已经越来越小。

为了与目前市面上主流CPU的架构设计进行一个归一化的比较,龙芯公司给出了按照SPEC/GHz分数作为参考分值对不同主流处理器架构的性能差异进行了比较,见上图所示。从图上很容易的可以看出,GS464E架构已经接近intel和AMD的现在市场上的主流架构性能了,SPEC CPU性能与Intel core i3-550和AMD fx-8320基本相当,与Intel core i5略有差距,已经明显强于Intel Atom架构、威盛Nano处理器架构和 ARM最新的64位A57架构。并且LS3A2000尚未得到编译器充分优化,已经可以跑出这样成绩的同频效率。
结论:正如龙芯公司自己所说的那样,龙芯产品在过去几年的市场检验中发现了自己的不足,并找到了瓶颈问题,这次GS464E的发布,从数据上看比上一代GS464核的确有了大幅度的提升。虽然龙芯的主频还要比intel/AMD的芯片差2倍以上,整体性能依旧落后不少,但同频性能接近I5-2300已经证明新架构的实力的确强悍。LS3A2000只是GS464E的第一版产品,制造工艺仍旧是40nm,主频仍然是1GHz左右,个人认为其有一定的验证性质,但是性能已经较上一代3A1000处理器有了成倍的提高。在不久的将来,随着采用更高的28nm工艺的处理器推出,龙芯就该有资格尝试和Intel的商用主流CPU一较高下了。
[转帖]龙芯下一代处理器微结构GS464E细节曝光的更多相关文章
- [转帖]龙芯3A4000处理器实测:28nm工艺不变 性能仍可提升100%以上
龙芯3A4000处理器实测:28nm工艺不变 性能仍可提升100%以上 http://news.mydrivers.com/1/663/663122.htm 龙芯是中科院下属的计算机所研发的自主产权国 ...
- 【转帖】龙芯3A3000处理器深度评测:和Intel、AMD差距巨大
龙芯3A3000处理器深度评测:和Intel.AMD差距巨大 https://www.eefocus.com/mcu-dsp/424623/r0 作者非计算机科班毕业 让我汗颜. 我计算机毕业都不知道 ...
- [转帖]龙芯3A/3B3000通用处理器出货超30万 获得“中国芯”大奖
龙芯3A/3B3000通用处理器出货超30万 获得“中国芯”大奖 http://www.eetop.cn/cpu_soc/6946247.html 2019.10 的新闻 出后量 30万 我们贡献了 ...
- [知乎]这可能是最全面的龙芯3A3000处理器评测
这可能是最全面的龙芯3A3000处理器评测 第一千零一个人 已关注 蓬岸 Dr.Quest . https://zhuanlan.zhihu.com/p/50716952 这里面链接很全. 立党 ...
- ORI-621龙芯3A处理器CPCI刀片计算机
ORI-621龙芯3A处理器CPCI刀片计算机 一.产品简介 ORI -621是一款基于龙芯3A国产CPU处理器的特种CPCI刀片计算机.该产品成功地实现了服务器NUMA架构在国产特种计算机中的应用, ...
- 国产龙芯3A3000处理器评测:与英特尔差距明显
国产龙芯3A3000处理器评测:与英特尔差距明显 国产龙芯3A3000处理器评测:与英特尔差距明显 新浪财经APP缩小字体放大字体收藏微博微信分享579 新酷产品第一时间免费试玩,还有众多优质达人分享 ...
- [转帖]龙芯服务器部署WEB服务的体验和详细步骤
龙芯服务器部署WEB服务的体验和详细步骤 2019年01月02日 18:40:34 weixin_40065369 阅读数 1733 版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权 ...
- [转帖] 龙芯 中标麒麟的 源 以及K8S
龙芯Mips64el平台上部署K8s https://ysicing.me/posts/mips64el-loongson-k8s/ YSICING May 29 2019 kubernetes ...
- [转帖]龙芯:Docker 配置与实践清单
Docker 配置与实践清单 http://www.sohu.com/a/254904706_198222 文章对来官方文档及 Docker Links[1] 中链接内容进行归档整理,包含了日常工作中 ...
随机推荐
- ORA-01031: insufficient privileges 错误解决
OS:linux redhat5.5 32bit 数据库:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 1.问题描述:该数据库监 ...
- mysql获取表中数据行数
获取单个表的行数 使用count(*)或者count(1) SELECT count(1) AS count FROM table_name; 执行结果 获取两个表的行数 使用union组合每个sel ...
- Spring Security 中的过滤器
本文基于 spring-security-core-5.1.1 和 tomcat-embed-core-9.0.12. Spring Security 的本质是一个过滤器链(filter chain) ...
- 《MySQL必知必会》[06] 触发器
1.触发器 MySQL中的触发器概念,和Java中的事件监听器有点相似.当你想要某条语句在某个事件发生时自动执行,就要用到触发器了. 触发器能响应如下三类语句: DELETE INSERT UPDAT ...
- Luogu1081 NOIP2012 开车旅行 倍增
题目传送门 为什么NOIP的题目都这么长qwq 话说2012的D1T3和D2T3都是大火题啊qwq 预处理神题 对于这种跳跳跳的题目考虑使用倍增优化枚举.先预处理某个点之后距离最小和次小的城市,然后倍 ...
- 汇编 指令lodsb,lodsw,lodsd
知识点: 汇编指令 lodsb,lodsw,lodsd 一.汇编指令LODSB //scasb scasw scasd //stosb stosw stosd 1. __asm lodsb //作用 ...
- Docker(五):Docker 三剑客之 Docker Machine
上篇文章Docker(四):Docker 三剑客之 Docker Compose介绍了 Docker Compose,这篇文章我们来了解 Docker Machine . Docker Machine ...
- [UWP 自定义控件]了解模板化控件(5.2):UserControl vs. TemplatedControl
1. UserControl vs. TemplatedControl 在UWP中自定义控件常常会遇到这个问题:使用UserControl还是TemplatedControl来自定义控件. 1.1 使 ...
- Mvc_model实体数据验证
MVC提供了很方便的数据验证,只需要在model里加入相关的正则等,那么就会在前台里生成相关的验证脚本.需要引用两个js文件: jquery.validate.min.js jquery.valida ...
- win8系统本地服务网络受限cpu占用率过高解决方案
今天更新软件时突然就打不开软件了,接着cpu就飙升. 打开任务管理器看到是“本地服务网络受限”这么一个东西占用的cpu最高. 在网上找到的解决方案无效的: 1.关闭家庭组(服务里的homegroup· ...