今天偶然在avan老哥的博客里看到了这样一篇文章:一个关于硬盘接口的问题。这个问题前些天我也碰到过,在学习IDE协议时也看到过相关问题的说明,只是每次看到的时候都因为“更重要”的问题而把它忽略了。看到avan老哥能够不耻下问,我也按捺不住,决定一探究竟,消除这个知识盲点。 riple
查看了ATA-5文档中的相关章节,获得了如下几点认识: riple
所以,avan老哥说的对调电缆造成传输速度下降的现象就好解释了。对调前,主机端的CBLID-信号通过80线电缆的主机端34脚连接到Ground线上,主机查询一下就知道是低电平,从而做出正确判断;对调后,主机端的CBLID-信号通过80线电缆的主设备端34脚连接到从设备端34脚上(很有可能悬空),主机查询不到一个确定是低电平的引脚,从而判断电缆为40线,在传输过程中就会采用速度低于UDMA的方式(PIO或MDMA)。 riple
IDE接口中还有一个CSEL(Cable Select)信号(28脚),它不是用来判断电缆类型的,而是用来配置电缆上的设备是否是主设备的。这个信号在主机端(主板上)连接到Ground上,通过线缆连接到主设备端上,设备通过这个低电平信号知道自己被配置成主设备;电缆上的从设备连接端子在28脚上是和电缆断开的,连接到这个端子上的设备就会认为自己是从设备。这就是为什么两块硬盘都配置成CS方式后,可以连接到同一根电缆上的原因——不同的连接位置决定了设备的主从关系。 riple
ATA接口发展了这么多年(ATA-8),为了保证向下兼容,产生了许多构思巧妙的设计。这些设计既要利用已有的形式,又要添加新的功能,真是难为了协议制定者。今天看来,ATA接口差不多发展到了头,能用于开发新功能和提升性能的物理形式都用上了。这可能就是并行总线在功能演进上的劣势:空间上的有限性限制了进一步发展的灵活性。而串行协议由于不具备空间上的扩展性,就充分发挥了时间上的可扩展性,在提高速度的同时还可以使功能定义具备极大的灵活性。 riple
SATA取代PATA应该是历史的必然。 riple
相关链接:http://www.t13.org/Documents/Default.aspx?DocumentType=4 riple
http://www.interfacebus.com/Design_Connector_IDE.html#top riple
用户408448 2011-5-27 00:29
用户345776 2011-4-19 22:55
用户626508 2008-2-26 21:03
并不是所有的机器的BIOS都会根据CBLD来区分PIN的类型~,如果区分的话BIOS只会设置UDMA3,并不根据IDFY数据中支持的UDMA模式的最大值来设置,一般进了系统,在设备管理器里面IDE控制器里面能够看到~~
PS:其实很多硬盘都可以支持UDMA6,而主机也可以兼容UDMA6的模式,但是上电过程只设置为UDMA5,这个时候如果使用个小工具Set Feature一下,可以强制将工作模式超频到UDMA6,速度最起码有10~15M的提升~~(并不一定可靠哦~~)呵呵,有兴趣可以自己研究哈
ash_riple_768180695 2007-2-13 10:51
实事求是的精神还要向avan学习。