07控制器和控制卡(3)

控制器和控制卡(3)

7. 软盘和硬盘控制器

​ PC 机的软盘控制子系统有软盘片和软盘驱动器组成。由于软盘可以存储程序和数据并且携带方便,因此长期以来软盘驱动器是 PC 机上的标准配置设备之一。硬盘也是由盘片和驱动器组成,但是通常硬盘的金属盘片固定在驱动器中,不可拆卸。

​ 由于硬盘具有河大的存储容量,并且读写速度很快,因此它是 PC 机中最大容量的外部存储设备,通常也被称为外存。软盘和硬盘都是都是利用磁性介质保存信息,具有类似的存储工作方式。因此这里我们以硬盘为例简要说明它们的工作原理。

​ 在盘片上存储数据的基本方式是利用盘片表面的一层磁性介质在磁化后的剩磁状态。软盘通常使用聚脂薄膜作基片,而硬盘片通常使用金属铝合金作基片。一张软盘中含有一张聚脂薄膜圆盘片,使用上下两个磁头在盘片两面读写数据,盘片旋转速率大约在 300 转/分钟。硬盘中通常起码包括 2 张或者更多张金属片,因此具有多个读写磁头。例如,对于包含 2 个盘片的硬盘中就具有 4 个物理磁头,含有 4 个盘片的硬盘中有 8 个读写磁头。如下图所示,硬盘旋转速率很快,通常在 4500 转/分钟到 10000 转/分钟,因此硬盘数据的传输速度通常可达几十兆/秒。

​ 位于磁盘表面的磁头上分别有一个读线圈和写线圈。在读数据操作过程中,磁头首先移动到旋转着的磁盘某个位置上。由于磁盘在旋转,磁介质相对磁头作匀速运动,因此磁头实际上在切割磁介质上的磁力线。从而在读线圈中因感应而产生电流。根据磁盘表面剩磁状态方向的不同,在线圈中感应产生的电流方向也不同,因此磁盘上记录着的 0 和 1 数据就被读出,从而可从磁盘上顺序读出比特数据流。

​ 由于磁头读取的每个磁道上都有存放信息的特定格式,因此通过识别所读比特数据流中的格式,磁盘电路就可以区分并读取磁道上各扇区中的数据,如下图所示。其中,GAP 是间隔字段,用于起隔离作用。通常 GAP 是 12 字节的 0。每个扇区地址场的地址字段存放着相关扇区的柱面号、磁头号(面号)和扇区号,因此通过读取地址场中的地址信息就可以唯一确定一个扇区。

image

​ 为了读写磁盘(软盘和硬盘)上的数据,就必须使用磁盘控制器。磁盘控制器是 CPU 与驱动器之间的逻辑接口电路,它从 CPU 接收请求命令,向驱动器发送寻道、读/写和控制信号,并且控制和转换数据流形式。控制器与驱动器之间传输的数据包括上图中的扇区地址信息以及定时和时钟信息。控制器必须从实际读/写数据中分离出这些地址信息和一些编码、解码等控制信息。另外,与驱动器之间的数据传输是串行比特数据流,因此控制器需要在并行字节数据和串行比特数据之间进行转换。

​ PC/AT 机中软盘驱动控制器 FDC(Floppy Disk Controller)采用的是 NEC μ PD765或其兼容芯片。它主要用于接收 CPU 发出的命令,并根据命令要求向驱动器输出各种硬件控制信号,如下图所示。在执行读/写操作时,它需要完成数据的转换(串 —— 并)、编码和校验操作,并且时刻监视驱动器的运行状态。

​ 对磁盘控制器的编程过程就是通过 I/O 端口设置控制器中的相关寄存器内容,并通过寄存器获取操作的结果信息。至于扇区数据的传输,则软盘控制器与 PC/AT 硬盘控制器不同。软盘控制器电路采用 MDA 信号,因此需要使用 DMA 控制器实施数据传输。而 AT 硬盘控制器采用高速数据块进行传输,不需要 DMA 控制器的介入。

​ 由于软盘片比较容易遭到损坏(发霉或划伤),因此目前计算机中已经不配置软盘驱动器了,取而代之的是使用容量较大并且更容易携带的 U 盘存储器。

猜你喜欢

转载自www.cnblogs.com/rock-cc/p/9263732.html