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

3.6.1 磁盘控制器

硬盘的接口包括物理接口,也就硬盘接入到磁盘控制器上需要用的接口,除了物理接口规范之外,还定义了一套指令系统,叫做逻辑接口。磁盘通过物理线缆和接口连接到磁盘控制器之后,需要逻辑接口,也就是指令集来向磁盘中存放。磁盘控制器的作用是参与底层的总线初始化、仲裁等过程以及指令传输过程、指令传输状态机、重传、ACK确认等,将这些太过底层的机制过滤掉,从而向驱动程序提供一种简洁的接口。驱动程序只要将读写的设备号、起始地址等信息,也就是指令描述块(Command Description  Block)传递给控制器即可,控制器接受指令,并做相应动作,将执行后的结果信号返回给驱动程序。

3.6.2 驱动器控制电路

磁盘驱动器去控制电路位于磁盘驱动器上,它专门负责直接驱动磁头臂做运动来读写数据。而主板上的磁盘控制器专门用来向磁盘去东区的控制电路发送指令,从而控制磁盘驱动器读写数据。由磁盘控制器对磁盘驱动器发出指令,进而操作磁盘,CPU做的仅仅是操作控制器就可以了。

3.6.3 磁盘控制器驱动程序

CPU必须执行磁盘通道控制器才能与控制器交互,才能读写数据。所以,系统BIOS中存放了初始化系统所需的基本代码。系统BIOS初始化过程中有这么一步,就是去发现并执行磁盘控制器的Optional ROM(该ROM被保存在磁盘通道控制器中或者单独的Flash芯片内),该ROM内包含了该控制器最原始的、可以在主BIOS下执行驱动程序,主BIOS载入并执行该ROM,从而加载了其驱动程序,也就可以与控制器进行交互了。最后主BIOS通过执行驱动程序而是的CPU可以发送对应的读指令,提取磁盘0磁道的第一个扇区中的代码载入内存执行,从而加载OS。

bios 修改磁盘控制器模式 bios中的磁盘控制器_bios 修改磁盘控制器模式

3.7 内部传输速率和外部传输速率

3.7.1 内部传输速率

磁盘的内部传输速率指的是磁头读写磁盘时的最高速率,不包括寻道、等待某个扇区旋转到磁头下。实际上,速率不可能达到内部传输速率

3.7.2 外部传输速率

从外部接口传递给硬盘控制器的速率就是外部速率