《计算机组成原理》课后题答案_清华大学出版_秦磊华_吴非·· 下载本文

内容发布更新时间 : 2024/5/11 18:07:44星期一 下面是文章的全部内容请认真阅读。

所以:D = 110-131=(-21)10=FFEDH(补码)

故:转移转移指令第二字节为:EBH,第三字节为:FFH。

5.7 某计算机有变址、间接和相对等三种寻址方式,设指令由操作码、寻址方式特征位和地址码三部分组成,且为单字长指令。设当前指令的地址码部分为001AH,正在执行的指令所在地址为1F05H,变址寄存器中的内容为23A0H,已知存储器的部分地址及相关内容如表5.11所示:

表5.11 存储器内容分配

地址 001AH 1F05H 1F1FH 23A0H 23BAH 内容 23A0H 2400H 2500H 2600H 1748H

根据要求完成下列填空:

⑴ 当执行取数指令时,如为变址寻址方式,则取出来的数为_________。 ⑵ 如为间接寻址,取出的数为_________。 ⑶ 当采用相对寻址时,有效地址为_________。

解:(1)当为变址寻址方式时,变址寄存器为23A0H,当前地址码部分为:001AH EA=23A0H+001AH=23BAH 所以读出的数为:1748H

(2) 当为间接寻址时,当前地址码部分为:001AH,则有效地址为: EA=[001A]=23A0H

所以读出的数为:2600H

(3)当为相对寻址时,当前执行指令的地址为1F05H,则PC=PC+2=1F05H+2=1F07H(指令长度为两个字节)

EA=1F07H+001AH=1F21H

没有该地址对应的内容,说明CPU所访问的内容不在主存中。

5.8某计算机的指令格式包括操作码OP、寻址方式特征位I和形式地址D等三个字段,其中OP字段6位,寻址方式特征位字段I为2位,形式地址字段D为8位。I的取值与寻址方式的对应关系为: I=00:直接寻址

I=01:用变址寄存器X1进行变址; I=10:用变址寄存器X2进行变址; I=11:相对寻址.

设(PC)=1234H,(X1)=0037H , (X2)=1122H,以下四条指令均采用上述格式,请确定这些指令的有效地址:

(1)4420H (2)2244H (3)1322H (4)3521H 解:(1)4420H=(0100010000100000)B OP 010001 I 00 D 00100000 I=00,变址寻址方式,EA= 20H (2)2244H=0010 0010 0100 0100B

OP 001000 I 10 D 01000100 I=10:用变址寄存器X2进行变址 E=(X2)+D=1166H

(3)1322H=0001 0011 0010 0010B OP 000100 I 11 D 00100010 I=11:相对寻址

E=(PC)+2+D=1258H (双字节长指令) (4)3521H=0011 0101 0010 0001B OP 001101 I 01 D 00100001 I=01:用变址寄存器X1进行变址 E=(X1)+D=0058H

5.9 某计算机A有60条指令 ,指令的操作码字段固定为6位,从000000-111011,该机器的后续机型B中需要增加32条指令,并与A保持兼容, (1)试采用操作码扩展方法为计算机B设计指令操作码. (2)计算计算机B中操作码的平均长度.

解:(1) 因为计算机B要与计算机A兼容所以计算机A中的指令得保留:所以000000-111011为A的操作码部分。操作码字段的11100-111111的取值将作为扩展标识,将操作码扩展到地址字段,只需要占用地址字段3位即可表示新的32条指令。 (2)由(1)可知,有60条指令的操作码为6位,32条指令的操作码为9位 所以平均长度为:(60*6+32*11)/92=7.74位.

5.10 以下MIPS指令代表什么操作?写出它的MIPS汇编指令格式 0000 0000 1010 1111 1000 0000 0010 0000 解:OP=000000 Funct=100000

rs=00101 则对应的寄存器名称 rs=$a1 rt=01111 则对应的寄存器名称 rt=$t7 rd=10000 则对应的寄存器名称 rd=$ S0 所以,汇编格式为 ADD $S0,$a1,$t7

5.11 假定以下C语句中包含的变量f,g,h,i,j分别存放在寄存器$11---$15中,写出完成C语言语句f=(g+h)*i/j功能的MIPS汇编指令序列,并写出每条MIPS指令的十六进制数. 解:设f对应$11($t3)=01011B g对应$12($t4)=01100B h对应$13($t5)=01101B i对应$14($t6)=01010B i对应$15($t7)=01111B 对应的汇编指令 odd $t3,$t4,$t5

0000,0001,1000,1101,0101,1000,0010,0000 018D5820H mult $t3,$t6

0000,0001,0110,1110,0000,0000,0001,1000 016E0018H MFLO $t3

0000,0000,0000,0000,0101,1000,0001,0010 00005812H div $t3,$t7

0000,0001,0110,1111,0000,0000,0001,1010 016F001AH MFLO $t3

0000,0000,0000,0000,0101,1000,0001,0010 00005812H

第六章 控制器 习 题 六

6.1解释下列名词

指令周期 数据通路 时钟周期 同步控制 异步控制 联合控制 单周期处理器 多周期处理器 微操作 相容性微命令 互斥性微命令 微指令 微程序 微程序控制器 控制存储器 硬布线控制器 6.1. 答:

指令周期:取指令并执行一条指令所需要的时间,一般由若干个机器周期组成,包括从取指令、分析指令到执行完所需的全部时间。

数据通路:数据在功能部件之间传送的路径。

时钟周期:由CPU时钟定义的定长时间间隔,是CPU工作的最小时间单位,也称节拍脉冲或T周期。

同步控制:选取部件中最长的操作时间作为统一的时间间隔标准,使所有部件都在这个时间间隔内启动并完成操作。

异步控制:系统不设立统一的时间间隔标准(基准时钟除外),各部件按各自的时钟工作,分别实现各自的时序控制,时间衔接通过应答通讯方式(又称握手方式)实现。

联合控制:同步控制与异步控制相结合。对大多数节拍数相近的指令,采用同步控制;而对少数节拍数多不固定的指令,采用异步控制。

单周期处理器:所有指令在一个时钟周期内完成的处理器。

多周期处理器:每条指令的执行分成多个阶段,每个时钟周期完成一个阶段的工作。 微操作:执行部件收到微命令后所进行的操作。 相容性微命令:能同时并行执行的微命令。 互斥性微命令:不能并行执行的微操作。

微指令:由微指令产生的一组实现一定微操作功能的微命令的组合。 微程序:实现一条指令功能的若干条微指令的集合。

微程序控制器:采用微程序设计方法设计的控制器。指令执行过程中所需要的所有控制信号以微指令的方式存在在控制存储器中,指令执行时,逐条读出微指令,以产生执行执行过程中所需要的控制信号。

控制存储器:微程序控制器中用于存放解释所有指令微程序的存储器。

硬布线控制器:又称为组合逻辑控制器,指令执行所需要的控制信号直接由逻辑门电路和触发器等构成的电路产生,与微程序控制器相比,具有结构复杂但速度快的特点。 6.2 回答下列问题

1)中央处理器的基本功能是什么?从实现其功能的角度分析,它应由哪些部件组成? 答:五方面的功能:

指令执行顺序的控制。即控制程序中的指令按事先规定的顺序自动地执行,从而保

证程序执行过程中,指令在逻辑上的相互关系不被改变。

指令的操作控制。即产生指令执行过程中所需要的信号,以控制执行部件按指令规定的操作运行。

时间控制,即对每个控制信号进行定时,以便按规定的时间顺序启动各操作。对于任何一条指令而言,如果操作控制信号的时间不正确,则指令的功能也就不能正确实现。

数据加工处理。即对数据进行算术、逻辑运算,或将数据在相关部件之间传送。 异常和中断处理。如处理运算中的异常及处理外部设备的中断服务请求等。 组成:中央处理器主要由控制器和运算器两部分构成。控制器的主要功能包括:取指令、计算下一条指令的地址、对指令译码、产生相应的操作控制信号、控制指令执行的步骤和数据流动的方向。运算器是执行部件,由算术逻辑单元和各种寄存器组成。

2)CPU内部有哪些寄存器?它们的功能分别是什么?

答:(1) 指令寄存器(IR):IR用于保存指令。从主存储器取出的指令存放在IR中,直到新的指令从主存中取出为止。

(2) 程序计数器(PC) :PC保存将要执行的指令地址,故又称指令地址寄存器。CPU取指令时,将PC的内容送到主存地址寄存器,然后修改PC的值形成下一条将要执行的指令地址

(3) 地址寄存器(AR):AR用来保存当前CPU所要访问的主存单元地址,无论CPU是取指令还是存取数据,都必须先将要访问的主存单元地址送AR,直到读/写操作完成。

(4) 通用寄存器组(GR):通用的含义是指寄存器的功能有多种用途,GR可作为ALU的累加器、变址寄存器、地址指针、指令计数器、数据缓冲器,用于存放操作数(包括源操作数、目的操作数及中间结果)和各种地址信息等。

(5) 数据缓冲寄存器(DR)

DR作为CPU和主存之间的数据缓冲寄存器用于存放操作数、运算结果或中间结果,以减少访问主存的次数;也可存放从主存中读出的数据,或准备写入主存的数据。 (6) 程序状态字寄存器(PSW)

PSW用于保存由算术运算指令、逻辑运算指令、测试结果等建立的各种条件标志。常见的状态信息包括进位标志(C)、溢出标志(V)、结果为负数标志(S)及结果为零标志(Z)等。

3)什么是取指周期?取指周期内应完成哪些操作?

答:取指周期就是从开始取指令到取指令完成所需要的时间。取指周期要完成两方面的操作,一是将PC的值送存储器地址寄存器MAR,并完成储单元去取指令;二是如何形成后续指令地址:

?顺序执行指令时,将PC内容加当前指令所占用的主存单元数(以字节为单位); ?当出现转移时,根据寻址方式、转移条件、转移的目标地址等内容计算得到。 4)指令有几种执行方式?说明各自的特点。

答:指令的执行方式有顺序执行方式、重叠执行方式和流水执行三种方式。

顺序执行方式:是一种串行执行方式,取出一条指令的操作全部结束后才能开始下一条指令的指令周期,这种方式控制简单,程序的执行速度慢。

重叠执行方式:是一种局部并行方式,通常将当前指令的执行阶段与下一条指令的取指阶段重叠进行,这种方式控制较复杂,但可以提高程序的执行速度;

流水执行方式:是一种并行执行方式,它将指令的执行分多个阶段(每个阶段的任务由特定的功能部件完成),一般而言,在该执行方式下,指令间的并行程度比重叠执行方式