本发明涉及数字信号处理,具体为一种适用于risc-v架构的控制状态寄存器间接访问方法。
背景技术:
1、risc-v架构因为其开源、精简、易于移植、可扩展、模块化等特点,特别适合新一代信息技术领域“需求定义软件,软件定义硬件”的“定制化”趋势,而中国在应用方面具备超大规模市场优势,可以为risc-v生态建设提供强大的支撑。
2、现有技术中,risc-v指令集中,有几条指令是专门用于控制状态寄存器操作的,在mcu的异常响应、中断处理、睡眠模式等处理过程中有重要作用。
3、但是,现有的通过控制状态寄存器指令间接访问控制状态寄存器的时候,存在频繁读写,效率低下的问题,使得mcu在异常响应、中断处理、睡眠模式等关键环节表现的不尽人意。
技术实现思路
1、本发明的目的在于提供一种适用于risc-v架构的控制状态寄存器间接访问方法,以解决上述背景技术中提出的问题。
2、为实现上述目的,本发明提供如下技术方案:一种适用于risc-v架构的控制状态寄存器间接访问方法,所述方法包括以下步骤:
3、将一个立即数写入专用寄存器t1用来确定第一个要访问的控制状态寄存器地址;
4、将一个立即数写入专用寄存器t2用来确定最后一个要访问的控制状态寄存器地址;
5、标记一个循环的起点loop,然后调用控制状态寄存器间接访问指令对控制状态寄存器进行访问;
6、判断当前的地址t1和结束地址t2的位置关系,如果t1小于等于t2则回到循环起点loop,如果t1大于t2则完成当前操作。
7、优选的,调用控制状态寄存器间接访问指令对控制状态寄存器进行访问还包括,对专用寄存器t1进行读取、加1和写入操作以实现控制状态寄存器的地址加1。
8、优选的,控制状态寄存器地址实现自动递减,以提升用户操作中的代码执行速度。
9、优选的,还包括csrrw、csrrs、csrrc、csrrwi、csrrsi、csrrci6条控制状态寄存器间接访问指令。
10、优选的,csrrw用于读后写控制状态寄存器;
11、csrrs用于读后置位控制状态寄存器;
12、csrrc用于读后清除控制状态寄存器;
13、csrrwi用于立即数读后写控制状态寄存器;
14、csrrsi用于立即数读后置位控制状态寄存器;
15、csrrci用于立即数读后清除控制状态寄存器。
16、与现有技术相比,本发明的有益效果是:
17、本发明提出的适用于risc-v架构的控制状态寄存器间接访问方法,通过对现有的控制状态寄存器模块的状态机进行改进,在寄存器每次被读写后,寄存器地址自动递加,有效减少指令运行条数,以达到控制状态寄存器的间接访问速度,减少异常响应时现场保存所需时间,提升中断处理时寄存器值的压栈速度,加快睡眠模式的进入和唤醒速度。
1.一种适用于risc-v架构的控制状态寄存器间接访问方法,其特征在于:所述方法包括以下步骤:
2.根据权利要求1所述的一种适用于risc-v架构的控制状态寄存器间接访问方法,其特征在于:调用控制状态寄存器间接访问指令对控制状态寄存器进行访问还包括,对专用寄存器t1进行读取、加1和写入操作以实现控制状态寄存器的地址加1。
3.根据权利要求1所述的一种适用于risc-v架构的控制状态寄存器间接访问方法,其特征在于:控制状态寄存器地址实现自动递减,以提升用户操作中的代码执行速度。
4.根据权利要求1所述的一种适用于risc-v架构的控制状态寄存器间接访问方法,其特征在于:还包括csrrw、csrrs、csrrc、csrrwi、csrrsi、csrrci6条控制状态寄存器间接访问指令。
5.根据权利要求4所述的一种适用于risc-v架构的控制状态寄存器间接访问方法,其特征在于:csrrw用于读后写控制状态寄存器;