2.1 计算机硬件基础知识
2.1.1 计算机系统的组成、体系结构分类及特性
CPU和存储器的组成、性能和基本工作原理
CISC/RISC,流水线操作,多处理机,并行处理
常用 I/O 设备、通信设备的性能以及基本工作原理
I/O 接口的功能、类型和特性
I/O控制方式(中断系统、DMA、I/O处理机方式)
2.1.2 存储系统
虚拟存储器基本工作原理,多级存储体系
RAID 类型和特性
2.1.3 可靠性与系统性能评测基础知识
诊断与容错
系统可靠性分析评价
计算机系统性能评测方法
计算机体系结构分类:
从宏观上按处理机数量进行分类,分为单处理系统、并行处理与多处理系统和分布式处理系统。
从微观上按并行程度分类:最为常见分类方式有:Flynn分类法与冯氏分类法。考试中主要考察的是Flynn分类法。
Flynn分类法是根据指令流、数据流和多倍性三方面来进行分类的:
计算机硬件组成:
计算机硬件系统是依照冯·诺依曼所设计体系结构,即包括运算器、控制器、存储器、输入设备和输出设备五大部件组成。
运算器和控制器组成中央处理器(CPU)
运算器负责完成算术、逻辑运算功能,通常由ALU(算术/逻辑单元)、寄存器、多路转换器、数据总线组成;
控制器则负责依次访问程序指令,进行指令译码,并协调其他设备,通常由程序计数器(PC)、指令寄存器、指令译码器、状态/条件寄存器、时序发生器、微操作信号发生器组成。
程序计数器:用于存放下一条指令所在单元的地址的地方。由于大多数指令都是按顺序来执行的,所以修改的过程通常只是简单的对PC加1。当遇到转移指令时,后继指令的地址(即PC的内容)必须从指令寄存器中的地址字段取得。在这种情况下,下一条从内存取出的指令将由转移指令来规定,而不像通常一样按顺序来取得。因此程序计数器的结构是具有寄存信息和计数两种功能的结构。
指令寄存器:用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存取到数据寄存器中,然后再传送至指令寄存器。指令划分为操作码和地址码字段,由二进制数字组成。
指令译码器:译码是编码的逆过程。译码器是可以将输入二进制代码的状态翻译成输出信号,以表示其原来含义的电路。
在运算时,数据均在主存储器中,操作数可以采用以下几种寻址方式:
(1)立即寻址方式
指令的地址字段指出的不是操作数的地址,而是操作数本身。这种方式的特点是指令执行时间很短,不需要访问内存取数。题目中所说的“操作数包含在指令中的寻址方式”就是立即寻址。
(2)直接寻址方式
直接寻址特点是:在指令格式的地址字段中直接指出操作数在内存的地址D。
(3)间接寻址方式
间接寻址的情况下,指令地址字段中的形式地址D不是操作数的真正地址,而是操作数地址的指示器,D单元的内容才是操作数的有效地址。
(4)寄存器寻址方式和寄存器间接寻址方式
指令中给出的操作数地址不是内存的地址单元号,而是通用寄存器的编号。这也就是题目中所说的“操作数在寄存器中的寻址方式”。
寄存器间接寻址方式与寄存器寻址方式的区别在于:指令格式中的寄存器内容不是操作数,而是操作数的地址,该地址指明的操作数在内存中。这也就是题目中所说的“操作数的地址在寄存器中的寻址方式”。
(5)相对寻址方式
相对寻址是把程序计数器PC的内容加上指令格式中的形式地址D而形成操作数的有效地址。程序计数器的内容就是当前指令的地址。
CISC(复杂指令计算机)与RISC(精简指令集计算机):
计算机执行程序所需的时间P由三方面因素决定:编译后产生的机器指令数I、执行每条指令所需的平均周期数CPI,以及每个机器周期的时间T。它们的关系是P=I×CPI×T。RISC编译后产生的机器指令数(I)增多了,但指令所需的周期数(CPI)和每个周期的时间(T)都可以减少。
CISC(Complex Instruction Set Computer,复杂指令集计算机)的基本思想是:进一步增强原有指令的功能,用更为复杂的新指令取代原先由软件子程序完成的功能,实现软件功能的硬件化,导致机器的指令系统越来越庞大而复杂。CISC计算机一般所含的指令数目至少300条以上,有的甚至超过500条。
RISC(Reduced Instruction Set Computer,精简指令集计算机)的基本思想是:通过减少指令总数和简化指令功能,降低硬件设计的复杂度,使指令能单周期执行,并通过优化编译提高指令的执行速度,采用硬布线控制逻辑优化编译程序。在20世纪70年代末开始兴起,导致机器的指令系统进一步精炼而简单。
RISC(精简指令系统计算机)的设计原则有:
(1)只使用频度高的及最有用的指令,一般为几十条指令;
(2)指令格式简单化、规格化;
(3)每条指令在一个机器周期内完成;
(4)只有存数和取数指令访问存储器;
(5)以最简单、有效的方式支持高级语言。
流水线:
指令流水线是将指令执行分成几个子过程,每一个子过程对应一个工位,我们称为流水级或流水节拍,这个工位在计算机里就是可以重叠工作的功能部件,称为流水部件。
(1)计算流水线执行时间
假定有某种类型的任务,共可分成N个子任务,执行每个子任务需要时间t,则完成该任务所需的时间即为Nt。若以传统的方式,则完成k个任务所需的时间是kNt;而使用流水线技术执行,花费的时间是Nt+(k-1)t。如果每个子任务所需的时间不同,则其速度取决于其执行顺序中最慢的那个(也就是流水线周期值等于最慢的那个指令周期)。另外,还应该掌握几个关键的术语:流水线的吞吐率(等于任务数/完成时间),加速比(不采用流水线的执行时间/采用流水线的执行时间)。
(2)影响流水性的主要因素
转移指令:因为前面的转移指令还没有完成,流水线无法确定下一条指令的地址,因此也就无法向流水线中添加这条指令。
共享资源访问的冲突:也就是后一条指令需要使用的数据,与前一条指令发生的冲突,或者相邻的指令使用了相同的寄存器,这也会使得流水线失败。
响应中断:当有中断请求时,流水线也会停止。对于这种情况有两种响应方式,一种是立即停止——精确断点法,能够立即响应中断;另一种是流水线中的指令继续执行,不再新增指令到流水线——不精确断点法。
若某条无条件转移汇编指令采用直接寻址,则该指令的功能是将指令中的地址码送入__( )__。
A.PC(程序计数器) B.AR(地址寄存器) C.AC(累加器)D.ALU(算逻运算单元)
解析:程序计数器是用于存放下一条指令所在单元的地址的地方。在程序执行前,必须将程序的起始地址,即程序的一条指令所在的内存单元地址送入程序计数器,当执行指令时,CPU将自动修改程序计数器的内容,即每执行一条指令程序计数器增加一个量,使其指向下一个待指向的指令。程序的转移等操作也是通过该寄存器来实现的。
答案:A
编写汇编语言程序时,下列寄存器中程序员可访问的是__(3)__。
A.程序计数器(PC) B.指令寄存器(IR) C.存储器数据寄存器(MDR) D.存储器地址寄存器(MAR)
解析:作为程序员,应该要能控制其所编写程序的执行过程,这就需要利用程序计数器来实现,因此程序员能访问的是程序计数器。
答案:A
系统响应时间和作业吞吐量是衡量计算机系统性能的重要指标。对于一个持续处理业务的系统而言,其____。
A.响应时间越短,作业吞吐量越小 B.响应时间越短,作业吞吐量越大
C.响应时间越长,作业吞吐量越大 D.响应时间不会影响作业吞吐量
解析:系统响应时间是指用户发出完整请求到系统完成任务给出响应的时间间隔。作业吞吐量是指单位时间内系统完成的任务量。若一个给定系统持续地收到用户提交的任务请求,则系统的响应时间将对作业吞吐量造成一定影响。若每个任务的响应时间越短,则系统的空闲资源越多,整个系统在单位时间内完成的任务量将越大;反之,若响应时间越长,则系统的空闲资源越少,整个系统在单位时间内完成的任务量将越小。
答案:B
Cache(高速缓冲存储器,通常速度比内存快)
由于在CPU与存储系统间存在着数据传送带宽的限制,因此在其中设置了Cache,以提高整体效率。但由于其成本更高,因此Cache的容量要比内存小得多。Cache是一种相联存储器(即按内容进行存储的存储器)。
Cache存储器的映射机制:
CPU发生访存请求时,会先让Cache判断是否包括,如果命中(即包括请求的内容)就直接使用。这个判断的过程就是Cache地址映射,这个速度应该尽可能快,常见的映射方法有直接映射、全相联映射和组相联映射三种:
直接映射:是一种多对一的映射关系,但一个主存块只能够复制到Cache的一个特定位置上去。Cache的行号i和主存的块号j有函数关系:i=j%m(其中m为Cache总行数)。
相联映射:将主存中一个块的地址与块的内容一起存于Cache的行中。速度更快,但控制复杂。
组相联映射:是前两种方式的折中方案。它将Cache中的块再分成组。然后通过直接映射方式决定组号,再通过相联映射的方式决定Cache中的块号。
Cache淘汰算法:
当Cache数据已满,并且出现未命中情况时,就是淘汰一些老的数据,更新一些新的数据。而选择淘汰什么数据的方法就是淘汰算法,常见的方法有三种:随机淘汰、先进先出(FIFO)淘汰(淘汰最早调入Cache的数据)、最近最少使用(LRU)淘汰法。其中平均命中率最高的是LRU算法。
Cache存储器的写操作:
在使用Cache时,需要保证其数据与主存一致,因此在写Cache时就需要考虑与主存间的同步问题,通常使用以下三种方法:写直达(写Cache时,同时写主存)、写回(写Cache时不马上写主存,而是等其淘汰时回写)、标记法。
存储系统
主存(内存)
(1)主存储器的种类
RAM:随机存储器,可读写,断电后数据无法保存,只能暂存数据。
SRAM:静态随机存储器,在不断电时信息能够一直保持。
DRAM:动态随机存储器,需要定时刷新以维持信息不丢失。
ROM:只读存储器,出厂前用掩膜技术写入,常用于存放BIOS和微程序控制。
PROM:可编程ROM,只能够一次写入,需用特殊电子设备进行写入。
EPROM:可擦除的PROM,用紫外线照射15~20分钟可擦去所有信息,可写入多次。
E 2 PROM:电可擦除ERPOM,可以写入,但速度慢。
闪速存储器:现在U盘使用的种类,可以快速写入。
记忆时,抓住几个关键英文字母。A,即Access,说明读写都行;O,即Only,说明只读;P,即Programmable,说明可通过特殊电子设备写入;E,即Erasable,说明可擦写;E平方说明是两个E,第二个E是电子。
(2)主存储器的组成
实际的存储器总是由一片或多片存储器配以控制电路构成的。其容量为W×B,W是存储单元(word,即字)的数量,B表示每个word由多少bit(位)组成。如果某一芯片规格为w×b,则组成W×B的存储器需要用(W/w)×(B/b)个芯片。
(3)主存储器的地址编码主存储器(内存)采用的是随机存取方式,需对每个数据块进行编码,而在主存储器中数据块是以word来标识的,即每个字一个地址,通常采用的是16进制表示。例如,按字节编址,地址从A4000H到CBFFFH,则表示有(CBFFF-A4000)+1个字节,28000H个,也就是163840个字节,等于160KB。
要注意的是,编址的基础可以是字节,也可以是字(字是由1个或多个字节组成的),要算地址位数,首先应计算要编址的字或字节数,然后求2的对数即可得到。
例题:
位于CPU与主存之间的高速缓冲存储器Cache用于存放部分主存数据的拷贝,主存地址与Cache地址之间的转换工作由____完成。
A.硬件 B.软件 C.用户 D.程序员
解析:从Cache-主存层次实现的目标看,一方面既要使CPU的访存速度接近于访Cache的速度,另一方面为用户程序提供的运行空间应保持为主存容量大小的存储空间。在采用Cache-主存层次的系统中,Cache对用户程序而言是透明的,也就是说,用户程序可以不需要知道Cache的存在。因此,CPU每次访存时,依然和未使用Cache的情况一样,给出的是一个主存地址。但在Cache-主存结构中,CPU首先访问的是Cache,并不是主存。为此,需要一种机制将主存地址转换成对应的Cache地址,这个处理过程对速度要求非常高,因此它是完全由硬件来完成的。
答案:A
在程序的执行过程中,Cache与主存的地址映像由____。
A.专门的硬件自动完成 B.程序员进行调度 C.操作系统进行管理 D.程序员和操作系统共同协调完成
解析:Cache与主存的地址映像需要专门的硬件自动完成,使用硬件来处理具有更高的转换速率。
答案:A
若内存容量为4GB,字长为32,则__(5)__。
A.地址总线和数据总线的宽度都为32
B.地址总线的宽度为30,数据总线的宽度为32
C.地址总线的宽度为30,数据总线的宽度为8
D.地址总线的宽度为32,数据总线的宽度为8
解析:字长是指在同一时间中CPU处理二进制数的位数叫字长。
数据总线是用于在计算机中传送数据的总线,它可以把CPU的数据传送到存储器或输入输出接口等其它部件,也可以将其它部件的数据传送到CPU。数据总线的位数是微型计算机的一个重要指标,通常与字长一致,所以字长32也就意味着数据总线的宽度为32。地址总线是传送地址信息的总线,根据地址总线的多少可以确定内存容量的大小,如32位的地址总线可以允许2的32次方的内存容量。
答案:A
若某计算机系统的I/O接口与主存采用统一编址,则输入输出操作是通过____指令来完成的。
A.控制 B.中断 C.输入输出 D.访存
解析:I/O接口与主存采用统一编址,即将I/O设备的接口与主存单元一样看待,每个端口占用一个存储单元的地址,其实就是将主存的一部分划出来作为I/O地址空间。访存指令是指访问内存的指令,显然,这里需要访问内存,才能找到相应的输入输出设备,一次需要使用访存指令。而控制类指令通常是指程序控制类指令,用于控制程序流程改变的指令,包括条件转移指令、无条件转移指令、循环控制指令、程序调用和返回指令、中断指令等。
答案:D
设用2K×4位的存储器芯片组成16K×8位的存储器(地址单元为0000H~3FFFH,每个芯片的地址空间连续),则地址单元0B1FH所在芯片的最小地址编号为____。
A.0000H B.0800 H C.2000 H D.2800 H
解析:芯片的大小为2k×4位,而存储器的大小为16k×8位,不难得出要获得这样一个大小的存储器,需要16片2k×4位的芯片。如果按字节编址,对应一个大小为16k×8位的存储器,需要14位地址,其中高4位为片选地址,低10位为片内地址,而题目给出的地址0B1FH转换为二进制为00 1011 0001 1111,其高4位为0010,即片选地址为2。因此,地址0B1FH对应第2片芯片,该芯片的起始地址(最小地址)为001000 0000 0000,即0800H。
答案:B
正常情况下,操作系统对保存有大量有用数据的硬盘进行__(8)__操作时,不会清除有用数据。
A.磁盘分区和格式化 B.磁盘格式化和碎片整理 C.磁盘清理和碎片整理 D.磁盘分区和磁盘清理
解析:这题主要考查我们对磁盘分区、格式化、碎片整理、磁盘清理等概念的理解。
磁盘分区是指将一块容量相对较大的磁盘划分为多块容量相对较小的磁盘,磁盘分区并不删除磁盘上的数据,但一般情况下,磁盘分区后要经过格式化后才能正式使用。
磁盘格式化在往磁盘的所有数据区上写零的操作过程,它是一种纯物理操作,同时对硬盘介质做一致性检测,并且标记出不可读和坏的扇区。那么格式化后,磁盘原有的数据被清除。
磁盘清理也可以删除计算机上的文件,但它主要用于删除计算机上那些不需要的文件。
碎片整理是指通过系统软件或一些专业的磁盘碎片整理软件对计算机磁盘在长期使用过程中产生的碎片和凌乱文件重新整理,以释放出更多可用的存储空间。
答案:C
____不属于按寻址方式划分的一类存储器。
A.随机存储器 B.顺序存储器 C.相联存储器 D.直接存储器
解析:本题考查存储器类型的划分。
按寻址方式划分,存储器可分为:顺序存储(如:磁带机),直接存储器(如:磁盘、硬盘、光盘),随机存储器(如:内存、U盘)。
答案:C
可靠性计算:
可靠性计算主要涉及三种系统,即串联系统、并联系统和冗余系统。
(1)串联系统
假设一个系统由n个子系统组成,当且仅当所有的子系统都能正常工作时,系统才能正常工作,这种系统称为串联系统。
设系统各个子系统的可靠性分别用R1、R2、...、Rn表示,则系统的可靠性 R = R1 * R2 * ... * Rn。
如果系统的各个子系统的失效率分别用λ1,λ2,...,λn来表示,则系统的失效率 λ = λ1+λ2+...+λn。
(2)并联系统
假如一个系统由n个子系统组成,只要有一个子系统能够正常工作,系统就能正常工作
设系统各个子系统的可靠性分别用R1、R2、...、Rn表示,则系统的可靠性 R = 1-(1-R1) *(1-R2) * ... * (1-Rn)。
如果系统的各个子系统的失效率均为λ,则系统的失效率 μ
在并联系统中只有一个子系统是真正需要的,其余n-1个子系统都被称为冗余子系统。该系统随着冗余子系统数量的增加,其平均无故障时间也会增加。
(3)模冗余系统
m模冗余系统由m个(m=2n+1为奇数)相同的子系统和一个表决器组成,经过表决器表决后,m个子系统中占多数相同结果的输出可作为系统的输出。
在m个子系统中,只有n+1个或n+1个以上的子系统能正常工作,系统就能正常工作并输出正确结果。假设表决器是完全可靠的,每个子系统的可靠性为R 0 ,则m模冗余系统的可靠性为: