8086微处理器Word文档下载推荐.docx
- 文档编号:19695096
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:14
- 大小:25.67KB
8086微处理器Word文档下载推荐.docx
《8086微处理器Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《8086微处理器Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。
由四个16位寄存器AX、BX、CX、DX组成。
用来存放16位的数据或地址,也可以把它们当作8个8位寄存器来使用,即将每个通用寄存器的高半部和低半部分开使用,低半部分别命名为AL、BL、CL、DL,高半部分别命名为AH,BH,CH,DH。
这时,这些寄存器只能存放8位数据而不能存放地址。
2、专用寄存器:
由四个16位寄存器BP、SP、SI、DI组成。
主要用来存放存贮器或I/O端口的地址。
其中BP叫基址指针寄存器,SP叫堆栈指针寄存器,SI叫源变址寄存器,DI叫目的变址寄存器。
3、算术逻辑单元ALU:
进行算术和逻辑运算的部件,绝大部分指令的执行都是通过它来完成的。
4、标志寄存器FR:
8086CPU设置了一个16位的标志寄存器,用来显示微机的运行结果或控制机器的操作,规定了其中的9位,标志的设置情况见下图。
D15
……………………………………………………
D2
D1
D0
奇偶校验标志
辅助进位标志
结果为0标志
符号标志
进位标志
运算溢出标志
方向标志
中断允许标志
单步标志
FR
OF
DF
IF
TF
SF
ZF
AF
PF
CF
FR的九个标志按作用可分为两大类,一类叫状态标志,用来表示运算结果的特征,它们是:
CF、PF、AF、ZF、SF和OF;
另一类叫控制标志,用来控制CPU的操作,它们是:
IF、DF和TF。
(1)进位标志位CF:
CF=1表示本次运算中最高位(D7或D15)有进位(加法运算时)或有借位(减法演算时),CF标志可以通过STC指令置位,通过CLC指令复位,还可以通过CMC指令将当前的CF标志取反。
(2)奇偶校验标志位PF:
PF=1表示本次运算结果中有偶数个“1”,PF=0表示本次运算结果中有奇数个“1”。
(3)辅助进位标志AF:
AF=1表示8位数据运算的过程中,低4位向高4位有进位(加法运算时),或有借位(减法运算时),该标志只在二-十进制BCD码运算中有用。
(4)零标志ZF:
ZF=1,表示本次运算结果为0,否则ZF=0。
(5)符号标志SF:
SF=1表示本次运算结果的最高位(D7或D15)为1,否则SF=0。
(6)溢出标志OF:
OF=1表示本次有符号数算术运算的结果产生溢出。
溢出是指字节运算的结果超出-128~+127的范围,或字运算的结果超出-32768~+32767的范围。
(7)中断标志位IF:
IF=1表示允许CUP响应可屏蔽中断,IF标志可通过STI指令置位,也可通过CLI指令复位。
(8)方向标志DF:
在串操作指令中若DF=0表示串运算指令地址指针递增,即本操作由低地址向高地址进行;
DF=1表示地址指针递减,即串操作由高地址向低地址进行。
DF标志可通过STD指令置位和通过CCD指令复位。
(9)单步(陷阱)标志TF:
TF=1表示控制CPU进入单步工作方式。
在该方式下,CPU每执行完一条指令就自动产生一次内部中断。
这在程序调试过程中十分有用。
例:
A=10110110B,B=01101000B,则执行A+B=100011110B后,
CF=1,PF=1,AF=0,ZF=0,SF=0,OF=0。
二、总线接口部件(BIU)的组成和工作特点
总线接口部件的功能是负责与CPU外部即存贮器、I/O端口传送数据和程序,即管理在存贮器中存取程序和数据以及向外设存取数据等方面的操作。
1、BIU由四部分组成
(1)四个16位的段地址寄存器:
CS(代码段寄存器);
DS(数据段寄存器);
ES(附加段寄存器);
SS(堆栈段寄存器)。
它们需要由专门的指令管理,其作用是提供段基值,以构成物理地址。
通常它们不能象通用寄存器那样参于算术逻辑运算。
(2)16位指令寄存器IP:
用于存放指令的地址(段内偏移量)。
(3)20位的地址加法器:
将段基址与段内偏移量相加,生成20位的物理地址。
(4)六字节的指令队列:
暂时存放取来的指令。
2、BIU的工作特点
(1)地址加法器用来产生20位地址。
8086可通过20条地址线访问1M字节的内存,而8086内部所有寄存器都是16位(或8位)的,这就需要一个特殊机构根据指令和有关16位寄存器提供的信息来计算出20位的物理地址,20位的地址加法器即可实现这项工作。
(2)8086有一个6字节的指令队列。
8086EU在执行指令的同时,BIU会从内存中取下一条(或几条)指令机器码放在指令队列中。
这样一般情况下CPU执行完一条指令就可以立即执行下一条指令,而不需让CPU轮番进行取指令和执行指令的操作,从而提高了CPU的效率。
三、存贮器的分段和物理地址的形成
8086系统中,CPU可寻址的内存空间为1M存贮单元,每个存贮单元的地址码都是20位的二进制数,而CPU的内部寄存器都是16位的,所以存储器采用特殊的分段方法以适应CPU对他的访问。
1、存贮器的分段:
8086系统将1M的内存空间分为若干段,每段不超过64K。
段与段能连续排列;
也能部分重叠,完全重叠,断续排列。
段数也没有一定限制。
一个存贮单元可以只属于某一段,也可以属于多个互相重叠的段。
从0号地址开始,依次每16个单元的存贮空间叫做一节。
为了简化操作要求所有的段从节首开始,因此,段首地址的低四位一定都是0。
段首地址的高16位叫“段基址”。
从段首起到该段某一存贮单元的地址数称为该单元的段内偏移量,所以每个存储单元的地址是段基址与段内偏移量的和。
根据段中存贮信息的种类,将段分为代码段、数据段、堆栈段和附加段。
当前段的段基址放在相应的16位段寄存器中。
如下图所示。
偏移量可存放在IP、SP或16位通用寄存器中等等。
偏移量的存放和形成方式由指令的寻址方式决定,以后将详细介绍。
CS
1000H
10000H
当前代码段
ES
250AH
250A0H
当前附加段
SS
7FFAH
7FFA0H
当前堆栈段
8FOOH
8F000H
当前数据段
DS
存储器的分段和段寄存器
2、逻辑地址和物理地址
物理地址指某一个单元在存贮器中的20位绝对地址,单元的物理地址是唯一的。
逻辑地址是指存贮单元的段基址和偏移量。
单元的逻辑地址可能不是唯一的。
如果知道了某一单元的段基址和段内偏移量,那么该单元的物理地址是:
物理地址=段基址×
16+偏移量,这就是物理地址和逻辑地址的关系。
任何信息在存贮器中都是以物理地址存贮,而在程序中用逻辑地址表示(编址)的。
在8086运行过程中,每当取指令时CPU就会选择代码段寄存器CS再和指令指针IP的内容一起通过地址加法器形成指令所在单元的20位物理地址。
如下图所示:
段基址(16位)
0000
D15偏移量D0
地址加法器
物理地址(20位)
8086物理地址的形成
例如:
CS=1500H,IP=2700H,
存贮器的物理地址是:
15000H+2700H=17700H,
堆栈操作时CPU选择SS再和堆栈指针SP(或基址指针BP)形成20位堆栈地址。
SS=1100H,SP=2200H,
11000H+2200H=13200H,
当从内存读写数据时CPU选择DS和变址寄存器SI、DI(或BX)中的值形成相应的20位物理地址。
DS=2000H,SI=3500H,
20000H+3500H=23500H,
附加段一般是作为辅助的数据段来用的,我们将会看到,8086对数据串的操作指令多数要用到附加段寄存器。
ES=2100H,DI=5500H,
21000H+5500H=26500H,
四、8086内存的组织和CPU对存贮器的访问
8086系统的内存是按字节编址的,即每个存贮单元中贮存的是一个8位二进制数(一个字节)。
如一个数据的长度为一个字节(8位),它存贮在一个存贮单元中。
如一个数据的长度为两个字节(16位),称之为数据字,它应放在存贮器连续两个存贮单元中,且高字节放高地址单元,低字节放低地址单元。
数据字的地址用其低字节的存贮地址去表示。
下图为数据字330AH和B13CH的存贮情况,数据字330AH的地址是20000H,数据字B13CH的地址是8F001H。
8086系统有20条地址线(A19~A0),可访问的内存空间为1M。
0A
33
┇
┇
3C
B1
20000H
20001H
8F001H
8F002H
数据字的存储
8086系统有16条数据线,可用以一次读(写)内存的两个字节(单元),也可以用高8位或低8位数据总线一次读(写)一个字节(单元)。
1、8086内存的组织形式:
8086系统将其内存贮器分成两个部分,每一部分为512K字节。
一部分叫偶存贮体,其中内存单元的地址码都是偶数如00000H、000002H等,该存贮体的数据总线对应接CPU数据总线的低8位;
另一部分叫奇存贮体,其中内存单元的地址码都是奇数,如00001H、00003H等,该存贮体的数据总线对应接CPU数据总线的高8位。
每个存贮体有19条地址线,两个存贮体的全部地址线对应与CPU的19条地址总线A1~A19相联。
CPU的地址线A0作为偶存贮体的片选信号。
为了实现对奇存贮体的正确访问,8086专门设置了一条控制线(总线高允许信号),并用作为奇存贮体的片选信号,存贮器的组织及其与CPU的联接情况示意如下图。
00000H
00002H
F0000H
F0002H
D7~D0
00001H
00003H
F0001H
F0003H
D15~D8
A1~A19
A0
8086
CPU
D15~D0
8086CPU与存贮器的联接
存贮器的上述组织形式及其与CPU的联接方式决定了CPU对内存的访问情况。
2、CPU对内存的访问:
由上图可以看出;
A0和的取值组合决定了CPU访问内存的对象,其结果如下表所示
8086访问对象与和A0状态的关系
A0
访
问
对
象
奇偶体各一字节(用D15~D0传送单元数据)
1
偶体一个字节(用D7~D0传送单元数据)
奇体一个字节(用D15~D8传送单元数据)
不访问存贮器
3、CPU对数据字的访问
CPU如要访问一个偶地址的数据字(即数据字的低字节放在偶地址单元),那么用D15~D016条数据总线可一次访问成功。
若要访问一个奇地址的数据字(即数据字的低字节在奇地址单元中)到CPU,需要两次访问才能获得这个数据字。
第一次用D15~D8访问奇存贮体的低字节,第二次用D7~D0,访问偶存贮体的高字节。
对于数据字节的访问同学们自行考虑。
8086编程并不涉及上述细节,一条访问内存的指令只是要求明确所访问的特定字(或字节),而实现访问的全部过程都是在CPU的控制下自动完成的。
为了提高对数据字的访问速度,应将数据字的低字节放在偶存贮体中,即使数据字的地址码为偶数。
这样在存贮器中存贮的数据字叫对准字。
而地址码为奇数的数据字叫未对准字。
2.28086微处理器(CPU)的引脚功能
8086CPU属于第三代微处理器,其功能强大,很多引脚具有两种功能。
要正确应用8086CPU,必须了解他的引脚功能,他有40个引脚,采用双列直插是封装。
其封装外形如书图2-9所示。
8086CPU有两种工作方式——最小工作方式和最大工作方式,是由硬件决定的。
在这两种不同工作方式下,CPU有8个引脚具有不同的功能。
一、地址线、数据线和状态线
1、AD15~AD0:
地址/数据分时复用总线。
这16个引脚既可作地址线又可作数据线,即在一个指令周期的前半段传送地址,后半段则传送数据。
传递地址时三态输出,传递数据时可双向三态输入/输出。
2、A19/S6、A18/S5、A17/S4、A16/S3:
地址/状态复用线。
作地址线用时A19~A16与AD15~AD0一起构成访问存贮器的20位物理地址。
当访问I/O时A19~A16保持低电平。
作状态线用时S6~S3用来输出状态信息。
其中S3和S4用于表示当前使用的段寄存器,如下表所示。
应当指出:
当S4S3=10时,表示当前正在使用段寄器CS访问内存;
或者当前正在对I/O端口(或中断失量)寻址,这时不需要使用段寄存器。
S4S3状态编码
S4
S3
段寄存器
CS(I/O,I/T)
S5用来表示标志寄存器FR的中断允许位IF的当前状态,当IF=1时,S5置1,IF=0时,S5置0。
S6状态始终保持低电平。
3、:
总线高位有效信号,也是一条分时复用线,三态输出,低电平有效。
当CPU访问存贮器或I/O端口以及中断响应时与AD0配合表示当前数据总线的使用情况。
S7为状态信号,但这一信号所表示的具体状态目前尚未定义。
二、控制线
1、:
读信号线,三态输出,低电平有效,表示当前CPU正在读存贮器或I/O端口。
2、:
写信号线,三态输出,低电平有效,表示当前CPU正在写存贮器或I/O端口。
存贮器或I/O端口访问信号,三态输出。
为高电平时表示当前CPU正在访问存贮器,为低电平时,表示CPU当前正在访问I/O端口。
4、READY:
准备就绪信号,输入,高电平有效。
READY有效表示CPU访问的存贮器或I/O端口已准备好传送数据。
当READY无效时要求CPU插入一个或多个等待周期TW,直到READY有效再进行数据传送。
5、INTR:
中断请求信号,输入,高电平有效,表示外设向CPU发出可屏蔽中断请求。
CPU在每条指令的最后一个时钟周期测试INTR,一旦测得其为高电平,并且当前中断允许标志IF=1时,则暂停执行下一条指令,转去响应中断。
6、:
中断响应信号,输出,低电平有效,表示CPU响应INTR的中断请求。
7、NMI:
非可屏蔽中断请求信号,输入,高电平有效,表示外设有非可屏蔽中断请求。
CPU一旦测到NMI有效,待当前指令执行完后无论IF为何种取值,立即去响应NMI的请求。
8、:
测试信号,输入,低电平有效。
当CPU执行WAIT指令的操作时每隔五个时钟周期对进行一次检测,若为高电平继续处于等待状态,直至=0时CPU才开始执行下一条指令。
9、RESET:
复位信号,输入,高电平有效,且有效电平至少要保持四个时钟周期。
RESET=1,CPU清除IP、DS、ES、SS、标志寄存器和指令队列,置CS=OFFFFH。
该信号结束后CPU从存贮器的FFFFOH地址开始读取和执行指令。
系统加电和操作员在键盘上进行“RESET”操作可产生RESET信号。
10、ALE:
地址锁存允许信号,输出,高电平有效。
在最小工作方式系统中用来作地址锁存器的锁存信号。
11、:
数据发送/接收控制信号,三态输出。
在最小模式系统中用来控制数据收发器的数据传送方向。
当=1时,表示CPU向外部输出(写);
=0时表示数据自外部送入CPU(读)。
12、:
数据允许信号,三态输出,低电平有效,在最小工作方式中作数据收发器的选通信号。
13、HOLD:
总线请求信号,输入,高电平有效,在最小工作方式中表示有其它共享总线的处理器向CPU请求使用总线。
14、HLDA:
总线请求响应信号,输出,高电平有效。
CPU接到HOLD请求,让出总线使用权时的应答信号,表示对这一请求的响应。
CPU只有当HOLD无效时才将HLDA置成无效,并收回对总线的使用权,继续自己的操作。
15、:
工作模式选择信号。
其接高电平设置CPU工作在最小模式系统中;
当其接低电平时设置CPU工作在最大模式系统中。
三、其它
1、CLK:
8086时钟信号需从外部输入,该信号为8086CPU提供基本定时脉冲,要求其占空比1/3。
2、Vcc:
电源线,要求接+5V电压。
3、GND:
地线。
四、最大工作方式下重新定义的管脚意义
对8086CPU的最大工作模式我们不做要求,同学们可自学。
2.3
8086CPU的工作模式
一、8086CPU的工作模式
用8086CPU构成的微型计算机系统,有最小模式和最大模式两种配置。
最小模式是单微处理器系统,即整个系统中只有一个8086CPU,其中所需要的控制信号全部由8086CPU本身直接提供;
最大模式是多处理器系统,除8086CPU外,还有其他的处理器,所需要的控制信号由8086和总线控制器8288共同提供。
8086CPU工作模式的选择是由硬件决定的,当CPU的管脚接高电平(+5V)时,工作在最小模式;
当接低电平时,工作在最大模式。
前面在介绍管脚功能时已经指出:
两种不同模式下的主要区别体现在8086CPU的第24~31号引脚的功能有所不同。
二、最小模式系统配置
最小模式是8086CPU最基本的配置,为了了解它的工作原理,我们要对最小模式的配置情况情况有一个详细的了解。
书图2-10所示为由8086CPU构成的最小模式系统的基本配置,除8086CPU以外,系统包括:
存贮器、I/O接口时钟发生器8284,地址锁存器8282和数据收发器8286。
1、地址锁存器8282:
8282是8位地址锁存器,三态传输,其引脚和内部逻辑如书图2-11所示。
它有8个输入端DI0~DI7和8个输出端DO0~DO7。
STB是选通信号,是输出允许信号。
当STB=1时允许DI0~DI7上的数据通过锁存电路在STB下降沿在对应触发器中实现数据锁存。
当=0时允许锁存的数据从DO0~DO7线上输出。
=1时,锁存器输出为高阻状态。
8086最小方式系统中需要锁存的数据有20位地址信息和1位高8位数据有效信息,因此需要三片8282。
8282的DI端分别接8086的AD0~AD15,A16/S3~A19/S6和,其输出为A0~A1920条地址总线(称为系统地址总线)和控制线。
三片8282的STB端与8086的地址允许锁存信号ALE相连,8086通过ALE来控制8282锁存地址信息。
直接接地,这样8282输出的总是其中锁存的地址信息。
2、数据收发器8286:
在小型单板机中,AD0~AD15可直接用作数据线。
多数情况下系统有多个接口,8086的AD0~AD15通过收发器8286与外部联接既可简化对接口的要求又可提高数据线的驱动能力。
书图2-10所示就是一个用8286作收发器的系统。
8286的引脚图和内部逻辑图如书图2-12所示。
8286有8路双向缓冲电路,两组数据引脚对称排列。
用A0~A7作输入时B0~B7用作输出;
也可以用B0~B7作输入而用A0~A7作输出,叫输出允许信号,低电平有效。
=0允许数据通过8286传送;
=1不允许数据通过8286传送。
T为收发信号,它的取值决定
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 8086 微处理器