计算机组成原理2.5.1逻辑运算
2.5 定点运算器的组成 2.5.1 逻辑运算 2.5.2 多功能算术/逻辑运算单元(ALU) 2.5.1 逻辑运算 所谓逻辑数,是指不带符号的二进制数。 计算机中的逻辑运算,主要是指逻辑非、逻辑加、逻辑乘、逻辑异四种基本运算。 1.逻辑非运算 逻辑非也称求反。对某数进行逻辑非运算,就是按位求它的反,常用变量上方加一横来表示。 2.5.1 逻辑运算 设一个数x表示成: x=x0x1x2…xn 对x求逻辑非,则有 =z=z0z1z2…zn zi= , (i=0,1,2,…n) [例21] x1x2求x1 ,x2 [解:] x1 x22.5.1 逻辑运算 2.逻辑加运算 对两个数进行逻辑加,就是按位求它们的“或”,所以逻辑加又称逻辑或,常用记号“V”或“+”来表示。 设有两数 ,它们表示为x=x0x1…xn y=y0y1…yn 若x∨y=z=z0z1z2…zn 则zi=xi∨yi,(i=0,1,2,…,n) 2.5.1 逻辑运算 [例22] xy 求x∨y。 [解:] 1 0 1 0 0 0 0 1 x ∨ 1 0 0 1 1 0 1 1 y 1 0 1 1 1 0 1 1 z 即 x∨y =2.5.1 逻辑运算 3.逻辑乘运算 对两数进行逻辑乘,就是按位求它们的“与”,所以逻辑乘又称“逻辑与”,常用记号“∧”或“·”来表示。 设有两数x和y,表示为x=x0x1…xn y=y0y1…yn 若x∧y=z=z0z1z2…zn 则zi=xi∧yi (i=0,1,2,…,n) 2.5.1 逻辑运算 [例23] xy求x∧y。 [解:] 1 0 1 1 1 0 0 1 x ∧ 1 1 1 1 0 0 1 1 y 1 0 1 1 0 0 0 1 z 即x∧y =2.5.1 逻辑运算 4.逻辑异运算 对两数进行异就是按位求它们的模2和,所以逻辑异又称“按位加”,常用记号“⊕”表示。 设有两数x和y:x=x0x1…xn,y=y0y1…yn 若x和y的逻辑异为z: x⊕y=z=z0z1z2…zn 则zi=xi⊕yi (i=0,1,2,…,n) 2.5.1 逻辑运算 [例24] xy求x⊕y。 [解:]1 0 1 0 1 0 1 1 x ⊕ 1 1 0 0 1 1 0 0 y 0 1 1 0 0 1 1 1 z 即x⊕y =2.5.1 逻辑运算 事实上,逻辑加还可以通过逻辑乘和逻辑非来实现: 2.5.2 多功能算术/逻辑运算单元(ALU) 一位全加器(FA)构成的行波进位加法器 一是由于串行进位,它的运算时间很长。 二是就行波进位加法器本身来说,它只能完成加法和减法两种操作而不能完成逻辑操作。 功能算术/逻辑运算单元(ALU)不仅具有多种算术运算和逻辑运算的功能,而且具有先行进位逻辑。 2.5.2 多功能算术/逻辑运算单元(ALU) 1.基本思想 一位全加器(FA)的逻辑表达式为 Fi=Ai⊕Bi⊕Co Ci+1=AiBi+BiCi+CiAi (2.35) 将Ai和Bi先组合成由控制参数S0,S1,S2,S3控制的组合函数Xi和Yi,然后再将Xi,Yi和下一位进位数通过全加器进行全加。 图2.10 ALU的逻辑结构原理框图 2.5.2 多功能算术/逻辑运算单元(ALU) 一位算术/逻辑运算单元的逻辑表达式为 Fi=Xi⊕Yi⊕Cn+i Cn+i+1=XiYi+YiCn+i+Cn+iXi 上式中进位下标用n+i代替原来以为全加器中的I,i代表集成在一片电路上的ALU的二进制位数。 2.5.2 多功能算术/逻辑运算单元(ALU) 对于4位一片的ALU,i=0,1,2,3。n代表若干片ALU组成更大字长的运算器时每片电路的进位输入,例如当4片组成16位字长的运算器时,n=0,4,8,12。 2.5.2 多功能算术/逻辑运算单元(ALU) 2.逻辑表达式 控制参数S0 ,S1 ,S2 ,S3 分别控制输入Ai 和Bi ,产生Y和X的函