一种基于RISC_V串行FLASH系统架构的高效CPU指令读取法技术方案

技术编号:21713974 阅读:29 留言:0更新日期:2019-07-27 19:06
本发明专利技术公开了CPU指令读取技术,尤其是涉及一种基于RISC_V串行FLASH系统架构的高效CPU指令读取法。该一种基于RISC_V串行FLASH系统架构的高效CPU指令读取法,硬件架构内cache line共16条;每次CPU读取某条地址的指令时,硬件逻辑会在16条Cache line中做地址匹配,当指令地址已经存在于当前的指令缓存中,则直接从SRAM中读取指令;当CPU读取的指令地址不存在于当前的指令缓存中时,逻辑才会发起对FLASH访问命令,并一次性读取一定条数的地址连续的指令并存储到SRAM中,用于替换旧的缓存指令。其有益效果是:降低了企业生产成本,降低了企业的经济损失,给企业正常运营带来极大的便利。

An Efficient CPU Instruction Reading Method Based on RISC_V Serial FLASH System Architecture

【技术实现步骤摘要】
一种基于RISC_V串行FLASH系统架构的高效CPU指令读取法
本专利技术公开了一种处理器的验证方法,尤其是涉及一种基于RISC_V串行FLASH系统架构的高效CPU指令读取法。
技术介绍
现有技术中,传统的MCU将SPIFLASH芯片作为软件指令存储,往往为了满足软件高效运行指令的需求,需要在MCU芯片内部嵌入大容量的内存SRAM用于指令的执行和存储,该种方法这不利于MCU芯片的成本控制且指令执行效率低下,运算速度极慢,极大的浪费了企业的生产成本,消耗了大量的人力和时间,给企业造成巨大的经济损失。
技术实现思路
本专利技术的目的在于提供一种基于RISC_V串行FLASH系统架构的高效CPU指令读取法,本专利技术采用的技术方案是:。本专利技术具有的有益效果是:定义了一种基于SPI串行FLASH接口的FLASH读取加速器的硬件逻辑架构,达到可以在不需要太多SRAM支持的前提下,实现CPU直接从FLASH里高效地读取指令并执行的目的,达到平均95%以上的指令命中效率,利用片外串行FLASH的大容量,低成本优势来满足软件对程序空间和指令执行效率的双重要求,降低了企业生产成本,降低了企业的经济损失,给企业正常运营带来极大的便利。附图说明图1为本专利技术的指令读取加速硬件逻辑架构示意图;图2为本专利技术的算法说明图。具体实施方式下面将结合附图和实施例对本专利技术作进一步的说明。本专利技术的一种基于RISC_V串行FLASH系统架构的高效CPU指令读取法,其特征是:硬件架构内cacheline共16条,cacheline使用一块片内SRAM来实现软件指令存储,SRAM的存储空间大小可根据每一条cacheline缓存的指令条数以及cacheline的条数来决定;每次CPU读取某条地址的指令时,硬件逻辑会在16条Cacheline中做地址匹配,当指令地址已经存在于当前的指令缓存中,则直接从SRAM中读取指令;当CPU读取的指令地址不存在于当前的指令缓存中时,逻辑才会发起对FLASH访问命令,并一次性读取一定条数的地址连续的指令并存储到SRAM中,用于替换旧的缓存指令。具体的,SPIFLASH接口控制逻辑模块,是基于硬件逻辑实现的SPIFLASH访问命令执行模块,软件不参与SPIFLASH的访问控制。具体的,CPU取指令接口控制模块是基于MCU访问总线协议设计逻辑,根据AHB或AXI协议处理。具体的,匹配替换算法为LRU算法,当MCU读取指令的地址在所有的16条CACHELINE中都不存在的时候,硬件逻辑则自动用从片外SPIFLASH读取进来的新的64条指令替换掉16条CACHELINE中最久没用被命中过的那一条。具体的,16条cacheline,每条缓存32条32bit指令,所以SRAM的大小是16x32x4=2KB。下面结合附图对本专利技术的具体实施方式做出简要说明。本专利技术提供了一种基于RISC_V串行FLASH系统架构的高效CPU指令读取法。为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。本专利技术指令读取加速硬件逻辑架如图1所示,硬件架构内cacheline共16条,cacheline使用一块片内SRAM来实现软件指令存储,SRAM的存储空间大小可根据每一条cacheline缓存的指令条数以及cacheline的条数来决定;每次CPU读取某条地址的指令时,硬件逻辑会在16条Cacheline中做地址匹配,当指令地址已经存在于当前的指令缓存中,则直接从SRAM中读取指令;当CPU读取的指令地址不存在于当前的指令缓存中时,逻辑才会发起对FLASH访问命令,并一次性读取一定条数的地址连续的指令并存储到SRAM中,用于替换旧的缓存指令。SPIFLASH接口控制逻辑模块,是基于硬件逻辑实现的SPIFLASH访问命令执行模块,软件不参与SPIFLASH的访问控制。CPU取指令接口控制模块是基于MCU访问总线协议设计逻辑,根据AHB或AXI协议处理。匹配替换算法为LRU算法,当MCU读取指令的地址在所有的16条CACHELINE中都不存在的时候,硬件逻辑则自动用从片外SPIFLASH读取进来的新的64条指令替换掉16条CACHELINE中最久没用被命中过的那一条,16条cacheline,每条缓存32条32bit指令,所以SRAM的大小是16x32x4=2KB,算法如图2所示。在上述硬件架构中,MCU取指令在运行COREMARK程序时基本可以达到平均95%的命中率,即95%的指令可以在片内的SRAM中直接读取,从而减少片外FLASH的访问次数,达到提高CPU指令运行效率的目的。本专利技术不局限于上述实施方式,任何人应得知在本专利技术的启示下做出的与本专利技术具有相同或相近的技术方案,均落入本专利技术的保护范围之内。本专利技术未详细描述的技术、形状、构造部分均为公知技术。本文档来自技高网...

【技术保护点】
1.一种基于RISC_V串行FLASH系统架构的高效CPU指令读取法,其特征是:硬件架构内cache line共16条,cache line使用一块片内SRAM来实现软件指令存储,SRAM的存储空间大小可根据每一条cache line缓存的指令条数以及cache line的条数来决定;每次CPU读取某条地址的指令时,硬件逻辑会在16条Cache line中做地址匹配,当指令地址已经存在于当前的指令缓存中,则直接从SRAM中读取指令;当CPU读取的指令地址不存在于当前的指令缓存中时,逻辑才会发起对FLASH访问命令,并一次性读取一定条数的地址连续的指令并存储到SRAM中,用于替换旧的缓存指令。

【技术特征摘要】
1.一种基于RISC_V串行FLASH系统架构的高效CPU指令读取法,其特征是:硬件架构内cacheline共16条,cacheline使用一块片内SRAM来实现软件指令存储,SRAM的存储空间大小可根据每一条cacheline缓存的指令条数以及cacheline的条数来决定;每次CPU读取某条地址的指令时,硬件逻辑会在16条Cacheline中做地址匹配,当指令地址已经存在于当前的指令缓存中,则直接从SRAM中读取指令;当CPU读取的指令地址不存在于当前的指令缓存中时,逻辑才会发起对FLASH访问命令,并一次性读取一定条数的地址连续的指令并存储到SRAM中,用于替换旧的缓存指令。2.根据权利1所述一种基于RISC_V串行FLASH系统架构的高效CPU指令读取法,其特征在于:SPIFLASH接口控制逻辑模块,是基于硬件逻辑实现的SPIFLA...

【专利技术属性】
技术研发人员:饶勇黄勇华吴海龙徐桂洪
申请(专利权)人:威海优微科技有限公司
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1