|
本帖最后由 lcytms 于 2017-10-18 10:27 编辑
(2)协同工作中FPGA模块并行计算
FPGA运算与计算机运算的一个很大的区别在于FPGA中的各个运算单元都是实际硬件存在而计算机运算中的各个运算单元主要是在软件系统中建立顺序执行,因此FPGA可以实现所有运算单元的协调并行计算,但是FPGA并不能自动完成并行计算任务,这需要采用流水线技术来完成。
流水线处理源自现代工业生产装配线上的流水作业,是指将待处理的任务分解为相对独立的、可以顺序执行的,而又相互关联的一个个子任务.图1 是采用流水线技术的一个指令集的操作过程,我们将某一操作分为4 个子任务:取指令I1 ,译码I2 ,取操作数I3 和运算I4 ,假如每个操作执行的时间均为T ,则执行4 个操作的执行时间为4 T ,将这4 个子任务在时间上重叠,用4 个子部件来完成,相应的4 个子部件连接成串行方式,每个子部件执行的时间为T ,每隔T 时间就可输出一个操作处理结果,平均速度提高了4 倍,在加入适当的转移控制之后,即成为流水线操作的工作方式.
采用流水线技术的一个指令集的操作
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?我要注册
x
|