第2章微处理器与总线概论

合集下载

第2章 微处理器与总线

第2章 微处理器与总线
HLDA:
总线保持响应信号输出端。CPU对HOLD信号的响应信号。
30
三、8088/8086的内部结构
31
微处理器
运算器 控制器 寄存器
L2缓存/ 缓存控制单元
256位,全速
指令TLB 指令译码器
动态分支预测 器 4096个 入口
总线接口 单元 64位
100MHz 4倍速 3.2GB/s
BP:
基址指针寄存器,常用于在访问内存时存放内
存单元的偏移地址。
SP
共同点:
1)默认指向堆栈区 2)多数情况用于存放地址
BP可指向堆栈 的任意位置

12H 00H


45
BX与BP在应用上的区别
作为通用寄存器,二者均可用于存放数据; 作为基址寄存器,用BX表示所寻找的数据在数据
段;用BP则表示数据在堆栈段。
地址 总线
20位 地址 加法器
数据 总线 16位
CS DS SS ES
IP
内部通信寄存器
段 寄 存 器
总线 控 制逻 辑
8088 总线
指令队列
1 2 34
总线接 口单元 BIU
执行单元
构成: 运算器 8个通用寄存器 1个标志寄存器 EU部分控制电路
功能 指令译码 指令执行 暂存中间运算结果 保存运算结果特征
提高了CPU的效率; 降低了对存储器存取速度的要求
39
四、内部寄存器
40
内部寄存器的类型
含14个16位寄存器,按功能可分为三类
8个通用寄存器 4个段寄存器 2个控制寄存器
深入理解:每个寄存器中数据的含义
41
1. 通用寄存器

【教学课件】第2章 8086微处理器

【教学课件】第2章  8086微处理器

控制 电路
局部总线 接口
SYSB/RESB
1
20
2
19
3
18
4
17
5
8289 16
6
15
7
14
8
13
9
12
10
11
INIT
BCLK BREQ BPRN BPRO BUSY CBRQ
总线仲裁 信号
AEN
V CC S1 S0 CLK
LOCK
CRQLCK ANYRQST
AEN CBRQ BUSY
2021/8/17
DEN CEN
INTA IORC AIOWC IOWC
2021/8/17
23
2.总线仲裁控制器8289
仲裁电路
状态
S2
信号
S1
S0
状态 译码器
多路总线 接口
控制 输入
LOCK CLK
CRQLCK
RESB ANYRQST
IOB
S2 IOB
RESB BCLK INIT BREQ BPRO BPRN
GND
数据总线
2021/8/17
S0
S1
S2
INTR R Q / G T0
R Q / G T1
8288 总线控制器
IN T A
8259A 及有关电路
控制总线 中 断 请 求
22
1.总线控制器8288
状态
S2
信号
S1
S0
状态 译码器
控制 输入
CLK
AEN CEN IOB
控制 电路
命令 信号 发生器
控制信号 发生器
2.3.1 最小模式和最大模式的概念

第2章处理器与总线

第2章处理器与总线

2.1.1运算器
运算器由算术逻辑单元ALU、通用或专用寄存器组 及内部总线3个部分组成,其核心功能是是实现数据 的算术运算和逻辑运算,所以有时也将运算器称为 算术逻辑运算单元。
运算器的机构根据其内部总线的不同分为3种。 1.单总线结构运算器 2.双总线结构运算器 3.三总线结构运算器
2.1.2控制器
0
××× ••• ××× 0000


+
××× ••• ×××


偏移地址
物理地址=段基地址×16+偏移地址 48
例:
已知 CS=1055H DS=250AH ES=2EF0H SS=8FF0H
画出各段在内存中的分布。
49
例:
CS=1055H
段首地址=10550H
DS=250AH
段首地址=250A0H
取指令 指令译码
读取操作数
执行指令 存放结果
8088/8086将上述步骤分配给CPU两个独立 的部件:执行单元EU和总线接口单元BIU。 EU负责分析指令和执行指令,BIU负责取指令 、取操作数和写结果。
顺序工作方式
CPU 取指令1
分析 指令1
BUS 忙碌
执行 指令1
取指令2
分析 指令2
忙碌
执行 指令2
为了实现寻址1M字节物理空间,8086/8088 引入了分段的概念。将内存地址空间分为多个 逻辑段,每个逻辑段最大为64K个单元。
3.支持多处理器系统
最小模式也成为单处理器模式 最大模式也称为多处理器模式
2.2.2 8088CPU的外部引脚及其功能
2.2.3 8088/8086的内部结构
中断允许标志位。IF=1使CPU可以响应可屏蔽中 断请求。

ch2 微处理器与总线

ch2 微处理器与总线

8086
31 30
12 CPU 29
AD3
13
28
AD2
14
27
AD1
15
26
AD0
16
25
NMI
17
24
INTR
18
23
CLK
19
22
GND
20
21
VCC AD15 A16/ S3 A17/ S4 A18/ S5 A19/ S6 BHE/ S7 MN/MX
RD
HOLD (RQ/GT0) HLDA (RQ/GT1) WR (LOCK)
回顾
微机系统的硬件组成
电源 时钟脉冲电路
CPU
本章学习部分
RAM
第二章 微处理器与总线
ROM
AB DB CB
I/O接口
外部设备
第二章 微处理器与总线
第二章 微处理器与总线
本章主要内容
总线的一般概念 8088/8086微处理器
工作原理 外部引脚 内部结构 存储器组织 工作时序
AD14
2
39
AD13
3
38
用。传送地址信号时为
AD12
4
37
单向,传送数据信号时为
AD11
5
AD10
6
36 35
双向。
AD9
7
34
AD8
8
33
A15 ~ A8 :输出8位地 址信号。
A19~A16/S3 ~ S6:高4 位地址信号,状态分时 复用。
AD7
9
32
AD6 AD5 AD4
10 11
线信号。
AD5

第2章 微处理器与总线

第2章 微处理器与总线


BUS
忙碌
忙碌
忙碌
忙碌
忙碌

第2章 微处理器与总线
8086微处理器的结构
AX BX CX DX
通用寄存器 AL AH BH BL CH CL DL DH BP SP SI DI
20位 数据 寄存器 指针 和变址 寄存器 16位 ALU 数据总线 地址加法器
地址总线
16位
CS DS SS ES IP 内部暂存器
数据总线为16位 地址总线为20位 40条引脚 部分引脚分时复用
Intel 8086
① 两种工作模式的公共引脚
GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 VCC 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
第2章 微处理器与总线
4、16位指令指针寄存器IP
指令指针寄存器IP(Instruction Pointer)存放 当前代码段中的偏移地址,它与CS联用,可以形成 下一条要取出指令的物理地址。 程序不能直接对IP进行存取,但能在程序运行中被 自动修改。 例如,控制器取到要执行的指令后,会立刻修改 IP值,使之指向下一条指令的首地址; 转移、调用、返回等指令执行,就是通过修改IP 的值来控制指令序列的执行流程的。

微型计算机原理与接口技术第2章微型处理器与总线课件

微型计算机原理与接口技术第2章微型处理器与总线课件
一.8088/8086 CPU的特点
1、采用并行流水线工作方式 2、对内存空间实行分段管理: 每段大小为16B~64KB 用段地址和段内偏移实现对1MB空间的寻址 设置地址段寄存器指示段的首地址 3、支持多处理器系统(最大模式);
指令的一般执行过程: 取指令 指令译码 读取操作数 执行指令 存放结果
2、最大模式下的引脚
1)、总线周期状态信号输出S2,S1,S0——指出当前总 线周期操作的类型,低电平有效。如,中断响应、读写存 贮器或IO端口等。此信号送至总线控制器8288,以产生 相应的总线控制信号。
2)、总线请求/总线响应信号RQ/GT1,RQ/GT0——提供 2路其他主控设备发出总线请求信号和CPU的响应信号。 当其它设备的总线控制设备要使用系统总线时,产生一 个总线请求信号,并送到RQ/GT引脚,类似最小模式下 的HOLD信号。CPU检测到请求后,在下一个T4或T1期间 在RQ/GT送出一个总线响应信号。
2、实现时序控制 指令的执行是在时钟信号的控制下进行的。一条指令的执行时间为指令周期。不同的指令周期中所包含的机器周期数是不相同的。而一个机器周期中包含多少节拍也是不一样的。时序信号由控制器产生,使系统按一定的时序关系进行工作。
3、完成操作控制 ⑴、根据指令流程,确定在指令周期的各个节拍中要产生的微操作控制信号,以有效地完成各条指令的操作过程。 ⑵、还要对异常情况及某些外部请求的处理能力。
控制器的组成: ●程序计数器PC:用来存放下一条要执行的指令在存储器中的地址 ●指令寄存器IR:用来存放从存储器中取出的待执行的指令。 ●指令译码器ID:对指令寄存器中的指令进行“翻译”以确定进行什么操作; ●时序控制器:产生计算机工作中所要的各种时序信号; ●微操作控制部件:用于产生与各条指令相对应的微操作。

第2章_微处理器与总线

第2章_微处理器与总线
CF ZF SF PF OF AF
控制标志—可由程序根据需要用指令设置, 用于控制处理器执行指令的方式:
DF IF TF
标志寄存器FLAGS 标志寄存器FLAGS
15 12 11 10 9 8 7 6 5 4 3 2 1 0
OF DF IF TF SF ZF
AF
PF
CF
4.指令指针寄存器
IP(Instruction Pointer):指令指针 寄存器,指示主存储器指令的位置
8086/8088CPU从功能上可分为两个部分 从功能上可分为两个部分 总线接口部件BIU: Bus Interface Unit 总线接口部件 执行部件EU: Execution Unit 执行部件 总线接口部件功能:负责与存储器、 传送数据 传送数据。 总线接口部件功能:负责与存储器、I/O传送数据。 执行部件的功能:完成指令的译码与执行工作。 执行部件的功能:完成指令的译码与执行工作。
9
8
for( i=0;i<10;i++) s=s+i;
指令中程序的分支, 指令中程序的分支, 分支 转向均是通过判断 转向均是通过判断 标志寄存器的标志 位实现的。 位实现的。
标志寄存器PSW:存放 : 标志寄存器 CPU当前的状态。16位 当前的状态。 位 当前的状态 寄存器,8088/8086用了 寄存器, 用了 其中的9位 其中的 位,标志寄存器 这9位的含义在程序的编 位的含义在程序的编 位的含义 写和调试中起决定性的 作用。 作用。
第二章 微处理器与总线技术
主要内容
8088(8086) 1.8088(8086)微处理器的工作原理 2.8086/8088 CPU 的引脚信号和工作模式
8282锁存器 锁存器 8286收发器 收发器

第2章 微处理器与总线

第2章 微处理器与总线

17
通用寄存器(三)
③ 变址寄存器(16位,存放偏移地址)
源变址寄存器SI和目的变址寄存器DI。 存放当前数据段的偏移地址。
SI(Source Index):源操作数的偏移地址。 DI(Destination Index):目的操作数的偏移地址。
常用于串操作指令中,比如:串拷贝、串比较等
18
段寄存器(一)
BX
CX CL
查表转换
数据串操作,循环 移位,循环移位
DX
字乘,字除,间接I/O
通用寄存器(二)
② 指针寄存器(16位,存放偏移地址) 堆栈指针寄存器SP和基址指针寄存器BP。 当前堆栈段中数据所在的地址。 SP(Stack Pointer):给出栈顶的偏移地址(入栈和 出栈指令时)。 BP(Base Pointer):存放位于堆栈段中的数据区基 地址的偏移地址。
⑤ SF(Sign Flag):符号标志,D7位。 如运算结果为负数,SF=1; 如运算结果为正数,SF=0。 ⑥ OF(Overflow Flag):溢出标志,D11位。
如带符号数在进行算术运算时产生了溢出,OF=1; 如无溢出,OF=0。 溢出表示运算结果已经超出机器能够表示的数值范围。
25
标志位填充举例
30
标志寄存器(七)
③ TF(Trap Flag):跟踪(陷井)标志,D8位。 为方便调试程序而设置的。
若TF=1,CPU处于单步工作方式;
若TF=0,正常执行程序。
31
总线周期(一)
① 【时序】三种总线上出现的信息不但有严格的顺序,而且有准 确的时间,称为定时或时序。 表征微处理器各引脚有效的先后 关系。
② 【时钟】时钟脉冲发生器产生具有一定频率和占空比的脉冲信 号,称之为机器的主脉冲或时钟。 ③ 【主频】时钟的频率,是机器的一个重要指标。 ④ 【时钟周期】每个时钟脉冲维持的时间,主频的倒数,是CPU 的基本时间计量单位。也叫一个T周期或T状态,或一个节拍。 8086主频为5MHz,则一个时钟周期为200ns。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第2章微处理器与总线一、微处理器及8088/8086CPU1. 微处理器运算器微处理器控制器内部寄存器2. 程序和指令程序:具有一定功能的指令的有序集合指令:由人向计算机发出的、能够为计算机所识别的命令。

3. 指令执行的一般过程取指令指令译码读取操作数执行指令存放结果取指部件,分析部件,执行部件4. 顺序执行和并行流水线顺序执行方式:各功能部件交替工作,按顺序完成指令的执行过程。

并行流水线方式:各功能部件并行工作。

顺序工作方式CPU 取指令1 分析指令1 执行指令1 取指令2 分析指令2 执行指令2 BUS 忙绿忙绿并行流水线工作方式CPU 取指令1 分析指令1 执行指令1取指令2 分析指令2 执行指令2取指令3 分析指令3 执行指令3 BIU 忙碌忙碌忙碌忙碌忙碌5. 8088/8086 CPU的特点采用并行流水线工作方式——通过设置指令预取队列实现CPU内部结构对内存空间实行分段管理——将内存分为4个段并设置地址段寄存器,以实现对1MB空间的寻址存储器寻址部分支持多处理器系统工作模式6. 8088CPU的两种工作模式8088可工作于两种模式下最小模式最大模式最小模式为单处理器模式。

最大模式为多处理器模式。

两种工作模式的选择方式8088是工作在最小还是最大模式由MN/MX引线的状态决定。

MN/MX=0——工作于最大模式MN/MX=1——工作于最小模式二、8088/8086的引线及功能1. 主要引线——最小模式下的8088引线地址线和数据线:AD0—AD7:低8位地址和低8位数据信号分时复用。

在传送地址信号时为单向,传送数据信号时为双向。

A16--A19:高4位地址信号,与状态信号分时复用。

A8—A15 :8位地址信号主要的控制和状态信号WR:写信号;RD:读信号;IO/M:为“0”表示访问内存,为“1”表示访问接口;DEN:低电平有效时,允许进行读/写操作;DT/R:数据收发器的传送方向控制;ALE:地址锁存信号;RESET:复位信号。

例:当WR=1,RD=0,IO/M=0时,表示CPU当前正在进行读存储器操作READY信号中断请求和响应信号INTR:可屏蔽中断请求输入端NMI:非屏蔽中断请求输入端INTA:中断响应输出端总线保持信号HOLD:总线保持请求信号输入端。

当CPU以外的其他设备要求占用总线时,通过该引脚向CPU发出请求。

HLDA:总线保持响应信号输出端。

CPU对HOLD信号的响应信号。

2. 8088和8086CPU引线功能比较数据总线宽度不同8088的外部总线宽度是8位,8086为16位。

访问存储器和输入输出控制信号含义不同8088——IO/M=0表示访问内存;8086——IO/M=1表示访问内存。

其他部分引线功能的区别三、8088/8086的内部结构1. 组成8088/8086内部由两部分组成:执行单元(EU)总线接口单元(BIU)2. 执行单元运算器8个通用寄存器1个标志寄存器EU部分控制电路执行单元功能指令执行指令译码指令执行在ALU中完成暂存中间运算结果在通用寄存器中保存运算结果特征在标志寄存器FLAGS中3. 总线接口单元功能:从内存中取指令到指令预取队列指令预取队列是并行流水线工作的基础负责与内存或输入/输出接口之间的数据传送在执行转移程序时,BIU使指令预取队列复位,从指定的新地址取指令,并立即传给执行单元执行。

结论指令预取队列的存在使EU和BIU两个部分可同时进行工作,从而:提高了CPU的效率;降低了对存储器存取速度的要求四、内部寄存器内部寄存器的类型含14个16位寄存器,按功能可分为三类8个通用寄存器4个段寄存器2个控制寄存器深入理解:每个寄存器中数据的含义1. 通用寄存器数据寄存器(AX,BX,CX,DX)地址指针寄存器(SP,BP)变址寄存器(SI,DI)数据寄存器8088/8086含4个16位数据寄存器,它们又可分为8个8位寄存器,即:AX AH,ALBX BH,BLCX CH,CLDX DH,DL数据寄存器特有的习惯用法AX:累加器。

所有I/O指令都通过AX与接口传送信息,中间运算结果也多放于AX中;BX:基址寄存器。

在间接寻址中用于存放基地址;CX:计数寄存器。

用于在循环或串操作指令中存放计数值;DX:数据寄存器。

在间接寻址的I/O指令中存放I/O端口地址;在32位乘除法运算时,存放高16位数。

地址指针寄存器SP:堆栈指针寄存器,其内容为栈顶的偏移地址;BP:基址指针寄存器,常用于在访问内存时存放内存单元的偏移地址。

BX与BP在应用上的区别作为通用寄存器,二者均可用于存放数据;作为基址寄存器,用BX表示所寻找的数据在数据段;用BP则表示数据在堆栈段。

变址寄存器SI:源变址寄存器DI:目标变址寄存器变址寄存器在指令中常用于存放数据在内存中的地址。

2. 控制寄存器内存中的程序CPU程序计指令1 分析数器PC 获取操作数指令2 执行存放结果指令n操作数状态标志位(1)CF(Carry Flag)进位标志位。

加(减)法运算时,若最高位有进(借)位则CF=1PF(Parity Flag)奇偶标志位。

运算结果的低8位中“1”的个数为偶数时PF=l AF(Auxiliary Carry Flag)辅助进位标志位。

加(减)操作中,若Bit3向Bit4有进位(借位),AF=1状态标志位(2)ZF(Zero Flag)零标志位。

当运算结果为零时ZF=1SF(Sign Flag)符号标志位。

当运算结果的最高位为1时,SF=lOF(Overflow Flag)溢出标志位。

当算术运算的结果超出了有符号数的可表达范围时,OF=l状态标志位例给出以下运算结果及运算后各状态标志位的状态:10110110+1111010010110110+ 1111010010101010CF=1 OF=0AF=1 PF=1SF=1 ZF=0控制标志位TF(Trap Flag)陷井标志位,也叫跟踪标志位。

TF=1时,使CPU处于单步执行指令的工作方式。

IF(Interrupt Enable Flag)中断允许标志位。

IF=1使CPU可以响应可屏蔽中断请求。

DF(Direction Flag)方向标志位。

在数据串操作时确定操作的方向。

3. 段寄存器为什么叫逻辑段?每个段寄存器中存放的内容=?段寄存器CS代码段寄存器,存放代码段的段基地址。

DS数据段寄存器,存放数据段的段基地址。

ES附加段寄存器,存放数据段的段基地址。

SS堆栈段寄存器,存放堆栈段的段基地址段寄存器的值表明相应逻辑段在内存中的位置五、存储器寻址1. 内存单元的编址(1)每个内存单元在整个内存空间中都具有惟一的地址物理地址每个内存单元的地址码都由两部分组成:段(基)地址16位段内地址16位8088为16位结构,所以段地址和偏移地址均为16位存储器的编址(2)段基地址:决定存储单元在内存中的位置相对地址(偏移地址)决定该存储单元相对段内第一个单元的距离逻辑段的起始地址称为段首每个逻辑段内的第一个单元段首的偏移地址=0存储器的编址(3)31 15 0××ו••×××××ו••×××段基地址(16位)段首的偏移地址:段首地址(段首的物理地址)0000H××ו••×××0 0 0 0段基地址(16位)存储器的编址(4)物理地址:内存单元在整个内存空间中的惟一地址例:段基地址=6000H 60000H 数段首地址偏移地址=0009H 据物理地址9段00H60009H 12H2. 实地址模式下的存储器地址变换内存物理地址由段基地址和偏移地址组成段首地址19 4 0 物××ו••×××0 0 0 0 理地××ו••×××址偏移地址物理地址=段基地址×16+偏移地址例:已知CS=1055H,DS=250AHES=2EF0HSS=8FF0H画出各段在内存中的分布。

例:10550HCS=1055H 代码段段首地址=10550HDS=250AH 250A0H段首地址=250A0H 数据段ES=2EF0H 2EF00HSS=8FF0H 附加段堆栈段8FF00H例设某操作数存放在数据段,DS=250AH,数据所在单元的偏移地址=0204H。

则该操作数所在单元的物理地址为:250AH ×16+0204H = 252A4H3. 存储器的保护模式保护模式:支持多任务的工作模式,提供了多任务保护机制;内存段的访问受到限制,不能再随意存取数据段。

保护模式下的内存访问不再直接从段寄存器中获得段基地址,段基地址存放在内存的段描述符表中,由段描述符寄存器给出段描述符表的基地址,段寄存器中仅存放段选择符。

保护模式下的存储器地址变换4. 堆栈及堆栈段的使用堆栈:内存中一个特殊区域,用于存放暂时不用或需要保护的数据。

常用于响应中断或子程序调用。

例:已知SS=1000H,SP=0100H则:段首堆栈段的段首地址= 10000H堆栈顶(偏移)地址=0100H 栈道栈区若该段最后一个单元地址为10200H,则:栈底栈底偏移地址=0200H5. 内部寄存器小结全部为16位寄存器只有4个数据寄存器分别可分为2个8位寄存器所有16位寄存器中:全部通用寄存器中,只有AX和CX中的内容一定为参加运算的数据,其余通用寄存器中的内容可能是数据,也可能是存放数据的地址;SP中的内容通常为堆栈段的栈顶地址;段寄存器中的内容为相应逻辑段的段地址;IP中的内容为下一条要取的指令的偏移地址;FLAGS中有9位标志位6. 实模式下的存储器寻址小结每个内存单元在整个内存空间中都具有惟一地址每个内存单元的地址都由两部分组成:段基地址段内相对地址(偏移地址)段基地址决定了逻辑段在内存中所占的区域,改变段基地址,则改变了逻辑段的位置。

一个逻辑段的默认长度为64KB,最小长度值为16B。

逻辑段可以有多个,但只有4种类型。

在一个程序模块中,每种类型的逻辑段最多只能有一个。

六、总线时序时序时序:CPU各引脚信号在时间上的关系总线周期:CPU完成一次访问内存(或接口)操作所需要的时间。

一个总线周期至少包括4个时钟周期。

相关文档
最新文档