首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
DSP技术
» 流水线技术在编程器中的提速应用
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
流水线技术在编程器中的提速应用
发短消息
加为好友
porereading
当前离线
UID
863084
帖子
7183
精华
0
积分
3592
阅读权限
90
在线时间
209 小时
注册时间
2011-11-30
最后登录
2019-8-28
论坛元老
UID
863084
1
#
打印
字体大小:
t
T
porereading
发表于 2015-9-12 13:22
|
只看该作者
流水线技术在编程器中的提速应用
嵌入式开发
,
流水线
,
工程师
,
存储器
,
Flash
美国思科公司总裁约翰•钱伯斯他在谈到新经济的规律时说,现代竞争已“不是大鱼吃小鱼,而是快的吃慢的.”在现代竞争中,效率有着决定性的作用。
做嵌入式开发的工程师都知道,一旦产品需要量产,批量生产的烧录器必不可少。在调试阶段,工程师可以用串口下载来实现代码的烧录,如果用串口进行生产,工厂是绝不会允许的,因为效率实在太低。
烧录器的功能,主要对非易失性的存储器进行操作(MCU内部Flash也都是各类非易失性的存储器)。这些存储器通常都需要擦除、编程和校验。这些基本操作和一些控制设置操作,是烧录的主要内容。
通常情况下,这些操作都是依次执行的,先擦除,擦除完成后,对存储器进行加电编程,编程完成后,再对编程的部分进行校验、对比。这些步骤都是环环相扣,一步一步实现的,串行的处理效率是很低的。正如,一个人处理一件事忙不过,那么两个人三个人一起来呢,效率立即提高3倍。
一步一步实现的方式,就是目前市面上很多山寨烧录器的做法,效率低下。
图1山寨的烧录器
专业烧录器厂商,不仅提高烧录时的工作频率,而且命令之间也尽量提高并行度,以达到效率最大化。
稍微思考下,就会发现,烧录器在编程过程中是按照这样一个顺序执行的:从上位机取命令数据→命令解析→执行。这个过程是一个按顺序循环执行的,对应的操作为取指、译码和执行,解释如下:
取指----从命令FIFO中取出指令。
译码----根据指令,产生对应的控制信号。
执行----执行擦除、编程或者检验操作,或者设置相关参数。
如果没有采用流水线技术,时空图如图2所示。
图2无流水线时空图
从图2可知,每条命令都要经过取指、译码和执行后才能进行下一条命令,这严重影响系统的效率。最致命的是,取指、译码和执行都不能同时工作,只有完成取指之后才能译码,译码之后才能执行。
因此,烧录器做出了改变,采用了“流水线”技术。根据编程器的操作步骤,可以把工作流程分为取指、译码和执行三部分,每一部分负责自己的工作。这样不仅细化了整个工作流程,而且能够使三部分同时工作,从而提高了并行度,进而提高了工作效率。在FPGA硬件实现上,这三部分分别对应三个电路,并且在它们之间都插入寄存器组,组成三级流水线,如图3所示。这样,在每个时钟周期下,取指、译码和执行部分同时使用上级传下来的数据工作,并且在下一个周期把结果传给寄存器以供下一级电路使用。在这个过程中,寄存器起到了暂存结果的作用。
图3 流水线电路示意图
采用流水线技术的时空图如图4所示。
图4流水线时空图
从图4中可知,相关的命令执行在时间上是交叠在一起的,也就是说三条命令同时工作(经过首次延迟之后)!比如,在时刻T4,指令N+3在取值,指令N+2在译码,指令N+1执行。值得注意的是,在某一时刻,它们虽然同时工作,但操作的都不是同一条指令。另外,在每个周期,都有一条命令在“执行”,也就是说一个周期产生一个结果,而无流水线技术需要3个周期才有一个结果,相比之下,工作效率提高了3倍。可喜的是,流水线技术会提高频率上限。
在FPGA设计上,需要估算取值、译码和之下三部分的延时,尽量做到它们之间的延时相等或者接近,才能发挥流水线的优势。另外,理论上,流水线级数越多,工作频率越快,效率相对也高。
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议