请教硬盘的DMA控制方式?

[复制链接]
1401|2
手机看帖
扫描二维码
随时随地手机跟帖
yidong1981|  楼主 | 2007-11-27 18:50 | 显示全部楼层 |阅读模式
现在一个课题用dsp通过cpld和IDE硬盘连接。用PIO方式已经可以在硬盘实现FAT32文件系统,但是发现用PIO方式对硬盘操作的速度很慢,不能满足系统要求,找了一些资料,好像用DMA方式,速度要比PIO方式快,但是看了些资料后,还是有些不太明白的

用PIO方式对硬盘操作时,要写往硬盘或者从硬盘读的地址是通过硬盘的扇区、柱面、磁道寄存器来控制的,数据交换是通过数据寄存器来实现交换的,看ATA标准上说,用DMA方式传输数据的话,就不能用数据寄存器传输数据了,而是将数据放到data port上,但是标准上说这个data port是没有地址的。

我就奇怪了,data port没有地址,那么如果通过DMA将数据写到硬盘上的话,DMA传输的目的地址是什么呢?

有做过这方面的工作的大侠,提供点帮助!!!

相关帖子

xwj| | 2007-11-27 19:05 | 显示全部楼层

就是不停的往端口写数据啦,硬盘自己会自动在内部增加地

使用特权

评论回复
rodger_br| | 2007-11-28 03:45 | 显示全部楼层

--

所有dma都是预先指定地址的连续大块数据的传输。
期间CPU总线无需参与,以减轻负荷

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

59

帖子

0

粉丝