《最新微机原理与接口技术徐惠民第2章PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新微机原理与接口技术徐惠民第2章PPT课件.ppt(74页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、微机原理与接口技术徐惠民第微机原理与接口技术徐惠民第2 2章章第二章 微型计算机中的微处理器内容:8086/8088 CPU的编程结构 80868088 CPU的引腿信号和工作模式 寄存器结构 80868088的存储器组织 8086的IO组织 80868088微处理器典型时序分析 8086/8088的编程结构分两部分:的编程结构分两部分:1、总线接口单元、总线接口单元 BIU(Bus Interface Unit)2、执行部件、执行部件 EU (Execution Unit)8086 CPU的功能结构的功能结构 一、总线接口单元一、总线接口单元 BIU(Bus Interface Unit)1
2、、功能:负责与、功能:负责与 存储器、存储器、I/O 端口进行数据传送。具端口进行数据传送。具体讲:体讲:1)取指令:总线接口部件从内存中取出指令后送)取指令:总线接口部件从内存中取出指令后送到指令队列;到指令队列;2)预取指令:可以预取指令,形成指令队列,其)预取指令:可以预取指令,形成指令队列,其中中8086可以预期可以预期6字节,而字节,而8088可以预取可以预取4个字节;个字节;3)配合)配合EU执行指令,存取操作数和运算结果。执行指令,存取操作数和运算结果。2、组成、组成 段地址寄存器(段地址寄存器(CS、DS、ES、SS)。)。16位指令指针寄存器位指令指针寄存器IP(在(在808
3、6/8088中即中即PC)。)。地址加法器地址加法器(形成形成20位物理地址位物理地址)。6字节(字节(8086)或)或4字节(字节(8088)的指令队列。)的指令队列。输输入入输输出控制出控制逻辑逻辑。3、注注:1)指令队列指令队列 8086 的指令队列为的指令队列为6个字节个字节,8088 的指令队列为的指令队列为4个字节。个字节。2)指令执行顺序指令执行顺序顺序指令执行:指令队列存放紧接在执行指令后面的那顺序指令执行:指令队列存放紧接在执行指令后面的那一条指令。一条指令。执行转移指令:执行转移指令:BIU 清除指令队列中的内容,从新的地清除指令队列中的内容,从新的地址取入指令,立即送往执
4、行单元,然后再从新单元开始址取入指令,立即送往执行单元,然后再从新单元开始重新填满队列。重新填满队列。二、二、EU(Execution Unit)执行单元)执行单元 1、功能:负责指令执行。功能:负责指令执行。2、组成:组成:算术逻辑单元算术逻辑单元ALU:16 位加法器。完成位加法器。完成8位位16位二进制数的算术逻辑运算;位二进制数的算术逻辑运算;4个通用寄存器:个通用寄存器:AX、BX、CX、DX;4个专用寄存器:个专用寄存器:BP、SP、SI、DI;标志寄存器(标志寄存器(FR):为):为16位,存放指令执行结果位,存放指令执行结果的特征和处理器状态,如结果为的特征和处理器状态,如结果
5、为0,为负,单步执,为负,单步执行等。行等。EU 执执行行控控制制部部分分:接接受受从从总总线线接接口口单单元元的的指指令令队队列列中中取取来来的的指指令令代代码码,对对其其译译码码和和向向 EU 内内各各有有关关部部分发出时序命令信号,协调执行指令规定的操作。分发出时序命令信号,协调执行指令规定的操作。由此可见,由此可见,8086/8088微处理器微处理器:BIU和和EU是分开的,其取指和执行可以重迭,大是分开的,其取指和执行可以重迭,大大减少了等待取指所需的时间,提高大减少了等待取指所需的时间,提高CPU的利用率。的利用率。三、三、80868088处理器的启动和程序执行过程处理器的启动和程
6、序执行过程1、CPU的启动的启动 80868088系统中,系统中,CPU被启动后,处理器内部的被启动后,处理器内部的各寄存器和标志寄存器的内容自动设置为:各寄存器和标志寄存器的内容自动设置为:CS FFFFH DS 0000H SS 0000H ES 0000H IP 0000H 指令队列空指令队列空 FR 0000H (禁止中断)(禁止中断)因因CSFFFFH,IP0000,所以,所以80868088将从将从地址地址FFFF0H开始执行指令;故开始执行指令;故80868088引导程序引导程序的入口地址在的入口地址在FFFF0H。2、程序执行过程、程序执行过程 设设程程序序的的指指令令代代码码
7、已已存存放放在在存存贮贮器器中中。为为执执行行程程序序,CPU按按照照时时钟钟节节拍拍,产产生生一一系系列列控控制制信信号,有规则地重复进行以下过程。号,有规则地重复进行以下过程。(1)BIU从存贮器中取出一条指令存入指令队列。从存贮器中取出一条指令存入指令队列。(2)EU从指令队列取指令并执行指令。从指令队列取指令并执行指令。BIU利用利用 总线空闲时间,从内存取第二条指令或取第总线空闲时间,从内存取第二条指令或取第 三条指令存入指令队列。三条指令存入指令队列。(3)EU执行下一条指令。如果前面一条指令有写执行下一条指令。如果前面一条指令有写 存贮器的要求,则通知存贮器的要求,则通知BIU把
8、前条指令结果写把前条指令结果写 到存贮器中,然后再取指令存入指令队列。到存贮器中,然后再取指令存入指令队列。(4)如指令执行要求读取操作数,由)如指令执行要求读取操作数,由BIU完成。完成。(5)EU执行再下一条指令,返回(执行再下一条指令,返回(1)处继续执)处继续执行上述操作过程。行上述操作过程。所以,程序的执行过程就是所以,程序的执行过程就是CPU取指令、取指令、分析指令、执行指令,再取指令这样一个循环分析指令、执行指令,再取指令这样一个循环重复过程。重复过程。在指令执行过程中,在指令执行过程中,利用利用EU分析指令操作分析指令操作码和执行指令时不占用总线操作时间的特点,码和执行指令时不
9、占用总线操作时间的特点,BIU自动地通过总线读取存贮器中的指令码存自动地通过总线读取存贮器中的指令码存入入BIU指令队列,从而使指令队列,从而使BIU与与EU并行工作,并行工作,提高提高CPU执行指令的速度。执行指令的速度。四、四、80868088 CPU的总线周期概念的总线周期概念 在在80868088CPU中中,所所有有读读/写写存存储储器器或或I/O端端口口的操作都是总线接口部件的操作都是总线接口部件BIU通过系统总线完成的。通过系统总线完成的。总总线线周周期期:BIU通通过过系系统统总总线线对对存存储储器器或或IO端端口口进进行行一次读写操作的过程称为一个总线周期。一次读写操作的过程称
10、为一个总线周期。80868088CPU的的一一个个基基本本总总线线周周期期由由4个个时时钟钟周周期期(T1T4)组成,)组成,也称也称4个个T状态。状态。CPU在在每每个个时时钟钟周周期期内内完完成成若若干干个个基基本本操操作作,具具体体是:是:T1状状态态:CPU向向多多路路复复用用总总线线上上发发送送地地址址信信息息指指出出要要寻址的存储单元或外设端口地址。寻址的存储单元或外设端口地址。T2状态:状态:CPU从总线上撤消地址,使总线的低从总线上撤消地址,使总线的低16位位置为高阻抗状态,为传输数据作准备。总线的高置为高阻抗状态,为传输数据作准备。总线的高4位输出本总线周期状态信息;这些状态
11、信息用来表位输出本总线周期状态信息;这些状态信息用来表示中断允许状态、当前正在使用的段寄存器等。示中断允许状态、当前正在使用的段寄存器等。T3状态:状态:CPU在总线的高在总线的高4位继续输出总线周期状位继续输出总线周期状态信号。在总线的低态信号。在总线的低16位出现由位出现由CPU写出的数据,写出的数据,或者从存储器或或者从存储器或IO端口读入的数据。端口读入的数据。T4状态:状态:总线周期结束。总线周期结束。TW等等待待状状态态:如如果果存存储储器器或或IO设设备备不不能能及及时时配配合合CPU传传送送数数据据,这这时时外外设设或或存存储储器器会会通通过过“READY”信信号号线线在在T3
12、状状态态启启动动之之前前向向CPU发发数数据据“未未准准备备好好”信信号号,迫迫使使CPU在在T3状状态态后后插插入入等等待待状状态态TW;TW状状态态的的总总线线情情况况与与T3周周期期的的情情况况相相同同;当当被被选选中中的的存存储储器器或或IO端端口口有有足足够够的的时时间间来来完完成成读读写写操操作作时时,就就发发出出“准准备备好好”Ready)信号,使)信号,使CPU脱离脱离TW状态继续工作。状态继续工作。TI空空闲闲状状态态:如如果果在在一一个个总总线线周周期期之之后后,不不立立即即执执行行下下一一个个总总线线周周期期,或或者者当当指指令令队队列列是是满满的的,执执行行部部件件EU
13、又又没没有有访访问问总总线线的的要要求求,这这时时BIU就就处处于于空空闲闲状状态态;空闲状态,可以包含一个或几个时钟周期。空闲状态,可以包含一个或几个时钟周期。8086/8088 CPU的典型总线周期时序的典型总线周期时序 一、最大和最小工作模式一、最大和最小工作模式 最小工作模式:指系统中只有最小工作模式:指系统中只有80868088一个微处理器,一个微处理器,构成小规模的应用系统;最小模式也称单处理器模式。构成小规模的应用系统;最小模式也称单处理器模式。在最小模式系统中,所有的在最小模式系统中,所有的系统总线信号都直接由系统总线信号都直接由80868088CPU产生。产生。最大工作模式:
14、指系统中包含有两个或两个以上的微处理;一最大工作模式:指系统中包含有两个或两个以上的微处理;一个为主处理器(个为主处理器(80868088CPU),其他的称为协处理器,协),其他的称为协处理器,协助主处理器工作,构成较大规模的应用系统。助主处理器工作,构成较大规模的应用系统。常与主处理器常与主处理器80868088CPU配合的协处理器:一个是专配合的协处理器:一个是专用于用于数值运算数值运算的协处理器的协处理器8087;另一个是专用于;另一个是专用于输入输出操输入输出操作作的协处理器的协处理器8089。最大模式是一个多处理器系统,需要解决主处理器和协处最大模式是一个多处理器系统,需要解决主处理
15、器和协处理器之间的理器之间的协调协调工作问题和对工作问题和对系统总线的共享系统总线的共享控制问题;故在控制问题;故在硬件方面增加了一个总线控制器硬件方面增加了一个总线控制器8288,由其对,由其对CPU发出的控制发出的控制信号进行变换和组合,产生所有的总线控制信号。信号进行变换和组合,产生所有的总线控制信号。2.2 80868088CPU的引脚信号和工作模式的引脚信号和工作模式 二、二、80868088CPU的引脚信号和功能的引脚信号和功能 8088/8086 CPU的引脚的引脚1、AD15AD0(Address/Data Bus)地址数据复用总线)地址数据复用总线 传送地址时三态输出,传送数
16、据时三态双向输入输出。传送地址时三态输出,传送数据时三态双向输入输出。T1状状态态:用用来来输输出出访访问问存存储储器器或或IO端端口口(IO端端口口的的地地址是址是16位的位的)的地址。的地址。T2状状态态:如如果果是是读读周周期期,则则处处于于浮浮空空(高高阻阻)状状态态,如如果果是是写写周周期期,则则为为传传送送数数据据。在在中中断断响响应应及及系系统统总总线线处处于于“保保持持响应响应”周期时,周期时,AD15AD0被置成高阻状态。被置成高阻状态。在在8086系统中,常将系统中,常将AD0为低为低8位数据的选通信号。位数据的选通信号。2、A19S6A16S9(AddressStatus
17、)地址状态复用线)地址状态复用线 作作地地址址线线时时,高高4位位(A19A16)地地址址,与与AD15AD0构构成成20位访问存储器的物理地址。位访问存储器的物理地址。作状态线时,输出状态信息作状态线时,输出状态信息S6S3。3、/S7 (Bus High Enable/Status)高高8位位数数据据总总线线允允许许状状态态复复用用信信号号,低低电电平平有有效效。和和AD0结结合合起起来来,指指出出当当前前传传送送的的数据在总线上将以何种格式出现。数据在总线上将以何种格式出现。4、RD(Read)读信号。输出、三态、低电平有效。)读信号。输出、三态、低电平有效。有有效效时时,表表示示CPU
18、正正在在对对存存储储器器或或IO端端口口进进行行读读操操作作,具具体体是是对对存存储储器器读读,还还是是对对IO端端口口读读,由由 /M(8088为为IO/M)决定。)决定。5、READY存储器或存储器或I/O口口准备就绪信号准备就绪信号,输入。输入。用来使用来使CPU和慢速存储器或和慢速存储器或IO设备之间实现速度匹配的设备之间实现速度匹配的信号信号。该信号来自于被访问的存储器或。该信号来自于被访问的存储器或IO设备。设备。在总线操作在总线操作周期中,周期中,CPU会在每个会在每个T3状态测试该引脚:状态测试该引脚:如果测到高电平则如果测到高电平则有效有效,CPU直接进入第直接进入第4个时钟
19、周期;如果测到低电平则个时钟周期;如果测到低电平则无效无效,CPU将插入等待周期将插入等待周期Tw。CPU在等待周期中仍然要监测在等待周期中仍然要监测READY信号,有效则进入第信号,有效则进入第4个时钟周期,否则继续插入等待个时钟周期,否则继续插入等待周期周期Tw。6、(Test)测试信号,输入、低电平有效。)测试信号,输入、低电平有效。用于协调用于协调80868088CPU与协处理器的工作。与协处理器的工作。该该引引脚脚与与WAIT指指令令配配合合使使用用。当当CPU执执行行WAIT指指令令时时,他他将将在在每每个个时时钟钟周周期期对对该该引引脚脚进进行行测测试试:如如果果无无效效,则则程
20、程序序踏踏步步并并继继续续测测试试;如如果果有有效效,则则程程序序恢恢复复运运行行。也也就就是是说说,WAIT指令使指令使CPU产生等待,直到引脚有效为止。产生等待,直到引脚有效为止。在在使使用用协协处处理理器器8087时时,通通过过引引脚脚和和WAIT指指令令,可可使使8088与与8087的操作保持同步的操作保持同步。7、INTR(Interrupt Request)可可屏屏蔽蔽中中断断请请求求信信号号,输输入入、高高电电平平有有效效。CPU在在每每条条指指令令周周期期的的最最后后一一个个时时钟钟周周期期检检测测此此引引脚脚,一一旦旦测测得得有有中中断断请请求求,并并且且中中断断允允许许标标
21、志志位位IF为为1,则则CPU在当前指令执行结束后,转入中断响应周期。在当前指令执行结束后,转入中断响应周期。8、NMI(NOMaskable Interrupt)不不可可屏屏蔽蔽中中断断请请求求信信号号,输入、高有效。输入、高有效。9、RESET(Reset)复复位位信信号号,输输入入、高高电电平平有有效效。有有效效时时至至少要保留少要保留4个时钟周期。个时钟周期。10、CLK(Clock)主时钟输入端)主时钟输入端11、MN/MX(Maximum Mode Control)最最小小最最大大模模式控制信号。式控制信号。当当此此引引脚脚接接高高电电平平时时,CPU工工作作于于最最小小模模式式;
22、接接低低电电平时,平时,CPU工作于最大模式。工作于最大模式。12、GND、VCC GND为接地端,为接地端,VCC为电源端。为电源端。以以上上信信号号是是80868088CPU工工作作在在最最小小模模式式和和最最大大模模式式时时都都要要用用到到的的。80868088的的第第2431引引脚脚信信号号在在不不同同模式下有不同的名称和定义。模式下有不同的名称和定义。两两种种模模式式下下的的主主要要区区别别体体现现在在第第2431号号引引脚脚的的功功能能定定义不同。义不同。三、最小模式三、最小模式1、引腿信号、引腿信号(1)/M(Memory/Input and Output)存存储储器器输输入入输
23、输出出控控制制信信号号。三三态态、输输出出,用用来来区区分分CPU当当前前是是访访问问存存储储器器还还是是访访问问IO端口。端口。对于对于8088CPU,该信号定义为,该信号定义为IO/,功能相同。,功能相同。(2)(Write)写信号,三态、输出、低电平有效。)写信号,三态、输出、低电平有效。有有效效时时,表表示示CPU当当前前正正在在进进行行写写操操作作。是是写写存存储储器器还还是写是写I/O端口端口,由由 /M来区分。来区分。DMA方式时,方式时,/M被置成高阻态。被置成高阻态。(3)(Interrupt Acknowledge)中断响应信号,输)中断响应信号,输出、三态、低电平有效出、
24、三态、低电平有效 是对中断请求信号是对中断请求信号INTR的响应。的响应。CPU在整个中在整个中断响应周期内发出两个连续的断响应周期内发出两个连续的 负脉冲,第一个负脉冲,第一个负脉冲是通知请求中断的外设,其发出的中断请求负脉冲是通知请求中断的外设,其发出的中断请求已得到响应,外设接口收到第二个负脉冲后,向数已得到响应,外设接口收到第二个负脉冲后,向数据总线上送中断类型码,据总线上送中断类型码,信号通常用来作为读取信号通常用来作为读取中断类码的选通信号。中断类码的选通信号。(4)ALE(Address Latch Enable)地地址址锁锁存存允允许许信信号,输出、高电平有效。号,输出、高电平
25、有效。在在任任何何一一个个总总线线周周期期的的T1状状态态,ALE输输出出有有效效电电平平,表表示示当当前前在在地地址址数数据据复复用用总总线线上上输输出出的的是是地地址址信息,锁存器利用它将地址锁存,信息,锁存器利用它将地址锁存,ALE信号不能浮空。信号不能浮空。(5)DT/(Data Transmit/Receive)数数据据发发送送DT/接接收收控控制制信信号号,输输出出、三三态态。表表明明当当前前总总线线上上数数据据的的流流向向(高高电电平平时时数数据据自自CPU输输出出(发发送送),低低电电平平时时数数据输入据输入CPU(接收)(接收)当当使使用用总总线线收收发发器器82868287
26、时时,可可用用DT/信信号号来控制总线收发器的数据传送方向。来控制总线收发器的数据传送方向。DMA方式时方式时DT/被置为高阻抗状态。被置为高阻抗状态。(6)(Data Enable)数据允许信号,输出、三态、)数据允许信号,输出、三态、低电平有效。低电平有效。有效时,表示当前数据总线上正在传送数据。有效时,表示当前数据总线上正在传送数据。当使用总线驱动器当使用总线驱动器82868287时,时,信号用来作为信号用来作为82868287的输出允许控制信号,使之开始传送数的输出允许控制信号,使之开始传送数据。据。(7)HOLD(Hold Request)总线保持请求信号,输)总线保持请求信号,输入
27、、高电平有效。入、高电平有效。作为其它部件向作为其它部件向CPU发出使用总线的请求信号。发出使用总线的请求信号。(8)HLDA(Hold Acknowledge)总线保持响应信号,)总线保持响应信号,输出、高电平有效。输出、高电平有效。是是CPU对总线保持请求信号对总线保持请求信号HOLD的响应信号。的响应信号。含义000011110011001101010101取指令读存储器写存储器无源状态发中断响应信号读I/O端口写I/O端口暂停、8088中中 、信号的组合及其对应的总线操作信号的组合及其对应的总线操作 注:在最小模式下,注:在最小模式下,8088CPU只有只有8位数据总线,不需要位数据总
28、线,不需要 信号。因此,信号。因此,34引脚定义为引脚定义为 。和和IO/及及DT/信号组信号组合起来,决定了当前总线周期的操作。合起来,决定了当前总线周期的操作。2、系系 统统 配配 置置 8086 CPU在最小模式下的基本配置 最最小小组组态态工工作作模模式式下下总线的形成。总线的形成。(1)20位地址总线位地址总线:采采用用3个个三三态态透透明明 锁锁存存器器8282进进行行锁锁存存和驱动和驱动.(2)16位数据总线位数据总线:采采用用数数据据收收发发器器8286进行驱动进行驱动.(3)系统控制信号)系统控制信号:由由CPU引引脚脚直直接接提提供供.Intel 8282锁存器锁存器具有三
29、态输出的具有三态输出的TTL电平锁存器电平锁存器STB 电平锁存引脚电平锁存引脚OE 输出允许引脚输出允许引脚每一位都是一个三态锁存器,每一位都是一个三态锁存器,8个三态锁存器的控制端连在一起个三态锁存器的控制端连在一起 8位双向缓冲器位双向缓冲器控制端连接在一起控制端连接在一起,低电平有效低电平有效可以双向导通可以双向导通输出与输入同相输出与输入同相 OE0,导通,导通 T1 AB T0 AB OE1,不导通,不导通每一位都是一个双向三态门,每一位都是一个双向三态门,8位具有共同的控制端位具有共同的控制端Intel 8286总线收发器四四、最大模式、最大模式1、信号引腿、信号引腿 (1)QS
30、1,QS0(Instruction Queue Status)指令队列状态信号,输出。)指令队列状态信号,输出。信号信号QS1,QS0的组合用来指示的组合用来指示CPU内的指令队列的当前状态,以便外内的指令队列的当前状态,以便外 部对部对CPU内指令队列的动作跟踪。内指令队列的动作跟踪。(2),(Bus Cycls Status)总线周期状态信号输出。)总线周期状态信号输出。状态信号的不同组合,指出状态信号的不同组合,指出CPU在当前总线周期所进行的操作类型。最在当前总线周期所进行的操作类型。最 大大模模式式中中,总总线线控控制制器器8288利利用用这这些些状状态态信信号号进进行行组组合合,产
31、产生生访访问问存存储储器器 和和IO端口的控制信号。端口的控制信号。(3)RQ/GT0,RQ/GT1(Request/Grant)总总线线请请求求信信号号输输入入总总线线请请求求允允许信号,许信号,输出。输出。在最大模式系统中,主在最大模式系统中,主CPU和其他协处理器间交换总线使用权的联络控和其他协处理器间交换总线使用权的联络控 制信号。制信号。GT0 的优先级高于的优先级高于GT1。(4)(lock)总线封锁信号,输出。)总线封锁信号,输出。有有效效时时,表表明明此此时时CPU不不允允许许其其他他总总线线主主模模块块占占用用总总线线。在在DMA期间,期间,被置为高阻抗状态。被置为高阻抗状态
32、。2、系统配置、系统配置 8086在最大模式下的系统基本配置 总线控制器总线控制器8288芯片的引脚和内部结构。芯片的引脚和内部结构。来自来自80868088CPU的总线状态信号的总线状态信号 ,经经8288状态译码器译码后,与输入控制信号状态译码器译码后,与输入控制信号 ,CEN和和IOB相互配合,产生总线命令信号和总线控制信号。相互配合,产生总线命令信号和总线控制信号。8288的引脚及内部结构框图 1、通用寄存器、通用寄存器 通用寄存器包括:通用寄存器包括:数据寄存器、地址指针寄存器、变址寄存器。数据寄存器、地址指针寄存器、变址寄存器。数据寄存器包括数据寄存器包括:AX、BX、CX、DX。
33、地址指针寄存器包括地址指针寄存器包括:SP、BP。变址寄存器包括变址寄存器包括:SI、DI。2、段寄存器、段寄存器 段寄存器包括段寄存器包括:CS、SS、DS、ES。3、控制寄存器、控制寄存器 控制寄存器包括:控制寄存器包括:IP、PSW。2.3 寄存器结构寄存器结构1、通用数据寄存器、通用数据寄存器 AX、BX、CX、DX 作为通用寄存器。作为通用寄存器。用来暂存计算过程中所用到的操作数,结果或其它信息。用来暂存计算过程中所用到的操作数,结果或其它信息。访问形式访问形式:可以用可以用16位的访问位的访问;或者可以用字节(或者可以用字节(8位)形位)形 式访问式访问.高高8位记作位记作:AH、
34、BH、CH、DH。低低8位记作位记作:AL、BL、CL、DL。AX(Accumulator)累加器。)累加器。它是算术运算的主要寄存器。它是算术运算的主要寄存器。所有所有I/O指令都使用这一寄存器与外部设备交换数据。指令都使用这一寄存器与外部设备交换数据。BXBase用作基址寄存器使用。用作基址寄存器使用。在计算内存储器地址时,经常用来存放基址。在计算内存储器地址时,经常用来存放基址。CXCount可以作计数寄存器使用。可以作计数寄存器使用。DXData可以作为数据寄存器使用。可以作为数据寄存器使用。一一般般在在双双字字长长乘乘除除法法运运算算时时,把把DX和和AX组组合合在在一一起起存存放一
35、个双字长放一个双字长(32位位)数,数,DX用来存放高用来存放高16位。位。2、地址指针与变址寄存器地址指针与变址寄存器 SP、BP、SI、DI 四个四个16位寄存器。位寄存器。以字为单位在运算过程中存放操作数,以字为单位在运算过程中存放操作数,经常用以在段内寻址时提供偏移地址。经常用以在段内寻址时提供偏移地址。段地址段地址 :只取段起始地址高只取段起始地址高16位值。位值。偏移地址偏移地址:指在段内某内存单元物理地址相对段起始地址的偏指在段内某内存单元物理地址相对段起始地址的偏移值。移值。SP:为堆栈指针寄存器,指出当前堆栈段中栈顶的偏移地址,:为堆栈指针寄存器,指出当前堆栈段中栈顶的偏移地
36、址,与与SS联用。联用。BP:为对堆栈操作的基址寄存器。:为对堆栈操作的基址寄存器。BP中存放的是堆栈中某一中存放的是堆栈中某一存储单元的偏移地址,不是指栈顶。通常和存储单元的偏移地址,不是指栈顶。通常和SS联用。联用。SI:为源变址寄存器,与数据段寄存器:为源变址寄存器,与数据段寄存器DS联合使用,确定数联合使用,确定数据段中某一存储单元的地址。据段中某一存储单元的地址。DI:为目的变址寄存器,与数据段寄存器:为目的变址寄存器,与数据段寄存器DS联合使用,确定联合使用,确定数据段中某一存储单元的地址。数据段中某一存储单元的地址。SI和和DI具有自动增量和减量的功能。在串操作指令中,具有自动增
37、量和减量的功能。在串操作指令中,SI、DI隐含作为源变址和目的变址寄存器。对其他的指令,则没有这隐含作为源变址和目的变址寄存器。对其他的指令,则没有这种限制。种限制。3、段寄存器、段寄存器段寄存器段寄存器:4个个16位段寄存器位段寄存器CS、DS、SS、ES。用来识别当前可寻址的四个段,不可互换的使用。用来识别当前可寻址的四个段,不可互换的使用。CSCode Segment Register 代码段寄存器代码段寄存器 用来识别当前代码段(程序一般放在代码段)。用来识别当前代码段(程序一般放在代码段)。DSData Segment Register数据段寄存器数据段寄存器 用来识别当前数据段寄存
38、器。用来识别当前数据段寄存器。SSStack Segment Register堆栈段寄存器,堆栈段寄存器,用来识别当前堆栈段。用来识别当前堆栈段。ESExtra Segment Register附加段寄存器,附加段寄存器,用来识别当前附加段。用来识别当前附加段。4、指令指针寄存器、指令指针寄存器用来存储代码段中的偏移地址用来存储代码段中的偏移地址;程序运行过程中程序运行过程中IP始终指向下一次要取出的指令偏移地址。始终指向下一次要取出的指令偏移地址。IP要与要与CS寄存器相配合才能形成真正的物理地址。寄存器相配合才能形成真正的物理地址。5、标志寄存器、标志寄存器FR 由条件码标志由条件码标志F
39、LAG、控制标志构成。、控制标志构成。只用了其中只用了其中9位位,6位条件码标志位条件码标志,3位控制标志。位控制标志。状态标志位状态标志位:用来记录程序中运行结果的状态信息。用来记录程序中运行结果的状态信息。包括包括6位:位:CF、PF、AF、ZF、SF、OF。CF 进位标志进位标志 CF=1:从最高有效位产生进位值(或借位)。:从最高有效位产生进位值(或借位)。CF=0:从最高有效位不产生进值(或借位)。:从最高有效位不产生进值(或借位)。PF 奇偶标志奇偶标志 PF=1:结果操作数低结果操作数低8位中有偶数个位中有偶数个1。PF=0:结果操作数低结果操作数低8位中有奇数个位中有奇数个1。
40、AF 辅助进位标志辅助进位标志AF=1:第:第3位(半个字节)产生进位值。位(半个字节)产生进位值。AF=0:第:第3位(半个字节)不产生进位值。位(半个字节)不产生进位值。ZF 零标志零标志 ZF=1:运算结果为:运算结果为0。ZF=0:运算结果不为:运算结果不为0。SF 符号标志符号标志 SF=1:运算结果的符号为负。:运算结果的符号为负。SF=0:运算结果的符号为正。:运算结果的符号为正。OF 溢出标志溢出标志 OF=1:在在运运算算过过程程中中,如如操操作作数数超超过过了了机机器器表表示示的的范范围围称称为溢出。为溢出。OF=0:在在运运算算过过程程中中,如如操操作作数数未未超超过过了
41、了机机器器能能表表示示的的范范围称为不溢出。围称为不溢出。IF中断标志中断标志 位位 IF=1,允许外部可屏蔽中断。允许外部可屏蔽中断。IF=0,关闭中断。关闭中断。CPU禁止响应可屏蔽中断请求。禁止响应可屏蔽中断请求。DF(Direction Flag)方向标志,用来控制串操作指令标志。)方向标志,用来控制串操作指令标志。DF0,地址指针为自动递增,地址指针为自动递增 DF1,地址指针自动递减。,地址指针自动递减。由由STD指令可使指令可使DF置置1,用,用CLD指令可使指令可使DF清清0。TF 单步标志。单步标志。TF1时时,CPU为为单单步步工工作作方方式式,每每执执行行完完一一条条指指
42、令令就就自自动动产产生生一一次次内内部部中中断断。用用在在调调试试程程序序,可可使使用用户户逐逐条条跟跟踪踪程程序序。控制标志一旦设置,便对处理器的操作产生控制作用。控制标志一旦设置,便对处理器的操作产生控制作用。控制标志控制标志:对控制标志位进行设置后对控制标志位进行设置后,对其后的操作起控制作用对其后的操作起控制作用 8086 CPU寄存器结构图 标志标志:SF=0;ZF=0;PF=0;CF=0;AF=0;OF=0。例例1:执行两个数的加法,分析对标志位的影响。:执行两个数的加法,分析对标志位的影响。标志标志:SF=1;ZF=0;CF=0;OF=1;PF=1;AF=1。例例2:执行两个数的
43、加法,分析对标志位的影响。:执行两个数的加法,分析对标志位的影响。2.4 8086 存储器组织存储器组织 1、存储单元的地址和内容、存储单元的地址和内容 2、8086存储器的分体结构存储器的分体结构 3、存储器的分段、存储器的分段 4、物理地址的形成、物理地址的形成1、存储单元的地址和内容、存储单元的地址和内容存储单元地址:存储单元地址:就是对存储单元的编号。80868088系统中,存储器是按照字节编址的,即一个存储单元存放一个字节的内容。存储单元内容:存储单元内容:是指一个存储单元中的有效信息。8086/8088 系统字长是16位的,由二个字节组成。所以当一个字存入存储器时需要占用相继的二个
44、存储单元:低位字节存入低地址单元,高位字节存入高地址单元。低位字节存入低地址单元,高位字节存入高地址单元。字单元的地址采用它的低地址来表示。2、8086存储器的分体结构存储器的分体结构 在在8086系统中,将其可寻址的系统中,将其可寻址的1 MB存储器分为两个存储器分为两个512 KB的存的存储体,即奇地址存储体和偶地址存储体,各为储体,即奇地址存储体和偶地址存储体,各为512 KB。奇地址存储体与系统高奇地址存储体与系统高8位数据总线相连,偶地址存储体与系统位数据总线相连,偶地址存储体与系统低低8位数据总线相连。所以,访问存储器时,读写偶地址体时,数位数据总线相连。所以,访问存储器时,读写偶
45、地址体时,数据从低据从低8位数据总线上传送。读写奇地址体时,数据从高位数据总线上传送。读写奇地址体时,数据从高8位数据位数据总线上传送。奇偶存储体的选择由总线上传送。奇偶存储体的选择由 信号决定。信号决定。存储器分体结构单元示意图 8086系统中存储器与总线的连接 内存中数据的存放规则是一个字节数据可以存放内存中数据的存放规则是一个字节数据可以存放在奇地址体,也可以在偶地址体,字节地址就是存储在奇地址体,也可以在偶地址体,字节地址就是存储单元的实际地址。一个字(单元的实际地址。一个字(16位)数据占连续的二个位)数据占连续的二个单元,高字节存放高地址,低字节存放低地址,并将单元,高字节存放高地
46、址,低字节存放低地址,并将低字节的地址作为该字的字地址。低字节的地址作为该字的字地址。CPU访问存储器规访问存储器规则是:一次读写一个字,并且均从偶地址开始。所则是:一次读写一个字,并且均从偶地址开始。所以读写字、字节就会有几种不同的情况。以读写字、字节就会有几种不同的情况。A0操作操作所用的数据总所用的数据总线线00存取规则字(从偶地址开始读写一个字)存取规则字(从偶地址开始读写一个字)AD15AD010从偶地址内存单元或从偶地址内存单元或IO端口读写一个字节端口读写一个字节AD7AD001从奇地址内存单元或从奇地址内存单元或IO端口读写一个字节端口读写一个字节AD15AD80110从奇地址
47、开始读写从奇地址开始读写一个(非规则)字一个(非规则)字第一总线周期高第一总线周期高8位数据有位数据有效效AD15AD8AD7AD0第二第二总线总线周期低周期低8位数据有位数据有效效代码组合及对应的存取操作代码组合及对应的存取操作 读写一个字节:只须访问某个存储体(奇体或偶体),读写一个字节:只须访问某个存储体(奇体或偶体),相应的相应的8位数据在数据总线上有效,而另一个字节的数据被位数据在数据总线上有效,而另一个字节的数据被忽略忽略 读/写偶地址字节 读/写奇地址字节 读写一个字:读写一个字:若该字单元地址是从偶地址开始的,则只须执行一个总线读写周期便可完成对该字的读写操作;若该字地址从奇地
48、址开始,则CPU需要执行连续的二个总线读写周期才能完成对该字的读写,第一次取奇地址体上数据,偶地址体上的8位数据被忽略,第二次取偶地址体上数据,奇地址体上8位数据被忽略。读/写偶地址字 第一个总线周期 第一个总线周期 读/写奇地址字 3、存储器地址分段:、存储器地址分段:8086/8088有有20条地址总线,直接寻址能力为条地址总线,直接寻址能力为220=1M字节。字节。用用16进制数表示进制数表示1M字节的地址范围应为字节的地址范围应为00000HFFFFFH。CPU中中的的寄寄存存器器是是16位位的的,20位位地地址址无无法法用用16位位寄寄存存器器表表示示,必须分段。必须分段。程序员在编
49、制程序时把存储器划分成段。程序员在编制程序时把存储器划分成段。段内地址段内地址16位位,每个段的大小最大可达每个段的大小最大可达64KB;20位物理地址形成位物理地址形成 物理地址:物理地址:在在1M字节存储器里,每个存储单元都有一个唯一的字节存储器里,每个存储单元都有一个唯一的20位地位地址作为该存储单元的物理地址。址作为该存储单元的物理地址。CPU访问存储器时,必须先确定所要访问的存储单元的物理访问存储器时,必须先确定所要访问的存储单元的物理地址才能取出(或存入)该单元中的内容。地址才能取出(或存入)该单元中的内容。20位物理地址形成:由位物理地址形成:由16位段地址和位段地址和16位偏移
50、地址组成。位偏移地址组成。段地址段地址:只取段起始地址高只取段起始地址高16位值。位值。偏移地址偏移地址:指在段内某内存单元物理地址相对段起始地址的偏移指在段内某内存单元物理地址相对段起始地址的偏移值。值。物理地址计算方法:物理地址计算方法:即把段地址左移即把段地址左移4位再加上偏移地址值形成物理地址,写成:位再加上偏移地址值形成物理地址,写成:物理地址物理地址=16d 段地址段地址+偏移地址。偏移地址。每个存储单元只有唯一的物理地址。每个存储单元只有唯一的物理地址。但可由不同的段地址和不同的偏移地址组成。但可由不同的段地址和不同的偏移地址组成。存储器物理地址的计算方法 段地址与偏移地址关系示