LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2148|回复: 2

龙芯"射"了半天,到底射给谁了?

[复制链接]
发表于 2008-1-8 11:10:34 | 显示全部楼层 |阅读模式
“射" 作为计算机术语的时候,对应的是英文的 "issue"
龙芯2是"4发射"的意思就是可以在一个时钟周期内"射"出四个"内部指令"到执行机构. 这里的"内部指令"是指一些很基本的事情,比如"让寄存器c加上寄存器q,把结果放在寄存器s里"或者"从内存XXXX:XXXX读取N个字节放入寄存器 p"之类的.  (Intel管这种"内部指令"叫"微指令(Micro-Instruction)",奔腾和扣肉实际上是先把x86指令翻译成微指令然后“射" 的。有可能一条x86指令会翻译出几条甚至是一串微指令。所以一个X86要“射" N次..所以同位4发射,扣肉在一个时钟内可是射不过国人的。

那么"射"了半天,到底射给谁了?
"射"给执行机构了  (Execution unit), 所谓的执行机构就是一些能做加减乘除的(学名:算术逻辑单元,Arithmetic Logic Unit  (ALU)),外带读内存(Load),写内存(Store)的电路而已. 既然是4发射的cpu, 那么执行机构必须多套才行。所以 算术逻辑单元 、写、读、三种套的搭配又是学问了。

这三套的搭配我就不知道,知道来回个贴把
发表于 2008-1-8 17:43:45 | 显示全部楼层
见龙芯手册:

龙芯2E 包括两个定点部件ALU1 和ALU2,两个浮点部件FALU1 和FALU2。

定点ALU1 执行定点加减、逻辑运算、移位、比较、Trap、以及转移指令。所有ALU1执行的指令1 拍完成执行并写回。

定点ALU2 执行定点加减、逻辑运算、移位、比较、以及乘除指令。定点乘法为全流水操作,延迟为4 拍;定点除法采用SRT 算法,非全流水操作,延迟根据操作数的不同从4 拍到37 拍不等;所有其他ALU2 执行的指令1 拍完成执行并写回。

浮点FALU1 执行浮点加减、浮点乘法、浮点乘加(减)、取绝对值、取反、精度转换、定浮点格式转换、比较、转移等指令。FALU1 的所有运算为全流水操作。其中浮点取绝对值、取反、精度转换、比较、转移延迟为2 拍,定浮点间格式转换延迟为4 拍,浮点加减、浮点乘法、浮点乘加(减)延迟为6 拍。

浮点FALU2 执行浮点加减、浮点乘法、浮点乘加(减)、浮点除法、浮点开平方操作。其中浮点加减、浮点乘法、浮点乘加(减)为全流水操作,延迟为6 拍;浮点除法和浮点开平方使用SRT 算法,为非全流水操作,根据操作数的不同,单/双精度浮点除法延时从4 到10/17 拍不等,单/双精度开方延时从4 到16/31 拍不等。
回复 支持 反对

使用道具 举报

发表于 2008-1-22 09:22:02 | 显示全部楼层
怎么会在这里也见到你?CU呆着不挺好吗?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表