大话存储学习笔记(2)

四、磁盘控制器、驱动器控制电路和磁盘控制器驱动程序

1.磁盘控制器

硬盘接口包括了物理接口和逻辑接口。

物理接口:硬盘接入磁盘控制器上的接口,具体的针数,某针的作用等

逻辑接口:指令系统

若想在磁盘上存放一个字母,该怎样操作?

指令集定义了“怎样向磁盘发送数据和磁盘读取数据”。但这套指令集,不是由CPU直接执行代码来生成指令的,而是由专门的芯片或者集成到南桥上的某个部分来负责的,这就是磁盘控制器,如ATA控制器或者SCSI控制器。

磁盘控制器参与底层总线初始化、仲裁等过程,将这些太底层的机制过滤掉,从而向驱动器提供一种简洁的接口。

驱动程序只要将读写的设备号、读写的初始地址和长度告诉控制器即可,剩下的有控制器来做,如总线申请等。

2.驱动器控制电路

区分磁盘控制器和磁盘驱动器的控制电路

磁盘驱动器的控制电路位于磁盘驱动器上,专门负责直接驱动磁头臂做运动来读写数据。

磁盘控制器位于主板上,专门向磁盘驱动器的控制电路发送指令,控制磁盘驱动器读写数据。

由磁盘控制器向磁盘驱动器发送指令,进而操作磁盘,CPU做的仅仅操作控制器就可以了。

CPU通过主板上的导线发送指令给,同样位于主板上的磁盘控制器。磁盘控制器继而通过线缆发送指令给磁盘驱动器,由磁盘驱动器来控制磁头臂。

CPU操作控制器的指令系统叫做磁盘控制器驱动程序,CPU通过执行磁盘控制器的驱动程序,生成指令发送给磁盘控制器,控制器收到指令后,通过电路逻辑运算生成另外一种指令,也就是发送给磁盘驱动器的指令,这些指令就是常说的ATA指令集或者SCSI指令集。ATA指令集是由ATA磁盘控制器发送给IDE磁盘驱动器的;SISI指令集是SCSI磁盘控制器发送给SCSI磁盘驱动器的。

3.磁盘控制器驱动程序

操作系统刚启动回去查找磁盘控制器的BIOS地址,然后执行这个地址上的代码,初始化磁盘控制器,并向系统BIOS报告控制器掌握磁盘设备的情况。最后BIOS让CPU发送指令,提取磁盘的0磁道的第一扇区中的代码,载入内存执行,从而加载OS。

系统BIOS包含磁盘控制器驱动程序的。

image

磁盘控制器、磁盘控制器驱动程序、磁盘驱动器控制电路三者之间的关系

copyright@2015 liupan

liu.pan@datatom.com

posted @ 2015-04-18 16:43  silianpan  阅读(372)  评论(0编辑  收藏  举报