微型计算机原理与接口技术-2009级wj21_第1页
微型计算机原理与接口技术-2009级wj21_第2页
微型计算机原理与接口技术-2009级wj21_第3页
微型计算机原理与接口技术-2009级wj21_第4页
微型计算机原理与接口技术-2009级wj21_第5页
已阅读5页,还剩111页未读 继续免费阅读

下载本文档

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

文档简介

1,第2章 微处理器与总线,2,微处理器典型结构示意图,3,取出指令,指令译码,读操作数,执行操作,程序执行过程示意图,4,CPU,程序,从核心 - - - CPU开始,5,2.2 8088微处理器,主要内容:8088CPU外部引线及功能8088CPU的内部结构和特点各内部寄存器的功能8088的工作时序最大与最小工作模式,6,2.2 8088微处理器,7,一、概述,8088、8086基本类似:16位CPU、AB(地址总线)宽度20位差别:指令预取队列:8088为4字节,8086为6字节;数据总线引脚:8088有8根,8086有16根;8088为准16位CPU,内部DB(数据总线)为16位,但外部仅为8位,16位数据要分两次传送。指令系统完全相同,芯片内部逻辑结构、芯片引脚有个别差异。,8,8088为什么称为准16位微处理器?与真正16位8086使用时的区别是什么?,存储器数据宽度为8位,设计8088应用系统时,可以使用1片,而8086应用系统则只能成对使用8位的存储器。,9,1、流水线技术:指令预取队列(IPQ),指令的一般执行过程:,取指令 分析指令(指令译码) 执行指令,10,串行工作方式:,8088/8086以前的CPU采用串行工作方式:,1)CPU执行指令时总线处于空闲状态2)CPU访问存储器(存取数据或指令)时要等待总线操作的完成,缺点:CPU无法全速运行解决:总线空闲时预取指令,使CPU需要指令时能立刻得到;,11,并行工作方式:,8088/8086 CPU采用并行工作方式,12,8088/8086的流水线操作技术,8088/8086 CPU包括两大部分:EU和BIU,EU:执行部件 BIU:总线接口部件,BIU不断地从存储器取指令送入指令预取队列(IPQ),EU不断地从IPQ取出指令执行;EU和BIU构成了一个简单的2工位流水线;指令预取队列IPQ是实现流水线操作的关键(类似于工厂流水线的传送带);新型CPU将一条指令划分成更多的阶段,以便可以同时执行更多的指令: PIII为14个阶段,P4为20个阶段(超级流水线),13,结论,指令预取队列的(IPQ)存在使EU和BIU两个部分可同时进行工作,从而提高了CPU的效率;降低了对存储器存取速度的要求,流水线技术是微处理器发展史的一个里程碑!,14,8086/8088微处理器结构,15,2、8088/8086 CPU的两种工作模式,(1)最小模式 最小模式,也称“单处理器系统”,即在系统中 只有一个8088/8086处理器,全部的系统总线信 号均由8088/8086直接产生。 总线控制逻辑减到最少,故称最小模式。,(2)最大模式 也称“多处理器系统”,即系统中包含两个或多 个处理器,其中一个为主处理器8088/8086,其 它的处理器为“协处理器”(COProcessor)。,16,通常和8088/8086配合使用的协处理器有两个:一个是数值运算协处理器8087,一个是输入/输出协处理器8089。,a、数值运算协处理器8087 用硬件方法实现数值计算,如浮点运算、 高精度整数运算、三角函数、对数运算等, 提高系统的运算速度。,b、输入/输出协处理器8089 可以直接为输入/输出设备服务,使 8086/8088不再承担这些工作。提高主CPU 的效率,尤其在输入/输出应用较多的场合。,17,18,8088在最小模式下的典型配置,19,8088最大模式下的典型配置,20,二、8088 CPU的引脚及功能,分时复用引脚(AD0 AD7 等) ;,主要介绍最小模式下的引脚,引脚定义的方法可大致分为:,21,最大模式时的信号,22,信号线分时复用的概念:,为了减少芯片引脚的条数,有些引脚具有两种功能。两种功能在时间上是分开的,先出现一种信号,然后再出现另一种信号。,如AD0 AD7,A16/S3 A19/S6等引脚。,为了保证在后一种信号出现时,前一信号不丢失,需要锁存器将其锁存(锁存信号为ALE),23,AD7AD0:三态,地址/数据复用线。ALE有效 时为地址的低8位。地址信号有效 时为输出,传送数据信号时为双向。A19/S6A16/S3:三态,输出。高4位地址信 号,与状态信号S6S3分时复用。A15A8 :三态,输出。输出8位地址信号。,数据线与地址线信号,24, ALE(Address latch Enable):地址锁存允许信号,输出,高电平有效。,由于8088/8086的一部分地址线和数据线采用分时复用。在总线周期T1总线上先传送地址,接着传送数据。但在一般情况下,存储器或I/O接口电路,要求在整个总线周期内保持稳定的地址信息。这样,就需要将这些地址信息保存起来。在总线周期的T1状态,ALE信号有效。 与8088/8086配套的锁存器电路为8282/8283(或74LS373),用ALE做锁存允许信号。,25,数据(命令)传送控制信号,26,27, NMI(Non-Maskable Interrupt request):非屏 蔽中断请求信号,输入 正跳变有效。“不受IF的影响”。, INTR:可屏蔽(Maskable)中断请求信号,输入 高电平有效,“受IF控制位的影响”。,中断有关信号,28, HOLD(Hold request):总线请求,输入,高电平有效。 HLDA(Hold Acknowledge):总线请求响应, 输出,高电平有效。, CPU在每个时钟周期的上升沿采样HOLD,如果允许让出总线,就在当前总线周期完成时(T4状态),从HLDA引脚发出一个回答信号,对HOLD请求发出响应。同时,CPU使地址/数据总线和有关控制信号线进入高阻状态(三态),即放弃总线控制权。,总线请求与应答信号,29,30, CLK(clock):时钟引脚,输入 8088/8086要求时钟的占空比为33,8088/8086 的标准时钟频率为4.77MHZ。, VCC:+5V电源,输入 GND:地线,其它信号,31, RESET(reset):复位信号引脚,输入高电平有效,至少维持4个时钟周期。复位后CPU结束当前工作,并对寄存器赋初值。当复位信号变为低电平时,CPU从FFFF0H开始执行程序。初值如下:,32, Ready:准备好信号,输入 检测存储器或外设是否准备好数据传输。用于与慢速存储器或外设的配合。,每个典型总线周期为4个时钟脉冲(T1T4)。,插入一个等待周期,33, /TEST:测试信号,输入,在多处理器环境中,例如右图中,每当8088执行WAIT指令时,每隔5个时钟周期采样/TEST信号,直至/TEST变为低电平,8088才继续执行下一条指令。,/TEST信号是为WAIT指令而设计的。,34,35,36,DB,AB,CB,37,在三总线基础上扩展存储器、IO接口电路等。,38,三、8088CPU的内部结构,8088内部由两部分组成: 执行单元(EU) 总线接口单元(BIU),39,8086/8088微处理器结构,40,执行单元EU,功能: 执行指令 从指令队列中取指令代码 译码 在ALU中完成数据的运算 运算结果 的特征保存在标志寄存器FLAGS中。,41,执行单元EU组成,1、算术逻辑单元ALU(运算器) 2、8个寄存器 (1)数据寄存器(AX,BX,CX,DX) (2)地址指针寄存器(SP,BP) (3)变址寄存器(SI,DI) 3、标志寄存器FLAGS 4、EU部分的控制电路,42,总线接口单元BIU,功能:从内存中取指令送入指令预取队列负责与内存或输入/输出接口之间的数据传送在执行转移程序时,BIU使指令预取队列复位,从指定的新地址取指令,并立即传给执行单元执行。,43,组成: 1、用于存放逻辑段的段基地址寄存器 CS:代码段寄存器,用于存放指令代码; DS:数据段寄存器 ; ES:附加段寄存器,数据段和附加段用来存放 数据; SS:堆栈段寄存器,用于存放返回地址,保存寄 存器内容,传递参数等。,总线接口单元BIU组成,44,2、IP:指令指针寄存器(即PC指针),3、20位的地址加法器,4、4字节(或6字节)的指令预取队列,特点:1、具有流水线技术,8086指令队列为6 字节,8088为4字节。 2、地址加法器用来产生20位地址。因为 8086有20根地址线,可寻址1M空间 ,但寄存器为16位,所以需要一个附 加机构来根据16位寄存器提供的数据 计算出20位的地址。,45,8088/8086的内部寄存器,含14个16位寄存器,按功能可分为三类,数据寄存器(AX,BX,CX,DX)地址指针寄存器(SP,BP)变址寄存器(SI,DI),通用寄存器,与存储器的区别?,46,数据寄存器AX、BX、CX、DX,8088含4个16位数据寄存器,它们又可分为8个8位寄存器,即:AX AH,ALBX BH,BLCX CH,CLDX DH,DL常用来存放参与运算的操作数或运算结果,如AX=1234H,则AH=12H,AL=34H,47,数据寄存器特有的习惯用法,AX:累加器。多用于存放中间运算结果。所有 I/O指令必须都通过AX与接口传送信息;BX:基址寄存器。在间接寻址中用于存放基地址;CX:计数寄存器。用于在循环或串操作指令中存 放循环次数或重复次数;DX:数据寄存器。在32位乘除法运算时,存放 高16位数;在间接寻址的I/O指令中存放 I/O端口地址。,48,地址指针寄存器,SP:堆栈指针寄存器,其内容为栈顶的 偏移地址;BP:基址指针寄存器,常用于在访问内 存时存放内存单元的偏移地址。,49,BX与BP在应用上的区别,作为通用寄存器,二者均可用于存放数据;作为基址寄存器,BX通常用于寻址数据段;BP则通常用于寻址堆栈段。BX一般与DS或ES搭配使用BP一般与SS搭配使用,50,变址寄存器,SI:源变址寄存器DI:目标变址寄存器变址寄存器常用于指令的间接寻址或变址寻址。 在串操作指令中,用SI存放源操作数的偏移地址,而用DI存放目标操作数的偏移地址。,51,段寄存器,用于存放逻辑段的段基地址 CS:代码段寄存器 代码段用于存放指令代码 DS:数据段寄存器 ES:附加段寄存器 数据段和附加段用来存放数据 SS:堆栈段寄存器 堆栈段用于存放返回地址,保存寄存器内容, 传递参数等。,将存储器按用途最多可分为4个段。,52,CS:代码段寄存器,只读,在ROM中,DS:数据段寄存器 ES:附加段寄存器 SS:堆栈段寄存器,可读写,在RAM中,ROM,RAM,53,控制寄存器,IP:指令指针寄存器,其内容为下一条 要执行的指令的偏移地址( CS段中)。FLAGS:标志寄存器状态标志:存放运算结果的特征控制标志:控制某些特殊操作 6个状态标志位(CF,SF,AF,PF,OF,ZF) 3个控制标志位(IF,TF,DF),54,FLAGS:标志寄存器,状态标志:存放算术逻辑运算结果的特 征,可能影响后面的操作。控制标志:控制某些特殊操作,由专门 的指令进行设置或清除。 6个状态标志位(CF,SF,AF,PF,OF,ZF) 3个控制标志位(IF,TF,DF),55,标志寄存器的格式及各位的含义,56,零标志ZF(Zero Flag):若运算结果为0,则 ZF1;否则ZF0。,进位标志CF(Carry Flag):加法时,最高位(字节操作时的D7位,字操作时的D15位)是否有进位产生。减法时,最高位(字节操作时的D7位,字操作时的D15位)是否有借位产生。,奇偶标志PF(Parity Flag):若运算结果低8 位中“1”的个数为偶数,则PF1;否则PF0。,符号标志SF(Sign Flag):与运算结果的最高位相同,当数据用补码时,负数的最高位是1。,57, 溢出标志OF(Overflow Flag):若运算过程中发生了“溢出”,则OF1。, 辅助进位标志AF(Auxiliary carry Flag): 也称“半进位标志”,它反映:加法时,D3位向D4位有进位(D15 D0);减法时,D3位向D4位有借位。,84A0H+9460H相加后的标志位是?,1000 0100 1010 0000,+ 1001 0100 0110 0000,1 0001 1001 0000 0000,CF=1,SF=0,ZF=0,AF=0,PF=1,OF=1,58,控制标志(3位):每一位控制标志都对一种特定的功能起控制作用。可以通过专门的指令对其进行“置位”(Set)或“复位”(Reset)。,中断标志IF(Interrupt Enable Flag):如果IF置“1”,则CPU可以接受可屏蔽中断请求;反之,则CPU不能接受可屏蔽中断请求。 指令系统中有两条专门的指令可以置“1”或清“0” IF标志位:,STI ;使IF置“1”,即开放中断 CLI ;使IF清“0”,即关闭中断,59, 方向标志DF(Direction Flag):用于串操作指令中的地址是增加方向(DF0)还是地址减小方向(DF1)。 STD ; DF置1 CLD ; DF清0, 跟踪标志TF(Trace Flag):若TF1,则CPU按跟踪方式(单步方式)执行程序。,60,DF=0时,地址向增加方向变化,例如:将DS段中的某个数据块传送到ES段中。,61,DF=1时,地址向减少方向变化,62,四、存储器寻址,物理地址8088:20根地址线,可寻址220(1MB)个存储单元,为00000H FFFFFH。CPU送到AB上的20位的地址称为物理地址 。,63,物理地址,物理地址,.60000H 60001H 60002H 60003H 60004H.,12H,F0H,1BH,08H,存储器的操作完全基于物理地址。,问题:8088的内部总线和内部寄存器均为16位,如何表示20位地址?,解决办法:存储器分段,00000H 最低地址,FFFFFH 最高地址,64,在 8088/8086系统中,把16字节的存储空间称为一节(paragraph),每节起始地址为16的整倍数。在此20位的地址中,低4位为0000,可将高16位写入段寄存器CS、DS、SS和ES中,称为“段基址”。,把内存空间分成若干段。每段最大可达64K 字节, 在此段内可由16位寄存器进行寻址。, 16位“段基址”存放在段寄存器CS、DS、SS和ES中,其对应的实际地址为20位,默认低4位是0000。,65, 因为每“段”的最大空间为64KB,因此每个存储 单元的地址都可以用“段基址”和距离该段基址 的偏移量来表示,用两个16位寄存器表示。如 DS:BX 。,“段基址”和“偏移量”构成(均为16位)存储单 元的逻辑地址,在程序设计时,使用的是逻 辑地址。,66,偏移量(如 BX ),该存储单元的逻辑地址为DS:BX。,但其实际地址(物理地址)是多少?,该地址能够被16整除,在段寄存器中,只写其高16位,若(DS)=1200H,(BX)=2200H, 则存储单元的逻辑地址为1200H:2200H。,BX值范围:0000HFFFFH,67, 逻辑地址可以转换为物理地址(或绝对地 址或有效地址EA)。方法如下: 物理地址段基址X16 + 偏移量,68,设(CS)=4232H ,(IP)=66H,即逻辑地址为:4232H:66H,69,注意:1、每个存储单元有唯一的物理地址,但它却可由 不同的“段基址”和“偏移量”组成,即可有多个 逻辑地址。例如: 1200H:0345H12345H,1100H:1345H12345H,2、一般情况下,段基址与偏移量寄存器配合如下: 代码段寄存器CS与IP 堆栈段寄存器SS与SP 数据段和附加段寄存器DS、ES的偏移量 有多种方式,取决于指令的寻址方式。,3、由BIU中的地址加法器用来完成计算工作,产 生20位的物理地址。,70,例,已知CS=1055H,DS=250AH,ES=2EF0H,SS=8FF0H, DS段有一操作数,其偏移地址=0204H, 1)画出各段在内存中的分布 2)指出各段首地址 3)该操作数的物理地址=?,解: 各段分布及段首址见右图所示。 操作数的物理地址为: 250AH10H+0204H = 252A4H,71,五、8088总线的工作周期,1、在8086/8088中,所有的读、写存储器或I/O端口的操作全部由总线接口部件BIU来完成。因此,在8086/8088中,将通常所称的“机器周期”叫做“总线周期”。,2、所谓一个总线周期,即BIU与存储器或I/O端口进行一次读操作或写操作所需的时间。,3、在8086/8088中,一个基本的总线周期由4个时钟周期组成,如果内存或I/O接口速度较慢,来不及响应,则需在T3之后插入1个或几个Tw状态即等待周期(通过检测外设的ready信号)。,72,4、指令周期、时钟周期,(2)每两个时钟脉冲上升(下降)沿之间的时间间 隔称为T状态,也称为时钟周期(Clock Cycle)。,(1)执行一条指令所需要的时间称为指令周期。,当主频为10M时,一个T状态为0.1s(100ns)。,通过总线进行一次读写的过程称为一个总线周期。,73,总线周期,总线周期,T1,T1,T2,T3,T4,T2,T3,T4,地址,地址,缓 冲,缓 冲,数 据,数 据,CLK,AD,T2 状态:读总线周期:AD总线为接收数据做准备。改变线路的方向。写总线周期:AD总线上形成待写的数据,且保持到总线周期的结束(T4)。,T3, T4:对于读或写总线周期,AD总线上均为数据。,复用总线:地址与数据传送用同一条总线,但在时间上分开。,T1 状态:BIU将存储器或I/O地址放在地址/数据复用总线(AD)上。,74,8088最小模式下读总线周期时序,75,写IO,8088最小模式下写总线周期时序,76,CLK,一个总线周期,T1,T2,T4,T3,地址输出,状态输出,地址输出,地址输出,数据输出,低电平:写存储器,高电平:写IO接口,IO/M,WR,DT/R,DEN,ALE,AD7AD0,A15A8,A19/S6A16/S3,地址输出,地址锁存,A19 A16,地址输出,地址锁存,A7 A0,77,Ready:准备好信号,输入,等待状态TW的插入:,用于CPU与慢速外设交换数据,78,8088在最小模式下的典型配置,79,A0A19,若CPU从存储器的2FA8BH单元读入一个字节到AL中,使用下列信号:,D0D7,A0A19:0010 1111 1010 1000 1011,80,A0A19,若CPU写入一个字节到存储器的2FA8BH单元中,使用下列信号:,D0D7,A0 A19:0010 1111 1010 1000 1011,81,地址锁存器8282(74LS373)引脚及内部结构图,82,总线驱动器8286(74LS245)引脚及内部结构图,83,8284A时钟发生器,84,8288总线控制器引脚图,85,DB,AB,CB,86,在形成地址总线、数据总线、控制总线三总线的基础上,扩展设计系统的存储器、IO接口等。,87,六、CPU的启动,复位后CPU内部寄存器被设为初值如下:,88,复位后CS=FFFFH,IP=0000H(逻辑地址为FFFF:0),程序从FFFF0H处开始执行。,89,七、堆栈及堆栈段的使用,RAM中有一个按先进后出(FILO)方式操作的特殊区域;每次压栈和退栈均以WORD为单位;SS存放堆栈段地址,SP存放段内偏移,SS:SP构成了堆栈指针;堆栈用于存放返回地址、过程参数或需要保护的数据;常用于响应中断或子程序调用。,90,堆 栈 操 作,压入12F0H,低字节,高字节,91,2.5 总线,主要内容:总线的基本概念和分类;总线的工作方式;常用系统总线标准。,92,一、概述,1、总线的概念 是一组信号线的集合。是计算机系统各部件之间传输地址、数据和控制信息的公共通道。,93,总线结构的优点,简化系统设计(模块化)提高兼容性便于扩充升级便于维修降低生产成本,94,2、总线分类,1)按传送的信息类型划分,(1)数据总线: 8、16、32、64位等,双向,(2)地址总线: 地址线的条数,单向,(3)控制总线: 各种控制信号,2)按总线的层次结构划分,(1)前端总线(CPU总线),包括数据总线、地址总线、控制总线。一般指CPU与存储器、CPU与I/O芯片、CPU与控制芯片组之间的信息传输。,95,(2)系统总线,(3)外设总线,也称IO通道总线,同样包括数据总线、地址总线、控制总线等。一般指扩展槽引线连接的所有信号。如PCI总线、ISA总线等。,计算机主机与外设接口的总线。常用外设总线有IDE、SCSI、RS485、USB、1394等。,96,3、总线结构,1)单总线结构 简单,但总线竞争严重,97,2)多总线结构,面向CPU的双总线结构把需要很高带宽的主存储器用存储总线单独与CPU相连问题:外设到主存的数据传输必须通过CPU,传输效率低,无法实现DMA传输,面向主存的双总线结构主存储器即与CPU直接连接,又与系统总线连接,较好地解决了上述问题,98,99,现代微机中的多总线结构,100,多 总 线 结 构,101,4、总线操作,总线操作的特点:任何时刻只能允许一对主从设备进行操作。总线操作的步骤:总线请求总线仲裁消除多个设备同时使用总线造成的冲突现象寻址数据传送结束阶段,102,5、总线的性能指标,1)总线的带宽 每秒传送的字节数,单位是B/s或MB/s。,2)总线的位宽 总线同时传送的数据位数,如16、32、64位等。,3)总线的工作频率 即总线的时钟频率。以MHz为单位。,总线带宽BW=(总线宽度/8)*总线时钟频率/每个存取周期的时钟数,103,二、总线的基本功能,总线传输需要解决的问题:总线传输同步协调通信双方的传输操作同步、异步、半同步总线仲裁控制消除多个设备同时使用总线造成的冲突现象出错处理:自动纠错或通知CPU;总线驱动:增加

温馨提示

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

评论

0/150

提交评论