硬件体系
计算机硬件系统的典型结构是冯·诺伊曼结构,它由运算器控制器、存储器和输入、输出设备组成,采用“指令驱动”方式。一开始是为解非线性、微分方程而设计的,没有预见高级语言、操作系统等的出现,以及适应其他应用环境的特殊要求。在很长一段时间内,软件子系统就是这样的·诺伊曼结构为基础而发展的。然而,不适应的情况逐渐暴露,从而促进了计算机系统结构的变化。
计算机系统中使用的电子线路和物理设备是可见和可触摸的实体,如中央处理器(CPU)、存储器、外部设备(输入输出设备)I/O设备)和总线等。个人电脑(PC:personalcomputer)主板:主板,CPU(中央处理器)、主存储器(内存)、扩展卡(显示卡、声卡、网卡等。)、电源供应器、光驱、次要存储器(硬盘)外设:显示器、键盘、鼠标(扬声器、摄像头等。MODEM等)。
主板和总线
主板,又称主板(mainboard)、系统板(systemboard)或母板(motherboard);它安装在机箱中,是微机最基本、最重要的部件之一。 主板一般为矩形电路板,主电路系统安装在计算机上,一般有BIOS芯片、I/O控制芯片、键盘和面板控制开关接口、指示灯插件、扩展插槽、主板和插卡的直流电源电源插件。
主板采用开放式结构。主板上大多有6-15个扩展插槽供应PC插入机器外围设备的控制卡(适配器)。通过更换这些插卡,可以局部升级微机的相应子系统,使制造商和用户在配置模型时更加灵活。总之,主板在整个微机系统中起着重要的作用。可以说,主板的类型和档次决定着整个微机系统的类型和档次。主板的性能影响整个微机系统的性能。
芯片组(Chipset)它是主板的核心组成部分,几乎决定了主板的功能,进而影响了整个计算机系统的性能。北桥芯片和南桥芯片通常分为北桥芯片和南桥芯片。北桥芯片提供对CPU主频、内存和最大容量的类型ISA/PCI/AGP插槽、ECC纠错等支持。南桥芯片是对的KBC(键盘控制器),RTC(实时时钟控制器),USB(通用串行总线),Ultra DMA/33(66)EIDE数据传输和ACPI支持(高级能源管理)等。北桥芯片也被称为主桥(Host Bridge)。
主板的平面是一块PCB(印刷电路板),一般采用四层板或六层板。相对而言,为节省成本,低档主板多为四层板:主信号层、接地层、电源层、次信号层,而六层板则增加了辅助电源层和中信号层,因此,六层PCB主板抗电磁干扰能力更强,主板更稳定。
在电路板下,有四层电路布线;在上面,分工明确 部件:插槽、芯片、电阻、电容等。当主机加电时,电流会瞬间通过CPU、南北桥芯片,内存插槽,AGP插槽、PCI插槽、IDE串口、并口、接口、主板边缘PS/2接口等。然后,主板将是基础BIOS(基本输入输出系统)识别硬件,进入操作系统,发挥支持系统平台工作的作用。
任何微处理器都应与一定数量的零件和外围设备连接,但如果每个零件和每个外围设备分别使用一组线路CPU直接连接,那么连接就会复杂,甚至难以实现。为了简化硬件电路的设计和系统结构,通常使用一组配备适当接口电路并与各部件和外围设备连接的线路。这组共用的连接线称为总线。采用总线结构,方便零部件和设备的扩展,特别是制定统一的总线标准,使不同设备之间的互更容易。
微机总线一般包括内部总线、系统总线和外部总线。内部总线是微机内外芯片与处理器之间的总线,用于芯片一级的连接;系统总线是微机插件板与系统板之间的总线,用于插件板一级的连接;外部总线是微机与外部设备之间的总线。微机作为一种设备,通过总线与其他设备进行信息和数据交换,用于设备一级的连接。
此外,从广义上讲,计算机通信可分为并行通信和串行通信,相应的通信总线称为并行总线和串行总线。并行通信速度快,实时性好,但由于占用的口线多,不适合小产品;虽然串行通信速率低,但在数据通信吞吐量小的微处理电路中更简单、方便、灵活。串行通信一般可分为异步模式和同步模式。---随着微电子技术和计算机技术的发展,总线技术也在不断发展和完善,使得计算机总线技术种类繁多,各具特色。
采用总线结构的主要优点
1.面向存储器的双总线结构信息传输效率高,是其主要优势。CPU与I/O当接口必须访问存储器时,仍然会发生冲突。
2、CPU局部存储器和局部存储器与高速相匹配I/O接口通过高传输速率的局部总线连接,速度慢的全局存储器和全局I/O接口连接到较慢的全局总线,从而兼顾高速设备和慢速设备,使其不相互牵扯。
3.简化了硬件设计。只要按照这些规定制作面向总线的微型计算机设计,便于采用模块化结构设计方法cpu插件、存储器插件、I/O在不考虑总线的详细操作的情况下,插件等。
4.简化了系统结构。整个系统结构清晰。连接少,底板连接可打印。
5.良好的系统扩展扩展性。一是规模扩展,规模扩展只需要插入更多相同类型的插件。二是功能扩展,功能扩展只需要根据总线标准设计新插件,插件插入机器的位置往往没有严格的限制。
6.系统更新性能好。cpu、存储器、I/O接口按总线规定挂在总线上。因此,只要总线设计得当,新插件可以随着处理器芯片和其他相关芯片的进展而设计。新插件插入底板更新系统,其他插件和底板连接一般不需要更改。
7.便于故障诊断和维护。使用主板测试卡很容易找到故障部位和总线类型。
总线结构的缺点
由于在CPU主存储器之间,CPU与I/O总线设置在设备之间,提高了微机系统信息传输的速率和效率。但由于外部设备与主存储器之间没有直接通道,因此必须通过信息交换CPU中转可以减少,从而减少CPU工作效率(或增加CPU的占用率。一般来说,外设工作要求CPU干预越少越好。CPU干预越少,这个设备的干预就越少。CPU占用率越低,设备的智能化程度越高。CPU双总线结构的主要缺点。还包括:
1.使用总线传输是分时的。当多个主要设备同时申请使用总线时,必须仲裁总线。
2.总线的带宽有限。如果连接到总线的硬件设备没有资源控制机制,很容易导致信息延迟(这在一些即时的地方是致命的)。
连接到总线的设备必须有信息筛选机制,以确定信息是否传递给自己。
如果说主板(Mother Board)如果是城市,总线就像城市里的公共汽车(bus),比特可以按照固定的行驶路线来回传输比特(bit)。这些线路只能同时传输一个比特。因此,必须同时使用多条线来传输更多的数据,而总线可以同时传输的数据称为宽度(width),总线宽度越大,传输性能越好。总线带宽(即单位时间内可传输的总数据)为:总线带宽 = 频率 x 宽度(Bytes/sec)。当总线是空的(其他设备以高阻力的形式连接到总线),并且设备必须与目的设备通信时,启动通信的设备驱动总线,并发送地址和数据。其他以高阻态形式连接到总线的设备,如果收到与自己一致的地址信息(或可以收到),将收到总线上的数据。发送器件完成通信,将总线放出(输出变为高阻态)。
根据功能和规范,总线可分为五类:
数据总线(Data Bus):在CPU与RAM来回传输需要处理或存储的数据。
地址总线(Address Bus):用来指定在RAM(Random Access Memory)存储数据的地址。
控制总线(Control Bus):控制单元的微处理器(Control Unit)传输到周围设备的信号通常是常见的 USB Bus和1394 Bus。
扩展总线(Expansion Bus):可连接扩展槽和计算机。
局部总线(Local Bus):取代高速数据传输的扩展总线。
微机系统在微机系统中的地位和关系
微机系统在微机系统中的地位和关系
数据总线DB(Data Bus)、地址总线AB(Address Bus)和控制总线CB(Control Bus),它也被称为系统总线,通常被称为总线。
在一些系统中,数据总线和地址总线被重复使用,即总线在某些时刻的信号表示数据,而另一些时刻表示地址;有些系统是分开的。51系列单片机的地址总线和数据总线被重复使用,一般PC中间的总线是分开的。
“数据总线DB”用于传送数据信息。数据总线是一条双向三态总线,即他可以把它放在一边CPU数据传输到存储器或I/O接口等其他部件也可以将其他部件的数据传输到CPU。数据总线的位数是微型计算机的重要指标,通常与微处理的单词相一致。例如Intel 8086微处理器字长16位,数据总线宽度16位。需要指出的是,数据的含义是广义的。它可以是真实数据、指令代码或状态信息,有时甚至是控制信息。因此,在实际工作中,数据总线传输不一定只是真实意义上的数据。
常见的数据总线是ISA、EISA、VESA、PCI等。
“地址总线AB地址是专门用来传输的,因为地址只能从CPU传输到外部存储器或I/O端口,所以地址总线总是单向,这与数据总线不同。地址总线的位数决定了CPU内存空间的大小可以直接找到。例如,如果8位微机的地址总线为16位,则其最大可找到空间为2位^16=64KB,16位微型机(x位置处理器是指微处理器在一个时钟周期内处理的位数(1 、0)多少,即字长大小)地址总线为20位,可找址空间为2位^20=1MB。一般来说,如果地址总线为n,则可以找到2个地址空间^n字节。
“控制总线CB用于传输控制信号和时序信号。在控制信号中,一些微处理器被送到存储器和I/O接口电路,如读写信号、片选信号、中间信号等响应信号等;也有是其它部件反馈给CPU的,比如:中断申请信号、复位信号、总线请求信号、设备就绪信号等。因此,控制总线的传送方向由具体控制信号而定,(信息)一般是双向的,控制总线的位数要根据系统的实际控制需要而定。实际上控制总线的具体情况主要取决于CPU。
按照传输数据的方式划分,可以分为串行总线和并行总线。串行总线中,二进制数据逐位通过一根数据线发送到目的器件;并行总线的数据线通常超过2根。常见的串行总线有SPI、I2C、USB及RS232等。
按照时钟信号是否独立,可以分为同步总线和异步总线。同步总线的时钟信号独立于数据,而异步总线的时钟信号是从数据中提取出来的。SPI、I2C是同步串行总线,RS232采用异步串行总线。
主板北桥芯片负责联系内存、显卡等数据吞吐量最大的部件,并和南桥芯片连接。CPU就是通过前端总总线(FSB)连接到北桥芯片,进而通过北桥芯片和内存、显卡交换数据。前端总线是CPU和外界交换数据的最主要通道,因此前端总线的数据传输能力对计算机整体性能作用很大,如果没足够快的前端总线,再强的CPU也不能明显提高计算机整体速度。数据传输最大带宽取决于所有同时传输的数据的宽度和传输频率,即数据带宽=(总线频率×数据位宽)÷8。目前PC机上所能达到的前端总线频率有266MHz、333MHz、400MHz、533MHz、800MHz几种,前端总线频率越大,代表着CPU与北桥芯片之间的数据传输能力越大,更能充分发挥出CPU的功能。现在的CPU技术发展很快,运算速度提高很快,而足够大的前端总线可以保障有足够的数据供给给CPU,较低的前端总线将无法供给足够的数据给CPU,这样就限制了CPU性能得发挥,成为系统瓶颈。
为什么要制定总线标准?
便于机器的扩充和新设备的添加,有了总线标准,不同厂商可以按照同样的标准和规范生产各种不同功能的芯片、模块和整机,用户可以根据功能需求去选择不同厂家生产的、基于同种总线标准的模块和设备,甚至可以按照标准,自行设计功能特殊的专用模块和设备,以组成自己所需的应用系统。这样可使芯片级、模块级、设备级等各级别的产品都具有兼容性和互换性,以使整个计算机系统的可维护性和可扩充性得到充分保证。
总线标准的技术规范?
机械结构规范:模块尺寸、总线插头、总线接插件以及安装尺寸均有统一规定。
功能规范:总线每条信号线(引脚的名称)、功能以及工作过程要有统一规定。
电气规范:总线每条信号线的有效电平、动态转换时间、负载能力等。
哪种总线是标准的?
主板上的处理器-主存总线经常是特定的专用总线,而用于连接各种I/O模块的I/O总线和底板式总线则通常可在不同计算机中互用。实际上,底板式总线和I/O总线通常是标准总线,可被许多由不同公司制造的不同计算机使用。
总线标准-ISA
ISA(IndustrialStandardArchitecture)总线是IBM公司1984年为推出PC/AT机而建立的系统总线标准。所以也叫AT总线。
主要特点:
(1)支持64KI/O地址空间、16M主存地址空间的寻址,支持15级硬中断、7级DMA通道。
(2)是一种简单的多主控总线。除了CPU外,DMA控制器、DRAM刷新控制器和带处理器的智能接口控制卡都可成为总线主控设备。
(3)支持8种总线事务类型:存储器读、存储器写、I/O读、I/O写、中断响应、DMA响应、存储器刷新、总线仲裁。
它的时钟频率为8MHz,共有98根信号线。数据线和地址线分离,数据线宽度为16位,可以进行8位或16位数据的传送,所以最大数据传输率为16MB/s。
总线标准-EISA
EISA(ExtendedIndustrialStanderdArchitecture)总线 是一种在ISA总线基础上扩充的开放总线标准。 支持多总线主控和突发传输方式。
时钟频率为8.33MHz。共有198根信号线,在原ISA总线的98根线的基础上扩充了100根线,与原ISA总线完全兼容。具有分立的数据线和地址线。数据线宽度为32位,具有8位、16位、32位数据传输能力,所以最大数据传输率为33MB/s。地址线的宽度为32位,所以寻址能力达232。即:CPU或DMA控制器等这些主控设备能够对4G范围的主存地址空间进行访问。
总线标准-PCI
PCI(PeripheralComponentInterconnect)总线
是一种高性能的32位局部总线。它由Intel公司于1991年底提出,后来又联合IBM、DEC等100多家PC业界主要厂家,于1992年成立PCI集团,称为PCISIG,进行统筹和推广PCI标准的工作。
用于高速外设的I/O接口和主机相连。采用自身33MHz的总线频率,数据线宽度为32位,可扩充到64位,所以数据传输率可达132MB/s~264MB/s。
速度快、支持无限突发传输方式 、支持并发工作(PCI桥提供数据缓冲,并使总线独立于CPU) ,可在主板上和其他系统总线(如:ISA、EISA或MCA)相连接,系统中的高速设备挂接在PCI总线上,而低速设备仍然通过ISA、EISA等这些低速I/O总线支持。支持基于微处理器的配置,可用在单处理器系统中,也可用于多处理器系统。
AGP 总线
(Accelerated Graphics Port)
PCI 总线是独立于CPU 的系统总线,可将显示卡、声卡、网卡、硬盘控制器等高速的外围设备直接挂在CPU 总线上,打破了瓶颈,使得CPU 的性能得到充分的发挥。可惜的是,由于PCI 总线只有133MB/s 的带宽,对付声卡、网卡、视频卡等绝大多数输入/输出设备也许显得绰绰有余,但对于胃口越来越大的3D 显卡却力不从心,并成为了制约显示子系统和整机性能的瓶颈。因此,PCI 总线的补充——AGP 总线就应运而生了。
PCI-Express
在经历了长达10年的修修补补,PCI 总线已经无法满足电脑性能提升的要求,必须由带宽更大、适应性更广、发展潜力更深的新一代总线取而代之,这就是PCI-Express 总线。
相对于PCI总线来讲,PCI-Express总线能够提供极高的带宽,来满足系统的需求。PCI Express总线2.0标准的带宽如下表所示:
经历着这么三代半(AGP总线只是一种增强型的PCI总线)的发展,PC的外部总线终于发展到我们现在看到的PCI-E 2.0,提供了比以往总线大得多的带宽。至于今后总线发展的方向,相信会随着人们对带宽需要的不断增加,而很快来出现。
BIOS
BIOS是英文"Basic Input Output System"的缩略语,直译过来后中文名称就是"基本输入输出系统"。其实,它是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。
当今,此系统为一些病毒木马的目标,一旦此系统被木马破坏,其后果,不堪设想。
BIOS设置程序是储存在BIOS芯片中的,BIOS芯片是主板上一块长方形或正方形芯片,只有在开机时才可以进行设置。(一般在计算机启动时按F2或者Delete进入BIOS设置。一些特殊机型按F1、Esc、F12等)CMOS主要用于存储BIOS设置程序所设置的参数与数据,而BIOS设置程序主要对计算机的基本输入输出系统进行管理和设置,使系统运行在最好状态下,使用BIOS设置程序还可以排除系统故障或者诊断系统问题。有人认为既然BIOS是"程序",那它就应该是属于软件,感觉就像自己常用的Word或Excel。但也有很多人不这么认为,因为它与一般的软件还是有一些区别,而且它与硬件的联系也是相当地紧密。形象地说,BIOS应该是连接软件程序与硬件设备的一座"桥梁",负责解决硬件的即时要求。主板上的BIOS芯片或许是主板上唯一贴有标签的芯片,一般它是一块32针的双列直插式的集成电路,上面印有"BIOS"字样。从奔腾时代开始,现代的电脑主板都使用NORFlash来作为BIOS的存储芯片。除了容量比EEPROM更大外,主要是NORFlash具有写入功能,运行电脑通过软件的方式进行BIOS的更新,而无需额外的硬件支持(通常EEPROM的擦写需要不同的电压和条件),且写入速度快。
BIOS是一组设置硬件的电脑程序,保存在主板上的一块EPROM或EEPROM芯片中,里面装有系统的重要信息和设置系统参数的设置程序——BIOS Setup程序。而CMOS即:Complementary Metal Oxide Semiconductor——互补金属氧化物半导体,是主板上的一块可读写的RAM芯片,用来保存当前系统的硬件配置和用户对参数的设定,其内容可通过设置程序进行读写。CMOS芯片由主板上的钮扣电池供电,即使系统断电,参数也不会丢失。CMOS芯片只有保存数据的功能,而对CMOS中各项参数的修改要通过BIOS的设定程序来实现。BIOS与CMOS既相关又不同:BIOS中的系统设置程序是完成CMOS参数设置的手段;CMOS RAM既是BIOS设定系统参数的存放场所,又是 BIOS设定系统参数的结果。因此,完整的说法应该是“通过BIOS设置程序对CMOS参数进行设置”。由于 BIOS和CMOS都跟系统设置密初相关,所以在实际使用过程中造成了BIOS设置和CMOS设置的说法,其实指的都是同一回事,但BIOS与CMOS却是两个完全不同的概念,切勿混淆。
从功能上看,BIOS分为三个部分:
自检及初始化
这部分负责启动电脑,具体有三个部分:
第一个部分是用于电脑刚接通电源时对硬件部分的检测,也叫做加电自检(Power On Self Test,简称POST),功能是检查电脑是否良好,通常完整的POST自检将包括对CPU,640K基本内存,1M以上的扩展内存,ROM,主板,CMOS存储器,串并口,显示卡,软硬盘子系统及键盘进行测试,一旦在自检中发现问题,系统将给出提示信息或鸣笛警告。自检中如发现有错误,将按两种情况处理:对于严重故障(致命性故障)则停机,此时由于各种初始化操作还没完成,不能给出任何提示或信号;对于非严重故障则给出提示或声音报警信号,等待用户处理。
第二个部分是初始化,包括创建中断向量、设置寄存器、对一些外部设备进行初始化和检测等,其中很重要的一部分是BIOS设置,主要是对硬件设置的一些参数,当电脑启动时会读取这些参数,并和实际硬件设置进行比较,如果不符合,会影响系统的启动。
第三个部分是引导程序,功能是引导DOS或其他操作系统。BIOS先从软盘或硬盘的开始扇区读取引导记录,如果没有找到,则会在显示器上显示没有引导设备,如果找到引导记录会把电脑的控制权转给引导记录,由引导记录把操作系统装入电脑,在电脑启动成功后,BIOS的这部分任务就完成了。
程序服务处理
程序服务处理程序主要是为应用程序和操作系统服务,这些服务主要与输入输出设备有关,例如读磁盘、文件输出到打印机等。为了完成这些操作,BIOS必须直接与计算机的I/O设备打交道,它通过端口发出命令,向各种外部设备传送数据以及从它们那儿接收数据,使程序能够脱离具体的硬件操作。
硬件中断处理
硬件中断处理则分别处理PC机硬件的需求,BIOS的服务功能是通过调用中断服务程序来实现的,这些服务分为很多组,每组有一个专门的中断。例如视频服务,中断号为10H;屏幕打印,中断号为05H;磁盘及串行口服务,中断14H等。每一组又根据具体功能细分为不同的服务号。应用程序需要使用哪些外设、进行什么操作只需要在程序中用相应的指令说明即可,无需直接控制。
(二)(三)两部分功能虽然是两个独立的内容,但在使用上密切相关。这两部分分别为软件和硬件服务,组合到一起,使计算机系统正常运行。
另外需注意:BIOS设置不当会直接损坏计算机的硬件,甚至烧毁主板,建议不熟悉者慎重修改设置。用户可以通过设置BIOS来改变各种不同的设置,比如onboard显卡的内存大小。用户手上所有的操作系统都是由BIOS转交给引导扇区,再由引导扇区转到各分区激活相应的操作系统。
硬盘
硬盘(港台称之为硬碟,英文名:Hard Disk Drive 简称HDD 全名 温彻斯特式硬盘)是电脑主要的存储媒介之一,由一个或者多个铝制或者玻璃制的碟片组成。碟片外覆盖有铁磁性材料。硬盘有固态硬盘(SSD 盘,新式硬盘)、机械硬盘(HDD 传统硬盘)、混合硬盘(HHD 一块基于传统机械硬盘诞生出来的新硬盘)。SSD采用闪存颗粒来存储,HDD采用磁性碟片来存储,混合硬盘(HHD: Hybrid Hard Disk)是把磁性硬盘和闪存集成到一起的一种硬盘。绝大多数硬盘都是固定硬盘,被永久性地密封固定在硬盘驱动器中。
基本参数
容量
作为计算机系统的数据存储器,容量是硬盘最主要的参数。
硬盘的容量以兆字节(MB/MiB)、千兆字节(GB/GiB)或百万兆字节(TB/TiB)为单位,而常见的换算式为:1TB=1024GB,1GB=1024MB而1MB=1024KB。但硬盘厂商通常使用的是GB,也就是1G=1000MB,而Windows系统,就依旧以“GB”字样来表示“GiB”单位(1024换算的),因此我们在BIOS中或在格式化硬盘时看到的容量会比厂家的标称值要小。
硬盘的容量指标还包括硬盘的单碟容量。所谓单碟容量是指硬盘单片盘片的容量,单碟容量越大,单位成本越低,平均访问时间也越短。
一般情况下硬盘容量越大,单位字节的价格就越便宜,但是超出主流容量的硬盘略微例外。
在我们买硬盘的时候说是500G的,但实际容量都比500G小的。因为厂家是按1MB=1000KB来换算的,所以我们买新硬盘,比买时候实际用量要小点的。
转速
转速(Rotational Speed 或Spindle speed),是硬盘内电机主轴的旋转速度,也就是硬盘盘片在一分钟内所能完成的最大转数。转速的快慢是标示硬盘档次的重要参数之一,它是决定硬盘内部传输率的关键因素之一,在很大程度上直接影响到硬盘的速度。硬盘的转速越快,硬盘寻找文件的速度也就越快,相对的硬盘的传输速度也就得到了提高。硬盘转速以每分钟多少转来表示,单位表示为RPM,RPM是Revolutions Per minute的缩写,是转/每分钟。RPM值越大,内部传输率就越快,访问时间就越短,硬盘的整体性能也就越好。
硬盘的主轴马达带动盘片高速旋转,产生浮力使磁头飘浮在盘片上方。要将所要存取资料的扇区带到磁头下方,转速越快,则等待时间也就越短。因此转速在很大程度上决定了硬盘的速度。
家用的普通硬盘的转速一般有5400rpm、7200rpm几种高转速硬盘也是台式机用户的首选;而对于笔记本用户则是4200rpm、5400rpm为主,虽然已经有公司发布了10000rpm的笔记本硬盘,但在市场中还较为少见;服务器用户对硬盘性能要求最高,服务器中使用的SCSI硬盘转速基本都采用10000rpm,甚至还有15000rpm的,性能要超出家用产品很多。较高的转速可缩短硬盘的平均寻道时间和实际读写时间,但随着硬盘转速的不断提高也带来了温度升高、电机主轴磨损加大、工作噪音增大等负面影响。
平均访问时间
平均访问时间(Average Access Time)是指磁头从起始位置到到达目标磁道位置,并且从目标磁道上找到要读写的数据扇区所需的时间。
平均访问时间体现了硬盘的读写速度,它包括了硬盘的寻道时间和等待时间,即:平均访问时间=平均寻道时间+平均等待时间。
硬盘的平均寻道时间(Average Seek Time)是指硬盘的磁头移动到盘面指定磁道所需的时间。这个时间当然越小越好,硬盘的平均寻道时间通常在8ms到12ms之间,而SCSI硬盘则应小于或等于8ms。
硬盘的等待时间,又叫潜伏期(Latency),是指磁头已处于要访问的磁道,等待所要访问的扇区旋转至磁头下方的时间。平均等待时间为盘片旋转一周所需的时间的一半,一般应在4ms以下。
传输速率
传输速率(Data Transfer Rate)硬盘的数据传输率是指硬盘读写数据的速度,单位为兆字节每秒(MB/s)。硬盘数据传输率又包括了内部数据传输率和外部数据传输率。
内部传输率(Internal Transfer Rate) 也称为持续传输率(Sustained Transfer Rate),它反映了硬盘缓冲区未用时的性能。内部传输率主要依赖于硬盘的旋转速度。
外部传输率(External Transfer Rate)也称为突发数据传输率(Burst Data Transfer Rate)或接口传输率,它标称的是系统总线与硬盘缓冲区之间的数据传输率,外部数据传输率与硬盘接口类型和硬盘缓存的大小有关。
Fast ATA接口硬盘的最大外部传输率为16.6MB/s,而Ultra ATA接口的硬盘则达到33.3MB/s。2012年12月,两80后研制出传输速度每秒1.5GB的固态硬盘。
缓存
缓存(Cache memory)是硬盘控制器上的一块内存芯片,具有极快的存取速度,它是硬盘内部存储和外界接口之间的缓冲器。由于硬盘的内部数据传输速度和外界介面传输速度不同,缓存在其中起到一个缓冲的作用。缓存的大小与速度是直接关系到硬盘的传输速度的重要因素,能够大幅度地提高硬盘整体性能。当硬盘存取零碎数据时需要不断地在硬盘与内存之间交换数据,有大缓存,则可以将那些零碎数据暂存在缓存中,减小外系统的负荷,也提高了数据的传输速度
接口
ATA
ATA 全称 Advanced Technology Attachment,是用传统的40-pin 并口数据线连接主板与硬盘的,外部接口速度最大为133MB/s,因为并口线的抗干扰性太差,且排线占空间,不利计算机散热,将逐渐被SATA 所取代。
IDE
全称 Integrated Drive Electronics,即“电子集成驱动器”,俗称PATA并口。
2001年,由Intel、APT、Dell、IBM、希捷、迈拓这几大厂商组成的Serial ATA委员会正式确立了Serial ATA 1.0规范,2002年,虽然串行ATA的相关设备还未正式上市,但Serial ATA委员会已抢先确立了Serial ATA 2.0规范。Serial ATA采用串行连接方式,串行ATA总线使用嵌入式时钟信号,具备了更强的纠错能力,与以往相比其最大的区别在于能对传输指令(不仅仅是数据)进行检查如果发现错误会自动矫正。
SATA Ⅱ
SATA Ⅱ是芯片巨头Intel英特尔与硬盘巨头Seagate希捷在SATA的基础上发展起来的,其主要特征是外部传输率从SATA的150MB/s进一步提高到了300MB/s,此外还包括NCQ(Native Command Queuing,原生命令队列)、端口多路器(Port Multiplier)、交错启动(Staggered Spin-up)等一系列的技术特征。但是并非所有的SATA硬盘都可以使用NCQ技术,除了硬盘本身要支持NCQ之外,也要求主板芯片组的SATA控制器支持NCQ。
SATA Ⅲ
正式名称为“SATARevision3.0”,是串行ATA国际组织(SATA-IO)在2009年5月份发布的新版规范,主要是传输速度翻番达到6Gbps,同时向下兼容旧版规范“SATARevision2.6”(也就是现在俗称的SATA3Gbps),接口、数据线都没有变动。SATA3.0接口技术标准是2007上半年英特尔公司提出的,由英特尔公司的存储产品架构设计部技术总监Knut Grimsrud负责。Knut Grimsrud表示,SATA3.0的传输速率将达到6Gbps,将在SATA2.0的基础上增加1倍。
SCSI
SCSI的英文全称为“Small Computer System Interface”(小型计算机系统接口),是同IDE(ATA)完全不同的接口,IDE接口是普通PC的标准接口,而SCSI并不是专门为硬盘设计的接口,是一种广泛应用于小型机上的高速数据传输技术。SCSI接口具有应用范围广、多任务、带宽大、CPU占用率低,以及热插拔等优点,但较高的价格使得它很难如IDE硬盘般普及,因此SCSI硬盘主要应用于中、高端服务器和高档工作站中。
光纤通道
光纤通道的英文拼写是Fibre Channel,和SCSI接口一样光纤通道最初也不是为硬盘设计开发的接口技术,是专门为网络系统设计的,但随着存储系统对速度的需求,才逐渐应用到硬盘系统中。光纤通道硬盘是为提高多硬盘存储系统的速度和灵活性才开发的,它的出现大大提高了多硬盘系统的通信速度。光纤通道的主要特性有:热插拔性、高速带宽、远程连接、连接设备数量大等。
光纤通道是为在像服务器这样的多硬盘系统环境而设计的,能满足高端工作站、服务器、海量存储子网络、外设间通过集线器、交换机和点对点连接进行双向、串行数据通讯等系统对高数据传输率的要求。
物理结构
磁头
磁头是硬盘中最昂贵的部件,也是硬盘技术中最重要和最关键的一环。传统的磁头是读写合一的电磁感应式磁头,但是,硬盘的读、写却是两种截然不同的操作,为此,这种二合一磁头在设计时必须要同时兼顾到读/写两种特性,从而造成了硬盘设计上的局限。而MR磁头(Magnetoresistive heads),即磁阻磁头,采用的是分离式的磁头结构:写入磁头仍采用传统的磁感应磁头(MR磁头不能进行写操作),读取磁头则采用新型的MR磁头,即所谓的感应写、磁阻读。这样,在设计时就可以针对两者的不同特性分别进行优化,以得到最好的读/写性能。另外,MR磁头是通过阻值变化而不是电流变化去感应信号幅度,因而对信号变化相当敏感,读取数据的准确性也相应提高。而且由于读取的信号幅度与磁道宽度无关,故磁道可以做得很窄,从而提高了盘片密度,达到每平方英寸200MB,而使用传统的磁头只能达到每平方英寸20MB,这也是MR磁头被广泛应用的最主要原因。MR磁头已得到广泛应用,而采用多层结构和磁阻效应更好的材料制作的GMR磁头(Giant Magnetoresistive heads)也逐渐开始普及。
磁道
当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道。这些磁道用肉眼是根本看不到的,因为它们仅是盘面上以特殊方式磁化了的一些磁化区,磁盘上的信息便是沿着这样的轨道存放的。相邻磁道之间并不是紧挨着的,这是因为磁化单元相隔太近时磁性会相互产生影响,同时也为磁头的读写带来困难。一张1.44MB的3.5英寸软盘,一面有80个磁道,而硬盘上的磁道密度则远远大于此值,通常一面有成千上万个磁道。磁道的磁化方式一般由磁头迅速切换正负极改变磁道所代表的0和1。
扇区
磁盘上的每个磁道被等分为若干个弧段,这些弧段便是磁盘的扇区,每个扇区可以存放512个字节的信息,磁盘驱动器在向磁盘读取和写入数据时,要以扇区为单位。1.44MB3.5英寸的软盘,每个磁道分为18个扇区。
柱面
硬盘通常由重叠的一组盘片构成,每个盘面都被划分为数目相等的磁道,并从外缘的“0”开始编号,具有相同编号的磁道形成一个圆柱,称之为磁盘的柱面。磁盘的柱面数与一个盘单面上的磁道数是相等的。无论是双盘面还是单盘面,由于每个盘面都只有自己独一无二的磁头,因此,盘面数等于总的磁头数。所谓硬盘的CHS,即Cylinder(柱面)、Head(磁头)、Sector(扇区),只要知道了硬盘的CHS的数目,即可确定硬盘的容量,硬盘的容量=柱面数*磁头数*扇区数*512B。
扩展分区
由于主分区表中只能分四个分区,无法满足需求,因此设计了一种扩展分区格式。基本上说,扩展分区的信息是以链表形式存放的,但也有一些特别的地方。首先,主分区表中要有一个基本扩展分区项,所有扩展分区都隶属于它,也就是说其他所有扩展分区的空间都必须包括在这个基本扩展分区中。对于DOS / Windows 来说,扩展分区的类型为0x05。除基本扩展分区以外的其他所有扩展分区则以链表的形式级联存放, 后一个扩展分区的数据项记录在前一个扩展分区的分区表中,但两个扩展分区的空间并不重叠。
扩展分区类似于一个完整的硬盘,必须进一步分区才能使用。但每个扩展分区中只能存在一个其他分区。此分区在 DOS/Windows环境中即为逻辑盘。因此每一个扩展分区的分区表(同样存储在扩展分区的第一个扇区中)中最多只能有两个分区数据项(包括下一个扩展分区的数据项)。
固态硬盘
由于传统机械硬盘在工作原理上的限制,导致在性能方面的提升很容易就会遇到瓶颈。为了改变硬盘性能成为整机瓶颈的这个现状,固态硬盘(SSD)就应运而生了。1984年,日本东芝公司发明了闪存这种全新的存储介质,而Intel则在1988年将闪存这种新技术包装成商品推向市场,在1989年以固态硬盘的形式出现在我们面前。
那么,什么是固态硬盘呢?
固态硬盘(Solid State Disk或Solid State Drive),也称作电子硬盘或者固态电子盘,是由控制单元和固态存储单元(DRAM或FLASH芯片)组成的硬盘。目前主要有两类:
基于闪存的固态硬盘
1.基于闪存的固态硬盘:采用FLASH芯片作为存储介质,这也是我们通常所说的固态硬盘。它的外观可以被制作成多种模样,例如:笔记本硬盘、微硬盘、存储卡、优盘等样式。这种固态硬盘最大的优点就是可以移动,而且数据保护不受电源控制,能适应于各种环境,但是使用寿命不高,适合于个人用户使用。
基于DRAM的固态硬盘
2.基于DRAM的固态硬盘:采用DRAM作为存储介质,目前应用范围比较窄。它仿效传统硬盘的设计、可被绝大部分操作系统的文件系统工具进行卷设置和管理,并提供工业标准的PCI和FC接口用于连接主机或者服务器。它是一种高性能的存储器,而且使用寿命很长,美中不足的是需要独立电源来保护数据安全。由于目前市面上较少见到该类固态硬盘,所以接下来本文将着重介绍基于闪存的固态硬盘。
固态硬盘内部结构解析:
目前固态硬盘产品有3.5英寸,2.5英寸,1.8英寸等多种类型,市面上能见到的最大容量为512GB,接口规格与传统硬盘一致。固态硬盘的内部构造十分简单,通过工具可以很轻松的拆开外壳固定螺丝看到固态硬盘内主体其实就是一块PCB板,而这块PCB板上最基本的配件就是控制芯片、缓存芯片和用于存储数据的闪存芯片。
主控芯片与缓存芯片
目前市面上比较常见的固态硬盘有Indilinx、SandForce、JMicron、Marvell、Samsung以及Intel等多种主控芯片。主控芯片是固态硬盘的大脑,其作用一是合理调配数据在各个闪存芯片上的负荷,二则是承担了整个数据中转,连接闪存芯片和外部SATA接口。不同的主控之间能力相差非常大,在数据处理能力,算法,对闪存芯片的读取写入控制上会有非常大的不同,直接会导致固态硬盘产品在性能上差距高达数十倍。
主控芯片旁边是缓存芯片,固态硬盘和传统硬盘一样需要高速的缓存芯片辅助主控芯片进行数据处理。这里需要注意的是,目前有一些廉价固态硬盘方案为了节省成本,省去了这块缓存芯片,这样对于使用时的性能会有一定的影响。
闪存芯片
除了主控芯片和缓存芯片以外,PCB板上其余的大部分位置都是NAND Flash闪存芯片了。NAND Flash闪存芯片又分为SLC(单层单元)和MLC(多层单元)NAND闪存:
1.SLC全称是单层式储存 (Single Level Cell),因为结构简单,在写入数据时电压变化的区间小,所以寿命较长,传统的SLC NAND闪存可以经受10万次的读写。而且因为一组电压即可驱动,所以其速度表现更好,目前很多高端固态硬盘都是都采用该类型的Flash闪存芯片。
2.MLC全称是多层式储存(Multi Leveled Cell),它采用较高的电压驱动,通过不同级别的电压在一个块中记录两组位信息,这样就可以将原本SLC的记录密度理论提升一倍。作为目前在固态硬盘中应用最为广泛的MLC NAND闪存,其最大的特点就是以更高的存储密度换取更低的存储成本,从而可以获得进入更多终端领域的契机。不过,MLC的缺点也很明显,其写入寿命较短,读写方面的能力也比SLC低,官方给出的可擦写次数仅为1万次。
固态硬盘与传统硬盘优劣势对比
固态硬盘相比传统机械硬盘有以下优势:
1. 存取速度方面:SSD固态硬盘采用闪存作为存储介质,读取速度相对机械硬盘更快,而且寻道时间几乎为0,这样的特质在作为系统盘时候,可以明显加快操作系统启动速度和软件启动速度。
2. 抗震性能方面:SSD固态硬盘由于完全没有机械结构,所以不怎么怕震动和冲击,不用担心因为震动造成无可避免的数据损失。
3. 发热功耗方面:SSD固态硬盘不同于传统硬盘,不存在盘片的高速旋转,所以发热也明显低于机械硬盘,而且FLASH芯片的功耗极低,这对于笔记本用户来说,这意味着电池续航时间的增加。
4. 使用噪音方面:SSD固态硬盘没有盘体机构,不存在磁头臂寻道的声音和高速旋转时候的噪音,所以SSD工作时候完全不会产生噪音。
不过,虽然固态硬盘性能非常诱人、优点也极多,但价格、容量以及有限的数据读取擦写次数限制等缺点也同样不容小视:
1. 写入速度问题: 写入速度是目前大多数SSD固态硬盘产品的瓶颈,尤其是对于小文件的写入速度还远远不足,这和闪存芯片本身的特质有关。
2. 使用寿命问题:闪存芯片是有寿命的,其平均工作寿命要远远低于机械硬盘,这给固态硬盘作为存储介质带来了一定的风险。
3. 性价比问题:目前固态硬盘的价格还是较为昂贵,折合到每G单价要几十倍于传统硬盘,并不是普通消费者能够承受的。
随着成本的降低,相信固态硬盘未来会成为个人计算设备的存储主流。
Flash闪存
除了从固态硬盘到种类繁多的u盘/存储卡(sd卡/cf卡/tf卡),全部使用Flash闪存。
闪存(Flash Memory)是一种长寿命的非易失性(在断电情况下仍能保持所存储的数据信息)的存储器,数据删除不是以单个的字节为单位而是以固定的区块为单位(注意:NOR Flash 为字节存储。),区块大小一般为256KB到20MB。闪存是电子可擦除只读存储器(EEPROM)的变种,闪存与EEPROM不同的是,EEPROM能在字节水平上进行删除和重写而不是整个芯片擦写,而闪存的大部分芯片需要块擦除。由于其断电时仍能保存数据,闪存通常被用来保存设置信息,如在电脑的BIOS(基本程序)、PDA(个人数字助理)、数码相机中保存资料等。
NOR型与NAND型闪存的区别很大,打个比方说,NOR型闪存更像内存,有独立的地址线和数据线,但价格比较贵,容量比较小;而NAND型更像硬盘,地址线和数据线是共用的I/O线,类似硬盘的所有信息都通过一条硬盘线传送,而且NAND型与NOR型闪存相比,成本要低一些,而容量大得多。因此,NOR型闪存比较适合频繁随机读写的场合,通常用于存储程序代码并直接在闪存内运行,手机就是使用NOR型闪存的大户,所以手机的“内存”容量通常不大;NAND型闪存主要用来存储资料,我们常用的闪存产品,如闪存盘、数码存储卡都是用NAND型闪存。
闪存的基本单元电路,与EEPROM类似,也是由双层浮空栅MOS管组成。但是第一层栅介质很薄,作为隧道氧化层。写入方法与EEPROM相同,在第二级浮空栅加以正电压,使电子进入第一级浮空栅。读出方法与EPROM相同。擦除方法是在源极加正电压利用第一级浮空栅与源极之间的隧道效应,把注入至浮空栅的负电荷吸引到源极。由于利用源极加正电压擦除,因此各单元的源极联在一起,这样,快擦存储器不能按字节擦除,而是全片或分块擦除。 到后来,随着半导体技术的改进,闪存也实现了单晶体管(1T)的设计,主要就是在原有的晶体管上加入了浮动栅和选择栅,在源极和漏极之间电流单向传导的半导体上形成贮存电子的浮动棚。浮动栅包裹着一层硅氧化膜绝缘体。它的上面是在源极和漏极之间控制传导电流的选择/控制栅。数据是0或1取决于在硅底板上形成的浮动栅中是否有电子。有电子为0,无电子为1。
闪存就如同其名字一样,写入前删除数据进行初始化。具体说就是从所有浮动栅中导出电子。即将有所数据归“1”。写入时只有数据为0时才进行写入,数据为1时则什么也不做。写入0时,向栅电极和漏极施加高电压,增加在源极和漏极之间传导的电子能量。这样一来,电子就会突破氧化膜绝缘体,进入浮动栅。读取数据时,向栅电极施加一定的电压,电流大为1,电流小则定为0。浮动栅没有电子的状态(数据为1)下,在栅电极施加电压的状态时向漏极施加电压,源极和漏极之间由于大量电子的移动,就会产生电流。而在浮动栅有电子的状态(数据为0)下,沟道中传导的电子就会减少。因为施加在栅电极的电压被浮动栅电子吸收后,很难对沟道产生影响。
这里我们还需要端正一个概念,那就是闪存的速度其实很有限,它本身操作速度、频率就比内存低得多,而且NAND型闪存类似硬盘的操作方式效率也比内存的直接访问方式慢得多。因此,不要以为闪存盘的性能瓶颈是在接口,甚至想当然地认为闪存盘采用USB2.0接口之后会获得巨大的性能提升。
前面提到NAND型闪存的操作方式效率低,这和它的架构设计和接口设计有关,它操作起来确实挺像硬盘(其实NAND型闪存在设计之初确实考虑了与硬盘的兼容性),它的性能特点也很像硬盘:小数据块操作速度很慢,而大数据块速度就很快,这种差异远比其他存储介质大的多。这种性能特点非常值得我们留意。
影响闪存读写性能的决定因素:
页数量
前面已经提到,越大容量闪存的页越多、页越大,寻址时间越长。但这个时间的延长不是线性关系,而是一个一个的台阶变化的。譬如128、256Mb的芯片需要3个周期传送地址信号,512Mb、1Gb的需要4个周期,而2、4Gb的需要5个周期。
页容量
每一页的容量决定了一次可以传输的数据量,因此大容量的页有更好的性能。前面提到大容量闪存(4Gb)提高了页的容量,从512字节提高到2KB。页容量的提高不但易于提高容量,更可以提高传输性能。我们可以举例子说明。以三星K9K1G08U0M和K9K4G08U0M为例,前者为1Gb,512字节页容量,随机读(稳定)时间12μs,写时间为200μs;后者为4Gb,2KB页容量,随机读(稳定)时间25μs,写时间为300μs。假设它们工作在20MHz。
块容量
块是擦除操作的基本单位,由于每个块的擦除时间几乎相同(擦除操作一般需要2ms,而之前若干周期的命令和地址信息占用的时间可以忽略不计),块的容量将直接决定擦除性能。大容量NAND型闪存的页容量提高,而每个块的页数量也有所提高,一般4Gb芯片的块容量为2KB×64个页=128KB,1Gb芯片的为512字节×32个页=16KB。可以看出,在相同时间之内,前者的擦速度为后者8倍!
I/O位宽
以往NAND型闪存的数据线一般为8条,不过从256Mb产品开始,就有16条数据线的产品出现了。但由于控制器等方面的原因,x16芯片实际应用的相对比较少,但将来数量上还是会呈上升趋势的。虽然x16的芯片在传送数据和地址信息时仍采用8位一组,占用的周期也不变,但传送数据时就以16位为一组,带宽增加一倍。K9K4G16U0M就是典型的64M×16芯片,它每页仍为2KB,但结构为(1K+32)×16bit。
模仿上面的计算,我们得到如下。K9K4G16U0M读一个页需要:6个命令、寻址周期×50ns+25μs+(1K+32)×50ns=78.1μs。K9K4G16U0M实际读传输率:2KB字节÷78.1μs=26.2MB/s。K9K4G16U0M写一个页需要:6个命令、寻址周期×50ns+(1K+32)×50ns+300μs=353.1μs。K9K4G16U0M实际写传输率:2KB字节÷353.1μs=5.8MB/s
可以看到,相同容量的芯片,将数据线增加到16条后,读性能提高近70%,写性能也提高16%。
频率
工作频率的影响很容易理解。NAND型闪存的工作频率在20~33MHz,频率越高性能越好。前面以K9K4G08U0M为例时,我们假设频率为20MHz,如果我们将频率提高一倍,达到40MHz,则K9K4G08U0M读一个页需要:6个命令、寻址周期×25ns+25μs+(2K+64)×25ns=78μs。K9K4G08U0M实际读传输率:2KB字节÷78μs=26.3MB/s。可以看到,如果K9K4G08U0M的工作频率从20MHz提高到40MHz,读性能可以提高近70%!当然,上面的例子只是为了方便计算而已。在三星实际的产品线中,可工作在较高频率下的应是K9XXG08UXM,而不是K9XXG08U0M,前者的频率可达33MHz。
制造工艺
制造工艺可以影响晶体管的密度,也对一些操作的时间有影响。譬如前面提到的写稳定和读稳定时间,它们在我们的计算当中占去了时间的重要部分,尤其是写入时。如果能够降低这些时间,就可以进一步提高性能。90nm的制造工艺能够改进性能吗?答案恐怕是否!实际情况是,随着存储密度的提高,需要的读、写稳定时间是呈现上升趋势的。前面的计算所举的例子中就体现了这种趋势,否则4Gb芯片的性能提升更加明显。
综合来看,大容量的NAND型闪存芯片虽然寻址、操作时间会略长,但随着页容量的提高,有效传输率还是会大一些,大容量的芯片符合市场对容量、成本和性能的需求趋势。而增加数据线和提高频率,则是提高性能的最有效途径,但由于命令、地址信息占用操作周期,以及一些固定操作时间(如信号稳定时间等)等工艺、物理因素的影响,它们不会带来同比的性能提升。
1Page=(2K+64)Bytes;1Block=(2K+64)B×64Pages=(128K+4K)Bytes;1Device=(2K+64)B×64Pages×4096Blocks=4224Mbits
其中:A0~11对页内进行寻址,可以被理解为“列地址”。
A12~29对页进行寻址,可以被理解为“行地址”。为了方便,“列地址”和“行地址”分为两组传输,而不是将它们直接组合起来一个大组。因此每组在最后一个周期会有若干数据线无信息传输。没有利用的数据线保持低电平。NAND型闪存所谓的“行地址”和“列地址”不是我们在DRAM、SRAM中所熟悉的定义,只是一种相对方便的表达方式而已。为了便于理解,我们可以将上面三维的NAND型闪存芯片架构图在垂直方向做一个剖面,在这个剖面中套用二维的“行”、“列”概念就比较直观了。
内存
内存是计算机中重要的部件之一,它是与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。内存(Memory)也被称为内存储器,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。只要计算机在运行中,CPU就会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将结果传送出来,内存的运行也决定了计算机的稳定运行。 内存是由内存芯片、电路板、金手指等部分组成的。
在计算机的组成结构中,有一个很重要的部分,就是存储器。存储器是用来存储程序和数据的部件,对于计算机来说,有了存储器,才有记忆功能,才能保证正常工作。存储器的种类很多,按其用途可分为主存储器和辅助存储器,主存储器又称内存储器(简称内存,港台称之为记忆体)。内存又称主存,是CPU能直接寻址的存储空间,由半导体器件制成。内存的特点是存取速率快。内存是电脑中的主要部件,它是相对于外存而言的。我们平常使用的程序,如Windows操作系统、打字软件、游戏软件等,一般都是安装在硬盘等外存上的,但仅此是不能使用其功能的,必须把它们调入内存中运行,才能真正使用其功能,我们平时输入一段文字,或玩一个游戏,其实都是在内存中进行的。就好比在一个书房里,存放书籍的书架和书柜相当于电脑的外存,而我们工作的办公桌就是内存。通常我们把要永久保存的、大量的数据存储在外存上,而把一些临时的或少量的数据和程序放在内存上,当然内存的好坏会直接影响电脑的运行速度。
内存一般采用半导体存储单元,包括随机存储器(RAM),只读存储器(ROM),以及高速缓存(CACHE)。
●只读存储器(ROM)
ROM表示只读存储器(Read Only Memory),在制造ROM的时候,信息(数据或程序)就被存入并永久保存。这些信息只能读出,一般不能写入,即使机器停电,这些数据也不会丢失。ROM一般用于存放计算机的基本程序和数据,如BIOS ROM。其物理外形一般是双列直插式(DIP)的集成块。
●随机存储器(RAM)
随机存储器(Random Access Memory)表示既可以从中读取数据,也可以写入数据。当机器电源关闭时,存于其中的数据就会丢失。我们通常购买或升级的内存条就是随机存储器,内存条(SIMM)就是将RAM集成块集中在一起的一小块电路板,它插在计算机中的内存插槽上,以减少RAM集成块占用的空间。目前市场上常见的内存条有1G/条,2G/条,4G/条等。
现代的随机存取存储器依赖电容器存储数据。电容器充满电后代表1(二进制),未充电的代表0。由于电容器或多或少有漏电的情形,若不作特别处理,数据会渐渐随时间流失。刷新是指定期读取电容器的状态,然后按照原来的状态重新为电容器充电,弥补流失了的电荷。需要刷新正好解释了随机存取存储器的易失性。
根据存储单元的工作原理不同, RAM分为静态RAM和动态RAM。
静态随机存储器(SRAM)
静态存储单元是在静态触发器的基础上附加门控管而构成的。因此,它是靠触发器的自保功能存储数据的。
动态随机存储器(DRAM)
动态RAM的存储矩阵由动态MOS存储单元组成。动态MOS存储单元利用MOS管的栅极电容来存储信息,但由于栅极电容的容量很小,而漏电流又不可能绝对等于0,所以电荷保存的时间有限。为了避免存储信息的丢失,必须定时地给电容补充漏掉的电荷。通常把这种操作称为“刷新”或“再生”,因此DRAM内部要有刷新控制电路,其操作也比静态RAM复杂。尽管如此,由于DRAM存储单元的结构能做得非常简单,所用元件少,功耗低,已成为大容量RAM的主流产品。
●高速缓冲存储器(Cache)
Cache也是我们经常遇到的概念,也就是平常看到的一级缓存(L1 Cache)、二级缓存(L2 Cache)、三级缓存(L3 Cache)这些数据,它位于CPU与内存之间,是一个读写速度比内存更快的存储器。当CPU向内存中写入或读出数据时,这个数据也被存储进高速缓冲存储器中。当CPU再次需要这些数据时,CPU就从高速缓冲存储器读取数据,而不是访问较慢的内存,当然,如需要的数据在Cache中没有,CPU会再去读取内存中的数据。Cache一般位于cpu中,现代的内存条中也带有高速缓存。
物理存储器和地址空间
物理存储器和存储地址空间是两个不同的概念。但是由于这两者有十分密切的关系,而且两者都用B、KB、MB、GB来度量其容量大小,因此容易产生认识上的混淆。初学者弄清这两个不同的概念,有助于进一步认识内存储器和用好内存储器。
物理存储器是指实际存在的具体存储器芯片。如主板上装插的内存条和装载有系统的BIOS的ROM芯片,显示卡上的显示RAM芯片和装载显示BIOS的ROM芯片,以及各种适配卡上的RAM芯片和ROM芯片都是物理存储器。
存储地址空间是指对存储器编码(编码地址)的范围。所谓编码就是对每一个物理存储单元(一个字节)分配一个号码,通常叫作“编址”。分配一个号码给一个存储单元的目的是为了便于找到它,完成数据的读写,这就是所谓的“寻址”(所以,有人也把地址空间称为寻址空间)。
地址空间的大小和物理存储器的大小并不一定相等。举个例子来说明这个问题:某层楼共有17个房间,其编号为801~817。这17个房间是物理的,而其地址空间采用了三位编码,其范围是800~899共100个地址,可见地址空间是大于实际房间数量的。
对于386以上档次的微机,其地址总线为32位,因此地址空间可达2的32次方,即4GB。(虽然如此,但是我们一般使用的一些操作系统例如windows xp、却最多只能识别或者使用3.25G的内存,64位的操作系统能识别并使用4G和4G以上的的内存,
内存容量同硬盘、软盘等存储器容量单位都是相同的,它们的基本单位都是字节(B),并且:
1024B=1KB=1024字节=2^10字节(^代表次方)
1024KB=1MB=1048576字节=2^20字节
1024MB=1GB=1073741824字节=2^30字节
1024GB=1TB=1099511627776字节=2^40字节
1024TB=1PB=1125899906842624字节=2^50字节
1024PB=1EB=115 292150 4606846976字节=2^60字节
1024EB=1ZB=1180591620717411303424字节=2^70字节
1024ZB=1YB=1208925819614629174706176字节=2^80字节
好了,现在可以解释为什么会产生诸如:常规内存、保留内存、上位内存、高端内存、扩充内存和扩展内存等不同内存类型。
这里需要明确的是,我们讨论的不同内存的概念是建立在寻址空间上的。IBM推出的第一台PC机采用的CPU是8088芯片,它只有20根地址线,也就是说,它的地址空间是1MB。
PC机的设计师将1MB中的低端640KB用作RAM,供DOS及应用程序使用,高端的384KB则保留给ROM、视频适配卡等系统使用。从此,这个界限便被确定了下来并且沿用至今。低端的640KB就被称为常规内存即PC机的基本RAM区。保留内存中的低128KB是显示缓冲区,高64KB是系统BIOS(基本输入/输出系统)空间,其余192KB空间留用。从对应的物理存储器来看,基本内存区只使用了512KB芯片,占用0000至7FFFF这512KB地址。显示内存区虽有128KB空间,但对单色显示器(MDA卡)只需4KB就足够了,因此只安装4KB的物理存储器芯片,占用了B0000至B0FFF这4KB的空间,如果使用彩色显示器(CGA卡)需要安装16KB的物理存储器,占用B8000至BBFFF这16KB的空间,可见实际使用的地址范围都小于允许使用的地址空间。
在当时(1980年末至1981年初)这么“大”容量的内存对PC机使用者来说似乎已经足够了,但是随着程序的不断增大,图象和声音的不断丰富,以及能访问更大内存空间的新型CPU相继出现,最初的PC机和MS-DOS设计的局限性变得越来越明显。到1984年,即286被普遍接受不久,人们越来越认识到640KB的限制已成为大型程序的障碍,这时,Intel和Lotus,这两家硬、