硬盘驱动器的主控制芯片
也谈硬盘驱动器的主控制芯片
读了HARDMAN的关于DSP的文章,受益菲浅,鉴于很多同志对这方面的知识还不是很了解, 那么我就画蛇添足的讲一讲,以有助于对硬盘的了解。
那么硬盘驱动器的主控制芯片其实就是一片单片机。单片机的定义就是一种集成在一个 芯片上的最小型的计算机系统,有中央处理单元,有存储器,有标准接口;中央处理单 元就是完成加减乘除等逻辑运算的电路;存储器有内部存储器和外部存储器,用于存储 程序和数据;标准接口就是I/O输入输出接口,可以外接存储器、显示屏、其他可控制 芯片等等。
单片机的种类是很多的,最著名的就是51系列了。51系列是应用最广泛的8位单片机, 由于存储器容量、I/O口的数量等的不同,派生出了很多的型号,有的还集成了IIC,USB ,DMA等接口和功能。其他的单片机还有16位的PIC,可以根据客户要求自己设计的ARM等。
这些单片机各有自己的指令体系,计算机的指令体系有两种,一种是RISC(精简指令集), 一种是CISC(复杂指令集),它们的区别从名字就可以看出来了。PC的CPU使用的是CISC 指令集,但是从报纸杂志中可以看到,从586开始,INTEL和AMD就不断的扩充自己的CPU的 指令集,先是MMX,然后是SSE,3Dnow等等。单片机的指令也是这样,不同的型号有不同的指令 集。即使是同一系列的单片机,也会由于配置不同而造成指令不同。如有的51单片机支持 访问外部存储器的指令,有的就不支持了。这样不同的单片机也有不同的编译器和反 编译器。
那么什么是DSP呢?从本质上说,DSP也是一种单片机,因为它也是集成在一个芯片上的 最小计算机系统。不过它使用的是精简指令集,而且数据总线和指令总线是分开的,可以 并行执行多条命令;DSP和一般的单片机最大的不同是它增加了一个“乘加”逻辑单元; 普通单片机要完成一次乘运算需要两个指令周期,再完成一次加运算需要一个周期,总 共至少需要3个指令周期;而DSP的“乘加”运算只需要一个指令周期就可以完成。
为什么DSP要增加一个“乘加”逻辑运算功能呢?因为DSP主要用于数字信号处理,像声音 的数字信号处理,图片的数字信号处理等;而数字信号处理要进行大量的FFT即离散傅立叶 变换,离散傅立叶变换有大量的乘加运算;使用专门的DSP就可以大大加快运算速度。
那么硬盘的主处理芯片和普通的单片机有什么不同呢?硬盘的主处理芯片使用的是RISC 指令集,它要完成的功能更多更复杂;尤其是现在硬盘的主处理器集成化越来越高,已经 出现了将马达控制器、读写信道、接口、存储器等集成在一起的真正的“片上系统”;而 且硬盘一共使用了五中纠错方式,运算量更大,所有它的指令就更复杂了。
其实关于存储器Hardman已经说的很明白了,大家只要记住,不管什么单片机,存储器都 分为两个部分:从空间上来说分为内部存储器和外部存储器;从功能上来说分为数据存储器 和程序存储器。那么什么是“overlay”呢?“overlay”是一种编程的方式;普通的单片机 程序在单片机运行时将程序代码都要载入到存储器中去;而overlay可以只将需要的程序载入 存储器,在适当的时候将另外的程序再载入到存储器,而先前的程序就被“overlay(覆盖) ”了,它们在地址上是重叠的,这样可以节省空间。怎样将程序代码划分为overlay是编程时 由编译器决定的;编译器检查哪些程序是可以地址重叠的。
那么RAM、ROM、LDR、固件又各是什么含义呢?
RAM是随机存储寄存器,存取速度比较块,用于程序运行时保存数据; ROM是只读存储器,用于固化程序;现在的flash ROM可以方便的擦写;一般ROM在运行时是 不可以改变的,不过现在有了在线编程的芯片了,可以在运行时刷新程序。 LDR就是loader程序了,用于将外部存储器中的程序载入;对于硬盘主处理器来说,硬盘 的固件区也可以看作是外部存储器了。 固件就是固化在硬盘上的程序和数据了。
总之硬盘运转所需的全部软件就是程序和数据。只不过它们分布的地方不一样罢了。比如有 的硬盘的磁头数据在ROM中,有的在硬盘固件区,有的两个地方都有。等等。
关于硬盘的主处理器就介绍到这里了。由于本人只对51了解一点,对DSP了解一点点。所以 错讹之处,敬请指正。
下次为大家介绍硬盘的五种纠错编码方式。谢谢。
|