一、计算机系统的基本结构
冯·诺伊曼定义了计算机的基本结构:中央处理器(CPU)、内存和输入/输出设备(IO)。数据和程序都存储在内存中,内存中的内容是按位置寻址的。
计算机系统的主要功能是执行一个程序,一组指令。CPU负责执行指令并与内存交换数据。这些指令被翻译成机器语言并执行,处理已经装入计算机存储器中的数据。输入设备用于将数据输入到存储器中。数据处理后,结果要么存储在内存中供进一步参考,要么通过输出设备发送给外部世界。
程序并不总是按顺序执行;它可能会跳到其他地方。类似地,数据操作可能要求以预定的顺序一次访问多个单元。因此,必须有一个可以临时存储指令和数据的地方。这个模块被称为内部存储器或主存储器,区别于外部存储器或外部设备。
指令的处理过程称为指令周期,指令周期分为取指令周期和执行指令周期。在每个指令周期的开始,处理器从内存中取出指令,并将指令放入指令寄存器(IR)。处理器解码指令并执行所需的操作:1)处理器与内存之间的数据传输;2)处理器与输入/输出设备之间的数据传输;3)对数据进行算术或逻辑运算;4)改变指令执行顺序。
计算机的三个基本模块:CPU、内存和输入输出(I/O)通过互连结构集成在一起。内存通常由N个长度相等的单元组成,每个单元分配一个唯一的数字地址(0,1…, N-1),这个单元可以从内存中读取或写入。操作的性质由读写控制信号指示,操作的位置由地址指定。I/O与内存类似,它同时具有读和写操作。此外,一个I/O模块可以控制多个外设,也可以向处理器发送中断信号。处理器读取指令和数据,并在处理后将数据写出来。处理器利用控制信号来控制整个系统的运行,也可以接收中断信号。
二、计算机系统内部的存储设备
计算机的存储器被组织成一个层次结构。最上层是处理器的寄存器,后面是一个或多个缓存。大多数时候,如果缓存设计正确,处理器需要的内存数据就已经在缓存中了。
缓存下面是主存,通常由DRAM组成。这是系统的内部内存(由处理器直接访问),其次是外部内存(由处理器通过I/O模块访问)。下一层是硬盘,再往下一层是可移动存储设备。沿着从上到下的存储层次结构,存储成本也逐层降低,容量逐渐变大,存储和读取时间变长。
我们在内存中管理我们的程序和数据,因为内存存取速度更快。内部存储通常采用半导体技术,断电后数据会丢失。外部存储使用磁盘和CD-ROM,可以将数据保留更长的时间。磁盘也可以用于主存的扩展。可以以软件的形式将其他层添加到层次结构中。主存的一部分可以用作缓冲区,临时保存写入磁盘的数据,这种技术称为磁盘缓存。
高速缓存(cache)保存着主存的部分副本。当CPU试图访问主存中的一个字(word)时,它首先检查这个字是否在缓存中。如果是,它将这个单词传递给CPU。如果没有,则将包含该字的块读入缓存,并将该字传递给CPU。
现在几乎所有的主存储器都使用半导体芯片。半导体存储器的基本元件是存储位。存储位具有以下属性:可以表示两种状态表示01;能够写消息设置状态;能够读取状态信息。RAM是记忆的主要部分,它的内容可以根据地址读或写在任何时候根据需要存储在一些电触发状态,断电后,不能被保存的信息,用于临时数据存储,可以分为DRAM和SRAM。RAM通常使用动态半导体存储设备(DRAM)。ROM是只读存储器,它的内容是由厂家在出厂时用掩模技术写出来的,只能读,不能重写。信息已固化在内存中,一般用于存储系统程序BIOS和微程序控制。
PROM是一种只能写入一次的可编程只读存储器(与只读存储器相同),但可以在它出厂后由用户使用特殊的电子设备进行写入。EPROM是一种可擦除的PROM,可以读或写。但是,在写前必须用紫外线照射以擦除所有信息,然后再用EPROM编程器写,这样可以写多次。EEPROM类似于EPROM。它可以被读或写,并且可以直接通过寻址字节或块来修改,而不需要在写之前擦除前面的内容。闪存介于EPROM和EEPROM之间,闪存也可以使用电信号进行快速删除操作,比EEPROM快得多。但是不能进行字节级删除,其集成度高于EEPROM。
三、计算机系统外部的存储设备
外置存储设备是指除计算机内存和CPU缓存外,在掉电后仍能保存数据的存储设备。常用的外置存储设备有磁盘、磁带、光盘等。
磁盘有两种类型:软盘和硬盘。大多数硬盘是固定的,永久密封,固定在硬盘驱动器上。早期的硬盘存储介质是可更换的,但今天的典型硬盘是一个固定的存储介质,密封在磁盘内部(除了一个过滤器孔来平衡空气压力)。随着发展,可移动硬盘也出现了,而且越来越流行,种类越来越多。由于温彻斯特技术,安装在大多数微型计算机上的硬盘被称为“温彻斯特硬盘”。
RAID (Redundant Arrays of Independent Disks)是由大量独立硬盘组成的一组硬盘,通过单个硬盘生成的冗余数据来提高整个硬盘系统的性能。使用这种技术,数据被切割成段并存储在单个硬盘上。还可以利用奇偶校验,以便当RAID中的一个硬盘出现故障时,仍然可以读取数据。在数据重构过程中,可以将计算出来的数据放入新的硬盘。
磁盘存储(有时也称为驱动器存储)是一种存储机制的总称,在这种存储机制中,数据通过电子、磁性、光学或机械变化记录到一个或多个旋转磁盘的表层。主要类型有:不可移动磁盘的硬盘驱动器(HDD)、软盘驱动器(FDD)及其可移动软盘,以及各种光盘驱动器(ODD)及其相关光盘介质。
硬盘驱动器(HDD),是一种机电数据存储设备,使用磁性存储器和一个或多个涂有磁性材料的刚性快速旋转盘片来存储和检索数字数据。盘片与磁头成对,磁头通常安装在一个移动的执行机构臂上,用于向盘片表面读写数据。数据以随机访问的方式访问,这意味着单个数据块可以以任何顺序存储和检索。hdd是一种非易失性存储器,即使断电也能保留存储的数据。现代hdd通常是一个小矩形盒子的形式。
固态硬盘(SSD)是一种使用集成电路组件持久存储数据的固态存储设备,通常使用闪存,在计算机存储层次结构中充当二级存储。它有时也被称为固态设备或固态磁盘,尽管SSD缺乏物理旋转磁盘和可移动读写磁头(用于硬盘驱动器(hdd)和软盘))。与HDD相比,SSD通常更抗物理冲击,运行安静,访问时间更快,延迟更低。
混合驱动器或固态混合驱动器(SSHD),如苹果的Fusion Drive,将SSD和HDD的功能结合在一起,同时使用闪存和HDD,以提高频繁访问数据的性能。
数字磁盘驱动器是块存储设备。每个磁盘被划分为逻辑块(扇区的集合)。对磁盘的读或写发生在块的粒度上。提高磁盘容量的方法有:更小和更精确的磁头,这意味着更多的磁道可以存储在每个磁盘上;数据压缩方法的进步允许更多的信息存储在每个单独的扇区。驱动器将数据存储到柱面、磁头和扇区中。扇区单元是硬盘驱动器中存储的数据的最小尺寸,每个被存储的文件都会有许多扇区单元分配给它。
信息从计算机处理器发送到BIOS,进入控制数据传输的芯片。然后通过多线连接器发送到硬盘驱动器。一旦数据被接收到驱动器的电路板上,它们就会被转换和压缩成单个驱动器可以用来存储到磁盘本身的格式。然后,数据被传送到电路板上的一个芯片上,该芯片控制对驱动器的访问。
磁盘驱动器接口是计算机系统其余部分和磁盘驱动器本身之间通信的协议。用于台式电脑和移动电脑的存储设备通常使用ATA (PATA)和SATA接口。企业系统和高端存储设备除了使用SATA外,通常还使用SCSI、SAS和FC接口。一些新的软件定义存储产品使用iSCSI连接。