首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 703 毫秒
1.
针对图像采集与处理系统研发中的现场可编程门阵列(FPGA)之间的高速图像数据传输问题,设计了一种全双工、高吞吐率、高稳定性和高抗干扰能力的高速图像数据传输方案。设计的片间高速图像传输系统提供了通用的图像传输接口,可兼容不同的数据位宽和用户时钟频率。高速图像传输模块分为协议层和物理层。协议层包括跨时钟域电路和CXP图像传输协议编译码电路,完成跨时钟域和图像数据流编译码处理;物理层基于Aurora 8B/10B core,完成数据流的串并转换以及多通道绑定等处理,并采用GTH收发器实现高速串行数据的收发。仿真测试表明,图像数据传输正确,图像数据流同步时钟最高可达250 MHz,传输位宽达128 bit,最高吞吐率可达32 Gbit/s,平均吞吐率为20 Gbit/s,并且还有很大的提升潜力。该高速图像传输系统能够实现高吞吐率、高抗干扰、低错误率的图像数据传输,有助于各种不同视觉测量系统和图像处理系统的开发,具有广泛的应用价值。  相似文献   

2.
提出了一种针对高速先进密码算法(AES)IP核的VLSI实现方案.首先,该方案从算法级出发,提出了降低密钥扩展模块硬件复杂度的途径;然后,在电路级本文采用了轮间和轮内相结合的流水线结构解决方案,有效地缩短关键路径,从而提高芯片系统的数据吞吐率.最后,基于SMIC0.18um标准CMOS工艺,AES的面积为164K-gates,最高时钟频率可达到400MHz,数据吞吐率为51.2Gbps.  相似文献   

3.
为了解决跨时钟域问题对基于片上网络的高速数据传输造成的功能误差,提出了一种新的片上网络跨时钟域高速数据通信接口电路.针对采用多电压频率岛分配方案的异步片上网络,将多路选择器模块和基于令牌环的环形异步FIFO相结合构成跨时钟域高速数据通信接口电路.实验结果表明,该算法及电路设计能够有效减小亚稳态的影响,增加片上网络系统数据传输的吞吐率,满足用于视频采集和处理系统的片上网络对大数据量和高速度数据码流进行实时传输的需求.  相似文献   

4.
为解决目前高级综合方法在处理滑动窗口程序时存在的存储系统设计瓶颈问题,提出了参数化存储体系结构模型.采用三级存储层次,充分开发内层循环、外层循环的数据重用;采用寄存器平移策略,简化硬件设计.与相关工作相比,这种体系结构模型使用相对较少的存储资源,将程序执行速度提高了2.13倍~3.8倍,将执行频率由相关工作的69MHZ提升到了238.7MHZ.  相似文献   

5.
对于兼容LDPC和Turbo码的多模通信信道解码器,解码过程涉及大量数据计算和传输,系统高吞吐率的实时性要求使这类多模解码器的结构变得日益复杂。为此,设计并实现一种专用控制器,对待解码数据进行预处理,以控制整个解码器系统的工作。为满足解码器系统高时钟频率、大量专用运算和数据快速传输3个要求,采用重划分控制器流水线、增加专用指令及加速器和片内存储器划分3种方法,使解码器系统最大程度地实现并行化计算处理。测试结果表明,在专用控制器的控制协调下,解码器能满足LTE标准1 Gb/s和UMTS标准672 Mb/s的高吞吐率要求。使用TSMC 65 nm低功耗库,通过后端布局进行布线设计后,该解码器面积约为490 000μm2,最大时钟频率为540MHz。  相似文献   

6.
传统的基于事件驱动的滑动窗口清洗方法只能处理理想的匀速RFID数据流,然而在实际应用中处理非匀速数据流时却会产生较大的输出延迟.为了解决滑动窗口清洗方法的输出延迟和海量中间数据,提出了一种基于伪事件的数据清洗方法PSCleaning.该方法通过在滑动窗口中增加伪事件处理机制,有效地减小了数据的输出延迟;通过对错读和重复读进行的一次性处理,明显缩减了数据量,提高了数据清洗的效率.  相似文献   

7.
在优化结构的基础上,实现了一种回溯长度为64的(2,1,7)高速Viterbi译码器.该译码器采用改进的加比选单元(ACS),降低了硬件复杂度,提高了时钟运行频率.改进的回溯单元采用了分块循环存储器,对数据读取结构进行改进,提高了译码器的数据吞吐率.基于SMIC0.18μmCMOS工艺,该译码器最高工作时钟频率可达180MHz,等效逻辑门约为28683门.经过验证比较,结果表明实现的高速Viterbi译码器在各个指标上如实现面积、回溯长度和约束长度比现有的各种方案有较大幅度的提高,因此该译码器在数字通信领域具有良好的应用前景如DTV和HDTV.  相似文献   

8.
为了解决流程型生产车间数据种类多、数据质量参差不齐影响生产管控的问题, 提出了面向多源数据的数据分类处理技术, 采用数据分类与滑动窗口相结合的方式进行数据处理. 首先, 根据生产数据特点建立数据模型, 然后进行数据分类. 主要分为状态数据、开关数据、逻辑数据 3类, 不同类型的数据使用不同处理算法; 同时采用滑动窗口解决不同任务对数据实时性和完整性要求不同的难点. 最后, 该数据分类处理模型在实际生产环境投入使用, 验证了对生产数据处理的准确性和实时性. 结果表明, 将处理后的数据应用于生产管控, 管控误差率降低至不足1%.  相似文献   

9.
MQ编码算法的高复杂度,低吞吐率严重制约其应用.本文在分析连续码流编码更新规律的基础上,利用滑动窗口机制和概率统计规律预测区间变化,减少并行数据间的关联,设计出三种不同并行度的MQ编码VLSI结构.并在FPGA芯片上进行优化实现.实验结果表明,与单输入MQ编码器相比,三种结构能在不影响器件工作频率和编码效率的情况下,不同程度的提高系统的处理速率,为MQ编码的大规模应用提供了广泛的选择空问.  相似文献   

10.
分块存储的滑动窗口数据重用技术   总被引:1,自引:0,他引:1  
刘陶刚  赵荣彩  姚远  瞿进 《计算机应用》2010,30(5):1371-1375
滑动窗口操作在基于可重构系统的典型应用(如图像处理、模式识别和数字信号处理等)中广泛采用,但是当前生成的滑动窗口电路,存在着存储冗余、操作等待等问题,导致执行效率不高。从增大滑动窗口数据吞吐量出发,提出了分块存储的滑动窗口数据重用方法,通过并行存取窗口数据,来减少存储器访问时间,加速滑动窗口执行。实验表明,在三个滑动窗口典型应用实例中,采用该方法生成的硬件电路能够将程序性能分别提高7.0~9.0倍。  相似文献   

11.
The domain decomposition method (DDM) is an efficient algorithmic tool for the parallelization of finite element computer codes. A variant of the DDM with direct solution algorithm is based on computation of Schur complement matrices for finite element partitions. This paper describes a simple technique that considerably improves execution rate of computationally intensive routines of the Schur complement computations. The technique uses ‘block of columns’ matrix operations and loop unrolling to reduce load instructions from cache memory and to increase instruction-level parallelism. For superscalar RISC processors, experimental results show that it is possible to improve performance of the DDM solution procedure by several times.  相似文献   

12.
张望  贾佳  孟渊  白旭 《计算机应用》2017,37(5):1341-1346
由于对广泛使用的AES算法的性能要求越来越高,基于软件的密码算法已经越来越难以满足高吞吐量密码破解的需求,因此越来越多的算法利用现场可编程逻辑门阵列(FPGA)平台进行加速。针对AES算法在FPGA硬件上存在的开发复杂度高且开发周期长等问题,采用高层次综合(HLS)设计方法,使用高级程序语言描述并设计AES硬件加速算法。首先利用循环展开等提高运算并行度;其次使用资源平衡技术进行优化,充分利用片上存储和电路资源;最后添加全流水结构,提高整体设计的时钟频率和吞吐量,同时也详细对比分析基准设计、利用结构展开、资源均衡以及流水线优化方法的设计。经过实验表明,在Xilinx xc7z020clg484 FPGA芯片上,最终AES算法的时钟频率最高达到127.06 MHz,而吞吐量达到了16.26 Gb/s,较之基准的AES设计,性能提升了三个数量级。  相似文献   

13.
低效率的访存操作是限制微处理器性能提高的一个关键因素。因此提高访存速度可以有效改善微处理器的性能。提出了一种基于增加数据宽度的方式来提高访存速度的方法。通过使用多字宽存储器来增加数据带宽,降低失效开销的时钟周期,从而达到提高访存效率的目的。  相似文献   

14.
循环展开是一种常用的编译优化技术,能够有效减少循环开销,提升指令级并行程度和数据局部性,提升循环的执行效能。然而,过度的循环展开会造成指令Cache溢出,增大寄存器压力,循环展开次数太少又会浪费潜在的性能提升机会,因此寻找恰当的展开因子是研究循环展开问题的核心。基于GCC开源编译器,面向循环展开问题开展深入的分析与研究,针对指令Cache和寄存器资源对循环展开的影响,提出了一种基于指令Cache和寄存器压力的循环展开因子计算方法,并在GCC编译器中实现了该计算方法。申威和海光平台上的实验结果显示,相较于目前GCC中存在的其它展开因子计算方法,所提出的方法可以获得更为有效的循环展开因子,提升了程序性能。在SPEC CPU 2006测试集上的平均性能分别提升了2.7%和3.1%,在NPB-3.3.1测试集上的分别为5.4%和6.1%。  相似文献   

15.
BackPropagation (BP) is the most famous learning algorithm for Artificial Neural Networks (ANN). BP has received intensive research efforts to exploit its parallelism in order to reduce the training time for complex problems. A modified version of BP based on matrix–matrix multiplication was proposed for parallel processing. In this paper, we present the implementation of Matrix BackPropagation (MBP) using scalar, vector, and matrix Instruction Set Architectures (ISAs). Besides this, we show that the performance of the MBP is improved by switching from scalar ISA to vector ISA. It is further improved by switching from vector ISA to matrix ISA. On a practical application, speech recognition, the speedup of training a neural network using unrolling scalar ISA over scalar ISA is 1.83. On eight parallel lanes, the speedups of using vector, unrolling vector, and matrix ISAs are respectively 10.33, 11.88, and 15.36, where the maximum theoretical speedup is 16. The results obtained show that the use of matrix ISA gives a performance close to optimal, because of reusing the loaded data, decreasing the loop overhead, and overlapping the memory operations with arithmetic operations.  相似文献   

16.
为满足实际应用对卷积神经网络(CNN)推理的低时延、小体积和高吞吐率等要求,设计了一个采用如下优化方法的加速器:针对外存访问带宽限制,基于设计空间探索确定循环分块因子以最大化数据重用;针对CNN计算密度高,采用循环展开技术充分挖掘四种计算并行度;内存池、乒乓缓存和动态数据量化等技术用于管理片内外存储资源。将生成加速器流程封装为CNN加速框架;采用生成的加速器实现了AlexNet网络,仿真结果表明,该设计最高可达1?493.4?Gops的计算峰值,是被比较工作的多达24.2倍,DSP效率也超过了其他设计方法,最低为1.2倍,实现了CNN快速部署,开发效率高,加速性能优异。  相似文献   

17.
We address the problem of generating compact code from software pipelined loops. Although software pipelining is a powerful technique to extract fine-grain parallelism, it generates lifetime intervals spanning multiple loop iterations. These intervals require periodic register allocation (also called variable expansion), which in turn yields a code generation challenge. We are looking for the minimal unrolling factor enabling the periodic register allocation of software pipelined kernels. This challenge is generally addressed through one of: (1) hardware support in the form of rotating register files, which solve the unrolling problem but are expensive in hardware; (2) register renaming by inserting register moves, which increase the number of operations in the loop, and may damage the schedule of the software pipeline and reduce throughput; (3) post-pass loop unrolling that does not compromise throughput but often leads to impractical code growth. The latter approach relies on the proof that MAXLIVE registers (maximal number of values simultaneously alive) are sufficient for periodic register allocation (Eisenbeis et al. in PACT ’95: Proceedings of the IFIP WG10.3 working conference on Parallel Architectures and Compilation Techniques, pages 264–267, Manchester, UK, 1995; Hendren et al. in CC ’92: Proceedings of the 4th International Conference on Compiler Construction, pages 176–191, London, UK, 1992). However, the best existing heuristic for controlling this code growth—modulo variable expansion (Lam in SIGPLAN Not 23(7):318–328, 1988)—may not apply the correct amount of loop unrolling to guarantee that MAXLIVE registers are enough, which may result in register spills Eisenbeis et al. in PACT ’95: Proceedings of the IFIP WG10.3 working conference on Parallel Architectures and Compilation Techniques, pages 264–267, Manchester, UK, 1995. This paper presents our research results on the open problem of minimal loop unrolling, allowing a software-only code generation that does not trade the optimality of the initiation interval (II) for the compactness of the generated code. Our novel idea is to use the remaining free registers after periodic register allocation to relax the constraints on register reuse. The problem of minimal loop unrolling arises either before or after software pipelining, either with a single or with multiple register types (classes). We provide a formal problem definition for each scenario, and we propose and study a dedicated algorithm for each problem. Our solutions are implemented within an industrial-strength compiler for a VLIW embedded processor from STMicroelectronics, and validated on multiple benchmarks suites.  相似文献   

18.
双精度普通矩阵乘法DGEMM是BLAS库中最核心的函数之一,大部分三级BLAS库函数的核心计算都是通过调用DGEM M来实现的.该文针对龙芯3A具有128位访存指令的特点,通过理论分析,找到了最佳的循环展开方式;针对龙芯3A的Cache替换策略(随机替换),通过使用地址交错技术,减少了Cache的冲突失效;针对龙芯3A访存带宽有限的问题,通过使用共享数据的任务划分方式,减少了数据访存量.优化后的DGEMM单核和多核运算速度均是性能最高的开源BLAS库(Goto-BLAS)的2倍多.  相似文献   

19.
利用循环分割和循环展开避免Cache代价   总被引:1,自引:0,他引:1  
刘利  陈彧  乔林  汤志忠 《软件学报》2008,19(9):2228-2242
存储系统与处理器之间的速度差距逐渐变大,为此,cache使用了分级机制,但这也带来了额外的存储延迟(cache代价).提出一种利用循环分割和循环展开相结合避免cache代价的PCPLPU(prevent cache penalty by loop partition-unrolling)算法.实验结果表明,PCPLPU算法能够有效避免循环代价,提高程序性能.  相似文献   

20.
Compute unified device architecture (CUDA) is a software development platform that allows us to run C-like programs on the nVIDIA graphics processing unit (GPU). This paper presents an acceleration method for cone beam reconstruction using CUDA compatible GPUs. The proposed method accelerates the Feldkamp, Davis, and Kress (FDK) algorithm using three techniques: (1) off-chip memory access reduction for saving the memory bandwidth; (2) loop unrolling for hiding the memory latency; and (3) multithreading for exploiting multiple GPUs. We describe how these techniques can be incorporated into the reconstruction code. We also show an analytical model to understand the reconstruction performance on multi-GPU environments. Experimental results show that the proposed method runs at 83% of the theoretical memory bandwidth, achieving a throughput of 64.3 projections per second (pps) for reconstruction of 5123-voxel volume from 360 5122-pixel projections. This performance is 41% higher than the previous CUDA-based method and is 24 times faster than a CPU-based method optimized by vector intrinsics. Some detailed analyses are also presented to understand how effectively the acceleration techniques increase the reconstruction performance of a naive method. We also demonstrate out-of-core reconstruction for large-scale datasets, up to 10243-voxel volume.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号