寄存器中断逻辑和定时器.ppt
《寄存器中断逻辑和定时器.ppt》由会员分享,可在线阅读,更多相关《寄存器中断逻辑和定时器.ppt(104页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、ADSP21160ADSP21160寄存器寄存器 ADSP21160ADSP21160寄存器分类:寄存器分类:1 1)运算单元寄存器)运算单元寄存器2 2)系统控制和状态寄存器)系统控制和状态寄存器 3 3)程序控制寄存器)程序控制寄存器4 4)数据地址产生寄存器()数据地址产生寄存器(DAG1DAG1,DAG2DAG2)5 5)I/OI/O处理器寄存器处理器寄存器 运算单元寄存器运算单元寄存器运算单元寄存器主要为运算单元的ALU、乘法器、移位器保存输入、输出数据,主要包括:(1)通用数据寄存器Rx,Sx,Fx(x=015);(2)乘法结果寄存器MRFx,MRBx(x=02);其中MRFx称为
2、前台寄存器;MRBx称为后台寄存器;主要用于存放80位定点乘法结果;注:通常也把总线交换寄存器PX,算作运算单元寄存器;系统控制和状态寄存器系统控制和状态寄存器主要功能是配置处理器核的操作模式,同时标识处理器核的工作状态,作为条件程序执行的判别条件。对系统控制类寄存器的写入操作有1个周期的延迟,在写入后的第二个周期才有效。系统控制和状态寄存器续系统控制和状态寄存器续寄存器名寄存器名初始值初始值MODE1模式控制寄存器模式控制寄存器10 x00000000MODE2模式控制寄存器模式控制寄存器20 xnn000000MMASK模式屏蔽寄存器模式屏蔽寄存器0 x00200000ASTATx,AST
3、ATy运算状态寄存器运算状态寄存器0 x00000000STKYx,STKYy附加运算状态寄存器附加运算状态寄存器0 x00540000USTATx(x1-4)用户定义状态寄存器)用户定义状态寄存器0 x00000000MODE1寄存器的位定义表寄存器的位定义表Bit(s)NameDefinition0BR8索引寄存器索引寄存器I8位反序使能,位反序使能,1使能使能I8位反序寻址;位反序寻址;0正常寻址正常寻址1BR0索引寄存器索引寄存器I0位反序使能,位反序使能,1使能使能I0位反序寻址;位反序寻址;0正常寻址正常寻址2SRCU运算单元备用寄存器选择,运算单元备用寄存器选择,1使能使能MR备
4、用寄存器;备用寄存器;0只能用主只能用主MR寄存器寄存器3SRD1HDAG1高高4(74)寄存器备用使能,)寄存器备用使能,1使能备用寄存器,使能备用寄存器,0只使用主寄存器只使用主寄存器4SRD1LDAG1低低4(30)寄存器备用使能,)寄存器备用使能,1使能备用寄存器,使能备用寄存器,0只使用主寄存器只使用主寄存器5SRD2HDAG2高高4(74)寄存器备用使能,)寄存器备用使能,1使能备用寄存器,使能备用寄存器,0只使用主寄存器只使用主寄存器6SRD2LDAG2低低4(30)寄存器备用使能,)寄存器备用使能,1使能备用寄存器,使能备用寄存器,0只使用主寄存器只使用主寄存器7SRRFH数数
5、据据寄寄存存器器(R15R8)备备用用选选择择使使能能,1使使能能备备用用寄寄存存器器;0只只使使用用主主寄寄存器存器98保留保留10SRRFL数数据据寄寄存存器器(R7R0)备备用用选选择择使使能能,1使使能能备备用用寄寄存存器器;0只只使使用用主主寄寄存存器器11NESTM中断嵌套使能,中断嵌套使能,1允许中断嵌套;允许中断嵌套;0禁止中断嵌套禁止中断嵌套12IRPTEN全局中断使能,全局中断使能,1使能所有可屏蔽中断;使能所有可屏蔽中断;0禁止响应所有可屏蔽中断禁止响应所有可屏蔽中断MODE1寄存器的位定义表续寄存器的位定义表续Bit(s)NameDefinition13ALUSATAL
6、U饱和处理使能,饱和处理使能,1ALU定点溢出进行饱和处理;定点溢出进行饱和处理;0不进行饱和处理不进行饱和处理14SSE定点短字符号扩展使能,定点短字符号扩展使能,1符号扩展到高符号扩展到高16位;位;0高高16位填位填015TRUNC截取模式选择,截取模式选择,1靠近靠近0截取;截取;0截取到最近的数截取到最近的数16RND3232位浮点数据截取方式选择,位浮点数据截取方式选择,1截取到截取到32位;位;0截取到截取到40位位1817CSELADSP总线控制状态,总线控制状态,00ADSP控制总线,控制总线,01,10,11ADSP不控制总线不控制总线2019保留保留21PEYENSIMD
7、模式使能,模式使能,1使能使能PEy计算单元,使能计算单元,使能SIMD;0禁止禁止PEy,SISD模式模式22BTCST9通通过过地地址址寄寄存存器器I9广广播播使使能能,1将将PM总总线线上上的的数数据据广广播播到到两两个个运运算算单单元元的的相相应寄存器中,应寄存器中,0禁止广播方式禁止广播方式23BTCST1通通过过地地址址寄寄存存器器I0广广播播使使能能,1将将DM总总线线上上的的数数据据广广播播到到两两个个运运算算单单元元的的相相应寄存器中,应寄存器中,0禁止广播方式禁止广播方式24CBUFEN环形缓冲寻址使能,环形缓冲寻址使能,1使能环形缓冲寻址;使能环形缓冲寻址;0线性寻址线性
8、寻址3125保留保留MODE2寄存器位定义表寄存器位定义表IRQ0触发方式选择触发方式选择,1下降沿触发;下降沿触发;0低电平触发低电平触发IRQ1触发方式选择触发方式选择,1下降沿触发;下降沿触发;0低电平触发低电平触发IRQ2触发方式选择触发方式选择,1下降沿触发;下降沿触发;0低电平触发低电平触发Bit(s)NameDefinition0IRQ0E1IRQ1E2IRQ2E3保留保留4CAIDS指令缓存禁止,指令缓存禁止,1禁止指令缓存;禁止指令缓存;0开启指令缓存开启指令缓存5TIMEN定时器使能,定时器使能,1使能定时器;使能定时器;0禁止定时器禁止定时器6BUSLK外部总线请求锁定,
9、外部总线请求锁定,1ADSP控制总线,请求锁定总线;控制总线,请求锁定总线;0不请求锁定总线不请求锁定总线147保留保留15FLAG0OFLAG0输入输出选择,输入输出选择,1作为输出;作为输出;0作为输入作为输入MODE2寄存器位定义表续寄存器位定义表续16FLAG1OFLAG1输入输出选择,输入输出选择,1作为输出;作为输出;0作为输入作为输入17FLAG2OFLAG2输入输出选择,输入输出选择,1作为输出;作为输出;0作为输入作为输入18FLAG3OFLAG3输入输出选择,输入输出选择,1作为输出;作为输出;0作为输入作为输入19CAFRZ指令缓存冻结,指令缓存冻结,1冻结指令缓存,禁止
10、刷新,保持原值;冻结指令缓存,禁止刷新,保持原值;0允许指令缓存刷新允许指令缓存刷新20IIRAE是否检测非法寄存器访问,是否检测非法寄存器访问,1允许检测;禁止检测允许检测;禁止检测21U64MAE是否检测对非连续的是否检测对非连续的64位长字存储器空间的访问,位长字存储器空间的访问,1检测;检测;0禁止检测禁止检测2422保留保留2725PID20处理器处理器ID号号2928芯片版本号芯片版本号3130PID43处理器处理器ID号。号。ASTATx运算状态运算状态寄存器表寄存器表Bit(s)NameDefinition0AZ1ALU操作结果为操作结果为0;0ALU操作结果为非操作结果为非0
11、或者浮点下溢或者浮点下溢1AV1ALU操作结果溢出;操作结果溢出;0ALU操作结果不溢出操作结果不溢出2AN1ALU最后一次操作结果为负数;最后一次操作结果为负数;0ALU最后一次操作结果为正数最后一次操作结果为正数3AC1ALU最后一次定点操作结果有进位;最后一次定点操作结果有进位;0ALU最后一次定点操作结果无进位最后一次定点操作结果无进位4AS1ALU的的ABS或者或者MANT操作操作输入数为负;操作操作输入数为负;0ALU操作输入为正数操作输入为正数5AI1ALU浮点操作无效;浮点操作无效;0ALU浮点操作有效浮点操作有效6MN1乘法器操作结果负数;乘法器操作结果负数;0乘法器操作结果
12、为正数乘法器操作结果为正数7MV1乘法器操作结果溢出;乘法器操作结果溢出;0乘法器操作结果不溢出乘法器操作结果不溢出8MU1乘法器浮点操作结果下溢出;乘法器浮点操作结果下溢出;0乘法器浮点操作结果未下溢出乘法器浮点操作结果未下溢出ASTATxASTATx运算状态寄存器表续运算状态寄存器表续 9MI1乘法器浮点操作数无效;乘法器浮点操作数无效;0乘法器浮点操作数有效乘法器浮点操作数有效10AF1ALU操作数是浮点数;操作数是浮点数;0ALU操作数是定点数操作数是定点数11SV1移位器操作结果溢出;移位器操作结果溢出;0移位器操作结果不溢出移位器操作结果不溢出12SZ1移位器操作结果为移位器操作结
13、果为0;0移位器操作结果不为移位器操作结果不为013SS1移位器操作输入数为负数;移位器操作输入数为负数;0移位器操作输入数为正数移位器操作输入数为正数17-14保留保留18BTF系统寄存器位测试标志系统寄存器位测试标志23-19保留保留3124CACC比比较较累累加加移移位位寄寄存存器器。位位31为为ALU最最后后一一次次输输入入的的两两个个操操作作数数比比较较的的结结果果。1X输输入入较较大大;0Y输输入入较较大大。其其它它7位位构构成成一一个个右右移移寄寄存存器器,每每位位存存储储一一个个前前面面比比较较的的结结果果,伴伴随随着着每每一一次次新新的的比比较较,DSP右右移移CACC中中的
14、的值值,总总是是把把最新的值放在最新的值放在31位,最旧的值放在位,最旧的值放在24位位3)程序控制寄存器(如下页图)程序控制寄存器(如下页图)ADSP程序控制寄存器引导指令的执行,主要实现以下操作:1.指令流水指令流水2.程序和循环堆栈程序和循环堆栈3.定时器操作定时器操作4.中断锁存与屏蔽中断锁存与屏蔽程序控制寄存器表寄存器名说明初始值PC程序计数器未定义PCSTK程序计数堆栈寄存器(保存PC堆栈栈顶地址)未定义PCSTKP程序计数器堆栈指针寄存器(存放PC堆栈已用数,其值为031,PC空0,PC满31)未定义FADDR取指寄存器,存放三级流水第一步取指令地址未定义DADDR译码寄存器,存
15、放三级流水第二步译码指令地址未定义LADDR循环地址堆栈寄存器,32位宽,6级深度,每级存放24位循环终止地址,5位终止代码,2位循环类型码未定义CURLCNTR当前循环计数寄存器,存放循环已被执行的次数未定义LCNTR定时器的计数寄存器未定义TPERIOD定时器周期计数寄存器未定义TCOUNT定时器计数寄存器未定义IRPTL中断锁存寄存器0 x00000000IMASK中断屏蔽寄存器0 x00000003IMASKP中断屏蔽指针寄存器0 x00000000LIRPTL链路口中断寄存器0 x00000000FLAGSFLAG标志寄存器0 x000000004)数据地址产生器(DAG1,DAG2
16、)数据地址产生寄存器主要为访问数据和指令产生地址,并自动修改地址,实现连续的地址空间访问,同时也能实现环形缓冲寻址等操作,但它们不参与数值运算。地址产生器地址产生器DAG1寄存器寄存器(DM)地址产生器地址产生器DAG2寄存器寄存器(PM)I0I7I8I15M0M7M8M15B0B7B8B15L0L7L8L15(DAG1,DAG2)寄存器说明表)寄存器说明表寄 存 器名说明初始值I0-I7DAG1索引寄存器,保存指向存储器的地址未定义M0-M7DAG1修改寄存器,为I寄存器提供地址修改量未定义B0-B7DAG1基址寄存器,为环形缓冲区操作提供起始地址未定义L0-L7DAG1长度寄存器,为环形缓
17、冲区操作提供缓冲区长度未定义I8-I15DAG2索引寄存器,保存指向存储器的地址未定义M8-M15DAG2修改寄存器,为I寄存器提供地址修改量未定义B8-B15DAG2基址寄存器,为环形缓冲区操作提供起始地址未定义L8-L15DAG2长度寄存器,为环形缓冲区操作提供缓冲区长度未定义环形缓冲区操作MODE1寄存器的位定义表续Bit(s)NameDefinition13ALUSATALU饱和处理使能,1ALU定点溢出进行饱和处理;0不进行饱和处理14SSE定点短字符号扩展使能,1符号扩展到高16位;0高16位填015TRUNC截取模式选择,1靠近0截取;0截取到最近的数16RND3232位浮点数据
18、截取方式选择,1截取到32位;0截取到40位1817CSELADSP总线控制状态,00ADSP控制总线,01,10,11ADSP不控制总线2019保留21PEYENSIMD模式使能,1使能PEy计算单元,使能SIMD;0禁止PEy,SISD模式22BTCST9通过地址寄存器I9广播使能,1将PM总线上的数据广播到两个运算单元的相应寄存器中,0禁止广播方式23BTCST1通过地址寄存器I0广播使能,1将DM总线上的数据广播到两个运算单元的相应寄存器中,0禁止广播方式24CBUFEN环形缓冲寻址使能,1使能环形缓冲寻址;0线性寻址3125保留M为正时环形缓冲区计算方法环形缓冲区操作注意事项11.1
19、.地址修改只能采用后修改方式地址修改只能采用后修改方式,即可用,即可用M M寄存器寄存器(与(与I I寄存器在相同寄存器在相同DAGDAG中,但不必同号数,如中,但不必同号数,如I0I0和和M3M3),也可采用立即数),也可采用立即数;2.2.但不管修改值是来自但不管修改值是来自M M寄存器还是立即数,寄存器还是立即数,其修改其修改值大小不能超出循环缓冲区的长度(值大小不能超出循环缓冲区的长度(L L寄存器值)。寄存器值)。3.3.循环缓冲区的长度(循环缓冲区的长度(L L寄存器值)必须是正值且寄存器值)必须是正值且不能超过不能超过2 231311 1,如循环缓冲区长度为零,则循如循环缓冲区长
20、度为零,则循环缓冲区操作被环缓冲区操作被DISABLEDISABLE。环形缓冲区操作注意事项环形缓冲区操作注意事项2寄存器被装入某个值时,同时I寄存器被装入相同的值。但I寄存器被装入某个值时,B寄存器的值不变。寄存器既可以是正值,也可以是负值。注:在上个例子中意味着 B00 x55000,M10 x4M寄存器可以是负值初始时I寄存器中的值等于B寄存器的值;在第一次环形缓冲区访问时,I寄存器的值更新为B+L;然后开始递减访问缓冲区。5.I/O处理器寄存器处理器寄存器I/O处理器寄存器组列表I/O处理器寄存器组列表续 I/O处理器寄存器分为以下几组:系统控制寄存器组;DMA缓冲寄存器组;链路和串行
21、口寄存器组;I/O处理器寄存器控制如下操作lExternal port DMA;lLink port DMA;lSerial port DMA;I/O处理器寄存器访问方法处理器寄存器访问方法除DMA操作外,ADSP结构不支持在I/O寄存器与内部存储器地址单元间传递数据,要读写I/O处理器,必须要用处理器核寄存器作为中介。例如要向WAIT寄存器赋值情况如下:USTAT10 x08421;DM(WAIT)USTAT1;下面我们就一些重要的IO寄存器进行详细的讲解SYSCON-系统控制寄存器位定义表系统控制寄存器位定义表续1系统控制寄存器位定义表续2系统控制寄存器位定义表续33123位保留未用SYS
22、CON寄存器的位定义寄存器的位定义1.SRST(位位0):软件复位,通过软件将该位置1,DSP响应不可屏蔽中断RSTI,并将该位清0。2.BSO(位位1):引导方式选择重载,1DSP使用BMS有效,从片外存储器空间加载程序。3IIVT(位(位3):):内部中断向量表,对于ADSP21160来说1不管加载任何模式配置,强制将中断向量表放到0 x40000地址(基地址);0根据加载模式选择放置。4.IMDW0(4.IMDW0(位位9)9):片内存储器块0数据宽度设置,140位,032位。SYSCON寄存器的位定义续寄存器的位定义续15.IMDW1(位位10):片内存储器块1数据宽度设置,140位,
23、032位。6.MSIZE(位位1512):外部存储器块大小设置7.MSIZElog2(块大小)13。SYSCONSYSCON寄存器的位定义续寄存器的位定义续 ADSP21160ADSP21160中断逻辑与定时器中断逻辑与定时器 1.中断逻辑 ADSP21160 ADSP21160内部提供了丰富的中断资源。内部提供了丰富的中断资源。a.a.在外部中断方面:在外部中断方面:复位中断;仿真器中断;三个外部输入中断。b.在内部中断方面有:非法输入中断;运算错误中断;链路服务请求中断;定时器中断;堆栈溢出中断;多处理器中断;环形缓冲区溢出中断;DMA控制中断;用户自定义软件中断等。ADSPSHARC系列
24、处理器的三个外部中断系列处理器的三个外部中断输入方式有两种输入方式有两种:电平触发方式电平触发方式和沿触发方式。沿触发方式。触发方式的选择通过设置触发方式的选择通过设置MODE2寄存器来完成,寄存器来完成,其定义方式如下表:其定义方式如下表:BitNameDefine0IRQ0E1-下降沿下降沿触发;触发;0低电平触发低电平触发1IRQ1E1-下降沿下降沿触发;触发;0低电平触发低电平触发2IRQ2E1-下降沿下降沿触发;触发;0低电平触发低电平触发使用内外部中断时应注意的几点:1.1.对上述内、外部中断,除了对上述内、外部中断,除了仿真器中断仿真器中断和和复位中断复位中断不可不可以屏蔽外,其
25、余中断都是可以屏蔽的。以屏蔽外,其余中断都是可以屏蔽的。2.2.除了不可屏蔽中断和引导加载中断除了不可屏蔽中断和引导加载中断EP0IEP0I或者或者LP4ILP4I外,所外,所有中断在系统复位时都默认被屏蔽。有中断在系统复位时都默认被屏蔽。3.3.当我们要使用某种中断时,必须具备以下条件:当我们要使用某种中断时,必须具备以下条件:4.4.通常,当一个中断正在执行服务期间,通常,当一个中断正在执行服务期间,ADSPADSP系列处理器系列处理器在在每个周期每个周期都会对都会对该中断锁存寄存器的相应中断标志位该中断锁存寄存器的相应中断标志位进行进行清零清零,以,以禁止禁止在在执行该中断服务执行该中断
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 寄存器 中断 逻辑 定时器
限制150内