摘要:软考软件评测师属于全国计算机技术与软件专业技术资格考试中的一个中级考试。距离2016下半年考试还有两个多月时间,大家已经开始备考了吗?希赛小编为大家整理了软件评测师教程中几个重要的知识点精讲,希望对大家有所帮助。
软考软件评测师属于全国计算机技术与软件专业技术资格考试中的一个中级考试。距离2016下半年考试还有两个多月时间,大家已经开始备考了吗?希赛小编为大家整理了软件评测师教程中几个重要的知识点精讲,希望对大家有所帮助。
1.程序查询方式
这是最简单的方式,也是简单系统(外设种类和数目有限、数据传输速度较低的系统)中常用的方式。这种方式使中央处理器定时查询外设的状态,如果发现某个外设就绪,就开始和该外设进行输入/输出操作和处理,如图1-5所示。
图1-5程序查询和中断方式
当存在多个外设时,中央处理器有串行和并行两种查询方式。串行查询是每次查询一个外设;并行则是将多个外设的状态位集中成一个专用端口,这样中央处理器一次查询即可得到多个外设的状态。
程序查询方式的缺点:当输入/输出控制器和外设交换数据时,中央处理器必须等待。这种等待对于许多系统而言是无法容忍的。
2.中断方式
使用中断方式,可以克服查询方式低效的问题。
当中央处理器执行到输入/输出请求指令时,向输入/输出控制器发出相应指令后,中央处理器并不等待,而是继续执行其他操作。此时,输入/输出控制器负责和外设进行通信,当数据从其数据寄存器写到外设后或者外设的数据写入其数据寄存器后,输入/输出控制器向中央处理器发出中断请求,中央处理器响应中断,并进行相应的处理。注意,由于输入/输出控制器数据寄存器大小的限制,一次输入/输出请求往往要经过多次的中断过程才能够完成。由于中央处理器无须等待输入/输出控制器和外设的数据交换,因而提高了整个系统的效率。中断方式已经得到了普遍的应用。
1)中断的基本概念
中断并不只用于输入/输出系统中,中断系统是计算机的基本结构。中断系统的出现,是现代计算机功能强大的标志。顾名思义,中断就是打断中央处理器正在执行的工作,让中央处理器去处理其他更加重要或者更为紧急的任务。发起中断的事务称为中断源,中断源包括I/O设备、实时时钟、故障源、软件中断等。中断系统使得中央处理器摆脱了只能按照指令顺序执行的束缚,让计算在并行性、分时操作、故障处理等方面更加强大。
按照中断源来区分,中断可以分为内部中断和外部中断。内部中断是中央处理器内部产生的中断,在个人计算机中,内部中断又分为溢出中断、除法错中断、断点中断、软件中断及单步中断,其中可以使用软件中断实现操作系统功能调用和BIOS(Basic Input Output System,基本输入/输出系统)调用,也可以使用单步中断实现程序的调试。与之相对应的是外部中断,中断源来自于中央处理器之外。而外部中断按照中央处理器的响应可以分为可屏蔽中断和非屏蔽中断。非屏蔽中断是中央处理器一定要响应的中断,通常是计算机发生了紧急情况,如掉电等。可屏蔽中断大多数是外设和时钟中断,在计算机处理一些不应该打断的任务时,可以通过屏蔽位来禁止响应这些中断。
2)中断处理过程
中央处理器收到中断请求后,如果是当前允许的中断,那么要停止正在执行的代码,并把内部寄存器入栈,这个过程不能被再次打断,所以在保护现场的开始要先关中断,保护完后再开中断。这个过程应该尽量短,以避免错过了其他中断。这个过程消耗的时间称为中断响应时间。然后开始执行中断处理程序,中断处理程序常常比较简单,通常是设置一些标志位,做一些简单的数据处理,而让其他更耗时的处理在非中断程序中完成。中断处理程序完成后,需要将刚才保存的现场恢复,把入栈的寄存器出栈,继续执行被中断的程序。整个过程消耗的时间称为中断处理时间,当然对于这个时间,不同的中断、不同的应用差别比较大,而且也不是一味求短,实际编写时要考虑中断处理的重要程度。现在大多数中央处理器都支持多级中断,即在进行中断处理程序时,还可以响应其他中断,形成中断嵌套。
3)中断的判断
当有多个中断源时,常用的处理方式有以下几种。
(1)每个中断源使用自己的中断请求信号线和中央处理器相连,这种方式适用于中断源不是很多的情况,而中央处理器的外部中断引脚是有限的。
(2)统一的中断请求:由中央处理器使用专门程序依次判断是哪个中断源的请求,通过查询的次序,可以实现中断的优先级控制。
(3)硬件查询法:有一条中断确认信号链和输入/输出设备相连,某个外设发出中断请求后,中断确认信号开始在各外设间传递,发出中断请求的外设响应这个信号,如图1-6所示。
图1-6中断方式的判断
(4)总线仲裁:在这种方式中,外设必须先得到总线控制权,发出中断请求,最后将设备号通过数据总线发给中央处理器。由总线仲裁机制决定可以发信号的外设。
(5)中断向量表:中断向量表是一张不同中断处理程序入口地址的表格,用这种机制,每个中断源有不同的“中断号”,即中断向量。中央处理器收到中断信号,并根据中断号查中断向量表,以得到该中断处理程序的入口地址。
3.DMA方式
DMA(Direct Memory Access,直接存储器存取)方式可以使得数据从输入/输出模块到主存的传输过程中,无须中央处理器的中转。这个工作转移给了DMA控制器(DMAC)来完成,这种方式可以达到高速的数据传输。
1)DMAC控制器
DMAC也能访问系统总线,能够独立访问主存(这两个特点使得DMAC完成主存和输入/输出设备之间的数据交换),如图1-7所示。
图1-7 DMAC示意图
DMA中断控制示意图如图1-8所示。
图1-8 DMA中断控制
地址寄存器是内存地址,每传递一个数据,将这个寄存器加1,长度寄存器值减1。当长度寄存器为0时,发给中断机构完成信号,通知中央处理器进行后续处理。
当中央处理器执行到输入/输出请求时,向DMA控制器发出相应指令,DMA控制器首先判断外设是否可用。如果可用,填充地址寄存器、长度寄存器等,向中央处理器发出总线请求信号,申请总线的处理权。中央处理器收到总线请求信号,让出总线控制权,然后DMA控制器将数据在外设和内存指定区域之间进行传送。而长度寄存器保存的值随着数据的传送不断减小,当减小到0时,通过中断机构向中央处理器发出中断请求,中央处理器响应中断,对内存中的数据进行后续的处理。
2)DMA传送过程的总线占有方式
在DMA传输过程中,中央处理器停止访问主存,只进行一些与总线无关的内部操作。这种方法常用于高速的输入/输出设备。
这种方式的优点是减少系统总线控制权的交换次数,实现简单;缺点在于这样的结果往往使中央处理器在DMA过程中无所事事。
时间轮转片法:这种方法按照一定时间间隔,将总控制权分别轮换着交给中央处理器和DMA。这样中央处理器不会停止工作,但往往外设的速度低,可能使得DMAC的某些时间空转。就效率而言,仍然不高。
借用周期法:这是时间轮转片法的改进,即当有DMA操作时,DMAC控制总线访问内存,其他时间总线的控制权在中央处理器,它适合于外设速度远低于总线速度的高速主机。这种方式由于要判断DMAC是否需要使用总线,所以实现起来要比前面两者要复杂。
3)DMA方式和中断方式的区别
DMA方式使用到了中断,但是DMA和中断的输入/输出方式是有很大区别的。最根本的区别在于,使用中断方式时,主存和输入/输出控制器之间的数据传送仍然需要用中央处理器操作,需要使用中央处理器的寄存器等资源,如图1-9所示。
图1-9 DMA与中断方式的区别
同时,由于输入/输出控制器的数据寄存器大小有限,所以一个数据传送过程往往需要多次,这样中断发生也就很频繁。由于中断调用过程使用了中央处理器的资源,所以中央处理器必须保护现场,使得在相当程度上增加了处理时间。而在DMA传送过程中,虽然DMA控制器需要暂停中央处理器的执行,以达到控制总线的目的,但是这种暂停是机器周期的中断,而且这个暂停中央处理器不需要保护现场,没有切换任务的操作。当数据传送完成后,才有一个中断,通知中央处理器进行数据传送的后续工作。DMA方式提供了比中断方式更好的并行性,如表1-2所示。
表1-2 DMA方式和中断方式的比较
4.信道方式
比DMA方式更进一步的是信道方式。与DMA方式相比,通常信道方式的控制器是一个有自身指令结构的处理器,有自己的简单指令系统。通过执行程序,它能够有更强的处理能力,可以同时控制多种外设。
希赛软考网,拥有十四年软考培训经验,希赛网一直坚持自主研发,将丰富的软考培训经验有效融入教程研发过程,自成体系的软考在线题库(软考历年真题)、软考培训教材和软考视频教程,多样的培训方式包括在线辅导、面授、和,使考生的学习更具系统性,辅导更具针对性。采用全程督学机制,,软考平均通过率在全国。
软考备考资料免费领取
去领取