计算机硬件系统主要由中央处理器、存储器、输入/输出设备以及连接它们的系统总线组成。
1.中央处理器
中央处理器(Central Processing Unit, CPU)是计算机系统的运算控制中心,其主要功能是解释计算机指令及处理计算机软件中的数据。
(1)CPU的结构与功能
CPU的核心部件主要包括 运算器(Arithmetic Logic Unit, ALU)和控制器(Control Unit, CU)。CPU内部结构如下图所示:
图2.1.3 CPU内部结构
CPU各组成部分的功能介绍如下:
运算器(ALU) | 算术逻辑单元,主要对数据进行算术运算和逻辑运算。 |
控制器(CU) | 控制单元,主要用来解释程序中的指令,并据此发出各种操作命令来执行指令。 |
寄存器 | 高速缓存区域,主要用来暂时存储程序执行中用到的数据、指令或地址等。 |
中断系统 | 主要用于管理程序执行过程中出现异常情况或特殊请求时,原程序中止、转向异常处理程序及返回执行原程序的过程。 |
表2.1.2
(2)计算机指令
CPU的一个主要功能就是解析计算机指令。而计算机指令是指计算机能够完成的一个最基本的操作命令,它能够被计算机硬件直接理解并执行。计算机指令也称机器指令,一个计算机的所有机器指令的集合,也称为计算机的指令系统。
<1>指令格式
机器指令是由操作码和地址码两部分组成的,其格式如下图所示:
图2.1.4 指令的一般格式
- 操作码,指明该指令所要完成的具体操作(比如:加法、减法、移位等)。操作码是用二进制代码表示的,其位数反映了机器所能包含的最大指令条数。(比如:若操作码占用7位,则机器最多包含27条指令,即最多128条指令)。
- 地址码,指明该指令的源操作数据的地址、结算结果地址或下一条执行的地址。这里的地址可以是内存地址,也可以是寄存器地址,甚至是I/0设备的地址等。需要说明的是,有些特殊情况下,地址码也可以表示源操作数据本身。
<2>指令寻址方式
指令的寻址方式主要是指找到当前指令的数据地址及下一条将要执行指令的地址的方法。寻址方式分为指令寻址和数据寻址两大类。
- 指令寻址,就是寻找下一条将要执行指令的地址,分为顺序寻址和跳跃寻址。
顺序寻址 | 通过程序计数器加1,自动形成下一条指令的地址; |
跳跃寻址 | 通过转移类的指令实现,在转移指令中指明下一条指令地址。 |
表2.1.3
- 数据寻址,就是寻找当前指令中的数据地址。数据寻址方式较多,不同的场景使用不同的寻址方式。下面分别介绍如下:
立即寻址 | 操作数本身在指令中,即指令中的地址码就是操作数本身(又称为立即数) |
直接寻址 | 指令中的地址码就代表操作数的真实地址 |
隐含寻址 | 指令中没有指明操作数的地址,而是将操作数的地址隐含在操作码中或某个CPU寄存器中。 |
间接地址 | 指令中的地址码是操作数有效地址所在的存储单元地址,即地址码指明了操作数地址的地址。 |
寄存器寻址 | 指令中的地址码指明了CPU中寄存器的编号,操作数存储在寄存器中。 |
寄存器间接寻址 | 指令中的地址码指明了CPU中寄存器的编号,但寄存器中存储的不是操作数本身,而是操作数在主存中的地址。 |
基址寻址 | 系统设有基址寄存器,操作数的有效地址等于基址寄存机器中的内容加上指令中的地址码。特点是基址寄存器内容不变,而地址码变化。 |
变址寻址 | 系统设有变址寄存器,操作数的有效地址等于变址寄存机器中的内容加上指令中的地址码。特点是变址寄存器内容变化,而地址码不变。 |
相对寻址 | 操作数的有效地址等于程序计数器的内容加上指令中的地址码。 |
堆栈寻址 | 系统设有堆栈,操作数只能从栈顶地址指示的存储单元里存取。 |
表2.1.4
(3)指令执行过程
指令的执行过程可以分为三个步骤,取指令、分析指令、执行指令。而程序的执行就是循环这三个过程,从第一条指令开始,到最后一条指令结束。
图2.1.5 指令的执行过程
2.存储器
存储器是计算机系统中的重要部件,主要用来存储程序和数据,其性能对计算机的整体性能有着重要的影响。
(1)存储器的分类
<1>按存储介质分类(存储介质是指寄存并能区分两种状态的物质或元器件)
半导体寄存器 | 存储元件由半导体器件组成。优点是体积小、功耗低、存取时间短; |
磁表面存储器 | 磁性材料作为存储介质,在磁层上记录信息。按载磁体形状不同可分为磁盘和磁带等,其优点是数据不易丢失; |
磁芯存储器 | 磁芯是由硬磁材料做成环状元件,在磁芯上记录信息。优点是数据不易丢失,但缺点是体积大、工艺复杂、功耗大。目前几乎已淘汰; |
光盘存储器 | 应用激光在记录介质上记录信息。优点是数据不易丢失,记录密度高、耐用性好、可靠性高、可互换性强等; |
表2.1.5
<2>按存取方式分类
随机存储器(RAM) | (Random Access Memory, RAM),是一种可读/可写存储器,特点如下:
RAM又可分为静态RAM 和动态RAM,区别如下:
|
只读存储器(ROM) | (Read Only Memory,ROM),是一种只能对其存储内容读取,不能重新写入的存储器,其具有内容永久性,断电后信息不丢失的特点。根据制造工艺和功能又可以分为以下5种类型:
|
顺序存取存储器 | 又称串行访问存储器,是指对存储器进行读/写操作时,必须按其物理位置的先后顺序寻找地址。特点是存储的位置不同,读/写的时间不同。比如磁带; |
直接存取存储器 | 可以直接对存储地址进行读取(比如半导体存储器)或者先直接访问再串行访问(比如磁盘)。特点是存储位置,对读/写时间无影响或影响不大; |
表2.1.6
<3>按在计算机中的作用分类
主存储器(主存) | 最重要的存储器,特点是可以与CPU直接交换信息。特点是速度快、容量小、每位价格高; |
高速缓存存储器 | 用于两个速度不同的部件之间,作为缓冲使用。比如在CPU和内存之间设立高速缓存存储器,特点是速度、容量、价格介于主存和寄存器之间; |
辅助存储器(辅存) | 主存的后援存储器,主要用来存储暂时不用的程序和数据,不能直接和CPU交换信息,特点是速度慢、容量大、每位价格低; |
表2.1.7
(2)存储器的层次结构
存储器有3个性能指标(速度、容量、每位价格),一般来说,速度越快,每位价格越高,容量也就越小。考虑到计算机的成本,CPU内部的寄存器一般速度最快,价格最高,但其容量也最小。而主存速度较慢、容量较大,价格适中。但CPU和主存的读/取速度差别较大,影响计算机的整体性能,为匹配两则之间的读/取速度,又在两则之间加入了高速缓存寄存器。存储器的层次结构如下图所示:
图2.1.6 存储器层次结构
从上图可以看出,CPU、高速缓存和主存可以相互访问,但辅存只能访问主存。存储器层次结构主要体现在高速缓存—主存和主存—辅存两个存储层次上。
- 高速缓存—主存层次,主要解决CPU和主存速度不匹配的问题。从CUP角度来看,这一层次的速度接近于高速缓存,高于主存,其容量和每位价格接近于主存。
- 主存—辅存层次,主要解决存储系统的容量问题。从整体上看,其速度接近于主存,容量接近于辅存,每位价格也接近于辅存。
3.总线
计算机系统的硬件之间的连接方式有两种,一种是各部件之间使用单独的连线,称为分散连接;一种是将各部件连到一组公用信息传输线上,称为总线连接。由此可见,总线就是连接多个部件的信息传输线,是各部件共享的传输介质,其特点就是分时(某一时刻只能传输一个部件的信息)和共享(各部件可以在不同时刻相互传输信息)。
(1)总线的分类
按连接部件的不同,可以分为以下三种:
片内总线 | 又称内部总线,指芯片内的总线,比如在CPU内部寄存器与寄存器之间、寄存器与运算器之间的信息传输都由片内总线连接; |
系统总线 | 指计算机系统内各功能部件(CPU、主存、I/0设备)之间的信息传输线,又称为板级总线或板间总线; 系统总线按传输信息的不同,又分为数据总线、地址总线和控制总线;
|
通信总线 | 指用于计算机系统之间或计算机系统与其他系统之间的信息传输线。其按传输方式不同又可分为串行通信总线和并行通信总线; |
表2.1.8
(2)总线结构
从系统总线的角度来看,总线结构通常分为单总线结构、双总线结构和三总线结构,分别介绍如下:
- 单总线结构,只有一组系统总线,它是将CPU、主存、I/O设备都挂在该组总线上,允许I/0设备之间、I/0设备与CPU之间、I/0设备与主存之间直接交换信息。其优点是结构简单、便于扩充,缺点是极易形成信息传输瓶颈,影响系统效率。一般被小型计算机或微型计算机采用。
图2.1.7 单总线结构图
- 双总线结构,就是将速度较低的I/0设备从单总线上分离出来,形成主存总线和I/0设备总线分离的双总线结构。双总线结构使计算机系统的信息传输效率得的了较大提升,该结构大多用于大、中型计算机系统。
图2.1.8 双总线结构图
注释:上图中的通道是一个特殊功能的处理器,具有对I/0设备统一管理的功能,可以完成I/0设备与主存之间的数据传输。
- 三总线结构,在双总线结构的基础上,将速率不同的I/0设备分成两类,并把它们连接在不同的总线上,从而形成三总线结构。主存总线用于CPU与主存之间的信息传输 ,I/0总线用于CPU与低速各类I/0设备之间的信息传输,而DMA总线(直接内存访问总线)用于高速I/0设备(比如磁盘)与主存之间的信息传输。
图2.1.9 三总线结构图
(3)总线仲裁
总线上的各类设备,可以按其对总线有无控制权分为主设备和从设备,其中主设备有总线控制权,可以启动总线上的信息传输。而从设备无总线控制权,只能被动响应主设备发来的总线命令。若多个主设备同时希望启用总线进行信息传输时,应该如何决定应该有哪一个主设备优先使用呢,这就涉及到了总线的判优控制或仲裁逻辑。
总线判优控制一般分为集中式和分布式两种,具体描述如下:
- 集中式,将总线控制逻辑集中于一处(比如,放在CPU中),所有总线申请都发送到此,并利用一个特殊的裁决算法进行裁决。常见的裁决方式有以下三种:
链式查询 | 就是串行的对每一个I/0设备进行总线申请查询,如果某一个设备有总线申请,则查询不再继续,而是将总线使用权给予当前I/0设备。其特点就是离总线控制部件最近的设备具有最高优先级。 |
计数器定时查询 | 总线控制器接收到总线申请后,总线控制器中的计数器开始计数,并将计数值发给各申请总线的I/0设备,当某一个I/0设备的地址与计数器一致时,计数器终止,同时该I/0设备便取得了总线使用权。由于计数器可以从0开始,也可以从上次终止数开始,所以其特点是设备优先级次序是可以改变的。 |
独立请求方式 | 每台主设备可以单独向控制器发送总线申请,控制器有一个排队电路可以根据优先次序确定响应哪一台申报的申请。其特点是响应速度快、优先次序控制灵活(可通过程序改变),但控制线数量多,控制逻辑复杂。 |
表2.1.9
- 分布式,不同于集中式,而是将控制逻辑分散到与总线连接的各个部件或设备上。
(4)总线工作过程
在总线上,完成一次数据传输的过程可以分为申请分配阶段、寻址阶段、传数阶段和结束阶段,具体如下图所示:
图2.1.10 总线工作过程
(5)总线标准
总线标准,可以认为是系统与各模块或模块与模块之间的信息传输标准。这个标准对两端的设备或模块都是透明的,即任一方只需满足标准的要求完成与总线的交互,而无需了解对方模块与总线的连接要求。目前常用的总线标准有以下几种:
- ISA总线(Industry Standard Architecture,工业标准体系结构);
- EISA总线(Extended Industry Standard Architecture,EISA),扩展的ISA总线;
- VESA总线(VL-BUS)总线,由VESA(Video Electronic Standard Association,视频电子标准协会)提出的局部总线标准;
- PCI总线(Peripheral Component Interconnect,外围部件互连);
- AGP总线(Accelerated Graphics Port,加速图形端口);
- RS-232C总线,由美国电子工业协会推荐的一种串行通信总线标准;
- USB总线(Universal Serial Bus,通用串行标准);
4.外部设备
计算机系统中除中央处理器和主存外,其他的硬件设备都可以统称为外部设备,外部设备可以分为辅助存储器和I/0设备等。
(1)辅助存储器
辅助存储器,又称外部存储器,简称外存。与主存相比,辅助存储器具有容量大、速度慢、价格低、可脱机保持等特点,断电后数据不会丢失,属于“非易失性”存储器。目前广泛使用的辅助存储器包括硬盘、磁带、光盘、闪存等。目前最重要的辅助存储器是硬盘,现简单介绍如下:
<1> 硬盘概述
硬盘由磁盘驱动器、磁盘控制器和盘片组成。其中盘片是存储信息的载体,由硬质铝合金材料制成,其表面涂有一层可被磁化的硬质特性的材料。一个硬盘一般会包含多个盘片。磁盘的简单结构图如下所示:
图2.1.11 硬盘结构图
硬盘的一些概念解析:
记录面 | 每个盘片的两面都可以用来记录信息,所以称为记录面或盘面。对于移动磁头硬盘来说,每个记录面对应一个磁头,记录面号也是磁头号; |
磁道 | 当磁头不动,盘片旋转时,磁头则在盘面上划出一个圆形的轨道,该轨道就是磁道。最外圈的磁道为0号,往内则磁道号依次递增。 |
扇区 | 将磁道换分为若干个弧段,每个弧段就是一个扇区,扇区号从1开始。扇区是磁盘的最小信息记录单位。 |
柱面 | 各记录面上相同的编号的磁道构成的一个圆柱面。 |
读写头 | 又称磁头,用来对记录面进行信息的读写。 |
磁盘地址 | 在对磁盘进行读写时,需要找到读写的具体扇区,所以磁盘地址一般有磁盘号(可能有多个磁盘)、记录面(磁头)号、柱面(磁道)号、扇区号等组成。 |
表2.1.10
<2>硬盘分类
按磁头是否可以移动,硬盘可以分为固定磁头硬盘和移动磁头硬盘;按磁盘是否可换又可分为可换磁盘硬盘和固定磁盘硬盘。
磁头是否 可以移动 | 固定磁头硬盘 | 磁头位置固定不动,磁盘上的每一个磁道都对应有一个磁头。特点是省去了寻找磁道的时间、存取速度快、但成本高; |
移动磁头硬盘 | 每个盘面只有一个磁头,在存取数据时,磁头在盘面作径向移动,寻找对应的磁道。特点是需要寻道时间,存取速度慢; 目前常用的磁盘都是移动磁头磁盘。 | |
磁盘是否 可以更换 | 可换磁盘硬盘 | 指盘片可以更换,可以脱机保存。 |
固定磁盘硬盘 | 盘片不可更换,更换时需要将整个磁盘一起更换。 |
表2.1.11
(2)I/0设备
外部设备中除去辅助存储器,其他的都可以归类为I/0设备,其一般主要指人机交互设备或机-机通讯设备。
<1> I/0设备分类
I/0设备可以分为输入设备、输出设备和其他I/0设备,具体描述如下:
输入设备 | 向计算机输入信息的设备,比如键盘、鼠标、摄像头、扫描仪等; |
输出设备 | 将计算机的信息以各种方式(数字、文字、图片、声音等)表示出来的设备,比如显示器、打印机、绘图仪、音响等; |
其他I/0设备 | 输入设备和输出设备之外的设备,比如终端设备(键盘+显示器)、汉字处理设备、多媒体设备等; |
表2.1.12
<2> I/0接口
I/0接口位于主机与外设之间,主要用来协助完成主机与外设之间的信息传输。I/0接口的主要作用包含:
- 输入/输出数据的缓存,使用缓冲技术以匹配CUP与I/O设备的速度;
- 信号或数据格式的转化;
- 设备寻址;
- 主机与外设之间的通信控制;
<3>I/0控制方式
I/0设备在与主机交换信息时,有四种控制方式,分别描述如下:
程序查询方式 | 启动某一I/0设备后,CPU通过程序不断查询该I/0设备是否已做好准备,若做好准备,则停止查询并进行读写操作。该方式使CPU处于反复查询过程中,效率低下。 |
程序中断方式 | 启动某一I/0设备后,CPU不再查询设备状态,而是继续执行原程序,只是当I/0设备准备好后会向CPU发出中断请求,此时CPU才会停止原程序并响应该中断请求,进行读写操作。 |
DMA方式 | 直接存储器存取方式,在主存与I/O之间开辟了直接数据通道,基本上无需CPU干涉,就可以完成主存与外设间的信息传输。 |
I/0通道方式 | 系统中有通道控制部件,每一个通道负责管理若干个I/0设备。当主机需要和某个I/0设备传输数据时,首先启动有关通道,有通道负责数据的传输,完成读写操作。该方式是CPU与I/0设备传输数据最快的方式。 |
表2.1.13
5.硬件技术指标
一台计算机性能的优劣在很大程度上是取决于计算机硬件的各种性能,下面介绍几种重要的计算机硬件指标。
(1)与CPU相关的性能指标
- 机器字长,指CPU一次能处理的二进制数据位数,通常与CPU内部的寄存器位数有关。在其他条件不变的情况下,字数越长,计算机数据处理能力越强。
- 指令字长,指一个指令中包含的二进制代码的总位数。指令字长取决于操作码的长度、地址码的长度和地址码的个数。不同的指令其字长可能是不一样的。
- 时钟周期,是计算机中最基本、最小的时间单位。在一个时钟周期内,CPU仅能完成一个最基本的操作。
- 主频,指CPU的时钟频率,也可以理解为1秒钟有多少个时钟周期,单位是MHz。一般认为,主频越高,CPU的运算速度就越快。
- 机器周期,也称为CPU周期,一般是指CPU进行一次存储器访问所需的最短时间。一个机器周期有若干是时钟周期组成。
- 指令周期,指CPU取出并执行一条指令所需的时间。一个指令周期包含若干个机器周期。但任何指令都有取指令的步骤,所以最短的指令周期也要包含一个机器周期。
- 运算速度,指CPU每秒所能执行的加法指令数量。通常用百万次/秒(MIPS)来表示。
(2)与存储器有关的性能指标
- 存储字长,指一个存储单元可以存放的二进制数据位数。
- 存储容量,指存储器中可以存放的二进制数据总位数。即存储容量=存储字长 * 存储单元个数。通常用B,KB,MB,GB等单位来表示。
bit,位,表示一位二进制数码,是计算机中最小的单位。
B,字节,表示8位的二进制数据。
KB,千字节,等于1024 B。
MB,兆字节,等于1024 KB。
GB,千兆字节,等于1024 MB。
(3)与总线有关的性能指标
- 总线周期,完成一次总线操作所需的时间。总线周期一般包含若干个时钟周期。
- 总线频率,即总线的工作频率,可以理解为一秒钟有多少个总线周期。
- 总线宽度,也称数据总线宽度,指数据总线的线路根数。用位来表示,若数据总线有16根线路,则表示为16位数据总线。
- 总线带宽,总线的数据传输率,即单位时间内总线上可以传输的数据位数,通常用单位MB/s(兆字节每秒)来表示。
- 信号线数,指地址总线、数据总线和控制总线3种总线线路的总和。