当前位置:  技术问答>linux和unix

程序运行速度疑问

    来源: 互联网  发布时间:2016-10-13

    本文导语:  程序如下: *(volatile short *)(Bankaddr)=1; *(volatile short *)(Bankaddr)=0; 这段对外设地址访问的程序,在驱动程序里面的速度和在应用程序里面的速度相差一倍 在应用程序里,外设地址是通过mmap映射的 在驱动程序里,外...

程序如下:

*(volatile short *)(Bankaddr)=1;
*(volatile short *)(Bankaddr)=0;

这段对外设地址访问的程序,在驱动程序里面的速度和在应用程序里面的速度相差一倍
在应用程序里,外设地址是通过mmap映射的
在驱动程序里,外设地址是通过ioremap映射的,
(我将访问外设的时序参数设定的一样。并且编译应用程序时,带上了优化参数O2,
  我将驱动程序和应用程序反汇编,代码也差不多,没有什么太大区别)

为何驱动程序运行的速度要比应用程序快一倍左右呢,(我是通过示波器测量数据总线发现的)
(目标板是linux2.6.31+s3c6410)

|
是不是和内存区域有关系的?
VMALLOC_START   VMALLOC_END-1   vmalloc() / ioremap() space.
                Memory returned by vmalloc/ioremap will
                be dynamically placed in this region.
                VMALLOC_START may be based upon the value
                of the high_memory variable.

00001000    TASK_SIZE-1 User space mappings
                Per-thread mappings are placed here via
                the mmap() system call.

|

我觉得LZ在12楼的解释挺好的呀。

这个时候的确不应该用cache。目的是只写,希望立即生效,当中垫上个高速缓存,应该是降低响应的。

做为验证,要么检查一下内核代码,ioremap和mmap是否在这方面有差异?

|


当然有区别,在有 mmu 的硬件上就有区别。

    
 
 

您可能感兴趣的文章:

  • 多线程编程下关于gdb程序调试的一个疑问。
  • 操作系统为进程(程序)提供服务的疑问
  • linux程序关于fopen的疑问!
  • 新装的Red Hat Linux,想编写C++程序,但有些疑问
  • 字符驱动程序的疑问!
  • 菜鸟的疑问 linux下编译c程序
  • 一个Shell程序的疑问?
  • Linux下服务器+CGI+用户程序的疑问
  • ldd 3rd 程序代码疑问
  • 关于学习驱动程序的的疑问
  • signal()基础知识,<<apue>>上的程序疑问
  • 一个疑问,源自《linux驱动程序》中文版 第二章(一个只有四行的程序)
  • 关于fork()和sleep()程序的疑问,请高手指点
  • 【疑问】在linux下写和调试程序是不是很麻烦的?
  • 关于COPY程序的疑问?COPY后有乱码
  • ldd3中的hello world驱动程序的疑问???
  • 我对Linux平台下程序开发的一点疑问(技术方面的的)
  • apue程序清单11-5的疑问
  • 初学jsp的asp程序员的十个疑问(我会继续补分)
  • 关于Linux程序设计中多线程信号量的一个疑问
  • linux下程序的启动速度问题
  • linux可执行程序运行速度问题
  • 用JAVA编一个程序,测试网络速度~~高手帮忙
  • 请问java编制的程序主要运行在服务器端还是客户端?听说它的速度比较慢,怎么可以运行在服务器端呢?谢谢!
  • 我用C在UNIX下写程序,生产文本,如何能让我的程序并行运行,好加快运行速度,举例说明。
  • 如何通过LD_PRELOAD降低程序的读写速度
  • 用C语言写了一个多线程序下载器,下载速度快的无与伦比,大小只有86K,可下载任何文件!(免费+开源)
  • 我本来做一个很小的程序给大家玩的,测试你的鼠标点击速度,但编译时碰到了下面问题,望各位大侠解答
  • 关于xml解析速度问题!用森么解析xml最快!xml为小文件!附源程序(JDOM)
  • 进程kjournald占用较多的CPU资源,而且大大影响到程序的运行速度,怎么处理
  • 写了个小程序,比较windows(xp)和linux(fedora4)和速度和大小,发现linux下运行的程序远没有windows下的快。
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • Linux下的程序是在内存中运行的吗?为什么在程序运行的时候可以删除程序文件?
  • Ubuntu程序开机自动启动设置(服务和自动运行配置文件)的几种方法
  • SecureCRT上运行一个JAVA程序,该程序类似一个在WINDOWS下一直运行的CMD窗口的东西,SecureCRT关掉后,JAVA还会继续运行吗?
  • windows下cmd命令提示符下让程序后台运行命令
  • telnet到主机去运行一个我编的程序,退出telnet时那个程序也不运行了,这是怎么回事?按程序逻辑它应该一直运行下去的。
  • python计算程序开始到程序结束的运行时间和程序运行的CPU时间
  • jsp程序运行一次后,再修改原jsp程序,为什么运行还是的还是原来的程序??
  • 我的linux程序 如何 在pc机器上运行。现在我用arm-linux-g++ 编译后的程序在我的嵌入设备上运行。
  • 在JB7中默认的情况下会为程序生成一个包,程序在JB7中可以正常运行,可是在JDK中却无法运行
  • 怎样在客户端(win2k svr)vc程序里使hp-ux服务器中的c程序运行,另外如何获得其运行结果?
  • 在LIUNIX中,在运行程序中,运行什么命令可以出现类似DOS的界面...谢谢.
  • 怎样让linux启动后不运行桌面而是直接运行某个应用程序呢?
  • 程序在windows下用visual运行正常,如何才能在linux下运行??
  • linux编写一个脚本判断程序是否在运行,如果没运行就重启这个软件。
  • 请问linux下查看某个程序的运行界面的程序是什么?
  • jbuilder下写的javabean与jsp程序正常运行,如何转到weblogic或其他的服务器上运行???
  • 运行程序后程序报错说操作不允许
  • ubuntu下用gcc编译的程序要怎样运行,为何运行不了?
  • 关闭putty(SSH程序)后如何让程序还在redhat上运行?
  • 怎么让一个程序在后台运行而不影响其他的程序的执行?
  • 重装服务器后IIS网站错误(应用程序中的服务器错误)
  • 为什么我在java程序里启动的一个程序在java程序关闭后,该程序的所有进程都关掉了
  • windows server2008上PowerBuilder程序系统错误解决方法
  • Linux 编程怎么样在程序开启一个程序,和关闭一个程序?
  • c语言判断某一年是否为闰年的各种实现程序代码
  • 请问从一个java程序中如何调用另一java程序,并控制可以其状态(最小化、最大化、结束程序),还有怎样知道那个被调用的程序结束。
  • 程序员的八种级别,你属于哪一级?
  • 我的程序是用c写的gtk+程序,有个函数的参数要传给它图片的文件名,但是图片和原程序不在同一目录下怎么办?怎么在程序里指定文件的路径
  • 在docker容器中通过apt-get安装新的程序
  • 为什么linux下的C++程序这么少见? 请问那里有linux下的C++程序?什么类型的程序都可以.


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3