• 计算机组成原理——中央处理器の选择题整理


    CPU的功能和基本结构

    1、条件转移指令执行时所依据的条件来自()
    A、指令寄存器
    B、标志寄存器
    C、程序计数器
    D、地址寄存器

    解析:选B
    指令寄存器(IR):用于存放当前正在执行的指令
    标志寄存器:存放条件转移的条件。在条件转移时,需要对标志寄存器中的内容进行测试,如果满足条件,才可以转移。
    程序计数器(PC):用于存放下一个指令的地址
    地址寄存器:用于暂存指令或数据的地址

    2、下面有关程序计数器(PC)的叙述中,错误的是()
    A、PC中总是存放指令地址
    B、PC的值由CPU在执行指令过程中进行修改
    C、转移指令时,PC的值总是修改为转移指令的目的地址
    D、PC的位数一般和存储器地址寄存器(MAR)的位数一样

    解析:选C
    对于A,PC中总是存放下一个指令的地址,即指令地址
    对于B,PC中的值会在CPU执行指令过程中(取指指令结束后)进行修改,或者自增,或者转移到程序的某一处。
    对于C,转移指令时,只有在符合转移条件的情况下,CPU的值才会修改为转移指令的目的地址。
    对于D,地址寄存器用来存放地址,而PC存放指令地址,两者都是地址,因此位数一样,如果PC位数小于MAR位数,那有一些地址就无法被PC存放,如果PC位数大于MAR位数,就会产生浪费,因此一般都是一样的。

    3、在一条无条件跳转指令的指令周期内,PC的值被修改()次
    A、1
    B、2
    C、3
    D、无法确定

    解析:选B
    在取指操作完成后,PC加1,被修改一次。
    因为是无条件的跳转指令,因此一定会跳转,在跳转到目标指令时,PC被修改一次,修改为要跳转到的目标地址。
    因此一共是被修改两次。

    4、以下关于计算机系统的概述中,正确的是()
    a.CPU不包括地址译码器
    b.CPU的程序计数器中存放的是操作数地址
    c.CPU中决定指令执行顺序的是程序计数器
    d.CPU的状态寄存器对用户是完全透明的
    A、a、c
    B、c、d
    C、b、c、d
    D、a、c、d

    解析:选A
    对于a,地址译码器是用来接受 CPU 送来的地址信号并对它进行译码,选择与此地址码相对应的存储单元,以便对该单元进行读/写操作。是位于存储器中,不在CPU中。
    对于b,程序计数器(PC)是用来存放下一条指令地址的。
    对于c,因为PC中存放的是下一条要执行的指令地址,因此执行顺序是由它决定的。
    对于d,CPU内对用户完全透明的:程序状态字寄存器(PSW)、通用寄存器组、程序计数器(PC)。对用户不透明的:指令寄存器(IR)、存储器地址寄存器(MAR)、存储器数据寄存器(MDR)

    5、下列寄存器中,汇编语言程序员可见的是()
    A、存储器地址寄存器(MAR)
    B、程序计数器(PC)
    C、存储器数据寄存器(MDR)
    D、指令寄存器(IR)

    解析:选B
    CPU内对用户完全透明的:程序状态字寄存器(PSW)、通用寄存器组、程序计数器(PC)。对用户不透明的:指令寄存器(IR)、存储器地址寄存器(MAR)、存储器数据寄存器(MDR)

    6、某计算机的主存空间为4GB,字长为32位,按字节编址,采用32位字长指令字格式。若指令按字边界对齐存放,则程序计数器(PC)和指令寄存器(IR)的位数至少分别是()
    A、30、30
    B、30、32
    C、32、30
    D、32、32

    解析:选B
    因为指令寄存器存放当前正在执行的指令地址,因此位数等于指令字长,即32位
    因为计算机字长为位32位(4B),采用32位(4B)字长指令字格式,存储空间为4GB(232B),因为边界对齐存放(如果不对齐存放的话,就不能知道一行有多少字节了,题目就无法做了),所以每一行有4B(每一条指令有4B),一共有232/4=230条,因为PC要表示出所有的指令地址,所以PC需要30位。


    指令执行过程

    1、采用DMA方式传递数据时,每传送一个数据就要占用()
    A、指令周期
    B、时钟周期
    C、机器周期
    D、存取周期

    解析:选D
    DMA(Direct Memory Access):直接内存操作 / 组数据传送方式,在数据传送过程中,没有保存现场、恢复现场之类的工作。由于CPU根本不参加传送操作,因此就省去了CPU取指令、取数、送数等操作。
    指令周期:完成一条指令所花费的时间,包括取指、取数、运数、计算等时间,由多个机器周期组成。
    时钟周期:CPU操作的基本单位,也成为拍或T周期。
    机器周期:一个机器周期由若干时钟周期组成,也成为CPU周期,完成一个基本操作所需要的时间,如取指操作。
    存取周期:连续两次独立的存储器操作(读或写操作)之间最小的时间间隔。

    2、以下叙述中,错误的是()
    A、指令周期的第一个操作时取指令
    B、为了进行取指操作,控制器需要得到相应的指令
    C、取指操作是控制器自动进行的
    D、指令执行时有些操作是相同或相似的

    解析:选B
    指令周期包括:取指、间址(取操作数)、执行、中断。其中取指操作是第一个操作。
    取指操作是自动进行的,不需要指令
    指令执行时有些操作是相同或相似的,例如在单指令取指操作时,都是根据PC中的地址,从内存中取出指令,然后存放在指令寄存器(IR)中,在取指令的同时,PC+1。

    3、以下关于间址周期的描述中,正确的是()
    A、所有指令的间址操作都是相同的
    B、凡是存储器间接寻址的指令,他们的操作都是相同的
    C、对于存储器间接寻址和寄存器间接寻址,它们的操作是不同的
    D、都不对

    解析:选C
    对于A,指令的间址操作包括一次间址、两次间址、三次间址,因此并不是所有指令的间址操作都是相同的。
    对于B,存储器间接寻址的指令也包括一次间址、两次间址、三次间址,因此B也不对。
    对于C,存储器间址是通过形式地址访问,寄存器间址是通过寄存器内容访问。

    4、CPU响应中断的时间是()
    A、一条指令执行结束
    B、I/O设备提出中断
    C、取指周期结束
    D、指令周期结束

    解析:选**A **
    指令周期包括:取指、间址(取操作数)、执行、中断,并按这个顺序执行。
    如果I/O设备提出中断,CPU也是在指令执行结束之后才会响应。

    5、以下叙述中,错误的是()
    A、取指操作是控制器固有的功能,不需要在操作码控制下完成
    B、所有指令的取指操作都是相同的
    C、在指令长度相同的情况下,所有指令的取指操作都是相同的
    D、中断周期是在指令执行完成后出现的

    解析:选B
    对于A,取指操作是控制器固有的功能,不需要在操作码控制下完成,会自动进行
    对于B,取指操作中有取单指令、双指令、三指令等,它们之间的操作是不同的,取单指令PC只加一次,双指令加2次,三指令加3次。
    对于C,在指令长度相同的情况下,即都是单指令或双指令或三指令的情况下,所有指令的取指操作都是相同的
    对于D,指令周期包括:取指、间址(取操作数)、执行、中断,并按这个顺序执行。如果I/O设备提出中断,CPU也是在指令执行结束之后才会响应。

    6、下列说法中,正确的是()
    a.指令字长等于机器字长的前提下,取指周期等于机器周期
    b.指令字长等于存储字长的前提下,取指周期等于机器周期
    c.指令字长和机器字长的长度没有任何关系
    d.为了硬件设计方便,指令字长都和存储字长一样大
    A、b、c
    B、b、c、d
    C、a、c、d
    D、a、d

    解析:选A
    对于a,b,如果指令字长等于存储字长,取指周期等于机器周期,如果指令字长是存储字长的2倍,此时取指周期等于两个机器周期。
    对于c,指令字长取决于操作码的长度、操作数地址的长度、操作数地址的个数,与机器字长并没有必然联系。
    对于d,为了硬件设计方便,指令字长通常取存储字长的整数倍。


    数据通路的功能和基本结构

    1、采用CPU内部总线的数据通路与不采用CPU内部总线的数据通路相比,()
    A、前者性能更高
    B、后者的数据冲突问题更严重
    C、前者的硬件量大,实现难度高
    D、以上说法都不对

    解析:选D
    采用CPU内部总线的数据通路的特点:结构简单、容易实现、性能较低、存在较多的数据冲突问题。
    不采用CPU内部总线的数据通路的特点:结构复杂、硬件量大、实现难度高、性能高、数据冲突少。

    2、CPU的读写控制信号的作用是()
    A、决定数据总线上数据流方向
    B、控制存储器操作的读写类型
    C、控制流入、流出存储器信息的方向
    D、以上都是

    解析:选D
    CPU的读写控制信号决定了控制存储器操作的读写类型,当读的时候,数据从存储器流出,写的时候数据流入存储器,因此决定了数据总线上数据流方向,并且控制流入、流出存储器信息的方向。

    3、单周期处理器中所有指令的指令周期为一个时钟周期,下列关于单周期处理器的叙述中,错误的是()
    A、可以采用单总线结构数据通路
    B、处理器时钟频率较低
    C、在指令执行过程中控制信号不变
    D、每条指令的CPI为1

    解析:选A
    对于A,单总线结构数据通路将所有的输入输出端都连在一条公共通路上,一个时钟只允许一次操作,对于一条指令来说,包括多个操作,因此一个时钟周期内肯定完不成一条指令,因而单周期处理器不能采用单总线结构数据通路。
    对于B,因为每条指令的CPI都为1,因此时钟周期取决于执行速度最慢的指令,因此时钟周期比较大,时钟频率=1/时钟周期,所以时钟频率较低。
    对于C,控制信号在一个时钟周期内不会发生变化,而对于单周期处理器来说,所有指令的指令周期为一个时钟周期,因此在指令执行过程中控制信号不会发生变化。
    对于D,单周期处理器中所有指令的指令周期为一个时钟周期,因此每条指令的CPI(平均执行周期数)都为1。


    控制器的功能和工作原理

    1、在微程序控制器中,形成微程序入口地址的是()
    A、机器指令的地址码字段
    B、微指令的微地址码字段
    C、机器指令的操作码字段
    D、微指令的微操作码字段

    解析:选C
    执行公用的取指微程序从主存中取出机器指令后,由机器指令的操作码字段指出各个微程序的入口地址。

    2、下列不属于微指令结构设计所追求目标的是()
    A、提高微程序的执行速度
    B、提供微程序设计的灵活性
    C、缩短微指令长度
    D、增大控制存储器的容量

    解析:选D
    微程序的设计目标是基于执行速度、灵活性和指令长度来考虑的,并没有考虑存储容量的问题。

    3、某带中断的计算机指令系统共有101种操作,采用微程序控制方式时,控制存储器中相应最少有()个微程序
    A、101
    B、102
    C、103
    D、104

    解析:选C
    采用微程序控制方式时必须要有公用的取指微程序,因为是带中断的计算机指令系统,所以还需要有一个中断微指令,因此控制存储器中相应的微程序个数为:101+1+1=103个

    4、下列说法中,正确的是()
    a.微程序控制方式和硬布线方式相比较,前者可以使指令的执行速度更快
    b.若采用微程序控制方式,则可用μPC取代PC
    c.控制存储器可以用ROM实现
    d.指令周期也称CPU周期
    A、a、c
    B、b、c
    C、只有c
    D、a、c、d

    解析:选C
    对于a,硬布线控制器是根据指令的要求、当时的时序及外部和内部的状态,按时间的顺序发送一系列微程序控制信号,它由复杂的组合逻辑门电路和一些触发器构成,因此又称为组合逻辑控制器。微程序控制器采用存储逻辑实现,把微程序信号代码化,使每条机器指令转化成为一段微程序并存入一个专门的存储器中。相当于硬布线偏重硬件实现功能,微程序偏向利用程序实现功能,显然硬布线的指令执行速度更快。(类似于专门用来加法计算的寄存器执行速度比利用代码实现加法运算快)。
    对于b,采用微程序控制方式,并不意味着所有的指令都是通过微程序实现的,不靠微程序实现的指令,需要PC,而不能用μPC。
    因为每条微指令执行时所发出的控制信号是事先设计好的,因此不需要改变,只需要读出调用即可,因此控制存储器可以用ROM(只读存储器)实现。
    对于d,机器周期也称CPU周期,通常一条指令周期包含多个机器周期。

    5、通常情况下,一个微程序的周期对应一个()
    A、指令周期
    B、主频周期
    C、机器周期
    D、工作周期

    解析:选A
    指令周期:执行一条指令所需要的时间。在采用微程序控制器的CPU中,一条指令对应一个微程序,因此一个微程序的周期对应一个指令周期。
    主频周期:CPU内部的主时钟频率,是机器周期的导数
    机器周期:完成一项操作所需要的时间。
    工作周期:计算机工作的周期,完成某一项工作所需要的时间(没找到官方解释,根据字面意思理解的)

    6、某计算机的控制器采用微程序控制方式,微指令中的操作控制字段采用字段直接编码法,共有33个微命令,构成5个互斥类,分别包括7、3、12、5和6个微命令,则操作控制字段至少有()
    A、5位
    B、6位
    C、15位
    D、33位

    解析:选C
    字段直接编码法:将微命令字段分成若干小字段,互斥性微命令放在同一字段中,相容性微命令放在不同字段中,每个字段还要留出一个状态,用来表示该字段没有命令产生。
    5个互斥类,分别包括7、3、12、5和6个微命令,因此各个字段分别需要3、2、4、3、3位,一共是3+2+4+3+3=15位。

    7、某计算机采用微程序控制器,共有32条指令,公共的取指令微程序包含2条微指令,各指令对应的微程序平均由4条微指令组成,采用断定法(下地址字段法)确定下条微指令地址,则微指令中下地址字段的位数至少是()
    A、5
    B、6
    C、8
    D、9

    解析:选C
    有32条指令,各指令对应的微程序平均由4条微指令组成,因此共有32*4=128条,因为公共的取指令微程序包含2条微指令,所以该计算机共有128+2=130条微指令,因为采用下地址字段法(就是向下取整),因此 log2⌈ 130 ⌉=8位。

    8、关于主存储器(MM)和控制存储器(CS)的叙述,错误的是()
    A、MM在CPU外,CS在CPU内
    B、MM按地址访问,CS按内容访问
    C、MM存储指令和数据,CS存储微指令
    D、MM用RAM和ROM实现,CS用ROM实现

    解析:选B
    主存储器(MM)就是主存,在CPU外,用于存储数据和指令,由RAM和ROM实现。
    控制存储器(CS)用来存放实现指令系统的所有微指令,是一种只读存储器,用ROM实现,在CPU控制器内,按照微指令的地址访问。

    9、下列有关存储器时钟脉冲信号的叙述中,错误的是()
    A、时钟脉冲信号由机器脉冲源发出的脉冲信号经整形和分频后形成
    B、时钟脉冲信号的宽度称为时钟周期,时钟周期的倒数为机器主频
    C、时钟周期以相邻状态单元间组合逻辑电路的最大延迟为基准确定
    D、处理器总是在每来一个时钟脉冲信号时就开始执行一条新的指令

    解析:选D
    时钟脉冲信号的宽度又称为时钟周期,时钟周期是CPU内最小的时间单位,时钟周期的倒数为机器主频。时钟脉冲信号由机器脉冲源发出的脉冲信号经整形和分频后形成,时钟周期以相邻状态单元间组合逻辑电路的最大延迟为基准确定。指令周期包含多个时钟周期,只有在理想状态下,才能实现每来一个时钟脉冲信号时就开始执行一条新的指令,多数情况下完成一条指令并不会正好卡在一个时钟周期结束,可能在中间的时候就结束了。


    异常和中断机制

    1、主存故障引起的中断是()
    A、故障异常
    B、程序性中断
    C、硬件中断
    D、外中断

    解析:选C
    故障异常:执行指令是产生的程序性异常(软件中断)。如:除以0、溢出
    程序性中断:主动编写程序使之在执行到此处的时候产生中断。
    硬件中断:由主存故障引起的中断。
    外中断:由外部设备引起的中断,通常由于信息的输入和输出,例如:打印机缺纸引起的中断


    指令流水线

    1、流水CPU是由一系列称为“段”的处理线路组成。一个m段流水线稳定时的CPU的吞吐能力,与m个并行部件的CPU的吞吐能力相比,()
    A、具有同等水平的吞吐能力
    B、不具备同等水平的吞吐能力
    C、吞吐能力大于前者的吞吐能力
    D、吞吐能力小于前者的吞吐能力

    解析:选A
    吞吐能力是指单位时间内完成的指令数。m段流水线在m个时钟周期后完成m条指令,m个并行部件在m个时钟周期后能完成m条指令,因此平均下来都是在一个时钟周期内完成1个指令。故吞吐能力相同。

    2、下列关于超标量流水线的描述中,不正确的是()
    A、在一个时钟周期内一条流水线可执行一条以上的指令
    B、一条指令分为多阶段指令由不同电路单元完成
    C、超标量通过内置多条流水线来同时执行多个处理器,其实质是以空间换取时间
    D、超标量流水线是指运算操作并行

    解析:选D
    超标量流水线技术也称为动态多发射技术,每个时钟周期内可并发多条独立指令,以并行操作方式将两条或多条指令编译并执行,为此需要配置多个功能部件,实质上是以空间换取时间,将一个指令分为多个阶段,在不同电路单元执行完成。

    3、在无转发机制的五段基本流水线(取指、译码/读寄存器、运算、访写回寄存器)中,下列指令序列存在数据冒险的指令对是()
    I1:add R1,R2,R3;(R1)+(R3)->R1
    I2:add R5,R2,R4;(R2)+(R4)->R5
    I3:add R4,R5,R3;(R5)+(R3)->R4
    I4:add R5,R2,R6;(R2)+(R6)->R5
    A、I1和I2
    B、I2和I3
    C、I2和I4
    D、I3和I4

    解析:选B
    数据冒险:即数据相关,指在一个程序中存在必须等前一条指令执行完才能执行后一条指令的情况,此时两条数据即为数据相关.
    对于A,I1在时钟为2的时候才会读R1,R3,在时钟为5的时候把计算结果写入R1,对于I2,在时钟为3的时候就要读R2,R4,此时要读的R2,R4并未在R1中使用或处理,因此I2 的执行与I1的执行并没有冲突,因此不存在数据冒险。
    在这里插入图片描述
    对于B,I2在时钟为5的时候才会把计算结果写入R5,而对于I3,在时钟为3的时候就要读R5,且此时要读的R5是执行完I2后新的R5,显然此处读到的R5是旧的,因此存在数据冒险。
    在这里插入图片描述
    对于C,I2在时钟为2的时候才会读R2,R4,在时钟为5的时候把计算结果写入R5,对于I4,在始终为4时读R2,R6,因为I2中并未对R2进行修改,且此时I2并没有访问R2,所以此时不存在数据冒险,I4在时钟为7时将数据写入R5,此时I2已经将输入写入了,因此也不存在数据冒险。
    在这里插入图片描述
    对于D,I3在时钟为2的时候才会读R5,R3,在时钟为5的时候把计算结果写入R4,I4在时钟为3的时候才会读R2,R6,在时钟为5的时候把计算结果写入R5,此时访问的R5I3已经访问完,且并没有做出任何修改,因此并不存在数据冒险,其余的寄存器更是没有关系,因此也不存在数据冒险。
    在这里插入图片描述

    4、下列关于超标量流水线特性的叙述中,正确的是()
    a.能缩短流水线功能段的处理时间
    b.能在一个时钟周期内同时发射多条指令
    c.能结合动态调度技术提高指令执行并行性
    A、仅b
    B、仅a、c
    C、仅b、c
    D、a、b和c

    解析:选C
    超标量是指在CPU内有一条以上的流水线,并且每个时钟周期可以完成一条以上的指令。超标量流水线技术也称为动态多发射技术,每个时钟周期内可并发多条独立指令,以并行操作方式将两条或多条指令编译并执行。

    5、下列关于指令流水线数据通路的叙述中,错误的是()
    A、包含生成控制信号的控制部件
    B、包含算术逻辑运算部件(ALU)
    C、包含通用寄存器组和取指部件
    D、由组合逻辑电路和时序逻辑电路组合而成

    解析:选A
    数据通路:数据在功能部件之间传送的路径,包括数据通路上流经的部件,如程序计数器、ALU、通用寄存器、状态寄存器、异常和中断处理逻辑等。数据通路由控制部件控制,控制部件根据每条指令不同的功能生成对数据通路的不同信号。因此数据通路中不包括控制部件。


    多处理器的基本概念

    1、下列关于多处理器的说法中,正确的是()
    a.一般采用偶数路CPU,如2路、4路、6路
    b.NUMA架构比UMA架构的运算扩展性要强
    c.UMA架构需要解决的重要问题是Cache一致性
    A、a
    B、a和b
    C、a和c
    D、a、b和c

    解析:选D
    对于a,CPU一般采用偶数路,对于CPU芯片设计来说,只有设计成偶数核心才能最大化利用芯片面积,比如双核可能是个矩形,四核可能拼起来接近正方形,而6核心可能又成为一个矩形,总之,只要是偶数核心,就可以保持矩形的整体布局,从而最大化利用芯片本身的矩形。
    对于b,NUMA架构:内存控制器被集成到CPU内部,每个CPU都有独立的内存控制器。UMA架构:早期的计算机,内存控制器没有整合进CPU,访存操作需要经过北桥芯片(集成了内存控制器,并于内存相连),CPU通过前端总线和北桥芯片相连。这使得NUMA架构比UMA架构的运算扩展性要强。
    对于c,UMA架构中共享一个内存,但是可以各自有各自的Cache,因此需要保证Cache的一致性。

  • 相关阅读:
    ngrok实现内网穿透window下,vue项目invalid host header报错
    Android sdk工程搭建(aar)
    知识产权维权全流程
    Handler 原理
    PlotNeuralNet绘制卷积神经网络结构图
    系统架构设计师-数据库系统(3)
    百度Java面试题前200页都在这里了
    【JAVA基础】深入解析 ArrayList 和 LinkedList 的区别?
    阿里高工内产的 SpringBoot 实战派手册仅发布一天霸榜Github
    CSAPP实验记录(1)--------- DataLab
  • 原文地址:https://blog.csdn.net/qq_45741986/article/details/126157305