中断和查询

合集下载

《计算机控制技术》习题答案

《计算机控制技术》习题答案

《计算机控制技术》(机械工业出版社范立南、李雪飞)习题参考答案第1章1.填空题(1) 闭环控制系统,开环控制系统(2) 实时数据采集,实时决策控制,实时控制输出(3) 计算机,生产过程(4) 模拟量输入通道,数字量输入通道,模拟量输出通道,数字量输出通道(5) 系统软件,应用软件2.选择题(1) A (2) B (3) C (4) A (5) B3.简答题(1) 将闭环自动控制系统中的模拟控制器和和比较环节用计算机来代替,再加上A/D转换器、D/A转换器等器件,就构成了计算机控制系统,其基本框图如图所示。

计算机控制系统由计算机(通常称为工业控制机)和生产过程两大部分组成。

工业控制机是指按生产过程控制的特点和要求而设计的计算机,它包括硬件和软件两部分。

生产过程包括被控对象、测量变送、执行机构、电气开关等装置。

(2)操作指导控制系统:其优点是控制过程简单,且安全可靠。

适用于控制规律不是很清楚的系统,或用于试验新的数学模型和调试新的控制程序等。

其缺点是它是开环控制结构,需要人工操作,速度不能太快,控制的回路也不能太多,不能充分发挥计算机的作用。

直接数字控制系统:设计灵活方便,经济可靠。

能有效地实现较复杂的控制,如串级控制、自适应控制等。

监督计算机控制系统:它不仅可以进行给定值的控制,还可以进行顺序控制、最优控制、自适应控制等。

其中SCC+模拟调节器的控制系统,特别适合老企业的技术改造,既用上了原有的模拟调节器,又可以实现最佳给定值控制。

SCC+DDC的控制系统,更接近于生产实际,系统简单,使用灵活,但是其缺点是数学模型的建立比较困难。

集散控制系统:又称分布式控制系统,具有通用性强、系统组态灵活,控制功能完善、数据处理方便,显示操作集中,调试方便,运行安全可靠,提高生产自动化水平和管理水平,提高劳动生产率等优点。

缺点是系统比较复杂。

计算机集成制造系统:既能完成直接面向过程的控制和优化任务,还能完成整个生产过程的综合管理、指挥调度和经营管理的任务。

5.5中断查询

5.5中断查询
2. 单重中断和多重中断
5.5
计算机在处理中断的过程中,有可能出现新的中断请求,此时如果CPU暂停现 行的中断服务程序,转去处理新的中断请求,这种现象称为“中断嵌套”或 “多重中断”。
单重 中断 不允许中断 现行的 中断服务程序 多重 中断 允许级别更高 的中断源 中断 现行的 中断服务程序
3. 单重中断和多重中断的服务程序流程
启动 打印机
传送 数据 发 中 断 请 求 接收 数据 打印
发 中 断 请 求
准备
打印机
打印
空闲
接收 数据
中断的其它应用
• 异常处理
– 如:掉电处理、电路故障等
• 实时控制
– 如:CPU响应外来信号的请求。
• 总之,为了提高计算机的整机效率,为了 应付突发事件,为了实时控制的需要,在 计算机技术的发展过程中产生的“中断” 技术
Q
D
受设备本身控制
D 完成触发器
2. 排队器
中断优先级:
5.5
当多个中断源同时向CPU提出请求时,CPU只能按中断源的不同性质对 其排队,给予不同等级的优先权,并按优先等级的高低予以响应。 就I/O中断而言,速度越高的I/O设备,优先级越高,因为若CPU不及时响 应高速I/O的请求,其信息可能会立即丢失
2. 排队器
排队 软件 详见第八章
INTP1 1 & INTR1 INTP1´ 1 & INTP2´ 1 & 1 & INTR2 INTP3´ 1 & INTP2 1 & INTR3 INTP4´ 1 INTP3 1
5.5
硬件 在 CPU 内、在接口电路中(链式排队器)
INTP4
& INTR4

第5章 MCU与外设之间数据传送方式

第5章 MCU与外设之间数据传送方式

MCU与外设之间的数据传送方式
主机与外设之间数据传送的控制方式有以下四种:直接控制方式、查询方式、中断方式和直接存储器存取(DMA,Direct Memory Access)。

1.直接控制方式
直接控制方式适用于总是处于准备好状态的简单外设,例如:开关、发光器件(如发光二极管、7段数码管、灯泡等)、继电器、步进电机。

优点:软件及接口硬件简单。

缺点:只适用于简单外设,适应范围较窄。

2.查询方式
查询方式适用于外设并不总是准备好,而且对传送速率、传送效率要求不高的场合。

CPU在与外设交换数据前必须询问外设状态——“准备好了没有?”
查询方式对外设的要求:应提供设备状态信息;对接口的要求:需要提供状态端口。

优点:软件比较简单。

缺点:CPU效率低,数据传送的实时性差,速度较慢。

3.中断方式
中断方式下,CPU无需循环查询外设状态,而是外部设备在需要进行数据传送时才中断CPU正在进行的工作,让CPU来为其服务。

即CPU在没有外设请求时可以去做更重要的事情,有请求时才去传输数据,从而大大提高了CPU的利用率。

优点:CPU效率高,实时性好,速度快。

缺点:程序编制较为复杂。

4.DMA传输
DMA传输一般用于外设和内存之间直接传送,不经过CPU,即外设直接与存储器进行数据交换,CPU不再担当数据传输的中介者;总线由DMA控制器(DMAC)进行控制(CPU 要放弃总线控制权),内存/外设的地址和读写控制信号均由DMAC提供。

优点:数据传输由DMA硬件来控制,数据直接在内存和外设之间交换,可以达到很高的传输速率(可达几MB/秒)。

中断和轮询到底区别在哪?

中断和轮询到底区别在哪?

中断和轮询到底区别在哪?
CPU要和外设进⾏通信,可以采⽤轮询和中断两种⽅式。

因为轮询⽅式需要CPU轮询外设,查询外设是否发⽣中断,效率不⾼显⽽易见。

于是增加了如下图的中断系统来减轻CPU负担,但是这样做效率就⾼了吗?本质上,采⽤中断系统后,CPU仍然需要每隔⼀⼩段时间去查询中断控制寄存器TCON的各位状态,以判断是否有外设中断发⽣,否则CPU仍旧⽆法知道外设的当前状态。

如上所述,中断和轮询,好像⼜没啥区别,CPU仍旧摆脱不了查询的命运。

但是你知道让CPU直接和各个外设逐⼀沟通,和让CPU只与中断控制系统机构沟通,效率是完全不⼀样的。

为了证明我的推断,我们假设,CPU外接20个不同的设备,这20个外设中在某⼀刻有两个外设同时中断,正好这个时候CPU来查看外设的状态,如果是轮询⽅式,CPU需要⼀⼀遍历20种不同的外设控制器,才能判断哪些外设刚才申请过中断,哪些外设没有申请中断。

如果采⽤中断⽅式处理呢?CPU只需查询⼀下中断标志位,处理最⾼优先级的那个中断,其他的事情全交给中断系统去处理,效率提⾼了20倍!
从中,我们也可以发现⼀个现象,不论硬件设计如何巧妙,软件产品如何复杂,在设计原则上仍然是在不断的做加法。

图1. 89C51单⽚机中断系统的硬件框图
备注: 从上图中,我们看到89C51只有五个中断源,外接的设备⽐较少。

现代CPU对中断系统进⾏了扩展,中断系统的中断寄存器也更加丰富了。

单片机原理及应用A-题库

单片机原理及应用A-题库

单片机原理及应用A-题库1、单片机就是把(CPU)、( 输入输出)、和( 存储器 )等部件都集成在一个电路芯片上,并具备一套功能完善的( 指令系统 ),有的型号同时还具备( AD )和( DA )等功能部件,其简称为( 微处理器 )或(微控制器)。

2、当扩展外部存储器或I/O口时,P2口用作(地址线的高8位)。

3、MCS-51单片机内部RAM区有(4)个工作寄存器区。

4、MCS-51单片机内部RAM区有128个位地址5、若不使用89C51片内的程序存储器,引脚()需要接地。

6、当MCS-51引脚(ALE)信号有效时,表示从P0口稳定地送出了低8位地址.7、在单片机的RESET端出现(2)个机器周期以上的高电平时,便可以可靠复位8、MCS-51系列单片机有:(外部中断0), (外部中断1), (定时/计数器T0溢出中断),(定时/计数器T1溢出中断), (串行口)等5个中断请求源。

9、C51中“!”运算符的作用是(取反)10、所谓的单片机,就是将CPU、存储器、定时计数器、中断功能以及I/O设备等主要功能部件都集成在一块超大规模集成电路的微型计算机。

(正确)11、8051单片机,程序存储器数和数据存储器扩展的最大范围都是一样的。

(正确)12、8位二进制数构成一个字节,一个字节所能表达的无符号数的范围是0-255。

(正确)13、8051中的工作寄存器就是内部RAM中的一部份。

(正确)14、使用89C51且 =0时,可外扩64KB的程序存储器。

(错误)15、因为MCS-51 可上电复位,因此,MCS-51系统也可以不需要复位电路。

(错误)16、一个函数利用return可同时返回多个值。

(错误)17、89C51每个中断源相应地在芯片上都有其中断请求输入引脚。

(错误)18、中断初始化时,对中断控制器的状态设置,只可使用位操作指令,而不能使用字节操作指令。

(错误)19、89C51单片机五个中断源中优先级是高的是外部中断0,优先级是低的是串行口中断。

CPU中断与查询方法的区别

CPU中断与查询方法的区别

中断与查询的区别解释一、中断方式,是事件触发的,换言之只要有事件产生都会进入中断,并且取得最优运行,因此响应更快,及时。

查询方式,就是在主函数里面不停循环,查询端口状态,明显其弊端在于响应速度,在处理事件多,处理流程复杂,函数嵌套执行的情况下,由于处理不过来容易丢失事件。

举个例子,在电话用户接入系统里面,一个单片机管理1个电话端口的摘挂机,执行周期要求8ms,用查询的方式足够了,但是当电话增加到16个,用查询方式,效果就差了,曾出现过电话响起的时(12个电话齐呼),拿起话筒,电话还在振铃,明显处理不过来。

这个时候,有两个办法,一个采用中断方式,另一个采用更高效的CPU,明显前者只需要修改软件,后者需要增加硬件成本,还延长开发时间。

解释二、把CPU比作人,定时器比作闹钟的话,中断就相当于是人设定的时间到了闹钟自己响起的过程,此时人放下手中的事去做另一件事,而查询就是人发现自己有充足的计划支配权,看一下钟,确定是否到了做计划上的某件事的最佳时间。

总而言之,中断时CPU是被动的用于处理计划外的紧急情况而具有电路层面上的优先级,查询时CPU是主动的用于处理计划内的普通情况仅在软件上自己设定优先级。

(这里的计划外应指不可预测事件发生,计划内应指可预测事件发生,有些事我们不知道什么时候会发生但知道该怎么应对所以以中断触发发出应对措施,计划内的可预测事件其实就是计算编程时的选择执行过程。

)解释三、UART(Universal Asynchronous Receiver )是通用异步收发接口,在很多芯片中都有应用。

一般UART的收与发共用一个数据寄存器(8bit),通过相应的状态寄存器来判断UART的工作情况。

接收可以有两种方式:一种是查询,另一种是中断。

通常使用中断方式。

接收查询方式是通过CPU不停读取UART的状态寄存器,当有数据到来时,读取数据,此方法占用太多的CPU时间,很少使用,在CPU只做数据转发时可以考虑使用。

单片机原理与接口技术复习题1

单片机原理与接口技术复习题1

单片机原理与接口技术复习题复习一选择题1. 有如下程序段:MOV R0,#30H ;(R0)=30HSETB C ; CY=1CLR A ; (A)=00HADDC A,#00H ;(A)= 01HMOV ﹫R0,A ;(A)-> 30H (30H)=01H执行结果是( )。

A. (30H )=0 0HB. (30H )=0 1HC. (00H )=0 0HD. (00H )=0 1H2. 在CPU 内部,反映程序运行状态或运算结果特征的寄存器是( )。

CY AC OV PA. PCB. PSWC. AD. SP3. 各中断源发出的中断请求信号,都会标记在( )寄存器。

A. TMOD/SCONB. TCON/PCONC. IE/TCOND. TCON/SCON6. 执行返回指令,退出中断服务子程序,则返回地址来自( )。

A. ROMB. 程序计数器C. 堆栈区D. CPU寄存器7. 中断查询,查询的是( ).A. 中断请求信号B. 中断标志C. 外中断方式控制位D. 中断允许控制位10. 外部中断1的中断入口地址为( )。

A. 0003HB. 000BHC. 0013HD. 001BH11. 下列指令中正确的是( )。

A. MOV ,AB. JBC TF0 ,L1C. MOVX B ,@DPTRD. MOV A ,@R315. 执行中断返回指令,要从堆栈弹出断点地址,以便去执行被中断了的主程序,从堆栈弹出的断点地址送( )。

A. DPTRB. PCC. CYD. A17. 在定时器操作中,选择其工作方式的寄存器是( )。

A. TMODB. TCONC. IED. SCON18. 当标志寄存器P S W 的R S 0 和R S 1 分别为1 和0 时,系统选用的工作寄存器组为( )。

01A. 组0B. 组1C. 组2D. 组319. 8051 单片机中,唯一一个用户可使用的16 位寄存器是( )。

中断查询的概念

中断查询的概念

中断查询的概念中断查询是计算机中一种重要的处理机制。

它是指在一个程序执行过程中,由于某些特殊的事件或条件发生,系统会临时中断当前程序的执行,去执行处理这个事件或条件的相关程序,然后再返回到被中断的程序继续执行。

中断查询的概念是中断式输入输出与查询方式输入输出两种输入输出方式中的一种。

中断查询是指在进行输入输出操作时,由于设备的响应时间不确定,无法确定需要等待的时间长度,而采用反复查询设备状态来确定设备是否就绪以及输出是否完成等。

当设备就绪或输出完成时,系统会发出中断请求,CPU在中断发生时会暂停当前的执行任务,转而执行中断服务程序,待中断服务程序执行完毕后,CPU再返回到原来的任务继续执行。

这种方式能够提高系统并发能力,避免了CPU的空闲等待,提高了系统的效率。

中断查询的过程一般包含以下几个步骤:1. 首先,程序向设备发送查询请求,询问设备的状态是否为就绪状态。

2. 然后,程序暂停当前任务,等待设备的响应。

在这个等待的过程中,CPU可以执行其他的任务或者进入休眠状态。

3. 当设备响应就绪时,会产生一个中断请求,通知CPU中断服务程序。

4. CPU接收到中断请求后,保存当前任务状态,并且跳转到中断服务程序的入口地址。

5. 中断服务程序会执行一系列的操作,包括处理设备输入输出、保存现场、加载中断服务程序等。

6. 中断服务程序执行完毕后,CPU会返回到原来中断发生的地方继续执行当前任务,并且恢复之前保存的现场。

中断查询的优点是可以提高系统的并发能力,减少CPU的空闲等待时间。

在查询设备状态时,CPU可以进行其他任务的执行或者休眠等待,而不需要一直等待设备响应。

这样可以提高整个系统的吞吐率和响应速度,提高系统的效率。

另外,中断查询方式相对简单,不需要额外的硬件支持,适用于各种不同的系统结构和硬件环境。

然而,中断查询也存在一些缺点。

首先,中断查询需要CPU不断地查询设备的就绪状态,这样会占用一定的CPU时间和资源。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中断方式和查询方式,也叫轮询方式,有什么区别,就要知道什么是中断方式,什么是轮询方式.
中断的汉语解释是半中间发生阻隔、停顿或故障而断开。

那么,在计算机系统中,我们为什么需要“阻隔、停顿和断开”呢?
举个日常生活中的例子,比如说我正在厨房用煤气烧一壶水,这样就只能守在厨房里,苦苦等着水开——如果水溢出来浇灭了煤气,有可能就要发生一场灾难了。

等啊等啊,外边突然传来了惊奇的叫声“怎么不关水龙头?”于是我惭愧的发现,刚才接水之后只顾着抱怨这份无聊的差事,居然忘了这事,于是慌慌张张的冲向水管,三下两下关了龙头,声音又传到耳边,“怎么干什么都是这么马虎?”。

伸伸舌头,这件小事就这么过去了,我落寞的眼神又落在了水壶上。

门外忽然又传来了铿锵有力的歌声,我最喜欢的古装剧要开演了,真想夺门而出,然而,听着水壶发出“咕嘟咕嘟”的声音,我清楚:除非等到水开,否则没有我享受人生的时候。

这个场景跟中断有什么关系呢?
如果说我专心致志等待水开是一个过程的话,那么叫声、电视里传出的音乐不都让这个过程“半中间发生阻隔、停顿或故障而断开”了吗?这不就是活生生的“中断”吗?
在这个场景中,我是唯一具有处理能力的主体,不管是烧水、关水龙头还是看电视,同一个时间点上我只能干一件事情。

但是,在我专心致志干一件事情时,总有许多或紧迫或不紧迫的事情突然出现在面前,都需要去关注,有些还需要我停下手头的工作马上去处理。

只有在处理完之后,方能回头完成先前的任务,“把一壶水彻底烧开!”
中断机制不仅赋予了我处理意外情况的能力,如果我能充分发挥这个机制的妙用,就可以“同时”完成多个任务了。

回到烧水的例子,实际上,无论我在不在厨房,煤气灶总是会把水烧开的,我要做的,只不过是及时关掉煤气灶而已,为了这么一个一秒钟就能完成的动作,却让我死死地守候在厨房里,在10分钟的时间里不停地看壶嘴是不是冒蒸气,怎么说都不划算。

我决定安下心来看电视。

当然,在有生之年,我都不希望让厨房成为火海,于是我上了闹钟,10分钟以后它会发出“尖叫”,提醒我炉子上的水烧开了,那时我再去关煤气也完全来得及。

我用一个中断信号——闹铃——换来了10分钟的欢乐时光,心里不禁由衷地感叹:中断机制真是个好东西。

正是由于中断机制,我才能有条不紊地“同时”完成多个任务,中断机制实质上帮助我提高了并发“处理”能力。

它也能给计算机系统带来同样的好处:如果在键盘按下的时候会得到一个中断信号,CPU就不必死守着等待键盘输入了;如果硬盘读写完成后发送一个中断信号,CPU就可以腾出手来集中精力“服务大众”了——无论是人类敲打键盘的指尖还是来回读写介质的磁头,跟CPU的处理速度相比,都太慢了。

没有中断机制,就像我们苦守厨房一样,计算机谈不上有什么并行处理能力。

跟人相似,CPU也一样要面对纷繁芜杂的局面——现实中的意外是无处不在的——有可能是用户等得不耐烦,猛敲键盘;有可能是运算中碰到了0除数;还有可能网卡突然接收到
了一个新的数据包。

这些都需要CPU具体情况具体分析,要么马上处理,要么暂缓响应,要么置之不理。

无论如何应对,都需要CPU暂停“手头”的工作,拿出一种对策,只有在响应之后,方能回头完成先前的使命,“把一壶水彻底烧开!”
然后说下轮询模式
刚才中断已经解释了,硬件跟 CPU 通信的大致原理,
但是如果中断信号过于频繁,而且中断后处理的数据过于小.比如一个网卡遭到小IP 包的攻击,每秒10万个包,都是64字节的小包,
这个时候再强的 CPU 也会累死的,
因为 CPU 的发展一直在提升处理数据的能力上,中断机制从来没有改变过.
所以早期的时候,UNIX 系统提出了软中断的概念,类似与硬件的信号缓存,
在内存为每一个使用中断的硬件都开辟一个缓存,
当需要中断处理的时候,信号是被放在缓存里,而不是直接交给CPU ,当缓存差不多快满的时候,让CPU 一次来处理完,而不用一个中断处理一次,大大减少了 CPU 的压力.
所以 FREEBSD 4.11的时候,有人做过攻击试验.100M 流量的攻击包,在 BSD 系统没开轮询的时候,CPU 占用 85%,开了轮询后,CPU 占用 3%--5%。

相关文档
最新文档