发布网友 发布时间:2022-04-23 09:59
共4个回答
懂视网 时间:2023-02-12 06:26
以Linux为例,其软中断intn的优先级排列原则是n值越小级别越高。从本质上来讲,中断是一种电信号,当设备有某种事件发生时,它就会产生中断,通过总线把电信号发送给中断控制器。如果中断的线是激活的,中断控制器就把电信号发送给处理器的某个特定引脚。处理器于是立即停止自己正在做的事,跳到中断处理程序的入口点,进行中断处理。
硬中断和软中断的区别:
1、软中断是执行中断指令产生的,而硬中断是由外设引发的。
2、硬中断的中断号是由中断控制器提供的,软中断的中断号由指令直接指出,无需使用中断控制器。
3、硬中断是可屏蔽的,软中断不可屏蔽。
4、硬中断处理程序要确保它能快速地完成任务,这样程序执行时才不会等待较长时间,称为上半部。
5、软中断处理硬中断未完成的工作,是一种推后执行的机制,属于下半部。
硬中断:由与系统相连的外设(比如网卡、硬盘)自动产生的。主要是用来通知操作系统系统外设状态的变化。比如当网卡收到数据包的时候,就会发出一个中断。我们通常所说的中断指的是硬中断(hardirq)。
软中断:为了满足实时系统的要求,中断处理应该是越快越好。linux为了实现这个特点,当中断发生的时候,硬中断处理那些短时间就可以完成的工作,而将那些处理事件比较长的工作,放到中断之后来完成,也就是软中断(softirq)来完成。
热心网友 时间:2023-02-12 03:34
第一题是单选吗?我感觉像多选。
首先我解释一下什么是同步串行通信,什么是异步串行通信,我尽量简短一点,免得你越发糊涂了,你要详细的话我可以补充。
异步通信一次传送一个字符,字符长度和格式是固定的,最前面是0,表示数据的起始,称为起始位,起始位之后是数据位,数据的位长度是固定的,有5位,6位,7位,8位四种。数据位之后是奇偶校验位。奇偶校验位之后是一个1,代表停止,称为停止位。一个字符完了,又是下一个字符的起始位。
也就是说每次发送一个字符,你实际传送的有用的数据位只有7位(或者5位,6位,8位,)。一个字符传完了再传下一个。
同步串行通信下,发送方先发送1到2个特殊字符,称为同步字符,让双方时钟达到同步。双发同步后就可以一次把所有要发送的数据发完。
同步有什么好处呢?
你想在异步情况下,我一次给你一个字符,如果中间的数据位是7位编码方式,那么这个字符至少有10位,最前面是起始位,数据后面有奇偶校验位和停止位,每10位中有7位是有意义的,另外3位是格式所迫,如果我传送一万位,那么有7千位是有意义的,三千位是浪费了。
在同步情况下就不同了,我先发两个字符告诉你,我要给你发数据了,你把时钟调整到和我同步,然后我就开始发数据了,一直把数据发完,如果我发给你一万位,那么有九千九百多位都是有意义的,效率显然更高。
至于选项,我觉得ABC都对,根据上面的解释异步串行通信当然不必同步了,A对
B,每个字符的发送是的。一个字符发完了才发下一个,两个字符,也对
C字符的长度是固定的,传送时间当然也一样了。C也对
D就不对了,波特率是一个技术指标,是指每秒钟所传送的位数。对于同步串行通信这个指标同样适用,而且说一个技术指标决定一个事物本身,这个说法也不合理。
这道题有待斟酌吧
第二题。I/O传送方式有四种。无条件传送,程序查询式传送,中断方式传送以及DMA方式。
无条件传送适用于外设动作时间已知,在CPU与外设进行数据传送时,外设保证已准备好的情况。
开关就是最典型的例子,你看无论什么时候开关肯定处于准备好的情况吧,不像打印机这种设备可能需要准备时间。还有发光二极管啊,继电器啊,步进电机啊,你看他们都不需要准备时间吧
程序查询式传送适用于外设并不总是准备好,而且对传送速率、传送效率要求不高的场合。
中断方式传送是指CPU无需循环查询外设状态,而是外部设备在需要进行数据传送时才中断CPU正在进行的工作,让CPU来为其服务
DMA方式是指外设直接与存储器进行数据交换 ,CPU不再担当数据传输的中介者;
所以第二题选A,这题确凿无疑
第三题
IF是中断标志位。IF=1,允许CPU响应可屏蔽中断(INTR),IF=0,CPU不响应可屏蔽中断
所以第三题选B,确定
第四题串口1的范围是3F8到3FF,串口2的范围是2F0到2FF。
所以第四题选B,确定
第五题
OUT DX AL
DX中存放的是设备寄存器的地址,比如打印机寄存器地址,这条指令的意思是把AL的内容送到打印机数据寄存器中
所以数据总线上出现的是AL
第五题选A
第六题
矢量中断优先级的设置采用中断优先级控制器,中断优先级管理电路判别出最高优先级中断请求,将其转换为3位码,送到中断类型寄存器的低3位以及当前中断服务寄存器中。无中断向量号无关
选B
第七题
中断屏蔽寄存器IMR,它是一个8位寄存器,用来存放各级中断请求的平屏蔽信息,当IMR中某一位位0是,允许IRR中相应位的中断请求进入中断优先判别器,若某位为1则该中断响应被屏蔽
选A
第八题选D,感觉没什么好说的
第九题 选D
无条件传送应该硬件按最简单
在这种方式下,CPU不用查询外设的工作状态,与外设速度的匹配通过在软件上延时完成,不需要专门硬件,在程序中直接用I/O指令,完成与外设的数据传送
,所以在软硬件上都很简单
而DMA方式虽然不经过CPU但是需要一块专门的电路来控制总线,控制信号,显然它的硬件反而应该是最多的
另外另个应该啊介于这两个中间,毕竟它们比无条件传送多出了几个步骤,如查询外设工作状态,等待,速度匹配等,这些都要硬件来实现
第十题
优先级从高到低是内中断,不可屏蔽中断NMI,可屏蔽中断INTR,单步中断
指令中断是内中断的一种
所以选D,肯定
第十一题
说实话这题我在数字电路里学过,在微机里倒是没学
A/D转换电路主要有两种,一种是逐次*近型,一种是双积分型。逐次比进行就是拿数字量不停的和你读入模拟量(也就是你要转换的量)比较,一次一次靠近,比如你要把10.4转换为数字信号,我先拿8跟它比,小了,再拿16跟它比,大了,再拿10跟它比,小了,再拿11跟他比,大了,再拿10.5跟它比···因为你每次读入的数字量都在*近10.4,所以肯定会变嘛
所以选C,肯定
第十二题
波特率是每秒传送的位数,所以波特率越高传送越快
选B,肯定
第十三题
中断向量存放的是中断服务程序的入口地址。系统识别一个中断请求后获得它的中断类型号N,然后到中断向量表中寻找4N到(4N+3)的字节,这四个字节存放的就是中断服务程序的入口地址,找到这个入口地址后就可以找到中断服务程序
所以选B,确定
第十四题
全嵌套方式是IR0到IR7优先级逐步降低
选A
第十五题
程序查询方式传送软件实现起来很简单
速度最快的是DMA,可以应对突发事件的是中断,CPU不介入的也是DMA
第十六题
查询方式下CPU会不断的查询外设的状态从而实现与外设的速度匹配,所以它占用CPU的时间是最长的,CPU效率也是最低的
所以选A
第十七题
应该是ISR,ISR是中断服务寄存器,某位为1表示对应的IR中断正在被服务
所以选B
第十八题
可屏蔽中断,这个没什么好说的
第十九题
收到RESET信号后,系统会置flags寄存器中的值全部为00H,所以IF=0,所以可屏蔽中断被屏蔽
第二十题
第二十题和第六题是一样的
优先级与中断号无关
选C
补充题
第一题
ZF,本次运算结果为0则ZF=1,否则为0,所以应该为1 啊
第二题
8253的初值为8位或16位数,如果用2进制,2的16次方就是65536
选A
唉,终于写完了,写了好久啊,都快一点了。因该说除了第一题,我想基本应该是对的吧,如果有什么不对的地方或者是有异议,跟我联系,我也看看。这几天一直比较忙,天天在实验室,我昨天晚上12点过了才看到你的信息,不好意思
热心网友 时间:2023-02-12 04:52
1.A
同步的优点:传输效率高,速度快
缺点:需要发送和接收同步,两端硬件复杂
异步优点:不需要同步
缺点:传送一个字符需要太多冗余位,传送效率不高
2.我觉得是中断方式,直接传送肯定不行。查询方式要不断查询端口,CPU效率太低,DMA方式又要额外硬件。
3.C
NMI是非屏蔽中断,IF对它无效
4.这个不清楚。。。
PC/XT微机中串口1的I/O地址范围是( )
A. 3F0H-3F7H
B. 3F8H-3FF
C. 2F0H-2FFH
D. 2F8H-2FF
满分:4 分
5.D
IO地址使用的是内存统一编址,所以是16位地址信息
6.B
7.B
是中断屏蔽位,一共管理8个中段,=1,该位的中断即被屏蔽
8.D
9.D
无条件传送是最简单的传送方式
10.D
86规定,优先权次序是:内部,NMI。INTR,最低的是单步
11.A
12.C
波特率是MODEN调制后在线路里面传送的速率,是单位时间内线路电平变化次数;串行传速率是每秒传送的位数,单位是bps
13.B
14.IR0
15.C
传送速度是不是查询方式无关
CPU需要不断查询端口看外设是否准备好
多个事件查询方式用的是轮询方式,对突发事件做响应是中断方式
16.A
查询要不断看端口状态,此时CPU是不能做其他事
17.B
EOI=1时,复位现行中断的ISR相应位,以便8259A为其他中断服务
18.C
19.。。。复位时CPU不工作,中断都不能响应的
微机系统复位时,CPU不能响应( )中断
A. 指令中断
B. 可屏蔽中断
C. 非屏蔽中断
D. 断点中断
20.D
INT n引起中断由n指定,你想要怎么就指定n
你再看看吧,也许有答错的
热心网友 时间:2023-02-12 06:26
顶!楼上的,可怜我没多少积分可以悬赏,有空看下我的提问帮我解决一下哈。
我看了你的回答觉得基本都对,就是对最后一题有异议请楼主关注
采用二进制计数时,其计数器的最大计数初值应设置为:0000H
这道题我肯定D才是正确答案,其他的基本同意楼上的观点,学习了不少呀。