计算机组成原理 习题 (5) 综合测验 1
浮点数速度指标
CPI
MIPS 和 MFLOPS 2
二进制表示的原因 3
IEEE 754 浮点数 1 000000000000 32 位浮点数 : 1+8+23
3+127 = 130 即 0100 0010 所以阶码是 尾码是000000000000 (规格化数的尾码忽略1.xx 的1 ) 4
程序执行时间的优化
数据通路的定义
提高计算机性能的方法 5
变址寻址 2100H-2000H=100H 即 256 由于一个单(double)是8个字节,所以此时的变址寄存器内容为256/8==32
变址寻址
6
标志寄存器 大于的转移条件就是小于等于的非:CF=1 : 不够减,就是小于ZF=0:相减等于0 ,所以是等于
标志寄存器
无符号数的进位/借位标志
有符号数运算的溢出
运算结果的符号
奇偶标志 7
IEEE 754 大小比较 f1 : 1 000000000000 f2:1 0 000000000000 f1 : 阶码 1+8+16+128 -1.001*2^{26} f2:阶码 1+32+64 -1.1*2^{-30} f1 更小,f1 和 f2 都是负数
单精度浮点数 8
补码运算 x : 0011 1001 -x : 1100 0111 y : 25 =0001 1001 (-y) -25 = 1110 0111 (y) x-y : 103+25=128 ,但是8位定点补码最大为
,所以发生了溢出
补码的表示方法
双符号补码 9
4种标志位 结果既没有溢出,也没有进位,所以CF和OF 都为0 10
unsigned short 的溢出 unsigned short 最大为
但是short 的最大值为
其实二进制表示还是 1111 1111 1111 1111 用有符号数补码理解就是 -1 11
结构体的边界对齐
边界对齐
对齐的定义
边界对齐和边界不对齐比较
小端模式: 高地址对应高字节 12
CPU区分数据和指令的方式 冯诺依曼计算机是根据指令周期的不同阶段,来区分从内存中取出的是指令还是数据 指令周期分为4个部分取指周期,这个周期取出的是指令{操作码,地址码}间接寻址周期,找到有效地址(内存物理地址)执行周期,这个周期取出的就是数据中断周期,检查有没有中断信号 13
int float double 的精度比较 精度大小 double > float >int 低精度向高精度转化后转化为低精度不会有什么问题 高精度向低精度转化后再转化为高精度会造成精度丢失 14
定点数的补码 x : -1-16*2=-33 y : 4*16+1= 65 x-y : FFFF FFDFH-0000 0041H= FFFF FF9EH 15
定点数的运算 2*x : 1110 1000 y/2 :1101 1000 然后相加 : 1100 0000 16
IEEE 754 的最小规格化正数 0000 0001 1-2^{8-1}+1=2-2^{7}=-126 然后尾码全0 (隐含了1.0 的1 )
IEEE 754 的阶码部分的规律 17
浮点数的加法 X : 29=001 1101 然后除以 32 得到的是0. (小数点左移5 位) Y:5= 000 0101 然后除以 8 得到的是0.(小数点左移3位) 阶差 :
对阶:
然后进行加法:
尾数为01.xx 或者 10.xx 表示溢出,需要尾数右移规格化(尾数变小,阶码需要变大) 右移规格化为
由于阶码有两个符号位 01 110 表示 阶码溢出,说明是真的溢出了
溢出的定义
确定溢出的方法
双符号位判断溢出
双符号位判断溢出
浮点数的机器码表示
浮点数的规格化表示
规格化
浮点数的规格化表示
18
定点数的运算 x : 0000 0000 0000 0000 0000 0000 0111 1111 = 15+32+64+16 =127=0000007FH y : 1111 1111 1111 0111=-1-8=-9 =FFF7H->FFFF FFF7H 然后相加: 1 0000 0076H 会导致溢出最高位 所以是short 先进行扩展,然后和int 进行运算 19
结构体的存储——边界对齐 record.a=273 : 0000 0000 0000 0000 0000 0001 0001 0001
地址的对应关系 20
大端模式和基址寻址 直接形式地址+基址寄存器的值就行了(补码加法) F000 0000H+FFFF FF12H=EFFF FF12H (15+15-16=14 溢出位不要了 所以是E ) 然后采用的是大端存储,所以地址对应关系如下 :
高地址对应低字节 需要加一个偏移量 3H
基址寻址 21
IEEE 754 float 1+8+23 1111 1110 阶码 ->15+15*16-1-127=15* (1+16)-1-127=254-127=127 111 1111 1111 1111 1111 1111 尾码 ->
所以最大的正整数为
22
寄存器和ALU
23
移位操作 1101 1000-> 0110 1100 逻辑右移 1101 1000-> 1110 1100 算术右移
二进制数的移位操作
原码的算术移位
补码的算术移位
逻辑移位和算术移位
循环移位 24
机器码 C800 0000H : 1100 1000 0000 0000 0000 0000 0000 0000 如果为float : 1 0000000000000000000000 128+16-127=17 浮点数为
如果为int :
即
25
自陷的定义 26
小端模式 64 :0000 0000 0000 0000 0000 0000 0100 0000 -64 : 1111 1111 1111 1111 1111 1111 1100 0000 FFFFFFC0 C7 45 FC 是指令的机器代码,所以int i=-64 对应的机器代码为C7 45 FC C0 FF FF FF 27
补码乘法的溢出r1 : 1111 1110 十进制数 :-1-1=-2 r2 : 1111 0010 十进制数 :-1-13=-14r4 : 1111 1000 十进制数 :-1-7=-8r3 : 1001 0000 十进制数 :-1-(15+64+128)=-208显然r2×r4 超过了最大值,发生溢出 更多408选择题,可看: http://t.csdnimg.cn/MP3XF
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/70313.html