第3章〓系 统 思 维计算机系统的工作是一个非常复杂的问题。它涉及计算机的硬件系统和软件系统。本章主要讲述计算机系统的组成,包括硬件系统和软件系统。 3.1导学 本章结构导图如图30所示。 图30第3章结构导图3.2计算机系统概述 一个完整的计算机系统包括两大部分,即硬件系统和软件系统,如图31所示。硬件是指构成计算机的物理设备,是由机械和电子器件构成的具有输入、存储、计算、控制以及输出功能的实体部件。例如,处理器芯片、存储器芯片、底板、各类扩充装置、机箱、键盘、鼠标、显示器、打印机和硬盘等都是计算机的硬件。计算机软件是指在计算机中运行的各种程序及其处理的数据和相关的文档。程序用来指挥计算机硬件自动进行规定的操作,数据则是程序所处理的对象,文档是软件设计报告和操作使用说明等,它们都是软件不可缺少的组成部分。 计算思维导论第3章系统思维图31计算机系统结构 3.3计算机硬件系统 经典计算机的逻辑结构如图32所示,计算机硬件由运算器、控制器、存储器、输入设备和输出设备五个基本部分组成,也称计算机硬件的五大部件。 图32经典计算机的逻辑结构 这一基本结构是由美籍匈牙利科学家冯·诺依曼提出的。冯·诺依曼的主要思想为“存储程序控制”,其主要内容如下。 (1) 计算机硬件由运算器、控制器、存储器、输入设备和输出设备五个基本部分组成。 (2) 计算机的工作由程序控制,程序是一个指令序列,指令是能被计算机理解和执行的操作命令。 (3) 程序(指令)和数据均以二进制编码表示,均存放在存储器中。 (4) 存储器中存放的指令和数据按地址进行存取。 (5) 指令是由CPU一条一条顺序执行的。 现代计算机的逻辑结构如图33所示。计算机硬件主要包括中央处理器、主存储器、辅助存储器和输入输出设备等,它们通过总线互相连接。 图33现代计算机的逻辑结构 1. 中央处理器 负责对输入信息进行各种处理(例如计算、转换、分类和检索等)的部件称为“处理器”。处理器能高速执行指令完成二进制数据的算术、逻辑运算和数据传送等操作,它的结构很复杂。超大规模集成电路的出现,使得处理器的所有组成部分都可以制作在一块面积仅为几平方厘米的半导体芯片上。因为体积很小,所以也称之为微处理器(Microprocessor)。 一台计算机中往往有多个处理器,它们各有其不同的任务,有的用于显示,有的用于通信。其中,承担系统软件和应用软件运行任务的处理器称为“中央处理器”,简称CPU(Central Processing Unit),它是任何一台计算机必不可少的核心组成部件。 CPU的任务很繁重,为了提高处理速度,一台计算机可以包含几个或者几十个甚至几百几千个CPU。这种使用多个CPU实现高速处理的技术称为“并行处理”。现在,个人计算机、平板电脑和智能手机等都普遍采用集成有2个、4个甚至更多个CPU在同一芯片内的所谓“多核”CPU芯片,性能得到了显著提高。 2. 主存储器和辅助存储器 计算机能够把程序和数据存储起来,具有这种功能的部件就是“存储器”。计算机中的存储器分为主存储器(简称主存,英文为Memory)和辅助存储器(简称辅存,英文为Storage)。早期计算机中的主存储器总是与CPU紧靠一起安装在主机柜内,而辅助存储器大多独立于主机柜之外,因此主存储器俗称“内存”,辅助存储器俗称“外存”,并一直沿用至今。 主存储器的存取速度快而容量相对较小(因成本较高),大多是易失性存储器。主存与CPU高速连接,按字节编址(每个字节均有地址,CPU可直接访问任一字节),它用来存放已经启动的程序代码和需要处理的数据。CPU工作时,它所执行的指令和处理的数据都是从主存中取出的,产生的结果也存放在主存中。因而,主存储器也称为计算机的工作存储器。 辅助存储器能长期存放计算机系统中几乎所有的信息,即使断电,信息也不会丢失。辅助存储器的容量很大,但存储速度相对较慢,它按数据块进行编址。计算机执行程序时,辅存中的程序代码和相关数据必须预先传送到主存,然后才能被CPU运行和处理。 3. 输入输出设备 输入设备是外界向计算机传送信息的装置。输入设备有多种,如键盘、鼠标、触摸屏、麦克风、传感器以及条码、磁卡、IC卡的读卡器等。不论信息的原始形态如何,输入到计算机中的信息都使用二进位来表示。 输出设备是将计算机中的数据信息传送到外部的设备,转换为某种人们所需要的形式。计算机的输出可以是文本、图像、语音、音乐或动画等多种形式。输出设备的功能是把计算机中用二进位表示的信息转换成人可以直接识别和感知的信息形式。常见的输出设备有显示器、打印机和扬声器等。 输入输出设备统称为I/O(Input/Output)设备,这些设备是计算机与外界联系和沟通的桥梁,用户或外部环境通过I/O设备与计算机系统互相通信。 4. 总线和I/O接口 总线(Bus)是用于在CPU、主存、辅存和各种输入输出设备之间传输信息并协调工作的一种部件,由传输线和控制电路组成。一般把连接CPU和主存的总线称为CPU总线(或前端总线、高速总线),把连接主存和I/O设备(包括辅存)的总线称为I/O总线。为了方便更换和扩充I/O设备,计算机系统中的I/O设备一般都通过标准的I/O接口(如USB接口)与各自的控制器连接,然后再与I/O总线相连。 3.3.1CPU的结构和原理 CPU是计算机不可缺少的核心部件,它负责执行程序。迄今为止,我们所使用的计算机大多是按照冯·诺依曼提出的“存储程序控制”原理进行工作的。即将问题的计算步骤编制成为程序,程序连同它所处理的数据都用二进位表示并预先存放在存储器中。程序运行时,CPU从内存中一条一条地取出指令和相应的数据,按指令操作码的规定,对数据进行运算处理,直到程序执行完毕为止,如图34所示。 图34程序在计算机中的执行过程 CPU的根本任务是执行指令,它按指令的规定对数据进行操作。它的结构如图35所示,原理上,它主要由三个部分组成,分别是寄存器组、运算器和控制器。 图35CPU的组成及其与内存的关系 1. 寄存器组 寄存器组由十几个甚至几十个寄存器组成。寄存器的速度很快,它们用来临时存放参加运算的数据和运算得到的中间(或最后)结果。需要运算器处理的数据预先从内存传送到寄存器,运算结果不再需要继续运算时就从寄存器保存到内存。 2. 运算器 运算器又称算术逻辑单元(Arithmetic Logic Unit,ALU),是计算机对数据进行加工处理的部件,它的主要功能是对二进制数进行加、减、乘、除等算术运算和与、或、非等基本逻辑运算,实现逻辑判断。运算器在控制器的控制下实现其功能,运算结果由控制器指挥送到内存储器中。 3. 控制器 控制器是计算机的神经中枢和指挥中心,它的基本功能是依次从存储器中取出指令、翻译指令、分析指令、向其他部件发出控制信号,控制计算机各部件协调工作,使得整个计算机有条不紊地工作。控制器由指令计数器(PC)、指令寄存器(IR)、指令译码器(ID)、时序控制电路和微操作控制电路组成。 (1) PC: 用来对程序中的指令进行计数,使控制器能够依次读取指令。 (2) IR: 在指令执行期间暂时保存正在执行的指令。 (3) ID: 用来识别指令的功能,分析指令的操作要求。 (4) 时序控制电路: 用来生成时序信号,以协调在指令执行周期各部件的工作。 (5) 微操作控制电路: 用来产生各种控制操作命令。 计算机性能由许多因素决定,例如CPU、内存、硬盘、显卡等,但通常CPU是主要因素。CPU的性能主要表现在程序执行速度的快慢,而程序执行的速度与CPU相关的因素有很多,如指令系统、字长、主频、高速缓存的容量和结构、逻辑结构和CPU核的个数等。 1) 指令系统 指令的类型、数目和功能等都会影响程序的执行速度。 2) 字长(位数) 指通用寄存器和定点运算器的宽度(即二进制整数运算的位数),即在单位时间内(同一时间)能一次处理的二进制数的位数。该指标反映出CPU内部运算处理的速度和效率。由于存储器地址是整数,整数运算由定点运算器完成,定点运算器的宽度也就决定了地址码的位数。而地址码的位数则决定了CPU可访问的最大内存空间,这是影响CPU性能的一个重要因素。 中低端应用(如洗衣机、微波炉等)的嵌入式计算机大多是8位、16位或32位的CPU,中高端智能手机等使用64位CPU,PC使用的CPU早些年大多为32位处理器,现在使用的都是64位处理器。 3) 主频(CPU时钟频率) 指CPU中电子线路的工作频率,它决定着CPU芯片内部数据传输和操作速度的快慢。一般而言,执行一条指令需要一个或几个时钟周期。所以主频越高,执行一条指令所需要的时间就越少,CPU的处理速度就越快。现在个人计算机和高端智能手机的CPU的主频为1~4GHz。 4) 高速缓存(Cache)的容量与结构 程序运行过程中高速缓存有利于减少CPU访问内存的次数。通常,Cache容量越大、级数越多,其效用就越显著。 5) 逻辑结构(微架构) CPU包含的定点运算器和浮点运算器的数目、采用的流水线结构和级数、指令分支预测的机制和执行部件的数目等都对指令执行的速度有影响。 6) CPU核的个数 为提高CPU芯片的性能,现在CPU芯片往往包含有2个、4个、6个甚至更多个CPU核,每个核都是一个独立的CPU,有各自的1级和2级Cache,共享3级Cache和前端总线。需要说明的是,由于算法和程序的原因,n个核的CPU性能绝不是单核CPU的n倍。 3.3.2指令与指令系统1. 指令如前所述,使用计算机完成某个任务(如发送消息)必须运行相应的程序(如QQ)。在计算机内部,程序是由一连串指令组成的,指令是构成程序的基本单位。指令是能被计算机识别并执行的二进制代码,它图36指令的格式规定了计算机能完成的某一种操作。一条指令通常由两个部分组成,如图36所示。 (1) 操作码: 指明该指令要完成的操作的类型或性质,如取数、做加法或输出数据等。每一种操作分别使用不同的二进制代码表示,称为操作码。 (2) 操作数: 指明操作对象的内容或所在的单元地址,操作数在大多数情况下是地址码,地址码可以有0~3个。从地址码得到的仅是数据所在的地址,可以是源操作数的存放地址,也可以是操作结果的存放地址。 2. 指令的执行过程 尽管计算机可以运行非常复杂的程序,完成多种多样的功能,然而,任何复杂程序的运行总是由CPU一条一条执行指令来完成的。CPU执行每一条指令都还要分成若干步,每一步仅完成一个或几个非常微小的操作。 指令的执行过程如图37所示,大体分为以下4个步骤。 图37指令的执行过程 (1) 取指令: 按照指令计数器中的地址(0100H),从内存储器中取出指令(070270H),并送往指令寄存器。 (2) 分析指令: 对指令寄存器中存放的指令(070270H)进行分析,由译码器对操作码(07H)进行译码,将指令的操作码转换成相应的控制电位信号;由地址码(0270H)确定操作数地址。 (3) 执行指令: 由操作控制线路发出完成该操作所需要的一系列控制信息,去完成该指令所要求的操作。例如,做加法指令,取内存单元(0270H)的值和累加器的值相加,结果还是放在累加器中。 (4) 一条指令执行完成,指令计数器加1或将转移地址码送入指令计数器,然后回到步骤(1)。 一般把计算机完成一条指令所花费的时间称为一个指令周期,指令周期越短,指令执行越快。通常所说的CPU主频(或工作频率),就反映了指令执行周期的长短。计算机在运行时,CPU从内存读出一条指令到CPU内执行,指令执行完,再从内存读出下一条指令到CPU内执行。CPU不断地读取指令、分析指令、执行指令,这就是程序的执行过程。 总之,计算机的工作就是执行程序,即自动连续地执行一系列指令,而程序开发人员的工作就是编制程序。一条指令的功能虽然有限,但是由一系列指令组成的程序可完成的任务是无限多的。 3. 指令系统 每一种CPU都有它自己独特的一组指令。CPU可执行的全部指令称为该CPU的指令系统。指令系统中的指令分成许多类。例如,Intel公司的奔腾和酷睿处理器中,共有七大类指令,分别为数据传送类、算术运算类、逻辑运算类、移位操作类、位(位串)操作类、控制转移类和输入/输出类。 每一类指令(如数据传送类、算术运算类)又按照操作数的性质(如整数还是实数)、长度(16位、32位、64位、128位等)而区分为许多不同的指令,因此,Intel公司CPU有数以百计的不同的指令。 3.3.3主板、芯片组与BIOS1. 主板无论是台式计算机、笔记本电脑还是智能手机,CPU芯片、存储器芯片、总线和I/O控制器等电路都是安装在印刷电路板上的。除了芯片和电子元件外,电路板上还安装了各种用作I/O接口的插头插座,这种电路板就成为计算机的主板(母板)。以PC为例,主板上通常安装有CPU插座、芯片组、存储器插座、扩充卡插座、显卡插座、BIOS芯片、CMOS存储器、辅助芯片和若干用于连接外围设备的I/O接口,如图38所示。 图38台式PC主板示意图 CPU和存储器芯片分别通过主板上的CPU插座和存储器插座安装在主板上。PC常用外围设备通过扩充卡(如声音卡、显示卡等)或I/O接口与主板相连,扩充卡通过卡上的印刷插头插在主板上的PCI或PCIE总线插座中。随着集成电路的发展和计算机设计技术的进步,许多扩充卡的功能可以部分或全部集成在主板上(如串行口、并行口、声卡、网卡等控制电路),因而主板的结构越来越简化。 主板上还有两块特别有用的芯片: 一块是闪速存储器(Flash Memory),其中存放的是基本输入输出系统(BIOS),它是PC启动最先运行的软件,没有它机器就无法启动;另一块芯片是CMOS存储器,其中存放着与计算机系统相关的一些参数(称为“配置信息”),包括当前的日期和时间、开机口令、已安装的硬盘的个数及类型和加载操作系统的顺序等。CMOS芯片是一种易失性的存储器,它由主板上的纽扣电池供电,所以计算机关机后也不会丢失所存储的信息。 2. 芯片组 芯片组(Chipset)是PC各组成部分相互连接和通信的枢纽,存储器控制、I/O控制功能几乎都集成在芯片组内,它既实现了PC总线的功能,又提供了各种I/O接口及相关的控制。没有芯片组,CPU就无法与内存、扩充卡、外设等交换信息。 芯片组安装在主板上,原先由两块超大规模集成电路组成: 北桥芯片和南桥芯片。北桥芯片是存储控制中心(Memory Controller Hub,MCH),用于高速连接CPU、内存条、显卡,并与南桥芯片互连;南桥芯片是I/O控制中心(I/O Controller Hub,ICH),主要与PCI总线槽、USB接口、硬盘接口、音频编解码器、BIOS和CMOS存储器等连接,并借助Super I/O芯片提供对键盘、鼠标、串行口和并行口等的控制。CPU的时钟信号也由芯片组提供。图39是芯片组与主板上各个部件互连的示意图。 图39芯片组与主板上其他部件的连接 随着集成电路技术的进步,北桥芯片的大部分功能(如内存控制、显卡接口等)已经集成在CPU芯片中,其他功能则合并到南桥芯片,所以现在只需要一块芯片(单芯片的芯片组)即可完成系统所有硬件的连接。 需要注意的是,有什么样功能和速度的CPU,就需要使用什么样的芯片组。芯片组是与CPU芯片及外围设备配套和同步发展的。 3. BIOS BIOS的中文名叫作基本输入/输出系统,它是存放在主板上闪速存储器中的一组程序。由于存放在闪存中,即使机器关机,它的内容也不会改变。每次机器加电时,CPU总是首先执行BIOS程序,它具有诊断计算机故障及加载操作系统并启动其运行的功能。 BIOS主要包含四个部分的程序,分别是加电自检程序、系统自举程序、CMOS设置程序和常用外部设备的驱动程序。 (1) 加电自检程序(POST),用于检测计算机硬件故障。 (2) 系统自举程序(Boot)是系统主引导记录的装入程序,用来启动计算机工作,加载并进入操作系统运行状态。 (3) CMOS设置程序,用于设置系统参数,如日期、时间、口令、配置参数等。 (4) 常用外部设备的驱动程序(Driver),在计算机启动阶段实现对键盘、显示器和硬盘等常用外部设备输入输出操作的控制。 当接通计算机电源(或按下Reset复位键)时,系统首先执行加电自检程序,目的是测试系统各部件的工作状态是否正常,从而决定计算机的下一步操作。加电自检程序通过读取主板上CMOS中的内容来识别硬件的配置,并根据配置信息对系统中各部件进行测试和初始化。测试的对象包括CPU、内存、BIOS芯片本身、CMOS、显示卡、键盘和硬盘等。测试过程中,如果发现某个设备存在故障,加电自检程序会在屏幕上报告错误信息,系统将不能继续启动或不能正常工作。 加电自检程序完成后,若系统无致命错误,计算机将继续执行BIOS中的系统自举程序。它按照CMOS中预先设定的启动顺序,依次搜寻硬盘驱动器或光盘驱动器,将其第一个扇区的内容(主引导记录)读出并装入到内存,然后将控制权交给其中的操作系统引导程序,由引导程序继续装入操作系统。操作系统装入成功后,整个计算机就处于操作系统的控制之下,用户就可以正常地使用计算机了。 在上述过程中,键盘、显示器、硬盘、光盘等常用外围设备都需要参与工作。因此,它们的控制程序(称为“驱动程序”)也必须包含在BIOS中。有些外围设备控制器(例如显示卡)把驱动程序存放在扩充卡的ROM中,PC开机时,BIOS对扩展槽进行扫描,查找是否有自带驱动程序的扩充卡。若有,扩充卡ROM中的设备驱动程序就会补充或替换主板BIOS中相应的驱动程序。显然,这种做法带来了很大的灵活性。 在PC执行引导装入程序之前,用户若按下某一热键(如Delete键或F1、F2、F8键,各种BIOS的规定不同),就可以启动CMOS设置程序。CMOS设置程序允许用户将系统的硬件配置信息进行修改。CMOS中存放的信息包括系统的日期和时间,系统的口令,系统中安装的硬盘、光盘驱动器的数目、类型及参数,显示卡的类型,启动系统时访问辅助存储器的顺序等。这些信息非常重要,一旦丢失就会使系统无法正常运行,甚至不能启动。 CMOS信息通常并不需要设置,只在用户希望更改系统的日期、时间、口令或启动盘的顺序时,或者CMOS内容因掉电、病毒侵害等原因被破坏时,才需要用户启动BIOS中的CMOS设置程序对其进行设置。 3.3.4存储器1. 存储器容量单位首先介绍一些与存储器相关的概念。 数字技术的处理对象是“比特”,其英文为“bit”,它是“binary digit”的缩写,中文意译为“二进制位”或“二进位”,在不引起混淆时也可以简称为“位”。比特只有两种状态(取值),它或者是数字0,或者是数字1。比特是计算机和其他数字设备处理、存储和传输的最小单位,一般用小写字母“b”表示。 位(b): 指一个二进制位。它是计算机中信息存储的最小单位。 字节(B): 指相邻的8个二进制位。 存储器中常见的单位及换算关系如下。 1KB=210B=1024B 1MB=220B=210KB=1024KB 1GB=230B=210MB=1024MB 1TB=240B=210GB=1024GB 1PB=250B=210TB=1024TB 2. 存储器的层次结构 计算机中有多种不同类型的存储器。通常,存储速度较快的存储器成本较高,速度较慢的存储器成本较低。为了使存储器的性价比得到优化,计算机中各种内存储器和辅助存储器往往组成一个层状的塔式结构,如图310所示。它们取长补短,协同工作。 图310存储器的层次结构 存储器的工作过程如下。 (1) CPU运行时,需要的操作数大部分来自寄存器。 (2) 如需要从(向)存储器中取(存)数据时,先访问Cache,如在,取自Cache。 (3) 如操作数不在Cache,则访问RAM,如在RAM中,则取自RAM。 (4) 如操作数不在RAM,则访问硬盘,操作数从硬盘中读出→RAM→Cache。 3. DRAM、SRAM和ROM 内存储器由半导体集成电路构成,具有高速读写和按字节随机存取的特性,也称为随机存取存储器(RAM),断电时信息会丢失,属于易失性存储器。RAM目前多采用MOS型半导体集成电路芯片制成,根据其保存数据的机理又可分为DRAM和SRAM两种。图311显示了半导体存储器的类型及其在计算机中的应用。 图311半导体存储器的类型及其在计算机中的应用 1) DRAM DRAM(Dynamic Random Access Memory)即动态随机存取存储器。芯片的电路简单,集成度高,功耗小,成本较低,常用作主存。DRAM只能将数据保持很短的时间。为了保持数据,DRAM使用电容存储,所以必须隔一段时间刷新一次,如果存储单元没有被刷新,存储的信息就会丢失。DRAM的速度比CPU和SRAM慢。 2) SRAM SRAM(Static RandomAccess Memory)即静态随机存取存储器。所谓的“静态”,是指这种存储器只要保持通电,里面存储的数据就可以恒久保持。相比之下,动态随机存取存储器(DRAM)里面所存储的数据就需要周期性地更新。然而,当电力供应停止时,SRAM存储的数据还是会消失(被称为Volatile Memory),这与在断电后还能存储资料的ROM或闪存是不同的。与DRAM相比,它的电路更复杂,集成度低,功耗较大,制造成本高,价格贵。但它的工作速度很快,与CPU速度相差不多,适合用作高速缓冲存储器Cache(目前大多与CPU集成在同一芯片中)。 随着微机CPU工作频率的不断提高,用作主存的DRAM的读写速度相对较慢,从主存取数据或向主存写数据时,CPU往往需要等待,如图312所示。为解决主存速度与CPU速度不匹配的问题,人们在CPU与主存之间设计了一个容量较小(相对主存)但速度较快的高速缓冲存储器(Cache)。它由SRAM组成,Cache直接制作在CPU芯片内,速度几乎与CPU一样快。程序运行时,CPU使用的一部分数据/指令会预先成批复制在Cache中,Cache的内容是主存储器中部分内容的映像。当CPU需要从主存读(写)数据或指令时,先检查Cache中有没有,若有,就直接从Cache中读取,而不用访问主存储器。这种技术早期在大型计算机中使用,现在应用在微机中,使微机的性能大幅度提高。随着CPU的速度越来越快,系统主存越来越大,Cache的存储容量也由128KB、256KB扩大到现在的512KB或2MB。 图312DRAM,硬盘与CPU之间的速度变化 3) ROM ROM(ReadOnly Memory)即只读存储器,CPU只能读取其中的信息,而不能改写其中的内容。它是一种非易失性存储器,断电后信息也不会丢失。ROM发展至今已出现多种不同类型的ROM。现在使用的EEPROM(电可擦除可编程只读存储器)能按“二进制位”擦写信息,但速度较慢,容量不大。由于价格便宜,多用在低端产品(如IC卡)中。 另一种Flash Memory(闪速存储器,简称闪存)是EEPROM的改进,它是一种新型的非易失性存储器。它速度快、容量大,能像RAM一样写入信息。它的工作原理是: 在低电压下,存储的信息可读但不可写,这时类似于ROM;而在较高的电压下,所存储的信息可以更改和删除,这时又类似于RAM。 Flash Memory有两类: 或非型(NOR型)和与非型(NAND型)。NOR型闪存以字节为单位进行随机存储,存储在其中的程序可以直接被CPU执行,可用作内存储器,如存储BIOS的ROM存储器。NAND型闪存以页(块)为单位进行存取,读出速度较慢,通常将存储其中的程序或数据成批读入到RAM中再进行处理。但它在容量、使用寿命和成本方面有较大优势,常常用作存储卡、U盘或固态硬盘(SSD)等辅助存储器使用。例如,智能手机中所谓的手机存储之类的辅助存储器,都是NAND型闪存。 4. 主存储器 主存,即主存储器,是CPU可直接访问(读和写)的存储器,用于存放供CPU处理的指令和数据。服务器、PC、智能手机等的主存储器主要由DRAM芯片组成。它包含大量的存储单元,每个存储单元可存放1字节(8个二进制位)信息。每个存储单元都有一个地址,CPU按地址对存储器的内容进行访问。主存的存储容量是指主存储器中所包含的存储单元的总存储量,通常单位为MB或GB。 主存的存取时间(Access Time)指的是从CPU送出内存单元的地址码开始,到主存读出数据并送到CPU(或者是把CPU数据写入主存)所需要的时间,其单位是纳秒(ns)。1ns=10-9s。 主存的结构和工作原理如图313所示。 图313主存的结构与工作原理 5. 辅助存储器 计算机传统的辅助存储器是硬盘和光盘等,它们已经使用了几十年。近十多年来,U盘和存储卡的普及,为大容量信息存储提供了更多种可能。 1) 硬盘 硬盘存储器(Hard Disk)由盘片、主轴与主轴电机、移动臂、磁头和控制电路等组成。它们全部密封于一个盒状装置内,这就是通常所说的硬盘,其剖面图如图314所示。 图314硬盘硬盘的盘片由铝合金或玻璃材料制成,盘片的上下两面都涂有一层很薄的磁性材料,通过磁性材料的磁化来记录数据。磁性材料粒子有两种不同的磁化方向,分别用来表示记录的是二进制的“0”还是“1”。盘片表面由外向里分成许多同心圆,每个圆称为一个磁道,盘面上一般都有几千条磁道,每条磁道还要分成几千个扇区,每个扇区的容量一般为512B或2KB(容量超过2TB的硬盘)。盘片两侧各有一个磁头,用于读写盘上的信息,盘片两面都可以记录信息,如图315所示。 图315磁记录原理与磁道和扇区的划分 通常,一块硬盘由1~5张盘片组成,所有盘片上相同半径处的一组磁道称为“柱面”。所以,硬盘上的数据由三个参数来定位: 磁头号、柱面号和扇区号。硬盘的存储容量=磁头数×柱面数×扇区数×每扇区字节数(通常是512B)。常见硬盘的存储容量有: 80GB,120GB,500GB,1TB等。 硬盘中的所有盘片固定在主轴上。主轴底部有一个电机,当硬盘工作时,电机带动主轴,主轴带动盘片高速旋转,其速度为每分钟几千转甚至上万转。盘片高速旋转时带动的气流将盘片两侧的磁头托起。磁头是一个质量很小的薄膜组件,它负责盘片上数据的读取后写入。移动臂用来固定磁头,并带动磁头沿着盘片的径向高速移动,以便定位到指定的柱面。这就是硬盘的组成(如图316所示)和工作原理。 图316硬盘的组成 硬盘的信息以扇区为单位进行读写,平均存取时间为T=寻道时间+旋转等待时间+数据传输时间。其中,寻道时间为磁头寻找到指定磁道所需时间(大约5ms),旋转等待时间为指定扇区旋转到磁头下方所需要的时间(大约4~6ms) (转速: 4200/5400/7200/10 000rpm),而数据传输时间通常大约为0.01ms/扇区。 硬盘的性能指标有如下几个。 (1) 容量,以吉字节(GB)为单位,目前硬盘单碟容量约为几百吉字节。 (2) 平均存取时间,为几毫秒~几十毫秒,由硬盘的旋转速度、磁头寻道时间和数据传输速率所决定。 (3) 缓存容量,原则上越大越好,通常为几兆字节~几十兆字节。 (4) 数据传输速率: 外部传输速率指主机从(向)硬盘缓存读出(写入)数据的速度,与采用的接口类型有关。内部传输速率指硬盘在盘片上读写数据的速度,转速越高内部传输速率越快。 (5) 与主机的接口: 以前使用并行ATA接口,当前流行串行ATA(SATA)接口。 除了固定安装在机箱中的硬盘外,还有一类硬盘产品,它们体积小、重量轻,采用USB接口,可即插即用,非常方便携带和使用,称为移动硬盘。移动硬盘工作原理与固定硬盘相同,通常存储容量较大(160GB、320GB、1TB、2TB)。 2) U盘、存储卡和固态硬盘 目前广泛使用的移动存储器除了移动硬盘外,还有U盘、存储卡和固态硬盘(SSD)等,它们的存储部件都是使用闪速存储器芯片构成的。 (1) U盘。U盘采用NAND Flash存储器(闪存)芯片,体积小,重量轻,容量按需要而定(几吉字节~几百吉字节),具有写保护功能,数据保存安全可靠,使用寿命长。它使用USB接口,即插即用,支持热插拔(必须先停止工作),读写速度比较快,可以模拟光驱和硬盘启动操作系统。 (2) 存储卡。存储卡的原理与U盘相同,也使用闪存芯片(Flash Memory)做成,呈长方形或正方形的卡片状,使用印刷插头,不使用USB插头。需要使用读卡器才能对存储卡进行读写。存储卡的主要种类有CF卡、MMC卡、SD/SDHC卡(包括Mini SD卡、Micro SD卡)和Memory Stick卡(MS卡),广泛应用于数码相机、游戏机、手机、MP3播放器中。 (3) 固态硬盘。固态硬盘(Solid State Disk、Solid State Drive,SSD)是使用NAND型闪存做成的辅助存储器,用在便携式计算机中代替传统的硬盘。其外形及与主机的接口和常规硬盘相同,如1.8英寸、2.5英寸或3.5英寸。它的存储容量通常为64~128GB或更大。其优点是低功耗、无噪声、抗震动、低热量,且其读写速度也快于传统硬盘。目前存在的问题一是成本高于常规的硬盘,二是寿命有限。Flash存储器都有一定的写入寿命,寿命到期后数据会读不出来且难以修复。 3) 光盘 光盘(Optical Disk)存储器是一种利用激光技术存储信息的辅助存储器。自20世纪70年代光存储技术诞生以来,产生了CD、DVD和BD三代光盘存储器产品,如表31所示。其中,DVD和BD的容量均是指单层单面的容量。表31光盘的三代产品 分代年代名称激光类型存储容量第1代1982CD光盘存储器红外光650MB第2代1995DVD光盘存储器红光4.7GB第3代2006BD光盘存储器蓝光25GB(1) 光盘存储器的结构与原理。光盘存储器由光盘片和光盘驱动器两个部分组成。光盘片用于存储数据,其基片是一种耐热的有机玻璃,直径大多为120mm(约5英寸),用于记录数据的是一条由里向外的连续的螺旋形光道。光盘存储数据的原理与磁盘不同,它通过在盘面上压制凹坑的方法来记录信息。凹坑的边缘表示二进制“1”,而凹坑内和外的平坦部分表示二进制的“0”,信息的读出需要使用激光进行分辨和识别。光盘信息的记录原理如图317所示。光盘驱动器简称光驱,用于带动盘片旋转并读出盘片上的(或向盘片上刻录)数据,其性能指标之一是数据的传输速率。 图317光盘的信息记录原理 (2) 光驱的类型。光盘驱动器由光头、光头驱动机构、盘片驱动机构和控制电路等组成。 光驱按其信息读写能力分为只读光驱和可写光驱(光盘刻录机)两大类。若按其可处理的光盘片类型进一步又可分成CD只读光驱和CD刻录机(使用红外激光)、DVD只读光驱和DVD刻录机(使用红色激光)、DVD只读/CD刻录机组合而成的“康宝”,以及大容量的蓝色激光光驱BD(Blueray Disc)。BD也分为只读光驱和BD刻录机。光驱的分类如图318所示。 图318光驱的分类 (3) 光盘片的类型。光盘片是光盘存储器的信息存储载体(介质),按其存储容量目前主要有CD光盘片、DVD光盘片和蓝色激光盘片三大类。每一大类按其信息读写特性又可进一步分成只读型光盘片、一次写入型光盘片和可擦写型光盘片三种。 CD光盘片主要用来存储高保真立体声音乐(称为CD唱片)。它有只读型(CDROM盘)、一次写入型(CDR盘)和可擦写型(CDRW盘)三种。CDROM盘是一种小型光盘只读存储器。它的特点是只能写一次,而且是在制造时由厂家用冲压设备把信息写入的。写好后信息将永久保存在光盘上,用户只能读取,不能修改和写入。CDR盘可由用户写入数据,但只能写一次,写入后不能擦除修改,适用于用户存储不允许随意更改的文档。CDRW盘可以多次改写,擦写次数可达几百次甚至上千次之多。由于容量太小,此类光盘已很少使用。 图319CD和DVD盘片对比DVD光盘片与CD光盘片的大小相同,但它有单面单层、单面双层、双面单层和双面双层共4个品种。DVD的光道道间距比CD盘小一半,且信息凹坑更加密集,如图319所示。它利用聚焦更细的红色激光进行信息的读取,因而盘片的存储容量大大提高。DVD盘的每一个面有一个或两个记录层。双层盘实际上是将两片盘重叠在一起,表面层是半透明反射层,通过它可以读取隐藏层的信息。与CD光盘片一样,DVD光盘片也分成只读型(DVDROM盘)、一次写入型(DVDR盘)和可擦写型(DVDRW盘)三种。 蓝光光盘(Blueray Disc,BD)是目前比较先进的大容量光盘片,单层盘片的存储容量为25GB,双层盘片的容量为50GB,是全高清影片的理想存储介质。新的三层和四层蓝光光盘容量达到100GB和128GB。BD盘片也有BDROM、BDR和BDRW之分。 3.3.5常用输入输出设备 输入设备是用于向计算机输入命令、数据、文本、声音、图像和视频等信息的装置,输出设备是将计算机中的数据信息传送到外部的设备,它将计算机内存储的信息转换为某种人们所需要的形式,如文本、图形、图像、声音或视频等。 1. 输入设备 常用的输入设备有键盘、鼠标、触摸屏、扫描仪、数码相机和传感器等。 1) 键盘 键盘(Keyboard)是用户与计算机进行交流的主要工具,是计算机最重要的输入设备,也是微型计算机必不可少的外部设备。用户通过键盘向计算机输入字母、数字、符号、命令等信息。早期使用机械式键盘,而现在大多使用电容式键盘。电容式键盘无磨损和接触不良问题,耐久性、灵敏度和稳定性都比较好,按键声音小,手感较好,寿命较长。键盘与主机的接口有PS/2接口、USB接口和无线接口(红外线或无线电波)。 2) 鼠标 鼠标(Mouse)也是微机上的一种常用的输入设备,是控制显示屏上光标移动位置的一种指点式设备。在软件支持下,通过鼠标上的按键,向计算机发出输入命令,或完成某种特殊的操作。目前常用的鼠标有机械式和光电式两类。机械式鼠标底部有一个滚动的橡胶球,可在普通桌面上使用,滚动球通过平面上的滚动把位置的移动变换成计算机可以理解的信号,传给计算机处理后,即可完成光标的同步移动。光电式鼠标有一个光电探测器,要在专门的反光板上移动才能使用。反光板上有精细的网格作为坐标,鼠标的外壳底部装着一个光电检测器,当鼠标滑过时,光电检测器根据移动的网格数转换成相应的电信号,传给计算机来完成光标的同步移动。鼠标可以通过专用的鼠标插头与主机相连接,也可以通过计算机中通用的串行接口(RS232C标准接口或USB接口)与主机相连接。 3) 触摸屏 现在,智能手机、电子书阅读器和GPS定位仪等广泛使用触摸屏作为其输入设备。触摸屏兼有鼠标和键盘的功能。触摸屏是在液晶面板上覆盖一层压力板,它对压力很敏感,当手指或笔尖施压其上时会有电流产生以确定压力源的位置,并对其进行跟踪,然后通过软件识别出用户所输入的信息。 4) 扫描仪 扫描仪是将原稿(图片、照片、底片、书稿)输入计算机的一种输入设备。扫描仪输入到计算机中的是原稿的“图像”。按结构来分,扫描仪可分为手持式、平板式、胶片专用和滚筒式等几种,如图320所示。手持式扫描仪扫描头较窄,只适用于扫描较小的图件。平板式扫描仪主要扫描反射式稿件,适用范围较广,其扫描速度、精度、质量比较好。胶片专用和滚筒式扫描仪是高分辨率的专业扫描仪,技术性能很高,多用于专业印刷排版领域。 图320扫描仪的类别 5) 数码相机 数码相机是一种重要的图像输入设备。它利用电子传感器把光学影像转换成电子数据的照相机。按用途分可为单反相机、微单相机、卡片相机、长焦相机和家用相机等。数码相机与普通照相机在胶卷上靠溴化银的化学变化来记录图像的原理不同,数码相机的传感器是一种光感应式的电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)。在图像传输到计算机以前,通常会先存储在数码存储设备中(通常使用闪存)。 6) 传感器 传感器是一种检测装置,它能感知被测量的信息,并将其变成电信号输入计算机,供计算机进行测量、转换、存储、显示或传输等处理。智能手机/平板电脑中的传感器除了触摸屏、摄像头、微型话筒之外,还有其他多种不同用途的传感器。例如,指纹传感器(自动采集用户指纹,实现对用户的身份认证)、环境光感应器(感知设备使用环境的光线明暗,自动调整屏幕的显示亮度,可以延长电池工作时间,对保护眼睛也有利)、近距离传感器(通过红外线进行测距,当手机用户接听电话或者装进口袋时,传感器可以判断出手机贴近了人脸或衣服而关闭屏幕的触控功能,以防止误操作)、气压传感器(检测大气压,感知当前高度以及辅助GPS定位)、三轴陀螺仪(感知手机横竖纵三个方向的位置变化,自动调整屏幕以横向还是纵向进行显示)、重力传感器(加速度感应器,感知用户晃动手机的速度、角度、方向和力量的大小)和磁力计(电子罗盘,用作电子指南针、帮助GPS定位)等。 2. 输出设备 常用的输出设备有显示器、打印机、声音输出设备(如扬声器、耳机和音箱)等。