东北大学微机原理-第4讲

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

微型机原理与程序设计第4讲输入输出接口(Interface)输入输出(Input/Output--I/O)接口是主机与外设之间的交接界面,通过接口可以实现主机与外设之间的信息交换。在计算机系统中,“输入”指的是信息从I/O设备进入CPU中;“输出”指的是信息从CPU输送到I/O设备。解决主机和外设在信息形式和工作速度上差异的电路端口端口是指接口电路中可以被CPU直接访问的寄存器。数据端口—存放数据信息的寄存器命令端口—存放控制命令的寄存器状态端口—存放外设状态信息的寄存器接口的基本功能:缓冲作用锁存功能IO接口应具备输入缓冲、输出锁存功能。微型机原理与程序设计第4讲输入输出CPU控制端口状态端口输入/输出数据端口数据总线读出信号写入信号复位输入准备好中断请求地址译码输入设备输出设备数据输入回答数据输入准备好数据输出回答数据输出准备好数据输入数据输出片选A0A1端口编址独立编址方式—I/O端口与存储器系统是隔离的存储器映像方式—存储器映像I/O的端口被视为存储器映像中的一个存储单元接口类型并行接口—并行接口将数据的各位同时在多根并行传输线上进行传输微型机原理与程序设计第4讲输入输出串行接口—串行通信是将数据分解成二进制位,用一条信号线一位一位顺序传送的方式。串行通信适合于远距离数据传送,也常用于速度要求不高的近距离数据传送。CPU控制端口状态端口输入数据端口数据总线读出信号写入信号复位输入准备好中断请求地址译码串行输出串行输入控制片选A0A1输出数据端口串行输入并行输出并行输入串行输出发送时钟接收时钟微型机原理与程序设计第4讲输入输出通讯方式同步通信方式(synchronouscommunication)异步通信方式(asynchronouscommunication)。微型机原理与程序设计第4讲输入输出同步通信同步通信方式,是把许多字符组成一个信息组,这样,字符可以一个接一个地传输,但是,在每组信息(通常称为信息帧)的开始要加上同步字符,在没有信息要传输时,要填上空字符,因为同步传输不允许有间隙。同步方式下,发送方除了发送数据,还要传输同步时钟信号,信息传输的双方用同一个时钟信号确定传输过程中每1位的位置。微型机原理与程序设计第4讲输入输出异步通信异步串行数据无需时钟或定时信号即可发送和接收。传输的数据以字符(character)为单位。每帧串行数据通过起始位和停止位来区分字符。当发送一个字符代码时,字符前面要加一个“起始”信号,其长度为一位,极性为“0”,称空号(space)状态。规定在线路不传送数据时全部为“1”,称传号(mark)状态。字符后边要加一个“停止”信号,其长度为1、1.5或2位,极性为“1”。字符本身的长度5~8位数据,视传输的数据格式而定。由起始位、数据位、校验位、停止位四部分构成一个数据帧。传送时,字符可以连续发送,也可以单独随机发送,不发送字符时线路保持“1”状态。字符发送的顺序是先低位后高位。微型机原理与程序设计第4讲输入输出图1-5-5给出了两帧发送字符ASCII的串行数据,每帧包含一个起始位,7个数据位、一个奇校验位以及一个停止位,共10个二进制位。其中帧1和帧2发送的分别是字母“A”和“C”。由于采用的是奇校验,要求数据位和校验位中“1”的个数为奇数,因此两帧中的校验位分别为“1”和“0”。微型机原理与程序设计第4讲输入输出串行通讯分类全双工半双工单工微型机原理与程序设计第4讲输入输出波特率发送端使用的用于决定数据位宽度的时钟称为发送时钟接收端使用的用于测定每一位输入数据位宽度的时钟称为接收时钟发送/接收时钟决定了每一位数据的位宽度,所以发送/接收时钟频率的高低决定串行通信双方发送/接收字符数据的速度。发送/接收时钟单位时间内传送二进制数据的位数,单位为位/秒(b/s)一个数据帧包括12位(一个起始位,8个数据位,1个偶校验位,2个停止位)传输速率为1200b/s时,每秒最大所能传送的字符是1200/(1+8+1+2)=100个。微型机原理与程序设计第4讲输入输出2.输入输出方式输入输出方式指的是主机与外设之间数据传送的途径和方法。程序直接控制方式—由CPU执行一般输入输出程序来实现主机与外设之间数据传送的方式叫做程序直接控制方式。根据外设的不同性质,无条件传送程序查询方式中断方式—利用中断服务程序中完成一次主机与外设之间的数据传送直接存储器存取方式(DMA)I/O端口standbyCPU无需查询外设的工作状态,认为外设始终处于准备就绪状态在CPU认为需要时,随时可直接利用相关指令访问I/O端口,实现与外设之间的数据交换最简单、经济的I/O方式微型机原理与程序设计第4讲输入输出检查状态标记准备就绪?交换数据是否当CPU与外设工作不同步时,为了保证数据传送的正确进行,要求CPU在程序中查询外设的工作状态。如果外设尚未准备就绪,CPU就循环等待,只有当外设已做好准备,CPU才能执行指令进行数据传送,这就是程序查询方式。程序查询方式微型机原理与程序设计第4讲输入输出开始预置传送参数启动外设取外设状态外设准备就绪?传送一次数据修改传送参数传送完否?结束NNYY程序查询方式的工作步骤如下:Step1:预置传送参数,在传送数据之前,由CPU执行一段初始化程序,预置传送参数,传送参数包括存取数据的主存缓冲区首地址和传送数据的个数。Step2:向外设接口发出命令字。当CPU选中某台外设时,执行输出指令向外设接口发出命令字启动外设,为接受数据或发送数据做应有的操作准备。Step3:从外设接口取回状态字。CPU执行输入指令,从外设接口中取回状态字并进行测试,判断数据传送是否可以进行。Step4:查询外设标志。CPU不断查询状态标志。如果外设没有准备就绪,CPU就踏步等待,转第Step3,一直到这个外设准备就绪,并发出“外设准备就绪”信号为止。Step5:传送数据。只有外设准备好,才能实现主机与外设间的一次数据传送。输入时,CPU执行输入指令,从外设接口的数据缓冲寄存器中接收数据;输出时,CPU执行输出指令,将数据写入外设接口的数据缓冲寄存器中。Step6:修改传送参数。每进行一次数据传送之后必须要修改传送参数,其中包括主存缓冲区地址加1,传送个数计数器减1。Step7:判断传送是否结束。如果传送个数计数器不为0,则转第Step3,继续传送,直到传送个数计数器为0,表示传送结束。微型机原理与程序设计第4讲输入输出通常接口中至少有两个寄存器,一个是数据缓冲寄存器,即数据端口,用来存放与CPU进行传送的数据信息;另一个提供CPU查询的设备状态寄存器,即状态端口,这个寄存器由多个标志位组成,其中最重要的是“外设准备就绪”标志。当CPU得到这位标志后就进行判断,以决定下一步是继续循环等待还是进行I/O传送。存在下列缺点:Ø查询过程中,CPU长期处于踏步等待状态,使系统效率大大降低;ØCPU在一段时间内只能和一台外设交换信息,其他设备不能同时工作;Ø不能发现和处理预先无法估计的错误和异常情况。微型机原理与程序设计第4讲输入输出中断方式工作完成工作完成响应中断返回响应中断返回启动中断请求中断请求现行程序中断服务程序外部设备CPU中断源和中断请求信号中断源是指中断请求的来源,即引起计算机中断的事件。通常,一台计算机允许有多个中断源。由于每个中断源向CPU发出中断请求的时间是随机的,为了记录中断事件并区分不同的中断源,采用具有存储功能的触发器来记录中断源,这个触发器称为中断请求触发器(INTR)。当某一个中断源有中断请求时,其相应的中断请求触发器置成“1”状态,表示该中断源向CPU提出中断请求。中断请求触发器可能分散在各个中断源中,也可能集中到中断接口电路中,在中断接口电路中,多个中断请求触发器构成一个中断请求寄存器。中断请求寄存器的每一位对应一个中断源,其内容称为中断字或中断码。中断字为“1”的位就表示对应的中断源有中断请求。—为了提高输入输出能力和CPU的效率生活实例微型机原理与程序设计第4讲输入输出中断请求信号的传送独立请求线每个中断源单独设置中断请求线,将中断请求信号直接送往CPU,这种方式的特点是CPU在接到中断请求的同时就知道了中断源是谁,其中断服务程序的入口地址在哪里。这有利于实现向量中断,提高中断的响应速度。如第三章中的51系列单片机就是这种形式。独立请求线硬件代价较大,且CPU所能连接的中断请求线数目有限,难以扩充。微型机原理与程序设计第4讲输入输出公共请求线多个中断源共有一根公共请求线,这种方式的特点是在负载允许的情况下,中断源的数目可随意扩充;但CPU在接到中断请求后,必须通过软件或硬件的方法来识别中断源,然后再找出中断服务程序的入口地址。8086的中断就是这种形式。微型机原理与程序设计第4讲输入输出二维结构将中断请求线连成二维结构,同一优先级别的中断源,采用一根公用线的请求线;不同请求线上的中断源优先级别不同。这种方式综合了前两种方式的优点,在中断源较多的系统中常采用这种方式。微型机原理与程序设计第4讲输入输出中断响应CPU响应中断必须满足下列条件:①CPU接收到中断请求信号。首先中断源要发出中断请求,同时CPU还要接收到这个中断请求信号。②CPU允许中断。CPU内部有一个中断允许触发器(EINT),只有当EINT=1时,CPU才可以响应中断源的中断请求(中断允许);如EINT=0,CPU处于不允许中断状态,即使中断源有中断请求,CPU也不响应(中断关闭)。通常,中断允许触发器由开中断指令来置位,由关中断指令或硬件自动使其复位。允许中断通常由CPU的开中断指令实现。③一条指令执行完毕,这是CPU响应中断请求的时间限制条件。一般情况下,CPU在一条指令执行完毕且没有更紧迫的任务时才能响应中断请求。中断响应是当CPU发现已有中断请求时,中止现行程序执行,并自动引出中断处理程序的过程。微型机原理与程序设计第4讲输入输出中断处理当I/O通过指令的地址码选中某设备后①由CPU启动外设命令,将接口中B置“1”,D置“0”;②接口启动输入设备开始工作;③输入设备将数据送入DBR;④输入设备向接口发“设备工作结束”信号,使D置“1”,B置“0”,标志设备准备就绪;⑤当设备准备就绪(D=1),且本设备未被屏蔽(MARK=0)时,在指令执行阶段的结束时刻,由CPU发中断查询信号;⑥设备中断请求触发器INTR被置“1”,标识设备向CPU提出中断请求,与此同时,INTR送至排队器,进行中断判优⑦若CPU允许中断(EINT=1),设备又被排队选中,即进入中断响应阶段,由中断响应信号INTA将排队器输出送至编码器形成向量地址;⑧向量地址送至PC,作为下一条指令的地址;⑨由于向量地址中存放的是一条无条件转移指令,故这条指令执行结束后,即无条件转至该设备的服务程序入口地址开始执行中断服务程序,进入中断服务阶段;⑩中断服务程序的最后一条指令执行结束,即中断返回至源程序的断点处。一次中断处理过程中断请求中断判优中断响应中断服务中断返回微型机原理与程序设计第4讲输入输出中断屏蔽中断源发出中断请求之后,这个中断请求并不一定能真正送到CPU去,在有些情况下,可以用程序方式有选择的封锁部分中断,这就是中断屏蔽。如果给每个中断源都相应地配备一个中断屏蔽触发器(MASK),则每个中断请求信号要受到屏蔽触发器的控制。当MASK=1,表示对应中断源的请求被屏蔽,可见中断请求触发器和中断屏蔽触发器是成对出现的,只有当INTRi=1(中断源有中断请求),MASKi=0(该级中断未被屏蔽),才允许对应的中断请求送往CPU按照是否可以被屏蔽,可将中断分为两大类:不可屏蔽中断(又叫非屏蔽中断)和可屏蔽中断。不可屏蔽中断源一旦提出请求,CPU必须无条件响应,而对可屏蔽中断源的请求,CPU可以响应,也可以不响应。CPU一般设置两根中断请求输入线:可屏蔽中断请求INTR和不可屏蔽中断请求NMI。微型机原理与程序设计第4讲输入输出3.输入输出设备数字信号输入输出设备模拟输入输出设备机-机通信设备人机交互设备微型机原理与程序设计第4讲输入输出我正在厨房用煤气烧一

1 / 22
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功