第五章 微处理器

22
第第第 第第第第

description

第五章 微处理器. CPU 的特点. 可以进行算术和逻辑运算 保存少量数据 对指令进行译码并执行规定的动作 与存储器、外设交换数据 提供系统所需要的定时和控制 可以响应其它部件发送过来的中断请求. CPU 的内部结构. 算术逻辑部件 ( ALU ) 累加器和通用寄存器组 程序计数器、指令寄存器和译码器 时序和控制部件. 地 AD 14 AD 13 AD 12 AD 11 AD 10 AD 9 AD 8 AD 7 AD 6 AD 5 AD 4 AD 3 AD 2 AD 1 AD 0 NMI INTR CLK 地. - PowerPoint PPT Presentation

Transcript of 第五章 微处理器

Page 1: 第五章    微处理器

第五章 微处理器

Page 2: 第五章    微处理器

CPU 的特点 可以进行算术和逻辑运算 保存少量数据 对指令进行译码并执行规定的动作 与存储器、外设交换数据 提供系统所需要的定时和控制 可以响应其它部件发送过来的中断请求

Page 3: 第五章    微处理器

CPU 的内部结构 算术逻辑部件 ( ALU ) 累加器和通用寄存器组 程序计数器、指令寄存

器和译码器 时序和控制部件

Page 4: 第五章    微处理器

5.1 8086/8088 CPU1 40

2 39

3 38

4 37

5 36

6 35

7 34

8 33

9 32

10 31

11 30

12 29

13 28

14 27

15 26

16 25

17 24

18 23

19 22

20 21

AD14

AD13

AD12

AD11

AD10

AD9

AD8

AD7

AD6

AD5

AD4

AD3

AD2

AD1

AD0

NMI

INTR

CLK

Vcc (5V)

AD15

A16/S3

A17/S4

A18/S5

A19/S6

BHE/S7

MN/MX

RD

HOLD (RQ/GT0 )

HLDA ( RQ/GT1 )

WR ( LOCK )

M/IO ( S2 )

DT/R ( S1 )

DEN ( S0 )

ALE ( QS0 )

INTA ( QS1 )

TEST

READY

RESET

1 40

2 39

3 38

4 37

5 36

6 35

7 34

8 33

9 32

10 31

11 30

12 29

13 28

14 27

15 26

16 25

17 24

18 23

19 22

20 21

AD14

AD13

AD12

AD11

AD10

AD9

AD8

AD7

AD6

AD5

AD4

AD3

AD2

AD1

AD0

NMI

INTR

CLK

Vcc (5V)

AD15

A16/S3

A17/S4

A18/S5

A19/S6

SS ( HIGH )

MN/MX

RD

HOLD (RQ/GT0 )

HLDA ( RQ/GT1 )

WR ( LOCK )

M/IO ( S2 )

DT/R ( S1 )

DEN ( S0 )

ALE ( QS0 )

INTA ( QS1 )

TEST

READY

RESET

8086 CPU 8088 CPU

Return

Page 5: 第五章    微处理器

AH AL

BH BL

CH CL

DH DL

SP

BP

DI

SI

1 2 3 4 5 6

通用寄存器组

AX

BX

CX

DX

外部总线

CS

DS

SS

ES

IP

内部暂存器

运算寄存器

ALU

标 志

输入输出控制电路

执行部分控制电路

执行部件( EU )

总线接口部件( BIU )

Page 6: 第五章    微处理器

8086 CPU 的特点 最早采用流水线结构的微处理器 采用分时复用的总线结构 存储器空间进行分段管理 具有丰富的指令集 具有丰富的寄存器组 容易构成时序系统

8086/8088 CPU 结构图

8086/8088 的分段存储结构

8086 的寄存器组

8086 总线周期序列

Page 7: 第五章    微处理器

8086 的 分 段 存 储 结 构0000H: 0000H, 0001H, 0002H, ……, 000EH, 000FH,

0010H, 0011H, 0012H, ……, 001EH, 001FH,

……………………………………………………

FFF0H, FFF1H, FFF2H, ……, FFFEH, FFFFH

FFFFH: 0000H, 0001H, 0002H, ……, 000EH, 000FH,

0010H, 0011H, 0012H, ……, 001EH, 001FH,

……………………………………………………

FFF0H, FFF1H, FFF2H, ……, FFFEH, FFFFH

0001H: 0000H, 0001H, 0002H, ……, 000EH, 000FH,

0010H, 0011H, 0012H, ……, 001EH, 001FH,

……………………………………………………

FFF0H, FFF1H, FFF2H, ……, FFFEH, FFFFH

……………………………………………………………

段内地址

段内地址

段内地址

64K

64K

64K

Return

Page 8: 第五章    微处理器

物 理 地 址 的 计 算物理地址: 20 根地址线所表示的地址范围

00000H ---- FFFFFH

例如: 52000H

逻辑地址:由段地址和相对于该段的偏移地址共同描述的地址

例如: 5000H:2000H

段地址 偏移地址

段寄存器进行管理 程序设计中使用的,有利于程序设计

逻辑地址 物理地址计算 寻址 内存…………..

00000H

FFFFFH

Page 9: 第五章    微处理器

物 理 地 址 的 计 算

段 地 址 0 0 0 0

19 … 4 3 … 0

段地址左移四位

偏 移 地 址15 14 13 …… 2 1 0

20 位 的 物 理 地 址

例: 将逻辑地址 3366H : 0000H 转换为相应的物理地址

解: 将段地址左移四位 33660H

计算物理地址 33660H + 0000H = 33660H

Page 10: 第五章    微处理器

RETURN

AX ---- 1 )作为累加器用,在加法运算中参与运算,结果存于累加其中;

2 )所有的 I/O 指令都使用这一寄存器与外部设备传送信息

BX ---- 作为通用寄存器使用,在计算存储器地址的时候,它经常用作基址

寄存器CX ---- 1 )作为通用寄存器使用;

2 )常用来保存计数值,如在移位指令、循环指令和串处理指令中

用作隐含的计数器DX ---- 1 )作为通用寄存器使用;

2 )在一些指令中,通常用它来存放数据,所以又称为数据寄存器;

3 )在做双字长运算时,将 DX 和 AX 组合在一起存放双字长数,用DX

存放高位字;

4 )对某些 I/O 操作时, DX 用来存放端口的地址

数 据 寄 存 器 组 的 用 途

Page 11: 第五章    微处理器

堆 栈 操 作 示 意 图

RETURN

SP

90FFCH

90FFDH

90FFEH

90FFFH

91000H

55 AA

AH AL

1000HSP

9000HSS

AA

55

SP

90FFCH

90FFDH

90FFEH

90FFFH

91000H

55 AA

AH AL

0FFEHSP

9000HSS

执行 PUSH 操作之后

执行 PUSH 操作之前

Page 12: 第五章    微处理器

标 志 寄 存 器

OF DF IF TF SF ZF AF PF CF

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

• 进位标志 CF :运算后,如果运算的最高位(字节的 D7 位,字的 D15位)有进位或者借位产生,则 CF=1 ,否则 CF=0 。

• 零标志 ZF :如果上一条指令的运算结果为 0 ,则此标志位置位 ZF=1 ,否则 ZF=0

• 符号标志 SF :若运算结果的最高位(字节的 D7 位,字的 D15 位)为 1 ,则 SF=1 ,否则, SF=0

• 溢出标志 OF :若发生算数溢出,即运算结果的长度超过了目的单元的容量,丢失了有效数字,则 OF=1 ,否则 OF=0

• 辅助进位标志 AF :又称半进位标志,在字节操作时,低四位相高四位有进位或借位,自操作时,低位字节向高位字节有进位或借位,则 AF=1 ,否则 AF=0

• 奇偶标志 PF :如果“ 1” 的个数为偶数,则 PF=1 ,否则 PF=0

Page 13: 第五章    微处理器

OF DF IF TF SF ZF AF PF CF

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

• 方向标志 DF :用于规定字符串操作指令的步进方向。 DF=0 ,表示串操作指令为自动增量指令,即串操作由低位地址向高位地址处理; DF=1 ,表示串操作指令为自动减量指令,即串操作由高位地址向低位地址处理。

• 中断允许标志 IF :用于控制可屏蔽中断请求, IF=0 ,表示不允许接受外部可屏蔽中断请求; IF=1 ,表示允许接受外部可屏蔽中断请求

• 跟踪标志 TF : TF=1 ,则处理器进入单步方式,便于调试;若 TF=0 ,则程序不能进入单步调试状态

标 志 寄 存 器

Page 14: 第五章    微处理器

AH AL

BH BL

CH CL

DH DL

SP

BP

DI

SI

CS

DS

SS

ES

IP

FLAG

数据寄存器

指示寄存器和

变址寄存器

段寄存器

指令指针

标志寄存器

8086 的 寄 存 器 组AX

BX

CX

DX

堆栈指针寄存器,指示堆栈的栈顶的偏移地址

基址指针寄存器,指示堆栈中某一存储单元的地址源变址寄存器目的变址寄存器

用于确定数据段中某一存储单元的地址

指向当前代码段,指令就是从这段取出的指向数据段,程序变量存于此段指向堆栈段,堆栈操作使用这段存储空间指向附加段,这个段用来存放经过处理的中间数据又称为程序计数器,控制程序中指令执行的顺序

标志寄存器RETURN

数据寄存器的用途

Page 15: 第五章    微处理器

8086 总 线 周 期 序 列

T1 T2 T3 Tw T4 T1 T1 T2 ……

CPU 往多路复用总线上发出地址信息,以指出存储单元或外设端口的地址

CPU 从总线上撤消地址,从而为传输数据作准备,总线的高 4 位用来输出本总线周期的状态信息,如当前正在使用的段存储器名

多路总线的高 4 位继续提供状态信息,而多路总线的低16 位上出现由 CPU 写出的数据或者 CPU 从存储器或外设端口读入的数据

总线周期结束

等待状态:有时,被读写数据的外设或存储器不能及时地配合 CPU 传送数据,这时,外设或存储器会通过” READY” 信号线在 T3 状态启动之前向 CPU 发送一个“数据未准备好”的信号,于是, CPU 会在 T3 状态之后插入若干个 Tw

Page 16: 第五章    微处理器

5.2 IBM PC 微型计算机及其工作原理• IBM PC 中数据的存储

5 5 A A HA A20000H5 520001H

内 存

00000H

FFFFFH

一个字节, 8 位存储单元

相邻的 2 个 8 位的存储单元(共 16 位),构成一个字

………….

字(双字)存放的起始地址3 320002H2 220003H

2 2 3 3

Page 17: 第五章    微处理器

• IBM PC 计算机的分段存储器结构

Page 18: 第五章    微处理器

• IBM PC 计算机的工作过程

8086/8088 寄存器 上电 / 复位初始状态标志寄存器 清零

指令指针 (IP) 0000H

代码段寄存器 (CS) 0FFFFH

数据段寄存器 (DS) 0000H

堆栈段寄存器 (SS) 0000H

附加数据段寄存器 (ES) 0000H

指令队列 空其它寄存器 0000H

IBM PC 的初始状态

Page 19: 第五章    微处理器

CISC 技术与 RISC 技术 CISC ---- 复杂指令系统计算机

CISC 结构的计算机系列机的发展,使得计算机的指令系统变得越来越复杂

VAX – 11/780 303 条指令缩小与高级语言语义的差异和有利于操作系统的优化

CISC 结构计算机的缺点指令的使用频度不均衡限制了机器速度的进一步提高不利于微处理器先进技术的采用

Page 20: 第五章    微处理器

RISC ---- 简化指令系统计算机 RISC 技术的特征

精简指令集,减少指令的执行周期数计算机执行程序所需的时间 P = I * C * T

I :高级语言程序编译后在机器上运行的机器指令数C :执行每条机器指令所需的平均机器周期T :每个机器周期的执行时间

I C T

RISC 1.2 ---- 1.4 1.3 ---- 1.4 < 1

CISC 1 4 ---- 10 1

RISC / CISC 的 I 、 C 、 T 统计比较

RISC 的性能优于 CISC 2—5 倍

Page 21: 第五章    微处理器

选取使用频率较高的一些简单指令以及一些很有用但又不复杂的指令

指令长度固定,指令格式种类少,寻址方式种类少只有取数 / 存数 ( LOAD/STORE ) 指令访问存储器,

其余的指令都在寄存器内完成采用流水线技术,大部分指令在一个时钟周期内完成。控制器采用组合逻辑控制,不用微程序控制CPU 中有多个通用寄存器采用优化的编译程序

Page 22: 第五章    微处理器

RISC 与 CISC 的比较充分利用芯片的面积提高计算机的运算速度便于设计、降低成本,提高可靠性有效支持高级语言程序