zoukankan      html  css  js  c++  java
  • ZYNQ的数据处理能力

    这段时间由于有任务要做,身体也不太好,所以一直没有时间在完成zynq数据处理能力的文档,今天晚上,抽了一晚上时间将相应的资料及实验都整理了出来,剩下的部分等把任务做完后在来折腾。在这里记下今天的历程,权当以后参考 。
        由于zynq自身自带本地arm-linux-gnu工具链,因此我就偷了一下懒, 没有去安装mentor公司 的gnu工具链,准备等把这段时间忙完之后再进行相应的折腾。具体工具链如下所示:

       由于使用的ubuntu linaro系统,本来我的想法是利用NFS与上位linux系统进行互联,结果我发现digilent公司提供的linaro包里面竟然不支持NFS挂载,如果需要NFS挂载支持的话,可以重新编译linaro源码,在make menuconfig的时候将nfs支持选上,或是选择之前的xilinx公司提供的open linux安装包中,其中有提供NFS挂载,但是该安装包没有本地工具链。
      解决的方式只有一种,通过将相应的文件拷到SD卡中的EXT4分区中,这里注意,较早的linux系统是不支持EXT4文件格式的,需要下载较新的系统。在这里可以选用ubuntu 12。04之后的版本,千万不要选红帽企业版5,该版本较早,是没有办法完成SD卡的挂载的。 
      通过将指纹处理算法文件拷入到sd卡中后,完成makefile文件的设计。具体如下图所示: 

     
       由于我 之前做过大量的指纹算法及其移植的研究,分别将其移植至NIOS2,ARM11 6410 WITHOUT MMU,ARM11 6410 WITH MMU以及STM32F429ZET6
    处理时间如下:
    NIOS2 100MHZ: 30S左右
    ARM11 6410 WITHOUT MMU 667MHZ:8秒之内
    ARM11 6410 WITH MMU 667MHZ: 2秒
    STM32F429ZET6 250MHZ:2秒之内
       NIOS2是altera公司的软核,在验证IP核时还是具有很大作用。由于没有打开CACHE,因此其数据处理能力较差。
       ARM11 6410 WITHOUT MMU 667MHZ 三星公司的ARM11,在没有运行操作系统的情况下,不打开CACHE(但打开浮点协处理器),其运行速度为8秒
     ARM11 6410 WITH MMU 667MHZ 三星公司的ARM11,在没有运行操作系统的情况下,打开CACHE(打开浮点协处理器),其运行速度为2秒,可见cache的强大(该处理器为1级缓存,相对较弱),若想深入研究计算机cache,可以去看CMU和斯坦福的两本相应著作

    Computer Systems: A Programmer's Perspective (2nd Edition),Computer Architecture: A Quantitative Approach, 5th Edition。另外Hisa Ando的支撑处理器的技术:永无止境地追求速度的世界中有不带缓存,带1level缓存,带2level缓存,带3level缓存的实际测量数据,有兴趣可以看一看。
      STM32F429ZET6:ST公司最新的产品,理论运行速度为168MHZ,本人为了追求速度,将其超频到250MHZ 。处理速度为2秒之内,正常速度处理速度为3秒。
      接下来就是今天的ZYNQ了,写完makefile文件后,输入make报错,让我百思不得其解,sqrt,atan2,fabs,atan2没有定义,估计是编译器对库文件支持的还不是特别完善,于是我利用uclibc中的这四个文件,并将其从库中剥离出来。重新编译。成功!

     开始测量ZYNQ的数据处理能力,输入:time ./main

    运行时间为0.27s。这个速度已经相当的快了。让我不得不佩服ARM公司的那群基佬们。由于本人另外还有任务,所以这段时间我可能没有时间去折腾相应的接口驱动,等完成了相应的任务后,再来慢慢完成相应的接口驱动设计。最近实在是太忙了。好啦,时间不早了,先暂时写到这里吧。 
     参考资料:
     Bryant R, David Richard O H. Computer systems: a programmer's perspective[M]. Prentice Hall, 2003.
     Hennessy J L, Patterson D A. Computer architecture: a quantitative approach[M]. Elsevier, 2012.
     Mecklenburg R. Managing projects with GNU make[M]. " O'Reilly Media, Inc.", 2004.
    Jone R L. Linker & Loader[J]. 1999.
    ARM architecture reference manual[M]. Pearson Education, 2001.
    支撑处理器的技术:永无止境地追求速度的世界[M].安藤桐 (Hisa Ando) (作者), 李剑 (译者).2009

  • 相关阅读:
    【RDB】MariaDB 之事务、复制、集群
    【中间件】Redis 实战之主从复制、高可用、分布式
    React从入门到放弃(5):ReactRouter4
    React从入门到放弃(4):Redux中间件
    React从入门到放弃(3):Redux简介
    React从入门到放弃(2):React简介
    React从入门到放弃(1):webpack4简介
    【.NET Core】ASP.NET Core之IdentityServer4(1):快速入门
    【.NET Core】Docker Jenkins ASP.NET Core自动化部署
    【ASP.NET Core】运行原理(4):授权
  • 原文地址:https://www.cnblogs.com/wqs131/p/3800190.html
Copyright © 2011-2022 走看看