软考高级当中的输入、输出怎么学习

如题所述

输入输出方式
在计算机系统中,有多种输入输出方式,包括程序控制、中断、DMA和通道等。
1.程序控制工作方式
指在程序的控制下进行数据传送,是CPU与外设之间交换信息的最简单形式,包括:
(1)无条件传送方式。传送数据之前不查询外设状态而直接执行输入或输出命令,这种方式下的外设总处于'待命'状态,可根据其固定的或已知的时序,将I/O指令插在程序中,当程序执行到该条指令时,就开始输入或输出数据。这种方式最简单,但是可靠性不高。
(2)条件传送方式。也称为查询传送,CPU通过执行程序不断读取并测试外设状态,若输入设备处于准备好状态或输出设备处于空闲状态,则CPU执行I/O指令与外设交换信息,这要求接口电路中除了有数据端口外,还要有状态端口。它比无条件传送可靠,使用面也广,但这种方式要求CPU不断检测外设状态,占用了CPU大量时间,效率不高。
2.中断工作方式
中断方式可以克服查询方式的低效问题,当CPU执行到I/O请求时,向I/O控制器发出相应指令后,CPU并不等待,而是继续执行其它操作。由于CPU无需等待I/O控制器与外设的数据交换,所以效率得到了提高。
中断是指在CPU执行程序的过程中,由于某一外部或CPU内部事件的发生,使CPU暂时中止正在执行的程序,转去处理这一事件,当该事件处理完毕后又回到原先被中止的程序,接着中止前的状态继续向下执行。
引起中断的事件称为中断源。其中,由CPU内部产生的中断称为内部中断,它包括溢出中断、除法错中断、断点中断、软中断及单步中断;由CPU外部产生的中断称为外部中断,它包括可屏蔽中断和非屏蔽中断。
CPU接到中断请求后,如果是当前允许的中断,那么要停止正在执行的代码,并把内部寄存器入栈,这个过程不能再次被打断,所以要先关中断,入栈完后再开中断。这个过程应该尽量短,以防止错过了其它中断,该过程消耗的时间称为中断响应时间。然后再执行中断处理程序,一般都比较简单,就是设置一些标志位,做简单的数据处理而已,其它更耗时的处理由非中断程序完成。中断处理完成后要恢复现场,把入栈寄存器出栈,继续执行被中断的程序,这个过程消耗的时间称为中断处理时间,该时间大小与中断类型、应用类型有关,也不是一味求短,现在大多数CPU都支持多极中断,在执行中断时还可以响应其它中断,形成中断嵌套。
资料来源于网络若侵权联系删。
温馨提示:答案为网友推荐,仅供参考
相似回答