龙芯2/Nehalem处理器架构深度对比分析(4)

IT168 发表于:09年06月23日 13:28 [转载] IT168

  • 分享:
[导读]相信大家都有听说过龙芯的名字,作为中科院计算所(Institute of Computing Technology, Chinese Academy of Sciences)设计实现的基于MIPS指令集的处理器,从2002年开始,龙芯已经推出了两代(龙芯三目前仍未出现市场)。目前最新的市售型号为龙芯 2F,主频达到了1GHz。
Issue

发射

Godson-2

所有指令都在Reservation Station中等待执行,龙芯2可以Issue发射最多5条已准备好参数的指令到5个功能单元,而Nehalem则具有6个功能单元。虽然如此,然而每一个Reservation Station每时钟周期只能接受4条指令--而唯一的分发器每时钟周期只能分发出4条指令,因此龙芯2是四发射的处理器。Nehalem也是如此。

现代RISC(类RISC)架构都使用了独立的Load/Store指令来进行内存访问操作,现代x86处理器也是这样。然而MIPS架构具有一些特别的指令需要保持顺序(如CP0等指令),因此MIPS处理器需要在乱序引擎中实现需要的顺序执行功能。和MIPS R10000不同具有的一个独立的In-Order顺序内存操作保留站不同,Nehalem的内存操作使用了统一的保留站,而龙芯2则将内存访问指令发射到整数运算保留站(Fixed RS),它在内部实现了两种顺序关系:wait issue和stall issue,等待发射和堵塞发射。只有特别的指令会具有这两种状态。

Nehalem: Reservation Station &Load/Store Unit

Register Read

读寄存器

Godson-2

龙芯2具有两个物理寄存器文件:浮点和整数,大小均为64 x 64(64个GPR),发射的指令需要先从寄存器文件读取所需要的参数才能进入执行单元。整数寄存器文件具有6个读取端口和3个写入端口,浮点寄存器文件具有5个读取端口和3个写入端口:因为内存存取指令也使用整数运算保留站,龙芯2拥有一个内存存取单元,同时占用整数/浮点寄存器文件的2个读取端口和1个写入端口,整数和浮点单元分别两个,每个占用对应寄存器文件的2个读取端口和1个写入端口(读取总是要比写入频繁)。在以往,Pentium 4上内存存取操作也部分地由整数单元完成,现在的Nehalem则具有独立的内存操作单元。Intel的浮点和整数寄存器都是用一个寄存器文件,而AMD K8则和龙芯2一样使用分开的寄存器文件。

Nehalem: Reservation Station &Load/Store Unit


[责任编辑:査彬]
Doserv原创 Vicky Z
纵观IT发展的历程,我们发现IT技术从最早的分布式结构走向了大集中的架构,而今,云计算的出现又将IT重新引向了分布式的老路。
官方微信
weixin
精彩专题更多
存储风云榜”是由DOIT传媒主办的年度大型活动。回顾2014年,存储作为IT系统架构中最基础的元素,已经成为了推动信息产业发展的核心动力,存储产业的发展迈向成熟,数据经济的概念顺势而为的提出。
华为OceanStor V3系列存储系统是面向企业级应用的新一代统一存储产品。在功能、性能、效率、可靠性和易用性上都达到业界领先水平,很好的满足了大型数据库OLTP/OLAP、文件共享、云计算等各种应用下的数据存储需求。
联想携ThinkServer+System+七大行业解决方案惊艳第十六届高交会
 

公司简介 | 媒体优势 | 广告服务 | 客户寄语 | DOIT历程 | 诚聘英才 | 联系我们 | 会员注册 | 订阅中心

Copyright © 2013 DOIT Media, All rights Reserved. 北京楚科信息技术有限公司 版权所有.