微机原理课件第二章8086系统结构

上传人:xt****7 文档编号:188649745 上传时间:2023-02-20 格式:PPT 页数:52 大小:879KB
返回 下载 相关 举报
微机原理课件第二章8086系统结构_第1页
第1页 / 共52页
微机原理课件第二章8086系统结构_第2页
第2页 / 共52页
微机原理课件第二章8086系统结构_第3页
第3页 / 共52页
点击查看更多>>
资源描述
1微型计算机原理及其应用微型计算机原理及其应用第二章第二章 8086系统结构系统结构2第二章第二章 8086系统结构系统结构 8086CPU结构 8086CPU的内部寄存器 8086CPU的引脚及其功能 8086的存储器组织 8086系统配置 8086CPU时序 8086的I/O组织 3第二章第二章 8086系统结构系统结构8086CPU结构结构结构特点结构特点1.引脚功能复用:引脚功能复用:DB双向传输由双向传输由“读读/写写”控制控制2.单总线、累加器结构:单总线、累加器结构:CPU内部为单总线、累加器结构内部为单总线、累加器结构3.可控三态电路:可控三态电路:所谓三态是指高电平、低电平和高阻状态所谓三态是指高电平、低电平和高阻状态,当处于高阻状态时,在逻辑上与所有连接负载断开当处于高阻状态时,在逻辑上与所有连接负载断开4.总线分时复用:总线分时复用:DB、AB分时复用分时复用 8086CPU8086CPU主参数:主参数:1616位位CPUCPU、40pins40pins、时钟频率、时钟频率5MHz5MHz、DB16DB16根根、AB20AB20根根,可直接寻址,可直接寻址1MB1MB()存储空间、)存储空间、向上兼容向上兼容 8086CPU8086CPU可与可与80878087数值运算协处理器和数值运算协处理器和80898089输入输入/输出协处输出协处理器组成理器组成多机系统多机系统。8088CPU8088CPU:内部结构与:内部结构与80868086基本相同(按基本相同(按1616位设计),外位设计),外部部DBDB为为8 8根,为过渡型产品,称为根,为过渡型产品,称为准准1616位位CPUCPU。202B4 传统的传统的CPU(8086/8088之前)工作模式之前)工作模式 取指令取指令译码、执行指令译码、执行指令取下一条指令取下一条指令 (串行处理串行处理)执行一条指令时间执行一条指令时间=取指令时间取指令时间+译码执行指令时间译码执行指令时间 8086/8088CPU 取指令取指令由由总线接口部件总线接口部件BIU完成完成 译码、执行指令译码、执行指令由由指令执行部件指令执行部件EU完成完成 (并行处理并行处理)取指令时间和译码执行指令时间取指令时间和译码执行指令时间重叠重叠5 8086CPU的内部结构的内部结构 从功能上来看,从功能上来看,8086CPU可分为两部分,即可分为两部分,即总总线接口部件线接口部件BIU(Bus Interface Unit)和)和指令指令执行部件执行部件EU(Execution Unit)。)。总线接口部件(总线接口部件(BIU)功能:功能:与微处理器外部总线连接,实现与微处理器外部总线连接,实现CPU与与存储器和存储器和I/O接口之间的数据传送。负责从内存接口之间的数据传送。负责从内存中中取指令取指令,送入指令队列,从内存或,送入指令队列,从内存或I/O取操作取操作数数,存结果存结果回内存或回内存或I/O。执行部件(执行部件(EU)功能:功能:负责负责译码译码和和执行指令执行指令。6联系联系BIU和和EU的纽带为的纽带为流水指令队列流水指令队列队列队列是一种数据结构,工作方式为是一种数据结构,工作方式为先进先出。先进先出。写入的指令写入的指令只能存放在队列尾,读出的指令是队列头存放的指令。只能存放在队列尾,读出的指令是队列头存放的指令。7BIU和和EU的动作协调原则的动作协调原则BIU和和EU按以下流水线技术原则协调工作,共同完成所按以下流水线技术原则协调工作,共同完成所要求的任务:要求的任务:每当每当8086的指令队列中有空字节,的指令队列中有空字节,BIU就会自动把下就会自动把下一条指令取到指令队列中。一条指令取到指令队列中。每当每当EU准备执行一条指令时,它会从准备执行一条指令时,它会从BIU部件的指令部件的指令队列前部取出指令的代码,然后译码、执行指令。在执队列前部取出指令的代码,然后译码、执行指令。在执行指令的过程中,如果必须访问存储器或者行指令的过程中,如果必须访问存储器或者IO端口,端口,那么那么EU就会请求就会请求BIU,完成访问内存或者,完成访问内存或者IO端口的操端口的操作;作;当指令队列已满,且当指令队列已满,且EU又没有总线访问请求时,又没有总线访问请求时,BIU便进入空闲状态。(便进入空闲状态。(BIU等待,总线空操作等待,总线空操作)开机或重启时,指令队列被清空;或在执行转移指令、开机或重启时,指令队列被清空;或在执行转移指令、调用指令和返回指令时,由于待执行指令的顺序发生了调用指令和返回指令时,由于待执行指令的顺序发生了变化,则指令队列中已经装入的字节被自动消除,变化,则指令队列中已经装入的字节被自动消除,BIU会会接着往指令队列装入转向的另一程序段中的指令代码。接着往指令队列装入转向的另一程序段中的指令代码。(EU等待等待)8BIU和和EU的动作协调原则的动作协调原则 将将8086 CPU分成二个独立的功能部件使二者能够分成二个独立的功能部件使二者能够并行工作,把取指令工作和译码、执行指令工作重叠并行工作,把取指令工作和译码、执行指令工作重叠进行,从而提高进行,从而提高CPU的工作效率,加快指令的执行速的工作效率,加快指令的执行速度。度。多数情况下,多数情况下,BIU在不停地向队列写入指令,而在不停地向队列写入指令,而EU每执行完一条指令后,就从队列读取下一条指令。二每执行完一条指令后,就从队列读取下一条指令。二者的动作既独立,又协调。者的动作既独立,又协调。BIU和和EU之间相互配合又相互独立的之间相互配合又相互独立的并行而非同步并行而非同步的工作方式极大提高了的工作方式极大提高了CPU的工作效率。的工作效率。9第二章第二章 8086系统结构系统结构8086CPU的内部寄存器的内部寄存器 寄存器:用来存放参加运算的数据、中间结果或地址。可以寄存器:用来存放参加运算的数据、中间结果或地址。可以看作看作位于位于CPU内的存储单元内的存储单元。特点:位于特点:位于CPU内,存取速度比内存快得多;内,存取速度比内存快得多;只需通过内部总线,无需通过系统总线来访问。只需通过内部总线,无需通过系统总线来访问。一般:寄存器个数越多,计算机的运行速度越快。一般:寄存器个数越多,计算机的运行速度越快。8086CPU中共包含中共包含14个个16位寄存器,分为位寄存器,分为4组。组。一一.通用寄存器:通用寄存器:AX、BX、CX、DX AX(Accumulator):累加器,):累加器,BX(Base):基址寄存器,):基址寄存器,CX(Counter):计数器,):计数器,DX(Data):数据寄存器,):数据寄存器,功能:一般用来功能:一般用来存放数据存放数据特点:可特点:可一拆为二一拆为二,成为,成为8个个8位寄存器。高位寄存器。高8位位AH、BH、CH、DH,低,低8位位AL、BL、CL、DL注:注:8位累加器为位累加器为AL10二二.指针和变址寄存器:指针和变址寄存器:SP、BP、SI、DISP(Stack Pointer):堆栈指针寄存器):堆栈指针寄存器BP(Base Pointer):基址指针寄存器):基址指针寄存器SI(Source Index):源变址寄存器):源变址寄存器DI(Destination Index):目的变址寄存器):目的变址寄存器功能:一般用来功能:一般用来存放偏移地址存放偏移地址,作为地址指针。,作为地址指针。三三.段寄存器:段寄存器:CS、DS、SS、ESCS(Code Segment):代码段寄存器):代码段寄存器DS(Data Segment):数据段寄存器):数据段寄存器SS(Stack Segment):堆栈段寄存器):堆栈段寄存器ES(Extra Segment):附加段寄存器。):附加段寄存器。功能:功能:存放段基址存放段基址(段起始地址的高(段起始地址的高16位)位)11 矛盾:矛盾:20位位的物理地址如何存入的物理地址如何存入16位位的寄存器中?的寄存器中?解决方法:将解决方法:将1M的的内存分内存分成若干逻辑成若干逻辑段段 分段原则:分段原则:1、段长段长=64K,段内偏移地址可用,段内偏移地址可用16位表示,位表示,并存入指针及变址寄存器并存入指针及变址寄存器SP、BP、SI、DI中中 2、段起始地址的低段起始地址的低4位为位为0(即(即20位二进制地址的最低位二进制地址的最低4位为位为0,或,或5位十六进制地址的最低位为位十六进制地址的最低位为0),段基址可存),段基址可存入段寄存器中入段寄存器中 一些与地址有关的概念:一些与地址有关的概念:段基址段基址:段起始地址的高:段起始地址的高16位,存于段寄存器中位,存于段寄存器中 偏移地址偏移地址:段内某单元相对于段起始地址的偏移量,存入:段内某单元相对于段起始地址的偏移量,存入指针及变址寄存器中。又称作指针及变址寄存器中。又称作有效地址有效地址(EA)。物理地址物理地址:与每个存储单元唯一对应的:与每个存储单元唯一对应的20位二进制地址位二进制地址 逻辑地址逻辑地址:(段基址:偏移地址):(段基址:偏移地址)物理地址物理地址=段基址段基址16(或左移(或左移4位)位)+偏移地址偏移地址 注意:每个存储单元的物理地址是唯一的,但逻辑地址却注意:每个存储单元的物理地址是唯一的,但逻辑地址却有许多种。有许多种。12四四.控制寄存器控制寄存器IP、PSWIP(Instruction Pointer):):指令指针寄存器指令指针寄存器功能:存放下一条指令的偏移地址,具有自动加功能:存放下一条指令的偏移地址,具有自动加1的功能。的功能。原理:原理:IP和代码段寄存器和代码段寄存器CS一起可以确定一起可以确定下一条指令的物理地下一条指令的物理地址。顺序执行程序时,址。顺序执行程序时,CPU每取一每取一条指令,条指令,IP由由BIU自动修改自动修改(+1、+2+6),指向下一条即将执行的指令),指向下一条即将执行的指令。计算机用计算机用IP来控制来控制指令指令序列的执行流程。序列的执行流程。PSW(Program Status Word):):标志(或程序状态字)寄存标志(或程序状态字)寄存器功能:每位的器功能:每位的0和和1代表两种不同的状态信息。代表两种不同的状态信息。16位中有位中有9位有意义,分为状态标志(位有意义,分为状态标志(6个)和控制标志(个)和控制标志(3个)。个)。131、状态标志位:、状态标志位:表示运算结果的某种特征表示运算结果的某种特征,后续操作可以根据后续操作可以根据这些状态标志进行判断,实现这些状态标志进行判断,实现程序分支。程序分支。CF(Carry Flag)进位标志位,做加法时最高位出现进位或进位标志位,做加法时最高位出现进位或做减法时最高位出现借位,该位置做减法时最高位出现借位,该位置1,反之为,反之为0。PF(Parity Flag)奇偶标志位,当运算奇偶标志位,当运算结果的低结果的低8位位中中1的个的个数为偶数时,则该位置数为偶数时,则该位置1,反之为,反之为0。AF(Auxiliary Carry Flag)辅助进位标志位,做加法时,当辅助进位标志位,做加法时,当低四位向高四位(低四位向高四位(低半字节向高半字节低半字节向高半字节)有进位,或在做减法时,)有进位,或在做减法时,低四位向高四位有借位时,该标志位就置低四位向高四位有借位时,该标志位就置1,反之为,反之为0.ZF(Zero Flag)零标志位,运算结果零标志位,运算结果为为0时,该标志位时,该标志位置置1,否则清否则清0。SF(Sign Flag)符号标志位,当运算结果的最高位为符号标志位,当运算结果的最高位为1,该,该标志位置标志位置1,否则清,否则清0。即与运算结果的最高位相同。即与运算结果的最高位相同。OF(Overflow Flag)溢出标志位,反映运算结果是否超出溢出标志位,反映运算结果是否超出了了8位或位或16位带符号数所能表达的范围。(方法位带符号数所能表达的范围。(方法1:CF与与次高位次高位向最高位的进位向最高位的进位相相异或异或;方法;方法2:将参与运算的数和结果均看作:将参与运算的数和结果均看作带符号数,判断带符号数,判断结果的符号是否合理结果的符号是否合理,如正,如正+正正=负负 则溢出)则溢出)14例:例:AX=6A8BH,BX=4369H。求在。求在ADD AX,BX指令执行之指令执行之后的结果及后的结果及PSW中各状态标志位的值?中各状态标志位的值?AX=?BX=?CF=?PF=?AF=?ZF=?SF=?OF=?2、控制标志位:、控制标志位:控制控制CPU的某种操作的某种操作TF(Trap Flag)陷阱标志位陷阱标志位(单步标志位、跟踪标志位单步标志位、跟踪标志位)。当。当该位置该位置1时,将使时,将使8086进入进入单步方式单步方式执行程序,通常用于程序的执行程序,通常用于程序的调试。调试。IF(Interrupt Flag)中断标志位,若该位置中断标志位,若该位置1,则,则CPU可以可以响应响应可屏蔽中断,否则就不能响应可屏蔽中断。可屏蔽中断,否则就不能响应可屏蔽中断。DF(Direction Flag)方向标志位,若该位置方向标志位,若该位置1,则串处理指,则串处理指令的令的地址指针地址指针为为减量减量修改,反之,为修改,反之,为增量增量修改。修改。15 如何查看寄存器的值?如何查看寄存器的值?14个寄存器的当前值可用调试程序个寄存器的当前值可用调试程序DEBUG的的R命令命令(即(即Register:寄存器命令)来查:寄存器命令)来查看,其中看,其中PSW中的中的8个标志(个标志(TF除外)是除外)是用符号表示的,参看教材表用符号表示的,参看教材表2-2。开始开始-程序程序-附件附件-命令提示符命令提示符-DEBUG-R 退出退出DEBUG用用Q命令(即命令(即Quit)16作业2:第二章习题第二章习题P55 56 1 9(2)、()、(4)设每段长度为设每段长度为64K 10(2)、()、(4)17第二章第二章 8086系统结构系统结构8086CPU的引脚及其功能的引脚及其功能几个基本概念几个基本概念时钟周期时钟周期:主频的倒数,又称为:主频的倒数,又称为T状态状态,是,是CPU的基本时间单位。的基本时间单位。如如8086的主频为的主频为5MHz,则一个时钟周期为,则一个时钟周期为200ns。总线周期总线周期:是指:是指CPU通过系统总线对存储器或通过系统总线对存储器或I/O接口进行一次接口进行一次访问所需要的时间。访问所需要的时间。典型的总线周期包含典型的总线周期包含4个时钟周期个时钟周期(T1,T2,T3,T4 4个个T状态)状态)一般:一般:T1状态状态 传送地址信号传送地址信号 T2 T4状态状态 传送数据信号传送数据信号指令周期指令周期:完成一条指令功能所需要的时间。:完成一条指令功能所需要的时间。包括取指令时间和执行时间,一般由若干总线周期组成。包括取指令时间和执行时间,一般由若干总线周期组成。但指令周期不一定都大于总线周期,如但指令周期不一定都大于总线周期,如MOV AX,BX 操作都在操作都在CPU内部的寄存器,只要内部总线即可完成,不内部的寄存器,只要内部总线即可完成,不需要通过系统总线访问存储器和需要通过系统总线访问存储器和I/O接口。接口。18 8086CPU的典型总线时序,充分体现了总的典型总线时序,充分体现了总线是严格地按线是严格地按分时复用分时复用的原则进行工作的。的原则进行工作的。即:即:在一个总线周期内,首先利用总线传在一个总线周期内,首先利用总线传送地址信息,然后再利用同一总线传送数送地址信息,然后再利用同一总线传送数据信息。据信息。这样减少了这样减少了CPU芯片的引脚和外芯片的引脚和外部总线的数目。部总线的数目。8086CPU可工作在两种工作模式:可工作在两种工作模式:1、最小模式最小模式:用于单机系统,系统中所需控:用于单机系统,系统中所需控制信号均由制信号均由8086直接提供;直接提供;2、最大模式最大模式:用于多处理机系统,系统中所:用于多处理机系统,系统中所需控制信号由总线控制器需控制信号由总线控制器8288提供。提供。19 8086/8088外形图外形图 8086/8088微处理器是微处理器是Intel公司推出的第三代公司推出的第三代CPU芯片,它们的内部结构基本相同,采用芯片,它们的内部结构基本相同,采用16位位结构,两种处理器采用结构,两种处理器采用40引脚引脚、双列直插式封装、双列直插式封装、引脚号沿引脚号沿逆时针逆时针排列递增。排列递增。208086/8088引脚分布图引脚分布图21 8086CPU8086CPU在最小模式中引脚定义在最小模式中引脚定义 三类三类分时复用分时复用引脚引脚 ADAD1515ADAD0 0(Address Data Bus)(Address Data Bus):地址地址/数据数据复用信号输入复用信号输入/输出输出引脚,分时输出低引脚,分时输出低1616位地址信号及进行数据信号的输入位地址信号及进行数据信号的输入/输出。输出。A A1919/S/S6 6AA1616/S/S3 3(Address Status Bus)(Address Status Bus):地址地址/状态状态复用信号输复用信号输出引脚,分时输出地址的高出引脚,分时输出地址的高4 4位及状态信息。位及状态信息。BHE/SBHE/S7 7 (Bus High Enable/Status)(Bus High Enable/Status):高高8 8位数据允许位数据允许/状态状态复复用信号输出引脚,输出。分时输出用信号输出引脚,输出。分时输出BHEBHE信号及信号及S S7 7 状态信号。状态信号。若若T T1 1状态下状态下BHEBHE为为0 0(有效),(有效),表示表示T T2 2状态状态需用到需用到高高8 8位数据总位数据总线线D D1515D D8 8传送数据;若传送数据;若T T1 1状态下状态下BHEBHE为为1 1(无效),表示(无效),表示T T2 2状态状态不用不用D D1515D D8 8传送数据。传送数据。以上三类以上三类分时复用分时复用引脚(共引脚(共2121条条):):A A1919AA0 0 及及BHEBHE只在总线只在总线周期的周期的T T1 1状态有效,状态有效,T T2 2状态起呈现另一功能。状态起呈现另一功能。注:注:引脚名上面的引脚名上面的“”表示表示低电平有效。低电平有效。22 MN/MX(Minimum/Maximum Model Control):最小最小/最大模最大模式设置式设置信号输入引脚,当该引脚信号输入引脚,当该引脚接接+5V时,时,CPU工作于工作于最小模最小模式式下,当该引脚下,当该引脚接地接地时,时,CPU工作于工作于最大模式最大模式下。下。RD、WR、M/IO(Read、Write、Memory/Input&Output)读选通读选通、写选通写选通、存储器或存储器或I/O端口端口,输出,输出,用来明确具体的用来明确具体的读写操作。读写操作。RD WR M/IO 读存储器读存储器 0 1 1 写存储器写存储器 1 0 1 读读I/O端口端口 0 1 0 写写I/O端口端口 1 0 0 ALE(Address Lock Enable):地址锁存允许,地址锁存允许,输出输出 每当每当T1状态有效状态有效(高电平),(高电平),选通地址锁存器选通地址锁存器8282/8283,将,将地址信号进行锁存。地址信号进行锁存。23 DEN、DT/R(Data Enable、Data Transmit/Receive):数据数据允许、数据发送允许、数据发送/接收,接收,输出输出 DEN(低电平有效):(低电平有效):选通数据总线收发器选通数据总线收发器8286,增强数据,增强数据驱动能力。驱动能力。DT/R:控制:控制数据传送方向数据传送方向,当该信号为,当该信号为1时,表示时,表示CPU发送发送数数据(写),否则;当该信号为据(写),否则;当该信号为0时,表示时,表示CPU接收接收数据(读)。数据(读)。注:注:DEN和和ALE不可能同时有效,不可能同时有效,DEN从从T2状态开始有效。状态开始有效。READY(Ready):准备就绪准备就绪,输入,由存储器或,输入,由存储器或I/O端口发给端口发给CPU,表示已经准备好进行数据传送。,表示已经准备好进行数据传送。RESET(Reset):复位复位,输入,高电平有效。复位信号输入之,输入,高电平有效。复位信号输入之后,后,CPU结束当前操作,结束当前操作,清除指令队列清除指令队列,将,将CS置为置为FFFFH,其余寄存器清其余寄存器清0。问:重启后,问:重启后,8086从何处开始执行指令?从何处开始执行指令?CS=FFFFH,IP=0,故,故 物理地址为物理地址为FFFF0H。24 INTR、INTA、NMI(Interrupt Request,Interrupt Acknowledge,Non-Maskable Interrupt):与与中断有关中断有关的引的引脚脚 INTR:可屏蔽中断请求可屏蔽中断请求(输入),(输入),有多个有多个,受受IF影响影响 INTA:中断响应中断响应(输出),当中断允许标志位(输出),当中断允许标志位IF=1时,会向时,会向 中断源发出低电平的认可信号中断源发出低电平的认可信号 NMI:不可屏蔽中断请求不可屏蔽中断请求(输入),(输入),不受不受IF控制控制,只有一个只有一个(如电源掉电)(如电源掉电)TEST(Test):测试测试,输入,输入,CPU将事情分给外部硬件做,并将事情分给外部硬件做,并用用WAIT指令等待结果。与指令等待结果。与WAIT指令联用,主要用于指令联用,主要用于CPU等待等待协处理器的结果。协处理器的结果。25 HOLD、HLDA(Hold Request,Hold Acknowledge):总总线保持请求线保持请求(输入)、(输入)、总线保持响应总线保持响应(输出)(输出)a.如其它共享总线的部件需使用总线,通过如其它共享总线的部件需使用总线,通过HOLD输入输入高电平高电平;b.如如CPU允许让出总线,发出允许让出总线,发出高电平高电平的的HLDA进行响应,让出进行响应,让出总线控制权;总线控制权;c.占用总线的部件在总线使用完毕后,使占用总线的部件在总线使用完毕后,使HOLD无效(无效(低电低电平平););d.CPU将将HLDA也置为也置为低电平低电平,收回三总线的使用权。,收回三总线的使用权。CLK(Clock):时钟时钟,输入,输入,8086的时钟频率(又称为主频)的时钟频率(又称为主频)为为5MHz,即从该引脚输入的时钟信号的频率为,即从该引脚输入的时钟信号的频率为5MHz。由由时时钟发生器钟发生器8284产生。产生。VCC(+5V)、GND:电源电源、接地接地26 8086CPU在最大模式中在最大模式中引脚定义引脚定义 最大模式下只有最大模式下只有2431引脚(共引脚(共8条条)功能)功能重新定义重新定义,其余与最,其余与最小模式相同小模式相同S0、S1、S2(Bus Cycle Status):总线周期状态总线周期状态,输出,这,输出,这3个信个信号组合起来,可以指出当前总线号组合起来,可以指出当前总线周期中,所进行数据传输过程的周期中,所进行数据传输过程的类型,总线控制器类型,总线控制器8288利用这些利用这些信号来产生对存储单元、信号来产生对存储单元、I/O端口端口的控制信号。的控制信号。S0S1S2性 能100中断相应101读I/O端口110写I/O端口 111暂停000取指令001读存储器010写存储器011无作用27 QS1、QS0(Instruction Queue Status):指令队指令队列状态列状态,输出,这两个信号的组合给出了前一个,输出,这两个信号的组合给出了前一个T状态中状态中指令队列的状态指令队列的状态,以便于外部对,以便于外部对8086CPU内内部指令队列的动作跟踪。部指令队列的动作跟踪。QS1QS0性 能00无操作 01从指令队列的第一个字节取走代码 10队列为空 11除第一个字节外,还取走了后续字节中的代码 28 LOCK(Lock):总线封锁总线封锁,输出,低电平有效,当该引脚输出,输出,低电平有效,当该引脚输出低电平时,系统中其它总线部件就不能占用系统总线。信号是低电平时,系统中其它总线部件就不能占用系统总线。信号是由指令前缀由指令前缀LOCK产生的,在产生的,在LOCK前缀后面的一条指令执行前缀后面的一条指令执行完毕之后,便撤消信号。此外,在完毕之后,便撤消信号。此外,在8088/8086的的2个中断响应个中断响应脉冲之间,信号也自动变为有效的低电平,以防止其它总线部脉冲之间,信号也自动变为有效的低电平,以防止其它总线部件在中断响应过程中,占有总线而使一个完整的中断响应过程件在中断响应过程中,占有总线而使一个完整的中断响应过程被中断。被中断。RQ/GT0、RQ/GT1(Request/Grant):总线请求总线请求(输入)(输入)/总线总线请求允许请求允许,输出,这两个信号端可供,输出,这两个信号端可供CPU以外的两个处理器,以外的两个处理器,用来发出使用总线的请求信号和接收用来发出使用总线的请求信号和接收CPU对总线请求信号的应对总线请求信号的应答。这两个引脚都是双向的,请求与应答信号在同一引脚上分答。这两个引脚都是双向的,请求与应答信号在同一引脚上分时传输,方向相反。其中时传输,方向相反。其中RQ/GT0拥有较高的优先级。拥有较高的优先级。29一、存储器地址的分段一、存储器地址的分段a.存储信息的基本单位存储信息的基本单位 二进制二进制位位(bit)字节字节(Byte=8bits)8086为为16位字长位字长 字字(Word=2Bytes=16bits)其中其中D D0 0D D7 7为为低字节低字节,D D8 8D D1515 为为高字节高字节b.存储器中是以存储器中是以字节字节为单位存储信息的。为单位存储信息的。为了区分不同的存储单元,把全部存储单元按照一定的顺为了区分不同的存储单元,把全部存储单元按照一定的顺 序编号,这个编号就称为序编号,这个编号就称为存储单元的地址。存储单元的地址。而这个存储单而这个存储单 元中存放的信息(数据)称为元中存放的信息(数据)称为存储单元的内容。存储单元的内容。c.存储器容量存储器容量 1KB1KB 字节字节1024B 1024B 1MB1MB 字节字节1024KB1024KB1GB1GB 字节字节1024MB 1024MB 1TB1TB 字节字节1024GB1024GB第二章第二章 8086系统结构系统结构8086的存储器组织的存储器组织40220230210230d.地址和内容的表达方法地址和内容的表达方法 (00003H)=12H 或或(00003H)=3412H 注意:一个字存入存储器要占用地址相邻的两个存储单元注意:一个字存入存储器要占用地址相邻的两个存储单元 存放规则:存放规则:高字节高字节高地址单元,低字节高地址单元,低字节低地址单元低地址单元 字单元的地址字单元的地址采用它的采用它的低位字节存储单元的地址低位字节存储单元的地址表示。表示。e.存储器地址的分段存储器地址的分段 矛盾:矛盾:1MB的地址范围为的地址范围为00000HFFFFFH 如何用如何用16位的寄存器来提供位的寄存器来提供20位的地址位的地址?答案:答案:存储器地址分段存储器地址分段 限制:限制:1、段长段长64K(216)2、段起始地址能被段起始地址能被16整除整除31注:一般,注:一般,各段在存储器的分配各段在存储器的分配由操作系统由操作系统OSOS负责(负责(自动完成自动完成)各段地址空间既可各段地址空间既可连续连续、也可、也可重叠重叠、也可、也可相隔。相隔。32f.物理地址形成物理地址形成 物理地址物理地址:与每个存储单元唯一对应的:与每个存储单元唯一对应的2020位位二进制地址二进制地址(20202H)逻辑地址逻辑地址:包括:包括1616位段基址位段基址和和1616位偏移地址位偏移地址(2000H:0202H)注意:注意:物理地址与逻辑地址并不是一一对应的物理地址与逻辑地址并不是一一对应的2000H:0202H=2010H:0102H=20202H 段基址段基址:段起始地址的高:段起始地址的高1616位,存于段寄存器(位,存于段寄存器(CSCS、DSDS、SSSS、ESES)中)中(2000H)偏移地址偏移地址:段内某单元相对于段起始地址的偏移量段内某单元相对于段起始地址的偏移量,存入,存入偏移地址寄存器(偏移地址寄存器(IPIP、BXBX、SPSP、BPBP、SISI、DIDI)中。又称作)中。又称作有效地址有效地址。(0202H)转换公式:转换公式:物理地址物理地址=段基址段基址1616(或左移(或左移4 4位)位)+偏移地址偏移地址 此运算由此运算由BIU中的中的地址加法器地址加法器完成。完成。33物理地址的计算示意物理地址的计算示意34g.g.逻辑地址来源逻辑地址来源段寄存器段寄存器与与偏移地址寄存器偏移地址寄存器之间的之间的基本约定基本约定如下:如下:1 1、取指令、取指令 CSCS:IPIP (下一条指令下一条指令的物理地址)的物理地址)2 2、堆栈操作、堆栈操作 SSSS:SPSP (栈顶栈顶的物理地址)的物理地址)3 3、偏移地址使用、偏移地址使用BP BP SSSS:BPBP 4 4、其余情况(、其余情况(BXBX、SISI、DIDI、直接地址)、直接地址)DSDS:BX,DS:SI,DS:DIBX,DS:SI,DS:DI特殊情况(在特殊情况(在串处理串处理时)时)5 5、源串源串 DSDS:SISI 6 6、目的串目的串 ESES:DIDI注意:注意:上述上述1 1、2 2、6 6项为项为固定组合固定组合,不可修改不可修改为其它段;为其它段;其余项(其余项(3 3、4 4、5 5)为)为默认组合默认组合,可修改可修改为其它段。为其它段。35CS、DS、SS和其它寄存器组合指向存储单元和其它寄存器组合指向存储单元的示意图的示意图36二、二、8086存储器的分体结构存储器的分体结构 8086将将1M字节存储体分为两个存储体,每个存储体的容量字节存储体分为两个存储体,每个存储体的容量都是都是512K字节。字节。奇地址存储体奇地址存储体的信息必须通过的信息必须通过高高8位数据总线位数据总线D15D8传输,传输,并用并用BHE信号作为信号作为体选信号体选信号;偶地址存储体偶地址存储体的信息必须通过的信息必须通过低低8位数据总线位数据总线D7D0传输,传输,并并用用A0信号作为信号作为体选信号体选信号;BHE和和A0:在每个总线周期:在每个总线周期T1状态状态的的BHE和和A0信号可作为此信号可作为此总线周期下总线周期下高高8位数据总线位数据总线和和低低8位数据总线位数据总线的的选通信号选通信号。具体:具体:BHE=0,要用,要用高高8位数据总线位数据总线传输数据;传输数据;A0=0,要用要用低低8位数据总线位数据总线传输数据。传输数据。注意:注意:体内地址体内地址由由A19A1来提供。来提供。37 存储器的奇偶分体示意图存储器的奇偶分体示意图注:注:CSCS(Chip SelectChip Select)为为片选片选信号,低电平有效。信号,低电平有效。38 1 1、奇地址字节奇地址字节 BHE=BHE=0 0,A A0 0=1 1 使用使用D D1515D D8 8 2 2、偶地址字节偶地址字节 BHE=BHE=1 1,A A0 0=0 0 使用使用D D7 7D D0 0 3 3、从偶地址开始的字从偶地址开始的字 BHE=BHE=0 0,A A0 0=0 0 使用使用D D1515D D0 0 (两个单元(两个单元体内地址体内地址A A1919A A1 1相同,相同,只需只需1 1个总线周期个总线周期)4 4、从奇地址开始的字从奇地址开始的字 (两个单元(两个单元体内地址体内地址A A1919A A1 1不同不同,需要,需要2 2个总线周期个总线周期)a.BHE=a.BHE=0 0,A A0 0=1 1 使用使用D D1515D D8 8传送传送低字节低字节(奇地址)(奇地址)b.BHE=b.BHE=1 1,A A0 0=0 0 使用使用D D7 7D D0 0传送传送高字节高字节(偶地址)(偶地址)对准存放对准存放:为了加快程序运行速度,应使存储器:为了加快程序运行速度,应使存储器从偶地址开从偶地址开始存放字数据始存放字数据。39三、三、堆栈堆栈 是指在是指在内存内存中开辟的一片中开辟的一片专用区域专用区域,用来,用来存放暂时不用存放暂时不用,以后有用以后有用的数据。的数据。1.1.工作方式:工作方式:先进后出先进后出(FILOFILO)、)、后进先出后进先出(LIFOLIFO)2.2.堆栈的操作只能在堆栈的操作只能在栈顶栈顶进行进行(由由SS:SPSS:SP指向指向)(只有一个出入口)(只有一个出入口)3.3.堆栈操作总是按堆栈操作总是按字字进行的,不能以进行的,不能以字节字节为单位为单位4.4.堆栈是从堆栈是从高地址向低地址高地址向低地址方向方向生成生成的的5.5.只有两种操作:只有两种操作:进栈进栈或或压入压入操作(操作(PUSHPUSH)退栈退栈或或弹出弹出操作(操作(POPPOP)最初,堆栈为最初,堆栈为空栈空栈时,时,栈底和栈顶为同一单元栈底和栈顶为同一单元,栈底固定栈底固定(为(为最高地址最高地址),),栈顶栈顶随随PUSHPUSH或或POPPOP而而浮动浮动。具体:具体:PUSHPUSH时,时,SPSP首先首先减减2 2,数据压入数据压入新的新的栈顶栈顶;POPPOP时,先将时,先将栈顶内容弹出栈顶内容弹出,SPSP加加2 2,指向新栈顶。指向新栈顶。注:字数据在堆栈中的存放依然遵循:高字节注:字数据在堆栈中的存放依然遵循:高字节高地址高地址 低字节低字节低地址低地址40注意:注意:为保证为保证对准存放对准存放,SPSP的初值的初值必须为必须为偶数偶数,最大初值,最大初值FFFEHFFFEH6.6.堆栈段的起始地址堆栈段的起始地址由由SSSS决定,决定,堆栈段的大小堆栈段的大小由由SPSP的初值的初值决决定。定。例:已知例:已知SS=COO0H,SP=1000H,AX=3322H,BX=1100H,CX=6655H,SS=COO0H,SP=1000H,AX=3322H,BX=1100H,CX=6655H,执行执行PUSH AX,PUSH BX,POP CX PUSH AX,PUSH BX,POP CX 后堆栈的变化及各寄存器后堆栈的变化及各寄存器内容的变化。内容的变化。堆栈用途:应用于堆栈用途:应用于中断或子程序调用中断或子程序调用时的时的数据保护和恢复数据保护和恢复。注意注意两点:两点:后进先出后进先出;PUSHPUSH和和POPPOP要成对出现要成对出现,否则将造成程序流程出错。,否则将造成程序流程出错。41最小模式和最大模式的特点最小模式和最大模式的特点 最小模式:最小模式:MN/MXMN/MX接接+5V+5V,构成,构成单处理器系统单处理器系统,系统,系统控制信控制信号由号由CPUCPU提供提供。最大模式:最大模式:MN/MXMN/MX接地接地,构成,构成多处理器系统多处理器系统,系统,系统控制信控制信号由总线控制器号由总线控制器82888288提供提供。常用协处理器:数值运算协处理器常用协处理器:数值运算协处理器80878087 输入输入/输出协处理器输出协处理器80898089一、最小模式系统一、最小模式系统 除除8086CPU8086CPU、存储器、存储器、I/OI/O接口芯片外,还包括:接口芯片外,还包括:1 1、时钟发生器时钟发生器82848284(1 1片片),为),为CPUCPU提供时钟信号提供时钟信号CLKCLK;2 2、地址锁存器地址锁存器8282/82838282/8283(3 3片片););3 3、双向数据总线收发器双向数据总线收发器82868286(2 2片片)。)。第二章第二章 80868086系统结构系统结构80868086系统配置系统配置42每片每片地址锁存器地址锁存器82828282可可锁存锁存8 8位数据位数据,而,而80868086中有中有2121根分根分 时复用引脚时复用引脚信号(信号(ADAD0 0ADAD1515、A A1616/S/S3 3 A A1919/S/S6 6、BHE/SBHE/S7 7 )需)需要锁存,因此需要要锁存,因此需要3 3片片82828282。8282 8282共共20pins20pins:GNDGND、VCC(+5V)VCC(+5V):地,电源:地,电源 DIDI0 0 DIDI7 7 :8 8位数据位数据输入输入 DODO0 0 DODO7 7 :8 8位数据位数据输出输出 2 2根根控制引脚控制引脚:STBSTB:选通选通信号,与信号,与CPUCPU的的ALEALE脚相连,当脚相连,当ALEALE有效(即有效(即T T1 1状态),将状态),将 DIDI0 0 DIDI7 7进行锁存(进行锁存(D D触发器)。触发器)。OEOE:输出允许输出允许信号,一般信号,一般接地接地,表示将,表示将8 8个个D D触发器中触发器中锁存的信号由锁存的信号由 DODO0 0 DODO7 7输出。输出。每片数据总线收发器每片数据总线收发器82868286可对可对8 8路信号路信号进行进行驱动驱动,而,而80868086中有中有1616根数据总线根数据总线(ADAD0 0ADAD1515),故需要),故需要2 2片片82868286。8286 8286共共20pins20pins:GNDGND、VCC(+5V)VCC(+5V):地,电源:地,电源 A A0 0 A A7 7 :I/OI/O数据线数据线 B B0 0 B B7 7 :I/OI/O数据线数据线 43 2 2根根控制引脚控制引脚:OEOE:输出允许输出允许信号,信号,选通选通82868286,OE=0OE=0,允许数据通,允许数据通 过过82868286。与。与CPUCPU的的DENDEN脚相连(脚相连(T T2 2T T4 4有效时对数据总线有效时对数据总线 进行驱动)进行驱动)T T:控制数据传送方向控制数据传送方向,与,与CPUCPU的的DT/RDT/R脚相连脚相连 T=1T=1,A Ai iBBi i,CPUCPU外部(写)外部(写)T=0T=0,B Bi iAAi i,外部,外部CPUCPU(读)(读)时钟发生器时钟发生器82848284功能:功能:产生产生三种时钟信号三种时钟信号供供CPUCPU及外设使用及外设使用 OSCOSC:晶体振荡器工作频率():晶体振荡器工作频率()CLKCLK:3 3分频分频OSCOSC后的时钟(),供后的时钟(),供8088CPU8088CPU使用使用 PCLKPCLK:2 2分频分频CLKCLK后的时钟(),供外设使用后的时钟(),供外设使用 提供提供同步同步后的复位(后的复位(RESETRESET)信号发给)信号发给CPUCPU 提供提供同步同步后的外设就绪(后的外设就绪(READYREADY)信号发给)信号发给CPUCPU44如上图(如上图(80868086最小模式系统配置)右边所示,经过最小模式系统配置)右边所示,经过锁存和驱动锁存和驱动,三总线三总线均出现在右侧,在均出现在右侧,在整个总线周整个总线周期中保持稳定期中保持稳定。45二、最大模式系统(略)二、最大模式系统(略)46第二章第二章 80868086系统结构系统结构8086CPU8086CPU时序时序 什么是什么是时序时序?时序时序是是计算机操作运行的时间计算机操作运行的时间典型的典型的顺序顺序。8086CPU8086CPU的各种操作都是在的各种操作都是在时钟脉冲时钟脉冲CLKCLK的统一控制下进行的。的统一控制下进行的。80868086总线周期序列总线周期序列 等待周期等待周期T TW W :是在一个总线周期的:是在一个总线周期的T T3 3和和T T4 4之间,之间,CPUCPU根据根据READYREADY信号来确定是否插入信号来确定是否插入T TW W。(有时因存储器或外设速度。(有时因存储器或外设速度较慢,而在较慢,而在T T3 3之后可插入之后可插入1 1个或个或N N个等待周期个等待周期T TW W )空闲周期空闲周期T Ti i :是指在:是指在二个总线周期之间二个总线周期之间的时间间隔的时间间隔(总线处总线处在空闲状态在空闲状态)。4780868086的主要操作时序的主要操作时序一、系统的一、系统的复位复位与与启动启动操作操作 当当RESETRESET引脚维持引脚维持4 4个个T T状态状态以上的高电平时触发该操作,以上的高电平时触发该操作,该操作执行后:该操作执行后:清空指令队列清空指令队列 CSCS置为全置为全1 1(FFFFHFFFFH)其余寄存器清其余寄存器清0 0 因为因为CS=FFFFHCS=FFFFH,IP=0000H,IP=0000H,故故复位重启复位重启后,将从内存的后,将从内存的FFFFOHFFFFOH处开始执行指令。一般该处存放无条件转移(处开始执行指令。一般该处存放无条件转移(JMPJMP)指令,转移到系统引导程序的入口处,自动进入系统程序。指令,转移到系统引导程序的入口处,自动进入系统程序。48二、最小模式下的总线操作二、最小模式下的总线操作1 1、读总线周期读总线周期 T1 T2 T3 Tw T4M/IOCLKA1619BHEALERDDT/RDEN地址地址状状 态态地址地址数据数据BHE高为存储器高为存储器/低为低为I/OAD015492 2、写总线周期写总线周期0N个个AD015A1619 T1 T2 T3 Tw T4M/IOCLKBHEALEWRDT/RDEN地址地址状状 态态地址地址数据数据BHE高为存储器高为存储器/低为低为I/O503 3、总线空操作总线空操作 当指令队列已装满,且当指令队列已装满,且EUEU未申请访问存储器或未申请访问存储器或I/OI/O端口,端口,则则BIUBIU不和总线打交道,不和总线打交道,CPUCPU不执行总线周期,进入不执行总线周期,进入总线空闲总线空闲周期周期T Ti i。此时,此时,CPUCPU虽对总线进行空操作,但虽对总线进行空操作,但CPUCPU内部操作仍然进内部操作仍然进行,即行,即EUEU仍在工作仍在工作(ALUALU运算或寄存器之间的操作),故可运算或寄存器之间的操作),故可以说以说总线空操作是总线接口部件总线空操作是总线接口部件BIUBIU对总线执行对总线执行EUEU的等待的等待。三、最大模式下的总线操作(略)三、最大模式下的总线操作(略)511 1、外设与主机之间有、外设与主机之间有外设接口电路外设接口电路 接口电路中有三种接口电路中有三种不同类型的寄存器不同类型的寄存器。数据数据:存放传送的数据,起:存放传送的数据,起缓冲器缓冲器的作用;的作用;状态状态:保存外设的状态信息,便于:保存外设的状态信息,便于CPUCPU测试测试;控制控制:暂存暂存CPUCPU发出的发出的控制命令控制命令。2 2、为了区分不同的外设接口,微机系统为外设的每个寄存器为了区分不同的外设接口,微机系统为外设的每个寄存器也进行了编号(分配地址),也进行了编号(分配地址),称为称为端口地址(或端口号)端口地址(或端口号)。各个各个端口号不能重复端口号不能重复,它是,它是独立于内存空间的独立于内存空间的I/OI/O地址空间地址空间。3 3、80868086允许有允许有64K64K个个8 8位的位的I/OI/O端口端口,端口地址范围:端口地址范围:0000H-FFFFH0000H-FFFFH 两个编号相邻的两个编号相邻的8 8位端口可组成一个位端口可组成一个1616位端口位端口。第二章第二章 80868086系统结构系统结构80868086的的I/OI/O组织组织524 4、主机与外设端口之间、主机与外设端口之间交换信息交换信息用用ININ、OUTOUT指令指令实现。实现。控制信号:控制信号:RDRD、WRWR、M/IOM/IO(为低电平(为低电平)A A1919A A1616为为0 0 A A1515A A0 0组成端口地址组成端口地址 总之,总之,80868086的的I/OI/O地址空间与存储器地址空间是独立的地址空间与存储器地址空间是独立的 (独立编址)(独立编址),而单片机中两者是统一编址的。而单片机中两者是统一编址的。
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!