文章教程

网络工程师考试试题分类精解第15章计算机硬件结构

8/24/2020 8:51:25 PM 人评论 次浏览

第15章
计算机硬件结构

计算机硬件结构是一个网络工程师考试中常见的知识点,分值一般为2~5分,算得上一个相对较大的知识点,所以考生不能忽视对此知识点的复习。根据考试大纲,本章要求考生掌握以下知识点:

·计算机组成(运算器、控制器、存储器、I/O部件);

·指令系统(指令、寻址方式、CISC、RISC);

·多处理器(紧耦合系统、松耦合系统、阵列处理机、双机系统、同步);

·处理器性能;

·I/O接口(中断、DMA、通道、SCSI、并行接口、通用接口总线、RS-232C、USB、IEEE 1394、红外线接口、输入/输出控制系统、通道);

·输入/输出设备的类型和特征。

下面我们通过具体的考试真题来学习和加强对本章知识点的掌握。


例题1(2007年5月试题1)

 (1) 不属于计算机控制器中的部件。

(1)A.指令寄存器(IR)

B.程序计数器(PC)

C.算术逻辑单元(ALU)

D.程序状态寄存器(PSW)

例题分析

控制器通常由程序计数器(PC)、指令寄存器(IR)、指令译码器(ID)、定时与控制电路、状态寄存器等组成。

算术逻辑单元(Arithmetic-Logic Unit,ALU)是中央处理器(CPU)的执行单元,是所有中央处理器的核心组成部分,其主要功能是进行二位元的算术运算,如加减乘(不包括整数除法)。

例题答案

(1)C


例题2(2008年11月试题3)

在CPU中, (3) 可用于传送和暂存用户数据,为ALU执行算术逻辑运算提供工作区。

(3)A.程序计数器

B.累加寄存器

C.程序状态寄存器

D.地址寄存器

例题分析

程序计数器(PC)是CPU内的一个寄存器,存储的是将要执行的下一条指令的地址。

累加寄存器(AC)通常简称为累加器,它是一个通用寄存器。其功能是:当运算器的算术逻辑单元(ALU)执行算术或逻辑运算时,为ALU提供一个工作区,用于传输和暂存用户数据。累加寄存器暂时存放ALU运算的结果信息。

程序状态寄存器(PSW)是计算机系统的核心部件——控制器的一部分,用来存放两类信息:一类是体现当前指令执行结果的各种状态信息,如有无进位(CF位),有无溢出(OF位)、结果正负(SF位)、结果是否为零(ZF位)、奇偶标志位(PF位)等;另一类是存放控制信息,如允许中断(IF位)、跟踪标志(TF位)等。有些机器中将PSW称为标志寄存器(Flag Register,FR)。

地址寄存器用来保存当前CPU所访问的内存单元的地址。

例题答案

(3)B


例题3(2007年11月试题2~3)

若每一条指令都可以分解为取指、分析和执行3步。已知取指时间t取指=4Δt,分析时间t分析=3Δt,执行时间t执行=5Δt。如果按串行方式执行完100条指令需要 (2) Δt。如果按照流水方式执行,执行完100条指令需要 (3) Δt。

(2)A.1190

B.1195

C.1200

D.1205

(3)A.504

B.507

C.508

D.510

例题分析

按顺序方式执行指令,每条指令从取指到执行共耗时12Δt,所以100条指令共耗时:12Δt×100=1200Δt。

方法一:采用流水线方式时,系统在同一时刻可以进行第k条指令的取指,第k+1条指令的分析,第k+2条指令的执行,所以效率大大提高了。流水线的操作周期取决于基本操作中最慢的那个。这里最慢的是5Δt,所以操作周期是5Δt。在流水线中,其实每一条指令的执行时间并没有减少,而第一条指令的执行并没有体现流水线的优势,它是在3个操作后才能执行完成,这以后每个操作周期都能完成一条指令的执行。采用此法的执行示意图如图15-1所示。

alt

图15-1

这样流水线的总时间为:(n+2)×周期。如此题中为:(100+2)×5Δt=510Δt。

方法二:流水线计算公式是:第一条指令顺序执行时间+(指令条数-1)×周期

采用此法的执行示意图如图15-2所示。

alt

图15-2

对于此题而言,关键在于取指时间为4Δt,分析时间为3Δt,而周期都是5Δt,而实际完成取指只需要4Δt,分析只需要3Δt时间,所以采用流水线的耗时为:4+3+5×(100-1)+5=507Δt。

题目是按方法一来计算的,计算结果为510Δt。按方法二来计算,结果为507Δt。

例题答案

(2)C

(3)B或D


例题4(2008年5月试题2)

现有4级指令流水线,分别完成取指、取数、运算、传送结果4步操作。若完成上述操作的时间依次为9ns、10ns、6ns、8ns,则流水线的操作周期应设计为 (2) ns。

(2)A.6

B.8

C.9

D.10

例题分析

本题考查流水线处理。

如果流水线的每个子任务所需的时间不同,则其执行速度取决于其执行顺序中最慢的那一个,即流水线周期值等于执行时间最长的子任务的执行时间。本题中,4步操作中执行时间最长的是取数(10ns),因此流水线的操作周期应设置为10ns。

例题答案

(2)D


例题5(2008年11月试题1)

计算机内存一般分为静态数据区、代码区、栈区和堆区,若某指令的操作数之一采用立即数寻址方式,则该操作数位于 (1) 

(1)A.静态数据区

B.代码区

C.栈区

D.堆区

例题分析

栈区(stack)由编译器自动分配释放,存放为运行函数而分配的局部变量、函数参数、返回数据、返回地址等。其操作方式类似于数据结构中的栈。

堆区(heap)一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。分配方式类似于链表。

全局区(又称静态区,static)存放全局变量、静态数据、常量,程序结束后由系统释放。

程序代码区存放函数体(类成员函数和全局函数)的二进制代码。

立即数,就是常数,是在写程序时已经定义了的,说白了就是一个值,例如:MOV AX FFH,这里面的FFH就是一个值,是一个立即数。像这样的数,它是放在程序段里的,而不是放在数据段里的,PC指针指向这句时,取到代码,就取到数据了。

例题答案

(1)B


例题6(2005年5月试题1~2)

在计算机中,最适合进行数字加减运算的数字编码是 (1) ,最适合表示浮点数阶码的数字编码是 (2) 

(1)A.原码

B.反码

C.补码

D.移码

(2)A.原码

B.反码

C.补码

D.移码

例题分析

此题实际上是考查考生对原码、反码、补码、移码的理解,如果对这几种码的特性熟悉,题目自然就迎刃而解了。下面我们来介绍一下这几种码的特色。

·原码:采用原码表示法简单易懂,用原码进行加法运算可以非常方便、直观地得到正确的运算结果,但如果是直接进行减法运算则会出问题。

·反码:把原码对除符号位外的其余各位逐位取反就产生了反码。所以反码与原码的特性刚好相反,反码的减法运算能正确得到结果,但直接进行加法运算却无法得到正确结果。

·补码:我们知道,正数的补码=原码,所以采用补码能正确进行加法运算。又因为负数的补码=反码+1,所以负数的补码具有反码的特性,可以正确进行减法运算,所以补码是最适合进行数字加减运算的。

·移码:移码是在补码的基础上把首位取反得到的,这样使得移码非常适合于阶码的运算,所以移码常用于表示阶码。

所以,(1)答案为C,(2)答案为D。

例题答案

(1)C

(2)D


例题7(2008年11月试题2)

计算机在进行浮点数的相加(减)运算之前先进行对阶操作,若x的阶码大于y的阶码,则应将 (2) 

(2)A.x的阶码缩小至与y的阶码相同,且使x的尾数部分进行算术左移

B.x的阶码缩小至与y的阶码相同,且使x的尾数部分进行算术右移

C.y的阶码扩大至与x的阶码相同,且使y的尾数部分进行算术左移

D.y的阶码扩大至与x的阶码相同,且使y的尾数部分进行算术右移

例题分析

计算机在进行浮点数的相加(减)运算之前先进行对阶操作,若x的阶码大于y的阶码,则应将y的阶码扩大至与x的阶码相同,且使y的尾数部分进行算术右移。

例题答案

(2)D


例题8(2005年5月试题4~6)

操作数所处的位置,可以决定指令的寻址方式。操作数包含在指令中,寻址方式为 (4) ;操作数在寄存器中,寻址方式为 (5) ;操作数的地址在寄存器中,寻址方式为 (6) 

(4)A.立即寻址

B.直接寻址

C.寄存器寻址

D.寄存器间接寻址

(5)A.立即寻址

B.相对寻址

C.寄存器寻址

D.寄存器间接寻址

(6)A.相对寻址

B.直接寻址

C.寄存器寻址

D.寄存器间接寻址

例题分析

此题考查的是考生对操作数几种基本寻址方式的理解。操作数寻址有以下几种方式:

1.隐含寻址

在指令中不明显地给出而是隐含着操作数的地址。例如,单地址的指令格式,没有在地址字段中指明第二操作数地址,而是规定累加寄存器(AC)作为第二操作数地址,AC对单地址指令格式来说是隐含地址。

2.立即寻址

指令的地址字段指出的不是操作数的地址,而是操作数本身。这种方式的特点是指令执行时间很短,不需要访问内存取数。题目中所说的“操作数包含在指令中的寻址方式”就是立即寻址。

例如,单地址的移位指令格式为:

alt

这里D不是地址,而是一个操作数。F为标志位,当F=1时,操作数进行右移;当F=0时,操作数进行左移。

3.直接寻址

直接寻址的特点是:在指令格式的地址字段中直接指出操作数在内存中的地址D。

采用直接寻址方式时,指令字中的形式地址D就是操作数的有效地址E,即E=D。因此通常把形式地址D又称为直接地址。此时,由寻址模式给予指示。如果用S表示操作数,那么直接寻址的逻辑表达式为S=(E)=(D)。

4.间接寻址

在间接寻址的情况下,指令地址字段中的形式地址D不是操作数的真正地址,而是操作数地址的指示器,D单元的内容才是操作数的有效地址。

如果把直接寻址和间接寻址结合起来,指令有如下形式:

alt

寻址特征位I=0,表示直接寻址,这时有效地址E=D;I=1,表示间接寻址,这时有效地址E=(D)。

间接寻址方式是早期计算机中经常采用的方式,但由于两次访存,影响指令执行速率,现在已很少使用。

5.寄存器寻址方式和寄存器间接寻址方式

当操作数不放在内存中,而是放在CPU的通用寄存器中时,可采用寄存器寻址方式。此时指令中给出的操作数地址不是内存的地址单元号,而是通用寄存器的编号。这也就是题目中所说的“操作数在寄存器中的寻址方式”。

寄存器间接寻址方式与寄存器寻址方式的区别在于:指令格式中的寄存器内容不是操作数,而是操作数的地址,该地址指明的操作数在内存中。这也就是题目中所说的“操作数的地址在寄存器中的寻址方式”。

6.相对寻址方式

相对寻址是把程序计数器(PC)的内容加上指令格式中的形式地址D而形成操作数的有效地址。程序计数器的内容就是当前指令的地址。“相对”寻址,就是相对于当前的指令地址而言的。

采用相对寻址方式的好处是程序员无须用指令的绝对地址编程,所编程序可以放在内存任何地方。

此时形式地址D通常称为偏移量,其值可正可负,相对于当前指令地址进行浮动。

7.基址寻址方式

基址寻址方式是将CPU中基址寄存器的内容加上指令格式中的形式地址而形成操作数的有效地址。它的优点是可以扩大寻址能力。同形式地址相比,基址寄存器的位数可以设置得很长,从而可以在较大的存储空间中寻址。

8.变址寻址方式

变址寻址方式与基址寻址方式计算有效地址的方法很相似,它把CPU中某个变址寄存器的内容与偏移量D相加来形成操作数有效地址。但使用变址寻址方式的目的不在于扩大寻址空间,而在于实现程序块的规律性变化。

9.块寻址方式

块寻址方式经常用在输入/输出指令中,以实现外存储器或外围设备同内存之间的数据块传送。块寻址方式在内存中还可用于数据块搬家。块寻址时,通常在指令中指出数据块的起始地址(首地址)和数据块的长度(字数或字节数)。

如果数据块是变长的,可用3种方法指出它的长度:

·指令中划出字段指出长度。

·指令格式中指出数据块的首地址与末地址。

·由块结束字符指出数据块长度。

10.段寻址方式

微型机中采用了段寻址方式,如它们可以给定一个20位的地址,从而有1MB存储空间的直接寻址能力。为此将整个1MB空间存储器以64KB为单位划分成若干段。在寻址一个内存具体单元时,由一个基地址再加上某些寄存器提供的16位偏移量来形成实际的20位物理地址。这个基地址就是CPU中的段寄存器。在形成20位物理地址时,段寄存器中的16位数会自动左移4位,然后以16位偏移量相加,即可形成所需的内存地址。这种寻址方式的实质还是基址寻址。

例题答案

(4)A

(5)C

(6)D


例题9(2005年5月试题15~16)

数据存储在磁盘上的排列方式会影响I/O服务的总时间。假设每磁道划分成10个物理块,每块存放1个逻辑记录。逻辑记录R1,R2,…,R10存放在同一个磁道上,记录的安排顺序如表15-1所示。

表15-1 记录的安排顺序表

alt

假定磁盘的旋转速率为20ms/周,磁头当前处在R1的开始处。若系统顺序处理这些记录,使用单缓冲区,每个记录处理时间为4ms,则处理这10个记录的最长时间为 (15) ;若对信息存储进行优化分布后,处理10个记录的最少时间为 (16) 

(15)A.180ms

B.200ms

C.204ms

D.220ms

(16)A.40ms

B.60ms

C.100ms

D.160ms

例题分析

首先从磁盘的转速:20ms/周,我们可以知道:读取一条记录需要2ms。值得注意的一点是:处理一条记录的前提是将其读出来,所以处理第一条记录时,要先将其读取出来,再进行处理,所以处理R1所需时间为2ms+4ms。当R1处理完时,磁头已经转到了R4的位置,此时要将其调整到R2的位置,需要经过R5,R6,R7,R8,R9,R10,R1,这样要用16ms的时间,再加上读取R2需要2ms及处理数据的4ms,R2的总处理时间应为22ms。所以2+4+(16+2+4)×9=204ms。而优化后的排列顺序应为:R1,R8,R5,R2,R9,R6,R3,R10,R7,R4,这样的排列顺序刚好是处理完R1,磁头就到了R2的位置,直接读取R2,处理R2、处理完R2,磁头又到了R3的位置。依此类推,每条记录的读取及处理时间为:2ms+4ms=6ms,所以总时间为:(2+4)×10=60ms。

例题答案

(15)C

(16)B


例题10(2007年5月试题3)

下面的描述中, (3) 不是RISC设计应遵循的设计原则。

(3)A.指令条数应少一些

B.寻址方式尽可能少

C.采用变长指令,功能复杂的指令长而简单指令短

D.设计尽可能多的通用寄存器

例题分析

精简指令计算机从名称可以看出,和复杂指令计算机相比较,主要的区别在于指令系统的特点,而访问内存的时间和指令系统关系不大。而精简指令计算机为了避免访问内存占用过多的时间,采用了大量寄存器、减少访问内存指令、数据和指令缓存等方法。

CISC计算机的主要特点如下:

·指令数量众多:CISC计算机,“机如其名”,其指令系统拥有大量的指令,通常有100~250条。设计复杂指令系统的一个主要目的就是为了简化编译过程,以提高系统整体性能。

·指令使用频率相差悬殊:CISC机指令使用频率相差悬殊,最常使用的是一些比较简单的指令,仅占指令总数的20%,但在程序中出现的频率却占80%。而大部分复杂指令却很少使用。

·支持很多种寻址方式:CISC指令系统支持的寻址方式通常为5~20种。

·变长的指令格式:CISC指令系统的一个重要特点就是其指令长度不是固定的。例如,使用寄存器操作数的指令其长度可能为2个字节,而带2个存储器地址的指令可能占用5个字节。变长的指令增加了指令译码电路的复杂性。

·指令可以对存储器单元中的数据直接进行处理:典型的CISC处理器通常都有指令能够直接对内存单元中的数据进行处理。例如,一条加法指令可以完成把两个内存单元中的数据进行加法运算,然后把和保存到内存单元中去的功能。这样一来指令的执行就需要进行3次存储器访问操作,其执行速率较慢。

RISC计算机的主要特点如下:

·指令数量少:RISC机优先选取使用频率最高的一些简单指令及一些常用指令,避免使用复杂指令。典型的RISC机指令系统中的指令大多数都是执行寄存器-寄存器操作;对存储器的操作仅提供了读和写两种方式;所有的计算都是在CPU寄存器里进行的。这种体系结构化了指令系统,并且促进了寄存器操作的优化。

·指令的寻址方式少:RISC机通常支持寄存器寻址方式、立即数寻址方式及相对寻址方式。

·指令长度固定,指令格式种类少:因为RISC指令数量少,格式少相对简单(与CISC比较),其指令长度固定,指令之间各字段的划分比较一致,所以其译码也相对容易。简化的指令系统也简化了控制电路的硬件设计。

·只提供了Load/Store指令访问存储器:与CISC支持直接对存储器单元里的数据操作不同,RISC指令集中只提供了从存储器读数Load和把数据写入存储器Store两条指令来与存储器打交道。其余所有的操作都在CPU的寄存器之间进行。

·以硬布线逻辑控制为主:RISC机为了提高操作的执行速率,通常采用硬布线逻辑(组合逻辑)来构建控制器。而CISC机的指令系统很复杂,难以用组合逻辑电路实现,控制器通常采用微程序控制。

·单周期指令执行:RISC机因为简化了指令系统,所以很容易利用流水线技术使得大部分指令都有可能在一个机器周期内完成。少数指令可能会需要多个周期执行,如Load/Store指令因为需要访问存储器,其执行时间就会长一些。

·拥有相当多的寄存器:RISC机拥有相当多的寄存器,可以用于存放中间数据和优化对操作数的访问,从而提高了处理器的性能。例如寄存器中某一数据需要写回存储器保存,而稍后又需要从存储器中再把该数据读出。如果寄存器数量众多,则可以把该数据保留在寄存器里,下次就直接从寄存器中读取而无须访问内存,从而加快了程序的执行速率。

·优化的编译器:RISC的精简指令集使编译工作简单化。因为指令长度固定、格式少、寻址方式少,所以编译时不必在具有相似功能的许多指令中进行选择,也不必为寻址方式的选择而费心,同时易于实现优化,从而可以生成高效率执行的机器代码。

RISC指令系统设计尽量做到:指令种类(条数)少,指令长度短而固定,格式简单,寻址方式少,采用大量的通用寄存器,涉及访问主存的指令极少。

例题答案

(3)C


例题11(2008年11月试题4)

关于在I/O设备与主机间交换数据的叙述, (4) 是错误的。

(4)A.中断方式下,CPU需要执行程序来实现数据传送任务

B.中断方式和DMA方式下,CPU与I/O设备都可同步工作

C.中断方式和DMA方式中,快速I/O设备更适合采用中断方式传递数据

D.若同时接到DMA请求和中断请求,CPU优先响应DMA请求

例题分析

中断控制方式下仍需要花较多的CPU时间处理中断,而且能够并行操作的设备台数也受到中断处理时间的限制,中断次数增多导致数据丢失。因此,相当快速的I/O设备更适合采用CPU干预较少的DMA方式传递数据。

例题答案

(4)C


例题12(2005年11月试题2)

采用 (2) 不能将多个处理机互连构成多处理器系统。

(2)A.STD总线

B.交叉开关

C.PCI总线

D.Centronic总线

例题分析

根据STD总线、PCI总线的规范,它们都支持构成多机系统。Centronic总线属于外部总线,它的接口通常被认为是一种打印机并行接口标准,不能用于多机互连。

例题答案

(2)D


例题13(2006年5月试题1~2)

高速缓存Cache与主存间采用全相连地址映像方式,高速缓存的容量为4MB,分为4块,每块1MB,主存容量为256MB。若主存读/写时间为30ns,高速缓存的读/写时间为3ns,平均读/写时间为3.27ns,则该高速缓存的命中率为 (1) %。若地址变换表如表15-2所示,则主存地址为8888888H时,高速缓存地址为 (2) H。

表15-2 地址变换表

alt

(1)A.90

B.95

C.97

D.99

(2)A.488888

B.388888

C.288888

D.188888

例题分析

第(1)空是一个简单的计算题。设高速缓存的命中率为t,则:

30×(1-t)+3×t=3.27

解方程得:t=0.99,所以高速缓存的命中率为99%。

接下来看第(2)空,由于高速缓存的容量为4MB,分为4块,每块为1MB,所以把高速缓存的22位长地址划分为两部分,块号为2位,而块内地址为20位。主存容量为256MB,所以主存地址长度为28位。这样主存的块号为8位,块内地址为20位。此时我们先将主存地址写成8888888H,其中斜体为块号:88H,加粗部分为块内地址:88888H。查表得到Cache对应块号为1H,所以高速缓存地址为188888H,因此答案为D。

例题答案

(1)D

(2)D


例题14(2006年11月试题1)

若内存按字节编址,用存储容量为32KB×8比特的存储器芯片构成地址编号A0000H~DFFFFH的内存空间,则至少需要 (1) 片。

(1)A.4

B.6

C.8

D.10

例题分析

此题的解题思路是先计算出地址编号A0000H~DFFFFH的内存空间大小,然后用空间大小除以芯片容量,得到芯片数量。在这个操作过程中,运算单位及数制的一致性特别需要注意,在进行运算之前,一定要把单位化成相同的。下面是具体的运算过程:

DFFFFH-A0000H+1=40000H,化为十进制数为218。由于内存是按字节编址,所以空间大小应为28KB,即256KB,32KB×8比特的芯片即32KB×1字节的芯片,所以256KB/32KB=8。正确答案为C。

例题答案

(1)C


例题15(2006年11月试题3)

设指令由取指、分析、执行3个子部件完成,每个子部件的工作周期均为Δt。采用常规标量单流水线处理机,若连续执行10条指令,则共需时间 (3) Δt。

(3)A.8

B.10

C.12

D.14

例题分析

设流水线由m段组成,每段所需时间分别为Δti(1≤i≤m),完成n个任务的实际时间可计算如下:

alt(Δtj为最慢一段所需时间)

本题中流水线每一段的工作周期均为Δt,所以流水线的操作周期也就是Δt,所以总时间为(Δt+Δt+Δt)+(10-1)×Δt=3+9=12。所以答案为C。

例题答案

(3)C


例题16(2006年11月试题4)

某计算机的时钟频率为400MHz,测试该计算机的程序使用4种类型的指令,每种指令的数量及所需指令时钟数(CPI)如表15-3所示,则该计算机的指令平均时钟数约为 (4) 

表15-3 指令情况表

alt

(4)A.1.85

B.1.93

C.2.36

D.3.75

试题分析

此题求计算机的指令平均时钟数,现已知计算机共有4类指令,且知道每类指令的数量和所需时钟数,所以只需要知道计算机所有指令所需时钟数,以及指令总数,两者相除则可得到平均时钟数。

指令总数为:

160000+30000+24000+16000=230000

所有指令所需时钟数为:

160000×1+30000×2+24000×4+16000×8=444000

所以平均时钟数为:

444000/230000=1.93

因此,此题答案为B。

例题答案

(4)B


例题17(2009年5月试题2)

处理机主要由处理器、存储器和总线组成。总线包括 (2) 

(2)A.数据总线、地址总线、控制总线

B.并行总线、串行总线、逻辑总线

C.单工总线、双工总线、外部总线

D.逻辑总线、物理总线、内部总线

例题分析

本题考查计算机系统总线和接口方面的基础知识。

广义上来讲,任何连接两个以上电子元器件的导线都可以称为总线。通常可分为4类:

·芯片内总线,用于在集成电路芯片内部各部分的连接。

·元件级总线,用于一块电路板内各元器件的连接。

·内总线,又称系统总线,用于构成计算机各组成部分(CPU、内存和接口等)的连接。

·外总线,又称通信总线,用于计算机与外设或计算机与计算机的连接或通信。

连接处理机的处理器、存储器及其他部件的总线属于内总线,按总线上所传送的内容分为数据总线、地址总线和控制总线。

例题答案

(2)A


例题18(2009年5月试题3)

计算机中常采用原码、反码、补码和移码表示数据,其中,与±0编码相同的是 (3) 

(3)A.原码和补码

B.反码和补码

C.补码和移码

D.原码和移码

例题分析

本题考查计算机系统数据编码基础知识。

设机器字长为n(即采用n个二进制位表示数据),最高位是符号位,0表示正号,1表示负号。

原码表示方式下,除符号位外,n-1位表示数值的绝对值。因此,n为8时,[+0]=0 0000000,[-0]=1 0000000。

正数的反码与原码相同,负数的反码则是其绝对值按位求反。n为8时,数值0的反码表示有两种形式:[+0]=0 0000000,[-0]=1 1111111。

正数的补码与其原码和反码相同,负数的补码则等于其反码的末尾加1。在补码表示中,0有唯一的编码[+0]=0 0000000,[-0]=00000000。

移码表示法是在数X上增加一个偏移量来定义的,常用于表示浮点数中的阶码。机器字长为n时,在偏移量为2n-1的情况下,只要将补码的符号位取反便可获得相应的移码表示。

例题答案

(3)C


例题19(2009年5月试题4)

某指令流水线由5段组成,第1、3、5段所需时间为Δt,第2、4段所需时间分别为3Δt、2Δt,如图15-3所示,那么连续输入n条指令时的吞吐率(单位时间内执行的指令个数)TP为 (4) 

alt

图15-3 指令流水线图

(4)alt

例题分析

本题考查计算机系统流水线方面的基础知识。

吞吐率和建立时间是使用流水线技术的两个重要指标。吞吐率是指单位时间里流水线处理机流出的结果数。对指令而言,就是单位时间里执行的指令数。流水线开始工作,需经过一定时间才能达到最大吞吐率,这就是建立时间。若m个子过程所用时间一样,均为Δt0,则建立时间T0=mΔt0

本题目中,连续输入n条指令时,第1条指令需要的时间(1+3+1+2+1)Δt,之后,每隔3Δt便完成1条指令,即流水线一旦建立好,其吞吐率为最长子过程所需时间的倒数。综合n条指令的时间为(1+3+1+2+1)Δt+(n-1)×3Δt,因此吞吐率为:

alt

例题答案

(4)B


例题20(2009年11月试题1)

以下关于CPU的叙述中,错误的是 (1) 

(1)A.CPU产生每条指令的操作信号并将操作信号送往相应的部件进行控制

B.程序计数器PC除了存放指令地址,也可以临时存储算术/逻辑运算结果

C.CPU中的控制器决定计算机运行过程的自动化

D.指令译码器是CPU控制器中的部件

例题分析

本题考查计算机硬件组成基础知识。

CPU是计算机的控制中心,主要由运算器、控制器、寄存器组和内部总线等部件组成。控制器由程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器组成,是发布命令的“决策机构”,即完成协调和指挥整个计算机系统的操作。它的主要功能有:在内存中取出一条指令,并指出下一条指令在内存中的位置;对指令进行译码或测试,并产生相应的操作控制信号,以便启动规定的动作;指挥并控制CPU、内存和输入设备之间数据的流动。

程序计数器(PC)是专用寄存器,具有寄存信息和计数两种功能,又称为指令计数器,在程序开始执行前,将程序的起始地址送入PC,该地址在程序加载到内存时确定,因此PC的初始内容即程序第一条指令的地址。执行指令时,CPU将自动修改PC的内容,以便使其保持的总是将要执行的下一条指令的地址。由于大多数指令都是按顺序执行的,因此修改的过程通常只是简单地对PC加1。当遇到转移指令时,后继指令的地址根据当前指令的地址加上一个向前或向后转移的位移量得到,或者根据转移指令给出的直接转移的地址得到。

例题答案

(1)B


例题21(2009年11月试题2)

以下关于CISC(Complex Instruction Set Computer,复杂指令集计算机)和RISC(Reduced Instruction Set Computer,精简指令集计算机)的叙述中,错误的是 (2) 

(2)A.在CISC中,其复杂指令都采用硬布线逻辑来执行

B.采用CISC技术的CPU,其芯片设计复杂度更高

C.在RISC中,更适合采用硬布线逻辑执行指令

D.采用RISC技术,指令系统中的指令种类和寻址方式更少

例题分析

本题考查指令系统和计算机体系结构基础知识。

CISC的基本思想是:进一步增强原有指令的功能,用更为复杂的新指令取代原先由软件子程序完成的功能,实现软件功能的硬件化,导致机器的指令系统越来越庞大而复杂。CISC计算机一般所含有的指令数目至少在300条以上,有的甚至超过500条。

RISC的基本思想是:通过减少指令总数和简化指令功能,降低硬件设计的复杂度,使指令能单周期执行,并通过优化编译提高指令的执行速度,采用硬布线控制逻辑优化编译程序。它从20世纪70年代末开始兴起,导致机器的指令系统进一步精练而简单。

例题答案

(2)A


例题22(2010年5月试题1)

计算机指令一般包括操作码和地址码两部分,为分析执行一条指令,其 (1) 

(1)A.操作码应存入指令寄存器(IR),地址码应存入程序计数器(PC)

B.操作码应存入程序计数器(PC),地址码应存入指令寄存器(IR)

C.操作码和地址码都应存入指令寄存器(IR)

D.操作码和地址码都应存入程序计数器(PC)

例题分析

本题考查指令系统基础知识。

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

程序计数器(PC)具有寄存信息和计数两种功能,又称为指令计数器。程序的执行分两种情况,一是顺序执行,二是转移执行。在程序开始执行前,将程序的起始地址送入PC,该地址在程序加载到内存时确定,因此PC的内容即是程序第一条指令的地址。执行指令时,CPU将自动修改PC的内容,以便使其保持的总是将要执行的下一条指令的地址。由于大多数指令都是按顺序来执行的,所以修改的过程通常只是简单地对PC加1。当遇到转移指令时,后继指令的地址根据当前指令的地址加上一个向前或向后转移的位移量得到,或者根据转移指令给出的直接转移地址得到。

例题答案

(1)C


例题23(2010年5月试题5)

若某整数的16位补码为FFFFH(H表示十六进制),则该数的十进制值为 (5) 

(5)A.0

B.-1

C.216-1

D.-216+1

例题分析

本题考查数据表示基础知识。

根据补码定义,数值X的补码记作[X],如果机器字长为n,则最高位为符号位,0表示正号,1表示负号,正数的补码与其原码和反码相同,负数的补码则等于其反码的末尾加1。

16位补码能表示的数据范围为[-215,215,-1]。对于整数(216-1)和(-216+1),数据表示需要16位,再加一个符号位,共17位,因此不在其16位补码能表示的数据范围之内。

在补码表示中,0有唯一的编码:[+0]=0 000000000000000,[-0]=0 000000000000000,即0000H。

[-1]=1 00000000000000,[-1]=1111111111111110,因此-1的补码为[-1]=1111111111111111=FFFF。

例题答案

(2)B


例题24(2010年11月试题1)

在输入/输出控制方法中,采用 (1) 可以使得设备与主存间的数据块传送无须CPU干预。

(1)A.程序控制输入/输出

B.中断

C.DMA

D.总线控制

例题分析

本题考查CPU中相关寄存器的基础知识。

计算机中主机与外设间进行数据传输的输入/输出控制方法有程序控制方式、中断方式、DMA等。

在程序控制方式下,由CPU执行程序控制数据的输入/输出过程。

在中断方式下,外设准备好输入数据或接收数据时向CPU发出中断请求信号,CPU若决定响应该请求,则暂停正在执行的任务,转而执行中断服务程序进行数据的输入/输出处理,之后再回去执行原来被中断的任务。

在DMA方式下,CPU只需向DMA控制器下达指令,让DMA控制器来处理数据的传送,数据传送完毕再把信息反馈给CPU,这样就很大程度上减轻了CPU的负担,可以大大节省系统资源。

例题答案

(1)C


例题25(2010年11月试题2)

若计算机采用8位整数补码表示数据,则 (2) 运算将产生溢出。

(2)A.-127+1

B.-127-1

C.127+1

D.127-1

例题分析

本题考查计算机中的数据表示和运算基础知识。

采用8位补码表示整型数据时,可表示的数据范围为-128~127,因此进行127+1的运算会产生溢出。

例题答案

(2)C


例题26(2010年11月试题3)

编写汇编语言程序时,下列寄存器中,程序员可访问的是 (3) 

(3)A.程序计数器(PC)

B.指令寄存器(IR)

C.存储器数据寄存器(MDR)

D.存储器地址寄存器(MAR)

例题分析

程序计数器中存放的是下一条指令的地址(可能是下一条指令的绝对地址,也可能是相对地址,即地址偏移量)。由于多数情况下程序是顺序执行的,所以程序计数器设计成能自动加1的装置。当出现转移指令时,需重填程序计数器。

指令寄存器:中央处理器即将执行的操作码存储在这里。

数据寄存器是存放操作数、运算结果和运算的中间结果,以减少访问存储器的次数,或者存放从存储器读取的数据及写入存储器的数据的寄存器。

地址寄存器用来保存当前CPU所访问的内存单元的地址。由于在内存和CPU之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到内存的读/写操作完成为止。

例题答案

(3)A


例题27(2011年5月试题1)

在CPU中用于跟踪指令地址的寄存器是 (1) 

(1)A.地址寄存器(MAR)

B.数据寄存器(MDR)

C.程序计数器(PC)

D.指令寄存器(IR)

例题分析

本题考查的内容与本章的例题26相似,可参考来求解,在CPU中用于跟踪指令地址的寄存器是程序计数器。

例题答案

(1)C


例题28(2011年5月试题2)

指令系统中采用不同寻址方式的目的是 (2) 

(2)A.提高从内存获取数据的速度

B.提高从外存获取数据的速度

C.降低操作码的译码难度

D.扩大寻址空间并提高编程灵活性

例题分析

在指令系统中用来确定如何提供操作数或提供操作数地址的方式称为寻址方式,通过采用不同的寻址方式,能够达到缩短指令长度、扩大寻址空间和提高编程灵活性等目的。

例题答案

(2)D


例题29(2011年5月试题3)

在计算机系统中采用总线结构,便于实现系统的积木化构造,同时可以 (3) 

(3)A.提高数据传输速度

B.提高数据传输量

C.减少信息传输线的数量

D.减少指令系统的复杂性

例题分析

总线是计算机中各部件相连的传输线,通过总线,各部件之间可以相互通信,而不是每两个部件之间都要相互直连,这样有效减少了信息传输线的数量,节省了计算机体系结构的设计成本,还有利于新模块的扩展。

例题答案

(3)C

教程类别