现代微机原理与接口技术复习课一、微机结构的发展和特点1.1微机的硬件结构CPU地址总线(AB)数据总线(DB)控制总线(CB)RAMI/O接口I/O设备ROM1.28086/8088微处理器◆BIUEU的动作管理1)当8086指令队列中有2个字节空时,BIU会自动地把下一条指令取到队列中。2)EU在执行指令的过程中,如必须访问存储器或I/O设备,EU会自动请求BIU访问存储器或I/O端口。3)当指令队列已满,而EU又无请求,BIU进入空闲状态。4)当EU执行转移类、调用及返回指令时,EU将不再用指令队列中顺序装入的指令。OF1511109876420DFIFTFSFZFAFCFPF8086/8088标志寄存器FLAG◆8086/8088标志寄存器◆8086/8088的工作模式◆8086/8088的存储器及I/O组织16位段地址16位段内偏移(左移四位)16位段地址16位段内偏移:+20位物理地址=1)存储器组织产生20位物理地址的方法2)I/O组织8086/8088用地址总线的低16位作为对8位I/O端口的寻址线;IBMPC机只用了A0~A9共10条地址线作为I/O端口的寻址信号,共1024个端口,地址范围为0000H~03FFH。I/O端口地址是不分段的;1.3Pentium微处理器◆内部结构两个32字节的指令预取缓冲器,取到一条分支指令,BTB进行预测。◆Pentium的寄存器1.通用寄存器16位通用寄存器高16位扩展32位通用寄存器EAX,EBX,ECX,EDX,ESI,EDI,EBP和ESP3.指令指针寄存器16位的IP高16位扩展32位指令指针寄存器EIP2.段寄存器CS,DS,SS,ES,FS和GS4.标志寄存器恢复标志虚拟8086模式对齐检查虚拟中断位标识位虚拟中断挂起位31……222120191817161514131211109876543210任务嵌套标志I/O特权位这部分同8088OFDFIFTFSFZFAFCFPFIOPLNTRFVMACVIFVIPID保留◆Pentium的工作模式1)实地址模式类似于8086的体系结构;1MB空间,分段管理,用户和操作系统都在0级上执行。2)保护模式存储器采用虚拟地址空间、线性地址空间和物理地址空间三种方式来描述;虚拟地址空间64TB(246)。3)虚拟8086模式Pentium被模拟成多个8086微处理器并行工作;4)系统管理模式微处理器8088协处理器8087ROMBIOSDRAM控制器主板上的RAM8253定时/计数器8259中断控制器8250串行通信控制器8255并行接口8237DMA控制器DMA页面寄存器扩展总线缓冲8个8位62引脚扩展插槽PC总线FE000H~FFFFFH1.4PC系列微机基本结构1.4.1PC/XT微机1.4.2南北桥结构的PentiumII微机PentiumII处理器PentiumII处理器CPU总线82443BX(北桥)主存支持SDRAM66/100MHz2×AGP总线图形设备82371EB(PIIX4E)(南桥)ISA插槽2个IDE接口2个USB接口可选I/OAPICPCI总线PCI插槽系统BIOSISA总线440BX芯片组1.4.3中心结构的PentiumIII微机基本结构键盘鼠标串行口并行口处理器8XX系列存储控制中心中心高速接口I/O控制中心固件中心PCI槽PCI总线IDE驱动器USB端口AC’97编码SuperI/OLPCI/FAGP图形控制器主存储器处理器CPU总线LAN连接815EP芯片组二、输入输出与接口技术2.1接口的基本概念◆定义:是CPU与“外部世界”的连接电路,是CPU与外界进行信息交换的中转站。◆I/O接口功能数据缓冲功能接受和执行CPU命令功能设备选择功能信号转换功能可编程功能◆程序控制方式1)无条件传送方式2.2数据传输控制方式2)条件传送方式(查询方式)查询式输入流程图3)中断传送方式◆DMA方式◆I/O统一编址(存储器映象I/O编址)2.3I/O端口编址◆I/O独立编址◆Intel系列微机I/O编址Intel系列微处理器支持I/O独立编址方式和I/O统一编址(存储器映象编址)方式。Intel系列微机系统仅支持I/O独立编址方式。2.4I/O端口编址译码◆I/O接口芯片片选译码Y0Y7ABCG2BG2AG11514131211109712345674LS138A5A6A7A8A9AENDMACS(8237)INTRCS(8259)T/CCS(8253)PPICS(8255)WRTDMAPG≥1≥1WRTNMIREGIOW74LS138在PC/XT机系统板中芯片的译码00~1FH20~3FH40~5FH60~7FH80~9FHA0~BFH74LS688比较器AEN例.已知PC机系统中某接口板的板地址译码电路如下图所示。现希望该板的地址范围为0240~0247H,请确定DIP开关各位的状态(打开或闭合)。解:0240H=0000001001000000B0247H=0000001001000111BA6,P3,Q3A9,P6,Q6只有Q3打开,其余都闭合。三、微机总线与接口标准3.1总线与接口概述◆总线:是在模块和模块之间或设备与设备之间的一组进行互连和传输信息的信号线。◆总线的主要性能参数1)总线频率2)总线宽度3)总线的数据传输率总线的数据传输率=(总线宽度/8位)×总线频率◆总线传送控制1)同步方式2)异步方式3)半同步方式4)分离方式(不要求)3.2PCI总线◆PCI总线的寻址AD1AD0C/BE3#C/BE2#C/BE1#C/BE0#00×××001××0110×0111101111)I/O地址空间(32位AD线)PCI总线采用分散的地址译码AD[1:0]与C/BE[3:0]#相配合,表示传输的最低有效字节。PCI总线:称外围部件互联,是一种先进的局部总线,2)内存地址空间3)配置地址空间(不要求)AD[1:0]=00时,突发传输顺序为地址递增方式,每个数据周期过后地址加4;AD[7:2]给出一个双字边界对齐的起始地址。目的:实现设备再定位而无需用户干预安装、配置和引导。◆PCI总线配置方法:配置软件扫描PCI总线,通过访问设备的配置寄存器,按配置要求,进行系统配置。1)配置空间头区域(不要求)2)配置空间的访问IDSEL信号有效,在地址期内AD[1:0]为00时,才能被作为配置访问的目标设备。3.3通用串行总线USB三个基本部分组成:主机(Host)、集线器(Hub)和功能设备。USB是基于令牌的总线;PCI总线宿主机USB主控制器/根高速电话高速显示器高速集线器高速麦克风扬声器高速扬声器高速键盘高速低速麦克风麦克风低速高速=12Mb/s低速=1.5Mb/s◆USB的拓扑结构(级联星型拓扑)◆USB交换的包格式包是组成USB交换的基本单位;设备地址码、端点号、传输方向和传输类型最多为1023B的数据数据是否正常发送主机与低速设备通信时使用标志包数据包握手包特殊包USB交换包括:3.4高性能串行总线标准IEEE1394CPU内存I/OIEEE1394桥接器扫描仪CPU驱动器打印机数码相机CDROM驱动器内部总线连接并行总线IEEE1394总线线缆连线◆IEEE1394拓扑结构◆IEEE1394地址分配(不要求)IEEE1394连接的设备,采用内存编址(64位宽)的方法。总线地址节点地址节点内部地址D63D54D53D48D47D01023个63个248个IEEE1394网络在其设备进行增减时自动重设网络;USB是以HUB来判断连接设备的增减。USB1.1IEEE1394a数据传输速度(Mbps)1.5/12100/200/400可连接节点数12763节点间距离(米)54.5拓扑结构星形雏菊链/树形混合连接模式PC为中心分上下行A/B口对等连接串接方式需要集线器(Hub)节点可桥接最大串接能力5个Hub级联16台最长扩展连接距离(米)3072信号线条数4(电源2,信号2)6(电源2,信号4)/4连接器大/小(min-USB)大(6针)/小(4针)◆IEEE1394a与USB1.1的比较四、DMA技术◆DMA传送方式通常用来高速传送大批量的数据块。1)I/O设备向DMAC发出DMA请求;2)DMAC向CPU发出总线请求;3)CPU在执行完当前指令的当前的总线周期后,向DMAC发出总线响应信号;4)CPU脱离对系统总线的控制,由DMAC接管对系统总线的控制;7)完成设定的字节数据传送,CPU恢复对系统总线的控制。5)DMAC向I/O设备发出的DMA应答信号;6)DMAC进行一个字节的传送;◆DMA传送的工作过程◆级联传送方式将多个DMA级联在一起,以便扩充系统的DMA通道。主动态:DMAC取代CPU而成为系统的主控者;接管和控制系统总线1)DMA控制器在系统中的两种工作状态被动态:DMAC受CPU控制。◆DMA控制器82C37A2)82C37A内部逻辑框图(不要求)3)82C37A内部状态变化流程4)82C37A的初始化编程◆初始化编程的步骤:①对8237A进行复位或清“0”先/后触发器②写入基地址和当前地址寄存器地址信息③写入基字节和当前字节计数器计数值④写入方式控制字到方式寄存器⑤写入屏蔽字到屏蔽寄存器⑥写入命令字控制寄存器⑦写入请求命令字到请求寄存器(若有软件请求)五、中断技术中断:CPU暂停执行现行的程序,转而处理随机事件,处理完毕后再回到被中断的程序,这一全过程称为中断。中断源:能够引发CPU中断的来源。5.1中断的概述中断向量:中断处理程序入口地址;中断向量表:存储系统所有的中断向量的存储区;中断向量指针:指出中断向量存放在中断向量表的位置。中断类型号:对系统所有的中断源的编号,实模式下中断向量指针=0000:N×4◆中断过程1)中断申请2)中断响应3)中断服务程序的执行2)中断返回◆中断识别及其优先级◆多重中断(中断嵌套)◆中断屏蔽1)外部硬件中断(由8259A管理)由外部设备产生的中断请求。◆现代微机的中断类型NMI中断的类型号固定为2。2)不可屏蔽中断(NMI)不可屏蔽中断也是外部硬件引发的中断,它不受IF标志位影响的它。3)软件中断通过执行软件中断的指令(INT0,INT3,INTn和BOUND等);启动相应的中断处理程序。4)内部中断和异常不受IF中断允许标志位的影响,中断类型号固定。◆现代微机的中断处理中断响应步骤保护断点:将标志寄存器、代码段寄存器CS和指令指针EIP压入堆栈。转入中断处理程序:在实模式下,处理器通过使用中断向量表获取入口地址,在保护模式下,处理器使用中断描述符表获取入口地址。返回断点:执行IRET指令,自动将栈顶的内容依次弹出到EIP、CS和EFLAGS,恢复主程序的执行。5.2可编程中断控制器Intel8259A◆8259A的内部结构◆8259A的初始化编程一、初始化编程的步骤:1.初始化命令(ICW)严格按照规定的顺序写入2.操作命令(OCW)根据需要在程序中任意安排1)提供8级向量中断,CAS2~CAS0不用。2)端口地址使用020H和021H。例,在早期的PC机中,采用单片8259A作为中断控制,它具有以下的特点:3)中断请求信号均采用边沿触发。4)采用全嵌套、正常结束方式,优先级的排列次序为0级最高,依次为1~7级。5)采用非缓冲方式,SP/EN端接+5V。6)设定0级~7级对应中断类型号为08H-0FH。初始化程序如下:INTM00EQU020H;8259A端口0INTM01EQU021H;8259A端口1……MOVAL,00010011B;ICW1:边沿触发,要ICW4;单片方式,不要ICW3。OUTINTM00,ALJMPSHORT$+2;I/O端口延时MOVAL,00001000B;ICW2:设置中断向量,起始的中断号为08H。OUTINTM01,ALJMPSHORT$+2MOVAL,00000001B;ICW4:非总