第2章80868088CPU体系结构课件

上传人:仙*** 文档编号:241627289 上传时间:2024-07-11 格式:PPT 页数:186 大小:2.67MB
返回 下载 相关 举报
第2章80868088CPU体系结构课件_第1页
第1页 / 共186页
第2章80868088CPU体系结构课件_第2页
第2页 / 共186页
第2章80868088CPU体系结构课件_第3页
第3页 / 共186页
点击查看更多>>
资源描述
第二章 8086/8088 CPU体系结构门电路介绍三态门与D触发器三态缓冲器、锁存器三八译码器、1概述点击输入简要文字内容,文字内容需概括精炼,不用多余的文字修饰,言简意赅的说明分项内容点击输入简要文字内容,文字内容需概括精炼,不用多余的文字修饰,言简意赅的说明分项内容点击输入简要文字内容,文字内容需概括精炼,不用多余的文字修饰,言简意赅的说明分项内容1 12 23 32补充:三态门和D触发器三态门和以D触发器形成的锁存器是微机接口电路中最常使用的两类逻辑电路三态门:功率放大、导通开关器件共用总线时,一般使用三态电路:需要使用总线的时候打开三态门;不使用的时候关闭三态门,使之处于高阻D触发器:信号保持,也可用作导通开关三态锁存3三态缓冲器(三态门)具有单向导通和三态的特性T为低平时:输出为高阻抗(三态)T为高电平时:输出为输入的反相TAF表示反相或低电平有效TAFTAFTAF474LS244双4位单向缓冲器分成4位的两组每组的控制端连接在一起控制端低电平有效输出与输入同相每一位都是一个三态门,每4个三态门的控制端连接在一起5双向三态缓冲器具有双向导通和三态的特性ABTOE*OE*0,导通 T1 AB T0 ABOE*1,不导通6Intel 82868位双向缓冲器控制端连接在一起,低电平有效可以双向导通输出与输入同相OE*0,导通 T1 AB T0 ABOE*1,不导通每一位都是一个双向三态门,8位具有共同的控制端774LS2458位双向缓冲器控制端连接在一起,低电平有效可以双向导通输出与输入同相E*0,导通 DIR1 AB DIR0 ABE*1,不导通74LS245与Intel 8286功能一样8D触发器D QC Q电平锁存D QC Q上升沿锁存电平锁存:高电平通过,低电平锁存上升沿锁存:通常用负脉冲触发锁存负脉冲的上升沿D QC QSR带有异步置位清零的电平控制的锁存器974LS273具有异步清零的TTL上升沿锁存器每一位都是一个D触发器,8个D触发器的控制端连接在一起10三态缓冲锁存器(三态锁存器)TA D Q CB锁存环节缓冲环节11Intel 8282具有三态输出的TTL电平锁存器STB 电平锁存引脚OE*输出允许引脚每一位都是一个三态锁存器,8个三态锁存器的控制端连在一起1274LS373具有三态输出的TTL电平锁存器LE 电平锁存引脚OE*输出允许引脚74LS373与Intel 8282功能一样13 以Intel80868088、Z8000和MC68000为代表的16位微处理器是第3代产品,以它们为核心部件组成的微机系统,其性能已达到中、高档小型计算机的水平。20多年来,Intel系列CPU一直占着主导地位。尽管8086/8088后续的80286、80386、80486以及Pentium系列CPU结构与功能已经发生很大变化,但从基本概念与结构以及指令格式上来讲,它们仍然是经典的8086/8088CPU的延续与提升。并且,其他系列流行的CPU(如AMD公司的6X86MX/M等)也与80 x86CPU兼容。148086/8088CPU是Intel系列微处理器中具有代表性的高性能16位微处理器。Intel 8086/8088CPU采用HMOS工艺制造,外型为双列直插,有40个引脚。单一的5V电源,主时钟频率8086为5MHz(8086-1为10MHz;8086-2为8MHz),8088为4.7MHz。8086/8088内部采用16位数据通路和并行流水线结构,从而允许在总线空闲状态预取指令,使取指令和执行指令的操作并行执行,提高了CPU的利用律和处理速度。8086/8088对外提供16位数据总线(8088只有8位)和20位地址线,可寻址空间为220=1M字节。8086/8088CPU另一个突出特点是支持多处理器系统,可与8087或8089构成多处理器系统,以提高系统的数据处理能力和输入输出能力。8086/8088这两个CPU基本相同,都是16位内部结构,但对外数据总线宽度不同,8086是16位,而8088只有8位,所以,称8088为准16位CPU。152.1 8086/8088 CPU2.1 8086/8088 CPU内部结构2.2 8086/8088 CPU2.2 8086/8088 CPU的工作模式及引脚功能2.3 8086/80882.3 8086/8088的存储器组织2.4 8086/80882.4 8086/8088的系统配置2.6 8086/80882.6 8086/8088的寻址方式2.5 8086/80882.5 8086/8088的操作和时序162.1 8086/8088微处理器(一)8086/8088CPU内部结构(二)寄存器结构(三)8086/8088CPU的总线周期概念173.1 80868088微处理器 8086是Intel系列的16位微处理器,是iAPX8688系列微机的基础。它采用高速运算性能的HMOS工艺制造,芯片上集成有2.9万个晶体管,用单一的+5伏电源和40条引脚的双列直插式封装;时钟频率为5MHz10MHz,最快的指令执行时间为0.4s。8086有16根数据线和20根地址线,可以处理8位或16位数据,寻址1MB的存储单元和64KB的IO端口。它的主机设计较之8位机的性能大约提高了10倍。在推出8086之后不久,Intel公司还推出了准16位微处理器8088。8088的内部寄存器、运算器以及内部数据总线都是按16位设计的,但外部数据总线只有8条。这样设计的目的主要是为了与Intel原有的8位外围接口芯片直接兼容。在本节中,我们对8088也将加以说明。18一、808680868088CPU8088CPU的内部结构 从功能上讲,8086可分为两个部分,即总线接口单元BIU(Bus Interface Unit)BIU(Bus Interface Unit)和执行单元EU(Execution Unit)EU(Execution Unit)。1980888088的内部结构1 2 3 4 内部暂存器 IP ES SS DS CS控制电路外部总线控制电路ALU标志寄存器 AH AL BH BLCH CL DH DL SP BP SI DI通用寄存器地址加法器指令队列执行部件(EU)总线接口部件(BIU)16位20位8位8位段寄存器20(一)总线接口单元BIUBIU 总线接口单元BIU的功能是负责完成CPU与存储器或IO设备之间的数据传送。其具体任务是:BIU要从内存取指令送到指令队列缓冲器;CPU执行指令时,总线接口单元要配合执行单元从指定的内存单元或者外设端口中取数据,将数据传送给执行单元,或者把执行单元的操作结果传送到指定的内存单元或外设端口中。BIU内有4个16位段地址寄存器CS(代码段寄存器)、DS(数据段寄存器)、SS(堆栈段寄存器)和ES(附加段寄存器),16位指令指针IP,6字节指令队列缓冲器,20位地址加法器和总线控制电路。21 1.指令队列缓冲器:8086的指令队列为6个字节,而8088的指令队列为4个字节。在执行指令的同时,从内存中取下面1条或几条指令,取来的指令依次放在指令队列中。“先进先出”的原则:(1)取指时当指令队列缓冲器中存满1条指令后,EU执行。(2)指令队列缓冲器中只要空出2个(对8086)或空出1个(对8088)指令字节时,BIU自动执行取指操作,直到填满。22(3)在EU执行指令的过程中,指令需要对存储器或I/O设备存取数据时,BIU将在执行完现行取指的存储器周期后的下一个存储器周期,对指定的内存单元或 I/O设备进行存取操作,交换的数据经BIU由EU进行处理。(4)当EU执行完转移、调用和返回指令时,则要清除指令队列缓冲器,并要求BIU从新的地址重新开始取指令,新取的第1条指令将直接经指令队列送到EU去执行,随后取来的指令将填入指令队列缓冲器。232.地址加法器和段寄存器:8086有20根地址线,内部寄存器有16位,采用了16位的段寄存器与16位的偏移地址即“段加偏移”的技术。利用各段寄存器分别来存放确定各段的起始地址的16位段地址信息,而由IP提供或由EU按寻址方式计算出寻址单元的16位偏移地址(又称为逻辑地址或简称为偏移量),然后,将它与左移4位后的段寄存器的内容同时送到地址加法器进行相加,最后形成一个20位的实际地址(又称为物理地址),以对存储单元寻址。24段基址与段内偏移地址的组合(相加)形成20位物理地址PA,PA用以访问存储器。段内偏移地址可以存放在指定的寄存器中,也可以存放在存储单元中。例:某指令在代码内的偏移地址为0060H,即IP=006FH,当前代码段的段起始地址为3000H,即CS=3000H,则该指令在主存中的物理地址PA=(CS)左移4位+(IP)=30000H+006FH=3006FH。253.16位指令指针IP(Instruction Pointer)其功能与8位CPU中的PC类似。正常运行时,IP中含有BIU要取的下1条指令(字节)的偏移地址。IP在程序运行中能自动加1修正,使之指向要执行的下1条指令(字节)。有些指令能使IP值改变或使IP值压进堆栈,或由堆栈弹出恢复原值。26(二)指令执行单元EUEU 执行单元EU并不与系统的总线控制电路直接相连,这使得它能与总线接口单元之间保持既相互联系又相互独立的关系。EU的功能只是负责执行指令;执行的指令从BIU的指令队列缓冲器中取得,执行指令的结果或执行指令所需要的数据,都由EU向BIU发出请求,再由BIU经总线控制电路对存储器或外设存取。EU由下列部分组成。271.16位算术逻辑单元(ALU):它可以用于进行算术、逻辑运算,也可以按指令的寻址方式计算出寻址单元的16位偏移量。2.16位标志寄存器F:它用来反映CPU运算的状态特征或存放控制标志。3.数据暂存寄存器:它协助ALU完成运算,暂存参加运算的数据。4.通用寄存器组:它包括4个16位数据寄存器AX、BX、CX、DX和4个16位指针与变址寄存器SP、BP与SI、DI。285.EU控制电路:它是控制、定时与状态逻辑电路,接收从BIU中指令队列取来的指令,经过指令译码形成各种定时控制信号,对EU的各个部件实现特定的定时操作。EU中所有的寄存器和数据通道(除队列总线为8位外)都是16位的宽度,可实现数据的快速传送。8088CPU内部结构与8086的基本相似,只是8088BIU中指令队列长度为4个字节;8088BIU通过总线控制电路与外部交换数据的总线宽度是8位,总线控制电路与专用寄存器组之间的数据总线宽度也是8位。29 当EU在执行指令过程中需要访问存储器或I/O端口存取操作数时,EU首先向BIU发出请求,并提供操作数的有效地址,由BIU形成20位物理地址并访问内存或I/O端口,读取操作数送给EU使用。EUEU和BIUBIU间既相互配合又相对独立,即采用并行流水线方式,它大大提高了CPUCPU的工作效率。30 80868088的内部寄存器编程结构共有13个16位寄存器和1个只用了9位的标志寄存器。如图2-2所示。下图中除指令指示器IP外,其余12个寄存器按功能可分为4组:通用寄存器组、指示器和变址器组、段寄存器组和控制寄存器组。二、8086808680888088的寄存器结构31AXCXBXDXAHALBLBHCLCHDLDHSPBPSIDIFRIPDSESSSCS累加器堆栈指示器基址寄存器标志寄存器代码段寄存器数据段寄存器堆栈段寄存器附加段寄存器指令指示器基址指示器计数器数据寄存器源变址器目的变址器通用数据寄存器段寄存器组指示器和变址寄存器组控制寄存器图2-2 8086/8088 CPU的内部寄存器01500151532(一)通用寄存器1.数据寄存器:执行单元EU中有4个16位数据寄存器AX、BX、CX和DX.每个数据寄存器分为高字节H和低字节L,它们均可作为8位数据寄存器独立寻址,独立使用。数据寄存器是用在算术运算或逻辑运算指令中,用来进行算术逻辑运算。在有些指令中,它们则有特定的用途:如AX作累加器;BX作基址寄存器,在查表指令XLAT中存放表的起始地址;CX作计数寄存器,在使用带有重复前缀(如REP)的数据串操作指令中用来存放数据串元素的个数;DX作数据寄存器,在字的除法运算指令DIV中存放余数。这些寄存器在指令中的特定功能是被系统隐含使用的。332.指针寄存器和变址寄存器:指针寄存器是指堆栈指针寄存器SP和堆栈基址指针寄存器BP,简称为P组。变址寄存器是指源变址寄存器SI和目的变址寄存器DI,简称为I组。它们都是16位寄存器,一般用来存放偏移地址。指针寄存器SP和BP都用来指示存取位于当前堆栈段中的数据所在的地址,但SP和BP在使用上有区别。入栈(PUSH)和出栈(POP)指令是由SP给出栈顶的偏移地址,故称为堆栈指针寄存器。而BP则是存放位于堆栈段中的一个数据区基地址的偏移地址,故称为堆栈基址指针寄存器。显然,由SP所指定的堆栈存储区的栈顶和由BP所指定的堆栈段中某一块数据区的首地址是两个不同的意思,不可混淆。34(二)段寄存器80868088 CPU有20条地址线,具有寻址1MB存储空间。80868088指令中给出的地址码仅有16位,指针寄存器和变址寄存器也只有16位长,不能直接寻址1MB大小的内存空间。AXALAHBXCX寄存器寄存器操 作字乘、字除、字I/O字节乘、字节除、字节I/O,转换、十进制运算字节乘、字节除、转换数据串操作、循环CL多位移位和旋转DX字乘、字除、间接I/OSPSIDI堆栈操作数据串操作数据串操作数据寄存器的隐含使用35 在80868088CPU内部设计了一组16位的段寄存器,用这些段寄存器的内容作为段地址,再由段寄存器左移4位形成20位的段起始地址,被称为段基地址或段基址;这样,80868088就有可能寻址1MB存储空间并将其分成为若干个逻辑段,使每个逻辑段的长度为64KB(它由16位的偏移地址限定)。80868088CPU的BIU中有4个16位段寄存器,80868088的指令可以直接访问这4个段寄存器.36(三)标志寄存器 80868088的16位标志寄存器F只用了其中的9位作标志位,即6个状态标志位,3个控制标志位。AF(Auxiliary Carry Flag)辅助进位标志:标志一般用在BCD码运算中作为是否需要对AL寄存器进行十进制调整的依据。在加法运算中与减法运算中低4位向高4位进位或借位时AF=1,否则AF=0。CFPFAFZFSFTFIFDFOF04268791011FLFH8086/80888086/8088标志寄存器37ZF(Zero Flag)零标志:零标志表示一个算术或逻辑操作的结果是否为零。若当前的运算结果为零,ZF为1;否则为0。CF(Carry Flag)进位标志加法有进位或减法有借位CF=1,否则CF=0PF(Parity Flag)奇偶校验标志运算结果的低8位“1”的个数为偶数PF=1运算结果的低8位“1”的个数为奇数PF=038SF(Sign Flag)符号标志:符号标志保持算术或逻辑运算指令执行后结果的算术符号。它和运算结果的最高位相同。运算结果最高位为1,则SF=1,结果为负;否则SF=0,结果为正。OF(Overflow Flag)溢出标志:溢出标志用于判断在有符号数进行加法或减法时是否可能出现溢出。溢出将指示运算结果已超出机器能够表示的数值范围。8位数 -128+12716位数 -32768+32767 例:将5349H与465AH两数相加,并说明标志位状态。OF=1,否则0F=039 0101 0011 0100 1001 0100 0110 0101 1010 1001 1001 1010 0011+结果为99A3H39331114643SF=1,结果为负不为0;ZF=0,结果不为0;PF=1,8个1;CF=0,无进位;AF=1,有进位;OF=1,有溢出;40控制标志有3个,用来控制CPU的操作,由程序设置或清除。DF(Direction Flag)方向标志:它用来控制数据串操作指令的步进方向。若用STD指令将DF置1,则数据串操作过程中地址会自动递减;若用CLD指令将DF清0,则数据串操作过程中地址会自动递增。DF=0 串操作指令从低地址到高地址自动增址DF=1 串操作指令从高地址到低地址自动减址STD DF=1CLD DF=0操作41IF(Interrupt Enable Flag)中断允许标志:控制可屏蔽中断的标志。若用STI指令将IF置1,则表示允许8086/8088 CPU接受外部从其INTR引脚上发来的可屏蔽中断请求信号;若用CLI指令将IF清0,则禁止CPU接受外来的可屏蔽中断请求信号。IF的状态不影响非屏蔽中断(NMI)请求,也不影响CPU响应内部的中断请求。IF=1,允许CPU响应可屏蔽中断。IF=0,禁止CPU响应可屏蔽中断。TF(Trap Flag)跟踪(陷阱)标志:若将TF标志置为1,则80868088 CPU处于单步工作方式;否则,将正常执行程序。在高型号微处理器中,跟踪(陷阱)标志能够激活芯片上的调试特性(调试程序,以便找到错误或故障),当TF标志为1时,则微处理器将根据调试寄存器和控制寄存器的指示中断程序流。TF标志置为0,则80868088 CPU为连续工作方式。42三、总线周期的概念 对任何一个微处理器来说,为了从存储器中取得指令或者与之传送数据,都需要它的总线接口单元执行一个总线周期。同时,以后我们会知道,在微机系统中,当选择一个存储器或I/O设备与微处理器接口之前,也必须了解系统总线的所谓时序,而这些时序也是以总线周期为基准来描述的。因此,在这里有必要介绍一下有关总线周期的概念。时序是指执行指令过程中,CPU控制器所发出的 一系列特定的控制信号在时间上的相互关系,这些次序 就是计算机的时序。时序是非常重要的概念,它指明微 机内部及内部与外部互相联系遵守的规律。431.时钟周期、指令周期和总线周期 计算机一切操作都是在系统主时钟CLK控制下按节拍有序进行的。(1)时钟周期:又称状态周期或S周期,是振荡周期的若干倍。时钟周期是系统主时钟频率的倒数。例如:CPU主频为8M,时钟周期T=1/f=1/8=125ns CPU主频为25M,时钟周期T=1/f=1/25=40ns CPU主频为1G,时钟周期T=1/f=1ns(2)振荡周期:是提供定时信号的振荡源周期。(3)指令周期:CPU执行一条指令的时间称为指令周期。(4)总线周期:就是CPU访问存储器(或I/O端口)一次所需要的时间。44一个指令周期应由若干个总线周期组成,而一个总线周期由若干个时钟周期(T)组成。通常,包括80868088 CPU在内,一个最基本的总线周期由4个时钟周期组成,时钟周期是CPU的基本时间计量单位,它由CPU的主频决定。在一个最基本的总线周期中,习惯上将4个时钟周期分别称为4个状态,即T、T、T与T这4个状态。45 下面以80868088CPU为例,简要说明CPU在4个状态中的基本作用。在T状态,CPU往多路复用总线上发送地址信息,以选中所要寻址的存储单元或外设端口的地址。在T状态,CPU从总线上撤消地址,并使总线的低16位浮置成高阻状态,为传送数据做准备。总线的高4位AA)用来输出本总线周期状态信息。这些状态信息用来表示CPU是否允许中断、当前正在使用什么段寄存器等。在T状态,多路总线的高4位继续提供状态信息,而其低16位(对8088 CPU则为低8位)上将出现由CPU写出的数据或者CPU从存储器或端口读入的数据。46 在有些情况下,由于外设或存储器的速度较慢,不能及时地配合CPU传送数据。这时,外设或存储 器就会通过“READY”的信号线在T3状态启动之前向CPU发一个“数据未准备好”信号,表示它们还来不及同CPU之间传送数据,于是,CPU会在T3之后自动插入1个或多个附加的时钟周期TW,这个TW就叫等待状态,它表示此时CPU在总线上的信息情况和T3状态时的信息情况一样,只有在指定的存储器或外设已经完成数据传送时,它们又通过“READY”的信号线向CPU发出一个“准备好”信号,当CPU接收到这一信号后,才会自动脱离TW状态而进入T4状态。在T状态,总线周期结束。47 只有当CPU和存储器或I/0接口之间传送数据时,或者它正在填充指令队列缓冲器时,CPU才执行总线周期。如果CPU在执行一个总线周期之后,并不立即执行下一个总线周期,那么,系统总线就会处于空闲状态,此时,CPU将执行空闲周期。在空闲周期中,可以包含1个或多个时钟周期。在此期间,CPU在总线的高4位上仍将驱动前一个总线周期的状态信息,而且,如果前一个总线周期为写周期,则CPU会在总线的低16位上继续驱动数据信息;如果前一个总线周期为读周期,则在空闲周期中,总线低16位会处于高阻状态。48总线周期 T1 T2 T3 T4 Ti Ti T1 T2 T3 Tw Tw Tw T4 Ti Ti 总线周期总线周期等待空闲基本总线周期由4个T状态组成:T1、T2、T3、T4等待时钟周期Tw,在总线周期的T3和T4之间插入空闲时钟周期Ti,在两个总线周期之间插入49等待状态 T1 T2 T3 Tw Tw Tw T4CLKREADY前沿检测前沿检测50等待状态Tw的插入51T T1 1T T2 2T T3 3T Tw wT T4 4T T1 1T T1 180868086总线周期总线周期总线周期的空闲状态522.2 8086/8088 CPU的工作模式及引脚功能一、8086/8088CPU引脚功能CPU功能强,引脚数就会多,而且受到制造工艺的限制,芯片引脚是有限的。为解决这一问题,一些引脚采用双重功能一种是采用分时复用根据模式定义引脚功能,见P27图2-4所示。53三 8086/8088 8086/8088的引脚信号和功能548088的引脚12345678910111213141516171819204039383736353433323130292827262524232221 GNDGND A A1414 A A1313 A A1212 A A1111 A A1010 A A9 9 A A8 8 ADAD7 7 AD AD6 6 AD AD5 5 AD AD4 4 AD AD3 3 AD AD2 2 AD AD1 1 AD AD0 0 NMI NMI INTRINTR CLK CLK GND GNDVCCVCCA A1515A A1616/S/S3 3A A1717/S/S4 4A A1818/S/S5 5A A1919/S/S6 6-SS0 (HIGH)-SS0 (HIGH)MN/-MXMN/-MX-RD-RDHOLD (-RQ0/-GT0)HOLD (-RQ0/-GT0)HLDA (-RQ1/-GT1)HLDA (-RQ1/-GT1)-WR (-LOCK)-WR (-LOCK)IO/-M (-S2)IO/-M (-S2)DT/-R (-S1)DT/-R (-S1)DEN (-S0DEN (-S0 )ALEALE-INTA-INTA-TEST-TESTREADYREADYRESETRESET808855(一)地址数据总线AD15AD0 这是分时复用的存储器或端口的地址和数据总线。传送地址时为单向的三态输出,而传送数据时可双向三态输入输出。正是利用分时复用的方法才能使80868088用40条引脚实现20位地址、16位数据及众多的控制信号和状态信号的传输。不过在8088中,由于只能传输8位数据,所以,只有AD7AD0 8条地址数据线,A15A8只用来输出地址。作为复用引脚,在总线周期的T1状态用来输出要寻址的存储器或IO端口地址;在T2状态浮置成高阻状态,为传输数据作准备;在T3状态,用于传输数据;T4状态结束总线周期.当CPU响应中断以及系统总线“保持响应”时,复用线都被浮置为高阻状态。56(二)地址状态总线A19S6A16S3 地址状态总线为输出、三态总线,采用分时输出,即T1状态输出地址的最高4位,T2T4状态输出状态信息。当访问存储器时,T1状态时输出的A19A16送到锁存器(8282)锁存,与AD15AD0组成20位的地址信号;而访问IO端口时,不使用这4条引线,A19A16=0。状态信息中的S6为0用来指示80868088当前与总线相连,所以,在T2T4状态,S6总等于0,以表示80868088当前连在总线上。S5表明中断允许标志位IF的当前设置。S4和S3用来指示当前正在使用哪个段寄存器,如表上表所示。如果IF=1,表明当前允许可屏蔽中断申请S5置1;如果IF=0,表示当前禁止一切可屏蔽中断S5=0。57(三)控制总线1.高8位数据总线允许状态复用引脚,三态、输出.BHE在总线周期的T1状态时输出,S7在T2T4时输出。在8086中,当BHES7引脚上输出BHE信号时,表示总线高8位AD15AD8上的数据有效。在8088中,第34引脚不是BHES7,而是被赋予另外的信号:在最小方式时,它为SS0;在最大方式时,它恒为高电平.S7在8086中未被赋予定义。582.读控制信号,三态、输出。当RD=0时,表示CPU将要执行一个对存储器或IO端口的读操作。对内存单元还是对IO端口读 取 数 据,取 决 于 M IO(8086)或 MIO(8088)信号。在一个读操作的总线周期中,RD信号在T2、T3和Tw状态均为低电平,以保证CPU读有效。在系统总线“保持响应”期间,RD被浮空。593.“准备好”信号线,输入。当READY=1时,表示所寻址的内存或IO设备已准备就绪,马上就可进行一次数据传输。CPU在每个总线周期的T3状态开始对READY信号采样。到READY=0,表示存储器或IO设备尚未准备就绪,则CPU在T3状态之后自动插入一个或几个等待状态TW,直到READY变为高电平,才进入T4状态,完成数据传送过程,从而结束当前总线周期。604.等待测试信号,输入。当CPU执行WAIT指令时,它就进入空转的等待状态,并且每隔5个时钟周期对该线的输入进行一次测试;若TEST=1时,则CPU将停止取下条指令而继续处于等待状态,重复执行WAIT指令,直至TEST=0时,等待状态结束,CPU才继续往下执行被暂停的指令。等待期间允许外部中断。615.可屏蔽中断请求信号,输入,高电平有效。当INTR=1时,表示外设提出了中断请求,80868088在每个指令周期的最后一个T状态去采样此信号。若IF=1,则CPU响应中断,停止执行当前的指令序列,并转去执行中断服务程序。用STI可使,用CLI使IF=0,从而实现中断的开放或屏蔽。6.非屏蔽中断请求信号,输入,上升沿触发。此请求不受IF状态的影响,也不能用软件屏蔽,只要此信号一出现,CPU就会在现行指令结束后引起中断。(CPU自动引起类型2内部中断2号中断服务程序)。627.复位信号,输入,高电平有效。它与8284A(时钟发生/驱动器)的复位输出端相连,80868088要求复位脉冲宽度不得小于4个时钟周期,而初次接通电源时所引起的复位,则要求维持的高电平不能小于50s;复位后,CPU的主程序流程恢复到启动时的循环待命初始状态。CPU收到RESET后使IP、DS、SS、ES清零而将CS置为FFFFH。通过JMP 地址,使CPU转去一个特定程序。63 标志寄存器与指令队列缓冲器的原有信息被清除,IP与DS、SS和ES也被清零,而CS被置为FFFFH。当RESET信号变为低电平时,CPU就从FFFF0H开始执行程序。在程序执行时,RESET线保持低电平。8.8.系统时钟,输入。通常与系统时钟,输入。通常与8284A8284A时钟发生器的时钟发生器的时钟输出端时钟输出端CLKCLK相连,该时钟信号的低高之比常相连,该时钟信号的低高之比常采用采用21(21(占空度为占空度为1 13)3)。即一个时钟周期内有。即一个时钟周期内有1/31/3的有效高电平。的有效高电平。64(四)电源线Vcc和地线GND 电源线Vcc接入的电压为+5V10%,有两条地线GND,均应接地。(五)其他控制线(2431引脚)这些控制线的功能将根据方式控制线MNMX所处的状态而确定。80868088 CPU引脚的主要特点是:数据总线和地址总线的低16位AD15AD0或低8位AD7AD0采用分时复用技术。还有一些引脚也具有两种功能,这由引脚33(MNMX)来控制。当MNMX=1时,80868088工作于最小方式(MN),在此方式下,全部控制信号由CPU本身提供。当MNMX=0时,80868088工作于最大方式(MX)(即2431引脚的功能示于括号内的信号)。这时,系统的控制信号由8288总线控制器提供,而不是由80868088直接提供。65二、8086/8088系统的最小最大工作方式由80868088CPU构成的微机系统,有最小方式和最大方式两种系统配置。(一)、最小方式 当MNMX接电源电压时(接高电平),系统工作于最小方式,即单处理器系统方式,它适合于较小规模的应用。8086和8位微处理器系统类似,系统芯片可根据用户需要接入。下图中:8284A为时钟发生驱动器;8282为8位地址锁存器;8282是典型的锁存器芯片,它是8位的;8286为具有三态输出的8位数据总线收发器,用于需要增加驱动能力的系统。6667系统构成控制总线CB数据总线DB地址总线AB系统总线形成处理器子系统I/O设备I/O接口存储器系统总线BUS68 最小组态的总线形成AD7AD0A15A8A19/S6A16/S3+5V8088ALE8282STB系统总线信号A19A16A15A8A7A0D7D0IO/-M-RD-WR8282STB8282STB8286T-OEMN/-MXIO/-M-RD-WRDT/-R-DEN-OE-OE-OE69(二)、最大方式 8086与8088也都可以按最大方式来配置系统。当MNMX线接地,则系统就工作于最大方式了。最大方式系统与最小方式系统的主要区别是外加有8288总线控制器,通过它对CPU发出的控制信号进行变换和组合,以得到对存储器和IO端口的读写信号和对锁存器8282及对总线收发器8286的控制信号,使总线控制功能更加完善。通常,在最大方式系统中,一般包含2个或多个处理器,这样就要解决主处理器和协处理器之间的协调工作问题以及对总线的共享控制问题,为此,要从软件和硬件两个方面去解决。8288总线控制器就是因此需要而加在最大方式系统中的。70最大方式71 最大组态下的总线形成系统总线信号-MEMR-MEMW-IOR-IOW-INTADMA应答电路AENBRD-AEN-AENCENA19A12A11A8A7A0D7D0AD7AD0A11A8A19/S6A16/S3A15A1274LS24574LS37374LS373GG-GDIR74LS2448088-OE8288DT/-RDENALE-S2-S0-S2-S0MN/-MX-OE-E-MRDC-AMTW-IORC-AIOWC-INTA72最大组态下的总线形成 系统地址总线采用三态透明锁存器74LS373和三态单向缓冲器74LS244 系统数据总线通过三态双向缓冲器74LS245形成和驱动 系统控制总线主要由总线控制器8288形成-MEMR-MEMW-IOR-IOW-INTA73比较两种工作方式可以知道,在最小方式系统中,控制信号MIO(或MIO)、WR、INTA、ALE、DTR 和DEN是直接从CPU的第2429脚送出的;而在最大方式系统中,则由状态信号S2、S1、S0隐含了上面这些信息,使用8288后,系统就可以从S2、S1、S0状态信息的组合中得到与这些控制信号功能相同的信息。(P31)S0S1S2操作过程经总线控制器8288产生的信号000011110011001101010101发出中断响应信号读I/O端口写I/O端口暂停取指令读内存写内存无源状态(无效状态)INTAIOWC,AIOWC无MRDCMRDCMWIC,AMWCIORC74 表中,前7种代码组合都对应了某一个总线操作过程,通常称为有源状态,它们处于前一个总线周期的T4状态或本总线周期的T1、T2状态中,S2、S1、S0至少有一个信号为低电平.在总线周期的T3、Tw状态并且READY信号为高电平时,S2、S1、S0都成为高电平,,此时,前一个总线操作过程就要结束,后一个新的总线周期尚未开始,通常称为无源状态。而在总线周期的最后一个状态即T4状态,S S2 2、S S1 1、S S0 0中任何一个或几个信号的改变,都意味着下一个新的总线周期的开始。75IBM-PC的电路结构8088微处理器8087协处理器8288总线控制器I/O通道8259中断控制器随机存储器RAM只读存储器ROM8253定时控制器8237DMA控制器8255并行接口控制总线数据总线地址总线地址锁存器数据收发器扬声器接口8284时钟发生器键盘接口系统配置开关CPU子系统板级总线762.3 8086/8088的存储器组织一、存储器的分段和物理地址的形成1.存储器的分段 8086寻址空间为1MB,但CPU寄存器为16位,只能寻址64KB,8086有20根地址线,寻址存储器空间为1MB(220B),地址范围为0220-1(00000HFFFFFH)。作法:8086系统把1MB划分为若干个逻辑段,每段容量小于或等于64KB,逻辑段互相独立,可在整个空间浮动,各逻辑段之间紧密相连,可互相重叠,见P34存储器分段示意图。但段的起始地址必须从能被16整除的地址开始,即每个段的首地址的低4位必须为0。这样,便可将段首地址的高16位存放在如前所述的CS,DS,SS和ES这四个段寄存器中。79存储器分段示意图80822.物理地址的形成(1)逻辑地址是在程序中使用的地址,由段地址和偏移地址两部分组成。都是无符号的16位二进制数。(2)物理地址 是由段地址左移4位加上偏移地址而形成。物理地址=段地址16+偏移地址 (CS、DS或ES)左移4位是存储器的绝对地址。83 物理地址形成过程 16位段基值1516位段内偏移量16位段基值 000020位物理地址15段寄存器0001519偏移量0S84例如:某指令在代码中逻辑地址为:段首址CS=2000H,段内偏移地址IP=5F62H,则其物理地址PA为(CS)16+IP=20000H+5F62H=25F62H,见右图。20000H25F60H25F61H25F62H25F63H段内偏移值 5F62H逻辑地址2000H物理地址=段基地址16+偏移地址逻辑地址与物理地址853.逻辑地址的来源8086/8088CPU在运行程序过程中,访问存储器的操作类型是各种各样的,如取指令访问存储器,取操作数等。访问存储器的操作类型不同,总线接口部件BIU访问存储器时所使用逻辑地址的来源就不同,不同操作类型的逻辑地址的来源如表2-9所示。操作类型 正常使用的(隐含)段地址 可替换段地址偏移地址物理地址计算CS16+IPSS16+SPDS16+EASS16+EAES16+DIDS16+SIIPSP有效地址EA有效地址EASIDICS、DS、ESCS、ES、SSCS、ES、SS无无CSSSSSDSESDS取指令堆栈操作BP为间址存取变量源字符串目标字符串无表2-9 逻辑地址来源86二、8086/8088存储器的分体结构1.8086系统中的存储器结构 在8086系统中,将1MB存储空间分成两个512KB的存储体,即奇地址存储器和偶地址存储。见存储器分体结构示意图。(P36页图2-9所示)D15D8D7D0CS A19A1奇存储体D7D0A19A1BHEA0CS A19A1偶存储体D7D091512K8位奇地址体(A0=1)512K8位偶地址体(A0=0)00000H00002H00004HFFFFEH(220-2)00001H00003H00005HFFFFFH(220-1)15870图2-9 存储器分体结构单元示意图92A0=0表示访问偶地址存储体A0=1表示访问奇地址存储体同时访问两个存储体,8086设置了高位有效控制信号BHE,此信号与 A0组合,见P36表2-10所示。例:字数据1946H和2FA8H分别存放在15020H和15023H单元,其中内存中的存放位置见P36所示。两个体与系统DB连接如P37图2-10所示。访问存储器中的1个字节4615020H低字节19A82F15023H高字节低字节高字节地址增加方向93数据总线 DB7-DB0 DB7-DB0数据总线 DB15-DB8 DB15-DB8 D7-D0偶地址存储体 D7-D0奇地址存储体SELSELA18-A0A18-A0BHEA0A19A1地址总线图2-10 8086系统中存储器与总线的连接942.8088系统的存储器结构8088,外部DB为8位,不存在高低字节选择问题,整个1M字节的存储器构成一个整体,不分奇偶地址体,由A19A0直接寻址。存储器与DB连线见下图。D7D01M8位 存储体A19A0A19A0地址总线数据总线D7D00000000001FFFFF图2-12 80882-12 8088系统存储器与总线的连接95三、8086/8088中的堆栈 80868088系统中的堆栈是用段定义语句在存储器中定义的一个堆栈段,和其他逻辑段一样,它可在1MB的存储空间中浮动。一个系统具有的堆栈数目不受限制,一个栈的深度最大为64KB。堆栈由堆栈段寄存器SS和堆栈指针SP来寻址。SS中记录的是其16位的段地址,它将确定堆栈段的段基址,而SP的16位偏移地址将指定当前栈顶,即指出从堆栈段的段基址到栈顶的偏移量;栈顶是堆栈操作的惟一出口,它是堆栈地址较小的一端。为了加快堆栈操作的速度,堆栈操作均以字为单位进行操作。96堆栈是内存中开辟一个特殊的数据区,用来存放暂时数据。严格按“后进先出”的原则。SS当前堆栈段的基地址,是栈区的最低位置。SP堆栈指针,始终指向栈顶。堆栈操作:进栈(压入)PUSH SP-2SP 出栈(弹出)POP SP+2SP例:设SS=1500H,SP=0008H,栈顶位置为1500H16+SP =15000H(左移4位)+0008H=15008HPUSH AX SP-2SP SP=0006H 栈顶为15006HPOP BX SP+2SP 栈顶(15006和)两个字节(23H,14H),传送给BX,然后修改SP,SP=15008H9715000H15001H15006H15007H15008H0008HSP1500HSSPUSH AX1423AX15000H15001H23H14H15006H15007H15008H0006HSP1500HSS98P0P AX1423BX15000H15001H23H14H15006H15007H15008H0008HSP1500HSS15009HSSSPa1a03F000H3F060H栈底向上增长4EFFFH图2-13 堆栈和栈指针992.4 8086/8088的系统配置8086/8088有两种系统配置模式最小模式 MN/MX接+5V,单微处理器系统。最大模式 MN/MX接地,多微处理器系统。8086/8088+8087(协)+8288(总线控制器)一、最小模式系统 8086/8088构成的最小系统见P39页P40页图2-14(a)(b)所示。MN/MX接+5V,8086/8088CPU、8284、3片8282、2片8286/8287及总线控制信号。1011021031.时钟发生器8284 X1、X2外接晶体,其频率是CPU时钟的3倍。8086/8088CPU内部无时钟发生器,由外部从时钟输入端CLK提供的,而CLK由8284产生并驱动放大后输入CPU。时钟信号发生电路 RESET READY CPU提供CLK 向外提供晶振时钟0SC(1)时钟发生电路 外 外脉冲 8284/EFI(14)、F/C接+5V 内 X1 X282848284晶体,其频率是CPU时钟频率的3倍,F/C接地(13)振荡源选择外加频率输入1048284输出时钟频率均为振荡源频率的1/3。(2)RDY1、RDY2:总线准备好,高有效。设两个准备好是为了支持多总线结构,使8086/8088可连接两组独立的系统总线。(3)READY:准备就绪信号,高有效。外界信号 8284 8284输出 送入CPU的READY脚(22脚)READY=1 READY=1 立即传送 READY=0 READY=0 插入TWTW(4)RESET:复位信号,高有效。外界信号RES 8284(11脚)8284内部经CLK后沿同步 8284输出 送入CPU RESET(21脚)(5)CLK:时钟信号,输出 系统总线相连,其它时钟 信号与MOS电平兼容。CPU105(6)PCLK:供外设或外部时钟用。PCLK为CLK的1/2,TTL电平。(7)OSC:振荡器输出。OSC 输出频率等于晶体振荡频率,TTL电平。IBM PC机中,F/C接地,X1、X2接晶体时 14.318MCLKPCLKOSCCLK的f为4.77M,为OSC的3分频;PCLK为2.385M,为CLK的2分频;OSCf为14.318M,三者之间的关系如图2-16所示。1062.地址锁存器8282/8283 8282/8283是带有三态缓冲器的8位数据锁存器,两者的区别仅仅是输出极性的不同,8282的输出与输入极性相同,而8283的输出与输入极性相反。图2-17是8282和8283的引脚及内部逻辑结构。1073.8286/8287总线收发器(8位双向总线收发器/驱动器)控制数据双向传输的芯片,原理图见P43页图2-18所示。T=1 A7A0为输入,B7B0为输出,A B T=0 B7B0为输入,A7A0为输出,B AOE=0OE=0OE=1OE=1A、B均为高阻,不工作。108二、最大模式系统MN/MX接地,增加了8288(总线控制器)、8289(仲裁器),在书上P44P45图2-19(a)(b)最大模式系统配置。1091108086/8088 CPU输出的状态信号S2,S1,S0同时送给8288或8089。最大模式一般用于多处理系统,多处理系统有多种形式。1.单主控者系统(系统配置一个主CPU和1至2个协处理器)单一主控者系统,CPU与协处理器共享RAM与I/O接口,共享总线控制逻辑和时钟发生器,双方通过RQ/GT0和RQ/GT1传送总线请求/允许信号,总线使用裁决由CPU完成,不用加8289总线仲裁器。2.多主控者系统(系统中有两个或两个以上的主CPU共享系统资源)多主控者系统,有多个主控者或主模块,每个主控CPU都有自已的总线控制逻辑(8288),带有总线控制器的CPU称为总线主模块。解决总线竞争,必须附加8289(总线仲裁)。1113.多处理系统的基本配置概念 最大模式是实现多处理器系统而设计的协处理器配置:主CPU8086/8088+8087+8089(I/O)紧耦合配置:主CPU外还有一个支持处理器,可独立 工作,控制总线独立于主CPU工作。松耦合配置:系统中配有多个主模块,各模块为了 解决总线争用和相互通信,每个模块都 有8288、8289。8288 产生全部总线控制信号。8289 完成总线使用权的分配。1124.总线控制器8288(P45P46)8288对CPU送来的周期状态信号S2S0内部译码 经相关信号配合 输出总线控制信号。(1)总线命令信号(2)总线控制信号(3)控制输入信号1132.5 8086/80882.5 8086/8088的操作和时序8086/8088CPU除完成自身的功能,需要执行各种操作,如启动、复位、各种总线操作、中断操作等,这些操作都是在CLK同步下一步步进行,这样就构成了CPU操作时序。一、系统的复位和启动操作RESET 复位(高有效)至少维持4 4个时钟周期的高电平,上电复位不小于50us50us。复位 CPU关断 CS=FFFFH;IP=0000H;ES=0000H;IF=0 DS=0000H;SS=0000H;其它寄存器为0000H;RESET由高向低跳变时,经7个时钟周期后CPU重新启动,从FFFF0H单元开始执行程序。一般用JMP跳转。114二、总线操作 总线读操作 CPU CPU从存储器或I/OI/O口读取数据。总线写操作 CPU CPU将数据写入指定存储单元或 I/O I/O口。1.1.最小模式下的总线读操作(见P50P50图2-222-22所示)CPU从存储器或I/O读取数据,在总线周期内完成。T1T1状态(1)M/IO在T1有效该信号在读总线周期内有效,直到T4状态。(2)T1开始,CPU从地址/复用线(A19/S6A16/S3)和地址/数据复用线(AD15AD0)读RAM或I/O口20位信息。可分为M/IO=1 从内存读M/IO=0 从I/O端口读115(3)为了锁存地址,在T1状态从ALE输出一正脉冲作为该信号。ALE 8282(STB)(4)T1状态,BHE也有效,实现奇、偶存储体选择。(5)T1状态DT/R为低,DEN为高,让8286接收数据。T2T2状态(1)A19/S6A16/S3输出状态信息S6S3。BHE/S7 仍为高。(2)AD15AD0进入高阻,读数据作准备。(3)RD=0有效,读出数据 DB(4)若接8286,DEN在T2态变为低,用来开放8286(5)DT/R继续保持低电平,即处于接收状态。高8位数据总线允许数据发送/接收控制信号数据允许信号116T3T3状态CPU检测 READY READY=1 DEN=0 DT/R=0 数据 AD15AD0 CPU在T3态读取数据。READY=0 T3数据未准备好 插入1个或几 个TW。T4T4状态在T3和T4交界时,CPU完成读操作,在T4后半期数据从总线上撤消。综上所知,在总线读周期中,CPU在T1状态从分时复用的地址/状态线和地址/数据线上送出地址;T2使AD线浮空并输出RD;在T3、T4状态将欲读入的数据送上AD线;在T4状态的前沿(下降沿)将此数据读入CPU内。1172.2.最小模式下的总线写操作T1T1状态:和读周期一样,DT/R为高电平,总线周期 为写周期。T2T2状态:T2T4 CPU将数据 DB AD15AD0,WR有 效保持到T4状态。DEN有效 作为8286选通 信号。T3T3状态:继续维持M/IO、WR、DEN有效 CPU检测READY,READY=0,在T3与T4之间插入 TW。READY=1,DB数据 写入RAM或I/O口。T4T4状态:CPU数据已写入RAM或I/O口,CPU便撤消DB上的 数据。各控制信号状态信号进入无效状态。DEN=1 无效,8286停止工作。1183.3.最大模式下的总线读操作(1)S2 S1 S0必置高电平,S2S0=111,8288一旦检测一个或几个从高 低 便进入新的总线周期。S2S0=101,读内存总线周期。S2S0=001,进入I/O端口操作。(2)最小模式CPU直接产生 ALE、RD、DT/R、DEN 最大模式由总线控制器8288产生。(3)最大模式 读存储器 I/O端口而最小模式用M/IO和RD两信号组合。(4)读周期T3状态时,S2S0全部为高 进入无源 状态(意味着可启动一个新的总线周期)保持T4状态。分别用MROC和IORC表示119(5)TW与最小模式相同。(6)T4态,数据从总线上消失,S7S3进入高阻,而 总线周期状态信号S2S0将按照下一个总线周期 的操作类型产生变化,变为000110中之一的状 态。4.最大模式下的总线写操作功能:将CPU输出的数据写入指定的存储器单元或I/O端 口。120三、最小模式下的总线请求/保持响应 在最小模式中,含有多个总线主模块要占用系统总线时 CPU提出总线请求。8086/8088CPU提供一对总线控制联络信号HOLD总线保持请求;HLDA总线保持响应;时序图见P57图2-27所示。(1)向CPU发总线请求信号HOLD,CPU在每个上升沿 对该脚进行检测。(2)当检测HOLD为高,并允许让出总线,则在T4或 Ti下一个周期发响应信号HLDA,并让出总线,直 至HOLD无效。(3)CPU又重新收回总线控制权。(4)HOLD无效后,HOLD变低。控制线与电源间加上 拉电阻。121四、最大模式下
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


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

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


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