微型计算机原理与接口技术第2章_第1页
微型计算机原理与接口技术第2章_第2页
微型计算机原理与接口技术第2章_第3页
微型计算机原理与接口技术第2章_第4页
微型计算机原理与接口技术第2章_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

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

文档简介

第二章8086系统结构,2-18086/8088CPU结构8086:Intel系列的16位微处理器,16条数据线、20条地址线,可寻址地址范围220=1MB,8086工作时,只要一个5V电源和一个时钟,时钟频率为5MHz。8088:内部与8086兼容,也是一个16位微处理器,只是外部数据总线为8位,所以称为准16位微处理器。它具有包括乘法和除法的16位运算指令,所以能处理16位数据,还能处理8位数据。8088有20根地址线,所以可寻址的地址空间达220即1M字节。一8086/8088CPU的内部结构,AHAL,BHBL,CHCL,DHDL,SP,BP,DI,SI,通用寄存器,运算寄存器,ALU,标志,执行部分控制电路,123456,CS,DS,SS,ES,IP,内部寄存器,I/O控制电路,地址加法器,20位,16位,8位,指令队列缓冲器,外总线,执行部件,总线接口部件,8086CPU结构图,1、总线接口部件功能:(1)、从取指令送到指令队列。(2)、CPU执行指令时,到指定的位置取操作数,并将其送至要求的位置单元中。总线接口部件的组成:(1)、四个段地址寄存器CS,16位代码段寄存器;DS,16位数据段寄存器;ES,16位附加段寄存器;SS,16位堆栈段寄存器。,(2)、16位指令指针寄存器IP(PC)。(3)、20位的地址加法器。(4)、六字节的指令队列缓冲器。说明:(1)、指令队列缓冲器:在执行指令的同时,将取下一条指令,并放入指令队列缓冲器中。CPU执行完一条指令后,可以指令下一条指令(类似流水线技术)。提高CPU效率。(2)、地址加法器:产生20位地址。CPU内无论是段地址寄存器还是偏移量都是16位的,通过地址加法器产生20位地址。,2、执行部件作用:(1)、从指令队列中取出指令。(2)、对指令进行译码,发出相应相应的控制信号。(3)、接收由总线接口送来的数据或发送数据至接口。(4)、进行算术运算。执行部件的组成:(1)、四个通用寄存器AX、BX、CX、DX。四个通用寄存器都是16位或作两个8位来使用。(2)、专用寄存器,SP-堆栈指针寄存器BP-基址指针寄存器DI-目的变址寄存器SI-源变址寄存器(3)、算术逻辑单元ALU完成8位或者16位二进制算术和逻辑运算,计算偏移量。(4)、数据暂存寄存器协助ALU完成运算,暂存参加运算的数据。(5)、执行部件的控制电路从总线接口的指令队列取出指令操作码,通过译码电路分析,发出相应的控制命令,控制ALU数据流向。,8086/8088CPU执行程序的操作过程(1)、20位地址的形成,并将此地址送至程序存储器指定单元,从该单元取出指令字节,依次放入指令队列中。(2)、每当8086的指令队列中有2个空字节,8088指令队列中有1个空字节时,总线接口部件就会自动取指令至队列中。(3)、执行部件从总线接口的指令队列首取出指令代码,执行该指令。(4)、当队列已满,执行部件又不使用总线时,总线接口部件进入空闲状态。(5)、执行转移指令、调用指令、返回指令时,先清空队列内容,再将要执行的指令放入队列中。,二、寄存器结构,5、标志寄存器16位寄存器,其中有7位未用。,D15,D0,OFDFIFTFSFZFAFPFCF,进借位标志,奇偶标志,半进借位标志,零标志,符号标志,单步中断,中断允许,方向标志,溢出标志,1-有进、借位0-无进、借位,1-低8位有偶数个10-低8位有奇数个1,1-低4位向高4位有进、借位0-低4位向高4位无进、借位,1-结果为00-结果不为0,2-28086/8088CPU的引脚及其功能根据所连的存储器和外设规模的不同,使它们可以在两种模式下工作:系统的最小模式:只有一8086/8088CPU。系统的最大模式:有两个或两个以上的CPU,一个为主CPU8086/8088,另一个为协CPU8087/8089。指令周期:执行一条指令所需要的时间。总线周期(机器周期):CPU通过总线与存储器或I/O接口进行一次数据传输所需的时间。T状态(时钟周期):CPU处理动作的最小单位。,T1,T2,T3,TW,T4,总线周期,而当系统规模较大时,要求有较强的驱动能力,这样就需要两个获两个以上的微处理器。其中有一个是主处理器8086或8088,其它的处理器称为协处理器,它们协助主处理器工作。例如8088便通过总线控制器8288来形成各种控制信号。如图所示,为8086CPU和8088CPU的引脚信号图。共有40条引脚线,这些引脚线用来输出或接收各种信号:地址线,数据线,控制线和状态线,电源线和定时线。由于8088微处理器是一种准16位机。其内部结构基本上与8086相同,其信号也与8086基本相同,只是有一些引脚的功能有所不同,在这里,我们将以8086为例,具体介绍一下最小模式下和最大模式下各位引脚功能,如出现功能不同的引脚再具体讲解。,0102030405060708091011121314151617181920,4039383736353433323130292827262524232221,GND,AD14/A14,AD13/A13,AD12/A12,AD11/A11,AD10/A10,AD9/A9,AD8/A8,AD7,AD6,AD5,AD4,AD3,AD2,AD1,AD0,NMI,INTR,CLK,GND,VCC(5V),AD15/A15,A16/S3,A17/S4,A18/S5,A19/S6,/BHE/S7HIGH(SSO),MN/MX,/RD,HOLD(/RQ/GT0),HLDA(/RQ/GT1),/WR(/LOCK),M/IO(/S2),DT/R(/S1),/DEN(/S0),ALE(QS0),/INTA(QS1),/TEST,READY,RESET,8086/8088,1、地址/数据总线AD15-AD0:地址/数据复用引脚,双向,三态。(8086/8088)AD15-AD0:16位地址总线A15-A0,输出访问存储器或I/O的地址信息。(8086)AD15-AD0:16位数据总线D15-D0,与存储器和I/O设备交换数据信息。(8088)AD7-AD0:8位数据总线D7-D0,与存储器和I/O设备交换数据信息。地址/数据总线复用,分时工作。,2、地址/状态总线A19/S6-A16/S3A19/S6-A16/S3:地址/状态总线复用引脚,输出,三态。,A19/S6-A16/S3:输出访问存储器的20位地址的高4位地址A19-A16。A19/S6-A16/S3:输出CPU的工作状态。A19/S6-A16/S3:分时工作,T1状态:输出地址的高4位信息;T2、T3、T4状态:输出状态信息。S6:指示8086/8088当前是否与总线相连,S6=0,表示8086/8088当前与总线相连。S5:表明中断允许标志当前的设置。S5=0,表示CPU中断是关闭的,禁止一切可屏蔽中断源的中断请求;S5=1,表示CPU中断是开放的,允许一切可屏蔽中断源的中断申请。S4、S3:指出当前使用段寄存器的情况。,S4、S3组合所对应的段寄存器情况S4S3段寄存器00当前正在使用ES01当前正在使用SS10当前正在使用CS11当前正在使用DS,3、控制总线(1)、/BHE/S7:高8位数据总线允许/状态复用引脚。在总线周期的T1状态,此引脚输出/BHE信号,表示高8位数据线D15-D8上的数据有效。,在T2、T3、TW和T4状态时,此引脚输出S7状态信号。/BHE、A0组合:(见p29)/BHEA0总线使用情况00从偶地址单元开始,在16位数据总线上进行字传送01从奇地址单元开始,在高8位数据总线上进行字节传送10从偶地址单元开始,在低8位数据总线上进行字节传送11无效,S7:8086中无定义。8088中,在最大模式中,为高电平;在最小模式中,输出SS0信号,此信号与其它信号合作将总线周期的读/写动作。,(2)、/RD:读信号,三态输出,低电平有效。/RD=0,表示当前CPU正在对存储器或I/O端口进行读操作。(3)、/WR:写信号,三态输出,低电平有效。/WR=0,表示当前CPU正在对存储器或I/O端口进行读操作。(4)、M/IO:存储器或IO端口访问信号,三态输出。M/IO=1,表示CPU正在访问存储器;M/IO=0,表示CPU正在访问IO端口。(5)、READY:准备就绪信号,输入,高电平有效。READY=1,表示CPU访问的存储器或IO端口已准备好传送数据。若CPU在总线周期T3状态检测到READY=0,表示未准备好,CPU自动插入一个或多个等待状态TW,直到READY=1为止。,(6)、INTR:可屏蔽中断请求信号,输入,高电平有效。当INTR=1,表示外设向CPU发出中断请求,CPU在当前指令周期的最后一个T状态去采样该信号,若此时,IF=1,CPU响应中断,执行中断服务程序。(7)、/INTA:中断响应信号,输出,低电平有效。表示CPU响应了外设发来的中断申请信号INTR。(8)、NMI:不可屏蔽中断请求信号,输入,上升沿触发。该请求信号不受IF状态的影响,也不能用软件屏蔽,一旦该信号有效,则执行完当前指令后立即响应中断。(9)、/TEST:测试信号,输入,低电平有效。当CPU执行WAIT指令时,每隔个时钟周期对/TEST进行一次测试,若/TEST=1,继续等待,直到/TEST=0。,(10)、RESET:复位信号,输入,高电平有效。RESET信号至少要保持4个时钟周期。复位时:标志寄存器、IP、DS、SS、ES为0,CS=FFFFH,复位后CPU从FFFF0H处开始执行。(11)、ALE:地址锁存允许信号,输出,高电平有效。用来锁存地址信号A15-A0,分时使用AD15-AD0地址/数据总线。(12)、DT/R:数据发送/接收控制信号,三态输出。此信号控制数据总线上的收发器8286的数据传送方向,DT/R=1,发送数据-写操作;DT/R=0,接收数据-读操作。(13)、/DEN:数据允许信号,三态输出,低电平有效。作为数据总线上收发器8286的选通信号。,(14)、HOLD:总线请求信号,输入,高电平有效。当系统中CPU之外的另一个控制器要求使用总线时,通过它向CPU发一高电平的请求信号。(15)、HLDA:总线请求响应信号,输出,高电平有效。当HLDA有效时,表示CPU对其它控制器的总线请求作出响应,与此同时,所有与三总线相接的CPU的线脚呈现高阻抗状态,从而让出总线。(16)、MN/MX:工作模式选择信号,输入。MN/MX=1,表示CPU工作在最小模式系统;MN/MX=0,表示CPU工作在最大模式系统。(17)、CLK:主时钟信号,输入。8086/8088的时钟频率为5MHZ。,4、电源线和地线8086/8088采用单+5V,1、20引脚为地线。,二8086/8088CPU在最大模式中引脚定义,1、S2、S1、S0:总线周期状态信号,三态输出。S2、S1、S0状态信号的编码S2S1S0操作过程产生信号000发中断响应信号/INTA001读I/O端口IORC010写I/O端口IOWC011暂停无100取指令/MRDC101读存储器/MRDC110写存储器/AMWC111无作用无,2、/LOCK:总线封锁信号,三态输出,低电平有效。/LOCK=0,CPU不允许其它控制器占用总线。3、/RQ/GT0、/RQ/GT1:总线请求信号(输入)/总线请求允许信号(输出),双向,低电平有效。,4、QS1、QS2:指令队列状态信号,输出。QS1QS2含义00无操作01将指令首字节送入指令队列10队列为空11将指令其余字节送指令队列,2-38086存储器组织8086/8088是16位的微处理器,在组成存储系统时,总是使偶地址单元的数据通过AD0AD7传送,而奇地址单元的数据通过AD8AD15传送,所有的操作可以是按字节为单位也可以是按字为单位来处理的,但8086/8088系统中的存储器是以8位(一个字节)为单位对数据进行处理的。因此每个字节用一个唯一的地址码表示,这称为存储器的标准结构。需要说明的是,在存储器中,任何连续存放的两个字节都可以称为一个字。存放时,其低位字节可从奇数地址开始,这种方式称为非规则方式,奇数地址的字称为非规则字。其低位字节可从偶数地址开始,这种方式称为规则方式,。将偶数地址的字称为规则字。,一、存储器地址的分段1存储器地址的分段由于8086/8088有20条地址线,可以寻址多达220(1M)字节,所以把1M字节的存储器分为任意数量的段,其中每一段最多可达寻址(64K)字节。8086CPU把1M字节的存储器空间划分为任意的一些存储段,一个存储段是存储器中可独立寻址的一个逻辑单位,也称逻辑段,每个段的长度为64K字节。8086CPU中有四段寄存器:CS,DS,SS和ES,这四个段寄存器存放了CPU当前可以寻址的四个段的基址,也即可以从这四个段寄存器规定的逻辑段中存取指令代码和数据。一旦这四个段寄存器的内容被设定,就规定了CPU当前可寻址的段。,2、物理地址的形成存储器中的每个存储单元都可以用两个形式的地址来表示:实际地址(或称物理地址)和逻辑地址。实际地址:也称物理地址,是用唯一的20位二进制数所表示的地址,规定了1M字节存储体中某个具体单元的地址。逻辑地址在程序中使用,即段地址:偏移地址。物理地址有两部分组成:段基址和偏移地址。,3、逻辑地址来源8086/8088CPU中有一个地址加法器,它将段寄存器提供的段地址自动乘以10H即左移4位,然后与16位的偏移地址相加,并锁存在物理地址锁存器中。如图所示。物理地址=段基址*16+偏移地址。段基址:CS、DS、ES、SS。偏移地址:IP、DI、SI、BP、SP等。,段寄存器值,偏移量,+,物理地址,16位,4位,16位,20位,存储器物理地址的计算方法,CS0000,IP,代码段,DS或ES0000,SI、DI或BX,SS0000,SP或BP,数据段,堆栈段,存储器,段寄存器和偏移地址寄存器组合关系,/BHEA0总线使用情况00从偶地址单元开始,在16位数据总线上进行字传送01从奇地址单元开始,在高8位数据总线上进行字节传送10从偶地址单元开始,在低8位数据总线上进行字节传送11无效,三堆栈的概念堆栈主要用于暂存数据和在过程调用或处理中断时暂存断点信息。(1)堆栈的概念堆栈是在存储器中开辟的一片数据存储区,这片存储区的一端固定,另一端活动,且只允许数据从活动端进出。采用“先进后出”的规则。(2)堆栈的组织堆栈指示器SP,他总是指向堆栈的栈顶堆栈的伸展方向既可以从大地址向小地址,也可以从小地址向大地址。8086/8088的堆栈的伸展方向是从大地址向小地址。,2-48086系统配置,2-58086CPU时序在微机系统中,CPU是在时钟信号CLK控制下,按节拍有序地执行指令序列。从取指令开始,经过分析指令、对操作数寻址,然后执行指令、保存操作结果,这个过程称为指令执行周期。指令周期:执行一条指令所需要的时间。总线周期(机器周期):CPU通过总线与存储器或I/O接口进行一次数据传输所需的时间。T状态(时钟周期):CPU处理动作的最小单位。,T1,T2,T3,TW,T4,总线周期,一、系统复位产生:RESET端上的高电平维持4个时钟周期,可使CPU复位。CPU复位:PSW、DS、ES、SS、IP等寄存器,指令队列被清零。CS寄存器设置为FFFFH。注:由于复位后,IF=0,处关中断状态,所以在初始化程序中应开中断,使CPU可响应中断请求。当RESET由高电平变低电平7个机器周期后,CPU开始从FFFF0处执行程序。,8086的复位时序:,CLK,RESET输入,RESET内部,三态门,浮空,8086CPU复位后总线信号:AD15-AD0:A19/S6-A16/S3:/BHE/S7:S2、S1、S0:/LOCK、/RD、/INTA:ALE、HLDA、QS0、QS1:/RQ/GT0:/RQ/GT1:,高阻状态,低电平,高电平,二、最小模式下的总线操作总线读操作:CPU从存储器或外设读取数据。总线写操作:CPU将数据写入存储器或外设。1、存储器读周期总线周期包括:T1、T2、T3、(TW)、T4机器周期。(1)、T1周期M/IO信号:从存储器读还是从I/O设备中读数据;AD15-AD0、A19/S7-A16/S3:确定20位地址;/BHE:选择奇地址存储体选择。ALE:地址锁存信号,以使地址/数据线分开。,(2)、T2状态A19/S6-A16/S3:出现S6-S3状态信号。决定段寄存器、IF状态、8086CPU是否连在总线上。AD15-AD0:高阻状态。/RD:由高电平变为低电平,开始进行读操作。/DEN:变低电平,启动收发器8268,做好接收数据的准备。(3)、T3状态若存储器或I/O端口已做好发送数据准备,则在T3状态期间将数据放到数据总线上,在T3结束时,CPU从AD15-AD0上读取数据。,(4)、TW状态在T3状态,存储器或外设没有准备好数据,不能在T3状态将数据放到总线上,使READY=0,则CPU在T3和T4之间插入一个或几个TW状态,直到数据准备好READY=1为止。TW状态时总线的动作与T3时相同。(5)、T4状态CPU对数据总线进行采样,读出数据。,CLK,T1,T2,T3、TW,T4,M/IO,A19/S6-A16/S3,A19-A16,/BHE/S7,/BHE,S7-S3,ALE,READY,AD15-AD0,地址输出,数据输出,/RD,DT/R,/DEN,CPU从存储器或I/O端口读取数据的时序,2、存储器写周期(1)、T1状态M/IO信号:对存储器写还是对I/O设备中写数据;AD15-AD0、A19/S7-A16/S3:确定20位地址;/BHE:选择奇地址存储体选择。ALE:地址锁存信号,以使地址/数据线分开。DT/R:为高电平,指示收发器8286发送数据,写操作。(2)、T2状态A19/S6-A16/S3:出现S6-S3状态信号。决定段寄存器、IF状态、8086CPU不否连在总线上。,AD15-AD0:发出16位

温馨提示

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

最新文档

评论

0/150

提交评论