CN117636970A - 集成电路及其快取存储器有效位元清除方法 - Google Patents
集成电路及其快取存储器有效位元清除方法 Download PDFInfo
- Publication number
- CN117636970A CN117636970A CN202310433228.9A CN202310433228A CN117636970A CN 117636970 A CN117636970 A CN 117636970A CN 202310433228 A CN202310433228 A CN 202310433228A CN 117636970 A CN117636970 A CN 117636970A
- Authority
- CN
- China
- Prior art keywords
- cache
- data
- address
- cache memory
- valid bit
- 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.)
- Pending
Links
- 230000015654 memory Effects 0.000 title claims abstract description 200
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000012546 transfer Methods 0.000 claims abstract description 8
- 238000013507 mapping Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 6
- 238000010926 purge Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000009482 thermal adhesion granulation Methods 0.000 description 2
- 102100024342 Contactin-2 Human genes 0.000 description 1
- 101000690440 Solanum lycopersicum Floral homeotic protein AGAMOUS Proteins 0.000 description 1
- 241001504505 Troglodytes troglodytes Species 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0891—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种集成电路及其快取存储器有效位元清除方法。所述方法包括:当集成电路开机或从休眠状态进入工作状态时,利用快取存储器控制器执行有效位元清除程序以依序清除在快取存储器中的各地址相应的标签;因应于闪速存储器控制器从闪速存储器读取相应于特定地址的一笔数据,利用闪速存储器控制器通知快取存储器控制器暂停有效位元清除程序,利用快取存储器控制器将数据写入快取存储器的特定地址,并将相应的有效位元设定为有效;以及因应于有效位元被设定为有效,利用快取存储器控制器从快取存储器特定地址读取数据以传送至处理器,并恢复有效位元清除程序。
Description
技术领域
本发明有关于存储器控制电路,特别是有关于一种集成电路及其快取存储器有效位元清除方法。
背景技术
在阶层式存储器的设计上,当某个电路(例如中央处理器(CPU)或其他电路)要去存取某一存储器时,若中央处理器的操作速度与被存取的存储器操作速度差异过大,会插入一个速度介于中央处理器与被存取者(低速存储器)的存储器。此存储器称为快取存储器(Cache memory)。快取存储器除了作为缓冲之外,还会把非目前读取的数据也同时读进来。若下次中央处理器刚好需要此笔数据,快取存储器就可以快速地将该笔数据回传至中央处理器,不用再到低速的存储器上进行读取。
然而,读取快取存储器的每笔数据都具有相应的标签(Tag)以注记该笔数据与被存取者之间的地址映射关系。当中央处理器欲存取时快取存储器控制器的数据时,中央处理器会先查看该笔数据是否有相对应的标签存在于快取存储器中。若对应的该标签存在且其有效位元为有效,快取存储器就会直接将该笔数据传送至中央处理器。快取存储器通常都用静态随机存取存储器(SRAM)所实现。
在低功耗的系统设计上,当系统进入休眠模式或者省电模式时,会尽可能地把静态随机存取存储器断电以作为降低功耗的手段。这些被断电的静态随机存取存储器之中当然也包括快取存储器。然而,当系统刚开机或者进入休眠模式再唤醒时,静态随机存取存储器是由断电的状态被唤醒,而随着休眠状态的时间长短以及系统操作的环境不同,作为有效位元使用的静态随机存取存储器可能还存在着没被放电完的电荷,这会导致快取的内容为伪有效的状态。
然而,传统的快取存储器有效位元清除机制往往需要耗费大量时间,以导致整个系统的开机时间或唤醒时间拉长,进而造成系统的功耗损失。
发明内容
有鉴于此,本发明提供一种集成电路及其快取存储器有效位元清除方法以解决上述问题。
本发明提供一种集成电路,包括:一处理器;一快取存储器,包括多个地址,且各地址的内容包括有效位元、标签及数据栏位;一快取存储器控制器,用以控制该快取存储器的存取;一闪速存储器;以及一闪速存储器控制器,用以控制该闪速存储器的存取;其中当该集成电路开机或从一休眠状态进入一工作状态时,该快取存储器控制器执行一有效位元清除程序以依序清除在该快取存储器中的各地址相应的该有效位元,其中,因应于该闪速存储器控制器从该闪速存储器读取相应于一特定地址的一笔数据,该闪速存储器控制器通知该快取存储器控制器暂停该有效位元清除程序,该快取存储器控制器将该笔数据写入该快取存储器的该特定地址,并将特定的映射地址写入该快取存储器的标签并且设置其有效位元,其中,因应于该快取存储器的该特定地址相应的该有效位元被设定为有效,该快取存储器控制器从该快取存储器的该特定地址读取该笔数据,将该笔数据传送至该处理器,并恢复该有效位元清除程序。
在一些实施例中,当该快取存储器控制器将该笔数据写入该快取存储器的该特定地址时,该快取存储器控制器将该特定地址写入至一暂存器。
在一些实施例中,当该有效位元清除程序执行至该特定地址时,该快取存储器控制器依据该暂存器所存储的该特定地址跳过该快取存储器的该特定地址的有效位元清除操作。
在一些实施例中,当该有效位元清除程序执行至该特定地址时,该暂存器用以供一第二特定地址及相应的第二映射地址进行存储,且该第二特定地址大于该特定地址。
在一些实施例中,当该集成电路开机或从该休眠状态进入该工作状态时,该处理器传送一数据读取指令至该闪速存储器控制器以从该闪速存储器的该特定地址读取该笔数据。
本发明还提供一种快取存储器有效位元清除方法,用于一集成电路,其中该集成电路包括一处理器、一快取存储器、一快取存储器控制器、一闪速存储器以及一闪速存储器控制器,该方法包括:当该集成电路开机或从一休眠状态进入一工作状态时,利用该快取存储器控制器执行一有效位元清除程序以依序清除在该快取存储器中的各地址相应的有效位元;因应于该闪速存储器控制器从该闪速存储器读取相应于一特定地址的一笔数据,利用该闪速存储器控制器通知该快取存储器控制器暂停该有效位元清除程序,并利用该快取存储器控制器将该笔数据写入该快取存储器的该特定地址,并将该快取存储器的该特定地址相应的有效位元设定为有效;利用该快取存储器控制器从该快取存储器的该特定地址读取该笔数据,将该笔数据传送至该处理器,并恢复该有效位元清除程序。
在一些实施例中,当该闪速存储器控制器将该笔数据写入该快取存储器的该特定地址时,利用该闪速存储器控制器将该特定地址及相应的该标签及该笔数据写入至一暂存器。
在一些实施例中,当该有效位元清除程序执行至该特定地址时,利用该快取存储器控制器依据该暂存器所存储的该特定地址跳过该快取存储器的该特定地址的有效位元清除操作。
在一些实施例中,当该有效位元清除程序执行至该特定地址时,该暂存器用以供一第二特定地址及相应的该标签及数据进行存储,且该第二特定地址大于该特定地址。
在一些实施例中,当该集成电路开机或从该休眠状态进入该工作状态时,利用该处理器传送一数据读取指令至该闪速存储器控制器以从该闪速存储器的该特定地址读取该笔数据。
附图说明
图1为依据本发明一实施例中的集成电路的方块图。
图2为依据本发明一实施例中的快取存储器的数据架构的示意图。
图3为依据本发明一实施例中处理器存取闪速存储器的波形图。
图4为依据本发明另一实施例中处理器存取闪速存储器的波形图。
图5为依据本发明一实施例中的快取存储器有效位元清除方法的流程图。
附图标记说明:
100:集成电路
110:处理器
111:快取存储器控制器
120:闪速存储器控制器
130:快取存储器
140:闪速存储器
150:暂存器
S510-S540:步骤
VALID:有效位元栏位
TAG:标签栏位
DATA:数据栏位
TAG1-TAG4:标签
DATA1-DATA4:数据
V:有效
NV:无效
CPU_CLK:处理器时钟信号
CPU_RDEN:处理器读取使能信号
CPU_ADDR:处理器地址信号
CPU_RDATA:处理器读取数据信号
CPU_RREADY:处理器读取就绪信号
SRAM_TAG_CLK:快取存储器标签时钟信号
SRAM_TAG_WREN:快取存储器标签写入使能信号
SRAM_TAG_ADDR:快取存储器标签地址信号
SRAM_TAG_WDATA:快取存储器标签写入数据信号
SRAM_DATA_ADDR:快取存储器数据地址信号
SRAM_DATA_WDATA:快取存储器写入数据信号
SRAM_DATA_RDATA:快取存储器读取数据信号
FLASH_DATA_RDATA:闪速存储器读取数据信号
ADDR_x:地址
DATA_x:数据
Invalid:无效
valid:有效
T1-T5、TF+1、TF+2、TF+3:时间
具体实施方式
以下说明为完成发明的较佳实现方式,其目的在于描述本发明的基本精神,但并不用以限定本发明。实际的发明内容必须参考上述权利要求范围。
必须了解的是,使用于本说明书中的“包含”、“包括”等词,是用以表示存在特定的技术特征、数值、方法步骤、作业处理、元件以及/或组件,但并不排除可加上更多的技术特征、数值、方法步骤、作业处理、元件、组件,或以上的任意组合。
于权利要求中使用如“第一”、“第二”、“第三”等词是用来修饰权利要求中的元件,并非用来表示之间具有优先权顺序,先行关系,或者是一个元件先于另一个元件,或者是执行方法步骤时的时间先后顺序,仅用来区别具有相同名字的元件。
图1为依据本发明一实施例中的集成电路的方块图。
集成电路100例如可为一芯片系统(system on chip,SoC)或一应用导向集成电路(application-specific integrated circuit,ASIC)。如图1所示,集成电路100包括处理器110、闪速存储器控制器120、快取存储器130、闪速存储器140及暂存器150。处理器110例如可为中央处理器(central processing unit,CPU)、微控制器(MCU)、数字信号处理器(digital signal processor,DSP)等等,但本发明并不限于此。快取存储器130例如可用静态随机存取存储器(SRAM)所实现,但本发明并不限于此。
在一些实施例中,处理器110包括快取存储器控制器111,用以控制快取存储器的数据存取及有效位元清除等操作。在另一些实施例中,快取存储器控制器111可设置于处理器110外部,但本发明并不限于此。
闪速存储器控制器120电连接至处理器110、快取存储器130、闪速存储器140及暂存器150。闪速存储器控制器120用以控制闪速存储器140的数据存取,并且可将从闪速存储器140读取的数据写入至快取存储器130及/或暂存器150。此外,快取存储器控制器111及闪速存储器控制器120均可控制暂存器150的数据存取。
图2为依据本发明一实施例中的快取存储器的数据架构的示意图。请同时参考图1及图2。
如图2所示,快取存储器130包括多笔索引,例如从索引1~索引N,其中各索引所存储的内容均包括有效位元栏位(VALID)、标签栏位(TAG)及数据栏位(DATA)。当快取存储器130的特定索引的内容被处理器110的存取需求而更新时,该特定索引的有效位元会被标记为有效(valid),如图2的有效位元栏位VALID所标示的V。当快取存储器130的特定索引的内容未被更新时,该特定索引的有效位元会被标记为无效(invalid),如图2的有效位元栏位VALID所标示的NV。
在图2的实施例中,位于索引1及索引4的有效位元被标示为有效(V),故相应的标签TAG1及标签TAG2及数据DATA1及DATA4为有效。位于索引2及索引3的有效位元被标示为无效(NV),故相应的标签TAG2及标签TAG2、及数据DATA2及DATA3为无效,依此类推。
详细而言,当系统刚开机或者进入休眠模式再唤醒时,快取存储器130是由断电的状态被唤醒,所以此时快取存储器130中的各索引的标签栏位TAG及数据栏位DATA的内容极有可能是不正确的。因此,在快取存储器130中的各索引的有效位元栏位VALID需要先清除并标记为无效(NV),才不会让处理器110从快取存储器130读取到错误的数据。待快取存储器130中的各索引的有效位元栏位VALID均被标记为无效(NV)后,处理器110才会开始进行后续存取动作。接着,若处理器110欲读取在快取存储器130中的特定索引的数据,则该特定索引的有效位元需先被设定为有效(V)。本发明在图3及图4的实施例中提供两种不同的快取存储器有效位元清除方法。
图3为依据本发明一实施例中处理器存取闪速存储器的波形图。请同时参考图1及图3。
在图3的实施例中,先针对各种信号的定义进行说明。与处理器110相关之信号包括:CPU_CLK表示处理器时钟信号;CPU_RDEN表示处理器读取使能信号;CPU_ADDR表示处理器地址信号;CPU_RDATA表示处理器读取数据信号;CPU_RREADY则表示处理器读取就绪信号。
与快取存储器130相关的信号包括:SRAM_TAG_CLK表示快取存储器标签时钟信号;SRAM_TAG_WREN表示快取存储器标签写入使能信号;SRAM_TAG_ADDR表示快取存储器标签地址信号;SRAM_TAG_WDATA表示快取存储器标签写入数据信号;SRAM_DATA_ADDR表示快取存储器数据地址信号;SRAM_DATA_WDATA表示快取存储器写入数据信号;SRAM_DATA_RDATA表示快取存储器读取数据信号。
与闪速存储器140相关的信号则包括:FLASH_DATA_RDATA表示闪速存储器读取数据信号。
如图3所示,在时间T1时,处理器110发出地址ADDR_x的读取请求。在此实施例中,因为系统刚开机或是刚从休眠模式被唤醒,快取存储器控制器111系执行第一有效位元清除程序以逐一将快取存储器130中的各索引的有效位元清除为无效状态。需注意的是,当快取存储器控制器111执行第一有效位元清除程序时,快取存储器控制器111可将快取存储器130的忙碌旗标(busy flag)设定为1,以防止处理器110或闪速存储器控制器120存取快取存储器130。
然而,相较于处理器时钟信号CPU_CLK及快取存储器标签时钟信号SRAM_TAG_CLK(例如100MHz或以上),闪速存储器140的读取速度相对较慢(例如25MHz),故闪速存储器140并无法在时间T2(即下一个时钟周期)就将处理器110欲读取的数据准备好。
为了便于说明,在此实施例中假设闪速存储器140在时间T3就已将处理器110的读取请求所需的数据DATA_x读取完成(注:实际上通常会在时间T3之后才读取完成)。此时,闪速存储器140虽然在时间T3已将数据DATA_x准备好,但是因为快取存储器控制器111还在执行第一有效位元清除程序以逐一清除快取存储器130中的各索引的有效位元,闪速存储器控制器120仍然无法通过快取存储器控制器111将该笔数据DATA_x写入至快取存储器130。待第一有效位元清除程序完成后,快取存储器控制器111可将快取存储器130的忙碌旗标(busy flag)设定为0,以通知处理器110及闪速存储器控制器120可存取快取存储器130的数据。
举例来说,在时间TF时,快取存储器控制器111已准备清除最后一个有效位元VALID_final,并且在时间TF+1时,快取存储器控制器111已清除在快取存储器130中的所有有效位元。此时,闪速存储器控制器120可通过快取存储器控制器111将读出的数据DATA_x写入至快取存储器130的索引x的数据栏位DATA,并且将索引x的相对应的映射地址写入标签栏位TAG并且将有效位元VALID写为有效(V)。
接着,在时间TF+2时,因为在快取存储器130中已经存在地址ADDR_x的有效数据,所以快取存储器控制器111可以将在快取存储器130中的索引x的数据DATA_x传送至处理器110,并将处理器读取就绪信号CPU_RREADY拉升为高逻辑状态以表示读取操作完成。因此,在时间TF+3时,快取存储器控制器111可再接受新的读取请求。
图4为依据本发明另一实施例中处理器存取闪速存储器的波形图。请同时参考图1及图4。
图4所示的各种信号与图3类似,故其内容于此不再重复。如图4所示,在时间T1时,处理器110发出地址ADDR_x的读取请求。在此实施例中,因为系统刚开机或是刚从休眠模式被唤醒,快取存储器控制器111执行第二有效位元清除程序以逐一将快取存储器130中的各索引的有效位元清除为无效状态。需注意的是,当快取存储器控制器111执行第二有效位元清除程序时,快取存储器控制器111同样可将快取存储器130的忙碌旗标(busy flag)设定为1,以防止处理器110或闪速存储器控制器120存取快取存储器130。
然而,相较于处理器时钟信号CPU_CLK及快取存储器标签时钟信号SRAM_TAG_CLK(例如100MHz或以上),闪速存储器140的读取速度相对较慢(例如25MHz),故闪速存储器140并无法在时间T2(即下一个时钟周期)就将处理器110欲读取的数据准备好。
为了便于说明,在此实施例中假设闪速存储器140在时间T3就已将处理器110的读取请求所需的数据DATA_x读取完成(注:实际上通常会在时间T3之后才读取完成)。此时,闪速存储器140在时间T3已将数据DATA_x准备好,并且通知快取存储器控制器111以暂停第二有效位元清除程序,例如在快取存储器标签地址信号SRAM_TAG_ADDR=2时暂停。快取存储器控制器111并将在快取存储器130中相应地址(注:对应于快取存储器标签地址信号)的有效位元直接设定为有效,并且将读出的数据DATA_x直接写入至快取存储器130的相对应地址的数据栏位DATA中。需注意的是,上述相应地址决定于不同的快取存储器架构,举例来说若快取存储器为直接映射架构,那么此相应地址为ADDR_x除以快取存储器区块数取余数,但本发明并不限于此。
接着,在时间T4,快取存储器控制器111从快取存储器标签地址信号SRAM_TAG_ADDR=3以恢复第二有效位元清除程序。此外,在时间T4,快取存储器控制器111即可将在快取存储器130中的相应地址的数据DATA_x传送至处理器110,并将处理器读取就绪信号CPU_RREADY拉升为高逻辑状态以表示读取操作完成。
需注意的是,在时间T3,当闪速存储器控制器120通过快取存储器控制器111将读出的数据DATA_x直接写入至快取存储器130的索引x的数据栏位DATA时,闪速存储器控制器120会将索引x地址写入至暂存器150。举例来说,第二有效位元清除程序同样是逐一将快取存储器130中的各索引的有效位元清除为无效状态,假设索引x=5,则当第二有效位元清除程序逐一清除各索引的有效位元直到索引x=5时,因为暂存器150已存储索引x=5,表示索引x=5已在第二有效位元程序执行时被存取过,意即,索引x=5的内容值(包括有效位元、标签及数据)有效。因此,第二有效位元清除程序会跳过索引x=5的有效位元清除操作,从索引x=6继续做有效位元的清除。
需注意的是,因为闪速存储器140的读取速度相对于快取存储器130的存取速度慢上许多,所以一般来说可设置少量的暂存器150即足够快取存储器控制器111在执行第二有效位元清除程序时使用。若快取存储器130的存取速度与闪速存储器140的读取速度差异很大(大于4倍或以上),则暂存器150的数量可随着减少。若快取存储器130的存取速度与闪速存储器140的读取速度差异较小(小于4倍),则暂存器150的数量可随着增加。
详细而言,在图4的实施例中,快取存储器控制器111可在闪速存储器控制器120从闪速存储器140读取数据的同时间进行第二有效位元清除程序以清除在快取存储器130中的各索引的有效位元。当第二有效位元清除程序已进行至索引x之位置时,暂存器150的内容值可供判别索引x的有效位元是否需要被清除或者是否有效,例如当第二有效位元清除程序进行到索引x时,处理器110发出地址ADDR_y(对应于索引y)的读取请求,且索引y>索引x,则将索引y的内容做更新并且将索引y写入暂存器150。若索引x>索引y,则直接至索引y判断相应的标签TAG是否命中(hit)。
相较于图3的实施例,图4的实施例可更有效地将从闪速存储器140读取的数据预先写入至快取存储器130而不用等待快取存储器控制器111所执行的有效位元清除程序完全执行完毕,且快取存储器控制器111可将预先写入至快取存储器130中的数据在下一时钟周期立即传送至处理器110,以降低在集成电路100的系统开机或是从休眠状态进入工作状态时的等待时间,故可降低集成电路100的功耗。
图5为依据本发明一实施例中的快取存储器有效位元清除方法的流程图。请同时参考图1、图4及图5。
在步骤S510,系统开机或从休眠状态进入工作状态。举例来说,当系统(例如包含集成电路100及相连接的各元件)进入休眠模式或者省电模式时,会尽可能地把静态随机存取存储器(包含快取存储器)断电以作为降低功耗的手段。这些被断电的静态随机存取存储器之中当然也包括快取存储器。然而,当系统刚开机或者进入休眠模式再唤醒时,静态随机存取存储器(包含快取存储器)是由断电的状态被唤醒,而随着休眠状态的时间长短以及系统操作的环境不同,作为有效位元使用的静态随机存取存储器可能还存在着没被放电完的电荷,这会导致作为有效位元使用的静态随机存取存储器在唤醒之后,有可能还是存在着随机的内容值,而导致快取存储器控制器111误判其为有效。
在步骤S520,快取存储器控制器111执行一有效位元清除程序(例如图4的实施例中的第二有效位元清除程序)以依序清除在快取存储器130中的各地址相应的有效位元。举例来说,当快取存储器控制器111执行第二有效位元清除程序时,快取存储器控制器111同样可将快取存储器130的忙碌旗标(busy flag)设定为1,以防止处理器110或闪速存储器控制器120存取快取存储器130。
在步骤S530,因应于闪速存储器控制器120从闪速存储器140读取相应于特定地址的一笔数据,闪速存储器控制器120通知快取存储器控制器111暂停有效位元清除程序,将该笔数据写入快取存储器130的特定地址,并将快取存储器130的特定地址相应的标签设定为有效。在一实施例中,举例来说,假设该有效位元清除程序目前已进行到索引x且处理器110所发出的存取请求欲存取索引y,当索引y大于索引x时,闪速存储器控制器120通过快取存储器控制器111将读出的数据DATA_x直接写入快取存储器130的索引y的数据栏位并且将索引y写入至暂存器150,且快取存储器控制器111并接着回应处理器110的存取请求。意即,暂存器150可供较后的索引动作判断此索引y在有效位元清除过程中是否已经有写入数据至快取存储器,且快取存储器控制器111可在闪速存储器控制器120从闪速存储器140读取数据的同时间进行该有效位元清除程序(例如图4的实施例的第二有效位元清除程序)以清除在快取存储器130中的各索引的有效位元。若在该有效位元清除程序中,处理器110欲再度存取索引y的数据,则快取存储器控制器111则会直接回应处理器110的存取请求。当索引y小于或等于索引x时,闪速存储器控制器120通过快取存储器控制器111将读出的数据DATA_x直接写入至快取存储器130的索引x的数据栏位DATA并将索引x的标签栏位写为有效(V),且快取存储器控制器111并接着回应处理器110的存取请求。
在步骤S540,快取存储器控制器111从快取存储器130的该特定地址读取该笔数据,将该笔数据传送至处理器110,并恢复该有效位元清除程序。举例来说,闪速存储器控制器120可通过快取存储器控制器111将从闪速存储器140读取的数据预先写入至快取存储器130而不用等待快取存储器控制器111所执行的有效位元清除程序完全执行完毕,且快取存储器控制器111可将预先写入至快取存储器130中的数据在下一时钟周期立即传送至处理器110,以降低在集成电路100的系统开机或是从休眠状态进入工作状态时的等待时间,故可降低集成电路100的功耗。
综上所述,本发明提供一种集成电路及其快取存储器有效位元清除方法,其可在快取存储器控制器执行快取存储器的有效位元清除程序时,当闪速存储器控制器从闪速存储器读取的特定地址的数据读取完成时,闪速存储器控制器可通知快取存储器控制器暂停该有效位元清除程序,快取存储器控制器并将该笔数据预先写入至快取存储器。快取存储器控制器可将预先写入至快取存储器中的该笔数据在下一时钟周期立即传送至处理器,以降低在集成电路的系统开机或是从休眠状态进入工作状态时的等待时间,故可降低集成电路的功耗。
本发明虽以较佳实施例公开如上,然其并非用以限定本发明的范围,任何所属技术领域中技术人员,在不脱离本发明的精神和范围内,当可做些许的更动与润饰,因此本发明的保护范围当以权利要求所界定的范围为准。
Claims (10)
1.一种集成电路,其特征在于,包括:
一处理器;
一快取存储器,包括多个地址,且各地址的内容包括有效位元、标签及数据栏位;
一快取存储器控制器,用以控制所述快取存储器的存取;
一闪速存储器;以及
一闪速存储器控制器,用以控制所述闪速存储器的存取;
其中当所述集成电路开机或从一休眠状态进入一工作状态时,所述快取存储器控制器执行一有效位元清除程序以依序清除在所述快取存储器中的各地址相应的所述有效位元;
其中,因应于所述闪速存储器控制器从所述闪速存储器读取相应于一特定地址的一笔数据,所述闪速存储器控制器通知所述快取存储器控制器暂停所述有效位元清除程序,且所述快取存储器控制器接着将所述数据写入所述快取存储器的所述特定地址,将所述特定地址相应的映射地址写入所述快取存储器的所述特定地址相应的所述标签,并将所述特定地址相应的所述有效位元设定为有效;
其中,因应于所述快取存储器的所述特定地址相应的所述有效位元被设定为有效,所述快取存储器控制器从所述快取存储器的所述特定地址读取所述数据,将所述数据传送至所述处理器,并恢复所述有效位元清除程序。
2.如权利要求1所述的集成电路,其特征在于,当所述快取存储器控制器将所述数据写入所述快取存储器的所述特定地址时,所述快取存储器控制器并将所述特定地址及相应的所述映射地址写入至一暂存器。
3.如权利要求2所述的集成电路,其特征在于,当所述有效位元清除程序执行至所述特定地址时,所述快取存储器控制器依据所述暂存器所存储的所述特定地址跳过所述快取存储器的所述特定地址的有效位元清除操作。
4.如权利要求3所述的集成电路,其特征在于,当所述有效位元清除程序执行至所述特定地址时,所述暂存器用以供一第二特定地址及相应的第二映射地址进行存储,且所述第二特定地址大于所述特定地址。
5.如权利要求1所述的集成电路,其特征在于,当所述集成电路开机或从所述休眠状态进入所述工作状态时,所述处理器传送一数据读取指令至所述闪速存储器控制器以从所述闪速存储器的所述特定地址读取所述数据。
6.一种快取存储器有效位元清除方法,用于一集成电路,其特征在于,所述集成电路包括一处理器、一快取存储器、一快取存储器控制器、一闪速存储器以及一闪速存储器控制器,且所述快取存储器包括多个地址,且各地址的内容包括有效位元、标签及数据栏位,所述方法包括:
当所述集成电路开机或从一休眠状态进入一工作状态时,利用所述快取存储器控制器执行一有效位元清除程序以依序清除在所述快取存储器中的各地址相应的所述有效位元;
因应于所述闪速存储器控制器从所述闪速存储器读取相应于一特定地址的一笔数据,利用所述闪速存储器控制器通知所述快取存储器控制器暂停所述有效位元清除程序,并利用所述快取存储器控制器将所述数据写入所述快取存储器的所述特定地址、将所述特定地址相应的映射地址写入所述快取存储器的所述特定地址相应的所述标签、并将所述特定地址相应的所述有效位元设定为有效;以及
因应于所述快取存储器的所述特定地址相应的所述有效位元被设定为有效,利用所述快取存储器控制器从所述快取存储器的所述特定地址读取所述数据,将所述数据传送至所述处理器,并恢复所述有效位元清除程序。
7.如权利要求6所述的快取存储器有效位元清除方法,其特征在于,还包括:
当所述快取存储器控制器将所述数据写入所述快取存储器的所述特定地址时,利用所述快取存储器控制器将所述特定地址及相应的所述映射地址写入至一暂存器。
8.如权利要求7所述的快取存储器有效位元清除方法,其特征在于,还包括:
当所述有效位元清除程序执行至所述特定地址时,利用所述快取存储器控制器依据所述暂存器所存储的所述特定地址跳过所述快取存储器的所述特定地址的有效位元清除操作。
9.如权利要求8所述的快取存储器有效位元清除方法,其特征在于,当所述有效位元清除程序执行至所述特定地址时,所述暂存器用以供一第二特定地址及相应的第二映射地址及数据进行存储,且所述第二特定地址大于所述特定地址。
10.如权利要求6所述的快取存储器有效位元清除方法,其特征在于,还包括:当所述集成电路开机或从所述休眠状态进入所述工作状态时,利用所述处理器传送一数据读取指令至所述闪速存储器控制器以从所述闪速存储器的所述特定地址读取所述数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111132592A TWI820883B (zh) | 2022-08-30 | 2022-08-30 | 積體電路及其快取記憶體有效位元清除方法 |
TW111132592 | 2022-08-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117636970A true CN117636970A (zh) | 2024-03-01 |
Family
ID=89722230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310433228.9A Pending CN117636970A (zh) | 2022-08-30 | 2023-04-21 | 集成电路及其快取存储器有效位元清除方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240070085A1 (zh) |
CN (1) | CN117636970A (zh) |
TW (1) | TWI820883B (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL242717A0 (en) * | 2015-11-23 | 2016-02-29 | Nuvoton Technology Corp | Systems and methods for authentication of cache memory |
TWI556103B (zh) * | 2016-02-05 | 2016-11-01 | 新唐科技股份有限公司 | 記憶體裝置及其資料存取方法 |
TWI639157B (zh) * | 2017-10-30 | 2018-10-21 | 新唐科技股份有限公司 | 半導體裝置及其快閃記憶體的存取週期的自動調節方法 |
-
2022
- 2022-08-30 TW TW111132592A patent/TWI820883B/zh active
-
2023
- 2023-04-21 CN CN202310433228.9A patent/CN117636970A/zh active Pending
- 2023-05-18 US US18/319,708 patent/US20240070085A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240070085A1 (en) | 2024-02-29 |
TWI820883B (zh) | 2023-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7574611B2 (en) | Command decoder for microcontroller based flash memory digital controller system | |
US7529955B2 (en) | Dynamic bus parking | |
US7443759B1 (en) | Reduced-power memory with per-sector ground control | |
US7657696B2 (en) | Method to detect NAND-flash parameters by hardware automatically | |
US7340580B2 (en) | Storage device and information processing system | |
US7869835B1 (en) | Method and system for pre-loading and executing computer instructions within the cache memory | |
US5561783A (en) | Dynamic cache coherency method and apparatus using both write-back and write-through operations | |
KR20080077657A (ko) | 마이크로컨트롤러 기반 플래시 메모리 디지털 제어기시스템 | |
JP2006018797A (ja) | 集積回路装置における待機電力を低減させる方法、集積回路のキャッシュ付きメモリアレイを動作させる方法、および集積回路装置 | |
US5734914A (en) | Computer system capable of shifting voltage level of data signal between processor and system memory | |
CN101354906B (zh) | 应用于固态硬盘的闪存控制器 | |
CN110910921A (zh) | 一种命令读写方法、装置及计算机存储介质 | |
CN112259142B (zh) | 用于自容式仪器的超低功耗的大容量数据存储方法 | |
TWI494756B (zh) | 下達讀取指令的方法、快閃記憶體控制器與快閃記憶體儲存系統 | |
US7565558B2 (en) | Power saving method and system for a central processing unit disposed in a non-snooping sleep state when a peripheral device sends a bus master request | |
US11579876B2 (en) | Reducing save restore latency for power control based on write signals | |
CN116149554B (zh) | 一种基于risc-v及其扩展指令的数据存储处理系统及其方法 | |
CN117636970A (zh) | 集成电路及其快取存储器有效位元清除方法 | |
US9158697B2 (en) | Method for cleaning cache of processor and associated processor | |
US11681352B2 (en) | Standby current reduction in memory devices | |
TW202410309A (zh) | 積體電路及其快取記憶體有效位元清除方法 | |
CN111459560A (zh) | 基于risc-v架构的多核处理器唤醒系统 | |
CN116185310B (zh) | 一种存储器数据读写调度方法及装置 | |
US11704258B2 (en) | Latency reduction in SPI flash memory devices | |
TWI739430B (zh) | 快取記憶體及快取記憶體的管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |