在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: windzjy

关于fifo深度问题

[复制链接]
发表于 2007-1-17 12:29:37 | 显示全部楼层
长见识了,我做过的fifo都是比较简单的,还没用过这么复杂的公式去弄,没太多考虑最小深度问题
发表于 2007-1-17 14:06:40 | 显示全部楼层


原帖由 wice3 于 2007-1-16 22:03 发表

考虑最糟糕的情况,背靠背写fifo,80个wclk里写进了80个数据,
80个wclk的时间等于40个rclk时间,在40个rclk时间里读出了4×8=32个
那末fifo中残留48个 :)


按照您的意识就是:
60+40写 +40写+60
在2个40写的时间段中读,读出32个
80-32=48?
发表于 2007-1-17 16:13:04 | 显示全部楼层

回复 #10 wice3 的帖子

再问一个有关深度的问题。
数据流水线技术,是不是就是利用fifo来实现的?那末一般的数据流水线都是4-5级。那么fifo一般的深度是4-5?
这两个有什么联系?
谢谢
发表于 2007-1-17 20:59:38 | 显示全部楼层


原帖由 deangreen 于 2007-1-17 14:06 发表

按照您的意识就是:
60+40写 +40写+60
在2个40写的时间段中读,读出32个
80-32=48?


嗯,是这样.
代公式算也可以,结果也是48.
发表于 2007-1-18 13:36:22 | 显示全部楼层


原帖由 deangreen 于 2007-1-17 16:13 发表
再问一个有关深度的问题。
数据流水线技术,是不是就是利用fifo来实现的?那末一般的数据流水线都是4-5级。那么fifo一般的深度是4-5?
这两个有什么联系?
谢谢



版主可以回答我的这个问题?
谢谢
发表于 2007-1-18 19:20:09 | 显示全部楼层
斑竹解答得非常清楚,理解了。

在追问一下,
1.算出深度以后,在设计时如何考虑,影响那些参数阿,谢谢?
发表于 2007-1-18 19:30:17 | 显示全部楼层


原帖由 deangreen 于 2007-1-18 13:36 发表


版主可以回答我的这个问题?
谢谢


你的意思是不是这样,数据到来后,需要等待处理器在一定的逻辑控制之下对它进行几个步骤的处理。由于到来的数据需要等待上流水线,在它上流水线之前,需要在fifo中排个队。你想要问的流水线处理级数和fifo的深度关系,也就是级数为4~5的流水线会造成数据排多长的队,是这样吧?如果我没理解错的话,下面你就可以继续看了 :)。

   说实在的,看到你这个问题我怔了好一会儿,我好像从来没有见过别人把流水线处理级数问题和fifo的深度计算问题直接挂钩的,后来突然明白了,你好像是没有很好地把问题分解开。
  
   这样分析,我想要计算fifo深度(在这里我想把它叫成数据队长),首先我需要知道fifo的读写频率、数据宽度、读写链路利用率、写数据burst的长度,在数据宽度相等的情况下,不考虑数据宽度。其实也就是想办法找到前边提到的公式里的各个参数。
  
接下来分析流水线是怎么影响数据(指令)队长的,显然,流水线影响的是fifo的读链路利用率。要弄清楚有多大影响,其实需要结合实际情况,某个指令集,某种组织结构等。在这里我只能很笼统的说,需要找到流水线对指令的处理效率最低的时候,假设流水长n级,由于前边指令的处理结果可能会影响下一个指令的取指时间,假设最糟糕的情况是需要等到前一个指令完全处理完了,才能做下一个(这个需要结合具体应用来具体分析,也许情况比这个好得多,也许更糟糕)。 这时候下一个指令在队列里的等待时间就是流水线各步骤单独执行一遍的时间和。假设每个步骤一个系统时钟周期,那么读链路的利用率大约是1/n,对应到前边讨论过的内容,其实也就是n个读时钟时间,读出了1个。
下面你就可以根据前边的公式,结合你的实际应用来计算fifo的深度了。

水平有限,不知道自己表达清楚了没,另外我不是设计交流版的斑竹 :p 。
发表于 2007-1-18 19:40:52 | 显示全部楼层


原帖由 deangreen 于 2007-1-17 16:13 发表
再问一个有关深度的问题。
数据流水线技术,是不是就是利用fifo来实现的?那末一般的数据流水线都是4-5级。那么fifo一般的深度是4-5?
这两个有什么联系?
谢谢


第2个问题回答:如果这是个经验数据,那我不能说什么。如果不是的话,这样说多少有点武断。不仅仅是数据流水线的级数问题,还需要参考这个流水线相关的指令集,处理器的组织结构等.
第一个问题回答:当指令进流水线之前需要排队的时候,确实可以用个fifo来缓存下。
第3个问题回答,参见上边的帖子。

[ 本帖最后由 wice3 于 2007-1-18 19:42 编辑 ]
发表于 2007-1-18 19:52:35 | 显示全部楼层


原帖由 stanleyfan 于 2007-1-18 19:20 发表
斑竹解答得非常清楚,理解了。

在追问一下,
1.算出深度以后,在设计时如何考虑,影响那些参数阿,谢谢?


计算出fifo的深度后,可以选择fifo的实现方式。其他的需要结合具体的应用才能讨论吧。
发表于 2007-1-19 13:09:53 | 显示全部楼层
学习了!!!!!!!!!!!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-26 04:36 , Processed in 0.037362 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表