2011年
1 减法运算: -y等于y按位取反末尾加1
x-y =x+(-y)
-y 是y按位取反末尾加1
x+y 溢出 保留低八位
如果都是x-y, int和unsigned int 数值相同,但是解读不同
2 带符号和无符号都是用同一个加减电路实现 只不过无符号溢出CF 带符号溢出OF判断
3 加法器原理理由 画图说明也行
sub=0 加法 mux的0会被选通 cin=0
sub=1 减法 mux的1会被选通 这里有一个取反的符号 cin位1 末尾加1
计组重要电路!!
4 先手算是否溢出 已知表示范围判断溢出
机算: 手算结果超出合法范围用机算
无符号溢出CF
带符号溢出OF判断
2020年
1 乘法指令用加法减法移位实现
2 控制逻辑相当于CPU的控制单元, 发出时钟信号, 指挥寄存器移位
3 第一是没有乘法指令,执行n组的加减法指令还有位移指令
第二是。有乘法指令,但是这个乘法指令是使用aru和位移器实现的乘法指令。alu和位移器实现的乘法指令,第一步,先加或者减,然后然后再移位。第二步,再加再减,再移位。第三步,再加再减,再移位。
第三种就是用阵列乘法器可以用电路直接得到结果,直接硬件实现是最快的。对阵列乘法器就是n个比特的乘法,同时并行的进行,
最块的是三
最慢的是a没有乘法指令,
乘法运算如下:
在考纲中,只要求浮点数加减运算,所以
除法运算直接手算 -只会丢失精度 不会溢出;
比如64/(-5)=12 小数点后面的精度丢失
4 2n位肯定不会溢出 直接xy=x2 左移 做好移位就行了
无符号逻辑左移 有符号算数左移
判断溢出看前面0 -上面图 判断溢出的方法
2021
这两条指令减法和乘法指令的计算是否发生了溢出? 判断溢出的时候你最简单的方法就是手算去判断溢出
短数位扩展为长数,带符号数位扩展(本题),不带符号数0扩展
2019
递归计算n阶乘 看4 5 问
4.得到数不相等,要么精度丢失,要么溢出;本题是整数乘法,所以是溢出
不丢失方法->int变long
5.两个数据相乘 首先用2n比特保存中间结果;
带符号数乘法判断溢出标志:前n+1位全为1或0;
CPU在发生溢出时需要转异常处理,那么编译器应该在这个乘法指令后面加一条什么指令?其实就是陷入指令
2017 4.3.5
第三问 浮点数逻辑左移一位的效果并不等价于它乘以二。
2013
考cf标记位 好好研究一下cf of zf这几个标志位。的值会直接的影响转移类指令的工作,