微机原理课件第二章 8086系统结构
合集下载
微机原理课件第2讲.ppt
通用寄存器
指令执行部件(EU) AX
设置了8个16位通用寄 BX
存器。
CX
作用:存放运算过 DX
程中所需要的操作数地 SP
址、操作数及中间结果。 BP
特点:存取速度比
DI
存储器快得多。
SI
AH AL BH BL CH CL DH DL
16位
数据寄存器 指针寄存器 变址寄存器
各寄存器都有何特定功能?
8086的两种工作方式
最小模式 系统中只有8086一个处理器,所有的控制信号都
是由8086CPU产生(MN/MX=1)。 最大模式
系统中可包含一个以上的处理器,比如包含协处 理器8087。在系统规模比较大的情况下,系统控制信 号不是由8086直接产生,而是通过与8086配套的总线 控制器8288等形成(MN/MX=0)。
课堂练习
要完成下述运算,用什么标志为判别?其值是 什么?
(1)比较两个数是否相等; (2)两数运算后结果是正数还是负数; (3)采用偶校验方式时,判定其是否需要补1。
解:(1)ZF,两数相减若为零,则两数相等,有ZF=1 (2)SF,运算后最高位为1,是负数,此时SF=1 (3)PF,偶校验,当数据中的1为奇数个时需补1,此时
标志寄存器
执行部件EU
总线接口部件BIU
8086CPU与一般CPU区别
一般CPU工作方式
取指
执指
取指
执指 … 取指
执指
串行工作方式 8086CPU工作方式
BIU 取指 EU 执指
取指
取指
…
执指
执指
取指 执指
并行工作方式
8086CPU的寄存器结构
通用寄存器 段寄存器 标志寄存器FR 指令指针寄存器IP
微机原理课件 第二章 8086系统结构
引脚功能复用 第二章 8086系统结构 系统结构 VCC 40
12位 高 12 位 地 址
16位地址 16位数据总线 位地址/ 低16位地址/16位数据总线 1 VCC 高4位地址 40 ,外型为双列直 GND Intel 8086 CPU是16位微处理器 位微处理器, VCC 是 1 位微处理 AD14 A16/S3 插式, 个引脚。 3 型微处理器的时钟频率为 插式,有40个引脚。8086型微处理器的时钟频率为 个引脚 38 2 型微处理器的时钟频率为5 A13 A16/S3 A17/S4 38 3 4 AD13 37 A12 MHz;它有 根数据线和 根地址线,直接寻址空间 根数据线和20根地址线 ;它有16根数据线和 根地址线, A18/S5 A17/S4 4 37 AD12 5 36 A11 A19/S6 35 A10 A18/S5 36 AD11 。 6 为220Byte,即为 ,即为1MB。 75 SS0(HIGH) 34 A9 A19/S6 6 35 AD10 MN/MX 8 A8 BHE/S7 7 8088 33 34 AD9 8088 CPU内部结构与 内部结构与8086基本相同,但对外数 基本相同, 32 内部结构与 基本相同 RD AD7 9 MN/MX 8 33 AD8 HOLD(RQ/GT0) 10 8086 31 AD6 CPU 32 AD7 据总线只有8根AD5 称为准9 位微处理器。 RD 据总线只有 根,称为准16位微处理器。 HLDA(RQ/GT1) 11 30 HOLD(RQ/GT0) 10 CPU 29 31 AD6 WR(LOCK) 12 AD4 HLDA(RQ/GT1) 11 30 AD5 IO/M(S2) 13 28 AD3 WR(LOCK) 12 29 AD4 DT/R(S1) 14 27 AD2 M/IO(S2) DEN(S0) 13 28 AD3 15 26 AD1 DT/R(S1) ALE(QS0) 14 27 AD2 16 25 AD0 INTA(QS1) DEN(S0) 17 24 NMI 15 26 AD1 TEST 18 23 INTR ALE(QS0) 16 25 AD0 REDAY 19 22 CLK INTA(QS1) 17 24 NMI RESET 20 21 GND TEST 18 23 INTR REDAY 19 22 CLK RESET 21 GND 低 8 位 地 址 / 8 位 数 据 总 线 20
微机原理课件:8086系统结构
二者既独立又相互配合 —— 并行工作。
EU
执指1 执指2 执指3 执指4 执指5 t
8086 BIU 取指1 取指2 取指3 取指4 取指5
t
BUS 忙 忙 忙 忙 忙 忙 t
6
第二章
工 作 过 程 动 画 演 示
7
第二章
三、寄存器结构
u 寄存器:用于存放运算过程中所需要操作数 地址、操作数及中间结果;
13
第二章
标志位寄存器PSW具体格式:
u 状态标志:存放运算结果的特征
• 6个状态标志位(CF,PF,AF,ZF,SF, OF)
u 控制标志:控制某些特殊操作
• 3个控制标志位(TF,IF,DF)
14
第二章
状态标志位的名称和定义如下:
CF(进位标志):保存加法的进位和减法的借 位,有进位或借位时CF=1,否则CF=0
组
SS
堆栈段寄存器Stack Segment
CS
代码段寄存器Code Segment
段寄存器
IP PSW
指令指针寄存器Instruction Pointer 状态标志寄存器Program Status Word
9
控制寄存器
第二章
1、通用寄存器组
常用来存放参与运算的操作数或运算结果 特殊用途见 P26表2-1
10
第二章
2、指针和变址寄存器
可作通用寄存器,存放一般操作数或运算结果 作指针和变址寄存器,用于存放某段地址偏移量
11
第二章
3、段寄存器
用于存放逻辑段的段基地址
12
第二章
4、指令指针和标志位寄存器 IP存放下一条指令在现行代码段中的偏移地址
PSW用来存放运算结果的特征,常用作后续条 件转移指令的转移控制条件。
EU
执指1 执指2 执指3 执指4 执指5 t
8086 BIU 取指1 取指2 取指3 取指4 取指5
t
BUS 忙 忙 忙 忙 忙 忙 t
6
第二章
工 作 过 程 动 画 演 示
7
第二章
三、寄存器结构
u 寄存器:用于存放运算过程中所需要操作数 地址、操作数及中间结果;
13
第二章
标志位寄存器PSW具体格式:
u 状态标志:存放运算结果的特征
• 6个状态标志位(CF,PF,AF,ZF,SF, OF)
u 控制标志:控制某些特殊操作
• 3个控制标志位(TF,IF,DF)
14
第二章
状态标志位的名称和定义如下:
CF(进位标志):保存加法的进位和减法的借 位,有进位或借位时CF=1,否则CF=0
组
SS
堆栈段寄存器Stack Segment
CS
代码段寄存器Code Segment
段寄存器
IP PSW
指令指针寄存器Instruction Pointer 状态标志寄存器Program Status Word
9
控制寄存器
第二章
1、通用寄存器组
常用来存放参与运算的操作数或运算结果 特殊用途见 P26表2-1
10
第二章
2、指针和变址寄存器
可作通用寄存器,存放一般操作数或运算结果 作指针和变址寄存器,用于存放某段地址偏移量
11
第二章
3、段寄存器
用于存放逻辑段的段基地址
12
第二章
4、指令指针和标志位寄存器 IP存放下一条指令在现行代码段中的偏移地址
PSW用来存放运算结果的特征,常用作后续条 件转移指令的转移控制条件。
微机原理第二章课件-8086_8088微处理器的内部结构分解
(3) 6字节的指令队列:总线接口部件从内 存中取来的指令放在一个缓冲区中,这个 缓冲区叫指令队列。执行部件在执行指令 过程中从指令队列取来指令执行。 (4) 输入/输出控制电路:该控制电路将 8086CPU的片内总线与系统总线相连,是 8086CPU与外部交换数据的必经之路。
2、执行部件EU(Execution Unit)
第二节 CPU的外部结构
8086/8088CPU芯片都是40条引脚的双列 直插式封装。部分引脚采用了分时复用方 式,即同一条引脚在不同的时刻具有不同 的用途。如图2.3所示。 8086/8088CPU可有两种工作模式,即最 大模式和最小模式。不同模式下个别引脚 的功能是不同的。
GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND
(4) 标志寄存器FR
FR主要用来标志运算结果的状态,以及控制CPU的 操作。各标志位定义如图2. 2所示(共有9个标志):
下图是80x86微处理器的标志寄存器,从 图中可知,他们是向下兼容的。
标志位共有9个,6个是状态标志,用来表示运算结果的 特征,包括CF、PF、AF、ZF、SF和OF;3个是控制标志, 用来控制CPU的操作,包括IF、DF和TF。 ① 状态标志: CF:进位标志,表示本次运算中最高位(第7位或第15 位)有进位或有借位。 PF:奇偶标志。 PF=1表示本次运算中低8位有偶数个 “1”; PF=0表示有奇数个“1”。 AF:辅助进位标志。 AF=1表示本次运算第3位向第4位有 进位或有借位。在十进制运算中作为是否进行十进制调整 的依据。 ZF:零标志。ZF=1表示本次运算结果为零,否则ZF=0 SF:符号标志。 SF=0为正数; SF=1为负数。 OF:溢出标志。 OF=1表示本次运算结果产生溢出,否则 OF=0。所谓溢出就是指运算结果超出了相应类型数据所能
第2章 Intel 8086与8088微机系统结构PPT课件
地 AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK
地
1
40
2
39
3
38
4
37
5
36
6
35
7
34
8
33
9 8086 32
10
31
11
30
12
29
13
28
14
27
15
26
16
25
17
24
18
23
19
• 最小模式和最大模式的概念
– 最小模式:系统中只有一个8086/8088微处理器,所有的总线控制信号由它产 生
– 最大模式:系统中有多个微处理器,其中一个主处理器为8086/8088,其它的 称为协处理器。
• 8087数值运算协处理器:高精度的整数和浮点运算,超越函数的计算 • 8089输入/输出协处理器:两个DMA通道的管理
低接收高发送5mio存储器输入输出控制信号输出6wr写信号输出7hold总线请求信号输入8hlda总线响应信号输出8088cpu的第34引脚称ss0它和miodtr组合决定当前总线周期的操作8088的ss0miodtr组合miodtrss0操作000取指令001读内存010写内存011无源状态100发中断响应信号101读io端口110写io端口111暂停8086最小模式的典型配置8284连接见后8284aresetreadyclkreadyalebhestbbhereseta19a16ad15ad08282锁存器三片地址总线8286收发器二片数据总线denoedtrtmiowrrdhlodhldaintr控制总线mnmx5vinta8086的引脚信号在最大模式时的含义1qs1qs0指令队列状态信号输出00无操作01从指令队列中的第一个字节取走代码10队列为空11除第一个字节外还取走了后续字节中的代码2s2s1s0总线周期状态输出信号000发中断响应信号001读io端口010写io端口011暂停100取指令101读内存110写内存111无源状态3lock总线封锁信号输出系统中其它设备不能占用总线4rq1gt1rq0gt0总线请求输入总线请求允许输出8086最大模式的典型配置8284aresetreadyclkreadybhea19a168282锁存器bhereset地址总线a19a16ad15ad0三片8286收发器stb代替协调总线二片数据总线oetmiowrrddtrale共享控制s0s1s28288总线控制器inta控制总线中断rqgt0intr8259a中断控制器请求mnmxgndrqgt18086操作和时序?系统复位和启动操作当reset信号变高维持标志寄存器
微机原理和接口技术-2-3 8086系统结构zq-PPT课件
4
2015.9 Zuo
华中科技大学计算机学院
微机原理与接口技术
Chapter2 8086系统结构
2.4.1 最小模式系统
最小模式——仅支持单处理器 最小模式下主要解决: 地址与数据的分离/地址锁存 电路实现方案:
– 用3片8位的锁存器8282实现地址锁存。 ALE为锁存控制信号,OE#≡0使锁存的地址直接 输出; – 用2片双向三态门8286用作数据总线驱动和隔离, DT/R#作为方向控制,DEN#作为开门信号; – 其他控制信号由8086直接产生。
ALE(地址锁存信号) DT/R(数据传输方向) DEN(数据总线允许)
8288
AENBRD AEN CLK
AEN 控制 CEN 电路 CLK IOB
AIOWC 命令 AMWC 信号 IORC 发生 MWTC 器 MRDC INTA
IOW(写I/O) MEMW(写存储器) IOR(读I/O) MWTC(写存储器) MEMR(读存储器) INTA(中断响应)
8086
总 线 信 号
BHE / S7 ALE (QS0)
INTA (QS1) INTR NMI
中 断 控 制
8086 20根AB/16根DB分时复用 先传地址,后传数据
VCC GND
2015.9 Zuo
华中科技大学计算机学院
微机原理与接口技术
Chapter2 8086系统结构
2.4 8086的系统配置
控制总线
系统总线
STB
ALE
AD19~AD16 AD15 ~AD 0
8282
OE
地址总线A19~ A0
8286
DT / R DEN
6
T OE
数据总线D15~D0
2015.9 Zuo
华中科技大学计算机学院
微机原理与接口技术
Chapter2 8086系统结构
2.4.1 最小模式系统
最小模式——仅支持单处理器 最小模式下主要解决: 地址与数据的分离/地址锁存 电路实现方案:
– 用3片8位的锁存器8282实现地址锁存。 ALE为锁存控制信号,OE#≡0使锁存的地址直接 输出; – 用2片双向三态门8286用作数据总线驱动和隔离, DT/R#作为方向控制,DEN#作为开门信号; – 其他控制信号由8086直接产生。
ALE(地址锁存信号) DT/R(数据传输方向) DEN(数据总线允许)
8288
AENBRD AEN CLK
AEN 控制 CEN 电路 CLK IOB
AIOWC 命令 AMWC 信号 IORC 发生 MWTC 器 MRDC INTA
IOW(写I/O) MEMW(写存储器) IOR(读I/O) MWTC(写存储器) MEMR(读存储器) INTA(中断响应)
8086
总 线 信 号
BHE / S7 ALE (QS0)
INTA (QS1) INTR NMI
中 断 控 制
8086 20根AB/16根DB分时复用 先传地址,后传数据
VCC GND
2015.9 Zuo
华中科技大学计算机学院
微机原理与接口技术
Chapter2 8086系统结构
2.4 8086的系统配置
控制总线
系统总线
STB
ALE
AD19~AD16 AD15 ~AD 0
8282
OE
地址总线A19~ A0
8286
DT / R DEN
6
T OE
数据总线D15~D0
微机原理课件 第2章 8086系统结构
通 用 寄 存 器
AH AL BH BL CH CL DH DL SP BP DI SI
AX BX CX DX
∑
地址总线 20位 数据总线 8088:8位 8086:16位
段寄存器
指令指针
ALU数据总线(16位)
CS DS SS ES IP 内部暂存器
总线 控 制逻辑
运算寄存器
EU 控 制系统
指令队列 Q总线 (8位) 1 2 3 4 5 6 8088 8086
8086/8088CPU提供的指令,能够直接处理的最大无符号数就是一个字(16 位),如果超出这个范围,就必须使用多字节来表示要计算的数据。 这个原理不光只在8086/8088芯片中有,任何芯片,无论它处理的数据范围多 么大,它总是一个有限的单位,如果超出这个单位,就必须使用标志位作为运算 的中介。 b. 在执行移位指令时, CF标志用于存放移出位的值。 例如对01010011实行逻辑右移,即把这个字节中的每一位向右移动一位,左 边空出的那一位置为0,以前最右边那一位就被移出字节范围外了,那么这一位 就是移出位,移出位都是保存在 CF中的。这个例子中,移位完成后, CF应该 等于1。 c. CF标志位还能够为一些条件转移指令提供判别依据。 例如JC指令,它就是先判别CF标志位的值,如果CF=1,就跳转到指令中给出 地址继续执行程序,如果 CF=0,就不作跳转,CPU会顺序执行下一条指令。也 就是说,在程序中,可以根据CF标志取值的不同来实现程序的分支或循环结构。
OF—溢出标志位,OF溢出的判断方法如下: 加法运算: 若两个加数的最高位为0,而和的最高位为1,则产生溢出; 若两个加数的最高位为1,而和的最高位为0,则产生溢出; 两个加数的最高位不相同时,不可能产生溢出。 减法运算: 若被减数的最高位为0,减数的最高位为1,而差的最高位为1, 则产生溢出; 若被减数的最高位为1,减数的最高位为0,而差的最高位为0, 则产生溢出; 被减数及减数的最高位相同时,按两数的大小判断溢出。 如果所进行的运算是带符号数的运算,则溢出标志恰好能够 反映运算结果是否超出了8位或16位带符号数所能表达的范围, 即字节运算大于十127或小于-128时,字运算大于十32767或小 于-32768时,该位置1,反之为0。
[微机原理][课件][第02讲][8086CPU结构][2]
0: 读I/O, 1: 读存储器
如果READY=0, 如果 则插入T 直到 则插入 W,直到 READY=1
T1
地址,BHE 地址 地址输出
T2
T3
状态输出
T4
数据输入
4.
8086最小模式下的写总线周期 最小模式下的写总线周期
一个总线周期 T1
地址,BHE 地址 地址输出
如果READY=0, 如果 则插入T 直到 则插入 W,直到 READY=1
三态 位数据收发器 三态8位数据收发器 8286的输出与输入同相,8287 的输出与输入同相, 的输出与输入同相 的输出与输入反相 OE:输出允许,可以接8086 :输出允许,可以接 的DEN T:数据传输方向控制. :数据传输方向控制. T=0:Bn→An(n=0~7). : . T=1:An→Bn(n=0~7).可 : . 以接8086的DT/R 以接 的 16数据需要 片8286或8287 数据需要2片 数据需要 或
例如, 例如,f=5MHz,则T=1/f=0.2s=200ns. ,
总线周期: 完成一次访问存储器或I/O操作所 总线周期:BIU完成一次访问存储器或 操作所 完成一次访问存储器或 需要的时间. 个总线周期包括 个总线周期包括n(n≥4)个T状态 需要的时间.1个总线周期包括 个 状态 指令周期:执行一条指令所需要的时间. 个指令 指令周期:执行一条指令所需要的时间.1个指令 周期包括m个总线周期 周期包括m个总线周期 复位过程
8284
RES
时钟发 生器
BHE
8086 CPU
ALE A16-A 19 BHE
地址 地址/数据
STB
地址总线
8282
OE
AD0-AD15
如果READY=0, 如果 则插入T 直到 则插入 W,直到 READY=1
T1
地址,BHE 地址 地址输出
T2
T3
状态输出
T4
数据输入
4.
8086最小模式下的写总线周期 最小模式下的写总线周期
一个总线周期 T1
地址,BHE 地址 地址输出
如果READY=0, 如果 则插入T 直到 则插入 W,直到 READY=1
三态 位数据收发器 三态8位数据收发器 8286的输出与输入同相,8287 的输出与输入同相, 的输出与输入同相 的输出与输入反相 OE:输出允许,可以接8086 :输出允许,可以接 的DEN T:数据传输方向控制. :数据传输方向控制. T=0:Bn→An(n=0~7). : . T=1:An→Bn(n=0~7).可 : . 以接8086的DT/R 以接 的 16数据需要 片8286或8287 数据需要2片 数据需要 或
例如, 例如,f=5MHz,则T=1/f=0.2s=200ns. ,
总线周期: 完成一次访问存储器或I/O操作所 总线周期:BIU完成一次访问存储器或 操作所 完成一次访问存储器或 需要的时间. 个总线周期包括 个总线周期包括n(n≥4)个T状态 需要的时间.1个总线周期包括 个 状态 指令周期:执行一条指令所需要的时间. 个指令 指令周期:执行一条指令所需要的时间.1个指令 周期包括m个总线周期 周期包括m个总线周期 复位过程
8284
RES
时钟发 生器
BHE
8086 CPU
ALE A16-A 19 BHE
地址 地址/数据
STB
地址总线
8282
OE
AD0-AD15
第2章8086微处理器硬件结构.ppt
❖ 执行单元EU 8个通用寄存器 ❖ 1个指令指针寄存器 ❖ 1个标志寄存器 ❖ 4个段寄存器
第2章 80X86计算机组织
1. 8086的通用寄存器
➢ 8086的16位通用寄存器是:
AX BX CX DX
SI
DI BP SP
➢ 其中前4个数据寄存器都还可以分成高 8位和低8位两个独立的寄存器
➢ 8086的8位通用寄存器是:
En d表ia达n时”。, 用 它 的 低 地 址 表 示 多 字 节 数 据 占 据
的地址空间。
图1.7中2号“字”单元的内容为: [0002H] = 1234H
2号“双字”单元的内容为: [0002H] = 78561234H
第2章 80X86计算机组织
数据的地址对齐
视具体情况来确定
➢ 同一个存储器地址可以是字节单元地址、字单元地址、 双字单元地址等等 ➢ 字单元安排在偶地址(xxx0B)、双字单元安排在模4 地址(xx00B)等,被称为“地址对齐(Align)” ➢ 对于不对齐地址的数据,处理器访问时,需要额外的 访问存储器时间 ➢ 应该将数据的地址对齐,以取得较高的存取速度
AH BH CH DH
AL BL CL DL
➢ 对其中某8位的操作,并不影响另外对 应8位的数据
第2章 80X86计算机组织
数据寄存器
➢ 数据寄存器用来存放计算的结果和操作数, 也可以存放地址
➢ 每个寄存器又有它们各自的专用目的
AX--累加器,使用频度最高,用于算术、逻 辑运算以及与外设传送信息等;
3AH + 7CH=B6H,没有进位:CF = 0 AAH + 7CH=(1)26H,有进位:CF = 1
第2章 80X86计算机组织
第2章 80X86计算机组织
1. 8086的通用寄存器
➢ 8086的16位通用寄存器是:
AX BX CX DX
SI
DI BP SP
➢ 其中前4个数据寄存器都还可以分成高 8位和低8位两个独立的寄存器
➢ 8086的8位通用寄存器是:
En d表ia达n时”。, 用 它 的 低 地 址 表 示 多 字 节 数 据 占 据
的地址空间。
图1.7中2号“字”单元的内容为: [0002H] = 1234H
2号“双字”单元的内容为: [0002H] = 78561234H
第2章 80X86计算机组织
数据的地址对齐
视具体情况来确定
➢ 同一个存储器地址可以是字节单元地址、字单元地址、 双字单元地址等等 ➢ 字单元安排在偶地址(xxx0B)、双字单元安排在模4 地址(xx00B)等,被称为“地址对齐(Align)” ➢ 对于不对齐地址的数据,处理器访问时,需要额外的 访问存储器时间 ➢ 应该将数据的地址对齐,以取得较高的存取速度
AH BH CH DH
AL BL CL DL
➢ 对其中某8位的操作,并不影响另外对 应8位的数据
第2章 80X86计算机组织
数据寄存器
➢ 数据寄存器用来存放计算的结果和操作数, 也可以存放地址
➢ 每个寄存器又有它们各自的专用目的
AX--累加器,使用频度最高,用于算术、逻 辑运算以及与外设传送信息等;
3AH + 7CH=B6H,没有进位:CF = 0 AAH + 7CH=(1)26H,有进位:CF = 1
第2章 80X86计算机组织
微机原理 第2章_8086系统结构
8086 CPU的引脚及其功能
8086 CPU的两种工作模式
最小模式:用于单机系统,系统所需要的控 制信号由8086直接提供,MN/MX=1,CPU 工作于最小模式 最大模式:用于多处理机系统,系统所需的 控制信号由总线控制器8288提供, MN/MX=0,CPU工作于最大模式
8086 CPU在最小模式下的引脚定义 8088与8086的区别
通 用 寄 存 器
AX BX CX DX SP BP SI DI
8086 CPU结构框图
20位地址总线
Σ
数据 总线 16位
ALU数据总线 (16位) 暂存器
队列 总线 (8位)
CS DS SS ES IP 内部寄存器 指令队列
总线 控制 电路 8086 总线
ALU
标志寄存器
EU 控制器
1 3 4 5 6
PSW
存放状态标志、控制标志和系统标 志
PSW格式:
15 11 10
OF DF
9 IF
8
7
6
4 AF
2 PF
0 CF
TF SF ZF
状态标志
状态标志用来记录程序中运行结果的状态信息,它们根据有关指 令的运行结果由CPU自动设置,这些状态信息往往作为后续条件 转移指令的转移控制条件,包括6位: OF:溢出标志,在运算过程中,如操作数超出了机器数的表示范 围,称为溢出,OF=1,否则OF=0 SF:符号标志,记录结果的符号,结果为负SF=1,否则SF=0 ZF:零标志,运算结果为0,ZF=1,否则ZF=0 CF:进位标志,进行加法运算时从最高位产生进位,或减法运算 从最高位产生借位CF=1,否则CF=0 AF:辅助进位标志:本次运算结果,低4位向高4位产生进位或借 位,AF=1,否则AF=0 PF:奇偶标志,用来为机器中传送信息时可能产生的代码出错情 况提供检验条件,当结果操作数中低8位中1的个数为偶数时PF=1, 否则PF=0
微机原理第二章课件-80868088微处理器的内部结构
算术逻辑单元(ALU)
执行位移、循环等位操作。
执行与、或、非等逻辑运 算。
执行加、减、乘、除等算 术运算。
逻辑运算 算术运算
位操作
标志寄存器
状态标志
记录运算结果的状态,如进位标志、 溢出标志和零标志等。
控制标志
用于控制处理器行为,如中断允许标 志和方向标志等。
03 8086/8088微处理器的 输入/输出结构
02 8086/8088微处理器的 内部结构
寄存器结构
通用寄存器
状态寄存器
用于存储操作数和中间结果,包括数 据寄存器、地址寄存器和段寄存器等。
用于存储处理器状态信息,如溢出标 志、奇偶校验标志和中断允许标志等。
控制寄存器
用于存储程序计数器、标志寄存器、 中断屏蔽寄存器和调试寄存器等。
存储器管理单元(MMU)
工作原理
指令解码器通常包含一系列的解码器逻辑门,每个逻辑门对应于一种可能的机器码。当解码器读取到一条指令时,它 会激活相应的逻辑门,从而生成一组控制信号。这些控制信号随后被发送到微处理器的其他部分,以执行相应的操作 。
重要性
指令解码器是微处理器中至关重要的部分,因为它决定了微处理器如何执行程序中的指令。不同的指令 解码器设计可以实现不同的指令集,从而影响微处理器的性能和功能。
输入/输出端口
输入/输出端口
8086/8088微处理器拥有多个输 入/输出端口,这些端口可以与 外部设备进行数据交换。每个端 口都由一个16位的地址唯一标识, 通过端口地址可以寻址到具体的
端口进行读写操作。
数据总线
在输入/输出端口中,数据总线 是一个双向的8位数据通道,用 于在微处理器和外部设备之间传 输数据。数据总线可以同时进行
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例:AX=6A8BH,BX=4369H。求在ADD AX,BX指令执行之 后的结果及PSW中各状态标志位的值? AX=?BX=? CF=?PF=?AF=? ZF=? SF=? OF=?
2、控制标志位:控制CPU的某种操作
•TF(Trap Flag)—陷阱标志位(单步标志位、跟踪标志位)。当 该位置1时,将使8086进入单步方式执行程序,通常用于程序的 调试。 •IF(Interrupt Flag)—中断标志位,若该位置1,则CPU可以 响应可屏蔽中断,否则就不能响应可屏蔽中断。 •DF(Direction Flag)—方向标志位,若该位置1,则串处理指 令的地址指针为减量修改,反之,为增量修改。
9
二. 指针和变址寄存器:SP、BP、SI、DI
SP(Stack Pointer):堆栈指针寄存器 BP(Base Pointer):基址指针寄存器 SI(Source Index):源变址寄存器ห้องสมุดไป่ตู้DI(Destination Index):目的变址寄存器 功能:一般用来存放偏移地址,作为地址指针。
一. 通用寄存器:AX、BX、CX、DX
AX(Accumulator):累加器,BX(Base):基址寄存器, CX(Counter):计数器, DX(Data):数据寄存器, 功能:一般用来存放数据 特点:可一拆为二,成为8个8位寄存器。高8位AH、BH、CH、 DH,低8位AL、BL、 CL、DL 注:8位累加器为AL
• 物理地址:与每个存储单元唯一对应的20位二进制地址 • 逻辑地址:(段基址:偏移地址)
物理地址=段基址×16(或左移4位)+偏移地址
• 注意:每个存储单元的物理地址是唯一的,但逻辑地址却 有许多种。
11
四. 控制寄存器IP、PSW
IP(Instruction Pointer):指令指针寄存器 功能:存放下一条指令的偏移地址,具有自动加1的功能。 原理:IP和代码段寄存器CS一起可以确定下一条指令的物理地 址。顺序执行程序时,CPU每取一条指令,IP由BIU自动修改 (+1、+2…+6),指向下一条即将执行的指令。 计算机用IP来控制指令序列的执行流程。
• 联系BIU和EU的纽带为流水指令队列 • 队列是一种数据结构,工作方式为先进先出。写入的指令
只能存放在队列尾,读出的指令是队列头存放的指令。
6
•BIU和EU的动作协调原则 BIU和EU按以下流水线技术原则协调工作,共同完成所 要求的任务: ①每当8086的指令队列中有空字节,BIU就会自动把下 一条指令取到指令队列中。 ②每当EU准备执行一条指令时,它会从BIU部件的指令 队列前部取出指令的代码,然后译码、执行指令。在执 行指令的过程中,如果必须访问存储器或者I/O端口, 那么EU就会请求BIU,完成访问内存或者I/O端口的操 作; ③当指令队列已满,且EU又没有总线访问请求时,BIU 便进入空闲状态。(BIU等待,总线空操作) ④开机或重启时,指令队列被清空;或在执行转移指令、 调用指令和返回指令时,由于待执行指令的顺序发生了 变化,则指令队列中已经装入的字节被自动消除,BIU会 接着往指令队列装入转向的另一程序段中的指令代码。 (EU等待)
•PF(Parity Flag)—奇偶标志位,当运算结果的低8位中1的个 数为偶数时,则该位置1,反之为0。
•AF(Auxiliary Carry Flag)—辅助进位标志位,做加法时,当 低四位向高四位(低半字节向高半字节)有进位,或在做减法时, 低四位向高四位有借位时,该标志位就置1,反之为0.
7
•BIU和EU的动作协调原则
将8086 CPU分成二个独立的功能部件使二者能够 并行工作,把取指令工作和译码、执行指令工作重叠 进行,从而提高CPU的工作效率,加快指令的执行速 度。
多数情况下,BIU在不停地向队列写入指令,而EU 每执行完一条指令后,就从队列读取下一条指令。二 者的动作既独立,又协调。
并存入指针及变址寄存器SP、BP、SI、DI中 2、段起始地址的低4位为0(即20位二进制地址的最低4 位为0,或5位十六进制地址的最低位为0),段基址可存 入段寄存器中
• 一些与地址有关的概念: • 段基址:段起始地址的高16位,存于段寄存器中
• 偏移地址:段内某单元相对于段起始地址的偏移量,存入 指针及变址寄存器中。又称作有效地址(EA)。
•ZF(Zero Flag)—零标志位,运算结果为0时,该标志位置1, 否则清0。
•SF(Sign Flag)—符号标志位,当运算结果的最高位为1,该 标志位置1,否则清0。即与运算结果的最高位相同。
•OF(Overflow Flag)—溢出标志位,反映运算结果是否超出 了8位或16位带符号数所能表达的范围。(方法1:CF与次高位 向最高位的进位相异或;方法2:将参与运算的数和结果均看作 带符号数,判断结果的符号是否合理,如正+正=负 则溢出) 13
BIU和EU之间相互配合又相互独立的并行而非同步 的工作方式极大提高了CPU的工作效率。
8
第二章 8086系统结构——8086CPU的内部寄存器
寄存器:用来存放参加运算的数据、中间结果或地址。可以 看作位于CPU内的存储单元。 特点:位于CPU内,存取速度比内存快得多; 只需通过内部总线,无需通过系统总线来访问。 一般:寄存器个数越多,计算机的运行速度越快。 8086CPU中共包含14个16位寄存器,分为4组。
PSW (Program Status Word):标志(或程序状态字)寄存 器功能:每位的0和1代表两种不同的状态信息。
16位中有9位有意义,分为状态标志(6个)和控制标志(3个)。
12
1、状态标志位:表示运算结果的某种特征, 后续操作可以根据 这些状态标志进行判断,实现程序分支。
•CF(Carry Flag)—进位标志位,做加法时最高位出现进位或 做减法时最高位出现借位,该位置1,反之为0。
三. 段寄存器:CS、DS、SS、ES
CS(Code Segment):代码段寄存器 DS (Data Segment):数据段寄存器 SS (Stack Segment):堆栈段寄存器 ES (Extra Segment):附加段寄存器。 功能:存放段基址(段起始地址的高16位)
10
• 矛盾:20位的物理地址如何存入16位的寄存器中? • 解决方法:将1M的内存分成若干逻辑段 • 分段原则:1、段长<=64K,段内偏移地址可用16位表示,