pptx-补充8086CPU结构与程序的执行
合集下载
微机原理第二章课件-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。所谓溢出就是指运算结果超出了相应类型数据所能
第三章8086微处理器PPT课件

(注:8086CPU的指令队列有6字节,8088CPU有4字 节)。
机械工程与自动化学院
3.1.1 8086的编程结构(重点)
三、总线接口部件(BIU)和执行部件(EU)的功能 (1)指令队列中出现两个字节为空时自动按CS 值和IP值组成20位实际物理地址到存储器中取指 令,一次取两个字节指令存放到指令队列中; (2)EU从BIU指令队列中读取指令; (3)由EU控制电路对指令进行译码分析,指出 操作性质及操作对象; (4)EU执行指令,如果执行指令时必需访问存 储器或者I/O端口,则在EU中计算出操作数的16 位地址偏移量送给BIU,由BIU的∑形成20位绝对 地址;
主要16位是加法器。内大部部暂分存器指令
的执行由加法器完成。
标志寄存器:
ALU16位字利执控用行制部电了分路9位8位。1 2 3 4 5 6
指令队列缓冲器
外部总线
标志寄存器
执行部件 (EU)
总线接口部件 (BIU)
图2-1 Intel 8086微处理器P结age构:5 机械工程与自动化学院
3.1.1 8086的编程结构(重点)
机械工程与自动化学院
3.1.1 8086的编程结构(重点)
二、总线接口部件BIU(BUS Interface Unit)
(1)段寄存器(CS,DS,SS,ES)——存放存储 器各段的段基地址(首地址)。
(2)指令指针寄存器IP——存放要执行的下一条指 令的偏移地址。
(3)地址加法器∑——将段地址(16位)和偏移地 址(16位)扩展为20位的实际地址(物理地址)。 (4)指令队列——指令队列,在执行指令的同时, 从存储器中取下面的指令,放在指令队列缓冲器中排 队;执行完一条指令就可以立即执行下一条指令,提 高了CPU的效率;
机械工程与自动化学院
3.1.1 8086的编程结构(重点)
三、总线接口部件(BIU)和执行部件(EU)的功能 (1)指令队列中出现两个字节为空时自动按CS 值和IP值组成20位实际物理地址到存储器中取指 令,一次取两个字节指令存放到指令队列中; (2)EU从BIU指令队列中读取指令; (3)由EU控制电路对指令进行译码分析,指出 操作性质及操作对象; (4)EU执行指令,如果执行指令时必需访问存 储器或者I/O端口,则在EU中计算出操作数的16 位地址偏移量送给BIU,由BIU的∑形成20位绝对 地址;
主要16位是加法器。内大部部暂分存器指令
的执行由加法器完成。
标志寄存器:
ALU16位字利执控用行制部电了分路9位8位。1 2 3 4 5 6
指令队列缓冲器
外部总线
标志寄存器
执行部件 (EU)
总线接口部件 (BIU)
图2-1 Intel 8086微处理器P结age构:5 机械工程与自动化学院
3.1.1 8086的编程结构(重点)
机械工程与自动化学院
3.1.1 8086的编程结构(重点)
二、总线接口部件BIU(BUS Interface Unit)
(1)段寄存器(CS,DS,SS,ES)——存放存储 器各段的段基地址(首地址)。
(2)指令指针寄存器IP——存放要执行的下一条指 令的偏移地址。
(3)地址加法器∑——将段地址(16位)和偏移地 址(16位)扩展为20位的实际地址(物理地址)。 (4)指令队列——指令队列,在执行指令的同时, 从存储器中取下面的指令,放在指令队列缓冲器中排 队;执行完一条指令就可以立即执行下一条指令,提 高了CPU的效率;
8086的内部结构公开课获奖课件

背景知识--寄存器(Register)
• 寄存器是CPU内部旳某些高速存储单元 • 他们为处理器提供多种操作所需要旳数据 • 汇编语言程序中将采用他们各自旳符号名
例如,在Intel 8086/8088中,主要是:
AX BX CX DX SI DI BP SP
8086旳寄存器组
8086旳寄存器(如图)都为16位,分为:
• 若运算成果为0,则ZF = 1,不然ZF = 0。
例如:
3AH + 7CH=B6H,成果不是零:ZF = 0 86H + 7CH=(1)00H,成果是零:ZF = 1
注意:ZF为1表达旳成果是0
FLAG--符号标志SF(Sign Flag)
• 运算成果最高位为1,则SF = 1;不然SF = 0。 例如:
基地址 • SP和BP寄存器与SS段寄存器联合使用以拟定
堆栈段中旳存储单元地址
详见堆栈操作指令
EU--标志寄存器(FLAG)
标志(Flag)用于反应指令执行成果或控制指 令执行形式。
8086处理器中多种常用旳标志形成了一种16位 旳标志寄存器FLAGS(也称程序状态字PSW寄存 器)。
15 12 11 10 9 8 7 6 5 4 3 2 1 0
FLAG--方向标志DF(Direction Flag)
• 用于串操作指令中,控制地址旳变化方向: 设置DF=0,串操作旳存储器地址自动增长; 设置DF=1,串操作旳存储器地址自动降低。 • CLD指令复位方向标志:DF=0 • STD指令置位方向标志:DF=1
FLAG--中断允许标志IF(Interrupt-
问题:
什么是溢出? 怎样判断是否溢出?
FLAG--辅助进位标志AF
第03章 8086微处理器63页PPT

段寄存器与存储器分段
实模式下,Pentium微处理器的1MB内存空间被分成段,每段具有 64KB的连续存储区。
段是可独立寻址的内存单位,每个段的起始地址由一个基址设 定,它是一个段最低的地址。
实模式下最多可以同时有6个段处于活动状态:一个代码段、一个
堆栈段、4个数据段。内存中哪些段处于活动状态由6个段寄存器
用于存放偏移量地址。
31 ESP EBP ESI EDI
16 15 8 7
0
SP BP SI DI
偏移量地址表示某一存储单元相对于段寄存器所指定的基址 的位移量。
实模式下存放地址值的长度只能是16位,因此指针与变址寄存 器只能使用SP、BP、SI、DI
32位寄存器ESP、EBP、ESI、EDI可以作为通用数据寄存器使 用
堆栈指针寄存器SP,源变址寄存器SI,目 的变址寄存器DI; • 标志寄存器PSW; • 算术逻辑单元ALU。
通用寄存器
包括4个通用数据寄存器,2个变址寄存器和2个指针寄存器
通用数据寄存器
31
累加寄存器 (Accumulator) EAX
基址寄存器(Base )
EBX
计数寄存器(Counter)
ECX EDX
例如:MOV AX, [BX+03H]
由于实模式下存放地址值的长度只能是16位,因此当BX作为基 址指针使用时,只能使用BX
通用数据寄存器 计数寄存器
在循环LOOP指令和串处理指令中用作隐含计数器。
例如:MOV CX , 200H AGAIN: ……
…… LOOP AGAIN ;(CX)-1(CX),结果0转AGAIN
式和最小模式) • 理解时序的概念 • 了解8086/8088的典型总线时序及其分析方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CPU的功能结构与程序执行
➢8086/8内部有两个功能模块,完成 一条指令的取指和执行功能
❖模块之一:总线接口单元BIU,主要 负责读取指令和操作数
❖模块之二:执行单元EU ,主要负责 指令译码和执行
内部结构
指令执行
总结
• 程序到底是怎么执行的?
❖指令和数据都在内存中 ❖BIU与EU是并行执行的 ❖BIU负责取指令和存取操作数 ❖EU负责译码和指令的执行
CPU的功能结构与程序执行
• 8086/8内部有两个功能模块,完成一条指令的取指 和执行功能
❖模块之一:总线接口单元BIU,主要负责读取指令和操作 数
❖模块之二:执行单元EU ,主要负责指令译码和执行
内部结构
指令执行
CPU引脚信号与工作模式
GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND
GND A14 A13 A12 A11 A10 A9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND
1
40
2
39
3
38
4
37
5
36
6
35
7 8088 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
图(3.5)8086/8088的引脚信号
VCC(+5V) A15 A16/S3 A17/S4 A18/S5 A19/S6 SS0(HIGH) MN/MX RD HOLD(RQ/GT0) HLDA(RQ/GT1) WR(LOCK) M/IO(S2) DT/R(S1) DEN(S0) ALE(QS0) INTA(QS1) T ES T READY RESET
1
40
2
39
3
38
4
37
5
36
6
35
7 8086 34
8
33
9
32
10
31
11
30
12
29
13
28
14
27
15
26
16
25
17
24
18
23
19Biblioteka 222021
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) T ES T READY RESET
• 分析
❖C用变量(内存单元),慢。 ❖汇编语言尽量用寄存器、立即数,快。