微机原理第二章课件-8086_8088微处理器的内部结构分解
合集下载
第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信号变高维持标志寄存器
微机原理课件第二章 8086系统结构

但指令周期不一定都大于总线周期,如MOV AX,BX
操作都在CPU内部的寄存器,只要内部总线即可完成,不 需要通过系统总线访问存储器和I/O接口。
2021/8/17
17
• 8086CPU的典型总线时序,充分体现了总 线是严格地按分时复用的原则进行工作的。 即:在一个总线周期内,首先利用总线传 送地址信息,然后再利用同一总线传送数 据信息。这样减少了CPU芯片的引脚和外 部总线的数目。
• 执行部件(EU)
• 功能:负责译码和执行指令。
2021/8/17
5
• 联系BIU和EU的纽带为流水指令队列
• 队列是一种数据结构,工作方式为先进先出。写入的指令 只能存放在队列尾,读出的指令是队列头存放的指令。
2021/8/17
6
•BIU和EU的动作协调原则 BIU和EU按以下流水线技术原则协调工作,共同完成所 要求的任务: ①每当8086的指令队列中有空字节,BIU就会自动把下 一条指令取到指令队列中。 ②每当EU准备执行一条指令时,它会从BIU部件的指令 队列前部取出指令的代码,然后译码、执行指令。在执 行指令的过程中,如果必须访问存储器或者I/O端口, 那么EU就会请求BIU,完成访问内存或者I/O端口的操 作; ③当指令队列已满,且EU又没有总线访问请求时,BIU 便进入空闲状态。(BIU等待,总线空操作) ④开机或重启时,指令队列被清空;或在执行转移指令、 调用指令和返回指令时,由于待执行指令的顺序发生了 变化,则指令队列中已经装入的字节被自动消除,BIU会 接着往指令队列装入转向的另一程序段中的指令代码。 (EU等待)
•CF(Carry Flag)—进位标志位,做加法时最高位出现进位或 做减法时最高位出现借位,该位置1,反之为0。
第2章 8086/8088微处理器及其体系结构2PPT课件

14
2.4 8088的工作模式和引脚功能
2.4.1 8086/8088的两种工作模式
• 由上图可知,最大模式配置和最小模 式配置有一个主要的差别: 最大模式下多了8288总线控制器。 详见书中P27至P33。
2.4.2 8088的引脚和功能(P25图2-9)
15
1. 总线控制器8288
8288的框图如图所示:
20
1. 总线控制器8288
总线控制器8288的输出控制信号有ALE,DEN, DT/R和MCE/PDEN。
ALE 为地址锁存允许信号。 DEN 为数据允许信号。 DT/R为数据发送/接收信号。 MCE/PDEN 具有两种功能:当8288为系统总线方 式,用MCE作为级联允许信号;当8288为I/O总线方式, 用PDEN 作为允许信号。
处理器
单处理器 多处理器
控制信号
全部由CPU 部分由外部
产生
电路产生
MN/MX 为1
为0
9
2.4 8088的工作模式和引脚功能
2.4.1 8086/8088的两种工作模式
在设计8086/8088 CPU时,已经考虑使其在 各种不同用途中工作。根据所构成的计算机系 统的复杂程度,规定了两种工作模式,即:最 小模式和最大模式,也称为:最小组态和最大 组态。 最小模式(最小组态):构成的系统较小,系 统中只有一片8086/ 8088,其存储容量不大,所 要连的I/O端口也不多,总线控制逻辑电路被减 到最小。
2
2.1 8086/8088CPU的编程结构
2.1.1 8086/8088CPU的内部结构
EU功能:
•执行指 令(数 据运算、 传送等)
BIU功能:
•传送操作数、 指令
2.4 8088的工作模式和引脚功能
2.4.1 8086/8088的两种工作模式
• 由上图可知,最大模式配置和最小模 式配置有一个主要的差别: 最大模式下多了8288总线控制器。 详见书中P27至P33。
2.4.2 8088的引脚和功能(P25图2-9)
15
1. 总线控制器8288
8288的框图如图所示:
20
1. 总线控制器8288
总线控制器8288的输出控制信号有ALE,DEN, DT/R和MCE/PDEN。
ALE 为地址锁存允许信号。 DEN 为数据允许信号。 DT/R为数据发送/接收信号。 MCE/PDEN 具有两种功能:当8288为系统总线方 式,用MCE作为级联允许信号;当8288为I/O总线方式, 用PDEN 作为允许信号。
处理器
单处理器 多处理器
控制信号
全部由CPU 部分由外部
产生
电路产生
MN/MX 为1
为0
9
2.4 8088的工作模式和引脚功能
2.4.1 8086/8088的两种工作模式
在设计8086/8088 CPU时,已经考虑使其在 各种不同用途中工作。根据所构成的计算机系 统的复杂程度,规定了两种工作模式,即:最 小模式和最大模式,也称为:最小组态和最大 组态。 最小模式(最小组态):构成的系统较小,系 统中只有一片8086/ 8088,其存储容量不大,所 要连的I/O端口也不多,总线控制逻辑电路被减 到最小。
2
2.1 8086/8088CPU的编程结构
2.1.1 8086/8088CPU的内部结构
EU功能:
•执行指 令(数 据运算、 传送等)
BIU功能:
•传送操作数、 指令
8086-8088微处理器的内部结构

3 段寄存器与指令指针寄存器
微机原理
CS:代码段寄存器 DS:数据段寄存器 SS:堆栈段寄存器 ES:附加段寄存器 IP:指令指针寄存器
注意:DS、SS和ES寄存器的内容可由程序 设置,而CS寄存器的内容不能用程序设置
4.标志寄存器FLAG
微机原理
用于存放CPU工作过程中的状态,其中9位有
定义, 9位中6位表示状态,3位表示控制标志。 (1)状态标志位
OF:溢出标志位(Overflow Flag )。 当两个带符号数进行运算产生溢出时, OF=1;否则OF=0。
微机原理
例:十六进制数0CCCCH与十六进制数5115H相加, 请写出运算后六个标志状态位的值。 解: 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 (0CCCCH)
+ 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 (5115H) 10 0 0 1 1 1 0 1 1 1 1 0 0 0 0 1
1.2 8086/8088 内部寄存器
寄存器
AX BX CX DX
运算器
状态寄存器
控制器
处理器
指
控制逻辑
令 寄
存 器
寄存器
IP
CS
BP
DS
SI
SS
DI
ES
SP
主存
取指
微机原理
微 处 理 器 一 般 编 程 结 构
通用寄存器组
微机原理
AX:累加器。可分成两个八位寄存器AH、 AL使用。
BX:基址寄存器。可分成两个八位寄存 器BH、BL使用。
与•标外志部寄总存器线—相—连FLAG
CPU
•段寄存器组
(CS、DS、SS、ES)
微机原理2-1:8088CPU内部结构、寄存器组、存储器组织

逻辑地址
地址加法器
将16位的逻辑地址转换为20位的物 理地址,具体操作过程为:先将段寄存 器提供的16位段地址左移四位,低位补0,
恢复为20位地址,然后与由各种寻址方
式提供的16位偏移地址相加,即得到20 位的物理地址。
26
逻辑地址
• 物理地址: • 逻辑地址: 20 位 段基址 (段寄存器的内容)16位 偏移地址(字节距离)16位
控制 累加器 标志寄存器
暂存器
ALU
2
8088/8086的功能结构
16位微处理器也具有以上结构中的基本单元, 但更为复杂。 以8088为例讲解16位微处理器的功能结构。 8088是8086的简化版本。
3
地址加法器
AH AL BL CL DL SP B P DI SI 数据总线 暂存寄存 器
用于串操作指令中,控制地址的变化方向:
设置DF=0,串操作后存储器地址自动增量(增址) ; 设置DF=1,串操作后存储器地址自动减量(减址) 。 串:存储器中一序列字或字节单元
串操作——对序列字或字节单元中的内容进行某种操作 , 比如:将一个字符串从源区传送到目的区 。
MOVS——串传送指令 CMPS——串比较指令 SCAS— —串扫描指令 LODS——装入串指令 STOS——存储 串指令
外存主要指用来长久保存数据的外部存储介质, 常见的有硬盘、光盘、磁带、U盘等。外存的数据 只能通过主存间接地与CPU交换数据
3AH + 7CH=B6H AAH + 7CH=(1)26H 没有进位:CF=0 有进位:CF=1
例如(以8位运算为例,8088中为16位):
10
溢出标志OF(Overflow Flag)
第2章INTEL80868088微处理器详解PPT课件

A16/S3
AD12
A17/S4
AD11
A18/S5
AD10
A19/S6
AD9
BHE/S7
AD8
MN/MX
8086 AD7
RD
AD6
HOLD(RQ/GT0)
AD5
HLDA(RQ/GT1)
AD4
WR(LOCK)
AD3
M/IO(S2)
AD2
DT/R(S1)
AD1
DEN (S0)
AD0
ALE (QS0)
NMI
WR(LOCK)
AD3
M/IO(S2)
AD2
DT/R(S1)Leabharlann AD1DEN (S0)
AD0
ALE (QS0)
NMI
INTA(QS1)
INTR
TEST
CLK
READY
GND8088引脚图 RESET
18
8086引脚可分为5类:
1、地址线(20位):AD0~AD15,A16~A19。其 中AD0~AD15为地址/数据复用引脚,故为双向、 三态;A16~A19为地址/状态复用引脚,输出、 三态。此外,AD0还作为低8位数据选通信号使 用。
SF:符号标志,指令执行结果的最高二进制位是0还是1,为0,则 SF=0。代表正数;为1,则SF=1,代表负数。
PF:奇偶校验标志,用来表示指令执行结果的低8位中1的个数是奇 数还是偶数,若为奇数个“1”则PF=0,若为偶数个“1”则PF=1。
ZF:零标志,用来表示指令执行结果是否为0,若为0则ZF=1,否则 ZF=0。
对于8080与8085及较早的8位微处理器: 程序执行由取指令和执行指令的循环来完成,每条指令执行 完后CPU必须等待到下条指令取出来后才能执行。
微机原理及应用课件第2章

四、内部寄存器
内部寄存器的类型
含14个16位寄存器,按功能可分为三类
8个通用寄存器 4个段寄存器 2个控制寄存器
深入理解:每个寄存器中数据的含义
28
1. 通用寄存器
数据寄存器(AX,BX,CX,DX) 地址指针寄存器(SP,BP) 变址寄存器(SI,DI)
29
数据寄存器
8088/8086含4个16位数据寄存器,它们又可分为8个 8位寄存器,即:
DX:
数据寄存器。在间接寻址的I/O指令中存放I/O端口地址;在 32位乘除法运算时,存放高16位数。
地址指针寄存器
SP:堆栈指针寄存器,其内容为栈顶的偏移地址; BP:基址指针寄存器,常用于在访问内存时存放内存单
元的偏移地址。
BP与BX的区别:
作为通用寄存器,二者均可用于存放数据; 作为基址寄存器,用BX表示所寻找的数据在数据段;用
┇
操作数
35
状态标志位(1)
CF(Carry Flag)
进位标志位。加(减)法运算时,若最高位有进(借)位则CF=1
OF(Overflow Flag)
溢出标志位。当算术运算的结果超出了有符号数的可表达范 围时,OF=l
ZF(Zero Flag)
零标志位。当运算结果为零时ZF=1
SF(Sign Flag)
欲实现对1MB内存空间的正确访问,每个内
存单元在整个内存空间中必须具备20位字长
的惟一地址
物理地址
XXXXXH
12H
00H
内存地址变换:
…
如何将直接产生的16位编码变换
…
为20位物理地址?
┇
内存单元的编址(1)
内存每个单元的地址在逻辑上都由两部分组成:
微机原理第二章课件-80868088微处理器的内部结构

算术逻辑单元(ALU)
执行位移、循环等位操作。
执行与、或、非等逻辑运 算。
执行加、减、乘、除等算 术运算。
逻辑运算 算术运算
位操作
标志寄存器
状态标志
记录运算结果的状态,如进位标志、 溢出标志和零标志等。
控制标志
用于控制处理器行为,如中断允许标 志和方向标志等。
03 8086/8088微处理器的 输入/输出结构
02 8086/8088微处理器的 内部结构
寄存器结构
通用寄存器
状态寄存器
用于存储操作数和中间结果,包括数 据寄存器、地址寄存器和段寄存器等。
用于存储处理器状态信息,如溢出标 志、奇偶校验标志和中断允许标志等。
控制寄存器
用于存储程序计数器、标志寄存器、 中断屏蔽寄存器和调试寄存器等。
存储器管理单元(MMU)
工作原理
指令解码器通常包含一系列的解码器逻辑门,每个逻辑门对应于一种可能的机器码。当解码器读取到一条指令时,它 会激活相应的逻辑门,从而生成一组控制信号。这些控制信号随后被发送到微处理器的其他部分,以执行相应的操作 。
重要性
指令解码器是微处理器中至关重要的部分,因为它决定了微处理器如何执行程序中的指令。不同的指令 解码器设计可以实现不同的指令集,从而影响微处理器的性能和功能。
输入/输出端口
输入/输出端口
8086/8088微处理器拥有多个输 入/输出端口,这些端口可以与 外部设备进行数据交换。每个端 口都由一个16位的地址唯一标识, 通过端口地址可以寻址到具体的
端口进行读写操作。
数据总线
在输入/输出端口中,数据总线 是一个双向的8位数据通道,用 于在微处理器和外部设备之间传 输数据。数据总线可以同时进行
第2章 8086微处理器PPT课件

0
A19/S6
A12 A11 A10
8 0
A17/S4 A18/S5 A19/S6
AD9
8
BHE/S7
A9
8
SS0(HIGH)
AD8
6
MN/MX
A8
8
MN/MX
AD7
RD
AD7
RD
AD6
HOLD(RQ/GT0)
AD6
HOLD(RQ/GT0)
AD5
HLDA(RQ/GT1)
AD5
HLDA(RQ/GT1)
2.2 8086/8088微处理器外部引脚及系统构成
二、外部引脚(最小模式下) 8086/8088
微处理器为40条 引脚的双列直插 式封装芯片。
地
Vcc(5V)
地
Vcc(5V)
AD14
AD15
A14
A15
AD13
A16/S3
A13
A16/S3
AD12 AD11
8
A17/S4 A18/S5
AD10
地址/数据分时复用引脚,双向、三态 在访问存储器或外设的总线操作周期中, 这些引脚在第一个时钟周期输出存储器或 I/O端口的16位地址A15 ~ A0 (或低8位地 址A7 ~ A0 ) 其他时间用于传送16位数据D15 ~ D0
什么是分时复用?
分时复用就是一个引脚在不同的时刻具有两个 甚至多个作用 最常见的总线复用是数据和地址引脚复用 总线复用的目的是为了减少对外引脚个数 8088 /8086CPU的数据地址线采用了总线复用 方法
READY
CLK
RESET 引脚对比图 地
READY RESET
2.2 8086/8088微处理器外部引脚及系统构成
第2章 8086微机原理PPT课件

Signal),音频信号(Audio Signal)以及图像处理(Graphical Manipulation)而设计的57条指令; ✓ MMX CPU极大地提高了电脑的多媒体(如立体声、视频、 三维动画等)处理功能。
9
2.1.1 8086功能的扩展(5)
➢ 流SIMD扩展(SSE)
✓ SSE(Streaming SIMD Extensions,流SIMD扩展)英特尔开 发的第二代SIMD指令集,有70条指令,可以增强浮点和多 媒体运算的速度;
✓ 以前的FPU是一种单独芯片,如8087、80287、80387分别 与8086/8088、80286、80386配合使用。 在486之后,英
特尔把FPU与集成在CPU之内。
8
2.1.1 8086功能的扩展(4)
➢ MMX技术
✓ MMX: 是MultiMedia eXtensions(多媒体扩展)的缩写; ✓ MMX技术是在CPU中加入了特地为视频信号(Video
✓ x86结构微处理器有两种主要的工作方式: 实地址方式和保 护虚地址方式。
✓ 实地址方式是为了与8086兼容而设置的方式。
✓ 在实地址方式下,具有32条地址线的x86结构微处理器只有
低20条地址线起作用,能寻址1MB的物理地址;此时,x86
系列结构微处理器相当于一个快速的8086,虽然可以使用
32位的数据寄存器,但不能充分发挥x86结构微处理器的全
10
2.1.2 8086性能的提高(1)
➢ 利用流水线技术提高操作的并行性
✓ 流水线技术是一种同时进行若干操作的并行处理方式。类 似于工厂的流水作业装配线;
✓ 在计算机中把CPU的一个操作(分析指令,加工数据等)进一 步分解成多个可以单独处理的子操作,使每个子操作在一 个专门的硬件上执行,这样,一个操作需顺序地经过流水 线中多个硬件的处理才能完成。但前后连续的几个操作可 以在各个硬件间重叠执行,这种操作的重叠提高了CPU的 效率。
9
2.1.1 8086功能的扩展(5)
➢ 流SIMD扩展(SSE)
✓ SSE(Streaming SIMD Extensions,流SIMD扩展)英特尔开 发的第二代SIMD指令集,有70条指令,可以增强浮点和多 媒体运算的速度;
✓ 以前的FPU是一种单独芯片,如8087、80287、80387分别 与8086/8088、80286、80386配合使用。 在486之后,英
特尔把FPU与集成在CPU之内。
8
2.1.1 8086功能的扩展(4)
➢ MMX技术
✓ MMX: 是MultiMedia eXtensions(多媒体扩展)的缩写; ✓ MMX技术是在CPU中加入了特地为视频信号(Video
✓ x86结构微处理器有两种主要的工作方式: 实地址方式和保 护虚地址方式。
✓ 实地址方式是为了与8086兼容而设置的方式。
✓ 在实地址方式下,具有32条地址线的x86结构微处理器只有
低20条地址线起作用,能寻址1MB的物理地址;此时,x86
系列结构微处理器相当于一个快速的8086,虽然可以使用
32位的数据寄存器,但不能充分发挥x86结构微处理器的全
10
2.1.2 8086性能的提高(1)
➢ 利用流水线技术提高操作的并行性
✓ 流水线技术是一种同时进行若干操作的并行处理方式。类 似于工厂的流水作业装配线;
✓ 在计算机中把CPU的一个操作(分析指令,加工数据等)进一 步分解成多个可以单独处理的子操作,使每个子操作在一 个专门的硬件上执行,这样,一个操作需顺序地经过流水 线中多个硬件的处理才能完成。但前后连续的几个操作可 以在各个硬件间重叠执行,这种操作的重叠提高了CPU的 效率。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
执行部件负责执行指令。通常,从指令队列中 取得等待执行的指令。组成如下: (1) 算术逻辑单元ALU:完成各种运算。 (2) 标志寄存器FR:用来保存ALU运算结果的一 些特征信息,如运算是否进位。 (3) 通用寄存器组:数据寄存器AX,BX,CX,DX和 寄存器BP,SP,SI及DI,均16位。 (4) 执行部件控制电路
3、BIU和EU的管理
BIU和EU可以并行工作,提高CPU效率。 (1) BIU监视着指令队列。当指令队列中有2个空字 节时,就自动把指令取到队列中。 (2) EU执行指令时,从指令队列头部取指令,然后 执行。如需访问存储器,则EU向BIU发出请求, 由BIU访问存储器。 (3) 在执行转移、调用、返回指令时,需改变队列 中的指令,要等新指令装入队列中后,EU才继 续执行指令。
4、寄存器结构
(1) 通用寄存器组 8086CPU有8个16位的通用寄存器,分2组。 ① 通用数据寄存器:AX,BX,CX,DX,用来存放数 据或地址,一个16位寄存器也可以当作两个8位寄存 器用,此时表示为AH,AL;BH,BL;CH,CL;DH,DL。
② 基地址寄存器BP,堆栈指针寄存器SP,源变址 寄存器SI和目的变址寄存器DI主要存放地址,也可 以存放数据。
表示的范围。 ② 控制标志: DF:方向标志,用来控制串操作指令的执行。 DF=0则 串操作指令的地址自动增量;若DF=1,则自动减量。 IF:中断标志,用来控制对可屏蔽中断的响应。若IF=1 则允许CPU响应可屏蔽中断; IF=0,则CPU不能响应可 屏蔽中断。 TF:单步标志。若TF=1,则CPU进入单步工作方式, 即CPU每执行一条指令就自动产生一次内部中断;TF=0 则CPU正常执行。
(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) 段寄存器 8086的寻址空间是1M字节,物理地址需要20 位的地址码。但CPU中的寄存器都是16位的。为 解决该问题采用了存储器分段技术。把1MB地址 分段,每段64KB,其起始地址的高16位装入一 个段寄存器中,称作段基地址,这四个段寄存器 的名称为: CS (代码段寄存器) DS (数据段寄存器) ES (附加段寄存器) SS (堆栈段寄存器)
(3) 6字节的指令队列:总线接口部件从内 存中取来的指令放在一个缓冲区中,这个 缓冲区叫指令队列。执行部件在执行指令 过程中从指令队列取来指令执行。 (4) 输入/输出控制电路:该控制电路将 8086CPU的片内总线与系统总线相连,是 8086CPU与外部交换数据的必经之路。
2、执行部件EU(Execution Unit)
EU
BIU
图2. 1 8086 CPU内部逻辑结构
1、总线接口部件BIU
总线接口部件负责与存储器、输入/输出 端口传送数据。 总线接口部件组成: (1) 专用寄存器组:段地址寄存器CS、DS、 ES、SS和指令指针寄存器IP,均为16位。 (2) 地址加法器:8086在寻址1M字节地址 空间时需用20位地址,这个地址就是由地址 加法器产生的。
具体的说,地址加法器将段寄存器(16位) 的内容左移4位,然后与指令指针寄存器IP 的内容相加得到20位的物理地址。 例如:从内存取指令时, (CS)=5760H,(IP)=1234H,则物理地址 为: 57600H+ 1234H =57934H。 这里,先将段寄存器CS左移4位(16进 制数只需后面加一个零)。
第二章 微型计算机系统结构
第一节 CPU的内部逻辑结构
一、CPU的组成和功能
1、CPU的组成 CPU主要由运算器、控制器、寄存器组和片内总线等 组成 2、CPU的功能
(1) 指令控制
(3) 时序控制
(2) 操作控制
(4) 执行指令
(5) 数据加工(运算)
二、8086/8088微处理器的内部结构
8086是16位的微处理器,有16位数据线 和20位地址线,可寻址220个字节,即 220 =1MB=1048576B 8088是准16位微处理器,内部为16位,外 部数据线为8位。 8086是本课的重点,它主要分为两个独立 的功能模块,总线接口模块BIU和执行部件 EU,它们可以并行工作。如图2.1所示。
8086设置了这4个16位段寄存器,通过这四个段 寄存器,CPU可以定位4个逻辑段,分别为:当前代 码段、当前数据段、当前附加段和当前堆栈段。 注意,每个逻辑段在实际存储器中的位置是可以 浮动的,其起始地址的高16位装在段寄存器中,称 作段基地址。当程序很大,超过64KB时,则可以定 义多个代码段、数据段和附加段。 不同的逻辑段可以相交,甚至可以完全重叠。参 见书上图2. 8。 (3)指令指针寄存器IP 该寄存器的内容用来指明将要执行的下一条指令在 代码段中的位置。总线接口部件BIU负责修改IP寄存 器的值,使它始终指向将要执行的下一条指令。
8086以上的CPU其寄存器阵列如下图所示,阴 影部分是80386以上的32位微处理器的寄存器。
5、8088与8086的区别
3、BIU和EU的管理
BIU和EU可以并行工作,提高CPU效率。 (1) BIU监视着指令队列。当指令队列中有2个空字 节时,就自动把指令取到队列中。 (2) EU执行指令时,从指令队列头部取指令,然后 执行。如需访问存储器,则EU向BIU发出请求, 由BIU访问存储器。 (3) 在执行转移、调用、返回指令时,需改变队列 中的指令,要等新指令装入队列中后,EU才继 续执行指令。
4、寄存器结构
(1) 通用寄存器组 8086CPU有8个16位的通用寄存器,分2组。 ① 通用数据寄存器:AX,BX,CX,DX,用来存放数 据或地址,一个16位寄存器也可以当作两个8位寄存 器用,此时表示为AH,AL;BH,BL;CH,CL;DH,DL。
② 基地址寄存器BP,堆栈指针寄存器SP,源变址 寄存器SI和目的变址寄存器DI主要存放地址,也可 以存放数据。
表示的范围。 ② 控制标志: DF:方向标志,用来控制串操作指令的执行。 DF=0则 串操作指令的地址自动增量;若DF=1,则自动减量。 IF:中断标志,用来控制对可屏蔽中断的响应。若IF=1 则允许CPU响应可屏蔽中断; IF=0,则CPU不能响应可 屏蔽中断。 TF:单步标志。若TF=1,则CPU进入单步工作方式, 即CPU每执行一条指令就自动产生一次内部中断;TF=0 则CPU正常执行。
(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) 段寄存器 8086的寻址空间是1M字节,物理地址需要20 位的地址码。但CPU中的寄存器都是16位的。为 解决该问题采用了存储器分段技术。把1MB地址 分段,每段64KB,其起始地址的高16位装入一 个段寄存器中,称作段基地址,这四个段寄存器 的名称为: CS (代码段寄存器) DS (数据段寄存器) ES (附加段寄存器) SS (堆栈段寄存器)
(3) 6字节的指令队列:总线接口部件从内 存中取来的指令放在一个缓冲区中,这个 缓冲区叫指令队列。执行部件在执行指令 过程中从指令队列取来指令执行。 (4) 输入/输出控制电路:该控制电路将 8086CPU的片内总线与系统总线相连,是 8086CPU与外部交换数据的必经之路。
2、执行部件EU(Execution Unit)
EU
BIU
图2. 1 8086 CPU内部逻辑结构
1、总线接口部件BIU
总线接口部件负责与存储器、输入/输出 端口传送数据。 总线接口部件组成: (1) 专用寄存器组:段地址寄存器CS、DS、 ES、SS和指令指针寄存器IP,均为16位。 (2) 地址加法器:8086在寻址1M字节地址 空间时需用20位地址,这个地址就是由地址 加法器产生的。
具体的说,地址加法器将段寄存器(16位) 的内容左移4位,然后与指令指针寄存器IP 的内容相加得到20位的物理地址。 例如:从内存取指令时, (CS)=5760H,(IP)=1234H,则物理地址 为: 57600H+ 1234H =57934H。 这里,先将段寄存器CS左移4位(16进 制数只需后面加一个零)。
第二章 微型计算机系统结构
第一节 CPU的内部逻辑结构
一、CPU的组成和功能
1、CPU的组成 CPU主要由运算器、控制器、寄存器组和片内总线等 组成 2、CPU的功能
(1) 指令控制
(3) 时序控制
(2) 操作控制
(4) 执行指令
(5) 数据加工(运算)
二、8086/8088微处理器的内部结构
8086是16位的微处理器,有16位数据线 和20位地址线,可寻址220个字节,即 220 =1MB=1048576B 8088是准16位微处理器,内部为16位,外 部数据线为8位。 8086是本课的重点,它主要分为两个独立 的功能模块,总线接口模块BIU和执行部件 EU,它们可以并行工作。如图2.1所示。
8086设置了这4个16位段寄存器,通过这四个段 寄存器,CPU可以定位4个逻辑段,分别为:当前代 码段、当前数据段、当前附加段和当前堆栈段。 注意,每个逻辑段在实际存储器中的位置是可以 浮动的,其起始地址的高16位装在段寄存器中,称 作段基地址。当程序很大,超过64KB时,则可以定 义多个代码段、数据段和附加段。 不同的逻辑段可以相交,甚至可以完全重叠。参 见书上图2. 8。 (3)指令指针寄存器IP 该寄存器的内容用来指明将要执行的下一条指令在 代码段中的位置。总线接口部件BIU负责修改IP寄存 器的值,使它始终指向将要执行的下一条指令。
8086以上的CPU其寄存器阵列如下图所示,阴 影部分是80386以上的32位微处理器的寄存器。
5、8088与8086的区别