第三章预习
3.运算方法和运算部件
3.1高级语言和机器指令中的运算
3.1.1C程序中设计的运算
1.按位运算:符号|表示按位OR运算;符号&表示按位AND运算;符号~表示按位NOT运算;符号^表示按位XOR运算
2.逻辑运算:符号||表示OR运算符号&&表示AND运算;符号!表示NOT运算
3.移位运算:移位操作有逻辑移位和算术移位两种,逻辑移位不考虑符号位,总是把高(低)位移出,低(高)位补0。对于无符号整数的逻辑左移,如果最高位移出的是1,则发生溢出。因为计算机内部的带符号整数都是用补码表示的,所以对于带符号症数的移位操作应采用补码算术移位方式。左移时,高位移出,低位补0,每移一位,如果步出的高位不同于移位后的符号位,即左移前、后符号位不同,则发生溢出;右移时,低位移出,高位补符号。
4,位扩展和位截断运算:进行位扩展时,扩展后的数值应保持不变。有两种扩展方式:0扩展和符号扩展。0扩展用于无符号数,只要在短的无符号数前面添加足够的0即可,符号扩展用于补码表示的带符号整数。通过在短的带符号整数前添加足够多的符号位来扩展。
3.1.2MISP指令中设计的运算:MIPS指令中涉及的运算有按位逻辑运算、逻辑移位、算术移位、带符号整数的加减乘除、无符号整数加减乘除、带符号整数的符号扩展、无符号数的0扩展、单精度浮点数加减乘除、双精度浮点数加减乘除等。
3.2基本运算部件
3.2.1串行进位加法器:全加器用来实现两个本位数加上低位进位生成一位本位和以及一位向高位的进位

全加器的符号表示

n位串行进位加法器

这种结构所用元件较少,但进位传递时间较长
速度慢原因:进位按串行方式传递,高位进位依赖低位进位。为了提高加法器的运算,必须尽量避免进位之间的依赖关系。
3.2.2并行进位加法器

Pi称为进位传递函数,其含义是:当Xi,Yi中有一个位1时,若有低位进位输入,则一定被转移到高位。
Gi称为进位生成函数,其含义是:当Xi,Yi均为1时,不管有无低位进位输入,本位一定向高位产生进位输出。

实现上述逻辑表达式的电路称为先行进位(也称超前进位)部件,简称CLA部件。通过这种进位方式实现的加法器称为全行进位加法器。
4位CLA部件和4位全行进位加法器示意图

3.2.3带标志加法器

如图所示,溢出标志的逻辑表达式位OF=Cn+Cn-1;符号标志就是和的符号,即SF=Fn-1;零标志ZF=1当且仅当F=0;进位/借位标志CF=Count+Cin,即当Cin=0时,CF为进位Count,当Cin=1时,CF为进位Count取反。
3.2.4算数逻辑部位
ALU是一种能进行多种算数运算与逻辑运算的组合逻辑电路,其核心部件是带标志加法器,多采用先行进位方式

浙公网安备 33010602011771号