打印
[单片机芯片]

青稞RISC-V的免表中断(VTF)

[复制链接]
390|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
多年Cortex-M3/M4的开发经验,已经习惯了ARM的中断向量表方式进入中断。何为中断向量表呢?其实就是一个包含了中断函数地址的32bit数组成的一个数组。在上电的时候,把这个数组的首地址写入到指定的寄存器。当中断触发时,Cortex-M3/M4根据中断线的偏移量,在数组里面做出来相应的偏移,再执行对应的函数。如果说成C语言的执行过程,初始化数组,得到数组偏移量,执行数组的值——所谓的查表法。查表法的执行速率和效率非常快,算法复杂度为O(1)。但后发展的青稞RISC-V是不是有更快的实现方式?答案是有的。

在学习沁恒CH32V317芯片的时候,阅读了青稞V4微处理器手册,看到其中断介绍有一章节为“免表中断”,学习之后感觉青稞V4还是牛X!

可编程快速中断控制器(PFIC)提供四个免表(Vector Table Free)中断通道,即不经过中断向量表的查表过程,直达中断函数入口。
正常配置一个中断函数的同时,将其中断编号写入免表中断 ID 寄存器 PFIC_VTFIDR 的某个通道
x,同时将其入口地址写入对应的免表中断地址寄存器 VTFADDRRx,并且使能该通道 VTF 中断即可。
PFIC 对于快速中断和免表中断的响应过程如下图所示:



换句话说,青稞V4的中断向量函数是赋值语句,是直接执行方式。其执行速度与效率不言而喻。对于电机控制,事件处理将更加快速,这在工业控制,医疗器械,航空航天领域的应用将带来全新的高性能的体验。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

38

帖子

0

粉丝