硬盘工作原理:
盘片表面是用于存储数据的磁性介质,为了更有效管理磁盘将整个盘面划分为多个同心环以圆心画扇形,扇形与每个同心环相交的弧状区域作为最基本的数据存储单元。同心环称为磁道,弧状区域称为扇区,作为向硬盘存储数据的最基本单位,大小512字节。而一个个盘片都固定在主轴随主轴高速旋转,每个盘片分上下两面,每面都存储数据,每个面都有一个磁头来读取数据,故一个盘片对应两个磁头。磁头被固定在磁头臂上,在磁头臂的带动下,沿盘片边缘向圆心方向来回摆动。所以,磁头臂带动磁头在盘片上方移动,就是在找磁道位置,盘片高速自转,就是在磁道内定位扇区。
硬盘操作方法:
(1)先选择通道,往该通道的 sector count寄存器中写入待操作的扇区数。
(2)往该通道上的三个LBA寄存器写入扇区起始地址的低24位。
(3)往device寄存器中写入LBA地址的24~27 位,并置第6位为1,使其为LBA模式,设置第4
位,选择操作的硬盘(master 硬盘或 slave 硬盘)。
(4)往该通道上的 command寄存器写入操作命令。
(5)读取该通道上的 status 寄存器,判断硬盘工作是否完成。
(6)如果以上步骤是读硬盘,进入下一个步骤。否则,完工。
(7)将硬盘数据读出。
数据传输方式:
查询传送方式,也称为程序I/O、PIO(ProgrammingInput/Output Model),是指传输之前, 由程序先去检测设备的状态。数据源设备在一定的条件下才能传送数据,这类设备通常是低速设备,比 CPU慢很多。CPU需要数据时,先检查该设备的状态,如果状态为“准备好了可以发送”,CPU再去获取数据。硬盘有 status寄存器,里面保存了工作状态,所以对硬盘可以用此方式来获取数据。
中断传送方式,也称为中断驱动I/O。上面提到的“查询传送方式”有这样的缺陷,由于CPU 需要不断查询设备状态,所以意味着只有最后一刻的查询才是有意义的,之前的查询都是发生在数据尚未准备好的时间段里,所以说效率不高,仅对于不要求速度的系统可以采用。可以改进的地方是如果数据源设备将数据准备好后再通知 CPU 来取,这样效率就高了。通知 CPU 可以采用中断的方式,当数据源设备准备好数据后,它通过发中断来通知 CPU 来拿数据,这样避免了 CPU 花在查询上的时间,效率较高。
标签:盘片,介绍,扇区,寄存器,查询,CPU,硬盘 From: https://www.cnblogs.com/LCAB/p/17005223.html