1. 运算电路
ALU由两个运算数据输入端,一个运算数据输出端,一个运算类型控制端。
假定ALU 只支持8 位二进制数的加、减、与、或、非、左移1 位、右移1 位、赋值等操作,如图所示。两个8 位输入S1和S2,一个8 位输出DT,另一个输出为标志位FLG。
列出其功能表如下:
2. 取数电路
取数电路是从寄存器中取出作为运算电路输入的两个源操作数,采用两个选择器分别选择出这两个源操作数,S1从寄存器组中选择,信号OS1用于选择寄存器。S2不仅从寄存器组中选择,而且还可以选择立即数,信号OS2用于选择寄存器和立即数。
数据保存在四个8 位通用寄存器R0、R1、R2、R3 和程序计数器PC 中,使用3 位信号OS1
来选择寄存器的值,3 位信号OS2 来选择寄存器值或立即数IMM,所读取数据分别输出至S1
和S2 上。
功能表如下图所示: