微处理器及其体系结构课件.ppt
关于微处理器及其体系结构关于微处理器及其体系结构1第1页,此课件共59页哦2第第2 2章章 8086/80888086/8088微处理器及其体系结构微处理器及其体系结构 第2页,此课件共59页哦32.2.1 80881 8088微处理器微处理器主要内容:l8088CPU外部引线及功能;外部引线及功能;l8088CPU的内部结构和特点;的内部结构和特点;l各内部寄存器的功能;各内部寄存器的功能;l8088的工作时序。的工作时序。第3页,此课件共59页哦4一、概述l8088、8086基本类似基本类似l16位CPU、AB宽度20位l差别:差别:l指令预取队列:8088为4字节,8086为6字节l数据总线引脚:8088有8根,8086有16根l8088为准为准16位位CPU,内部,内部DB为为16位,但外部仅位,但外部仅为为8位,位,16位数据要分两次传送位数据要分两次传送l本课程主要介绍本课程主要介绍8088(IBM PC采用)采用)第4页,此课件共59页哦5指令预取队列(IPQ)指令的一般执行过程:指令的一般执行过程:取指令取指令 指令译码指令译码 读取操作数读取操作数 执行指令执行指令 存放结果存放结果第5页,此课件共59页哦6串行工作方式:l80888088以前的以前的CPUCPU采用串行工作方式:采用串行工作方式:1)CPU访问存储器访问存储器(存取数据或指令存取数据或指令)时要等待总线操作的完成时要等待总线操作的完成 2)CPU执行指令时总线处于空闲状态执行指令时总线处于空闲状态 缺点:缺点:CPU无法全速运行无法全速运行 解决:总线空闲时预取指令,使解决:总线空闲时预取指令,使CPU需要指令时能立刻得到需要指令时能立刻得到取指令1执行1取操作数2执行2CPUBUS忙碌忙碌忙碌忙碌存结果1取指令2第6页,此课件共59页哦7并行工作方式:l8088CPU采用并行工作方式采用并行工作方式取指令2取操作数BIU存结果取指令3取操作数取指令4执行1执行2执行3 EUBUS忙碌忙碌忙碌忙碌忙碌忙碌第7页,此课件共59页哦88088的流水线操作的流水线操作l8088 CPU包括两大部分:包括两大部分:EU和和BIUlBIU不断地从存储器取指令送入IPQ,EU不断地从IPQ取出指令执行lEU和BIU构成了一个简单的2工位流水线l指令预取队列IPQ是实现流水线操作的关键(类似于工厂流水线的传送带)l新型新型CPU将一条指令划分成更多的阶段,以便可以同时执行更多将一条指令划分成更多的阶段,以便可以同时执行更多的指令的指令l例如,PIII为14个阶段,P4为20个阶段(超级流水线)第8页,此课件共59页哦9结论l指令预取队列的存在使指令预取队列的存在使EU和和BIU两个部分可两个部分可同时进行工作,从而带来了以下两个好处:同时进行工作,从而带来了以下两个好处:l提高了CPU的效率l降低了对存储器存取速度的要求第9页,此课件共59页哦108088/8086 CPU的特点l采用并行流水线工作方式采用并行流水线工作方式l对内存空间实行分段管理:对内存空间实行分段管理:l每段大小为每段大小为16B16B64KB64KBl用段地址和段内偏移实现对用段地址和段内偏移实现对1 1MBMB空间的寻址空间的寻址l设置地址段寄存器指示段的首地址设置地址段寄存器指示段的首地址l支持多处理器系统;支持多处理器系统;l片内无浮点运算部件,浮点运算由数学协处理片内无浮点运算部件,浮点运算由数学协处理器器8087支持(或用软件模拟)支持(或用软件模拟)注:80486DX以后的CPU已将数学协处理器作为标准部件集成到CPU内部第10页,此课件共59页哦118088CPU的两种工作模式l8088可工作于两种模式:可工作于两种模式:l最小模式和最大模式l最小模式最小模式为单处理机模式,控制信号较为单处理机模式,控制信号较少,一般可不必外接总线控制器。少,一般可不必外接总线控制器。l最大模式最大模式为多处理机模式,控制信号较为多处理机模式,控制信号较多,多,CPU必须通过总线控制器与总线相连。必须通过总线控制器与总线相连。第11页,此课件共59页哦12二、8088 CPU的引线及功能引脚定义的方法可大致分为:引脚定义的方法可大致分为:l每个引脚只传送一种信息(每个引脚只传送一种信息(RDRD等);等);l引脚电平的高低不同的信号(引脚电平的高低不同的信号(IO/MIO/M等);等);lCPUCPU工作于不同方式有不同的名称和定义工作于不同方式有不同的名称和定义(WR/LOCK WR/LOCK 等);等);l分时复用引脚(分时复用引脚(ADAD7 7 ADAD0 0 等)等);l引脚的输入和输出分别传送不同的信息引脚的输入和输出分别传送不同的信息(RQ/GTRQ/GT等)。等)。第12页,此课件共59页哦13主要引线(最小模式下)80888088是工作在最小还是最大模式由是工作在最小还是最大模式由MN/MXMN/MX端状态端状态决定:决定:MN/MX=0MN/MX=0时工作于最大模式,反之工作于时工作于最大模式,反之工作于最小模式。最小模式。数据信号线数据信号线(DB)(DB)与地址信号线与地址信号线(AB)(AB):AD7AD0:三态,地址三态,地址/数据复用线。数据复用线。ALEALE有效时为地有效时为地 址的低址的低8 8位。地址信号有效时为输出,传送位。地址信号有效时为输出,传送 数据信号时为双向。数据信号时为双向。A19A16:三态,输出。高三态,输出。高4 4位地址信号,与状态信号位地址信号,与状态信号 S6-S3分时复用。分时复用。A15A8:三态,输出。三态,输出。输出输出8位地址信号位地址信号。第13页,此课件共59页哦14主要的控制和状态信号lWR:三态,输出。写命令信号;三态,输出。写命令信号;lRD:三态,输出。读命令信号;三态,输出。读命令信号;lIO/M:三态,输出。指出当前访问的是存储器还是三态,输出。指出当前访问的是存储器还是I/O接接 口。高:口。高:I/O接口,低:内存接口,低:内存lDEN:三态,输出。低电平时,表示三态,输出。低电平时,表示DB上的数据有效;上的数据有效;lRESET:输入,为高时,输入,为高时,CPU执行复位;执行复位;lALE:三态,输出。高:三态,输出。高:AB地址有效;地址有效;lDT/R:三态,输出。数据传送方向,高:三态,输出。数据传送方向,高:CPU输出,输出,低:低:CPU输入输入第14页,此课件共59页哦15例:l 当当WR=1,RD=0,IO/M=0时,表示时,表示CPU当前正在进行当前正在进行读存储器读存储器操作。操作。第15页,此课件共59页哦16READY信号(输入):用于协调用于协调CPU与存储器、与存储器、I/O接口之间的速度差异接口之间的速度差异READY信号由存储器或信号由存储器或I/O接口发出。接口发出。READY=0时,时,CPU就在就在T3后插入后插入TW周期,插入的周期,插入的TW个个数取决于数取决于READY何时变为高电平。何时变为高电平。第16页,此课件共59页哦17中断请求和响应信号lINTR:输入,可屏蔽中断请求输入端。输入,可屏蔽中断请求输入端。高:有高:有INTR中断请求中断请求lNMI:输入,非屏蔽中断请求输入端。输入,非屏蔽中断请求输入端。低低高,有高,有NMI中断请求中断请求lINTA:输出,对输出,对INTR信号的响应。信号的响应。第17页,此课件共59页哦18总线保持信号总线保持信号lHOLD:总线保持请求信号输入端。当总线保持请求信号输入端。当CPU 以外的其他设备要求占用总线时,以外的其他设备要求占用总线时,通过该引脚向通过该引脚向CPU发出请求。发出请求。lHLDA:输出,对输出,对HOLD信号的响应。为高信号的响应。为高 电平时,表示电平时,表示CPU已放弃总线控制已放弃总线控制 权,所有三态信号线均变为高阻状权,所有三态信号线均变为高阻状 态。态。第18页,此课件共59页哦19三、三、8088CPU的内部结构的内部结构l8088内部由两部分组成:内部由两部分组成:执行单元(执行单元(EU)总线接口单元(总线接口单元(BIU)第19页,此课件共59页哦20执行单元EUl功能功能:执行指令执行指令 从指令队列中取指令代码从指令队列中取指令代码 译码译码 在在ALU中完成数据的运算中完成数据的运算 运算结果运算结果 的特征保存在标志寄存器的特征保存在标志寄存器FLAGS中。中。第20页,此课件共59页哦21执行单元包括 算术逻辑单元(运算器)算术逻辑单元(运算器)8个通用寄存器个通用寄存器 1个标志寄存器个标志寄存器 EU部分控制电路部分控制电路第21页,此课件共59页哦22总线接口单元BIUl功能:功能:l从内存中取指令送入指令预取队列从内存中取指令送入指令预取队列l负责与内存或输入负责与内存或输入/输出接口之间的数据输出接口之间的数据传送传送l在执行转移程序时,在执行转移程序时,BIU使指令预取队列复使指令预取队列复位,从指定的新地址取指令,并立即传给执位,从指定的新地址取指令,并立即传给执行单元执行行单元执行。第22页,此课件共59页哦238088的内部寄存器l含含14个个16位寄存器,按功能可分为三类位寄存器,按功能可分为三类 8个通用寄存器个通用寄存器 4个段寄存器个段寄存器 2个控制寄存器个控制寄存器第23页,此课件共59页哦24通用寄存器 数据寄存器(数据寄存器(AX,BX,CX,DX)地址指针寄存器(地址指针寄存器(SP,BP)变址寄存器(变址寄存器(SI,DI)第24页,此课件共59页哦25数据寄存器l8088含含4个个16位数据寄存器,它们又可分为位数据寄存器,它们又可分为8个个8位寄存器,即:位寄存器,即:lAX AH,ALlBX BH,BLlCX CH,CLlDX DH,DL常用来存放参与运算的操作数或运算结果常用来存放参与运算的操作数或运算结果第25页,此课件共59页哦26数据寄存器特有的习惯用法lAX:累加器。多用于存放中间运算结果。所有累加器。多用于存放中间运算结果。所有 I/O指令必须都通过指令必须都通过AX与接口传送信息;与接口传送信息;lBX:基址寄存器。在间接寻址中用于存放基地址;基址寄存器。在间接寻址中用于存放基地址;lCX:计数寄存器。用于在循环或串操作指令中存计数寄存器。用于在循环或串操作指令中存 放循环次数或重复次数;放循环次数或重复次数;lDX:数据寄存器。在数据寄存器。在32位乘除法运算时,存放位乘除法运算时,存放 高高16位数;在间接寻址的位数;在间接寻址的I/O指令中存放指令中存放 I/O端口地址。端口地址。第26页,此课件共59页哦27地址指针寄存器lSP:堆栈指针寄存器,其内容为栈顶的:堆栈指针寄存器,其内容为栈顶的 偏移地址;偏移地址;lBP:基址指针寄存器,常用于在访问内基址指针寄存器,常用于在访问内 存时存放内存单元的存时存放内存单元的偏移地址。偏移地址。第27页,此课件共59页哦28BX与BP在应用上的区别l作为通用寄存器,二者均可用于存放数据;作为通用寄存器,二者均可用于存放数据;l作为基址寄存器,作为基址寄存器,BX通常用于寻址数据段;通常用于寻址数据段;BP则通常用于寻址堆栈段。则通常用于寻址堆栈段。lBX一般与一般与DS或或ES搭配使用搭配使用第28页,此课件共59页哦29变址寄存器lSI:源变址寄存器源变址寄存器lDI:目标变址寄存器目标变址寄存器l变址寄存器常用于指令的间接寻址或变址寻变址寄存器常用于指令的间接寻址或变址寻址。特别是在串操作指令中,用址。特别是在串操作指令中,用SI存放源操存放源操作数的偏移地址,而用作数的偏移地址,而用DI存放目标操作数的存放目标操作数的偏移地址。偏移地址。第29页,此课件共59页哦30段寄存器用于存放逻辑段的段基地址用于存放逻辑段的段基地址(逻辑段的概念后面将要介绍逻辑段的概念后面将要介绍)CS:代码段寄存器代码段寄存器 代码段用于存放指令代码代码段用于存放指令代码 DS:数据段寄存器数据段寄存器 ES:附加段寄存器附加段寄存器 数据段和附加段用来存放操作数数据段和附加段用来存放操作数 SS:堆栈段寄存器堆栈段寄存器 堆栈段用于存放返回地址,保存寄存器内容,堆栈段用于存放返回地址,保存寄存器内容,传递参数传递参数第30页,此课件共59页哦31控制寄存器lIP:指令指针寄存器,其内容为下一条指令指针寄存器,其内容为下一条 要执行的指令的偏移地址要执行的指令的偏移地址lFLAGS:标志寄存器标志寄存器l状态标志:存放运算结果的特征l控制标志:控制某些特殊操作 6个状态标志位个状态标志位(CF,SF,AF,PF,OF,ZF)3个控制标志位个控制标志位(IF,TF,DF)第31页,此课件共59页哦32四、存储器寻址l物理地址物理地址l8088:20根地址线,可寻址220(1MB)个存储单元lCPU送到AB上的20位的地址称为物理地物理地址址 第32页,此课件共59页哦33物理地址物理地址物理地址.60000H 60001H 60002H 60003H 60004H.12HF0H1BH08H存储器的操作完全基于物存储器的操作完全基于物理地址。理地址。问题:问题:80888088的内部总线和内部寄的内部总线和内部寄存器均为存器均为1616位,如何生成位,如何生成2020位地址?位地址?解决:存储器分段解决:存储器分段第33页,此课件共59页哦34存储器分段存储器分段高地址低地址段基址段基址段基址段基址最大最大64KB,最小,最小16B段i-1段i段i+1第34页,此课件共59页哦35逻辑地址l段基地址段基地址和和段内段内偏移偏移组成了组成了逻辑地址逻辑地址 段地址 偏移地址(偏移量)格式为:段地址格式为:段地址:偏移地址偏移地址 物理地址物理地址=段基地址段基地址16+偏移地址偏移地址60002H00H12H60000H0 0 0 0段基地址(段基地址(16位)位)段首地址段首地址 偏移地址=0002H第35页,此课件共59页哦36nBIU中的地址加法器用来实现逻辑地址到物理地址的变换n8088 可同时访问4个段,4个段寄存器中的内容指示了每个段的基地址段基址段内偏移物理地址+16位20位0000第36页,此课件共59页哦37例:l已知已知CS=1055H,DS=250AH,ES=2EF0H,SS=8FF0H,DS段有一操作数,其偏移地址段有一操作数,其偏移地址=0204H,1)画出各段在内存中的分布画出各段在内存中的分布 2)指出各段首地址指出各段首地址 3)该操作数的物理地址该操作数的物理地址=?10550H250A0H2EF00H8FF00HCSSS CSDSES解:解:各段分布及段首址见右图所示。各段分布及段首址见右图所示。操作数的物理地址为:操作数的物理地址为:250AH10H+0204H=252A4H第37页,此课件共59页哦38堆栈及堆栈段的使用l内存中一个按内存中一个按FILO方式操作的特殊区域方式操作的特殊区域l每次压栈和退栈均以每次压栈和退栈均以WORD为单位为单位lSS存放堆栈段地址,存放堆栈段地址,SP存放段内偏移,存放段内偏移,SS:SP构成了堆栈指针构成了堆栈指针l堆栈用于存放返回地址、过程参数或需要堆栈用于存放返回地址、过程参数或需要保护的数据保护的数据l常用于响应中断或子程序调用常用于响应中断或子程序调用第38页,此课件共59页哦39堆栈操作堆栈操作SPSSSS压栈前压栈前退栈后退栈后高低低高高12HSSF0HSP压栈后压栈后低高SPSPSPF0H12HSP第39页,此课件共59页哦40例:l若已知(若已知(SS)=1000H (SP)=2000Hl则堆栈段的段首地址则堆栈段的段首地址=?l栈顶地址栈顶地址=?l若现在把若现在把1234H送入堆送入堆栈,则它所在的存储单元栈,则它所在的存储单元地址地址=?l若该段最后一个单元若该段最后一个单元 地址为地址为2FFFH,则栈底则栈底 地址地址=?段首栈底栈顶堆栈段第40页,此课件共59页哦41五、时序l时序的概念:时序的概念:CPU各引脚信号在时间上的关系。各引脚信号在时间上的关系。l总线周期:总线周期:CPU完成一次访问内存完成一次访问内存(或接口或接口)操作操作 所需要的时间。所需要的时间。一个总线周期至少包括一个总线周期至少包括4个时钟周期。个时钟周期。l时钟周期:由时钟发生器产生。是计算机内部最时钟周期:由时钟发生器产生。是计算机内部最 小的时间单位,用小的时间单位,用Ti表示。表示。(总线周期的时序参见教材总线周期的时序参见教材p35)第41页,此课件共59页哦422.2 系统总线 主要内容:主要内容:l总线的基本概念和分类;总线的基本概念和分类;l总线的工作方式;总线的工作方式;l常用系统总线标准。常用系统总线标准。第42页,此课件共59页哦43一、概述l总线:总线:是是一组导线和相关的控制、驱动电路一组导线和相关的控制、驱动电路的的集合集合。是是计算机系统各部件之间传输地址、数据计算机系统各部件之间传输地址、数据和控制信息和控制信息的的公共通道公共通道。地址总线(地址总线(AB)数据总线(数据总线(DB)控制总线(控制总线(CB)第43页,此课件共59页哦44总线结构的优点总线结构的优点l简化系统设计(模块化)简化系统设计(模块化)l提高兼容性提高兼容性l便于扩充升级便于扩充升级l便于维修便于维修l减低生产成本减低生产成本第44页,此课件共59页哦45总线分类 CPU总线:总线:CPU 其他部件其他部件系统总线:主机系统总线:主机I/O接口接口外部总线:微机外部总线:微机外设外设片内总线片内总线片外总线片外总线 按相对CPU的位置按层次 结构第45页,此课件共59页哦46总线结构l单总线结构单总线结构 简单,但总线竞争严重CPU M M I/O I/O I/O第46页,此课件共59页哦47多总线结构面向面向CPU的双总线结构的双总线结构面向主存的双总线结构面向主存的双总线结构双总线结构双总线结构多总线结构多总线结构第47页,此课件共59页哦48多总线多总线结构(续)l教材教材p55l图2-23:面向CPU的双总线结构n把需要很高带宽的主存储器用存储总线单独与CPU相连n问题:外设到主存的数据传输必须通过CPU,传输效率低,无法实现DMA传输l图2-24:面向主存的双总线结构n主存储器即与CPU直接连接,又与系统总线连接,较好地解决了上述问题第48页,此课件共59页哦49三、常见的系统总线三、常见的系统总线lISA(8/16位)位)lPCI(32/64位)位)lAGP(加速图形端口,用于提高图形处加速图形端口,用于提高图形处 理能力)理能力)l自学自学P61P64l自行查找资料:自行查找资料:ISA、PCI、AGP分别位于分别位于系统的的哪一个部分?系统的的哪一个部分?第49页,此课件共59页哦50总线的主要性能指标l总线带宽(总线带宽(B/S):):单位时间内总线上可传送单位时间内总线上可传送 的数据量的数据量l总线位宽(总线位宽(bit):):能同时传送的数据位数能同时传送的数据位数l总线的工作频率(总线的工作频率(MHz)总线带宽总线带宽=(位宽位宽/8)(工作频率工作频率/每个存取周期的时钟数每个存取周期的时钟数)第50页,此课件共59页哦51四、四、8088系统总线系统总线l最小模式最小模式仅支持单处理器(仅支持单处理器(p28图图2-10)l最小模式下主要解决:最小模式下主要解决:l地址与数据的分离l地址锁存l电路实现方案电路实现方案l用3片8位的锁存器8282实现地址锁存。ALE为锁存控制信号,OE#0使锁存的地址直接输出;l用1片双向三态门8286用作数据总线驱动和隔离,DT/R#作为方向控制,DEN#作为开门信号;l其他控制信号由8088直接产生。第51页,此课件共59页哦52最小模式下的连接示意图最小模式下的连接示意图8088CPU控制总线控制总线数据总线数据总线地址总线地址总线地址地址锁存锁存数据数据收发器收发器ALE时钟发时钟发生生 器器3片8282DT/R#DEN#8286第52页,此课件共59页哦53最大模式l最大模式最大模式可支持多处理器(可支持多处理器(p31图图2-12)l大多数控制信号是由大多数控制信号是由总线控制器总线控制器8288对对S0#、S1#、S2#三个信三个信号译码得到,如号译码得到,如DT/R#、ALE、DEN#、IOR#、IOW#、MEMR#、MEMW#信号。信号。DB和和AB的构成基本同最小模式。的构成基本同最小模式。lPC/XT机的总线采用了最大模式,但有三点区别:机的总线采用了最大模式,但有三点区别:n地址总线驱动用2个74LS373和1个74LS244代替3个8282;n数据总线驱动用74LS245代替8286;n支持DMA传送。第53页,此课件共59页哦54最大模式下的连接示意图最大模式下的连接示意图8088CPU数据总线数据总线地址总线地址总线地址地址锁存锁存数据数据收发收发ALE时钟发时钟发生生 器器总总 线线控制器控制器控制总线控制总线828282868288S0#S1#S2#第54页,此课件共59页哦55常用接口芯片介绍常用接口芯片介绍l8282/74LS373 具有三态正相输出的锁存器具有三态正相输出的锁存器l内部包含8个D触发器l引脚:nDI0DI7 输入nDO0DO7 输出nSTB 锁存信号nOE#输出允许l功能:nSTB=1 锁存数据nOE#=0 将锁存的数据输出l功能类似的还有功能类似的还有8283但为反相输出但为反相输出第55页,此课件共59页哦56总线驱动器总线驱动器l8286/74LS245 双向三态驱动器双向三态驱动器l引脚:nA0A7和B0B7 双向数据线nOE#输出允许nT 方向控制l功能:nOE#=0时,门导通;n门导通时:T=0,BA;T=1,ABl功能类似的还有功能类似的还有8287但为反相输出但为反相输出第56页,此课件共59页哦57总线驱动器(续)总线驱动器(续)l74LS244 三态门驱动器(含三态门驱动器(含8个门)个门)l引脚:nI1I8和和O1O8 输入线和输出线输入线和输出线nE1#,E2#使能信号,各控制4个三态门l功能:n E1#=0,E2#=0,门导通,否则输出为高阻态第57页,此课件共59页哦58作业作业l习题二习题二4,5,7,8,9 第58页,此课件共59页哦感感谢谢大大家家观观看看第59页,此课件共59页哦