subd计算机系统结构,计算机体系结构第2章试题答案.doc

a7f4a3f590493a1e451dd952a488fd7c.gif 计算机体系结构第2章试题答案.doc

(9页)

9a360c7cbe4ca6841be11f39ece50c13.gif

本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!

9.90 积分

一 填空题1、堆栈型 通用寄存器型2、累加器型 堆栈型3、堆栈 累加器4、累加器 一组寄存器5、能够使编译器有效地使用寄存器 表达式求值方面6、有2个还是3个操作数 有多少个存储器操作数7、寄存器-寄存器型 寄存器-存储器型8、寄存器-存储器型 存储器-存储器型9、一个寄存器操作数 一个存储器操作数10、立即数 偏移11、指令条数 执行时钟周期数(CPI)12、实现的复杂度 执行时钟周期数(CPI)13、各种偏移量大小的使用情况 指令所使用的立即值大小的范围14、强化指令功能 实现软件功能向硬件功能转移15、尽可能地降低指令集结构的复杂 提高性能的目的16、提高传送指令功能 增加程序控制指令功能17、提高运算型指令功能 提高传送指令功能18、算术逻辑运算 复杂指令集计算机19、指令时钟数 精减指令集计算机20、LOAD STORE21、80% 20%22、计算机体系结构的复杂性 运行速度慢23、跳转 分支24、跳转 过程调用25、条件分支 过程返回26、目标地址27、条件28、和程序计数器(PC)相加的值相加的偏移量 PC相对寻址29、指令中表示目标地址的字段的长度 与它被载入的位置无关30、算术和逻辑运算 数据传输31、数据传输 控制32、操作数表示 操作数类型 33、压缩十进制 二进制编码十进制(非压缩十进制)34、变长编码格式 固定长度编码格式35、操作码字段 地址码字段36、地址码字段 各种寻址方式37、寄存器数目 寻址方式类型 38、指令平均字 目标代码大小39、将寻址方式编码于操作码中 为每个操作数设置一个地址描述符40、32 立即值 偏移 (79个)41、寄存器寻址 寄存器间接寻址42、多种长度的整型数据 浮点数据43、寄存器(通用寄存器和浮点寄存器) 存储器44、32 645、源操作数地址码 目的操作数地址码 立即数编码46、LOADT和STORE操作 分支和跳转操作47、ALU操作 浮点操作48、寄存器-寄存器 通用寄存器R049、I J50、双精度浮点 单精度浮点 (100个)三 名词解释1、指令集结构:指令集结构是软硬件的交界面,CPU依靠指令来计算和控制系统,每款CPU在设计时就规定了一系列与其硬件电路相配合的指令系统。从现阶段的主流体系结构讲,指令集可分为复杂指令集和精简指令集两部分。2、通用寄存器型指令集结构:这种指令集结构中,操作数在CPU内的存储单元类型为一组通用寄存器,操作数的存储位置显示给出。3、堆栈型机器:CPU中存储操作数的单元是堆栈的机器。4、累加器型机器:CPU中存储操作数的单元是累加器的机器。5、通用寄存器型机器:CPU中存储操作数的单元是通用寄存器的机器。2.2 寻址技术6、寻址方式:寻址方式是指在执行一条指令过程中,处理器根据指令中给出的地址信息来寻找物理地址的方式。7、有效地址:在INTEL系统中, 内存地址总是由"段选择符:有效地址"的方式给出.有效地址则可由不同的方式给出.有效地址的计算方式是: 基址+间址*比例因子+偏移量.8、PC相对寻址:这种寻址方式是在指令中提供一个和程序计数器(PC)的值相加的偏移量来指明目标地址。可有效缩短指令中表示目标地址的字段的长度,并可使代码在执行时与它被载入的位置无关。9、偏移寻址:这种寻址方式中,有效地址的给出是寄存器中的一个基地址和一个偏移量。10、索引寻址:地址内容包括两个部分:一个内存地址以及一个索引寄存器。索引寄存器会与某个指定的地址相加,结果用作访问内存时使用的地址。2.3 指令集结构的功能设计11、CISC:复杂指令集计算机(Complex Instruction Set Computer),是一种指令集结构(ISA),通过强化指令功能,减少程序的指令条数,实现软件功能向硬件功能转移,以达到提高性能的目的。 12、RISC:精简指令集计算机(Reduced Instruction Set Computer),是一种指令集结构(ISA),通过减少指令总数和简化指令的功能来降低硬件设计的复杂度,提高指令的执行速度。13、静态使用频度:对程序中出现的各种指令以及指令串进行统计得出的百分比。14、动态使用频度:在目标程序执行过程中对出现的各种指令和指令串进行统计得出的百分比。15、规整性:没有或尽可能减少例外的情况和特殊的应用,以及所有运算都能对称、均匀地在存储器单元或寄存器单元之间进行。16、接执行型高级语言机器:高级语言就作为机器语言,直接由硬件或固件对高级语言源程序的语句逐条进行解释执行,不进行编译和汇编。17、控制指令:指令集结构中可无条件或有条件改变控制流的指令,一般称无条件改变控制流的指令为“跳转”,而有条件改变控制流的指令为“分支”。2.4 操作数的类型、表示和大小18、操作数类型:面向应用、面向软件系统所处理的各种数据结构。操作数类型和操作数表示是软硬件主要界面之一 。19、操作数表示:机器硬件能够直接识别、指令系统可以直接调用的那些结构。确定操作数表示是软硬件取舍折衷的问题。2.5 指令集格式的设计2.6 DLX指令集结构20、DLX指令集结构:DLX (发音为“DeLuXe”)是一个流水线处理器实例,称为DLX 处理器,DLX指令集结构是工作于DLX处理器上的指令系统。四简述题2.1 指令集结构的分类1、计算机指令集结构可根据哪些因素进行分类,这些因素中,最关键的因素是什么?答:根据五个因素对计算机指令集结构进行分类: (1) 在CPU中操作数的存储方法(2) 指令中显式表示的操作数个数(3) 操作数的寻址方式(4) 指令集所提供的操作类型(5) 操作数的类型和大小 在这五个分类因素中,CPU中操作数的存储方法,即在CPU中用来存储操作数的存储单元的类型,是各种指令集结构之间最主要的区别所在。2、比较CPU对操作数的不同存取方式。CPU提供的暂存器每条ALU指令显式表示的操作数个数运算结果的目的地访问显式操作数的过程堆栈0堆栈Push/Pop累加器1累加器Load/Store累加器一组寄存器2/3寄存器或存储器Load/Store寄存器或存储器2、指令集结构(ISA)有哪些分类?试写出C=A+B在不同类型ISA上的实现方法。根据CPU中操作数的存储方法,指令集结构(ISA)有三种类型:堆栈型、累加器型和通用寄存器指令集结构。1分C=A+B表达式在这三种类型指令集结构上的实现方法 4分堆栈累加器寄存器(寄存器-存储器)寄存器(寄存器-寄存器)PUSH ALOAD ALOAD R1,ALOAD R1,A。省略部分。水效率;采用定长指令格式编码3. 简化指令的译码;4. 高效支持编译器。 2、DLX指令集结构有哪些寻址方式,数据访问有哪些规定。答:DLX指令集结构的寻址方式有:寄存器寻址、立即值寻址、偏移寻址和寄存器间接寻址。DLX指令集结构中(1)对通用寄存器而言,相应的存储器访问数据大小有8位、16位和32位;而对浮点寄存器而言,相应的存储器访问数据大小有32位(单精度浮点数)和64位(双精度浮点数)。(2)存储器地址采用的是高端字节表示顺序,存储器按字节寻址,其地址宽度为32位。(3)DLX的所有存储器访问均需对齐。对字的存放,低位字节都必须在偶地址的单元中,或者都必须存放在奇地址中。(4)通过寄存器(通用寄存器和浮点寄存器)和存储器之间的数据传送操作完成对存储器的访问。3、DLX指令集结构有哪几种主要的操作类型? 答:DLX指令中的操作可分为4种类型。(1)Load和Store操作。可对DLX的所有通用寄存器和浮点寄存器进行LOAD(载入或取)和STORE(储存)操作;(2)ALU操作。在DLX中,所有的ALU指令都是寄存器-寄存器型指令,其运算包含了简单的算术和逻辑运算,如加、减、AND、OR、XOR和移位。(3)分支和跳转操作。对程序流程进行控制,跳转可分为:简单跳转和跳转并链接(用于过程调用);所有分支指令均是条件分支指令。(4)浮点操作。完成浮点数据的加、减、乘、除。4、对DLX指令中的4种操作类型,各举两例:(1)Load和Store操作。载入整型字 LW R1 , 30 (R2) Regs[R1] ←32 Mem[30+Regs[R2]]储存整型字节 SB 41 (R3) , R2 Mem[41+Regs[R3]] ←8 Regs[R2]24..31(2)ALU操作。和立即值相加 ADDI R1, R2, #3 Regs[R1] ← Regs[R2] + 3逻辑左移的立即值形式 SLLI R1, R2, #5 Regs[R1] ← Regs[R2] <<5(3)分支和跳转操作。跳转 J name PC ← name; ((PC+4)-225) ≤ name ≤((PC+4)+225)“等于0”分支 BEQZ R4 , name if (Regs[R4]==0) PC ← name; ((PC+4)-215) ≤ name ≤((PC+4)+215)(4)浮点操作。双精度浮点减:SUBD F4,F4,F5单精度浮点加:ADDF F3,F4,F5综合1、指令集结构设计所涉及的内容有哪些?答:(1) 指令集功能设计:主要有RISC和CISC两种技术发展方向;1分(2) 寻址方式的设计:设置寻址方式可以通过对基准程序进行测试统计,察看各种寻址方式的使用频度,根据适用频度设置相应必要的寻址方式;1分(3) 操作数表示和操作数类型:主要的操作数类型和操作数表示的选择有,浮点数据类型(可以采用IEEE 754标准)、整型数据类型(8位、16位、32位的表示方法)、字符型(8位)、十进制数据类型(压缩十进制和非压缩十进制数据表示)等等。2分(4) 寻址方式的表示:可以将寻址方式编码与操作码中,也可将寻址方式作为一个单独的域来表示。1分(5) 指令集格式的设计:有固定长度编码方式、可变长编码方式和混合编码方式三种选择。1分五 计算题1、对于下面的三个赋值语句:A=B+CB=A+C D=A-B试用堆栈型、累加器型和通用寄存器型指令集 (1)分别用汇编指令加以编写。 (2)为衡量存储器使用效率,假设对三种指令集均有:操作码占用一字节,存储器地址占用二字节,操作数占用四字节。计算三种代码序列自存储器取指所需总字节,取数或存数所需的总字节。哪一种结构需传送的总字节数最少?答:(1)汇编指令编写如下: 堆栈型累加器型寄存器型PUSH BPUSH CADD TOP A PUSH C ADDTOP BPUSH A SUBPOP D LOAD BADD CSTORE AADD CSTORE BLOAD ASUB BSTORE DLOAD R1,BADD R1,C STORE A,R1LOAD R2,CADD R2,R1STORE B,R2SUB R1,R2STORE D,R1(2)据上面的指令序列,计算得:  堆栈型 累加器型 寄存器型取指:10+7*2=248+8*2=248+20*2=28存取数:7*4=288*4=326*4=24总计:52字节 56字节 64字节2、现有如下C语言源代码:for (i=0;i<=100,i++){A[i]=B[i]+C;}其DLX实现代码如下:ADDI R1,R0,#0 SW 2000(R0),R1 loop: LW R1,2000(R0) MULT R2,R1,#4 ADDI R3,R2,#5000 LW R4, 0(R3) LW R5,1500(R0) ADD R6,R4,R5 LW R1,2000(R0) MULT R2,R1,#4 ADDI R7,R2,#0 SW 0(R7),R6 LW R1,2000(R0) ADDI R1,R1,#1 SW 2000(R0),R1 LW R1,2000(,R0) ADDI R8,R1,# -101 BNEZ R8,loop 其中,A和B是两个32位整数的数组,C和i均是32位整数。假设所有数据的值及其地址均保存在存储器中,A和B的起始地址分别是0和5000。C和i的地址分别是 1500和2000。在循环的两次迭代之间不将任何数据保存在寄存器中。求:(1)该程序段共执行了多少条指令。(2)程序对存储器中的数据访问了多少次?(3)DLX代码的大小(占用存储空间大小)是多少字节?解:(1)总共执行的指令数是初始化的两条指令加上循环中重复的指令条数: 执行的指令 = 2+(16×101)=1618 3分(2)数据访问包括LOAD和STORE指令。为了计算数据访问的次数,可以用循环次数乘以每次循环数据访问次数再加上初始化中的1条STORE指令数:数据访问次数 = 1+8×101= 809 3分(3)代码大小就是程序中汇编指令数乘以4个字节(DLX中每条指令占4字节):代码大小 = 4×18 = 72B 1分 关 键 词: 体系 试题 答案 结构 计算机

4d91c43bfc72ca913299809b07b4968f.gif  天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值