用于嵌入式系统的高速缓存器技术方案

技术编号:10075430 阅读:151 留言:0更新日期:2014-05-24 04:53
本发明专利技术提供一种用于嵌入式系统的高速缓存器,包括地址路径模块、数据路径模块、控制逻辑模块和指令存储模块;指令存储模块包括指令数据寄存器、指令地址寄存器、状态寄存器,指令数据寄存器用于集中存放所述若干个指令段中各自的指令信息,所述指令地址寄存器用于集中存放所述若干个指令段中各自的指令地址信息,所述状态寄存器用于集中存放所述若干个指令段中各自的有效状态信息;当CPU处理单元向所述指令存储器进行指令编程操作时,如果指令地址寄存器内指令地址信息与所述指令编程操作的地址匹配,则状态寄存器中相应的指令状态位置“0”即无效。本发明专利技术可以方便的清除指令段,且在CPU对指令存储器执行编程操作后,可以支持仅清除掉高速缓存器中该编程地址对应的指令段,大大缩短了清除缓存的时间。

【技术实现步骤摘要】

本专利技术涉及嵌入式系统领域,具体涉及一种用于嵌入式系统的高速缓存器
技术介绍
目前针对指令Cache的实现主要包括以下几种:内嵌在CPU中,通过CPU执行特殊的Cache指令来实现Cache的flush等操作;还有就是独立在CPU外部的片上指令Cache,但其属性等状态信息和数据、地址信息一起存储到一块memory中,当用户读取指令后,读入的指令会填充到Cache内部的一个cache line中,此后如果用户对外部的存储设备执行编程操作,为了保证外部存储器与cache的一致性,就需要flush整块memory,这样带来的后果就是效率低下,因为用户需要对指令存储器的编程操作及其少,如果因为编程操作导致用户flush整块memory,不仅耗时较长,而且严重降低了整个系统的性能。
技术实现思路
本专利技术目的是提供一种用于嵌入式系统的高速缓存器,该用于嵌入式系统的高速缓存器不仅可以方便的flush cache,而且在CPU对指令存储器执行编程操作后,可以支持仅flush掉Cache中该编程地址对应的cache line,大大缩短了原有技术在遇到CPU对指令存储器执行编程操作时需要flush cache的时间,而且只会flush被修改的cache line,不会影响cache里其他的内容,不会对系统性能造成大的影响。为达到上述目的,本专利技术采用的技术方案是:一种用于嵌入式系统的高速缓存器,包括地址路径模块、数据路径模块、控制逻辑模块和指令存储模块;所述地址路径模块用于将来自CPU处理单元的读/编程地址信息传输到指令存储器;所述数据路径模块用于响应CPU处理单元的读请求将位于指令存储器内的指令信息传输给CPU处理单元,或者,响应CPU处理单元发出的指令编程操作,改变指令存储器内的指令内容;所述控制逻辑模块根据来自CPU处理单元的读/编程控制信号和来自指令存储器的响应信号,控制地址路径模块和数据路径模块;所述指令存储模块存储若干个指令段,该指令段由指令地址位、指令状态位和指令数据位组成,所述指令数据位用于存储来自指令存储器的指令信息,所述指令地址位用于存储指令数据位中指令信息在指令存储器中对应的指令地址信息,所述指令状态位用于标识所述指令段中指令信息是否有效;所述指令存储模块包括指令数据寄存器、指令地址寄存器、状态寄存器,所述指令数据寄存器用于集中存放所述若干个指令段中各自的指令信息,所述指令地址寄存器用于集中存放所述若干个指令段中各自的指令地址信息,所述状态寄存器用于集中存放所述若干个指令段中各自的有效状态信息;当CPU处理单元向所述指令存储器进行指令编程操作时,如果指令地址寄存器内指令地址信息与所述指令编程操作的地址匹配,则状态寄存器中相应的指令状态位置“0”即无效;当CPU处理单元向所述指令存储器读指令信息时,待读指令地址与指令地址寄存器进行比较,如果待读指令地址与其中一个地址匹配且该指令地址对应状态寄存器的指令状态位有效时,指令段匹配成功,由指令数据寄存器输出数据通过数据路径模块传输给CPU处理单元,同时控制逻辑会生成对应的总线应答信号输出给处理器;否则,指令段匹配失败,所述指令读操作被bypass到指令存储器,由指令存储器输出数据通过数据路径模块传输给CPU处理单元,同时,读出的指令信息会根据其地址填充到所述指令数据寄存器相应位置,指令地址寄存器存放读出的指令信息在指令存储器的地址信息,且状态寄存器中相应的指令状态位置“1”即有效。上述技术方案中的进一步改进方案如下:上述方案中,所述指令数据位存放至少2个指令信息。由于上述技术方案运用,本专利技术与现有技术相比具有下列优点和效果:本专利技术用于嵌入式系统的高速缓存器,其不仅可以方便的flush cache,而且在CPU对指令存储器执行编程操作后,可以支持仅flush掉Cache中该编程地址对应的cache line,大大缩短了原有技术在遇到CPU对指令存储器执行编程操作时需要flush cache的时间,而且只会flush被修改的cache line,不会影响cache里其他的内容,不会对系统性能造成大的影响。附图说明附图1为本专利技术用于嵌入式系统的高速缓存器结构示意图;附图2为本专利技术用于嵌入式系统存储系统结构示意图。以上附图中:1、地址路径模块;2、数据路径模块;3、控制逻辑模块;4、指令存储模块;41、指令数据寄存器;42、指令地址寄存器;43、状态寄存器。具体实施方式下面结合附图及实施例对本专利技术作进一步描述:实施例:一种用于嵌入式系统的高速缓存器,包括地址路径模块1、数据路径模块2、控制逻辑模块3和指令存储模块4;所述地址路径模块1用于将来自CPU处理单元的读/编程地址信息传输到指令存储器;所述数据路径模块2用于响应CPU处理单元的读请求将位于指令存储器内指令信息传输给CPU处理单元,或者,响应CPU处理单元发出的指令编程操作,改变指令存储器内的指令内容;所述控制逻辑模块3根据来自CPU处理单元的读/编程控制信号和来自指令存储器的响应信号,控制地址路径模块1和数据路径模块2;所述指令存储模块4存储若干个指令段,该指令段由指令地址位、指令状态位和指令数据位组成,所述指令数据位用于存储来自指令存储器的指令信息,所述指令地址位用于存储指令数据位中指令信息在指令存储器中对应的指令地址信息,所述指令状态位用于标识所述指令段中指令信息是否有效;所述指令存储模块4包括指令数据寄存器41、指令地址寄存器42、状态寄存器43,所述指令数据寄存器41用于集中存放所述若干个指令段中各自的指令信息,所述指令地址寄存器42用于集中存放所述若干个指令段中各自的指令地址信息,所述状态寄存器43用于集中存放所述若干个指令段中各自的有效状态信息;当CPU处理单元向所述指令存储器进行指令编程操作时,如果指令地址寄存器42内指令地址信息与所述指令编程操作的地址匹配,则状态寄存器43中相应的指令状态位置“0”即无效;当CPU处理单元向所述指令存储器读指令信息时,待读指令地址与指令地址寄存器42进行比较,如果待读指令地址与其中一个地址匹配且该指令地址对应状态寄存器43的指令状态位有效时,指令段匹配成功,由指令数据寄存器41输出数据通过数据路径模块2传输给CPU处理单元,同时控制逻辑会生成对应的总线应答信号输出给处理器;否则,指令段匹配失败,所述指令读操作被bypass到指令存储器,由指令存储器输出数据通过数据路径模块2传输给CPU处理单元,同时,读出的指令信息会根据其地址填充到所述指令数据寄存器41相应位置,指令地址寄存器42存放读出的指令信息在指令存储器的地址信息,且状态寄存器43中相应的指令状态位置“1”即有效。上述指令数据位存放至少2个指令信息。状态位(V)指示本cache line是否已填充有效的数据,当读指令时,读入的指令会根据地址填充到相应的cache line。此时,状态位“V”置“1”,表示该cache line有效。当需要清除该cache line中的数据本文档来自技高网...
用于嵌入式系统的高速缓存器

【技术保护点】

【技术特征摘要】
1. 一种用于嵌入式系统的高速缓存器,其特征在于:包括地址路径模块(1)、数据路径模块(2)、控制逻辑模块(3)和指令存储模块(4);所述地址路径模块(1)用于将来自CPU处理单元的读/编程地址信息传输到指令存储器;所述数据路径模块(2)用于响应CPU处理单元的读请求将位于指令存储器内的指令信息传输给CPU处理单元,或者,响应CPU处理单元发出的指令编程操作,改变指令存储器内的指令内容;所述控制逻辑模块(3)根据来自CPU处理单元的读/编程控制信号和来自指令存储器的响应信号,控制地址路径模块(1)和数据路径模块(2);
所述指令存储模块(4)存储若干个指令段,该指令段由指令地址位、指令状态位和指令数据位组成,所述指令数据位用于存储来自指令存储器的指令信息,所述指令地址位用于存储指令数据位中指令信息在指令存储器中对应的指令地址信息,所述指令状态位用于标识所述指令段中指令信息是否有效;
所述指令存储模块(4)包括指令数据寄存器(41)、指令地址寄存器(42)、状态寄存器(43),所述指令数据寄存器(41)用于集中存放所述若干个指令段中各自的指令信息,所述指令地址寄存器(42)用于集中存放所述若干个指令段中各自的...

【专利技术属性】
技术研发人员:郑茳肖佐楠匡启和竺际隆张艳丽李利
申请(专利权)人:苏州国芯科技有限公司
类型:发明
国别省市:

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

1