[发明专利]一种面向RISC-V众核处理器的功耗监测电路有效
申请号: | 202110626692.0 | 申请日: | 2021-06-05 |
公开(公告)号: | CN113535508B | 公开(公告)日: | 2022-03-18 |
发明(设计)人: | 韩军;雷迈;周宇超;曾晓洋 | 申请(专利权)人: | 复旦大学 |
主分类号: | G06F11/30 | 分类号: | G06F11/30 |
代理公司: | 上海正旦专利代理有限公司 31200 | 代理人: | 陆飞;陆尤 |
地址: | 200433 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 risc 处理器 功耗 监测 电路 | ||
1.一种面向RISC-V众核处理器的功耗监测电路,其特征在于,根据监测事件集的监测信号实时监测众核处理器所有处理器核的动态功耗并将监测数据发送给软件,以代入处理器核动态功耗模型实时计算众核处理器动态功耗值;所述功耗监测电路包括译码模块、分析模块、控制模块、监测模块和存储模块;其中:
所述译码模块,对指令进行译码,生成相应的控制信号及配置信息;当指令为CSR指令的时候,译码模块解析CSR指令,根据CSR指令具体值确定复位功耗监测电路还是配置功耗监测电路;配置功耗监测电路时,译码模块根据解析CSR指令包含的CSR地址作为所述功耗监测电路内部各个配置寄存器的地址,并按照相应地址配置相应的功耗监测电路配置寄存器的值;译码模块生成的相应控制信号还将用于控制功耗监测电路状态的跳转;
所述分析模块,从处理器核内部取出原始信号并且通过分析处理器核电路结构特征生成具有监测事件集中相应事件含义的各个监测信号,然后传给监测模块进行监测;
所述监测事件集包含处理器核未停止事件、指令执行完毕事件、分支误预测事件、乘除取余指令事件、指令地址跳转事件、指令缓存非忙碌事件、处理器时钟事件;
监测事件集的各个监测信号生成方式取决于选定的处理器核的电路结构,根据处理器核的电路结构生成具有监测事件含义的监测信号,以反映处理器动态功耗特征;
处理器核未停止事件,反映处理器核的工作状态,其监测信号由该处理器核的“id_self_stall”“id_back_stall”“icache_stall”信号进行或非运算生成;
指令执行完毕事件,反映指令正确执行而没有被流水线冲刷的情况,其监测信号由该处理器核的“wb_bubble”“wb_stall”信号进行或非运算生成;
分支误预测事件,反映处理器核错误地进行分支预测,因此需要冲刷流水线从而消耗大量动态功耗,其监测信号由该处理器核的“wrong_jalr_pc”“frontend_icache_busy”“mem_bubble”“mem_stall”“wrong_branch_pc”信号共同生成;
乘除取余事件,反映处理器核进行乘除取余运算的情况,这些情况下处理器核产生较多动态功耗,其监测信号由该处理器核的指令信号以及指令有效信号共同生成;
指令地址跳转事件,反映处理器核发生指令分支的情况,其监测信号由该处理器核的当前时刻的指令地址信号以及指令地址信号的历史信息共同生成;
指令缓存非忙碌事件,反映指令缓存处于非忙碌的情况,在该情况下处理器核能继续从指令缓存取指令,该事件监测信号可由该处理器核的“frontend_icache_busy”信号取反来生成;
处理器时钟事件,反映处理器核的时钟;
所述控制模块,根据译码模块生成的控制信号控制状态的跳转;功耗监测电路的状态包含空闲状态、配置状态、监测状态、存储状态;空闲状态下功耗监测电路几乎不消耗动态功耗;当用指令配置功耗监测电路时,功耗监测电路将进入配置状态;配置状态下功耗监测电路不进行监测,其内部的配置寄存器和监测器均可写入数据;采用CSR指令配置功耗监测电路时,功耗监测电路将内部初始数据发送给处理器核的通用寄存器;当指令配置完功耗监测电路后,功耗监测电路跳转到监测状态;监测状态下功耗监测电路将不能被写入数据,功耗监测电路将在设定的监测时钟区间内对处理器的各个事件进行监测计数;监测结束后,功耗监测电路将跳转到存储状态;存储状态下,功耗监测电路会依次将其配置信息以及各个监测器的监测值存储到处理器核的CSR模块中;
所述监测模块,主要存放了12个监测器;其中7个监测器对前述7个所选事件:处理器核未停止事件、指令执行完毕事件、分支误预测事件、乘除取余指令事件、指令地址跳转事件、指令缓存非忙碌事件、处理器时钟事件进行监测;另外2个监测器进行其他事件的监测;剩下3个监测器分别用于监测全局时钟、记录设置的开始监测时间和结束监测时间;这些监测器能识别功耗监测电路所处状态,并在监测状态下对分析模块生成的监测信号进行监测计数;监测器也能识别设置的监测时钟区间以便准确监测目标程序;
所述存储模块,在监测结束后把监测信息和配置信息发送给处理器核的CSR模块以供软件调用和处理;存储模块采用了存储地址指针,依次指向功耗监测电路中存放监测信息以及配置信息的寄存器,并将这些数据串行地存放到CSR模块的寄存器中。
2.根据权利要求1所述的面向RISC-V众核处理器的功耗监测电路,其特征在于,用RISC-V指令进行配置,配置开始监测时间和结束监测时间信息,以供准确追踪目标程序的执行阶段;指令配置功耗监测电路时,功耗监测电路将信息传输给处理器核的通用寄存器文件;功耗监测电路集成到众核处理器的各个tile中,进行与处理器核的交互;这里,tile由一级数据缓存、一级指令缓存、处理器核、发送数据包的路由器、接收数据包的路由器、片上网络接口构成。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于复旦大学,未经复旦大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110626692.0/1.html,转载请声明来源钻瓜专利网。