计算机系统构成及硬件基础知识--软件评测师(一)

1 CPU

1.1 CPU的组成

    计算机系统是由硬件系统和软件系统组成的,通过运行程序来协同工作。计算机硬件是物理装置,计算机软件是程序数据相关文档的集合。

    CPU就是中央处理单元,简称微处理器或处理机,是计算机工作的核心不见,用于控制并协调各个部件。

(1) CPU主要由运算器、控制器、寄存器组和内部总线等部件组成。具体如下:

1)运算器:是数据加工处理部件,用于完成计算机的各种算术运算和逻辑运算。运算器接受控制器的命令而进行动作,它是执行部件。

2)控制器:控制器用于控制整个CPU的工作,它决定了计算机运行过程的自动化。控制器不仅要保证程序的正确执行,而且要能够处理异常事件。

3)寄存器组:可分为专用寄存器和通用寄存器。运算器和控制器中的寄存器是专用寄存器,其作用是固定的。通用寄存器用途广泛并可由程序员规定其用途,其数目因处理器不同有所差异。通用寄存器组是CPU中的一组工作寄存器,运算时用于暂存操作数或地址。在程序中使用通用寄存器可以减少访问内存的次数,提高运算速度。

4)内部总线: 将运算器、控制器和寄存器组等连接在一起。

(2)CPU的基本功能如下:

1)指令控制:CPU通过执行指令来控制程序的执行顺序。

2)操作控制: 一条指令功能的实现需要若干操作信号来完成,CPU产生每条指令的操作信号并将操作信号送往不同的部件,控制相应的部件按指令的功能要求进行操作。

3)时序控制:CPU通过时序电路产生的时钟信号进行定时,以控制各种操作按照指定的时序进行

4)数据处理:在CPU的控制下完成对数据的加工处理是其最根本的任务。另外还需要对内部或外部的中断以及DMA请求做出相应,进行相应的处理。

1.2 运算器

    运算器是数据加工处理部件,属于CPU的组成部分之一,用于完成计算机的各种算术和逻辑运算。运算器中个组成部件如下:

(1)算术逻辑单元(ALU): 负责处理数据,实现对数据的算术运算和逻辑运算。

(2)累加寄存器(AC): 它是一个通用寄存器,其功能是当运算器的算术逻辑单元执行算术或逻辑运算时,为ALU提供一个工作区。

(3)数据缓冲寄存器(DR): 在对内存储器进行读/写操作时,用DR暂时存放由内存储器读/写的一条指令或一个数据字,将不同时间段内读/写的数据隔离开来。

(4)状态条件寄存器(PSW):PSW保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容,主要分为状态标志和控制标志。这些标志通常分别由1位触发器保存,保存了当前指令执行完成之后的状态。

1.3 控制器

    控制器是CPU的重要组成部件之一,其组成部件如下:

  (1)指令寄存器(IR): 当CPU执行一条指令时,先把它从内存储器取到缓冲寄存器中,再送入IR暂存,指令译码器根据IR的内容产生各种微操作指令,控制其它的组成部件工作,完成所需的功能。

(2)程序计数器(PC): PC具有寄存信息和技术两种功能,又称为指令计数器。程序的执行分两种情况,一是顺序执行,二是转移执行。在程序开始执行前,将程序的起始地址送入PC,该地址在程序加载到内存时确定,因此PC的内容既是程序第一条指定的地址。执行指令时,CPU将自动修改PC的内容,以便使其保持的总是将要执行的下一条指令的地址。

(3)地址寄存器(AR): AR保存当前CPU所访问的内存单元的地址。由于内存和CPU存在着操作速度上的差异,所以需要使用AR保持地址信息,直到内存的读/写操作完成为止。

(4)指令译码器(ID): 指令分为操作码和地址码两部分。为了能执行任何给定的指令,必须对操作码进行分析,以便识别所完成的操作。指令译码器就是对指令中的操作码字段进行分析解释,识别该指令规定的操作,向操作控制器发出具体的控制信号,控制各部件工作,完成所需的功能。

(5)时序部件:用于产生时序脉冲和节拍电位以控制计算机各部件有序的工作。

(6)微操作信号发生器:根据指令提供的操作信号、时序产生器提供的时序信号,以及各功能部件反馈的状态信号等综合成特点的操作序列,从而完成对指令的执行控制。

    控制器的作用是控制整个计算机的各个部件有条不紊地工作,它的基本功能就是从内存取指令和执行指令。执行指令的过程分为如下几个步骤:

1)取指令:控制器首先按程序计数器所指出的指令地址从内存中取出一条指令。

2)指令译码:将指令的操作码部分送指令译码器进行分析,然后根据指令的功能向有关部件发出控制指令。

3)按指令操作码执行:根据指令译码器分析指令产生的操作控制命令以及程序状态字寄存器的状态,控制微操作形成部件产生一系列CPU内部的控制信号和输出到CPU外部的控制信号。在这一系列控制信号的控制下,实现指令的具体功能。

4)形成下一条指令地址:若非转移类指令,则修改程序计数器的内容:若是转移类指令,则根据转移条件修改程序计数器的内容。

    通过上述步骤逐一执行一系列指令,就使计算机能够按照这一系列指令组成的程序的要求自动完成各项任务。

2 数据的表示

2.1 进位计数制

    计算机中常用的进位数制有二进制、八进制、十进制和十六进制。

   二进制相关知识点:

1): bit ,简称b,存放一位二进制数,即0或者1, bit是存储信息最小的单位。

2)字节:Byte, 简称B,8位2进制信息称为一个字节,即:1B=8b, Byte是存储信息常用的基本单位。

3)常见的存储容量单位: BKBMBGBTB ... ,其相邻容量单位的换算都是2^{10},具体表示如下:1TB = 2^{10}GB=2^{20}MB=2^{30}KB = 2^{40}B

2.2 进制之间的换算

(1)二进制和十进制

1)二进制数转换成十进制数: 将二进制的每一位数乘以它的权,然后相加,即可求得对应的十进制数。

例如:1011(二进制)= 1×2^{3}+0×2^{2}+1×2^{1}+1×2^{0} = 8+0+2+1=11(十进制)

2)十进制转换成二进制:除2取余,余数部分从下到上进行排列成二进制

例如:11(十进制) --->  (1011)二进制

算式余数
11/251
5/221
2/210
1/201

(2)二进制和八进制的换算

1)二进制数转换成八进制数:从右向左,每三位二进制分成一组(不足三位时在左边补0),然后写出每一组的等值八进制数,顺序排列起来就得到所要求的八进制数。

例如: 1011(二进制) = 001 011 = 13(八进制)

2)八进制数转换成二进制数:那每一位八进制转换成下表对应的三位二进制即可。

二进制八进制
0000
0011
0102
0113
1004
1015
1106
111

7

(3)二进制和十六进制的换算

1)二进制数转换成十六进制数:从右往左,每四位二进制分成一组(不足四位时在左边补0),然后写出每一组的等值十六进制数,顺序排列起来就得到所需要的十六进制数。

例如: 11011(二进制)= 0001 1011 = 1B(十六进制)

2)十六进制数转换成二进制数:把每一位十六进制转换成下表对应的四位二进制即可:

二进制十六进制二进制十六进制
0000010008
0001110019
001021010A
001131011B
010041100C
010151101D
011061110E
011171111F

(4)八进制和十六进制的换算

    八进制和十六进制之间的换算可以通过二进制做为一个桥梁,即先转换为二进制,再进行二次转换

例如:33(八进制)= 011011 = 0001 1011 = 1B(十六进制)

2.3 码制

    为了便于运算,带符号的机器数可采用原码、反码和补码、移码等不同的编码方式:

注意:

1)计算机内部采用补码表示,好处是可以让符号位做为数值直接参加运算,而最后仍然可以得到正确的结果。

2)移码常用于表示浮点数中的阶码。

2.4 定点数和浮点数

(1)定点数:定点数是表示数据时,小数点的位置固定不变,小数点隐含表示从而不占位置。

小数点的位置通常有两种约定方式:

1)定点整数:纯整数,小数点在最低有效数值位之后。

2)定点小数:纯小数,小数点在最高有效数值位之前。

(2)浮点数:浮点数是小数点位置不固定的数,它能表示更大范围的数。一个含有小数点的二进制数N可以表示为一般的形式:N =2E X F。其中E称为阶码,F为尾数,这种表示数的方法称为浮点表示法。

    在浮点表示法中,阶码通常为带符号的纯整数,尾数为带符号的纯小数。浮点数的表示格式如下:

阶符阶码数符尾数

    浮点数所能表示的数值范围主要由阶码决定,所表示数值的精度则由尾数决定。 若不对浮点数的表示作出明确规定,同一个浮点数的表示就不是唯一的。

3 校验码

3.1 奇偶校验码

    通过在编码中增加一个校验位来使编码中1的个数为奇数(奇校验)或者偶数(偶校验),从而使码距变为2。

    码距是指一个编码系统中任意两个合法编码之间至少有多少个二进制位不同,即整个编码系统中任意两个码字的最小距离就是该编码系统的码距。

    对于奇偶校验,它可以检测代码中奇数位出错的编码,但不能发现偶数位出错的情况,即当合法编码中奇数位发生了错误,也就是编码中的1变成了0或0变成了1,则该编码中1的个数的奇偶性就发生了变化,从而可以发生错误。奇偶校验码只能发现错误,而不能纠正错误

3.2 海明码

    海明码是利用奇偶性来检错和纠错的校验方法。海明码的构成方法是:在数据位之间插入校验位,通过扩大码距来实现检错和纠错。校验码插入位置为编码鼠标的2^{k}处,具体公式为:

2^{k}-1\geqslantn+k, n 为数据个数,k为校验个数。

例如:对于8位的数据位,进行海明码校验需要4个校验位。令数据位为A_{7} 、A_{6} 、A_{5} 、A_{4}A_{3}A_{2}A_{1}A_{0},校验位位B_{4}B_{3}B_{2}B_{1},这4个校验位从i=0开始,依次插入2^{i}处,形成的海明码为C_{12}C_{11}、... 、C_{3}C_{2}C_{1},通过校验关系,确定各校验位的值,检测错误。对应关系如下:

C_{12}C_{11}C_{10}C_{9}C_{8}C_{7}C_{6}C_{5}C_{4}C_{3}C_{2}C_{1}
A_{7}A_{6}A_{5}A_{4}A_{3}B_{4}A_{2}A_{1}B_{3}A_{0}B_{2}B_{1}

3.3 循环冗余校验码

    循环冗余校验码简称CRC,利用生成多项式为k各数据位产生r个校验位来进行编码,其编码长度为 k+r。在求CRC编码时,采用的是模2运算。CRC由两部分组成,左边为数据信息码,右边为校验码。假设n为CRC码的字长,若信息码占k位,则校验码就占n-k位,所以CRC码又称为(n,k)码。校验码是由数据信息码产生的,校验码位数越长,该代码的校验能力就越强。

4 逻辑运算

5 指令系统的基础知识

5.1 指令概述

    CPU所能完成的操作是由其执行的指令决定的,这些指令称为机器指令。CPU能执行的所有机器指令的集合称为该CPU的指令系统。指令系统是计算机中硬件和软件之间的接口。一般来说,一条指令包括两个基本组成部分:操作码和地址码。基本格式如下:

操作码字段OP操作数地址码字段Addr

    操作码说明指令的功能及操作性质,地址码用来指出指令的操作对象,它指出操作数或操作数的地址及指令执行结果的之地。操作码用二进制编码来表示,该字段越长,所能表示的指令就越多。若操作码的长度为n,则可表示的指令为2^{n}条。

5.2 寻址方式

    寻址方式就是如何对指令中的地址字段进行解释,以获得操作数的方法或获得程序转移地址的方法。操作数的位置可能在指令中、寄存器中、存储器中或IO端口中。

(1)直接寻址:在直接寻址中,指令中的地址字段给出的地址A就是操作数的有效地址,即形式地址等于有效地址。

(2)间接寻址:间接寻址意味着指令中给出的地址A不是操作数的地址,而是存放操作数地址的主存单元的地址,简称操作数地址的地址。

(3)立即寻址:是一种特殊的寻址方式,指令中在操作码字段后面的部分不是通常意义上的操作数地址,而是操作数本身,也就是说数据就包含在指令中,只要取出指令,也就取出来可以立即使用的操作数。立即寻址是获取操作数最快的方式。

(4)寄存器寻址:寄存器寻址指令的地址码部分给出了某一个通用寄存器的编号Ri,这个指定的寄存器中存放着操作数。

(5)寄存器间接寻址:与寄存器寻址方式的区别在于:指令格式中的寄存器内容不是操作数,而是操作数的地址,该地址指向内存中的操作数。

(6)基址寻址:操作数存放在内存单元中。指令中操作数地址码给出基址寄存器和一个偏移量(可正可负),操作数的有效地址为基址寄存器的内容加上偏移量。

(7)相对寻址:这是基址寻址的一种变通,由程序计数器提供基准地址,指令中的地址码字段作为位移量D,两者相加后得到操作数的有效地址,即EA=(PC)+D。

(8)变址寻址:操作数存在内存单元中,操作数的有效地址等于变址寄存器的内容加上偏移量。

(9)隐含寻址:这种类型的指令,不是明显地给出操作数的地址,而是在指令中隐含着操作数的地址。

5.3 CISC 和 RISC

(1)CISC: 全称是复杂指令集计算机,基本思想是进一步增强原有指令的功能,用更为复杂的新指令取代原先由软件子程序完成的功能,实现软件功能的硬化,导致机器的指令系统越来越庞大、复杂。

(2)RISC: 全称是精简指令集计算机,基本思想是通过减少指令总数和简化指令功能降低硬件设计的复杂度,使指令能单周期执行,并通过优化编译提高指令的执行速度,采用硬布线控制逻辑优化编译程序。RISC所有指令的格式都是一致的,所有指令的指令周期也是相同的。

5.4 指令的流水线方式处理

    流水线方式是指在程序执行时,多条指令重叠进行操作的一种准并行处理实现技术。对指令的处理一般有以下三个步骤:

6 存储系统的基础知识

6.1 存储器的层次

    不同特点的存储器通过适当的硬件、软件有机地组合在一起形成计算机的存储体系结构。如下图:

    其中,Cache和主存之间的交互功能全部由硬件实现,而主存与外存之间的交互功能可由硬件和软件结合起来实现。如图所示,存储器的访问速度从上到下依次变慢,价格从上到下依次降低,即存取速度:寄存器>Cache>内存>外存。

6.2 存储器的分类

(1)按存储器所处的位置可分为:

1)内存:也称为主存,设在主机内或主板上,用来存放机器当前运行所需要的程序和数据,以便向CPU提供信息。相对于外村,其特点是容量小,速度快。

2)外存:也称为辅存,如磁盘、磁带和光盘等,用来存放当前不参加运行的大量信息,而在需要时调入内存。

(2)按存储器的构成材料可分为:

1)磁存储器:用磁性介质做成的,如磁芯、磁泡、磁膜、磁鼓、磁带及磁盘等

2)半导体存储器:根据所用元件可分为双极型和MOS型;根据数据是否需要刷新又可分为静态和动态两类。

3)光存储器:利用光学方法读/写数据的存储器,如光盘。

(3)按存储器的工作方式可分为:

1)读/写存储器(RAM):指既能读取数据也能存入数据的存储器。

2)只读存储器(ROM):指工作过程中仅能读取数据的存储器。根据数据的写入方式,这种存储器又可细分为ROM、PROM、RPROM和EEPROM等类型。

(4)按访问方式可分为按地址访问的存储器和按内容访问的存储器。

6.3 存储器数据的存取方式

(1)顺序存取:访问数据所需要的时间与数据所在的存储位置有关,磁带是典型的顺序存储器。

(2)随机存取:访问任何一个存储单元所需要的时间是相同的,例如主存储器,也就是内存。

(3)直接存取:介于随机存取和顺序存取之间的一种寻址方式,磁盘是一种直接存取存储器,它对磁道的寻址是随机的,而在一个磁道内则是顺序存取。

(4)相联存取:一种随机存取的方式,但选择某一个单元进行读写取决于其内容而不是地址,Cache通常采用相联存取方式。

6.4 Cache

    Cache即高速缓冲存储器,简称为高速缓存,用于对存储在主存中、即将使用的数据进行临时复制。Cache是为了解决CPU和主存之间速度不匹配的问题。

(1)Cache的特点如下:

1)Cache位于CPU和主存之间,容量较小。

2)速度一般比主存快5~10倍,由快速半导体存储器制成。

3)其内容是主存内容的副本,对程序员来说是透明的。

(2)Cache的主要组成部分如下:

1)存储器部分:用来存放主存的部分拷贝(副本)信息。

2)控制部分:其功能是判断CPU要访问的数据是否在Cache存储器中。

6.5 主存储器的性能指标

(1)内存容量:内存容量常以字节数表示,计算机系统中常见的容量单位为KB、MB、GB、TB等。

(2)存储时间:存储时间是指存储器从接到读或写的命令起,到读写操作完成为止所需要的时间。

(3)带宽:指寄存器的数据传送速率,即每秒传送的数据位数,记作B。假设存储器传送的数据宽度为W位(即一个存储周期中读取或写入的位数),那么 B=W/T(位/秒)。

(4)可靠性:存储器的可靠性用平均故障间隔时间MTBF来衡量。MTBF可以理解为两次故障之间的平均时间间隔。MTBF越长,表示可靠性越高,即保证正确工作的能力越强。

6.6 常见的外存储器

    外存储器用来存放暂时不用的程序和数据,外存上的信息以文件的形式存储,相对于内存,外存的容量大、速度慢。CPU不能直接访问外存中的程序和数据,只有将其以文件为单位调入主存方可访问。常见的外存储器如下:

(1)磁盘存储器:在磁表面存储器中,磁盘的存器速度较快,且具有较大的存储容量,是目前广泛使用的外存储器。

(2)硬盘:常见的硬盘有固态硬盘(SSD)、机械硬盘(HDD)和混合硬盘。SSD采用闪存颗粒来存储,HDD采用磁性碟片来存储,混合硬盘是把磁性硬盘和闪存集成到一起的一种硬盘。

(3)光盘存储器:是一种采用聚焦激光束在盘式介质上非接触地记录高密度信息的新型存储装置。根据性能和用途,光盘存储器可分为只读性光盘(CD-ROM)、只写一次型光盘(WORM)和可擦除型光盘。

(4)移动硬盘:容量大,支持热插拔,即插即用,可像使用本地硬盘一样存取文件。

(5)USB闪存盘:又称为U盘,是使用闪存作为存储介质的一种半导体存储设备,采用USB接口标准。

(6)云存储:是指通过集群应用、网格技术或分布式文件系统等功能,将网格中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。

6.7 虚拟存储器

    虚拟存储技术使主存和外存密切配合来构成虚拟存储器。虚拟存储技术是把很大的程序分成许多较小的块,全部存储在辅存中。运行时,把要用到的程序(数据)块先调入主存,并且把马上就要用到的程序块从主存调入高速缓存。这样,一边运行程序,一边进行所需程序(数据)块的调进/调出。只要及时供应所需处理的程序与数据,程序就能顺利而高速地运行下去。

7 输入输出的基础知识

7.1 输入输出技术概述

    输入输出技术简称I/O技术,输入输出系统是计算机与外界进行数据交换的通道。接口广义上讲是指来两个相对独立子系统之间的相连部分,也常被称为界面。用于连接主机与I/O设备的这个转换机构就是I/O接口。

7.2 CPU与外设之间交换数据的方式

(1)直接程序控制:指外设数据的输入/输出过程是在CPU执行程序的控制下完成的。这又可以分为2种:

1)无条件传送方式:又称为立即程序传送方式,在这种方式下,I/O接口总是准备好接收来自主机的数据,或随时准备向主机输入数据,CPU无需查看接口的状态,就执行输入/输出指令进行数据传送。

2)程序查询方式:在这种方式下,CPU通过执行程序查询外设的状态,判断外设是否准备好接收数据或准备好了向CPU输入数据。根据这种状态,CPU有针对性地为外设的输入/输出服务。

(2)中断方式:在CPU执行程序的过程中,由于某一个外部的或CPU内部事件的发生,使CPU暂时中止正在执行的程序,转去处理这一事件,当事件处理完毕后又回到原先被中止的程序,接着中止前的状态继续向下执行,这一过程就称为中断。

(3)直接存储器存取方式:简称DMA方式,通过硬件控制实现主存与I/O设备间的直接数据传送,数据的传送过程由DMA控制器(DMAC)进行控制,不需要CPU的干预。

(4)通道控制方式:通道是一种专用控制器,它通过执行通道程序进行I/O操作的管理,为主机与I/O设备提供一种数据传输通道。

8 总线的基础知识

    总线的英文是Bus,是连接多个设备的信息传送通道,实际上是一组信号线。总线通常分为如下图所示的几类:

(1)内部总线:用于芯片一级的互联,分为芯片内总线和元件级总线。

(2)系统总线:有时候也称为内总线,其性能直接影响到计算机的性能。

1)数据总线:用来传送数据信息,是双向的。CPU即可通过数据总线从内存或输入输出设备读入数据,也可以通过数据总线将内部数据送至内存或输出设备。

2)地址总线:用于传送CPU发出的地址信息,是单向的。地址总线的宽度决定了CPU的最大寻址能力。

3)控制总线:用来传送控制信号、时序信号和状态信息等。

系统总线的性能指标包括以下三种:

1)带宽:指的是单位时间内总线上传送的数据量,即每秒钟传送的最大稳态数据传输率。

2)位宽:指的是总线能同时传送的二进制数据的位数,或数据总线的位数,即32位、64位等总线宽度的概念。总线的位宽越宽,每秒钟数据传输率越大,总线的带宽越宽。

3)工作时钟频率:以MHz位单位,工作频率越高,总线工作速度越快,总线带宽越宽。

以上三种性能指标之间的关系是:

                             总线的带宽=总线的工作频率 x 总线的位宽 \div 8

    这里之所以要除以8,是因为单位变了,也就是比特和字节之间的转换。

(3)外部总线:又称通信总线,用于设备一级的互联,通过该总线和其它设备进行数据交换。常见的外部总线包括RS-232C、RS-485、SCSI和通用串行总线USB等。

9 计算机的性能评价指标

(1)时钟频率:又称为主频,指计算机CPU在单位时间内发出的脉冲数。时钟频率在一定程度上反映了机器的运算速度,单位是Hz。一般来讲,主频越高,速度越快。

(2)指令执行速度:一般用计算机加法指令的运算速度来衡量计算机的速度。加法指令的运算速度大体上可反映出乘法、除法等其它算术运算的速度,而且逻辑运算、转移指令等简单指令的执行时间往往被设计成与加法指令相同。

(3)数据处理速率(PDR)法:采用计算PDR值的方法来衡量机器性能,PDR值越大,机器性能越好。PDR与每条指令和每个操作数的平均位数以及每条指令的平均运算速度有关。

(4)运算精度:字长标志着运算精度,字长越长,运算精度越高,指令的直接导址能力也就越强。字长也称为机器字长,是指CPU一次能处理数据的位数。64位就是一次可以处理64位数据。

(5)内存容量:指内存储器中能存储信息的总字节数。一般来说,内存容量越大,计算机的处理速度越快。

(6)核心程序法:核心程序法把应用程序中用得最频繁的那部分核心程序作为评价计算机性能的标准程序,在不同的机器上运行,测得其执行时间,作为各类机器性能评价的依据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值