用于嵌入式系统的指令存储装置制造方法

文档序号:6525397阅读:201来源:国知局
用于嵌入式系统的指令存储装置制造方法
【专利摘要】本发明提供一种用于嵌入式系统的指令存储装置,包括CPU处理单元、用于存储指令信息的指令存储器和存放有若干个指令段的高速缓存单元;所述高速缓存单元包括地址路径模块、数据路径模块、控制逻辑模块、随机存储器和状态寄存器;所述指令段由指令地址位、指令状态位和指令信息位组成;随机存储器包括指令信息存储区、指令地址存储区,所述指令信息存储区用于集中存放所述若干个指令段中各自的指令信息,所述指令地址存储区用于集中存放所述若干个指令段中各自的指令地址信息。本发明可以方便的清除指令段,且在CPU对指令存储器执行编程操作后,可以支持仅清除掉高速缓存器中该编程地址对应的指令段,大大缩短了原有技术在遇到CPU对指令存储器执行编程操作时需要flushcache的时间。
【专利说明】用于嵌入式系统的指令存储装置
【技术领域】
[0001]本发明涉及嵌入式系统领域,具体涉及一种用于嵌入式系统的指令存储装置。
【背景技术】
[0002]目前针对指令Cache的实现主要包括以下几种:内嵌在CPU中,通过CPU执行特殊的Cache指令来实现Cache的flush等操作;还有就是独立在CPU外部的片上指令Cache,但其属性等状态信息和数据、地址信息一起存储到一块memory中,当用户读取指令后,读入的指令会填充到Cache内部的一个cache line中,此后如果用户对外部的存储设备执行编程操作,为了保证外部存储器与cache的一致性,就需要flush整块memory,这样带来的后果就是效率低下,因为用户需要对指令存储器的编程操作及其少,如果因为编程操作导致用户flush整块memory,不仅耗时较长,而且严重降低了整个系统的性能。

【发明内容】

[0003]本发明目的是提供一种用于嵌入式系统的指令存储装置,该用于嵌入式系统的指令存储装置不仅可以方便的清除指令段,而且在CPU对指令存储器执行编程操作后,可以支持仅清除掉缓存中该编程地址对应的指令段,大大缩短了原有技术在遇到CPU对指令存储器执行编程操作时需要清除指令段的时间,而且只会清除被修改的指令段,不会影响缓存里其他的内容,不会对系统性能造成大的影响。
[0004]为达到上述目的,本发明采用的技术方案是:一种用于嵌入式系统的指令存储装置,包括CPU处理单元、用于存储指令信息的指令存储器和存放有若干个指令段的高速缓存单元;所述高速缓存单元包括地址路径模块、数据路径模块、控制逻辑模块、随机存储器和状态寄存器;所述地址路径模块位于CPU处理单元和指令存储器之间,用于将来自CPU处理单元的读/编程地址信息传输到指令存储器;所述数据路径模块位于CPU处理单元和指令存储器之间,用于响应CPU处理单元的读请求将位于指令存储器内指令信息传输给CPU处理单元,或者,响应CPU处理单元发出的指令编程操作,改变指令存储器内的指令内容;所述控制逻辑模块根据来自CPU处理单元的读/编程控制信号和来自指令存储器的响应信号,控制地址路径模块和数据路径模块;
所述指令段由指令地址位、指令状态位和指令信息位组成,所述指令信息位用于存储来自指令存储器的指令信息,所述指令地址位用于存储指令信息位中指令信息在指令存储器中对应的指令地址信息,所述指令状态位用于标识所述指令段中指令信息是否有效,所述状态寄存器用于集中存放若干个指令段中各自的有效状态信息;
所述随机存储器包括指令信息存储区、指令地址存储区,所述指令信息存储区用于集中存放所述若干个指令段中各自的指令信息,所述指令地址存储区用于集中存放所述若干个指令段中各自的指令地址信息;
当CPU处理单元向所述指令存储器进行指令编程操作时,如果指令地址存储区内指令地址信息与所述指令编程操作的地址匹配,则状态寄存器中相应的指令状态位置“0”即无 效;
当CPU处理单元向所述指令存储器读指令信息时,待读指令地址与随机存储器中指令地址存储区进行比较,如果待读指令地址与其中一个地址匹配且该指令地址对应状态寄存器的指令状态位有效时,指令段匹配成功,由指令信息存储区输出数据通过数据路径模块传输给CPU处理单元,同时控制逻辑会生成对应的总线应答信号输出给处理器;否则,指令段匹配失败,所述指令读操作被bypass到指令存储器,由指令存储器输出数据通过数据路径模块传输给CPU处理单元,同时,读出的指令信息会根据其地址填充到所述指令信息存储区相应位置,指令地址存储区存放读出的指令信息在指令存储器的地址信息,且状态寄存器中相应的指令状态位置“I”即有效。
[0005]上述技术方案中的进一步改进方案如下:
上述方案中,所述指令信息位存放至少2个指令信息。
[0006]由于上述技术方案运用,本发明与现有技术相比具有下列优点和效果:
本发明用于嵌入式系统的指令存储装置,其不仅可以方便的flush cache,而且在CPU对指令存储器执行编程操作后,可以支持仅flush掉Cache中该编程地址对应的cacheline,大大缩短了原有技术在遇到CPU对指令存储器执行编程操作时需要flush cache的时间,而且只会flush被修改的cache line,不会影响cache里其他的内容,不会对系统性能造成大的影响。
【专利附图】

【附图说明】
[0007]附图1为本发明用于嵌入式系统的指令存储装置结构示意图;
附图2为本发明用于嵌入式系统的指令存储装置局部示意图。
[0008]以上附图中:1、CPU处理单元;2、指令存储器;3、高速缓存单元;4、地址路径模块;
5、数据路径模块;6、控制逻辑模块;7、状态寄存器;8、随机存储器;81、指令信息存储区;82、指令地址存储区。
【具体实施方式】
[0009]下面结合附图及实施例对本发明作进一步描述:
实施例:一种用于嵌入式系统的指令存储装置,包括CPU处理单元1、用于存储指令信息的指令存储器2和存放有若干个指令段的高速缓存单元3 ;所述高速缓存单元3包括地址路径模块4、数据路径模块5、控制逻辑模块6、随机存储器8和状态寄存器7 ;所述地址路径模块4位于CPU处理单元I和指令存储器2之间,用于将来自CPU处理单元I的读/编程地址信息传输到指令存储器2 ;所述数据路径模块5位于CPU处理单元I和指令存储器2之间,用于响应CPU处理单元I的读请求将位于指令存储器2内指令信息传输给CPU处理单元1,或者,响应CPU处理单元I发出的指令编程操作,改变指令存储器2内的指令内容;所述控制逻辑模块6根据来自CPU处理单元I的读/编程控制信号和来自指令存储器2的响应信号,控制地址路径模块4和数据路径模块5 ;
所述指令段由指令地址位、指令状态位和指令信息位组成,所述指令信息位用于存储来自指令存储器2的指令信息,所述指令地址位用于存储指令信息位中指令信息在指令存储器2中对应的指令地址信息,所述指令状态位用于标识所述指令段中指令信息是否有效,所述状态寄存器7用于集中存放所述若干个指令段中各自的有效状态信息;
所述随机存储器8包括指令信息存储区81、指令地址存储区82,所述指令信息存储区81用于集中存放所述若干个指令段中各自的指令信息,所述指令地址存储区82用于集中存放所述若干个指令段中各自的指令地址信息;
当CPU处理单元I向所述指令存储器进行指令编程操作时,如果指令地址存储区82内指令地址信息与所述指令编程操作的地址匹配,则状态寄存器7中相应的指令状态位置“0”即无效;
当CPU处理单元I向所述指令存储器2读指令信息时,待读指令地址Address Bus与随机存储器8中指令地址存储区82进行比较,如果待读指令地址Address Bus与其中一个地址匹配且该指令地址对应状态寄存器7的指令状态位有效时,指令段匹配成功,由指令信息存储区81输出数据通过数据路径模块5传输给CPU处理单元1,同时控制逻辑会生成对应的总线应答信号输出给处理器;否则,指令段匹配失败,所述指令读操作被bypass到指令存储器2,由指令存储器2输出数据通过数据路径模块5传输给CPU处理单元1,同时,读出的指令信息会根据其地址填充到所述指令信息存储区81相应位置,指令地址存储区82存放读出的指令信息在指令存储器2的地址信息,且状态寄存器7中相应的指令状态位置“I”即有效。
[0010]上述指令信息位存放至少2个指令信息。
[0011]下面是一个cache line的结构:
【权利要求】
1.一种用于嵌入式系统的指令存储装置,包括CPU处理单元(I)、用于存储指令信息的指令存储器(2)和存放有若干个指令段的高速缓存单元(3);其特征在于:所述高速缓存单元(3)包括地址路径模块(4)、数据路径模块(5)、控制逻辑模块(6)、随机存储器(8)和状态寄存器(7 );所述地址路径模块(4)位于CPU处理单元(I)和指令存储器(2 )之间,用于将来自CPU处理单元(I)的读/编程地址信息传输到指令存储器(2);所述数据路径模块(5)位于CPU处理单元(I)和指令存储器(2)之间,用于响应CPU处理单元(I)的读请求将位于指令存储器(2)内的指令信息传输给CPU处理单元(I ),或者,响应CPU处理单元(I)发出的指令编程操作,改变指令存储器(2)内的指令内容;所述控制逻辑模块(6)根据来自CPU处理单元(I)的读/编程控制信号和来自指令存储器(2)的响应信号,控制地址路径模块(4)和数据路径模块(5); 所述指令段由指令地址位、指令状态位和指令信息位组成,所述指令信息位用于存储来自指令存储器(2 )的指令信息,所述指令地址位用于存储指令信息位中指令信息在指令存储器(2)中对应的指令地址信息,所述指令状态位用于标识所述指令段中指令信息是否有效,所述状态寄存器(7)用于集中存放若干个指令段中各自的有效状态信息; 所述随机存储器(8)包括指令信息存储区(81)、指令地址存储区(82),所述指令信息存储区(81)用于集中存放所述若干个指令段中各自的指令信息,所述指令地址存储区(82)用于集中存放所述若干个指令段中各自的指令地址信息; 当CPU处理单元(I)向所述指令存储器(2)进行指令编程操作时,如果指令地址存储区(82)内指令地址信息与所述指令编程的地址匹配,则状态寄存器(7)中相应的指令状态位置“0”即无效; 当CPU处理单元(I)向所述指令存储器(2)读指令信息时,待读指令地址(AddressBus)与随机存储器(8)中指令地址存储区(82)进行比较,如果待读指令地址(AddressBus)与其中一个地址匹配且该指令地址对应状态寄存器(7)的指令状态位有效时,指令段匹配成功,由指令信息存储区(81)输出数据通过数据路径模块(5)传输给CPU处理单元(1),同时控制逻辑会生成对应的总线应答信号输出给处理器;否则,指令段匹配失败,所述指令读操作被bypass到指令存储器(2),由指令存储器(2)输出数据通过数据路径模块(5)传输给CPU处理单元(I ),同时,读出的指令信息会根据其地址填充到所述指令信息存储区(81)相应位置,指令地址存储区(82)存放读出的指令信息在指令存储器(2)的地址信息,且状态寄存器(7)中相应的指令状态位置“ I”即有效。
2.根据权利要求1所述的指令存储装置,其特征在于:所述指令信息位存放至少2个指令信息。
【文档编号】G06F12/08GK103810116SQ201310722461
【公开日】2014年5月21日 申请日期:2013年12月24日 优先权日:2013年12月24日
【发明者】郑茳, 肖佐楠, 匡启和, 竺际隆, 张艳丽, 李利 申请人:苏州国芯科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1