您好,欢迎访问三七文档
微机原理--第五章2015/1/9Fio出版※为重点1.总线的概念、分类、总线标准名称1)数字计算机是由若干个部件组成的,这些部件间的信息交换是通过一组公共的标准线路进行的,这组用来进行信息传送的公用线路,称为总线。2)按总线在计算机系统中的位置:片内总线、系统总线、设备总线按传输信息的内容:地址总线、数据总线和控制总线(数据总线的根数(位数)与计算机的字长相同。属单向传输,其位数与存储容量有关。)3)ISA总线即工业标准总线、MCA总线即微通道总线、EISA总线、PCI总线即时钟同步型输入/输出总线2.IO接口概念、基本结构和作用(功能)1)把介于CPU与外设之间,实现硬件连接与软件通讯的部件称为I/O接口。2)多数为可编程通用接口芯片。3)实现CPU与外设之间信息的转换:包括信号形式的变换、电平的转换和放大、并行数据和串行数据的转换。I/O定向:每次IO传送都用地址指明具体的设备。IO接口电路接收地址并译码,选中具体的IO设备。3.接口为什么遵循“输入要三态;输出要锁存”原则输入要三态:设备需要通过三态门连接到总线上,CPU访问此外设时,打开三态门,其他时间与总线呈高阻状态。实现一个CPU连接多个外设。输出要锁存:将数据锁存到接口电路中,解决CPU与外设间的速度不匹配。4.接口部件的I/O端口及其编址方法1)端口是I/O接口的基本组成单元,每个I/O端口有一个端口地址。CPU对I/O端口的操作是按端口地址进行的。I/O端口是由一组寄存器组成的。CPU与外设进行数据传输时,各类信息会进入不同类型的寄存器,一般称这些寄存器为I/O端口。2)⒈存储器映射方式-------把端口作为存储器的存储单元来对待,每个端口占有存储空间的一个地址。端口地址和存储器地址按照统一的方式编址。也叫做统一编址方式。其优点是:①CPU对外设(端口)操作可使用全部的存储器操作指令,故可用指令多,使用方便;②内存和外设(端口)的地址分布空间是同一个;③不需要专门的输入输出指令。缺点是:①外设占用了内存单元,使内存容量减少;②访问内存指令长度一般比专用I/O指令长,从而指令周期较长,执行速度较慢。⒉I/O独立编址方式--------指有一个与存储器地址空间完全独立的I/O地址空间,在这个空间内每个端口有一个唯一端口地址。使用专门的IO指令访问端口。其优点是:①I/O端口不占内存空间;②由于I/O指令都是使用累加器(AX/AL)操作,指令字节数少,因此指令周期较短。缺点是:①要求CPU有专用I/O指令,用于CPU与I/O端口间数据传输;②用于I/O操作的指令少,因此不够方便灵活。5.计算机与外设数据传送的方式直接传送方式:这种外设总是准备就绪,不必查询外设的状态,在需要输入/输出的地方直接使用IN、OUT指令。条件传送方式:查询方式中断方式:利用中断方式,CPU与外设(甚至多个外设)可以实现并行(同时)工作。大大提高CPU的效率。DMA方式:直接存储器访问方式传送(由DMA控制器——DMAC接管,控制传送的字节数,判断DMA是否结束,以及发出DMA结束等信号。DMA控制器的功能:能向CPU发出HOLD信号;当CPU发出HLDA信号后,接管总线控制权,进入DMA方式;输出地址信息,能对存储器寻址及能修改地址指针;能输出读写等控制信号;能决定传送字节数及判断DMA传送是否结束;发出DMA结束信号,使CPU恢复正常工作状态。)6.PC/XT的I/O端口地址译码书上245页,AEN=1(AEN=0,即不是DMA周期)时,且地址线A9=A8=0时,译码器工作。7.I/O接口应用实例例:若打印机的接口包括控制端口83H,数据端口地址80H和状态端口地址81H,编程实现:采用查询方式,状态位为D0=1表示BUSY,将内存中1000H开始的100个字节(字符),输出到打印机。其中端口控制字为88H,应首先将控制字输出到控制端口中。MOVAL,88HOUT83H,ALMOVSI,1000HMOVCX,100XML:INAL,81H;读入状态字TESTAL,01H;测试状态位是否为1,为1转JNZXML;XMLMOVAL,[SI]INCSIOUT80H,AL;已准备好,输出一个字节数据LOOPXML例:查询式输入程序实例:从端口地址为60H的外设输入一个字节数据。因外设速度较慢,故采用查询方式,状态口为61H,状态位为D1=1表示READY,程序如下;XML:INAL,61H;读入状态字TESTAL,02H;测试状态位是否为1,不为1转JZXML;XMLINAL,60H;已准备好,输入一个字节数据例:查询式输出程序实例;STATUS_PORT表示状态端口地址,READY_BIT表示状态端口中的BUSY位,DATA_PORT表示数据端口地址,DATA表示输出数据在存储器中存放的位置。MOVDX,STATUS_PORTWAIT:INAL,DX;读入状态字TESTAL,READY_BIT;测试’BUSY’位JNZWAIT;MOVDX,DATA_PORTMOVAL,DATAOUTDX,AL8.中断的概念、中断系统的基本功能1))当CPU在正常执行程序的过程中,出现了异常情况和特殊请求时(硬件产生请求),CPU暂时中止当前程序的执行,转而去处理事件(执行另外一段程序,中断服务子程序),该事件处理完后,再返回原程序继续执行。这种过程(机制)就称为中断。2)同步操作、实时控制、故障处理9.外部中断的工作过程(INTR、NMI)1)可屏蔽中断INTR(高电平触发):INTR的高电平请求信号需要保持一个指令周期。仅当IF=1,打开中断时,CPU才能响应中断。STI-打开中断,CLI-关闭中断。任一中断响应后,CPU会自动关闭中断IF=0,需要在适当时间打开中断。2)非屏蔽中断NMI(正跳变边沿触发):当出现NMI中断请求时,CPU内部将其锁存。采用特殊的响应方式,即当前指令执行结束后,CPU立即进入中断类型号2(n=2)的处理过程,而不经过上述的中断响应周期。NMI的优先级高于INTR。10.※8086/8088的中断向量、中断向量号、中断向量表、中断矢量表的修改程序、中断矢量的保护和恢复1)中断向量的概念:中断服务程序的入口地址,包括段地址和偏移地址。2)8086系统把256种中断源按顺序进行编号,称为中断类型号或中断向量号。00H-FFH,0-255。256种中断源——对应256个中断向量。3)按中断类型号从小到大顺序依次存放各类中断(256种)的中断向量(中断服务程序入口地址)。全部存放在内存的前1K字节(地址00000H~003FFH),组成了一个中断向量表,总共包含256个中断向量。4)5)见12.825911.※8255A的端口结构、端口地址、工作方式0,1和查询式编程(一般考察方式0)注:工作方式控制字、C口置位复位控制字不要求记忆,考试时给出。1)三个输入/输出数据端口和一个控制字寄存器,共四个端口。端口选择信号:A0,A1经译码,四个地址分别对应于A、B、C三个数据端口和一个控制端口。2)方式0——基本的输入或输出方式:无需联络信号,直接进行IO操作。方式1——选通的输入或输出方式:需要联络信号的协调,才能传输数据。3)实验三可编程并行接口8255(C口输入,A口输出)DATASEGMENT;定义数据段IO8255AEQU288hIO8255CEQU28ahIO8255CTEQU28bhDATAENDSCODESEGMENT;定义代码段ASSUMECS:CODE12.※8259A中断请求处理过程注:命令字ICW1-4,OCW1-3不要求记忆,考试时给出。1)中断主程序的设计要点如下:(1)中断控制器8259的初始化。(2)修改中断向量:将用户自己编写的中断服务子程序的入口地址写入中断向量表的相应表项中,其方法有两种:一种直接修改内存的方式;二是采用DOS功能调用。(书上262页。务必理解,会写。)(3)打开中断屏蔽,包括CPU中断屏蔽和8259中断屏蔽(4)主程序工作循环,循环中也可能不做任何事情2)中断服务子程序的设计要点如下:(1)保护现场,寄存器入栈(2)编写中断处理过程。(3)中断结束,发EOI命令(4)恢复现场(5)再次打开cpu中断屏蔽,STI(6)中断返回。IRET3)8259A对中断请求的处理过程:当某IRQi有效时,IRR相应位置1若有效的IRQi未被屏蔽,则向CPU发出中断请求CPU响应中断请求,连续发来两个INTA信号。检测到第1个INTA信号后,置ISRi=1,IRRi=0检测到第2个INTA信号后,把ISRi=1中最高优先级的中断类型码放到·数据总线DB上中断结束时,若工作在AEOI方式,在第2个INTA信号结束时,自动使ISRi复位;否则由CPU发出EOI命令使ISRi复位4)例题:设IBMPC机接有一片8259A(端口地址为80H和81H),管理8个中断源,采用正常完全嵌套方式,普通EOI方式,中断请求高电平有效,优先级固定,IRR0最高,IRR7最低,IRR0的中断类型码为50H,由于某种原因,IRR2和IRR6被屏蔽。现已知IR3引脚有中断请求,该中断请求要求在显示器上显示一个字符串”ThisisaIR3interrupt.”写出完整的程序,包括主程序(主要有初始化程序,修改中断向量表等)和中断服务程序。DATASEGMENTSTRDB‘ThisisaIR3interrupt$’DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATAMAINPROCFAR;中断服务主程序START:MOVAX,DATAMOVDS,AX;1中断控制器8259初始化MOVAL,1BH;-----------ICW1OUT80H,ALMOVAL,50H;-----------ICW2OUT81H,ALMOVAL,1;------------ICW4OUT81H,ALMOVAL,44H;-----------OCW1OUT81H,AL;2修改中断向量PUSHDSMOVDX,OFFSETMYINTMOVAX,SEGMYINTMOVDS,AXMOVAL,53HMOVAH,25HINT21HPOPDS;3打开8259-IR3中断屏蔽INAL,81HANDAL,11110111BOUT81H,AL;4打开8086INTR中断屏蔽STI;5主程序循环等待JMP$MOVAX,4C00HINT21HMAINENDP;中断服务子程序MYINTPROCNEAR;1保护现场PUSHAXPUSHDXPUSHDS;2中断处理过程,显示字符串MOVAX,DATAMOVDS,AXMOVDX,OFFSETSTRMOVAH,9INT21H;3发EOI命令,中断结束MOVAL,20HOUT80H,AL;4恢复现场POPDSPOPDXPOPAX;5再次打开cpu中断屏蔽STI;6中断返回IRETMYINTENDPCODEENDSEND13.计数器8253的工作原理和编程(一般考察方式3)1)计数:对脉冲信号进行统计。首先设置好计数初值,开始对外部触发脉冲作减1计数,减到0时,输出一个信号。定时:对固定频率的时钟脉冲进行统计。定时时间=统计值×计数脉冲周期2)8253编程例:使1号定时器,工作在方式0,计数初值=0FF5h,二进制计数。试写出8253初始化程序段。8253端口地址:40H,41H,42H,43H。MOVAL,01000000B;1号定时器,方式0OUT43H,ALMOVAX,0FF5HOUT41H,AL;1号数据口MOVAL,AHOUT41H,AL例:使0号定时器,工作在方式3,计数初值N=1000,二进制计数.试写出8253初始化程序段。8253端口地址:40H,41H,42H,43H。MOVAL,00110110B;0号定时器,方式3OUT43H,ALMOVAX,1000HOUT40H,AL;0号数据口MOVAL,AHOUT40H,AL例:利用CNT2控制扬声器发出500HZ的声音,直到键盘上有键按下。DATASEGMENTTABLED
本文标题:微机原理第五章总结
链接地址:https://www.777doc.com/doc-2470049 .html