视频加载失败

课程

2291 字
约 7 分钟

计算机体系结构雨课堂第二章作业

计算机体系结构exercises/Rainclass_Homework·更新于 2026-09-15

计算机体系结构雨课堂第二章作业


1. 操作码优化的主要目的是()。

  • A. 缩短指令字长
  • B. 减少程序总位数
  • C. 增加指令字表示的信息
  • D. A、B和C

正确答案:D

解析: 操作码优化(如哈夫曼编码)的主要目标是减少指令集中操作码的平均长度。这可以直接缩短指令字长(如果是变长指令),或者在定长指令中留出更多位给操作数。最终结果是减少了程序总位数(总代码体积)。因此A、B、C均为其可能目的或效果。


2. 平均码长最短的编码是

  • A. 定长编码
  • B. 哈夫曼编码
  • C. 扩展编码
  • D. 需要根据编码使用的频度计算平均码长后确定

正确答案:B

解析: 哈夫曼编码(Huffman Coding)是一种变长编码方法,根据字符出现的概率构建最短的前缀码。在所有基于符号概率的无损编码方法中,它能保证平均码长最短(逼近信息熵)。


3. 信息按整数边界存储的主要优点()

  • A. 防存速度快
  • B. 节约主存单元
  • C. 指令字的规整化
  • D. 指令优化

正确答案:A

解析: 存储器通常按字或双字进行组织。如果数据按边界对齐(如32位字存储在4的倍数地址),CPU只需一次访存即可读出完整数据。如果未对齐(跨越边界),可能需要两次访存取数据并进行移位、拼接操作,这会显著降低访存速度。因此主要优点是访存速度快。


4. 下列不属于MIPS的数据表示()

  • A. 十进制数
  • B. 半字整数
  • C. 双字整数
  • D. 双精度浮点数

正确答案:A

解析: MIPS架构数据类型包括8位字节、16位半字、32位字、64位双字(在MIPS64或浮点单元中)以及IEEE 754单/双精度浮点数。它不支持十进制数(如BCD码)作为原生数据类型,这通常是早期CISC架构(如IA-32特定指令)才支持的。


5. 在下面的指令中,不属于MPIS(RISC)处理的指令是

  • A. ADD R1, [0101]
  • B. LD R3,(R2)
  • C. SUB R1, R3
  • D. SD 4 (R3), R2

正确答案:A

解析: MIPS是典型的RISC架构,采用Load-Store结构。其特点是ALU运算指令(如ADD, SUB)的操作数必须全部在寄存器中,不能直接访问存储器。对存储器的访问只能通过Load(如LD)和Store(如SD)指令进行。选项A ADD R1, [0101] 试图让ADD指令直接操作内存地址 [0101],这是不符合MIPS规范的。


6. ()在寄存器之间进行。

  • A. CISC
  • B. RISC
  • C. RISC和CISC
  • D. 复杂指令集计算机

正确答案:B

解析: 见上题。RISC(精简指令集计算机)设计原则之一就是运算操作主要在寄存器之间进行(Register-to-Register),以简化硬件设计并利于流水线实现。


7. MIPS指令中字的地址必须满足()

  • A. 4的倍数
  • B. 2的倍数
  • C. 8的倍数
  • D. 其他

正确答案:A

解析: MIPS体系结构中,内存按字节编址,但指令和字数据(32位)要求边界对齐。因为一个字是4字节,所以字的起始地址必须是4的倍数(二进制地址最后两位为00)。


8. 在J类跳转指令中,例如格式

000010 (6位) | Address (26位)

在计算目标地址时,首先将26位偏移量进行如下操作()

  • A. 偏移量左移两位
  • B. 直接与PC值相加
  • C. 不做任何操作
  • D. 26偏移量左移4位

正确答案:A

解析: MIPS指令长度固定为32位(4字节),因此所有指令地址都是4的倍数,地址最低两位永远是00。J指令中的26位目标字段省略了这最低两位,因此在还原目标实际地址时,首先要将这26位左移2位(x4),恢复为28位的相对地址部分,再与PC的高4位拼接。


9. 课后题某台计算机的各条指令使用频度如表所示

img

要求:分别设计这9条指令操作码的哈夫曼编码、3/3/3扩展编码和2/7扩展编码,并计算这3种编码的平均码长。

解析:

  • 哈夫曼编码:依据图中给出的各指令频度(概率)从低到高构建哈夫曼树。频度越高,分配的码字越短。平均码长 L=(pi×li)L = \sum (p_i \times l_i)
  • 3/3/3 扩展编码:这是一类定长扩展编码。将操作码每3位作为一段。前 231=72^3-1=7 种组合(000-110)可用于表示高频指令,预留一种(如111)作为扩展标志,指向下一级3位编码。适用于频度递减明显的系统。
  • 2/7 扩展编码:类似3/3/3,第一级用2位(00-11),其中前3种(00, 01, 10)表示最高频的3条指令,11作为扩展标志,指向后面7位长的编码。
  • 注:具体数值计算需读取图片中的频率数据进行。
Profile Image of the Author
Sonder
好想要技术
这是公告标题
这只是一个公告
分类
标签
站点信息
构建平台
GitHub Actions
博客版本
Firefly v6.16.7
文章许可
CC BY-NC-SA 4.0
文章目录