EandE
驱动牛犊
驱动牛犊
  • 注册日期2002-10-21
  • 最后登录2003-10-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:4131回复:12

关于16位ISA总线实际传输速率的疑问??

楼主#
更多 发布于:2002-11-22 19:11
最近制作了一块ISA板卡,总线接口采用4K*16的双口RAM IDT7024,用CPLD作译码,将双口RAM映射到系统内存0xD0000-0xD1FFF,没有采用DMA方式,而是由系统直接对双口RAM内存操作。在DOS下进行测试,程序用BC31编写,调用MK_FP函数生成INT型FAR指针直接指向双口RAM对应的地址,在程序中连续读取或写入一定数量的内存单元,根据完成操作消耗的时间测试ISA总线的实际传输速率。MEMCS16根据地址译码由板卡上的CPLD输出,调试过程读取数据正确,但是实测ISA总线16位内存操作方式的读写速度却要远远低于ISA规范规定的8MBYTE/S。

在几台电脑上的测试结果如下(均为读取双口RAM数据的速率):
INTEL430TX(北桥)+82371(南桥):OWS无效――约1.9MB/S;OWS有效――约2.2MB/S
INTEL440BX(北桥)+82371(南桥):OWS无效――约1.5MB/S;OWS有效――测试主板不支持
INTEL810E(北桥)+82801(南桥)+W83628F(PCI-ISA桥芯片):OWS无效――约1.3MB/S;OWS有效――约1.5MB/S
INTEL810E(北桥)+82801(南桥)+PC87200(PCI-ISA桥芯片):OWS无效――约1.1MB/S;OWS有效――不支持

曾经在论坛上看到别人做的ISA卡实际传输速率可以达到或接近8MB/S,是不是都是采用DMA方式实现的?是否设计中有什么要点我还没有注意到?或是我的测试方法不对?请高手指点,谢谢!

最新喜欢:

okincnokincn
grant
驱动老牛
驱动老牛
  • 注册日期2001-05-14
  • 最后登录2007-04-13
  • 粉丝0
  • 关注0
  • 积分350分
  • 威望35点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-12-03 15:17
用DMA效率会高。
助人乃快乐之本 有人给分就更快乐了 :-)
xiang5828
驱动牛犊
驱动牛犊
  • 注册日期2002-10-01
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-12-03 15:24
最好还是用dma
grant
驱动老牛
驱动老牛
  • 注册日期2001-05-14
  • 最后登录2007-04-13
  • 粉丝0
  • 关注0
  • 积分350分
  • 威望35点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-12-04 13:30
我在想,你把你编译好的程序用Debug看一下,我怀疑在用Far Pointer读数的过程中还是有别的操作。
助人乃快乐之本 有人给分就更快乐了 :-)
grant
驱动老牛
驱动老牛
  • 注册日期2001-05-14
  • 最后登录2007-04-13
  • 粉丝0
  • 关注0
  • 积分350分
  • 威望35点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-12-04 13:31
我在想,你把你编译好的程序用Debug看一下,我怀疑在用Far Pointer读数的过程中还是有别的操作。这应该是效率不高的原因。(总线并没有连续运作。而DMA是靠硬件产生时序的,效率比较高)
助人乃快乐之本 有人给分就更快乐了 :-)
EandE
驱动牛犊
驱动牛犊
  • 注册日期2002-10-21
  • 最后登录2003-10-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-12-07 20:47
原来的计算有误,更正一下我的测试结果:
在几台电脑上的测试结果如下(均为读取双口RAM数据的速率):
INTEL430TX(北桥)+82371(南桥):OWS无效――约2.38MB/S;OWS有效――约2.78MB/S
INTEL440BX(北桥)+82371(南桥):OWS无效――约1.85MB/S;OWS有效――测试主板不支持
INTEL810E(北桥)+82801(南桥)+W83628F(PCI-ISA桥芯片):OWS无效――约1.6MB/S;OWS有效――约1.85MB/S
INTEL810E(北桥)+82801(南桥)+PC87200(PCI-ISA桥芯片):OWS无效――约1.4MB/S;OWS有效――不支持
EandE
驱动牛犊
驱动牛犊
  • 注册日期2002-10-21
  • 最后登录2003-10-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-12-07 20:58
我觉得即使BC的编译效率不高,也不会对测试结果有太大的影响,因为生成指针、更新指针之类的操作都是在计算机自身的内存中进行的,耗费的时间相对操作ISA总线的时间基本可以忽略。而且我在其它操作系统下,用WATCOM C编译器测试的结果也与之类似。
EandE
驱动牛犊
驱动牛犊
  • 注册日期2002-10-21
  • 最后登录2003-10-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-12-07 21:04
在别的论坛上有高手给出的答复如下,我觉得比较有道理,
“之所以慢 because the ISA is bridged from PCI and treat as  a PCI sub-set device , not the native ISA. So you need consider the PCI delay and PCI bus controller delay. The 8MB/s is refer to IBM PC/AT - native ISA design. If you need high-speed , suggest upgrad to PCI memory master design or PCI bridge design , like Intel/PXI or other chips”


[编辑 -  12/7/02 by  EandE]
EandE
驱动牛犊
驱动牛犊
  • 注册日期2002-10-21
  • 最后登录2003-10-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-12-07 21:11
总之目前计算机的ISA总线是作为一个PCI设备挂在PCI总线上的,实际传输速率还要受到PCI总线延迟等因素的影响,所以8MB/S的速度只有在IBM PC/AT这样纯粹的ISA总线机型上才可以得到。
我的理解就是这样,请诸位高手指点,谢谢!
huxo
驱动牛犊
驱动牛犊
  • 注册日期2001-11-07
  • 最后登录2004-09-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-12-14 00:10
dma!
看9052 isa模式的时序图就知道,dma时一个时钟一个字,而单个读写操作要4、5个时钟。差别当然大了。
作为pci的从设备也不会影响这么大吧,pci可是133mbps阿。透过它9054的速率不也没损失多少吗。
你有一个苹果,我有一个苹果,交换了还是一个苹果。 你有一个技术,我有一个技术,交换了是两个技术。
hapi
驱动小牛
驱动小牛
  • 注册日期2002-03-08
  • 最后登录2007-09-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-12-14 10:15
楼上的老兄,你这个时序是用示波器看的还是仅仅是研究的datasheet?我现在做9052 ISA模式下的接口板,用示波器看的read的时序,8M LCLK下两个read之间间隔为16个时钟周期。
EandE
驱动牛犊
驱动牛犊
  • 注册日期2002-10-21
  • 最后登录2003-10-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-12-14 10:17
再说明一点,我做的是纯粹的ISA槽插卡,而不是用9052作ISA桥的PCI插卡。在ISA槽上作DMA传输也比直接内存访问快几倍么?
hapi
驱动小牛
驱动小牛
  • 注册日期2002-03-08
  • 最后登录2007-09-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2002-12-14 10:47
TO EandE:呵呵,我也做了一块标准的 ISA卡,在普通的PC机 ISA槽上的读速度为2MB,而9052 上的ISA 8M LCLK下读取速度为1MB。所以我觉得 PC 机上ISA插槽的DMA还是蛮快的。
游客

返回顶部