微处理器的编程结构.ppt_第1页
微处理器的编程结构.ppt_第2页
微处理器的编程结构.ppt_第3页
微处理器的编程结构.ppt_第4页
微处理器的编程结构.ppt_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

第3章8086/8088微处理器,3.18086微处理器的结构功能结构、编程结构、引脚信号3.28086存储器组织和管理,重点掌握处理器的编程结构及存储器组织和管理,8086微处理器是Intel系列的16位微处理器,内部包含约29000个半导体管。16根数据线,可以同时处理16位二进制数据20根地址线,可用20位二进制数码编写地址,存储器以字节(8位二进制数据)为单位组织存储,可寻址的地址空间可达220,即1M字节时钟频率为5MHz,工作时,只要一个5V电源,除了数据总线宽度不同外,8088与8086在其他方面几乎完全相同。它们的另一个突出特点是其多重处理的能力,能极方便的和数值数据处理器(NPX)8087,输入输出I/O处理器(IOP)8089或其他处理器组成多处理器系统,大幅度提高系统数据吞吐能力和数据处理能力。,8086/8088微处理器简介,3.1.18086/8088的功能结构,一、总线接口部件BIU,功能:负责微处理器与存储器、I/O接口传送数据。包括取指令、传送数据和形成20位的物理地址。CPU执行指令时,总线接口部件要配合执行部件从指定的内存单元或者外设端口中取数据或指令,将数据先放入“指令队列”排队,当需要时,再由执行部件EU从中取出;或者把执行部件EU的操作结果传送到指定的内存单元或外设端口中。,(1)4个16位的段地址寄存器:CS16位的代码段寄存器:用来存放当前程序所在段的段基;DS16位的数据段寄存器:用来存放当前程序所用数据段的段基址;ES16位的扩展段寄存器:用来存放辅助数据所在段的段基址;SS16位的堆栈段寄存器:用来存放当前程序所用堆栈段的段基(2)16位的指令指针寄存器IP:用来存放下一条指令的偏移地址,IP在当前程序运行中能够进行自动加1的修正,使其指向下一条指令;(3)20位的地址加法器:用来形成20位的物理地址;(4)6字节的指令队列缓冲器。(5)总线控制部件,用来产生并发出总线控制信号,实现对存储器、I/O端口的读写控制,并将内部总线与外部总线相连接。,总线接口部件的组成部分:,二、执行部件EU,ALU算术逻辑运算单元PSW标志寄存器存放运算结果特征寄存器组存放中间结果EU控制器取指令控制、时序控制,指令译码、执行指令向BIU提供逻辑地址的偏移量管理通用寄存器和标志寄存器,功能:,组成:,(1)算术逻辑单元ALU:进行算术、逻辑运算,以及按照寻址方式计算寻址单元的偏移量。(2)暂存器:协助ALU完成运算,暂时存放参加运算的数据。(3)16位的标志寄存器FR:存放控制标志和反映CPU运行的状态特征。,(4)通用寄存器组:包括4个通用寄存器,即AX(也称累加器)、BX、CX、DX;以及4个专用寄存器:基数指针寄存器BP:存放数据段中某一单元的偏移地址;也可指示堆栈段中某一单元的偏移地址;堆栈指针寄存器SP:存放堆栈栈顶偏移地址;源变址寄存器SI:与数据段寄存器DS连用,确定数据段中某一存储单元的地址;目的变址寄存器DI:与数据段寄存器DS连用,确定数据段中某一存储单元的地址;(5)EU控制电路:由定时电路、控制电路和状态逻辑电路组合而成。,3“流水线”结构的指令队列总线接口部件BIU和执行部件EU并不是同步工作的,每当EU从指令队列头部取出一条指令并在分析、执行指令这段时间内,或当指令队列中有2个空字节时,BIU会自动把指令取到指令队列中。当指令队列已满(6个字节),而且EU对BIU又无总线访问请求时,BIU便进入空闲状态;但EU在分析、执行指令过程中,如须访问内存或I/O设备,EU就会向BIU申请总线周期,若BIU总线空闲,就会立即响应;若BIU此时正在取一条指令,EU就必须等待BIU取指令的操作完成以后,才会得到BIU响应。在8086/8088中,EU和BIU这种并行的工作方式有力地提高了工作效率。,3.1.28086/8088的编程结构,1通用寄存器通用数据寄存器用来存放8位、16位或32位的操作数。由于具有良好的通用性,因而被称为通用寄存器,其中包括AX,BX,CX,DX。通用寄存器主要用来保存算术或逻辑运算的操作数、中间运算结果。它们既可以作为一个16位的寄存器使用,也可以分别作为两个8位的寄存器使用,高位字节的寄存器为AH,BH,CH,DH;低位字节的寄存器为AL,BL,CL,DL。指针寄存器和变址寄存器堆栈指针寄存器ESP、基址指针寄存器EBP源变址寄存器ESI、目的变址寄存器EDI,2.指令指针寄存器EIP,3.标志寄存器EFLAGS,4.段寄存器,寄存器的特殊用途和隐含用法,寄存器的特殊用途和隐含用法,标志寄存器共有16位,其中有7位未用,已用的9个标志位按功能可分为6个条件标志和3个控制标志。(1)条件标志(条件标志用于存放程序运行的状态信息,由硬件自动设定。控制标志由软件设定,用于中断、串操作等控制):OF:溢出标志。反映带符号数运算结果是否超过机器所能表示的数值范围,对字节运算为-128+127,对字运算为-32768+32767。若超过上述范围称为“溢出”,OF置1。否则,置0。实际机器在进行处理时,是判断最高位的进位(CF)与次高位的进位是否相同,若二者相同,则OF。否则,OF。,标志寄存器(FlagRegister),图2-2标志寄存器结构图,SF:符号标志反映运算结果的符号。若结果为负数,即最高位为1时,SF置1,否则,置0。SF取值与运算结果最高位一致。ZF:零标志反映运算结果是否为零。若结果为零,ZF置1,否则,置0。AF:半进位标志。反映一个8位量的低4位向高4位有无进位或借位。有则置1,否则,置0。用于BCD码算术运算指令。PF:奇偶标志。反映操作结果的低8位中“1”的个数的奇偶性。若“1”的个数为偶数,PF置1,否则,置0。CF:进位标志反映算术运算后最高位出现进位或借位的情况。有则置1,否则,置0。移位和循环指令也会改变CF的值。,标志寄存器(FlagRegister),(2)控制标志DF:方向标志进行字符串操作时,每执行一条串操作指令,对地址会进行一次自动调整,由DF决定地址是增还是减。若DF为1,则为减,否则为增。IF:中断标志表示系统是否允许“外部可屏蔽中断”(其含义见后述“中断”内容)。若IF为1,表示允许,否则表示不允许。IF对非屏蔽中断和内部中断请求不起作用。该标志可由中断控制指令设置或清除。TF:陷阱标志。TF为1时,CPU每执行完一条指令,便自动产生一个内部中断,可以利用它对程序进行逐条检查。程序调试过程中的“单步执行”就是利用这个标志。,标志寄存器(FlagRegister),3.1.38086/8088的引脚信号,一、8086/8088的两种工作模式,(1)最小工作模式系统中只有8086/8088一个微处理器。所有的总线控制信号都直接由8086/8088产生。(2)最大工作模式构成较大规模的应用系统,系统中包含两个或多个微处理器,其中8086/8088是主处理器,其他的处理器称为协处理器。和8086/8088配合使用的协处理器主要有两个:数值运算协处理器8087和输入/输出协处理器8089。8086/8088和总线控制器8288等共同形成总线控制信号。,两种模式利用MN/MX*引脚区别MN/MX接高电平为最小工作模式MN/MX接低电平为最大工作模式两种模式下的内部操作并没有区别IBMPC/XT采用最大模式本节以最小模式展开基本原理,8086/8088的两种工作模式,1.数据和地址引脚,AD7AD0(Address/Data)地址/数据分时复用引脚,双向、三态在访问存储器或外设的总线操作周期中,这些引脚在第一个时钟周期输出存储器或I/O端口的低8位地址A7A0其他时间用于传送8位数据D7D0AD15AD8(Address)中间8位地址引脚,输出、三态这些引脚在访问存储器或外设时,提供全部20位地址中的中间8位地址A15A8,二、引脚功能,1.数据和地址引脚(续2),A19/S6A16/S3(Address/Status)地址/状态分时复用引脚,输出、三态这些引脚在访问存储器的第一个时钟周期输出高4位地址A19A16在访问外设的第一个时钟周期全部输出低电平无效其他时间输出状态信号S6S3,2.读写控制引脚,ALE(AddressLatchEnable)地址锁存允许,输出、三态、高电平有效ALE引脚高有效时,表示复用引脚:AD7AD0和A19/S6A16/S3正在传送地址信息由于地址信息在这些复用引脚上出现的时间很短暂,所以系统可以利用ALE引脚将地址锁存起来,2.读写控制引脚(续1),M/IO*(InputandOutput/Memory)I/O或存储器访问,输出、三态该引脚输出低电平时,表示CPU将访问I/O端口,这时地址总线A15A0提供16位I/O口地址该引脚输出高电平时,表示CPU将访问存储器,这时地址总线A19A0提供20位存储器地址,2.读写控制引脚(续2),WR*(Write)写控制,输出、三态、低电平有效有效时,表示CPU正在写出数据给存储器或I/O端口RD*(Read)读控制,输出、三态、低电平有效有效时,表示CPU正在从存储器或I/O端口读入数据,2.读写控制引脚(续3),M/IO*、WR*和RD*是最基本的控制信号组合后,控制4种基本的总线周期,2.读写控制引脚(续4),READY存储器或I/O口就绪,输入、高电平有效在总线操作周期中,8088CPU会在第3个时钟周期的前沿测试该引脚如果测到高有效,CPU直接进入第4个时钟周期如果测到无效,CPU将插入等待周期TwCPU在等待周期中仍然要监测READY信号,有效则进入第4个时钟周期,否则继续插入等待周期Tw。,2.读写控制引脚(续5),DEN*(DataEnable)数据允许,输出、三态、低电平有效有效时,表示当前数据总线上正在传送数据,可利用他来控制对数据总线的驱动DT/R*(DataTransmit/Receive)数据发送/接收,输出、三态该信号表明当前总线上数据的流向高电平时数据自CPU输出(发送)低电平时数据输入CPU(接收),2.读写控制引脚(续6),SS0*(SystemStatus0)最小模式模式下的状态输出信号它与IO/M*和DT/R*一道,通过编码指示CPU在最小模式下的8种工作状态:1.取指5.中断响应2.存储器读6.I/O读3.存储器写7.I/O写4.过渡状态8.暂停,2.读写控制引脚(续6),BHE*/S7(BusHigherEnable)最小模式模式下的高8位数据总线(AD15AD8)有效信号,三态,输出BHE*在总线周期的T1状态输出,S7是状态信号,在T2T4时输出在8088中,此信号被SS0所替代。,3.中断请求和响应引脚,INTR(InterruptRequest)可屏蔽中断请求,输入、高电平有效有效时,表示请求设备向CPU申请可屏蔽中断该请求的优先级别较低,并可通过关中断指令CLI清除标志寄存器中的IF标志、从而对中断请求进行屏蔽INTA(InterruptAcknowledge)可屏蔽中断响应,输出、低电平有效有效时,表示来自INTR引脚的中断请求已被CPU响应,CPU进入中断响应周期中断响应周期是连续的两个,每个都发出有效响应信号,以便通知外设他们的中断请求已被响应、并令有关设备将中断向量号送到数据总线,3.中断请求和响应引脚(续2),NMI(Non-MaskableInterrupt)不可屏蔽中断请求,输入、上升沿有效有效时,表示外界向CPU申请不可屏蔽中断该请求的优先级别高于INTR,并且不能在CPU内被屏蔽当系统发生紧急情况时,可通过他向CPU申请不可屏蔽中断服务,4.总线请求和响应引脚,HOLD总线保持(即总线请求),输入、高电平有效有效时,表示总线请求设备向CPU申请占有总线该信号从有效回到无效时,表示总线请求设备对总线的使用已经结束,通知CPU收回对总线的控制权HLDA(HOLDAcknowledge)总线保持响应(即总线响应),输出、高电平有效有效时,表示CPU已响应总线请求并已将总线释放此时CPU的地址总线、数据总线及具有三态输出能力的控制总线将全面呈现高阻,使总线请求设备可以顺利接管总线待到总线请求信号HOLD无效,总线响应信号HLDA也转为无效,CPU重新获得总线控制权,5.其它引脚,RESET复位请求,输入、高电平有效该信号有效,将使CPU回到其初始状态;当他再度返回无效时,CPU将重新开始工作8086复位后CSFFFFH、IP0000H,所以程序入口在物理地址FFFF0HCLK(Clock)时钟输入系统通过该引脚给CPU提供内部定时信号。8086的标准工作时钟为5MHzIBMPC/XT机的8088采用了4.77MHz的时钟,其周期约为210ns,5.其它引脚(续2),Vcc电源输入,向CPU提供5V电源GND接地,向CPU提供参考地电平MN/MX*(Minimum/Maximum)模式选择,输入接高电平时,8088引脚工作在最小模式;反之,8088工作在最大模式,“引脚”小结,CPU引脚是系统总线的基本信号可以分成三类信号:16位数据线:D0D1520位地址线:A0A19控制线:ALE、IO/M*、WR*、RD*、READYINTR、INTA*、NMI,HOLD、HLDARESET、CLK、Vcc、GND,最小模式总线形成(Intel产品手册推荐电路),RESETTESTHOLDHLDANMIINTRINTAM/IOWRRD,READYCLK,READY,MN/MX,+5V,控制总线,地址总线A19A0,数据总线D15D0,ALE,DT/RDEN,8086CPU,STB8282,OE,TOE,8286,8284A,系统总线,A19A16AD15AD0,BHE*,BHE*,READY信号经过8284A后,起到同步的作用,三、8088的总线时序(续1),1、总线周期的概念时钟周期是微处理器的最小定时单位,由CPU主频决定;完成一个独立的操作所需的时间称为机器周期,一个机器周期包含若干个时钟周期;总线周期是指完成一次总线操作所需要的读或写的机器周期,通常用时钟周期的个数来表示,总线操作是指CPU通过总线对外的各种操作主要有:存储器读、I/O读操作存储器写、I/O写操作中断响应操作总线请求及响应操作CPU正在进行内部操作、并不进行实际对外操作的空闲状态Ti,指令周期是指一条指令经取指、译码、读写操作数到执行完成的过程。若干总线周期组成一个指令周期描述总线操作的微处理器时序有三级:指令周期总线周期时钟周期8086的基本总线周期包含4个时钟周期4个时钟周期编号为T1、T2、T3和T4总线周期中的时钟周期也被称作“T状态”时钟周期的时间长度就是时钟频率的倒数当需要延长总线周期时需要插入等待状态Tw,任何指令的取指阶段都需要存储器读总线周期,读取的内容是指令代码任何一条以存储单元为源操作数的指令都将引起存储器读总线周期,任何一条以存储单元为目的操作数的指令都将引起存储器写总线周期只有执行IN指令才出现I/O读总线周期,执行OUT指令才出现I/O写总线周期CPU响应可屏蔽中断时生成中断响应总线周期,总线操作中如何实现时序同步是关键CPU总线周期采用同步时序:各部件都以系统时钟信号为基准当相互不能配合时,快速部件(CPU)插入等待状态等待慢速部件(I/O和存储器)CPU与外设接口常采用异步时序,它们通过应答联络信号实现同步操作,2.最小模式的总线时序,本节展开微处理器最基本的4种总线周期存储器读总线周期存储器写总线周期I/O读总线周期I/O写总线周期,存储器写总线周期,I/O写总线周期,T1状态输出16位I/O地址A15A0IO/M*输出高电平,表示I/O操作;ALE输出正脉冲,表示复用总线输出地址T2状态输出控制信号WR*和数据D7D0T3和Tw状态检测数据传送是否能够完成T4状态完成数据传送,存储器读总线周期,演示,存储器读总线周期,T1状态输出20位存储器地址A19A0IO/M*输出低电平,表示存储器操作;ALE输出正脉冲,表示复用总线输出地址T2状态输出控制信号RD*T3和Tw状态检测数据传送是否能够完成T4状态前沿读取数据,完成数据传送,I/O读总线周期,存储器读总线周期,T1状态输出20位存储器地址A19A0IO/M*输出低电平,表示存储器操作;ALE输出正脉冲,表示复用总线输出地址T2状态输出控制信号RD*T3和Tw状态检测数据传送是否能够完成T4状态前沿读取数据,完成数据传送,演示,插入等待状态Tw,同步时序通过插入等待状态,来使速度差别较大的两部分保持同步在读写总线周期中,判断是否插入Tw1.在T3的前沿检测READY引脚是否有效2.如果READY无效,在T3和T4之间插入一个等效于T3的Tw,转13.如果READY有效,执行完该T状态,进入T4状态,什么是分时复用?,分时复用就是一个引脚在不同的时刻具有两个甚至多个作用最常见的总线复用是数据和地址引脚复用总线复用的目的是为了减少对外引脚个数8088/8086CPU的数据地址线采用了总线复用方法,S2*、S1*、S0*的编码意义,总线周期,基本总线周期由4个T状态组成:T1、T2、T3、T4等待时钟周期Tw,在总线周期的T3和T4之间插入空闲时钟周期Ti,在两个总线周期之间插入,动态,存储器读20002H35H,等待状态,动态,等待状态Tw的插入,3.2存储器组织及管理,3.2.1主存储器的组织存储器由若干存储单元组成,存储单元的多少表示存储器的容量;8086构成的系统中,每个存储单元的长度为8个二进制位,每个存储单元被指定一个唯一的单元号码,即存储单元地址;8086有20根地址线,可以产生20位长的地址码,存储器寻址空间为220个存储单元,即可以直接访问1MB存储空间,1.存储单元的地址表示,2、字数据的存放规则,存储器每个单元只能存储一个字节,对于字数据,通常使用相邻的2个存储单元来存储;存储规则:(1)字的低位字节存放在低地址单元,高位字节存放在高地址单元;(2)字单元的地址用低字节单元的地址表示。,3.2.2主存储器的段结构,一、存储器分段技术由于8086可寻址的存储空间1MB,需要提供20位的地址码,而CPU内部的寄存器长度只有16位,能直接访问的最大地址空间是64KB。为了实现对1MB单元的寻址,80 x86系统将1MB的存储空间分成许多逻辑段,每段最长64KB,可以用16位的地址码进行寻址。每个逻辑段在实际存储空间中的位置可以浮动,段的起始地址可由段寄存器的内容来确定,这种技术即存储器分段技术,每个段最大长度64KB,段的用途由用户自己定义,代码或数据可以存放在段内任意单元;逻辑段在物理存储器

温馨提示

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

评论

0/150

提交评论