计算机组成原理(七)

算术运算及电路实现

运算器的基本功能

  • 完成算术,逻辑运算
    +,-,*,/,%,&,|,~
  • 得到运算结果的状态
    C,Z,V,S
  • 输出,存放运算结果
    寄存器组,数据总线

运算器的基础逻辑电路

  • 逻辑门电路
    完成逻辑运算
  • 加法器
    完成加法运算
  • 触发器
    保存数据
  • 多路选择器,移位器
    选择,联通

数据通路

计算机组成原理(七)

ALU功能设计

  • 功能
    对操作数A,B完成算术逻辑运算
    ADD,AND,OR
  • 设计
    算术运算
    加法器
    逻辑运算
    与门,或门

一位ALU逻辑运算实现

直接用逻辑门实现与和或的功能
多路选择器,通过op控制信号输出结果

计算机组成原理(七)

1位的加法

3个输入信号:A,B,CarryIn
2个输出信号:sum,CarryOut

真值表

A B CarryIn CarryOut sum
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1

sum=(a’b’carryin)+(a’+b+carryin)+(a+b’+carryin’)+(a+b+carryin)
carryout=(b
carryin)+(a
carryin)+(a*b)
用逻辑门实现加法求sum
用逻辑门求carryout
将所有相同的输入连接在一起

1位ALU的设计过程

确定ALU的功能 (与,或,非)
确定ALU的输入参数
根据功能要求,得到真值表,并写出逻辑表达式
根据逻辑表达式实现逻辑电路

4位ALU实现方式

用1位ALU串联起来,得到4位ALU

超前进位生成

其他结果标志

z=(f1=0)&(f2=0)&(f3=0)&(f4=0)
s=最高位
o=f1’f2’fs+f1f2fs’

补码减法

根据算术运算规则
[a-b]补=[a]补+[-b]补
[-b]的补码为将[b]补的各位求反+1
由此我们可以用加法器完成减法