阅读:1243回复:2
实测中断速度
我在Mandrake8.2下实测了一下EPP并口的传递速度,测试条件如下:
Mandrake8.2, 赛扬667M,256M内存 自己编了一个驱动程序,从信号发生器输入方波到并口来触发中断,发现PC机能够响应的速度大 约为1K多一点,从程序中全速向EPP写数据,发现最大速度为150K左右,这样看到EPP的传递数据 在PC机中远远低于有关资料上所说的2MB。而且使用轮循的方法收数据应该比用中断方法收数据 要快很多,不过是CPU占用多很多。 我的结论对吗?请多指教。 |
|
沙发#
发布于:2003-04-13 12:21
轮循的方法怎么可能比用中断方法速度快呢?
首先,不知道你的轮循是在应用程序中做的还是在内核做的.如果是在应用程序中做的,那就别提了,最慢的方法. 即便是在内核做的,也有几个问题.一是你的用户界面会象死机一样.二是普通内核线程的级别也低于中断,在轮循过程中会被例如时间之类的中断打断,所以你的轮循过程多数情况下来不及响应端口状态的变化.三是你的代码在检测到端口变化之后的处理效率问题.如果代码效率太低,又是用C来写的,那你的代码会跟不上中断发生的频率,也就是说你会丢失中断. 你的结论是错误的. :D |
|
板凳#
发布于:2003-04-16 10:59
我在Mandrake8.2下实测了一下EPP并口的传递速度,测试条件如下: 轮询的方法应该是最快的。你应该是没有设置好正确的工作模式,epp/ecp什么都需要一定的初始化工作的。 |
|
|