计算机组成原理——中央处理器cpu

计算机组成原理-题库

中央处理器选择题

1、中央处理器(CPU)是指什么。

A、 运算器

B、 控制器

C、 运算器和控制器

D、 运算器、控制器和主存储器

2、在CPU中跟踪指令后继地址的寄存器是什么。

A、 主存地址寄存器

B、 程序计数器

C、 指令寄存器

D、 状态条件寄存器

3、操作控制器的功能是什么。

A、 产生时序信号

B、 从主存取出一条指令

C、 完成指令操作码译码

D、 从主存取出指令,完成指令操作码译码,并产生有关的操作控制信号,以解释执行该指令

4、指令周期是指什么。

A、 CPU从主存取出一条指令的时间

B、 CPU执行一条指令的时间

C、 CPU从主存取出一条指令加上执行这条指令的时间

D、 时钟周期时间

5、同步控制是什么。

A、 只适用于CPU控制的方式

B、 只适用于外围设备控制的方式

C、 由统一时序信号控制的方式

D、 所有指令执行时间都相同的方式

6、异步控制常用于什么作为其主要控制方式。

A、 在单总线结构计算机中访问主存与外围设备时

B、 微型机的CPU控制中

C、 组合逻辑控制的CPU中

D、 微程序控制器中

7、微操作在执行部件中是最基本的操作。由于数据通路的关系,微操作可分为相容性和相斥性微操作。请在以下叙述中选出一个正确描述的句子。

A、 同一个CPU周期中,可以并行执行的微操作叫相容性微操作

B、 同一个CPU周期中,不可以并行执行的微操作叫相容性微操作

C、 同一个CPU周期中,可以并行执行的微操作叫相斥性微操作

D、 同一个时钟周期中,不可以并行执行的微操作叫相斥性微操作

8、指令寄存器的位数取决于什么。

A、 存储器容量

B、 指令字长

C、 机器字长

D、 存储字长

9、指令译码器是对什么进行译码。

A、 整条指令

B、 指令的操作码字段

C、 指令的地址

D、 指令的操作数字段

10、下列说法正确的是什么。

A、 指令周期等于机器周期

B、 指令周期小于机器周期

C、 指令周期大于机器周期

D、 指令周期是机器周期的两倍

11、CPU不包括什么。

A、 地址寄存器

B、 指令寄存器

C、 地址译码器

12、存放正执行指令的寄存器是什么。

A、 MAR

B、 PC

C、 MDR

D、 IR

13、中断服务程序的最后一条指令是什么。

A、 转移指令

B、 出栈指令

C、 中断返回指令

D、 入栈指令

14、微程序放在什么中。

A、 存储器控制器

B、 控制存储器

C、 主存储器

D、 Cache

57、微程序存放在( )。

A、 主存中

B、 堆栈中

C、 只读存储器中

D、 磁盘中

解析:微程序控制的基本思想是把指令执行所需的所有控制信号存放在存储器中,需要时从这个存储

器中读取。由于每一条微指令执行时所发出的控制信号是事先设计好的,不需要改变,故此存放所有

控制信号的存储器应为只读存储器,并将其集成到CPU内,称其为控制存储器。

15、在微程序控制器中,一条机器指令的功能通常由什么。

A、 一条微指令实现

B、 一段微程序实现

C、 一个指令码实现

D、 一个条件码实现

16、在控制器的控制方式中,机器周期内的时钟周期个数可以不相同,这属于什么。

A、 同步控制

B、 异步控制

C、 联合控制

D、 人工控制

17、以下叙述中什么是错误的。

A、 取指令操作是控制器固有的功能,不需要在操作码控制下完成。

B、 所有指令的取指令操作都是相同的。

C、 在指令长度相同的情况下,所有指令的取指操作都是相同的。

D、 一条指令包含取指、分析、执行三个阶段。

18、某计算机的指令流水线由4个功能段组成,指令流经各功能段的时间(忽略各功能段之间的缓存时间)分别为90ns、80ns、70ns和60ns,则该计算机的CPU时钟周期至少是多少。

A、 90ns    

B、 80ns

C、 70ns    

D、 60ns

答案: A

19、下列不会引起指令流水阻塞的是什么。

A、 数据旁路

B、 数据相关

C、 条件转移

D、 资源冲突

答案: A

29、CPU内通用寄存器的位数取决于什么。

A、 存储器容量

B、 机器字长

C、 指令的长度

D、 CPU的管脚数

30、以硬布线方式构成的控制器也叫什么。

A、 组合逻辑型控制器

B、 微程序控制器

C、 存储逻辑型控制器

D、 运算器

31、一个节拍脉冲持续的时间长短是什么。

A、 指令周期

B、 机器周期

C、 时钟周期

D、 以上都不是

32、直接转移指令的功能是将指令中的地址代码送入什么 。

A、 累加器

B、 地址寄存器

C、 PC

D、 存储器

33、状态寄存器用来存放什么。

A、 算术运算结果

B、 逻辑运算结果

C、 运算类型

D、 算术、逻辑运算及测试指令的结果状态

35、某寄存器中的值有时是地址,这只有计算机的什么才能识别它。

A、 译码器

B、 判断程序

C、 指令

D、 时序信号

6、微程序控制器中,机器指令与微指令的关系是什么。

A、 每一条机器指令由一条微指令执行

B、 每一条机器指令由一段用微指令编成的微程序来解释执行

C、 一段机器指令组成的程序可由一条微指令来执行

D、 一条微指令由若干条机器指令组成

37、读取指令、分析指令和执行指令3个阶段,不同指令的不同阶段可以 什么 执行。

A、 顺序

B、 重叠

C、 循环

D、 并行

38、读取指令、分析指令和执行指令3个阶段,各阶段的执行时间最好什么 。

A、 为0

B、 为1个周期

C、 相等

D、 不等

39、读取指令、分析指令和执行指令3个阶段,各阶段的执行时间最好相等 ;在流水线运行时,每个阶段的执行时间应取 什么。

A、 3个阶段执行时间之和

B、 3个阶段执行时间的平均值

C、 3个阶段执行时间的最小值

D、 3个阶段执行时间的最大值

40、微指令格式分成水平型和垂直型,前者的位数什么,用它编写的微程序什么。

A、 较少,较长

B、 较多,较短

C、 较多,较长

D、 较少,较短

41、异步控制常作为什么 的主要控制方式。

A、 单总线计算机结构计算机中访问主存和外部设备时

B、 微型机的CPU控制中

C、 组合逻辑的CPU控制中

D、 微程序控制器中

42、与微指令的执行周期对应的是什么。

A、 指令周期

B、 机器周期

C、 节拍周期

D、 时钟周期

43、流水CPU 是由一系列叫做“段”的处理线路所组成,和具有m个并行部件的CPU相比,一个 m段流水CPU什么。

A、 具备同等水平的吞吐能力

B、 吞吐能力大于前者的吞吐能力

C、 吐能力小于前者的吞吐能力

44、微程序控制器中,机器指令与微指令的关系是什么。

A、 每一条机器指令由一条微指令来执行

B、 每一条机器指令由一段微指令编写的微程序来解释执行

C、 每一条机器指令组成的程序可由一条微指令来执行

D、 一条微指令由若干条机器指令组成

56、在取指周期中,是按照( )的内容访问主存,以读取指令。

A、 指令寄存器IR

B、 程序状态寄存器PS

C、 存储器数据寄存器MDR

D、 程序计数器PC

解析:每一条指令的执行都是从取指令开始,需要对主存储器进行访问。程序计数器PC是用来存放将

要读取并执行的指令在主存储器中的地址,对主存储器访问时所需要的地址由程序计数器PC来提供,

即需要按程序计数器PC的内容来访问主存储器。

58、在微程序控制方式中,机器指令和微指令的关系是(  )。

A、 每一条机器指令由一条微指令来解释执行

B、 每一条机器指令由一段(或一个)微程序来解释执行

C、 一段机器指令组成的工作程序可由一条微指令来解释执行

D、 一条微指令由若干条机器指令组成

解析:在微程序控制方式中,控制部件通过控制总线向执行部件发出的各种控制命令称为微命令,在

一个CPU周期中,一组实现一定功能的微命令的组合构成一条微指令,有序的微指令序列构成一段微

程序。微程序的作用是实现一条对应的机器指令,即每一条机器指令是由一段(或一个)微程序来解

释执行的。

59、下列说法中,合理的是( )。

A、 执行各条指令的机器周期数相同,各机器周期的长度均匀

B、 执行各条指令的机器周期数相同,各机器周期的长度可变

C、 执行各条指令的机器周期数可变,各机器周期的长度均匀

D、 执行各条指令的机器周期数可变,各机器周期的长度可变

解析:机器周期是指令执行中每一步操作所需要的时间,一般以CPU中完成一个运算操作所需的时间

作为机器周期的基本时间,其长度是均匀的,而各种指令的功能不同,因而各指令执行时所需的机器

周期数是可变的。

60、微地址是指微指令( )。

A、 在主存的存储位置

B、 在堆栈的存储位置

C、 在磁盘的存储位置

D、 在控制存储器的存储位置

解析:微程序控制的基本思想是:把指令执行所需要的所有控制信号存放在控制存储器中,需要时从

这个存储器中读取,即把操作控制信号编成微指令,存放在控制存储器中。一条机器指令的功能通常

用许多条微指令组成的序列来实现,这个微指令序列称为微程序。微指令在控制存储器中的存储位置

称为微地址。

61、在微程序控制中,把操作控制信号编成(  )。

A、 微指令

B、 微地址

C、 操作码

D、 程序

解析:微程序控制的基本思想是:把指令执行所需要的所有控制信号存放在控制存储器中,需要时从

这个存储器中读取,即把操作控制信号编成微指令,存放在控制存储器中。一条机器指令的功能通常

用许多条微指令组成的序列来实现,这个微指令序列称为微程序。微指令在控制存储器中的存储位置

称为微地址。

62、从一条指令的启动到下一条指令的启动的间隔时间称为(  )。

A、 时钟周期

B、 机器周期

C、 工作周期

D、 指令周期

解析:指令周期:从一条指令的启动到下一条指令的启动的间隔时间。机器周期:指令执行中每一步

操作所需的时间,又称CPU周期。时钟周期:计算机主频周期。

75、下列哪个寄存器对于用户来说是可见的?

A、 PC

B、 IR

C、 DR

D、 AR

76、下列哪个操作不是在取指周期内容完成

A、 从指令存储器中取出指令

B、 对程序计数器PC加1

C、 对指令操作码进行译码或测试

D、 从存储器中取出操作数

77、下列哪个部件可以发出微命令?

A、 运算器

B、 存储器

C、 控制器

D、 I/O设备

78、减法指令“sub R1, R2, R3”的功能为“(R1) - (R2)→R3”,该指令执行后将生成进位/ 借位标志 CF 和溢出标志 OF。若(R1) = FFFF FFFFH,(R2) = FFFF FFF0H,则该减法指令执行后,CF 与 OF 分别为

A、 CF = 0, OF = 0

B、 CF = 1, OF = 0

C、 CF = 0, OF = 1

D、 CF = 1, OF = 1

79、若某计算机最复杂指令的执行需要完成 5 个子功能,分别由功能部件 A~E实现,各功能部件所需时间分别为 80ps、50ps、50ps、70ps 和 50ps,采用流水线方式执行指令,流水段寄存器延时为 20ps,则 CPU 时钟周期至少为( )。

A、 60ps

B、 70ps

C、 80ps

D、 100ps

81、在采用“取指、译码/取数、执行、访存、写回”5 段流水线的处理器中,执行如下指令序列,其中 s0、s1、s2、s3 和 t2 表示寄存器编号。

I1:add s2,s1,s0 //R[s2]R[s1]+R[s0]

I2:load s3,0(t2) //R[s3]M[R[t2]+0]

I3:add s2,s2,s3 //R[s2]R[s2]+R[s3]

I4:store s2,0(t2) //M[R[t2]+0]R[s2]

下列指令对中,不存在数据冒险的是( )。

A、 I1 和 I3

B、 I2 和 I3

C、 I2 和 I4

D、 I3 和 I4

82、某指令功能为 R[r2]←R[r1] + M[R[r0]],其两个源操作数分别采用寄存器、寄存器间接寻址方式。对于下列给定部件,该指令在取数及执行过程中需要用到的是( )。I.通用寄存器组(GPRs) II.算术逻辑单元(ALU)III.存储器(Memory) IV.指令译码器(ID)

A、 仅 I、II

B、 仅 I、II、III

C、 仅 II、III、IV

D、 仅 I、III、IV

85、下列关于数据通路的叙述中,错误的是:( )。

A、 数据通路包含 ALU 等组合逻辑(操作)元件

B、 数据通路包含寄存器等时序逻辑(状态)元件

C、 数据通路不包含用于异常事件检测及响应的电路

D、 数据通路中的数据流动路径由控制信号进行控制

86、通常情况下,下列( )部件不包含在中央处理器芯片中。

A、 ALU

B、 控制器

C、 通用寄存器

D、 DRAM

87、下列有关CPU中部分部件的功能的描述中,错误的是( )。

A、 控制单元用于对指令操作码译码并生成控制信号

B、 PC称为程序计数器,用于存放将要执行的指令的地址

C、 通过将PC按当前指令长度增量,可实现指令的按序执行

D、 IR称为指令寄存器,用来存放当前指令的操作码

88、执行完当前指令后,PC中存放的是后继指令的地址,因此PC的位数和( )的位数相同。

A、 指令寄存器IR

B、 指令译码器ID

C、 存储器地址寄存器MAR

D、 程序状态字寄存器PSWR

89、下列有关程序计数器PC的叙述中,错误的是( )。

A、 每条指令执行后,PC的值都会被改变

B、 指令顺序执行时,PC的值总是自动加1

C、 CALL指令执行后,PC的值一定是被调用过程的入口地址

D、 无条件转移指令执行后,PC的值一定是转移目标地址

90、下列有关指令周期的叙述中,错误的是( )。

A、 指令周期的第一个阶段一定是取指令阶段

B、 乘法指令和加法指令的指令周期总是一样长

C、 一个指令周期由若干个机器周期或时钟周期组成

D、 相对于RISC,CISC风格处理器的指令周期更长

91、以下关于指令流水线设计的叙述中,错误的是( )。

A、 指令执行过程中的各个子功能都须包含在某个流水段中

B、 所有子功能都必须按一定的顺序经过流水段

C、 虽然各子功能所用实际时间可能不同,但经过每个流水段的时间都一样

D、 任何时候各个流水段的功能部件都不可能执行空(nop)操作

92、以下关于指令流水线和指令执行效率关系的叙述中,错误的是( )

A、 加倍增加流水段个数不能成倍提高指令执行效率

B、 为了提高指令吞吐率,流水段个数可以无限制地增多

C、 加深流水线深度,可以提高处理器的时钟频率

D、 随着流水段个数的增加,流水段之间缓存开销的比例增大

93、假定执行最复杂的指令需要完成6个子功能,分别由对应的功能部件A~ F来完成,每个功能部件所花的时间分别为80ps、40ps、50ps、70ps、20ps、30ps,流水段寄存器延时为20ps,现把最后两个功能部件E和F合并,以产生一个5段流水线。该5段流水线的时钟周期至少是( )ps。

A、 70

B、 80

C、 90

D、 100

94、以下给定的情况中,不会引起指令流水线阻塞的是( )。

答案: D. 条件转移答案:C__

判断题

20、在主机中,只有内存能存放数据。

答案: 错误

解析:在CPU中,译码器主要用于指令的译码、寻址模式的译码及操作数地址的译码。

21、引入微程序机器级,使CPU的硬件电路更为简单,可以使CPU的指令系统功能更强。

答案: 正确

22、微程序技术是今后计算机技术的发展方向。

答案: 错误

解析:目前高性能的计算机中普遍采用硬布线技术。

23、在CPU中,译码器主要用在运算器中挑选多路输入数据中的某一路数据送到ALU。

答案: 错误

解析:在CPU中,译码器主要用于指令的译码、寻址模式的译码及操作数地址的译码。

24、每一条微指令都只是包含一条微命令。

答案: 错误

解析:一条微指令包含一组实现一定操作功能的微命令。

25、串行寄存器一般都具有移位功能。

答案: 正确

26、控制存储器是用来存放微程序的存储器,它应该比主存储器速度快。

答案: 正确

27、机器的主频最快,机器的速度就最快。

答案: 错误

解析:计算机的运算速度首先与主频有关,主频越高运算速度越快。其次是字长,字长越长,单位时

间内完成的数据运算就越多,运算速度就越快。最后是计算机的体系结构,体系结构合理,同样器件

的整机速度就快,比如存储器采用分级结构,处理机采用流水线结构、多机结构,都是为了提高计算

机整机的运算速度和效率而做的体系结构方面的改进。所以,不能说机器的主频最快,机器的速度就

最快。

28、引入微程序机器级,使计算机的CPU更为简单,可以组成功能更强的指令系统,从而加快了CPU的

运行速度。

答案: 错误

解析:引入微程序机器级,使计算机的CPU更为简单,可以组成功能更强的指令系统,但在同样的半

导体工艺条件下,微程序控制的速度比硬布线控制的速度低。

解析:

63、在计算机中,各指令周期的时间长度是相同的。

答案: 错误

解析:在计算机中,由于指令的种类不同,功能不同,执行每条指令时机器所进行的操作可能就不

同,所需要的时间长短也可能不相同,所以各指令周期的时间长度不一定相同。

64、CPU只是计算机的控制器。

答案: 错误

解析:计算机硬件系统是由运算器、控制器、存储器、输入设备和输出设备等五大部分组成,其中将

运算器和控制器合在一起称为中央处理器,简称为CPU

65、硬连线方式是用时序电路产生时间控制信号,用存储逻辑电路实现各种控制功能。

答案: 错误

解析:在采用组合逻辑和时钟信号相结合的硬连线控制器中,时间控制信号是由时序电路产生,而各

种控制功能则是由组合逻辑电路实现。

66、在一条微指令中,顺序控制部分的作用是发出指挥全机工作的控制信号。

答案: 错误

解析:在一条微指令中,控制字部分的作用是发出指挥全机工作的控制信号;顺序控制部分的作用是

产生后继微指令的地址。

解答题

45、某假想机主要部件如图所示。其中:

M——主存储器 MBR——主存数据寄存器

IR——指令寄存器, MAR——主存地址寄存器

PC一—程序计数器 R0- R3——通用寄存器

C,D——暂存器

(1)请补充各部件之间的主要联结线,并注明数据流动方向。

(2)拟出“ADD(R1),(R2)+”指令的执行流程(含取指过程与确定后继指令地址)。该指令的含义是

进行求和操作,源操作数地址在寄存器R1中,目的操作数寻址方式为自增型寄存器间址方式(先取地

址后加1)。

答案:

46、已知带返转指令的含义如下图所示,写出机器在完成带返转指令时,取指阶段和执行阶段所需的

全部微操作命令及节拍安排。如果采用微程序控制,需增加哪些微操作命令?

答案:

47、下图所示为双总线结构机器的数据通路,IR为指令寄存器,PC为程序计数器(具有自增功能),

M为主存(受R/W信号控制),AR为主存地址寄存器,DR为数据缓冲寄存器。ALU由加减控制信号决定

完成何种操作。控制信号G控制的是一个门电路。另外,线上标注有控制信号,例如Yi表示Y寄存器的

输入控制信号,R10表示寄存器R1的输出控制信号。未标注的线为直通线,不受控制。

现有“SUB R2,R0”指令完成(R0) - (R2) → R0的功能操作。请画出该指令的指令周期流程图,并

列出相应的微程序控制信号序列。假设该指令的地址已放入PC中。

答案:

解析:

48、设机器A的主频为8MHz,机器周期含4个时钟周期,且该机的平均指令执行速度是0.4MIPS,试求

该机的平均指令周期和机器周期,每个指令周期中含几个机器周期?如果机器B的主频为12MHz,且机

器周期也含4个时钟周期,试问B机的平均指令执行速度为多少MIPS?

答案:

A机平均指令周期=1/0.4MIPS=2.5μs A机时钟周期=1/8MHz=125ns

A机机器周期=125ns×4=500ns=0.5μs

A机每个指令周期中含机器周期个数=2.5μs÷0.5μs=5个

B机时钟周期 =1/12MHz=83ns B机 机器周期 =83ns×4=332ns

假设B机每个指令周期也含5个机器周期,那么B机平均指令周期=332ns×5=1.66μs

B机平均指令执行速度=1/1.66μs=0.6MIPS

解析:

49、已知某机采用微程序控制方式,其控制存储器容量为512×48位。微程序可在整个控制存储器中

实现转移,可控制微程序转移的条件共有4个,采用水平型格式,后继微指令地址采用断定方式,如

下图所示:

问微指令中的三个字段分别应为多少位?

答案:

(1)由控存单元数可知共512个,则每个控存单元地址位为9位,则微指令中的下地址字段的位数为9位

(2)可控制微程序转移的条件为4个,且按照直接控制编码,则测试条件位数为4位;

(3)剩下的为微指令字段可用位数 48-9-4=35位

解析:

50、图A3.1所示为双总线结构机器的数据通路,IR为指令寄存器,PC为程序计数器(具有自增功

能),M为主存(受R/W信号控制),AR为主存地址寄存器,DR为数据缓冲寄存器。ALU由加减控制信

号决定完成何种操作。控制信号G控制的是一个门电路。另外,线上标注有控制信号,例如Yi表示Y寄

存器的输入控制信号,R10表示寄存器R1的输出控制信号。未标注的线为直通线,不受控制。

现有“ADD R2, R0”指令完成(R0) + (R2) → R0的功能操作。请画出该指令的指令周期流程图,并

列出相应的微程序控制信号序列。假设该指令的地址已放入PC中。

答案:

解析:

51、图A3.1所示为双总线结构机器的数据通路,IR为指令寄存器,PC为程序计数器(具有自增功

能),M为主存(受R/W信号控制),AR为主存地址寄存器,DR为数据缓冲寄存器。ALU由加减控制信

号决定完成何种操作。控制信号G控制的是一个门电路。另外,线上标注有控制信号,例如Yi表示Y寄

存器的输入控制信号,R10表示寄存器R1的输出控制信号。未标注的线为直通线,不受控制。

现有“STO R1,(R2)”指令完成(R1)→(R2),将R1的数据送入R2指向的单元中的功能操作。请画出该

指令的指令周期流程图,并列出相应的微程序控制信号序列。假设该指令的地址已放入PC中。

答案:

解析:

52、图A3.1所示为双总线结构机器的数据通路,IR为指令寄存器,PC为程序计数器(具有自增功

能),M为主存(受R/W信号控制),AR为主存地址寄存器,DR为数据缓冲寄存器。ALU由加减控制信

号决定完成何种操作。控制信号G控制的是一个门电路。另外,线上标注有控制信号,例如Yi表示Y寄

存器的输入控制信号,R10表示寄存器R1的输出控制信号。未标注的线为直通线,不受控制。

现有“LAD (R3),R0”指令完成 ((R3))→R0,将R3指向单元中的数据送入R0中的功能操作。请画出

该指令的指令周期流程图,并列出相应的微程序控制信号序列。假设该指令的地址已放入PC中。

答案:、

解析:

53、图A3.1所示为双总线结构机器的数据通路,IR为指令寄存器,PC为程序计数器(具有自增功

能),M为主存(受R/W信号控制),AR为主存地址寄存器,DR为数据缓冲寄存器。ALU由加减控制信

号决定完成何种操作。控制信号G控制的是一个门电路。另外,线上标注有控制信号,例如Yi表示Y寄

存器的输入控制信号,R10表示寄存器R1的输出控制信号。未标注的线为直通线,不受控制。

现有“ADD (R1),R0”指令完成(R0)+((R1))→(R1),将R0中的数据与R1指向单元中的数据相加,并

将结果送入R1指向的单元中的功能操作。请画出该指令的指令周期流程图,并列出相应的微程序控制

信号序列。假设该指令的地址已放入PC中。

答案:

解析:

54、图A3.1所示为双总线结构机器的数据通路,IR为指令寄存器,PC为程序计数器(具有自增功

能),M为主存(受R/W信号控制),AR为主存地址寄存器,DR为数据缓冲寄存器。ALU由加减控制信

号决定完成何种操作。控制信号G控制的是一个门电路。另外,线上标注有控制信号,例如Yi表示Y寄

存器的输入控制信号,R10表示寄存器R1的输出控制信号。未标注的线为直通线,不受控制。

现有“ADD R0,(R1)”指令完成 ((R1))+(R0)→(R0),将R1指向单元中的数据和R0的内容相加,并将

结果存入R0寄存器中的功能操作。请画出该指令的指令周期流程图,并列出相应的微程序控制信号序

列。假设该指令的地址已放入PC中。

答案:

解析:

55、如图所示为单总线结构的CPU结构图,假设规定各部件用大写字母表示,字母加下标in表示该部

件的接收控制信号,实际上就是该部件的输入开门信号;字母加下标out表示该部件的发送控制信

号,实际上就是该部件的输出开门信号;所需的控制信号标在图上。“ADD R ,R ”指令完成(R ) 1 0 0

+(R )→R 的功能操作,拟定其指令周期流程,假设该指令的地址已放入PC中,并列出相应的微操1 1

作控制信号序列。

答案:

67、在CPU中,哪些寄存器属于控制用的指令部件?它们各起什么作用?

答案:

(1)程序计数器PC,提供取指地址,从而控制程序执行顺序。

(2)指令寄存器IR,存放现行指令,作为产生各种微操作命令的基本逻辑依据。

(3)程序状态寄存器PS,记录程序运行结果的某些特征标志,或用来设置程序运行方式与优先级,参

与形成某些微操作命令。

(4) 存储器地址寄存器

(5) 存储器数据寄存器

68、硬连线控制器如何产生微命令?产生微命令的主要条件是哪些?

答案:

硬连线控制器依靠组合逻辑电路产生命令;

组合逻辑电路的输入是产生微命令的条件,

主要有:① 指令代码;② 时序信号;③ 程序状态信息与标志位;④ 外部请求信号。

69、微程序控制器怎么产生操作控制信号,这种控制器有何优缺点?

答案:

操作控制信号的产生:事先把操作控制信号以代码形式构成微指令,然后存放到控制存储器中,取出

微指令时,其代码直接或译码产生操作控制信号。

优点:规整、易于修改和扩展。 缺点:速度较慢。

70、当读取并执行一条指令时,控制器的主要功能是什么?

答案:

① 从主存取指令,并计算下一条指令在主存中的地址;② 对指令进行译码,产生相应的操作控制信

号;③ 控制指令执行的步骤和数据流动的方向。

71、与硬连线控制器相比,微程序控制器有哪些优缺点?

答案:

与硬连线控制器相比,微程序控制器的优点是设计规整、易于修改和扩展。缺点是比硬连线控制器速

度慢。

72、微指令控制字编码的方式有哪些?

答案:

直接表示法、编码表示法、混合表示法。

直接表示法是将每个控制信号都作为微指令中的一个位。这种方法的特点是简单直观,其输出直接用

于控制,但编码效率低。

编码表示法是将微指令进行分组编码,将不同时出现的相斥信号分在一个组中,然后将其编码成较短

的代码。这种方法减少了控制存储器所需要的存储器的代码的数量,但是编码的指令代码需要译码器

译码,增加了控制信号的延迟,影响CPU的工作频率。

混合表示法是把直接表示法与编码方法相结合使用,即采用部分直接表示部分编码的方法,将一些速

度要求较高,或与其他控制信号都相容的控制信号以直接方式表示,而将剩余信号以编码方式。混合

表示法便于综合考虑指令字长、灵活性和执行速度方面的要素。

解析:

73、微地址的形成方法有哪些?

答案:

计数器方式、断定方式和结合方式。

  计数器方式,又称增量方式。用微程序计数器μPC来产生指令的微地址,将微程序中的各条微指

令按顺序安排在控制存储器中,后继地址由现行微地址加上一个增量形成。

  断定方式,根据机器状态决定下一条微指令的地址,下一条微指令的地址包含在当前微指令的代

码中。

  结合方式,是将计数器方式和断定方式相结合。

解析:

74、中央处理器的基本功能有哪些?

答案:

计算机的中央处理器(CPU)具有以下4个方面的基本功能:

  (1)指令控制,即对程序运行的控制;

  (2)操作控制,即对指令内操作步骤的控制;

  (3)数据运算,即对数据进行算术运算和逻辑运算,这是CPU的最基本功能;

  (4)异常处理和中断处理,如处理运算中的溢出等错误情况以及处理外部设备的服务请求等 

此外,CPU还具有存储管理、总线管理、电源管理等扩展功能

解析:

80、(2019年408真题) 已知 f (n) = n! =n *(n -1) * (n - 2) *……* 2 *1 ,计算 f(n)的 C 语言函数 f1 的源程序(阴影部分)及其在 32 位计算机 M 上的部分机器级代码如下:

int f1(int n){

1 00401000 55 push ebp

… … …

if(n>1)

11 00401018 83 7D 08 01 cmp dword ptr [ebp+8],1

12 0040101C 7E 17 jle f1+35h (00401035)

return n*f1(n-1);

13 0040101E 8B 45 08 mov eax, dword ptr [ebp+8]

14 00401021 83 E8 01 sub eax, 1

15 00401024 50 push eax

16 00401025 E8 D6 FF FF FF call f1 ( 00401000)

… … …

19 00401030 0F AF C1 imul eax, ecx

20 00401033 EB 05 jmp f1+3Ah (0040103a)

else return 1;

21 00401035 B8 01 00 00 00 mov eax,1

}

… … …

26 00401040 3B EC cmp ebp, esp

… … …

30 0040104A C3 ret

其中,机器级代码行包括行号、虚拟地址、机器指令和汇编指令,计算机 M 按字节编址,int 型数

据占 32 位。请回答下列问题:

(1)计算 f(10)需要调用函数 f1 多少次?执行哪条指令会递归调用 f1?

(2)上述代码中,哪条指令是条件转移指令?哪几条指令一定会使程序跳转执行?

(3)根据第 16 行的 call 指令,第 17 行指令的虚拟地址应是多少?已知第 16 行的 call 指令

采用相对寻址方式,该指令中的偏移量应是多少(给出计算过程)?已知第 16 行的 call 指令的后

4 字节为偏移量,M 是采用大端方式还是采用小端方式?

(4)f(13) = 6227020800,但 f1(13)的返回值为 1932053504,为什么两者不相等?要使

f1(13)能返回正确的结果,应如何修改 f1 的源程序?

(5)第 19 行的 imul 指令(带符号整数乘)的功能是 R[eax]←R[eax]×R[ecx],当乘法器输出的

高、低 32 位乘积之间满足什么条件时,溢出标志 OF = 1?要使 CPU 在发生溢出时转异常处理,编

译器应在 imul 指令后应加一条什么指令?

答案:

1)计算 f(10)需要调用函数 f1 共 10 次,执行第 16 行的 call 指令会递归调用 f1。

2)第 12 行的 jle 指令是条件转移指令,其含义为小于等于时转移,本行代码的意义为:当n≤1

时,跳转至地址 0040 1035H。第 16 行的 call 指令为函数调用指令,第 20 行的 jmp 指令为无条

件转移指令,第 30 行的 ret 指令为子程序的返回指令,这三条指令一定会使程序跳转执行。

3)其长度计算机 M 上按字节编址,第 16 行的 call 指令的虚拟地址为 0040 1025H,长度为 5 字

节,故第 17 行的指令的虚拟地址为 0040 1025H + 5 = 0040 102AH。第 16 行的 call 指令采用相

对寻址方式,即目标地址 = (PC) + 偏移量,call 指令的目标地址为 0040 1000H,所以偏移量=目

标地址 - (PC) = 0040 1000H - 0040 102AH = FFFF FFD6H。根据第 16 行的 call 指令的偏移量字

段为 D6 FF FF FF,可以确定 M 采用小端方式。

4)因为 f(13) = 6227020800,其结果超出了 32 位 int 型数据可表示的最大范围,因此 f(13) 的

返回值是一个发生了溢出的错误结果。为使 f1(13)能返回正确结果,可将函数 f1 的返回值类型改

为 double(或 long long,或 long double,或 float)类型。

5)若乘积的高 33 位为非全 0 或非全 1,则 OF = 1。编译器应在 imul 指令后加一条“溢出自陷

指令”,使得 CPU 自动查询溢出标志 OF,当 OF = 1 时调出“溢出异常处理程序”。

83、什么是指令周期?指令周期是否有一个固定值?为什么?

答案:

指令周期是指取出并执行完一条指令所需的时间。

由于计算机中各种指令执行所需的时间差异很大,因此为了提高CPU运行效率,即使在同步控制的机

器中,不同指令的指令周期长度都是不一致的,也就是说指令周期对于不同的指令来说不是一个固定

值。

84、中断周期前是什么阶段?中断周期后又是什么阶段?在中断周期CPU应完成什么操作?

答案:

中断周期前是执行周期,中断周期后是取指周期。在中断周期,CPU应完成保存断点、将中断向量送

PC和关中断等工作。

你可能感兴趣的:(单片机,嵌入式硬件,大数据,网络,服务器)