免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3709 | 回复: 11
打印 上一主题 下一主题

[中断] 中断优先级的疑问。。。 [复制链接]

论坛徽章:
4
酉鸡
日期:2014-03-21 23:19:50狮子座
日期:2014-08-01 22:11:40酉鸡
日期:2015-01-10 21:31:442015年辞旧岁徽章
日期:2015-03-03 16:54:15
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-03-29 20:44 |只看该作者 |正序浏览
若在isr处理中开中断,此时irr里有多个位置为1,此时处理哪个?

讨论下?谢谢

论坛徽章:
0
12 [报告]
发表于 2014-04-03 19:17 |只看该作者
本帖最后由 anlan_cs 于 2014-04-03 19:17 编辑

论坛徽章:
0
11 [报告]
发表于 2014-04-03 18:35 |只看该作者
ARM9 S3C2440上面有中断优先级寄存器。ARM9 LPC3250里面没有中断优先级寄存器。

论坛徽章:
4
酉鸡
日期:2014-03-21 23:19:50狮子座
日期:2014-08-01 22:11:40酉鸡
日期:2015-01-10 21:31:442015年辞旧岁徽章
日期:2015-03-03 16:54:15
10 [报告]
发表于 2014-04-01 09:48 |只看该作者
回复 5# humjb_1983
    谢谢!等我仔细看看!

   

论坛徽章:
15
射手座
日期:2014-02-26 13:45:082015年迎新春徽章
日期:2015-03-04 09:54:452015年辞旧岁徽章
日期:2015-03-03 16:54:15羊年新春福章
日期:2015-02-26 08:47:552015年亚洲杯之卡塔尔
日期:2015-02-03 08:33:45射手座
日期:2014-12-31 08:36:51水瓶座
日期:2014-06-04 08:33:52天蝎座
日期:2014-05-14 14:30:41天秤座
日期:2014-04-21 08:37:08处女座
日期:2014-04-18 16:57:05戌狗
日期:2014-04-04 12:21:33技术图书徽章
日期:2014-03-25 09:00:29
9 [报告]
发表于 2014-04-01 09:42 |只看该作者
个人理解:硬件优先级需要软件配合来实现,通常CPU提供TPR寄存器来屏蔽低优先级的中断,而如果软件支持优先级,那么就需要利用该寄存器来屏蔽低优先级中断,从而实现“低优先级中断不能打断高优先级中断”的目的,最终实现“中断优先级”。
而x86的linux实现中没有使用TPR寄存器,没有屏蔽低优先级中断,从而没有实现“中断优先级”。

论坛徽章:
4
酉鸡
日期:2014-03-21 23:19:50狮子座
日期:2014-08-01 22:11:40酉鸡
日期:2015-01-10 21:31:442015年辞旧岁徽章
日期:2015-03-03 16:54:15
8 [报告]
发表于 2014-04-01 08:52 |只看该作者
回复 7# 瀚海书香

    是啊,linux内核软件上没有区分优先级,但是如果硬件上(LAPIC/IOAPIC)区分了呢?那样的话,效果还是区分了!

   

论坛徽章:
6
金牛座
日期:2013-10-08 10:19:10技术图书徽章
日期:2013-10-14 16:24:09CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2013-11-24 19:26:19未羊
日期:2014-01-23 15:50:002015年亚洲杯之阿联酋
日期:2015-05-09 14:36:15
7 [报告]
发表于 2014-04-01 08:32 |只看该作者

论坛徽章:
3
双鱼座
日期:2013-09-04 19:47:39天蝎座
日期:2013-12-11 20:30:532015年亚洲杯之澳大利亚
日期:2015-04-20 00:28:02
6 [报告]
发表于 2014-03-31 20:43 |只看该作者
回复 4# chishanmingshen

    这个我也不清楚..
    我在intel文档中有看到, 当有高优先级的中断产生,设置IRR的bit后会比较IRR和当前ISR的最高bit.如果IRR bit高于ISR,就会停止当前的中断处理转而去执行新的ISR的中断服务.
    所以我想是否是因为linux进入了中断上下文之后,禁止了local interrupt,导致这种机制无法实现?正在执行的中断上半部无法被中断,所以才没有中断优先级这种说法。
    个人愚见,欢迎拍砖。。

论坛徽章:
15
射手座
日期:2014-02-26 13:45:082015年迎新春徽章
日期:2015-03-04 09:54:452015年辞旧岁徽章
日期:2015-03-03 16:54:15羊年新春福章
日期:2015-02-26 08:47:552015年亚洲杯之卡塔尔
日期:2015-02-03 08:33:45射手座
日期:2014-12-31 08:36:51水瓶座
日期:2014-06-04 08:33:52天蝎座
日期:2014-05-14 14:30:41天秤座
日期:2014-04-21 08:37:08处女座
日期:2014-04-18 16:57:05戌狗
日期:2014-04-04 12:21:33技术图书徽章
日期:2014-03-25 09:00:29
5 [报告]
发表于 2014-03-31 09:03 |只看该作者
回复 4# chishanmingshen
请参考:
http://bbs.chinaunix.net/thread-2072280-1-1.html


   

论坛徽章:
4
酉鸡
日期:2014-03-21 23:19:50狮子座
日期:2014-08-01 22:11:40酉鸡
日期:2015-01-10 21:31:442015年辞旧岁徽章
日期:2015-03-03 16:54:15
4 [报告]
发表于 2014-03-30 20:29 |只看该作者
本帖最后由 chishanmingshen 于 2014-03-30 20:43 编辑

回复 3# linuxfellow
回复 2# kiongf

谢谢!

我奇怪的是为何都说:linux的硬中断是不区分优先级的?

   
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP