




已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,Chapter5.C6000DSPInterruptionControl,C6000中断概述C6000中断控制中断捕获和处理中断性能编程注意事项,2,DSP技术基础,本章讲述CPU中断,包括复位和不可屏蔽中断(NMI),介绍中断控制寄存器和他们的功能,分析中断的处理过程,即CPU捕获中断并转移程序执行流到中断服务程序所使用的方法,最后介绍中断编程需要注意的事项。,3,DSP技术基础,C6000中断概述,DSP工作在具有多个外部异步事件环境下,每个事件具有独立的任务要求,当中断发生时,系统要求CPU暂停当前工作,转而执行中断服务程序,当中断处理完成后,再回到原来的位置继续运行,这就是中断的工作模式;引起CPU中断事件发生的信号称为中断源;中断服务包括,保存现场(上下文),执行中断任务,恢复寄存器和现场,返回中断前位置;,4,DSP技术基础,中断类型复位中断(RESET)不可屏蔽中断(NMI)可屏蔽中断(MI)中断优先级RESETNMIMI,5,DSP技术基础,复位中断复位中断使最高优先级的中断,它用来停止CPU工作,并使之返回到一个已知状态;RESET信号是低电平有效信号,其他中断是高电平有效;RESET信号有效需要连续10个时钟脉冲低电平信号;复位使正在执行的程序停止,所有寄存器返回默认状态;复位中断取指包必须放在0地址内存中;分支转移不影响复位中断;,6,DSP技术基础,不可屏蔽中断(NMI)NMI的优先级仅次于复位中断,通常用于向CPU发出警报,比如突然断电;中断使能寄存器中的NMIE位控制NMI是否有效;NMIE=1的情况下,发生在分支转移指令延迟间隙时间段内的NMI将会被阻止;复位中断发生时,NMIE=0,防止复位中断被中断;,7,DSP技术基础,NMI发生时,NMIE将被清零,防止NMI嵌套;NMIE不能手动清零,但可以设置NMIE以允许嵌套多个NMI;在NMIE被清零时,所有可屏蔽中断被禁止;,8,DSP技术基础,可屏蔽中断(INT4INT15)优先级低于复位和NMI,且INT4INT15INTm可以由外部芯片,片内外设或者软件触发;INTm发生在分支转移的延迟时间段内,将会被阻止;INTm需要同时满足如下条件,才能被触发:1.CSR中的GIE位置1;2.IER中NMIE位置1;3.IER中相应位置1;4.IFR中IFm置1,且无更高优先级中断发生;,9,DSP技术基础,中断应答(IACK和INUMx)IACK和INUMx通知外部硬件,一个中断已经发生,并且正在处理中;IACK信号表示当前CPU在中断处理中;INUMx包括INUM3INUM0,指出相应的中断号;例如,INUMx=0111,表示INT7正在处理;,10,DSP技术基础,中断服务表(IST),IST是包含中断服务程序取指包(ISFP)的一个地址表;IST包含16个连续的取指包,每个中断服务取指包包含8条指令;简单的中断服务程序可以放在一个单独的ISFP中;,11,DSP技术基础,IST的地址和内容,12,DSP技术基础,中断服务取指包(ISFP)为了能够正确返回中断发生前的主程序,FP中包含一条指向中断返回地址的分支转移指令;IRP中断返回指针;NOP5指令使分支转移目标有效进入流水线的执级,若没有这条指令,CPU会在分支转移之前执行下一个ISFP中的内容;,13,DSP技术基础,中断服务程序较长时,不能放在单个FP中,这是ISFP中将包含一条用于跳转到外部中断服务程序的转移分支指令;,14,DSP技术基础,中断服务表指针(ISTP)中断服务表指针用于定位中断服务程序的位置;ISTP中的包含三个字段:ISTB,HPEINT和低5位31109543210R,W,+0R,+0R表示MVC可以读取;W表示MVC指令可写;+0表示复位后值为0;,15,DSP技术基础,ISTBIST地址的中断服务表基地址;在复位时清0,所以开始时IST必须置于地址0处,复位后,可以向ISTB写入新的值来重定位IST,但重定位后的第一个ISFT从不被执行,因为复位使ISTB清0;HPEINT最高优先级使能中断;表示IER中使能的最高优先级中断号,可以利用ISTP手动跳转到最高级使能中断;如果没有中断挂起和使能,HPEINT=0000b,这个相应的中断不需要NMIE或GIE来使能;,16,DSP技术基础,复位FP必须定位于地址0处,而IST中其余的取指包可放在256个字范围内的任何程序存储器单元内;中断服务表重定位(1)重定位IST到800h将地址为0h200h之间的IST复制到地址800hA00h之间;写800h到ISTP寄存器:MVK800H,A2MVCA2,ISTPISTP=800H=100000000000b,17,DSP技术基础,(2)ISTP引导CPU到重新定位的IST相对应的ISFP;假设:IFR=BBC0h=1011101111000000bIER=1230h=0001001000110001b两个使能挂起的中断为INT9和INT12,IFR中的1表示挂起的中断,IER中的1表示被使能的中断;由于INT9的优先级高于INT12,所以使用INT9的值01001b对HPEINT进行编码;ISTP=100100100000b=920h对应INT9的ISFP地址。,18,DSP技术基础,中断控制寄存器概述C6000具有8个中断控制寄存器:(1)CSR控制状态寄存器,控制全局使能或禁止中断;(2)IER中断使能寄存器,使能或禁止中断处理;(3)IFR中断标志寄存器,显示中断状态;(4)ISR中断设置寄存器,手动设置IFR中标志位(5)ICR中断清除寄存器,手动清除IFR中标志位(6)ISTP中断服务表指针,指向IST起始地址;(7)NRP不可屏蔽中断返回指针,NMI的返回地址,由BNRP指令完成;(8)IRP可屏蔽中断返回指针,INT4INT15的返回地址,由BIRP指令完成;,19,DSP技术基础,CSR和IER使能或禁止中断处理;IFR识别挂起的中断;ISR和ICR用于手动中断处理;另外三个指针,ISTP指向中断服务表,NRP和IRP为返回指针。,20,DSP技术基础,控制状态寄存器(CSR),控制状态寄存器包括2个中断控制字段:GIE和PGIE;321R,W,+0GIE全局中断使能,控制可屏蔽中断的允许与禁止PGIE先前的GIE,当执行一个中断时,保存之前的GIE值;,21,DSP技术基础,全局禁止可屏蔽中断的代码:MVCCSR,B0;获取CSRAND-2,B0,B0;准备清除GIEMVCB0,CSR;清楚GIE全局使能可屏蔽中断的代码:MVCCSR,B0;获取CSROR1,B0,B0;准备设置GIEMVCB0,CSR;设置GIE,22,DSP技术基础,中断控制,有效的中断服务要求对三种类型的中断进行独立的控制:RESET,NMI,MI;使用中断使能寄存器(IER)来使能或者禁止各个中断;挂起中断的状态保存在IFR中;手动处理中断可以通过ISR和ICR来实现;在NMI和MI后,中断返回指针恢复上下文;,23,DSP技术基础,中断使能寄存器IER31161514131211109876543210R,W,+0R,+1通过设置相应的使能位可以使能和禁止各个中断;但第0位对应复位中断,不能设置,总为1,因此复位中断总是被使能的,不能禁止;NMIE位会被复位中断清除,所以复位后用户要手动置位;NMIE不能手动清除,但可以写1,BNRP也会向NMIE写1;,24,DSP技术基础,使能INT9中断的代码:MVK200H,B1;设置第9位MVCIER,B0;获取IERORB1,B0,B0;准备设置IE9MVCB0,IER;设置IER的第9位禁止INT9中断的代码:MVKFDFFh,B1;清除第9位MVCIER,B0;获取IERANDB1,B0,B0;准备清除IE9MVCB0,IER;清除IER的第9位,25,DSP技术基础,中断标志寄存器IFR31161514131211109876543210R,+0中断标志寄存器包含INT4INT15和NMI的状态;当一个中断发生时,IFR中的相应中断位的值被置1,否则值位0;如果想检查中断状态,使用MVC指令读取IFR即可;,26,DSP技术基础,中断设置寄存器ISR31161514131211109876543210W中断设置寄存器允许用户手动设置IFR中的可屏蔽中断位,对IS4IS15中的位写1可以设置IFR中的中断位为1;对ISR写0无效;对ISR写1不会影响NMI和复位中断;,27,DSP技术基础,中断清除寄存器ICR31161514131211109876543210W中断清除寄存器允许用户手动清除IFR中的可屏蔽中断位,对IC4IC15中的位写1可以清除IFR中的中断位为0;对ICR写0无效;对ICR写1不会影响NMI和复位中断输入的中断有优先权,会覆盖对ICR的写操作,28,DSP技术基础,设置INT6中断和读取IFR的代码:MVK40H,B3;设置第6位MVCB3,ISR;设置IS6=1NOPMVCIFR,B4;读取IFR清除INT9中断和读取IFR的代码:MVK40h,B3;设置第6位MVCB3,ICR;设置IC6=1NOPMVCIFR,B4;读取IFR,29,DSP技术基础,从中断服务返回RESET信号转变为高电平以后,控制寄存器被给定一个确定值,并且程序从地址0处开始执行。不可屏蔽中断和可屏蔽中断服务结束后,使用分支转移到返回指针寄存器所对应的位置继续执行前面的程序;,30,DSP技术基础,复位中断后的CPU状态各控制寄存器和相应位的值如下:AMR,ISR,ICR,IFR和ISTP=0hIER=1hIRP和NRP的值不确定CSR的位015=001h,31,DSP技术基础,从不可屏蔽中断返回NRP包含从不可中断返回时的指针;当NMI中断服务完成时,在中断服务程序末尾必须安排一条分支转移指令BNRP从NMI返回的代码:BNRP;返回,设置NMIENOP5;延迟时间段,32,DSP技术基础,从可屏蔽中断返回IRP包含从可屏蔽中断返回时的指针;当可屏蔽中断服务完成时,在中断服务程序末尾必须安排一条分支转移指令BIRP从可屏蔽中断返回的代码:BIRP;返回,将PGIE复制各GIENOP5;延迟时间段,33,DSP技术基础,中断捕获和处理,当产生一个中断时,会在IFR寄存器中设置相应的位,根据确定的条件,这个中断有可能会被处理,也可能不会被处理;本节介绍设置IFR的方法,处理一个中断的条件和捕获及处理一个中断的操作顺序。,34,DSP技术基础,设置非复位中断标志时钟周期012345678910111213外部INTm(1)IFmIACKINUM0000000m000000(2)(3),35,DSP技术基础,设置非复位中断标志INTm信号在一个时钟周期内被捕获;中断信号引脚上由低到高的信号变化,将在两个时钟周期内到达CPU边界;当中断信号进入CPU后即被捕获,捕获后两个时钟周期,中断相对应的IFR标志位被设置;如果INTm不是最高优先级的中断,IFm保持置位状态直到用户向ICR的第m位写1进行清除,或者进行INTm中断处理;,36,DSP技术基础,处理非复位中断的条件在时钟周期4,一个需要处理的非复位中断被捕获;中断被处理要求下列条件必须在一个时钟周期内有效:在CPU周期6,IFm被设置(在CPU周期4,该设置由中断逻辑确定);在IFR中没有更高优先级的IFm被设置;IER的对应位被设置(IEm=1);GIE=1;NMIE=1;从中断发生时正在执行的5个连续的执行包内不包含分支转移,并且不在分支转移的延迟时间内;,37,DSP技术基础,非复位中断处理期间的动作在中断处理示意图中的(2)时间段内,将会进行如下处理事件:后面的非复位中断处理被禁止;对于除NMI以外的所有中断,PGIE被设置为GIE的值,而GIE被清除;对于NMI,NMIE被清除;紧接着的执行包(从n+5开始)被取消,如果一个执行包在一个特定的流水阶段被取消,他不会修改任何CPU状态;第一个被取消的执行包(n+5)的地址被加载到NRP(在NMI情况下)或者IRP(对于INTm)中;转向保持在ISTP(用于INTm的指向ISFP的指针)中的地址的分支转移被强制进入流水线E1阶段,对于C62x/C64x为第7个周期,而对于C67x为第9个周期。在第7个周期,IACK被声明,并且正确的INUMx信号被声明,以便指出在哪个中断正在处理;在周期8,IFm被清除;,38,DSP技术基础,C6000设置RESET中断标志时钟周期0-10111213141516171819202122RESET(1)IF0IACKINUM00000000000000000(2)(3),39,DSP技术基础,C6000设置RESET中断标志RESET信号必须保持至少10个时钟周期的低电平;在RESET信号变为高电平后的4个时钟周期,复位开始处理;IF0在复位开始处理时被置位;RESET信号的变化在一个时钟周期内被捕获;,40,DSP技术基础,RESET中断处理时的动作在中断处理示意图中的(2)时间段内,将会进行如下处理事件:因为GIE和NMIE被清除,后面的非复位中断被禁止;转向IST(地址在ISTP中)的分支转移被强制进入流水线的E1阶段(第16个周期);在周期17,IF0被清除;,41,DSP技术基础,中断性能一般性能:总开销对于C62x/C64x,所有CPU中断的总开销为7个时钟周期,对于C67x为9个时钟周期;等待时间从中断信号有效到中断服务程序开始执行需要的时间,对于C62x/C64x为11个时钟周期,对于C67x为13个时钟周期;中断间隔中断的处理间隔至少2个时钟周期;,42,DSP技术基础,流水线的相互影响分支转移如果nn+4的任意执行包有一条分支转移或处在分支转移的延迟期间,则非复位中断被延迟;存储器阻塞存储器阻塞会延迟中断处理,因为这会扩展CPU周期;多周期NOP当一个中断产生任何取消操作时,处于多周期NOP的第一个周期,这种情况下,流水线的下一个执行包保存在NRP或者IRP寄存器中,这就阻止了返回到IDLE或者被中断的NOP指令处;,43,DSP技术基础,编程注意事项单任务编程为了方便不可预知的操作,在可能被中断的代码中必须使用单任务方法。当一个中断发生时,在中断开始处理前进入E1流水线执行阶段的所有指令允许完成执行,所有其他指令被取消,并将在从终端返回后重新取指。中断处理前的指令不对中断处理返回后的指令产生任何延迟,所以,中断前带延迟的指令对中断后指令变现出来的延迟比他们实际的延迟要少。,44,DSP技术基础,不采用单任务编程:A1多任务LDW.D1*A0,A1ADD.L1A1,A2,A3NOP3MPY.M1A1,A4,A5;使用新的A1使用单任务编程LDW.D1*A0,A6ADD.L1A1,A2,A3NOP3MPY.M1A6,A4,A5,45,DSP技术基础,嵌套中断通常CPU进入一个中断时,其他中断都被禁止,但NMI可以中断一个MI过程;NMI和MI都不能
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年健身教练专业认证考核试卷及答案解析
- 2025年健康食品营养师职业资格评价试题及答案解析
- 2025年建筑土木勘察师认证考试试题及答案解析
- 2025年计算机网络工程师专业能力考试试题及答案解析
- 2025年化学分析师专业知识鉴定试题及答案解析
- 2025年国际贸易实务考试试题及答案解析
- 2025年广告营销策划师资格认证考试试题及答案解析
- 2025年公务员职业能力测评试题及答案解析
- 关于字母O 的教学课件
- 2025年本科院校审计处招聘笔试预测题
- 单片机的看门狗
- 市场营销(第2版)课件全套 王永贵 第1-17章-市场与市场营销概述及发展-顾客营销学
- 高中数学 人教A版 必修一 《集合与常用逻辑用语》 1.1集合的概念
- 深圳某电厂锅炉维修改造施工组织设计-new(常用版)
- GB/T 4950-2021锌合金牺牲阳极
- GB/T 15171-1994软包装件密封性能试验方法
- 中药调剂技术-课件
- 证券从业考试基础模拟卷二(题目+解析)
- 水轮发电机讲义课件
- 信息系统运维服务方案
- 化工试生产总结报告
评论
0/150
提交评论