综合考虑各类定点运算算法后,发现:综合考虑各类定点运算算法后,发现:所有运算都可通过“加”和“移位所有运算都可通过“加”和“移位””操作实现操作实现
以一个或多个 ALU(或加法器)为核心,加上移位器和存放中间临时结果的若干寄存器,在相应控制逻辑的控制下,可以实现各种运算。
运算部件通常指运算部件通常指 ALUALU 、移位器、寄存器组,加上用于数据选、移位器、寄存器组,加上用于数据选择的多路选择器和实现数据传送的总线等构成的一个运算数择的多路选择器和实现数据传送的总线等构成的一个运算数据通路。据通路。
可用专门运算器芯片实现(如: 4 位运算器芯片 AM2901)可用若干芯片级联实现(如 4 个 AM2901构成 16位运算器)现代计算机把运算数据通路和控制器都做在 CPU中,为实现高级流水线, CPU中有多个运算部件,通常称为“功能部件”或“执行部件”。
2.3 2.3 定点运算器的组成定点运算器的组成
一、运算器的基本组成一、运算器的基本组成
ALUALU
标标志志寄寄存存器器
移位逻辑移位逻辑
锁存器锁存器 AA 锁存器锁存器 BB
寄存器组
内 部 总 线内 部 总 线
22 、、通用寄存器组通用寄存器组
寄存器是计算机中存取速度最快的存储器件寄存器是计算机中存取速度最快的存储器件
暂存参加运算的数据和中间结果暂存参加运算的数据和中间结果
可以被汇编程序直接访问和使用可以被汇编程序直接访问和使用
能够左右移位的乘商寄存器能够左右移位的乘商寄存器
33 、、标志寄存器标志寄存器(( PSWPSW ))
用于保存用于保存 ALUALU 运算结果的状态信息。 运算结果的状态信息。
SS 符号标志位:符号标志位: SS 为为 11 时表示运算结果为负;时表示运算结果为负;
V V 溢出标志位:溢出标志位: VV 为为 11 时表示运算结果溢出;时表示运算结果溢出;
Z Z 零标志位: 零标志位: ZZ 为为 11 时表示运算结果零;时表示运算结果零;
C C 进位标志位:进位标志位: CC 为为 11 时表示运算结果有进时表示运算结果有进
位。位。
44 、、移位及数据选择器移位及数据选择器
对参加运算的数据,执行某种运算以对参加运算的数据,执行某种运算以及将运算结果送往何处进行控制。及将运算结果送往何处进行控制。
55 、、数据的传送通路数据的传送通路以总线结构为主的数据通路以总线结构为主的数据通路
单总线结构的运算器单总线结构的运算器
双总线结构的运算器双总线结构的运算器
三总线结构的运算器三总线结构的运算器
二、定点运算器举例二、定点运算器举例TH-UnionTH-Union 教学计算机简介教学计算机简介 字长字长 1616 位,用位,用 44 片四位的片四位的位片结构位片结构运运算器芯片算器芯片 Am2901Am2901 组成。组成。
位片结构位片结构:将位数较少、功能完整、独立:将位数较少、功能完整、独立封装的大规模集成电路经多片拼接构成较封装的大规模集成电路经多片拼接构成较长位数的运算器。长位数的运算器。
二选一
B 16 个 A
通用寄存器
三选一 二选一
三选一
三选一
A L U S R
B 锁存器 A 锁存器乘商寄存器 Q
Cn
/OE
Q3 Q0
RAM0RAM3
F
输出 Y
F3F=0000OVRCn+4
输入 D
A 口地址
B 口地址
11 、、 44 位的位的Am2901Am2901
内部组成与功能内部组成与功能
组成
1 )算逻运算部件2 ) 16 个寄存器3 )乘商寄存器 Q
4 ) 5 组多路选择器
功能
8 种运算功能
8 种数据组合
8 种结果处理
A L U S R Cn
FF3
OVRF=0000
Cn+4
第一个组成部分第一个组成部分是算逻运算部件ALU,完成 3种算术运算 和 5种逻辑运算,共 8种运算功能。
R+S
SRRSR S ∨ 或RS 与RS
RS 异或RS
88 种运算功能种运算功能
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
I5 I4 I3
第二个组成部分第二个组成部分是通用寄存器组由 16个寄存器( R0~R15)构成,并通过 B 口与 A 口地址选择被读的寄存器,B 口地址还用于指定写入寄存器。
R0R0 ~~ R3R3 、、 R8R8 ~~ R15R15 为通用寄存器为通用寄存器
R4R4 为为 SPSP 、、 R5R5 为为 PCPC
A L U
S R
Cn
FF3
OVRF=0000
Cn+4
B
A
通用寄存器
B 锁存器 A 锁存器
A 口地址
B 口地址
(写入)
第三个组成部分第三个组成部分是乘商寄存器 Q它能对自己的内容完成左右移位功能,其输出可以送往 ALU,并可接收 ALU的输出结果。
Q 寄存器
A L U
S R
Cn
FF3
OVRF=0000
Cn+4
B
A
通用寄存器
B 锁存器 A 锁存器
A 口地址
B 口地址
(写入)
该芯片的第四个组成部分是 5 组多路选通门 ,包括三选一 二选一
输入 D 一组三选一门和另一组二选一门用来选择送向ALU的 R、 S 输入端的数据来源,包括: Q 寄存器、A 口、 B 口数据、外部输入 D 数据共 8种不同组合。
A L U
S RCn
FF3
OVRF=0000
Cn+4
Q 寄存器
B
A
通用寄存器
B 锁存器 A 锁存器
A 口地址
B 口地址
(写入)
三选一 二选一输入 D
一组三选一门和另一组二选一门用来选择送向ALU的 R、 S 输入端的数据来源,包括: Q 寄存器、A 口、 B 口数据、外部输入 D 数据共 8种不同组合。
A L U
S RCn
FF3
OVRF=0000
Cn+4
Q 寄存器
B
A
通用寄存器
B 锁存器 A 锁存器
A 口地址
B 口地址
(写入)
8 种数据组合 (R,S)
AQ AB 0Q 0B 0A DA DQ D0
3 位数据选择码 000 001 010 011 100 101 110 111
B 16 个 A
通用寄存器
三选一 二选一
三选一
三选一
A L U S R
B 锁存器 A 锁存器Q 寄存器
Cn
Q3 Q0
RAM0RAM3
FF3
F=0000OVRCn+4
输入 D
A 口地址
B 口地址
一组三选一门完成把ALU的输出、或左移一位、或右移一位的值送往通用寄存器组,最高、最低位移位信号有双向入 /出问题
一组三选一门完成 Q寄存器的左移一位、或右移一位、或接收ALU输出值的功能,最高、最低位移位信号有双向入 /出问题。
二选一/OEF
输出 Y
一组二选一门,选择把 ALU结果或 A 口数据送出芯片,给出输出 Y 的数据, Y 输出的有无还受使能信号控制,仅当 /OE为低才有 Y 输出, /OE为高 Y 输出为高阻态。
B 16 个 A
通用寄存器
三选一 二选一
三选一
三选一
A L U S R
B 锁存器 A 锁存器Q 寄存器
Cn
Q3 Q0
RAM0RAM3
F3F=0000OVRCn+4
输入 D
A 口地址
B 口地址
运算结果的 8 种处理
3 位控制码 通用寄存器 Q 寄存器 Y 输出
000 QF F 001 F 010 BF A 011 BF F 100 BF/2 QQ/2 F 101 BF/2 F 110 B2F Q2Q F 111 B2F F
B 16 个 A
通用寄存器
B 锁存器 A 锁存器
A 口地址
B 口地址
二选一
三选一 二选一
三选一
三选一
Q3 Q0
RAM0RAM3
A L U S R Cn
FF3
F=0000OVRCn+4
运算器,三大件运算暂存乘除快多路选通连起来
数据组合选择 I2 I1 I0
运算功能选择 I5 I4 I3
运算结果处理 I8 I7 I6
运算 暂存 乘除快
数据组合有内外运算功能指明白存移输出巧安排
多路选通连起来
存移输出巧安排存移输出巧安排存移输出巧安排
Q 寄存器输入 D
/OE输出 Y
二选一
ALU
二选一 三选一
R0
R1
R
三选一
Q
三选一
n
CyF=0000OVRF15
Y15~Y0
D15~D0
C in
数据输出数据输出
数据输入数据输入乘商
通用寄存器
OE
A B
定点运算器部件实例
定点运算器部件实例
Am
2901A
m2901
状态输出状态输出
A 口地址 B 口地址
RAM15 RAM0
Q15 Q0
R S
控制信号控制信号
I2 I1 I0
I5 I4 I3
I8 I7 I6
选数据
选数据
源源
选操作功
选操作功
能能
选结果安
选结果安
排排
2.2.AM2901AM2901 的时序关系的时序关系
运算器的时钟脉冲信号 运算器的时钟脉冲信号 CPCP 教学计算机的主频教学计算机的主频 :1.:1.33MHZ33MHZ
Q Q 寄存器接收寄存器接收
和和低电平
低电平的作用
的作用
注意注意两个跳变
两个跳变
沿沿
AA 、、 BB 口锁存口锁存
通用寄存器接收通用寄存器接收回存结果回存结果
ALUALU 操作周期操作周期
高电平时高电平时 I8-I0I8-I0稳定给出、稳定给出、
数据输入、且获得本次数据输入、且获得本次
运算结果。运算结果。
3.Am29013.Am2901 的操作与控制的操作与控制(数据来源、操作功能与结果处(数据来源、操作功能与结果处理)理)
操作功能控制信号
B 口 A 口 I8 I7 I6 I5 I4 I3 I2 I1 I0 Cn
R0R0+R1
R2R2 R0∧
QR0
右移R0R0+R1
R5R5+1 Y A 口
Y F
0000 0110001 000 001 0
0010 0000 011 100 001 0
0000 1010001 000 001 0
0000 000 000 100 0/0000
0101 0100101 000 011 1
R0R0-R1 Y F 0000 0110001 001 001 1
4. 外部入出信号及引脚
Y3~Y0
D3~D0
RAM3Q3
RAM0Q0
CP OE
Cin
CyF=0Over
F3 Am2901
A3~A0 B3~B0 I8~I6 I5~I3
I2~I0
4 个状态标志位
输出
9 位控制操作码
外部数据输入
BACK
0,1,RAM0
Q0,RAM15
16 位的
运算器
16 位机的运算器的完整组成
四位标志位
GA
L1
右移输入信
号
GA
L3
SST
左移输入信
号
GA
L3
最低位进位
GA
L3
C
ZVS
CyF=0OVRF15
来自内部总线 IB
SSH SSH
SCi [ 运算功能码 ]
右移控制 左移控制
RAM15Q15
RAM0Q0
0CQ15/F15
0C
CyRAM0
01C[/C]方波
Y15~0
D15~0B 口A 口 I8~I0
Cin
BACK
16 位运算器的操作使用操作功能
控制信号B 口 A 口 SST I8~6 I5~3 I2~0 SSH SCi
R0 R0+R1
R2 R21
Q R0
右移R0 R0+R1
R0QR0R3Q
Y F
0000 0110001 000 001 0
0010 / 011 001 011 0
0000 1010001 000 001
0000 000 000 100/
0000 1100011 001 001 1
R5R5+1 YR5 0101 0100101 000 011 0
00
00
001
001
001
000
001
001
0001
逻辑右移
与 C 循环右移
0
1
10
00
01
联合左移
8 种数据组合 (R,S)
AQ AB 0Q 0B 0A DA DQ D0
000 001 010 011 100 101 110 111
三选一 二选一输入 D
A L U
S RCn
FF3
OVRF=0000
Cn+4
Q 寄存器
B
A
通用寄存器
B 锁存器 A 锁存器
A 口地址
B 口地址
(写入)
R+S
SRRSR S∨RSRS
RS
RS
88 种运算功能种运算功能0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
I5 I4 I3
3 位控制码 通用寄存器 Q 寄存器 Y 输出
000 QF F
001 F
010 BF A
011 BF F
100 BF/2 QQ/2 F
101 BF/2 F
110 B2F Q2Q F
111 B2F F
1.1. 先行进位先行进位 ALUALU
先行进位 ALU 芯片( SN74181 )四位 ALU 芯片,中规模集成电路。在先行进位加法器基础上附加部分线路,具有基本的算术运算和逻辑运算功能。SN74181 的逻辑图和功能表
SN74182 是4位BCLA (成组先行进位)芯片。
多芯片级联构成先行进位 ALU
1 个 SN74181 芯片直接构成一个 4 位全先行进位 ALU
4 个 SN74181 芯片串行构成一个 16 位单级先行进位 ALU
4 个 SN74181 芯片与 1 个 SN74182 芯片可构成 16 位两级先行进位 ALU
16 个 SN74181 芯片与 5 个 SN74182 芯片可构成 64 位先行进位 ALU
SKIPALU 中的“加”运算电路相当于 n 档二进制加法算盘。
所有其他运算都以 ALU 中“加”运算为基础!
SN74181SN74181 的引脚的引脚
输入端: Ai 和 Bi 分别为第 1 和 2 操作数, Cn 为低位进位, M 为功能选择线, Si 为操作选择线,共 4 位,故最多有 16 种运算。
输出端: Fi 为运算结果, Cn+4 、 P 和 G 为进位,“ A=B” 为相等标志
P
输入端输出端
SN74181SN74181 逻辑电路图逻辑电路图
SN74181SN74181 正逻辑功能表正逻辑功能表
BACK
SN74182SN74182 芯片的引脚芯片的引脚
输入端: Pi 和 Gi 分别为第 i 组的组内进位传递函数和进位生成函数, Cn 为低位进位。
输出端: Cn+4 、 Cn+8 、 Cn+12 为相应组的组内进位, P* 和 G* 分别为整个大组的组进位传递函数和进位生成函数。
SN74182SN74182 芯片的逻辑电路图芯片的逻辑电路图
BACK
SN74181SN74181 和和 SN74182SN74182 组成组成 1616 位先行位先行进位进位 ALUALU
4 位ALU
4 位ALU
4 位ALU
4 位ALU
16 位级联先行进位 ALUBACK