计算机组成原理练习题

1. 填空题(1)寄存器寻址方式中,指令的地址码部分给出 寄存器号 ,操作码在 寄存器 中;直接寻址方式指令中,直接给出 操作数的地址 ,需访问 主存 一次可获得操作数;存储器间接寻址方式指令中给出的

1. 填空题

(1)寄存器寻址方式中,指令的地址码部分给出 寄存器号 ,操作码在 寄存器 中;直接寻址方式指令中,直接给出 操作数的地址 ,需访问 主存 一次可获得操作数;存储器间接寻址方式指令中给出的是 操作数 所在的存储器地址,CPU 需要访问内存 2 次才能获得操作数。

(2)指令的编码将指令分成 操作码 和 操作数地址码 等字段。

(3)CPU 中,保存当前正在执行的指令的寄存器为 指令寄存器 ,保存下一条指令地址的寄存器为 程序计数器PC ,保存CPU 访存地址的寄存器为 地址寄存器(AR ) 。

(4)某机采用三地址格式指令,共能完成50种操作,某机器可在1K 地址范围内直接寻址,则指令字长应取 36 位,其中操作码 6 位,地址码 30 位。

(5)变址寻址和基址寻址的区别是:在基址寻址中,基址寄存器提供 基址 ,指令提供 位移量 ;而在变址寻址中,变址寄存器提供 ? ,指令提供 ? 。

(6)设相对寻址的转移指令占两个字节,第一字节为操作码,第二字节是位移量(用补码表示),每当CPU 从存储器取出一个字节时,即自动完成(PC ) 1=PC。设当前指令地址为3008H ,要求转移到300FH ,则该转移指令第二字节的内容为 00000111 。若当前指令地址为300FH ,要求转移到3004H, 则该转移指令第二字节的内容为 11110101 。

7. 有一个处理机共有10条指令,各指令的使用频度分别为0.25,0.2,0.1,0.12,0.1,0.09,0.05,0.04,0.03,0.02,请分别用固定长编码,Huffman 编码和2/8扩展编码进行编码。 解:

固定长编码:

Huffman 编码:

,

,

11. 某处理机的指令有双地址,单地址和零地址3类,地址字段的长度为3位,整个指令字长为16位,则最多可以有多少条双地址指令?可以最多有多少条单地址指令? 解:

最多有210条双地址指令;

最多有(210-1)*23条单地址指令

14. 假设某计算机指令字长度为32位,具有二地址,一地址,零地址3种指令格式,每个操作数地址规定用8位表示,若操作码字段固定为8位,现已设计出K 条二地址指令,L 条零地址指令,那么这台计算机最多能设计出多少条单地址指令?

解:

28-K-L

18. 某计算机指令字长为16位,采用扩展操作数,操作数地址需4位,该指令已有三地址指令M 条,二地址指令N 条,没有零地址指令,问最多还可有多少条一地址指令? 解:

三地址最多24;二地址最多(24-M )*24;

最多有((24-M )*24-N )*24条一地址指令

1. 填空题

(1)微程序控制器的核心部件是存储微程序的 控制存储器 , 它一般用 只读存储器 构成。

(2)控制器在生成各种控制信号时, 必须按照一定的 顺序 进行, 以便对各种操作实施时间

,

上的控制。

(3)CPU 中, 保存当前正在执行的指令的寄存器为 指令寄存器(IR ) , 保存下一条指令地址的寄存器为 程序计数器(PC ) , 保存CPU 访存地址的寄存器为 地址寄存器(AR ) 。

(4)微指令格式可分为 水平 型和 垂直 型两类, 其中 垂直 型微指令用较长的微程序结构换取较短的微指令结构。

(5)在微型计算机中,CPU 从主存取出一条指令并执行该指令的时间叫 指令周期 , 它通常包含若干个 机器周期 , 而后者又包含若干个 时钟周期 ,组成多级时序系统。

2.CPU 中包含哪些基本的寄存器? 分别起什么样的作用?

通用寄存器(GR ):功能不唯一,可由程序设计者根据需要进行指定,如存放原始数据和运算结果,作为变址寄存器,计数器等。

程序计数器(PC ):自动取出指令并执行

指令寄存器(IR ):存放当前执行的指令

地址寄存器(AR ):暂时存放当前CPU 所访问的内存单元的地址

数据缓冲寄存器(DR ):暂时存放由主存读出的一条指令或一个数据字

状态条件寄存器(PSW ):用于保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容

4. 控制器中一般包含哪些基本部件?每个部件的功能是什么?

①程序计数器(PC ):

②指令寄存器(IR ):

③指令译码器(ID ):分析操作码,并产生相应的控制信号提供给控制单元。

④地址形成部件:根据不同的寻址方式来形成操作数的有效地址。

⑤脉冲源:产生一定频率和宽度的时钟脉冲信号作为整个机器的时钟脉冲。

,

⑥启停线路:保证可靠地送出或封锁时钟脉冲,控制时序信号的发生或停止,从而启动机器或使之停机。

⑦节拍信号发生器:用于将脉冲源产生的脉冲信号转换为各个机器周期中所需的节拍信号,控制计算机完成每一步操作。

⑧控制单元(CU ):根据当前正在执行的指令的需要,以及其他有关的因素,产生相应的时序控制信号,并根据被控功能部件的反馈信号调整时序控制信号。

⑨中断控制逻辑:控制中断处理的硬件逻辑

7. 程序和微程序,机器指令和微指令,主存储器和控制存储器这几个概念有何区别?

(1)程序和微程序。程序是由程序员编写的,由指令组成,而微程序用以控制指令的执行,它是由微指令组成的。

(2)机器指令和微指令。机器指令是把程序员编写的程序经编译以后成为机器能执行的以二进制码形式表示的指令;在微程序控制的计算机中通过执行一串微指令完成一条指令的功能。

(3)主存储器和控制存储器。主存储器用来存放程序和数据,在运行程序时,CPU 从主存储器取指令和存取数据,一般由随机存储器RAM 构成。控制存储器用来存放微程序,用以解释指令的执行,一般由只读存储器ROM 构成

8. 指令和数据均放在内存中,从形式上看,它们都是二进制编码,如何区分当前所读取的是指令还是数据,两种情况下对访存结果的处理有何差异?

答:取指周期从内存读出的信息流是指令流,它流向控制器,由控制器解释从而发出一系列微操作信号;而执行周期从内存读出或送入内存的信息流是数据流,它由内存流向运算器,或者由运算器流向内存。

,

11. 水平型微指令和垂直型微指令有何差异?

水平型指令:一条微指令中定义并执行多个并行微操作的微指令。并行操作能力强,效率高,灵活性强,执行一条机器指令时所需的微指令数量少,执行速度快,字长较长。

垂直型指令:在微指令中设置微操作码字段,采用微操作码编译法,由微操作码规定微指令的功能。并行操作能力低,效率低,执行一条机器指令时所需的微指令数量多,执行速度长,字长较短,简单易用。

13. 某机采用微程序控制方式,水平型编码控制的微指令格式,共有微命令30个,构成4个互斥类,各包含5个,8个,14个和3个微命令,外部条件3个。

(1)若采用字段直接编码方式和直接控制方式,微指令的操作控制字段各取几位?

(2)假设微指令字长为24位,设计出微指令的具体格式。

(3)在(2)的情况下,控制存储器允许的最大容量为多少?

解:

(1)字段直接编码方式:3 4 4 2=13

直接控制方式:30

(2)采用水平型微指令格式,控制字段13位,外部条件3个, 采用断定方式需2位控制位,下地址字段长度为24-13-2=9位;

(3)控制存储器的容量为512*24位。

14. 已知某计算机有80条指令,平均每条指令由12条微指令组成,其中有一条取指微指令是所有指令公用的,设指令长度为32位,请计算出控制存储器容量。

解:

(80*11 1)*32=880*32

,

控制存储器可选的容量为1024*32位

15. 某机采用微程序控制方式,其控制端容量为1024*48位。微指令字长48位,微程序可在整个控制存储器中实现转移,可控制程序转移条件共有4个(直接控制),微指令采用水平型格式,如图5.25所示。

图5.25 习题15图

(1)微指令中3个字段分别为多少位?

(2)画出围绕这种微指令格式的微程序控制器逻辑框图。

解:

(1)控制字段:48-2-10=36位 判别测试字段:2位 下地址字段:10位

(2)

17. 某机器有8条微指令,10种控制信号,每条微指令发出的控制信号如表5.5所示。假设

,

微指令的控制字段为8位,试给出控制字段的设计方案。

表5.5 习题17的每条微指令发出的控制信号

解:

{e,f,h}和{b,g,j}构成两个互斥类,采用字段直接编译法。 a,c,d,i 采用直接控制法。 具体设计如下图:

h:11

j:11

,

20. 设某机配有A,B,C 3台设备,其优先顺序是A>B>C,为改变中断处理次序,将它们的屏蔽字分别设置为如表6.6所示。

表6.6 习题20的设备屏蔽字

请在图6.55中的时间轴给出的设备请求中断的时刻,画出CPU 执行程序的轨迹。设A ,B ,C 中断服务程序的执行时间均为20μs

图6.55 习题20图

标签: