计算机组成原理作业三

作业3

 

题量: 15 满分: 100

作答时间:03-09 09:4303-15 23:59                                                                                   100

一. 单选题(共10题,50分)

1. (单选题, 5分)用海明码对长度为8位的数据进行检纠错时, 若能纠正一位错,则检验位数至少为( )。

  • A. 4
  • B. 5
  • C. 2
  • D. 3

我的答案: A

2. (单选题, 5分)补码加/减法是指________。

  • A. 操作数用补码表示, 连同符号位直接相加,减某数加某数的机器负数代替,结果的符号在运算中形成;
  • B. 操作数用补码表示, 两尾数相加/减, 符号位单独处理;
  • C. 操作数用补码表示, 符号位和尾数一起参加运算, 结果的符号与加/减数相同;
  • D. 操作数用补码表示, 由数符决定两尾数的操作, 符号位单独处理。

我的答案: A

3. (单选题, 5分)8位补码10010011等值扩展为16位后,其机器数为________。

  • A. 0000000010010011
  • B. 1111111101101101
  • C. 1000000010010011
  • D. 11111111 10010011

我的答案: D

带符号数的补码扩展原则,是用符号位填充扩展的高位

4. (单选题, 5分)在定点二进制运算器中,减法运算一般通过________来实现。

  • A. 原码运算的二进制减法器
  • B. 补码运算的二进制加法器
  • C. 补码运算的二进制减法器
  • D. 补码运算的十进制加法器

我的答案: B

5. (单选题, 5分)在双符号位判别溢出的方案中,出现正溢出时,双符号位应当为________。

  • A. 11
  • B. 01
  • C. 10
  • D. 00

我的答案: B

6. (单选题, 5分)当定点运算发生溢出时,应进行________。

  • A. 向右规格化
  • B. 舍入处理
  • C. 发出出错信息
  • D. 向左规格化

我的答案: C

7. (单选题, 5分)在串行进位的并行加法器中,影响加法器运算速度的关键因素是________。

  • A. 各位加法器速度的不同
  • B. 元器件速度
  • C. 进位传递延迟
  • D. 门电路的级延迟

我的答案: C

8. (单选题, 5分)原码加减交替除法又称为不恢复余数法,因此________。

  • A. 不存在恢复余数的操作
  • B. 当某一步运算不够减时,做恢复余数的操作
  • C. 当某一步余数为负时,做恢复余数的操作
  • D. 仅当最后一步余数为负时,做恢复余数的操作

我的答案: D

9. (单选题, 5分)下列叙述中, 错误的是________。

  • A. 补码乘法器中, 被乘数和乘数的符号都不参加运算
  • B. 并行加法器中高位的进位依赖于低位
  • C. 在小数除法中, 为了避免溢出,要求被除数的绝对值小于除数的绝对值
  • D. 运算器中通常都有一个状态标志寄存器,为计算机提供判断条件,以实现程序转移

我的答案: A

10. (单选题, 5分)一个C语言程序在一台32位机器上运行。程序中定义了3个变量x、y和z, 其中x和y为int型, y为short型。(32位机int为4个字节,short为两个字节)。
当x=127,y=-9时,执行赋值语句z=x+y后,x、y和z的值分别是________。

  • A. x=0000007FH, y=FFF9H, z=FFFF0076H
  • B. x=0000007FH, y=FFF7H, z=FFFF0076H
  • C. x=0000007FH, y=FFF7H, z=00000076H
  • D. x=0000007FH, y=FFF9H, z=00000076H

我的答案: C

由题,int为32位,short为16位;

又因为,C语言的整型数据在内存中为补码形式

所以,x,y 的机器数写为十六进制为0000007F  H ,FFF7 H,

(x= 0000 0000 0000 0000 0000 0000 0111 1111;127除2取余,再补零所得,再取补码

 y= 1111 1111 1111 0111 ;(1 0111是1 1001的补码))

执行z=x+y时,需将短字长数据转换为长字长数据,称为 “  符号扩展   ”

因为y的符号为 1 ,所以在y前添加16个1,即可将y上升为int型,

即为十六进制:FFFFFFF7 H

最后执行加法。即 0000007F H+FFFFFFF7 H=00000076 H,

其中最高位的进位1 自然丢弃

二. 填空题(共5题,50分)

11. (填空题, 8分)

原码阵列乘法器的输入为原码,输出也为原码。

用原码阵列乘法器计算x×y,x=-15,y=-10。

运算过程如下:(设原码长度为5,符号位1位,数值位4位)

机器内部原码数据:[x]原=______,[y]原=______;

符号位单独运算: 1⊕1=______;

其他位直接运算:|x|=_____,|y|=______;

乘法阵列:|x| ×|y| =______(本步骤请在草稿纸上列出竖式);

算后加符号位输出:[x×y]原=______;

所以 x×y =______。(此处为十进制,为方便比对,请明确标出+、 -)

我的答案:

8

(1) 11111

(2) 11010

(3) 0

(4) 1111

(5) 1010

(6) 10010110

(7) 010010110

(8) +150

12. (填空题, 8分)

原码阵列乘法器的输入为原码,输出也为原码。

用原码阵列乘法器计算x×y,设x、y为二进制数,x=11011,y=-11111。

运算过程如下:(设原码长度为6,符号位1位,数值位5位)

机器内部原码数据:[x]原=______,[y]原=______;

符号位单独运算: 0⊕1=______;

其他位直接运算:|x|=_____,|y|=______;

乘法阵列:|x| ×|y| =______(本步骤请在草稿纸上列出竖式);

算后加符号位输出:[x×y]原=______;

所以 x×y =______。

我的答案:

8

(1) 011011

(2) 111111

(3) 1

(4) 11011

(5) 11111

(6) 1101000101

(7) 11101000101

(8) -1101000101

13. (填空题, 8分)

补码阵列乘法器的输入为补码,输出也为补码。

用补码阵列乘法器计算x×y,x=-13,y=9。

运算过程如下:(设补码长度为5,符号位1位,数值位4位)

机器内部补码数据:[x]补=______,[y]补=______;

符号位单独运算: 1⊕0=______;

其他位算前求补器输出为:|x|=_____,|y|=______;

乘法阵列:|x| ×|y| =______(为方便比对,数字写8位,本步骤请在草稿纸上列出竖式);

算后求补器加符号位输出为:[x×y]补=______;

所以 x×y =______。(本题开始给出的xy为十进制,此处为十进制,为方便比对请为数字加上+、-符号)

我的答案:

8

(1) 10011

(2) 01001

(3) 1

(4) 1101

(5) 1001

(6) 01110101

(7) 110001011

(8) -117

14. (填空题, 8分)

补码阵列乘法器的输入为补码,输出也为补码。

用补码阵列乘法器计算x×y,设x、y为二进制数,x=-10011,y=11001。

运算过程如下:(设补码长度为6,符号位1位,数值位5位)

机器内部补码数据:[x]补=______,[y]补=______;

符号位单独运算: 1⊕0=______;

其他位算前求补器输出为:|x|=_____,|y|=______;

乘法阵列:|x| ×|y| =______(为方便比对,数值位长度写10位,本步骤请在草稿纸上列出竖式);

算后求补器加符号位输出为:[x×y]补=______;

所以 x×y =______(为方便比对,数值位长度写10位)。

我的答案:

8

(1) 101101

(2) 011001

(3) 1

(4) 10011

(5) 11001

(6) 0111011011

(7) 11000100101

(8) -0111011011

15. (填空题, 18分)

用原码阵列除法器计算X÷Y,设X、Y为二进制数,X=110000 Y=-11111。

运算过程:

先将X、Y乘一个比例系数化成小数,转换时需使被除数比除数小,使商也为一个小数。

X=11000=0.11000×26= x×26,Y=-11111=-0.11111 ×25 = y×25

[x]原=011000,[y]原=111111。符号位单独运算: 0⊕1=1。

用加减交替法计算|x|÷|y|,[|x|]补=011000, [|y|]补=011111,[-|y|]补=100001。

 0.11000   被除数    第1步做减法

+ 1.00001   减除数    

----------------------------------------------------

  1.110010  余数为负,商0,下步做加法

+ 0.011111  除数右移1位,加

----------------------------------------------------

  0.0100010 余数为正,商1,下步做减法

+ _________ 
----------------------------------------------------

  0.00000110 余数为正 商1,下步做减法

+ _________ 
----------------------------------------------------

  1.111001110  余数为负 商0 下步做加法

+ __________    除数右移1位,加

----------------------------------------------------

  1.1111011010 余数为负 商0 下步做加法
+ 0.0000011111 除数右移1位,加

----------------------------------------------------

  1.1111111001 余数为负 商0 ,下步停止,
+ 0.0000011111 余数依然为负,不移位加

----------------------------------------------------

  0.0000011000

故|x|÷|y|=______,余数为______。故 [x÷y]原=______。即 x÷y=______。

最后商和余数需要乘比例因子,余数修正时随被除数。X÷Y=______,余数为______。

我的答案:

18

(1) 1.1100001

(2) 1.11100001

(3) 0.000011111

(4) 011000

(5) 0.0000011000

(6) 111000

(7) -0.11000

(8) -1.1000

(9) 1.1000

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 计算机组成原理MIPS大作业是关于使用Verilog语言实现MIPS指令集的设计与开发。MIPS(Microprocessor without Interlocked Pipeline Stages)是一种精简指令集(RISC)架构,广泛应用于嵌入式系统和大规模计算机中。 在这个大作业中,我们需要使用Verilog语言来实现MIPS处理器的核心功能,包括指令译码、数据通路、控制单元等。首先,我们需要根据MIPS指令集的格式和规则,设计和编写Verilog模块来进行指令译码,将二进制指令解析为对应的操作码和操作数。同时,我们还需要设计和实现数据通路,包括寄存器堆、ALU(算术逻辑单元)、数据存储器等,用于执行指令中的操作并存储数据。最后,我们还需要设计和编写控制单元,通过产生控制信号来驱动数据通路的操作。 在实现过程中,我们需要注意保持指令的顺序和正确性,确保每一条指令的执行都符合MIPS指令集的规则。我们还需要进行仿真和测试,使用Verilog的仿真工具来模拟和验证实现的正确性。 此外,为了进一步提升处理器的性能,我们可以添加流水线和多级缓存等技术来提高指令的执行效率。流水线可以将指令的执行划分为多个阶段,使得每个阶段可以并行执行,从而提高处理器的吞吐量。而多级缓存可以通过提前缓存数据,减少对主存的访问时间,进一步加快指令的执行速度。 总之,计算机组成原理MIPS大作业是一个重要且具有挑战性的项目,需要我们熟练掌握Verilog语言和MIPS指令集,通过设计与实现MIPS处理器的核心结构和功能,来加深对计算机组成原理的理解和实践。 ### 回答2: 计算机组成原理MIPS大作业Verilog是一门以硬件描述语言Verilog实现MIPS指令集的课程项目。MIPS指令集是一种经典的RISC指令集架构,由于其简洁、清晰的设计,常被用于CPU、嵌入式系统等领域。 该大作业的主要目标是使用Verilog HDL编写一个能够正确执行MIPS指令集的CPU模拟器。实现一个完整的CPU模拟器是一个复杂而庞大的工程,需要包含一系列功能模块,如指令存储器、数据存储器、寄存器组、ALU等。 在实现过程中,首先需要了解MIPS指令集的特点和功能,包括指令的格式、指令的执行过程及指令的功能。然后按照MIPS指令集的要求,设计并编写各种功能模块的Verilog代码。同时,还需要设计合适的时钟控制电路和数据通路,以确保指令能够按顺序、正确地执行。最后,进行功能验证和测试,验证所写的模块能够正确地执行各种MIPS指令。 在实现过程中,还需要注意一些细节,如处理异常和中断、支持乘法和除法指令、实现流水线等。这些都是实际的CPU设计中常见的问题。 通过完成这个大作业,可以深入理解计算机组成原理中的各个概念和原理,并通过实践掌握Verilog HDL编程技能。此外,通过调试和测试,还可以提高自己的问题解决能力和团队协作能力。 总而言之,计算机组成原理MIPS大作业Verilog是一个能够锻炼自己对计算机硬件设计、MIPS指令集和Verilog HDL编程的综合能力的项目。完成该大作业可以提高我们对计算机原理的理解,并为后续的学习和研究打下坚实的基础。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值