CPU是怎么检测到外定时器中断检测的

外部中断处理和内部中断处理的差异性 - 其他技术 - 电子工程世界网
外部中断处理和内部中断处理的差异性
17:48:12来源: 21ic
&在现今SOC设计中,当周边装置(Peripheral IP)想要和中央处理器(CPU)沟通时,最常使用的机制是透过中断(Interrupt)。周边装置可触发中断给中央处理器,当中央处理器接收到中断后,则可判断是由那个周边装置触发些中断,接着处理相对应的中断处理程序(ISR,Interrupt Service Routine),藉此达到彼此沟通的目的。
而AndesCore(TM)在中断处理方面,共支持两种模式:内部中断处理器(IVIC Mode,Internal Vector Interrupt Controller)和外部中断处理器(EVIC Mode,External Vector Interrupt Controller)。其中最大的差异性,即是中断控制器所存在的位置。在内部中断处理模式下,AndesCore(TM)本身即设置了一个中断控制器存在于CPU内部,经由此中断控制器来处理相关中断的工作。而在外部中断处理模式下,用户必须在CPU外部实做一个中断控制器来处理相关中断工作。
除了上述的差异性之外,在硬件方面的整合和软件方面的应用,也存在些许差异性。本文之目的除了介绍这些差异性外,也提供一个简单的设计平台供使用者参考。期望能对使用者有所帮助,也希望读者不吝指教提供您宝贵的意见。
1. 中断处理模式介绍
AndesCore(TM)共支持两种中断处理模式:内部中断处理器(IVIC Mode,Internal Vector Interrupt Controller)和外部中断处理器(EVIC Mode,External Vector Interrupt Controller)。以下的介绍将架构于AndesCore(TM) N968A-S这颗中央处理器。带领使用者循序渐进地,了解这两种中断处理模式的差异。
1.1 Definition
AndesCore(TM) N968A-S支持两种中断处理模式,首先,我们先介绍关于这两种模式的定义。
1.1.1 IVIC Mode
AndesCore(TM) N968A-S内部设计了一个中断控制器,所支持的中断来源数目可透过配置来决定。目前最大可支持16个中断来源,但可扩充至32个。请参考图表 1。若使用这存在于CPU内部的中断控制器来处理相关中断工作时,则为IVIC模式。假若SOC的中断来源大于32个时,使用者还是可以使用IVIC模式,但是需要将多个中断来源合为一个中断讯号线(ex: OR function),且中断处理程序(ISR)在该中断讯号线触发时,需要去判断是由那个中断来源所触发。在N968A-S的IVIC mode之下,每个中断来源可以选定值为0~3的优先权 (priority). 优先权高的中断来源可以打断优先权低的中断来源。
1.1.2 EVIC Mode
假若IVIC模式不符合用户所设计的系统,用户就需要选用EVIC模式。在此模式下,用户需要额外设计一个中断控制器,用来处理周边装置和中央处理器之间相关中断的工作,作为两者间沟通的桥梁。
图表 1. AndesCore(TM) N968A-S 所支持中断来源数目
1.1.1 Interruption Vector Entry Points
为了加速中断处理的时间,AndesCore(TM) N968A-S内部实做了一个Interruption Vector Table。将不同的中断事件分别对应到不同的Vector Entry,当中断发生时,CPU即可判断中断是由那个周边装置所触发,并跳到该中断所对应的Vector Entry,进而执行相关的中断处理程序(ISR)。
在前面章节有介绍AndesCore(TM) N968A-S支持两种不同的中断处理模式。因此,在不同的中断处理模式下,也对应了不同的Interruption Vector Table。
1.1.1.1 Interruption Vector Table of IVIC Mode
在IVIC模式下,所支持的中断来源可由用户来配置,支持的数目由2个到32个。Interruption Vector Table相关信息如下:
l 41 entry points (9 exceptions + 32 interrupts)
l Address = IVB.IVBASE + (entry number) * IVB.ESZ
(VEP: Vector Entry Point)
图表2. Interruption Vector Table of IVIC Mode
1.1.1.1 Interruption Vector Table of EVIC Mode
在EVIC模式下,所支持的中断来源数目可达到64个中断。Interruption Vector Table相关信息如下:
l 73 entry points (9 exceptions + 64 interrupts)
l Address = IVB.IVBASE + (entry number) * IVB.ESZ
图表3. Interruption Vector Table of EVIC Mode
1.2 Signal Descriptions
AndesCore(TM) N968A-S 提供相关中断讯号线,使得CPU可与周边装置或是外部中断控制器沟通。在EVIC模式下,除了中断来源讯号线之外,还包含了和外部中断控制器相互沟通的讯号线,详细讯号线叙述如下:
其中,evic_ireqval和evic_ireqack这两个讯号线用来和外部中断控制器沟通。在IVIC模式下,周边装置的中断讯号可和int_req[N:0]直接整合。当周边装置触发中断时,相对应的int_req讯号会拉起,告知CPU该周边装置触发了中断,CPU即会跳到所对应的Vector Entry来执行相关的中断处理程序。
而在EVIC模式下,外部中断控制器会负责处理周边装置的中断讯号。当周边装置触发中断时,外部中断处理器会负责和周边装置沟通,并将相对应的中断讯号(int_req)和中断需求讯号(evic_ireqval)发给CPU,当CPU接收到中断时,会将中断接收讯号(evic_ireqack)拉起,告知外部中断处理器收到中断,并去处理相关中断处理程序。
关键字:&&&&
编辑:什么鱼 引用地址:
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
微信扫一扫加关注 论坛活动 E手掌握
微信扫一扫加关注
芯片资讯 锐利解读
大学堂最新课程
汇总了TI汽车信息娱乐系统方案、优质音频解决方案、汽车娱乐系统和仪表盘参考设计相关的文档、视频等资源
热门资源推荐
频道白皮书
何立民专栏
北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
白手起家, 积分 179, 距离下一级还需 21 积分
论坛徽章:0
最近在看中断,向大家请教个问题:
书上说,中断分同步和异步,异步是指在指令执行过程中就可能会被中断,而同步则会在当前指令执行完成之后才会处理中断。
我了解的是,CPU取到一条指令,要经过译码,执行,回写等步骤。中断到来时,会保存eip,那么当前指令的执行状态不用关心吗?即指的是译码,执行和回写等状态,我想知道CPU中断的最小粒度是什么?
白手起家, 积分 179, 距离下一级还需 21 积分
论坛徽章:0
查到一段文字:
中断可分为同步(synchronous)中断和异步(asynchronous)中断:
1.& & & & 同步中断是当指令执行时由 CPU 控制单元产生,之所以称为同步,是因为只有在一条指令执行完毕后 CPU 才会发出中断,而不是发生在代码指令执行期间,比如系统调用。
2.& & & & 异步中断是指由其他硬件设备依照 CPU 时钟信号随机产生,即意味着中断能够在指令之间发生,例如键盘中断。
根据 Intel 官方资料,同步中断称为异常(exception),异步中断被称为中断(interrupt)。
小富即安, 积分 2992, 距离下一级还需 2008 积分
论坛徽章:0
在有或者没有流水线的cpu设计中,中断的概念上应该有 允许嵌套中断及不可嵌套中断两种~
当然在有流水线及没有流水线的cpu,处理嵌套中断是不一样的。
小富即安, 积分 3587, 距离下一级还需 1413 积分
论坛徽章:2
中断 的所谓异步和同步, 是指从cpu的角度,它知不知道要不打断,而言的。
异常, 例如, cpu执行一条 int 指令, 那么是cpu自己主动的陷入, 所以有人管它叫同步的;
外设来的中断, cpu压根不知道什么时候会来, 所以叫作 异步。
就是俩词儿而已。你爱怎么叫就怎么叫。
道行之而成, 物谓之而言。&&不是有什么先验的道理的。
cpu在执行一条指令的期间不可以被打断。
白手起家, 积分 179, 距离下一级还需 21 积分
论坛徽章:0
今天跟大牛交流过,基本可以这样认为:当cpu从eip取出一部分指令进行执行之后,在cpu内部这些指令有没有执行完,或者执行到什么状态,我们就不用管了,中断过后我们让程序继续从eip执行就可以了。cpu内部会自己维护更细微的步骤,系统开发者就不用操心了。
丰衣足食, 积分 679, 距离下一级还需 321 积分
论坛徽章:7
以前也有这疑问,看来大牛是说你别管那么多了。
不过还是想说下see mips run 里讲到些。
个人认为外部中断基本算不是绝对实时的,也就是多等会也可以,那么当检测到外部中断时,流水线实际开始断流了。
而对于同步异常就麻烦得多。书上说在某个流水级检测,先前级别即使发生了也不立刻跳转,而只是标记。等到这个流水级,之前的指令都执行完,然后跳转到异常处理,而流水前级全部废除。这也相当于断流,那么上面的外部中断也可以很容易加进来统一成一个检测。
丰衣足食, 积分 679, 距离下一级还需 321 积分
论坛徽章:7
& & 词和物?
稍有积蓄, 积分 266, 距离下一级还需 234 积分
论坛徽章:1
学习学习&&
白手起家, 积分 179, 距离下一级还需 21 积分
论坛徽章:0
学习了 回复
北京盛拓优讯信息技术有限公司. 版权所有 京ICP备号 北京市公安局海淀分局网监中心备案编号:22
广播电视节目制作经营许可证(京) 字第1234号
中国互联网协会会员&&联系我们:
感谢所有关心和支持过ChinaUnix的朋友们
转载本站内容请注明原作者名及出处cpu是怎么样检测到中断的?_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
cpu是怎么样检测到中断的?
cpu是怎么样检测到中断的?比如说键盘 按下键盘a键cpu他是怎么样知道我按下了a键呢比如cpu一直不停的百分之100的去执行指令,他怎么样知道我按下a键呢?或者说我按下a键的时候键盘自己把a键送到某个位置,而cpu会定时访问指定位置是否有字符?大概是不是这样呢...
我有更好的答案
……这个我是无法回答你了……太深奥了,我只会使用计算机,不研究其他的
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包04-1904-1904-1904-1904-1904-19
也许你感兴趣查看window隐藏进程,经常有个隐藏的进程占用了20%左右的cpu,不知道那个程序导致的,很郁闷一直不知道怎么把这个在进程里面看不到的占用大量cpu的进程给找出来?window xp的笔记本,网上查了下用冰刃或微软的ProcessExplorer可以看到但冰刃看不到进程占cpu多少window进程管理器可以看到cpu占用多少,看不到隐藏进程用微软的ProcessExplorer可以看到隐藏进程和实时占用cpu了,发现一直占cpu比较大的是一个 中断 的进程,无法终止掉的。
-----------------------------------------------------
xp 中断 占大量cpu&电脑有个&硬件中断&占用大量CPU 一直在10%-16%之间,网上搜索到有些人的到40%左右。
按照网上的卸载程序,卸载驱动,拔插USB,重启电脑,禁用无线网卡等各种方法都没用。
用360扫描没有病毒,没有任何异常需要修复,360硬件大师检测也很正常,卸载了各种插件和最近安装的软件重启电脑后都没用。
最后到联想官网,把所有驱动在线更新了一遍就好了。
-------------------------------------------------Thinkpad e40驱动官网上这个型号的驱动一堆,难道全下下来吗- -。能不能一键安装?打开.cn/edrivers/index.aspx点控件下载,安装输入主机型号,笔记本后面有下一步到下载安装就自动下载驱动,安装了
=================================
冰刃(icesword)软件简介斩断黑手的利刃,它适用于Windows 2000/XP/2003 操作系统,其内部功能是十分强大,用于查探系统中的幕后黑手-木马后门,并作出处理。可能您也用过很多类似功能的软件,比如一些进程工具、端口工具,但是现在的系统级后门功能越来越强,一般都可轻而易举地隐藏进程、端口、注册表、文件信息,一般的工具根本无法发现这些&幕后黑手&。IceSword 使用了大量新颖的内核技术,使得这些后门躲无所躲。
这个冰刃吹得这么好,不会动态更新进行状态的,一点都不实用----------------------------------------------------------Process Explorer 是一款免费的增强型任务管理器,是最好的进程管理器。 它能让使用者了解看不到的在后台执行的处理程序,可以使用它方便地管理你的程序进程。 能监视,挂起,重启,强行终止任何程序,包括系统级别的不允许随便终止的关键进程和十分隐蔽的顽固木马。 除此之外,它还详尽地显示计算机信息: CPU,内存,I/O使用情况,可以显示一个程序调用了哪些动态链接库DLL,句柄,模块,系统进程。 以目录树的方式查看进程之间的归属关系,可以对进程进行调试。 可以查看进程的路径,以及公司,版本等详细信息,多色彩显示服务进程,很酷的曲线图。 可以替换系统自带的任务管理器,有了它,系统自带的任务管理器就可以扔进垃圾桶了。  第一次运行 Process Explorer 时需要把字体设置一下, 点&选项&, &字体&, 然后把字体设置为宋体,9号就可以了。
==================================================================
阅读(...) 评论()

我要回帖

更多关于 vba 检测网络中断 的文章

 

随机推荐