32

Click here to load reader

综合考虑各类定点运算算法后,发现: 所有运算都可通过 “ 加 ” 和 “ 移位 ” 操作实现

Embed Size (px)

DESCRIPTION

2.3 定点运算器的组成. 综合考虑各类定点运算算法后,发现: 所有运算都可通过 “ 加 ” 和 “ 移位 ” 操作实现 以一个或多个 ALU (或加法器)为核心,加上移位器和存放中间临时结果的若干寄存器,在相应控制逻辑的控制下,可以实现各种运算 。 运算部件通常指 ALU 、移位器、寄存器组,加上用于数据选择的多路选择器和实现数据传送的总线等构成的一个运算数据通路。 可用专门运算器芯片实现(如: 4 位运算器芯片 AM2901 ) 可用若干芯片级联实现(如 4 个 AM2901 构成 16 位运算器 ) - PowerPoint PPT Presentation

Citation preview

Page 1: 综合考虑各类定点运算算法后,发现: 所有运算都可通过 “ 加 ” 和 “ 移位 ” 操作实现

综合考虑各类定点运算算法后,发现:综合考虑各类定点运算算法后,发现:所有运算都可通过“加”和“移位所有运算都可通过“加”和“移位””操作实现操作实现

以一个或多个 ALU(或加法器)为核心,加上移位器和存放中间临时结果的若干寄存器,在相应控制逻辑的控制下,可以实现各种运算。

运算部件通常指运算部件通常指 ALUALU 、移位器、寄存器组,加上用于数据选、移位器、寄存器组,加上用于数据选择的多路选择器和实现数据传送的总线等构成的一个运算数择的多路选择器和实现数据传送的总线等构成的一个运算数据通路。据通路。

可用专门运算器芯片实现(如: 4 位运算器芯片 AM2901)可用若干芯片级联实现(如 4 个 AM2901构成 16位运算器)现代计算机把运算数据通路和控制器都做在 CPU中,为实现高级流水线, CPU中有多个运算部件,通常称为“功能部件”或“执行部件”。

2.3 2.3 定点运算器的组成定点运算器的组成

Page 2: 综合考虑各类定点运算算法后,发现: 所有运算都可通过 “ 加 ” 和 “ 移位 ” 操作实现

一、运算器的基本组成一、运算器的基本组成

ALUALU

标标志志寄寄存存器器

移位逻辑移位逻辑

锁存器锁存器 AA 锁存器锁存器 BB

寄存器组

内 部 总 线内 部 总 线

Page 3: 综合考虑各类定点运算算法后,发现: 所有运算都可通过 “ 加 ” 和 “ 移位 ” 操作实现

22 、、通用寄存器组通用寄存器组

寄存器是计算机中存取速度最快的存储器件寄存器是计算机中存取速度最快的存储器件

暂存参加运算的数据和中间结果暂存参加运算的数据和中间结果

可以被汇编程序直接访问和使用可以被汇编程序直接访问和使用

能够左右移位的乘商寄存器能够左右移位的乘商寄存器

Page 4: 综合考虑各类定点运算算法后,发现: 所有运算都可通过 “ 加 ” 和 “ 移位 ” 操作实现

33 、、标志寄存器标志寄存器(( PSWPSW ))

用于保存用于保存 ALUALU 运算结果的状态信息。 运算结果的状态信息。

SS 符号标志位:符号标志位: SS 为为 11 时表示运算结果为负;时表示运算结果为负;

V V 溢出标志位:溢出标志位: VV 为为 11 时表示运算结果溢出;时表示运算结果溢出;

Z Z 零标志位: 零标志位: ZZ 为为 11 时表示运算结果零;时表示运算结果零;

C C 进位标志位:进位标志位: CC 为为 11 时表示运算结果有进时表示运算结果有进

位。位。

Page 5: 综合考虑各类定点运算算法后,发现: 所有运算都可通过 “ 加 ” 和 “ 移位 ” 操作实现

44 、、移位及数据选择器移位及数据选择器

对参加运算的数据,执行某种运算以对参加运算的数据,执行某种运算以及将运算结果送往何处进行控制。及将运算结果送往何处进行控制。

Page 6: 综合考虑各类定点运算算法后,发现: 所有运算都可通过 “ 加 ” 和 “ 移位 ” 操作实现

55 、、数据的传送通路数据的传送通路以总线结构为主的数据通路以总线结构为主的数据通路

单总线结构的运算器单总线结构的运算器

双总线结构的运算器双总线结构的运算器

三总线结构的运算器三总线结构的运算器

Page 7: 综合考虑各类定点运算算法后,发现: 所有运算都可通过 “ 加 ” 和 “ 移位 ” 操作实现

二、定点运算器举例二、定点运算器举例TH-UnionTH-Union 教学计算机简介教学计算机简介 字长字长 1616 位,用位,用 44 片四位的片四位的位片结构位片结构运运算器芯片算器芯片 Am2901Am2901 组成。组成。

位片结构位片结构:将位数较少、功能完整、独立:将位数较少、功能完整、独立封装的大规模集成电路经多片拼接构成较封装的大规模集成电路经多片拼接构成较长位数的运算器。长位数的运算器。

Page 8: 综合考虑各类定点运算算法后,发现: 所有运算都可通过 “ 加 ” 和 “ 移位 ” 操作实现

二选一

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 种结果处理

Page 9: 综合考虑各类定点运算算法后,发现: 所有运算都可通过 “ 加 ” 和 “ 移位 ” 操作实现

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

Page 10: 综合考虑各类定点运算算法后,发现: 所有运算都可通过 “ 加 ” 和 “ 移位 ” 操作实现

第二个组成部分第二个组成部分是通用寄存器组由 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 口地址

(写入)

Page 11: 综合考虑各类定点运算算法后,发现: 所有运算都可通过 “ 加 ” 和 “ 移位 ” 操作实现

第三个组成部分第三个组成部分是乘商寄存器 Q它能对自己的内容完成左右移位功能,其输出可以送往 ALU,并可接收 ALU的输出结果。

Q 寄存器

A L U

S R

Cn

FF3

OVRF=0000

Cn+4

B

A

通用寄存器

B 锁存器 A 锁存器

A 口地址

B 口地址

(写入)

Page 12: 综合考虑各类定点运算算法后,发现: 所有运算都可通过 “ 加 ” 和 “ 移位 ” 操作实现

该芯片的第四个组成部分是 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 口地址

(写入)

Page 13: 综合考虑各类定点运算算法后,发现: 所有运算都可通过 “ 加 ” 和 “ 移位 ” 操作实现

三选一 二选一输入 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

Page 14: 综合考虑各类定点运算算法后,发现: 所有运算都可通过 “ 加 ” 和 “ 移位 ” 操作实现

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输出值的功能,最高、最低位移位信号有双向入 /出问题。

Page 15: 综合考虑各类定点运算算法后,发现: 所有运算都可通过 “ 加 ” 和 “ 移位 ” 操作实现

二选一/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 口地址

Page 16: 综合考虑各类定点运算算法后,发现: 所有运算都可通过 “ 加 ” 和 “ 移位 ” 操作实现

运算结果的 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

Page 17: 综合考虑各类定点运算算法后,发现: 所有运算都可通过 “ 加 ” 和 “ 移位 ” 操作实现

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

Page 18: 综合考虑各类定点运算算法后,发现: 所有运算都可通过 “ 加 ” 和 “ 移位 ” 操作实现

二选一

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

选数据

选数据

源源

选操作功

选操作功

能能

选结果安

选结果安

排排

Page 19: 综合考虑各类定点运算算法后,发现: 所有运算都可通过 “ 加 ” 和 “ 移位 ” 操作实现

2.2.AM2901AM2901 的时序关系的时序关系

运算器的时钟脉冲信号 运算器的时钟脉冲信号 CPCP 教学计算机的主频教学计算机的主频 :1.:1.33MHZ33MHZ

Q Q 寄存器接收寄存器接收

和和低电平

低电平的作用

的作用

注意注意两个跳变

两个跳变

沿沿

AA 、、 BB 口锁存口锁存

通用寄存器接收通用寄存器接收回存结果回存结果

ALUALU 操作周期操作周期

高电平时高电平时 I8-I0I8-I0稳定给出、稳定给出、

数据输入、且获得本次数据输入、且获得本次

运算结果。运算结果。

Page 20: 综合考虑各类定点运算算法后,发现: 所有运算都可通过 “ 加 ” 和 “ 移位 ” 操作实现

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

Page 21: 综合考虑各类定点运算算法后,发现: 所有运算都可通过 “ 加 ” 和 “ 移位 ” 操作实现

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

Page 22: 综合考虑各类定点运算算法后,发现: 所有运算都可通过 “ 加 ” 和 “ 移位 ” 操作实现

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

Page 23: 综合考虑各类定点运算算法后,发现: 所有运算都可通过 “ 加 ” 和 “ 移位 ” 操作实现

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

联合左移

Page 24: 综合考虑各类定点运算算法后,发现: 所有运算都可通过 “ 加 ” 和 “ 移位 ” 操作实现

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

Page 25: 综合考虑各类定点运算算法后,发现: 所有运算都可通过 “ 加 ” 和 “ 移位 ” 操作实现

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

Page 26: 综合考虑各类定点运算算法后,发现: 所有运算都可通过 “ 加 ” 和 “ 移位 ” 操作实现

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 中“加”运算为基础!

Page 27: 综合考虑各类定点运算算法后,发现: 所有运算都可通过 “ 加 ” 和 “ 移位 ” 操作实现

SN74181SN74181 的引脚的引脚

输入端: Ai 和 Bi 分别为第 1 和 2 操作数, Cn 为低位进位, M 为功能选择线, Si 为操作选择线,共 4 位,故最多有 16 种运算。

输出端: Fi 为运算结果, Cn+4 、 P 和 G 为进位,“ A=B” 为相等标志

P

输入端输出端

Page 28: 综合考虑各类定点运算算法后,发现: 所有运算都可通过 “ 加 ” 和 “ 移位 ” 操作实现

SN74181SN74181 逻辑电路图逻辑电路图

Page 29: 综合考虑各类定点运算算法后,发现: 所有运算都可通过 “ 加 ” 和 “ 移位 ” 操作实现

SN74181SN74181 正逻辑功能表正逻辑功能表

BACK

Page 30: 综合考虑各类定点运算算法后,发现: 所有运算都可通过 “ 加 ” 和 “ 移位 ” 操作实现

SN74182SN74182 芯片的引脚芯片的引脚

输入端: Pi 和 Gi 分别为第 i 组的组内进位传递函数和进位生成函数, Cn 为低位进位。

输出端: Cn+4 、 Cn+8 、 Cn+12 为相应组的组内进位, P* 和 G* 分别为整个大组的组进位传递函数和进位生成函数。

Page 31: 综合考虑各类定点运算算法后,发现: 所有运算都可通过 “ 加 ” 和 “ 移位 ” 操作实现

SN74182SN74182 芯片的逻辑电路图芯片的逻辑电路图

BACK

Page 32: 综合考虑各类定点运算算法后,发现: 所有运算都可通过 “ 加 ” 和 “ 移位 ” 操作实现

SN74181SN74181 和和 SN74182SN74182 组成组成 1616 位先行位先行进位进位 ALUALU

4 位ALU

4 位ALU

4 位ALU

4 位ALU

16 位级联先行进位 ALUBACK