"计算机组成原理考研2012、2011真题解析 408 考研"
在计算机组成原理的学习中,我们关注的是计算机硬件系统的基本概念、工作原理以及性能评估。以下是对题目中涉及知识点的详细解释:
1. CPU速度与程序运行时间:
- 当CPU速度提高时,执行相同数量的指令所需的时间会减少。题目中基准程序A的CPU时间占90秒,CPU速度提升50%后,每个时钟周期的时间缩短为原来的2/3,因此CPU执行时间也相应减少到60秒。加上不变的I/O时间10秒,总运行时间为70秒。
2. 数据类型转换与存储:
- 在C语言中,不同数据类型的长度可能不同。当一个较短的数据类型赋值给一个较长的数据类型时,会发生填充或扩展。题目中,`unsigned short x` 转换为 `unsigned int y`,因为是无符号数,所以不会发生符号扩展,而是零扩展,即保持高位不变,低位填充0。所以,`x`的值`0xFFFAH`转换后变为`0x0000FFFAH`。
3. 浮点数表示:
- IEEE754单精度浮点数格式用于表示浮点数,包括符号位、指数部分和尾数部分。最大的正整数会出现在尾数最大(全1)且指数最大(规格化数的最大指数减去偏移值)的情况下。对于单精度浮点数,最大正整数是2^(23)-2^(1-23),即2^24-2^1,即2^128-2^104,对应选项D。
4. 结构体与内存对齐:
- 结构体成员的地址通常是其起始地址加上成员大小的整数倍,以满足内存对齐的要求。对于小端存储方式,数据的低字节存储在低地址。题目中的结构体`struct { int a; char b; short c; } record`,`a`占用4个字节,`b`占用1个字节,`c`占用2个字节。由于数据按边界对齐,`b`后面会填充1个字节以使`c`的地址为4的倍数。因此,`record.c`的地址是0xC00E(`a`的地址0xC008加上4字节的`a`和1字节的`b`,再加1个字节的填充)。而`record.a`的初始字节(最高有效字节)存储在地址0xC008。
这些题目涵盖了计算机组成原理中的一些核心概念,如CPU性能优化、数据类型转换规则、浮点数表示法以及内存组织与对齐策略。理解并掌握这些知识点对于深入理解计算机系统的工作原理至关重要。