微机原理第2章戴小文_第1页
微机原理第2章戴小文_第2页
微机原理第2章戴小文_第3页
微机原理第2章戴小文_第4页
微机原理第2章戴小文_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章8086微处理器及其系统结构戴小文

邮箱:xwdai678@163.com1328086微处理器8086的时钟和总线周期8086系统的存储器管理内容21)取指令:1、CPU解释一条指令的步骤一、指令和程序的解释步骤和方式2)执行指令:图2-1指令存放示意图……..指令码1指令码2指令码n内存完成指令规定的操作。如取数据、执行运算或控制、回送结果等。从内存单元取出指令第一节8086微处理器3顺序解释方式:一条指令的两个阶段执行完后,才开始执行下一条指令。2、CPU解释一条指令的方式重叠解释方式:前一条指令的执行和后一条指令的取指同步完成。相邻两条指令的解释在时间上有部分重叠。第一节8086微处理器4取指1执行1取指2执行2取指3执行3取指4执行4顺序解释重叠解释取指1执行1取指2执行2取指3执行3取指4执行4时间图2-2指令和程序的解释方式二、

8086微处理器内部结构及工作原理

1、内部结构:第一节8086微处理器5图2-38086CPU内部结构图执行单元EU总线接口单元BIU通用寄存器AHALBHBLCHCLDHDLSPBPDISI∑总线控制逻辑8086总线指令队列缓冲器EU控制系统ALUFLAGS暂存寄存器AB(20位)ALU数据总线(16位)AXBXCXDX地址形成器123456Q总线(8位)DB(16位)段寄存器CSDSSSES

IP

内部通信寄存器第一节8086微处理器6从功能上,8086CPU可分为两大部分:执行部件EU和总线接口部件BIU。执行部件EU:组成:EU控制系统、通用寄存器、算术逻辑单元ALU、标志寄存器FR、功能:从指令队列缓冲器中取出预先存入的指令代码,将其译码并执行,完成指令规定的操作。包括算术逻辑运算、有效地址的计算、寄存器和指令操作数的管理。第一节8086微处理器7功能:实现8086CPU与存储器和外部设备之间的信息传送。总线接口部件BIU:形成指定内存单元或I/O端口的物理地址从指定内存区域或I/O端口读取指令所需要的操作数从内存指定区域取出指令送到指令队列缓冲器将指令执行结果送入内存或I/O端口指定位置组成:段寄存器、指令指针IP、地址形成器、总线控制逻辑、指令队列缓冲器第一节8086微处理器8指令队列缓冲器:FIFO存储器,是实现重叠解释的关键部件。①队列缓冲器中只要有两个字节为空,BIU便自动执行取指操作,相邻单元的指令字节取入缓冲器,直到缓冲器满为止。②缓冲器中只要有一条指令,EU就开始执行。

注意:一般情况下,程序顺序执行,当EU执行到跳转指令时,BIU就使指令队列清零,然后从新地址取出指令重新填入队列缓冲器。2、工作原理

EU和BIU并行工作,实现指令的重叠解释8086指令重叠解释方式的实现过程:第一节8086微处理器9三、8086的内部寄存器AX累加器BX基址CX计数DX数据数据寄存器堆栈指针基址指针源变址目的变址指针寄存器变址寄存器状态标志指令指针控制寄存器代码段数据段堆栈段附加数据段段寄存器通用寄存器AHALBHBLCHCLDHDLSPBPSIDIFLAGSIPCSDSSSES15870图2-4 8086/8088内部寄存器大多数算术和逻辑运算指令都可以使用注意:用户程序不能直接访问IP位于EU中位于BIU中108086的内部寄存器AX累加器BX基址CX计数DX数据数据寄存器堆栈指针基址指针源变址目的变址指针寄存器变址寄存器状态标志指令指针控制寄存器代码段数据段堆栈段附加数据段段寄存器通用寄存器AHALBHBLCHCLDHDLSPBPSIDIFLAGSIPCSDSSSES15870图2-4 8086/8088内部寄存器大多数算术和逻辑运算指令都可以使用注意:用户程序不能直接访问IP位于EU中位于BIU中11标志寄存器FlAGS:控制标志状态标志D15D7D0OFDFIFTFSFZFAFPFCFCF:进位标志位进行加法或减法时,若最高位发生进位或借位则CF=1,否则CF=0PF:奇偶标志位逻辑运算结果中“1”的个数为偶数时PF=1,否则PF=08086的内部寄存器12TF:跟踪标志位TF=1使CPU处于单步执行指令的工作方式。DF:方向标志用于控制串操作指令执行时的步进方向,该位为“1”,则串操作指令按地址递减的顺序对串进行操作,否则按地址递增的顺序进行操作。IF:中断允许标志位

IF=1使CPU可以响应可屏蔽中断请求。IF=0使CPU禁止响应可屏蔽中断请求。对不可屏蔽中断及内部中断没有影响。8086的内部寄存器13OF:溢出标志位当带符号数的算术运算结果发生溢出时OF=1,否则OF=0AF:辅助进位位

在字节操作由低半字节向高半字节有进位或借位;或在字操作时,由低字节向高字节有进位或借位时AF=1,否则AF=0ZF:零标志位

当运算结果为零时ZF=1,否则ZF=0SF:符号标志位

当运算结果的最高位为1时SF=1,否则SF=08086的内部寄存器148086复位后各寄存器的状态:

寄存器

寄存器

FLAGS

0000H

DS

0000H

IP

0000H

ES

0000H

指令队列

SS

0000H

CS

FFFFH

其余寄存器

0000H

8086复位后执行的第一条指令的逻辑地址为FFFF:0000H8086的内部寄存器15地址数据总线四、8086的引脚信号GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND14023933843753663573483393210311130122913281427152616251724182319222021VccAD15A16/S3A17/S4

A18/S5A19/S6BHE/S7MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET8086CPU图2-48086引脚

A19~A16/S6~S3:地址/状态分时复用总线。高4位地址和CPU的状态信息分时复用AD15---AD0:地址/数据分时复用总线,16位双向三态总线。BHE/S7:数据高允许/状态分时复用信号,输出,与地址总线的最低位AD0配合16ALE:

为地址锁存允许信号(输出)INTR:

可屏蔽中断请求信号(输入)MN/MX:

最小/最大方式控制线(输入)M/IO:

为存储器/I/O控制信号(输出,三态)INTA:

为中断响应信号(输出,三态)RESET:复位请求,输入有效时,使CPU回到初始态。控制总线RD:

读控制信号(输出)WR:写控制信号(输出)

四、8086的引脚信号17最大方式:

MN/MX接地。8086和专用的总线控制器共同提供系统所需的总线控制信号。注:最小方式常用于构成小规模的应用系统。如单处理机系统。最大方式常用于构成较大规模的应用系统,如带数值运算协处理器8087或带I/O协处理器8089的多处理机系统。五、8086的工作方式最小方式:

MN/MX接高电平。8086处理器提供系统所需的全部总线控制信号。18六、8086系统的基本配置系统所需的控制信号都直接由8086产生。所谓系统的基本配置,指的是如何利用8086的引脚信号形成系统三总线。1.最小方式下的基本配置8086CPU、存储器、I/O接口电路时钟发生器、地址锁存器、数据收发器。19图2-58086最小方式下的基本配置时钟发生器CLKREADYRESETMN/MXRDWRM/IOALEBHEA19~A16AD15~AD0地址锁存器总线收发器DENDT/R存储器I/O接口VCC8086CPU数据总线地址总线控制总线BHEINTAINTR六、8086系统的基本配置20ALE:

为地址锁存允许信号(输出)INTR:

可屏蔽中断请求信号(输入)MN/MX:

最小/最大方式控制线(输入)M/IO:

为存储器/I/O控制信号(输出,三态)INTA:

为中断响应信号(输出,三态)RESET:复位请求,输入有效时,使CPU回到初始态。控制总线RD:读控制信号(输出)WR:写控制信号(输出)

21总线收发器的作用:用来对AD15~AD0上的数据进行缓冲和驱动,形成16位系统数据总线,并控制数据传送的方向。地址锁存器的作用:用于锁存地址/数据总线(AD15~AD0)和地址/状态总线(A19~A16/S6~S3)中的地址信息以及信息,形成20位系统地址总线

。BHE

2.最大方式下的基本配置

许多总线控制信号都通过总线控制器8288产生。比最小方式的基本配置多加了一片8288总线控制器。22时钟发生器CLKREADYRESETMN/MXS0S1S2BHEA19~A16AD15~AD0地址锁存器总线收发器存储器I/O接口GND8086CPU数据总线地址总线

8288

总线控制器S0S2S1INTAMRDCMWTCIORCIOWCDENDT/RALEBHE控制总线图2-68086最大方式下的基本配置

23一、存储器的分段管理第二节8086系统的存储器管理8086微处理器内部数据通路和寄存器都是16位的,内部的ALU也只能进行16位数据的计算,寻址的访问为:2的16次方=64K字节。为了能寻址1M字节地址,必须对内存实行分段管理。242、分段管理的必要性8086内部地址寄存器为16位;寻址范围:216=64KB无法访问1MB(20位地址)的内存,因此8086对1MB的内存采用分段管理。3、分段方法根据功能,将1M字节的存储空间分为代码段、堆栈段、数据段和附加段。2)每个段最多216=64KB个单元;1)每个段由地址连续的若干单元构成;每条指令能够给出最多16位的直接地址;3)每个段相对独立,可独立访问其中的任意单元;

254)各段可相邻或重叠注意:每个段的第一个字节的位置称为“段起始地址”,段起始地址是个能被16整除的数,即:低4位一般为0。段起始地址中的高16位称为段基值。CPU要访问的段内某内存单元的位置相对于段起始地址的距离称为段内偏移量(16位)。

都是16位二进制无符号数CS:存放代码段的段基值DS:存放数据段的段基值SS:存放堆栈段的段基值ES:存放附加段的段基值段寄存器段内偏移量也常称作偏移地址或有效地址(EA).26例:8086为某程序在内存中分配出如图所示的四个逻辑段:则各段寄存器的内容为:DS=3000HSS=32FFHES=4ABBHCS=1234H代码段数据段堆栈段附加段12340H30000H32FF0H4ABB0H32FF1H12344H12344H单元的段内偏移量为0004H。27物理地址4、物理地址和逻辑地址

物理地址又称实际地址PA(PhysicalAddress),是CPU和存储器进行数据交换(读写操作)时所采用的地址。

在8086系统中,每个内存单元的物理地址是20位的二进制数,28是程序员在程序中读写内存单元时使用的地址。由两部分组成,即段基值(16位二进制无符号数)和段内偏移量(16位二进制无符号数)。内存单元的逻辑地址的一般表示:段基值:段内偏移量注:段基值和段内偏移量合称为32位地址指针。

逻辑地址的组成:逻辑地址2912345H12344H12343HA12342H12341H12340H偏移量段首单元例2.2:设某数据段如图所示,其段首单元的物理地址为12340H,则单元A的逻辑地址为多少?1234H:0003H故单元A的逻辑地址为段内偏移量为12343H-12340H

=0003H段基值为1234H解:

5、物理地址到逻辑地址的转换段基址30注意:编程时,程序员在程序中均采用逻辑地址来给出需要访问的存储器单元的地址。而CPU访问内存时,需将逻辑地址转换为物理地址(20位),再行访问。6、逻辑地址到物理地址的转换由BIU中20位的地址形成器自动完成转换。具体方法:将逻辑地址中的段基值左移4位(或乘以16)和偏移量相加,如下图所示:31

16位段基值000016位段内偏移量+)20位物理地址

即:16位段基值16位段内偏移量16位段基值0000∑20位物理地址地址形成器32例2.3:若某内存单元的逻辑地址为8915H:0100H,求该单元的物理地址(PA)。物理地址(PA)=解:89150

H+)0100H89250H=89250H89150H+0100H例2.4:若某内存单元的逻辑地址为1362H:3843H,求该单元的物理地址(PA)。物理地址(PA)=解:

13620

H+)3843H

16

E6

3H=16

E6

3

H13620H+3843H337、逻辑地址的来源

操作类型隐含的段基值可替换的段基值偏移地址取指令CS无IP堆栈操作SS无SPBP用作基址寄存器SSCS、DS、ESEA通用数据读写DSCS、SS、ESEA字符串操作(源地址)DSCS、SS、ESSI字符串操作(目的地址)ESCS、SS、DSDI隐含寻址代码段隐含寻址附加段隐含寻址堆栈段隐含寻址数据段341、数据类型字节数据——8位,Byte;字数据——16位,Word;双字数据——32位,Doubleword。存储单元都为8位,每个单元只能存放8位(一个字节)的数据。2、数据存放格式从低位到高位,从小地址到大地址。二、存储器中数据的类型和存放格式3532位逻辑地址的存放格式:

低八位放在地址较小的单元,

高八位后放在地址较大的单元放于4个连续的内存单元内。偏移地址放在较小地址单元,段基值放在较大地址单元;偏移地址和段基值再分别按16位字数据格式存放。字数据的存放格式:

双字数据的存放格式:

从低到高分成四个字节,从低字节到高字节由小地址到大地址依次存放。二、存储器中数据的类型和存放格式363、字节地址和字地址存储器每个单元的地址或每个字节数据的地址;字数据在内存单元中的地址。一般取为低字节所在单元的地址。字节地址:字地址:二、存储器中数据的类型和存放格式3712H20000H××20001H××20002H××20003H34H20000H12H20001H××20002H××20003H78H20000H56H20001H34H20002H12H20003H字节数据12H字数据1234H逻辑地址1234H:5678H字地址字节地址例2.5:分别画出字节数据12H、字数据1234H、逻辑地址1234H:5678H的存放示意图(设各数据的起始地址均为20000H)。384、规则字和非规则字规则字:字地址为偶数的字数据。(从偶地址单元开始存放的字数据。

)(从奇地址单元开始存放的字数据。)非规则字:字地址为奇数的字数据。20003H××20002H××200

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论