社区
硬件设计
帖子详情
请教:FIFO与BUFFER的区别?!
shedmaze1
2011-05-10 02:03:04
大家好!
菜鸟求助:今天看了许多资料,有人说一个是软件,一个是硬件,但是又有人说这两个都是硬件,现在是一头雾水,我在看一个通信问题的时候遇到这个概念,现在搞不懂,因为在开发硬件的时候经常看到这两个东西,可是现在是迷迷糊糊,不知道到底该用哪个!!!请哪位接触过的大侠指点下
...全文
2570
13
打赏
收藏
请教:FIFO与BUFFER的区别?!
大家好! 菜鸟求助:今天看了许多资料,有人说一个是软件,一个是硬件,但是又有人说这两个都是硬件,现在是一头雾水,我在看一个通信问题的时候遇到这个概念,现在搞不懂,因为在开发硬件的时候经常看到这两个东西,可是现在是迷迷糊糊,不知道到底该用哪个!!!请哪位接触过的大侠指点下
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
shedmaze1
2011-05-12
打赏
举报
回复
呵呵,果然是高手,谢谢~~现在我对这个东西也理解了,也会选择着使用了!
[Quote=引用 12 楼 ejack79 的回复:]
既然LZ专门留言,那我就逐条说说:
引用FIFO是存在于内存中的
不一定。FIFO广泛存在于各种软硬件系统之中,例如微控制器/微处理器的接口模块就大量地应用了硬件FIFO。FIFO是一种确保不同类型数据保持同步的信息缓冲形式。
引用BUFFER是存在于CPU中的
不一定。buffer是一个比较宽泛的定义,各类缓冲都可以叫做buffer。硬件buffer不仅存在于CPU中,在很多其它……
[/Quote]
Ejack79
2011-05-12
打赏
举报
回复
1
既然LZ专门留言,那我就逐条说说:
引用
FIFO是存在于内存中的
不一定。FIFO广泛存在于各种软硬件系统之中,例如微控制器/微处理器的接口模块就大量地应用了硬件FIFO。FIFO是一种确保不同类型数据保持同步的信息缓冲形式。
引用
BUFFER是存在于CPU中的
不一定。buffer是一个比较宽泛的定义,各类缓冲都可以叫做buffer。硬件buffer不仅存在于CPU中,在很多其它IC如存储器件、接口器件、音视频编解码器等广泛存在。
引用
BUFFER是用来缓解内存速度和CPU速度的快慢冲突的
你这描述的应该是cache,高速缓存。
shedmaze1
2011-05-11
打赏
举报
回复
嗯,呵呵,那在实际问题中到底选择用哪个呢?!
[Quote=引用 7 楼 koala_kd 的回复:]
fifo和buffer都只是一种模型,上帝不会管你用硬件还是软件来实现
[/Quote]
难得18
2011-05-11
打赏
举报
回复
FIFO 是先入先出存储,而BUFFER是可以随机读取的.
shedmaze1
2011-05-11
打赏
举报
回复
请教:那到底区别在哪里呢:?!
[Quote=引用 6 楼 ejack79 的回复:]
乱弹琴……
[/Quote]
koala_kd
2011-05-11
打赏
举报
回复
fifo和buffer都只是一种模型,上帝不会管你用硬件还是软件来实现
Ejack79
2011-05-11
打赏
举报
回复
乱弹琴……
bjtea
2011-05-11
打赏
举报
回复
[Quote=引用 5 楼 shedmaze1 的回复:]
这个啊。。。各位我花了下午时间弄明白了,哈,其实最简单的说句就是:FIFO是存在于内存中的,而BUFFER是存在于CPU中的,FIFO是内存中一块用来管理不同时钟域的数据或者不同数据宽度的数据同步的,儿BUFFER是用来缓解内存速度和CPU速度的快慢冲突的。。。。。就是这样。。。谢谢楼上各位回复。。结贴去喽~
[/Quote]
楼主的理解有进步,但没有规定BUFFER一定在CPU当中,举例来说,用户可以随意在内存中开辟数据BUFEER,用来暂存接收的批量数据;同样CPU当中也可以由FIFO,例如,ARM芯片2410CPU中每个UART中就有收/发各16字节的FIFO;此外2410的USB,SDI,I2S部件中都有FIFO。
shedmaze1
2011-05-10
打赏
举报
回复
这个啊。。。各位我花了下午时间弄明白了,哈,其实最简单的说句就是:FIFO是存在于内存中的,而BUFFER是存在于CPU中的,FIFO是内存中一块用来管理不同时钟域的数据或者不同数据宽度的数据同步的,儿BUFFER是用来缓解内存速度和CPU速度的快慢冲突的。。。。。就是这样。。。谢谢楼上各位回复。。结贴去喽~
durant
2011-05-10
打赏
举报
回复
软件FIFO也是基于硬件的
Great_Bug
2011-05-10
打赏
举报
回复
FIFO....可能只有最先进的数据才能访问,BUFFER一般是全部数据都能访问。
bjtea
2011-05-10
打赏
举报
回复
FIFO是先进先出的数据缓冲区,可以是硬件做好的固有区域,也可以是软件在内存中开辟的区域;BUFFER就是数据缓冲区,没有强调一定是先进先出,还是先进后出。
【异步
FIFO
的一些小事·0】异步
FIFO
同步化设计
异步
FIFO
设计
c/c++笔试题
微软亚洲技术中心的面试题!!! 1.进程和线程的差别。 线程是指进程内的一个执行单元,也是进程内的可调度实体. 与进程的
区别
: (1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位 (2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行 (3)拥有资源:进程是拥有资源的独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源. (4)系统
C/C++笔试题(很多)
微软亚洲技术中心的面试题!!! 1.进程和线程的差别。 线程是指进程内的一个执行单元,也是进程内的可调度实体. 与进程的
区别
: (1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位 (2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行 (3)拥有资源:进程是拥有资源的独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源. (4
C/C++笔试题
微软亚洲技术中心的面试题!!! 1.进程和线程的差别。 线程是指进程内的一个执行单元,也是进程内的可调度实体. 与进程的
区别
: (1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位 (2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行 (3)拥有资源:进程是拥有资源的独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源. (4
tps63020中文芯片手册_基于NXP芯片FlexCAN设计之一
引言:笔者之前接触过许许多多的CAN控制器模块,有瑞萨的,NXP的,ST的,赛普拉斯的,富士通的,最终得出结论,CAN的模块,还是NXP的FlexCAN做的真心不错,通过瑞萨的CAN,深深的感受到,一个控制器模块,它的寄存器设计的注意事项越少,用起来越方便,问题越少,像瑞萨的RL78的CAN,我个人感觉,没个很多年写驱动的经验,分分钟钟要毙命的感觉,有意思的是瑞萨的FAE大早上的...
硬件设计
6,163
社区成员
11,290
社区内容
发帖
与我相关
我的任务
硬件设计
硬件/嵌入开发 硬件设计
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 硬件设计
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章