您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 其它相关文档 > 计算机组成原理-练习(指令系统和CPU)
指令系统CPU--练习1.某指令系统中,指令字长为16位,指令操作码采用扩展编码法,有单地址指令、双地址指令两种指令。若每个地址码均为6位,且双地址指令为A条,则单地址指令最多有多少条?解:1、双地址指令操作码长为16b-2×6b=4b,由题意,空闲24-A种编码2、单地址指令操作码长为16b-6b=10b,可分为4b和6b两部分则单地址指令最多有(24-A)×26条。2.假设计算机约定主存按字节编址,数据在存储器中采用小端次序存放,CPU中设置有4个通用寄存器(记为R0~R3),设置有寄存器SP指向存储器堆栈的栈顶,入栈操作时SP向递减方向移动。若(SP)=1002H、(R0)=0020H、(R1)=0022H、(R2)=0024H,连续进行将R0入栈、将R1入栈、出栈到R2、将R1入栈、将R2入栈、出栈到R0操作后,请画出每一个操作后的SP及堆栈内部的数据变化,同时说明R0~R2的当前值。2.若(SP)=1002H、(R0)=0020H、(R1)=0022H、(R2)=0024H,连续进行将R0入栈、将R1入栈、出栈到R2、将R1入栈、将R2入栈、出栈到R0操作后,请画出每一个操作后的SP及堆栈内部的数据变化,同时说明R0~R2的当前值。主存SP……0FFCH0FFDH0FFEH0FFFH1000H1001H1002H20H00H主存SP……0FFCH0FFDH0FFEH0FFFH1000H1001H1002H主存SP……0FFCH0FFDH0FFEH0FFFH1000H1001H1002H22H00H20H00H20H00H主存SP……0FFCH0FFDH0FFEH0FFFH1000H1001H1002H空堆栈R0入栈R1入栈出栈到R2(SP)=1002H(SP)=1000H(SP)=0FFEH(SP)=1000H(R0)=0020H(R0)=0020H(R0)=0020H(R0)=0020H(R1)=0022H(R1)=0022H(R1)=0022H(R1)=0022H(R2)=0024H(R2)=0024H(R2)=0024H(R2)=0022H若(SP)=1002H、(R0)=0020H、(R1)=0022H、(R2)=0024H,连续进行将R0入栈、将R1入栈、出栈到R2、将R1入栈、将R2入栈、出栈到R0操作后,请画出每一个操作后的SP及堆栈内部的数据变化,同时说明R0~R2的当前值。20H00H主存SP……0FFCH0FFDH0FFEH0FFFH1000H1001H1002H主存SP……0FFCH0FFDH0FFEH0FFFH1000H1001H1002H22H00H20H00H主存SP……0FFCH0FFDH0FFEH0FFFH1000H1001H1002H22H00H22H00H20H00H主存SP……0FFCH0FFDH0FFEH0FFFH1000H1001H1002H22H00H20H00HR1入栈R2入栈出栈到R0(SP)=0FFEH(SP)=0FFCH(SP)=0FFEH(R0)=0020H(R0)=0020H(R0)=0022H(R1)=0022H(R1)=0022H(R1)=0022H(R2)=0022H(R2)=0022H(R2)=0022H3.某机器字长为16位,存储器按字编址,指令字长同机器字长。指令格式如下:5bit3bit8bit操作码OP寻址方式位MOD形式地址D其中,MOD=000~100分别表示立即寻址、直接寻址、间接寻址、变址寻址和相对寻址,变址寻址只使用唯一的变址寄存器(记为RI),形式地址D在MOD=000及100时为补码表示、其余寻址方式时为无符号编码表示。(1)该指令格式能定义多少种不同的操作?立即寻址的操作数范围是多少?(2)写出各种寻址方式时,地址码对应的数据或地址表达式。(3)写出MOD=001、010、100时,能访问的最大主存区为多少个机器字。(1)由于操作码为5位,故可以定义25=32种不同的操作;由于立即寻址的D用8位补码表示,故立即寻址的操作数范围为-128~+127。(2)设D=[DZ]补,立即寻址的地址码表示的是:操作数=DZ;直接寻址的地址码表示的是:操作数EA=D;间接寻址的地址码表示的是:操作数EA=[D];变址寻址的地址码表示的是:操作数EA=(RI)+D;相对寻址的地址码表示的是:下条指令EA=(PC)+DZ。操作码OP寻址方式位MOD形式地址D(3)MOD=001(直接寻址)时,操作数EA长度=D的长度=8bit,可访问的主存区为28=256个机器字;MOD=010(间接寻址)时,操作数EA长度=存储字长=机器字长=16bit,可访问的主存区为216=64K个机器字;MOD=100(相对寻址)时,下条指令EA长度=max{PC的长度,D的长度}=max{16bit,8bit}=16bit,可访问的主存区为216=64K个机器字。4.设某机配有基址寄存器和变址寄存器,采用一地址格式的指令系统,允许直接和间接寻址,且指令字长、机器字长和存储字长均为16位。(1)若采用单字长指令,共能完成105种操作,则指令可直接寻址的范围是多少?一次间址的寻址范围是多少?画出其指令格式并说明各字段的含义。(2)若存储字长不变,可采用什么方法直接访问容量为16MB的主存?(1)在单字长指令中,根据能完成105种操作,操作码取7位。因允许直接和间接寻址,且有基址寄存器和变址寄存器,故取2位寻址特征位,其指令格式如下:操作码OP寻址方式位MOD形式地址D7位2位7位直接寻址的范围为27=128,一次间接寻址的寻址范围为216=64K=65536(2)16MB=16M*8位=8M*16位,存储字长16位,所以寻址的范围为8M,地址的位数应为23位,如果采用单字长指令是无法满足的,可以采用双字长指令,操作码和寻址特征位均不变,格式如下(其中,形式地址为D1//D2,共7+16=23位,满足要求)操作码OP寻址方式位MOD形式地址D1D2ALU状态REGabcdAC+“1”微操作信号形成部件主存储器MM图CPU结构5.CPU结构如图所示,a~d为4个寄存器,各部分之间的连线为数据通路,箭头表示信息传送方向。(1)说明图中a~d这4个寄存器的名称。(2)简述从开始取指令到产生控制信号的数据流动的过程。解:(1)a为存储器数据寄存器(MDR),b为指令寄存器(IR),c为存储器地址寄存器(MAR),d为程序计数器(PC)。(2)①PC→MAR;②MAR→MM,Read→MM,(PC)+1→PC;③MM→MDR;④MDR→IR;⑤IR→微操作信号形成部件。指令系统习题选择题:1、指令系统中采用不同寻址方式的目的主要是:A.实现存储程序和程序控制。B.缩短指令长度,扩大寻址空间,提高编程灵活性。C.可以直接访问内存。D.提供扩展操作码的可能,并降低指令译码难度。2、单地址指令中为了完成两个数的算术运算,除地址码指明的一个操作数外,另一个数常需采用:A.堆栈寻址方式。B.立即寻址方式。C.隐含寻址方式。D.间接寻址方式。3、二地址指令中,操作数的物理位置可安排在A.栈顶和次栈顶。B.两个主存单元。C.一个主存单元一个寄存器。D.两个寄存器。CBCD从操作数的物理位置来说,可把二地址指令可归结为三种类型:存储器-存储器(SS)型指令:参与操作的数都放在内存里,从内存某单元中取操作数,操作结果存放至内存另一单元中。因此机器执行这种指令需要多次访问内存。寄存器-寄存器(RR)型指令:需要多个通用寄存器或个别专用寄存器,从寄存器中取操作数,把操作结果放到另一寄存器中。机器执行这种指令的速度很快,不需要访问内存。寄存器-存储器(RS)型指令:执行此类指令,既要访问内存单元,又要访问寄存器4、对某个寄存器中操作数的寻址方式称为:A.直接寻址。B.间接寻址。C.寄存器寻址。D.寄存器间接寻址。5、寄存器间接寻址方式中,操作数处在:A.通用寄存器。B.主存单元。C.程序计数器。D.堆栈。6、变址寻址方式中,操作数的有效地址等于:A.基址寄存器内容加上形式地址。B.堆栈指示器内容加上形式地址。C.变址寄存器内容加上形式地址。D.程序计数器内容加上形式地址。CBC8、程序控制类指令的功能是:A.进行算术运算和逻辑运算。B.进行主存与CPU之间的数据传送。C.进行CPU和I/O设备之间的数据传送。D.改变程序执行的顺序。9、下列几项中,不符合RISC指令系统的特点是:A.指令种类少,译码简单。B.寻址方式种类尽量减少,指令功能尽可能强。C.增强寄存器的数目,以尽量减少访存次数。D.选取使用频率最高的一些简单指令,以及很有用但不复杂的指令。DB10、下面关于RISC技术的描述中,正确的是:A.采用RISC技术后,计算机的体系结构又恢复到早期的比较简单的情况。B.为了实现兼容新设计的RISC是从原来的CISC系统的指令系统中挑选一部分实现的。C.RISC的主要目标是减少指令数。D.RISC设有乘除法指令和浮点运算指令。C填空题1、一台计算机所有机器指令的集合,称为这台计算机的指令系统。2、指令格式是指令用二进制代码表示的结构形式,指令格式有操作码字段和地址码字段组成。3、指令操作码字段表征指令的操作特性与功能,而地址码字段指示操作数的地址4、寻址方式按操作数的物理位置不同,多使用RR型和RS型,前者比后者执行速度快。5、数据寻址方式有:隐含、立即数、直接、间接、寄存器、寄存器间接、相对、基址、变址寻址等多种。6、堆栈是一种特殊的数据寻址方式,它采用先进后出原理。7、隐含寻址是指令格式中不明确给出操作数地址,而是隐含指定,通常以累加器作为隐含地址。立即寻址是指令的地址字段指出的不是操作数地址,而是操作数本身。指令格式结构如下所示,试分析指令格式及寻址方式特点。OP-源寄存器变址寄存器位移量(16位)解:指令格式与寻址方式特点如下:A.双字长二地址指令,用于访问存储器。操作码字段可指定64种操作。B.RS型指令,一个操作数在寄存器中,另一个操作数在主存中。C.有效地址可通过变址寻址求得,即有效地址等于变址寄存器内容加上位移量。03471015判断题1、执行指令时,下一条指令在内存中的地址存放在指令寄存器中。×2、没有设置乘除指令的计算机系统中,就不能实现乘除运算。×3、程序计数器用来指示从内存中取指令。√4、内存地址寄存器用来从内存中取数据。×5、计算机指令是指挥CPU进行操作的命令,指令通常由操作码和地址码组成。√6、浮点运算指令对用于科学计算的计算机是很必要的,可以提高机器的运算速度。√7、不设置浮点运算指令的计算机,就不能用于科学计算。×8、兼容机之间的指令系统是相同的,但硬件的实现方法可以不同。√9、处理大量输入输出数据的计算机,一定要设置十进制运算指令。×10、一个系列中的不同型号计算机,保持软件向上兼容的特点。√11、在计算机指令系统中,真正必须的指令数是不多的,其余的都是为了提高机器速度和便于编程而引入的。√12、扩展操作码是一种优化技术,它使操作码的长度随地址码的减少而增加,不同地址的指令可以具有不同长度的操作码。√13、转移类指令能改变指令执行顺序,因此,执行之类指令时,PC和SP的值都将发生变化。×14、RISC的主要设计目标时减少指令数,降低软、硬件开销。√15、采用RISC技术后,计算机的体系结构又恢复到早期的比较简单的情况。×16、RISC没有乘除指令和浮点运算指令。×
本文标题:计算机组成原理-练习(指令系统和CPU)
链接地址:https://www.777doc.com/doc-2044032 .html