计算机的加点和复位和硬盘的的工作原理

早过忘川 提交于 2020-03-17 20:36:44

计算机的加点和复位

  在处理器众多的引脚中,有一个是 RESET,用于接受复位信号。每当处理器加电,或者RESET 引脚的电平由低变高时①,处理器都会执行一个硬件初始化,以及一个可选的内部自测试(Build-in Self-Test,BIST),然后将内部所有寄存器的内容初始到一个预置的状态。

  为了节约成本,并提高容量和集成度,在内存中,每个比特的存储都是靠一个极其微小的晶体管,外加一个同样极其微小的电容来完成的。可以想象,这样微小的电容,其泄漏电荷的速度当然也非常快。所以,个人计算机中使用的内存需要定期补充电荷,这称为刷新,所以这种存储器也称为动态随机访问存储器(Dynamic Random Access Memory,DRAM)。随机访问的意思是,访问任何一个内存单元的速度和它的位置(地址)无关。举个例子来说,从头至尾在一盘录音带上找某首歌曲,它越靠前,找到它所花的时间就越短。但内存就不一样,读写地址为 0x00001 的内存单元,和读写地址为 0xFFFF0 的内存单元,所需要的时间是一样的。在内存刷新期间,处理器将无法访问它。这还不是最麻烦的,最麻烦的是,在它断电之后,所有保存的内容都会统统消失。所以,每当处理器加电之后,它无法从内存中取得任何指令。

  与 DRAM 不同,只读存储器(Read Only Memory,ROM)不需要刷新,它的内容是预先写入的,即使掉电也不会消失,但也很难改变。这个特点很有用,比如,可以将一些程序指令固化在 ROM 中,使处理器在每次加电时都自动执行。处理器醒来后不能饿着,这是很重要的。

硬盘及其工作原理

在这里插入图片描述
  这是一块被拆开的硬盘,中间是用于记录数据的铝合金盘片,固定在中心的轴上,由一个高速旋转的马达驱动。附着在盘片表面的扁平锥状物,就是用于在盘片上读写数据的磁头

  硬盘可以只有一个盘片(这称为单碟),也可能有好几个盘片。但无论如何,它们都串在同一个轴上,由电动机带动着一起高速旋转。一般来说,转速可以达到每分钟 3600 转或者 7200 转,有的能达到一万多转,这个参数就是我们常说的“转/分钟”(Round Per Minute,RPM)。

  每个盘片都有两个磁头(Head),上面一个,下面一个,所以经常用磁头来指代盘面。磁头都有编号,第 1 个盘片,上面的磁头编号为 0,下面的磁头编号为 1;第 2 个盘片,上面的磁头编号为 2,下面的磁头编号为 3,依次类推。

  每个磁头不是单独移动的。相反,它们都通过磁头臂固定在同一个支架上,由步进电动机带动着一起在盘片的中心和边缘之间来回移动。也就是说,它们是同进退的。步进电动机由脉冲驱动,每次可以旋转一个固定的角度,即可以步进一次。

  可以想象,当盘片高速旋转时,磁头每步进一次,都会从它所在的位置开始,绕着圆心“画”出一个看不见的圆圈,这就是磁道(Track)。磁道是数据记录的轨迹。因为所有磁头都是联动的,故每个盘面上的同一条磁道又可以形成一个虚拟的圆柱,称为柱面(Cylinder)

  磁道,或者柱面,也要编号。编号是从盘面最边缘的那条磁道开始,向着圆心的方向,从 0 开始编号。

  柱面是一个用来优化数据读写的概念。初看起来,用硬盘来记录数据时,应该先将一个盘面填满后,再填写另一个盘面。实际上,移动磁头是一个机械动作,看似很快,但对处理器来说,却很漫长,这就是寻道时间。为了加速数据在硬盘上的读写,最好的办法就是尽量不移动磁头。这样,当 0 面的磁道不足以容纳要写入的数据时,应当把剩余的部分写在 1 面的同一磁道上。如果还写不下,那就继续把剩余的部分写在 2 面的同一磁道上。换句话说,在硬盘上,数据的访问是以柱面来组织的。

  实际上,磁道还不是硬盘数据读写的最小单位,磁道还要进一步划分为扇区(Sector)。磁道很窄,也看不见,但在想象中,它仍呈带状,占有一定的宽度。将它划分许多分段之后,每一部分都呈扇形,这就是扇区的由来。

  每条磁道能够划分为几个扇区,取决于磁盘的制造者,但通常为 63 个。而且,每个扇区都有一个编号,与磁头和磁道不同,扇区的编号是从 1 开始的。

  扇区与扇区之间以间隙(空白)间隔开来,每个扇区以扇区头开始,然后是 512 个字节的数据区。扇区头包含了每个扇区自己的信息,主要有本扇区的磁道号磁头号扇区号,用来供硬盘定位机构使用。现代的硬盘还会在扇区头部包括一个指示扇区是否健康的标志,以及用来替换该扇区的扇区地址。用于替换扇区的,是一些保留和隐藏的磁道

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!