输入输出系统

本文详细探讨了计算机系统中的输入输出接口功能、CPU与外设的数据传输机制,重点剖析了中断控制、中断请求与响应流程,以及DMA控制方式在提高数据传输效率的应用。同时,涉及了磁盘I/O性能计算实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

输入输出系统概述

I/O接口

        不同配置和不同用途的输入输出系统,其接口功能不尽相同,但一般都具有功能:实现数据缓冲、执行CPU的命令、返回外设的状态、设备选择、实现数据格式\数据类型的转换、实现信号的转换、中断管理。

        CPU与外设之间必须通过一个接口电路,以协调CPU与外设交换信息的工作。

        输入输出操作的最终目的是实现CPU与外设之间的数据传输.

        计算机系统的输入输出接口是主机与外围设备之间的交接界面。

        计算机系统的输入/输出接口是CPU与外设之间的交接界面。

        

输入输出设备的编址与管理

°外围设备以及设备的I/O接口中有很多可供CPU访问的寄存器,这些不同种类的寄存器称为I/O端口(port)。
°CPU对I/O端口的访问采用的是与访存类似的按地址访问方式,即为每一个I/O端口分配一个地址,又称为I/O地址或I/O端口号,CPU通过给出I/O端口地址访问相应的I/O端口,也即访问相应的设备。

        I/O接口中CPU可访问的寄存器称为I/O端口.(√)

        采用独立编址方式时,I/O端口地址和主存地址可能相同.(√)

输入输出控制方式

程序控制方式 CPU、外设不能并行工作.(CPU被外设独占)

中断控制方式

中断基本概念

                中断系统是由软、硬件结合方式实现的。

中断源
中断源:引起中断的事件。
对于计算机系统来说,中断源分为外部中断和内部中断。

        运算溢出、除数为0等属于软\软件\溢出中断,又称为内中断。

中断流程
中断请求的建立

        外设提出中断请求的条件是外设工作完成和系统允许

       【中断】你对中断究竟有多了解?试着把中断的触发流程整理了一遍... - 知乎

        电源故障、设备故障等属于硬(件)中断,又称为外部中断。

        中断允许触发器用来控制响应中断。  而不是开放或者关闭中断系统!!

        禁止中断的功能可由中断允许触发器来完成。

B

C

A

下述哪种情况会提出中断请求?__牛客网

中断响应

在中断响应周期里,中断系统主要完成以下三项功能:
关中断
        Ø 关中断目的:
        •PC的值,指向下一条指令的地址;
        •程序状态字PSW,记录中断发生时的程序“现场” ,通常保存在堆栈
保护断点
         Ø保护断点的目的:
         •进行中断源的识别
        •形成中断源中断服务程序的入口地址 
扩展
中断隐指令  
Ø完成的操作:
保护断点
关中断  
形成中断服务程序入口地址并送PC

        CPU在响应某中断请求时,必须要先通过硬件保存程序断点(PC)及标志寄存器,以便中断返回。这个过程因为是硬件完成的,对程序员透明,因此称作中断隐指令

        在中断周期中,由中断隐指令将允许中断触发器置“ 0”。

        为了便于实现多级中断,保存现场信息最有效的方法是采用堆栈

        中断发生时,cpu首先执行入栈指令将程序计数器的内容保护起来.(×)

          进行中断源的识别
        Ø 中断源识别的任务是确定某次中断响应具体该响应的是哪个中断源。
        Ø 中断源识别的方法很多,常用的方法主要有软件查询法、硬件查询法和中断向量法等。

        中断向量法

        °中断向量法是一种通过硬件控制电路形成一个所识别的中断源的中断向量号,并由此中断向量号实现中断响应的方法。
        °在这种方法中,每个中断源对应有一个中断向量号,中断向量号对应一个中断向量,即中断服务程序入口地址,将所有中断向量集中存放在内存中的一片固定区域中。
        °在中断响应周期,首先由一个专门的中断控制电路进行中断识别,并形成一个对应该中断源的中断向量号;然后将此中断向量号传送给CPU;最后由CPU依据中断向量号生成该中断源的中断向量在内存中的首地址,从这一地址单元中即可取出中断服务程序的入口地址

        在中断系统中,对所有的中断源编码,为其分配一个惟一的代号,称为中断向量号,用于寻找中断服务程序的入口地址。

        中断向量地址是中断服务例行程序入口地址的指示器.

中断服务

        CPU响应中断时最先完成的两个步骤是关闭中断和保存现场信息。

        中断处理时,保存现场之后还要开中断是为了允许响应高级中断请求

        中断处理时,保存现场前要关中断是为了不准再响应新中断,以保存完整的现场

        中断处理时要求保留CPU现场的原因是为了中断完毕返回原程序执行

        在中断服务程序中,保护和恢复现场之前需要关(闭)中断。

        为了保证中断服务程序执行完毕以后,能正确返回到被中断的断点继续执行程序,必须进行现场保存操作。

        屏蔽所有的中断源,即为关中断。(×)

        在中断响应中,保护断点是由中断响应自动完成的(√)

        CPU在响应中断后可以立即响应更高优先级的中断请求。(×)

        中断发生时,CPU首先执行入栈指令将程序计数器的内容保护起来

中断的作用
° 实现 CPU 和多台 I/O 设备并行工作
° 具有处理应急事件的能力
° 进行实时处理
° 实现人机通信
° 实现多道程序运行和分时操作
° 实现应用程序和操作系统(管态程序)的联系
° 实现多机系统中各处理机间的联系
单级中断和多级中断

       °一个机器系统中有多个中断源,但CPU一次只能响应和处理一个中断源的中断请求。当某一时间有两个或两个以上的中断源同时发出中断请求时,中断系统就必须从中选择一个进行响应,选择的依据就是各个中断源的中断优先权

        °如果机器系统的中断源很多,还可以在中断优先权的基础上进一步分级,高一级的任何一个中断源的优先权都比低一级的任何一个中断源的优先权高。

        根据机器系统的中断级数量分为单极中断和多级中断.

        °在单级中断系统中,当几个不同优先权的中断源同时请求中断时,系统按照它们优先权高低先后顺序一一响应。而当CPU正在处理一个中断时,不再响应其它新的中断源的中断请求,即使新的中断源的优先权更高也不予响应,只有一个中断处理完毕后再响应新的中断请求。

        °在多级中断系统中,则允许高优先级的中断源再中断低优先级的中断服务,这称为多重中断或中断嵌套。

        °理论上多重中断可以无限制地嵌套。

        °如果有多个中断同时发生,系统将根据中断优先级响应优先级最高的中断请求,若要调整中断事件的中断处理次序,可以利用中断屏蔽

        在中断服务中,开中断的目的是允许中断嵌套

        中断屏蔽的作用有两个:一个是改变中断处理的优先级别,二是屏蔽一些不允许产生的中断。

C.可屏蔽中断

        中断嵌套\ 多级中断是指CPU在执行某个中断服务程序的过程中允许再响应更高级别的中断请求。

        在单级中断系统中,CPU一旦响应中断,则立即关闭中断允许标志,以防本次中断服务结束前其他中断源产生另一次中断导致干扰。

DMA控制方式

        DMA的全称是Direct Memory Access,即直接存储器访问,这是一种完全由硬件(称为DMA控制器)控制主机与设备间进行数据交换的输入输出传送控制方式,它通过在主存与设备间建立一条直接通道的方法,来进一步提高I/O数据传输效率。

        

        °为实现DMA传送,机器系统专门设置了一个主设备——DMA控制器,由DMA控制器代替CPU控制完成存储器与外围设备间的数据交换,DMA控制器可以像CPU一样,通过总线向存储器和外围设备给出地址和控制信号,实现对这些设备的访问和控制。

        状态端口和控制端口可以合用同一寄存器(√)

        DMA方式是在主存与外围设备之间建立直接的数据通路。

        在采用DMA方式高速数据传输数据时,数据传送是在DMA控制器本身发出的控制信号的控制下完成的

        中断I/O方式适用于所有外部设备,DMA方式仅适用于快速外部设备(×)

下列关于中断IO 方式和 DMA 方式比较的叙述中, 错误__牛客网

        中断I/O方式下数据传送通过软件完成,DMA方式下数据传送由硬件完成(√)

        中断响应发生在一条指令执行结束后,DMA响应发生在一个总线事务完成后(√)

        在菊花链方式下,设备优先级的高低由该设备在链中所处的位置决定.

D.

        DMA是主存与外设之间交换数据的方式,它也可用于主存与主存之间的数据交换。(×)

        通道是一个特殊功能的(微)处理器,它有自己的指令和程序专门负责数据输入输出的传送控制,CPU只负责数据处理的功能。

        在DMA周期内,CPU不能执行程序(×)DMA周期内CPU仍然可以执行程序。

        DMA传送方式时,DMA控制器每传送一个数据就窃取—个指令周期。(×)    存储

某磁盘的转速为10000 转/分,平均寻道时间是6ms,磁盘传输速率为20MB/s,磁盘控制器延迟为0.2ms,现读取一个4KB的扇区,请计算填写:
磁盘旋转一转的时间为______6______ms(毫秒)。
找到扇区的平均时间为磁盘旋转一转的时间除以2等于______3________ms(毫秒)
根据数据传输率为20MB/s,计算在这样的传输率下传输(读取)4KB数据的时间为_____0.2__________ms(毫秒)。注意此题中1M=10的6次方,1K=10的3次方。
读取一个扇区的平均时间=平均寻道时间+找到扇区的平均旋转时间+磁盘控制器延迟时间+4KB读取时间,那么本题读取一个4KB扇区的时间为____9.4_________ms(毫秒)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值