CN103810117B - 处理器用指令存储系统 - Google Patents
处理器用指令存储系统 Download PDFInfo
- Publication number
- CN103810117B CN103810117B CN201310722652.1A CN201310722652A CN103810117B CN 103810117 B CN103810117 B CN 103810117B CN 201310722652 A CN201310722652 A CN 201310722652A CN 103810117 B CN103810117 B CN 103810117B
- Authority
- CN
- China
- Prior art keywords
- instruction
- command
- address
- memory
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提供一种处理器用指令存储系统,包括CPU处理单元、指令存储器和高速缓存单元;所述高速缓存单元包括地址路径模块、数据路径模块、控制逻辑模块和指令存储模块;所述指令存储模块存储若干个指令段,该指令段由指令地址位、指令状态位和指令数据位组成,指令数据位用于存储来自指令存储器的指令信息,所述指令地址位用于存储指令数据位中指令信息在指令存储器中对应的指令地址信息,指令状态位用于标识所述指令段中指令信息是否有效;所述指令存储模块包括指令数据寄存器、指令地址寄存器、状态寄存器。本发明方便了cache的flush操作,且在CPU对指令存储器执行编程操作后,可以支持仅清除掉缓存中该编程地址对应的指令段,大大缩短了原有技术在遇到CPU对指令存储器执行编程操作时需要清除缓存的时间。
Description
技术领域
本发明涉及嵌入式系统领域,具体涉及一种处理器用指令存储系统。
背景技术
目前针对指令Cache的实现主要包括以下几种:内嵌在CPU中,通过CPU执行特殊的Cache指令来实现Cache的flush等操作;还有就是独立在CPU外部的片上指令Cache,但其属性等状态信息和数据、地址信息一起存储到一块memory中,当用户读取指令后,读入的指令会填充到Cache内部的一个cache line中,此后如果用户对外部的存储设备执行编程操作,为了保证外部存储器与cache的一致性,就需要flush整块memory,这样带来的后果就是效率低下,因为用户需要对指令存储器的编程操作及其少,如果因为编程操作导致用户flush整块memory,不仅耗时较长,而且严重降低了整个系统的性能。
发明内容
本发明目的是提供一种处理器用指令存储系统,该处理器用指令存储系统不仅可以方便的清除指令段,而且在CPU对指令存储器执行编程操作后,可以支持仅清除掉缓存中该编程地址对应的指令段,大大缩短了原有技术在遇到CPU对指令存储器执行编程操作时需要清除指令段的时间,而且只会清除被修改的指令段,不会影响缓存里其他的内容,不会对系统性能造成大的影响。
为达到上述目的,本发明采用的技术方案是:一种处理器用指令存储系统,包括CPU处理单元、指令存储器和高速缓存单元;所述高速缓存单元包括地址路径模块、数据路径模块、控制逻辑模块和指令存储模块;所述地址路径模块位于CPU处理单元和指令存储器之间,用于将来自CPU处理单元的读/编程地址信息传输到指令存储器;所述数据路径模块位于CPU处理单元和指令存储器之间,用于响应CPU处理单元的读请求将位于指令存储器内的指令信息传输给CPU处理单元,或者,响应CPU处理单元发出的指令编程操作,改变指令存储器内的指令内容;所述控制逻辑模块根据来自CPU处理单元的读/编程控制信号和来自指令存储器的响应信号,控制地址路径模块和数据路径模块;
所述指令存储模块存储若干个指令段,该指令段由指令地址位、指令状态位和指令数据位组成,所述指令数据位用于存储来自指令存储器的指令信息,所述指令地址位用于存储指令数据位中指令信息在指令存储器中对应的指令地址信息,所述指令状态位用于标识所述指令段中指令信息是否有效;
所述指令存储模块包括指令数据寄存器、指令地址寄存器、状态寄存器,所述指令数据寄存器用于集中存放所述若干个指令段中各自的指令信息,所述指令地址寄存器用于集中存放所述若干个指令段中各自的指令地址信息,所述状态寄存器用于集中存放所述若干个指令段中各自的有效状态信息;
当CPU处理单元向所述指令存储器进行指令编程操作时,如果指令地址寄存器内指令地址信息与所述指令编程操作的指令地址信息匹配,则状态寄存器中相应的指令状态位置“0”即无效;当CPU处理单元向所述指令存储器读指令信息时,读出的指令信息会根据其地址填充到所述指令数据寄存器相应位置,同时,指令地址寄存器存放读出的指令信息在指令存储器的地址信息,且状态寄存器中相应的指令状态位置“1”即有效。
上述技术方案中的进一步改进方案如下:
上述方案中,所述指令数据位存放至少2个指令信息。
由于上述技术方案运用,本发明与现有技术相比具有下列优点和效果:
本发明处理器用指令存储系统,不仅可以方便的清除指令段,而且在CPU对指令存储器执行编程操作后,可以支持仅清除掉缓存中该编程地址对应的指令段,大大缩短了原有技术在遇到CPU对指令存储器执行编程操作时需要清除指令段的时间,而且只会清除被修改的指令段,不会影响缓存里其他的内容,不会对系统性能造成大的影响。
附图说明
附图1为本发明处理器用指令存储系统结构示意图。
以上附图中:1、CPU处理单元;2、指令存储器;3、高速缓存单元;4、地址路径模块;5、数据路径模块;6、控制逻辑模块;7、指令存储模块;71、指令数据寄存器;72、指令地址寄存器;73、状态寄存器。
具体实施方式
下面结合附图及实施例对本发明作进一步描述:
实施例:一种处理器用指令存储系统,包括CPU处理单元1、指令存储器2和高速缓存单元3;所述高速缓存单元3包括地址路径模块4、数据路径模块5、控制逻辑模块6和指令存储模块7;所述地址路径模块4位于CPU处理单元1和指令存储器2之间,用于将来自CPU处理单元1的读/编程地址信息传输到指令存储器2;所述数据路径模块5位于CPU处理单元1和指令存储器2之间,用于响应CPU处理单元1的读请求将位于指令存储器2内的指令信息传输给CPU处理单元1,或者,响应CPU处理单元1发出的指令编程操作,改变指令存储器2内的指令内容;所述控制逻辑模块6根据来自CPU处理单元1的读/编程控制信号和来自指令存储器2的响应信号,控制地址路径模块4和数据路径模块5;
所述指令存储模块7存储若干个指令段,该指令段由指令地址位、指令状态位和指令数据位组成,所述指令数据位用于存储来自指令存储器2的指令信息,所述指令地址位用于存储指令数据位中指令信息在指令存储器2中对应的指令地址信息,所述指令状态位用于标识所述指令段中指令信息是否有效;
所述指令存储模块7包括指令数据寄存器71、指令地址寄存器72、状态寄存器73,所述指令数据寄存器71用于集中存放所述若干个指令段中各自的指令信息,所述指令地址寄存器72用于集中存放所述若干个指令段中各自的指令地址信息,所述状态寄存器73用于集中存放所述若干个指令段中各自的有效状态信息;
当CPU处理单元1向所述指令存储器2进行指令编程操作时,如果指令地址寄存器72内指令地址信息与所述指令编程操作的指令地址信息匹配,则状态寄存器73中相应的指令状态位置“0”即无效;当CPU处理单元1向所述指令存储器2读指令信息时,读出的指令信息会根据其地址填充到所述指令数据寄存器71的相应位置,同时,指令地址寄存器72存放读出的指令信息在指令存储器2的地址信息,且状态寄存器73中相应的指令状态位置“1”即有效。
上述指令数据位存放至少2个指令信息。
下面是一个cache line的结构:
一个cache line包括地址位,状态位(V)和数据位。状态位(V)指示本cache line是否已填充有效的数据,当读指令时,读入的指令会根据地址填充到相应的cache line。此时,状态位“V”置“1”,表示该cache line有效。当需要清除该cache line中的数据时,将状态位“V”置“0”。当CPU读取指令时,首先会判断该指令是否已经在cache里,如果地址匹配且V有效,则表示该数据在cache里,发生cache hit;反之如果地址不匹配,或者对应cache line的V无效,则表示该数据不在cache里,发生cache miss。
在本技术方案中,将每个cache line中的状态位V独立出来,不再和地址及数据存储在ram中,而是通过寄存器组来实现,并通过一个系统控制寄存器可以在单周期实现cache的初始化,简化了软件初始化过程,节省了初始化时间。
上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。
Claims (2)
1.一种处理器用指令存储系统,包括CPU处理单元(1)、指令存储器(2)和高速缓存单元(3);其特征在于:所述高速缓存单元(3)包括地址路径模块(4)、数据路径模块(5)、控制逻辑模块(6)和指令存储模块(7);所述地址路径模块(4)位于CPU处理单元(1)和指令存储器(2)之间,用于将来自CPU处理单元(1)的指令读/编程地址信息传输到指令存储器(2);所述数据路径模块(5)位于CPU处理单元(1)和指令存储器(2)之间,用于响应CPU处理单元(1)的读请求将位于指令存储器(2)内的指令信息传输给CPU处理单元(1),或者,响应CPU处理单元(1)发出的指令编程操作,改变指令存储器(2)内的指令内容;所述控制逻辑模块(6)根据来自CPU处理单元(1)的读/编程控制信号和来自指令存储器(2)的响应信号,控制地址路径模块(4)和数据路径模块(5);
所述指令存储模块(7)存储若干个指令段,该指令段由指令地址位、指令状态位和指令数据位组成,所述指令数据位用于存储来自指令存储器(2)的指令信息,所述指令地址位用于存储指令数据位中指令信息在指令存储器(2)中对应的指令地址信息,所述指令状态位用于标识所述指令段中指令信息是否有效;
所述指令存储模块(7)包括指令数据寄存器(71)、指令地址寄存器(72)、状态寄存器(73),所述指令数据寄存器(71)用于集中存放所述若干个指令段中各自的指令信息,所述指令地址寄存器(72)用于集中存放所述若干个指令段中各自的指令地址信息,所述状态寄存器(73)用于集中存放所述若干个指令段中各自的有效状态信息;
当CPU处理单元(1)向所述指令存储器(2)进行指令编程操作时,如果指令地址寄存器(72)内指令地址信息与所述指令编程操作的指令地址信息匹配,则状态寄存器(73)中相应的指令状态位置“0”即无效;当CPU处理单元(1)向所述指令存储器(2)读指令信息时,读出的指令信息会根据其地址填充到所述指令数据寄存器(71)相应位置,同时,指令地址寄存器(72)存放读出的指令信息在指令存储器(2)的地址信息,且状态寄存器(73)中相应的指令状态位置“1”即有效;
通过将状态位设置为指示本 cache line 是否填充有效的数据,来有选择的识别要flush 的 cache line 来实现基于 cache line 的 flush。
2.根据权利要求1所述的处理器用指令存储系统,其特征在于:所述指令数据位存放至少2个指令信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310722652.1A CN103810117B (zh) | 2013-12-24 | 2013-12-24 | 处理器用指令存储系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310722652.1A CN103810117B (zh) | 2013-12-24 | 2013-12-24 | 处理器用指令存储系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103810117A CN103810117A (zh) | 2014-05-21 |
CN103810117B true CN103810117B (zh) | 2017-03-22 |
Family
ID=50706911
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310722652.1A Active CN103810117B (zh) | 2013-12-24 | 2013-12-24 | 处理器用指令存储系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103810117B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109683959B (zh) * | 2018-12-24 | 2020-12-01 | 安谋科技(中国)有限公司 | 处理器的指令执行方法及其处理器 |
CN109872754B (zh) * | 2019-02-15 | 2021-02-26 | 长江存储科技有限责任公司 | 数据编程方法及装置、存储器及存储介质 |
CN118626152A (zh) * | 2024-08-14 | 2024-09-10 | 北京开源芯片研究院 | 一种指令流的生成方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002001367A1 (en) * | 2000-06-29 | 2002-01-03 | Motorola, Inc. | Apparatus having a cache for storing and providing decoded information and method of doing the same |
WO2007097030A1 (ja) * | 2006-02-27 | 2007-08-30 | Fujitsu Limited | キャッシュ制御装置およびキャッシュ制御方法 |
CN102012872A (zh) * | 2010-11-24 | 2011-04-13 | 烽火通信科技股份有限公司 | 一种用于嵌入式系统的二级缓存控制方法及装置 |
CN102609240A (zh) * | 2011-01-20 | 2012-07-25 | 瑞昱半导体股份有限公司 | 处理器电路及读取数据的方法 |
EP1361518B1 (en) * | 2002-05-10 | 2013-08-07 | Texas Instruments Incorporated | Reducing TAG-RAM accesses and accelerating cache operation during cache miss |
-
2013
- 2013-12-24 CN CN201310722652.1A patent/CN103810117B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002001367A1 (en) * | 2000-06-29 | 2002-01-03 | Motorola, Inc. | Apparatus having a cache for storing and providing decoded information and method of doing the same |
CN1430746A (zh) * | 2000-06-29 | 2003-07-16 | 摩托罗拉公司 | 用于存储和提供解码信息的带高速缓存器的装置及其方法 |
EP1361518B1 (en) * | 2002-05-10 | 2013-08-07 | Texas Instruments Incorporated | Reducing TAG-RAM accesses and accelerating cache operation during cache miss |
WO2007097030A1 (ja) * | 2006-02-27 | 2007-08-30 | Fujitsu Limited | キャッシュ制御装置およびキャッシュ制御方法 |
CN102012872A (zh) * | 2010-11-24 | 2011-04-13 | 烽火通信科技股份有限公司 | 一种用于嵌入式系统的二级缓存控制方法及装置 |
CN102609240A (zh) * | 2011-01-20 | 2012-07-25 | 瑞昱半导体股份有限公司 | 处理器电路及读取数据的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103810117A (zh) | 2014-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102510384B1 (ko) | 압축된 데이터 백그라운드를 캐싱하는 장치, 시스템 및 방법 | |
CN104025060B (zh) | 支持近存储器和远存储器访问的存储器通道 | |
JP6021759B2 (ja) | メモリシステムおよび情報処理装置 | |
CN103729306B (zh) | 高速缓存块无效的方法和数据处理设备 | |
US20130073812A1 (en) | Cache memory device, processor, and information processing apparatus | |
TWI472920B (zh) | A system and method for improving the read and write speed of a hybrid storage unit | |
CN113760185B (zh) | 内存块回收方法和装置 | |
JP2011198133A (ja) | メモリシステムおよびコントローラ | |
CN106030549B (zh) | 用于对晶片外高速缓存存储器的标签集高速缓存的方法、装置和系统 | |
JP5622155B2 (ja) | キャッシュメモリおよびその制御方法 | |
CN105094691B (zh) | 一种数据操作的方法、设备和系统 | |
JP2009053820A (ja) | 階層型キャッシュメモリシステム | |
CN103810117B (zh) | 处理器用指令存储系统 | |
CN109522250A (zh) | 根据多播通信协议与主机通信的存储设备和主机通信方法 | |
CN107592927A (zh) | 管理扇区高速缓存 | |
US20220398198A1 (en) | Tags and data for caches | |
CN104679684A (zh) | 半导体器件及其操作方法 | |
CN105095104A (zh) | 数据缓存处理方法及装置 | |
US9971549B2 (en) | Method of operating a memory device | |
US10152410B2 (en) | Magnetoresistive random-access memory cache write management | |
JP5129023B2 (ja) | キャッシュメモリ装置 | |
CN109726147A (zh) | 使用数据保护访问带内存储器的设备和方法 | |
CN103810116B (zh) | 用于嵌入式系统的指令存储装置 | |
US10719436B2 (en) | Management device, information processing device, and management method | |
CN103810122B (zh) | 用于嵌入式系统的高速缓存器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 215011 Zhuyuan Road 209, New District, Suzhou City, Jiangsu Province Patentee after: Suzhou Guoxin Technology Co., Ltd. Address before: 215011 Zhuyuan Road 209, New District, Suzhou City, Jiangsu Province Patentee before: C*Core Technology (Suzhou) Co., Ltd. |
|
CP01 | Change in the name or title of a patent holder |